From a0565ce1484df67f04a5e002cf5b7cdeae05b778 Mon Sep 17 00:00:00 2001 From: Beherith Date: Wed, 1 May 2024 11:16:39 +0200 Subject: [PATCH] Revert "Merge branch 'BOSCleanup'" This reverts commit d685cd24950d42086ddccc901239415d7827ca54, reversing changes made to 1ad5ad009a80a5fbc240ef9f92bb61293617356a. --- luarules/gadgets/dbg_cob_debug.lua | 174 - luarules/gadgets/unit_continuous_aim.lua | 1 - luarules/gadgets/unit_turretspeed.lua | 13 +- luaui/Widgets/dbg_reloadcob.lua | 52 - luaui/configs/DeferredLightsGL4config.lua | 38 +- objects3d/Units/armaas.s3o | Bin 122481 -> 122360 bytes objects3d/Units/armah.s3o | Bin 73381 -> 73318 bytes objects3d/Units/armanac.s3o | Bin 88704 -> 88641 bytes objects3d/Units/armch.s3o | Bin 87243 -> 87180 bytes objects3d/Units/armdronecarry.s3o | Bin 119653 -> 119653 bytes objects3d/Units/armfatf.s3o | Bin 41221 -> 41159 bytes objects3d/Units/armlun.s3o | Bin 36786 -> 36723 bytes objects3d/Units/armmh.s3o | Bin 52999 -> 52936 bytes objects3d/Units/armsh.s3o | Bin 88039 -> 87976 bytes objects3d/Units/armsjam.mtl | 10 - objects3d/Units/armsjam.obj | 8394 --------------- objects3d/Units/armsjam.s3o | Bin 106834 -> 106764 bytes objects3d/Units/armthovr.s3o | Bin 192715 -> 192652 bytes objects3d/Units/corah.s3o | Bin 43013 -> 42950 bytes objects3d/Units/corch.s3o | Bin 58234 -> 58171 bytes objects3d/Units/corfship.s3o | Bin 99901 -> 99901 bytes objects3d/Units/corhal.s3o | Bin 87994 -> 87931 bytes objects3d/Units/cormh.s3o | Bin 76110 -> 76047 bytes objects3d/Units/corsh.s3o | Bin 41589 -> 41526 bytes objects3d/Units/corsnap.s3o | Bin 45580 -> 45517 bytes objects3d/Units/corsok.s3o | Bin 49440 -> 49377 bytes objects3d/Units/corthovr.s3o | Bin 114933 -> 114870 bytes scripts/Critters/critter_ant.bos | 272 +- scripts/Critters/critter_ant.cob | Bin 4907 -> 5390 bytes scripts/Critters/critter_duck.lua | 8 +- scripts/Critters/critter_penguin.lua | 8 +- scripts/Raptors/bos2cob.py | 153 +- scripts/Raptors/bos2cob_py3.py | 1460 --- scripts/Raptors/bos2cob_python2.py | 1226 --- scripts/Raptors/bos_optimizer.py | 57 +- scripts/Raptors/cob_file.py | 23 +- scripts/Raptors/e_raptorq.bos | 69 +- scripts/Raptors/e_raptorq.cob | Bin 22089 -> 41726 bytes scripts/Raptors/epic_raptorq.bos | 69 +- scripts/Raptors/epic_raptorq.cob | Bin 22089 -> 41726 bytes .../exptype.h} | 57 +- scripts/Raptors/h_raptorq.bos | 69 +- scripts/Raptors/h_raptorq.cob | Bin 22089 -> 41726 bytes scripts/Raptors/n_raptorq.bos | 69 +- scripts/Raptors/n_raptorq.cob | Bin 22089 -> 41726 bytes scripts/Raptors/raptor1.bos | 27 +- scripts/Raptors/raptor1.cob | Bin 67573 -> 151023 bytes scripts/Raptors/raptor1_mini.bos | 27 +- scripts/Raptors/raptor1_mini.cob | Bin 67517 -> 151045 bytes scripts/Raptors/raptor1b.bos | 29 +- scripts/Raptors/raptor1b.cob | Bin 67450 -> 68671 bytes scripts/Raptors/raptor1c.bos | 27 +- scripts/Raptors/raptor1c.cob | Bin 67541 -> 68621 bytes scripts/Raptors/raptor1d.bos | 27 +- scripts/Raptors/raptor1d.cob | Bin 67517 -> 68621 bytes scripts/Raptors/raptor1x.bos | 27 +- scripts/Raptors/raptor1x.cob | Bin 67481 -> 151023 bytes scripts/Raptors/raptor1y.bos | 27 +- scripts/Raptors/raptor1y.cob | Bin 67481 -> 68621 bytes scripts/Raptors/raptor1z.bos | 27 +- scripts/Raptors/raptor1z.cob | Bin 67469 -> 68621 bytes scripts/Raptors/raptor2.bos | 27 +- scripts/Raptors/raptor2.cob | Bin 67517 -> 68621 bytes scripts/Raptors/raptor2b.bos | 27 +- scripts/Raptors/raptor2b.cob | Bin 67517 -> 68621 bytes scripts/Raptors/raptor_6legged_l.bos | 47 +- scripts/Raptors/raptor_6legged_l.cob | Bin 13347 -> 22252 bytes scripts/Raptors/raptor_allterrain_swim.h | 218 +- scripts/Raptors/raptor_antinuke.bos | 162 +- scripts/Raptors/raptor_antinuke.cob | Bin 2788 -> 3338 bytes scripts/Raptors/raptor_artillery_v2.bos | 47 +- scripts/Raptors/raptor_artillery_v2.cob | Bin 13347 -> 22252 bytes scripts/Raptors/raptor_artillery_xl_v2.bos | 77 +- scripts/Raptors/raptor_artillery_xl_v2.cob | Bin 13122 -> 22252 bytes scripts/Raptors/raptor_create_move.h | 17 +- scripts/Raptors/raptor_create_move_SWIM.h | 27 +- scripts/Raptors/raptor_death_2legged_ptaq.h | 6 +- scripts/Raptors/raptor_death_2legged_v2.h | 2 +- scripts/Raptors/raptor_death_allterrain.h | 2 +- scripts/Raptors/raptor_dodo1.bos | 13 +- scripts/Raptors/raptor_dodo1.cob | Bin 66778 -> 67930 bytes scripts/Raptors/raptor_dodo2.bos | 7 +- scripts/Raptors/raptor_dodo2.cob | Bin 66778 -> 67930 bytes scripts/Raptors/raptor_fly.h | 64 +- scripts/Raptors/raptor_hitbyweapon.h | 36 +- scripts/Raptors/raptor_hive.bos | 36 +- scripts/Raptors/raptor_hive.cob | Bin 788 -> 804 bytes scripts/Raptors/raptor_hive2_l.bos | 92 +- scripts/Raptors/raptor_hive2_l.cob | Bin 5801 -> 6276 bytes scripts/Raptors/raptor_idle_2legged.h | 110 +- scripts/Raptors/raptor_idle_2legged_v2.h | 124 +- scripts/Raptors/raptor_idle_allterrain.h | 144 +- scripts/Raptors/raptor_killed_2legged.h | 6 +- scripts/Raptors/raptor_killed_allterrain.h | 6 +- scripts/Raptors/raptor_miniqueen.bos | 77 +- scripts/Raptors/raptor_miniqueen.cob | Bin 22188 -> 41705 bytes scripts/Raptors/raptor_queen_walk_v2.h | 204 +- scripts/Raptors/raptor_swim_2legged_v1.h | 98 +- scripts/Raptors/raptor_turretl_v2.bos | 495 +- scripts/Raptors/raptor_turretl_v2.cob | Bin 7551 -> 8000 bytes scripts/Raptors/raptor_turrets_v2.bos | 493 +- scripts/Raptors/raptor_turrets_v2.cob | Bin 7551 -> 8000 bytes scripts/Raptors/raptor_turretxl_v2.bos | 498 +- scripts/Raptors/raptor_turretxl_v2.cob | Bin 7551 -> 8012 bytes scripts/Raptors/raptor_walk_2legged.h | 138 +- scripts/Raptors/raptor_walk_2legged_v2.h | 162 +- scripts/Raptors/raptor_walk_6legged.h | 78 +- scripts/Raptors/raptor_walk_allterrain.h | 218 +- scripts/Raptors/raptor_worm_m.bos | 467 +- scripts/Raptors/raptor_worm_m.cob | Bin 7551 -> 7548 bytes scripts/Raptors/raptor_worm_turret_common.h | 456 - scripts/Raptors/raptora1.bos | 39 +- scripts/Raptors/raptora1.cob | Bin 68950 -> 69988 bytes scripts/Raptors/raptora1b.bos | 39 +- scripts/Raptors/raptora1b.cob | Bin 68950 -> 69988 bytes scripts/Raptors/raptora1c.bos | 39 +- scripts/Raptors/raptora1c.cob | Bin 68938 -> 69988 bytes scripts/Raptors/raptora2.bos | 39 +- scripts/Raptors/raptora2.cob | Bin 68962 -> 70000 bytes scripts/Raptors/raptora2b.bos | 39 +- scripts/Raptors/raptora2b.cob | Bin 68950 -> 69988 bytes scripts/Raptors/raptorairscout.bos | 43 +- scripts/Raptors/raptorairscout.cob | Bin 12646 -> 12879 bytes scripts/Raptors/raptorallterraina1.bos | 41 +- scripts/Raptors/raptorallterraina1.cob | Bin 76866 -> 77988 bytes scripts/Raptors/raptorapexallterraina.bos | 41 +- scripts/Raptors/raptorapexallterraina.cob | Bin 76866 -> 77988 bytes scripts/Raptors/raptorartillery.bos | 130 +- .../Raptors/raptorartillery_walk_6legged.h | 46 +- scripts/Raptors/raptorc1.bos | 31 +- scripts/Raptors/raptorc1.cob | Bin 75349 -> 76465 bytes scripts/Raptors/raptorc2.bos | 31 +- scripts/Raptors/raptorc2.cob | Bin 75349 -> 76465 bytes scripts/Raptors/raptorc3.bos | 31 +- scripts/Raptors/raptorc3.cob | Bin 75349 -> 76465 bytes scripts/Raptors/raptorc3b.bos | 31 +- scripts/Raptors/raptorc3b.cob | Bin 75349 -> 76465 bytes scripts/Raptors/raptorc3c.bos | 31 +- scripts/Raptors/raptorc3c.cob | Bin 75349 -> 76465 bytes scripts/Raptors/raptord1.bos | 32 +- scripts/Raptors/raptord1.cob | Bin 578 -> 662 bytes scripts/Raptors/raptord2.bos | 49 +- scripts/Raptors/raptord2.cob | Bin 761 -> 851 bytes scripts/Raptors/raptorf1.bos | 39 +- scripts/Raptors/raptorf1.cob | Bin 13959 -> 15716 bytes scripts/Raptors/raptorf1b.bos | 42 +- scripts/Raptors/raptorf1b.cob | Bin 12646 -> 12879 bytes scripts/Raptors/raptorf2.bos | 43 +- scripts/Raptors/raptorf2.cob | Bin 12646 -> 12879 bytes scripts/Raptors/raptorh1.bos | 13 +- scripts/Raptors/raptorh1.cob | Bin 67140 -> 150668 bytes scripts/Raptors/raptorh1b.bos | 13 +- scripts/Raptors/raptorh1b.cob | Bin 67164 -> 150668 bytes scripts/Raptors/raptorh2.bos | 61 +- scripts/Raptors/raptorh2.cob | Bin 67565 -> 70057 bytes scripts/Raptors/raptorh3.bos | 44 +- scripts/Raptors/raptorh3.cob | Bin 67529 -> 68621 bytes scripts/Raptors/raptorh4.bos | 44 +- scripts/Raptors/raptorh4.cob | Bin 67469 -> 68621 bytes scripts/Raptors/raptorh5.bos | 59 +- scripts/Raptors/raptorh5.cob | Bin 68693 -> 69767 bytes scripts/Raptors/raptorhealer.bos | 13 +- scripts/Raptors/raptorhealer.cob | Bin 67140 -> 150214 bytes scripts/Raptors/raptorp1.bos | 72 +- scripts/Raptors/raptorp1.cob | Bin 68137 -> 151148 bytes scripts/Raptors/raptorpyroallterrain.bos | 31 +- scripts/Raptors/raptorpyroallterrain.cob | Bin 75347 -> 166113 bytes scripts/Raptors/raptorr1.bos | 27 +- scripts/Raptors/raptorr1.cob | Bin 67479 -> 68535 bytes scripts/Raptors/raptorr2.bos | 58 +- scripts/Raptors/raptorr2.cob | Bin 67724 -> 150768 bytes scripts/Raptors/raptorr3.bos | 44 +- scripts/Raptors/raptorr3.cob | Bin 67591 -> 68623 bytes scripts/Raptors/raptors1.bos | 47 +- scripts/Raptors/raptors1.cob | Bin 68388 -> 69510 bytes scripts/Raptors/raptors2.bos | 48 +- scripts/Raptors/raptors2.cob | Bin 68352 -> 97784 bytes scripts/Raptors/raptors3.bos | 74 +- scripts/Raptors/raptors3.cob | Bin 12618 -> 12796 bytes scripts/Raptors/raptorw1.bos | 76 +- scripts/Raptors/raptorw1.cob | Bin 12609 -> 12787 bytes scripts/Raptors/raptorw1b.bos | 72 +- scripts/Raptors/raptorw1b.cob | Bin 13258 -> 13544 bytes scripts/Raptors/raptorw1c.bos | 75 +- scripts/Raptors/raptorw1c.cob | Bin 12609 -> 12787 bytes scripts/Raptors/raptorw1d.bos | 72 +- scripts/Raptors/raptorw1d.cob | Bin 13258 -> 13544 bytes scripts/Raptors/raptorw2.bos | 72 +- scripts/Raptors/raptorw2.cob | Bin 13258 -> 13544 bytes scripts/Raptors/roost.bos | 36 +- scripts/Raptors/roost.cob | Bin 732 -> 748 bytes scripts/Raptors/sfxtype.h | 0 scripts/Raptors/ve_raptorq.bos | 69 +- scripts/Raptors/ve_raptorq.cob | Bin 22089 -> 41726 bytes scripts/Raptors/vh_raptorq.bos | 69 +- scripts/Raptors/vh_raptorq.cob | Bin 22089 -> 41726 bytes scripts/TransitionTo.h | 46 - scripts/Turret_acceleration.h | 139 - scripts/Units/air_barrelroll.h | 40 - scripts/Units/armaak.bos | 251 +- scripts/Units/armaak.cob | Bin 10798 -> 11301 bytes scripts/Units/armaap.bos | 181 +- scripts/Units/armaap.cob | Bin 3238 -> 4706 bytes scripts/Units/armaas.bos | 256 +- scripts/Units/armaas.cob | Bin 5729 -> 5385 bytes scripts/Units/armaca.bos | 146 +- scripts/Units/armaca.cob | Bin 3175 -> 4766 bytes scripts/Units/armack.bos | 259 +- scripts/Units/armack.cob | Bin 11199 -> 12267 bytes scripts/Units/armacsub.bos | 179 +- scripts/Units/armacsub.cob | Bin 3615 -> 3486 bytes scripts/Units/armacv.bos | 228 +- scripts/Units/armacv.cob | Bin 3897 -> 4070 bytes scripts/Units/armadvsol.bos | 30 +- scripts/Units/armafus.bos | 88 +- scripts/Units/armafus.cob | Bin 1762 -> 1758 bytes scripts/Units/armageo.bos | 19 +- scripts/Units/armageo.cob | Bin 1800 -> 1613 bytes scripts/Units/armah.bos | 173 +- scripts/Units/armah.cob | Bin 4425 -> 4073 bytes scripts/Units/armalab.bos | 170 +- scripts/Units/armalab.cob | Bin 2799 -> 3769 bytes scripts/Units/armamb.bos | 124 +- scripts/Units/armamb.cob | Bin 4385 -> 4831 bytes scripts/Units/armamd.bos | 152 +- scripts/Units/armamd.cob | Bin 2215 -> 2653 bytes scripts/Units/armamex.bos | 117 +- scripts/Units/armamex.cob | Bin 1228 -> 2102 bytes scripts/Units/armamph.bos | 328 +- scripts/Units/armamph.cob | Bin 7102 -> 8459 bytes scripts/Units/armamsub.bos | 185 +- scripts/Units/armamsub.cob | Bin 2814 -> 5696 bytes scripts/Units/armanac.bos | 204 +- scripts/Units/armanac.cob | Bin 4361 -> 4144 bytes scripts/Units/armanni.bos | 194 +- scripts/Units/armanni.cob | Bin 3692 -> 4931 bytes scripts/Units/armantiship.bos | 160 +- scripts/Units/armantiship.cob | Bin 4229 -> 3912 bytes scripts/Units/armap.bos | 203 +- scripts/Units/armap.cob | Bin 3611 -> 5069 bytes scripts/Units/armarad.bos | 78 +- scripts/Units/armarad.cob | Bin 2102 -> 2784 bytes scripts/Units/armart.bos | 88 +- scripts/Units/armart.cob | Bin 3497 -> 2968 bytes scripts/Units/armaser.bos | 243 +- scripts/Units/armaser.cob | Bin 7440 -> 8219 bytes scripts/Units/armason.bos | 58 +- scripts/Units/armason.cob | Bin 643 -> 1306 bytes scripts/Units/armasp.bos | 30 +- scripts/Units/armasp.cob | Bin 2426 -> 2967 bytes scripts/Units/armasy.bos | 255 +- scripts/Units/armasy.cob | Bin 5639 -> 8154 bytes scripts/Units/armatl.bos | 65 +- scripts/Units/armatl.cob | Bin 3572 -> 3575 bytes scripts/Units/armatlas.bos | 151 +- scripts/Units/armatlas.cob | Bin 3147 -> 4246 bytes scripts/Units/armavp.bos | 194 +- scripts/Units/armavp.cob | Bin 2959 -> 4233 bytes scripts/Units/armawac.bos | 31 +- scripts/Units/armawac.cob | Bin 1570 -> 2004 bytes scripts/Units/armbanth.bos | 320 +- scripts/Units/armbanth.cob | Bin 24171 -> 26262 bytes scripts/Units/armbats.bos | 311 +- scripts/Units/armbeamer.bos | 38 +- scripts/Units/armbeamer.cob | Bin 2256 -> 2695 bytes scripts/Units/armbeaver.bos | 188 +- scripts/Units/armbeaver.cob | Bin 3871 -> 3793 bytes scripts/Units/armblade.bos | 122 +- scripts/Units/armblade.cob | Bin 3053 -> 4659 bytes scripts/Units/armbrawl.bos | 180 +- scripts/Units/armbrawl.cob | Bin 4052 -> 5407 bytes scripts/Units/armbrtha.bos | 53 +- scripts/Units/armbrtha.cob | Bin 2264 -> 2343 bytes scripts/Units/armbull.bos | 215 +- scripts/Units/armbull.cob | Bin 4382 -> 4161 bytes scripts/Units/armca.bos | 216 +- scripts/Units/armca.cob | Bin 4855 -> 6184 bytes scripts/Units/armcarry.bos | 150 +- scripts/Units/armcarry.cob | Bin 5146 -> 5237 bytes scripts/Units/armcarry2.bos | 169 +- scripts/Units/armcarry2.cob | Bin 5194 -> 5305 bytes scripts/Units/armch.bos | 293 +- scripts/Units/armch.cob | Bin 4616 -> 4985 bytes scripts/Units/armcir.bos | 38 +- scripts/Units/armck.bos | 290 +- scripts/Units/armck.cob | Bin 19121 -> 20781 bytes scripts/Units/armckfus.bos | 108 +- scripts/Units/armckfus.cob | Bin 2209 -> 2565 bytes scripts/Units/armclaw.bos | 138 +- scripts/Units/armclaw.cob | Bin 3076 -> 3636 bytes scripts/Units/armcom.bos | 246 +- scripts/Units/armcom.cob | Bin 19844 -> 19976 bytes scripts/Units/armcom_lus.lua | 178 +- scripts/Units/armcomboss.bos | 248 +- scripts/Units/armcomboss.cob | Bin 19795 -> 19927 bytes scripts/Units/armconsul.bos | 228 +- scripts/Units/armconsul.cob | Bin 3732 -> 3876 bytes scripts/Units/armcroc.bos | 147 +- scripts/Units/armcroc.cob | Bin 4259 -> 4181 bytes scripts/Units/armcrus.bos | 334 +- scripts/Units/armcrus.cob | Bin 6065 -> 6685 bytes scripts/Units/armcs.bos | 256 +- scripts/Units/armcs.cob | Bin 4074 -> 4588 bytes scripts/Units/armcsa.bos | 115 +- scripts/Units/armcsa.cob | Bin 3917 -> 4896 bytes scripts/Units/armcv.bos | 170 +- scripts/Units/armcv.cob | Bin 3348 -> 3370 bytes scripts/Units/armdecade.bos | 164 +- scripts/Units/armdecade.cob | Bin 5681 -> 6028 bytes scripts/Units/armdecom.lua | 8 +- scripts/Units/armdf.bos | 119 + scripts/Units/armdf.cob | Bin 0 -> 2030 bytes scripts/Units/armdfly.bos | 114 +- scripts/Units/armdfly.cob | Bin 2789 -> 3368 bytes scripts/Units/armdl.bos | 38 +- scripts/Units/armdl.cob | Bin 1954 -> 2237 bytes scripts/Units/armdrag.bos | 4 +- scripts/Units/armdrone.bos | 49 +- scripts/Units/armdrone.cob | Bin 2599 -> 2765 bytes scripts/Units/armdronecarry.bos | 112 +- scripts/Units/armdronecarry.cob | Bin 4195 -> 3349 bytes scripts/Units/armdronecarryland.bos | 46 +- scripts/Units/armdronecarryland.cob | Bin 3023 -> 2902 bytes scripts/Units/armdroneold.bos | 75 +- scripts/Units/armdroneold.cob | Bin 2905 -> 3071 bytes scripts/Units/armemp.bos | 168 +- scripts/Units/armemp.cob | Bin 2602 -> 3156 bytes scripts/Units/armepoch.bos | 576 +- scripts/Units/armestor.bos | 49 +- scripts/Units/armestor.cob | Bin 1838 -> 875 bytes scripts/Units/armeyes.bos | 24 +- scripts/Units/armeyes.cob | Bin 762 -> 1048 bytes scripts/Units/armfark.bos | 275 +- scripts/Units/armfark.cob | Bin 11747 -> 12330 bytes scripts/Units/armfasp.bos | 124 - scripts/Units/armfasp.cob | Bin 3470 -> 0 bytes scripts/Units/armfast.bos | 233 +- scripts/Units/armfast.cob | Bin 44799 -> 45586 bytes scripts/Units/armfatf.bos | 105 +- scripts/Units/armfatf.cob | Bin 2658 -> 2620 bytes scripts/Units/armfav.bos | 103 +- scripts/Units/armfav.cob | Bin 3906 -> 3744 bytes scripts/Units/armfboy.bos | 240 +- scripts/Units/armfboy.cob | Bin 12313 -> 12980 bytes scripts/Units/armfdrag.bos | 32 +- scripts/Units/armfdrag.cob | Bin 1084 -> 544 bytes scripts/Units/armferret.bos | 125 +- scripts/Units/armfflak.bos | 82 +- scripts/Units/armfflak.cob | Bin 4118 -> 4248 bytes scripts/Units/armfgate.bos | 89 +- scripts/Units/armfgate.cob | Bin 1993 -> 2486 bytes scripts/Units/armfhlt.bos | 88 +- scripts/Units/armfhlt.cob | Bin 3325 -> 3239 bytes scripts/Units/armfhp.bos | 247 +- scripts/Units/armfhp.cob | Bin 4385 -> 5724 bytes scripts/Units/armfido.bos | 326 +- scripts/Units/armfig.bos | 116 +- scripts/Units/armfig.cob | Bin 1467 -> 2420 bytes scripts/Units/armflak.bos | 70 +- scripts/Units/armflak.cob | Bin 3657 -> 4502 bytes scripts/Units/armflash.bos | 78 +- scripts/Units/armflash.cob | Bin 4343 -> 4050 bytes scripts/Units/armflash_old.bos | 237 + scripts/Units/armflash_old.cob | Bin 0 -> 4012 bytes scripts/Units/armflea.bos | 139 +- scripts/Units/armflea.cob | Bin 5657 -> 5884 bytes scripts/Units/armfmkr.bos | 49 +- scripts/Units/armfmkr.cob | Bin 2803 -> 2430 bytes scripts/Units/armfort.bos | 4 +- scripts/Units/armfrad.bos | 109 +- scripts/Units/armfrad.cob | Bin 2989 -> 3103 bytes scripts/Units/armfrock.bos | 96 +- scripts/Units/armfrock.cob | Bin 2996 -> 2857 bytes scripts/Units/armfrt.bos | 112 +- scripts/Units/armfus.bos | 101 +- scripts/Units/armfus.cob | Bin 2241 -> 2641 bytes scripts/Units/armgate.bos | 98 +- scripts/Units/armgate.cob | Bin 1971 -> 2070 bytes scripts/Units/armgeo.bos | 15 +- scripts/Units/armgeo.cob | Bin 5683 -> 6900 bytes scripts/Units/armgmm.bos | 83 +- scripts/Units/armgmm.cob | Bin 1763 -> 1839 bytes scripts/Units/armgplat.bos | 80 +- scripts/Units/armgplat.cob | Bin 3886 -> 3660 bytes scripts/Units/armgremlin.bos | 230 +- scripts/Units/armgremlin.cob | Bin 4583 -> 4896 bytes scripts/Units/armguard.bos | 111 +- scripts/Units/armguard.cob | Bin 3640 -> 3998 bytes scripts/Units/armham.bos | 370 +- scripts/Units/armham.cob | Bin 28965 -> 29953 bytes scripts/Units/armhawk.bos | 129 +- scripts/Units/armhawk.cob | Bin 1432 -> 2511 bytes scripts/Units/armhlt.bos | 35 +- scripts/Units/armhlt.cob | Bin 2168 -> 2739 bytes scripts/Units/armhp.bos | 217 +- scripts/Units/armhp.cob | Bin 3341 -> 4910 bytes scripts/Units/armjam.bos | 117 +- scripts/Units/armjam.cob | Bin 4929 -> 5991 bytes scripts/Units/armjamt.bos | 80 +- scripts/Units/armjamt.cob | Bin 1930 -> 2668 bytes scripts/Units/armjanus.bos | 109 +- scripts/Units/armjanus.cob | Bin 3721 -> 3111 bytes scripts/Units/armjeth.bos | 358 +- scripts/Units/armjuno.bos | 121 +- scripts/Units/armjuno.cob | Bin 3970 -> 4467 bytes scripts/Units/armkam.bos | 70 +- scripts/Units/armkam.cob | Bin 4211 -> 4913 bytes scripts/Units/armkraken.bos | 86 +- scripts/Units/armkraken.cob | Bin 4349 -> 4651 bytes scripts/Units/armlab.bos | 152 +- scripts/Units/armlab.cob | Bin 2684 -> 3507 bytes scripts/Units/armlance.bos | 124 +- scripts/Units/armlance.cob | Bin 1705 -> 2904 bytes scripts/Units/armlatnk.bos | 293 +- scripts/Units/armlatnk.cob | Bin 3859 -> 4334 bytes scripts/Units/armliche.bos | 125 +- scripts/Units/armllt.bos | 33 +- scripts/Units/armllt.cob | Bin 2270 -> 2777 bytes scripts/Units/armlship.bos | 201 +- scripts/Units/armlship.cob | Bin 4736 -> 4820 bytes scripts/Units/armlun.bos | 184 +- scripts/Units/armlun.cob | Bin 5006 -> 5355 bytes scripts/Units/armlwall.bos | 45 +- scripts/Units/armlwall.cob | Bin 3702 -> 3311 bytes scripts/Units/armmakr.bos | 15 +- scripts/Units/armmakr.cob | Bin 1775 -> 1596 bytes scripts/Units/armmanni.bos | 79 +- scripts/Units/armmanni.cob | Bin 3456 -> 3023 bytes scripts/Units/armmar.bos | 471 +- scripts/Units/armmar.cob | Bin 19000 -> 19983 bytes scripts/Units/armmar_lus.lua | 12 +- scripts/Units/armmar_lus/weapons.lua | 8 +- scripts/Units/armmar_lus/weaponsdata.lua | 2 +- scripts/Units/armmark.bos | 185 +- scripts/Units/armmark.cob | Bin 10683 -> 11194 bytes scripts/Units/armmart.bos | 96 +- scripts/Units/armmart.cob | Bin 3612 -> 3227 bytes scripts/Units/armmav.bos | 512 +- scripts/Units/armmav.cob | Bin 22783 -> 23382 bytes scripts/Units/armmercury.bos | 50 +- scripts/Units/armmercury.cob | Bin 2750 -> 2823 bytes scripts/Units/armmerl.bos | 138 +- scripts/Units/armmerl.cob | Bin 3380 -> 3165 bytes scripts/Units/armmex.bos | 96 +- scripts/Units/armmex.cob | Bin 1958 -> 2202 bytes scripts/Units/armmh.bos | 298 +- scripts/Units/armmh.cob | Bin 4148 -> 5003 bytes scripts/Units/armmls.bos | 269 +- scripts/Units/armmlv.bos | 129 +- scripts/Units/armmlv.cob | Bin 4773 -> 4547 bytes scripts/Units/armmmkr.bos | 15 +- scripts/Units/armmmkr.cob | Bin 1775 -> 1560 bytes scripts/Units/armmoho.bos | 84 +- scripts/Units/armmoho.cob | Bin 2003 -> 2315 bytes scripts/Units/armmship.bos | 188 +- scripts/Units/armmship.cob | Bin 5042 -> 5079 bytes scripts/Units/armmstor.bos | 15 +- scripts/Units/armmstor.cob | Bin 1398 -> 875 bytes scripts/Units/armnanot2.bos | 135 +- scripts/Units/armnanot2.cob | Bin 1819 -> 3131 bytes scripts/Units/armnanotc.bos | 25 +- scripts/Units/armnanotc.cob | Bin 2103 -> 2358 bytes scripts/Units/armnanotcplat.bos | 188 +- scripts/Units/armnanotcplat.cob | Bin 2809 -> 3946 bytes scripts/Units/armnukevader.bos | 59 +- scripts/Units/armnukevader.cob | Bin 2465 -> 1915 bytes scripts/Units/armpb.bos | 143 +- scripts/Units/armpb.cob | Bin 3526 -> 3740 bytes scripts/Units/armpeep.bos | 72 +- scripts/Units/armpeep.cob | Bin 1088 -> 1873 bytes scripts/Units/armpincer.bos | 85 +- scripts/Units/armpincer.cob | Bin 3364 -> 2955 bytes scripts/Units/armplat.bos | 249 +- scripts/Units/armplat.cob | Bin 5408 -> 8014 bytes scripts/Units/armpnix.bos | 101 +- scripts/Units/armpnix.cob | Bin 1611 -> 2724 bytes scripts/Units/armprowl.bos | 218 +- scripts/Units/armprowl.cob | Bin 17087 -> 17678 bytes scripts/Units/armpship.bos | 235 +- scripts/Units/armpship.cob | Bin 5346 -> 5673 bytes scripts/Units/armpt.bos | 188 +- scripts/Units/armpt.cob | Bin 4919 -> 4924 bytes scripts/Units/armptl.bos | 67 +- scripts/Units/armptl.cob | Bin 3574 -> 3492 bytes scripts/Units/armpw.bos | 378 +- scripts/Units/armpw.cob | Bin 42151 -> 44461 bytes scripts/Units/armrad.bos | 81 +- scripts/Units/armrad.cob | Bin 1982 -> 2676 bytes scripts/Units/armraz.bos | 221 +- scripts/Units/armraz.cob | Bin 50272 -> 51538 bytes scripts/Units/armrecl.bos | 198 +- scripts/Units/armrecl.cob | Bin 3569 -> 3778 bytes scripts/Units/armrectr.bos | 170 +- scripts/Units/armrectr.cob | Bin 30071 -> 31342 bytes scripts/Units/armrectrt4.bos | 249 +- scripts/Units/armrectrt4.cob | Bin 10008 -> 18360 bytes scripts/Units/armrl.bos | 50 +- scripts/Units/armrock.bos | 262 +- scripts/Units/armrock.cob | Bin 20432 -> 21087 bytes scripts/Units/armroy.bos | 225 +- scripts/Units/armroy.cob | Bin 5630 -> 5969 bytes scripts/Units/armsaber.bos | 188 +- scripts/Units/armsaber.cob | Bin 4107 -> 5889 bytes scripts/Units/armsam.bos | 73 +- scripts/Units/armsam.cob | Bin 3366 -> 2939 bytes scripts/Units/armsat.bos | 35 +- scripts/Units/armsat.cob | Bin 2282 -> 2848 bytes scripts/Units/armsb.bos | 100 +- scripts/Units/armsb.cob | Bin 2227 -> 3291 bytes scripts/Units/armscab.bos | 355 +- scripts/Units/armscab.cob | Bin 10828 -> 12539 bytes scripts/Units/armsd.bos | 29 +- scripts/Units/armsd.cob | Bin 1809 -> 1426 bytes scripts/Units/armseap.bos | 115 +- scripts/Units/armseap.cob | Bin 3588 -> 4496 bytes scripts/Units/armseer.bos | 46 +- scripts/Units/armseer.cob | Bin 3050 -> 2680 bytes scripts/Units/armsehak.bos | 209 +- scripts/Units/armsehak.cob | Bin 2390 -> 4073 bytes scripts/Units/armserp.bos | 98 +- scripts/Units/armserp.cob | Bin 3701 -> 3547 bytes scripts/Units/armsfig.bos | 155 +- scripts/Units/armsfig.cob | Bin 2032 -> 3217 bytes scripts/Units/armsfig2.bos | 149 +- scripts/Units/armsfig2.cob | Bin 1905 -> 3063 bytes scripts/Units/armsh.bos | 171 +- scripts/Units/armsh.cob | Bin 4372 -> 4082 bytes scripts/Units/armshltx.bos | 177 +- scripts/Units/armshltx.cob | Bin 3287 -> 5020 bytes scripts/Units/armshockwave.bos | 130 +- scripts/Units/armshockwave.cob | Bin 2833 -> 3505 bytes scripts/Units/armsilo.bos | 48 +- scripts/Units/armsilo.cob | Bin 2730 -> 2687 bytes scripts/Units/armsjam.bos | 148 +- scripts/Units/armsjam.cob | Bin 3908 -> 3253 bytes scripts/Units/armsnipe.bos | 810 +- scripts/Units/armsnipe.cob | Bin 24510 -> 26942 bytes scripts/Units/armsolar.bos | 144 +- scripts/Units/armsolar.cob | Bin 1784 -> 2801 bytes scripts/Units/armsonar.bos | 75 +- scripts/Units/armsonar.cob | Bin 552 -> 1388 bytes scripts/Units/armspid.bos | 368 +- scripts/Units/armspid.cob | Bin 18847 -> 20059 bytes scripts/Units/armsptk.bos | 356 +- scripts/Units/armsptk.cob | Bin 15050 -> 15645 bytes scripts/Units/armspy.bos | 218 +- scripts/Units/armspy.cob | Bin 7384 -> 8115 bytes scripts/Units/armstil.bos | 32 +- scripts/Units/armstil.cob | Bin 2251 -> 3397 bytes scripts/Units/armstump.bos | 132 +- scripts/Units/armstump.cob | Bin 3599 -> 3065 bytes scripts/Units/armsub.bos | 79 +- scripts/Units/armsub.cob | Bin 3427 -> 2869 bytes scripts/Units/armsubk.bos | 68 +- scripts/Units/armsubk.cob | Bin 3009 -> 2279 bytes scripts/Units/armsy.bos | 194 +- scripts/Units/armsy.cob | Bin 4943 -> 6946 bytes scripts/Units/armtarg.bos | 89 +- scripts/Units/armtarg.cob | Bin 631 -> 1462 bytes scripts/Units/armthor.bos | 166 +- scripts/Units/armthor.cob | Bin 7228 -> 7034 bytes scripts/Units/armthovr.bos | 309 +- scripts/Units/armthovr.cob | Bin 4282 -> 6616 bytes scripts/Units/armthund.bos | 100 +- scripts/Units/armthund.cob | Bin 1943 -> 3214 bytes scripts/Units/armtide.bos | 91 +- scripts/Units/armtide.cob | Bin 2632 -> 2578 bytes scripts/Units/armtl.bos | 69 +- scripts/Units/armtl.cob | Bin 3582 -> 3500 bytes scripts/Units/armtship.bos | 232 +- scripts/Units/armtship.cob | Bin 3925 -> 6039 bytes scripts/Units/armuwadves.bos | 9 +- scripts/Units/armuwadves.cob | Bin 363 -> 461 bytes scripts/Units/armuwadvms.bos | 9 +- scripts/Units/armuwadvms.cob | Bin 363 -> 461 bytes scripts/Units/armuwageo.bos | 19 +- scripts/Units/armuwageo.cob | Bin 1654 -> 1299 bytes scripts/Units/armuwes.bos | 10 +- scripts/Units/armuwes.cob | Bin 363 -> 461 bytes scripts/Units/armuwfus.bos | 23 +- scripts/Units/armuwfus.cob | Bin 2152 -> 3188 bytes scripts/Units/armuwgeo.bos | 20 +- scripts/Units/armuwgeo.cob | Bin 1654 -> 1287 bytes scripts/Units/armuwmex.bos | 81 +- scripts/Units/armuwmex.cob | Bin 833 -> 1690 bytes scripts/Units/armuwmme.bos | 108 +- scripts/Units/armuwmme.cob | Bin 1837 -> 3063 bytes scripts/Units/armuwmmm.bos | 42 +- scripts/Units/armuwmmm.cob | Bin 2831 -> 1972 bytes scripts/Units/armuwms.bos | 10 +- scripts/Units/armuwms.cob | Bin 363 -> 461 bytes scripts/Units/armvader.bos | 76 +- scripts/Units/armvader.cob | Bin 2304 -> 2389 bytes scripts/Units/armvang.bos | 220 +- scripts/Units/armvang.cob | Bin 21602 -> 22285 bytes scripts/Units/armveil.bos | 78 +- scripts/Units/armveil.cob | Bin 1801 -> 1961 bytes scripts/Units/armvp.bos | 145 +- scripts/Units/armvp.cob | Bin 2624 -> 3407 bytes scripts/Units/armvulc.bos | 207 +- scripts/Units/armvulc.cob | Bin 4402 -> 6078 bytes scripts/Units/armwar.bos | 217 +- scripts/Units/armwar.cob | Bin 12616 -> 13447 bytes scripts/Units/armwin.bos | 76 +- scripts/Units/armwin.cob | Bin 1364 -> 1688 bytes scripts/Units/armyork.bos | 132 +- scripts/Units/armyork.cob | Bin 4534 -> 4176 bytes scripts/Units/armzapper.bos | 79 +- scripts/Units/armzapper.cob | Bin 3198 -> 3937 bytes scripts/Units/armzeus.bos | 271 +- scripts/Units/armzeus.cob | Bin 47131 -> 47603 bytes scripts/Units/cob_set.txt | 9000 +++++++++++++++++ scripts/Units/constants.h | 192 + scripts/Units/coraak.bos | 220 +- scripts/Units/coraak.lua_old | 20 +- scripts/Units/coraap.bos | 196 +- scripts/Units/coraap.cob | Bin 3938 -> 6128 bytes scripts/Units/coraca.bos | 75 +- scripts/Units/coraca.cob | Bin 3298 -> 4623 bytes scripts/Units/corack.bos | 258 +- scripts/Units/corack.cob | Bin 5610 -> 6538 bytes scripts/Units/coracsub.bos | 167 +- scripts/Units/coracsub.cob | Bin 2730 -> 3114 bytes scripts/Units/coracv.bos | 162 +- scripts/Units/coracv.cob | Bin 3511 -> 3554 bytes scripts/Units/coradvsol.bos | 16 +- scripts/Units/coradvsol.cob | Bin 1576 -> 1205 bytes scripts/Units/corafus.bos | 76 +- scripts/Units/corafus.cob | Bin 1574 -> 1458 bytes scripts/Units/corah.bos | 208 +- scripts/Units/corah.cob | Bin 4785 -> 4431 bytes scripts/Units/corak.bos | 305 +- scripts/Units/corak.cob | Bin 49042 -> 50787 bytes scripts/Units/coralab.bos | 194 - scripts/Units/coralab.cob | Bin 3757 -> 0 bytes scripts/Units/coralab.lua | 28 +- scripts/Units/coramph.bos | 190 +- scripts/Units/coramph.cob | Bin 15930 -> 16381 bytes scripts/Units/coramsub.bos | 143 +- scripts/Units/coramsub.cob | Bin 1532 -> 2874 bytes scripts/Units/corantiship.bos | 142 +- scripts/Units/corantiship.cob | Bin 4427 -> 4026 bytes scripts/Units/corap.bos | 201 +- scripts/Units/corap.cob | Bin 3224 -> 4254 bytes scripts/Units/corape.bos | 90 +- scripts/Units/corape.cob | Bin 3496 -> 4625 bytes scripts/Units/corarad.bos | 96 +- scripts/Units/corarad.cob | Bin 1851 -> 1943 bytes scripts/Units/corarch.bos | 210 +- scripts/Units/corarch.cob | Bin 5616 -> 5201 bytes scripts/Units/corason.bos | 60 +- scripts/Units/corason.cob | Bin 553 -> 1254 bytes scripts/Units/corasp.bos | 28 +- scripts/Units/corasp.cob | Bin 2057 -> 2190 bytes scripts/Units/corasy.bos | 202 +- scripts/Units/corasy.cob | Bin 3435 -> 6151 bytes scripts/Units/corasye.bos | 245 + scripts/Units/corasye.cob | Bin 0 -> 4544 bytes scripts/Units/coratl.bos | 66 +- scripts/Units/coratl.cob | Bin 3373 -> 3279 bytes scripts/Units/coravp.bos | 209 +- scripts/Units/coravp.cob | Bin 3355 -> 5388 bytes scripts/Units/corawac.bos | 35 +- scripts/Units/corawac.cob | Bin 1004 -> 1210 bytes scripts/Units/corban.bos | 142 +- scripts/Units/corban.cob | Bin 3868 -> 3698 bytes scripts/Units/corbats.bos | 288 +- scripts/Units/corbats.cob | Bin 10134 -> 10086 bytes scripts/Units/corbhmth.bos | 76 +- scripts/Units/corbhmth.cob | Bin 6550 -> 7246 bytes scripts/Units/corblackhy.bos | 482 +- scripts/Units/corbuzz.bos | 97 +- scripts/Units/corbuzz.cob | Bin 4768 -> 4833 bytes scripts/Units/corbw.bos | 46 +- scripts/Units/corbw.cob | Bin 2582 -> 2891 bytes scripts/Units/corca.bos | 78 +- scripts/Units/corca.cob | Bin 3298 -> 4491 bytes scripts/Units/corcan.bos | 217 +- scripts/Units/corcarry.bos | 159 +- scripts/Units/corcarry.cob | Bin 5235 -> 5037 bytes scripts/Units/corcarry2.bos | 179 +- scripts/Units/corcarry2.cob | Bin 5741 -> 5551 bytes scripts/Units/corcat.bos | 468 +- scripts/Units/corcat.cob | Bin 27707 -> 28861 bytes scripts/Units/corch.bos | 222 +- scripts/Units/corch.cob | Bin 3923 -> 4036 bytes scripts/Units/corck.bos | 272 +- scripts/Units/corck.cob | Bin 19920 -> 20843 bytes scripts/Units/corcom.bos | 361 +- scripts/Units/corcom_lus.lua | 194 +- scripts/Units/corcomboss.bos | 302 +- scripts/Units/corcomboss.cob | Bin 16954 -> 17578 bytes scripts/Units/corcrash.bos | 190 +- scripts/Units/corcrus.bos | 246 +- scripts/Units/corcrus.cob | Bin 5641 -> 5283 bytes scripts/Units/corcrw.bos | 110 +- scripts/Units/corcrwh.bos | 230 +- scripts/Units/corcs.bos | 209 +- scripts/Units/corcs.cob | Bin 4245 -> 4506 bytes scripts/Units/corcsa.bos | 77 +- scripts/Units/corcsa.cob | Bin 3913 -> 4831 bytes scripts/Units/corcut.bos | 147 +- scripts/Units/corcut.cob | Bin 4357 -> 5783 bytes scripts/Units/corcv.bos | 187 +- scripts/Units/corcv.cob | Bin 3880 -> 3854 bytes scripts/Units/cordemon.bos | 449 +- scripts/Units/cordemon.cob | Bin 31039 -> 32234 bytes scripts/Units/cordl.bos | 32 +- scripts/Units/cordl.cob | Bin 1826 -> 1965 bytes scripts/Units/cordoom.bos | 414 +- scripts/Units/cordoom.cob | Bin 8401 -> 9654 bytes scripts/Units/cordrag.bos | 4 +- scripts/Units/cordrone.bos | 55 +- scripts/Units/cordrone.cob | Bin 1260 -> 1553 bytes scripts/Units/cordronecarry.bos | 123 +- scripts/Units/cordronecarry.cob | Bin 4898 -> 3857 bytes scripts/Units/cordronecarryair.bos | 90 +- scripts/Units/cordronecarryair.cob | Bin 3550 -> 3429 bytes scripts/Units/corenaa.bos | 101 +- scripts/Units/corerad.bos | 83 +- scripts/Units/corestor.bos | 31 +- scripts/Units/corestor.cob | Bin 1398 -> 875 bytes scripts/Units/coresupp.bos | 249 +- scripts/Units/coresupp.cob | Bin 5209 -> 5309 bytes scripts/Units/coreter.bos | 96 +- scripts/Units/coreter.cob | Bin 2537 -> 2228 bytes scripts/Units/corexp.bos | 130 +- scripts/Units/corexp.cob | Bin 2746 -> 3361 bytes scripts/Units/coreyes.bos | 24 +- scripts/Units/coreyes.cob | Bin 498 -> 640 bytes scripts/Units/corfasp .cob | Bin 0 -> 2190 bytes scripts/Units/corfasp.bos | 37 +- scripts/Units/corfasp.cob | Bin 3101 -> 0 bytes scripts/Units/corfast.bos | 160 +- scripts/Units/corfast.cob | Bin 13172 -> 13651 bytes scripts/Units/corfatf.bos | 74 +- scripts/Units/corfatf.cob | Bin 2502 -> 2232 bytes scripts/Units/corfav.bos | 81 +- scripts/Units/corfav.cob | Bin 4210 -> 3151 bytes scripts/Units/corfdoom.bos | 474 +- scripts/Units/corfdoom.cob | Bin 9672 -> 10866 bytes scripts/Units/corfdrag.bos | 30 +- scripts/Units/corfdrag.cob | Bin 1084 -> 544 bytes scripts/Units/corfgate.bos | 122 +- scripts/Units/corfgate.cob | Bin 2093 -> 2938 bytes scripts/Units/corfhlt.bos | 154 +- scripts/Units/corfhlt.cob | Bin 4879 -> 4770 bytes scripts/Units/corfhp.bos | 233 +- scripts/Units/corfhp.cob | Bin 4119 -> 5655 bytes scripts/Units/corfink.bos | 94 +- scripts/Units/corfink.cob | Bin 1014 -> 1733 bytes scripts/Units/corflak.bos | 48 +- scripts/Units/corfmd.bos | 155 +- scripts/Units/corfmd.cob | Bin 2503 -> 3338 bytes scripts/Units/corfmkr.bos | 45 +- scripts/Units/corfmkr.cob | Bin 2608 -> 1971 bytes scripts/Units/corfort.bos | 4 +- scripts/Units/corfrad.bos | 98 +- scripts/Units/corfrad.cob | Bin 2899 -> 2857 bytes scripts/Units/corfrock.bos | 106 +- scripts/Units/corfrock.cob | Bin 3385 -> 2842 bytes scripts/Units/corfrt.bos | 105 +- scripts/Units/corfrt.cob | Bin 3637 -> 3888 bytes scripts/Units/corfship.bos | 217 +- scripts/Units/corfship.cob | Bin 4670 -> 5226 bytes scripts/Units/corfus.bos | 30 +- scripts/Units/corfus.cob | Bin 1498 -> 971 bytes scripts/Units/corgant.bos | 311 +- scripts/Units/corgant.cob | Bin 5124 -> 9329 bytes scripts/Units/corgarp.bos | 80 +- scripts/Units/corgarp.cob | Bin 3348 -> 2879 bytes scripts/Units/corgate.bos | 114 +- scripts/Units/corgate.cob | Bin 2084 -> 2303 bytes scripts/Units/corgator.bos | 61 +- scripts/Units/corgator.cob | Bin 3201 -> 2451 bytes scripts/Units/corgol.bos | 111 +- scripts/Units/corgol.cob | Bin 3803 -> 3354 bytes scripts/Units/corgplat.bos | 86 +- scripts/Units/corgplat.cob | Bin 3599 -> 3577 bytes scripts/Units/corhal.bos | 180 +- scripts/Units/corhal.cob | Bin 4439 -> 4342 bytes scripts/Units/corhllt.bos | 73 +- scripts/Units/corhllt.cob | Bin 2714 -> 2895 bytes scripts/Units/corhlt.bos | 134 +- scripts/Units/corhlt.cob | Bin 3670 -> 3256 bytes scripts/Units/corhp.bos | 208 +- scripts/Units/corhp.cob | Bin 3043 -> 4605 bytes scripts/Units/corhrk.bos | 271 +- scripts/Units/corhrk.cob | Bin 9485 -> 11145 bytes scripts/Units/corhunt.bos | 87 +- scripts/Units/corhunt.cob | Bin 845 -> 1576 bytes scripts/Units/corhurc.bos | 65 +- scripts/Units/corhurc.cob | Bin 891 -> 1739 bytes scripts/Units/corint.bos | 52 +- scripts/Units/corint.cob | Bin 2433 -> 2696 bytes scripts/Units/corintr.bos | 109 +- scripts/Units/corintr.cob | Bin 1804 -> 3841 bytes scripts/Units/corjamt.bos | 79 +- scripts/Units/corjamt.cob | Bin 1678 -> 1719 bytes scripts/Units/corjugg.bos | 217 +- scripts/Units/corjugg.cob | Bin 28997 -> 29672 bytes scripts/Units/corjugg.lua_old | 505 + scripts/Units/corjuno.bos | 103 +- scripts/Units/corjuno.cob | Bin 1843 -> 2099 bytes scripts/Units/corkarg.bos | 256 +- scripts/Units/corkarg.cob | Bin 34326 -> 38447 bytes scripts/Units/corkarg.lua_old | 20 +- scripts/Units/corkorg.bos | 586 +- scripts/Units/corkorg.cob | Bin 23742 -> 25345 bytes scripts/Units/corlab.bos | 156 - scripts/Units/corlab.cob | Bin 3253 -> 0 bytes scripts/Units/corlab.lua | 16 +- scripts/Units/corlevlr.bos | 86 +- scripts/Units/corlevlr.cob | Bin 3356 -> 2911 bytes scripts/Units/corllt.bos | 33 +- scripts/Units/corllt.cob | Bin 2120 -> 2327 bytes scripts/Units/cormabm.bos | 116 +- scripts/Units/cormabm.cob | Bin 3349 -> 3326 bytes scripts/Units/cormadsam.lua_old | 18 +- scripts/Units/cormakr.bos | 14 +- scripts/Units/cormakr.cob | Bin 1654 -> 1223 bytes scripts/Units/cormando.bos | 260 +- scripts/Units/cormando.cob | Bin 13647 -> 14807 bytes scripts/Units/cormart.bos | 94 +- scripts/Units/cormart.cob | Bin 3664 -> 3315 bytes scripts/Units/cormaw.bos | 108 +- scripts/Units/cormaw.cob | Bin 2423 -> 3155 bytes scripts/Units/cormex.bos | 95 +- scripts/Units/cormex.cob | Bin 1876 -> 2104 bytes scripts/Units/cormexp.bos | 76 +- scripts/Units/cormexp.cob | Bin 4543 -> 5024 bytes scripts/Units/cormh.bos | 281 +- scripts/Units/cormh.cob | Bin 4307 -> 4918 bytes scripts/Units/cormist.bos | 149 +- scripts/Units/cormist.cob | Bin 3374 -> 3373 bytes scripts/Units/cormls.bos | 241 +- scripts/Units/cormlv.bos | 152 +- scripts/Units/cormlv.cob | Bin 3198 -> 3213 bytes scripts/Units/cormmkr.bos | 19 +- scripts/Units/cormmkr.cob | Bin 1701 -> 1342 bytes scripts/Units/cormoho.bos | 122 +- scripts/Units/cormoho.cob | Bin 2047 -> 2317 bytes scripts/Units/cormort.bos | 200 +- scripts/Units/cormort.cob | Bin 11213 -> 11940 bytes scripts/Units/cormship.bos | 171 +- scripts/Units/cormship.cob | Bin 5095 -> 4769 bytes scripts/Units/cormstor.bos | 15 +- scripts/Units/cormstor.cob | Bin 1398 -> 875 bytes scripts/Units/cormuskrat.bos | 145 +- scripts/Units/cormuskrat.cob | Bin 3307 -> 3333 bytes scripts/Units/cormwall.bos | 45 +- scripts/Units/cormwall.cob | Bin 2723 -> 2320 bytes scripts/Units/cornanot2.bos | 122 +- scripts/Units/cornanot2.cob | Bin 1775 -> 3087 bytes scripts/Units/cornanotc.bos | 105 +- scripts/Units/cornanotc.cob | Bin 2115 -> 3077 bytes scripts/Units/cornanotcplat.bos | 154 +- scripts/Units/cornanotcplat.cob | Bin 2825 -> 3529 bytes scripts/Units/cornecro.bos | 141 +- scripts/Units/cornecro.cob | Bin 6678 -> 7405 bytes scripts/Units/corparrow.bos | 119 +- scripts/Units/corparrow.cob | Bin 3125 -> 3560 bytes scripts/Units/corplat.bos | 194 +- scripts/Units/corplat.cob | Bin 3727 -> 5308 bytes scripts/Units/corprinter.bos | 42 +- scripts/Units/corprinter.cob | Bin 3275 -> 3870 bytes scripts/Units/corpship.bos | 222 +- scripts/Units/corpship.cob | Bin 4756 -> 5291 bytes scripts/Units/corpt.bos | 113 +- scripts/Units/corpt.cob | Bin 4546 -> 3528 bytes scripts/Units/corptl.bos | 29 +- scripts/Units/corptl.cob | Bin 1719 -> 2014 bytes scripts/Units/corpun.lua | 10 +- scripts/Units/corpyro.bos | 228 +- scripts/Units/corpyro.cob | Bin 18082 -> 18541 bytes scripts/Units/corrad.bos | 68 +- scripts/Units/corrad.cob | Bin 1831 -> 2357 bytes scripts/Units/corraid.bos | 89 +- scripts/Units/corraid.cob | Bin 3368 -> 3074 bytes scripts/Units/correap.bos | 140 +- scripts/Units/correap.cob | Bin 4029 -> 3915 bytes scripts/Units/correcl.bos | 162 +- scripts/Units/correcl.cob | Bin 2916 -> 2479 bytes scripts/Units/corrl.bos | 59 +- scripts/Units/corroach.bos | 86 +- scripts/Units/corroach.cob | Bin 3445 -> 2983 bytes scripts/Units/corroy.bos | 202 +- scripts/Units/corsala.bos | 156 +- scripts/Units/corsala.cob | Bin 4505 -> 4340 bytes scripts/Units/corsat.bos | 37 +- scripts/Units/corsat.cob | Bin 1716 -> 2054 bytes scripts/Units/corsb.bos | 76 +- scripts/Units/corsb.cob | Bin 1941 -> 2899 bytes scripts/Units/corscreamer.bos | 111 +- scripts/Units/corscreamer.cob | Bin 3806 -> 3360 bytes scripts/Units/corsd.bos | 18 +- scripts/Units/corsd.cob | Bin 1398 -> 875 bytes scripts/Units/corseah.bos | 138 +- scripts/Units/corseah.cob | Bin 3932 -> 5171 bytes scripts/Units/corseal.bos | 148 +- scripts/Units/corseal.cob | Bin 3357 -> 3886 bytes scripts/Units/corseap.bos | 74 +- scripts/Units/corseap.cob | Bin 3298 -> 4046 bytes scripts/Units/corsent.bos | 107 +- scripts/Units/corsent.cob | Bin 3770 -> 3406 bytes scripts/Units/corsfig.bos | 123 +- scripts/Units/corsfig.cob | Bin 1195 -> 2173 bytes scripts/Units/corsfig2.bos | 148 +- scripts/Units/corsfig2.cob | Bin 1539 -> 2661 bytes scripts/Units/corsh.bos | 178 +- scripts/Units/corsh.cob | Bin 4310 -> 3900 bytes scripts/Units/corshad.bos | 59 +- scripts/Units/corshad.cob | Bin 862 -> 1695 bytes scripts/Units/corshark.bos | 52 +- scripts/Units/corshark.cob | Bin 2158 -> 1695 bytes scripts/Units/corshiva.bos | 291 +- scripts/Units/corshroud.bos | 130 +- scripts/Units/corshroud.cob | Bin 1066 -> 1880 bytes scripts/Units/corsilo.bos | 31 +- scripts/Units/corsilo.cob | Bin 3018 -> 2963 bytes scripts/Units/corsjam.bos | 141 +- scripts/Units/corsjam.cob | Bin 3807 -> 2795 bytes scripts/Units/corsktl.bos | 258 +- scripts/Units/corsktl.cob | Bin 4976 -> 4514 bytes scripts/Units/corsnap.bos | 181 +- scripts/Units/corsok.bos | 155 +- scripts/Units/corsok.cob | Bin 4547 -> 3722 bytes scripts/Units/corsolar.bos | 147 +- scripts/Units/corsolar.cob | Bin 1995 -> 3010 bytes scripts/Units/corsonar.bos | 97 +- scripts/Units/corsonar.cob | Bin 552 -> 1317 bytes scripts/Units/corspec.bos | 203 +- scripts/Units/corspec.cob | Bin 9033 -> 9848 bytes scripts/Units/corspy.bos | 95 +- scripts/Units/corspy.cob | Bin 12476 -> 12950 bytes scripts/Units/corssub.bos | 56 +- scripts/Units/corssub.cob | Bin 2571 -> 2328 bytes scripts/Units/corstorm.bos | 173 +- scripts/Units/corstorm.cob | Bin 17901 -> 18474 bytes scripts/Units/corsub.bos | 70 +- scripts/Units/corsub.cob | Bin 2197 -> 1698 bytes scripts/Units/corsumo.bos | 230 +- scripts/Units/corsumo.cob | Bin 12296 -> 13079 bytes scripts/Units/corsumo.lua_old | 20 +- scripts/Units/corsy.bos | 176 +- scripts/Units/corsy.cob | Bin 3043 -> 4484 bytes scripts/Units/cortarg.bos | 105 +- scripts/Units/cortarg.cob | Bin 519 -> 1516 bytes scripts/Units/cortermite.bos | 134 +- scripts/Units/cortermite.cob | Bin 7116 -> 8443 bytes scripts/Units/corthovr.bos | 304 +- scripts/Units/corthovr.cob | Bin 4002 -> 6482 bytes scripts/Units/corthud.bos | 222 +- scripts/Units/corthud.cob | Bin 18112 -> 19007 bytes scripts/Units/cortide.bos | 94 +- scripts/Units/cortide.cob | Bin 2769 -> 2919 bytes scripts/Units/cortitan.bos | 65 +- scripts/Units/cortitan.cob | Bin 1046 -> 2085 bytes scripts/Units/cortl.bos | 60 +- scripts/Units/cortl.cob | Bin 2880 -> 2486 bytes scripts/Units/cortoast.bos | 84 +- scripts/Units/cortoast.cob | Bin 4244 -> 4602 bytes scripts/Units/cortrem.bos | 156 +- scripts/Units/cortron.bos | 136 +- scripts/Units/cortron.cob | Bin 2119 -> 2761 bytes scripts/Units/cortship.bos | 244 +- scripts/Units/cortship.cob | Bin 3965 -> 6059 bytes scripts/Units/coruwadves.bos | 10 +- scripts/Units/coruwadves.cob | Bin 363 -> 461 bytes scripts/Units/coruwadvms.bos | 10 +- scripts/Units/coruwadvms.cob | Bin 363 -> 461 bytes scripts/Units/coruwageo.bos | 20 +- scripts/Units/coruwageo.cob | Bin 1732 -> 1377 bytes scripts/Units/coruwes.bos | 10 +- scripts/Units/coruwes.cob | Bin 363 -> 461 bytes scripts/Units/coruwfus.bos | 10 +- scripts/Units/coruwfus.cob | Bin 363 -> 461 bytes scripts/Units/coruwgeo.bos | 19 +- scripts/Units/coruwgeo.cob | Bin 1732 -> 1365 bytes scripts/Units/coruwmex.bos | 86 +- scripts/Units/coruwmex.cob | Bin 1170 -> 2367 bytes scripts/Units/coruwmme.bos | 103 +- scripts/Units/coruwmme.cob | Bin 948 -> 1697 bytes scripts/Units/coruwmmm.bos | 41 +- scripts/Units/coruwmmm.cob | Bin 2556 -> 1449 bytes scripts/Units/coruwms.bos | 10 +- scripts/Units/coruwms.cob | Bin 363 -> 461 bytes scripts/Units/corvalk.bos | 117 +- scripts/Units/corvalk.cob | Bin 2769 -> 4028 bytes scripts/Units/corvamp.bos | 107 +- scripts/Units/corvamp.cob | Bin 1358 -> 2397 bytes scripts/Units/corveng.bos | 57 +- scripts/Units/corveng.cob | Bin 1404 -> 1876 bytes scripts/Units/corvipe.bos | 46 +- scripts/Units/corvipe.cob | Bin 3052 -> 3683 bytes scripts/Units/corvoyr.bos | 204 +- scripts/Units/corvoyr.cob | Bin 9906 -> 10477 bytes scripts/Units/corvp.bos | 182 +- scripts/Units/corvp.cob | Bin 3260 -> 4970 bytes scripts/Units/corvp.lua | 20 +- scripts/Units/corvrad.bos | 50 +- scripts/Units/corvrad.cob | Bin 2799 -> 2050 bytes scripts/Units/corvroc.bos | 172 +- scripts/Units/corvroc.cob | Bin 3134 -> 2932 bytes scripts/Units/corwin.bos | 21 +- scripts/Units/corwin.cob | Bin 2346 -> 1961 bytes scripts/Units/corwolv.bos | 109 +- scripts/Units/corwolv.cob | Bin 3776 -> 3419 bytes scripts/Units/exptype.h | 193 + scripts/Units/hitweap.h | 27 + scripts/Units/idlehover.h | 65 +- scripts/Units/legbal.bos | 164 +- scripts/Units/legbal.cob | Bin 17423 -> 18490 bytes scripts/Units/legbar.bos | 63 +- scripts/Units/legbar.cob | Bin 1748 -> 2250 bytes scripts/Units/legbart.bos | 238 +- scripts/Units/legbart.cob | Bin 19777 -> 20459 bytes scripts/Units/legbastion.bos | 266 +- scripts/Units/legbastion.cob | Bin 5561 -> 6734 bytes scripts/Units/legcen.bos | 209 +- scripts/Units/legcen.cob | Bin 12316 -> 12962 bytes scripts/Units/legcib.bos | 73 +- scripts/Units/legcib.cob | Bin 597 -> 1332 bytes scripts/Units/legcom.bos | 265 +- scripts/Units/legcom.cob | Bin 20169 -> 20313 bytes scripts/Units/legcomlvl2.bos | 280 +- scripts/Units/legcomlvl2.cob | Bin 20500 -> 20776 bytes scripts/Units/legcomlvl3.bos | 280 +- scripts/Units/legcomlvl3.cob | Bin 20500 -> 20776 bytes scripts/Units/legcomlvl4.bos | 320 +- scripts/Units/legcomlvl4.cob | Bin 22342 -> 22630 bytes scripts/Units/legcomoff.bos | 278 +- scripts/Units/legcomoff.cob | Bin 20438 -> 20594 bytes scripts/Units/legcomt2com.bos | 330 +- scripts/Units/legcomt2com.cob | Bin 22277 -> 22517 bytes scripts/Units/legcomt2def.bos | 325 +- scripts/Units/legcomt2def.cob | Bin 20913 -> 21094 bytes scripts/Units/legdefcarryt1.bos | 14 +- scripts/Units/legdefcarryt1.cob | Bin 1803 -> 1984 bytes scripts/Units/legdrone.bos | 37 +- scripts/Units/legdrone.cob | Bin 2722 -> 2710 bytes scripts/Units/legfig.bos | 119 +- scripts/Units/legfig.cob | Bin 1527 -> 2532 bytes scripts/Units/legfloat.bos | 182 +- scripts/Units/legfort.bos | 148 +- scripts/Units/legfort.cob | Bin 6122 -> 7836 bytes scripts/Units/leggat.bos | 154 +- scripts/Units/leggat.cob | Bin 2551 -> 3397 bytes scripts/Units/leggob.bos | 181 +- scripts/Units/leggob.cob | Bin 15969 -> 16720 bytes scripts/Units/leghades.bos | 51 +- scripts/Units/leghades.cob | Bin 1261 -> 1671 bytes scripts/Units/leghelios.bos | 47 +- scripts/Units/leginc.bos | 124 +- scripts/Units/leginc.cob | Bin 5404 -> 5815 bytes scripts/Units/leginf.bos | 62 +- scripts/Units/leginf.cob | Bin 2042 -> 2620 bytes scripts/Units/leginfestor.bos | 125 +- scripts/Units/leginfestor.cob | Bin 6860 -> 8443 bytes scripts/Units/legionnaire.bos | 109 +- scripts/Units/legionnaire.cob | Bin 1047 -> 1786 bytes scripts/Units/legkam.bos | 79 +- scripts/Units/legkam.cob | Bin 1085 -> 1654 bytes scripts/Units/legkark.bos | 231 +- scripts/Units/legkark.cob | Bin 7504 -> 9207 bytes scripts/Units/legkeres.bos | 118 +- scripts/Units/legkeres.cob | Bin 2803 -> 3341 bytes scripts/Units/leglob.bos | 177 +- scripts/Units/leglob.cob | Bin 15487 -> 16309 bytes scripts/Units/legmech.bos | 213 +- scripts/Units/legmech.cob | Bin 15420 -> 15819 bytes scripts/Units/legmex.bos | 81 +- scripts/Units/legmex.cob | Bin 1339 -> 1707 bytes scripts/Units/legmext15.bos | 90 +- scripts/Units/legmext15.cob | Bin 1463 -> 1831 bytes scripts/Units/legmg.bos | 50 +- scripts/Units/legmg.cob | Bin 2631 -> 3198 bytes scripts/Units/legmineb.bos | 73 +- scripts/Units/legmineb.cob | Bin 2004 -> 2899 bytes scripts/Units/legmos.bos | 122 +- scripts/Units/legmos.cob | Bin 2679 -> 2965 bytes scripts/Units/legmrv.bos | 83 +- scripts/Units/legmrv.cob | Bin 3010 -> 3805 bytes scripts/Units/legpede.bos | 477 +- scripts/Units/legpede.cob | Bin 37150 -> 37985 bytes scripts/Units/legphoenix.bos | 43 +- scripts/Units/legrail.bos | 76 +- scripts/Units/legrail.cob | Bin 1942 -> 2652 bytes scripts/Units/legsco.bos | 104 +- scripts/Units/legsco.cob | Bin 2176 -> 2922 bytes scripts/Units/legshot.bos | 220 +- scripts/Units/legshot.cob | Bin 16426 -> 17137 bytes scripts/Units/legsrail.bos | 249 +- scripts/Units/legsrail.cob | Bin 18776 -> 19778 bytes scripts/Units/legstarfall.bos | 61 +- scripts/Units/legstarfall.cob | Bin 3149 -> 2626 bytes scripts/Units/legstr.bos | 304 +- scripts/Units/legstr.cob | Bin 6911 -> 7943 bytes scripts/Units/legstronghold.bos | 176 +- scripts/Units/legstronghold.cob | Bin 5565 -> 7036 bytes scripts/Units/legvcarry.bos | 38 +- scripts/Units/legvcarry.cob | Bin 1212 -> 1423 bytes scripts/Units/legvenator.bos | 106 +- scripts/Units/legvenator.cob | Bin 967 -> 1786 bytes scripts/Units/legwhisper.bos | 33 +- scripts/Units/legwhisper.cob | Bin 801 -> 899 bytes scripts/Units/meteor.bos | 34 +- scripts/Units/meteor.cob | Bin 668 -> 684 bytes scripts/Units/rockunit.h | 22 + scripts/Units/rockwater.h | 43 + scripts/Units/roost.bos | 36 +- scripts/Units/roost.cob | Bin 756 -> 772 bytes scripts/Units/scavboss/armassimilator.bos | 271 +- scripts/Units/scavboss/armassimilator.cob | Bin 5950 -> 8813 bytes scripts/Units/scavboss/armdecadet3.bos | 286 +- scripts/Units/scavboss/armdecadet3.cob | Bin 5721 -> 5982 bytes scripts/Units/scavboss/armfepocht4.bos | 606 +- scripts/Units/scavboss/armfepocht4.cob | Bin 7341 -> 8516 bytes scripts/Units/scavboss/armlunchbox.bos | 406 +- scripts/Units/scavboss/armlunchbox.cob | Bin 8808 -> 10538 bytes scripts/Units/scavboss/armmeatball.bos | 392 +- scripts/Units/scavboss/armmeatball.cob | Bin 7845 -> 9607 bytes scripts/Units/scavboss/armpshipt3.bos | 264 +- scripts/Units/scavboss/armpshipt3.cob | Bin 6164 -> 6653 bytes scripts/Units/scavboss/armptt2.bos | 221 +- scripts/Units/scavboss/armptt2.cob | Bin 4797 -> 4767 bytes scripts/Units/scavboss/armpwt4.bos | 426 +- scripts/Units/scavboss/armpwt4.cob | Bin 31425 -> 33727 bytes scripts/Units/scavboss/armrattet4.bos | 77 +- scripts/Units/scavboss/armrattet4.cob | Bin 2475 -> 2700 bytes scripts/Units/scavboss/armscavengerbossv2.bos | 327 +- scripts/Units/scavboss/armscavengerbossv2.cob | Bin 22474 -> 22882 bytes scripts/Units/scavboss/armserpt3.bos | 155 +- scripts/Units/scavboss/armserpt3.cob | Bin 4236 -> 4293 bytes scripts/Units/scavboss/armsptkt4.bos | 352 +- scripts/Units/scavboss/armsptkt4.cob | Bin 15070 -> 15665 bytes scripts/Units/scavboss/armthundt4.bos | 144 +- scripts/Units/scavboss/armthundt4.cob | Bin 3062 -> 4242 bytes scripts/Units/scavboss/armvadert4.bos | 100 +- scripts/Units/scavboss/armvadert4.cob | Bin 2264 -> 1851 bytes scripts/Units/scavboss/corakt4.bos | 246 +- scripts/Units/scavboss/corakt4.cob | Bin 47119 -> 49637 bytes scripts/Units/scavboss/corcrwt4.bos | 222 +- scripts/Units/scavboss/corcrwt4.cob | Bin 9023 -> 11919 bytes scripts/Units/scavboss/coresuppt3.bos | 249 +- scripts/Units/scavboss/coresuppt3.cob | Bin 4979 -> 4710 bytes scripts/Units/scavboss/corfblackhyt4.bos | 451 +- scripts/Units/scavboss/corfblackhyt4.cob | Bin 6174 -> 7633 bytes scripts/Units/scavboss/corforge.bos | 76 +- scripts/Units/scavboss/corforge.cob | Bin 2865 -> 3152 bytes scripts/Units/scavboss/corftiger.bos | 128 +- scripts/Units/scavboss/corftiger.cob | Bin 4748 -> 6103 bytes scripts/Units/scavboss/corgatreap.bos | 257 +- scripts/Units/scavboss/corgatreap.cob | Bin 4544 -> 4464 bytes scripts/Units/scavboss/corgolt4.bos | 241 +- scripts/Units/scavboss/corkarganetht4.bos | 293 +- scripts/Units/scavboss/corkarganetht4.cob | Bin 33767 -> 37726 bytes scripts/Units/scavboss/corlevlrt4.bos | 101 +- scripts/Units/scavboss/corlevlrt4.cob | Bin 2568 -> 2891 bytes scripts/Units/scavboss/corslrpc.bos | 210 +- scripts/Units/scavboss/corslrpc.cob | Bin 4259 -> 4141 bytes scripts/Units/scavboss/corthermite.bos | 155 +- scripts/Units/scavboss/cortorch.bos | 65 +- scripts/Units/scavboss/cortorch.cob | Bin 2610 -> 2849 bytes scripts/Units/scavboss/corvac.bos | 28 +- scripts/Units/scavboss/corvac.cob | Bin 1914 -> 2077 bytes scripts/Units/scavboss/corvacct.bos | 36 +- scripts/Units/scavboss/corvacct.cob | Bin 3214 -> 3521 bytes scripts/Units/scavboss/exptype.h | 193 + scripts/Units/scavboss/sfxtype.h | 0 scripts/Units/scavboss/unitDefsTurretSpeeds.h | 68 + scripts/Units/scavboss/water2.h | 31 + scripts/Units/scavboss/water3.h | 35 + scripts/Units/scavboss/weapon1control.h | 168 + scripts/Units/scavboss/yard.h | 35 + scripts/Units/scavbuildings/armapt3.bos | 110 +- scripts/Units/scavbuildings/armapt3.cob | Bin 3796 -> 4395 bytes scripts/Units/scavbuildings/armminivulc.bos | 106 +- scripts/Units/scavbuildings/armminivulc.cob | Bin 3143 -> 4082 bytes scripts/Units/scavbuildings/armwint2.bos | 95 +- scripts/Units/scavbuildings/armwint2.cob | Bin 2114 -> 1945 bytes scripts/Units/scavbuildings/corapt3.bos | 200 +- scripts/Units/scavbuildings/corapt3.cob | Bin 3147 -> 3559 bytes scripts/Units/scavbuildings/corhllllt.bos | 122 +- scripts/Units/scavbuildings/corhllllt.cob | Bin 3188 -> 3254 bytes scripts/Units/scavbuildings/corminibuzz.lua | 50 +- scripts/Units/scavbuildings/corwint2.bos | 42 +- scripts/Units/scavbuildings/corwint2.cob | Bin 2278 -> 1821 bytes scripts/Units/scavbuildings/exptype.h | 193 + .../Units/scavbuildings/legministarfall.bos | 61 +- .../Units/scavbuildings/legministarfall.cob | Bin 3370 -> 2577 bytes scripts/Units/scavbuildings/scavdtf.bos | 159 +- scripts/Units/scavbuildings/scavdtf.cob | Bin 2998 -> 3466 bytes scripts/Units/scavbuildings/scavdtl.bos | 221 +- scripts/Units/scavbuildings/scavdtl.cob | Bin 3232 -> 3073 bytes scripts/Units/scavbuildings/scavdtm.bos | 133 +- scripts/Units/scavbuildings/scavdtm.cob | Bin 3422 -> 3317 bytes scripts/Units/scavbuildings/sfxtype.h | 0 .../scavbuildings/unitDefsTurretSpeeds.h | 68 + scripts/Units/scavbuildings/weapon1control.h | 168 + scripts/Units/sfxtype.h | 0 scripts/Units/smokeunit.h | 100 + scripts/Units/smokeunit_thread.h | 81 + scripts/Units/smokeunit_thread_nohit.h | 58 + scripts/Units/smokeunit_threadder.py | 63 + scripts/Units/standard_commands_gpl.h | 70 + scripts/Units/statechg.h | 83 + scripts/Units/teleport.bos | 24 +- scripts/Units/teleport.cob | Bin 527 -> 543 bytes scripts/Units/unitDefsTurretSpeeds.h | 68 + scripts/Units/unit_hitbyweaponid_and_smoke.h | 195 +- scripts/Units/weapon1control.h | 175 + scripts/array_00.h | 2340 ----- scripts/array_01.h | 2340 ----- scripts/array_02.h | 2340 ----- scripts/array_03.h | 2340 ----- scripts/array_04.h | 2340 ----- scripts/array_05.h | 2340 ----- scripts/array_06.h | 2340 ----- scripts/array_07.h | 2340 ----- scripts/array_header_generator.ipynb | 503 - scripts/bar_hovercraft_common.h | 199 - scripts/bar_ships_common.h | 451 - scripts/bots_lus.lua | 4 +- scripts/buildeffect_lua.h | 53 - .../constant_acceleration_turret_turning_1.h | 171 - .../constant_acceleration_turret_turning_2.h | 169 - .../constant_acceleration_turret_turning_3.h | 169 - scripts/constants.h | 192 + scripts/damagedsmoke.h | 29 - scripts/debug.h | 903 -- scripts/debug_header_generator.py | 48 - scripts/exptype.h | 194 + scripts/factories_common.h | 44 - scripts/floatmotion.h | 111 - scripts/freefusion.bos | 43 +- scripts/freefusion.cob | Bin 1607 -> 1986 bytes scripts/hats/hat.bos | 8 +- scripts/hitbyweapon_configurator.py | 88 +- scripts/hitweap.h | 27 + scripts/include/walk.lua | 16 +- scripts/lootboxes/lootboxgold.bos | 1 + scripts/lootboxes/lootboxgold.cob | Bin 527 -> 539 bytes scripts/lootboxes/lootboxnanoarm.bos | 156 +- scripts/lootboxes/lootboxnanoarm.cob | Bin 2099 -> 3037 bytes scripts/lootboxes/lootboxnanocor.bos | 145 +- scripts/lootboxes/lootboxnanocor.cob | Bin 2139 -> 3037 bytes scripts/lootboxes/lootboxv2.bos | 1 + scripts/meteor.bos | 34 +- scripts/mission_command_tower.bos | 55 +- scripts/mission_command_tower.cob | Bin 1327 -> 1274 bytes scripts/opencloseanim.h | 53 - scripts/random.h | 45 - scripts/rockunit.h | 22 + scripts/rockwater.h | 43 + scripts/scavs/armbotrail.bos | 65 +- scripts/scavs/armbotrail.cob | Bin 2277 -> 2290 bytes scripts/scavs/armwarscav.bos | 263 +- scripts/scavs/armwarscav.cob | Bin 7888 -> 9318 bytes scripts/scavs/beacon.bos | 36 +- scripts/scavs/beacon.cob | Bin 732 -> 748 bytes scripts/scavs/beaconbyar.bos | 35 +- scripts/scavs/beaconbyar.cob | Bin 835 -> 855 bytes scripts/scavs/cords.bos | 75 +- scripts/scavs/cords.cob | Bin 2672 -> 3358 bytes scripts/scavs/droppod.bos | 24 +- scripts/scavs/exptype.h | 193 + scripts/scavs/scavdrag.bos | 26 +- scripts/scavs/scavdtf.bos | 237 + scripts/scavs/scavdtf.cob | Bin 0 -> 3442 bytes scripts/scavs/scavdtl.bos | 152 +- scripts/scavs/scavdtl.cob | Bin 3232 -> 3119 bytes scripts/scavs/scavfort.bos | 4 +- scripts/scavs/scavmist.bos | 24 +- scripts/scavs/scavmist.cob | Bin 654 -> 826 bytes scripts/scavs/sfxtype.h | 0 scripts/scavs/unitDefsTurretSpeeds.h | 68 + scripts/scavs/water2.h | 31 + scripts/scavs/water3.h | 35 + scripts/scavs/weapon1control.h | 154 + scripts/scavs/yard.h | 35 + scripts/sfxtype.h | 0 scripts/smokeunit.h | 100 + scripts/smoothanim.py | 233 + scripts/standard_commands_gpl.h | 70 + scripts/statechg.h | 83 + scripts/tilt_bank_mobileunit.h | 184 - scripts/tilt_bank_submarine.h | 169 - scripts/unitDefsTurretSpeeds.h | 68 + scripts/unit_hitbyweaponid_and_smoke.h | 200 +- scripts/vehicle_dirt_cegs.h | 79 - scripts/weapon1control.h | 175 +- units/ArmBuildings/SeaUtil/armfasp.lua | 2 +- units/ArmShips/T2/armacsub.lua | 3 +- units/ArmShips/armrecl.lua | 1 - units/CorBuildings/LandFactories/coralab.lua | 2 +- units/CorBuildings/LandFactories/corlab.lua | 2 +- units/CorBuildings/LandFactories/corvp.lua | 2 +- units/CorBuildings/SeaUtil/corfasp.lua | 2 +- units/CorShips/T2/coracsub.lua | 1 - units/CorShips/correcl.lua | 3 +- 1301 files changed, 71264 insertions(+), 60975 deletions(-) delete mode 100644 luarules/gadgets/dbg_cob_debug.lua delete mode 100644 luaui/Widgets/dbg_reloadcob.lua delete mode 100644 objects3d/Units/armsjam.mtl delete mode 100644 objects3d/Units/armsjam.obj delete mode 100644 scripts/Raptors/bos2cob_py3.py delete mode 100644 scripts/Raptors/bos2cob_python2.py rename scripts/{recoil_common_includes.h => Raptors/exptype.h} (82%) delete mode 100644 scripts/Raptors/raptor_worm_turret_common.h create mode 100644 scripts/Raptors/sfxtype.h delete mode 100644 scripts/TransitionTo.h delete mode 100644 scripts/Turret_acceleration.h delete mode 100644 scripts/Units/air_barrelroll.h create mode 100644 scripts/Units/armdf.bos create mode 100644 scripts/Units/armdf.cob delete mode 100644 scripts/Units/armfasp.bos delete mode 100644 scripts/Units/armfasp.cob create mode 100644 scripts/Units/armflash_old.bos create mode 100644 scripts/Units/armflash_old.cob create mode 100644 scripts/Units/cob_set.txt create mode 100644 scripts/Units/constants.h delete mode 100644 scripts/Units/coralab.bos delete mode 100644 scripts/Units/coralab.cob create mode 100644 scripts/Units/corasye.bos create mode 100644 scripts/Units/corasye.cob create mode 100644 scripts/Units/corfasp .cob delete mode 100644 scripts/Units/corfasp.cob create mode 100644 scripts/Units/corjugg.lua_old delete mode 100644 scripts/Units/corlab.bos delete mode 100644 scripts/Units/corlab.cob create mode 100644 scripts/Units/exptype.h create mode 100644 scripts/Units/hitweap.h create mode 100644 scripts/Units/rockunit.h create mode 100644 scripts/Units/rockwater.h create mode 100644 scripts/Units/scavboss/exptype.h create mode 100644 scripts/Units/scavboss/sfxtype.h create mode 100644 scripts/Units/scavboss/unitDefsTurretSpeeds.h create mode 100644 scripts/Units/scavboss/water2.h create mode 100644 scripts/Units/scavboss/water3.h create mode 100644 scripts/Units/scavboss/weapon1control.h create mode 100644 scripts/Units/scavboss/yard.h create mode 100644 scripts/Units/scavbuildings/exptype.h create mode 100644 scripts/Units/scavbuildings/sfxtype.h create mode 100644 scripts/Units/scavbuildings/unitDefsTurretSpeeds.h create mode 100644 scripts/Units/scavbuildings/weapon1control.h create mode 100644 scripts/Units/sfxtype.h create mode 100644 scripts/Units/smokeunit.h create mode 100644 scripts/Units/smokeunit_thread.h create mode 100644 scripts/Units/smokeunit_thread_nohit.h create mode 100644 scripts/Units/smokeunit_threadder.py create mode 100644 scripts/Units/standard_commands_gpl.h create mode 100644 scripts/Units/statechg.h create mode 100644 scripts/Units/unitDefsTurretSpeeds.h create mode 100644 scripts/Units/weapon1control.h delete mode 100644 scripts/array_00.h delete mode 100644 scripts/array_01.h delete mode 100644 scripts/array_02.h delete mode 100644 scripts/array_03.h delete mode 100644 scripts/array_04.h delete mode 100644 scripts/array_05.h delete mode 100644 scripts/array_06.h delete mode 100644 scripts/array_07.h delete mode 100644 scripts/array_header_generator.ipynb delete mode 100644 scripts/bar_hovercraft_common.h delete mode 100644 scripts/bar_ships_common.h delete mode 100644 scripts/buildeffect_lua.h delete mode 100644 scripts/constant_acceleration_turret_turning_1.h delete mode 100644 scripts/constant_acceleration_turret_turning_2.h delete mode 100644 scripts/constant_acceleration_turret_turning_3.h create mode 100644 scripts/constants.h delete mode 100644 scripts/damagedsmoke.h delete mode 100644 scripts/debug.h delete mode 100644 scripts/debug_header_generator.py create mode 100644 scripts/exptype.h delete mode 100644 scripts/factories_common.h delete mode 100644 scripts/floatmotion.h create mode 100644 scripts/hitweap.h delete mode 100644 scripts/opencloseanim.h delete mode 100644 scripts/random.h create mode 100644 scripts/rockunit.h create mode 100644 scripts/rockwater.h create mode 100644 scripts/scavs/exptype.h create mode 100644 scripts/scavs/scavdtf.bos create mode 100644 scripts/scavs/scavdtf.cob create mode 100644 scripts/scavs/sfxtype.h create mode 100644 scripts/scavs/unitDefsTurretSpeeds.h create mode 100644 scripts/scavs/water2.h create mode 100644 scripts/scavs/water3.h create mode 100644 scripts/scavs/weapon1control.h create mode 100644 scripts/scavs/yard.h create mode 100644 scripts/sfxtype.h create mode 100644 scripts/smokeunit.h create mode 100644 scripts/smoothanim.py create mode 100644 scripts/standard_commands_gpl.h create mode 100644 scripts/statechg.h delete mode 100644 scripts/tilt_bank_mobileunit.h delete mode 100644 scripts/tilt_bank_submarine.h create mode 100644 scripts/unitDefsTurretSpeeds.h delete mode 100644 scripts/vehicle_dirt_cegs.h diff --git a/luarules/gadgets/dbg_cob_debug.lua b/luarules/gadgets/dbg_cob_debug.lua deleted file mode 100644 index 860c287f0b7..00000000000 --- a/luarules/gadgets/dbg_cob_debug.lua +++ /dev/null @@ -1,174 +0,0 @@ -function gadget:GetInfo() - return { - name = "Cob Debug", - desc = "Decodes lua_CobDebug messages from COB Unit scripts", - author = "Beherith", - date = "2024.04.07", - license = "GNU GPL, v2 or later", - layer = 0, - enabled = true, -- loaded by default? - } -end - - -if gadgetHandler:IsSyncedCode() then - local callinids = { - [1] = "Debug", - [2] = "Open", - [3] = "Close", - [4] = "TryTransition", - [5] = "Killed", - [6] = "ExecuteRestoreAfterDelay", - [7] = "SetStunned", - [8] = "Walk", - [9] = "StopWalking", - [10] = "Create", - [11] = "Activate", - [12] = "Deactivate", - [13] = "StartMoving", - [14] = "StopMoving", - [15] = "SetSFXOccupy", - [16] = "MoveRate0", - [17] = "MoveRate1", - [18] = "MoveRate2", - [19] = "MoveRate3", - [20] = "SetDirection", - [21] = "SetSpeed", - [22] = "RockUnit", - [23] = "HitByWeapon", - [24] = "HitByWeaponID", - [25] = "SetMaxReloadTime", - [26] = "StartBuilding", - [27] = "StopBuilding", - [28] = "QueryNanoPiece", - [29] = "QueryBuildInfo", - [30] = "Falling", - [31] = "Landed", - [32] = "QueryTransport", - [33] = "BeginTransport", - [34] = "EndTransport", - [35] = "TransportPickup", - [36] = "TransportDrop", - [37] = "StartUnload", - [38] = "QueryLandingPadCount", - [39] = "QueryLandingPad", - [40] = "AimWeapon1", - [41] = "AimFromWeapon1", - [42] = "FireWeapon1", - [43] = "Shot1", - [44] = "QueryWeapon1", - [45] = "EndBurst1", - [46] = "BlockShot1", - [47] = "TargetWeight1", - [48] = "AimWeapon2", - [49] = "AimFromWeapon2", - [50] = "FireWeapon2", - [51] = "Shot2", - [52] = "QueryWeapon2", - [53] = "EndBurst2", - [54] = "BlockShot2", - [55] = "TargetWeight2", - [56] = "AimWeapon3", - [57] = "AimFromWeapon3", - [58] = "FireWeapon3", - [59] = "Shot3", - [60] = "QueryWeapon3", - [61] = "EndBurst3", - [62] = "BlockShot3", - [63] = "TargetWeight3", - [64] = "AimWeapon4", - [65] = "AimFromWeapon4", - [66] = "FireWeapon4", - [67] = "Shot4", - [68] = "QueryWeapon4", - [69] = "EndBurst4", - [70] = "BlockShot4", - [71] = "TargetWeight4", - [72] = "AimWeapon5", - [73] = "AimFromWeapon5", - [74] = "FireWeapon5", - [75] = "Shot5", - [76] = "QueryWeapon5", - [77] = "EndBurst5", - [78] = "BlockShot5", - [79] = "TargetWeight5", - [80] = "AimWeapon6", - [81] = "AimFromWeapon6", - [82] = "FireWeapon6", - [83] = "Shot6", - [84] = "QueryWeapon6", - [85] = "EndBurst6", - [86] = "BlockShot6", - [87] = "TargetWeight6", - [1000] = "SIGNAL", - } - - local count = 0 -- ensures that identical calls within a frame dont get eaten from logs - local lastgf = 0 - - local function ResolveLine(unitDefID, line) - local cobname = string.sub(UnitDefs[unitDefID].scriptName, 1, -4) - - -- we have to reload and cant cache because the dev might have reloaded the cob script - local bosfile = VFS.LoadFile(cobname..'bos') - - local boslines = string.lines(bosfile) - - local function_pattern = '^[%w_]+%(' - - if boslines[line] == nil then return "included", -1 end - -- todo: walk up until you match a function declaration - for i = line, 1, -1 do - if string.find(boslines[i], function_pattern) then - --Spring.Echo("MATCH",i, boslines[i]) - return boslines[i], i - end - end - return "?", -1 - --Spring.Echo(cobname, boslines[line]) - end - - local function CobDebug(unitID, unitDefID, team, cmdid, line, p1,p2,p3,p4,p5,p6,p7,p8) - ResolveLine(unitDefID, line) - - - if lastgf == Spring.GetGameFrame() then - count = count + 1 - else - lastgf = Spring.GetGameFrame() - count = 0 - end - -- f:<01368.000> u:27656 armstump.FireWeapon1:97 - local funcname = "" - if cmdid == 1 then - funcname = ResolveLine(unitDefID, line) - else - funcname = callinids[cmdid] or tostring(cmdid) - end - - local msg = string.format("f:<%05d.%03d> u:%05d %s.%s:%d ", - lastgf, count, unitID or -1, UnitDefs[unitDefID].name or "?", funcname, line or -1 - ) - if p1 then msg = msg .. " p1=" .. tostring(p1) end - if p2 then msg = msg .. " p2=" .. tostring(p2) end - if p3 then msg = msg .. " p3=" .. tostring(p3) end - if p4 then msg = msg .. " p4=" .. tostring(p4) end - if p5 then msg = msg .. " p5=" .. tostring(p5) end - if p6 then msg = msg .. " p6=" .. tostring(p6) end - if p7 then msg = msg .. " p7=" .. tostring(p7) end - if p8 then msg = msg .. " p8=" .. tostring(p8) end - - Spring.Echo(msg) - end - - function gadget:Initialize() - gadgetHandler:RegisterGlobal("CobDebug", CobDebug) - end - - function gadget:Shutdown() - gadgetHandler:DeregisterGlobal("CobDebug") - end - - -end -- UNSYNCED - diff --git a/luarules/gadgets/unit_continuous_aim.lua b/luarules/gadgets/unit_continuous_aim.lua index da6d93b3179..94b5fcb74cd 100644 --- a/luarules/gadgets/unit_continuous_aim.lua +++ b/luarules/gadgets/unit_continuous_aim.lua @@ -53,7 +53,6 @@ local convertedUnitsNames = { ['armbanth'] = 1, ['corkorg'] = 1, ['armvang'] = 3, - ['armcrus'] = 5, -- the following units get a faster reaimtime to counteract their turret acceleration diff --git a/luarules/gadgets/unit_turretspeed.lua b/luarules/gadgets/unit_turretspeed.lua index bc92fbbe1ff..9947c88f31e 100644 --- a/luarules/gadgets/unit_turretspeed.lua +++ b/luarules/gadgets/unit_turretspeed.lua @@ -7,7 +7,7 @@ function gadget:GetInfo() date = "May 2018", license = "GNU GPL, v2 or later", layer = 0, - enabled = false, + enabled = true, } end @@ -19,17 +19,6 @@ end -If using continuous aiming, the correct values for the waitforturn checks are: > 65536, > WeaponXTurretY/30, < 65536 - WeaponXTurretY/30 (== not within one frame of the last valid heading) This gadget will only call the setting function if it finds both the wpnXturretx and wpnXturrety customParams, if the weapon doesn't use a rotation around x-axis in its aiming then just set it to 1 (not nil) - -For future notes, look for these in COB scripts - Weapon1TurretX - Weapon1TurretY - -Look for these in UnitDefs customparams: - wpn1turretx - wpn1turrety - -This, should entirely be removed anyway, along with the customparams - ]] -- finds fields weapon1turretx/weapon1turrety, up to 10. diff --git a/luaui/Widgets/dbg_reloadcob.lua b/luaui/Widgets/dbg_reloadcob.lua deleted file mode 100644 index 3d3797b1251..00000000000 --- a/luaui/Widgets/dbg_reloadcob.lua +++ /dev/null @@ -1,52 +0,0 @@ -function widget:GetInfo() - return { - name = "ReloadCob", - desc = "Devmode: press CTRL+R to reload the cob scripts of all selected unitDefs", - author = "Beherith", - date = "2024.03.12", - license = "GNU GPL v2", - layer = 0, - enabled = false -- loaded by default? - } -end - -include("keysym.h.lua") - ------------------------------------------------- --- Press Handling ------------------------------------------------- -local doReload = false - -function widget:KeyPress(key, modifier, isRepeat) - if modifier.ctrl then - if key == KEYSYMS.R then - doReload = true - end - end -end - -function widget:Initialize() - if not Spring.Utilities.IsDevMode() then - Spring.Echo("ReloadCob widget requires devmode") - widgetHandler:RemoveWidget() - return - end -end - -function widget:Update() - if doReload then - local reloadedCobDefs = {} - local selection = Spring.GetSelectedUnits() - for i, unitID in ipairs(selection) do - local unitDefID = Spring.GetUnitDefID(unitID) - if not reloadedCobDefs[unitDefID] then - local unitDefName = UnitDefs[unitDefID].name - Spring.SendCommands('reloadcob ' .. unitDefName) - Spring.Echo("Reloaded COB: ".. unitDefName .. " from " .. UnitDefs[unitDefID].scriptName) - reloadedCobDefs[unitDefID] = true - end - end - doReload = false - end -end - diff --git a/luaui/configs/DeferredLightsGL4config.lua b/luaui/configs/DeferredLightsGL4config.lua index c0183415d4c..ded8c1a35ae 100644 --- a/luaui/configs/DeferredLightsGL4config.lua +++ b/luaui/configs/DeferredLightsGL4config.lua @@ -77,7 +77,7 @@ local unitLights = { arm1 = { -- looks like arm movement is different and light isnt fixed in place :/ lightType = 'point', pieceName = 'luparm', - lightConfig = { posx = 5, posy = 5.5, posz = 0, radius = 13, + lightConfig = { posx = -25, posy = 5.5, posz = 0, radius = 13, color2r = 1, color2g = 1, color2b = 0.25, colortime = 0, r = 1, g = 1, b = 0.25, a = 0.07, modelfactor = 0.2, specular = 1, scattering = 0.6, lensflare = 0, @@ -86,7 +86,7 @@ local unitLights = { arm2 = { -- looks like arm movement is different and light isnt fixed in place :/ lightType = 'point', pieceName = 'ruparm', - lightConfig = { posx = -5, posy = 5.5, posz = 0, radius = 13, + lightConfig = { posx = 25, posy = 5.5, posz = 0, radius = 13, color2r = 1, color2g = 1, color2b = 0.25, colortime = 0, r = 1, g = 1, b = 0.25, a = 0.07, modelfactor = 0.2, specular = 1, scattering = 0.6, lensflare = 0, @@ -105,8 +105,8 @@ local unitLights = { ['armfatf'] = { greenblob = { lightType = 'point', - pieceName = 'light', - lightConfig = { posx = 0, posy = 0, posz = 0, radius = 17, + pieceName = 'base', + lightConfig = { posx = 10, posy = 95, posz = 8.5, radius = 17, color2r = 0, color2g = 0, color2b = 0, colortime = 12, r = 0, g = 1.5, b = 0, a = 0.8, modelfactor = 0.8, specular = 0.9, scattering = 1, lensflare = 10, @@ -1557,8 +1557,8 @@ local unitLights = { }, top1 = { lightType = 'point', - pieceName = 'launcher', - lightConfig = { posx = 0, posy = 14, posz = 1, radius = 21, + pieceName = 'sleeve', + lightConfig = { posx = 0, posy = 12, posz = -19, radius = 21, color2r = 1, color2g = 1, color2b = 0.4, colortime = 0, r = 1, g = 1, b = 0.4, a = 0.055, modelfactor = 0.4, specular = 0.5, scattering = 0.7, lensflare = 0, @@ -1566,8 +1566,8 @@ local unitLights = { }, top2 = { lightType = 'point', - pieceName = 'launcher', - lightConfig = { posx = 0, posy = 12, posz = -4, radius = 21, + pieceName = 'sleeve', + lightConfig = { posx = 0, posy = 12, posz = -26, radius = 21, color2r = 1, color2g = 1, color2b = 0.4, colortime = 0, r = 1, g = 1, b = 0.4, a = 0.055, modelfactor = 0.4, specular = 0.5, scattering = 0.7, lensflare = 0, @@ -1575,17 +1575,17 @@ local unitLights = { }, top3 = { lightType = 'point', - pieceName = 'launcher', - lightConfig = { posx = 0, posy = 12, posz = -11, radius = 21, + pieceName = 'sleeve', + lightConfig = { posx = 0, posy = 12, posz = -33, radius = 21, color2r = 1, color2g = 1, color2b = 0.4, colortime = 0, r = 1, g = 1, b = 0.4, a = 0.055, - modelfactor = 0.4, specular = 0.5, scattering = 0.7, lensflare = 100, + modelfactor = 0.4, specular = 0.5, scattering = 0.7, lensflare = 0, lifetime = 0, sustain = 0, animtype = 0}, }, top4 = { lightType = 'point', - pieceName = 'launcher', - lightConfig = { posx = 0, posy = 12, posz = -18, radius = 21, + pieceName = 'sleeve', + lightConfig = { posx = 0, posy = 12, posz = -40, radius = 21, color2r = 1, color2g = 1, color2b = 0.4, colortime = 0, r = 1, g = 1, b = 0.4, a = 0.055, modelfactor = 0.4, specular = 0.5, scattering = 0.7, lensflare = 0, @@ -1593,8 +1593,8 @@ local unitLights = { }, topback1 = { lightType = 'point', - pieceName = 'launcher', - lightConfig = { posx = 0, posy = 0, posz = -28, radius = 17, + pieceName = 'sleeve', + lightConfig = { posx = 0, posy = 0, posz = -50, radius = 17, color2r = 1, color2g = 1, color2b = 0.4, colortime = 0, r = 1, g = 1, b = 0.4, a = 0.055, modelfactor = 0.4, specular = 0.5, scattering = 0.7, lensflare = 0, @@ -1602,8 +1602,8 @@ local unitLights = { }, topback2 = { lightType = 'point', - pieceName = 'launcher', - lightConfig = { posx = -7, posy = 0, posz = -25.5, radius = 17, + pieceName = 'sleeve', + lightConfig = { posx = -7, posy = 0, posz = -47.5, radius = 17, color2r = 1, color2g = 1, color2b = 0.4, colortime = 0, r = 1, g = 1, b = 0.4, a = 0.055, modelfactor = 0.4, specular = 0.5, scattering = 0.7, lensflare = 0, @@ -1611,8 +1611,8 @@ local unitLights = { }, topback3 = { lightType = 'point', - pieceName = 'launcher', - lightConfig = { posx = 7, posy = 0, posz = -25.5, radius = 17, + pieceName = 'sleeve', + lightConfig = { posx = 7, posy = 0, posz = -47.5, radius = 17, color2r = 1, color2g = 1, color2b = 0.4, colortime = 0, r = 1, g = 1, b = 0.4, a = 0.055, modelfactor = 0.4, specular = 0.5, scattering = 0.7, lensflare = 0, diff --git a/objects3d/Units/armaas.s3o b/objects3d/Units/armaas.s3o index ed586841830f00f94aec63a65f5a9445966eccfb..b93857281422b21abd276b5d758f3d0b20d1fcb0 100644 GIT binary patch delta 67 zcmeykhyBNH_6a&dckVJWyaM731_lO3Aii<8(Qd090XF!A>+lgl`-y lPs~nbaD{5{BwFJS$E5snhTA|>Zro)ATj*Fc{oY+hDF9NW9e4l$ diff --git a/objects3d/Units/armah.s3o b/objects3d/Units/armah.s3o index 9ba758ca01588a8688fdfd118e5c27375d98678f..19853fcaebaf35bc38e4e839aff0ca506aa00b51 100644 GIT binary patch delta 483 zcmZ3wm*v?WmI*3GCJYeZCCA7R0mKq@nS{+s~rpsK&u#j$}%!=0xf@i9Hs{-29#h2%0odzTG})R5W6@hHMK02Ve_n? zPxv=i?ND%3wC4mlgn_{ojRyG!1YD=j=VX+$s)S0<7iMH|0t&}-L$raEQ~+^3RQ_RA ziUUY&)=Wjml>Gdn9ER;iLW~a>w}0Yfbl|YM4Ac$+AUA`I*(r)@%uT2~14F_Akh=au z5MzoMw)e<@jPVfx8e_-}v<>87kZaCtXJD`eh9d}of*+ZNdBSOWuNF%uA<0OGC83=9{5Gz{=^GcXjC!*~o0K$atjmy}qX%CKZH14E7+4CGJJyaK}srs*hmOs%)_b_2awpTnTn1n`T0dT z+vB(y9XYnwb22_)RB{7(3kbY{G{_VmC?6ySGNngm`axkviS0W@867yb-xLPwv0NYr b(X#}NhB*)>4%FTN45b4=nxQ-~JCy+dx2+FCI$wEP9U~sWnh>Hq+#F)9|Ob32*N55~>=cq6a8pIeFG&DaOprTOWUxwwe1MqIe0A zo(Ys(0in*g}jx M;Ex7VcMg|6kZXgDMJ_rRT(fJ^W^rHOIycC9hAoDN~GXe1lAhu>@V7LIJ zVc-ZK1B1Z|7>}WWf#HAyh?kUDoXX(vn1P`Zh!c8PH%`fY6jcIbgFpou4Kf@AVB$b# z0}vksVutd>>{N!eKn)-dYyr~ifbDhi^c9*u^13nqT{%o$sV(FYvTauSPD834p4O!EK$ diff --git a/objects3d/Units/armch.s3o b/objects3d/Units/armch.s3o index 26de46f70202599118dee0c9500bccbb3fbaac74..fb9944c44e8e07a674695234dfd102cdb5acf09e 100644 GIT binary patch delta 587 zcmX@TlC@_g>jV`e69xz<2w`NX1L6!ImlcR(fb4W2!<~?gC z*l)b^V2zUCTLuP3pp=*}BSQp`e)b-rd<#hY?c}_-;+s2vTwq$<`IcK*>NiBa5Kz4x zP~Pw_LVXL6srZ{=a?Njv?Gen30!*7{{64_0q{_+&wt^3+B@C!UlmlcT1ndG*x~$W? zSQ(|ZX9zI9VA{TdmGJN`!@`UXyjB`25N+p7 zAjb5mqZ*?JmH(zubKtt?Y6oElZCj8rMGV{T8iI_Os{%Aek;xRIjUA1Kd4PR-oGGJ( zk~L5oq%Z;)TPJ|Ds5Qd25+KvnbovZaMw#t9{1`8=F5h9wD9P;!R0;w>EfWicCpNG^ x(DY3qjFKjzK*_sr7#O60o&^O2$QK|dI2Pr`C+Fwn7wM&>6oYyBB^jv@9stCTarFQI delta 686 zcmeBK$$EMv>jV}400sy!0a8v34Ab*N7-bb(fE-33?uN)Q^g(GD)i+%+gi$y=y(qsl zFNL8WD0~=*S%LTj5T^qfcYrhuJmF_x*s~VKV`yMtc;EoyB_$T8GWfh@VCWQPWJp$F zWUw`5WGFLb-2BJ>;hK%P6YP~5fRZ40v;ye}Al(V1VPFf0|6}t1H{wi@zc)X5&%`}l zmz7asv)L0G!|OO(Vu0B$t<%m!Dpm#}FXQxLt&U z@gUcBpu=7;MYjOG2?8BxG!s}9Ar9m=^dBmt*0|Nsi5HH_o>oSoQ$Y5B$xox5%|Kz6&6aYlG4fX&4 delta 108 zcmX?pkg4?$(*zyCmkSsez5{Uv0|Nsi5I@~$>oSoQ#Co{7ZK5K--EE*G2s~T>rf?Ez cX>yJX3?)uL1qX66(=$pKmIHN6UcNv90G(|Y=Kufz diff --git a/objects3d/Units/armlun.s3o b/objects3d/Units/armlun.s3o index 166fc753373b2bc583cda7ff802601065d8eb5ff..da223877a1ccb9516694b843a6b3238437e0cdf2 100644 GIT binary patch delta 634 zcmZ8e&r1Sf5S=zU^n;KH41#on@)BK(5-hq{Ub+ZAG*R%C% z2<@!{y?H$yt_8!GTsRoseXuMumDLO6M{5p##eekf22LaC(R2-+xk~~ruFPX_4qe{z z+#W~CF^rG)pGj(#rRP%SE>+;h4#>8N_JC>*hm0T!RkxWw8&cyXp|OqE)sURk5#*+O zSejENRLJ+RaK{H!^=xS?3 fA{yNlq!?A!PD&CDiyU#D8>OtX5o^ZP`X$XOz)K^|bw zVF(~iqT-TPA!QmX3vs#tsYPZ{dXFBjO@Af}2gN^{!S;sfOmr#1^R5LA^I`_A{>=;;qr_10Us&N%e7Np^^^00UwBC3MuF zzeR;_Dur6;&ojcq>oD@uK8e=XZMWl?qw624%PAceZ!+2A-Dq97F-;>jmsqBttl<$H z3RSJ*IJ#A}X<7T6tj_dM9>rX+ir>Rgkj+$+Le7`!)E}VY|0HLVXb~7mvsZ*02ak3( zb=;y`>q251KT}z9R$a(LdvtwJ>yAKvhlM+um>UB+87wkBfMxr9bEsJl>6no=%)WShsmhGy*@R%fOJ{g$ diff --git a/objects3d/Units/armmh.s3o b/objects3d/Units/armmh.s3o index d86e06f6bf2d1dd85d3c5bf81507cb741a73ddfc..1b9efb57b92de35915ff97632bf0da1cf865629d 100644 GIT binary patch delta 275 zcmZpl$9!Tg^8^(m69x!abB=*w7Z7IvxlBO31jy!OVPIIR162T|1h^R(av3IW6yN-z z(Lrb91;s}5bqoxQK$&!)>XSg4cPm2mA)o{+P#y%*($o&zSgha>-CuDqDZheYbI)-O z_RTr#6eJT8fm%TTWCSt|as)DegIw#rLth&lwwla!Ov_0uN@dUm>X;AJ1#&J3z-XB6 oCFdr8I47=hb}a)#Hc*LUQEq&4eolUoUP?+an3rFYkqY4f0J26y%m4rY delta 293 zcmX>xm$`i&^8^*X00sy!0a8v3lUJRSt8W1^8G*PPBE!%JrC}60A0(b$lwX>c!q5+7 z9tL72AU*-aoGc6s7l1Sj2yinnd}xI67#bKD6dXakq{QM>27`4B4Cl@*SV^cF*6XK0AdLs;|h?5fiE0Delm>5(2$lk%>l$qN-R!gSklhGQ2B^~g<)Md<7OKb z#^jB;7nGH507XHrxeug4Mm+}7FpvS1NM1BKzFm@udBtY2-X^KZ7nZ9`&VMAac}sf= ztCjf*h+btIP@ zW)6dxCgbK;9}b#>T)sK~Q4OEDmnKB1FOW6?GX0=@kmesi{yBe$ypj^zo+G;$?DJTq w52PjLZ9ind*r>Msu?FJhe(>;P@BqLGDB9e2uojVW}36itqEJ+X%Ne4($GKvI6L<9+n1PKT1>;WPO zDk4!tM8E(df=U$p-kYu3>*-tmAHUzDs^(2q_w@91n%TaVLx%Pn)ThYsLH%Bg3IF>w zJ|^Y_z<+UZ{J$#y!@ob5ri!@-^o5=Z_#Ha`4fg(ziAgO|ZI}siD5lTQ!NUjjjCmh6 zPdg9S%@4%HR4k__#KaWK924_lvY7yHhi3O~!+Lq?(V#O^O#`F_(gBDQlV0=;VrPQP z2q0z*^(bg22iKW4&(%K0J%iZEp}eWJitRD^NC&nGCxpIWFgTXhAa#`0#Gjk z&@KiP1&WJaLhMqIC4ol)>ZQdl1Nj*6xX7}imxpATRS;QG^vaNxfGPlW-ZR?Ofoebv z(QArb8?qKq2cTY8>;Pmez>=p<83)t@;(_|2KOy#$kPU#R0P0VR{S0J7pb^6|Cfwm&siQWOSJRM200CQUF3ApXF|>ZW{I3F`dr94 zz&wEZ8)DCgd=q#}Y$S`f{;XKz;zM6#1d( zt07kbYXItN#r_!bBVZjso$?c41F#<0DEcO`H$#33Yyqfm6+01f8?YUqzC-LFiJO)rNBX(KH$ANMp z%ZpwSvI0;Epk7(*s*qKHY9gzPUK6qgPz#`5TkN`!b%0or0ny_i9UvZ{UQg^NAnOAS zL_R6{(~wUA4FT%Uh}{^n5zs_rQ_-72J_|GlsJ9Ti6=X}Gwa7N2w}Wg8veFiGTO(WgRA0j2@e zUlV&eZejV~3;D*SXhJFh= zZG!r3;9uYla98wuV)OWa0BwRgCkd&6R6rWhDbtGmfatWTrvowo>4A(QGZ}hj=(Gvy zS%3$DtUxx=vy08+IRM%O^_)O%AQzBFWL`sm2s&+odOn~4kRK>0dLglSyf8qUp#CsW z1b74}DzccN7l%%ppk4wf1(XCH6}`0BJpLF!o1k6>C<{CeloMIr&?`WvO;E20R0b*m zRYb2UHjh^WXcN?{12usfKrPX0i_PP80NMogxb-%!Kp&u==>5g! z@#g{B1oZ*HAYdRcSo9%c^Y{w@ZG!qx;6-2Yk;*PX@3MzehjP=`3dBD zv8itaHUOJMr~Fjx&7#w$z6IC@Yy}cU-!3+fQQskQr|3bEv|WHUb;=OH^LGJBz;4kg z_lW(O=(MTt1@-}-1N%jOVdw{-(hIpXVGa>|5fB~ zhJFz`ZQ>H}yXcgc#s0(4uRy0wQ2$eO%B#R%z%@hvTWlVq{*Ty{*MS>iQ@;r?2G6}E z`fbrE?*RXbt@>TD??F;0Po45VfQyr~si%gXO6)YEr-h_W`2dg}NC#v9GK#G_WhOaJ znOW>CqCW_k703oq&n`BPQO_YZWlkVBkPFBodS0=4jQT@jQ|1E-0QrG}A`2OMVd%8U zKMc?=0z3i~6}_0)B_N9fB?0P`rGV1FqrhXLQ?UJsy6y}sBDAfEu91gKL! zCGu%QZwQ@sBj6dJvFMad#BOTn&qAl&9B2l#5WS_?JVw2h*p#h-wm=)8oyhj0)27}* zY|4(nb3iAcGtfnB>Rm1Aym&fdJ1L z1Plg-h|Xg#h^;!$Cr?lxDsq_U!y#V;UIM6(5S#kTVpAU}_9)0#fYAVT$}u9x8u~cs zw8sMpzy#4LCyM>5p-+NNdkQcam@4`-v3dM8fHw8l#hxzu3`pvfGlAK_EMSi4bH#oG zavty|K%H_vumE@qSSWIl=x;+V2HpXvFA;kwitN=a$R*L-4 z&{sjHO@1{%do8dA_(=4R#pdyK0B!1@h`j-FJ+Kj=PPs{R%1=e7+zf05wgB6JMA3PS zI^}keJ46pc?gU&Q1kk3QBsz~#r`#oSx9GH~?-85wGvISzFR)Ma{bGM1lJ)`P7iB9>w*ryHs2k5ka z1kM0wMgK``9;1FvY|8V%&%g!X7twzeo5z0xXj8u^_V19FfXe`N%0GZBVyphA*w-Mh z0)GM2DgPGvkD*_OPWvWs1GptRBLTN=oz5XZUEnmkeNh(N^BmZ{9^lW1D81?L8Q|1720Xc!( zBJ&t}Ug)&RKLpUu599+1h)!8hbjm`aQx*mu0Uid5h)!8l>|%yq96IfiKnb9f=#Prc zz>8v2(&llNA9bG3bBBxMG3q0Lmw=ZA)JFn5&SS3t zqk&Pt7}3Xy&Ew+$+B}zj2>_3e2gpqTczmMhSwn zAWu-|d9MSn0n>q*zzkrP*gQU4j?Izd^C0H}ZvfOO-vr(Q<^u~vUnn+@F9K-uT>35s zn9kb(aWaUQz@Fr7aE z9_KMi+Sh=qz+V7kG3MXEb>JW1hRB$hJJ)hXrd5p2B=Lg6! ztpY$n(U~UgLUN4y!$4saW zaUOddU^-<19_KMi+U0?AKm~xY7_%Z!8K?wQ5m{Aqo>L8|4p8U0w0Uj~faftLc|Bee zI=NaRY1bCJ4kXX73oswl=|`LA!~*mqs56cO1b{fva78COsfshR&=IGyPX`P-T`PY$2viF1fCPwS#%!nBFDNy(qDb4^H_JF8_)yj1@r`Z z3#c;|kMmd`fa&xFc$~*5Y4->E0nY=B#h3$tLBK#@u*e~z^PCrep#XKBOPl8o19%=| zlGo!eLMJy|B<+{P9s$YoUj~>D>hz<{b4CL6Bd9aZDBu-fw1D~;U>qGMK>s&Hz6r@#JWib)W6TE_hk0Q7ZvhK|1;8SaJgz!<+B|15!1LY#-UgNc zjQK9GRBTGxJWieIEd$;I-WO0`4)8dSeE_TkRsbK0zDjH!Uk%V^dQ5kX=#)%@F&J+x z!1F%>=(7&^82Cg$o##>VT|t*WDZvA=fIo-(wYd)#g9p6i^;V_sPon%r@b#}D28bMW6_V|RSBWd8UM>q2z` zg}n3^7y2~#@DCl`Z`NjV&q?~DR}skSN|08;ji)kZau?Gf5pRlYa@MrN*PI? z@kd>o?xpYJC4I)HKhyW|lD_&geIGCBJ30HseKz9Z_>*rfiTkq0Ag9N&jNbL$I2hKX@>mlP|-yfb!cr<&HD?T;RLiPUoEaYhhgD$EL*Fe5tP2 z0w!l#<}hgtF4ANn%X=lX=e@|NSB27RUkkKK93$^PQO2tRhmG-uZB z34xN$$2*;;O$mGler(GVfgWS~gq{w~iYK2p{iNVm6~;SNr-08~&&M4T|U|X$J4tYMGtNJB{nyeV_)c9g6Kl6>* zGxmC5Uh|9*p8n*k3x5Q>`ZGTL&GoBt*RD~?a)ytuHsGo#MLxaS(ph)Z=m(dVDKu;f z+*I*DJRRfiKUp=tC;UfG&FGX&H8FVV)fnf-&ov^~w{Z1)N&D_haGtL+HrVA(=iq#l zpR+1;gpZd0SN4X>=YHj9@{B(>aiaHZzclUL;E?iny!g8xY!^5C&VRvr%iN@#PaF(h z-c!xVnpnkYxcc9~qq(a){Wi{y8`5+}+^EVw`S@Mi?*?AaTh%L{o+zJ-!`?|6`b00c z&FdMRFH%nov_<*cnN!`n{$@|2e2-2}s?wmB+XvK6rApQ?0@Gf!U$1HS1=)7T9~Urc-x+iKJPbrhDaoykIZq&=(n})KIjetPyh8x;*#b+Gu`ulA#tLcdqM2>Q7Hf3h)@5T zLmvqZdLxzFWx$g7GF{3#75*yXe03A`uilNoYcExEK54ZhaX#AjBOjiM&p4uh6FaP= zb9hA|xB45m0%JN=akl;NYN*-o)8qdBDlz^V{J*+X#HkVUpqpv?KY?^dsyNMGF0|vn zGXDj4WZw{9V|W2)`HLl;qALrz7pC0`TxnI+>2vP0z|@0p#aGK;AcV&{0f^yqczWTm zK#pORJibVtSt?2)5NIC&v`tHA$ zzs;wf7fzr4jBoQtQitPf{%k(WqVV-qI=5-Zqeu3|5BRu&uYHNdDAc z(vR?FeB=5e`~u0}*<0O`p8F$9TL|^E?HerwTb9zpeebIFsKp z@NVqf-|{)?Z}Wj6cYXeL{K`$wd;W|+f8Fa|`Wu^#bw+=D*y~?X*FPWIVnHtF&F$He z?hUyZ$M|=b*K=+xujl2jO!vF7^EYPm@<)I2rvF#n?)vgiSwTSgcsGqZDGq1nKyoPQK@V_Dbo|3+f-x$ATOfNTx^cx}lxsrapHp4<3 zzuNo&Nx#?eG9J(CtB3e=5Pu8eH<$GD{P#&{?V6;xLLaS-)4I?5zw>ZH;8=|x1IlOL z{12c1$n$d${M23tJpR~!HR5gFePEW4x8v^xukq=hf2& zlH-H7^EU)M{eSv!P290$-mCk({=O!ke0>pqi=?mqlK%*=>3e+g^+ou-a((2D@{jO) zr2N%i@*m;1NcpP2%^#8bqyBdOwESD0bmF!BGw<)v_;C9~UfUOw@7yEYz9`T3!{iU4 zePR2h@%j9l{PnKk_H)V0+2h&1(f=>BKdC+lw?AcCoR6Jcq@Z*Ak;mfMKGEOgR}2le zAIjVQb6bVmFO6^eFCTo@i+^czcklWof06PnjrJ?e=4=jmZT~i)eIE7k;Q;H$Q_}t^ zPk$dT?VrY%@=1;lf5zwY{rne47Jtp9kjFEA|9NNQH2s0g zGP<85{Z7Azc{{%HAxYoPpYqI~rXMZ-D#YjYF+TYPi*LKUK7B@;SiI&h!W-$E@s$rq z`g(nK{D5(NEFXjSo{>?%Czp>|eu(e!X;UYce>8qn+VJ%={b=#iUi9DJcbeA@8TZ#M zCD(8JOZ{+N++Qs}Grsa0(yI7(U(_%2{^<3~{d1QYH2#EF)dq^L(I@`?ghHF+Tg9<>H3<vs}A!uOZ_DR29Cm;7mb+h5by_UFOX>Eb)0{aJ_hXX@WMot4u5X#2tS zwKiy9j-mZHh4ndC+7E4?Z2xms`=slCyWyW5>wlS~ebVu%;U8f7Q)GN*rf;r4j+60U zl>B@CeP#S;t`C~)k0-40Dbq*6Cv3y`_;I9v#TtLw>xjlF3n<4pAf3Clp z{%0Q#$5(%@fBO6-fA?E|DJbhN_gjBzDCr3}rpShG6UZ1(&`rtWPALROD z))q6o^{tj&M!TtwoC^G$w|mWd(_yA*Wc-g8{uku>+Qm+z-G|Pc3iP>> zqt-IS=lYtiZ*l$h_3`7~Z+a$r^KV_h)%7c`zc#@9CtbcLxdnu`KFsx7<>_zo2W9)=!nE zznMPQe@*{r`Q!TW|4N_h)5=FHANv2V^yzP|?_Jzg&`q7bq;ufwf^KwjE7WBU!n zFh++c>whM1udk)>m-RJsea`1^tsipz&*0tumcPww`no=uf|vNZerWUk<@(I^JuN%r zBSz<^%G>j|mNGxq^*`agxt{$m!apVRN9FDKI{(!5HS(!3 zcg7sqyT3aBHP;VKev-_8mACzM{;lzuf74&*-`f8_eedUx@BOLu{?lF`3rPQ~vwTfHPS#g6zRm0UudXkUXa2MfJtFJRy8goanS66ue^!5+*Y$7p zx8v*jx2}KC-(3ID^?O@GGc`gEln`{FqNO4p%_ zcl|>#f8T}q^G(dJIX@%M`O)v?XZrZVn4ghPGwOq=yw0D=M~koXFUIHmO4A=C^LMTv zaDHaTS6GQb^^K&i#XuOs`(~lOP>jUQfZCIzMcm2HopY<5zUY7M6+h6%N zjQelKS6$A&$0Pg=@q;Hll>!127A2P}>8n5@yE`Rl3B=^UhKRt>0(_5Io zevJ9ka#`Qg^+V3DO#Ym#zv=p&&aaMOewqREt8_BIHRn&AF@M?z{u|7n_8Rk7uJ7sm zZYS0Uiy-~3QR1_H9>MxzZ}^Xp^+7X#H3@-;%`BQ$2wSK4ZmA`7O-`VkZ$^Ey>U)R?(KFg2KxB4re)mZPiL&3M~i<4LQ|pJ#+w0eMd|kiR{$1M-)_;!wW?17tZC{l?E%jgfcbnJt zmpt#E9bfaW{j>6{zkGkQNa}|jUwQ3+=+E-i^p#&P^-sqac6`0R%4_?e_1osvKf=rX zvGcFI)_>*g_}cz!`53%cKh5$n%TMe70BihbL1~)`fu|bA2I)WeRli?#`Up$3_fc8H{yHzFsuICyq3S-UpxK)tN!czMXlfV{73zj zx92}Luj#XVS%2*KdjIY6*ZOJSU-ehsp8wdq-aoti)t~Q2d4Kr(2!8*|-&eeyv6ol2 znT_vP&EH=PYS+ejG}W%)!VAgYr|S3JTtDCXTR*4L+Ao83_auMcs^5o`H@_e5EZ?u{ z`$xWC#IPd)@YYXfM|nSL^7{T!-@n@a3yk-h{C$Sa>-$ml=lf41zB|o&|7r7@zUJTN z>96m9`TGx>*YwTzU+-2-zrEst1ZQ!PU4cPS-k){MdouCnp{CAjA69cFmi51%;`=k7 zzrLT6-zV_>)-SjBCN96y)OmMOHRo_<|NAk%-3}j@Spdrv#-JBfd0OL{@c#(O&or-sWbHb zYVM3F&767*{tB4u_u9ANKEzy(^8K*M>-V|p&-Vi+e_6i&HNWpQdGq^Yeg6R7W!n6w z-xurmzY;&f>-WFr`w5@Fd|#~oe1Bl_Su%ycZ`SpFU0>I8a=p>RSvoDod%vLH4-z;WzWVF;y%OJR1D5|cGH|9@`1@u3e%R(`{IM^f?+1+d zVSi^-z~qhmMR>+H-+w(+U~ghqS%1z`?dL%L&+>Y|Uts&h_k$*1^7M&7ca%N6+bA{O9w9_E(r+gdeM`1*K%9%~=|eGH$kKFD9+tygQE zMtt61y??xZlkY3nulL{P=cfy&Z(e`dHt*Ns^VPKJj@re+GrsxzmD*VwY{xrtr!3N+ zDe=wpO}?+hH}h}ur=@-ti=P{EFHHA-|I_VuyY1BwzrmY{wR1`NoAtj?woKcbgFkWY zy~H6_{#d_F{<4(6`F(`RH?qo)^}qgw;@h7^{A&-UOS~lcH-G<=OX}z1?dcNr`PcS| z?Tg8mwC;Zj-l+fj{lzW$edwvJ=@PR^{nq%bKTDdV+K%53dhKH=sXu1>Ve)6CeNulu ze?w$@8!2 z^Z79OrE>jt`mBHFYi8eCQl5Xa{?#aQBC!Mb3VDXqo+X-TZu^e^l*GTh0`W?@`hi5>3KW5esliwo0599N#_t)f4$@ewp z_cMpn7OF8QAsm0cd_PmAOvljA*HXFs{oIUk2Le4VR&&lCsN&S_e%<^1oO%5_3iWc* ze3sFvTWVrp3BDiV@8ittEBf+*z`ftAIql%TrsF@}@9X$|QRaWrdcU8Gg@4BV8J&aq zCI-I3_3`&}%wKTzf5Gf$ZiMFEs#l}ki1a%;zcI&^>FXa&{t&M38+<=x)=!gP zit-`P@-6f#zS%?kH%k<%@!MkW`dyYU=84`URk$&cj%ug$CA@%(*nG`>>C zDvtU7o9$z=f2F{4O)Evd4^Qb|(u=R}r=#(VukUYC@iw)JYLsleLVbY7poHCxqj#4KPegEnSM0hOrPt6KL2J#z4Uc{ zEcy4^9_IhA{^bLQ3smvm4;%T5@SS^<4>&C=cs%E~a(xj#+t$i~jJQ6HFZqk`sn?YB z#kcu_%S!semM@>He zTjc{=>Q`{=_iGw|O0kljzxn;7&;QYqp1=8i(d4%bFXH8o>$kjrT)#8#Pmaam`lIW+ zT;DYL;_1TmN7wId|9|I%>yPqW|1E1tyKw!{^>Il* za(|k14c8y?tUu9s)*pR;A=j7e|4F$1Xne_EGQTuje>8qH-i$B#Pxg-s*B`xp`}wuY z-+q1r8T{pM`*)t_FMs>_%(B5>{x+Y(Du4U=t=z_6{`T{0mwzaWi}>5+FZqk`e_7>k^OxWAm%rpc z;;;SJi}|aD>Q^fq|M=pKL0n&iUsPm8?8na>4v(ltmzt3Ot zujPL<*GT{MS>>OCx61$c*d~5|tNbrK{Gp$>%0C5fm4CP2cKZFT@@M{h*JqV~3f?Mz z=HKUUl|S?6f!CU3e{QLZ^@_(RQ<2YaavdTXNZHFKYf15v;9cHOa95T{gL{g>@WG(_)@=$A!~1#gwV^uNjeR{2Z+n#^0}pMtl_U;5ua3II z^}AO#)vjq?|Nr8dzRiF1M^(>Xum6AXyndUX8LZ{`>-F1wwgs^fK3e*kf4zR&f5^;$ z=g;>C+@EpdfFF~3PQ4bWRlA~lv~D?f&rkWCLK|Q8-fuU%DaD9mD(9$@|@V$zt7-INcC!@{Hh#Z8vn-Q zv4MY!zv@oNG%RrD2=?*W7mk1En<=60ulA4MmhEAut=qw^^If~Z$bZr~f9Id-^KW_i zLZHIfA@1~E(*kvmCi}De>!;lmUpP%==Xm``-4DLK8|b+xjnlN}%*g#|u<%U$+QWsM z?pcewYarKu7vr315$3r+AK&j(9_lz3_B|P_1lhk!jPqIBdEWgY&-X{;inMTYudWgt zowck}wL%)FFnGSdBhUO7$~45e`26|ch#NBlPhCmpv<>+Aa`U@7g)XIY+n)O{u;-7I zywkqFllNFUH~+z=fkndW{jtk`633_?0>jzS!U-<_2l$5(hJzc+cFYr%~U%Rcn>>p{qAB)e|WP3gEJ$EnN)==J$ z>H50vf2Q|$udJ`@`n}EPDDGdsxB1etey{HjY(59pcg^<)HeXuaAL#oDo7eXfy8djh zpV{lr_WGN>{%`x+>;Lxp+UfQF^=F$eYOO!p>u>h@v%S7%uRllQ&Glh>{mou~w%6C} z_2+238Q)%i)Ai>!8ov=tq8h^f@?RPg? z`a1q3|G)CzA!eKVzw)Q~zu)*wuixg^y;s*8ziIi|ypI3$`fXmvr+WQ1uj5a>ew)|$ zdi^%9@%8#`Uj5DS=bqtz24iMbbX&fgJpLrl@d5jnCvvq5b{Lq-UHpCW`0{@Hhd*MB zPos@L?-fcp{w(rEi=gvGbGNpWJpK&USr^K*yq!1xOg}AyyZ_neuy7IZgHD(+TqU)cF5%J_5nsDN90&Qrme9pWP6 zPu<^_%k-9ul0j}A3*p2Pr&~F4P|_3`j6h(*gbpf5qCj@&B5E^ulJYj!v|>!x_{;@>MmW9 zJpMGlFM2`7NAnMCuEp^e_s=oE4>I``7(bCW_Xjfhb@1o@)AZNeuKQP}@dHefv|6cVcZ~7nX9Nu3+ z{Tbi%FOB&0SDyLv@v=Xr#wTya*ZqZg{oG%a@y-1&@{GS8**}y#{Z0NM*;-)GS8yZHNh zbN{&U^80$_Ie+r`8~c}Ve@^;y|2Ew}?wtI7UehO!WWC?l^Y`&(EMDhlTE8`aI=?gh z`TP7b^80$_Q}|2%%=zO1?0aDU{S4(9-`u}#g|&Y%jLT=rkl{AqmM zzd*}J{iS@}-ghF)nPJ1^n0{$%zgyZY_&-HOXN{?gu+Y&F^zpK0Vq=UHALI;VrLiEt})dz{zyAJzl>LHoreTDBqu&>jUQZrN?A_fcq!6 z=`u3DSibST`&ajJ$w07oNypn?Im-UghekgZXx+SQgtzx!z5@QA@g+RIQLzc}PcLrc zi{HO+iNND0!|^Y^F(tlPy2pL|wC9Qi7B(v7`IEQze;x_`{E{+}{p;C&nf32_oPYm$ z^3s0uJxt6xw13>cS@*wU`)T^Kedhl6x_`aVKY0FGCWPB><&FNqf179jX71l5`HT45@oir7r~7L$zPW$a zb&M~#zqRhKMSqjG_wTa#J+eQx`rGlx%nSGb%CmgT_zmID{gX6*HedSL@c!G}|J|tn zk?U_H^`AWVPq+7P*ZQrzz5n_dc|OP+^*<7Sq||@%M*WZQ3#9%lZ^tLk`fsieR3G}H z`+L#5Uj6IYDSKr8uj>=#Hdc0zcWv&aq3a*!`hm&cYkac?-*1`o{{v%AR>ALIJpVzb zHv4$KzcYD_uj>QkAKQrc2UhyZbN+AgAN{e(i*K$ER2=%Eb62hp>nk3w*U$Lo^=tad zGrq}d`9$FZeEwDx%Nr>_UBAhP^82}KbBDYg-$>u{SN{LYzw-1quTTAT{e=8OD8FB= z^wpo&C;ndgLuLkj0m|9|CUt{-*XdAEwTaTP~}BK1Sp*G%5N zKIY%NzEx8{@a6x0*Qfoz{=SO$26=G5sBkB6>Qt&o|4x4M$Q`v?-TE-N^X>%q3-s^r zG)@~CAEfXHum0@+Q}BpSfAjY-NIJnz-<*H?c!_V%uf*S(axECUIBn+0-xpx}W%xTY z%O}Pb#5*dTpV)lomRn;Bme1rH-<$r|hkP2l^?}TeIX^J@kuyH@c%9$a@z>4y(2K7; z+i%0)t@&1%*Z4NSeO@@e=HKS`we#oS=HrHi^KZ{Dkq7Vo2P!6)5C8sy?SK1vxO~m= zpSeENS;l{Qe>r|E-?x>!f9(f}JM-dq2Qt2-zm5;bEQt5o#`K@mkBkrX{_FbEc3EG_ zg!mkP>iPx8zYB}M^_Uuqo2$KzytZ2A{^afEyC z%iY1RKA(>FZsGB{`g8nk?yt-JdpZ7Ae|vpN$LBi#;{K54-yb+3^Dmv>@%J~;=6A~L z{+9ap2}a8NL*u9Lm-&auvwrc}<~`Q=o$|VWrT%?~;*vj|-{|jyBL2qwF52IRC=Q-~ z-$CbBjBoyZn##ufjK6=f`36z;@AS?8dzjN#V)b}9U= z__qHMDZh6Wj)$5&?jO%mV!`#SUoBJs)JH~%rS0*4MA59dEx z{?dm3zK{O>8BJf~kCVSY!}$95ZNMcc{|m~8@tOZ<{1EH!3)%5|O8Po}x7%OsA9Vg< z^AiVz+ee*$*nFsLxP3I|A7=iw|1ihbCf`!pe{+0o@^z*E(Dd#0H<$EZntz*rYH&FJ zdi^$kO4@JDzs;|b{zLO`^V&aY{%!tk>7UH;H?NO%A2MdkJBMN$t*Pbk{_FVN>B=lILyb^Nd2=aFy!aPdv{{6Kk*KTTf8fBO9z`SKXw z9<$O{p7Bjy=O^a(Yc()GI4{?iws$sf{Hi?To4lF6j_>m${R`IkTK$>6_|KTgW z`yZu#_~sAFGkvrEX!^=CzR7F-io*YY@qOi|>(lo7#ZYVgob8+T?RZXNbp1ughc>V4 zL(1FntIGP1@@yZ>_*_5Y`jF<&=Cd{kuP>S7d%d^JpRTXy_?P)J-!JI;iuz0bytc>l zm-QRO`Z1g{gnBARJ8pA?zca{P1zs7{QZC0=SI5=e>fG$ zSfT5-CH#I1-;bH!hnf6A@LWIU{s+2$j>+Ga{Q=DVPk!z^+P!)7R3PWQ*S9W8Nab*S znY`}*V*dT#{{PS4|GmQe;rlY}zjc3g)?GeFQ*yeopQX+mS%0=4 zO;GW)bJpWoem2kfM+1pZ-j1Kn$e-39 zwr}!&*el=E@_tr%wqGW%?`M@~`)Ts}{#Wlm<1_zSzJJdMzrWD>!}um2u>St9&FlMr z^|#~e_XEl^e`fsI^8Q})XY)hk{XhNn{l#_sZ3+GRy!!rKdHVZ!dH=4@m(A<@cjcLX z)BnTmPADkQJ3>E93K{Rh1HcQ$MN&h}3&>vvjyHm~z9 zEgzfL`5T`+mC4R zSHhq1**@8P1|xmD{bKs$H9qri&L2_79Q=(HXTftnMcS`u{7CR@zwGN*|B-i3M*PkE zDPI>n{q6iKum0qtrLXxj_g8x9q3+)Pb+=|@t(DE%pN;E_Ca?Q*(Z5{78FByQ?H+IP z17v?I-M@|Np9dy<7uo-;GI|J^A&g9zUZ0(8LR}zm&N@U+Bup-hMHW`+M~s)g`f!?2l%y|C;<|WB;sK*q@8}H~F4&{ks0j{GS_kEU_cv zcWgE^(cYhs<@5WV^@-hNeL=6!+}|qIysX~-Sg#DpT1)r;)BaccPkH{_ea8Be{(Wga zAIi6u^(EFHvwv56nDLoE9Y00O->|CRN7iqm@%^iP?_0mI%jfD_ z;q@I}zq$US_opU!bA8G7KMbDhQ{MGO$v@L4ufN~c-&gbdCagm{i;UmL>hH^W{SjV% zzxwO`uOq)d-<7*q;9S@APS@H4oJ&nt#`YX`I$-iKLwf}-y*=5RV?NX>%LGoE-6wEzT5A|EbUH3A_qy-aOFl-+FEAlW+NXj!$m_tfQe$VLo-OwDGwo-;QJc zPc6r{W57{d-|MB<$G-OBnSjZEw|rONH1I9>)K$Vff1iKrbdu-)Ij;SAltC$6|L{KH z>*w#A$uoaTac#fi8gt_Mn15cM=^u-G(*^fvKJL$1xj*{*X!<`V-_Ct)l)t$@fS(VS zuf==U9`+CO`ul8&pUg}BC9nCfg1Xlpb+9GsU*8tt`lsd3=ff=DGdots&Uxod!1U*{ zb@hc_-ul_?Her9|>2LCf+lHS%Gk=&nc=_Y~)B3GE{e8SV|9(EB=f98bhwxfH;r%BJ zUfLHkf4`vZ2%-(?jP|2%i*Ww5e$fBNY@Y>A1L=AVbV{#V7JGbBa{Xie{zTom1n}?l zwcZpiAHDzdFMzh;fr__c521ayS2o-}SiB2x?)Z7r|3pHV*Y=72zc+s@xE*Df(I`J{Us-;C zRk*b?dnki@4EJZ4+#l1wJg)s0lmV|Vk6gdDzx2o9gwA-zzcTta_2>2b{FB1hPk-Hi z#piGAKcVd_dA&!AjQt}_|71Q~{+d7CUnA1LTK%u?&k^CR{+GPj|Bh-Fetvj;?7uyK z^nVwn|6OnOzZzekaeaQ7Kl&T{cR0AtNc*7ohxs@A-$@nx{jcY5r2mlB|B^TR-_pb-E_rLTv`BQED{V)CX*)yLn?O*BdhFK)Z}z{tqG#0>3>=NxbFM*zq~%5zt#UTzR%z4f9X#? zxql7skEs2(`X}?@@^6*d*W~co|=iXaBDL z>>n}zij3cF{|GPsX8w8)C>oUcZ)E;mG0U|O=a-DncQ@ch#o zKeK)+&+_&8%lMP~Pjdc59^+T1zdV0K<^C~$dVPJGT-{kNJim7`JsWO+YjjSR#Q7=r z*TUSC2=e-~eh_XSG(Pih#&0S2&)omg*FH=8pgjHke7OFY@zH-eXT$SXr|86R`@#J& zd40^^zVFgGeZuqK$o)6tqkrTx5X14e-hbU+lm0$l?qA!@xso2k{GRz6^UR*$WX$ik zZ64?hllhZXKAgXEe(pRa^Di@h6*8xHyJLR+?$7~FhjQWe!A!rQ%&)&^{v>_fAC&3) zc<1_L;f61Sg zA9-K-$@o+6Kd--q-2d?UR`~kO^pAE;@9x0-zb~$@p^U#Y|BUbRH_C_Y8{^-_{4h7> z_(x6+aOcbTpXJB?iT>!{0^2aZ%)E7gtK(Cazw#)S1dcJo10&ZF)51J4)cr>>6gO@EAE0>iO> z@HYIf$oSoCANg!v56{27>*M@E+ZSFx=GIP3czwbxIx#%|Fz-(vX+QWK@*skRQ3j`R{dHx0Z}RzYZ&G7@ynSYn*e?{(dU!-&#Ky z-|Rni{l(<(qW?`>?(^V*3E}HE`(Ku?&)@2Q$(#M-6j?uF`LX|H`mdn>t&RS-8QMpE zKcMxS`M-?%3k117b4Aw2wEoiHj6c-sf0@3v{ip}n-#UE%wf@rI&-?pd@@vum{*L}P zt1CZ&}J0Jb;hA927luwXl z#PZSgPcwhD(EkoX|BLqzPF<`2r9amuST^4H(CUAgzK^&1UzV@ge{Q$>U-~07pU-gr zX!(;j{l{4SFL|^7xF_>#K0mBKOy3t@+JEgo=>Hh{-;wBl+o67~u=-!~{R`hOX!~Zz zm+@`n{f^dOroR>a?@9E(z0p5CCF@gW`ey%G-s*puKW)2k9Vz->#y94s zR{u-hEI)n!qV>(T!Xj?({<_xW4>FXLZE|C zEo~pjV{GDF!#%?Kxm#1pNAHi!zXOr^yEXs4-~3tc-~Hy_8ei52lH*(RU-D-EyK+); z|IG0f*ALA8_o}Q9Y5JPKNdGGBFM0K6{fh8b|EvCy{#Dv9+dslv{V(%p_P@Exhvz?9 zKN$atG5_WG!|Y$loBgk@->5&!*Yw|J^}poJ{!!PDwEbdyv;UoB&3~DHv;R%E%0K_5 zzZw6WtZ!-kWcu3nqnuOpzx4O>{{EM|+5htTIX=_+%lw)B?{K;QntnL`{rg|~|F8a+ z{$~HXQr0i^`IqvE^uN0PY39%Df6vPLras^F_w}z<|I74!yw!iQd{h08`7ixhzqO2Y zerMi)(|^0w|I**=KkWXO>HFea{V)B^{#W1M>hr_(dHP5CSD9asXaBD8BfQbSC~x+^ z_WYOWv;Qn0^WV1eep~xb^1l94%2)e8rf>R}Z|9%?lK1&r{V#c6`C0Q{UcayZlr|HJa<{FglMPjdh2?|=3FCG-CNm%Q2k z+VfxXX8-$?HUDM$X8&7V-f!viM}M>b)%RCs`)KyR`uH7uxpTXEf z#&41NmHIP(K7Z*y?ey7x;QK5`*B2R|?FaogV{FUudmnsXqU*nA`oCf9#PRD%q7yKPc!5D5M5u@ z_gl5u0#nV0dOzF(w2*XCsW8~MIR z>xY+raUr9-h2IitclED&FeScf9v=_ zd8TjjXQcl#%Xb*&<~76XKd$|Khgbf1zU=jHeLlIq$hD37Sl^n9@Avfk4l{kOoy-N+ z9@w(&jGCemBjal_V*teKiNOrf6!mo zmv>-oiQhSX|Vow5Z_<2f8zSB-XHSj{n7D>wjWIYSJX|kF9EJ! zYyWEUKcnrzIl)8Vb^TcDAN{#@*bikq8|ACtXK4Ll`o8sF8Go4htBZTv7x%a+zF)lD zJUo6f<9~y)dl_X|4CSZe1ARW2zAwJqAG7^hjk3FjGJFu_ms-}ZEq|AF-(0`e_CfM* z@ZtWu#Cdwe#PqM1D(1!1F)RB|Gm zJRK){{~o~qX@PVAb;|TWMj!)_Nn~cxvqEM89u%2P^c;}cft(_9iJk{CH;`B4L!#%0 z%m)+zs23EwFk~U%VUdrBUKFwjPz<1694G>m1WEv9?6{s!}KSTHQT9Eijd`xYCdL6N2A?pHstwo*E0pfu;pq}XU z#clxk1n?w4{VA~0QF&F4~KjacnP3BLhO-{F9WZL93}b~$kD)9fciMG$3rFn69DQHfdpU@@G3A_ zbjm5fG+-+5n&_{KJp*z&FcY9YOYAw2vw^t)^?72y3Hb&vAE5r0*b5;S0E+z8>-uU;{v% zawG65unE{KI^`B%8?Y5f6n(qcJ0W)fL4dj|b`oR=*acAE4TONtfIYxo(J4O%_5nqK zVxsRC`vBw@z(Iiemtubn`4v!EWF^rnKpq0hiu^|OZy^r@M*!-SM}gzOG2n#gC&fMm z`5o}R$kU>qf&2mZ5ukn+pnVSb2{C$UdU?gX|0R2dF<5_=BhY+x=xeV*8FLcRga2dKX#_Cm-7z#@S9VzJ+W zd>dE-P=8nK_aK)7%K++>?*ktI%YhZ5uM~R~CPk;>o z^^IbG3b_f`3{c-9_BP0^K%&U)qVI&<0R#c+lrE42gn(V5?-u(r$UVSbfcocR?}yw6 zd;w5DAoiD#2Z65u>R*ff4dfxd{1ry;)wegLRb zo&nARKLS6AeopKQkmrG)0qVbq{Tt-3z(s)iC9y9<{to;BP`@JfRmeYqYXJ4X#HRkY z*gQu4AK(UX9k?m_EwOow`fZVSM86C9FK`c_{-4;XQlkL|QUhrK+SDHa(gNv#3_yAy zqv)B$<~igu16ct2)0cWyv9m!w2xJGSQ|1720Xc!(qURC&A;`QyK7e|Du?s>L01AmL zEczpm4+BL2>Xb!Arz|FRanVacmHxO)ZR+)b2EY@* zlcGN*Hjhz%T0p%a& zHuVl-Q+5>nImk{xXMj3o7m-~>r%k;Z&;#fW^c0=4m*|we#qJ||Kghm7f054{`T*#( z$qxi*4+aJSLqxt{=tH5?CO-_Iz5Dmr(1J&Ax%*zKoD{cvyxVK{c&G5#jJ3+Nxe-{q zuZUB2!I02@@fAY1t{1ZSTY>l-k2tSZ=otF(NdC|ZKL%3pB|8>%3cdGqsNFN^LzyNN zO=^w!%@BX>lyqMF#P=U@E*>u&dL-5O(9Ii#l3IZS@3tSDaa)--;rLsUF1hnEbqM91 zSk&Tg1nB?d;0&RHZw?3zIUBI}TLGqDp#3p7L#t;)pO2`V)D-dCBL0CAj32(f7rVai zHvO$zD0^^f(uPl7aerI;irc%zl3<=5!=16`OF64%HVf^{v)669)8e-e_4v2OTRn85Re?|+ zn}5HL$A9=yyFM*DfHveDxvA2@y-%p&d5dcDzW^e`klg&3_*57F@kMkms+yPU3s; zuUI^EbxDsXi^2W7(_zU;t0z(|YZBX&oV4ju_dVH2ikA~vA zFLR>teHPseB)p#?6d!2l#eWg;fk=Gv?@ntF>h=5&POfk3h4SIqD1>KZO{rORm_GT; z_x^KVXje6Ech~*yp|ykElWPY%^_N`?X!;vlHwaBj^MezOr~jXoV?tf0SB+!*{D@xw z@#mKg$LIC!Pg6bE<+ZJDt@)1IbHWzqy%tmJjJ&>od!8HFoin#@26pYQ6%3ph=k)%* zZ0!CatDH{PvN#*Zb=aQg`7BPRW!D2Oo{9~A)-l1MKlwJ`|F5<$kJqXC;#Nc`6j#wC z^E`72cb}U~nKIAwoD7+1GIf!Xn+6&TMZXkEuJLluQ)p5l5uy@>j3El?{eI6`=XusX zp8LLky*{7y+57n3z4m$b*=O&yzkBU<2F&nrmammkHRI#L>s*%a4gE=J)9d_JY@4T_ z<%?Zg=%%b*ok2Wh#9Ft@hC-W8RoGf5(BG*2+wL8OmTaQ_gKxa&EDIsP=Pr7DfBz_xlH*-+#?=$Hjx^7a8`5r@t_C z-w#O>{cQh6m2QqizIoGS|2wm(mbm~avIG4O{fp(S8(btyz*Ih=BE4+>i-tH&qHd6e&VOD9&q>EQpIsFKA)MKXnvcV z=pJs+(GAAu-jUpqj211NYDB$vBC^3M7`&PdEpHtx?)-wZhCHvP1Y zGdYv;Q%;PG^!_KGSH5nCl%%8%DH&Zo{eJmh#;lCYI@rd^^GTgZ>h#o%#}BM@lhUe2 z$Nz?97Dnd&+1$A@qpFR|_@A`DO{BofGt4r~PvP<$-*cHNk%8l$FxxOcT$`4fF&6p< zQhzW%nvyB0N%ySw>u33M_sw@J-g>{o@)j=jKT)iEq(i>B-u;Df zmVfKgQg`Hg^&Q^dZ0O(eY-&<7(a-ty-mwovDo?yYftLV^ym~9>d%LF?XJg%`aPb)r^dBbHlvIB)2l>ADKTooG%)gJMMGy*5lP87B2Hs;gQGP0vB&{uES-1 zI@-NdWJ}8(hWclV{`xY%asFA{qEw{f%!iycm|uz?8SPd%GTP)&^UL^K+DFFkF6d;% z{4^MI)9_CxncZ_@^V3J)m5Mld8^pyqzdSa*U8H}jf}Z}0&|ez*vxt7qPgB46&*VDa z%Ax%P`^21seNYMZ3GFZ1Pg57Sc3$gu&CtG!hu?kcK_ZWeN+(kN$~y^D(E;bJhIQwevF5I-K&Q4_~Ffl z_G=iY{hGi2R&!=$b%*xfThMOXdha*=pXX%OD3^VBZu~@h0Fc58IfWtE-UWP z{=50$O1Hy|)TEKrFYo{2qGg>s%KvR>zs)UlG5xvmr_)=UoNE%g3^dj5Y-4IZSkS3C zc!#0=W#J13n(4dSn7#RSm_EY_I<()yc*h6YnDsj^nO!Z*I<)`(n{_e0@WM0c%|w6J zr&^n;9!w7-rW8f|9$KH4l2`-=U$;*!G7 z?yHR*+FxOu{rjeVO`H-9?s8~x1)!j9SIrQGj(_RR|De@*FU{cl{W>wNh`PS1WQiF?a~d;Gn&Z=Vs* zcI>p7ez}EbKO9{)%xr`W*jd?si@&Pt?0Y9?T%6^9Zh6Lxt=Q7jPumi|-yL4w*U$Si zPO7Q@)d!w^R1NnANyqQ^>|d6znPaeN-uQOUez0(9pC|9k;?z4l&$C~`ILr6w+PdDM z1*<*#vJmuFRQg#zpU=x_OAMb6?~TtWtwikk@cEyse5Vr+XLA~j|Jb;1zx1w=)!BV^V1)Kp80Y-)S*t^)Ti^B(+DC1mn*v5JOEA7a({r#h z{*7{;{!Zv0&|&H}TACKD|BDZ*@7%RGYlQZhjr;c5g1_21uU9VU)o=L;t3!#WY#H(#un;O<&6!F1>PSjNXKhu?5Mo-;5)`^&;* z{2n~Fozu71lIw99pR=cxb{@&H%BB9@(El0q2kU#zA6=(*ac=%_O@#K}USOZ#Z-$Z| zkoqgNZ0gk5o8i)avT&*Y)kAa5a}RfqT!%~jJ*zBt7Ctl7)4vb;UFaX8_=mOw3p?({ zt1j&q+CH>VJo_hDe^)q%hiw9JFRSr=)THLljImWBw12QRH(Z}@n;n}UmN&Z3X|=LPT%6CX=Rk3j#8%Ko{WCyVpOI445;aR_Wni2IY`FAATm;*|e2Awv6cCu~QE zn?>2DEkDlcT)gX{>v8-(@+VswS9G=|-R|ih1^s=YzZLCQu}||q`INir=SfK$`y`le z-mB;?>9xqbbpN!C3A;v^tUIfj0ROG?ez(Ay5^mj$cMRX3gqb5fyziWR8GDacG(Q*E z=XQI%iu>AQ3(YI_x^E(WHh(qqS#p7lL%-HD)PK|CiSCyN=cE7U*hKxrHb`8=XY`7Ve@S4=QJFEWItM-_;-M z#VfyIYB{g`UlU5WEMElrdGEznKtIZ#xUamKeXxT2{uRGGaBpld#8E%XKmWl%H>lsj zrGDZ+#q`I@i~bDge>(R2+;PMA)O6MF)BNE|;s5$-`&aRs@o>$LhH=`rn%^XT680zf zH_yH%uKCR`U?1;+{oPvGznVXdhim>ejMKi={3rRpAEAGOvVS$dcxFm!#!XnGjZ*fn z<~J=|>`To*TDXiqnm@f^s;_^jvVS!{dKq=kc`h~MHf{eZe$>K6zvgc(T<%ZvpV<$t zG-GC@X7p3`ujc=j*SwToa+YVGx(QtdnXbQK{iOIs3!gKRSOsUT=SzAF7~XX@V<#2I3yLANHBp zSDEskVjo{xS1NM%S8oUQor&6aC{O$7-N83U{^;J=(0-oxeWJVI`$RMRw+<%Yx6YPH zad#d#?cu;Ye3;<0|1>{X2DT-H_IuQR)%>o7%l&J9HjMNBG{1RYNI&c6@B8rY{oeXQ z+Q(!R_uGf%*?!q~RrS^{VVvckNq*K{^K5=^{m|^GM7Is(>1G{Gz%LHHlp~U-`99~sC}pTI~y1KRq=~qoc62c_h_5KJ~oGz@9^}KA8f1mv!R_*G6r-?NvaHf zFJb$5)9{Z9M)PA9{=s;2ZCwSU`8^B&e4K}Cey}d|H-P?X)c?*nPrv5>c6Cfi+TSrH zqt4nnZo&`a%|_I(`8x}D$C*`YDp>rSg}*V*E3f&(4Cvng{YlinYP?ro^KbL-I9~^1 zt?xB|7skmiXnxJYW&G3pS_<^P8t9ktP4joVyPi)!*!4WeH#b4XXU&g=agNWLU$bx- z|22R2J@g+9^aJPkohg4Q<7cM)o{XQF@{=-tX3F2m_^J7?j_8}s@qSzxm@B$}tNA$_ z_xr!*_rf^)zvkb#c4`3qH5&N)!|eZ>-)j%7CH|)M!keS}x0>IxasU0+{G*Ng<7*7g>kOWG(Wcn`VT|@K(&6-{M=&L zcNbva4dVJy)@Pbuv~a0k^M_%a^=tkP{HgmB^!F6~#5I4`z2>DluwVTCFa3Am+QLq; zO8X4=M=f0556zE-alRjQuIx4KcNTWIf7-vur8>zJ_ zvVz0?<+0C?HjPt9o7etP`^#Tfa3=Tr&&d9=xdr$&;=lrPoD+`By;+mfthrQJS*kess`?s2(ngASsV?Gj` z^JhcF@2!UI@iJ_Tfy(~S{N6I)uK^#T?2p72HR{!EIK|ul#Qv$fuJ!cv!Y5<SnX2qd=W@YEt{;B3Cv43io0e9NO_D{d@|d^( zT6g4HQ~s}ndNtMlspjwc;rS1Pc;ml3U(KIcxI912?^!s?^Z9CiEd{!t4D?I?y3&52 zY5e)0o_*N!sYKHpGDg`?yZ2r*N2;~(@Gih8!r}?ul!4G{0ehA}BbpJ>5d+~714~B8BZ#BOM{>yv~ z{ms<+SMz)8fSttO)KcqT%^$|YHGdh#x&GDsAGtOBJ~LCTe>MM>8@AQ$u(1-A{igXn z3m5xM^Me*H_M7J4nnS;Ver>;Les2eCtIe>n>MHw9^OF`X_M7JaEL`k2%|HGK{j~8s z{bIjq{_YHH8`w{@-@NrN$M;0V|5>=qADW-DaG8HJKX)4XA-;Z;=lqf>|0niQru>@N zN15_-Vt-}I|B3yi`OgnvTh4=x>8+2&{?z=Sg?I7y$27lb;bNa^{?CQ}cLMz=&;2jW z|7_};l61IXO42ybKft$-G{0oyzWt{8AshG0YyN3yzm%lBO;VD&c>4YFn*UmhvFX0) ziROssAK}|ynqRVU-+xZ~|Jk@-Uh_}iKz}jl->v*FwEx?PCMg-k`lV#>{u1Q<(fpHz z%lb<5R~9bsr{9*8V#!xIbOLh0E{L{Emf7`^3AyN)0#Q_xbIs`5CrfcgWQBIco;~UE${w#l`0nYt(o(^|O6+{q&8+8pxa(-e`5uKAHNzNqNmrh09aF=8r7@IC*}W zzq0(>T0k_}^K$ z^gqqN)xiGNzo@@b$JtT;MqR&!%k$Iv!#LYd``_jHcB0v~X0m&!^z*fX{-yat*`GDJ zi(ah8_k-=H{Sz%*#t-d(XyNkvwErM}KlwpZrCIyRY+vfv&p!kEkJYzKGM}8tT{n0> zx_%3n=dbmL@$mEC-*A%K)=W0<&B?hgc>i?!^u)c9-^jbIZ1nxt&nJwteYO9ph0FV+ z{ZE7E-{Sse-uun+nxEVQ`;_~`y_9{d`O`2?en$I8#=|v#x()haf18m?zvfRj0{aDj zLw+IH|JVF%7$^Uu`O$c|=7(W_8|<&UDN4WQC%Hbr?|1S0qx_5%lz3^~K(xnvRSGqiu6 zg^PcM=IH!J`}6Gcf}h^FCa^zr{T432PxG4=F6|TV{_>Z90rmU#ujVg< z_N!kaJ!;>@dp;g6^KZQN4{*-En!oIWx%ENFk(;Wo3Fcp2fAD;|{8DvIV4q~lUyA*! z^@q!|{WIk^<@sgGPs;qQpC4^gtdESF_eivTbpHwCtUptJQ`%4SoAUhJCmIfm_CL+9 zhH?8$SH@Qgr>L`9%wt{-^m<3zz<<{SUFe za=E^}@O{T<|I_?w8TfYH4Et|b^O*gs>$h-uep-JRXZvgZv*EWB-B;F3HgA74HEREA z{#c%$J8Jgl-uHPzFe@yEW@2m>mKmB|xT>6*Z zAFyz_Ki&SaJ~Tfyp6IQAd4HP!J=!)U03rPguD8KFvQ^ zxU`R6pJQ(N%Y@@Yvx2qmX7pax-#1A8ClZu54G?GqfL#p5|;m` zg`@mk7fM+EofeMr3*IkjSpUDd+Iaq_7GB9Oul+Z}IPXu-pB669N6-HjF8)_~{tx4P zK6-q#aM@qe<9As+-y(tkm-v_I@vl5Eisv6D_0vE1tqZTa^v})vY@&JpP7L`(DKO+u&5JeRciRZ{bRR@cS)X{Idi7@yZAK z>E9ji{)w~w0{`!D`w`dv+wpMS{`mcTM&7@m{j~lt9@HQ7FAJC7AC#B-kLj2G7vOxp z9couHMd~avkEY}Nq_n^GPfz-;ifP(rq4}qH7tcRE=$}FR?D(OiSuiT*-yZ(`6GkVR z2Y#M!URZb~>K~t}{y6^Wm4? z1-xVkkL#bW{MQ5jcB{P9ul?g6f&OyP-&6F{KVScTJot%x_!z&$HRGlXUEO-{Qu+OLH}X@B7R_T@46``F#otum{KX%|Gv_1|5`WC z@4&ZDFh@TtZ=H{@%D*_l%!7YrFunx(@i+ebW}Yz552_d)AFsoQJ!uLhR`A}xV0@+i zX!%M{ny*V&wC1nY=pSYOeaoGso{w%H3zz4w&tF)$oPW^mR}uPaK>s7uuli@uzE_6S zbRPoVErbX2tA)$?4n4ny@!is7Rm-$ccKZSA5 zznWjSaG8Jg{=q%4t#0@2t7!ZJ&F>cn)VG z_?fY0Xp7obd=LxoF~kwXFCigMnjxXtLdyvvxw4 z;ilY>+Lr(S!@#jWYRnYeAMo9#mK9$G+=?N`Qh40W>l1qTxISMH#;ITX|6BNL{{89m z3%vJQ(EonHoa+q+*>6F((-88>a3s7Py6Q*gMYcHzOetQ1bKeie>f=L zFK?L|LI2SH!Q8v%9(2pAW_8d$+P~Ps<@amv@_qj8T&!5j%`)5->`_Rw5C*$||{X_fbaPO0KbieAZ3VxsV|FLjsKkdI`;nIHE ze}}Q17z3(Qk*R6H^VR+{*gta{LiT-HsCv-9{~LPZMkCa zuR5PE{IKbMbL{=q{=)`k(f;m)Pcgp9_^J0dEL{4J-e0irVEk132lQ`X|0z}o3zz%X`{Sut z+b;3fx6%98{ul27qj>QRr2hF2BG4oL9a-o{p6}b*zvllj^88}KaXGPB;(f^z8)r*q z%-0OX}Aa_IVmHd5jeLvD7kfIRgi$RJ&Nq3$t4&*_}*O%)CNFRbUgfQPouA3lj40#yBJkzF-=8$HP7LsS$64DCt2&A>7Z6x0g zXdC^26l%aiqf`j8M(|NVy)3bQENaq+=yN9_cv91PJp_$n{f58HM_3 zNuQDYB%~7|lO>%Z`Dc+%g`_~3XF3fs12P@*oaC9#guDQG9x_YvOkaegLS{o=l04Hn zkXIltLtd5qYjQmg>0HR`5ayY_0eK7ZCS<rG2~sz|4*)$ zB7G0?K7{!Xz)$a=^+$Og%$%k?It z8zC8zx|06{X$11Aq?;wb73mhpXOey{`7e=v0r?8TJkxEEZy;YozLorTx!!@aJY*+? z`HFJ=9nvz8T@dC=%k^%g-$V95m}mL}WFKTNWWVH@{s=h;IRN=d(w`-N2qAChN!0&)s+5^`GdOwU06gq($(ll*zP{tM{^$VCYAOfNzH zf&2}*Ecq*P{V&q1kZTa;|C8$*Za@ZdBZT>^a(xrhY>?~_=5xq(PNX+Oa!Hz7^0y+r z1(HY7ypqp{bP%ez4Jq>jk>_=O zN=Pe0DnpoOS_M)KQWa8N@=R+$5+OAqwIp9#uInIu08$sid_B1~NRuEAgn6dPkopi# z@()R#X#+?jNJB_t$un&NX$pB5(oFKr<+>%(7LZ3E%(s&3Hb`kyw1qI=POdv3Z4c=P zVZM`GcR|`2(pA!KlJ9}EJESLs`Cf9}2Wf9eUkLO4n-#gD^it zu7@EV3K2r|hA9gn6cKK^8#fLl#PYkzBun^livu2=hzi`hQ5@g}f)}QptaS^nJ)O zNta9hL!>JpA3>O3Dc7rzehf*2Fuz)^*CJg5SqEW$ybfH1#Pu6H5*4)VREyCwev z(mjy9lJ1lIk4X1J4nUY^dJyt6%{suV;`5kgh(&Lgpf%Ff^ zNeJ^yPeE#7EUN=KEqSJAAbLe5G4yj(NApz?po^(CYiA%8=d|3|Kwzbx1MKjyDM z{)JqHT$A)amCtgcABmpn4U*4_^hQWF2=h0|HUE$K?2_h?ypBrGd~V3ikXs?QK=Me+ z==03q24NKX+a;f0t{H)z(dZd{p2GYckU|hfqc1FZMxy66Q%0i?^6?_lGcx`CkRlM~ zi^?_skNIMd5|HAMl9Dea*Ze=`OG{ct^5u}mi%8G^uL!9i!aSqYSAj4}eN{*`xeoHx z<(mJ`==8i!gfL2dElC-bKFBjVJ+CRuGeUh3nLbJKj7ra_^+9y{AfJr?b0GC04?-T2 zw1LVuM4s0a<{LqpKpI0Bm7e*ga?P}v$~Tv5MyGE9VN`nNnYMzofwYFSl{_QT^O}+8 zgNXEpAHi6kVK zNzQg;wCRAzVSg^&?BR@DL*}n}t)kcC;yFv^@oLE&o_<8OHH>as;4<`!XDpe;)O(J( zDRmnq|Av#15PE(f@}?hIg3MvpjYT89@3emS{G z&-|D3?l*7!@<8%=cqLuN?)aVt9lglMJUPpg1?O^ha~eO~D1`f-O*}b}{R`t{R-Pvp zK5CN7D}VQtL~{coFR%CX`{j8u;ia_uoE<$&Bp+#)lJrZvl#H?Pj1D5Z@MOWbryh2G zJy9lv`<`7qIq}1&5t)|f$%Ua4&Y06EKNDVMr{Mhs&o3{sG*2$jbLs1>^CSH$wRIR3 z`7Au2Qq!tNJ^$&s)bYiZk@n}FPquLJ{HN#C&{iKtCiL%Smlw|~dQKI%P(CtY+sx!w zpno7dpPH}s^)vD@J+}_@TI5pyE%3}j9cB#cSDsrJXT0LFyoJN_ik?;U92>KxhgZLa z%l*-FZ1Ubt-tTK6o?jj0_pyF@&Q)I8D8lyT$puCSZ0Vg0@!OZ4YdHse@ACPEarO^- z#zoH8jbw(?v+uyp<1X8OCG_KDiAh!Z={dKgM&}6o7o#rnbV_IMWQgBC=(*SAm%AhE zA7Pv)%X#vA=E7l_;`HnrFgk~)e+Tq$hkisJ#>p06KRq`q)V}CGGp?`mK2GH>3?j>j zXB0hS8;o=!@o+Mu^c+3%+6K4D525nnSw_#;MQ<045MKfPIQi?p-{P4?&&{lrH@L5+ zWp|!N6yH9-#B-3zqifPh%CYA{)j9Qja)^~ z>S8ZsjSy$lf8uKdXL)*-cHH@w`%Sy-&OtmW{B+Y03tige`Kq7@{OLMWZsv2v18M>FJ4O8x#&G}errB++tY2MktgW6 zb<5@-HnIFJ;HQCipXTE%PiBAq)$&O!KMIj4njkVo*)O(7Pu7u{Kih1fA>>qfJzffkbOa1E*IpbqQ&M5m>=Q@FBESdkK>tAzOel_s5z+W8g<1A0lv9~rZ zG%Vi-`d1<{$KE@)MZX-t_B$~BA&2c(7ExIfAn%txk-^CSY(MtTnqOZt?0-RISA01k zosqfNe(axLZhXjzhX>EMYu{^z`YS?rc0cl~r=R87|8C#>sbT+O)Y?jrM{6HX3L>A; zbM3u7IUM#Md>MdW2XKq;K>rfvpZzm&T}g-K5&56d|J@N%p7ql+?%aPQ-lGllV9zBi%owzEk|r1EKQ1XE9H1ZR>Q%l)(7C6Z#*5{!MCr=gG4Vi?wh@ zoh*}_AE%P)G)~FruI5LcEIanuMKciNcRZXY%R1dP#_7Z#~GQN zJM$+yWOr!44nS1ck%*jB{Ol{VwA;g=hVwoxS z%k#-U!S;gZyE{|aKRmfPtLhtuNK=a+SU#2ostnm>8+`H%5eyzzS%@V&tC<(=sKOwaRI%4Byq zzs|+niusk1E2Hx>J=ecqGReflIsWow`IQGtc;okI*d7yLgESTUgTId_|DQ;h?2X@J zVLL$FRm#5L$?G@vy59UT7UdysYh}MMvcY4$vU~FfzihFV={fda z{x`h&8}qOCWubw^V)HLO*B-2qHG}gr>;o6}!KT1Ip#8v|^?Qc@=h+`&obx+()_;93 z!Lu*+;mbdWT;-;1?Gd$4=-F1VWFgPKfqmlsxiz1w?GyIDCB^>n?9X@6Ki&)ML$N>E ze-7MH+_N7oT>20D=cHrFo_%WJax#GZv&-a7o_)I5@841Tlh2=?aXoIl$+HiC*;LE? z3aO^%clM7Hhl_dkXZe%EOa(}an&0{SClub~*{`r2ES&m1&%6~+d-myJ=)NJNmbq8- z6Q^gusO?XA_93H+wuL;|tfL#)H|+o0)BpDDQ+^o<(ed3CVjrz)H`PAoUQ4(h zC;!06y6bAzj1=D2)-Esn10(mIy_zF(1IG8cTmPzaZkHF?7m<~G{(+u%!*nY8 zFO(-g!7rCxSXwf&(7-uM05MOI<{%3tMD`qJsampS~%$MlTM zRlZc@zA!HQ0zCuktt%PXi}^cTo{^&%Ir-$(v+hH{vqS%Bxb(^h?N19A{ftahW<;L|?N1Ar`H7K*?yA@( zLi=+e^k0U4MBb0upNzb8dSAB)?LYAhb8o$skv0AGDI+KSFxQFDzO!-PzGGykJdH+1 zXn)zbZ+|heRNt0OBed@Vd~?}YoV8$H`*JYU9P|FdxU@&G;OUMgF{;rkuNS)M1;{~VIXk@w5w z_ajqA?JIibWzSvP;rk8y%#47Xru`(5`{`L$duJ|(@3)1EeMQf__5Z8u@cmwd$d^T+ ze~z-x=sDLuOIe5S*J#*={UJH$$LvRX=H*z|!QuOT>#w6tXMFi)i?UDYIalxLG7jJG z@9<@ualnhe@7u4mKN%VHo(DQQe81a4_cX{Pu}^7#ehbh22i>zt{d#0`g2?`-mS;-} zJiF=s=UhK%e$~QdeAWDH80Yw{`Bg@KVPqLZzKM>% zJQ*ACtKdFeL}xKwWPV`%n!mMhsbBNQVVw1A{*`qzIt{=45Ul?-KiLp{qbKCE#vKq@ z-0xqSf3x%aalG-Y!~hqNktyt>#yS-*SU5W6?g-{A?Jf{ipfYd!QR%Z!*u9iG8_B^RHo? z`ZYfnoJ=oRHE;CfyXFVOIPHJUk6E}xCZK2U_w#dj>$Biw{No)OdyykpUh|U@8P4ta z&Y9H#zo_}qFwXMy3~n}is<*zgaH(JOZ#)^nlLHT|-s7FTXL-#(%JVUuhn?{ve-YRG zqJ>N31GaC8lO?_NZ5ZeJN%Mmex!-*INs*O7WHHS@qC6vOxXZr178 z@%!iWiAC1X{N%sjM)>8yJac3FQ<{IZaN$=pKWgDJK5G8;7JPZ|GWMXBQNP&Fnt#0$ zUq;M^d+5H?ub<eu{l7-xCS&)yCFH$s0`(a-Ujk+lMT5?_uqh^%gEV}1zc zU(LUUan7Hb{|w_C-!#9=^#{KEV-Q&^y8op4Rem}A64nQ0Fh2z2v*vfhILBAb@5aM5 zzncO5+oAsrrC;-}JF)kC#Q(BEbpKiNn-(tXKh4jEajyR~|H-{=?r{hE+uXm_{AX+I z&9}rJy|@1_>u1gHTDU~k)%>P~%lcaLzdfLTSfF3l_dIzOm;aUZbEf>O_y=Ul4+H1= zJ5zoZ`WYEZ^OxLTrHvA-57~b;ziQ#~erbL-jI)1hesv4@RBmGK};7G`}wnE(S-9{Anjd@~y5~doj`R1Y zJpLdveopphG(XrK`!7#GS}OiP^Me*H{6VJtpzQBxeh%D$3l70u_+pGd$dn(H{jE&- zLEs*Lp!mT7qW?|NPyRsjYriA1_G{QftcU%*Aab|n?<`zJ<_`EZ3zx{;nqO;#$cfJ& zdSxf--|l}|N%L#-8>b{4?~{@=oRK5t%SW2uvv3ueJKzs3Tq5IZezG?rQ|3lw%5Kyz zksmcbwqERqF=~F*{9PF5{H^)3c(~^8xc|Ki_QM>dU-NhPa!s(m9JMbrKN!YopJ;wA z9kZ_~c{0Ch{w|D@KiB-4h0FY}`L$(R|4Ki)%lk5Q zlt0guUz7PYQ+`k8?@akMng288*JOUz{Mv=em+E{yJ@~So&!204&%(ui()^``i~pbI zM~_1P>^Y)e_;c+)_zKn+5K~s|pKJd~3&;4v@k{$(S~$iR;@W@E!cm_4^O^cj%J`@K zGam#=hHJ~m z;WEBz{%#HQe+2yl)cCIX!}9pDN*R1vr3U8*nLji?XW=scXnxVcWq#58U47_p>VLT< zI=^ZDjFF+T!pHR+<-eo(F&p=vpXT@C;hG=J4&Pab(f&c2|2qcX*~9Rm)&8^EzthHr zpH}{pHhw*SI2-N%7a}Ki_564I^4kAxD{Rm8zJ2Q1pS16^|Dc77{i*%?EL`m4hRT2N zQ>|a@Z$@?t{PSpgGrCJ~vYhp6|40iL{n|e=jI+GYyJdZK1o^(`=mYlzw~d-k65_$Z_V#mxV%4_A3BZ5 z+3zB9w)f>A`7(>P!}NA>ut`2h=;_Sfrs3zzoS z{K1RRKM(o`srJ|W#bAt$!!bryQsb}Y2P|Crr{*^-T>7Wx4_ZQhBj~S6{nG#R`ajs; zNNf6+_hlFIuX=rN;S!lx^ABO1{IB-U0>AG?2Aa0{Iq>s-cynoFV9gR$^*YAid?lQ8{tSuM3{R7^=zCQ~WepvGp7B2j9 zy!u;IdLSD4TJsCCzhII^VShvTbIp%f{#&v?q4|$+dH#OQKUn@-)2CDX;4f<1DYAKlg?^P(DdT|MK?-H2-4xe+jOi5BFZU2UIoje02Xsw|^LC z{hI%={Kw?^X#XkdW*a76JmTqRdF{Vu;Zk1vzlCx3AML*t;59`*an0WZ`!8kqWhHsP zw11X`%lo7GAq$uHL;Ih}`{}+=&wu~;`?UX>i?vTRM9zNVGWJ*G_v!jAT=k#8zb%YY zzxE&d0+F-(BXV}OM){)qL)w2&-e1$}?=jx{$@bCyaTYG^qxmfhm;Ej6|JE7L7tx)} z?USyp3cd`WpMM>!O)dg&+ynbN^80lC7B20h^@s8B^KT%L)8`h8?N90UVc%mP-f`6L ze=M(`PZ($WYX46Q$NjOq_TTIa{fJKIesrO_7a5=BHUD%O{>3w%OU=0YT5SJH`)^se z@Xy+R%)*7=*8Eb=gDXv?8L1ib)c%#`mx@eH&B%&-=*9gd(XaWdFiw75^J5k+^=tm= zmno?k*`a@=+P~8L&)4{}UI~0z4_|J<`90r$(EO5(`}U9Kr{dw7|Je@xwW0qrrC;+) z$H2Wk-^h#H9zDOO`7s;!*AJS1vhnNv*KUXHSq~haKA)h^N6Gu+e$t_Rbbndz|691c zf7<^bjI;mg^G(70`(rLdc9Zc-pPvfsgTwRi+ffSh(od>oW_N`-}Jc^F02h_vH}&eqBG?k8{NRZSm#2IQqjl%j@;0b-ql- zAHDvw&X>vk>Gh{|J`DATpAY9xj*lDj9*O#w==Kle?027)`0^;v7yA3F za{fTCKf^fJx7vTg!qxf5;CxvaXL;>^Fc{-QGYGzH9QEJU{uLd8wStUS{@2>S5N>A^ z>3hb=#R(Ewo{?`OXG$3Q7Xq3H@o|Yvul*0hco2C$@E^2r6?wkiy?46T=~t2G1OGy+ zJa9&yXXN6*|INZBai%!x;{VFX;6eWm<3VKbnR^Bq`rihT#hWSrSN;A3ki(!dct0&%?oW>&VLZ6MA~$t)`THwKte-Uec?Vn)bLHn!o zJr*wQul*xvd!Y}ReUHZ4U;A$`GCcXyYph?|U;AgEeZ2jTjmu;0ukF*!z8n+S$6-A9 z@(k@)o)58boIeS^3=^Cm3FE<+VS@83S@7kg&^}@P!Tn{12lp4?H~PPip=+)4J;D0G!qu05 zSf1?{#)I}}dEUQ;%kK-;AMt))xcmw1pEn7<%p~m>tZ!I8jPv&g`gwmAuFfX~_aDZC z_7Bd_1_pCN555G+D|`U3zy%g`FHhvz4P(3A2k1O;j+K1_gBI=?E}r9 zTDaIRnxCx(+oFzdUzouEQuF`$fYnks?@ymk3F{}W`4bD5``7$Q80Y=#^EnnS_pi@i zRD^BHJ$!HfU+gP=zC!l*qd4#HECL%p`rr*&hCzAqh#@`t40~+Yh>Cstj`XgEjT+d` GzxqFDoAOow literal 106834 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 HQ1kW-e33q*8GRp?#{n7 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 U157hNRCLN=QXa1K5ztxwKWDe8A^-pY diff --git a/objects3d/Units/armthovr.s3o b/objects3d/Units/armthovr.s3o index 12f0d2feac301302a0258c4b46068bef027ebb19..a1a91e5a0e47856c5bb0b73f16ba9cc553331d91 100644 GIT binary patch delta 902 zcmZ9JUr19?9LIn6=UkB+)RduH6892RMuXDCfzW)3_K;*s54}a?3R_S-=8sup&V}rsdU4#yzL=bxD&&!^A3;O_S zh?aM$2LVon?M)F~^n+3qnn*FJIwO1~Y|mf-UTGFAfX_jbv(j^y;vBa8>Svr!x7&RQ zCMm?h32*>3`GUnoH<{qD_wyLj>Jv4U;OotHz_{XKhZ`zk^c$0h&mC_bYdx%t6lqO6623&mmTaUU16e zJj-b@2Z}fknuz#EX|ai1yC17CS%@ zBcO?hQ|_@cxAEFa-J1L);{p|JwSr=82TjDf`c;qXp~Y{md{H%8;c2f!tJ?E|*U;Mn znzY~#|L|LTQ3_RSo(nIgW>)!4^QHc(E)Q;?Il}DY!1Rs3g<>YS(s%ycg%P?{7cv`Y TM6)mA@NlLiH@bXk$gJWQ_u;*F`Lpip|HU|Y=MiXR?59G$?!k%l~n2>*V(KVOx z4PU@7^BtT97eSp1+-D7Y$z^MnPrcOcHbMas+%O1+!4Xi0U*x$}8z7f`eLo3TT>1la z%V`|KhI0g5gDZW7J=Z)q^2y)V>F0LCA6KKC0C(W571U|L!$WK33DuPU7$b4JeH;E(mg^Z<mqw9l=W{ORz=R@Ur>6oG-@~Nb4of4-awNV)Y*VPynHb~ z;sMdRl-De14f1S`CY`-QOR6_oM16y<&}*__Sagq2(;f1HyuSs-e{<|T|FLiLtF2@n7&K&F8fpzwj5hO=jQ z4uAy96SGqpihvpzft*Sp{R2qXLJa^Z*Z`EMtpKsWpuyPK-qF~2_kohqqN3Ci2HScD zhW$J)2Wm5qZVpcPDF<|s&E^x4Eo@4KKpBwD6+k)%NH+j!7&ri8^iIyJmt`-Vc=9rWSbW4sQ!-=Vz zJtsD?0No%lIc}QA4#AngoQ4blU$ zHF@@AooP}`*>g7gOjlxsTJS+}{v413P;{WuFvFKk?w=!NehVsl4@i3g6@q9OC;~G6 gErszI8Xi{hI5IG39862h+q`3*BIo9hb51Y<0Ci)0x&QzG delta 673 zcmX?ho~iW$(*%`z69x!)xtxLFI}m38xr{*k6vzgFdKnn7v-1cr7$c8 za+rbmCQz#;Q2h^KgrX}f3=As}+y(}Q1NI;;Yf@ryD#PRhQzSN@b+r)QI90(l+9wjC zFc6J~IRPdPRMl|y49@|O>hi?wREAcd29Vpg&H-8uqA1QculO7uidPKcBQSvL8s ztIFn`6)kLwYa`{A8tNIq{#y&wmjhJa-UQPHbS8*jKRLc$a#1hy=7#zPUK{HP5Np_` zF)*kArM)L2lsf^L&Omu6XyCdo>`-Vc=9rXNRFs-y$gugq6b{DC4ig$!>i% zQ`tPD+eCBYl?7c&Gq*4>Fao9P&N4780Mgbwfdmw&0VNi1nfz{x%x1omGgub$Z52_> z2dYB`AblXf1fdw}CLcemq-G5i-3G)UldnBuU}y%?wwItvfRqAIV(;0>+~*`Wcid}W z*{pFcL7@I3P$4n^X#@e7(J($xsDXjOz~Sr}0mr<=ynKeaK!tojFCzm`5P$$oGmH-u tY5<9YKzU+zDnlwT0GfbKy(JGcB{{z+J~=-pzeq17r5Mc1FUd%S@BlQ~P@Vt) delta 450 zcmdmejQQ6w<_Ri%0Spje0;HT6Cd)pSt8W1^8G*PPBE!%JrC}60A0(b$lwX>c!q5+7 z9tL7&AU*-ap)3pxSAaAOgmE!2l)%hoU}#`qP&fdROG+$GWjM2if#Ky@pkBwvn-6O) z>e`qaq3OV|72+5!AiV&nk`GA3fEv)1d?#T%kZA#qOA0I}Xh@Yf2* zZyFv4OG=B1QcD;(9&fh3lq9fu@7V?xC7Z_(bq;7W%r=L|llMOow=9K9SEA7{WiWA| NVGS^g%M-Ix8346_Rn7na diff --git a/objects3d/Units/corfship.s3o b/objects3d/Units/corfship.s3o index 6c6920a2b90065e4cf45e41a53828c0a4b94ce64..37bfa1b802b5bdd8df9b88122adf6181f8556e97 100644 GIT binary patch delta 34 qcmdnn!?w4FZ9+UF!^8wzCI*Ja`CI2RN*hmaFlOY~e#n@yItT#GMhi~> delta 34 qcmdnn!?w4FZ9+U_!^8wzCI^Sc`CI2RN*l8Y@#(fU zj0w{v!x(usvm9@++<4=_QR_ekMj&Kh5U^!r-~lo!*g-r9I00lvfMvn_1_lNTN6nb! z2TDqdic(7$w!14aDzI-o&e))6t)mGsh6iX&1WZgvUIr&1|Crfy1#?Ep?Ld7T zjLU7!8Cf%!fJ#9Cqy?E~0`m~!KyJehIaa%%9c>P2If+H74CibZ8M=WM{?K4#@PO(T z^@4ap)E;4R5m2kI?evAVjEG>Ym_EUi@x$^Rwv61Co2!NsznTGiVCJvNqU|{e#2vSp? nn4QWX3ydlepcg>S2RS1-zbHOAKPSIPFD0cI%*!vyNQLkKMYm@S delta 613 zcmeypj&;|1)(I;70Spje0;HT67^cUCGs@Pt06C06+zpXq=!4QQ3Y`xUPcOF$)l%0Af8h28J6z8U||k7#L<8gYg&|7#JQnfOtuX#ibC{bFaQie23woyYt4YpaJ6OJe%73kkrkvlVY-?* z;|j$}TZq~^G@1!&K;88BHjI)Mo1xO%fi%d;JD_}!sv;2I17b|j4!?u)t=V>(G476O ziFtV< pMSXw+y(}Q2@VVl z4fZ9aMMbG43<(;H46`?vT-Od%oC0Kmz-%-cWHJcMo_;`sQA+7NRQehk4O4baWBMNr gMoCL9O^9*)Xf#Y6OdM!(Lt5Im10XBP6SGqp0L?NpRR910 delta 365 zcmeCb#B%Nu%Y={^Mg|6kZXgDMJ_rRT(fJ^W^rHOIycC9hAoDN~GXwDnApXk2z;Fdf z!@veE28NP}g%VsQrx+Mat}`%*YHpmIbW$+`$OVCHARPgubD(^XSP_W7S?tt(9)}E| z4kjQsA4p388RbA42D*TDmP>)$4F(Mi3=;Lh9nx|Vi&7abLUmjP(%wKB5Df!GK!)k&ztilw6%7|b1kKQBm<48&V;4yP E01h2OZ2$lO delta 386 zcmdmXgz4)MrU@Z2j0_A6-9QWieGm#xqVqu#=|%aac_|G2K;~f}W(MLDK>U)4f#C{} zh5-i-28J&a3njR|)G;vJna03ivuNXFr8--UdIkoNmHI&11V|eLX&49rGB&rucnl2; z3<}gHU?pw{xR@}D{B0d?7W`b&ji37O}nlb!#@~x8{(sB}uQW;J_b(}$? Sp&A)r;vk(cvGT<1R0aU=j6fCu delta 409 zcmX^6n5pLp(}a*1Mg|6kZXgDMJ_rRT(fJ^W^rHOIycC9hAoDN~GXwDnAT|Utt^jEm zaN}TL_%g9jf|I9%fq`c#1Hm`4Ffqq#_P%Nrbsc)-pn~Qm_zaWT!`XpKspjAc?(Fxz%(G^*W}u{Qj9^H zXUwhUwP{-oQQQlpHGq;6fiw&_f%qF>Jcb4cOTaNHv8X6DhhgSs|JB@Vif1=M#4n-I jOi+!NCRcBiv}E4|;c}zVP(=(daUj0|CRU!9oyq_JLE1z_ diff --git a/objects3d/Units/corsok.s3o b/objects3d/Units/corsok.s3o index 38f0d0f8f9f4bedb3b8393b6fb305c0ab7a01671..d23fd5f6a7a29cc5e6bb718353d4f056f386f420 100644 GIT binary patch delta 823 zcmX|9O=uHQ5T2M=sx7EB(ng|`AYyaSpglw^$yVYIwFUnW6N)w_u^UagA!#sG4;vAG zplaobB=wL$5n9kdSr7go*&re+h~iP9^yZ<62SxNCe$##J$G)BU-h4A}cJ@`T*yoG( zi7h+3$---s=rfiIx&rGZ{6jXP4XZ&U&LNPdyR+?v&pW+p_Tx~Oe`Xhv9pQpWbQ|`l zUut2xkX}PvLLahiO0`7roNY&JZ~yij%pIUgXZ5u znE*46Vjn8PS9J-W*KN!^b2b?RRmJ7W)-4ey@vNpL=Utvvp)Tg?9m})&T{p)9kO-W$ zpyTV%XB)1^E&Quy%;%|z9Dpw{W6APd8A}|l&YW=}dOksUT-B>4QB2F8j%g_^yFDJy MEi!Esw``I92dN&rSO5S3 delta 890 zcmZ9KO=uHA6vtmah#w7w+JGA42f<6L$U;3trA@kxRAVX;L|QFqOk#Iyn}wvIexXT_ zidb!BK)X3K0TskTs*EBcvZ=iksiok>gM!6_AR>BE#0tKb-OZtYc>A0Gn_=FY*;&fj zN_pG(_A3$4wHqN~#FW&@m@=TGcE#iAs#Aufgzm25yanS12I-cL+IOX=iN2JQNycFe zhqD+~j5&-$xX&VT2S!!>I3qNh4zlJ*jHVOtz6Ib*g*UD}-NY7(o+sBw*K|0sV;in& zKvLn&bOJ+7xckTbrh{zn*qL^6q7pw3xe&l|55Ta@Bfi%Syxel%9(aaHI+}(&j+{lB zdWr+vG2OY!``RzM?gYx6(MmWR%_L)ZIq+mPW%WB~3%KMZ(v%x}_bzXEFwBxDh)7A2(3--9*(@9}88IDt6|Dx|ghF3q zwt7Ml1Z@-)OvVd+F#~NPi*PXt>LL)AwXt>m&)m7@AMX3z^YK6TKDd8U6^p5g$?n>6 zB6@`7VDlO@TK5zE{Qi9YQ1GgcX)VZfFvRpK%(OktbT74$+2Dn}_Be{7C*Y+b3kiJ2 zu)YS=TOY@*-u-ZkWXf)q6r%rmgsyKTmy`7U*zis2C>kz2-{9W;6=aijM)%vIc}s%*Zq?~L1|`^Uhis6PaaHnG{$x)ZzKmbTAFpS7KfIU_Ws zJ~we7cy{T6_Ai4S=+A>ja<6>XPV7p)Zv0EGKam(|rmZU~(9V^XT@%qG>OmRN02;}N zhU;Fl!=cg>)S~(#9I)*84eb~O#o>TP;&28EjVU{J*(a>(MKwtN7^k_C;#l1*q! z3;npQE#WdpTYR8c{GgFo{N8bgt4nH=#UrjIb$<^SM?DG}WhH*B|Kk)z)l`y857?7w z?eM^N=y(AdoyKta4Q?{~j@&Ubi=`=(g8RID34 zf0v197$tgOu=cI?(&!6=+c$dXA&xVs^{Dr#5QiV2)%Q(AJLj#VL87Ne#C2URT%pkf zQ*)B(T#^&C;4!t8nO+yiE93lXgFlO|XbwCLeu%x?-9sg|=|Y109j^l`L}#m5vwDkr z_0Q!-?|$4K0cBq)_A({=KI;8RzUuh(K9ej=ft}!X(CUf!RyE~uBM now; - turn L6 to y-axis <0.0> speed <148.0>; - turn L6 to z-axis <0.0> now; - turn L6 to z-axis <0.0> speed <3.0>; - turn L5 to z-axis <0.0> now; - turn L5 to z-axis <31.00549> speed <155.0>; + turn L6 to y-axis <0.00000> speed <148.00000>; + turn L6 to z-axis <0.00000> now; + turn L6 to z-axis <0.00000> speed <3.00000>; + turn L5 to z-axis <0.00000> now; + turn L5 to z-axis <31.00549> speed <155.00000>; turn L4 to y-axis <34.00549> now; - turn L4 to y-axis <34.00549> speed <3.0>; + turn L4 to y-axis <34.00549> speed <3.00000>; turn L4 to z-axis <31.00549> now; - turn L4 to z-axis <0.0> speed <155.0>; + turn L4 to z-axis <0.00000> speed <155.00000>; turn L3 to y-axis <-40.00549> now; - turn L3 to y-axis <-40.00549> speed <0.0>; + turn L3 to y-axis <-40.00549> speed <0.00000>; turn L3 to z-axis <-31.00549> now; - turn L3 to z-axis <0.0> speed <152.0>; + turn L3 to z-axis <0.00000> speed <152.00000>; turn L2 to y-axis <-37.00549> now; - turn L2 to y-axis <0.0> speed <185.0>; - turn L2 to z-axis <0.0> now; - turn L2 to z-axis <0.0> speed <0.0>; - turn L1 to y-axis <0.0> now; - turn L1 to y-axis <-30.00549> speed <152.0>; + turn L2 to y-axis <0.00000> speed <185.00000>; + turn L2 to z-axis <0.00000> now; + turn L2 to z-axis <0.00000> speed <0.00000>; + turn L1 to y-axis <0.00000> now; + turn L1 to y-axis <-30.00549> speed <152.00000>; turn L1 to z-axis <-45.00549> now; - turn J2 to z-axis <5.0> speed <50.0>; - turn J2 to y-axis <5.0> speed <50.0>; - turn J2 to x-axis <5.0> speed <50.0>; - turn J1 to z-axis <-5.0> speed <50.0>; - turn J1 to y-axis <-5.0> speed <50.0>; - turn J1 to x-axis <-5.0> speed <50.0>; + turn J2 to z-axis <5.00000> speed <50.00000>; + turn J2 to y-axis <5.00000> speed <50.00000>; + turn J2 to x-axis <5.00000> speed <50.00000>; + turn J1 to z-axis <-5.00000> speed <50.00000>; + turn J1 to y-axis <-5.00000> speed <50.00000>; + turn J1 to x-axis <-5.00000> speed <50.00000>; sleep 200; } - if( isMoving ) + if( bMoving ) { - turn L6 to z-axis <31.00549> speed <158.0>; - turn L5 to y-axis <34.00549> speed <163.0>; - turn L5 to z-axis <31.00549> speed <0.0>; - turn L4 to y-axis <0.0> speed <160.0>; - turn L4 to z-axis <0.0> speed <3.0>; - turn L3 to y-axis <0.0> speed <200.0>; - turn L2 to z-axis <-31.00549> speed <155.0>; - turn L1 to z-axis <2.0> speed <237.0>; - turn J2 to z-axis <-5.0> speed <50.0>; - turn J2 to y-axis <-5.0> speed <50.0>; - turn J2 to x-axis <-5.0> speed <50.0>; - turn J1 to z-axis <5.0> speed <50.0>; - turn J1 to y-axis <5.0> speed <50.0>; - turn J1 to x-axis <5.0> speed <50.0>; + turn L6 to z-axis <31.00549> speed <158.00000>; + turn L5 to y-axis <34.00549> speed <163.00000>; + turn L5 to z-axis <31.00549> speed <0.00000>; + turn L4 to y-axis <0.00000> speed <160.00000>; + turn L4 to z-axis <0.00000> speed <3.00000>; + turn L3 to y-axis <0.00000> speed <200.00000>; + turn L2 to z-axis <-31.00549> speed <155.00000>; + turn L1 to z-axis <2.00000> speed <237.00000>; + turn J2 to z-axis <-5.00000> speed <50.00000>; + turn J2 to y-axis <-5.00000> speed <50.00000>; + turn J2 to x-axis <-5.00000> speed <50.00000>; + turn J1 to z-axis <5.00000> speed <50.00000>; + turn J1 to y-axis <5.00000> speed <50.00000>; + turn J1 to x-axis <5.00000> speed <50.00000>; sleep 200; } - if( isMoving ) + if( bMoving ) { - turn L6 to y-axis <55.00549> speed <269.0>; - turn L6 to z-axis <31.00549> speed <3.0>; - turn L5 to y-axis <34.00549> speed <0.0>; - turn L5 to z-axis <0.0> speed <152.0>; - turn L4 to z-axis <31.00549> speed <158.0>; - turn L3 to y-axis <0.0> speed <3.0>; - turn L3 to z-axis <-31.00549> speed <152.0>; - turn L2 to y-axis <-31.00549> speed <158.0>; - turn L2 to z-axis <-31.00549> speed <0.0>; - turn L1 to y-axis <3.0> speed <167.0>; - turn J2 to z-axis <5.0> speed <50.0>; - turn J2 to y-axis <5.0> speed <50.0>; - turn J2 to x-axis <5.0> speed <50.0>; - turn J1 to z-axis <-5.0> speed <50.0>; - turn J1 to y-axis <-5.0> speed <50.0>; - turn J1 to x-axis <-5.0> speed <50.0>; + turn L6 to y-axis <55.00549> speed <269.00000>; + turn L6 to z-axis <31.00549> speed <3.00000>; + turn L5 to y-axis <34.00549> speed <0.00000>; + turn L5 to z-axis <0.00000> speed <152.00000>; + turn L4 to z-axis <31.00549> speed <158.00000>; + turn L3 to y-axis <0.00000> speed <3.00000>; + turn L3 to z-axis <-31.00549> speed <152.00000>; + turn L2 to y-axis <-31.00549> speed <158.00000>; + turn L2 to z-axis <-31.00549> speed <0.00000>; + turn L1 to y-axis <3.00000> speed <167.00000>; + turn J2 to z-axis <5.00000> speed <50.00000>; + turn J2 to y-axis <5.00000> speed <50.00000>; + turn J2 to x-axis <5.00000> speed <50.00000>; + turn J1 to z-axis <-5.00000> speed <50.00000>; + turn J1 to y-axis <-5.00000> speed <50.00000>; + turn J1 to x-axis <-5.00000> speed <50.00000>; sleep 200; } - turn L6 to y-axis <43.00549> speed <80.0>; - turn L6 to z-axis <0.0> speed <162.0>; - turn L5 to y-axis <0.0> speed <163.0>; - turn L5 to z-axis <0.0> speed <3.0>; - turn L4 to y-axis <34.00549> speed <163.0>; - turn L4 to z-axis <31.00549> speed <0.0>; - turn L3 to y-axis <-40.00549> speed <197.0>; - turn L3 to z-axis <-31.00549> speed <0.0>; - turn L2 to y-axis <-37.00549> speed <27.0>; - turn L2 to z-axis <0.0> speed <155.0>; - turn L1 to y-axis <0.0> speed <15.0>; - turn L1 to z-axis <-45.00549> speed <237.0>; - turn J2 to z-axis <-5.0> speed <50.0>; - turn J2 to y-axis <-5.0> speed <50.0>; - turn J2 to x-axis <-5.0> speed <50.0>; - turn J1 to z-axis <5.0> speed <50.0>; - turn J1 to y-axis <5.0> speed <50.0>; - turn J1 to x-axis <5.0> speed <50.0>; + turn L6 to y-axis <43.00549> speed <80.00000>; + turn L6 to z-axis <0.00000> speed <162.00000>; + turn L5 to y-axis <0.00000> speed <163.00000>; + turn L5 to z-axis <0.00000> speed <3.00000>; + turn L4 to y-axis <34.00549> speed <163.00000>; + turn L4 to z-axis <31.00549> speed <0.00000>; + turn L3 to y-axis <-40.00549> speed <197.00000>; + turn L3 to z-axis <-31.00549> speed <0.00000>; + turn L2 to y-axis <-37.00549> speed <27.00000>; + turn L2 to z-axis <0.00000> speed <155.00000>; + turn L1 to y-axis <0.00000> speed <15.00000>; + turn L1 to z-axis <-45.00549> speed <237.00000>; + turn J2 to z-axis <-5.00000> speed <50.00000>; + turn J2 to y-axis <-5.00000> speed <50.00000>; + turn J2 to x-axis <-5.00000> speed <50.00000>; + turn J1 to z-axis <5.00000> speed <50.00000>; + turn J1 to y-axis <5.00000> speed <50.00000>; + turn J1 to x-axis <5.00000> speed <50.00000>; sleep 200; } return (0); } -Movement(myMoving) +MotionControl(Func_Var_1) { while( TRUE ) { - myMoving = isMoving; - if( myMoving ) + Func_Var_1 = bMoving; + if( Func_Var_1 ) { call-script walk2(); } - if( !myMoving ) + if( !Func_Var_1 ) { sleep 100; - turn L6 to y-axis <0.0> speed <100.0>; - turn L6 to z-axis <0.0> speed <100.0>; - turn L5 to y-axis <0.0> speed <100.0>; - turn L5 to z-axis <0.0> speed <100.0>; - turn L4 to y-axis <0.0> speed <100.0>; - turn L4 to z-axis <0.0> speed <100.0>; - turn L3 to y-axis <0.0> speed <100.0>; - turn L3 to z-axis <0.0> speed <100.0>; - turn L2 to y-axis <0.0> speed <100.0>; - turn L2 to z-axis <0.0> speed <100.0>; - turn L1 to y-axis <0.0> speed <100.0>; - turn L1 to z-axis <0.0> speed <100.0>; - turn J2 to x-axis <0.0> speed <200.0>; - turn J2 to z-axis <0.0> speed <200.0>; - turn J2 to y-axis <0.0> speed <200.0>; - turn J1 to z-axis <0.0> speed <200.0>; - turn J1 to y-axis <0.0> speed <200.0>; - turn J1 to x-axis <0.0> speed <200.0>; + turn L6 to y-axis <0.00000> speed <100.00000>; + turn L6 to z-axis <0.00000> speed <100.00000>; + turn L5 to y-axis <0.00000> speed <100.00000>; + turn L5 to z-axis <0.00000> speed <100.00000>; + turn L4 to y-axis <0.00000> speed <100.00000>; + turn L4 to z-axis <0.00000> speed <100.00000>; + turn L3 to y-axis <0.00000> speed <100.00000>; + turn L3 to z-axis <0.00000> speed <100.00000>; + turn L2 to y-axis <0.00000> speed <100.00000>; + turn L2 to z-axis <0.00000> speed <100.00000>; + turn L1 to y-axis <0.00000> speed <100.00000>; + turn L1 to z-axis <0.00000> speed <100.00000>; + turn J2 to x-axis <0.00000> speed <200.00000>; + turn J2 to z-axis <0.00000> speed <200.00000>; + turn J2 to y-axis <0.00000> speed <200.00000>; + turn J1 to z-axis <0.00000> speed <200.00000>; + turn J1 to y-axis <0.00000> speed <200.00000>; + turn J1 to x-axis <0.00000> speed <200.00000>; } } return (0); @@ -180,73 +182,85 @@ Movement(myMoving) Create() { - isMoving = FALSE; + bMoving = FALSE; gun_1 = base; - start-script Movement(); + start-script MotionControl(); start-script AmphWalk(); start-script AmphSpeed(); return (0); } -StartMoving(reversing) +StartMoving() { - isMoving = TRUE; + bMoving = TRUE; return (0); } StopMoving() { - isMoving = FALSE; + bMoving = FALSE; return (0); } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; return (1); } -FireWeapon1() +FirePrimary() { - move base to z-axis [5.0] speed [50.0]; + move base to z-axis [5.00000] speed [50.00000]; if( gun_1 == 0 ) { - turn J2 to x-axis <70.01648> speed <900.0>; - turn J2 to z-axis <-15.0> speed <800.0>; - turn J2 to y-axis <30.00549> speed <500.0>; + turn J2 to x-axis <70.01648> speed <900.00000>; + turn J2 to z-axis <-15.00000> speed <800.00000>; + turn J2 to y-axis <30.00549> speed <500.00000>; sleep 175; - turn J2 to x-axis <0.0> speed <900.0>; - turn J2 to z-axis <0.0> speed <800.0>; - turn J2 to y-axis <0.0> speed <500.0>; + turn J2 to x-axis <0.00000> speed <900.00000>; + turn J2 to z-axis <0.00000> speed <800.00000>; + turn J2 to y-axis <0.00000> speed <500.00000>; } if( gun_1 == 1 ) { - turn J1 to x-axis <70.01648> speed <900.0>; - turn J1 to z-axis <15.0> speed <800.0>; - turn J1 to y-axis <-30.00549> speed <500.0>; + turn J1 to x-axis <70.01648> speed <900.00000>; + turn J1 to z-axis <15.00000> speed <800.00000>; + turn J1 to y-axis <-30.00549> speed <500.00000>; sleep 175; - turn J1 to x-axis <0.0> speed <900.0>; - turn J1 to z-axis <0.0> speed <800.0>; - turn J1 to y-axis <0.0> speed <500.0>; + turn J1 to x-axis <0.00000> speed <900.00000>; + turn J1 to z-axis <0.00000> speed <800.00000>; + turn J1 to y-axis <0.00000> speed <500.00000>; } - move base to z-axis [0.0] speed [25.0]; + move base to z-axis [0.00000] speed [25.00000]; gun_1 = !gun_1; return (0); } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = base; + piecenum = base; return (0); } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = spot2 + gun_1; + if( gun_1 == 0 ) + { + piecenum = spot2; + } + if( gun_1 == 1 ) + { + piecenum = spot1; + } + return (0); } - +SweetSpot(piecenum) +{ + piecenum = base; + return (0); +} Killed(severity, corpsetype) { diff --git a/scripts/Critters/critter_ant.cob b/scripts/Critters/critter_ant.cob index 5aa600d197aa2f53657de29611c02ab43bfcddae..74e0d859d74d910b0947aa0ad9b87e4dc3cb5adb 100644 GIT binary patch literal 5390 zcmcgwPiWjl6rOC7ZEaP4;2+v5vMOQ@Ic&BnIcZCwLc7ICie5Z4ZCAT=v%7A#twqp< zf(I!@6g;aZk%H(+y_k#Iqo4;tkfH>!pa^0?2*mH3nQ!|t%rDl1Zh865?|tum^X9!b zv$LIY&fNyt3Hf=-xk)_vxpIed>yY}L&duWeIXowdN^zKAZK{~6SBeUT)J;%#tXe!2 z-|yu+Y^b{@>gYEGTlw(m>XQZi{ha$I3s>7-xP8^421s+shZuGDdA|v7Hy!P$atl?D zE0%?b*;t;4Iyb6#emDAU!xi{PeZ-!MPtOzMVeFjSjcyH3yqEbAQmj`vu7_A>F!UVM zAy%%7L+0odl40McF*$AD@MiQ&w42y@p}yR7V{j@KII36=cm1}H-6gKAV1o0%uh4M?=kRO?D{V^?8Q-Z zf<65hKkbEmycXLK!JeLt=Q zO#R~ZF-~#IkC^;cUkrYvtjL=m-E>@nbsj!Tje@e zTZ?fywzletTx~7Je3$u&Q?;et)%jrWzb}$n&c^*lKdzPB%7gZzFt5i8In$aDOa0UX zb}y2P{^}iD=i4s^EO(a6PxZ2OZr~n5PJe!54YtnO!}RC+>>mCAiKd@0TW9TWe+I)Z zcLu8_xgM}sS-t4T4`WFCD%S(*9bze`#l)!|;GJnP&O?m%3s=Lv4D*tQcZ^9CLT7cQ z9&&=)*!T|eGK*WQ`aMgRG4{@MLH`N(lkX%!+-W%8_2lOK`j`QiVd|gM&+AM4h?V)- zzDqf6-=&y6UvgO4e75gWKihXHX8SIOX}^(l^6GopL#-3N-GdHdueiQid$oxJS z$J~hXqI&Un0ByNXln2tdg|G*@aSwd=YWV%|9R|?^@4$CF^02@WYt39-gI)#rBWZqq{9J^3!jt z_2l^BR?2TN@jJKM&*QO7?HtZ6^`Gr6^#}cQ4yL%xm*dknv+i*3F?Wy`0r z-m|eZsEe`8$5_~hHkKSG_XA_dVTvWU22NMD2G*kt6IX6Ne`c4g?*u1|>w7D%4<-H2 z*O!Y^>&s#6ud;k@wRW8uIZm##j8pdF9>G?9=D#0fKIv~Uf4?%hCjNiqGZ&}wnZs@- zpE*C}Gl$(wK9yISvwxFMmSG0Md*EpVQ^llvAooLNAbTMnK|Y0i1Nk1p|I>RO(u16V zT!6d|c^mRB^a{ts~ztuYF zN6#*GPP=pX({M+6!*;KGpw}G^dL4IQ&{`U{+~RO)Fg(&b+wQ)AajzeT``gP4gZA>$ z;JiE79<(%u`rx29hMqpt8k`rlc&^nNF7|svcevf@VEW@rD=pW2%rzf%%|~2wuWL43 TbIu)VxD{B<`M(W!XwLl&0-vYL delta 1191 zcma)*OK1~O6o&7eOeT}&;Y}tf2~m)MQbR&52tjBTS=hBw#EmY54q7lx8d{+g35sAh zTI#`-6%=;{7g1MYm!ca{aN|a55X1+Ho2(S-eCH`0D$uEnTU%<@kU$5bx1fV>#RXJd9g`xTFiAO^GgMK~`u9*BIR}n{q&X z%b{HOqb!iL^wT}KR_L%*#r-_416s2kdScnp!KY#0FkLhquks6Kc@b$Mzh>*&dGtDG z+tF=@e&!mYJ-TmCOZiYnDMa6sHoc3Qv>u;KdNZ^vr4K+z`VgN=H8HxDZ#sszKBHQq zDv#4*;!5i7Ke0rzD!X(f`7*C-qL|vms!v9!kTMRUE%lQQy^5Q3dsl9URUy+<+VEwBQEXa!|7&t`8%Q-G(C_ zwJ4U#cj~?e{U-?y!8JSt>zzDsoIS9%eNU|a@>KJN*QPl^8wqOD*F3Zyf`_D;^jL=r z|JNxuVyCQka>{Z3xLEr}_ia08r)=mCr;nU+r-+gR;1GBK9)qV~1>f~`a1-1C_dpM9 zfal;f*aY9e4`4V#M8F7000kT{3i4n#D1tFiZ?w)%w_JBd)agt{S?Aq`JGVfWGR5%| h?&(%@ZbD4Wwq3rj&o-vo%?8V3i*9?#7xXqW@e7O(tH}TW diff --git a/scripts/Critters/critter_duck.lua b/scripts/Critters/critter_duck.lua index 8073bdc1bca..f91430ac856 100644 --- a/scripts/Critters/critter_duck.lua +++ b/scripts/Critters/critter_duck.lua @@ -2,7 +2,7 @@ local foot1 = piece "foot1" local foot2 = piece "foot2" local body = piece "body" -local SIGNAL_MOVE = 2 +local SIG_WALK = 2 local tspeed = math.rad (180) local ta = math.rad (30) @@ -15,8 +15,8 @@ local GetUnitPosition = Spring.GetUnitPosition local GetGameFrame = Spring.GetGameFrame function walk() - Signal(SIGNAL_MOVE) - SetSignalMask(SIGNAL_MOVE) + Signal(SIG_WALK) + SetSignalMask(SIG_WALK) while (true) do Turn (foot1, x_axis, ta, tspeed) Turn (foot2, x_axis, -ta, tspeed) @@ -32,7 +32,7 @@ function walk() end function stopwalk() - Signal(SIGNAL_MOVE) --stop the walk thread + Signal(SIG_WALK) --stop the walk thread Turn (foot1, x_axis, 0, tspeed) Turn (foot2, x_axis, 0, tspeed) Turn (body, x_axis, math.rad (0), math.rad (45)) diff --git a/scripts/Critters/critter_penguin.lua b/scripts/Critters/critter_penguin.lua index ee7b4d84c21..c2cba13ac81 100644 --- a/scripts/Critters/critter_penguin.lua +++ b/scripts/Critters/critter_penguin.lua @@ -7,7 +7,7 @@ local flare1 = piece "flare1" local flare2 = piece "flare2" local tail = piece "tail" -local SIGNAL_MOVE = 2 +local SIG_WALK = 2 local tspeed = math.rad (180) local ta = math.rad (30) @@ -23,8 +23,8 @@ end bodyWiggleAxis = z_axis --z while walking, y while swimming function walk() - Signal(SIGNAL_MOVE) - SetSignalMask(SIGNAL_MOVE) + Signal(SIG_WALK) + SetSignalMask(SIG_WALK) Sleep (math.random (0, 100)) while (true) do Turn (foot1, x_axis, ta, tspeed) @@ -46,7 +46,7 @@ function walk() end function stopwalk() - Signal(SIGNAL_MOVE) --stop the walk thread + Signal(SIG_WALK) --stop the walk thread Turn (foot1, x_axis, 0, tspeed) Turn (foot2, x_axis, 0, tspeed) --Turn (body, x_axis, math.rad (0), math.rad (45)) diff --git a/scripts/Raptors/bos2cob.py b/scripts/Raptors/bos2cob.py index c9a585d129f..8761166bd9d 100644 --- a/scripts/Raptors/bos2cob.py +++ b/scripts/Raptors/bos2cob.py @@ -1,7 +1,7 @@ -# Written by ashdnazg https://github.com/ashdnazg/bos2cob -# Extended by Beherith to https://github.com/beyond-all-reason/BARScriptCompiler +# written by ashdnazg https://github.com/ashdnazg/bos2cob # released under the GNU GPL v3 license +import sys import sys import os.path from glob import glob @@ -114,9 +114,7 @@ def index(iterable, s): '&&' : OPCODES['LOGICAL_AND'], '||' : OPCODES['LOGICAL_OR'], 'AND' : OPCODES['LOGICAL_AND'], - 'and' : OPCODES['LOGICAL_AND'], 'OR' : OPCODES['LOGICAL_OR'], - 'or' : OPCODES['LOGICAL_OR'], } OPS_PRECEDENCE = { @@ -134,10 +132,8 @@ def index(iterable, s): '|' : 6, '&&' : 7, 'AND' : 7, - 'and' : 7, '||' : 8, 'OR' : 8, - 'or' : 8, } UNARY_OPS = { @@ -222,8 +218,6 @@ def get_text(self): def parse_string(pump, node): token = pump.next() - if type(token) == tuple: - token = token[0] if len(token) == 0: return False if token.startswith("\""): @@ -233,8 +227,6 @@ def parse_string(pump, node): def parse_int(pump, node): token = pump.next() - if type(token) == tuple: - token = token[0] if len(token) == 0: return False if token.startswith("0x"): @@ -252,8 +244,6 @@ def parse_int(pump, node): def parse_identifier(pump, node): token = pump.next() - if type(token) == tuple: - token = token[0] if len(token) == 0: return False if token[0].isalpha() or token[0] == '_': @@ -263,8 +253,6 @@ def parse_identifier(pump, node): def parse_float(pump, node): token = pump.next() - if type(token) == tuple: - token = token[0] if len(token) == 0: return False if token.count(".") > 1: @@ -773,33 +761,13 @@ def get_cob(self): class Pump(object): def __init__(self, generator): - leftovers = [] - for token, idx in generator: - #For some godforsaken reason, the generator sometimes returns nested tuples, - while(type(token) == tuple): - token = token[0] - #if type(token) == type((1,1)): - # token, idx = token[0], token[1] - - - leftovers.append((token,idx)) - #print ("__init__(self, generator):",token,idx) - if type(token) == type((1,1)): - print(generator, token, idx) - #print(generator.gi_frame.f_locals['context']) - #raise ValueError("returned a tuple", token, idx) - #exit(1) - self._leftovers = leftovers - #self._leftovers = [(token, idx) for token, idx in generator] + self._leftovers = [token for token in generator] self._index = 0 self._max_index = 0 - self.trace_tokens = {} # A list of lines? def next(self): if self._index < len(self._leftovers): - token, idx = self._leftovers[self._index] - - #print(token,idx) + token = self._leftovers[self._index] self._index += 1 self._max_index = max(self._max_index, self._index) return token @@ -821,10 +789,6 @@ def parse(pump, node, block_type): for element_type in ELEMENTS_DICT: if block_type.lower() in ELEMENTS_DICT[element_type]: next = pump.next() - #print ("parse", next, pump) - if type(next) == type((1,1)): - print ("Fixing next", next) - next = next[0] if next.lower() == block_type.lower(): node.add_child(Node(element_type, next)) return True @@ -881,7 +845,6 @@ def token_generator(code): prev_idx = 0 while (idx < len(code)): - print(idx, code[prev_idx:idx]) if not is_line_comment and not is_multi_line_comment and not is_in_quotation and code[idx] == '"': is_in_quotation = True prev_idx = idx @@ -891,9 +854,7 @@ def token_generator(code): if not is_line_comment and not is_multi_line_comment and is_in_quotation and code[idx] == '"': is_in_quotation = False idx+=1 - - #print(1, code[prev_idx:idx], idx) - yield code[prev_idx:idx], idx + yield code[prev_idx:idx] prev_idx = idx continue @@ -901,13 +862,10 @@ def token_generator(code): is_line_comment = True s = code[prev_idx:idx].strip() if len(s) > 0: - - #print(2, s, idx) - yield s, idx + yield s if is_preprocessor: is_preprocessor = False - #print(3, '$', idx) - yield '$', idx + yield '$' idx+=2 prev_idx = idx continue @@ -916,8 +874,7 @@ def token_generator(code): is_multi_line_comment = True s = code[prev_idx:idx].strip() if len(s) > 0: - #print(4, s, idx) - yield s, idx + yield s idx+=2 prev_idx = idx continue @@ -926,11 +883,8 @@ def token_generator(code): is_preprocessor = True s = code[prev_idx:idx].strip() if len(s) > 0: - - #print(5, s, idx) - yield s, idx - #print(6, "#", idx) - yield '#', idx + yield s + yield '#' idx+=1 prev_idx = idx continue @@ -939,12 +893,8 @@ def token_generator(code): is_preprocessor = False s = code[prev_idx:idx].strip() if len(s) > 0: - - #print(7, s, idx) - yield s, idx - - #print(8, '$', idx) - yield '$', idx #mark end of preprocessor directive + yield s + yield '$' #mark end of preprocessor directive idx+=1 prev_idx = idx continue @@ -965,13 +915,11 @@ def token_generator(code): if not skip and (code[idx] in symbol_delimiters): token = code[prev_idx:idx].strip().strip('\\') if len(token) > 0: - #print(9, token,idx) - yield token, idx + yield token symbol_token = code[idx:idx+1].strip().strip('\\') if len(symbol_token) > 0: - #print(10, symbol_token,idx) - yield symbol_token, idx + yield symbol_token idx+=1 prev_idx=idx @@ -983,13 +931,12 @@ def token_generator(code): token = code[prev_idx:idx].strip() prev_idx = idx if len(token) > 0: - #print(11, token,idx) - yield token, idx + yield token def preprocess(code, include_path, defs = {"TRUE" : "1", "FALSE" : "0", "UNKNOWN_UNIT_VALUE" : ""}, recursion = 0): if recursion > 10: - print ("Error: recursion limit reached") + print "Error: recursion limit reached" exit(1) gen = token_generator(code) @@ -998,16 +945,14 @@ def preprocess(code, include_path, defs = {"TRUE" : "1", "FALSE" : "0", "UNKNOWN ifs = 0 while True: try: - token, idx = gen.next() - print (token) - except Exception as e: + token = gen.next() + except: if ifs > 0: - print ("Error: Missing #endif at %d"%(idx)) + print "Error: Missing #endif" exit(1) if is_preprocessor_directive: - print ("Preprocessor error at %d"%(idx)) + print "Preprocessor error" exit(1) - raise e break if token == '#': @@ -1021,11 +966,11 @@ def preprocess(code, include_path, defs = {"TRUE" : "1", "FALSE" : "0", "UNKNOWN if skip > 0: continue if token not in defs: - yield token, idx + yield token continue for prep_tokens in preprocess(defs[token], include_path, defs, recursion + 1): - yield prep_tokens, idx + yield prep_tokens continue is_preprocessor_directive = False @@ -1033,31 +978,30 @@ def preprocess(code, include_path, defs = {"TRUE" : "1", "FALSE" : "0", "UNKNOWN if token.lower() == 'include': if skip > 0: continue - included, idx = gen.next() - included = included.strip('"') + included = gen.next().strip('"') try: if not os.path.exists(included): alt_path = os.path.join(include_path, included) if not os.path.exists(alt_path): - print ('Error: can\'t find %s at %d' %( included, idx)) + print 'Error: can\'t find %s' % included exit(1) included = alt_path content = open(included, 'rb').read() for prep_tokens in preprocess(content, include_path, defs, recursion + 1): - yield prep_tokens, idx + yield prep_tokens except: - print ('Error: Couldn\'t include %s, at token %s at %d' % (included, token, idx)) + print 'Error: Couldn\'t include %s' % (included,) exit(1) continue if token.lower() == 'define': if skip > 0: continue - current_definition, idx = gen.next() + current_definition = gen.next() defs[current_definition] = "" while True: - token, idx = gen.next() + token = gen.next() if token == '$': break defs[current_definition] += " " + token @@ -1066,7 +1010,7 @@ def preprocess(code, include_path, defs = {"TRUE" : "1", "FALSE" : "0", "UNKNOWN if token.lower() == 'undef': if skip > 0: continue - current_definition, idx = gen.next() + current_definition = gen.next() del defs[current_definition] continue @@ -1075,7 +1019,7 @@ def preprocess(code, include_path, defs = {"TRUE" : "1", "FALSE" : "0", "UNKNOWN if skip > 0: skip += 1 continue - current_definition, idx = gen.next() + current_definition = gen.next() if current_definition not in defs: skip += 1 @@ -1087,7 +1031,7 @@ def preprocess(code, include_path, defs = {"TRUE" : "1", "FALSE" : "0", "UNKNOWN skip += 1 continue - current_definition, idx = gen.next() + current_definition = gen.next() if current_definition in defs: skip += 1 @@ -1100,7 +1044,7 @@ def preprocess(code, include_path, defs = {"TRUE" : "1", "FALSE" : "0", "UNKNOWN continue query = "" while True: - token, idx = gen.next() + token = gen.next() if token == '$': break else: @@ -1121,14 +1065,14 @@ def preprocess(code, include_path, defs = {"TRUE" : "1", "FALSE" : "0", "UNKNOWN if token.lower() == 'endif': if ifs == 0: - print ("Error: extraneous #endif at %d" % (idx)) + print "Error: extraneous #endif" exit(1) ifs -= 1 if skip > 0: skip -= 1 continue - print ("Error: unhandled token %s at %d" % (token,idx)) + print "Error: unhandled token %s" % (token,) exit(1) @@ -1141,7 +1085,7 @@ def main(path, output_path = None): else: input_path = path if not os.path.exists(input_path): - print ("File %s doesn't exist" % (input_path,)) + print "File %s doesn't exist" % (input_path,) exit() if os.path.isdir(input_path): include_path = input_path @@ -1151,26 +1095,14 @@ def main(path, output_path = None): files = [input_path] input_path = os.path.split(input_path)[0] for bos_file_path in files: - print ("processing %s" % (bos_file_path,)) + print "processing %s" % (bos_file_path,) root = Node('root') - content = open(bos_file_path, 'r').read() # why rb binary? + content = open(bos_file_path, 'rb').read() pump = Pump(preprocess(content, input_path)) result = try_parse(pump, root, '_file') if len(pump.next()) != 0: - print("Leftovers while parsing:") - print (pump._leftovers[pump._index - 1:pump._max_index], pump._index, pump._max_index) - print ("Syntax Error!") - lines = content.splitlines() - for j in range(pump._max_index -4, pump._max_index): - word, offset = pump._leftovers[j] - searchpos = 0 - for i,line in enumerate(lines): - #print (len(line)) - searchpos += len(line) + 1 - if searchpos > offset: - print("%d: At line %d (offset = %d) with token %s "%(j, i+1, offset, word )) - break - + print "Syntax Error!" + print pump._leftovers[pump._index - 1:pump._max_index], pump._index, pump._max_index exit(1) # root.print_node() @@ -1184,7 +1116,6 @@ def main(path, output_path = None): print (len(data)) if output_path == None: output_path = "%s.%s" % (os.path.splitext(bos_file_path)[0], COB_EXT) - print("bos2cob Writing", output_path) output_file = open(output_path, "wb") output_file.write(data) @@ -1219,8 +1150,4 @@ def main(path, output_path = None): if __name__ == '__main__': - if len(sys.argv)>1: - main(sys.argv[1]) - else: - print ("Specify a path to a .%s file, or a path to a directory containing .%s files"%(BOS_EXT,BOS_EXT)) - main("armaap.bos") \ No newline at end of file + main(sys.argv[1]) \ No newline at end of file diff --git a/scripts/Raptors/bos2cob_py3.py b/scripts/Raptors/bos2cob_py3.py deleted file mode 100644 index efb8cfd492d..00000000000 --- a/scripts/Raptors/bos2cob_py3.py +++ /dev/null @@ -1,1460 +0,0 @@ -# Written by ashdnazg https://github.com/ashdnazg/bos2cob -# Extended by Beherith to https://github.com/beyond-all-reason/BARScriptCompiler -# released under the GNU GPL v3 license - -import sys -import os.path -from glob import glob -import struct -import cob_file - - -LINEAR_SCALE = 65536 -ANGULAR_SCALE = 182 - -OPCODES = { - 'MOVE' : 0x10001000, - 'TURN' : 0x10002000, - 'SPIN' : 0x10003000, - 'STOP_SPIN' : 0x10004000, - 'SHOW' : 0x10005000, - 'HIDE' : 0x10006000, - 'CACHE' : 0x10007000, - 'DONT_CACHE' : 0x10008000, - 'MOVE_NOW' : 0x1000B000, - 'TURN_NOW' : 0x1000C000, - 'SHADE' : 0x1000D000, - 'DONT_SHADE' : 0x1000E000, - 'DONT_SHADOW' : 0x1000E000, - 'EMIT_SFX' : 0x1000F000, - - 'WAIT_FOR_TURN' : 0x10011000, - 'WAIT_FOR_MOVE' : 0x10012000, - 'SLEEP' : 0x10013000, - - 'PUSH_CONSTANT' : 0x10021001, - 'PUSH_LOCAL_VAR' : 0x10021002, - 'PUSH_STATIC' : 0x10021004, - 'CREATE_LOCAL_VAR' : 0x10022000, - 'POP_LOCAL_VAR' : 0x10023002, - 'POP_STATIC' : 0x10023004, - 'POP_STACK' : 0x10024000, - - 'ADD' : 0x10031000, - 'SUB' : 0x10032000, - 'MUL' : 0x10033000, - 'DIV' : 0x10034000, - 'MOD' : 0x10034001, - 'BITWISE_AND' : 0x10035000, - 'BITWISE_OR' : 0x10036000, - 'BITWISE_XOR' : 0x10037000, - 'BITWISE_NOT' : 0x10038000, - - 'RAND' : 0x10041000, - 'GET_UNIT_VALUE' : 0x10042000, - 'GET' : 0x10043000, - - 'SET_LESS' : 0x10051000, - 'SET_LESS_OR_EQUAL' : 0x10052000, - 'SET_GREATER' : 0x10053000, - 'SET_GREATER_OR_EQUAL' : 0x10054000, - 'SET_EQUAL' : 0x10055000, - 'SET_NOT_EQUAL' : 0x10056000, - 'LOGICAL_AND' : 0x10057000, - 'LOGICAL_OR' : 0x10058000, - 'LOGICAL_XOR' : 0x10059000, - 'LOGICAL_NOT' : 0x1005A000, - - 'START_SCRIPT' : 0x10061000, - 'CALL_SCRIPT' : 0x10062000, - 'REAL_CALL' : 0x10062001, - 'LUA_CALL' : 0x10062002, - 'JUMP' : 0x10064000, - 'RETURN' : 0x10065000, - 'JUMP_NOT_EQUAL' : 0x10066000, - 'SIGNAL' : 0x10067000, - 'SET_SIGNAL_MASK' : 0x10068000, - - 'EXPLODE' : 0x10071000, - 'PLAY_SOUND' : 0x10072000, - - 'SET' : 0x10082000, - 'ATTACH_UNIT' : 0x10083000, - 'DROP_UNIT' : 0x10084000, -} -for key in OPCODES: - OPCODES[key] = struct.pack("' : OPCODES['SET_GREATER'], - '==' : OPCODES['SET_EQUAL'], - '<=' : OPCODES['SET_LESS_OR_EQUAL'], - '>=' : OPCODES['SET_GREATER_OR_EQUAL'], - '!=' : OPCODES['SET_NOT_EQUAL'], - '&&' : OPCODES['LOGICAL_AND'], - '||' : OPCODES['LOGICAL_OR'], - 'AND' : OPCODES['LOGICAL_AND'], - 'and' : OPCODES['LOGICAL_AND'], - 'OR' : OPCODES['LOGICAL_OR'], - 'or' : OPCODES['LOGICAL_OR'], -} - -OPS_PYEVAL = { - "+" : "+", - "-" : "-", - "*" : "*", - "/" : "/", - "&" : "&&", - "|" : "||", - "%" : "%", -} - -OPS_PYEVAL_PRECEDENCE = ["%", "*", "/", "+", "-", "|", "&"] - -OPS_PRECEDENCE = { - '*' : 1, - '/' : 1, - '%' : 1, - '+' : 2, - '-' : 2, - '<' : 3, - '>' : 3, - '<=' : 3, - '>=' : 3, - '==' : 4, - '!=' : 4, - '&' : 5, - '|' : 6, - '&&' : 7, - 'AND' : 7, - 'and' : 7, - '||' : 8, - 'OR' : 8, - 'or' : 8, -} - -UNARY_OPS = { - 'NOT' : OPCODES['LOGICAL_NOT'], - '!' : OPCODES['LOGICAL_NOT'], -} - -BOS_EXT = 'bos' -COB_EXT = 'cob' - -PRINTED_NODES = {'keyword', 'symbol', 'integerConstant', 'floatConstant', 'identifier', - 'argumentList', 'staticVarDec', 'pieceDec', 'localVarDec', - 'funcDec', 'funcBody', 'ifStatement', 'whileStatement', 'forStatement', - 'callStatement', - 'startStatement', - 'spinStatement', - 'stopSpinStatement', - 'turnStatement', - 'moveStatement', - 'waitForTurnStatement', - 'waitForMoveStatement', - 'emitSfxStatement', - 'sleepStatement', - 'hideStatement', - 'showStatement', - 'explodeStatement', - 'signalStatement', - 'setSignalMaskStatement', - 'setStatement', - 'getStatement', - 'attachUnitStatement', - 'dropUnitStatement', - 'returnStatement', - 'expression', 'term', - 'expressionList'} - -def escape(s): - return s.replace('&','&').replace('>','>').replace('<','<').replace('\"','"') - -class Node(object): - def __init__(self, node_type, text = None): - self._type = node_type - self._text = text # None if text is None else text.encode('utf-8') - self._children = [] - - def add_child(self, child): - self._children.append(child) - - def clear(self): - self._children = [] - - def print_node(self, indent = 0, out_file = sys.stdout, verbose = False): - if verbose or self._type in PRINTED_NODES: - indentation = ' ' * indent - if self._text is not None: - out_file.write("%s<%s> %s \n" %(indentation, self._type, escape(self._text), self._type)) - else: - out_file.write("%s<%s>\n" % (indentation, self._type)) - for child in self._children: - child.print_node(indent + 1, out_file=out_file,verbose=verbose) - out_file.write("%s\n" % (indentation, self._type)) - else: - for child in self._children: - child.print_node(indent, out_file=out_file, verbose=verbose) - - def term_is_a_signedFloatConstant(self): - if self._type== "term" and len(self._children)==1: - child = self._children[0] - if child._type== "constant" and len(child._children)==1: - child = child._children[0] - if child._type== "signedFloatConstant" and len(child._children)==1: - child = child._children[0] - if child._type== "floatConstant" and len(child._children)==0: - return child - return None - - def fold_node(self, depth = 0): - # We need to fold left, fold right and check for parenthesis - foldcount = 0 - for child in self._children: - foldcount += child.fold_node(depth +1) - - foldcount - foldedone = True - while(foldedone): - foldedone = False - - # Handle Negative - if self._type == "signedFloatConstant" and len(self._children) ==2 and self._children[0]._text == '-': - self._children.pop(0) - self._children[0]._text = '-' + self._children[0]._text - - #Handle [] - if self._type == "constant" and len(self._children) ==3: - sym1 = self._children[0]._text - sym2 = self._children[2]._text - if sym1 == '[' and sym2 == ']': - self._children.pop(2) - self._children.pop(0) - self._children[0]._children[0]._text = str(float(self._children[0]._children[0]._text) * LINEAR_SCALE) - - if sym1 == '<' and sym2 == '>': - self._children.pop(2) - self._children.pop(0) - self._children[0]._children[0]._text = str(float(self._children[0]._children[0]._text) * ANGULAR_SCALE) - - - - if self._type == 'expression' and len(self._children) >=2: - for pyop in OPS_PYEVAL_PRECEDENCE: - i = 0 - while (i < len(self._children) - 1): - #for i in range(len(self._children) - 1): - # we always fold into term1 in this case, and delete the next opterm - if (i+1) >= len(self._children): - break - term1 = self._children[i].term_is_a_signedFloatConstant() - if not term1 and self._children[i]._type == 'opterm' and self._children[i]._children[1].term_is_a_signedFloatConstant(): - term1 = self._children[i]._children[1].term_is_a_signedFloatConstant() - if term1 is None: - i+=1 - continue - - opterm = self._children[i+1] - if opterm._children[0]._type != "op" or len(opterm._children) < 2: - i+=1 - continue - - term2 = opterm._children[1].term_is_a_signedFloatConstant() - if term2 is None: - i+=1 - continue - - op = opterm._children[0]._children[0]._text - if op != pyop: - i+=1 - continue - - try: - expr = term1._text + ' ' + op + ' ' + term2._text - result = eval(expr) - if op == '/' and float(result) == 0 and float(term1._text) !=0: - print ("Warning: A division folding resulted in a zero result", expr) - #raise Exception("divisionunderflow") - term1._text = str(result) - self._children.pop(i+1) - #print("Eval of %s to %f successful"%( expr, result)) - - - foldcount += 1 - foldedone = True - - except: - i+=1 - print ("Warning: Cant evaluate expression", expr) - - - ''' - if term1: - opterm = self._children[i+1]._type == 'opterm' - if opterm: - opterm = self._children[i+1] - if opterm._children[0]._type == "op" and opterm._children[1].term_is_a_signedFloatConstant(): - term2 = opterm._children[1].term_is_a_signedFloatConstant() - op = opterm._children[0]._children[0]._text - if op in OPS_PRECEDENCE: - term2 = opterm._children[1].term_is_a_signedFloatConstant() - if term1 and term2 and op: - try: - expr = term1 + ' ' + op + ' ' + term2 - result = eval(term1 + ' ' + op + ' ' + term2) - # replace self with term - floatConstant = Node("floatConstant", text = str(result)) - signedFloatConstant = Node("signedFloatConstant") - signedFloatConstant.add_child(floatConstant) - constant = Node("constant") - constant.add_child(signedFloatConstant) - newterm = Node("term") - newterm.add_child(constant) - self._children = [newterm] - foldcount += 1 - print("Folded expr", expr) - foldedone = True - break - except: - print ("Failed to evaluate expression", expr) - ''' - - """ - - ( - - - - - 3 - - - - - ) - - """ - if self._type == "term" and len(self._children) == 3: - symbolstart = self._children[0] - symbolend = self._children[2] - expression = self._children[1] - if symbolstart._type == "symbol" and symbolend._type == "symbol" and len(expression._children) == 1: - newterm = expression._children[0].term_is_a_signedFloatConstant() - if newterm is not None: - self._children=[expression._children[0]._children[0]] - - #print("folded parenthesis") - - foldcount += 1 - foldedone = True - - return foldcount - - ## looks like we can fold these two into a simple term - - - def __getitem__(self, i): - return self._children[i] - - def __len__(self): - return len(self._children) - - def get_children(self): - return self._children - - def get_type(self): - return self._type - - def get_text(self): - if self._text is None: - return "".join(c.get_text() for c in self._children) - return self._text - - def count_descendants(self): - d = 1 - for child in self._children: - d += child.count_descendants() - return d - - def __repr__(self) -> str: - return f'{self._type}:{self.count_descendants()}/{len(self._children)}:{self._text}' - - - -def parse_string(pump, node): - token = pump.next() - if type(token) == tuple: - token = token[0] - if len(token) == 0: - return False - if token.startswith("\""): - node.add_child(Node('stringConstant', token.strip('\"'))) - return True - return False - -def parse_int(pump, node): - token = pump.next() - if type(token) == tuple: - token = token[0] - if len(token) == 0: - return False - if token.startswith("0x"): - try: - token = str(int(token, 16)) - node.add_child(Node('integerConstant', token)) - return True - except: - return False - - if token.isdigit(): - node.add_child(Node('integerConstant', token)) - return True - return False - -def parse_identifier(pump, node): - token = pump.next() - if type(token) == tuple: - token = token[0] - if len(token) == 0: - return False - if token[0].isalpha() or token[0] == '_': - node.add_child(Node('identifier', token)) - return True - return False - -def parse_float(pump, node): - token = pump.next() - if type(token) == tuple: - token = token[0] - if len(token) == 0: - return False - if token.count(".") > 1: - return False - if token.replace(".","").isdigit(): - node.add_child(Node('floatConstant', token)) - return True - return False - -ELEMENTS_DICT = { - 'keyword' : ('piece', 'static', 'var', 'while', 'for', 'if', 'else', 'return', - 'call', 'start', 'script', 'spin', 'stop', 'turn', 'move', 'wait', - 'from', 'to', 'along', 'around', 'x', 'y', 'z', 'axis', 'speed', 'now', 'accelerate', 'decelerate', - 'hide', 'show', 'set', 'get', 'explode', 'signal', 'mask', 'emit', 'sfx', 'type', 'sleep', - 'attach', 'drop', 'unit', 'rand', 'unknown_unit_value', - 'dont', 'cache', 'shade', 'shadow', 'play', 'sound'), - 'symbol' : ('{', '}', '(', ')', '[', ']', ',', ';', '+', '-', '*', '/', '&', '|', - '<', '>', '=', '!', 'or', 'and', 'not'), -} - -ATOMS_DICT = { - '_integerConstant' : parse_int, - '_floatConstant' : parse_float, - '_stringConstant' : parse_string, - '_identifier' : parse_identifier, -} - -PARSER_DICT = { - '_file' : (('_declaration%',),), - '_declaration' : (('_pieceDec',), ('_staticVarDec',), ('_funcDec',),), - '_pieceDec' : (('piece', '_pieceName', '_commaPiece%', ';',),), - '_commaPiece' : ((',', '_pieceName',),), - '_pieceName' : (('_identifier',),), - '_staticVarDec' : (('static', '-', 'var', '_varName', '_commaVar%', ';',),), - '_commaVar' : ((',', '_varName',),), - '_varName' : (('_identifier',),), - '_funcDec' : (('_funcName', '(', '_argumentList', ')', '_statementBlock',),), - '_funcName' : (('_identifier',),), - '_argumentList' : (('_arguments?',),), - '_arguments' : (('_varName', '_commaVar%',),), - - '_statement' : (('_keywordStatement', ';',), ('_varStatement', ';',), ('_ifStatement',), ('_whileStatement',), ('_forStatement',), ('_assignStatement', ';',), (';',),), - '_assignStatement' : (('_varName', '=', '_expression',), ('_incStatement',), ('_decStatement',),), - '_incStatement' : (('+', '+', '_varName',),), - '_decStatement' : (('-', '-', '_varName',),), - '_ifStatement' : (('if', '(', '_expression', ')', '_statementBlock', '_elseBlock?',),), - '_elseBlock' : (('else', '_statementBlock',),), - '_whileStatement' : (('while', '(', '_expression', ')', '_statementBlock',),), - '_forStatement' : (('for', '(', '_expression', ';', '_expression', ';', '_expression', ';?', ')', '_statementBlock',),), - '_statementBlock' : (('{', '_statement%', '}',), ('_statement',),), - - '_keywordStatement' : ( - ('_callStatement',), - ('_startStatement',), - ('_spinStatement',), - ('_stopSpinStatement',), - ('_turnStatement',), - ('_moveStatement',), - ('_waitForTurnStatement',), - ('_waitForMoveStatement',), - ('_emitSfxStatement',), - ('_sleepStatement',), - ('_hideStatement',), - ('_showStatement',), - ('_explodeStatement',), - ('_signalStatement',), - ('_setSignalMaskStatement',), - ('_setStatement',), - ('_getStatement',), - ('_attachUnitStatement',), - ('_dropUnitStatement',), - ('_returnStatement',), - # ('_breakStatement',), - # ('_continueStatement',), - # ('_soundStatement',), - ('_playSoundStatement',), - # ('_stopSoundStatement',), - # ('_missionCommandStatement',), - ('_cacheStatement',), - ('_dontCacheStatement',), - ('_dontShadowStatement',), - ('_dontShadeStatement',), - ), - - '_varStatement' : (('var', '_arguments',),), - '_callStatement' : (('call', '-', 'script', '_funcName', '(', '_expressionList', ')',),), - '_startStatement' : (('start', '-', 'script', '_funcName', '(', '_expressionList', ')',),), - '_spinStatement' : (('spin', '_pieceName', 'around', '_axis', 'speed', '_expression', '_optionalAcceleration'),), - '_optionalAcceleration' : (('_acceleration?',),), - '_acceleration' : (('accelerate', '_expression',),), - '_stopSpinStatement' : (('stop', '-', 'spin', '_pieceName', 'around', '_axis', '_optionalDeceleration',),), - '_optionalDeceleration' : (('_deceleration?',),), - '_deceleration' : (('decelerate', '_expression',),), - '_turnStatement' : (('turn', '_pieceName', 'to', '_axis', '_expression', '_speedNow',),), - '_moveStatement' : (('move', '_pieceName', 'to', '_axis', '_expression', '_speedNow',),), - '_speedNow' : (('now',), ('speed', '_expression',),), - - '_waitForTurnStatement' : (('wait', '-', 'for', '-', 'turn', '_pieceName', 'around', '_axis',),), - '_waitForMoveStatement' : (('wait', '-', 'for', '-', 'move', '_pieceName', 'along', '_axis',),), - - '_emitSfxStatement' : (('emit', '-', 'sfx', '_expression', 'from', '_pieceName',),), - '_sleepStatement' : (('sleep', '_expression',),), - '_hideStatement' : (('hide', '_pieceName',),), - '_showStatement' : (('show', '_pieceName',),), - '_explodeStatement' : (('explode', '_pieceName', 'type', '_expression',),), - '_signalStatement' : (('signal', '_expression',),), - '_setSignalMaskStatement' : (('set', '-', 'signal','-','mask', '_expression',),), - '_setStatement' : (('set', '_expression', 'to', '_expression',),), - '_getStatement' : (('_get',),), - '_attachUnitStatement' : (('attach', '-', 'unit', '_expression', 'to', '_expression',),), - '_dropUnitStatement' : (('drop', '-', 'unit', '_expression',),), - '_returnStatement' : (('return', '_optionalExpression',),), - - '_cacheStatement' : (('cache', '_pieceName',),), - '_dontCacheStatement' : (('dont', '-', 'cache', '_pieceName',),), - '_dontShadowStatement' : (('dont', '-', 'shadow', '_pieceName',),), - '_dontShadeStatement' : (('dont', '-', 'shade', '_pieceName',),), - - '_playSoundStatement' : (('play', '-', 'sound', '(', '_stringConstant', '_commaExpression', ')'),), - - '_axis' : (('_axisLetter', '-', 'axis'),), - '_axisLetter' : (('x',),('y',),('z',),), - '_expressionList' : (('_expressions?',),), - '_expressions' : (('_expression', '_commaExpression%'),), - '_commaExpression' : ((',', '_expression'),), - '_optionalCommaExpression' : (('_commaExpression?',),), - '_expression' : (('_term', '_opterm%',),), - '_optionalExpression' : (('_expression?',),), - '_term' : (('_get',), ('_rand',), ('(', '_expression', ')',), ('_unaryOp', '_term',), ('_varName',), - ('_constant',),), - '_get' : (('get', '_term', '(', '_expression', '_optionalCommaExpression', '_optionalCommaExpression', '_optionalCommaExpression', ')',), ('get', '_term',),), - # '_unitValue' : (('_expression',),), - '_rand' : (('rand', '(' , '_expression', ',', '_expression', ')',),), - '_opterm' : (('_op', '_term',),), - '_op' : (('=', '=',), ('<' , '=',), ('>', '=',), ('!', '=',), ('|', '|',), ('&', '&',), ('+',), ('-',), ('*',), ('/',), ('&',), ('|',), ('<',), ('>',), ('OR',), ('AND',),), - '_unaryOp' : (('!',), ('NOT',),), - '_constant' : (('<', '_signedFloatConstant', '>',), ('[', '_signedFloatConstant', ']',), ('_signedFloatConstant',), ('_signedIntegerConstant',), ), - '_signedFloatConstant' : (('-', '_floatConstant',), ('_floatConstant',),), - '_signedIntegerConstant' : (('-', '_integerConstant',), ('_integerConstant',),), -} - -AXES = ('x', 'y', 'z') -IGNORED_SYMBOLS = (';','(',')', '{', '}', ',') -IGNORED_KEYWORDS = ('accelerate','decelerate') - - - - -class Compiler(object): - def __init__(self, tree): - self._static_vars = [] - self._local_vars = [] - self._pieces = [] - self._functions = [] - self._code = b"" - self._total_offset = 0 - self._functions_code = {} - self._compile_funcs = { - # 'class' : self.parse_class, - 'file' : self.parse_file, - 'staticVarDec' : self.parse_staticVarDec, - 'pieceDec' : self.parse_pieceDec, - 'funcDec' : self.parse_funcDec, - 'arguments' : self.parse_arguments, - 'assignStatement' : self.parse_assignStatement, - 'incStatement' : self.parse_incStatement, - 'decStatement' : self.parse_decStatement, - 'keywordStatement' : self.parse_keywordStatement, - 'varStatement' : self.parse_varStatement, - 'rand' : self.parse_rand, - 'get' : self.parse_get, - 'ifStatement' : self.parse_ifStatement, - 'whileStatement' : self.parse_whileStatement, - 'term' : self.parse_term, - 'unaryOp' : self.parse_unaryOp, - 'constant' : self.parse_constant, - 'expression' : self.parse_expression, - # 'stringConstant' : self.parse_stringConstant, - 'symbol' : self.parse_symbol, - 'keyword' : self.parse_keyword, - } - self._vars_to_push_opcodes = ( - (self._local_vars, OPCODES["PUSH_LOCAL_VAR"]), - (self._static_vars, OPCODES["PUSH_STATIC"]), - (self._pieces, OPCODES["PUSH_CONSTANT"]), - ) - self._vars_to_pop_opcodes = ( - (self._local_vars, OPCODES["POP_LOCAL_VAR"]), - (self._static_vars, OPCODES["POP_STATIC"]), - ) - self.parse(tree) - - def current_offset(self): - return self._total_offset + len(self._code) // 4 - - def parse(self, node): - if type(self._code) != type(b""): - pass - node_type = node.get_type() - if node_type in self._compile_funcs: - self._compile_funcs[node_type](node) - if type(self._code) != type(b""): - pass - else: - self.parse_children(node) - if type(self._code) != type(b""): - pass - - def parse_children(self, node): - if type(self._code) != type(b""): - pass - if len(node.get_children()) == 0: - raise Exception("node not handled %s: %s" % (node.get_type(),node.get_text())) - for child in node.get_children(): - self.parse(child) - - def parse_file(self, node): - for child_node in node.get_children(): - if child_node[0].get_type() == 'funcDec': - self._functions.append(child_node[0][0].get_text()) - - self.parse_children(node) - - def parse_staticVarDec(self, node): - self._static_vars.append(node[3].get_text()) - - for comma_var in node.get_children()[4:]: - if comma_var.get_type() == 'commaVar': - self._static_vars.append(comma_var[1].get_text()) - - def parse_pieceDec(self, node): - self._pieces.append(node[1].get_text()) - - for comma_piece in node.get_children()[2:]: - if comma_piece.get_type() == 'commaPiece': - self._pieces.append(comma_piece[1].get_text()) - - def parse_funcDec(self, node): - del self._local_vars[0:] - self._code = b"" - if len(node[2].get_children()) > 0: - self.parse(node[2]) - - code_len = len(self._code) - self.parse(node[4]) - - #clean code if empty - if len(self._code) == code_len: - self._code = b"" - - #insert return if necessary - if self._code[-4:] != OPCODES['RETURN']: - self._code += OPCODES['PUSH_CONSTANT'] + get_num(0) - self._code += OPCODES['RETURN'] - - self._total_offset += len(self._code) // 4 - self._functions_code[node[0].get_text()] = self._code - - - def parse_varStatement(self, node): - self.parse(node[1]) - - def parse_arguments(self, node): - if len(node.get_children()) == 0: - return - - self._local_vars.append(node[0].get_text()) - self._code += OPCODES['CREATE_LOCAL_VAR'] - - for comma_var in node.get_children()[1:]: - if comma_var.get_type() == 'commaVar': - self._local_vars.append(comma_var[1].get_text()) - self._code += OPCODES['CREATE_LOCAL_VAR'] - - - def parse_assignStatement(self, node): - if len(node.get_children()) < 3: - self.parse_children(node) - return - - self.parse(node[2]) - - self._code += self.get_variable(node[0].get_text(), False) - - - def parse_incStatement(self, node): - self._code += b"%s%s%s%s%s" % (self.get_variable(node[2].get_text(), True), - OPCODES['PUSH_CONSTANT'], - get_num(1), - OPCODES['ADD'], - self.get_variable(node[2].get_text(), False)) - - def parse_decStatement(self, node): - self._code += b"%s%s%s%s%s" % (self.get_variable(node[2].get_text(), True), - OPCODES['PUSH_CONSTANT'], - get_num(1), - OPCODES['SUB'], - self.get_variable(node[2].get_text(), False)) - - - def parse_keywordStatement(self, node): - node = node[0] - - #get result needs to be handled separately and removed from the stack - if len(node[0].get_children()) > 0 and node[0][0].get_text() == 'get': - self.parse(node) - self._code += OPCODES['POP_STACK'] - return - - keyword = node[0].get_text() - - i = 0 - #fix split keywords - while node[i + 1].get_text() == '-': - keyword += '-%s' % (node[i + 2].get_text()) - i += 2 - - if keyword == 'set' or keyword == 'attach-unit': - children = node.get_children() - else: - children = node.get_children()[::-1] - - - arguments = [] - for child_node in children: - if child_node.get_type() == 'pieceName': - piece_name = child_node.get_text() - piece_index = index(self._pieces, piece_name) - if piece_index < 0: - raise Exception('Piece not found: %s' % (piece_name,)) - arguments.append(piece_index) - elif child_node.get_type() == 'funcName': - func_name = child_node.get_text() - func_index = index(self._functions, func_name) - if func_index < 0: - raise Exception("Function not found: %s" % (func_name,)) - arguments.append(func_index) - elif child_node.get_type() == 'axis': - arguments.append(AXES.index(child_node[0].get_text())) - elif child_node.get_type() == 'expression': - self.parse(child_node) - elif child_node.get_type() == 'expressionList': - if len(child_node.get_children()) > 0: - self.parse(child_node[0]) - arguments.append(len(child_node[0].get_children())) - else: - arguments.append(0) - elif child_node.get_type() == 'speedNow': - if child_node[0].get_text() == 'now': - keyword += "-now" - else: - self.parse(child_node[1]) - elif child_node.get_type().startswith('optional'): - if len(child_node.get_children()) == 0: - self._code += OPCODES['PUSH_CONSTANT'] + get_num(0) - else: - self.parse_children(child_node) - - #has a dummy arg :( - if keyword == 'attach-unit': - self._code += OPCODES['PUSH_CONSTANT'] + get_num(0) - - opcode_name = keyword.upper().replace("-","_") - - if opcode_name in OPCODES: - opcode = OPCODES[opcode_name] - else: - raise Exception('Unhandled keyword %s %s' % (keyword, opcode_name)) - - self._code += opcode + struct.pack("<%dL" % len(arguments), *arguments[::-1]) - - - def parse_get(self, node): - num_expressions = 0 - for child_node in node.get_children()[1:]: - if child_node.get_type() == 'expression' or child_node.get_type() == 'term': - self.parse(child_node) - num_expressions += 1 - elif child_node.get_type().startswith('optional'): - num_expressions += 1 - if len(child_node.get_children()) == 0: - self._code += OPCODES['PUSH_CONSTANT'] + get_num(0) - else: - self.parse_children(child_node) - - if num_expressions == 1: - self._code += OPCODES['GET_UNIT_VALUE'] - return - - self._code += OPCODES['GET'] - return - - def parse_rand(self, node): - self.parse(node[2]) - self.parse(node[4]) - self._code += OPCODES['RAND'] - return - - - def parse_ifStatement(self, node): - has_else = len(node.get_children()) > 5 - self.parse(node[2]) - self._code += OPCODES['JUMP_NOT_EQUAL'] - condition_jump = len(self._code) - self._code += get_num(0) #placeholder - self.parse(node[4]) - if has_else: - self._code += OPCODES['JUMP'] - else_jump = len(self._code) - self._code += get_num(0) #placeholder - - self._code = b"%s%s%s" % (self._code[:condition_jump], get_num(self.current_offset()), self._code[condition_jump + 4:]) - - if has_else: - self.parse(node[5][1]) - self._code = b"%s%s%s" % (self._code[:else_jump], get_num(self.current_offset()), self._code[else_jump + 4:]) - - - def parse_expression(self, node): - self.parse(node[0]) - - if len(node.get_children()) == 1: - return - - op_stack = [] - for op_term in node.get_children()[1:]: - op = op_term[0].get_text() - while len(op_stack) > 0 and OPS_PRECEDENCE[op_stack[-1]] <= OPS_PRECEDENCE[op]: - self._code += OPS[op_stack.pop()] - self.parse(op_term[1]) - op_stack.append(op) - while len(op_stack) > 0: - self._code += OPS[op_stack.pop()] - - - def parse_whileStatement(self, node): - start = self.current_offset() - self.parse(node[2]) - self._code += OPCODES['JUMP_NOT_EQUAL'] - condition_jump = len(self._code) - self._code += get_num(0) #placeholder - self.parse(node[4]) - self._code += OPCODES['JUMP'] - self._code += get_num(start) - self._code = b"%s%s%s" % (self._code[:condition_jump], get_num(self.current_offset()), self._code[condition_jump + 4:]) - - - def parse_term(self, node): - if node[0].get_type() == 'unaryOp': - self.parse(node[1]) - self.parse(node[0]) - elif node[0].get_type() == 'varName': - self._code += self.get_variable(node[0].get_text(), True) - else: - self.parse_children(node) - - def parse_constant(self, node): - opcode = OPCODES['PUSH_CONSTANT'] - if type(opcode)!= type(self._code): - pass - self._code += opcode - if len(node.get_children()) == 1: #normal number - value = round(float(node.get_text())) - if value < 0: - self._code += get_signed_num(value) - else: - self._code += get_num(value) - else: - if node[0].get_text() == '[': - value = int(LINEAR_SCALE * float(node[1].get_text())) - elif node[0].get_text() == '<': - value = int(ANGULAR_SCALE * float(node[1].get_text())) - else: - raise Exception("Unhandled fancy number: %s" % (node.get_text(),)) - if value < 0: - self._code += get_signed_num(value) - else: - self._code += get_num(value) - - def parse_stringConstant(self, node): - raise Exception("strings not yet implemented") - - def parse_op(self, node): - opcode = OPCODES['PUSH_CONSTANT'] - if type(opcode)!= type(self._code): - pass - self._code += OPS[node.get_text()] - - def parse_unaryOp(self, node): - self._code += UNARY_OPS[node.get_text()] - - def parse_symbol(self, node): - symbol = node.get_text() - if symbol not in IGNORED_SYMBOLS: - raise Exception("Unhandled symbol %s" % (symbol,)) - - def parse_keyword(self, node): - keyword = node.get_text() - if keyword not in IGNORED_KEYWORDS: - raise Exception("Unhandled keyword %s" % (keyword,)) - - def get_variable(self, var_name, push): - if push: - opcodes = self._vars_to_push_opcodes - else: - opcodes = self._vars_to_pop_opcodes - - for vars, opcode in opcodes: - i = index(vars, var_name) - if i < 0: - continue - return opcode + get_num(i) - raise Exception("Var not found: %s" % (var_name,)) - - def get_cob(self): - cob = cob_file.COB(self._functions, self._functions_code, self._pieces, self._static_vars, []) - return cob.get_content() - - - -class Pump(object): - def __init__(self, generator): - leftovers = [] - for token, idx in generator: - #For some godforsaken reason, the generator sometimes returns nested tuples, - while(type(token) == tuple): - token = token[0] - #if type(token) == type((1,1)): - # token, idx = token[0], token[1] - - - leftovers.append((token,idx)) - #print ("__init__(self, generator):",token,idx) - if type(token) == type((1,1)): - print(generator, token, idx) - #print(generator.gi_frame.f_locals['context']) - #raise ValueError("returned a tuple", token, idx) - #exit(1) - self._leftovers = leftovers - #self._leftovers = [(token, idx) for token, idx in generator] - self._index = 0 - self._max_index = 0 - self.trace_tokens = {} # A list of lines? - - def next(self): - if self._index < len(self._leftovers): - token, idx = self._leftovers[self._index] - - #print(token,idx) - self._index += 1 - self._max_index = max(self._max_index, self._index) - return token - else: - return "" - - - def update(self, result, index = 0): - if not result: - self._index = index - - def get_index(self): - return self._index - - -def parse(pump, node, block_type): - if block_type in ATOMS_DICT: - return ATOMS_DICT[block_type](pump, node) - for element_type in ELEMENTS_DICT: - if block_type.lower() in ELEMENTS_DICT[element_type]: - next = pump.next() - #print ("parse", next, pump) - if type(next) == type((1,1)): - print ("Fixing next", next) - next = next[0] - if next.lower() == block_type.lower(): - node.add_child(Node(element_type, next)) - return True - return False - current_node = Node(block_type.strip('?%_')) - for alternative in PARSER_DICT[block_type]: - alternative_correct = True - index = pump.get_index() - for child_type in alternative: - maybe = False - multiple = False - if child_type.endswith('%'): - maybe = True - multiple = True - elif child_type.endswith('?'): - maybe = True - else: - maybe = False - - first = True - while first or multiple: - first = False - result = try_parse(pump, current_node, child_type.strip('?%')) - if not result: - break - if not (result or maybe): - alternative_correct = False - break - if alternative_correct: - node.add_child(current_node) - return True - pump.update(False, index) - current_node.clear() - return False - -def try_parse(pump, node, block_type): - index = pump.get_index() - result = parse(pump, node, block_type) - pump.update(result, index) - return result - - - - -def token_generator(code): - symbol_delimiters = ['{', '}', '[', ']', '(', ')', ' ', '&', '|', '+', '-', '*', '/', ',', ';', '<', '>', '=', '!', '#', '\t', '\r', '\n', '\\'] - is_line_comment = False - is_multi_line_comment = False - is_in_quotation = False - is_preprocessor = False - skip = False - - idx = 0 - prev_idx = 0 - - while (idx < len(code)): - #print(idx, code[prev_idx:idx]) - if not is_line_comment and not is_multi_line_comment and not is_in_quotation and code[idx] == '"': - is_in_quotation = True - prev_idx = idx - idx+=1 - continue - - if not is_line_comment and not is_multi_line_comment and is_in_quotation and code[idx] == '"': - is_in_quotation = False - idx+=1 - - #print(1, code[prev_idx:idx], idx) - yield code[prev_idx:idx], idx - prev_idx = idx - continue - - if not is_line_comment and not is_multi_line_comment and not is_in_quotation and code[idx:idx+2] == "//": - is_line_comment = True - s = code[prev_idx:idx].strip() - if len(s) > 0: - - #print(2, s, idx) - yield s, idx - if is_preprocessor: - is_preprocessor = False - #print(3, '$', idx) - yield '$', idx - idx+=2 - prev_idx = idx - continue - - if not is_line_comment and not is_multi_line_comment and not is_in_quotation and code[idx:idx+2] == "/*": - is_multi_line_comment = True - s = code[prev_idx:idx].strip() - if len(s) > 0: - #print(4, s, idx) - yield s, idx - idx+=2 - prev_idx = idx - continue - - if not is_line_comment and not is_multi_line_comment and not is_in_quotation and not is_preprocessor and code[idx] == "#": - is_preprocessor = True - s = code[prev_idx:idx].strip() - if len(s) > 0: - - #print(5, s, idx) - yield s, idx - #print(6, "#", idx) - yield '#', idx - idx+=1 - prev_idx = idx - continue - - if not is_line_comment and not is_multi_line_comment and not is_in_quotation and is_preprocessor and code[idx] == "\n" and code[idx-1:idx] != '\\' and code[idx-2:idx] != '\\\r': - is_preprocessor = False - s = code[prev_idx:idx].strip() - if len(s) > 0: - - #print(7, s, idx) - yield s, idx - - #print(8, '$', idx) - yield '$', idx #mark end of preprocessor directive - idx+=1 - prev_idx = idx - continue - - if is_line_comment and code[idx:idx+1] == '\n': - is_line_comment = False - idx+=1 - prev_idx = idx - continue - - if is_multi_line_comment and code[idx:idx+2] == "*/": - is_multi_line_comment = False - idx+=2 - prev_idx = idx - continue - - skip = is_multi_line_comment or is_line_comment or is_in_quotation - if not skip and (code[idx] in symbol_delimiters): - token = code[prev_idx:idx].strip().strip('\\') - if len(token) > 0: - #print(9, token,idx) - yield token, idx - - symbol_token = code[idx:idx+1].strip().strip('\\') - if len(symbol_token) > 0: - #print(10, symbol_token,idx) - yield symbol_token, idx - - idx+=1 - prev_idx=idx - continue - - idx+=1 - - if not skip and idx == len(code): - token = code[prev_idx:idx].strip() - prev_idx = idx - if len(token) > 0: - #print(11, token,idx) - yield token, idx - return - - -def preprocess(code, include_path, defs = {"TRUE" : "1", "FALSE" : "0", "UNKNOWN_UNIT_VALUE" : ""}, recursion = 0): - if recursion > 10: - print ("Error: recursion limit reached") - exit(1) - - gen = token_generator(code) - is_preprocessor_directive = False - skip = 0 - ifs = 0 - while True: - try: - token, idx = gen.__next__() - #print (token) - except Exception as e: - if ifs > 0: - print ("Error: Missing #endif at %d"%(idx)) - exit(1) - if is_preprocessor_directive: - print ("Preprocessor error at %d"%(idx)) - exit(1) - break - - if token == '#': - is_preprocessor_directive = True - continue - - if token == '$': - continue - - if not is_preprocessor_directive: - if skip > 0: - continue - if token not in defs: - yield token, idx - continue - - for prep_tokens in preprocess(defs[token], include_path, defs, recursion + 1): - yield prep_tokens, idx - continue - - is_preprocessor_directive = False - - if token.lower() == 'include': - if skip > 0: - continue - included, idx = gen.__next__() - included = included.strip('"') - try: - if not os.path.exists(included): - alt_path = os.path.join(include_path, included) - if not os.path.exists(alt_path): - print ('Error: can\'t find %s at %d' %( included, idx)) - exit(1) - included = alt_path - - content = open(included, 'r').read() - print ("Opening include file", included) - for prep_tokens in preprocess(content, include_path, defs, recursion + 1): - #print (prep_tokens,idx) - yield prep_tokens, idx - except: - print ('Error: Couldn\'t include %s, at token %s at %d' % (included, token, idx)) - exit(1) - continue - - if token.lower() == 'define': - if skip > 0: - continue - current_definition, idx = gen.__next__() - defs[current_definition] = "" - while True: - token, idx = gen.__next__() - if token == '$': - break - defs[current_definition] += " " + token - continue - - if token.lower() == 'undef': - if skip > 0: - continue - current_definition, idx = gen.__next__() - del defs[current_definition] - continue - - if token.lower() == 'ifdef': - ifs += 1 - if skip > 0: - skip += 1 - continue - current_definition, idx = gen.__next__() - if current_definition not in defs: - skip += 1 - - continue - - if token.lower() == 'ifndef': - ifs += 1 - if skip > 0: - skip += 1 - continue - - current_definition, idx = gen.__next__() - if current_definition in defs: - skip += 1 - - continue - - if token.lower() == 'if': - ifs += 1 - if skip > 0: - skip += 1 - continue - query = "" - while True: - token, idx = gen.__next__() - if token == '$': - break - else: - query += token - - query = "".join(preprocess(query, include_path, defs, recursion + 1)) - result = eval(query.strip()) - if not result or result == 0: - skip += 1 - continue - - if token.lower() == 'else': - if skip == 1: - skip = 0 - elif skip == 0: - skip = 1 - continue - - if token.lower() == 'endif': - if ifs == 0: - print ("Error: extraneous #endif at %d" % (idx)) - exit(1) - ifs -= 1 - if skip > 0: - skip -= 1 - continue - - print ("Error: unhandled token %s at %d" % (token,idx)) - exit(1) - - -''' -import pcpp -from io import StringIO - -# Custom Preprocessor class inheriting from pcpp.Preprocessor -class MyPreprocessor(pcpp.Preprocessor): - def __init__(self, input_string): - super(MyPreprocessor, self).__init__() - # Use StringIO to simulate file input and output - self.line_directive = None - self.input = input_string - self.output = StringIO() - - def preprocess(self): - # Parse and preprocess the input - defaults = '#define TRUE 1\r\n#define FALSE 0\r\n#define UNKNOWN_UNIT_VALUE \r\n' - self.parse(defaults + self.input) - self.write(self.output) - # Return the preprocessed output as a string - return self.output.getvalue() -''' - -def main(path, output_path = None, write_ast = False): - if path[-1] == '/': - input_path = path[:-1] - else: - input_path = path - if not os.path.exists(input_path): - print ("File %s doesn't exist" % (input_path,)) - exit() - if os.path.isdir(input_path): - #include_path = input_path - sys.path.append(input_path) - files = glob(os.path.join(input_path,"*.%s" % (BOS_EXT,))) - else: - files = [input_path] - input_path = os.path.split(input_path)[0] - if output_path is None: - output_path = "%s.%s" % (os.path.splitext(input_path)[0], COB_EXT) - for bos_file_path in files: - print ("Preprocessing %s" % (bos_file_path,)) - root = Node('root') - content = open(bos_file_path, 'r').read() # why rb binary? - #pcpp_preproc = MyPreprocessor(content) - #content = pcpp_preproc.preprocess() - # FOR SOME GODFORSAKEN REASON THE DEFS DICT IS RETAINED AND HAS TO BE REDEFINED HERE! - pump = Pump(preprocess(content, input_path, defs = {"TRUE" : "1", "FALSE" : "0", "UNKNOWN_UNIT_VALUE" : ""})) - print ("Parsing %s"%(bos_file_path)) - result = try_parse(pump, root, '_file') - if len(pump.next()) != 0: - print("Leftovers while parsing:") - print (pump._leftovers[pump._index - 1:pump._max_index], pump._index, pump._max_index) - print("At: " + ''.join([t[0] for t in pump._leftovers[pump._index - 1:pump._max_index]])) - print ("Syntax Error!") - lines = content.splitlines() - for j in range(pump._max_index -4, pump._max_index): - word, offset = pump._leftovers[j] - searchpos = 0 - for i,line in enumerate(lines): - #print (len(line)) - searchpos += len(line) + 1 - if searchpos > offset: - print("%d: At line %d (offset = %d) with token %s "%(j, i+1, offset, word )) - break - - exit(1) - - - output_path = "%s.%s" % (os.path.splitext(bos_file_path)[0], COB_EXT) - #root.print_node() - # output_file = open(output_path, "wb") - # sys.stdout = output_file - - print ("Folding Constants %s"%(bos_file_path)) - foldcount = root.fold_node() - - if write_ast: - root.print_node(verbose=False, out_file=(open(output_path+"_intermediate.ast",'w'))) - - print("Folded %d constants" %foldcount) - - print ("Compiling %s"%(bos_file_path)) - comp = Compiler(root) - - #OUTPUT NEW COB - - data = comp.get_cob() - #print (len(data)) - print("bos2cob Compile success, Writing:", output_path) - output_file = open(output_path, "wb") - output_file.write(data) - - - - #DEBUG FUNCTIONS - - # for f in comp._functions: - # func_path = "%s_%s.%s" % (os.path.splitext(bos_file_path)[0], f, COB_EXT) - # open(func_path, "wb").write(comp._functions_code[f]) - - - - # COMPARE TO COBS - - # original_path = "%s.%s" % (os.path.splitext(bos_file_path)[0], COB_EXT) - # if os.path.exists(original_path): - # original_data = open(original_path, "rb").read() - # if original_data == data: - # print "Binary same!" - # else: - # output_path = "%s.new.%s" % (os.path.splitext(bos_file_path)[0], COB_EXT) - # output_file = open(output_path, "wb") - # output_file.write(data) - # output_file.close() - # else: - # print "Nothing to compare to!" - - - -if __name__ == '__main__': - if len(sys.argv)>1: - main(sys.argv[1]) - else: - print ("Specify a path to a .%s file, or a path to a directory containing .%s files"%(BOS_EXT,BOS_EXT)) - - #main("raptorscopy/raptor_worm_m.bos") - #main("unitscopy/") \ No newline at end of file diff --git a/scripts/Raptors/bos2cob_python2.py b/scripts/Raptors/bos2cob_python2.py deleted file mode 100644 index e335ad96bdb..00000000000 --- a/scripts/Raptors/bos2cob_python2.py +++ /dev/null @@ -1,1226 +0,0 @@ -# written by ashdnazg https://github.com/ashdnazg/bos2cob -# released under the GNU GPL v3 license - -import sys -import sys -import os.path -from glob import glob -import struct -import cob_file - -LINEAR_SCALE = 65536 -ANGULAR_SCALE = 182 - -OPCODES = { - 'MOVE' : 0x10001000, - 'TURN' : 0x10002000, - 'SPIN' : 0x10003000, - 'STOP_SPIN' : 0x10004000, - 'SHOW' : 0x10005000, - 'HIDE' : 0x10006000, - 'CACHE' : 0x10007000, - 'DONT_CACHE' : 0x10008000, - 'MOVE_NOW' : 0x1000B000, - 'TURN_NOW' : 0x1000C000, - 'SHADE' : 0x1000D000, - 'DONT_SHADE' : 0x1000E000, - 'DONT_SHADOW' : 0x1000E000, - 'EMIT_SFX' : 0x1000F000, - - 'WAIT_FOR_TURN' : 0x10011000, - 'WAIT_FOR_MOVE' : 0x10012000, - 'SLEEP' : 0x10013000, - - 'PUSH_CONSTANT' : 0x10021001, - 'PUSH_LOCAL_VAR' : 0x10021002, - 'PUSH_STATIC' : 0x10021004, - 'CREATE_LOCAL_VAR' : 0x10022000, - 'POP_LOCAL_VAR' : 0x10023002, - 'POP_STATIC' : 0x10023004, - 'POP_STACK' : 0x10024000, - - 'ADD' : 0x10031000, - 'SUB' : 0x10032000, - 'MUL' : 0x10033000, - 'DIV' : 0x10034000, - 'MOD' : 0x10034001, - 'BITWISE_AND' : 0x10035000, - 'BITWISE_OR' : 0x10036000, - 'BITWISE_XOR' : 0x10037000, - 'BITWISE_NOT' : 0x10038000, - - 'RAND' : 0x10041000, - 'GET_UNIT_VALUE' : 0x10042000, - 'GET' : 0x10043000, - - 'SET_LESS' : 0x10051000, - 'SET_LESS_OR_EQUAL' : 0x10052000, - 'SET_GREATER' : 0x10053000, - 'SET_GREATER_OR_EQUAL' : 0x10054000, - 'SET_EQUAL' : 0x10055000, - 'SET_NOT_EQUAL' : 0x10056000, - 'LOGICAL_AND' : 0x10057000, - 'LOGICAL_OR' : 0x10058000, - 'LOGICAL_XOR' : 0x10059000, - 'LOGICAL_NOT' : 0x1005A000, - - 'START_SCRIPT' : 0x10061000, - 'CALL_SCRIPT' : 0x10062000, - 'REAL_CALL' : 0x10062001, - 'LUA_CALL' : 0x10062002, - 'JUMP' : 0x10064000, - 'RETURN' : 0x10065000, - 'JUMP_NOT_EQUAL' : 0x10066000, - 'SIGNAL' : 0x10067000, - 'SET_SIGNAL_MASK' : 0x10068000, - - 'EXPLODE' : 0x10071000, - 'PLAY_SOUND' : 0x10072000, - - 'SET' : 0x10082000, - 'ATTACH_UNIT' : 0x10083000, - 'DROP_UNIT' : 0x10084000, -} -for key in OPCODES: - OPCODES[key] = struct.pack("' : OPCODES['SET_GREATER'], - '==' : OPCODES['SET_EQUAL'], - '<=' : OPCODES['SET_LESS_OR_EQUAL'], - '>=' : OPCODES['SET_GREATER_OR_EQUAL'], - '!=' : OPCODES['SET_NOT_EQUAL'], - '&&' : OPCODES['LOGICAL_AND'], - '||' : OPCODES['LOGICAL_OR'], - 'AND' : OPCODES['LOGICAL_AND'], - 'and' : OPCODES['LOGICAL_AND'], - 'OR' : OPCODES['LOGICAL_OR'], - 'or' : OPCODES['LOGICAL_OR'], -} - -OPS_PRECEDENCE = { - '*' : 1, - '/' : 1, - '+' : 2, - '-' : 2, - '<' : 3, - '>' : 3, - '<=' : 3, - '>=' : 3, - '==' : 4, - '!=' : 4, - '&' : 5, - '|' : 6, - '&&' : 7, - 'AND' : 7, - 'and' : 7, - '||' : 8, - 'OR' : 8, - 'or' : 8, -} - -UNARY_OPS = { - 'NOT' : OPCODES['LOGICAL_NOT'], - '!' : OPCODES['LOGICAL_NOT'], -} - -BOS_EXT = 'bos' -COB_EXT = 'cob' - -PRINTED_NODES = {'keyword', 'symbol', 'integerConstant', 'floatConstant', 'identifier', - 'argumentList', 'staticVarDec', 'pieceDec', 'localVarDec', - 'funcDec', 'funcBody', 'ifStatement', 'whileStatement', 'forStatement', - 'callStatement', - 'startStatement', - 'spinStatement', - 'stopSpinStatement', - 'turnStatement', - 'moveStatement', - 'waitForTurnStatement', - 'waitForMoveStatement', - 'emitSfxStatement', - 'sleepStatement', - 'hideStatement', - 'showStatement', - 'explodeStatement', - 'signalStatement', - 'setSignalMaskStatement', - 'setStatement', - 'getStatement', - 'attachUnitStatement', - 'dropUnitStatement', - 'returnStatement', - 'expression', 'term', - 'expressionList'} - -def escape(s): - return s.replace('&','&').replace('>','>').replace('<','<').replace('\"','"') - -class Node(object): - def __init__(self, node_type, text = None): - self._type = node_type - self._text = text - self._children = [] - - def add_child(self, child): - self._children.append(child) - - def clear(self): - self._children = [] - - def print_node(self, indent = 0, out_file = sys.stdout): - if self._type in PRINTED_NODES: - indentation = ' ' * indent - if self._text is not None: - out_file.write("%s<%s> %s \n" %(indentation, self._type, escape(self._text), self._type)) - else: - out_file.write("%s<%s>\n" % (indentation, self._type)) - for child in self._children: - child.print_node(indent + 1, out_file=out_file) - out_file.write("%s\n" % (indentation, self._type)) - else: - for child in self._children: - child.print_node(indent, out_file=out_file) - - def __getitem__(self, i): - return self._children[i] - - def __len__(self): - return len(self._children) - - def get_children(self): - return self._children - - def get_type(self): - return self._type - - def get_text(self): - if self._text is None: - return "".join(c.get_text() for c in self._children) - return self._text - -def parse_string(pump, node): - token = pump.next() - if type(token) == tuple: - token = token[0] - if len(token) == 0: - return False - if token.startswith("\""): - node.add_child(Node('stringConstant', token.strip('\"'))) - return True - return False - -def parse_int(pump, node): - token = pump.next() - if type(token) == tuple: - token = token[0] - if len(token) == 0: - return False - if token.startswith("0x"): - try: - token = str(int(token, 16)) - node.add_child(Node('integerConstant', token)) - return True - except: - return False - - if token.isdigit(): - node.add_child(Node('integerConstant', token)) - return True - return False - -def parse_identifier(pump, node): - token = pump.next() - if type(token) == tuple: - token = token[0] - if len(token) == 0: - return False - if token[0].isalpha() or token[0] == '_': - node.add_child(Node('identifier', token)) - return True - return False - -def parse_float(pump, node): - token = pump.next() - if type(token) == tuple: - token = token[0] - if len(token) == 0: - return False - if token.count(".") > 1: - return False - if token.replace(".","").isdigit(): - node.add_child(Node('floatConstant', token)) - return True - return False - -ELEMENTS_DICT = { - 'keyword' : ('piece', 'static', 'var', 'while', 'for', 'if', 'else', 'return', - 'call', 'start', 'script', 'spin', 'stop', 'turn', 'move', 'wait', - 'from', 'to', 'along', 'around', 'x', 'y', 'z', 'axis', 'speed', 'now', 'accelerate', 'decelerate', - 'hide', 'show', 'set', 'get', 'explode', 'signal', 'mask', 'emit', 'sfx', 'type', 'sleep', - 'attach', 'drop', 'unit', 'rand', 'unknown_unit_value', - 'dont', 'cache', 'shade', 'shadow', 'play', 'sound'), - 'symbol' : ('{', '}', '(', ')', '[', ']', ',', ';', '+', '-', '*', '/', '&', '|', - '<', '>', '=', '!', 'or', 'and', 'not'), -} - -ATOMS_DICT = { - '_integerConstant' : parse_int, - '_floatConstant' : parse_float, - '_stringConstant' : parse_string, - '_identifier' : parse_identifier, -} - -PARSER_DICT = { - '_file' : (('_declaration%',),), - '_declaration' : (('_pieceDec',), ('_staticVarDec',), ('_funcDec',),), - '_pieceDec' : (('piece', '_pieceName', '_commaPiece%', ';',),), - '_commaPiece' : ((',', '_pieceName',),), - '_pieceName' : (('_identifier',),), - '_staticVarDec' : (('static', '-', 'var', '_varName', '_commaVar%', ';',),), - '_commaVar' : ((',', '_varName',),), - '_varName' : (('_identifier',),), - '_funcDec' : (('_funcName', '(', '_argumentList', ')', '_statementBlock',),), - '_funcName' : (('_identifier',),), - '_argumentList' : (('_arguments?',),), - '_arguments' : (('_varName', '_commaVar%',),), - - '_statement' : (('_keywordStatement', ';',), ('_varStatement', ';',), ('_ifStatement',), ('_whileStatement',), ('_forStatement',), ('_assignStatement', ';',), (';',),), - '_assignStatement' : (('_varName', '=', '_expression',), ('_incStatement',), ('_decStatement',),), - '_incStatement' : (('+', '+', '_varName',),), - '_decStatement' : (('-', '-', '_varName',),), - '_ifStatement' : (('if', '(', '_expression', ')', '_statementBlock', '_elseBlock?',),), - '_elseBlock' : (('else', '_statementBlock',),), - '_whileStatement' : (('while', '(', '_expression', ')', '_statementBlock',),), - '_forStatement' : (('for', '(', '_expression', ';', '_expression', ';', '_expression', ';?', ')', '_statementBlock',),), - '_statementBlock' : (('{', '_statement%', '}',), ('_statement',),), - - '_keywordStatement' : ( - ('_callStatement',), - ('_startStatement',), - ('_spinStatement',), - ('_stopSpinStatement',), - ('_turnStatement',), - ('_moveStatement',), - ('_waitForTurnStatement',), - ('_waitForMoveStatement',), - ('_emitSfxStatement',), - ('_sleepStatement',), - ('_hideStatement',), - ('_showStatement',), - ('_explodeStatement',), - ('_signalStatement',), - ('_setSignalMaskStatement',), - ('_setStatement',), - ('_getStatement',), - ('_attachUnitStatement',), - ('_dropUnitStatement',), - ('_returnStatement',), - # ('_breakStatement',), - # ('_continueStatement',), - # ('_soundStatement',), - ('_playSoundStatement',), - # ('_stopSoundStatement',), - # ('_missionCommandStatement',), - ('_cacheStatement',), - ('_dontCacheStatement',), - ('_dontShadowStatement',), - ('_dontShadeStatement',), - ), - - '_varStatement' : (('var', '_arguments',),), - '_callStatement' : (('call', '-', 'script', '_funcName', '(', '_expressionList', ')',),), - '_startStatement' : (('start', '-', 'script', '_funcName', '(', '_expressionList', ')',),), - '_spinStatement' : (('spin', '_pieceName', 'around', '_axis', 'speed', '_expression', '_optionalAcceleration'),), - '_optionalAcceleration' : (('_acceleration?',),), - '_acceleration' : (('accelerate', '_expression',),), - '_stopSpinStatement' : (('stop', '-', 'spin', '_pieceName', 'around', '_axis', '_optionalDeceleration',),), - '_optionalDeceleration' : (('_deceleration?',),), - '_deceleration' : (('decelerate', '_expression',),), - '_turnStatement' : (('turn', '_pieceName', 'to', '_axis', '_expression', '_speedNow',),), - '_moveStatement' : (('move', '_pieceName', 'to', '_axis', '_expression', '_speedNow',),), - '_speedNow' : (('now',), ('speed', '_expression',),), - - '_waitForTurnStatement' : (('wait', '-', 'for', '-', 'turn', '_pieceName', 'around', '_axis',),), - '_waitForMoveStatement' : (('wait', '-', 'for', '-', 'move', '_pieceName', 'along', '_axis',),), - - '_emitSfxStatement' : (('emit', '-', 'sfx', '_expression', 'from', '_pieceName',),), - '_sleepStatement' : (('sleep', '_expression',),), - '_hideStatement' : (('hide', '_pieceName',),), - '_showStatement' : (('show', '_pieceName',),), - '_explodeStatement' : (('explode', '_pieceName', 'type', '_expression',),), - '_signalStatement' : (('signal', '_expression',),), - '_setSignalMaskStatement' : (('set', '-', 'signal','-','mask', '_expression',),), - '_setStatement' : (('set', '_expression', 'to', '_expression',),), - '_getStatement' : (('_get',),), - '_attachUnitStatement' : (('attach', '-', 'unit', '_expression', 'to', '_expression',),), - '_dropUnitStatement' : (('drop', '-', 'unit', '_expression',),), - '_returnStatement' : (('return', '_optionalExpression',),), - - '_cacheStatement' : (('cache', '_pieceName',),), - '_dontCacheStatement' : (('dont', '-', 'cache', '_pieceName',),), - '_dontShadowStatement' : (('dont', '-', 'shadow', '_pieceName',),), - '_dontShadeStatement' : (('dont', '-', 'shade', '_pieceName',),), - - '_playSoundStatement' : (('play', '-', 'sound', '(', '_stringConstant', '_commaExpression', ')'),), - - '_axis' : (('_axisLetter', '-', 'axis'),), - '_axisLetter' : (('x',),('y',),('z',),), - '_expressionList' : (('_expressions?',),), - '_expressions' : (('_expression', '_commaExpression%'),), - '_commaExpression' : ((',', '_expression'),), - '_optionalCommaExpression' : (('_commaExpression?',),), - '_expression' : (('_term', '_opterm%',),), - '_optionalExpression' : (('_expression?',),), - '_term' : (('_get',), ('_rand',), ('(', '_expression', ')',), ('_unaryOp', '_term',), ('_varName',), - ('_constant',),), - '_get' : (('get', '_term', '(', '_expression', '_optionalCommaExpression', '_optionalCommaExpression', '_optionalCommaExpression', ')',), ('get', '_term',),), - # '_unitValue' : (('_expression',),), - '_rand' : (('rand', '(' , '_expression', ',', '_expression', ')',),), - '_opterm' : (('_op', '_term',),), - '_op' : (('=', '=',), ('<' , '=',), ('>', '=',), ('!', '=',), ('|', '|',), ('&', '&',), ('+',), ('-',), ('*',), ('/',), ('&',), ('|',), ('<',), ('>',), ('OR',), ('AND',),), - '_unaryOp' : (('!',), ('NOT',),), - '_constant' : (('<', '_signedFloatConstant', '>',), ('[', '_signedFloatConstant', ']',), ('_signedFloatConstant',), ('_signedIntegerConstant',), ), - '_signedFloatConstant' : (('-', '_floatConstant',), ('_floatConstant',),), - '_signedIntegerConstant' : (('-', '_integerConstant',), ('_integerConstant',),), -} - -AXES = ('x', 'y', 'z') -IGNORED_SYMBOLS = (';','(',')', '{', '}', ',') -IGNORED_KEYWORDS = ('accelerate','decelerate') - - - - -class Compiler(object): - def __init__(self, tree): - self._static_vars = [] - self._local_vars = [] - self._pieces = [] - self._functions = [] - self._code = "" - self._total_offset = 0 - self._functions_code = {} - self._compile_funcs = { - # 'class' : self.parse_class, - 'file' : self.parse_file, - 'staticVarDec' : self.parse_staticVarDec, - 'pieceDec' : self.parse_pieceDec, - 'funcDec' : self.parse_funcDec, - 'arguments' : self.parse_arguments, - 'assignStatement' : self.parse_assignStatement, - 'incStatement' : self.parse_incStatement, - 'decStatement' : self.parse_decStatement, - 'keywordStatement' : self.parse_keywordStatement, - 'varStatement' : self.parse_varStatement, - 'rand' : self.parse_rand, - 'get' : self.parse_get, - 'ifStatement' : self.parse_ifStatement, - 'whileStatement' : self.parse_whileStatement, - 'term' : self.parse_term, - 'unaryOp' : self.parse_unaryOp, - 'constant' : self.parse_constant, - 'expression' : self.parse_expression, - # 'stringConstant' : self.parse_stringConstant, - 'symbol' : self.parse_symbol, - 'keyword' : self.parse_keyword, - } - self._vars_to_push_opcodes = ( - (self._local_vars, OPCODES["PUSH_LOCAL_VAR"]), - (self._static_vars, OPCODES["PUSH_STATIC"]), - (self._pieces, OPCODES["PUSH_CONSTANT"]), - ) - self._vars_to_pop_opcodes = ( - (self._local_vars, OPCODES["POP_LOCAL_VAR"]), - (self._static_vars, OPCODES["POP_STATIC"]), - ) - self.parse(tree) - - def current_offset(self): - return self._total_offset + len(self._code) / 4 - - def parse(self, node): - node_type = node.get_type() - if node_type in self._compile_funcs: - self._compile_funcs[node_type](node) - else: - self.parse_children(node) - - def parse_children(self, node): - if len(node.get_children()) == 0: - raise Exception("node not handled %s: %s" % (node.get_type(),node.get_text())) - for child in node.get_children(): - self.parse(child) - - def parse_file(self, node): - for child_node in node.get_children(): - if child_node[0].get_type() == 'funcDec': - self._functions.append(child_node[0][0].get_text()) - - self.parse_children(node) - - def parse_staticVarDec(self, node): - self._static_vars.append(node[3].get_text()) - - for comma_var in node.get_children()[4:]: - if comma_var.get_type() == 'commaVar': - self._static_vars.append(comma_var[1].get_text()) - - def parse_pieceDec(self, node): - self._pieces.append(node[1].get_text()) - - for comma_piece in node.get_children()[2:]: - if comma_piece.get_type() == 'commaPiece': - self._pieces.append(comma_piece[1].get_text()) - - def parse_funcDec(self, node): - del self._local_vars[0:] - self._code = "" - if len(node[2].get_children()) > 0: - self.parse(node[2]) - - code_len = len(self._code) - self.parse(node[4]) - - #clean code if empty - if len(self._code) == code_len: - self._code = "" - - #insert return if necessary - if self._code[-4:] != OPCODES['RETURN']: - self._code += OPCODES['PUSH_CONSTANT'] + get_num(0) - self._code += OPCODES['RETURN'] - - self._total_offset += len(self._code) / 4 - self._functions_code[node[0].get_text()] = self._code - - - def parse_varStatement(self, node): - self.parse(node[1]) - - def parse_arguments(self, node): - if len(node.get_children()) == 0: - return - - self._local_vars.append(node[0].get_text()) - self._code += OPCODES['CREATE_LOCAL_VAR'] - - for comma_var in node.get_children()[1:]: - if comma_var.get_type() == 'commaVar': - self._local_vars.append(comma_var[1].get_text()) - self._code += OPCODES['CREATE_LOCAL_VAR'] - - - def parse_assignStatement(self, node): - if len(node.get_children()) < 3: - self.parse_children(node) - return - - self.parse(node[2]) - - self._code += self.get_variable(node[0].get_text(), False) - - - def parse_incStatement(self, node): - self._code += "%s%s%s%s%s" % (self.get_variable(node[2].get_text(), True), - OPCODES['PUSH_CONSTANT'], - get_num(1), - OPCODES['ADD'], - self.get_variable(node[2].get_text(), False)) - - def parse_decStatement(self, node): - self._code += "%s%s%s%s%s" % (self.get_variable(node[2].get_text(), True), - OPCODES['PUSH_CONSTANT'], - get_num(1), - OPCODES['SUB'], - self.get_variable(node[2].get_text(), False)) - - - def parse_keywordStatement(self, node): - node = node[0] - - #get result needs to be handled separately and removed from the stack - if len(node[0].get_children()) > 0 and node[0][0].get_text() == 'get': - self.parse(node) - self._code += OPCODES['POP_STACK'] - return - - keyword = node[0].get_text() - - i = 0 - #fix split keywords - while node[i + 1].get_text() == '-': - keyword += '-%s' % (node[i + 2].get_text()) - i += 2 - - if keyword == 'set' or keyword == 'attach-unit': - children = node.get_children() - else: - children = node.get_children()[::-1] - - - arguments = [] - for child_node in children: - if child_node.get_type() == 'pieceName': - piece_name = child_node.get_text() - piece_index = index(self._pieces, piece_name) - if piece_index < 0: - raise Exception('Piece not found: %s' % (piece_name,)) - arguments.append(piece_index) - elif child_node.get_type() == 'funcName': - func_name = child_node.get_text() - func_index = index(self._functions, func_name) - if func_index < 0: - raise Exception("Function not found: %s" % (func_name,)) - arguments.append(func_index) - elif child_node.get_type() == 'axis': - arguments.append(AXES.index(child_node[0].get_text())) - elif child_node.get_type() == 'expression': - self.parse(child_node) - elif child_node.get_type() == 'expressionList': - if len(child_node.get_children()) > 0: - self.parse(child_node[0]) - arguments.append(len(child_node[0].get_children())) - else: - arguments.append(0) - elif child_node.get_type() == 'speedNow': - if child_node[0].get_text() == 'now': - keyword += "-now" - else: - self.parse(child_node[1]) - elif child_node.get_type().startswith('optional'): - if len(child_node.get_children()) == 0: - self._code += OPCODES['PUSH_CONSTANT'] + get_num(0) - else: - self.parse_children(child_node) - - #has a dummy arg :( - if keyword == 'attach-unit': - self._code += OPCODES['PUSH_CONSTANT'] + get_num(0) - - opcode_name = keyword.upper().replace("-","_") - - if opcode_name in OPCODES: - opcode = OPCODES[opcode_name] - else: - raise Exception('Unhandled keyword %s %s' % (keyword, opcode_name)) - - self._code += opcode + struct.pack("<%dL" % len(arguments), *arguments[::-1]) - - - def parse_get(self, node): - num_expressions = 0 - for child_node in node.get_children()[1:]: - if child_node.get_type() == 'expression' or child_node.get_type() == 'term': - self.parse(child_node) - num_expressions += 1 - elif child_node.get_type().startswith('optional'): - num_expressions += 1 - if len(child_node.get_children()) == 0: - self._code += OPCODES['PUSH_CONSTANT'] + get_num(0) - else: - self.parse_children(child_node) - - if num_expressions == 1: - self._code += OPCODES['GET_UNIT_VALUE'] - return - - self._code += OPCODES['GET'] - return - - def parse_rand(self, node): - self.parse(node[2]) - self.parse(node[4]) - self._code += OPCODES['RAND'] - return - - - def parse_ifStatement(self, node): - has_else = len(node.get_children()) > 5 - self.parse(node[2]) - self._code += OPCODES['JUMP_NOT_EQUAL'] - condition_jump = len(self._code) - self._code += get_num(0) #placeholder - self.parse(node[4]) - if has_else: - self._code += OPCODES['JUMP'] - else_jump = len(self._code) - self._code += get_num(0) #placeholder - - self._code = "%s%s%s" % (self._code[:condition_jump], get_num(self.current_offset()), self._code[condition_jump + 4:]) - - if has_else: - self.parse(node[5][1]) - self._code = "%s%s%s" % (self._code[:else_jump], get_num(self.current_offset()), self._code[else_jump + 4:]) - - - def parse_expression(self, node): - self.parse(node[0]) - - if len(node.get_children()) == 1: - return - - op_stack = [] - for op_term in node.get_children()[1:]: - op = op_term[0].get_text() - while len(op_stack) > 0 and OPS_PRECEDENCE[op_stack[-1]] <= OPS_PRECEDENCE[op]: - self._code += OPS[op_stack.pop()] - self.parse(op_term[1]) - op_stack.append(op) - while len(op_stack) > 0: - self._code += OPS[op_stack.pop()] - - - def parse_whileStatement(self, node): - start = self.current_offset() - self.parse(node[2]) - self._code += OPCODES['JUMP_NOT_EQUAL'] - condition_jump = len(self._code) - self._code += get_num(0) #placeholder - self.parse(node[4]) - self._code += OPCODES['JUMP'] - self._code += get_num(start) - self._code = "%s%s%s" % (self._code[:condition_jump], get_num(self.current_offset()), self._code[condition_jump + 4:]) - - - def parse_term(self, node): - if node[0].get_type() == 'unaryOp': - self.parse(node[1]) - self.parse(node[0]) - elif node[0].get_type() == 'varName': - self._code += self.get_variable(node[0].get_text(), True) - else: - self.parse_children(node) - - def parse_constant(self, node): - self._code += OPCODES['PUSH_CONSTANT'] - if len(node.get_children()) == 1: #normal number - value = round(float(node.get_text())) - if value < 0: - self._code += get_signed_num(value) - else: - self._code += get_num(value) - else: - if node[0].get_text() == '[': - value = int(LINEAR_SCALE * float(node[1].get_text())) - elif node[0].get_text() == '<': - value = int(ANGULAR_SCALE * float(node[1].get_text())) - else: - raise Exception("Unhandled fancy number: %s" % (node.get_text(),)) - if value < 0: - self._code += get_signed_num(value) - else: - self._code += get_num(value) - - def parse_stringConstant(self, node): - raise Exception("strings not yet implemented") - - def parse_op(self, node): - self._code += OPS[node.get_text()] - - def parse_unaryOp(self, node): - self._code += UNARY_OPS[node.get_text()] - - def parse_symbol(self, node): - symbol = node.get_text() - if symbol not in IGNORED_SYMBOLS: - raise Exception("Unhandled symbol %s" % (symbol,)) - - def parse_keyword(self, node): - keyword = node.get_text() - if keyword not in IGNORED_KEYWORDS: - raise Exception("Unhandled keyword %s" % (keyword,)) - - def get_variable(self, var_name, push): - if push: - opcodes = self._vars_to_push_opcodes - else: - opcodes = self._vars_to_pop_opcodes - - for vars, opcode in opcodes: - i = index(vars, var_name) - if i < 0: - continue - return opcode + get_num(i) - raise Exception("Var not found: %s" % (var_name,)) - - def get_cob(self): - cob = cob_file.COB(self._functions, self._functions_code, self._pieces, self._static_vars, []) - return cob.get_content() - - - -class Pump(object): - def __init__(self, generator): - leftovers = [] - for token, idx in generator: - #For some godforsaken reason, the generator sometimes returns nested tuples, - while(type(token) == tuple): - token = token[0] - #if type(token) == type((1,1)): - # token, idx = token[0], token[1] - - - leftovers.append((token,idx)) - #print ("__init__(self, generator):",token,idx) - if type(token) == type((1,1)): - print(generator, token, idx) - #print(generator.gi_frame.f_locals['context']) - #raise ValueError("returned a tuple", token, idx) - #exit(1) - self._leftovers = leftovers - #self._leftovers = [(token, idx) for token, idx in generator] - self._index = 0 - self._max_index = 0 - self.trace_tokens = {} # A list of lines? - - def next(self): - if self._index < len(self._leftovers): - token, idx = self._leftovers[self._index] - - #print(token,idx) - self._index += 1 - self._max_index = max(self._max_index, self._index) - return token - else: - return "" - - - def update(self, result, index = 0): - if not result: - self._index = index - - def get_index(self): - return self._index - - -def parse(pump, node, block_type): - if block_type in ATOMS_DICT: - return ATOMS_DICT[block_type](pump, node) - for element_type in ELEMENTS_DICT: - if block_type.lower() in ELEMENTS_DICT[element_type]: - next = pump.next() - #print ("parse", next, pump) - if type(next) == type((1,1)): - print ("Fixing next", next) - next = next[0] - if next.lower() == block_type.lower(): - node.add_child(Node(element_type, next)) - return True - return False - current_node = Node(block_type.strip('?%_')) - for alternative in PARSER_DICT[block_type]: - alternative_correct = True - index = pump.get_index() - for child_type in alternative: - maybe = False - multiple = False - if child_type.endswith('%'): - maybe = True - multiple = True - elif child_type.endswith('?'): - maybe = True - else: - maybe = False - - first = True - while first or multiple: - first = False - result = try_parse(pump, current_node, child_type.strip('?%')) - if not result: - break - if not (result or maybe): - alternative_correct = False - break - if alternative_correct: - node.add_child(current_node) - return True - pump.update(False, index) - current_node.clear() - return False - -def try_parse(pump, node, block_type): - index = pump.get_index() - result = parse(pump, node, block_type) - pump.update(result, index) - return result - - - - -def token_generator(code): - symbol_delimiters = ['{', '}', '[', ']', '(', ')', ' ', '&', '|', '+', '-', '*', '/', ',', ';', '<', '>', '=', '!', '#', '\t', '\r', '\n', '\\'] - is_line_comment = False - is_multi_line_comment = False - is_in_quotation = False - is_preprocessor = False - skip = False - - idx = 0 - prev_idx = 0 - - while (idx < len(code)): - print(idx, code[prev_idx:idx]) - if not is_line_comment and not is_multi_line_comment and not is_in_quotation and code[idx] == '"': - is_in_quotation = True - prev_idx = idx - idx+=1 - continue - - if not is_line_comment and not is_multi_line_comment and is_in_quotation and code[idx] == '"': - is_in_quotation = False - idx+=1 - - #print(1, code[prev_idx:idx], idx) - yield code[prev_idx:idx], idx - prev_idx = idx - continue - - if not is_line_comment and not is_multi_line_comment and not is_in_quotation and code[idx:idx+2] == "//": - is_line_comment = True - s = code[prev_idx:idx].strip() - if len(s) > 0: - - #print(2, s, idx) - yield s, idx - if is_preprocessor: - is_preprocessor = False - #print(3, '$', idx) - yield '$', idx - idx+=2 - prev_idx = idx - continue - - if not is_line_comment and not is_multi_line_comment and not is_in_quotation and code[idx:idx+2] == "/*": - is_multi_line_comment = True - s = code[prev_idx:idx].strip() - if len(s) > 0: - #print(4, s, idx) - yield s, idx - idx+=2 - prev_idx = idx - continue - - if not is_line_comment and not is_multi_line_comment and not is_in_quotation and not is_preprocessor and code[idx] == "#": - is_preprocessor = True - s = code[prev_idx:idx].strip() - if len(s) > 0: - - #print(5, s, idx) - yield s, idx - #print(6, "#", idx) - yield '#', idx - idx+=1 - prev_idx = idx - continue - - if not is_line_comment and not is_multi_line_comment and not is_in_quotation and is_preprocessor and code[idx] == "\n" and code[idx-1:idx] != '\\' and code[idx-2:idx] != '\\\r': - is_preprocessor = False - s = code[prev_idx:idx].strip() - if len(s) > 0: - - #print(7, s, idx) - yield s, idx - - #print(8, '$', idx) - yield '$', idx #mark end of preprocessor directive - idx+=1 - prev_idx = idx - continue - - if is_line_comment and code[idx:idx+1] == '\n': - is_line_comment = False - idx+=1 - prev_idx = idx - continue - - if is_multi_line_comment and code[idx:idx+2] == "*/": - is_multi_line_comment = False - idx+=2 - prev_idx = idx - continue - - skip = is_multi_line_comment or is_line_comment or is_in_quotation - if not skip and (code[idx] in symbol_delimiters): - token = code[prev_idx:idx].strip().strip('\\') - if len(token) > 0: - #print(9, token,idx) - yield token, idx - - symbol_token = code[idx:idx+1].strip().strip('\\') - if len(symbol_token) > 0: - #print(10, symbol_token,idx) - yield symbol_token, idx - - idx+=1 - prev_idx=idx - continue - - idx+=1 - - if not skip and idx == len(code): - token = code[prev_idx:idx].strip() - prev_idx = idx - if len(token) > 0: - #print(11, token,idx) - yield token, idx - - -def preprocess(code, include_path, defs = {"TRUE" : "1", "FALSE" : "0", "UNKNOWN_UNIT_VALUE" : ""}, recursion = 0): - if recursion > 10: - print ("Error: recursion limit reached") - exit(1) - - gen = token_generator(code) - is_preprocessor_directive = False - skip = 0 - ifs = 0 - while True: - try: - token, idx = gen.next() - print (token) - except Exception as e: - if ifs > 0: - print ("Error: Missing #endif at %d"%(idx)) - exit(1) - if is_preprocessor_directive: - print ("Preprocessor error at %d"%(idx)) - exit(1) - raise e - break - - if token == '#': - is_preprocessor_directive = True - continue - - if token == '$': - continue - - if not is_preprocessor_directive: - if skip > 0: - continue - if token not in defs: - yield token, idx - continue - - for prep_tokens in preprocess(defs[token], include_path, defs, recursion + 1): - yield prep_tokens, idx - continue - - is_preprocessor_directive = False - - if token.lower() == 'include': - if skip > 0: - continue - included, idx = gen.next() - included = included.strip('"') - try: - if not os.path.exists(included): - alt_path = os.path.join(include_path, included) - if not os.path.exists(alt_path): - print ('Error: can\'t find %s at %d' %( included, idx)) - exit(1) - included = alt_path - - content = open(included, 'rb').read() - for prep_tokens in preprocess(content, include_path, defs, recursion + 1): - yield prep_tokens, idx - except: - print ('Error: Couldn\'t include %s, at token %s at %d' % (included, token, idx)) - exit(1) - continue - - if token.lower() == 'define': - if skip > 0: - continue - current_definition, idx = gen.next() - defs[current_definition] = "" - while True: - token, idx = gen.next() - if token == '$': - break - defs[current_definition] += " " + token - continue - - if token.lower() == 'undef': - if skip > 0: - continue - current_definition, idx = gen.next() - del defs[current_definition] - continue - - if token.lower() == 'ifdef': - ifs += 1 - if skip > 0: - skip += 1 - continue - current_definition, idx = gen.next() - if current_definition not in defs: - skip += 1 - - continue - - if token.lower() == 'ifndef': - ifs += 1 - if skip > 0: - skip += 1 - continue - - current_definition, idx = gen.next() - if current_definition in defs: - skip += 1 - - continue - - if token.lower() == 'if': - ifs += 1 - if skip > 0: - skip += 1 - continue - query = "" - while True: - token, idx = gen.next() - if token == '$': - break - else: - query += token - - query = "".join(preprocess(query, include_path, defs, recursion + 1)) - result = eval(query.strip()) - if not result or result == 0: - skip += 1 - continue - - if token.lower() == 'else': - if skip == 1: - skip = 0 - elif skip == 0: - skip = 1 - continue - - if token.lower() == 'endif': - if ifs == 0: - print ("Error: extraneous #endif at %d" % (idx)) - exit(1) - ifs -= 1 - if skip > 0: - skip -= 1 - continue - - print ("Error: unhandled token %s at %d" % (token,idx)) - exit(1) - - - - - -def main(path, output_path = None): - if path[-1] == '/': - input_path = path[:-1] - else: - input_path = path - if not os.path.exists(input_path): - print ("File %s doesn't exist" % (input_path,)) - exit() - if os.path.isdir(input_path): - include_path = input_path - sys.path.append(input_path) - files = glob(os.path.join(input_path,"*.%s" % (BOS_EXT,))) - else: - files = [input_path] - input_path = os.path.split(input_path)[0] - for bos_file_path in files: - print ("processing %s" % (bos_file_path,)) - root = Node('root') - content = open(bos_file_path, 'r').read() # why rb binary? - pump = Pump(preprocess(content, input_path)) - result = try_parse(pump, root, '_file') - if len(pump.next()) != 0: - print("Leftovers while parsing:") - print (pump._leftovers[pump._index - 1:pump._max_index], pump._index, pump._max_index) - print ("Syntax Error!") - lines = content.splitlines() - for j in range(pump._max_index -4, pump._max_index): - word, offset = pump._leftovers[j] - searchpos = 0 - for i,line in enumerate(lines): - #print (len(line)) - searchpos += len(line) + 1 - if searchpos > offset: - print("%d: At line %d (offset = %d) with token %s "%(j, i+1, offset, word )) - break - - exit(1) - - # root.print_node() - # output_file = open(output_path, "wb") - # sys.stdout = output_file - comp = Compiler(root) - - #OUTPUT NEW COB - - data = comp.get_cob() - print (len(data)) - if output_path == None: - output_path = "%s.%s" % (os.path.splitext(bos_file_path)[0], COB_EXT) - print("bos2cob Writing", output_path) - output_file = open(output_path, "wb") - output_file.write(data) - - - - #DEBUG FUNCTIONS - - # for f in comp._functions: - # func_path = "%s_%s.%s" % (os.path.splitext(bos_file_path)[0], f, COB_EXT) - # open(func_path, "wb").write(comp._functions_code[f]) - - - - # COMPARE TO COBS - - # original_path = "%s.%s" % (os.path.splitext(bos_file_path)[0], COB_EXT) - # if os.path.exists(original_path): - # original_data = open(original_path, "rb").read() - # if original_data == data: - # print "Binary same!" - # else: - # output_path = "%s.new.%s" % (os.path.splitext(bos_file_path)[0], COB_EXT) - # output_file = open(output_path, "wb") - # output_file.write(data) - # output_file.close() - # else: - # print "Nothing to compare to!" - - - - - - -if __name__ == '__main__': - if len(sys.argv)>1: - main(sys.argv[1]) - else: - print ("Specify a path to a .%s file, or a path to a directory containing .%s files"%(BOS_EXT,BOS_EXT)) - main("armaap.bos") \ No newline at end of file diff --git a/scripts/Raptors/bos_optimizer.py b/scripts/Raptors/bos_optimizer.py index 18ce2e8d685..483d8b04fe3 100644 --- a/scripts/Raptors/bos_optimizer.py +++ b/scripts/Raptors/bos_optimizer.py @@ -3,15 +3,13 @@ import re import os import bos2cob -import importlib -import sys -LINEAR_CONSTANT = 65536.0 +LINEAR_CONSTANT = 65536.000000 ANGULAR_CONSTANT = 182.00000 parser = argparse.ArgumentParser() parser.add_argument("-b", "--bosfile", type = str, help= "The bos file to optimize")#, default = "../units/armcrus.bos") -parser.add_argument("-d", "--directory", type = str, help= "the directory of bos files to work on", default = '../units/') +parser.add_argument("-d", "--directory", type = str, help= "the directory of bos files to work on") #, default = '../units/') args = parser.parse_args() @@ -37,7 +35,6 @@ def decomment_lines(inlines): return outlines def assemble_bos(bosfile): # recursive? - print(os.getcwd()) output = [] boslines = open(bosfile).readlines() boslines = decomment_lines(boslines) @@ -56,9 +53,7 @@ def get_defined_tokens(boslines): line = line.strip().split() try: k = line[1] - v = "" - if len(line)>2: - v = line[2] + v = line[2] if k in tokens: if tokens[k] != v: @@ -69,7 +64,7 @@ def get_defined_tokens(boslines): print ("Cannot parse value for token key", line, k,v) except IndexError: print ("Cannot find value!", line) - print (tokens) + return tokens ### REGEXES @@ -119,9 +114,9 @@ def performmath(expression): result = str(int(float(eval(expression[0:delta])))) + ')'*delta else: result = str(int(float(eval(expression)))) - print ("Success! ",expression, '=', result) + #print ("Success! ",expression, '=', result) except: - print ("[info] Failed to eval() expression", expression, origexpression) + print ("[info] Failed to eval() expression", expression) #raise return origexpression return ' '+ result +' '+ resultstr+ ' ' @@ -131,25 +126,15 @@ def performmath(expression): ANGULAR = re.compile(r"<-?\d*\.?\d*>") LINEAR = re.compile(r"\[-?\d*\.?\d*\]") -TURN = re.compile(r"turn +[A-z0-9_]+ +to +[xyzXZY]-axis +(.*) +speed +(.*).*;") -MOVE = re.compile(r"move +[A-z0-9_]+ +to +[xyzXZY]-axis +(.*) +speed +(.*).*;") +TURN = re.compile(r"turn +[A-z_-]+ +to +[xyzXZY]-axis +(.*) +speed +(.*).*;") +MOVE = re.compile(r"move +[A-z_-]+ +to +[xyzXZY]-axis +(.*) +speed +(.*).*;") CWORDS = re.compile(r"[A-z_]+") valid_mathexpression = re.compile(r" [0-9\.\-\+\*/\)\( ]+[\-\+\*\/][0-9\.\-\+\*/\)\( ]+[ \;]") def optimize_bos(bosfile): - # set paths - print(os.getcwd()) - abspath = os.path.abspath(bosfile) - dirname, fname = os.path.split(abspath) - os.chdir(dirname) - bosfile = fname - - if sys.version_info[0] == 2: - reload(bos2cob) - else: - importlib.reload(bos2cob) + reload(bos2cob) parsedlines = assemble_bos(bosfile) tokens = get_defined_tokens(parsedlines) @@ -178,19 +163,17 @@ def optimize_bos(bosfile): if args.bosfile: optimize_bos(args.bosfile) -else: - if args.directory: - os.chdir(args.directory) - print ("Working on directory", args.directory, 'from', os.getcwd()) - for file in os.listdir(os.getcwd()): - if (not file.lower().endswith(".bos")) or "_optimized" in file: - continue - print (file) - try: - optimize_bos(file) - except: - print("Failed to optimize", file) - raise +if args.directory: + os.chdir(args.directory) + for file in os.listdir(os.getcwd()): + if (not file.lower().endswith(".bos")) or "_optimized" in file: + continue + print (file) + try: + optimize_bos(file) + except: + print("Failed to optimize", file) + raise # TODO: # maths - compile- replace-compare-benchmark \ No newline at end of file diff --git a/scripts/Raptors/cob_file.py b/scripts/Raptors/cob_file.py index be73dacabf5..90f772b02e3 100644 --- a/scripts/Raptors/cob_file.py +++ b/scripts/Raptors/cob_file.py @@ -18,17 +18,22 @@ "OffsetToNamesArray", ) +COB_TAK_HEADER_FIELDS = ( + "OffsetToSoundNameArray", + "NumberOfSounds" +) + class COB(object): def write_strings(self, strings): offsets = [] - content = b"" + content = "" for s in strings: offsets.append(self._offset) s += '\0' - content += s.encode('utf-8') + content += s self._offset += len(s) return offsets, content @@ -39,7 +44,7 @@ def write_functions_code_array(self, functions_code_array): for code in functions_code_array: self._content += code code_offsets.append(code_offset) - code_offset += len(code) // 4 + code_offset += len(code) / 4 self._offset += len(code) return code_offsets @@ -52,17 +57,20 @@ def write_array(self, array, is_header = False): self._offset += len(array) * 4 def __init__(self, function_names, functions_code, piece_names, static_vars, sound_names): - self._content = b"" + self._content = "" + is_tak = len(sound_names) > 0 header = { - "VersionSignature" : 4, + "VersionSignature" : is_tak and 6 or 4, "NumberOfScripts" : len(function_names), "NumberOfPieces" : len(piece_names), - "TotalScriptLen" : sum(len(c) for c in functions_code.values()) // 4, + "TotalScriptLen" : sum(len(c) for c in functions_code.values()) / 4, "NumberOfStaticVars" : len(static_vars), "Unknown_2" : 0, "NumberOfSounds" : len(sound_names) } self._offset = len(COB_HEADER_FIELDS) * 4 + if is_tak: + self._offset += len(COB_TAK_HEADER_FIELDS) * 4 header['OffsetToScriptCode'] = self._offset @@ -89,7 +97,8 @@ def __init__(self, function_names, functions_code, piece_names, static_vars, sou self.write_array(piece_name_offsets) self.write_array(tuple(header[n] for n in COB_HEADER_FIELDS), True) - + if is_tak: + self.write_array(tuple(header[n] for n in COB_TAK_HEADER_FIELDS), True) self._content += script_name_content + piece_name_content def get_content(self): diff --git a/scripts/Raptors/e_raptorq.bos b/scripts/Raptors/e_raptorq.bos index 14184631206..e38ee2cd9ec 100644 --- a/scripts/Raptors/e_raptorq.bos +++ b/scripts/Raptors/e_raptorq.bos @@ -1,19 +1,20 @@ piece body,head,tail,lthighf,lkneef,lshinf,lfootf,rthighf,rkneef,rshinf,rfootf,lthighb,lkneeb,lshinb,lfootb,rthighb,rkneeb,rshinb,rfootb,lforearml,lbladel,rforearml,rbladel,lforearmu,lbladeu,rforearmu,rbladeu,spike1,spike2,spike3,spike1emit,spike2emit,spike3emit,firepoint,aimy1; -static-var aMoving, isMoving, gun_1, shot5pitch, shot5heading; +static-var aMoving, bMoving, gun_1, shot5pitch, shot5heading; // Signal definitions -#define SIGNAL_AIM1 256 -#define SIGNAL_AIM2 512 +#define SIG_AIM 2 +#define SIG_AIM_2 4 -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" static-var animSpeed, maxSpeed, animFramesPerKeyframe; #define MOVESCALE 100 //Higher values are bigger, 100 is default #define MOVESPEED 5.8 #define animAmplitude 115 -#define SIGNAL_MOVE 1 +#define SIG_WALK 64 //these defines are needed before includes! #include "raptor_queen_walk_v2.h" @@ -33,14 +34,14 @@ UnitSpeed(){ sleep 164; } } -StartMoving(reversing){ - signal SIGNAL_MOVE; - isMoving=TRUE; +StartMoving(){ + signal SIG_WALK; + bMoving=TRUE; start-script Walk(); } StopMoving(){ - signal SIGNAL_MOVE; - isMoving=FALSE; + signal SIG_WALK; + bMoving=FALSE; call-script StopWalking(); } @@ -54,41 +55,45 @@ Create() start-script UnitSpeed(); } +SweetSpot(piecenum) + { piecenum=body; } + +AimFromPrimary(piecenum) + { piecenum=aimy1; } +QueryPrimary(piecenum) + { piecenum=firepoint; } -QueryWeapon1(pieceIndex) - { pieceIndex=firepoint; } - -AimFromWeapon2(pieceIndex) - { pieceIndex=spike1emit; } +AimFromWeapon2(piecenum) + { piecenum=spike1emit; } -QueryWeapon2(pieceIndex) - { pieceIndex=spike1emit; } +QueryWeapon2(piecenum) + { piecenum=spike1emit; } -AimFromWeapon3(pieceIndex) - { pieceIndex=spike2emit; } +AimFromWeapon3(piecenum) + { piecenum=spike2emit; } -QueryWeapon3(pieceIndex) - { pieceIndex=spike2emit; } +QueryWeapon3(piecenum) + { piecenum=spike2emit; } -AimFromWeapon4(pieceIndex) - { pieceIndex=spike3emit; } +AimFromWeapon4(piecenum) + { piecenum=spike3emit; } -QueryWeapon4(pieceIndex) - { pieceIndex=spike3emit; } +QueryWeapon4(piecenum) + { piecenum=spike3emit; } -AimFromWeapon5(pieceIndex) - { pieceIndex=aimy1; } +AimFromWeapon5(piecenum) + { piecenum=aimy1; } -QueryWeapon5(pieceIndex) - { pieceIndex=firepoint; } +QueryWeapon5(piecenum) + { piecenum=firepoint; } -AimWeapon1(heading,pitch) +AimPrimary(heading,pitch) { //get PRINT(1, heading,pitch); - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; if (heading > <60> ) heading = <60>; if (heading < <-60> ) heading = <-60>; if (pitch > <60> ) pitch = <60>; diff --git a/scripts/Raptors/e_raptorq.cob b/scripts/Raptors/e_raptorq.cob index 83a568530bd6d8ebbde48d58b259b43bebeff69d..94324075c81b74dce989f31d1203b568f63350da 100644 GIT binary patch literal 41726 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 literal 22089 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�&<$JNPo^&@Mq)^VI$@LY5!VJGrp3`nz?t z)#+)8tt&aQuGH3*9$DAN*7Z5EuFTezvCgPgwGCH;;Ph&clYT8rMo+J;?;ZY@gukWX zZ=dkDEE!%|f01~EUow8LvZ@L}m{MClHYAF03Vh6( zURi^WX|=WW(~>%=tV=8F(#pEDGQD$3dM7?ui4Rszkvs9pJMocLhC2fWA+M{3_9<19 z%PXo9RLGS&xdJ)i%51^RZouGMz|2l&&8WPlqIddHl75uR#fs|6dZ}pqS{lAitE{V- QQCnG4pG>Z-p4&V5A4>vZnE(I) diff --git a/scripts/Raptors/epic_raptorq.bos b/scripts/Raptors/epic_raptorq.bos index 626bb4d1b3c..368580f6868 100644 --- a/scripts/Raptors/epic_raptorq.bos +++ b/scripts/Raptors/epic_raptorq.bos @@ -1,19 +1,20 @@ piece body,head,tail,lthighf,lkneef,lshinf,lfootf,rthighf,rkneef,rshinf,rfootf,lthighb,lkneeb,lshinb,lfootb,rthighb,rkneeb,rshinb,rfootb,lforearml,lbladel,rforearml,rbladel,lforearmu,lbladeu,rforearmu,rbladeu,spike1,spike2,spike3,spike1emit,spike2emit,spike3emit,firepoint,aimy1; -static-var aMoving, isMoving, gun_1, shot5pitch, shot5heading; +static-var aMoving, bMoving, gun_1, shot5pitch, shot5heading; // Signal definitions -#define SIGNAL_AIM1 256 -#define SIGNAL_AIM2 512 +#define SIG_AIM 2 +#define SIG_AIM_2 4 -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" static-var animSpeed, maxSpeed, animFramesPerKeyframe; #define MOVESCALE 125 //Higher values are bigger, 100 is default #define MOVESPEED 11 #define animAmplitude 107 -#define SIGNAL_MOVE 1 +#define SIG_WALK 64 //these defines are needed before includes! #include "raptor_queen_walk_v2.h" @@ -33,14 +34,14 @@ UnitSpeed(){ sleep 164; } } -StartMoving(reversing){ - signal SIGNAL_MOVE; - isMoving=TRUE; +StartMoving(){ + signal SIG_WALK; + bMoving=TRUE; start-script Walk(); } StopMoving(){ - signal SIGNAL_MOVE; - isMoving=FALSE; + signal SIG_WALK; + bMoving=FALSE; call-script StopWalking(); } @@ -54,41 +55,45 @@ Create() start-script UnitSpeed(); } +SweetSpot(piecenum) + { piecenum=body; } + +AimFromPrimary(piecenum) + { piecenum=aimy1; } +QueryPrimary(piecenum) + { piecenum=firepoint; } -QueryWeapon1(pieceIndex) - { pieceIndex=firepoint; } - -AimFromWeapon2(pieceIndex) - { pieceIndex=spike1emit; } +AimFromWeapon2(piecenum) + { piecenum=spike1emit; } -QueryWeapon2(pieceIndex) - { pieceIndex=spike1emit; } +QueryWeapon2(piecenum) + { piecenum=spike1emit; } -AimFromWeapon3(pieceIndex) - { pieceIndex=spike2emit; } +AimFromWeapon3(piecenum) + { piecenum=spike2emit; } -QueryWeapon3(pieceIndex) - { pieceIndex=spike2emit; } +QueryWeapon3(piecenum) + { piecenum=spike2emit; } -AimFromWeapon4(pieceIndex) - { pieceIndex=spike3emit; } +AimFromWeapon4(piecenum) + { piecenum=spike3emit; } -QueryWeapon4(pieceIndex) - { pieceIndex=spike3emit; } +QueryWeapon4(piecenum) + { piecenum=spike3emit; } -AimFromWeapon5(pieceIndex) - { pieceIndex=aimy1; } +AimFromWeapon5(piecenum) + { piecenum=aimy1; } -QueryWeapon5(pieceIndex) - { pieceIndex=firepoint; } +QueryWeapon5(piecenum) + { piecenum=firepoint; } -AimWeapon1(heading,pitch) +AimPrimary(heading,pitch) { //get PRINT(1, heading,pitch); - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; if (heading > <60> ) heading = <60>; if (heading < <-60> ) heading = <-60>; if (pitch > <60> ) pitch = <60>; diff --git a/scripts/Raptors/epic_raptorq.cob b/scripts/Raptors/epic_raptorq.cob index 4ad8a293647d0ff454adbda40416689fd6ecadf2..899ad77a06088bbf595d6143fa2a0fc6443abdad 100644 GIT binary patch literal 41726 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 literal 22089 zcmc&+3zQbcmG0p&A_$I10w|CfP{c%Vh5;gOqP!Fo5r`3qkH`RnjLZNIBZASWn*~MP zgQ5~OF@Xd{<0DGQG0{Ly^dt%haaBYk9z@Y4K#XAU0RsDd)%X5f`quoz+1cZ^r|7@C zzP_)zRbN%tw9S$vIUc1O$}id_Nei5LEdNfD6km`ex1*eb>ki*dl7gZpMFp(9v9PF_ z{vKCYv=TR2mlXF%c)vL@1DY1`-u;j4KadpRKOB6P_dYI69Paf42M#2~DK21vyJm>T z4Qqm0!SN^M9bfBl>zW?Ksotkrd)(<%26@ErpuEwGJnrE=seQz$-X{lp+{%3iajLgz z-vZ}vSxX3l-ZnV#px&JWnmF9(V^IklLKY6P3@=gZ8~VtC^E`O?Ono-;k5|N!+T4yqO}eRVpsvzIms&@8rFyUgFe`>&iWD*#3h! z^`mQ<$2}=HrYjHHcWw`ltD+G2L7eJ6b&$vHko+S~^`3wv&&K&+H@l_v}J0$;(Okn|c)=sZ?{y)>Wu$%Cpyc?Ezd97vKAWq}*=W{&nR%s97 zwA~)Q+vA2ak>M}9F%Rl}8OfM!-&@5G;#BWlgFWu&qL(<;doLcy%0sAvUUCHw>iyYf zkNbg)L!DAs!1deWahpC$2V!CO=Cu!>OD3h??D;M zf=-dQ^tZkZej;P2<-X>nUhnVNS<&{E`^LWFadqN{<-Qp1c8H@q%YBRQ@bVrMZnoSv z;ygb_HF+Up;Q=))Yss;=y)X)5YW3N&6C~?RLJ5 zpLUJVTH1{`ZMXLy_VRuu?Ln^MLB0DB%xwNWF7k*|y??me<6fo^_)DDXjd7K7n&rM2 zPC3nTUud#jgSG zI{}SG8)ECcwU0q+hU;SMyc47ip*9@#`D8gP=hF~lt8iElf*A3vZ5UhUZIqlKh6nY= zxGuKNdmu6&4?>_f=oEQPYJ6XwF7rgobH~em@mA%2W4!q+!V_L%@@l}`EZt-E`HS8r(=!frooXp*;A6ImYdoh z=i7JwztS+hbMzCX&#`;)Yr<)#gISCDOwvC?jqn@-v9 zab+?`X0!0%`11Do9(TUvJ#m^ZYcKV(*t%@la_?^tBJ$MV65PzSM+4ln2KLZ~q^RA&XOttxBA6L&nvGjI*@7#K za8qopskZX0ZP>cMm)B9oB;wSkH(_U1@8SqIjb7w&l*5=)mg;>2LCVT2AwY2a$+&FT z>v8KPXDv5X-R=8mJDK;h$$3!T!aiQ!(oChrRp>0)@vkDnP5H)gy2HZuxO<_O*Ie={ zU<6l!b53sq+%y-7M%l^q+Yde?oDGX|7L6-nSIJmYW`Z#ru1iytB33RJ_W|JBtYby_TC|d7$}XxhWsca?_`6y?r~G z$k1!K>49TBH;sS6bJIS=ARCu3Rze;*j3HwCmLo`6TrujXm$(8J;4X{cHb=N_+)B@N zx15m5vs_pG1FyHI$g^BG^*WFHQ09!5>sCkdWfzTyAH=C2&qUto?U6Z;<+^#@z20jL zPUCkxf|QNl9?{zn*C~ftuFJ<^4RM|Bw^^=xXQa39aQDabeHwjLe`8$NQum-{~T zs*FjN>;87G$DJYbGs|`P_8BbK#c;R7CfaAYuK&}1>{=l9S+2Wfg~6#2aVaknl;1w(Sd=3Udwg6j`UnNIY7{C4f~ z^7hJm0K2YRv&{Fmn*BPBYi@TP_!w<`KJ1`N? z;+o1_&~n|L(H_@Nl@+3<*27#%XRrUtRb#b4zpYrTPNbre}Z1ib+K{$aQDOX z?ncw0el(Z;4a;?lD!jbjvNs#XFoT!$YU9si5V5D18Jq}17SZ;c=hsT968hR}^y>X_;={`TZF%P!yC^(hP=T)MY zIL*^HFh*o?S4o_S(|n0>lX8ybrhJ^!5I3nj%T0~h4~wnCmVtP){xW84-w+e}jQEw{ zoWnK1P4h9}@R|Rw{jk{kR`s2(X&e4u?}x>>DfV}XEynr2vPSkdEH^!RkBPZ((@P`= zw2kGaeESxbn_{@we%NOnynP*HzGAs)>-&CQz3!cKtg+m5NtyR!oV=qsgq!}ubK!W0ACn<)+so z>-&o(Uo1DhJJ-wmrPyb=X&s0l+itHi81Tb#)9^??ddaNAG+**@PD9+JoMX8u#&uuD ze%P`IH#PR}2+u_W1#bEh_QNda==>tKw$wEvn_SzlG5cY$zaxyjBaD47*5)K(CtaoG#iG43NXSUZH`(A8mPmhazFSg}UkBfaT_97;yS$|{S zi%p5VYl?j@wr!!8w^caIa^2JS`8=qJd@mNutH$iF-T8a3cS%V)R$H!HRP1pJWPN41 zZpCbmD~)_Fb`j=>**LcqF0ov9)?d85dm`V9of=t(#l9Ciubz1 z*gL}i&G%x-0P{^WgFdP-d<)H(G%HQNj}H8IV_`uyp9s(Xt>Vncc(GX8E8y`DgfwTOV4`=ttHYVP_n<)_T4q2PcKFax_f5&6j zW`9Fxisk|25f@?zKfc}oPUE-tfcJNY#LuqvHeAxe=^ZA1*tOoVrJl!66r5e_Esl&o zgfT9}sUI~**PjQ(sUN%7dffRUkHanxwr|xFK7QB^3wnuDy%QhuIKpTjajLh?>prjE zm-t!!`?pVgTr~geS}$K-5wCjl;Xpk(+^s{8aP9V=sHY#6|Jo1qxYxuF%YS>(*!ATf zaT>pS8o;R^>m%s6fP(|kC~r!m~; z@;!y+)AR1}_N|~{u#dL!pugLC`|%}I3Qqma$1{|t{)T6TBZu>%xLFZ-l4CgaaZKPf zO<|t$zMff6IlN|lg7>2Qe~+L?A0mS`CHP+Z3M3$(34V(nj&+*b5w_RvYmKEy%n`WCpuS)A@itPiz=FN>l83!SbHUC1y#`TL51Ri+Tx$ zw>Z~Gis6I$F+H7osQsyLz{o*d_$l!Z_3{kwQ)jqW3_0~Y(}X1Tk<2k5Pp^rme7)B8 z4($iIj18Fjklf-e>q7}Hn*ht()>ieA<9uW4@#h+OpKqwXxPj*zs_)vs^ZESO7=!^v z+l)cK5i!Mo_!VOI@YnG}^63-F72eahS?t*L7^fvq3qW>^IqzAlwyTwUlwegZF_f!V zE4O_{u40y4nLb0i6O1K{jn;J-da(UfZutK*2rfK>tPglTC%TzShx41UWKr47`!FZK z9m?i)n2X_>Iw+TYR&zSslQD<)Y#pD|_>U3aiKomgHkFnBq|#a8^dPPGwjhXlF7iwd)u4*u}YYeRj2zI@+bb zV|G~?S-bQ(YZu!{?Rqg|m&Sy1r>tEXOT50$#Y=z3?6NYlcIk80uF&QZuMg|7i*vvF z?BZIHb&Qw(j@e~pWbLxgQIz(D@%Twup-qchg#Hn$53$WtAAF3|kL#4?D`he!sT^>! z>8sSQ>(x}w!TwI4y9R?&J2l6(&1~*!owl{+F6C>TK4)`F>-0IzE&H6-*|yi`RHn9l z>^a*u+2^!vY(KSqgTGZae=DAPvh8f+k*%}w$ky3-Wb14^vUN5d**dj3W~Yru_BrdH z=Aw?tdgj>7oTcn?f~0@_5svU)0TT)H5baZXO(^RVspmY=;=|g&)H7dgJ?D75o`|!~ zO=wfV;1;>DKAmbqwm!rOGPOR$+gz)kT3?^dT3?^d>NDq$v{$b&Bpq_Cb8W5Xdluq* zYqedk)i%9WU-Vkzuh$xHz2=(7>gU?VUUM$b>xDRDC6#N7 zxpE!y9QAswvDWL5m!>}CqPY(J%Up*(Wv)YiFxT3)Dqro_Yqejm)qcI!_~|v>pnrO; z@ziUkwXN4Rht?Nn>NWmaAJ+IrKG)t>p5~6?wSDxO@4PIY@0jeh=91#Iz4e+CEQ`k! z^^ogauHt^^e>jbVkPZM|i82di4$4nZeu?rZ%5PAfMR^`&4a%!1Z=t-0(hCC1Q2L;J z6J-brzcuFncc%c!awN)6QJzEL|M#*p%E>6@C}*Oai!vJJ`zSRi*P_frS%~r=$}*Hc zp{zrB6J-m^KT-CeG`}!OTA>_+(jKKVN;i};l+#eYjWP&jD9T8bF({XzOhlEQI?}Ti}GibwI~}>C`q4YxO zk1`nLqKfJ%$pv-Ort?SD)GLw;r&iTnFuk&JBJNhy){U4plXr=bpMz^FE9xqf(N|a2 z&c3L!V*0eHWy!#*nzL)C)uflbZC&p}>&k6i`Jr`vY+av2>-yTdzN|Bgm9=SQZCaT=IX-<7CsyLb%JK3f z&U_N5v@$#yFbH{V4YZH1u9#R^ouESQ)XE*m33sj*%+)yzeg(|c$&Be$Q!2~SQ}6Ut iE;lP{s_LZT;Lq~#b5d1p<@9M)Q|pq7s+!ql$^QVFY-^_g diff --git a/scripts/recoil_common_includes.h b/scripts/Raptors/exptype.h similarity index 82% rename from scripts/recoil_common_includes.h rename to scripts/Raptors/exptype.h index 7eee25ce7a1..f77bb5fd7a2 100644 --- a/scripts/recoil_common_includes.h +++ b/scripts/Raptors/exptype.h @@ -1,7 +1,8 @@ /* -** recoil_common_includes.h -- Explosion Type information and GET/SET constants for scripts +** EXPtype.h -- Explosion Type information and GET/SET constants for scripts ** -** This Script contains constants compatible only with Recoil RTS engine +** This Script contains constants compatible only with Spring RTS engine +** not for use with Total Annihilation or TA:Kindgoms */ #ifndef CONSTANTS_H_ @@ -10,12 +11,11 @@ // Indices for emit-sfx #ifndef __SFXTYPE_H_ #define SFXTYPE_VTOL 0 +//#define SFXTYPE_THRUST 1 #define SFXTYPE_WAKE1 2 #define SFXTYPE_WAKE2 3 // same as SFX_WAKE #define SFXTYPE_REVERSEWAKE1 4 #define SFXTYPE_REVERSEWAKE2 5 // same as SFX_REVERSE_WAKE -// see COBDEFINES.H!!!! -// And CUnitScript::EmitAbsSFX! #define SFXTYPE_WHITESMOKE 257 #define SFXTYPE_BLACKSMOKE 258 @@ -30,6 +30,8 @@ #define BITMAPONLY 32 // The piece will not fly off or shatter or anything. Only a bitmap explosion will be rendered. #define NOCEGTRAIL 64 // Disables the cegtrail for the specific piece (defined in the unit fbi) #define NOHEATCLOUD 128 // No engine explosion (There frugly anyways) +#define RECURSIVE 16384 // (OTA-inherited COB scripts map [1<<8, 1<<13] to BITMAP* explosions) +#define BITMAP 10000001 // Bitmap Explosion Types #define BITMAP1 256 @@ -37,7 +39,14 @@ #define BITMAP3 1024 #define BITMAP4 2048 #define BITMAP5 4096 +#define BITMAPNUKE 8192 +#define BITMAPMASK 16128 // Mask of the possible bitmap bits +#define EXPTYPE_SMALLEXPLOSION 256 +#define EXPTYPE_MEDIUMEXPLOSION 512 +#define EXPTYPE_LARGEEXPLOSION 1024 +#define EXPTYPE_XLARGEEXPLOSION 2048 +#define EXPTYPE_BLOODEXPLOSION 4096 //Customized effects (in FBI/TDF/LUA) // Explosion generators @@ -182,44 +191,4 @@ // NOTE: shared variables use codes [1024 - 5119] -// Signals: -#ifndef CUSTOMSIGNALS - #define SIGNAL_MOVE 1 - #define SIGNAL_BUILD 2 - #define SIGNAL_TURNON 4 - #define SIGNAL_IDLE 8 - #define SIGNAL_SHOOT1 16 - #define SIGNAL_SHOOT2 32 - #define SIGNAL_CUSTOM 64 - #define SIGNAL_RETURN 128 - #define SIGNAL_AIM1 256 - #define SIGNAL_AIM2 512 - #define SIGNAL_AIM3 1024 - #define SIGNAL_AIM4 2048 - #define SIGNAL_AIM5 4096 - #define SIGNAL_AIM6 8192 - #define SIGNAL_ALL 0xFFFF - #define SIGNAL_RECOIL 65536 -#endif - -// Utilities - -#define SLEEP_UNTIL_UNITFINISHED while(get BUILD_PERCENT_LEFT) {sleep 333;} -#define WRAPDELTA(angle) (((angle + 98280) % 65520) - 32760) - -#define SIGN(v) ((v > 0) - (v < 0)) -#define ABSOLUTE(v) (v * (-1 * (v<0))) -// 15 commands to MAX, pretty bad -#define MAXIMUM(v,m) ((v * (v > m)) + ((v <= m)* m)) -#define MINIMUM(v,m) ((v * (v < m)) + ((v >= m)* m)) - -// Note that this exploits division underflow -// Also note that you can pass in an expression to value, like a subtraction -#define ABSOLUTE_LESS_THAN(value, threshold) !((value)/threshold) -#define ABSOLUTE_GREATER_THAN(value, threshold) ((value)/threshold) - -// Calculate how much sleep is needed given a delta and speed -#define CALC_SLEEP(delta, speed) sleep(get ABS(delta / (speed + 1)); - - #endif \ No newline at end of file diff --git a/scripts/Raptors/h_raptorq.bos b/scripts/Raptors/h_raptorq.bos index 041cf1caf3a..74efb28473e 100644 --- a/scripts/Raptors/h_raptorq.bos +++ b/scripts/Raptors/h_raptorq.bos @@ -1,19 +1,20 @@ piece body,head,tail,lthighf,lkneef,lshinf,lfootf,rthighf,rkneef,rshinf,rfootf,lthighb,lkneeb,lshinb,lfootb,rthighb,rkneeb,rshinb,rfootb,lforearml,lbladel,rforearml,rbladel,lforearmu,lbladeu,rforearmu,rbladeu,spike1,spike2,spike3,spike1emit,spike2emit,spike3emit,firepoint,aimy1; -static-var aMoving, isMoving, gun_1, shot5pitch, shot5heading; +static-var aMoving, bMoving, gun_1, shot5pitch, shot5heading; // Signal definitions -#define SIGNAL_AIM1 256 -#define SIGNAL_AIM2 512 +#define SIG_AIM 2 +#define SIG_AIM_2 4 -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" static-var animSpeed, maxSpeed, animFramesPerKeyframe; #define MOVESCALE 100 //Higher values are bigger, 100 is default #define MOVESPEED 8.4 #define animAmplitude 100 -#define SIGNAL_MOVE 1 +#define SIG_WALK 64 //these defines are needed before includes! #include "raptor_queen_walk_v2.h" @@ -33,14 +34,14 @@ UnitSpeed(){ sleep 164; } } -StartMoving(reversing){ - signal SIGNAL_MOVE; - isMoving=TRUE; +StartMoving(){ + signal SIG_WALK; + bMoving=TRUE; start-script Walk(); } StopMoving(){ - signal SIGNAL_MOVE; - isMoving=FALSE; + signal SIG_WALK; + bMoving=FALSE; call-script StopWalking(); } @@ -54,41 +55,45 @@ Create() start-script UnitSpeed(); } +SweetSpot(piecenum) + { piecenum=body; } + +AimFromPrimary(piecenum) + { piecenum=aimy1; } +QueryPrimary(piecenum) + { piecenum=firepoint; } -QueryWeapon1(pieceIndex) - { pieceIndex=firepoint; } - -AimFromWeapon2(pieceIndex) - { pieceIndex=spike1emit; } +AimFromWeapon2(piecenum) + { piecenum=spike1emit; } -QueryWeapon2(pieceIndex) - { pieceIndex=spike1emit; } +QueryWeapon2(piecenum) + { piecenum=spike1emit; } -AimFromWeapon3(pieceIndex) - { pieceIndex=spike2emit; } +AimFromWeapon3(piecenum) + { piecenum=spike2emit; } -QueryWeapon3(pieceIndex) - { pieceIndex=spike2emit; } +QueryWeapon3(piecenum) + { piecenum=spike2emit; } -AimFromWeapon4(pieceIndex) - { pieceIndex=spike3emit; } +AimFromWeapon4(piecenum) + { piecenum=spike3emit; } -QueryWeapon4(pieceIndex) - { pieceIndex=spike3emit; } +QueryWeapon4(piecenum) + { piecenum=spike3emit; } -AimFromWeapon5(pieceIndex) - { pieceIndex=aimy1; } +AimFromWeapon5(piecenum) + { piecenum=aimy1; } -QueryWeapon5(pieceIndex) - { pieceIndex=firepoint; } +QueryWeapon5(piecenum) + { piecenum=firepoint; } -AimWeapon1(heading,pitch) +AimPrimary(heading,pitch) { //get PRINT(1, heading,pitch); - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; if (heading > <60> ) heading = <60>; if (heading < <-60> ) heading = <-60>; if (pitch > <60> ) pitch = <60>; diff --git a/scripts/Raptors/h_raptorq.cob b/scripts/Raptors/h_raptorq.cob index ae1ddee1535a6b0cc5fcf4c0bed354a7cfa50420..ece9062359130d86853e15ab02f6c1af07ac0694 100644 GIT binary patch literal 41726 zcmeHQ37A#ImA*jRu4uc*aqAXvK~WZQ8JS32B8UVGDlXC3*biu-X>6OAW*kH^N?hWo zgNYcUpoq)N2Tp=cV$_+8qK+EH1(!H+ji`VGLEH^Ff4w@-L%mn`oMIl|$IR#DE8cy# z&i(7usZ*!wuY0RsO_pW5Q|d-(;XYZm8GYgycypF5ptSF-EIWX{FQCs(b)D-5(s?$u zwyuWGJK_B7+PbH@6!Wrd4=2-v>%F_wLEfDY6z9Qp;A{eUFOy|!*Ou-JWMkK}I{HTk z^nuKj+Tv#=J;L%{UK=kjt1sd@Y{LEGNIULco#V2MOCnC+ThEQlhWcLRZC$BujLUX- zVk>kioW_2=TUp}s3W$+yGygv$0!!L8dgt^@3_v%r0Fw%xw% zWWZ=YCR}n^cR*(KfZC{RXosIao^OX5fjc9o4~4jID)9lhY~SSxxUU&-*?+&h$Zp>~ zSLfTItFXheUNvU>uIiTGZZ3usHrnmI1bt6a^xabEd++qP4q>}ZR^kqDx!rc}ZO0w` zmwfvIm)mVwFFWp|3NE>pJ7C}2d)RSLBxUmY8*teUfB3t&Y-rzY4EnMiPNBgirbCFk zlY&cOv}A|fKezXb1OJ@gZd(Z4lsKuy-yI2;?ORRUT?FpJTf3O;d*hz*w#X>{x``BF zqrFC+YPauq$nj%s3|yX9LT2eIJMQsHyKO7l?Poj0bqM|JdL{nSG{7Cu_x?q8eQ#Zv z?`PWx+-K(6^*!%19hd#=gJbNt3zT^j^yPlM;&MCgDjFE`{DGzy?tsh|IldFN+qFu& z0hjHtPr`iiQN<3xWjla0+ddF9!-Y>4}*GVj|>;0{`B$Nl36 z`F;kjhy(RMiGrKe4s8?wVzRIU+6)I|Qh3&@O1lA<{bABB_I`ZxNBMSem|ouo`Yg4N z=dAFRtiDTK*1OX>T=_y0hOEmc?)(dKEYvy621M->vs{D(r%JF zr{GTWwrir#a2*W#O77fqx?SJZ%G!kF&UHK5=Y;S6Dc{d%D0c_i;4mT#v9<{9OQAWs zmIpfkm;Lwr1l%tSxXy=3-=!bg^&PDEujI}jK4V||c_U|j13O6W{J;VB{`P%k>;o6Y zf%ZC-oY~rLFDP?O;Bvdw`|+!iuZR9{ixPK$%k8#ixLw~J$RT2NgMGnqaX_Z;2s`eT zioU>QJB&_H?wd+~lic~5-`Q~wTAHt~ z9%; zO=fUMY8zTOEw^FHx(bwu+JSt|<$IZw=gcdW7=$>117)Xh<&@{lA0|9MVO?Ue&BZmZ zZ^Oy$#G9zFmmx5ZZTu(r%J_cB{AJ-lN1{$vu}R;Pz7dS8~tm6V}V0H{fzyZ%E*t4=Q$m zzAmPb|JJOq`@=!q;%$-9cp?-V=kTnbou;~Q`} zo>h}0O72-rj<~+ub3;A19ZnO*Jo}=}a6l%7d!{_MeeI684&ivgy2R$|&d0pI4fI*M zU*Vpw_;sNy+a_v{n4L;x@N?R!@wgwu2)XBxIes6Ox3dx}U^5&jyV@L)`}B$Z?QM9t zG6!_JdVLEy{u$cgHwrG|1P<6CP=>?#KU>ux=jy2R`NT(-kIgY5orSWa6YK1lAl@-n-=4^qSA*;jJUl(?hCGs!)xi7UD1 z^;_BPTcD1bX9vkWub5?j@8s&Y@;R5}o=f(R>k#_c%gUYt$vtcO+vECC6u9&3Ah~C! z3*xe&z5|qZoF(^s^&~s)ZG9H!T|fj&$1Rk-I|8o+>?WzA9iSh=M#n0r=Xf9-uc#p@ZCx1sje zYU>AN-clQ;a8GTW6}TMR{`&yC9X8bd+P^412VL2hQ@AH>ZH@XGeA(FmwjjSeJ7G?> zT8Z(Jdp_{b_Bl$I_w(lxl6!8Fu&+tm-zB+c3a<8?R&vi?|7y3xr#bU{w43CfPmZANE}u5}!_kH}g~7JddUhXXS6_KnMi?e@3+o|vBj zm+dgB-j4eYRZ`QJ?a*z3-5=)Dq(2W=a?g)xLLQS1?a#%U#2 zt|q6ITsh^P<{gxNEV=S+$J_0@q4w8m@0TK$aXd@m%8kmn=`g*m8tAj+PYPE)&vVnS z_tTQmJm+n$(1K{x8n{`#tzAqtGVw=a^)1~qWG75hrA-0*L49ZIpu z_qQ#T*hW(gcc4xSzh}q&mGX|7jBv-yTVUBVFb^e$R8N~<5m2XR!v%aqMH_4UXp$R}thp^oaSK^N3$`1{-;|@3I z%kivsmc73{qr7h+x$-qM!Lr(6Yvp|l$(2*$&J@KCk}FpeS90a0{R;=l5_^2|%@_PvP) znmm0aSH62cdw=Vstbt0dJTGS~4DE1)vQ{a%a_^k=n-I5=8YRyTz~y$^_RzR&h}&PW z1Gpy+lzrm~cH9Oa^h=7a|y|nd#;Sfl~UjF{xBqmKLA&9n}tl?QHX_lKuG%zwTkx$=NB?E218_Mb_v{5%oH z*!UIt+1doIy!RkG?l2l0VmiQoC0Cx`JuVySyS>tGk}H3<#E#ob*_%L90(YQJO9tC< zwZDA=TppVb9%;uNtMm)tlBrx99Cec2eDZVB)5?xC!KO0Jv|cQ%Iow6}i8 zZr?){ZZEm=tl!&l?_HH2cfe_Jz<(dv(~i4@0%2Z1mfZ8p)p6OdA77~8O78i^Id*+t zRs2kH&t*+^egCM$9mzcp*xQZ^?vrO<$vy8nA}$-+SNpp!l6&?dr;F(j;{Jck{X;Zjo%HKU+o3Q_ES7ra1tB+4-aN;?|LkS@ai7?D3;WX4$Q_WWKhWN8$13lr zN$%Nxx}AgnI%h2%`bzHE>mTg;?yu}W1DC@AJB&`?%Eu^k3E*-(d#s0D-)9ZD9M2AG zwd202Jl~Pr^S$17T*UJ{Ka<>Z+wO7MaISWv@?1l5&n;HiahnwmF1hDOdT0}?Td41; z3RjlgGbQe94Et$&^tAWm`O5QZ$vyYp-EQB*6#Gi0+a`>gs}%c6?paNaxW3#|S5M4qdqJZsmUiIWB;?zu7Sr%m}g!YS_vr~F=R>pk|dF6H-X|8%c? z>`3{&+G_3-liV`}H)TKVV+q_d<@ahwB)n6X@_V%da>ns+Y)<*T+HncEuPJjBaAoFP z1^Qy0`=tC{?E^R1=h!K~S9@*(S5Eo8+H20U+acxmYVYc4$4&XY+C`_>aZ`S;b}>z` ztp1Sld$k=o>mgykNcp|mEq-FxcXwsZD!KA|Q|xhlhO#CjxpGRJ+!*%%&b!fWhl$GH zGmu>QLHdJDGkJ8^HSAISr{`Mhq8LJ!YE4lJnz2dTA+&NkqHzim8AR$h6QS7k3 zTv_9^k}Fq}(@L(K@=mk1|5v^vyfN&j)!r`!$6}t9@{Vvdf3G$hSX=j$pBsXoWy5Rh z&^K5w7aQr_;+o!_-7^Q|W!baQ{uA~IKt}so-MYUmGl}|Ic>gWbr_d*Xg9BLb#Zb;= zdO4n(esWR19M|z$+KV6JJ?_f|77mpAkF*{a%DGG`*OlqzZr{ICt{j)UX6sGLo?t(E1$!?)3H@qxi9#7fGgmD z{a&U(6|gxqApXF1KlJxts%``T~#b z*Y$;Rzgpt$C+D(9d{k~1?1zK>+cL0K4q;t#Y~N zeLdvd?lWra(9VEEJs`*SyH1hgdMtjs+%B|j*ZH5E`~9K5ydNFs%azYPI%b#S(UjQf zC+B8wUKX#1oD#;Naa8PKM;a-lqqB~&cRlh7R7i$o}gB;uM@R{Xu z4#dlGxmVv+UM|bYxksLyoJ&-a!}>b(lXHV1*OlvcKPo_S&h4d~umxj_aE@ z&H#_=>+bdA>kxdYuW{olVmQi!4`Q5!DrgT}=TGDV2j5+r(3p(%T=w_<#CP2dReyXN0t3u^Er$rF7sM*v zgUcw--BV9ExIhQWb|*X^!T`0>&sQj~v;PixS8xBF+uF4q;W}H@)vn`LjGNU{xxSpv zB#Z0(9lCPecfXcjuiUTY|8MHgHblFypSbg>)F$5cu=yQ5 zDc}3zG2M&pfNNZDDSPT-iYea5hk03Cld|j=68H1~7c#(QS&3T+a9IY=LRpuL;t*`Z zdEYqhEB|5Kte#?omm|@PW~#;VaGx)m`vq|F&S6U=#zw#CLbtF!_+As>qQAr5rLugy z!Zn$P``G?-eBGfBFhkj*p2fKFxR*ujM;Sl7u^8_$kA)nrao&&5p$lXSdTqhw!4`ZD zx#1@lc#g-z0gLi*G@eu z+XVBjP%pNn`#X2QAiem!l3o%c)Qj(vdbu|D_8Jh;3-iX9Ui9amTpsk|^GbS2j8HFm zAF9ayKML676Ru6`H=`2P9S=C)*)}KN)v-eU+5UGvQ6y|q#96nmqD-uhAis$7RewjF z_rlF|K#qN!+f4c{=Y{@X=|1UO;eG5|@;=6tZO`|yF5LE&?vrg3-p6f&x^jQRIqQLQ z#>P3zqnxmvr9Hwt#;$aqv`2U!>rv@GX^-$e*16Js(jMV`vVN}N{TzYgGRJ24EU^1Q z$oH?Vdl#>Df+Nv9hWiwMhbZpJd_Lxw_|Ex`SBQN0tIT)2m-3qcB=mAJbO~c)tV}K= z%y)JYIyifa?_5v5Kc+M1$8_d8W9}(!01hm_^E{p9u||V@TGGxiM|H9^QO2k1uQb-l zIb&8KkLz41kLy<{kLyw?kL^$?uhfnebm2CvbRYOwtbX8Nu{`h(wg*1lB=_tt&Q_>j z=Fg}4b7GPuKYgTwIrbY3&-Fb6p6iDOITv#baxVTDdS4a z$#MH?a$#G?+Kv5M!-Gpm--+RIU(oP4pFd-G%w;t>jt80?_eV_*9NSV~tQlG4IG$`qGeQhJEe z%aq=r^d6-TD1Az)Q}-;}oD$yg--S{GrTr-Np>!doizrQ_bP1(vDIH1k-{U9^qcoDz zQc86+W-pkPWxt`ckkZqXUZJ#v()*M?rc^sS%eJSq7o~$JeUs7vTRFA+fmwuQUj%ZDIG-V z5K7;qbS$M4D2@^vLFpz+b1B_T>DQG0gVH0EeoyHoN^enG zLFp4pBOAw$%SN=fPQ*#`gfZF46PnvcOe_?d=xSqI`_R@O;3_2i>CtV4#`Z!s;(|hf z1Y6s)Z#B1kyREflcw2KzV_Qdd;-o@b2Y>N-BMXfaTPO4_=JA(x^7_fVevDZZJy_-) zyl!59nb#kAqG(Z4@zen`D9IL2`)4D@wzl_i|MzwO_jCUr?Edec4Qg&bs-q}6xG5Xb zJbpY`XH;ubM>e+5*p#(5HjmH7w~uWeGj?<~e%ypYfj-V3+dP3jMz^-MkIveBW?M0{ zt(e(X%q-qHs(2@TAd^0jIm+KjpSY7gika?CCqr$~)}1{c6n}Tu z*Y{Po>Z|ISwpo%SC!%yix$pQSIR?Kx)?JV!MH7?cCX`;d?s#F66cjcoEMVor7KP39 z{E8NZkK!illB7$*`^||tr)gn&@9^QI5dY!ev%Gg*i^SnxJ`7w@iVIlaK0Djvx;8%7sC~{1OW0n7~Hcfy?t|O z7;p$#IH>o)kQUCq<$p@`HZ!=Th-jwzwPVM_3g4=3v1;A487uR|FPWmv_dz{g` zt9LV}cRv#weuSJ9dGAH!T_W<1HS&J5*!wYG@_;z?qf1|pEB_+3k2v*XXK#;tQgBRH z9`tuj50ATmLf{8+s`syFd0bl~PxVeZ-Q!LW9Mg*j^>#VrPM>-7I3k=()>FC zIJGYq?rR43#QjZOyWM>f0Pr^q95|(Y7hmk{JD&jtPRA|ccJBAMk>W=?z$L`64xDA`Uy!-a1acP^v0&eqaFYoG4>v0;FeZxKOS2Au;p0?ZWA9>tV0jq$9*E>P^T0Ya3i*O z+<)&&sSE`*Y--Z^Yo=%o)ls5iz7Tg4CJ)Ze*Z^X+!eN2%U`5qZV&Bpghz<4NzH8ATX;YF6sh3g5eL!Wn@AC);T_tTrl{_eKO;2N!$g`ZL zKE`mCBWWk)-GvTU=cCB`mgo(>2=1+E9{2N))0h#bde4u@`<;v_L8r)TvCOx@+cJh) z?t2rHjI4dPu=AtsE%)8=xW_FJKP>mfaMwc|~rxDZ3g+j+pt8!7R#+;`wPKX-Ub#zxD18+!TnxLo=U z;XLTa83<<9j~8VuBToG&!oZQm-6wfKoceKayvMbN!)y6 zZ8td8+j54F%Wq{)Wx21{HXoOf(jJ!kVtJ+cXSpvI&T`+S_j|+pL4RYo8fiD;)ZeAEy}y@B{|y+CSB&4f_Q=D1-7%2RhWI)U zQZrl^Tj!NX8$xY38uH0w>ra@~gZ ze#~4c^Cru62T$?xPA1vFKFdvyML6eG1`asOO`R_D^7hI6&vMf{|rFO}iqvUJ^gcP0J$l)8`FN^Rzg^O^=FR%A@PdzvjEWzyH_`m57VwrWba4KYB>M zSZ<2tf#!?lrd&A7O{*99JkYVma?|yZIoS^+Pc1jy)6)Ap?x5$U)mM6dXMU36EH^EU zwA=8Vo|`(2_VTt%yIF1;)7|5yNxNBYy6FRtdtBzoY!)7D-$zDz+!>Ph#A&{)pX70? znJCBu;xu1!agODtT%41So0P*WH^tUv6F5-8KKj6;p>aI6E_-8*_csU;dFpR5ZXPW+ zZG=6vAxYZSKcnlgg|ITiO=ly%b+QH5A;L}hI7i#?f`MM%U>TD_d?ZE{ursUow}PYJ zJm^R49b~9PjEGacEAgHrE3XX!g5xRWeLFISOp&#^<)#Dkd>_3=<_(scdi3*pr;{9@ z*K$(~cbCiyEjN92fFEmqCG%j*O`B$W`*txH&}+GA_~{<^7xBY#(`)0rA38^|+_bcZ zmv^e+5?B!8yyYq{ZzCH4_K|b6-EN7@TW_Ec!SNBc+l^Ovd1Zp*5Wyp~ZzK<1m%JiQ z_5Ps9%X^+epqDt+yJLj+cQ9-w&T`YHMjztQ{Hn6J+7^+4=gtgj`;hO;J*X7TnS9k15~6ygHv^+@$k3;xu=j>E-nfA^^Ea3=jGddO_N|8q_<&{Rpko}UgmYX)*?)!X`57NGDxv52DpFsB~EH}k)vHh_=|L*mE zBKs4To1UHSaUaqF_-nc8wg~P|@=m~VQ|A)j9yiFm)pAp-yS&~X%lmZ>#XK12A69vJ zmC{#;({|f5#N%$3b|X&P?F0}}T_2D<{ZEnz{I%S)_EeAiC%_b^dZ!h6+zu)ec|4^b z-Pd`4*K+U$&T`Yo7)Z1BH6Z{v%T2L7(0sAnlnZCM>C?p9_c0q5dM!5%+UmKa!$!|d z8xf$aA76(!$|Hwq{63H1!dNM|0$>@x9%!7bybTeqn|Z6ZuY1>2ujRT+=6HF>i#*G9 zqd{0%y(?tguw3^+Bwseuc=$n_`f<%AUf!{W!vGEbHtX(jKb5(W<+|H(k+ts?(VLI! zl*267<>Ih>T*thlzn1G(kMi~%?f#g)Ph+lVzQnk0s`R6Pk@ywkw=OPuxb9qZEaupk zu^(nROnr*IAGMsQxzm{au!-z+XdB8>y|MkU;RFbdr;N)#FZO+Ev5ZNU>*jX%xKWbZ zmg{ouGgz*R;jV{Gw9l@?u3hfOu2Ev2<+`rFG&vz-e{0Dd%XLqD%i|uFcQlskzKH>} zF2_XPLox@jT(@SE$1Rin2+MW5j`z6V$XH{!?)#BGKbDP(xLB@R9U0?Zm-et+w;dfe z>&IX=KI9Rn`SSQ!j~j2~@e$@ri+g>0JSXdC%XPP5K*{QDE9+;=b+J5HAbKs=<-%F6 zdw+)4JB142ujRTnFZq0)7+Hrsf&gXx2=RqH%XNDqxR7^()A${?&C44n@w4l?<%_(1 zKV!l}p5?keW)oGEiH%XR(G39`6S8V|je>)K%=p2ZCmz2qhy z%$K{zcwDi_BTn=0k!~KhhC-m%a$PPC%g1%fVV3J+>qPwdPta?*E;f!I?S7d4odkVV ze`EV$E2TXG23W?g7{7IK&ck&(FhKB`FJnK`(ab| z`o7X0dB+^HT-S52iMfpZW0-`%S+2{qZ(+GEhKuco&06UD{666v%XO2sc>DG+xUkQ1 z-MQ_&zkfcE&gU)HopqU)w@UUmEZ1#8e%0lo#N~?!*PSxL`Y5^JQ&!k2_xc zAdaWZmqYJ*TrYW7%&y9Vxa}i7PWRr4Q@sNwd)#!1GjXbS*o8iR^JM?ja$UE`yT2|n zC$n4^%Y(-3huwd^x9@b}PRn)oKI?J6-tX6SPoCs)@5&s-a?=+d`uJTdILl3+P4n`$ zN?gb#JlJl#%DlX-k_VQXdY$ZXVa!KfS#EmZOpnud=$4!MAV}GKeo*vUZn_*}L>4z+ z;+&70lyfXM<>H)t+@$g>H#KHIEVd5&zt|7E1p^M-`u}S`EXGahd&on{#lQD{Sd5!u zf0vky^nK+-+263-^u~=o7Y}l<%y3h#eGAJ?Fd9R?WLX*|APSdYq_cSwO(FN+23Gzcu;RegzJV$UnWjD;^`h< z-g5@WVS@6`sP?!wWj=4Y>Ak)lhhZ=HVY#VYcaK{k^J>dYt#*4{rEsFd^zF7*)_<0pPU-CJ8zlCTDtIu?Ga~z)Cq>pxZ$ zdwacqk#}&Go0iY_aemsYuQXpKV_?q4xm@zaa#Py{9#ZpyU|v)uIe-Vcj$Q)B;*a1K(CY(|9ZV&9AX>w8HDXTJ~ct*FAci#|@M@l;ygX5zf9;{IKh=wRlmUjUTq~9M|2v#_L@Z`CjZa zOh~fwV&9AXzQp6!8BWx^e<6~8{YYNIVK@up?v&nM-cadBmh1LM@~Y`ka-DLR<+@xP zmXGUnf6a1TWA?-JeHxojc_H?W@PG5YSaOd2CK?LHw+P=tGnbn6O}~#$`ERppe?XG# z--CQ7(q1d2y#gNpP+ly)p&sqeU(J)hUFX~1;xrz&NA_2r5xtbfgL)T5=2)Q;dV@~E z{o852Us#;#J=mtXi_5#B*RIXpAK}0E)x5Ls4O{=hkMpY6@?S2T-6MM~@%AmIK=^Cd zW;^D!c7D7levq$tFn)hUr^}85p%U^eul3A>)A$`a?ES?jK;c^}P(V1S_od5@ae7Cv z7JBVkuYF&?#>8?h;Ots&<-CUdATHzr^v-PCa30t-;lapzwDUzTr|>-JN999aZx>d= z58_mB*=mm?OmP~&HZS_TdPm}C`R~k+d|WjDEdS-oE8W)b$}vm5eH&;P?4xZw=VEU@eJjuzu{To$kDtg zYF0>|o4mmhu5r6uxH2r_Xv9a5i)2~g73AjL;~`eFpm&D9P6~5 zSr@Q{%?pViDtO*g?zXx^KY~tup1LiLveib6szK&tks0jno6ZOHd1AxZ(Kp3T6)f+m zTw+$?n%|~#uF*#@yv4ajQUo8=kJ;(mL+wv}14a(w!l}eR)XOuxPo3dj5#%)ROcRpS zUYTP+o?a7A`FgGG9oi3a85`{I9g$nSWql~dWfNd|+uEu=a-45WJ(mr+p3hfbl;`<; z^*ne-K6N4&_81JA+|Z{gO8E=EAV|Y zsZ4GA*mJgRvd?MT&{wsY=V}MfRW{ERPd(Xow(-c;sqENuHXhmM)Q;G5HXhmM)aKZ8 zHXhmMtbdw|IwtEc$6}5{l--{o>0iHxBfM9@M8Z5o`;=Z2%KAj=IZw3sur@ID%vW0< z)~={8qagGlwI^V3i`>|dPPHLhAL0a=S|8$VuGLSiZ^&k?Z^&l#ne#^*0}M$=TaPp{QCy;j@xT5Z#7^+m5W{(7zP)@!bLtbVR->^0}|yuJg! zSV`5j#SL;D@*MSgt+CeYke8-D$e=yhDwkluk*K4(3uho9N*7)f) z-JpMZt?|@rrnRltHHX%>$kc26wLYxzjeM@Xtvt;g#cTWMHQ#wzJl`?dYt1FaYkTW8 ziNfMBMLpuWE?03s^gsNJgOH8@UWM{qltn22f^t8~gDCuVcs{CDEm-8K`B78dnQJ`>_a(((sWXiv_ffz(h;Q_ zN*|QLD8o=DmsZV4Ce~KZ=1JwOE0c?6Rn|_NU0z;>yQMX?W2?WzyF|$8u$uDH+VW(= z-13@vlgmqISI_E~oLf2bn>E!l)5{WDS8`-se_Pl8$hrZxZorXs18vdINQNonQGdHs_A0bZzT+yDRo diff --git a/scripts/Raptors/n_raptorq.bos b/scripts/Raptors/n_raptorq.bos index ed99a32d093..c8bd15678d5 100644 --- a/scripts/Raptors/n_raptorq.bos +++ b/scripts/Raptors/n_raptorq.bos @@ -1,19 +1,20 @@ piece body,head,tail,lthighf,lkneef,lshinf,lfootf,rthighf,rkneef,rshinf,rfootf,lthighb,lkneeb,lshinb,lfootb,rthighb,rkneeb,rshinb,rfootb,lforearml,lbladel,rforearml,rbladel,lforearmu,lbladeu,rforearmu,rbladeu,spike1,spike2,spike3,spike1emit,spike2emit,spike3emit,firepoint,aimy1; -static-var aMoving, isMoving, gun_1, shot5pitch, shot5heading; +static-var aMoving, bMoving, gun_1, shot5pitch, shot5heading; // Signal definitions -#define SIGNAL_AIM1 256 -#define SIGNAL_AIM2 512 +#define SIG_AIM 2 +#define SIG_AIM_2 4 -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" static-var animSpeed, maxSpeed, animFramesPerKeyframe; #define MOVESCALE 100 //Higher values are bigger, 100 is default #define MOVESPEED 7.1 #define animAmplitude 100 -#define SIGNAL_MOVE 1 +#define SIG_WALK 64 //these defines are needed before includes! #include "raptor_queen_walk_v2.h" @@ -33,14 +34,14 @@ UnitSpeed(){ sleep 164; } } -StartMoving(reversing){ - signal SIGNAL_MOVE; - isMoving=TRUE; +StartMoving(){ + signal SIG_WALK; + bMoving=TRUE; start-script Walk(); } StopMoving(){ - signal SIGNAL_MOVE; - isMoving=FALSE; + signal SIG_WALK; + bMoving=FALSE; call-script StopWalking(); } @@ -54,41 +55,45 @@ Create() start-script UnitSpeed(); } +SweetSpot(piecenum) + { piecenum=body; } + +AimFromPrimary(piecenum) + { piecenum=aimy1; } +QueryPrimary(piecenum) + { piecenum=firepoint; } -QueryWeapon1(pieceIndex) - { pieceIndex=firepoint; } - -AimFromWeapon2(pieceIndex) - { pieceIndex=spike1emit; } +AimFromWeapon2(piecenum) + { piecenum=spike1emit; } -QueryWeapon2(pieceIndex) - { pieceIndex=spike1emit; } +QueryWeapon2(piecenum) + { piecenum=spike1emit; } -AimFromWeapon3(pieceIndex) - { pieceIndex=spike2emit; } +AimFromWeapon3(piecenum) + { piecenum=spike2emit; } -QueryWeapon3(pieceIndex) - { pieceIndex=spike2emit; } +QueryWeapon3(piecenum) + { piecenum=spike2emit; } -AimFromWeapon4(pieceIndex) - { pieceIndex=spike3emit; } +AimFromWeapon4(piecenum) + { piecenum=spike3emit; } -QueryWeapon4(pieceIndex) - { pieceIndex=spike3emit; } +QueryWeapon4(piecenum) + { piecenum=spike3emit; } -AimFromWeapon5(pieceIndex) - { pieceIndex=aimy1; } +AimFromWeapon5(piecenum) + { piecenum=aimy1; } -QueryWeapon5(pieceIndex) - { pieceIndex=firepoint; } +QueryWeapon5(piecenum) + { piecenum=firepoint; } -AimWeapon1(heading,pitch) +AimPrimary(heading,pitch) { //get PRINT(1, heading,pitch); - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; if (heading > <60> ) heading = <60>; if (heading < <-60> ) heading = <-60>; if (pitch > <60> ) pitch = <60>; diff --git a/scripts/Raptors/n_raptorq.cob b/scripts/Raptors/n_raptorq.cob index 668600d185b69252aada88b41972e784ba914995..8effebd73bb4850eadbebc81b24f8bb4015e75e8 100644 GIT binary patch literal 41726 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 Apa1{> literal 22089 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 diff --git a/scripts/Raptors/raptor1.bos b/scripts/Raptors/raptor1.bos index 201e4ba4cb0..260df1d5dc2 100644 --- a/scripts/Raptors/raptor1.bos +++ b/scripts/Raptors/raptor1.bos @@ -1,10 +1,11 @@ piece base, body, head,tail,lthigh,lknee,lshin,lfoot,rthigh,rknee,rshin,rfoot,lforearm,lupperarm,lblade,rforearm,rupperarm,rblade, aimy1; -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" -#define SIGNAL_AIM1 256 +#define SIG_AIM 2 -static-var maxSpeed, animFramesPerKeyframe, isMoving, animSpeed,isDying,gun_1; +static-var maxSpeed, animFramesPerKeyframe, bMoving, animSpeed,isDying,gun_1; lua_UnitScriptDecal(lightIndex, xpos,zpos, heading) { @@ -19,7 +20,7 @@ lua_UnitScriptDecal(lightIndex, xpos,zpos, heading) #define RUHAND rupperarm #define LLHAND lupperarm //define these as the left and right head thingies #define RLHAND rupperarm -#define SIGNAL_MOVE 1 +#define SIG_WALK 64 //these defines are needed before includes! #include "raptor_walk_2legged_v2.h" #define IDLEMOVESCALE 41 @@ -49,24 +50,24 @@ lua_UnitScriptDecal(lightIndex, xpos,zpos, heading) #include "raptor_swim_2legged_v1.h" #include "raptor_create_move_swim.h" -AimFromWeapon1(pieceIndex) - { pieceIndex=head; } +AimFromPrimary(piecenum) + { piecenum=head; } -QueryWeapon1(pieceIndex) - { pieceIndex=head; } +QueryPrimary(piecenum) + { piecenum=head; } -AimWeapon1(heading,pitch) +AimPrimary(heading,pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; if (heading > <60> ) heading = <60>; if (heading < <-60> ) heading = <-60>; if (pitch > <60> ) pitch = <60>; if (pitch < <-60> ) pitch = <-60>; - turn aimy1 to y-axis heading speed <250.0>; - turn aimy1 to x-axis <0.0> - pitch speed <200.0>; + turn aimy1 to y-axis heading speed <250.000000>; + turn aimy1 to x-axis <0.000000> - pitch speed <200.000000>; wait-for-turn head around y-axis; start-script RestoreAfterDelay(); diff --git a/scripts/Raptors/raptor1.cob b/scripts/Raptors/raptor1.cob index b0a619d75209a9859bc0c5da942a23bafe395163..673ad6e14c57bbee7f0ebabc268adb1cc2904338 100644 GIT binary patch literal 151023 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 diff --git a/scripts/Raptors/raptor1_mini.bos b/scripts/Raptors/raptor1_mini.bos index 7245570b1b6..686f15ea00c 100644 --- a/scripts/Raptors/raptor1_mini.bos +++ b/scripts/Raptors/raptor1_mini.bos @@ -1,10 +1,11 @@ piece base, body, head,tail,lthigh,lknee,lshin,lfoot,rthigh,rknee,rshin,rfoot,lforearm,lupperarm,lblade,rforearm,rupperarm,rblade, aimy1; -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" -#define SIGNAL_AIM1 256 +#define SIG_AIM 2 -static-var maxSpeed, animFramesPerKeyframe, isMoving, animSpeed,isDying,gun_1; +static-var maxSpeed, animFramesPerKeyframe, bMoving, animSpeed,isDying,gun_1; // For N:\animations\Raptors\raptor_walk_remaster_v2.blend Created by https://github.com/Beherith/Skeletor_S3O V((0, 3, 5)) #define MOVESCALE 41 //Higher values are bigger, 100 is default @@ -14,7 +15,7 @@ static-var maxSpeed, animFramesPerKeyframe, isMoving, animSpeed,isDying,gun_1; #define RUHAND rupperarm #define LLHAND lupperarm //define these as the left and right head thingies #define RLHAND rupperarm -#define SIGNAL_MOVE 1 +#define SIG_WALK 64 //these defines are needed before includes! #include "raptor_walk_2legged_v2.h" #define IDLEMOVESCALE 41 @@ -44,24 +45,24 @@ static-var maxSpeed, animFramesPerKeyframe, isMoving, animSpeed,isDying,gun_1; #include "raptor_swim_2legged_v1.h" #include "raptor_create_move_swim.h" -AimFromWeapon1(pieceIndex) - { pieceIndex=head; } +AimFromPrimary(piecenum) + { piecenum=head; } -QueryWeapon1(pieceIndex) - { pieceIndex=head; } +QueryPrimary(piecenum) + { piecenum=head; } -AimWeapon1(heading,pitch) +AimPrimary(heading,pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; if (heading > <60> ) heading = <60>; if (heading < <-60> ) heading = <-60>; if (pitch > <60> ) pitch = <60>; if (pitch < <-60> ) pitch = <-60>; - turn aimy1 to y-axis heading speed <250.0>; - turn aimy1 to x-axis <0.0> - pitch speed <200.0>; + turn aimy1 to y-axis heading speed <250.000000>; + turn aimy1 to x-axis <0.000000> - pitch speed <200.000000>; wait-for-turn head around y-axis; start-script RestoreAfterDelay(); diff --git a/scripts/Raptors/raptor1_mini.cob b/scripts/Raptors/raptor1_mini.cob index 0ce3cc764634f286d15d292ba46f9902ac213a84..100c9a406c6f62fb12b2e9ebb96e88f946463709 100644 GIT binary patch literal 151045 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 AcmMzZ literal 67517 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 diff --git a/scripts/Raptors/raptor1b.bos b/scripts/Raptors/raptor1b.bos index 83089106aab..adce9517903 100644 --- a/scripts/Raptors/raptor1b.bos +++ b/scripts/Raptors/raptor1b.bos @@ -1,10 +1,11 @@ piece base,body,head,tail,lthigh,lknee,lshin,lfoot,rthigh,rknee,rshin,rfoot,lforearm,lupperarm,lblade,rforearm,rupperarm,rblade, aimy1; -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" -#define SIGNAL_AIM1 256 +#define SIG_AIM 2 -static-var maxSpeed, animFramesPerKeyframe, isMoving, animSpeed, isDying, gun_1; +static-var maxSpeed, animFramesPerKeyframe, bMoving, animSpeed, isDying, gun_1; // For N:\animations\Raptors\raptor_walk_remaster_v2.blend Created by https://github.com/Beherith/Skeletor_S3O V((0, 3, 5)) #define MOVESCALE 41 //Higher values are bigger, 100 is default @@ -14,7 +15,7 @@ static-var maxSpeed, animFramesPerKeyframe, isMoving, animSpeed, isDying, gun_1; #define RUHAND rupperarm #define LLHAND lupperarm //define these as the left and right head thingies #define RLHAND rupperarm -#define SIGNAL_MOVE 1 +#define SIG_WALK 64 //these defines are needed before includes! #include "raptor_walk_2legged_v2.h" @@ -50,23 +51,27 @@ static-var maxSpeed, animFramesPerKeyframe, isMoving, animSpeed, isDying, gun_1; #include "raptor_create_move_swim.h" +SweetSpot(piecenum) + { piecenum=body; } + +AimFromPrimary(piecenum) + { piecenum=head; } - -QueryWeapon1(pieceIndex) - { pieceIndex=head; } +QueryPrimary(piecenum) + { piecenum=head; } -AimWeapon1(heading,pitch) +AimPrimary(heading,pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; if (heading > <60> ) heading = <60>; if (heading < <-60> ) heading = <-60>; if (pitch > <60> ) pitch = <60>; if (pitch < <-60> ) pitch = <-60>; - turn aimy1 to y-axis heading speed <250.0>; - turn aimy1 to x-axis <0.0> - pitch speed <200.0>; + turn aimy1 to y-axis heading speed <250.000000>; + turn aimy1 to x-axis <0.000000> - pitch speed <200.000000>; wait-for-turn head around y-axis; start-script RestoreAfterDelay(); diff --git a/scripts/Raptors/raptor1b.cob b/scripts/Raptors/raptor1b.cob index 5e0b1bbed5e4e1bb91bc51a14fb61c9825d42ec6..0c6725f4fa2841b3cdddbcb7d1f477b8e75e1aea 100644 GIT binary patch delta 16930 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 F{|A0u <60> ) heading = <60>; if (heading < <-60> ) heading = <-60>; if (pitch > <60> ) pitch = <60>; if (pitch < <-60> ) pitch = <-60>; - turn aimy1 to y-axis heading speed <250.0>; - turn aimy1 to x-axis <0.0> - pitch speed <200.0>; + turn aimy1 to y-axis heading speed <250.000000>; + turn aimy1 to x-axis <0.000000> - pitch speed <200.000000>; wait-for-turn head around y-axis; start-script RestoreAfterDelay(); diff --git a/scripts/Raptors/raptor1c.cob b/scripts/Raptors/raptor1c.cob index 40d32d4c3310af140bb4403e5068af41695cb34b..3ee335f2b9d2ecc0ef3406a4ab2c4876e1860621 100644 GIT binary patch delta 16656 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 delta 16234 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

DXK{+RiVh!O1(-D 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 <60> ) heading = <60>; if (heading < <-60> ) heading = <-60>; if (pitch > <60> ) pitch = <60>; if (pitch < <-60> ) pitch = <-60>; - turn aimy1 to y-axis heading speed <250.0>; - turn aimy1 to x-axis <0.0> - pitch speed <200.0>; + turn aimy1 to y-axis heading speed <250.000000>; + turn aimy1 to x-axis <0.000000> - pitch speed <200.000000>; wait-for-turn head around y-axis; start-script RestoreAfterDelay(); diff --git a/scripts/Raptors/raptor1d.cob b/scripts/Raptors/raptor1d.cob index 3f3dfa0145fba05fb72dd44b2902158612e3551a..a01e7ed05928e3bb930d43849eefb7ba947156a4 100644 GIT binary patch literal 68621 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 diff --git a/scripts/Raptors/raptor1x.bos b/scripts/Raptors/raptor1x.bos index 4cea013b262..8607bf08b4f 100644 --- a/scripts/Raptors/raptor1x.bos +++ b/scripts/Raptors/raptor1x.bos @@ -1,10 +1,11 @@ piece base, body, head,tail,lthigh,lknee,lshin,lfoot,rthigh,rknee,rshin,rfoot,lforearm,lupperarm,lblade,rforearm,rupperarm,rblade, aimy1; -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" -#define SIGNAL_AIM1 256 +#define SIG_AIM 2 -static-var maxSpeed, animFramesPerKeyframe, isMoving, animSpeed,isDying,gun_1; +static-var maxSpeed, animFramesPerKeyframe, bMoving, animSpeed,isDying,gun_1; // For N:\animations\Raptors\raptor_walk_remaster_v2.blend Created by https://github.com/Beherith/Skeletor_S3O V((0, 3, 5)) #define MOVESCALE 44 //Higher values are bigger, 100 is default @@ -14,7 +15,7 @@ static-var maxSpeed, animFramesPerKeyframe, isMoving, animSpeed,isDying,gun_1; #define RUHAND rupperarm #define LLHAND lupperarm //define these as the left and right head thingies #define RLHAND rupperarm -#define SIGNAL_MOVE 1 +#define SIG_WALK 64 //these defines are needed before includes! #include "raptor_walk_2legged_v2.h" #define IDLEMOVESCALE 44 @@ -43,23 +44,23 @@ static-var maxSpeed, animFramesPerKeyframe, isMoving, animSpeed,isDying,gun_1; #include "raptor_create_move_swim.h" -AimFromWeapon1(pieceIndex) - { pieceIndex=head; } +AimFromPrimary(piecenum) + { piecenum=head; } -QueryWeapon1(pieceIndex) - { pieceIndex=head; } +QueryPrimary(piecenum) + { piecenum=head; } -AimWeapon1(heading,pitch) +AimPrimary(heading,pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; if (heading > <60> ) heading = <60>; if (heading < <-60> ) heading = <-60>; if (pitch > <60> ) pitch = <60>; if (pitch < <-60> ) pitch = <-60>; - turn aimy1 to y-axis heading speed <250.0>; - turn aimy1 to x-axis <0.0> - pitch speed <200.0>; + turn aimy1 to y-axis heading speed <250.000000>; + turn aimy1 to x-axis <0.000000> - pitch speed <200.000000>; wait-for-turn head around y-axis; start-script RestoreAfterDelay(); diff --git a/scripts/Raptors/raptor1x.cob b/scripts/Raptors/raptor1x.cob index b8e0bc011854caca7418ff9c08fe4783aee1977e..a242e15f3870189f8f162c1852e33965f329e022 100644 GIT binary patch literal 151023 zcmdUY2eed07HtDhKt)7Q96*qVfCK|7C}t2OiAoq0Oe4ZW5D)~!0Tbpd7(hi)%nCZl zm_|p8D4>pxItrNcASP5q$N0~_UFUf$yXu_keysohU8`63dtG+Eq7nSuU4r zNUsL;dhPODt~R}6JNtm@xi{(6v2XR zV9jJ-2TnO zWqo}cka(e3fG==4Zi_b!m-TU{DsclY9XdPqNBi4x@A^3&w@n1!^@V%=z4kntxMjF* z(060viw!Xt-#T2@*Y_X4#B~5J$L*j-cHFi~+kIdec3}>_zE>*xW?l$dP~4WUvE$Z?j9JJt;Ih8u^tqCk^J(}l*Sto(T!(7E z^LFhU=gUGvc)gcs-~l(r!nldQ`5ndZw|viaD9gMcHQm#5{qkNgW8-`w@5}FUU&i_k zgT8eb?3oIcm;2?K*Ub22eL8Wg3ZFXtgC9%wskvOUOsf>HTNyW}9dtxpQ!v=4a=SRI zS=(d`pGTuc`M#?d9-K?(ZjsL&i{IFYc0#=imCaGU1C#S2#V_+dF8kdJTkGI44fc7%?8q7q;wI-$Ln3Q2zP_(2 zK2gq}>P6;oKJMpA{>u5&c@1g?bH~SR@mRe7mGh^mBg@RV7ewZq&{xi%zJ1;vx81*w z^QA5!+t7B_B+N%Pq@<6vH{f!6dm^F#ou$MLxZK|A931B0$4zT*FwV?(ec>K3)6VzO zNE<>v$oW&*csuS>l=!i@6+3_Wf&v5FL4!8W-c$UsAFKM8{q+CHoFiYSl)CtHj^Vl6 zOV(q9^NZJm+sYeTh2!q)kA@J-5ny6NnUp!l1wY06BH(fxJaxY?2cPe53SVGi1K*Un zOv>8-!#mmgy@!ITX%3eJbFW|V2pizr_$gP%Lh5=72tB*?z_&8dj>VASUZ+; zj`fAxd?WiDzj~86UpeQPNaRCx^W)Y_@tAVX@ktvyZf^=oh(pfJkvMK2*0#?%ZcI35 z({dwwyTD{S##hcc28^(eZ#_SYkMq=pWgCv&f)=+!9Q?RFqx8SP#aIu#Pg~e=A9MQ@ z>QfOn;BwslbiEz7OgR@X=N#(`x7!x>xb;)kEQ_6Utgmx6bKG2J&=$vKF;DU7er_F1 z=YNnlDH!baDLt}%tL8jMzU>slgL8k(zjjWpi?7E8yZ=)39E{sam!|f%Qj>NH^#f>w zz{G|!H50txzm%K?F6(w$WDUmG=L^Rr)Mo$_8~CPNZ^Zk=aKRb4)xWlnrN=5`o}6&Wc_g29Oapu%iMj6z3;qbU3|=wbAw&J zx6e5`E4b3Tet%ZDZhqXBD`P)!Ic{^t*l|}WaRV;LEyZK@QgDm)t|_<^TifH-T;VId z>%}M8_3fs3An9FawzT7JX5h5*tL(Tdl=Ii{ zg4odi&e_$j?^+TM`-J*Q;BtHW)%lu2W&L(M#BnK97X2A;Ic_N)Q)?H+de;=(?@kYE z=IgM&t~Vn2qH%*KW_`=)b0sh3dZWJX`qX*t`epbjey{Qv?%J3U&*a-<3dZ{Ju6eDB z;la5-wf~%w^{9$#+W)*oIPSjw{gfO*eqclUPw}oP>*c>h)=GT7%q7%kAQoI^Ar%Vs zTR!e*%Gi{}n1F#d=uZ0>vK8Ib5#o@eK2Cbq+6f;1NeYaH%Xzsh;hO7Zu8tvnxG{J4!) z;s#uf+r~TE+glIiJe~BedkwVfdz5l-iuA4z{mstzU*+Lg1H(}1PPB|YT zz3U5+zS@sl6ADVK|CQb~<(iC?YvtD$ZpyXt9FtJL1CPmNo_{~AnXm5&%C$emde^II zvWU2Go65#B`a5f9^v+!6`)}8^$FGgIVGweO*TxUpqD@wZ6tDUReYeWD%@mCF6gXx;9OeW%AVg>D*XpAu_0Geu2bQCLhTW_tlM#2?R*=Pk&5+q z8K&dA_gK5n`cheAk^cAs*LDll&Cl=c6n%lqI&|71TsI$gb63Yg9CFUjLt|+5eaj7k zn)$dVJ|6d*(jT{Z(Y}^9E|QbrEB$f*k@mPX|1Qo~`s3NOa1zQLUx#m%>wu&`J|e+q zRVZ;Q)*o-GoF|oQyD9!S1$VD!?E0Rf+>3%S3>)HgV8rYBal3#LG!$dx8F0D1b-OZL z*2g`Ts=c&JMV&!>(kOt+@Nsexb6=mvu;cn~^YI>Uw6FgRjHW%JsA0%W+GY*Ic6X4|1)4ec|4G zoLz^MYvb#lX2;!oZ9LD4oi9B{h6lNx%eBhhQ+&Fg0}s5L@0U_A*3XVFWu7k&*UiVRzezNxy<@H_cPVy*{`P`k;N~?|NCus z=yUl#ECplz%w>w_!MVRl&z2?Yan+*Yp9#usWqiVYzB|%Ru{H=yY$%g*-O?_~dIE4+ zx0Gw{UvgXu`Hvj+alpg|zA4u&@jfwJa0c#@w)U|!8+&M<5U!ld^cfkBh2L(jP&_ek zEA>sd2jfe{Q^>i@FCW_Hbb}*40dbRanHoFW`}&uZYjx#Z=907RxJ?yYIhXmltvzm? zl)0ju%iKo>F4Q*te3+}mP0nThf4k;>@EUub9i-@hxdArl+VB>;zJD>`a(jC-!NWgl zz~z3Y=Vtc&eS#i<9m*ZFH#wK-H^Ywm_P6mlhnySCu4TV&X{LfJy=%kq;kx2OKH^XXqvt^t0O^c*6vjfja(OkF0MK<{rP|4n){Y_+w-Aiy@6IpWljTAoKj`NIAhA!Ovg{GL%;U#4s}?F- z3@-N#xm@^JCB@*fHaqPr?!~QqhCJ1VVt`{~Lw&Sz%=5Ur<9K}Be;*$%hcei3+*WJj z<@mTa?!Uor_Y`~ekREKiAHsOj`*hr)S`?4#vFg4$!E(~`95gt5T$JN_T+}~aj*t89 zxiy2wm7eGn@)(8kBS-N?IX>=_bj~_fj*t7^>RQ2a(lc$>Fsz^SDqnYtm*e9OrstuB z_{r;@t>qea`D4Cdt^{4AhiLL$SQj~VPo;II5I^Z1x?l6heA&evSB}~14h|m|DybwOFT)&z6TD%K_q#0>X-+y%5M%jCzu?XJ}$Nuh_3fX7Z7oyJmyL(M;ji1LWgu&w+>$^$I?Mmh` z|F3z!kWv@s!8*?Al-H#YXXqj8y^MAWX_WKEyIJmhkOjBQdBs9y8JBhIWn8LKR;ORwGgbI&A_<}1o?Dx4_3$)-qM?1#!1@8LLA;WZh4|msIS@@Dw ziSm`cp#}}op}P6{($a9SEaC=S*5S)d!)1Nk^9;D04=ZoCri8~9rtE;p1+W0h@13P z_1twIh06N+{;cqozUkY9d^l3+f2A*~?S50w!uM5$FK{`3?{jO97F>RIVWG0nSNgN6 z9FL{1s><;gxU9q3huQOtuh$9b09?-Bau+M{@7v~iZY{TO zowczPpXBHAHp}AADJ@th?{}2<|5JW_vJ@V5mX_{4SI*wEWIZ-MrFb43G+-K23*dES6&I1_4%Hp#7%n7IkYww z${ioKr!vM$?|IW+cHD9Ww~Tba20phYcmjSVekdP+%W-RvkZ1h+UNKyb+mdbUI-Kk3 z7{Zm_vu_pVFK}6h`xEk)rt`tv$x%NET-M=(S>dvNp3PJ8S9;HX?qtV3M9DMhJ-a99 z!1v*W;wHW4HC33u(tG|bA%E!+650JbF}@tPsvM7t^`4YQ(L5{Gd+ta{AL{#%zomH3 zja|Dx^xY$~W0d0Wc3oZknjUMn@b&mJrwZkQ-!8|FF5d5Q|I*>_rTg8cx0LQP-`OJ^ zd%xc6l>R7dD=tT?5;xP#;cnd1&X@0RDil-Xwe&%6A7#gVSJ6TGpdDM=art*RV|+7> zY5Z@QfJ;L|w0%n-G=m1KP+#EZ!#t(`ls>4|4tCtD-LpGFI+UR?(*{0+kFewJs`yvn za{IhKVQsI8q62U_ZbK7r4^i?Az5*L``1DA-4$BR=tivV=dA3r~SNfn;TiE%2>FOBD z2kC?8l%P3(uU6tFebCDZ?P9v3gY-d*6Y_T#11`ty?+JO!n6E5rXZSU$>sBX{~xKyR=*fpowaVOJ28RIK`O7*Vc zvOeF_6+a<;%Hjka_EP#cs!q0n&jAVZ(s>GB;Bx+Mx2;`=QM6x7U*K}wE=f3-)kn!Q z=~IrR!6d}NkK5J;T-IT6f={6-X^;c*SNfD)6MPl@>|+#H`jl1)*Hk>KpaaHzY}jv6!nFi^-G2<1<91d;+$tQG7%t~;RgTB-DcGPxRgTBN zWgQl*wa0CWl4qs(svli{vTR-FtiGlAD%LCogRjBjeP>MH@&76hj?aN>clf``gY){j z1b@XEhT01-xy;WA{)+dB;j(Vk-2H@w%KH701($WG=YB)bf}3()aAJZEDdz>NQin`i z5)1lm*2>;*X!^ppahWxA?LP1=`tm-7%I2IOUkfhBtt!W3=`*WxJeEH5v4nhBpXUWUcxBj&>n^=GF=8HhU`TLDFZwc2Jmu z-`aC$Ga?kIg`*-mzSPozr5+MD#55BCa}_1ndjiVo6e zUgMsfU#MyJO`5^sFlgOCw6Knm40T_XglsVF4iI3GWs4H;xZ)R{A>dyAArko z8%sAgSo7?kO5A|Ual3*3u;QMk;7Z?dVnaJFKl64tMD(5ufVcsd`5s1Q!OFLtqObHF z^IO?*7Z8~c2k@1?W9nYvvcQo2?-Zq7NZ)aDLOIDSbGZAT zYUjHh?HHk$PrZM#!iz9ul&-WWe z2kBQHO&FiF>-42x**U>)@21Q%X~@qu)U!@P+@3L9r^a#HD&fAYwulRH3FQO$a@;B| z3zzldwqqp5$Y1yhY}oJ2gz7_rbYxb6+;K# zen5`9i@MqQeycpAN{+kr6XG^s;R{@j+akL7!Wy@`mAJ`q_l|_|{9z&!;()lxakpuL z4$F~85uYH(-S-mm_a;RLIqvqqFwDVk7iTLv$Z>bVesbRjUGmtQU)(4=M#`A! z>$=Ld^%M+$K7Z69`t?jre z&+4r0o^M}hj^pc~tqW6Ek!{#-*b#QVDbMPxN*%zLx_~Sn+q(5Piw<|YeF~MuxCbAE z4LW?1u+G}f?GwYzI1}#Ng!9Jd8E{#LNz?Mzq!r@e=R?Y~I!9k;&xe#}bw2r!9XI7! zo$sDv$4z-w=lq28a+8&~mEn6=hM&o7iCfCEI_GX~*I`?Quk>x56Y}>011{?@;T}8R zlxKBL-qnu#v%**UwvD^kagQ|kAUbr`@4Pt0j+^qV&KU{wW?F*IxD?7s^pn!JRpodL z--ZqSRaK71z~%n;>WSgH`Tb;7KC2VIFT!m-tE78wyY{@K%(sf)q5#K2e$w}inqN!B z<#wu_UrNR0xbXQ$e}Ci~j*Sg<=jR!O$}vyQpHMkIE?*}j%i%sU92aGp>lj&_6dc`$@Ll@_Y0Mi>n}Wx7b=Hw z4qKM9G|1pRRF3Px<9DbW*MrY9$Z}-iGyUZH1>Y|&%b^%_mg@%mT%AxkJ}!?_vK&nr zGd#Io!1v?Gawvx5%5j9(-DSB#ziq+yPs?(QC;MX_KSJfW9oY-5!6G@ zvt#W|_P-ft*Y|b7ALDD*%Qdh0yS9d0!0%PO;C`23#{1#lSwc<~8mI98EKgnEIkWK( z*}0oSeP;-R`&8Df{@(5LxeR{Zbub|epGR$aXb}Ea3=imneJ4GWf49_onEQS0LS+%d zOlybR^0D|FLh3pC>-f1aXod}ZUm0rWyB{SB_6hOLV&QPVxFuW`7?SVl)ValQWuJS; zR^hTfF5S)_#g%<(g>sFvyCXMB~z%Z&-WbVTB9<;#D@KjxYdrkO3_#L z$$Ka0+fva%_PG}(=zE`nEBoks67<#XDL`M14f>Y5_biqLt~Ej#qM7xDAMBRjXS1)1 zyUs}F*8K8(J1?dW0v+&Lz43;@->Ad)h1xIvFL}J){i~w;Lhh409`j(vC#5bvkG2!O zFPaD91H9_b7EP9}FjISI+4r*)XJJ&Eaaoko!H1l=1Ux^#|a@^Jqv-91X z2A`M?a?Be-EiY8o=lj_gaeaZyI$U*Dn1hdd3{^D50qsrBhjyahR1B5%aaYrhp|Zf0 zWAs_Kh0FT5ZI$zqa*Up`p`Guk-^TToWAr!G>~SlP+#>`XfXi{4HN>vNPqb4^U*K~7 zmg6&zvx=wa=FYj+x}aXRPbp*Q(|^nBpMt^jE25kof9IM1Dw)T{$E_}UEa%t^`qL3L zpkYc~Dm8cW%>~cAQ8W*Z<+sW`J92Eg^!s>D0}~r~jy)#-J{*wD>w{}vfEO4c_THS1eAO|0}$@X!+z-1jSc`|?PVj&Jb?&Npk`76EE z{}$QvVVUApq_>(~!=Aq%DDz$Et$vwj=lk-?xDI8cFE;3R{WLr7{-5Z$9JlEe;TZdI z)1LhdzLeq_-*eqFPb~S+p>>!8@)uqO8~8MCZ*LceKNr^lxU9p)pW5^HwN^S`*5TQ; z_PDiFaHY3;WKTP8Vfjq5AD)s{o-{m$Zj;`&N&HKck?bAQ$?a()B=&noWsR;vR=c1+ab?kw!_8$SQnH<5!Qw|ETXdbj_Zjs z{&zSQ_RF{ntywR;uLVH8ygq;keaFZ7W$WLL%k}X6R*rHE<+;znKEMS&*C)I$<%QcH zF)1rZII)@<$>1)-;e*}d7^%U1Q*hQ9u-hrk0)w-hQ8sNck-)#P$GCnDF@p(+68wXLR z6b#k_@xs1)_6>V5|9BO3^84ibg&JAkmVKu7i@cUPH>bb>zff5pcOj7pm1SJkZ9ZMvMPJ}n>hPl-cQ_5! zF&(Hn*@iNkM(XD4&>nmOxr2Pj`UF?z<_Y1lKJE_6+`24JH#_$6ci3@<8SZo8{2jBq z9hZKVEvf_fa@?M7V{gawXviq8^!k?#2$%Ks?V_xIORs-XvJAygKfkrPrU>(XQ_yioVk8|Ju^7@1{yVz&m3@{Tm!?$Gu7ECxOfPyMN?48@|5U zb@0IDxD7hn&i5+AbFEm1D#~FYWJrg$2rdzMb0((eD8{IV7`b8v~1!$bfH}E zaraRA5$Q9o>}Jo$t7%7YDZ~MMfy+AdP4IE=yE?{jS%;-!KIyj!Ux&jK9i-1VkY+cb zy7{;dD14>QXxGAyyRp(gmCT z#%*lC`)@+O^QFQUxZK{#>2oEofFD3vti4>>HO~cqOApZh`qI~4&RtTR2gtY)A87RS zoH`}1y}Y>bcSWtefCu-D7tVh=TmqxwTQHb z9JL+P4I6NmM#}oQ`zmcc)6C(X5xIuK$K6%&aPSz|!1sR#*mWpZynysB7bWyfxTgSI z3dI8Y0+-|VS>&9oufuyZXvA=(cj=Qb2A)b}Vz|<~Z0^>$3)Ri%TTSWn$`CZ#aO}Tz z3v=*se^stO04}%B6&>ujeIn}!h#SUiY~Z_K3p?&2#lr!Y`3|4~CKL-_hcYE@z~wx< zgC4wX#XW{@VhNRn4$@=n@QI!8Ly?>WuJjmXhuLx0Mb-m>D?LX2$i0-lzTYKyjM#4^ z__${%*Gfu{u_AJhypKCw@$}MTj7aF$rx-j2=WjXXTqQ5XW1QYSA7kt*J;t45UFC_RuPoMTtI z^MaN!Xme$Z2PQW3cb#eA2=#lFIqf{#71hFJ(dS6Mmo*BP^>Hf+9P$!9#5}$mM|V%Y|~jtOJ@&&oZEz-4`3Cj)Nf zyFiH>a9Q7L6V4BARX@xD`bsa^eq6Y$pARP}W3lv-7hPt@ZLj2+^pdUavg2<3y4_1Y zImM2pJ{5M{A(1{6e5o7FHq>coGKZC3{rQA^xJ{W`0GD+rr_Yu3RlNH1J@R!!%%xX$}@-b{)QH5H5>$ z3=e`0I$YN^T-N71m&nBQ1upBbG+~aiF@99OQt-PzKP+e>M0 z(lgz=lO1;^bu2M`rDuA+d$_ExL)}PDA|Iq@+AGpW`M57BW2E#<7exA0ANOBM{{URh zhhGvr|8j!|A?Pdy545)Hdy(5`ICd^DZc5K|M{_&wKb8JhdZv{1&3C_vw+nb1Y{79n{GLEIJZ=Nu>_}}>n2>(YZe`t_ zNBZTc&x%^lLpxwi|MKCxCF{{}x1WmU!EN&FyLTv=$EVebiwm@1J@&mkAD=?)(${|` zC0DHP1tvC>`7;@mP+1@M01_osHs?Gw^Bt1V=PXqE$PCl*eeyW_IjfEeuJr0nZVcDW z*I_~AS`6p_T-IU0<96H~XfTNB3tS38R;JpP_Un+pRXhp2FE$*zX@U+rM#fj@AiesL z{lj(h^?iXV8Ph>}>Yi_f%lf##Dt&rcUWV-0&70cuZ0UdFV-RpTANIZ0&UXr#q?iuC z<$O5g-f&r8hc6=M9uPNpRBSkQ_YLeiXxF6!mvwmj9XsFt$~rG_S%))Uw&U*pQ9N$& zsMw&xnuPooDbJyAIbX=Yil+u|bE8o7-_8Q|{LQF6(e` zq)+wpcR!_H2QKSy-Y<5(hbvwZ9u*sOSbmZn_Y!3tU3%)#N854FQPv26%R21vzP%lP zrT7Q>I@_Sbs&;n1^OU#&m-Au25q8|84SZRLaymw3J}F+k&4GCi;3U2JuMO&CIZ%pM zKeJZx&kcq6(0&ubuj8&aEk+NH%ix4-R4$;MpnoWjP&aHS(<}0PBEKGc z(T*A}>vmc9a9JPse+Is+Lry+Jz*}STaoa1nat=3rGdth?BV}{m9B!XO?6`Fe*Cn$K zOUByAR1T-NvCggIxE$hF+a2RS$Vu}heP-;Sq6 z#!$v(9o|d02B?o4r$YUtoEtWaJj>SS`)B1jV{&d-KjC`Z|0;2lbGW*P+53n36zo_& zU`~V$WzLVBL-BPePng4f(>%<<$8D>u#egs8?;$tZaew$c-rg`L!Ui4g+}@5`OX+uj z%lUg*B-ec%8YRr(w%FF54@;GCNY3HLB%DWIrsRX1!`;23U0?0qY2b1`l+))*9hEs; zZ+Be}Vk75pSCVlEwUwUC|EY<%@w*w`cEI1Zog1*Ij0sUc(G2Ac@XoZLubd{ zZ}P_3dy231>+yoqI0eI>D^%2LRWgtL#}+?lVVz(5xpv7s20mUq4~|REy~4TS>wmto zu7bK@L%#nv;Tn{^lsp11>()QPBfn1OB-HkhpBbj(yRK`vtgpjS3ST)_IJ}!3_iW`F z6yUNBkMD2CJtlH}7<2$G=fi1}?YNC-@Qmpz=L%n)7%uDU`((s7fG==ahZ+g%qvtDL zOU@N8ONiU<%6Tt2S9rOHU5C-@;vNIu8yjNq_#<}Qm*3KHS>K~~wc{>S=8oXYd3Nw$ z?6|#Jgv%lySVQ@P;-%|~^oDU6#+dXGT<@#kg2ic&poo_eg{0VSbhZ7U#Vsi|*tiy2$ zo_@IUdk=CBa#bh04*MwmnVf@smXHtgmAC29wP?-&6C3g> zWo|f4$wjGK%G_`onW+q_}G<$S20aE(UC$oQUfo}P7Ba&)+Ez7C5ThRZT8>(I7KxU7#Gdqx4{vJTz$ zvEyzR883k==OD4)aQ69Lr|2N(ApI$EL%HMQc2L$0S0{^w@yA@f&s>&Ur2Fk%7y3Ho=W+By&#dA3jmq8*n+#7Tjd#d;hlKvdA+z2kEt) z-OJ92_*2GZ9bWuC%)!sI74OIOm2;4ubO3Aq9;oD*oP+!jX+u8WUzPq$&OuIytU3F* z8%O*e^aU>G!{ra!<95l%aed_+E41y7F+?JQ*uvfp}|gKVz!liDPHR;d7@$0dJJKvQ$7en2!LAQpJOMkAWFfQxxYA-wPQ_6GtrT3qj;L+zQW2N-| z&nC<<`zg5a(%6t^)6cQ%u-VIT?*v@dw{F67S>995PfG9Ka<-lC3hHQ4$Iy5rz5gyF z!)5(;(J=DdROA_OS%^l|r5`~ z4wSxTkG^c7fr$N&l7z7_LP!&JpHFnie8`RoIT>c z?Mr^n_vqI@E}93&ws|CPef_VaokIDQqrMcF*ih!;gdE?FMA2|rx3znO%ldpLP-E6` zS%=sAq(7_NKi<1Eh~s#v`H8w=!@l+B_D;s|c|1Zl2^Y(Qbsk(}_mX*RGB>~GRg4}S zmwR6c$I!3$SY`c1>fHWwJMQ~rYGQc=T-I$_!usLIw3CL*I^6h*ef_YBaxIda!~N96 zj$6A`oUfe2U6n9)z8*QhouhsQxU9oN3H{Yckyrp%&f&g1DqJ@|&(SR${M^Ql zTcP~^F>qOjm2cW{>2l|&SEa5x+mMT+B01^nK)0T&xU9ovpW6AhMLmg2Xih{nr;_iO zx5H(9zPCRc=L=ls+iIa5_XowR0+-{~tG2zp-5$BF2Kh_fQno>>ar8r;A;2;pSgi`W$Y~-s$Hk z{5jlXv+8FWrT9u;yH-A3Djqn)bbNbsu(zl0l;=9hIouZW z%glV=?i;QfbdYnn1K-Q{)rI_=ufw{II&RihDQ=y=4VU$C51>g;C>G!==Wuls=33WB z`XI*Te0V6qLyT7PSI*&P-)HyM^|y@cAm?y>63*{^qj(eGvJN97=S2Ouo#k@AQ0_oq z;Br39nr7GG>@DItlo2jAS&q&^|YO;`uNKUk550&0p|k9d3?X=i}q{*fowT z=Z3E=w727HBODMn;Br39ztP^GK1L z16cl@|DRCE9?>+n@% z-s|JikQL;B{sFkGLpgn}++Vr2?{#<2Ciazc&JPpDoCeC+i~3@NhE0j6Rm050pWYIl48aDj4u1-Puk3C-<%Us8VW zMS8rhMBLi1cUSry>G7ISGFx#Qk{JkuFuu)I)&$_iutA4gBRT2wJxqi(RboncB_N4vp>c&>cwo^F=IC$^U+v)Oy@-Zle2kU(MvA$czC$1ukWtPePqC89eznzCmKULh3dw9xt*?=7%uDcU7@V^%DL8zYwfth z-17qq^_k!cT-M?6I(FQV33IJqH?rr$5Br5VfG_4Q*bsx(>+;W=EL1mN-;M8&_piWZ z9d5eMjyrk>oiFFZ!;$MNeZEtb`#CUo!3G`Xk`WB$q>uZZ((lMQ(df2z+?|x?&B-~@ zLlF)>-}VV}qS|fje7h+6$~jT*g!^#j&<|UOVuAd{90ME53_8@#w9TvHk5N#K@oLkd++4**(K{nQQGfc;KVQc#wXRY#l5;@0Nxk=q12VdWnk$wp} z0GD-W@w|PGb5Nu`GHx}e!_RbpkY+yL!IALkC}gVR*v1@&U@47(6dF)M-|vulDu*x6b4I)O95Kg+KKjRm zbDx_;&f}r21DD(Sz6tkg(b9Kx49qYc-<3VWW&QZ~SMEK9_r?Yto+bko8i#${@$R~= z;n>+bw+9`7%R0>bhaLCCNdL&V)g0gZN853qpiUxGH{eQ7-#K#ap0C4(3G3r8QUeNc z@Nsudc<$4|-`R27v<#Pp4${*%h|Jr3zK0~Nk9TMj=HTP*K}i(SjQMgt^y?5V>*H<^ zIadi>8X~g|$F4ztggE%P*C%-TUY+f@H}?-yPP60Ai1<_H%R02(DO@+7?>glf6VlT!i{zw_+rZ%IS%-%s^B^CW zenvN#lh8rV6`JlCF6-m&kg)E)ZGuO>HDRuBbyqvz@04qXyKVxW6j;0+;!|LxwNJ!N)zOWwOe*(RMzJ^I>9^c*wc=?&p+ax2_BDi_;^n{?(vav8ahbt_)WPT zcVgFYS>Q_Vc>QM^ne`nSxqgOmS%*(Px8ol8KwMw&t%eu1<29Yab@TJ#NyXbp?|54z zCw<(XB5e~o0GD+*BB7t$Rq5A(%Q`fQ4fE5Yl2uIMY*nb#z&i;qy&gQa(z z*UFv`Pbq6I(mTGktsQrEL^I@r^o|!M%!N-==I+4dd}wino$nH*UxydNhW561FFWqO zNi#2Dh0#8W@GGm z>Cf(|th@7ycYgcdqStphR=JtoOV;DR%U>&+2gkPQLH3;aigpV5h8(p?)D0WTyp?br z)y@g)%;Q>zIrwpE7#Sy+FY9n#7d!4{%5`e+$k?DmgGk+czFm(Fa{yo9a{hd=U%0G~ zyII$8S;l1@+D{3W^>G&~&qkx+G~1xVm38d6XC$mM&q&CJUP|1+mvxwyFem*oVXn}n z+^)k?Wt~IL6>f_796xT?P!h%3F>qOj6&Hld`nb2<8~2>j(~q8L$L*=KW9jLiTVcoD zBQk%@QG1h~zUw{qYqhRW<~G3PcKp)acHCO+!*yf69JigW377Tb_Lky_;E}N*XPQwX z3FVHD`)^95P+9N=F6$6`ZlRBRxB-`Scr(Exf0A(R$W007%^p|I=}S+)&w#LIz7BUN zYai0nKR3>fyPFIly+t*iH7(6oT z&@JIwxI>la#z;^9%1?G3_E6?x#d`YM6Y?BrSpJ=-ziFe=f3LXpGsQjU9qk(%@@e|x z`(*Da^8!DIT5qztXfMru*he>CRvmmw;jz(Yj~C5@`@Cjn+H<^ta?S&F!-jg**vp=a zJ8u>)i@qPYtlNg?gvoTRM zzwt#o-^i8*o{NCr-CtGx10l9hY@zc$8h=kM@t_%DFP+A+L0Ht_s>Kf4Y;Dsz50S6EqL$K531+L3|7|B~@8#mD^eQgOe1D(4pG zob#uWd31RxuTe@}ux2dhBBx$3qGTQ$%q(6H&d)dJ+VgXp74d#W>Re}d=YJrc*r4MP8(mUz8(aAJ7e&vVI950HT2KRgQu+&j z%vmt?#-e#}j`tm8p9|c(D&E%R+~vzd?Q?-^70)B*F1^mpKUb%apY!#(RJrB>xU9pb ztL-{;suORMmUnG<1-ferbv)x-96_#uzP+Z%8> zALd+W&$DA3myiy?<$U;gsy!ddBiGYGUpaRoAH?;QbC(~s zx8r_tcN|yFT{hX?uERuSJy*_MX8z0GE^>+&kaL&T2iW`Hi#q0WK9py2?(*@LcD~D% zIh>rkbht3g!5=T~OnBbRvxnQg;n#nU=Y#afTlcZ&+2+bKrlm*z`64@REi!NDt3q*; z9=V+Qib@@oYjz%;oX5quE3esUc238VJz3{Y#m#%r&tXG-2hHwOGLK&0eO9z59>;I*)!|7q9M?m5pZf$J-cokS9-%4?ZRb!zC)Gu9O(^TiTDv8_ao&uVx%`5O#@;`Gaq+)f_HhF zjF%Pn=LGL^(T;Z9BNoQG_D)^Rz1%PE&D_gB2j zj_!Izn(F<|yBu<1qbx?HtmE`J{KullYNC@J|Ej}=l+0uCS6>#*gZr9W9vWEky4I^_ zpIkH#j_q#O*!!kV7shj3dY7xuwa?ei`Ci9m-Hv?I-uL%Yp4$k%tiuZl&x|@Ma;;>J z+NAU@`y6BUhI=UUY~ZpEFVllZt$kjZ^2{^oU3PJEk3w^r%09r2fxkrh8|Wat%UMJ0 zdA9XW@qCcpWpxcZ?p3r{AJUBZaz1P`!H)aL%W=NayDYlH?ulM(9_K5)%T;&U^Q`+2 z9hY^u>YQ*{KOeqV+MDz)FZZ_NE?3T#O7GGl5@Vn5a|zz1Gl?C_9Uu3Zgmtan4eYot ze;Lm+xvq6nWR2YC+f=!yNv>;sw}qYWE408A(hTiQu0MT|;Ni4q-~pHO_s4`h`{-|R zeWiyhJH*~UoF2L689D%$`}O@!vEz!n#uDJoMff#NmeOa#MkCm|lEMlk$#62iDNg5kH55XKD=jM^lGY_B1Vdm#*o>UVhGRZWWbj_7ELx+)?c??-RF-kMJ=HzZj@y_H65_zP+}0N! z7cT4beTb4dhKoGKhBC)E-%+S;KJEm!Poc8l3tZNr&jDc$KJIDmUe_2d>ri8?9e1jt zFZvB^&|&|ccHC3kwHhJ5=+m$PcTYMFjBSWgR;g}%ULeedZNF6-m+Zv(~nvc3n7 zwBybtLNUHs`*(G^osuI|*5~_}qAze+ha3CZaqpp>LL8tka9M||jt!Uf`QE1Jfc_X8 zj@{dx6DSl5ANO3hPoc8li#{3~a4Qb7^PT0^WJ0*IpKcN9OMJf1D{%uZ$8Dd3?R<|= z`Ul{0+{)>5C9eW=BYX!A7-J5ao-fOPe|1`((}xRp%rp(HZx_<7@|bQcsx~Tq?_D7b zex3$vG_P9z_nu1O@tGTsQZSeYYg+3nd#q|l`a9$-FtH(LPk6|V+sEBYS5P;?&0^?q zuSsZQOWZy&T#m;>^dZ!L`0?LK8GABJckCaY%daCA;^5u3fd@enUHjVgXz^wtt!s zH@fvCI}cNc1LLv|`^^q>@O5aV@WuQC8|u^~GM@OjbUS&JFL0Ufrw#0R*5*HPTzC;| z;Je!i`E{;Bn)!U+anI{4R2KRIm-(K1gFSyYa_7WjxD#&czrXz$aJ^fW*@!iltdYoN*=g+?t;^6Chn|r=Mp|Xt2I?QwDt_zj*aZjY3V(m?OocZsE%lf#R z)8HM$l^$mfB}S;MkBbGbP+8~zT+XwFzuNn=FJ6kb3+bJDeQVDLeokwlSb(qePCM^v z&xfbnJvuR5&WA1CIiEsheSJqL{SM~OtnW{kg=694ZllcMfy;c$>2u}&iq{))MxMi4 z!|Yt{qXWfq2t2T%Ooy4_vXva2H|*w~XIDt)9K{;CVFT_m>Igy{eB5K)J~3R5$-(r& zirX~7%dB|H-j>dD_q&DoN-tA>uRZ4vp&dhYgTBCJ9d19%J{AmC#xCF@CvfbtI`+1| zfx9m?q=WP_{UWjO^C6oT5tkS)>o8_lJKxhHISGBGm)SI7{zzR_G;Y$%&?PCsvc3*< zi$<_4^X0g0^>hB3ltP;MxX&v2D?QRZKic*E`u+GABR$f71M=67SoogRF0KP`S%*s& z+uQM_1}{USqg+|KvR$UGVCLVB9#&Q&v(_J!5QzAHLl8II8XNcVfnbGVDLH_x4q@`LnaveQ!soUt1rmcDFuUhu!bof zcc{CbFqBKc#D;oZ@b_?j`1R=I_6gxaGi<=UDKdWexOCZ6v=0C-$K!75#erXlgO9s~ zGEaiH!v?(LXmV-AeV=v=mCbox^vGMoWqrPHxa({S)s1mEA5MME?r}RViR&x9=wB0b zI8})oa5-*EBL33X;c^2m>(G@3-B2ui+|{U)JH%HunBulDp44 zq%S-pHs~;@d6v?+ zHJFp&D?M)Wgm%&1fXh1EJJ#MV_S`1US9<4()cCCJO`EGq@7(w>JKupyJC+`IyRYqQ zEtB>M*9~!#9{1=T_ICWn-{W}(T#nnY1bv@X`d{gB=gke*&ClP%Bl9EZ09@u^i$YSW)tebLuD)L&fZ&z32?a&ocw|v zx1)PTNvO}J?kU^A^Ti|VxX(uF1|5LQe0ObS$DQMzNfF~qA;@%H^QgV;-{hXX9m18K z?zK90zVwKas27)>u44i&Eu*NotV4^0bB`5@$A?G4hI}|UVT_^MP@{Z-%lW{+CtWBO ze!FPqxD+ajJOeK4@I_O5+@32Bmj$l$bWc2O_eht&5Z6I^x{H?BahrA3`LYfZJ`R`l z^?gQJzm=Y@)i68meabm3>FGXdY{%8kl}b;y&pGz~VU)XfDwJo^(~XaebH2Xl2SZ~3 z@=SWV?-SY^_S0}VAC75n&$F(L;<(b&(N7%(Irutg{h9Q1ZzYTu^~%E>ps)0Fx6HHa zuqRC>WBN)@cldleZsRB7{X?;yj?y8@mqJz9|E7343ohpwg~IIVw!R?GH^tM{QpOnY zz=pV`c)CX;d5j#wxP=Y4DV}bg!WXzaCf1p4&!O`bzS7ej?d~Bc)UWw%^j25LLS>=S!F11V<^wE@7=LSJZZ=6 z@9q%};Yv?;%LuzS*wj78Aco8NaLQSB-1)RH6VeQE17FUE#<$q>f$VA&S9-c9P7jy$ z^OtU`j(U9Q>B@TAaVJD_5;{mvw<9eGhcxr~wpKi-^mOwm>8!XfDmq9{_a_RX6?Z$O zy=9)ymDzS%dp;beczo&UdeA|veCI1VNKf}nLjS-yA8K#F(J`ma4dY>74CU5g>nb& zjY5@e;Je`xd*Aw$(pLeO`M%S~?m4bd##-Q_?*ZR$6V7G6tK6?BJ>B&U?fO38xPjc}C4G+TNt6+b{u_>lo5kdb&N2v+HnZ zq%T3cke=@I1W%{wAU)lE_3eCrh+HQFzS4Vb{H(nl_l)$_jLYq~^Fj7@d@P;N2;~mr zR&zO?;=O2>U`_%T9*Oy;crObs^DU>smHDrDuWpy*`KEX;dR$mkJMh2;eeaqT)}xZ6 z^D?KpeL`&sx?uzEsnl_W;^*Vi&tydT0+(ZQ7aiP+yQ$JfrT4lu(ms5?+VxYwWxjP1 z^u3*S3e^p{DZSUKgzFVMM|=cu;T^Ey*lmsqbMSR|K$+i5FVigH9Nr?OPr(?D4SX-Z z&(3#=+b5L2z~#7o_>{eGJu^|tM;a9wKasx}!?8i%MuY8qk9GTm@tEVONw*!QgA%S?e>~)=S2yN*=6XibvpjhjJ8{TqeaMq&)vB#Uu0~GNG8} zD3=fmj>iXM!)1NlQ=U_GXu`e86BNGEBfOvR42P8GRCT}9u0zUms@{wE318pp%Dh>6 zgh%Gs`JSTmS<)kHl@K@W9Dwu)19rFbO?m!RtAzYbdH&T|k#W?I+hdBp(j$D5FecnX zjWpJdrAPQ6A%9bze|1@8Uf}C+uF{UBNBA_s>!&>bYF)zIB<1;6o%asM!q-9bcJLlN z4yAYm+AW$7DIOu$<+o=x0+*ldh#29S!xr2my z_sg}1*i;VV95x*Hi4K1(mwoBVp)M$QNxPbVz?0?pxc`3mk9aGo-@^$+7~sV<+#3^ zw*BLAcXr2>bG{1dd_wx69M^Y4S~H225FIj+Nu% z9<}t3@!iGcGx}F-(0TfjaC~JyJok!ld{K^%yTcaYena-Z+tS70p?aVkBt{EqK|gTL`T=5=_sF3lDzG5qJr<2j1s==na_hdE^X_RBvP zzN35gPnI*ysZ@vGo;Qy};P33+9TObzcdkQz|1~r6yy=p=9G;QQaYYd>%kQ}kd3=0_ zvcHv~y{I1YSo|G@I9vaeb5PVHtGDCO)YT9DDUK!U*Mz>qvyHheQZH1m4)(`JpR=;` zkvT$p#_57G^t^qHozMvy@^|xm*p6} zXFTiWHSg|XhW`PJ%VKxn;BVvx_-3C;TUm}VGrkUUh{MGHLS-d3$NxC7pZuON@V}=s zKGiZEm%4nxzqlQA!DrGLWwX!I+;1Gvzk!qI`CHs%9AvC7A}+tvp5k_?`=1}@LdT}P zE02d`WaGx%yygoCCv@C9aSV!oWscEt?{fc>Ig!PJilUx47IVNy)H54@=sT2?`sL^g z?334l+B^O31NO;q*28yYkJEVlc>Wlb$I1P^9p>(F9GFKgzosVJDfWdA#2fSn-=Fq% zyz$TGza0bp7VA=|AISPAm#Ymf|9$_F#g_U&-VZp30l!1FJZ1rnGA$`i|D!meJTRbn z=6UFE?2f;G-`?}T*TLoG@lc-Qxe5Vv$Nt`3!Z46?QaJoFcv;hi?rH~Syyj?XjP zJsE$!F7ID4Zs2?Q-TA}lAB3HqHwb)Jx4?dkiDTz^RLgiUe!oHa+kexMlowmuRZ9sAHDj}>uP#U>svi{CB3ep*RAxLN3VP7wTNEJ z=(U_)AJOYGdVNK&U+7i)!0Nfp>9sYzTGOioz4oJ5e|jB7uTk_GN3TirnnJJB=yevo zE~M8Cdd;HOb@aNKUU$-K0ln_0*Q4}WO0O5`wSr#n)9Vv@jX81XUj`jNYSO@A6Gn}n z)V*TZ&@s6~hmIMY8#rm)czhUj{IR*-!^c!)|HwXcuNXRMWY^x%co~Wto1HhMtf+VAPl~6~l7_PojN*iw|P~oE>?51-_d!bi$+q$4$n6QN(@h zHh~UC$3Cf|V$#6z<0j<>R7{*SZbC)Z5tAw=bgvjQbV{!4sIfgJj2qi;!l@kEe&2I$&R8r~m|lhGby>4m zEH}NQU2|5p*t7IHO|J{-@3y(J#j+L1ULYGfr{pS-lRjt1=j(G7C`$*?ck+#LF&xi< z3a4`_>d70Qr$i;oe)A)8Nu7M>vEB4SsxF(c0GnMv*+=#E;PhEv_H? z0i5`;@k)zp{b%IIc}m`y;x4Lc<1(UDWFMu7Yw+U_N>o4pru-G@1y1}}P{!hNuphvQ zA9=UfIIlkv$)hQC4SKtjwekva{LWRl&XuemKYkO*le&Yv5zVc<_c(sQi64^#e&l37 zfD=FZ46yQUM3K_`B5g$8nc@!Cw(`1hoL%ihH~H~i2^+sO1dj9qC-x=N=lHy(M7)8% zSW=Dxv6O6o3JHzI1#dVQ9%~4J3TX_dLF2IT2zZzTI`RJth0VjH2yFa^` zkJlf#nxLvbENBQAvk@|Fc~C!VzN zo7tL#kbRnyi!`))8*6(Nwtx`?{2}dG+n_ zNS@~8{R6Chmm;_%Pjm92K>kf-KQt##y2i?r`Outvrnu!Rth}m76tWNLfChi_-)3>| zAORQ$mw-#A_xQYJ!O7o|0*qNR?%c!}uBkg3+Vx+EgGpUXxK(QO@QJQQ-rh?R^2FA6 z$=JB9thWbq2ry`{FT}w|dHn~R=zYJVmG=q9HB= z0yQ9dffKz+0nS9tLq>lHqq!8>Vnc|J0R>L;XNZqOxW>O*pK6u1@&@gnk?SZ!te@uzay>_m&-Riv$0!bclV&B^Vp1nfhU@GiuQPk$d-9;jKnzz$lx468& zMKz##_Sh4)rtUcw;WQTxeAxQ23<}8);KYw2lP%6t|$2yv3EU9#e?5bmDm?0i%r zyI`N@u6@(3eOvkb1DyErQ8kN0m_?rW(YKD(`wRq;UcHul`f@uT^Egj6cQyFj;y&PO zH*gIa^5DCs*1q;Ip7d(&Iwx=*9Rwka6F)+nByrA)yF$2E=34vC^!gs=!9Glj*q2P7 z2s+F-hyN~uDAWw7Gl)zqCe$Fw?UE>3L zdWT>X%Y)Cb@7YW3^;FL9Bd*chwK%Xh`7U#f=B}l;+gh3Ro#n2@<853Pz$mg$bJr%) z5zjG>^FH)_DdWav6Lggg5@J0E3vuUKUECIzbd~+`S;&)*OOFOsFi7t6*hDDK^ZE(GvKb!USzqa ziy3(hGsq{FCpmF#pyqdT%<+Z>`$E^ju9M~lIL9~e<1#zf7l1qnr#Y$XGd7ls_&f?Y z8uU&rY~@|g_5mk)w*)wt4mrKRVF=`Xo->z;%TsGCCml|=wemsrNS@}TIZLb`kMOz+ z9D)YDztTz5uhETsovt~lT%eZ6K?ub!D^9A%*B*L372>22?#Or6zTLbxjA=oGA8UyR zd_N{4AY>nKG9Uk0ZgH&@PUhpX&ny?7=DlIfNiWv1^4f6xfD^st>sefq!inC)6D-G_ ztQh&BIqo+Krtj}GUiSkhdKZupKCUzMBQC&+-q2oz>huludTgb?6K9M{=0}iIp#Bq`npHJvw1nCLb-!@qrtuq2Z!!i zztGOg8^iMOh6Z^dt`4mqOVP%tZ{Ol_B!ukKTs^(A)k~Knah$~El>lx-V9#>pSC*@< z=Y1k9gV5l|Z}(fSegR}j_GzyEVv6PJ&Ad;fxq5I1>qiTyK62Ef-T&;1U_o?i5e&6P6c+J(D1044V34~4kVI1!bYu=ti2Kl*Nl>P9> zh&>?=hj_$6b8d*kL%6zub@{oxpRDB--)3zsqwYINTx-2&aX+Dx?Grzaj0k}@aK_+k`U$E;0lrH3H4nJ#x_2W;z-vyl5 zcUyUjJH#~(oap_%uhrX{>J)l4ho3vZ=Hk1&52iVM!3K*v%GY3;!;=Efn|#OX9pJ=| zUPN$y{m*1SfD=FdzxOYjjIeR3#d5ryaMbAXAIqCuJoIXUYoG?W(7hM*3CBq+vyJOve&|C4? zKjTF2;#M}_oec4zA7{jx*u(n(gu)nd=2k{Fo7V zwp;W9CwjlS!(Q(TPV?wZfqR@9Cwkuw@QTL8_5NU=M-iOnU@Sky__f+7#Cidw)*E7YH{wQ<3dd)jw$3NpFe$Ey?7m!OaJco}s;N#!E z|Fh_<0(cI86U__y|7;(GaS?9K$^< zyvuhR&?hpnmO|fOd=5vSd(knvEOUJ~@qA(o8t~8Yxc708^x-WtneI4`Yt7?U(BBxR zxw{i%s;fSciQ9G1dzb1XQSR8yl(^^{$m?71C>oBv!9HXFO!_o;RwCiRROCL*Z!_r_ z`aXpq8mGDH3zjX{1?Yna;3u-omszIf8k$;%sY36Nsd*zi;W2)i>JynO$!PRF&ik&K zN8aLbfAKifFdFdt`2E^IJc#Q4}eI^RLgJ9(p8s5dTACxD@EJFT_x-UsVft`o82 z5qdrneMi%#hVw|*&}Oc$ zB<|BSw1;K4W0|^!ve7Z#$3Zp5WmZEC>3L=Je?#B@!TYM6G{C#&SXeHqiPIeuH6c3lCr9Jw>`e5D z&J`TD<2XR}xZ`Y(-{<6U-$*xdC55qW;sq+^+jlPEh`TIKe%?#x42W-nls!wd0&iYCR@;8Ie zx1ITXgd7z+Gt0w2I1ks+i3+x^zQX1co=HaE10)YVLM9rH4d8dWofhvCTg$Q^jo4Oa z3*#xZ-T0Sz9LAtQ=C%C(5(bby^kpW~9cO%R`UB$|@i?8o6Btt-14yRM->E$ALh6z} zh=447aUAbskz_QETyhP^u=v3HWX@5|zcW~7L!Ju^M+5#W5{~y}Dz{-4j*aGVg8(Ld z7$>&itK`7QGqpN@@8I#}Ac)4HPh<{ZnHA`m^oh)EJV$xhKb^mHTg2(x%yw%2#d-m@ zY~uZA@F*INo#yvvd7S3ofow|}z+|W9Uq8=~zi5!@=NbCMzYd(k6W9mziGP{p{d&3> zf!woc!G(9|@%eZA<+e|B&ZLuzKTdR(qz~~v@)5_;aO`@1$KNsT6PY6d<1iNElDRLm zUg^%5(0av}>2xvvO8P_Fsq2Nl4r}_vPCPT@j}tq4bG;D6`KRjz&pYUGx?avF<+=}3 ziH2i+ym9CgTh=oM*cinVePYYK?1SW*u9uUZf4W|pLx$u8$wZ&XtiyJO_6}0nPFe~( zTXen5<#C~F@ZO$(x?bcw0g>=e*NdNL$a^%{em%eAZ;V5q#OyNG_ixrKv(Jy@4r?2| zU$;APo`4GItl2B7iE22pd+Yms#Ue~A+;{V?k)L6EZi0biD`JfXnfFlw;r$QQCw~0G zb4XuxjgP}v;5W0(^?VKm1Py(KSY~ZLFQG3pneI4`dzyq}d>J06>qWThM%5=W>(U2| z+s3wFoY>i(^I|_HhrxT`#3s=9g-m$Q;DB>|tB<`Q-)ZCO?P4a`Ii*3lbK6V^m$kBlJ^9+3wv-inaU=FBztuPD6GCRLCqwgP} ze>Y7U-sy3S4ETX@XgG%7(!l!wDB?cRIh$j;7GUnfSm1MU&S2ewKD?o!?0ojSJ{@cdThaXPnO z;+P$S0W=OdiUvKoSY|=C6Mf>}gWUHj%S0a?a^u?b`%T=Z^Y;cG_o(WVaai+0Z#CAZ z^S2kr4EqH!vQy{pCiZUv`>yj>=BNbA)cHGrZP~`Q==}9_38K+ppPx(UlejGBe4%o2 zIfy>-FSGpJ&-r`R&yoBIbRR`{n?5<6cU_mmy)QhJxc@IYdo_zNgSJ?{FU)aU%=S22 zSf=0SF!TtH^B?1!PCC|z`;M{9zvU?R z$#t#H(Hv~cCCouON5z))YV9w!Y-O3%=pAPPF2QdMoPQJ3?hE!zWE-HUwl``jF%pZc)A z!#kzF^8+~}bGVHA76kGs8##<|^)P_^*ZH)A97f+Jj+@S>MwAHXJH~tEI-hE@zGnjY zbcp+&Wm|MUea3yS!Emxg=aX>yF6xp#@oxo>lls*8w1oYWbC1ra%It%DS3u{}W9)ka z&O_t{8hozG?;8U7gl#ckXq(IBHpa>PJ;gG6;sE(~Ci&EY_O2ms4=q0MJ`m7wy-D?)A*z_1b2(2XAPQ)q`_CbgySH1s<5ty`JY;=1uHB<_HaV*#`^V z>+xl}x#e;DSs&&ZaYL%2LFRBW8t>I{fcxB7IwotYyHp>11pe&e(R=7#&qhiTU@`zE znL6(mP;#L!bg$0S?> zn~{5-PAK0im3?Y=%&Qlv3Ed}glQn|w6MJMmC@*4sTb)B)r<7$^Mvdj>OQeW zYDxErEwb)NLnp;r*Nf~O$~g3iOxZKneIirp<)8LRWSl-v$hsr6Pa=DVGEUco)ROKK zTl_rJ^&)$Rp}i14&vY$0JzN`zM{Go{0{m@IqW{uGX&#`M1Q|>BCpHs&u&Qk zexKO*TJ>lx{S*;}oR1{Vg_5K3{nT%WKn?2Tj`q>}VE%p?D(N`{4!Ntn-R+4XR^M7tWW3I8rCQ0 z0KKMY&idA{KAkJ0S)V*dh~<79$v`xt(y8r zd>&+uUKw?s>npwdbi5B{K~^j|dOwTjNYBIj6n|hA;2_U~$Xr1J&?n!0amQKa^h=|@ z`PiNI<|r@wK8VIkpU7-YA0TrEpK~y`fZUYPdLUy_?e-*aY5(h;P^uMoh=_uIUdh5(YL2yQ`h%;{v+`|(TDG%!iRhL zJ1IDhhGPRc)-SW~=o6V=6G;Ozgnf7NcwGD5QQwywPmDnWekTPG@8F9V`Hnu3`2pMV zJA`qclS}wvv_Fh-&(mC?5BZ6PW0Uqo@1<(c0qzr-Ll;GTWA{Zlq4PQ;J?eWe@ZHOn z)uX;|knAK==k=!}qrR=!&!#@Of(BdG-x$5O;^()~C${{=@sxY5=*!0A-kKGSt6hl> zkW7RQ4Knx8#X8=ve&6PG^QWS|ofQep<3wipo1?yp+^6%p{dG}a3AR(`^`V7P-*=xz z`gC5``X=gI-z3tf^SVEI13Oz@lIRm#bYAPvgmlkY$C8K-)r)>nJ39B!`z#2d?>J^p z;os9H9Q0r)j=31q-#BIAINph+3gB71pSgB$NS^10IP{g|`wL=YG>)EZR5INhkxVzH zQzSDdkBg!6NVEopy@JJj#~7R6!=g`PoleGzJt7x)< zj1l|ApUlT5#=|9&6qhBRaTxNto|Ta6>kReDIJ_fobZ+7^WP;jbNjY7f-KFLOc(EDp z&OdqwoS4L&KPBES4uqFDht`Ch_*~+~Q@m)Kl`1Xr2k*$`=lEJ0a`9aS@D*e>*%dvD z?f8r0jbp6|i}Qz@YsTfwf2(_@SL3QLJLS$7E@v6Hcu(}ZrW*I?H3@lQS0nm?8$2Vd zaRczhOtN3=O(uYkdmcg#zHOq-L|6fHIbckI=jEl*Ofi90>=pXu#1|uZ(?ks&P0ME5#Z{7^>n^!cpt6&Ck6=aoLUwWjAqe7!fT{TcD2 z+f<8tP~8KB>zKE>q{Eko-+P69s9}lUOSI|g

  • R{BRt?@{;L2j$@96P4c_((CPjj zp}2;4V?l|?9`tG6cwth$ggoYrj4#PP<_+K>6X(~sUdC0W=TBqg2Yf&SZg;?6+4BTW z{C$Ha+n4t&I$56RElr&0;~H`v=sLf@g~iQNd?0!|26$*cj3>Q-i{4EQth}pPudefs z#P+^@FS0yc=hezv+_{`Ds7o}&FK?>FrSh5`IPs%DC55l|Y>ppr;z#>77PpM~S=adr zIU#SLx({)}jz-!0ZUtQw+2Q#U`xBB&GymvjaJ9arUcUAe+c%e0 zwzItQfph(Pf!H?XxpF!=X1DaT@-AggK`o*owkJDST(aT-@nd>m?&X+%3GXq-%CpO^ch!9I9&;>r`LfcvZ6!zhp8wj?1EE zx9~m^#_F2A?!Y+-8Ju&g=TL09#t81_;Lh7FGPu6ipN!+grXi;)8eGB0vc*ImeRA>+ z=4@?n%QB)pX2=qGa~mrk*}fuNW5A#xN9s|c#$&;_`=N~HRLh%9>kS{5rf_24`echM z%ABG(phuv#<+td86F(-lvGN{3C)uYtV0<8#ItDo4{B$et3(ifXvgq9~+Ttqk`4c$t z_l3$9SB?5%pXQXRbkL9AJhcwM5X?v2K#l#$`~8|zKC5Hptz^fpPe zxSo`2m=Dcmed$`-pN|yw7dX*7f!EeU33M_Ja)En4aNh2~wG9qHbF~w=*1J;S#K$KqC?A>gHgN4|PFWSW2Hwo_ zka}p)`=7wI#TL#@youiF^{n1zysiLF{4JDZaV0pHG^dO!V{wnrgKvl*H~qQAwKsU7d$^M^2EM+ms;F0I_Cq2@Ss8O!e$n?7(y5)dN;MPxD9-74e~Gq z@@7r2xVn2Sr#yXu#kJ%4(44Zmw#7Yw1R(n~r+nDb;_@+vYEEfH#`^Kw!ZoHj({;px4dgYp5)wn)1u$O)_M=Eh;Wc4@|w<3KC<4qaDwIl7&Q2G6$y&RLTU`k z7$@?s4$SHEoFfjy^4_`8uJP+KPIF`F#a8cgbd3wWz=__@>nyGol9zGW=p+2dP7jg$ ze*DHYi&8@au1r90Efh7$)7*INl~(V^P)0ZxdzRNGuum+{(rM01E@R`e5!cit4><9+ z>3pkqJc^%jFadsaf5GB@rZq8ea0d;zR&*ie$3^xzffK#!_E~vX@;VPV(RrUY za^8_Z{BrU+S99JIf&I4;JinUrCOmHS&gXT!=DfT~7WXFaCu`2Tf^yA|OY;Ed-T9Zr z^OB5;%!-&9Cje;X6l|U%a6~@AuWLyk+bMa5BFw z23XwnN}lLVrZMrjWWkL~XkP+0K!@hWiJhX~*>QEkoRX_N<%oAJI%8Gzd$}67v7qI~ zV&z*TY+`vI7fUE0-s8p)=)GrA^nX${t~HUP;6!iN%cI|n)VMc5PApIK_6S^4-;GZ41G3Pd zw=J!UeLorlz&O!6C$O$KspR1!pJ{EBqaH6*WZ9w~a$Md?!%@N0C=&KgDF>p^t^Db9}z5t-OLzMt*3HpBA_-ND6TLu_Wt96}A2q zKe{cpxRdlFB+v^p(cs6j8Wwl9TK`J?W(WACM1bRqRJQ)&`Df_W96uy*owkYn)f~T~ zmbDMx+ZTEG2tShPJ)X~5aQwLh#u)gfIUe6Bj>}-K?L`>qf*v%CYejkJ&BZEPV^S0FX;L5>hgY`=Hy(o(DHH3 zdHoBV=p7R{7c5XX(R*WnL;LgdxSEq6y4dP%!ubN6==~|+?=$QNaH99xW>(&Dt`C$Q z8uBWcV&(gLR$#B8AJw3b8xEsrJ|Iu@Ce!CQE(=Z`UOut`Vl*e0ZBZj3gE_hR69gj8 zgB~>4epiX;|G2n%V%$4x?7F*a@y=v**`V*wmK!oJYC zU<$~DV&-%*?r307TK+FEWT8RckNH$=+27X?e3A#8=sghNZu~BR;GAxfS154Jitm>K zhY~`A-i_B=y>AqyPR5DeYN-~7dy#?@y)BzqTn%2oX-=Lu+Ts?lUd_p!`&(QJuX}(K zy#oU^`z&*h%OPON-&2A0YP!1rOfZMb^O@BGC!eI)`?w6w7tP7^6%T{U z6X4`I^y5^%yczs^@0yeQ)VA^#^8Tvk(19f znv)9!)`p9fJkcBCfpkDa{)ITX`5AJu{7wYqiQZ)T9FKDroV>0=WCO-(PR4~x zTn6XTQNqM1=YU0n?X5|%kL! zc?iA0iQdITY<`@(1-SOsh89K0S!rr`Nx~ z++}fX_S*Gt-a!66#{TN{?^_fke||qvTq}8%dx6FEB!^+2=Fq2;E$(K;jWWM;0_VuS zY@g=Pa)ERBNZx19P2oX99SyH;^}ZKa*Y*hPW7i0*YfE;p@}A)55Kwk#(EEBIeiH*6 z`U53}ALk}qzj%{4Q}`0NEI71&#mEN4RC8$QPxB;XFo!lghctNW+NqCTY;ZLX{TAPM zmbr?pn`&@l492+vBL5mSpT}GLv%H+v7M^q=dm0pmVw4MDOZt*1n;9K86oyuz~nenBYY3D}nj_ z5AVN$lhI)F;ojEYV|;D_PW=5Vz)}7AdvU;t-aVgNd2|WvxW~nc_1;K={rsbC;y6z9 z&i>Kjs*w!%3+_gPA4B(A+*6w)dBBOhO3z!|AIv?#i63oq+xb{Z*W=KObU=gN;q(O? z-;W9xQ77X>Z+`y2+B#nfZH(-LJkk4bpx$l_oC{ul-}*6=pZU@pe?v!$`=0lbfD`-j z^|QDlYA;0Wdtt7{jSlQ5x9($cXY;-;XhHP03haeE5a9TWAF%SCQ5K2F~<N+&-}0|CMVIIEnMX!1dBp>W3e|iN6m{v3jQ#iE!X#m=Ybr#Ai!nY=?5=;c?G&f zK5C9SO#hU_$Gt<(Y#;W(Fg}lK|{{H+{fbTyk3Lwd>ma!+IKd5B521*0nc2YJKd-a|Kt?5R2VZ zcYZ8RBY7znz~Kd4vnwrbH=Jc0J_7gDIre*KUpy4$98wt#xOThFGkSmAm%xeM_g=HO zIhztV(c9|-8^1wGq>SRMIdm;u5&Ql=Up|2oy{UOh8C-)Bq?hH1-utQGe0ie+-2F;* zi<{3}3;RUxZTDJSU4BkjbN3dyn(+1BQjrAFd}!`o)yvAeL_NDEdjATn1BRlL<%z#X zM_YNjc>Siid-i;b>$fhNH{e8Xue=sFFu>h0`sYc$zo(i<_90!-kXMzC+v~`4*F<`O z6TOeEwzwfR2|)e=C;q-h`$oRr@w{IPu0@01MS(TO3B}zaZwT>(FRwN~kD@vGRT}H# zss%VXcNL3EW&1QIw+rk$FQ9)&4}Zb6Xz-(JcPlR!5|42bznp8G&kYWK? zq!;o;?~%fa;@%AG*B+*%_2q5ndP5lF z_0iJea;tlH;_s}rHc!uDd72w%bhPp=;AiGEH|{*o%Im@F^?$&k=I`O?7q%s=xZXjat<1&(-8HGIHMDGJHTijU68^MX*7YAG1 zTbN9er#ZAf?b-Nx&kd|Ex6pk0xJv@hA$0oP;;LK_>D3%sn9dKryl#Q@Wl9x`Yk**o zADTlurC409z}`SksuN%D!T^W1t!Ht=IesWLiF2)q7S}m7vQKm9l7-R#V0SU#y`-vJ z65J^BJK<)Fn?<|@e<4rwR;z9G{>JxQHHU5{!M?wR6o-o5*NBLG+#L!hddt+ZxEg_V zXq5oxJrUsAhniV=$N8FHb8YZ@fqV`JhoYg5`nR+4TC*RTYa0j7LHhz+d*@Qi8~b=4 z7U_Tny=DHedUx#oB^D~Ihj7kaarth)}d=K*Z>`xYYTK$GC1eD zt9?m=yK%P!?%7PqN1c>&kSVrj(0Vs+6U+OUW9u+1F9#X#<8EZG02~eWj-W*Kac>1U zZ&P`T>)3*XkbRJsjpfayJvm?Ahv+1n=Df+Yw(@a*1-R@>DpnuYFTiEE_wVEO^YfCZ zcZuIbnqVJ?|B(axG?(Fbi+$YS0GFk-vA8BL+x6hL4J~dM0z!HoaVAe z4%y$}>_a&SdBBOkKm25I9bZgvUN*ua4~|}J^~yD&=CY?qupgH{5jfHdoantKkXM&* zo&qO&@xQ2jc|8MMc3XfOe+qEf(ZD)%0N1wWvSk&m-nV&8pt)>kWs7?l0P{{GzD z;tDoP;6!ir@fPZ zXIGE>08adf;j+Yq9I@K|785Q=;vG|et7=J$Mr(sD1MM9dcO#8-uHoP@5chy z8E^76Cb&`bHtB5jF6DEx=Fs75n*!&d!QbR-EbdtZj{MLZdfpg|>(6T?&7tj* zEx(jkoF{r)2KH*Y@qKyCq1#Vez4iHA@ZWOipR`7Y?>Yf-=6ty4CT7Vp#vA# zdl;*`+yCqE&^5`~{2V#Zz4zNalVi+1C|xwfxk%=lYX;j?`ScC(YV-Uf|mMmlIWueLLnw-}TX4TY9stkAlR% z;1|uc8_U!%^0H4($dmc~Vv+T?!meoEwBEc^tRF{t?WOg8nPTf>mAaQDdjDKt@AXcm z^B3j=oQ#INT0sBA+n={Cm{i8e{Em6t`f>69xW8JO>IOFW9RI*Ob`H)fNip*{{=Bz~^Jg6Mr8cWq(g%9P8CwTcDiHk@38) z&|EtzpT%7Ynh(vj3-7jZ=?fvG7dY|v&k5Gw zWL$p{PIK+GM{N9l zV_b`xYb(*in|^K2s2lkU4n;$pzYF|++)n0r&9$}fwj8xIaKHWiUY2`)Srz%KIj>xM z8<)cTjG*SczouK<*&q#yGjI~;WcnQUH;ZfZLUfM=zM~HH`f^XHVhI_1E&AD25wAlJ z8pds(YjN2Y+20Z9aOKTLUaLA=4fjl>AG(X%&U$x07{yF;PluV7dxr6OTXWBv^DL*V z-yl`NUSi66;yD2~gbwyRKHqDFB_(Y3voeiSw?gXik_ zvBdubCAb^6wNqt-n|#==D>}bD)~qYKtXXer`_g%K?k~POQH!E?-W`_zr}8s0y0&|N zZgaB}KUV~t#O&k1GY`FK4=CoB7WWVqvCI|XZ-r47w|1+o?bnxD4){1JlBa9?!KZCpTJ=oe zMDK&QTYvxH`Ovk!wVlQ7*F>A))nmwS==Z5n|69#@i?s| zeR-vM&s?u7P86}Y?N}(#eCYMU;Q*&x$@de1llYwu#O0e6mQ&8^X6JWu%}B52l;)Ex zZYbT~f_?vXy+EV>_P^`EE3g~9;`p8a#{csZfAEg~LFcdl9pUf45f)uI-X9<6{{Z51 zviltUPr|R6yKqS3=+3AcOK0T*_+NEbF>b0Gdv;uRR^$45YIN z&S2b^-Z;lgsksW=OY4YGd~l4G$dsc|zD;-64Y^#-ODyGmlf!{I{+^?MdOD>(vKp6% zZIayfb2Kx3CA@Kdj%GHlvNz7p(agqO?2YqtG_!Fnym5YxW;X6hZ=9c_nT@;78<(3V zK+kz*n-a2mtY8SGpgM zz7mf{=PKla{0_salhL`wVd*e%EyzfW*SH=SL+1?OBnQ77VsVQxh;fqRpH8y4y>NhV z+K;DckI&b82f+j4K>tb^`KIW4N&E3evq+w<#fE*O>o1LalCOh+6TSWDAJF=Gn^Z~2leo+$4)SqrA%y(U zwKzE72W{87eMI0y@1)gMUUw)Xc{qolAonI6(*SAB+iX@+c=ll9K~64#Vx!Sr{mnIP$W-t z#UJz#v~M4NFCBV;gGU^E1<;nNuaZK#{Xqk=6<$R6=PUI!i=eXW1xMv=1{KJM_ z>1qtuas~vFt$0HN?%ov^*Ou@1!A>;b{Po%=h15SLRpP)$C%6gYz5b1Ro`UrXT z@3V7LUG1e1%;73t7427Qy$>MRBu{h0**LFYy_%DLSYh*Od2(c*=A_3@Sb0OXBsfm=hB%3&Ie#(d;zx*+G*0Bf zl(@fHaMIR#QBFKDKDu|WbL_5FB*tEA{}yE{ z%fo3eMsp3n(SSP^xF(P}1WsbqiGR~q`%#n61K=7o$h(-%A-*3C_>2>df_)-J8uQsQ78EeocJ*~X6Nno zC6?pH2kfJ-|GW61Rz=>a*Q_5ck)Wg(IEhO#eUAH^1;_nP2@IdoXhP#-m}}&>Od%Hy zxO4a#5&C3*q!SDz8}Nn(+#8g@zC5{(1x|dLdDP;Pu_z{a;1D#(doZw%G9RSCIFWaE zbt^B0?@4G*8bSXs#kcP_e$GmB(pdp+rAKbv+-Oc}L+5^99xWT!G%aiX^^KcA`noq+{2;WQ^D2joeMZb4>v!KE1uq#;5|z)0}k2Y~>Sk=37ukdVv#pOM6*ddEUp; zoYZ}}<)m(W?V&lT1tn%YmaLbyj+|c2NmxYqxE%pbYI>jbw-jF+fkV&`ztMTEJlx)f zzrcyV^ys$H>vENG*+kxci#tyB4S5JR8uXU`*w%7|z_s94M=Y*577i>=^xpoX^_OVR z;WQ^rm}~8$uNylK)|^zVi^bKaSV6Dmq%pLB^yi}sbDZX+4=5>o98s{-t2ycY!2H%F zwa^Qk_}i7Ao6wwe4s)>Pq&@V9uXh3K)tr#9g!{n!6U)vbEAI za3ATpqIPboA{i*=n!9cd%#Gt1#)%)b1G!C8<7xo%WNzmDWbJ#B&k>rtUJP)iiwEh| z+|?|Xl~<3S`PH2CLsMJJdpUQ26F;i%vAFtbzf1f$`iz~A?tDK79D;^?8As2$#dDG8 zcLzGj58y;^<4)F(oKVI%(fc7kgRN`tYX~Bo=A?-fBwsIu*>KWD8~qL(IC5h;J({^=p(w>dgufG{^W_`%L)Tt|=dHXF zoCm;(AMG~TTE0x-#E z=StF_w7Af7CH*Op;&a3Hb>Z)D>l(f1Ws3_ve^NW(hpdTpjh^4a$_qVz^1@_`3q5~Q zK5(82J%3Unu!k3V{-owpR__SrBz<14K~DMcTgdaKYxMpA_lKT8*&X0&*|*a*y10$i z8+!gERHHC2_AhHRmYR4*%Z=w}x!@z7t#$QIoPXh-=$U=ZMGo&hgL2o#R1-Ii6E1rB zl=ai$yt*xPvE?kmK^7Y7yZHRf{LH!bw>thH`%t%N(ED~u^lZAu zxlYCjPu*M1?&WKo=>6nXE04BM-8o&KgS*pSuAiSG4>-{~y3{}8MDMUecJKWhKF4Xk z_>zQYrWZKT`}+C+j1#?kme{=d96~65dX4aIo#^{kp*RC4dQbnHd7L#*eYeuaxf1Ku zYlM_5qVHOS^a3Y(cm8bGwbbqW08acZP}S1Q zy)dtxU%_cUTO8m$jT5~y0&7K$6TR1Mvh!OZ=JN}F6upb?%Y1${kJc=b zId5PtMP3!!H_0r{z=?WRQX=^n4lLdy42>c`v@YqRujyupu2rN9zJoV0PW!Qv`tVG#u`fqtf0f`MF+{1TGRT(wvZ0=;dX<}yPI!1hIbi9 zS4jo%yytF?E%ZT_U@;t6{EZxdz3wx`P~$`<=3Qj|%radbDVZ9pWlQW&^Ehy`=m2g# zWT#|vvFpbe9Ky5Qf6GIPZ`{8riO-M~*_W6v9e+K?Wm8G6jycU&G9RNJ*Pz3FApLQD ztQ*HgA9T3$!lEeF%~StA?^ib)6k=~|!Oy`30gP^_*bjay-=NHn8SnC*ON5>Jm za-oK?|Mu^k_$~T%(Rh&&i*3({tz?-jH%32z8@G*E!(q8k<`>6eNeNjphd3OnPnZ9k zud`GCUe_)*#7!~|y03;H$`|dYiyOss0*%LUj6;0f`h)()5d1CmiofN%0tXRHmUm*Z ziaq&&Z9K?=%upY7xjww>e1$#Q=6};4j~5h6-r+Olyym>6)#zAClzZD!BRgSA>D z?CKlxP`kKog(mYX^Ehi+Hh1hlbVCEbbYW% zK0|(|u8|(D7~7z3FuWy++dO zCVEY$*F1VHqSq37t)kajdTpZDHhS%$*CBeHqE~MEUr&YTRf1k+=~aPVRp?cNUUli! zfL^KeYE7?>^y)&dp7gqoUIXbhieBUCbt}DQ(Ca>Wb?-A|aI8!E@DcbhXxI(0cKwH> zxdZM)%d|e}1Dg#SG&I(BPVoddJ~oaTE~#*kTkZON(_*8=XFUR9dqE>1m@{rVZ&cKGtl| z(AJ}d4~>-9j$Jt>Z4_Hl8+~%T%fR93wPStzj82R79o~O@Y+zcS{;~8vgNDS0qz@c) z!@$^(!NbzhVnap`95gI8WWey@>9J8!$0*k^%5{u#9n?+Mj2apnGG@exv{CL;-ywba Xr^Tp0>KPU985Q;P88mc!?b!bTa{XhN diff --git a/scripts/Raptors/raptor1y.bos b/scripts/Raptors/raptor1y.bos index 52e6c26680c..5bdaa459a54 100644 --- a/scripts/Raptors/raptor1y.bos +++ b/scripts/Raptors/raptor1y.bos @@ -1,10 +1,11 @@ piece base, body, head,tail,lthigh,lknee,lshin,lfoot,rthigh,rknee,rshin,rfoot,lforearm,lupperarm,lblade,rforearm,rupperarm,rblade, aimy1; -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" -#define SIGNAL_AIM1 256 +#define SIG_AIM 2 -static-var maxSpeed, animFramesPerKeyframe, isMoving, animSpeed,isDying,gun_1; +static-var maxSpeed, animFramesPerKeyframe, bMoving, animSpeed,isDying,gun_1; // For N:\animations\Raptors\raptor_walk_remaster_v2.blend Created by https://github.com/Beherith/Skeletor_S3O V((0, 3, 5)) #define MOVESCALE 47 //Higher values are bigger, 100 is default @@ -14,7 +15,7 @@ static-var maxSpeed, animFramesPerKeyframe, isMoving, animSpeed,isDying,gun_1; #define RUHAND rupperarm #define LLHAND lupperarm //define these as the left and right head thingies #define RLHAND rupperarm -#define SIGNAL_MOVE 1 +#define SIG_WALK 64 //these defines are needed before includes! #include "raptor_walk_2legged_v2.h" @@ -47,25 +48,25 @@ static-var maxSpeed, animFramesPerKeyframe, isMoving, animSpeed,isDying,gun_1; #include "raptor_create_move_swim.h" -AimFromWeapon1(pieceIndex) - { pieceIndex=head; } +AimFromPrimary(piecenum) + { piecenum=head; } -QueryWeapon1(pieceIndex) - { pieceIndex=head; } +QueryPrimary(piecenum) + { piecenum=head; } -AimWeapon1(heading,pitch) +AimPrimary(heading,pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; if (heading > <60> ) heading = <60>; if (heading < <-60> ) heading = <-60>; if (pitch > <60> ) pitch = <60>; if (pitch < <-60> ) pitch = <-60>; - turn aimy1 to y-axis heading speed <250.0>; - turn aimy1 to x-axis <0.0> - pitch speed <200.0>; + turn aimy1 to y-axis heading speed <250.000000>; + turn aimy1 to x-axis <0.000000> - pitch speed <200.000000>; wait-for-turn head around y-axis; start-script RestoreAfterDelay(); diff --git a/scripts/Raptors/raptor1y.cob b/scripts/Raptors/raptor1y.cob index d5cab0e3814616393b662f8c33a994d47980bceb..f61ae393d297135d4d85476224c34c286372efef 100644 GIT binary patch literal 68621 zcmb_l3A~L}_dXYil1Q!)?vYt>O@$2CJf);Eq-3~PWX#leRj4lwDAF8Cnlwm08Wfc# zQ(Vj1w5-W64O6&@HolXB=K<_Cf3Y5q|=j6gA3eo2R_}s5>iHa#P*O$6G9>ej1 zIG$0k1n~2B{B=B5B36PRuHjgbCQS^k>kour9I(K3KRIS_{U9an@A8&sTU_x%NgV8i zyr#1(E`Id*amaHR#@%;vL8G_OcM8}G&iJQ$9ZW90+1ht6>iPkLI#&vJ;EV8Xz=6Xs@A^NFpA^>Cw`1M z&Ef{KAHazpt1h;<4u3{|oTB9A7gw*QjmyaLk$sdRuECGrDN+5n-1JwZ7dY`_b_I(o z#C`xLew_S?jq`i^BY9FM(0fTmE3XvC@1)2)7w7KPtRH*6iR2YgxRI@`ytN!Z;KYxK z0Y6S)KY$ZI`VF%3h9G%pevvjJFTc1S>REX`InFL8p_}5ex~z>~CIUx#ffM`U^f@ta z=@DXucuv%K?QJo)H+ppURG#8K3hz=_@hZLPd*N1_~Y7?yX+j~2InZ-mnv zRkfDIP5C{E6TOcvvbfI_4!*#Tna6DoSA8pzr#Y%c6DtoCkGKFQdjD*0aV62oIMMss zy#>sCyk0HBY0jHf+{(M2V2}r#=&enKnaDYww`aL_fD^q-&#<^Uit`{EaVZs$_gnyX zGQ4Lrd+d{lc$WgxXTny{CKX9#a#;HNw4PQ{Nna}Yiqk1$dlyZ z4GnSmk!Rfa3o#KEL4Cfq7DI(1_oBX3EWq&%_p z9WpjyE9>pa90Cj)>CwkX)welWdd3ZyEybxE1){{%JY^{9zWs-wM-V3)| zy#u&b!0F=e)SrqNf7=uz0L`K1;M4#IyLd28{M{1ZV2u;K@zQoZiMfYfa3&h!GAK|3 zA`dvxn-<_qCxqpR-Vg^1PIG36gG0Dxzga)(o=Hg3tK|*(+Rn$vAP>fgA06JYxX+G7 z^9y<6N6%L*ZWIDS@-zqM7x(o5%UusuisWeyUU90`TSIZH__4jN#oY|!$v(}&x1MS_ zxKChRd~lhK^GfC<&B4tcxAn322g|`{^t1L2WqF!|zo=nxyT}drp*i@-s}@(AuirEW z=NC7qt@Wcfuc1&TXsC}62mjM`aVaW%$XZyUGM={wI!$=B{S6cK7|bk^KNp=A+WLmixcs z>j=$V!(X-Q!cRa76hF;fH&3whJH2{@)7;f+y0vd^U_WwE;2Qn{o;S!7KSI~Eq5a7G z;zIk8q|W)P*Ij*ZPlNK>9pikd@mrLC|0{PrPKAY9S$dM)FI>@@iZ37B721C+-@dG| z^)axKxBqxWpys!5%<+Z>`$E^gu9I>CIL9}HyW;{o*Hu6sgwvdK>2o%g^Y}apI2!cc zLMLHA=2x+Oz=_^Z0vt?-oL=BC1oFNpRM^N{@RH@EpU2u-`Ji?rPjk|&C#@fk@VW~e zf(E?@>7?oVv6`>VH78XH)be!@Lh;LslN$52hh9&GI4OkN_r0}m3-1SGTF_h`5D)l% zOh7=$KHy|N{*`j0P<($w8+)VPAvZTvoI z7wOfwUjlwq3vlqD2d&=5ycYp^;zx*EC-VI2^<#c<@7`ebhV~zCxX0pJ9Qi~WLCvjO8z`Y;Xr+o2C%hmmPp9sq! zH287oUdz=>K$fIebM>~#maEtDK9T0?pJ9DNp0ETHwDg#at*J!y8WHjj~PfjiXU+Jh&Z3M+3p*Uqw^JT;9xZ1W(ByKsLOE| za1y^F0j}0K(fd>ZJHIQj;3B=6tJelN4mJr+^xjQI`1Pi7qBq3Vg45g@;_48tVPO4z z67L&pd1q{}_Ek{#l*ErZYbxitM^}P^Ch%TnO|If_bEeM{ZH4+&1u4sV~=gG zZ|1P%*OX)V;Ofvmu1}!J1otf7x>I$G=2* zpt-BczpZ^Y@O24r;zwp+E%PO>0W^30fA3RU4BhD zAs%-Pe9q!Jb56K?5WRutCW{B2n;cii%Da~3Y3`ap3GCZ<57&z3uJ=#1`&g-g=O(ZJ z#IA!^^S+qot{rz-d3~#slN1-tUGLI`y>H()mE2AC^k`2M+|i=!B_=j*thX-fIOo<}aVP`Gi%l+*D^6^w zAJ{8*ddX+VLW8`#aH98`g*Mhs2+I?_>qq2_0|pIxtJ0#*&sEn+@|-NjJ=V_VzTm)F zXpnc#A34j@+}5y;%>^ff^a3Y-{IIlGj`r#G+l9Sy)(f1(Z+hSvZqW;z=>76mdyOwR z&8asA?rUnC=zTlDF&dZ9`=fmZMR1y<&k5Xr*ErGpOPieI40)or*GZPML>`vQ|1B;x z!{$pC1k(I!jz06ZoaYTV@nb^Coc+*T-u5AzFAZ6*=IGxp%2_XPqW76jx#J`*AN0z3 z-ZbYg&SNh?^nMxGdxIN@ALNPNT_0M#pDE7A5Y*-U^ktTu>Rg{2mY$tEPV^oPoa3Mi z_UV1r{Nm31C}+Kn&)JU&pXZK~_&Hnnyg)9+@Vq_Zkbw^UJ)e0el)&@$t7%@)U#?s9 z-f?5{nq7R}-zEC4P?5zX!@FPAn~cQxHPA&dz#AHl;l35#<+~W@6PZ|7q3Ig#fRW6*$qfyb@GLDGk}oMgJ=Jgyy&qtl2Rr@5P4cd~1#K9Tts_uZ!Y#LgQj zAz{;CUh8UJeuI5D4lvoNxw9Gx$GEE8r}^zJI)=W_SfA#q?QDx&BcKl=fWMw)zREH+ z*K}q~b$XAHEt)q{Sl=D0Ph`GGMnm@Fyw|FEWF?RLlgFVp(SYB{?^g!uaVC%32r$`# z8kAW7#N*^%xvoz?&vb40d4@ibxqv1GHZ{QHkUsR03GP^&-%+=*+@5LSTDhLjWsn`? zV~^5#5b{$iMK$v6@MQe}hQ4+5eImRs{WjSr_BDMg8h3PMvQO+2pCJdf<2V{*iO=o; z_lZoYE!`(FrM9}`0F86LuuQ3~Z&hDTGTm_=cOv0oQydCOrmn4J1VrB}T<7Q$nIG|Z zT*AmW66NsCnU}7^0g|a}t1QoH2hJ~DTWh)Q;@qceYb(p{#4>elNgc>uny#&8?8B`z z9=7P(TI%_yYik|rtDwd~HR3UXiV5$}vMsu{%CiqW*aux(@ACLV98c5;8f0zZckxfx z7Jc2*Vd!>^+bay!mJ>w&p+?Z0OdjVBaG%Vd)K*;_;6Av6adCdnZ*6s;XPPnYmz4$F z`=IYgfOn13gdRWzW^1ctt%xn%&Wgsbr$vB_6I&K?JP+dl+3Ak6eSV*l$9(hCC2Pww*@~R%h7CefFz8*M0anX6bgJo_~eJ(bH@5i=mVSN|}7-aRO4|v}P<4C5? zYr3WE`W_7A^$PBr5y#WPi&dS`YHtS`Z%ATyYu-Ac`bIvSzmth^JD_TuZomC zcwf}U<{6%6M&JD;JH~m2k2p4n-|1FdqECFN$o@5BADoShr_+iX|0<8e7&OSdg5O`k z0MduPoMgJ=jPFbT!T4r8PUkh@f z=4(ICkk@GN%g;0PiGQ7$W3$-@^of6Q9-rTO*v|FP_xY$EXn0I`7aw8Ef-Ku7ww%%5 z_K7WJ=>x_?PK@Rc$I)=?Dt>ndxKCt`3XH>8jEi$$Xx-D3F`;#jFVpE_{KfPiZKtjy z`dY2&6Fa-}czSdGVVu}`CD)PkQTn(BJ^$f4l0IEWC{%3=rWg&!`g`NhC$_xD7+_-* zPxOf`cd`$XgSw9X@ccuc$ZQ1}q?g{DO!SG&`fR80psu3~wv(3BZk(>8`*>XF8vjbq zKV3(1UV%vXr|ZbiGt>hbZ1?jFed1pi*7yIh?paha($}|Z^uFTrgqzpU6DOb6ZaJ$^5NhneXwr7!Z+p z8q2KD=P~rZ`MnGNX!FrTq47$tTL_x4g&wJNGMz5Qr?S2jmAfJn*9MS1 zC6Mz(1+MQQ)hBk|!hNL>WU^D|{A`|g`JSjgcf8Co`vnHjIOHyx^Ic@Bymo$&efM+U z>uih8`A$53BKPUMzM99)Q+;&E>7%bLx%XPEPv`aJ9J56Llbt%RSFwND?7PlunWM5S zQ|C1;QJg+~UJ+aTT!Lsc#Kq4g^hsQv=X{|ua@X4E6Pa-ypWnPbrBtNv9@>b6-kbZ9 z0PnhZ@WTaN-zK^slRmKp&mLo3?GNqwp%lmSF}Bm$$oBbtP9FDt#{Qj+gESBHU)P}L zT9)}Kj&PqFOMNfWAzLK{6nAkcRly*4)FDz z+&2(llBx4Lm68>DYq3n7*RuZH&i?7V-p(>nhmeUrv85r`dl&ZapXBG$oS!G38QFOq zPC8zGrd|}SU&fZRIoOztf`1*@PG=)*rDJ}dn>+5qy)9sV=5fd+ncHW%Z*CyZ-t>`@k^XKK+1@zrrU_$q>dj1jZD~9f2O{XNlxHW7i-q3KY z7uQPY9@aG!V_-t}uwG=Da{j|~paK6r_l53Z`7+&{^SG~A-$DqYxkU)jAaev6jrUqO zzg)q*Mf_XBeRrrnI^<-X$aaSAVO`Dn`6rLl^$_D)xl-jdV6blv z`xm;0)r4)ik!9+7@be7yfCiavd5|W#7^1s*L@;W>PY(Zc}40-`a*RieY%chk5l)FEmC8;Pi&F(OBOoG zKYd=2Jx&>iK9MPV{<=?ON*&?63z_=7BKtNnPS=sFU-bGKIK*1^IAxr!6{#`ZC${)` zrt3)dI753gexB(Xb9%ToGVq^Kg-gWJ==nO=5!vfL(=!uGN=N^%{KYBGk9+8(Dd!@w zvDCn5O@4oOyXGkskH!yFzmozrh{>&;qxYfw9XiNELtj_AXux}G7|yi-n{ez#dX^aP zlaP2`PQTAwc8I#rr*rds3OdF;2|?7Sb8{&3&J@0G(z!W<_5Hy5bdD`$eN|Yd&XrcI zZz=cbTp7*!WS<22fCl^G{O;@v+^Yu$BJoVi<*Ct_R~JO*{3^H8agXClzH_>hJG0d9 zX70vZS={xN9dj(v2iedOBSY|h0?(bEpLH}Z=$nIs6id9}g<}gz0N(egK9M=~yr^$B zE(&R!=A&X96Z(o-qEBSDrw@=hozGDiCo-#4iTdgyh$K_bc`=Spb6)G|Ie)5MH12-> zUZ0-xuLuZz^He^FE!m_Pee#`Hj1yZHaNagYB9JXQS28b)#_jnzdCep;f95(H0AV~% zWNvR1jr$S8s88qETb!FUdA+K0ti{>UxEp_s^ywU1z_!FoMl#Wtu!T0I;omVFAbsc) zTjKakefi1FN@XJK{rpVT__Z|H%gsm1m2mP-`r_9_{)rv$UDd|*P5b@lM4#A!@8`mf zyZHM%IF5#6SMwY!lzKZ7ueIj!m z+wvQPQM}x79yfw+bYt9NnnU#Ie7}J%iqKd7oMfNK95yfN8^1G}JDu-;jg9)&1ip{j zwszF_HFK5D_l?&^eV=ZLWWp6R*zn#p(R(|7)*XFf%U+JB+*?MUiyMtwIWroUUX2ct ze>&f{EROp6th4#v`st|e^Qy^lA~QZQ>Z`(iI^R3f%?j9Cj_uU>zGrUK_rpe;?{&V3 z`rd63>C^e1N!~zan{$(W30vq8`f|(ncs?)$anG>F(uh~pi++hQ$`^XiWI2d0p3%bZ zkQYej-~6C4umfE<1`NjH^oZklC*~`Gb3#k5I~v=+k~>(*I-WkqzTnE{;iDfCWTi zBQ`ulSoDdX!1#U8g>lYy6>ISw?}s1&zv7&p)FU!=pB($EQc|z@AI8VH zFN_iU#h;wVCdZQqvW=d3Wm)nWhavAW;sBBB>kReDIJ_foBu^m&I*>nS@ijE2E0&gw zi`WfpYxI?f=By~=F&=$7-<;hnJE4Q~;((V!KGw|{V~=@Q^ueCL>11r;+64}9zTvvD z1lvhRWB5)9>K!)W|A>Y5&-u>&l~?hQ9MRbN7>`;`Poa7)T;gN4wZA(aJ+F+9A)OL` zd51kXT_f(8izckwW;` zkFwVd-FRJr?il4c-KrvXjbe#+*gb;p<3cX%apyLY`EAkYJ74Y`Np%7}KNA*f1~=dI z5y#?tr@H6dHEvShqi&7h=ALn-AB=v}SL5~#NXiqt&Zi%GLhLjyi+@`{>rJEJ`nbgq zLVjw!quX0tZvYr4dRNiLwJ$FdMi9=~LLcF8?|By23lqaQhz9PvG>gMMWx?SiaI215 zTqaJ4BoAWIfTOP_8vAH@;c&<^G~gZ|ZEtNYL8j`7}mt%eq=vTd*a7? zHSD}~!h(SO(Cd)9yIXk~d_4f1=$%IEUVlDrfblF(^rq9zQ6Kj%{oprndaW|1p|!6E z+o#tp$E#Sq@;jE87Bs}U6n~#Z=jnXTE4`j+N6$X__Q~EXaN@^hw^-Z*>i)ForJt`i z^2lB1uj382@0I!%M@u;uKgS`Ai_?3;KH^6B2Akw>CgA@W_&@PWqK|l^Pq`=#z-r!@ znSE+f9`nZ6JIFrf4e@s`T?;1kGOp$+B#h<_VMK$zEdhUJzZ^KcfLlS6?aO-}oh(oE zmM2d1aZNc7be-SZ#^N3XfaKv#^j;9)p|7Z4aH4m0Q!DRs)~o9rdo8|wFS9&d=d~(Z z+{v6Ts7o}&rC5f=wc_hE;KUEwHZpn(qm%pvPWE?eiB0bcusY7p{totF&o+F|xr*ZGFit$mlGfJmOM^Rg5J z-;XkC4`2K^llB38TqWjRh(*J^eILk!eX7nyUYzg=c{$WCusGLus;+lPaZFH`OOv$BZzQ4lY)|^4!5eES0UL05Sn|)6F>IQoN7y*b_DI@9?TdSNCS;N!frIoLE~Q=8Ql4Q*}dofvuYUJJ#UaCuVznO*V*8fZ;S3jz((=$ z-sZ|jw(oSVF<{V~eUzw)STOD$I6!l%<=su!9zG7wPzeqnA@9Ao#icT*Xb$KZsO^se z95A7Sm3JQuBl|Q5WCwETf&d4Ur2RtQkL{eBNM(uNdt)rF3ZFlL6MvUfx42r=5BoHy z)TD#H-iOsX07DSJhJhOUlkW*>PT5LC=*y#@Vt0D=dSQ0pdgRR0BAn))+9R#JYq@qb z_e{In;%cjPg~X-m^A=ZWtL2`zvn}paI6(0ON6CCVyV&AzUsiCUw?&r4^`=|{4(Wx4 zIQOT006%{6dr-iM-jVdd$L-;`04I7^ylHXr8#kI8_qVjTjSxci0VjIz>}GMF^0`2B zR-=;O|q+wZMtqIDJm|n+G>OQ6Y*Y%-7ubX5f4`7Dkhg(1V6K2(2rA zLnq@P7r3>7^L7`mZOthS1J`=p6i$46>MZ3WbKZMgJDO7#2d;tFvOJ_78tnU5;M(F7 z&P}|D-l>hP-d4P>08acpEzRP}a?WW^8Bg&~%oY3b2t8zp_@RW*U|+2OS9Cg%#EE@< zi5Gl%7jP|VPC4&9i~FS%DI>iI4;u8&X=QQq;3VTj@9GW~w~FtxLLP=d-i!$r*9h0P zBu}qro~dGS9eF-9r!1*warnN8$P>LEw6(b6%%Pf7@ORVv_^sy})0}b#<(iM9$8?<^ znp6G?aPlU_0c5F*%gfcQylLp9xM)sUkY;hObN*>g39Yww@o&tbOwceNq4id?f5<66 z(KQKVLyzW^^wrVtLb`hATpvSUx{&pe*mUEJekQgp-#?tdNzN5qGQ{BKG)~Hsxo@|> zw80&CAi_bG$ZI*v#`Zqu6kyQc*QHdz{@l|oVK-M=Uhlx1F6JC@I$7S^*Vr|FL&mvS zF|Pb$R_`LZ#zl?*Cw_E)%i`)FDH#V-;YUgtyYKfa*DOj64Y&#cy>(I4Bu{hWl^0vR zA3+)6H0O2LZgIys=fF{D(3@7l#$~no8x`Vj%h^_5Hb{c>YR>Di#Nyn3JmKID8uYe3 z!RnQLPT)lETRW}1i+P;~99)OIn?JRVC;qk`WO4nJJc)Ch#w6mB$9gL>EwTYRG&eS1 z82$E?=EiSMqa5LDM}j-s`*bdv)WsZnWW43Z9WQk-xJ92O_nE}@BIHlPc9ut%iLQ2l zK|{=LqP+2O*PxSf7&wX9O|(De<9<{)(R=iEyI)oi*HXO4jUmw6ZE^HBf^}R5R!ibU z?~M;dzp1Kml|eczPxSU`Ztc4Ro#Y2(p+Rp)+B5L|z;B5NPW0X#SXcb6m51-Q zK`*!)4f%I_;JP3l;P_wCtiLtY`d9qu@tDQ^u{ZJ;W}-pwGl6~G6V>`x=I!nPzmyGd zd};c--+o=<8F~1tIeu8+I&BU6t2usQUF(P38v{=Kjnn6Z-aI&d4T0f1eA66%FBNb? z26HW?jk6tk&@iqo<)M$0@B9KMF?%<_J&j;A#R53@B6;No+H;Hh`z#*UP9Iv*=soFm znp4J!-tA2+*OtO>{CZs5p_%pLcD4Q`6P>@`2d;seu^-SWdM^%e-c}Sf`Rgz&?{F)t zw=c`nT-&FO#ofZ!z?y5{YG-i+XrBUlfs;5-9B*-DQG|rkTzg=g#l21SDLC=BU|@Z8 zyLv`a^xhrtqY1C$HP?RH-s&BCII3BM5e@nG)^dycbbAsf_Vqj0;uiC{l@9rx7}cIXZ;k}2b{#^@JANclsQFnZE3REueWzFv1A``;%~27 z7I&kt8k+CngEAp^0V2RlOJeg z^|s)A0Z#Pp3HbXQ`vIKjy`q(s_bb;2$_@=S$H@Ud&L;%+8U|7g`nVA=isl3IL~oov zCvbUia-Fjx8z4q=a@F4HNf{j5af=8FTY(cd%Db5OGCZ;AD}#H`KYo{h?C(a-CCEYp?nhet zC1T6C*AaY@2b}2rHo)EZ%?!ag-6Zd{z%?tr%M6^0DSd?ARsF2q6{$&_=&hMyakv*L z@@2G*-%)%|C| zo&1H>I|aWtL-7OGihZLmvAEqlADWXF&9}Ihs*@m+r#ZPJ|F*8q`?7K@+-h^=Y;b_LPCnsrd!N5uKf9m&uNv0A8~EA>wxPj~ zag?vVA4fU1z=r(l-@eNNTzm8R z7FUC8hCI!+SGKaawRCS&aH4l(M~i!hpG(zTJ0ZZK^SE|2*RBnmgSrLw8fHwfdP{z4 zxwd%VzW0}WeWSUy%EMOP=CdPzHP<#6Y;mb{F9mS{PU3R#c8lwj_>{_6Gb zN(z!czv~s(rjTyrX^}Y=cR4u>`!t6xh+Eu5#f{>}-GOuDK(b-e!uPDX>j`}$gc5AnGL zIPv$-07qr1ziTggw`{ZWXgkkw52y+adWVo;-(R}bmcWVLyMMB{nh-*90e7Q8-mo1O z_w?FG9&jSB>SBxggSkha3py6D^YJuYk3%og0S$Ub(id!eKPuO!PR5DeQ~B@9>pDMu zRb(IJN&FrT)Z5U&x!{#`){hzd%$Mf)L0v8GN8U>UPV6f_(Be|nUWnMYpcAV zI+VcW!SPe7M>ar==Jfg*12^KWBOLw`O&YynZ0b-4e5zB7eso26TMx(wD(*OH%#J0Z{uIBeO*A>@p1UuB#1L` zqBl;T6SzFi886g`Y`|E3&iE!!6Qu%NR)G{JbTQ{O32@oAK#o)iaM@?2Y;Kn55&5V& zY9IYU8ei`_^vnig0i49*Fx82VOXJ+s9Q7sLhwyRL0_)H(J6YVXd{0Sp)S2@vZZPo? z?9&`IHn2`^7vQM2f%ttx;zXYK``%er?@Or>4xEC9oO`9e#Wln|T(S>1$+_WyJu%wi zNZ>?o+0j2ys7c}NE|=soMW#huA<22S+;KtHnQ&&M6So(4|zUYlm+t>@>R!6|6a z+lmDH^4bPCsyt1OkHhbq!4J(*t?0bzdV9LT_S$} zD@RqJ^9E!i2AZSp|FW9VRT(+wt!r1&54-v{&Hm7?YYW|WmBHQ8(*6e1kVmbL19`6C zDjMwFOm*k$J%;3^SO6z;ka4laZGp3l!$-(_s;GUYZ~KE$&LNf2fa|pR6r*>~&LmFs zu6fDggubRY(-cDbiY2-~TN_ttI=)IQ;&ewZw zfV*F@iYhj=0z4yG7p6npR#tejY`0@-iCh z>#ZH&v{jI0k>gp=gNTWj(FD!bm*EN&E^0)&%dceVUW+n_=aB z&iSG_xpN>7UJL9=bPxDJCOiB7SMJWF+Jx`$O>_4{SJ`W%ffo|UrGwhZxt@5k3Lp5g*|;_sqBuFo$M;WRha3GA<4|C;5-*%?;v3@9VL zkSBWgt+lxGnngIxjkVX=JeY%GC3%_~>px*})wU%$RP<&BuJyX}8bfpA{bZ~kzfU+1 zfD?KD3B>uWz+p1|@nH%{wn&uU6K7HJ|f#(n|`px2MREhLz4lPCJ2VY)~!1^-1hQ&2SFvt(hq21Cg z?u5YJKtZY#U+*IU4(-_3;_$bJp%e@iJ26}_(!5&5_&3MYCi)U~)efpuv00Ovg!;MxaU zS$V(lHNWQC;P(Rg91adeLmg#yvhv!qADU~M2hKse0$h9B0?Qjac^?+(fCjx4ez$rz z@i`4RiF0~cD^I>N0-VG-PM;I=k;gvgLAnNm4bY*vw!~#h2Jc_?Qu~qwcjImf+_RZn zoH{AzAX9ArtCp3A-|-im*j|u~PuR|SuVJnL91Zr4q(t>`D+8RjsUOZW7O&d%;CJU++z14O^lC2qC2nzJT17a`WsmH!zZuk@auD)>6MuK_ zwYaV?Cpj;Lu*ie`jjZ0cnJYAxJw<~3xEw>^NH1`r_liJXoy&O&oan{hVfW?r4shAO z1KhYbz-9Xb>(D{G9@Jd+Y*nlG9bOY?F8jQ?#XSrF`K!5XYT(>AkTiNBTavGP`N zo`QSOFdxl3T3k!^7dVOYl_MqltRv!M| ziO7R!$h$4W;_l{s7o;*8aHU9xAD34BsFUmiPUh<8))rT?RT3w9YiC>ByZmekC<6_8 z?+xs`+!RMl^9J+3^#WlsgJ?YgP+UiBS7jh4Cx8~6G3oY)%+DUohN42(E{oSnnnOF$AL91oQdx1H=xr0&tLe%2 zlF~b#Gs?=fn!e$102L^RVs8G)nPf zG4ArO67nQRD&A~kR*Kiqn0GYTTd7iI`9y=ehV=p`{{B_p zp8N3KIrs~l=p9c#>g?V@;n#exQwKG#~ zoS&!j66^y`^ge&c;?87$HP;rp%jW5H<{r(pTS>BSAHI7Cy}*gy0&iH{Dz&~OsGHxt zt*zdpe2&yyyCuuwP6=Fl-?{N@W8YBvfm85?=Gu|B+IwTY2ar*Wllg63&wk(Zoy?>> z@ps!i>+e~cqj}SMi%qtE?B}%?aH4l-x~-2T>Ry)UJvPVQ>zzdBFU$ux84Yzbr@WQd z9m*IdddEI){b=+L_gBB5x(RXob(8EI^gD@S=5hR=om!hY{pcI}UEXhdzHT_a%{?0u z@+4*#TxPj($q&(7X|CPZ({kf%u362s9dEVI>)yrJn3`)({n6@eL~B#b0k{zjak_&3 z7@S{Y%L4a`PQS_4_Ch`%L!S6Mf3*EQiSevgbM2{>Y>s5}x2-(i8)?#ZTeKpQO^YKx3BGEx#!@2B7ZgKRqAZxaymaFs5$S?X%=@P7KSu$ zz{&i^>2sn!^0-F-l%v1ir!D@!K}m_a9j%UGb6gT8;n-h`+y; zwzv%-37QYQNxu9X;1qdAMsv#1KwQ3kA(}UE1sdwPP!Bu5lj=|>>D8Rl`UZ;|M)$V_ zCw|1~P{Q9FIE5g=zc~nAar{npK_33bp2*F>82KAf0PW}RzY!K)@Ff!;=r7~pGwh(V zZ3+BcnzxD9aSVqv4u1;|#{`$kII&?e`ufq|^DA*;!VVnDO-A)xWXK%mC8KdJGTh!@ zK78qviwyBEFFP*JMTX<1eAqEG7a8EA{LIS@xyW$boDVzh%tZ$BJU@0kl8X$~e12ps z%0-5&-+cJ;RxUCeH)a$rF@x@%hU~#HTBav*emdds_u!EeXnM?Q9B_YW^6z!BD;NDz zuOcfa83%Ha;nzt{G77MdlFyT&l6lbmFf%0-6A&C8c6xybPABquu>EFA`}4H=AcqQ=o+-}*ku;C5uK#h)hK<0-Xaq$ZU_t`oL(~?qRIC4 zE@k`lnz2V;i>u1>0bB~}ZJ2FwqgXHU9S!!qLaPm5?_6|}eaLAv;Fk5VxB|R}*Livl zO^z?`9rgn_iQg+%Sln(UPyC3}n1sB*+6{e>i5e)-GQ!IL$I+%FY;W8&`fV7UbM@0` z-O2mRV$;Y|qU$YXINIw;aM5C-${kZT)zoRfN;Ec>aLsI#k>D6kiVlCwd3aAL8}(wy2Sm zCwgZSxB0k^5JL9pTD&IU2W`8$@96+1daqw<<@JOzl85sT8shvB6`Ze^E~A`0;6&c{ z`>h{KK8SFd1CB0=t}Aq0KIZ%8ngbS<48)J`BWMnI;6pnf<0)6+hvtBV-&wtT_}-A_ zfX17x-kyQqZv1(qjmt|MKg|IRidwy60U-M{2NVy?8(nfHa1!U{TWp-mu8rcXxneT! zN$NOX1c9VibHx#Q7~G%V-vj%?wM$!nFW@|Y4zcf}XD#j`K1TwF5FxMP^q$b02lqVO zI2yBQtQy0${1*h0Pk2Lv>^onuxK4cE6Lz8jx0avR)G-=^PLc zK{wDAm&f2fr=ny>veH zC-PuQ!rweNX#?%WA}0pk6FtMAb7JWmB*MLN;^ArY=dG*bw5la=bqb3>x%) z^@*~T<>4!oF`8@mjRxGIz%>Eg3UPA?oW$rN{%vFJM;$&7fNRhouMwR?d_S7-`Al=y zgq0Te1ap$+t~)=o95;PMWS{1)b^*O|jiI?~Re;kcvA@7coIf3F&wKl85rE>SIWB{I z^ZospGY`SQHJk4R7J%^~$6?(VNxB z*50-J+=E^xeOA@_Tb}1lbKKp}S=`lp4g*f~oTY2exZ$@*{$a5_>9OmcEAQlaJ3kA59erm(zHgKZ11D*SQf9W)zz#)c^_f_E9 zXc}{{=A@m08lcHpV|l#?4nad)Vu5x4?|e-GoW%LMO4g4tAQ|!(IMMs_L2KW+ zv;YDQa5U(>l7i&N#nn3FMDG)Ue0KITPV{!*=Tx=7)3IPCoaUr>K%V4_=A^D?Tl*GO zi{xoeI{O#P{Uhj_3VJms6*y#ZLtc*Jk{2hDG$#+fNnAplq;V3LI2}yHIS)>%-YlA% z5GQR9tdl~V)E~)8zQay5%yo#9W(PQFA+HY}ZG$0`?PxMat z$@)vQ=Wv>nvhTC@(bujWhiFbpy~N_0P^_R=bJAE^K>BgHggH)g(g&0jK8}9kIKf>K z=XHVkZAfaN7xKj4OZoW`%}GU>gEc2@q5t@L=dfPQNi75O3!9)9IMJK_iDCGEqrYbocIx^&k1>X za98W*QO<_As|Cjra?z06A?~6rA!np;n!9ca%#Gt1#)%*G0=Z44;^rFiWNseZYwdfQ&k;^8 z$M59;XNq3Di{6aFR$gO%_E~e%ZYqLAPH>!ea_#^p@@j6ixF%}9OZ+(SoSlzed_PBX z(s+92&)2(=^dZiglbUz4e$eA#37qKtke@}@wI{#RuQ>^SKgQQfVK$ufO<;bZ3-)PF z`uJ&U-w!Z?a7Y_8)W=+M%GXP3onGK1&R4gx^0w1{0_16~8PUehM+y>(aU!qO4vQ

    xDMQy{7!%@}M>$52iw0b$zPw>$lnwIPGa=J9m-a&0r~s!nrpIY9uht=PWD$c*W9(p;>vMO04FhONBfSxyho5+ z8e0iV{=+!mf;ChRbd&0np-s%AkDF^_`Lm1HzzfxCQdD-YBoUYO4{M{&> zFJD6$;dJdaS#0H%<2(gU@~YEnTgzP)4x(XS&)2NHb1|``7q$p4PM;I;%cG`Zv?1kk zr*~>{4CgF~iTQiJ=Y4JWu{BO?2-T>=k*&a>L2sx=L(iXtYBcox$*jrBclIOnT*?XC+QkJo1F6X&PC8D z&bmhL4RC+x`I9XHt`0qaGOvTxD_o<`kD(fcd9d%lsnJ+Q@)<2Ro}cA{k9fw|$)Y?d z_DuBM1^i$3n;f3+)uhmWkWWqPw=;3mIN_pKk6J$+j_ijlG{`H}$a0qJBphU+0e8mi zoaH&4jJx!V+;L)GSAOBrbQ=vU~X&CwkYvX64cL zX<~gYdVA7duAiSG59us=$CS?AOgHPI`e8y(>!QjuX9GpNzh1 ztK+u~LMVQkf8K47L;f*N^d9>;=QwMg`u;^5=W47Mr))ILZ~8^icTTi@u9NiYbN{BF z?YdUu#NQG%t={^qSM$#xD)yY>44n8|G;q&O^a3Y(&n{-?S8$ro9t-fE#);nPfwiK> ziQcPL+xcyv)*KjvIL};_^ZaVwn|Dvn^Q+f7bxP;V8<M%#1Ggh&$)KN z=d?m4z>oL{`+>#(As6y+T;9^F484GL7ZJtx}=Y$_&6}M9pe1OXZYd#W*e4eME<$?WgBAb-z(IIXN{#6X(zM6XGs?=n@_1gANy094EO_3tAs^029)IKHP?od~kU{$6Su_I9i#N zz;mFxGNQPNEWu(pYH zqW>r62_5_C%7*(3{FnbPgx~CcD;h5{VzIy1RqREU&pKkUx=A~UVcawI2KDw z$`#(h;ZQ9*j^TWpOYs3;01Ka8oQTI{9FAR%&h!*FH{!F4A;tGr8ZYAzJGWM0dHDa| z>y&CZjdV~y^k^MWA@kt&w^-j1x~>4;^^=dM(Fcshu}~jy2|VSN=!3l>efjCv82KKa z^M5ks659ry3u=*)^e9ii=eXdQ=+)R>8z~of4h}LF$23;_)N=py1LZyOQw}xv?}lw=s^?#b`zEY6$XBPqZ|24KZ-XDDL(j#=$1}4EfzIi}aui^0jWiPwV#kv~Iso>vMXL zZ`7_O0{V>;KQ@TPW;Ke%PN4d|AR`tl-irF@bs@bL z(CbBdy-TkT==B-BD$_hJpugF%kY3B^^#;9G(Q7@uw$tl-di_eTf+wfMPNLVT^g5GX z)#z29Ud`#%mR=Xqs~^2a((49#-A1oF={1X957284y&j|20(!kbuch>Qjb1D1wTfOJ z(rW{~w$bZ5dhMmxVS2@irNmC8SI_>#hQ=-#J8~303>k5CtW)N&EO)?tXq(l4?BG@- zh76B&95S|bcF(N-qehO1T{3*+(5%Zw3>mABcFK$;(A~!Nzc$uo$gp8qnXyZ*qtVcS z55u7XBQF`1g}$-J#u)r(L;v!ADtb$cwE-#Z21rM$;V3uj~rVsHlY8Qtk{5&nc1O+xe5Hb}i zDV0RgfcURxziXYd?6q%K-}m3Y-}#+$-~H@0?X{kFzx#d9xtU|JSV4Lfpx2d6W3g=X zj&^;P46&E!b(&sP>F+jKGsH6F&6qa>I;UpMo0&dm#OE8b<}FPJ(O2Y$v<^&FQLSFs3 z7MFDD>{-Zj7{<-NFq6@n`MU^r0b$S}uie8|-r`r6yUu&A*9o zSt7MgZ;cZfjD0Kf5`g^3s&F4J%4~2c6(bzNg9bl7EpP2>4x>mOaN@`4{1(@r{Qyq< z_~06gYxQ^JM=mArd~ugtY~wPrL}VYOh->iUFG^HD|E8Xa^a3Y-EG%Vlnb;5D#E+a? zY@F90jpWgkx(2eY&hqNQc=FNtKp$aWh@+@0juX9^T3C5s{u$+n!?3(uKU&;pKSwytQRORJ+?{_V zaH99|Wfr$h;ouAWm~+sfiAc*F%b(R-$m#pOdM<3#W32Qr%ZSY08) zY0jIM+sd0nFvtT=^j4+9jOQHB+w)vIz=_@!MJ=wH;yj2(TnYr_y%50t`K*oKtX3q1 z?9-fFsDahnfNNHB^7OG5*Hz)fkC%E{+_f;C^lDB%U);|JZEZIKd6GQ5p&>3mku83l zpA2yF>EagmBgap3@?Rw`F!GA8i1JT!a;HjJ46blBGK%b@sd5eWbuMA^>bu_~d76_C z47B!Lj^L6!&B=!Y`8SRI(40K!dMi)nLv!-^;$B{AkI!2=ocuj0z?hq=UzixfHT7~yyZ#GtFsX|Pw@Qu9_`Ii)_gayJJhAnCGB$22 z>+Q}Q0t_1L3vuuo9Z8CWC#_LhzFTIMIs$Bmw{wQ~57<>O*ESo?;sJk7^nR!i7M zvKUuulwE^e$u*$Y&K0&>z4IWD&FXFNPYk(eiWKwaqc39apFgalVt6Z9(RRs_bs#YQGx7& zeVV)W&#?AwRbIEe>H8dE!UE+E(w25JY`wnLfws zH=VU)OG*C-{Q~ zy&>)jttHncDc{)-$bdZ9h6Z^n?y4J(pJ3;AX2l4nxvS|+Yu}>4-sG~t_577Ep7iQ< zSLpgSv^ROaxX|7tX?1$_x~pe)n}3!5i1P2h<*sL`uuv;2bJ)GZcbZZ0odwbDyz(JjUxT za0nXo{zfNFzeYdc>vYXYWdgN44nin?>2XqBzV^`TsSqcHa7Vwl_U-1qVN44e{CJyq z!1rS!0z&oyC-ZU3%NEy4;bcCp{K9hKY2F*wob-BaE3Y-j4>-|Vwywn`DV*s2WrF3n zljS2nG{>EwVEX>v!|Q(FMDIc}!pC)@e#8Yh(Hq)}kiB8enFr_(Umk5)y8DhAmuaSr z-0-*qHTv~` zf5)t3<)9oG*{24X!T<2KyVV5w*t5gfj!IRUt6xe zf%l293_^n+Cmyg|{Tj%U?9*JmcdF&;O}tN}xq3)@>qm37A18i1R>9(`bB$`QUOwFF z4ei^VFRsWSD{mLC<1|;_7C0x$HN58P*7sRIW+U+^e!$@);#_W*-9sKj=PTgA!DztE z4RAGu#c>yK62I&LuGTow`&>plzw7uKUUT)P0LMK>0%6kt7{`0Vnz!eYL4Ix*W&M@GzY93A z?~bw-cbID&IMMq@KdZMD)hYC94$m>r=HmOj52iVM;RcI4#@Aq)!;=Efn|#mf9pJ=| zonmFIn8&AETQZn^o>-|RZ|qC2d8llXcC94CGZ2<+W_&1(a_{`~*mzYOgGWaPY0 zZx4XXclrF^?g5OU2}h0A?oi(3;<~33Tmv=0o$vl-=_$R9ywLvTDta!?uK{{Q#QB80 zL4)29cZJrU&(pcfm*<3d+%@1ui)+g{;qpQB2A-|V9eB2KY;`MdB+Jv>HIWk7w{ITT zisr5jdF=jHp}@11leXCP@kZV+)7-WHek-p}MRJnjqPc55UGV$%9mGU1PHJUF;95Kb z`=Pljv3(b61f-9$d?{44nA!aA1!oV}QG+r`Y)AJb_kCK!;{=Ai9KQwoRu8IGb{mak#TfL!s zFRj{He=}ktC@%koyJAfe&u`P{Sgd1K_uMveJ#)?IS#Iz}<6@mnJRIIzi?vxe{U32i zeaMSVE%J{znTJaP`{qtB`3YHQke41#^xpKcjjt2J@QuM$?}V^C@#D~noZ&bVPOsUn>Ylb<;KYxafoHo#FL0vw z>*@A-UvQd7CkO6vYMkg@7vL3*i|hT-K93?e&CAsS_u@59^!`Q6(rt9QHNd5l3_K1g43Ny}e-K3Gxp zpK+r1RN%ZO_US#>^Tn0?ByGKV%{yVoKjS2R&K5owkV`QOXD4@A?dgvpL;T{&=<+}~&6PZ{` zq3;Zz!_ntnbc`;`T;F7#PmDnWei@J3jDw^PZ)wSN$9Y^U9=DYK#yHL0LXDOe=8*}Y#PMtTg}VwvJYngCViSaE0A!EE6;tJ-)7M<^nK3y&?mO+WxaA; zpx2iZS>~H8Q*%u_9#@HFYTn4m`tDJE5CI#OlhJs8iuYYLkF4c!XLy{h_5D1)SD+r} z@VFg34mBwL{lw$szPYYXKhJb+_<4ptk-3B>1wPcl5D(YRA<6MbTb_y#$!5y#OWOMG(& zxKCtC4e36SDK*py2WXu0g=I<&eW&`;lIf1~xC;mmo06fBWa=7PML_hu!S#$jk@*Ra zr$-Co zmiR}P63$LtLl@F9V18klp&Ejm82N`-GxW*)Ne$J&0Uig{7?)NJHK6B}(f`}p zjP8BlcQnAe=BQUYs)^lA6Ez_^JC=*aZ=sXAj1!$pIc~q>0NLY?vps&FlgE8G(`3V@ zsqBZ&-y@uBU$IP`zx@f1aobgHJDqfl9^ZC-myizFqVxAH)~mmt1Q=v}#p51Q`=Qde zfo-{z_38Y*mlR`si9r5N=e}+*j%?BSyPsw5Qhf*mWc6iRcB$M341Im*1KxjuaU@gc zFL)Y#4+rx19qyYI$ls6HmP=Hh*fN9ll?>$XSw7!(;`0%5RP0PE5C7skEJIlWTbI$s zt)EYLCK-JXl05hbnP@mRkl*QcTD(teEzN#3WLuprjHlCt8~-Mc!x%Kk?8WbIU;ybu zUs^KVamM$iKQO)_kJI@(fiYz3YHQ4tkufmwcpL_hBm0aICL44t-+Fdd2`7qgbO)Y`LF( zkX+OCa?VLNFl>}=8XGM~qVuEBeI{^@#=^8`e~KV2_= zo+0niVEYaHj=wPueG;=PS>L}|ugu98$?el2dVgm};yeKr(7A{9s`0)Flfr8m(K(g& z-qAM@&p~6qfn~1eb0{Ea=qtc7 zYw>vreQC*b$9dfIBpl;Q@i<*C!d*A1K9O06K49E7wguzF&UTy^2QWe8JDKJh@RzWi z4VXuDz5LAn_2EAHGd}Jq?z>C%i7mz17P()EabgQS=IHF~#&+s@Y0SQNW&d=&lw_G- zsc|B6Fx#?+ZPDkK*PxsH91hFLcU>Uvp4cwh>$ow{E9 zJVVIQfcNtZeG;?Hy5rneg#G{~rgD_J+%c@((RXJc zw?~sv=v$!r#Lj8lR}jG@J9Ta^iiwZwrpctbpHCe1kq@)&(9_FNnBp$e4%o2*YxNU|I*6e1DwAP&;}Od-_e@}dDo|d z9?9hTcI-~v{}-Kjz8B-Fd~Er?AjfSn+v99uKm0x?kNdW>AJuS>;!S_L20b^k%xyTr zeQqrEVOtg$dIZP$k8$FEL+(4yGSA6T?vv|Uouir9mdlufbdHKG>($y{Y}v{(E7Lpd z)Hzz1k_&d$;GEI?i|_rT590!?;!$_`|hefWA z)*Y$EZLZZL-!QHX+XGkKi;nqyZjR7TeOTY&{Rodk&d40Tzq7| z+CdJZZzIP|=Tk#U1oR!}y>gvTwOHSafqXj5eJ`;sI-kDazSS_CY|;57oW6^?q)+@? z%HyOybv`}A{>iyV=Tk-YLB1=X^XWLa+rUr;o958dnefRY3<&jL&`b>1(ek)36%(kFj z#1=o#koRbi>E{{x#J~Ei@1O4V;JF#O=jnvlxQa zd4Vx#@I&?v-2v_snc}1F6PdC$4(*fpGTj)~C$$vXLy>id=+pHgdxyGD?36uo-6wWR zy-1%vPe{E;U#MQBPoF1b?@;%NEmBLmPi&EOM+!PA*1BF~?@-2}Ph`rTx$YC0QZN6s zPa@;=c|z75p?wnBJCt#{CZv{hpV;E(nXVVvI}GiG_<5#l$?4(RKs;h2v*wK@(KBYQ zBg$d-nVumSS19_s>=(IQZqK8Wpqz8W#)AE$we*9X>>8#(ax}ib`VA4NL7hx*7rhVR z@0URy8v3r{JtQ<=V+YH&7sUM z)6}&Yp&Wh|>pR5ybdIfLeR2-aYl>#9Zzb!~xiXsd$#aCr2Q=8X9v}3x9W)O`3rBr# zEs4(Irsl9T$zM`W~$NOLw^u>~+_bfa|dLA}Y{DE1BgFFvz zF6h`&5`aGW?u(wI8J9iU`(PR`eIm0JeSplFe9pn#0)}JdFN)r4AXp?* z&uvbQPa|HV>A8KjWi;+V{%)J*oo@&T*-xl>7hA@YV)W71m)*4q#)&P@bAC3$gp(~g zCkAwh#vMMAxTX=Azi>VEhcF%|GWT5?jr$40s88q8TF${ryw23Q)R=Dmz|P71y=a|F z&$BIMX%7@K(I>VX$sLV5jRV{#wuEx(6hF`nK*)_gc{>{;i!IjjL6G4w62d*L&z<9sXUn+2(b#=c2xyx!0C@vDTU?gt6I*m%>(7LA&soQkh!53^ zeo;F*_t5)n2%+ydW~|A-r%gEM!B8A?F{Zz9%EEEH6HDdAvv^0ic5q0Z=Y}}+6)zIu z#l~nHJ=v&ax;Y}5ZcN8WW@a82L+8*aHnbru`ovFQ{65j)Y*(>{EE#tkAMgvrH4}P5eRAwfnS@^P zBgVgZ=%F19-9~smq=1vmVCxx$m^0NA=lR#>XUJJN8ae%#AnC^ zwa1b&yF9yF%?I#eGv1wl^bR;Ni93Hvyj>g!FL4g72|Mz+#EqwT(Kc(GHy|6iyo|4< zAs63O0AE4o!R*m@S{#2-ym9OZzSBbI4>#A0OaA#@_e`(GP3e8goiAL@GOp0W(eIjS z+|hmsd9VjM8qyEk;2B|!8;CDvlKtoCC4i561wt4HEaZ)DWpO>w$v6xFZX<0b`tnjh z`h?TxjO(7TxbBoAf)l;pC0SfCC}Vl}2)!SivbYqGBjF$x4LJJhm9dXbH4f)u#ki+O zSzL9smxm#cH++f3^;i3W;>WOh7WX6jkr}dB-ug;*-rC{hKz`_R(wt6KUSnPZ0w;QB z(ptx#k4e-o@}3XU+=AIe@6W1I?du9QuhGiI_7OY>G0*@_g-NiYFOg;25q|fI6AF6KOBd! zykvTh?8Y_H-LvsoL}R58Fz6m z=sma2cL)5HJx};5{=Q3-?aO-!oh(oEmLyK}aSb>Rbe%uY+~O7}J`lYf0z7np)Iu-d zqIY9`EAKkitLwZ2vAu8K>nu;#dF8SemxJ>Kb%};J=WJqeO?b@?ocJ+-lET+}0mlzG z@uOX9i+h3jS=aeeIkV#G zQSy$jJ;nA-rIqchw`|~C|6w4ujd`w|PSTB--PXg(yPP=%wTK4X$@UhPtT;gYm=TzJ zx_otWuWS1-T|fHq`v%ENIihR3eV`^LBN&9!wOx?bvc9|w>f8(y;K$PD7I&7ft95Pf zu4!@Y>HG@4FcS^(mKCzNx0zFblel!E#P{vX!hQgUkC3-yjIG(ec!r$x>T`3AAFRB$ zC|1Dfn$2>Z#r=)|6HeD`0lJUt+xJJHW~b9a+{fL<`$~`}e(b7lakH31bdPCi zYF6TxOtRy+bZT}B?;~NXuG!*qb0lPN?KGVcoo8V;8s?zhiAxQx!5O>X*l%tngPZp* zN%Cqo&*pXpxBAOyj~OU=O$8F^llh! zapm~@37q)*T1AViO#QG=bIQeZ(2w5&wGO}##IH`E#{TC0e$6Rg)VA`LvmbiBurP2v zQYwFBpXQ#bBdolexpp-7%$Q?wRn)pd;!@!yiz~gya?iT)7Uwo(D1P85nU5D=vACa^ zdw>(YSEN{656U&nhvu?=blvUGM@{w@IMF+jKKQtw6i)QM`yY#&%Q(%A#~NE4eVx_W z2b}1=ucO6n<#U1N#^t>%ZUmo$G&g<}@b?+!THr))GJTHwn+`V~W}1 zwWv9zH}OJz?l~@aejM|mIi>F97I&P^`M@DOXo$b92-;iDyy8rpdEzFtKgC;rICcGs(HkuMIZ1 zg>@71WDZ&#Eo5-V9*S^~CGr~2wXvPgoB|9Q{JNGL@aLYkT-{u0dDjKz^cBt#r<3Kq zcavS?*I}II#*&Mz-eq)+iyQ$?{OGjC;%Xo%83$A0M@D*x-1p-I*DOj64Y*PPy){tO zBu{f=uWPK{Poa!(Zq8X=>%cy-JWB_TLWADqQZ_ChsNd!ne;Yq)^^ONgkY3Gs-Cnae zw;xY9xPu10E$KqckBjVc0w;Rc?6>l+;dLHxa2@jQ*lKb0us1+@HRl}-#4j_Sb2aBZ z9oT;x$@2@G=$-JC)%z%~;{iv5eL0gX?mxVr44n9THRYNgmu3OZyX%a_^$h%e-_CIs zcOS1qHRlbv!Q!UzIZ|_8^>6IF;X6l&Gv3hP?+=x&ycgIH;KbkN11;_bB~RjmM40<2d=5_MJM?IS!mGPhStTtAB_NDoamh! zSXZ1>^6(MzVhyakDvZ+{KRchrwWMRvt2w@LSBuM|_UT0L2g7VlR6txvp62)_!>qjR zyuYP6e&x#+H|2Q5Wx$EvytD!B$8S8Zd)ypxT!yW(xDNu?)LDmHT*+@Ez2JD6kCTCU zyPY{yp9?w$&KV`CHW3$aHyY;cR1>TBHs(;^MDI7(SzKHC(F&0#aVg!w&PQi{21cI? z@(1?IzGpu)$LGGz%F7RBUL|l6v-bnsa~YqXfO9XBSG>PH zx11_Z0FP^D4#{WqW?xNn$~e)xx1QzN{P+!1k84{uw0_*B*1u$d^Y{C}HE=`r13E=- zrvT^eK~You9ERon(bVeg&GIzY_H1r()A$-#bM2az7T1sVDWDfPiSv}P7FP^KNH}mK z8s_)cF&4LuuSJ0qe=`NvM|Z2|p< zC-(Kd%;H|jPznhP+CqSo!{D3G6lW zryBHeBVZKG2jq#~WcnP(rNhZ1%0@OojOOGDJ!&RoFei^$Mj+xc=s|<+hXzLf$HmnX z(Yg90`C5_6Bs zAz;bhQ-Sqrs=EJ7Fo(PF3#)h94$H}-I$PY2JRh2qmp^H7D=U&RinHeAHuR&L@fzbi zScD5i#>sqap-q1ux08R@9P%VCt!aRd>k#1NlN5U&cb4--bMh!!`}w#F1DrgUew@n3 z&E(&E*PPt9mX)`N_g6J1*9_FrQRYzK#NX%Mu=4KU>m|*}`AS$^H@*(ioLnHVHe9Ua ziQW(=U&Lz+qyrlAFT}~s&XbencOoE9^d{5ic%0MW-=GC1ds5hg}C z2P_(FZ$*lI+yEpb<0LmH1UPCE=Mv<(7s)HL$L2^iaDcZ?&ia(S&)@O}yPrJ1lC^Il zU;Dr|H25(la9%uxppqZJi66fOIQe>o6F>UCXZ6ayv*y~jW?S4G%0uV{PV_D&V)NtN zHNdsEH?X)$WHaPxt_|hprlJX)=-tuA%3H_JrE0F77~s&yxpp+yZVsG-ItKO{X5DG^ z=G$tyHh18@_t$)Vqq+8?N36WvRU>~j*VY+iafRt#3gV~NzrWsXajo~+^>5BV{yoY5 z>htKvqP-?@QvWIwh~b7+~sIs9hcXU|6A zK|>vlsABbg7+BYK5A0)C3#@C4x3}`1=I0Plc4*N1P9T00104DzC50d7E4Y5~CUK_l zC2;9*Xua~04T!1c(5Ih@em~viKXYiu5~RUf*G_6(FQJQZZ5rC|u@(9FK7;F8{kU1z zCR2QT9~Z$f$`QPwA!aiJF_Yhk0Zww{M13o7G$x(p0SkG>PuP1|gK2Na=kA9eDQoPz zpEe}~CwjMRE^cr$h*t$CdRJ_-_6_6nF=U~^zN$Z4+yN9d`2n2hmH#)V=j}UmGEVe9 zxy_!diu2xp=J?Yz=l*}&G8Qha{UXs4ilW{eJe1(xA6WOI2jH8{?gm}dz{ZL zz=^+S0vt7fzZVCb=-u^NZ%;t>gl(31<1+u+Ce=KEgjV#BAj*o9jn--3XlMJsQ{t>wyId#SA$2B6-CE93NVrhd4g8J`Ztx z=zBKHX+J1FR~(l)ysriy(BLorKbMcY7DY&Y04M$)9AI(xsC{wqw^dCWzu)<}0nPD+ z=!X)0z5A|=^lFa3>T7$?^^ZCUoan84!rIp!WK4c&j?W$7?#Fp=Ky&=6K#dLI_-T%R zbcN--{6!+YE_dl8;@mE<-v5nj5jctSpuqLgH0p;Rz=^*PO|^Qb6^d}+ZZznvU(4ct zeZ!s$)_r8-M~9qVeJ*%9a8IuFWf4xF3%0#t=WQWh%L6C=zC;h^`FU`5yFC{S`Oez+ zcHkc5+a%nV*9{3p@zZ-SkJE|M$F=7*8gLTl7v8tHQi1D-HIx*-yjFp8#{Jzb?nd?l z>d`Q72bx=4d#*Qq&KT6j;?DBk6ma6ljA|BFmaktygJ{tE1WmT@hkTz2IGML!>3rkk zR-%*Q44mjqrq6L)I_HdEDn>S7tUhOa8>or=0WK>|isQPN^Xdh-?8`uoTomB4?ev3} zzP!9$BOf(K{X+kg!^gcx&ukzTz)38Ar#kU*Nt~OSqrRs55I(L#U>*8RTZ=o+_mnh8 zm3qSB1`{8_KFv|7fpv0=07tb5#P3@YC-TJK_2sPIm4zc5I0X$k_hw&D*;~rj511EZKPO|bo z)s~?!{{@t`u{H=Cbm%&hqsR3vgNWKz%&H=Ui|P8shvc3HRmU zHwzKJ|CXbAUmVFs3^YeQ_;m%Nt1NQPTi1Tjz^;29`Pi;&v)t9k$eY&K{vOXwk6R!6 z^IXAIG{j;z)tw)U(@0*51#ox)*Yp~T+YM(KhmXKLm)$|>%G<^3H_hF19<{jsYodA6+}$&$#SIE@ckDvz@2O^yeMna{_0NVw-zsN)lzVNk5e=MjI&iI$i>?o1laRdjGEU}dcPl#w9r@l4QW*_;HxM!SIdU^SGYWaYiQWg_w79X9H-ZzruMe@fwU|tj zr#ZA9?b-Nxa|G6xTWCIg++~615IX*0ag{EL^lA<*NaqJ%Uf00-vSuZVtB+uiADTlu z*0i{+fxUsuR42aPMF9?NQ`h1~aQske66YEdEv{3O$Ue=X&n$}m2fK>_?h&an%Cr&`JT$ zdpf|i4>z^)e&=g`&9%Yr1@bu@9EyfI8qn6tYsG$Ou5A=J2kj4V?OjVOZ|vuNSfm3Q z^p^U|>fOQTG~gu8HR;Fu{5b!`=M3N^&dKySj!S2svo>9W!3OBiT${IxlEFFGP3=n( z+>N^}aL;CHZtA3*gG{mgEUkCrHnF@Du=aqczT;-2GmGH{|dnLfwkoDP>wqZq;lON19n&{-z0>=&dr| z;@;zDOEiZ*5ZHIQJ+N+^6Y#e+`vG~PcWU4qbTq)VO_HsBAMkk_R3QF7NzVImS%6N8 z3vi-$_dOQ(%xjiIhmN+m);w>TLpSfTxcb<)C%u|On=Q9{A#<6#HHUuovc+9cB_U7z zsI|cA-OC&RGtrPQ_*TfO!8T=3s==-;$Phwmsy&7te++wX5p9!k0H?MrsQwUn9ra?9-V zu&s(*n!(SJG1q+)mnS(=`gR+$0=$OCyraS1%nfZUF3CroG*`e$j^w!0;+{hhGEVgN z`p~XF?wlRfw&u{uqo^s2@Vy#CI4ghi6_x@Ed0RqiN9;7*lXZ-nj~=IZ;{^CzJo0zoaWkg^bbA!`RMUs zWS{2R*@bPKU#9aC>;q2pzI5E;O0d70YqQ*M^YlLE9^k~^JtWz;58pk6Ud^=`>31}J z+y=G2q!Dg@L+ARFe2&yyyC=okmn(4XegEfGjozE+2Ts8onrlZ)xA(?+^dqAfC;m3C zWxsE_Za_kw#Ch)%*57iwqIuJLb56B>9OJbYaH99CnzlY(Rrj()@81jUz1}Hw{=$5K zlhIH|3+bPD`}5Hm$`~hl$2?{Ixb%PAUoA;>0~>sfA2-F$L7yBHGmqoXv~6Z=|KwZy zUEc4ytu`FreBQRWJc(I{E|wc#JrvEA=Gvp(EH^&NHLJO{?R5LR?kv8>)LfhAN2~WT zTAN}Hz>R2#Q?DVGquvVKD=KuGt?ifjd<=Qw?^C1f?@5efy_#$Dma#c9p4SzcYe(g_ zxXWQY`JuV?w~>|`OEV{fL(yDbtg`FI9&bnUp}BU^y*4iWAcXV+C;t9D!TOs_`zXL^ zuI+Wy#_t5L-!#`g*2>CTav-u#bM2{W7I*072&cI=S2e45G_SWb*Utag#yQ5dsJXTR zJ-q4H_RKnwzu-_b#QFQc@5k+Aj@MjU>t4%IO9J=XH}|yM^XsdTznb&Pw6k$3$j=CB z&O0;1;w}Jb(7XXB^P5bc~0y z3~p;K%RMEJOgFeM3Vdp~XCnR3ov(NILs85$_q3m7xo0?^w>9^y%w;)c{mz6uiP_P1 zHkUS(Atx!entM9DXK@{BCvb9}Sl!LeRbj4K%{_1Lw>gp<_s~eM=AIIP^}-`u6PkPK z&_Cq!jmkOB7r7SI+|x6oweL<|A8GEH zUD?X(%jb8^J=>{{eSZ(~GuWDYhEjp}xLJYP-bcjY<4y-^dj?&X`MB#}v9&#r_P~AI zclDzA)wR8wj`_Ia#S=K0w`4jL$E8!-l_)P!qd2AL+Rl=}*3OlmCH^NU!QHq#XD?3Z z;yJBF539)fLvnrY)w9jIV*l#3ah%wG`2sulm)@JGMbW!py5;|A{EUpQ?cQJ7-0aBD z6#*xDKMg$d(3|#vVqR@u(a&;EeLjz&X2svFZ`t!~CVpl_*LLl(YOXkbXL;^*ZQs$u z#-+^ZC@#9Tf6QcY4`UI_Tp|9J8)b2CZ?(1k&JxQ3pC(1}bZtNMyp2oC9toW2edtc> z?_WG0y0*8rwYZ&pt)gqYEcq7Cb&lVrKyA~{cNyGy4v}jQa#eEIi=YoiyKDw zw_xADT`$n6bN+W7cm;NYR~*0d-}rxi;t$^OKj<75pric#H^QO|#|Pj8{U1PlPIjN8 z|4H}_a~BS29NigpW9h7%7yqm7TE@$$ls}SeGQxH){lM@Mdy00BwBCr{;JqCB3E>sp>fX= zrwdMOTDe@=#5E@W^BWj6=>2n-#f{_jptF&21?j>q?jy_l0YYdFfD`*_l3_mXZJv9F zVR_9qT0h=x8p+eO*q~o@{dJDNd>sUw=y@_I>h#jmuShjs#BRCDZ4)-gLNU0d4%lhFz&@4A=5m z2qatah6ddIOD(Pq-|vH+Xu!$uDruicg_8%I_(VTJk+7BZK7&D|*J0=*sW`J$%g#Uz5Uk%-Ii@gQQn; z!zDwkJp866?9<#(gpBaz(O1ahIEi0UfJ1PrN#uzi&8kKB7<635bNn=ioV_O6Ki0Sm z{EUs}kZ)#NdGFGFLg>{Ta^VAZ-u5bPfT@V{$NXIlt+yBNsc8L_%Q)@DXs+Qm z8gR!0*90<$z)6fc@^AWTKdSS209=Cxd6&{TBpxHyTc6Kon!6^hwYaC4lQehTx7~8w zjCZ2B*4))Hpm!kWqUJ9A-v{5mTNO^?yfxLH_l{L2Cn6fzPwLZo?idl6{t~c zQ;R&&oBvUp2d`I(aGK+C?6c>HTj-(%@-)XysBXFDM6ZNA(L1oGt-YK1e!pHPeO})B zTb$=jbKKk)E$&7>hXE&g8xFVgdm&x4zz@xF6$5dWdx%eGXv)^IX7u89J|KKyO`$8& z5eAYCctZp3T}ohIo?OQQCqB(OW^wo}QOE;_ph4b4fqj%mK?;l$dG}Va@@n!u3C&3( z=^v)}_MPD8tTZQO32-Yta_iwTQE+Z z=A@bAxUaVyf<|!xPV{D_gFbFX#R#W4>D&Ca2C8g`^lDD}yP(C@x-ub8^ghntv(@=B zCUCDS7FhTH$=4L%8kyf)%2+?-T1#`%FTYy*F8wm{16+fK`RGkS^5f$ADSmhtz0U;l z8Tt@s;KbiH{CuYNcP19hgwvdq9FQmZqB*HURcqg}3Xwd`NmYNd+&_ZWFVL$wDdTaA z8}xb<7vRK?5GPT$lLy}zBU4fpdo&vb6R=0y$yeX6MyN^ZKK!aD&sPU zyaN{ZJJmPjA>3%tTlQ01%jE*sf?prCxT07%usqRw=TFvOqCJOmHO+b_%(wQ@*Nq(q zYfdWC+2ZO^te{tO(imDm`t#A5InHqo>-~t5!p9K>JH48dHV5Xn4#|LC%}HJOxe3il z*_neiC+(p>e7y@m@+Q3o*KpSfD@nEKB8=8Zjk@6tGVmf8WvZHtX5uKe&$zm z(vOX8E$`#p0Z#n5c#p-^Q~O=w$FUdfe01acIp7d9fRh-tqTcB{_$IY{?yh`XKdAjEJ6t*~|w%}ww zYEQJdLyAL0Z^ZzIWD3-Lfg7#7@vK+Z=oS2(Ae}GYvLCwk>c3*;72`YrPW))Q(bn>n z3MYPaTV>^4hKZ&4!4|IZI+<{+{pU2kbt!#)%D~8g)3b z6&SR%YBcoxNvKBYkq_s)uF<(umGA6F=(&=yfqQ?`S)Q)Z%U4=?q323cpS8Hqb0q^P zk>Yd1_I2j(aO)bq?@fyfJ%3Uw;D@Y3})fcrzwpX?5Bwd~vJ8eQDl>J2@A5~@*{7yFkr z8f%hxM$3)oXSv`bo~?EDPMn|f`RJK_%|#B+_iCgb>tE8+#7*Obi{3nC{d735ZVOy$ zIZJSmg@*br`e@qnoKD7FTlAlCVqXV-=3M(*1%Hrzs9QAXT~{-DHeKUfC*ve8_gA)i z`5GsBKU-zx(e|l3r|WZYH`>ef^HbyjCwfPh_-CBx9e&vEy=UihoaT$KNO)R$ffK#& zn=F-@F%Fy_c|F%|8Q)6w-<_aH2PR;GUi61y1x<&1vUXaGK8+2Y658 zMDNVNT2bRfZ=a2Jeru~W2gaa|W`B_O{DL1v?-TRVo?p$Q)eEJ~8<t@?eRG&b6)TxKH?a#_#1K|569&l{g8vd(I2C=67KQPYAP-xmPBLd1+2s1 zxxpsU7_q?}?-)G?{vqAq1J>mX*`mMq02TP#y|X-E@pr5yKS$2vucAYEUL3LoJ*0B${G*UaEz*Pk&sglD6eNeNjphd3OnPnZ9kuXCE5Th}f!~|zF!AH zlrQ)!e!93(OefHI9LG4s$E`o;Zw$fTQm^=1zAJDD!DM-VPEoNZAFz!FS&$j(qb}En zcb%`WN89{w`s49}V#zyvrkvNDx1=&1s~P3qwkDAsI3{{Ew)^KazZ~OzjKwjH6+gAy zA3V9hK(1i5+~b~H!Msg-0%A+di)qdK6Y&$du_QVlF^<&5=<3wYu$dI z*6sIc-F~0e=kyRi;e7%v{{AL~ZD<{yhpvsc(_Ydf+RuJ~UR7$xVsq%?I5R!d(Vn<9 zbCX!?B6_u?*Ft(Nr`MbGT0^hgO-Tmrjd!3|4|?^c*NybLnO>9WHG^IY==B7>o}t&P z^m?0K8|k%;UVG?um|myom5u(_QvrGvqgQEqm7`ZBdR3!W9eUNLR}*@*qE`ocb*5Jj zdi9~#AbO3W*LZr}POq8tnn$m0eTNQ-bxs{I5+4Q+zcJQ!z|a(TzQb)8T`M z#o7!`Z8pAJO5c$qhU?F52gKr-j;VcbjM*1%y8~A4SSiVx3Y(r;Zqv(sW>I%BU78L;H@8H61*x)u<7}BIUJW*NjOS z#g^1UpB(QzXhdqQSiiobQ)2x_3>Y69l+t%VEVb|8p|PQ5|gXx{-TG3t+cM#XzZMLm57 J4;x=A_J3>sSNH$` diff --git a/scripts/Raptors/raptor1z.bos b/scripts/Raptors/raptor1z.bos index f2e6ef3c46a..65d0e13852d 100644 --- a/scripts/Raptors/raptor1z.bos +++ b/scripts/Raptors/raptor1z.bos @@ -1,10 +1,11 @@ piece base, body, head,tail,lthigh,lknee,lshin,lfoot,rthigh,rknee,rshin,rfoot,lforearm,lupperarm,lblade,rforearm,rupperarm,rblade, aimy1; -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" -#define SIGNAL_AIM1 256 +#define SIG_AIM 2 -static-var maxSpeed, animFramesPerKeyframe, isMoving, animSpeed,isDying,gun_1; +static-var maxSpeed, animFramesPerKeyframe, bMoving, animSpeed,isDying,gun_1; // For N:\animations\Raptors\raptor_walk_remaster_v2.blend Created by https://github.com/Beherith/Skeletor_S3O V((0, 3, 5)) #define MOVESCALE 43 //Higher values are bigger, 100 is default @@ -14,7 +15,7 @@ static-var maxSpeed, animFramesPerKeyframe, isMoving, animSpeed,isDying,gun_1; #define RUHAND rupperarm #define LLHAND lupperarm //define these as the left and right head thingies #define RLHAND rupperarm -#define SIGNAL_MOVE 1 +#define SIG_WALK 64 //these defines are needed before includes! #include "raptor_walk_2legged_v2.h" #define IDLEMOVESCALE 43 @@ -44,23 +45,23 @@ static-var maxSpeed, animFramesPerKeyframe, isMoving, animSpeed,isDying,gun_1; #include "raptor_create_move_swim.h" -AimFromWeapon1(pieceIndex) - { pieceIndex=head; } +AimFromPrimary(piecenum) + { piecenum=head; } -QueryWeapon1(pieceIndex) - { pieceIndex=head; } +QueryPrimary(piecenum) + { piecenum=head; } -AimWeapon1(heading,pitch) +AimPrimary(heading,pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; if (heading > <60> ) heading = <60>; if (heading < <-60> ) heading = <-60>; if (pitch > <60> ) pitch = <60>; if (pitch < <-60> ) pitch = <-60>; - turn aimy1 to y-axis heading speed <250.0>; - turn aimy1 to x-axis <0.0> - pitch speed <200.0>; + turn aimy1 to y-axis heading speed <250.000000>; + turn aimy1 to x-axis <0.000000> - pitch speed <200.000000>; wait-for-turn head around y-axis; start-script RestoreAfterDelay(); diff --git a/scripts/Raptors/raptor1z.cob b/scripts/Raptors/raptor1z.cob index 32993f22db3392c7bc6e592003edccad540b36cf..ddb2c3541a634476c1b051040f3477f5f1f328d7 100644 GIT binary patch literal 68621 zcmb_l3A|0!_rEVgWO~Muq4&&Fdd4!uGf&A-#wg;6%+FAip#dQok_IZ$pd|cgP%4s4 zsgOvSDuohF2<5-N`>b{E>a6{S->?7ve6D+){oQNYYkki?`<#1U)<`5$gkA;d)vIwN zl9S%iUdF7EDt!*yYw=Pd*NbCp7>k;pw)Z& zK!D5Uv<7+)R=LF3H?sf%$dBv_cST}0gWFg+z#%+n@Z*w7*1mo)isS(&eoQE2aUIzY z;KYyp-7W6V3xOYbl)TL1ialWCa!<*?zFhQ%20zYLvwA!K9q0v4{5X_@~S}y#gC@mHQ(meJnMC}58dSN<#mWd=w0){Py~eZ;+WW%NS~v)q<}Zj z7fHwxA4!V)2iFXtiPYTl02vQmKJHn*>Mz4RB{#;$bTLO=Ig@lT_ed-{Tqt62^{bFo zA&xpG+mC+?aGIk&uWIFO zXL*{VN^P*XGJnS8!58?^W_VT;mpp3%oaU&f8d`ZJ;Q+-2IPv#TQ;WMn;Y4ql1GW}( zR1V~6&Z|ZV9nB@4kEsNMUf@LU4V*_hHy1LO0VjG#c;>f=;yj2(T&j8GE%M;@<+brk zxsimBec(_u$a|rY^(A&)}g z8vN)^PKD>=9>uld$N3T#ca-A?dE!UX_m>)ZuPzPpPjhm%ckH?Eis~eY?9-gwu#5HM z+dl$%nv*-ETKl@eD3S-9_%YX$f1}wC&B-71v+`s&es^maAtR2=r>M zKJd8JTa#-AIPtgXv79z8C}Q$gbMRmf2fKJMPW*k#!@(LSdK*o(+;tP@nC9S%luyyz z;rS4GnuC))oQc>*$i9p?Sa48}hWYSuuh!^)7G{zc;p7Tm?)l>D3&ZS=@&&TJ9=dI*_M1cwBy~H(qh8_;F1wi+dHulYN?l zd+fCw{LIgmgZm`gIJZQCl0419J9gOm=<&Vf;E(RK_8molNuK85l&dZ7Pl5?9jy@t^ zCT+L4NxbIK9GqF)@c!111-#bEh=c#_y0{?46+ZoTLp@V_ujeI)L)YLw4*q@^#XPhQ z&e5;9k@tIC3@5R?w49A)Cv?)>;0+D-Eox$M*K^E)lU%%v&edTKsm=0$L4!QsHNER3 zy-pV6YJYC8z3OlcXbyhsN2_-+1d=@9#J(!Y7S~1LU@GjZTFd6d&zDmt$&Lw#?0kI3wXC_TOn%G35yt8D zW2A+(ZyJmze>HbK;W>AXWIy!!(Z@*==Zv_^hr8uPYhPxs>0uuH0LMw36X|obelu7< zHm1Bpj#d7wN^A_T8%ogHNjM2=fb($|`UEFAaqv_ZBhRr7C2E0G4x$Da2*1owM7tLKy5P^pMn9hCxCw}x8 zX6NG(zK+n`^+`5s-)p=-thuX8k?cnAsmek8G%=i!=1=+R)G@7mXOQjCCed_%a)I@viq3GyJE!?3(h_t{wf$mdbO(V%x5 z-CPRi_GBm|dBBO@IUWwCLs1-tKwkU`o3km)f;rTjwE8!@zIY`mkf%9mz~|PFyMDKv z)aO>~#|wOIt~u#$Pc1*leq_W+b9o)C*Hb=D^5Is;SwD93elR!$4e@(|cpy9|PLG^^LQ|9FrtrowS~cB5%-OpO1rm_o=__VCB8d z^6-WRc|NZ8tsghjW@tF(WlEC}vQKk0&i!E=rCk&!aVcHJ;ud@MDTlmZ_lch8eIm`( ztuD9gn(KHSthxHxrIzDr^LiBAiiWs+e3P|rAJ>59>Z6q`?sBeC&DDb+w|ag1cA3Q$ zon_@s;B}nl>bjnDqFlpkuKsg@^)WTyEH1PAls>Nhx9jEW zY3?xBC10;$e46(Sq?DCT%WgMGeh{SCbS0Z!)7 zw@;am)vjaAIHAau#=-YZ*A03j11b zu%Zz-?$fD=ESrfZ9E4cyOu z04IL@fA3S~-f81fl=W(^ZnxXoca6e{AJ=*~^A&{?KbrKh@mpS$9HsftT-`s1J-2`U zYcL<+Of{W!?iCBTUvhbLRydR_x)?)v}UryOyu)jNuxxdU~g z!C&9CzU!p;0Vi=zq|ed3%3z;z5KTB_U-x6#*cje-%JOWCYoG_X%C$-YsbItud*NWyY-?jd~*{6JMto3&@?;C6Gs^!UpvTPr4;>TgnUd|5+ha5!y zWxr_WV-l~^HFrJS(sEZjOa#SGb60oI`sY2~H`d&B^JqICJ3RZ8M<{v1d6kXxN^_U* z+V|h=Qyv{+_4@9yoE>7hzaHviMd;! z{RR^oH#W2`8(;pOba9dkk%@)V#fdG|8`{`7y&-PP2q${)T$a8((YwPlC!!Y^G{mLs z?`g|(vKY6hnazDCg!}+!p+Vl&=hBv^xveJMj1A|i6Th!y$C;)Wsc`@7=s2`ukpBTI7l^xx3pxs<2hLuJ!2}V zK9Tu1_f1iKV&^zYT-el~uU9lLzsEjY1eom9+*yu!2f ziOfWNrashdB)w}zu9bWETn5<@KK3k~2O;Andf)=@H;;|g4`4V}h1TeJ|K*2RpV(LE zsbE~=O|d?)Pke?P*pB09kR?951KcMvrM7gR$duaZhyygv`NA@#wvMR2v}C&DJnmA$ z!=^+iB$>Ll)({YVZ*rZZPh@_=k2U0b*(0+}s1zjSS3J@0Jc zK3!Y;SavIxscTE>;Dj0{w$x`ICewJ>qHAk)$Uj|M+gKkxMiCt+GKWwx!OmCM7F}D# z*oV$+i>|E?S?2E?Pkp`gCHIMcy0+-+o=zX#nsfX9`rH@JGt>wg>AXI{Ie3U=>b$<4@EEsS<-F5L$E1%Q^KiE4yk5h4 zW&cp;^&yt|gxX7m2-TxxmF89s!p!l*BANx+>y^; z|0X|kQ6j^?(`SSCH*SjMp!j|{+cJ-R$8j`_>&Nf3Rp#P?KJlR>`&XZRaPk;`70Y~! z$6*W_WcJ|qH!*->jlQ&Gy5o$$mHvbA^?97m>#>YU!~l}1^ZG#^SDCt`4WbWcQx{UqPc}?4-PUcp&Q}cCA9=An3vjOq2;XJ>; z%HuR&_h(yD045(aUx)Jyd5s2{;XFg1_=oR>0W*euK%e-R$m281*Za91j!g+TnTAJ% zlkpLHu5Dra#FkuieGUw;GEQtEnveC7?>LSI{B8X14sf5y9OfA(G84Jax9;h}GJWfw zuuP|m@g3+tQ6I<_T}Kx=C&W%&M;&>*?h`wEavez@rH^aS^BdBL6wWi$0~%}(=NbCMzc#Gz|6|>=Jb$2XbMxRmd0*_j zBDS=?DX5j-SJM$*6NxQ1UmlE`iSLYruFaRSo#Ox|-!TVh@NW(!7T(XQK9Tt=&#m11 zaC67wwy?~Nd@jZqG{`EzGOP1>41H3L1`G!F>Z&pUA99AAtFs zZNWHaD;;aa`SL9$j(jK6Tm!xu+gZYo`QkCV@HGcyE>DA&~@<-ZL&C<4*eQ?W!9kh_ox8(XCNAHl&y6J;R`7UwY{%tOq^>Q*mK}_#2r%co*iwX&4l%oia|!v0hGSh>Ce{@gr}KIxW5_+{ zpU&%hxbK*UuV-){JtE{}>bx#O$qK!dSf=|2`_Q+CW$HY8k!5y^3vBr}c{Yaj-l1p1^5ETlA2F0?AFK-U%y$oK zG;Ks<{Fy~$OK6?^Fs}!t8nP=v3C+8%hqt+Jit2-pz+ZYr@b0^Z^%3*nMSw}Bu7?GbtQcRG z`*b~gLdwziIqO58^Mj6!B|Q3k_posNjXv)^Ebc4MGEplclcwE`o2vTgkUMrM+v&T9 zbqD9?Up!9NLxgLkr^;)GG+bZ1d&V%uWOJgdz`vY?36u!-6t}oj-*eYSEP=l&sRs% zr|U@eICY=cA~mM_#1>ha!wH&3-$@tarE6H^i4qGg>w2M=Ca=*i28JH)}x?f+zSvyeL6P>GVe^{>n5F> zGg;qJ)~9o9HR~(GGIg#rVtuQ*Pv=T1>yv#FnLiF8_u?PVTINf10@)(KD~>D>~vrv=6eOBSMDYJ)3%78ftND8_f&e7huvT zmUxqVSVjWS_mk=qnbWQf`sU-Jkj7~~%FQvMpCXF(iOlBo0Wu%va}>sj%ra$yzH1Of zlBwrBH^=9CUhC;Of3aCGZXSP!Q_uM~1cbhYDj&p_F{BuMud^)}C$=o%yuBWYK(^>y z>Dwt7_Y;4Q5Pc%^XRfo`A&kd~%>A{3amO)$`gD%1s6g&4d}a$uydUH{uW7a z$Cj`yiTMMW2wl_`+LXq)3phaf&?mMe;xqMSCO5C*{n~kLg0<@Ctu#24o6lSs@8n(f z)gRIP6FWBE*2MKq|MTZ)pV(1>;siS$;oqylaWovegXdrk#{_*M^DvP*FoQWJP9BeI zeQVHnh~tbgXu$8Gz~X%q&ky=U<~FwF41`g<+;JW^gl=?W+)A25^yz%RmoAFXSM2Io zpU51vFz6e7Ft~ov`TqCFpl=K3tD=_LXd>&i9|54*HJn4)h^!(SWb|UGV;413EzZbiVf`Z-8l1JJuJq zg~z9t?}?ef5X3#J7)c;rRWJGl>mXm~y)Vl_eDRDHeuw;$B>oLz8Uq{Ag=4^AEKZL& zj(1|dc$^a&a^2yOJRb>v&^M6##J^x1Jq@a4LN;W&G3^7HokS)&PX+5;=oc*JHNx0l zAuRed*6C!d*n?{j$VH#_t1taOk`&l5n&sk{#06MDBsOBhlY~W|_z6t754teU*{)(O zzT^FO2*9s6C&l!LOx-8P{=O=vSNxFY?VK;9CqnrLywn25i2dSE+GAtmNd(zO&%ClM z`HaJm*NHelRc#Nr}$1KSvV@xh$sWIV>BPv@Jn zn`K9Ja9;cp%AqjU%^71ags|v?J^#?j*yyzj9N>Jzbz?l+Nk=32P6_HAHsSw>h4#<+ z&i)ls@sJ$R*ykHw8b2{iF{Oz{T;<{pD7zfe7eV<@)xTh>Qd<1UOd5i0d6C%ljSTx}B(SO4B(elFK zkY{MXEl#z#s%n2&a6^_@TpzW^EPf2CV{ymX57eIcv9W@kw^mpXkRN&-GP|Rdm(14# zdQCE&*1chW?}hO!PxL0y&CxLKL;7MmaC)sWqNcU4Gux-vEf>pJz4ASLy@n~+&f=cq zywdBLX7ub+*gn~t1y20v^q|E(uI^96bJ~>!ITt_2A&g6; z_ozJLM(BV|@;4Lk|7851_$As$ym8Bwfjz)#-k3EeUrZkJ#I5CW?%Xy&dd~OqqdqVMn=)J+i zL*I~E=mlK#Zmw(Pb!WZ0&au}Lw(kv=r|Y~@DT~X+`GUGcLtJtvTU;Z)P6JN-plu_g zH#<7X58%X)RxK>Wu0qznn^8a{PuF=-ib2?q%egLfofoHlfH3YV=3R(I!@T|A z$piY6G0{4gxFixjDld)t1s3P}mb^cK|LdB)xwt*ok2(_6tQ$*s*mSJn_?RxP*;ls) z=X&5ImtOv%hrw;Rg1jRR0M5Ng-qw=Jc9vJlbFSa)iETrkE2op~yRVy-SDQHnwTK2k z{%m7$iHZZnkLjMduK^)6_qw)!qCJD?9IzjUk-UV{wcXlN6XOsJ!s*&BMAsl;d2#C8 z3=`nTYfUWfBJZW>+TNRFajoh63cWBB4f2*3wzzkhQ-G7Wbfkn1+lObSMIJsv-V%D) zD~!9HHspcR=jN)%th_Z8E8uj^X66$G-&jy6`p7GS|BwE0Sarf~aqpsP# zRV{8NbEvM_ex5uXqiR;-mq;c@^=44BGm8hY#8_RkMdw@=lfgOHXu7T0>;9-^aP|JS zd(XY+R4}+l-;0ZcYc}7u)&{rs>)<{FY!n~oUax#)`wDT50fUAdxsDPw8VklfN@_8u zTHb8B_6Xzf43*&U5%M-BT3iw46wLu$JhlCahXcm8u<{;*VPv1?fH9t2!rul0PIEwh z+Aj?Iv7d7jIEmlJ5f)d5&!51FzpKhyTqWv0nszQ)(T6A&6g1PmTS>_k=X3 z>?0x!%UjNV==H*U&-F<00)c&+dnymL@`iKmXzrOl+u|y#b%n&G?5h@c)jrETAB?fM zd~kr`2ab~Ycx9!<;l8ZkL~nx>i|a+*Z$dyA9X2=9HSAYrXagCqBMd zTKUMFw~=c{bIMB3HSkuJhtxxZeRq4VEk5Ji#GB}ycAeGRh}RXsiN6IBEUqZ$lIE1r z6#wX4u^-RSLzajiN(c@1Rq}8}t6yR`vF}#mg|NIExE3|1Tzjp>{Z^2akzRxc4SE+e zvbcqCl5wJUa|?^x#P?Yt4?`et=2(lXg=<@qr`Iztm$5kcdo`L&mnvk~;A3t1nDP2*t-t8@Z8fa zVK-M=UN_I2uH+nXI$7QaciJ_6O~yH!8CPtP)w`Uoagigyi60%;SzJ{lFXLb;{D`~U z?)&}0HLJO?gh%f+C~A_Yxv^<M?NqBb?^E7W*ykBIg`93Jvxpl(2ExjNf4(dBBOk z4d+{VV?Yv&g9(t=d6mVv{dmH`9W>yYX0v)_pA$IIyY8Ts*MZl0z=_`bcUoK>>YEVQ03DheuU{7YR++Zxy8@IWyx&7`XZtO!gWrwTxU-`z zHy(JsMa(AVyyc(A_L;=?9OO^bcE-_VqN^QX&=9lxC~v~JJJCrw44lO5KH47(6TRb}41TLu<4S>aLVM<2uebJ1g;C@OWTC;| zmb7OO_5;5qA~?}I+q16tQ^~_e$cxmo@+vdV+03|^`7N#)9fMxrL~n!67MEA;(}~_q zgKbTeLtIFn=JTfGyRL-o1fu;-e;HUE8beJ&{3 z*3QSx{M?g17ZmX9m;JzgXpYa@-O4KfC&>?RHyZNqAt3qXzcO#LJ^WJC!|{d7TYvG4Jp9!hKge^PwuSxG9KY-u>xbMM z15W%+q|Z@4$bjRw5E#D0H_h>Lseq$0m}@C*obAwqhH*_P55qY5&M$BhvkyJoQwv5@ zEP!(_l6Pevdu};bmH;8HeRyDgqxZ6REZ6R@W4X2<|6aVa4Z2Bhi~81&ht&F)U=H_# z=Nh;^`vH04ZwC+O?L$$Mzgq90L4Xf?Pd2^+*5pgqq%m127ov{x}>Kjd#$K^7YH9?xrW?;!Xj4>-|##KYbA%?!ag-6XGo=b9DYWd_d0 ziatW`re0R>yG3F+(OWUu;&3lg$9H37?$xU`@F(VFG_YwO|Ua}@h9?jq-l=H%hD_6y^3!C2C( z*U59}ht|Tl8T>o=nv;7~v+|zd{Z-A$NuD}7#T*Kp`1|6UR^Eery`(uge=&>e!q-8X zlM8s(hR-Q^qSwdCrFo5kbU;J?`8c_8CONqf=M~;WZz6q;#yJB{o=_&R0b?~M zgLC8;!bE6JfklJu%}H?>*B1%NILXbi9*(+)a|!a?i{zEuXLFWKZPQFFq#E)JZtUTFwc6H2p*UYlGS(Jx} zA8?{~ArV{HzD^#ly}zEtRUn%oPjhY0Mi#e~?rjQA^zLqHaU1x#RL!+xJsi4_Ye#eK zR?j)8y=Sjs<|L~(|4z%bc|G^N5A*en=Grn(S$TV_1paEStYSZ@QaU%W}2DSR$ z+wU%3zI}$lb*}omS=S~|e8N61fMb*+ctb^8mtR|Xw4LX;2ULXyy#q*a*k8KU7R8C) z**{ubMF^p|fV*xmcBRFgWA4%Cf|fb#e7r>0C(m zp8l+>nYTF*#PY=7L^>3m-wZf@Qu)9Jh|wHhZM^09A19H95XUcAnDJV!7U&1i{bd+J?p#$>?8a`L(E>^Yjgc)UN-_KdQW-w!Mb9BLNNo*y-1#q<9+LM zAIJOF=RS`2ea~h&?FU8YisLtj_toG78vNblSy$YIq9#9p6Mw(!YvoN-`{Lqn^CTO; zGyL3u=J>+&Bc5UV4%`sv)g0gUu)XJcx@HU~dawJ#+SdkTOnzvN&+FmtXLxTwbNm`l zjSW_>si1HGE#TYJ{~zi}-BCvooYxn6pJ`r!v~qIcdztM|de0ZyL_ z>QuA1U*ELng7qKU_|YM!SDyLhGm0_UdYsKaz0B8)5NS%)5OWpRJ-JtfE! zy~P(=Tz}#t*rz#aq-UMn%)?PlJ@NaF#ECr7yRo#@`+AW82Tnml&b`^&;%ed^F4+g1 zsVl+8n9Dd&nerS$rMCZ*g?$HB5T=e>PpQnxnd)B`zXw4p$ zH;S`Ia5>9Rd{&u^r%{t{agL|-{{SBr8 z&srb*@La)FG}ybB>MpGJ0+N?v0i4W1atDk163#LXA0h9>oc5W%{Z9lrhg3!buGQW= zM(r>fdkB8_iQOrMse00`kyWqm$z&TCwg0bTin<;J}2pAd7^hN z6(q}gjY_qdJ4NM4geH=47Uo;?`!}Mo*9S$jl27jA+{H^O**G8sTd9Qoc zwXa-dx#Aeh)7-ebyOr0#v#!0Icp>b^w=kaK0(s)^a!;;5cX@!*+*sAKzk1KxmK*0M zTfH-(jPydD=smgB;;yY9;50W@-e&V)0g9F6X>P3kyv3FKI>w=*x3A|~uOqK9G&jy8 zW5e7%kzw@ADD(m+dLMhs;zm*42u^b3^???* z9+OG(G>2YCdp2RcIX&ykPia2GxZ0lQ5ZaxwxC&(gy_!P{()l4Qud`=;nN-2z>LM8A zhvv}sNfwvQvp0~1>Ljf984riHyw2kAw}+t@r6zH%dXL3*Ob&3GL!W;-yU|?`gj0syTEE2@d;PP;sc}eVd3VjGLrzqPN5~7FX4?4lVED zycaxN`$Quv?+jn_Yp(TvFObjS;7~NwQQuZpUUT+CbM5t>bI>6V*G^etdE+4O!y+Bf zptr=IR_`7@rvWE%PAY2U$#+J8lQ<{R=jeQ7u+RA`U4y{}=+Imn-$}{f{mZUuUy|T% z+SuitT?_vhwgd{(=+Rvykyo+gb0O%oTv6!QP>isA1fC59e(vWpOt& zAt7WR|uG`JY4pGhZ|3Lxa^c?9omoAgPO};DQop^;5C8fvM^KpGki)+aK0w;0qImF^#;&n1`qBoH~N8_9Umo=gD3v57MYA)+c z#S@jmoKk`~JiKmP;Nk1htL(aQYrO;`FXxh<%(}6}jmmb``wJYSIY1oHVDEmcHWt{~|M$E8s(>LmMslezl2vBl+Y6vK($%400< zLw>ddlz|4lb3OYm_j%ThvpoK`WIrHJ^iK4ggHC$5HaXGSx0%n|paSvtIdVQ6mnYFl zaRE;B?wx9JFRrp2I&g%=wcvTv9J+0<#nr{WJ?YgP+GvH{3we~eTXX1+Wfpg7<(NG2 zquP^J?|$Y0n2CmY!{0Fq$K^8wgzN)O;)myd!nj)$PV|25;k;v>Ywzbg*BR^h8WY?o zdK+}KdYACIS##*Np%#~u_ol#kXz(|ohsC{$0F%F(LvxR^xD;M1X%1~ge~3FAmr{!J zL~j$%UQHLiFRwXt*9EJ$E}skjR}NiE=L7hTa?~99L0$X(t#N}W*F*b~UB;I%K9*T- zpNDOBd9Ao`EJk(zCMr*Iq~!fJW(9c-jd@3dy;4WN|N{2pK1O zdu*}mk4dwF+SVL8?k@XV!!3B8FZ_GU?T{OhG!ALtFxA8g!xTxNbEN%nO2XLbI zj=a{73j1OlDte2(Z}*Asq3c-qf$0;y>nGT2;I+vyoailbtF`Y)vjC^Lwl)0`mvCIV zZ3*ntTsy0Xjq|H?UV?qViQZR#x47c$ujbmUkJvnYn7K!D?LLwmwh!MugkIo8?E8;#pUr_d(YTi#n?BHe&7_mp}BVGWP5L{+wEi&<79pt zSF_(Y-Ox8CPyGFQq4l@)-eBIe-rN(dAE$Wj1)S(Tm}Ki?mAaQDdM_-n_j)JL`3v&_ zPDVo=EhuK?b%Zj;iQbWmtsk}i<^JkdR5w13ziWb>gIuRE_VZ+e`?}z#hI_`+58Xv=XT4uO9>h#@Pn(&Rdxr3NTXWCqJeE^7?up5hn4N5G zbLpe2$VrN==AIiiSlkUYVmLWZywkWD(x9@&yU%`VxTr~GoDq%Tl66@96b77szIi5H9&ZXv_?w45m9_00r=AK!V zti0ZQe%IWyi|RO>FGu(pY|T9bsX)TGnV#A{K*SNo$!}eQ10;Uaud%ouD{XD}qdoAj zyd!mj`PH?(myU&TMX!wEL~kM;isCY;?H?#FQKLAe=-SR2XKSbJj@aLgCAb@x_hQAE zE}qkB^stJoKP1=Zw3}tt6$js0AH|97*FI_IzSgu@EsEYJCR_fWbT)<)y*T1D4(De^5G=WU+a_Wiwpk38#&Rt2rRo&1}2dR_4xttG>H zOQ?Go;_sQl7Pku|LGyt($(Nr!oFdQ2XihoriOZ4Kf_Vd1prM|#cDD07p(=HfUd<_u z@3pu=bbm{5;zuGKiu#)drx3*ZHwVEhj^D{H$iv^*6S>J4BYz_bpi}()H^QO|zVyWh z`pbCu3_Iv-8;`$B^8xWXj^U8T;cwyLnBa;qPHdQnzFzeA{NgW-+JQsq$ta(W44K1> zWL%ey47c}}313>JBSZYl$d2ym$Z*`02|EU+BLjStnR&T49T|?BGhxS!bYvjUGh@dy z>BvCMXGX^IbY!^t&4e%O(vjh~F*$quOuBdKvj@j$nI6sghY5$j2alXU(_=Q{fcs06 z|E!Zk>FAew6qmbYz6==`djBuT#C1YATGIX6F|KS^& z_=mp(i_gh8I5GHptH?{7Pdd{z75Y9}5uEFgYx28y#reLu!_r~k?jU72Cu&@8j7j+C z{fo1ATU-t#A>*XBR!_6I_uv5GFwbbv+m9COVZC$F$vCOAL%l8TU0yTlweOoVEN&9p zhdf7v-WPjVTqoY!0vrvv?UdMI`*2$V_5mmMO}N$K$|0DHi=&T__xKcx%Yxz|oSSdP z{mN@7Js+>KeZYy{o&Bx6@vIj((YtiA#pPnX$agf@H;2}*VSiskC)tObMg#76ip9-R z&us|q98FGG9&HOmzk?xuWWB@UX7l_aZN!g6`W%(#S-YVRGEoDUGz_rv|53Cl3EOXe zIrwcD9ozB6$tK=s7Mlu|53aW~ZX%r%1Sd9i`B2%E9Q?NAbdD`BXwX~m7mF*%`)JNa z#+~!b0bL5YIRH-Vn?{C3W5IgMajrWI%d0XqxPH@q}vs)TB6+#H7YjGO^!hX=#zg&(0CwixDwm9G44y3Ip zBad$DJ9(HEk$2=tJHHYB?G?=d=MDzf721z_o;{)S{cZg6@O^#Alek(_*n87@SMq+j=771)f;}~j%XKjDS93tmdu?2fz$lsz%>hfxS$`*@_z9;uAjLCp zg$X7&iSv_uPgL7i{KLRL)HWLOZ|QXF???zFy}*gQuc}yot0ly6ar6=LCh@b9TJLq7 z2RJ73Hot4*vW)LJ0w?kk>2owsGvJ=5t_y6~b)Oo;HF_-+lTVO~23vn!Z*kLj4+wBH z;5za%Q`)DA=p=c-iBE9^h}z0}b9=a9do^1FNreJ=nj4yZYGXbPNke)yH4XtLd6ZD zw^M%0N%FT>G>1%HWjTE%--p&5@-pwqX@47Xt!NI}RUfo$Xh7-Lz&RBV+x5YS4 z^!hl7q&dBasmSwjlE#U=L^>GF=L|S$7wyF&7pwHH78}Fd@b!8U6k7jmJ#2IKincMF z*x=*1@A$b(V9=oVilfR_*4qr76m$5E2HYCYHG#|_a1x`}_-}FOTx`epu)sBFkk^II zA<-DI-ef+X0Vnd#ePMBLFed>g{_dVN9Bp$q$4&D>hbdon&a;6Z#kq8U9`YH z;3UppueZ3A{()Z2aTo8iwKonVO!C}0fIeb=b5yeamgITU9JlB_i|fqiFwJpg%i8&E zP8TiEt2wT+C(g~uCc%lna6UXAv^m&eFv>V)QcI1CEa2ns3kdtRNQ+xD!n+ZVntK8}Nn(TvIB1p!aZF%U$oiALs>6^ww%`aZ7F{0OPWpDDweL>echj77 zrj*6WwU*|j&*;a}!+PuQ4gAoYRDhBqjC1|u2j0cs3Z8t%V-xTfIPtdz{T^jl-scGc zPIHoc-(8=JC0{fr)v0FfJ6|b~r#b1lN_IY0HHhKFk6D#1uAaJwD1P`jiKIDyGvXwT z6M2brFdCN(IH^268;)G`anjmMa?$}LA4lkj-J- z4i6{gUT1T5Gw~kcr#WeN9xJa8>(!j}FeOM>uhf+0q_-|u+ykWpy$ClN;+*p;Tg$yY z*Mbi z{^Pk8e8saKpr1u@dNn8AS z;3Uqq@>;!rCI&doT|axSx$i3z!$}=IS=+|%C4ROa@ zr(N!7?rK)c;_|aR&0Re^*g5=-?=xubx`G~tkH(1gwnFlgADX*L5&?v9-~_>mA4@#k zMWy2WfIP$y@f%jg>ZPwMIGmHqxUC+}bnzhjfD^raOIv?GE=mBxX-?`&MG*EQiE9}+ zk+-&m<@APXzf1hc{l1OMNxnaXFrvZVJNS1jk)LvZ@&rDUeZYy{C+QC;hV4s$GRBGC zPOWVGYBF~@&ZZ&ITZ4iXmPcWBan_t9f9F8k2VKysIqCZ^tbJV(IKpX8I_lvhQtR|; zPAZXN{K2-_SxRq~<{(kf&?@+lQ;^M+UnE|ES*?aQF1BDA3gpZ2_2BsPX?fW$Tnbz zV9=n~SEIh?Pkc4n8$w7PLNB@a)g#Jx_QUsF$zIRBzqu?=*J!sbR-W&Z#GZ+bvG^hINfj_xRy^{^Y^dR-W(qlW%8OobUOQTRrC~-}5KmdUDqH z{K@(?RILJaneP1y@ZFx>7<8HnpeVo|WmY==X{#M3+$Uc1z{vat0o?@KD<&jGEJ}GP$ zd7^j6+g2WJuem(Y=in}Mq6+7e$kXfi5yjHSiQXYU*>zb?z8=x%^g|>(Exo{rzwdhP zor!(GiQauL*u450LMVQke?F`ce0N6AhsXm?^j`Qm?KlG`dVg49<4lj6IK6s}kkroJ zgAu*@+`s2%yZ+TU(HmdU>aEUt^%|ic6?SPV`oxhc42>={3h93Q~GF ziSxsr{d@5j@N zb2SRahz;&|``~*TpCt!+UCxj#`uiVHf&aUAmIt}`ePgFm!H1oDg^ELzn14A9T35;yB5bTG0BS0~ntU^wF|Enh!1y z=$Okf9!FPC@pumOP;wAAktJ9RhaCJLv4XwsGsPA<1&4RwTpU^EAIY&}X<@Z&ng8sK zV&inb$iT6U&Yn0I$G)rwholbZkc%_0?(@XpIdJhWuroGqdLDq0c_>e|{3G@>Z(Ro70DY~+uhOw9Ym;cX--|Sx(j29UZy0C*RsjJ8emd`pOk;*YU ziDBG0?z_O(U^o^@h{+Y+!C_x5JC5Oedz#`yo+BD`RsW3B@#tu7hPhL~bO3&TWh%brHG}cQpigs3%$)x`uJ? z7{wi*XT1{VWZk_WSnq=G(Xaa+>O%)ecD{7_@_PD2CUggO#5p@ee)~=_KOkT04)51A3<8@&xD0y;wq$J3g=8SUwnqHFE#^tzg^Rc@l!ar!>_oLZ4cHmctn zk|UA4ji`@aH_~efy;jicLwbEoug~dKiso?%{mqVL^jbr&_vp2WUOVWupI$%E>koQm z$rTs5j9&TZRh(Ys=vAFw*VC&hy>6seFM187*S++bLa!P0nnSP0>9v4fi|Dn4Ua!$> zHND=Z*Lr$wqStnM?V{J$^!lD&C+KyWUJ-gWzn}(&JZ)ES(k!^>L#!*1{W0O=;OIF;Kl0v|tBO@JCMvNSq zn$oD>$duHkDT8{Ci8LB8xOwW(!R=EA4DOveCemS4O6nN-5B15%oB9tOSuJvV?-41H z+lTfY6X~DQyKiJnh7>6hCG}s=e%Cr@*=yf!-{-%7zwYwtOPPDjtvL$e^ z6Y@sRx42m+PM?N6hhbc;URjOaQu`uYPQsu;-sLY?c{j2=;6(3B=ULpdrxWtT-z)c6 zy}$2{aM_*KNbjC1=NS8@Uq}G*BZtBjP0DU?Yb!@Mga-|NWUXZF>kFeu9&qBvI7$?M zemk%qz=Y);Eba$| z6F=r;wQ(-^OC;}HD5VCyuOwM{H6VoIM^o<_a0kX(KYsi=k|%Ws+~(F+-lV@1IPqg$ zDT~|Ben6i1vFbL9+lV41`|{J9$U9qH`W04Q1=j0oAG*npB6YKvd>M*>kY3=#z9jk_ z&#UB!H_#U=l{J4XImfybI-kGJamP)XYs3l8}2E&Hh)4FbJWGtNEdUD#G>QL z!UlI`6|&0XsFN2f+gV;W7*9SrALt|O3vm>6#c`r{Mq4ZIfzth|p{p5~}BYb>tp@q|410za<0Et`o;p5+lvbJUzhR$fUsKyd+1{QbI_#a*Rv zqPN^`TZ`vbj^t_1t4;|W&n2FZNd$vl;6!gb&LfwvjGM}7MS0{it`{Eaj9_z zd75j#%xmM<_i7SC_G#R6jjbP#!dS+MA4~7GxMd0_etel~aXnx>$ru9CcT=E&ldOobC$ z+;M^lE(?9cd`$S*;>Pp(NAvO7;?nwAKj!edD>FX+w`=6W6j%84+g0^V9WKjD4tv+* zAwK?YD8<}c6X)t%+{incC4rMz<|=Pv*$JIAH+VyXee;`I+?5=2;3OB%r}K9FT*Ul- z1TnHcK7R9{)%!Hd15WI#nqqOC6%MAt-)gmOP8_<3 zI>|oG+ut0rxGld$HK2Jm-=%??Vw~o}=?krWZ6S#CYVN8z)#9qbc*fx){0MQ9tX(qW zt`M$w5qn;#OuC>KT!RL^x6ZNlHRPHHPUd6!Wfq4pi#+jT(1SJ){$NhmYsnqM?0oFw zTGrfE_5#bnr~k0r6>Dkjn+)U0U(H>!X$eLDN0*ODPlk~n9^T_N0!&sn`^dwmb{ z;0HKP;+#aE<9=kamTXRWiMg)wS(U^XuK5zQjuK9S8sI|Qg+9SaPV7D0*~km+IldLR z-s=x}h3bWtnYp#rXW_d|=$l;WlUAEl!;zPjgpV zU@xpS=a}ZM34uL5+UkwV!$;Ux@FUALBlx_mxvP6sTLb-=Yw(5!c}JJnn%ePgR4bah z%1yL!*}(Q`?ixhG<2lB0{sYP=F2IQ&q3hew-sIWhKJ9Ji<4WEu*4$OBg|+Wtj*I55 z*+iheACuV+;KYv`huZm=%GVT{yFSfs?OViq#hSai6wYDv9;qC~4_t$WdD|M`;I4ta z$>##s^SAN5Y3>SL--h-k&lVTjn{>ug9_V$~w(>UrsvL{*?|)5h{3pGN^lgWit{TX_?qkmLa;dS?bWm=48p7y^0um)M-`^KvwYnv-7p&8{zA zOpfGfPP%oA^<%_Q%SpZIr0Lh_Gkl${Iq8l-EstkEGUKF&cpa?QQz1?Y;g)5wer(~r zVQ>f<;y0Uk!1tpj&o6K?AMd_raepfAlKD8@%EtL5?+t5CO0R3>73TN>CwgycXmJOb zYk(8IqgL5-PR&XLpuEx?cTZqFbr-MuffK!p=np?GH&DOG6TN5J8`hk;myGr0y~KJo z?uWyct7o>0^lIGQ0YARrJqF;!kLzEsdOza*F5twE5VzLhJkaaMv&GGyWc7yjBKOk8 zlpmMZ5C1z3E=aLPZtqxB(8%6Ahde$D4yMq=aT3cF&vrBNLVJ-j3R$1lK?vm{;*AFT zLL3~rXT7h3mA8WB;SCM)LR=kMKdz^ZQ9tJ8%8(GUPjmHQI`{iHx=BVrY^68HCNADXgRJnuSdbHXo$T=Ia04I6SB*4{_263F|U7l{w5mhh|q!%2F2E82v94C5#6TS244?j58>Ryxh^uQjAOTnU)?Gr!F zCqDCi5A9i=E$(dhEJM8gZ`aOEX&y1}C70DSKF#`u^5`shJG5tcdrNyBSh&*OL;AC< zjrk-5nqrPOG}srq?q9=eA>d>VLwlA^5Xl1u4e~<4h-$N%@9W$w*3E=5?c=I!=hSo^9eocK{Ez@INDocPhS zw~gOo5FX8k=I#Eu?0J66uMr=EKhY59LRZ@JZ93yLcfCHt`mu+vQGgRazMf!lt9U&C zocQtoy=NJ^?oa1u@j#tu@Hceb?>Z@dz=?fH^f{hane17n(S$>G-Gk*4V|WiL>yrtt zfga$_cF!^`-_1r|XwUM~OO&mw_g*L?pWqJ~^oF=AwC3DS=dQT#EYArcd6;K3$Q$yG z#XZkC;qrlT_XVD(tQ>fr^2wT3-e#7kx$9Yqw{PDBt`*H)?>%XAdo{1EG{-&IMJBJZab9We3S9^Pn?1|@gRS1s{g&f{E%(>weYXFGyJ9JcXSOM- z^ssjh_pCNToGm$eejD?(D#ukO9uDuV#l}<^bw-@be{5W#GvXwlYBaL(aC$vH%M2%a zZ+-d9@2<<1bNdGG2j8S4d3;x{F*2O)Za6TM$gu>2@E&7-4f{g{y-z=__~fqPS0UR>`1 zySE@X&C68_XB*=I>^+ZNAiEy_%Q*xF%!0z=_@$TAvvw@%yMt#`C6meklbrBY%MtyvZvX$z{>^hW>ntWO(C--xm9)jW64*CP{a{fi1$o!7`PVpK8eeOm0p)7MW&nL#9LDpg(w-E=artp@L zOn02ewcv4!=x>bE+})lrl~td}Jk5Rgt3DFtY#Bp|3!D1!HHzltci4y10Fyq=o#jb5 z#+Bnf&2Q7_82adv(~U!)*s_a0qmPzC@ji&au~97ZO_r&-rVV2%@;J>K=div9RG-MC zTXRnK(|lh7{D201t9aZg93cO6t?yw>_dq?);Bi}d9BNSfJILckt3I*C&of;cex9LE zWGM4bSJV^wJV zjrSw;0IbxB*iq>5Xk3#I5`AKa_y#$!5y#OWOMG(&xKCtC4e36SDK*p)2WXu0g=I<& zeXsg5lIf1~xSWKCO-WElGIb5TML_hu!S#$jk@*RaFQ&#pHSkw5|J;rPBvaQA?tK8$ zlJiK{&<3urQrxF&XeY~V%`$Zj(QQ>H^Jg^h# zfZ>>*XQ%}<^!a&)KJia#=rSB2AJ8WHx1gS=~wf<>d6$kj1X z6Qc8)QqlO)>U<9I>=l3~z+(%z~a+q=KhtA(aoNIeorq18qgoo@c zDz}|ZI@XK(YLE`tqVsn->yO&YHt0&vCUF9}l=(~wN;Qbf+8!~nNf~V2 zH;l*i2blC>oY?Xqk81-k_38Yb033~%?;oO1WDaDRW$2iU6Pcg$9G%bp>HMWFO($~$ z+o|~%>jmgrub#DlcpN*)?=SH<&A0$(O575I|c!wUJf9tfgeWEirT|fKdL}xMj5bq-&aU2cDZsvFV9pgTcIW#a1 zV=*p?`$FrL&Ws7ISA3aH7vnq7AKFe`FQ<9#3F_?B_0o~Y>prow2iJ@A>3VsU=11$( z^>P6z(0!OnG#u;cjYFTrY%ODejZr+&C$`X|?{2*0ny!}d{nk@EyZ!arRvex4!k(O}=r{Eojd4t)}{t61NE zvtD`df=KR%Eu#07or&`VR6u8&YonSt`WhYJwT$Szj=r1#%rty=!@EXa$o7l|m~2I? z(SU!55(w|dRiDWGmFH0IJ7Ao95q<;9T+8QBj6s8}0xYvSpO?^=kxX}-$Gt$pF}?(k zLrtLJm~hvvs!wFrq7T4)&bDBj*x82jVjm`md?(Xf1HJ~^S)X}S*UQiB-%Z>{f5yi> z&3zM9pV(52ZTXsQ!8ozyOO9t}?$hOU#0>3?WAY-p@1iNz68qv%q}E z=Q{MkEF8<|{L+x_d!c^^O&Z>}a%?aT4aW+wt$m@0^Imk$;FzuinENmm<8pA$VBLZ~ zyrH4*1i!z|{-X~s^!YN~aqhc_{s1P%cIw>5+8urO1#+9dHstzdt3I)FJognuz{pOW z+jHp{WLDsDI=A28m>s2I7>6811D>`Q-1~)WC;G%cdTh=0y~Q%oM~B?8HvB%C`*i-^ z!sDJ)eKHPfUg)jF`gH!@z%j#qL5%Fw`MaL|yOVv_`73i&lx6Dt?aQ`&&bH|M^>YcL z(O{pSOX!ohyv+GR<>Ib+(I@_8l)rm9e}CK`$-ko$4f3u}_qWaJbnp2!asOX*?xFiz zuxrdF%l8F2Zcnj2&KCB=?{o6FZwvcDU%zqj);W3`%lw?WFc;`^W66f4^cl9$BRI}~ z^ojosxbG;-{6~&*pIq1K9L>tMT+SS%b5v|utJeNv%Vw5YiQZwS&e6h@T(I*p&Kb?W zUD!XY2QW_OulPslLZ3j_J|6Zgrp_Bx-wB6}my4N#+0*^R^?)5BXnWNc%%n=&! zvJV!z*W=4{bIarQu|CW*;)dKtgUlfmOT1Uc0q%2S>6omo?pJ*Tclew|qW93fo)0KV zAoDc9Bva@8TuLtVh3@ry!W)%UL7({d z8uvY*`XB=MoNQ<4Ue7I@hoO5tS-2*;tNev{$b5qR+sgV-6Jm>S(`eNvw)lC5yhnpf zKhMx7GV8IvGu`XKb2Dnk$sWV{b%L0>E>de5$&4TcHm!*i2( zpNk2gnBmRM1sz*N0?_xf>JyohuZa5QV0W6v={d^HzV`>1`$T37`T&_z_?&}rBC}lC zsP8fai^l1>&CT(-lGkW@Zl7x&jhn^aT?DtFLC-e?#QQuo?_$eHQjET3YzxMTEiZ6> zUWo}OTXatJxjq{A6MuhBpQnG}dg={fJWgcpt{sg#hym26b7>XlU`1YM>Rf6>H-BK~ zX!TtslHiWLz_yg8Jy6I*=)}K6c_Yk89N<2&C6t4oaExcQjnRh)YSD&I({hLC;Bd>c)*7T|BTk(IF5#6{W#WdvhU~h&_>iIu~dFM zi+7M~2Z!VtK8Qo#MSOojY>dXylZZ;Dn z2mI=Aazan2PmY}`nb0eK#P~Zy&KJ@XqZ|TW@)={qe(@*cv5D~{f^4JbGFg^<#$m|2 zK6^s0uQSvqH9?gpi+F@30mY z*A)Q9iQe_Jndr+)1?dw`pEJ76v$!slBZ7ly#OnJ}7FQI?SROtC_rYHlmkM$u9K@ml zmyiDN?W0qT!?_qR?wK@;tETqyFa+`jFR-}YYCll?7*yBd4zM5DAdBU#t!U@14NeZ^ zhdw9G=xF6N;x(W?KTV;vj_>bXBu?as-s<#&9SUD zJ}4u3`g~UK8jE|H^GcuFTF~<%zI|iV{*3t1X}rZfs_p^8bdharHS5be%uk z)Z%6pEXV=QUs6aONRh=Zh&wKJFdThxh>}dN*Hc z>v!v3Tj!|(Ui*z|5b|`LUl`!EW9+Z4^UrAy-?#626cEYNbzY2O;N#@?PJk0XO3<~R zkGq6<7h=&cZ~FszK$oYE*MJjwN%T1`?@aYeH9MhLBpYLO&0bFrKgVToEe`)Ks###s zVAFv{V+?NLhUi=moaEArKip_=8;X$CeC-J=QbPOo;W<;0 zhmVlAV7RT>p0wEtoIW>S_M?@zoMHu>uG#F}EbbTrOgLS$1?WDmZ{Hs%8peqq6KEms z5tC0(=It6AJM=1_=5gTGj(`tnAqniaiCgpcDgso9Tt9|>c1%@&(^UP1=fPUFe8 zX6yc5+u-V-vips_W>z$~hu+B&^J_NW#x@4G;;U$n88(WKk6fvIWcvznjRAv(nAM>~ zjmLs<50hHVm6kVy)*C)9RpIav^42Ci8kwf$*;14gy9@@By>vQKls$UrXP zf1&`VIpBhHD{mL)CU6qJb;B&K44*%N6MtW=U~!eGA9^*XTuKN1_{~=901QF=Y6WWS zZ{F|MobqK&D{l$=q1Ov@1J@%ZE{yEc+*4(Um3JH0j^>`pGc2yMT31M1%D-fBm+Z9M zvwEb(xeXbLA2>?pW8qSZ`@%;y5ljZ3;)+z>toX>R-|;P11{ zwZMtqB>EipHxq9Brg#)fn6J6iJ;w#lk7GVGr_{N^;*QceA2@^u z4RLv*vBfMv)*73bH$iooGn|`Oo)xxzc$xDWUb&9{xWJC=)cyM`*oO|6g*-rF2aK+0dgorTY2;CT3~hB%VbTn?_H& z+29(jI~KoxCOMbw)&2%Iw@yNy%zcZ)(QmxCy5pKS@@RyEERok}rj6|*%qhU2!LRE` zkU#gdRgC^YCzDq-XD z0lte)@_-Y68_ltLM}j062NNK#^Q#u;_Tvc$chG=qP8VW+Tx6dUIMMsw9xJZ{uk(Nt zz4vamxVqRIAibLN4hQ0wjnBE7^PUOpzYXR21y1zd`LxwLhu86%^KzH6xOaI!S##bs zlxu!mnglp+;wg)}fw>3npdrrNZnwCpybjfzH{fQA8_(xR;Kbi*-`IJ>ca9KeyrDtw zkCm*v7ugTsWPY3WwYZy=Jkgs(W8!hiWW6|0n@65ou;)IfikB}FuZ{<~HoaXrH7g$_#ItIO(;~RCd zxO{4#PV{~-$ks%8#D(N(j!zk689L1pNpJ^ukOu#P7wb7MD}4eog~buG}qqH)Z)hTHL&K|_nKQ= zFWRSoUf?9oV@FtAQ4}HJz>R2_k6(vd+-klS1y20U8dx9Qub!6^y)y%T)Zul!=GxC& zSiJ*|MKy~sqQSmZD=lvGt^`i(>v_4wy~5`f&9&FuWO1!alQN2n=GyZ|S)4petGRaK zT^3hH{Vy4b%dt-^t}b(m=GsDJvtMs(FtKDGaN=**z`Aja!inC3^aVX%UM=3w)0~`x z7Fs^839o;F6TQO&=YqKkCwgxUaA+TX9#?bnW3{c`hMX_JiQb^1bJ8uW2PU=+&}y-9Q^j?09T2bPX(fEdlm<+~;)WH2WW zUrZox-MznW^qc*zo*0+E+#m7vxx}pL(&&HsY1~cw|BU0r_RzV2mL$$cV9*e=(79k7 z#{xLf8#)(^1DR0FoKBW^B(NvFg>wnA(4hBVUKLyRcLj4OaH99S0C(ee382?uSYCm^ zH7mYf3LHuZ4SGMg+3J0#Fm*Cc^j1o-INXaATo(EWdCeMHTvcAbX-=L!%;M&I+mNdY}wF_|a35vasJI(o` zIXR8iem?H}04L9+AE)whQ}}njH7ED1Zsk3}`>UFhlLK{hm^l7oLnHVHhfCS6TKl$F3W3-%s9EpS#q-cP6XtM-X!`Qk8>uR{C1frw=q_8 zGA>-=GB}rx5GF>s1S}eAy9Fusaea`GjFa5FGr&=IaV|lgdy%}7J8h0s1qXQRhh2N&`?K1DqFoD2G+G*0{hri1MAviZLPd#_&EfW9UAn$9f;qk0EZr+ zr10b1kn0z35@!lu0+$JgUS2M;0WsAa`pnbO@29)`XAW(DF=_DDwRg3wo6yC$Rt@a; z*e?2bs=;-tcGRqElPEsEk59lc$`QPwA!btoF_Yhk0Zww{_j*>|Fibkj0~Yd%{ci7N z^{2fZpSvG>ytJ|JLE4lMoap^*V=;r9OuQ;M(fiux*1kb}K87qb*jMFei`$2yCO?1^ zy&D4SneWlbIMF-*b9=5T#(M*r<4@9@`}2{Dat87=$3GUx^)Kl9=KV^Xf zC!@jNUwT-7kMg+%IPv#XfTQ~G_u_yPy*t0M^60X~agWP!)_W@n_Wh-8;y6z9&Nygs zl}HBs0C%Iok3qXF?)eRoJm5rL`K1#QOvjQAndzO{=96cwAID?bXFdugY>he&4k0~{Y(pNBX; zv_21UeCT^NOK3kRK35#S8N9CsAJE|M`oOy4Ius%K0i5{zT^}p&0ktnK{q$*z=_^Ezgzp-f{e)z&GC5y-2Ei)4QP&kD^Ozt zIDVSr=e%aQ?81v8y_)0O1lIe%aV-KTaqbtmUK&sR@B=vU_t9}y@AyIy4&04~`K?#o z;(mR@o(oogWaCGNoL+q{cqVX9uI1$sPM-@tUux%VE?>(7C;q-f59axKaC(b97Yz8` z+P5-r4{{|5_vLj)LQ(wm9?X+;;`DKCd5s2~#QDYdEv`i1`r$oF3SVA}z&Yc=E*5tS z`vLW6n74gREv_xsn?7gsYh`h#d2b3h@ndpTi!067ub@FR=$%KC?fW6$X97;VA z__$^0q&Nd7dXwmL9GA&C8Q%tK;=%xzT|$cEx|s9o2Dt32K#r6RaM>36 z!AoCW{!WpPnxlTnX>n`lnGM7OIElqEsuN#cDb7vJQD4)22p?BIunzsEwZ$FfdrF$4 zO3bsk{=`SHPjggyV4d77z){Tt@%xsXr=PC-M?z1h>^YT_O)*$15D z+~B~T*e0Gg;6!iHG%K$lU6Vl`(g6*6%bd2j5*%mXMDKq3p)`L!9^myfaH99NQdZt3 ze%=|Jf(E@!NU$%j8RvoKsEcWGd>nqe3VvvgYE0)%A2)M%6hFQG-5IE(fr0h!5?ZtS z@@Da~aF8edj;m>LO9J=q7G7s@C73HTmzAS+malhEfXk`{>SG?CbHP1mi1TwK+?R*n zEJXbNSB|>j(nvO9pgC&R*X50_(#Sb)UHd_OyY6}XW4o@+KJg|aZ+s*Bdpx&3X?^U? za|Kt?5Q`mDcYZ8RB6%qmz~Kd4;|>DJluE(OBLn@;I*Lr&%qxayR z1WxpRxWeLQu210Ndh^=&Jz1KRQJgi0zS7y^@|H{BL~omY#f^Pq&LzDpPxL-a1?R^v zEx_H&D_h(g=33Y%dhdPE;%f18!kW83qpJyD@7?f&=0kJ$D>qnqm-D_oaH98AU>z_B zoh(oMJu=M7+s^AZ&D}HRSX}S-qIuKYeM4@G>lfhe82$4k-`~HQMD`(F(U4c=kJ;Z9 zId55{7dY{E{%aODuo?l#U*N>w6|`^U>mAAawcuJb=$#i>WBjSOTjUKSp77;W=jTy0 zC%;8weO#pgC+DhYaVcz{=H%9aedoD9MR5VwqQQ^rJ6m}!?^e;&r4k?8Of13yVtshv|#wJ>MuLah% z3rkwAIKc8WH*W1_+k1bqpnj1?u zv$$O9-ktb6eWlIQ>?}`n$MH+H|;;+|M#*R_kMS2M9Kvf^jMq07ryALU*fY(xX6oD5v6809)}60?-R zUVTF(CF5kScC@f_(4Oz@AeGUecO4OfpCh-?Goz3PoamkPrp1k*yb+w}eSLt%t-@rI zJk6nXY0t*jdtP9D`B@cY%6 z+2V2p_6D+1o%nj62yketIunSQ*_kMnUpX8aEYG0Dz zZrt60dp6_pQYYmcWQy&lX}ue_iRFFDv2_@hmz9k7akny80FDNGhf<>YxK#npTVLAZ z+BGF1WFO>ZVR?_x{)jK{V{{TubKY25Tlu(C0WRB1#p>gF2e=IP{(am&eqIvwF7X>h z6YS&gKXPE7<}&Mt(_HqSpX_f2 z^`snxJmAFN13z0_yVnz(mxZv%gCn)AUb!aJT=qN(_T%z50!Mm*6TLSE^6GNVQ{Y4| z{ui|`uWNwI?hSC`&jBtw5?F`!<=WO<_F_4!cQvmGG?#6wU~!KFK>lhjn-nI0_(;Z0e@SvACM<{#|6$ohXY)jl4R}sfX~~Y0`Ye~Iq%11HaaOT zz=_@+4_Mr@uUZZrILzW&^1Nvd-MHQ2>S5oW^lA=mvc&F%%w+D?9J=Xci_2L#Ay53M zKHKWu#T)=L(U33re=>et^mDEfKRo~A<8DCU$PdU9y}JUO_haDNdw$?L<6XYS1UHJ_ zh8?Zm1$=JS9J+Cc#pU9?DR3Sd{7t&i;$A|4$q&t;d4^kDA6_eI4sD%e*Keg2=ZW5C zfxVhed|zI3=$4aKZ(TkY{I48(g4XEp9p$Jwbag%Z{jJdhDc8My$u46`n7J>r*gg;2 z;-cDF{2UqH?VGqf$&pL$u`w&aYiP_n8tl#1z{aA+1=LA%1)Su_dG}e|^C&{biQeuX z+V#hM)1%tf96I`T`&+{;c;8BM=zRKNKi}U?{QZ02MDGatfe|0qrGI3f=FmO&VM&`-3)5r!w~dC;sjv$-aH~?jiJQu04l-N7Kix zQ|n6_;pR7Vu0O%&NX@l7Q>}e@0@vOTeo@8fy_J686uhCicE|*KZ>(!CGKz8HZ`11b z`=+b=B;-k)cg?f@mf0T7o7S6qob}@fuf2d1y?c{weY~RXWr^Ou=h}O{W9j^b`2Z)Q zp^oO#Kk@eG<6080d<;GX`M{}jQ_Hbv*jdQqWHP^PDV4v5W#@CpdYx5njdM~H7 zDdqs&h=w?IA7D9ZdEj1Ap}TEuzs%=j$P<5`PP4x!aXahPT${h7&5@D3uFzbYme=C0 zfbryq=GxzeT5i0AIT;*^=JMh#yKd~dGMW#~wNFg4ap?siq!&2x_wPHcze%)@0-WaB z?uTvse&_X@=Gy&o$8BSd*IZkDlI5rcf&1+nZ?N3+>noAJn)6Dwv2iKL&j@PH zJ2lzja)LBy-hh+&O`^|ne>1s8&rkPA;5+J2uPot;yDcG4Vs^NV z&82lE$w`W>=AL$IEUsP61WwKqD>~b`D$F&jxo71bnk2@Kt?a6dq=HqT$YHPbM?ScEa z@9ReMt804)9rJO;iY0I|Z%K40j?1LB%TZpUMsZ5fwVgeSt(~hjCH^NU!QHrgr!P(D z;yJBO539)fLvnrQHPg+yV$X_Iah%wG#cVtGwI?NNQS{E9VEKPMKO>`SyT?~HH{0`b zMZk&PPXo_9^q@VUm{;2kds*(O$LBHBtoXZmxjoNjMb~y|@-3e09KQ{L+NPiHGPretbw!&37PpCi(@w7|o~E^=ueUhw znd^1MpM@-L3l<7AA9}s;OMp{4@cl&KBz`9Yart(U<&^B5?EH?c7U|WT(&R3S8$|cF zVBdecUZ7F`_}_Kl71#}4as1AI?`V`loE^~O0KJ&SR#dgEMvoyE9S-Z)oZXEE+mZ=9>6vlzF_ z8|Qc_B}e|rw2lbH2ghiMOgS3m+x_mkA&1L(iKV=+cQ`P|KXdeir&H=9vvIlDCdq9- zM>En_*c<2PXh!48dgJ^Y&1hT=Z=9c_8I4Qv#`!s#(YULIhxV93EnuJqxc{1@E1*N$Nvb$XUDhWC^wOT01!WRr2FycTel=S zS0NYh|8H@uINvXJSUQYjw~#W7*SMY-L+1?OBnOY*VR5;TFpPsOkoVdoi+cxwC!F@9 zFD+7iy$=&iaH99?o)-5uua#ULu--SPTHJkXAMz6o_C0^2#a+jHI)I}A_X#DZZy&bf zVIOc}-`E}&S02G+To(EWd5=xBxU47u!nyfo+;6;g(DSj7?E_BqZtiF0jbXjOiQbnc zSls!n7kP~a`)1O*&G&Z^I>|odF&c0OQ!Q?qdR{?rCunkfd2~7KzQ>1j5I?ftVsSHg zet{D|lIU|>Uf?fzbZBrtPoviXx!aY zqk}SVdJ7)0xC{9j)7i|p6M;FPO8_?qz=?g6$*_1VSZ@W+b%$Yj zRUU}0TeKg!TSxLxJ7}wbTas)Vu%XEHbN#h=X z5W?wN{D=U)AM~{+mm|Q5-bw2%F7!Y1@IQEcdGtt-lZR;$dEd>p^Bd#e9MK%`*PduS zt^KGM+6(Dt{m4GlHX8D8;biOY zaJtrlJk1qfRk8loD3!ovVR`s}+I}8f!Fd2%#J&&Twz!x1UK?;CFNr?KP>vuNWV zK7D?-8pAbO2a3rj$VCJ0w^bJR0PlSOjt1PdbWbd91IrtSPLc?6uH+cfw@Nsop z1IYy=d72xVe`;es2}whGH8)hKY;$`uUu$b_77AqH}v9#}DB~1Mc)gHn;1k z`|C1q4~)0+n&T!C*#~)|_l+8M-sUN85WSr)u$(0Sb3}84xciX%gP>vMRd}vPE^oNyKdSim)L~n?bFjtU=n2H}EPSQA$mqZ8S`J4$SeOf2V z#j5nA-h(QAaDJ%;cJ_-McO5BVnc}IzUAi)fk8tJ6y2|EWxY7<#mIN~jRxFX zfolS~ee32BIEm3B{vQ-N7u)l_8*mL81z(Ev0w;0awaVi9_KWmtjyrv~t-UcIVe%K8gogP& zx03a@1kao1xcTo`TqizXN1MccT4bWq6 zhLg5XAbtBPKnTST@bp#;2z=_^R z=$~Er_T9tlJ~KIJwr+oV1C4B;40qpP!@CoP_TM`Z&iO@ zO9S~V>uSwOHR*R4eR*G$qJWS*%}I|2=2!AXb5h;v*1nUKB6*sVo~~r)6{4qE$`^1g}Yq!$D00s1*0r&n{*bpcM2y>`t>ua33zdp>ip z=A?XqHNbS%t2t?IV1DV4^A|XY^W}N1-V;d?PIK3xz%}>XWfM5btJ(BV&iuT3j-P3V zJkdKN5Eoh&IQw9y$g8>C&hJLvLjq3Z!Q{B!Ot`CI0~$v;8{)2t981VW11_|lssvJ? z+<~2Fz=gQ07s~@qd>XV+*~;8N|7zLgj^?fwbiXU^6XWu;Jk4F*JJ>n=^<+Yx#HdI| zTT^Y2{N#t`u98F)zFub++i=! zBR@1Jb)_Qk{Yd6o22T7~+0t@)Bd$H*#E;zX+PM6}_lFQhG~~f8{QHfr-gw@AMkjNP z=$$>>`axggisM9Yr`9%pwV1m!C)K22`To+Dh2f;Bf%%0^uupT+4_mE$T@Vn$X-?W7 z;3QJ(^lDBjk!s}?;Ohv@HBIQp$9zAgBcVtya1y`5SJ`>%$j@G7#x*3y$;*suG*0Ft zi4Ml?%Y~o8M~pj6`@nGZFmS(b36gMX zDgi+9bj`nWz{->RjJoDWw6!($B8d}u;>VbIR$eP~l3rc&eTaYj`Jj--aT338@3%O) zCk%O_H(!858sK7v^y-?Qm}ccoWW5MC8s?*7XX|e<7)A1Q?HzpI%8PMc>DoI<|47;Q zw~oSzAGtrZ@_yiXL)r)~i9W~WWl~coxu&+iQ8+P%Yk__OilI?+ee-E=fU8CJTwDLmFmHhUm#f6?L znL>#fpBuLClTeL*Y;mFIPbLTakTtQc(fit1d7gUbBte+0&)op>= zma_y0S!k&5B6Bj9=X5gex*})BiGA((nRD%LW&A<*p>ENjcXe_GJjFPP%Y$^{^XK0Q zVVvmQ^p=%J+iUUlx#;aoYu$|G>2>_Di_eS`y@P+U>#}qCdPJYo_mc38^a3aTz8$!C zCjJ5^dUrl+^Xe-Ip}2ro&=BYMYewH0(evRt87F#A9?Ce*nx}qPV&hDYn>f9CjgWke zy$2(D^|^oBA-n$7IPo|CrB-hZ)~nYDeW}%)1sx=43V1B26kn#L#-kbMO#`CLrv|6Ezc>_5lepICUcp1eH zIPn8^%5$!5@wrsC{NP7?g#EzcZ^(r_9G7?WLk|8%e~i{j;80@fxQtjS8bdE&9R|-0 z(oIl|5gXj`_R(|T>!=S{moudZl^l)3F{r@b?w$U|I5{3m=I6+H{MEpE7{SVWEIE=d z^6(z@k!12i>ykeAtOM&>%zn6Q4b~N7KVGIjJX0(=NIRqPH99^+9-7#K82>}gP{PnT z4Dmp$q|Xgfv4Rd4KXi~>sWq(+I)Dl3Kp!pdX_4fUBbtx$2I71A4q>(AM3_((FYywyf80{ zb)%Gj&b!uIm-_yZTco!EA9FbBhF#7N`smw$Zs>(R^tt(=zvJ_Rj>B~2!u{v`mw#u& zZ_&ROjTafQ*cYc`OIRk$jm0V_Y$MiiSnfNi=dM&jmdqirq55?B&-wabO2h%c#$!+1 zB;#D?T16`p$ z>T-Q}*ZB&2w9Wrbe>`4LEP02|l=I+6$bvl!D$$4JDEB@~NgNZs8r$UynqQ9bmyE?R zjTJw&-0wZPz(B5GwcI0~T*0hdnwZm=7t>_Ac7-n_HZC_-iq1!j!*RNLc69-Hs1dpi z?;6IrW9_4Poc>}KC+m*6(Ha%o9q0#6`tI*d2S_$#WYm{8&?ho!De1<+Cix8c?XQpY zP`8t>b^CoN6!4OQKg3dd;TS%k)}Cuea%Se&blIL5?i3#`J1Oua5M(fnKTfx{Y3A={1#J z57TQly`H1j5_+wq*9Y|agkF2;^$WdD(kmzZzo$I(x{zKM(W^MUlIT^DUe)MTi(d8U z)tFu_>D7*2*V5}odiAB(AbO3U*Eo7jq*v#j0|&&eO&>B8ANmizCDyvnz*Kj@eQ1{2 zGreEq!TkrtTJ=wFGO}}O&!IyG>(8zG#NwFt={;|Ywe3G}U}~S(wYSq4$i;_25PbdM z{^{2aO+{aN&$RS*Lq^~zApEgu8YxSSbxa+WJ|r!*ao_aRv}UOTdyb4X?mwtS+K@q! z^6Ie;!&B4PlIrM_{M#lQ3_Usc&@7aG~Y+!o7{ <60> ) heading = <60>; if (heading < <-60> ) heading = <-60>; if (pitch > <60> ) pitch = <60>; if (pitch < <-60> ) pitch = <-60>; - turn aimy1 to y-axis heading speed <250.0>; - turn aimy1 to x-axis <0.0> - pitch speed <200.0>; + turn aimy1 to y-axis heading speed <250.000000>; + turn aimy1 to x-axis <0.000000> - pitch speed <200.000000>; wait-for-turn head around y-axis; start-script RestoreAfterDelay(); diff --git a/scripts/Raptors/raptor2.cob b/scripts/Raptors/raptor2.cob index 553e4af81fae24774cc1899a322b3788986cc999..51e6162f10f3b3ee30f09ef1b37e1de8bc520dd0 100644 GIT binary patch literal 68621 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

    (0TikLa3E?o$Xwch_pFh!hGttR7sk8PStUOx6 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 <60> ) heading = <60>; if (heading < <-60> ) heading = <-60>; if (pitch > <60> ) pitch = <60>; if (pitch < <-60> ) pitch = <-60>; - turn aimy1 to y-axis heading speed <250.0>; - turn aimy1 to x-axis <0.0> - pitch speed <200.0>; + turn aimy1 to y-axis heading speed <250.000000>; + turn aimy1 to x-axis <0.000000> - pitch speed <200.000000>; wait-for-turn head around y-axis; start-script RestoreAfterDelay(); diff --git a/scripts/Raptors/raptor2b.cob b/scripts/Raptors/raptor2b.cob index ee635e1efb64ca9f82f5ced9ba86853bbf1b9f68..0ba01e142f9814eea0e1fbf229a9c6a0b3e9e020 100644 GIT binary patch literal 68621 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 JL&nyK{Xgq}N&5f* diff --git a/scripts/Raptors/raptor_6legged_l.bos b/scripts/Raptors/raptor_6legged_l.bos index b98c8bc98b0..d1c820c8690 100644 --- a/scripts/Raptors/raptor_6legged_l.bos +++ b/scripts/Raptors/raptor_6legged_l.bos @@ -1,16 +1,17 @@ piece base,torso, thigh1l, thigh1r, thigh2l, thigh2r, thigh3l, thigh3r, leg1l, leg1r, leg2l, leg2r, leg3l, leg3r, foot1l, foot1r, foot2l, foot2r, foot3l, foot3r, thor1, thor2, thor3, thor4, thor5, thor6, wingl, wingr, flare; -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" -#define SIGNAL_AIM1 256 +#define SIG_AIM 2 -static-var maxSpeed, animFramesPerKeyframe, isMoving, animSpeed, isDying, gun_1; +static-var maxSpeed, animFramesPerKeyframe, bMoving, animSpeed, isDying, gun_1; // For N:\animations\Raptors\raptor_walk_remaster_v2.blend Created by https://github.com/Beherith/Skeletor_S3O V((0, 3, 5)) #define MOVESCALE 100 // Higher values are bigger, 100 is default, for bigger/smaller units #define MOVESPEED 4 // At this movespeed and animamplitude, the ideal maxvelocity is 2.1 #define animAmplitude 100 -#define SIGNAL_MOVE 1 +#define SIG_WALK 64 //these defines are needed before includes! #include "raptor_walk_6legged.h" /* @@ -65,12 +66,12 @@ HitByWeapon(anglex, anglez, damage) // angle[x|z] is always [-500;500], damage i turn BASEPIECE to x-axis <0> - (anglex * amount) /100 speed HITSPEED; wait-for-turn BASEPIECE around z-axis; wait-for-turn BASEPIECE around x-axis; - turn BASEPIECE to z-axis <0.0> speed HITSPEED / 6; - turn BASEPIECE to x-axis <0.0> speed HITSPEED / 6; + turn BASEPIECE to z-axis <0.000000> speed HITSPEED / 6; + turn BASEPIECE to x-axis <0.000000> speed HITSPEED / 6; } static-var isSmoking; -BleedUnit(healthpercent, randpiece) // ah yes, clever use of stack variables +SmokeUnit(healthpercent, randpiece) // ah yes, clever use of stack variables { while( TRUE ) { @@ -100,7 +101,7 @@ HitByWeaponId(anglex, anglez, weaponid, dmg) //weaponID is always 0,lasers and f if( get BUILD_PERCENT_LEFT) return (100); if (isSmoking == 0) { isSmoking = 1; - start-script BleedUnit(); + start-script SmokeUnit(); } //get PRINT(anglex, anglez, weaponid, dmg); start-script HitByWeapon(dmg, anglez,anglex); //I dont know why param order must be switched, and this also runs a frame later :( @@ -135,17 +136,17 @@ UnitSpeed(){ } -StartMoving(reversing){ - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; - isMoving=TRUE; +StartMoving(){ + signal SIG_WALK; + set-signal-mask SIG_WALK; + bMoving=TRUE; start-script UnitSpeed(); start-script Walk(); } StopMoving(){ - signal SIGNAL_MOVE; - isMoving=FALSE; + signal SIG_WALK; + bMoving=FALSE; if (!isDying){ call-script StopWalking(); //start-script Idle(); @@ -196,16 +197,20 @@ RestoreAfterDelay() } +SweetSpot(piecenum) + { piecenum=torso; } + +AimFromPrimary(piecenum) + { piecenum=torso; } - -QueryWeapon1(pieceIndex) - { pieceIndex=flare; } +QueryPrimary(piecenum) + { piecenum=flare; } -AimWeapon1(heading,pitch) +AimPrimary(heading,pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; var tailspeed; tailspeed = 5; @@ -244,7 +249,7 @@ Killed( severity, corpsetype ) { isDying = TRUE; corpsetype = 1; - signal SIGNAL_MOVE; + signal SIG_WALK; emit-sfx 1025 from torso; if (RAND(0,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 literal 13347 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 *animAmplitude)/100) speed ((<30.0> *animAmplitude)/100) / animSpeed; //delta=1.00 + turn body to x-axis ((<-1.000000> *animAmplitude)/100) speed ((<30.000000> *animAmplitude)/100) / animSpeed; //delta=1.00 turn body to z-axis ((<3.866804> *animAmplitude)/100) speed ((<116.004134> *animAmplitude)/100) / animSpeed; //delta=-3.87 turn head to x-axis ((<-1.497920> *animAmplitude)/100) speed ((<44.937601> *animAmplitude)/100) / animSpeed; //delta=1.50 turn head to z-axis ((<2.995840> *animAmplitude)/100) speed ((<89.875202> *animAmplitude)/100) / animSpeed; //delta=-3.00 @@ -59,16 +59,16 @@ Swim() {// For N:\animations\raptor_allterrain_swim.blend Created by https://git turn tail to z-axis ((<0.380573> *animAmplitude)/100) speed ((<11.417184> *animAmplitude)/100) / animSpeed; //delta=-0.38 sleep ((33*animSpeed) -1); } - while(isMoving) { - if (isMoving) { //Frame:12 - move body to x-axis (((([0.0] *MOVESCALE)/100) *animAmplitude)/100) speed (((([30.0] *MOVESCALE)/100) *animAmplitude)/100) / animSpeed; //delta=1.00 - move body to z-axis (((([0.0] *MOVESCALE)/100) *animAmplitude)/100) speed (((([60.899999] *MOVESCALE)/100) *animAmplitude)/100) / animSpeed; //delta=2.03 + while(bMoving) { + if (bMoving) { //Frame:12 + move body to x-axis (((([0.000000] *MOVESCALE)/100) *animAmplitude)/100) speed (((([30.000000] *MOVESCALE)/100) *animAmplitude)/100) / animSpeed; //delta=1.00 + move body to z-axis (((([0.000000] *MOVESCALE)/100) *animAmplitude)/100) speed (((([60.899999] *MOVESCALE)/100) *animAmplitude)/100) / animSpeed; //delta=2.03 move body to y-axis (((([-1.060000] *MOVESCALE)/100) *animAmplitude)/100) speed (((([31.799998] *MOVESCALE)/100) *animAmplitude)/100) / animSpeed; //delta=-1.06 - turn body to x-axis ((<2.0> *animAmplitude)/100) speed ((<89.999999> *animAmplitude)/100) / animSpeed; //delta=-3.00 - turn body to z-axis ((<-0.0> *animAmplitude)/100) speed ((<116.004134> *animAmplitude)/100) / animSpeed; //delta=3.87 + turn body to x-axis ((<2.000000> *animAmplitude)/100) speed ((<89.999999> *animAmplitude)/100) / animSpeed; //delta=-3.00 + turn body to z-axis ((<-0.000000> *animAmplitude)/100) speed ((<116.004134> *animAmplitude)/100) / animSpeed; //delta=3.87 turn body to y-axis ((<-4.077731> *animAmplitude)/100) speed ((<122.331915> *animAmplitude)/100) / animSpeed; //delta=-4.08 turn head to x-axis ((<2.995840> *animAmplitude)/100) speed ((<134.812803> *animAmplitude)/100) / animSpeed; //delta=-4.49 - turn head to z-axis ((<-0.0> *animAmplitude)/100) speed ((<89.875202> *animAmplitude)/100) / animSpeed; //delta=3.00 + turn head to z-axis ((<-0.000000> *animAmplitude)/100) speed ((<89.875202> *animAmplitude)/100) / animSpeed; //delta=3.00 turn head to y-axis ((<4.957617> *animAmplitude)/100) speed ((<148.728518> *animAmplitude)/100) / animSpeed; //delta=4.96 turn lbfoot to x-axis ((<54.349670> *animAmplitude)/100) speed ((<1554.345206> *animAmplitude)/100) / animSpeed; //delta=-51.81 turn lbfoot to z-axis ((<-9.440718> *animAmplitude)/100) speed ((<218.253653> *animAmplitude)/100) / animSpeed; //delta=7.28 @@ -119,15 +119,15 @@ Swim() {// For N:\animations\raptor_allterrain_swim.blend Created by https://git turn rfthigh to z-axis ((<10.544795> *animAmplitude)/100) speed ((<130.072509> *animAmplitude)/100) / animSpeed; //delta=4.34 turn rfthigh to y-axis ((<8.336172> *animAmplitude)/100) speed ((<336.869662> *animAmplitude)/100) / animSpeed; //delta=11.23 turn tail to x-axis ((<7.124266> *animAmplitude)/100) speed ((<320.591987> *animAmplitude)/100) / animSpeed; //delta=-10.69 - turn tail to z-axis ((<-0.0> *animAmplitude)/100) speed ((<11.417184> *animAmplitude)/100) / animSpeed; //delta=0.38 + turn tail to z-axis ((<-0.000000> *animAmplitude)/100) speed ((<11.417184> *animAmplitude)/100) / animSpeed; //delta=0.38 turn tail to y-axis ((<8.694870> *animAmplitude)/100) speed ((<260.846103> *animAmplitude)/100) / animSpeed; //delta=8.69 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:18 - move body to x-axis (((([1.0] *MOVESCALE)/100) *animAmplitude)/100) speed (((([30.0] *MOVESCALE)/100) *animAmplitude)/100) / animSpeed; //delta=1.00 + if (bMoving) { //Frame:18 + move body to x-axis (((([1.000000] *MOVESCALE)/100) *animAmplitude)/100) speed (((([30.000000] *MOVESCALE)/100) *animAmplitude)/100) / animSpeed; //delta=1.00 move body to z-axis (((([2.010000] *MOVESCALE)/100) *animAmplitude)/100) speed (((([60.300000] *MOVESCALE)/100) *animAmplitude)/100) / animSpeed; //delta=2.01 - move body to y-axis (((([0.0] *MOVESCALE)/100) *animAmplitude)/100) speed (((([31.799998] *MOVESCALE)/100) *animAmplitude)/100) / animSpeed; //delta=1.06 - turn body to x-axis ((<1.0> *animAmplitude)/100) speed ((<29.999997> *animAmplitude)/100) / animSpeed; //delta=1.00 + move body to y-axis (((([0.000000] *MOVESCALE)/100) *animAmplitude)/100) speed (((([31.799998] *MOVESCALE)/100) *animAmplitude)/100) / animSpeed; //delta=1.06 + turn body to x-axis ((<1.000000> *animAmplitude)/100) speed ((<29.999997> *animAmplitude)/100) / animSpeed; //delta=1.00 turn body to z-axis ((<-3.866804> *animAmplitude)/100) speed ((<116.004134> *animAmplitude)/100) / animSpeed; //delta=3.87 turn body to y-axis ((<-6.116596> *animAmplitude)/100) speed ((<61.165970> *animAmplitude)/100) / animSpeed; //delta=-2.04 turn head to x-axis ((<1.497920> *animAmplitude)/100) speed ((<44.937598> *animAmplitude)/100) / animSpeed; //delta=1.50 @@ -188,14 +188,14 @@ Swim() {// For N:\animations\raptor_allterrain_swim.blend Created by https://git turn tail to y-axis ((<13.042306> *animAmplitude)/100) speed ((<130.423077> *animAmplitude)/100) / animSpeed; //delta=4.35 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:24 + if (bMoving) { //Frame:24 move body to x-axis (((([1.650000] *MOVESCALE)/100) *animAmplitude)/100) speed (((([19.499999] *MOVESCALE)/100) *animAmplitude)/100) / animSpeed; //delta=0.65 move body to z-axis (((([3.620000] *MOVESCALE)/100) *animAmplitude)/100) speed (((([48.299997] *MOVESCALE)/100) *animAmplitude)/100) / animSpeed; //delta=1.61 - move body to y-axis (((([1.0] *MOVESCALE)/100) *animAmplitude)/100) speed (((([30.0] *MOVESCALE)/100) *animAmplitude)/100) / animSpeed; //delta=1.00 - turn body to x-axis ((<-0.0> *animAmplitude)/100) speed ((<30.0> *animAmplitude)/100) / animSpeed; //delta=1.00 + move body to y-axis (((([1.000000] *MOVESCALE)/100) *animAmplitude)/100) speed (((([30.000000] *MOVESCALE)/100) *animAmplitude)/100) / animSpeed; //delta=1.00 + turn body to x-axis ((<-0.000000> *animAmplitude)/100) speed ((<30.000003> *animAmplitude)/100) / animSpeed; //delta=1.00 turn body to z-axis ((<-5.800206> *animAmplitude)/100) speed ((<58.002060> *animAmplitude)/100) / animSpeed; //delta=1.93 turn body to y-axis ((<-4.077731> *animAmplitude)/100) speed ((<61.165970> *animAmplitude)/100) / animSpeed; //delta=2.04 - turn head to x-axis ((<-0.0> *animAmplitude)/100) speed ((<44.937604> *animAmplitude)/100) / animSpeed; //delta=1.50 + turn head to x-axis ((<-0.000000> *animAmplitude)/100) speed ((<44.937604> *animAmplitude)/100) / animSpeed; //delta=1.50 turn head to z-axis ((<-4.493760> *animAmplitude)/100) speed ((<44.937595> *animAmplitude)/100) / animSpeed; //delta=1.50 turn head to y-axis ((<4.957617> *animAmplitude)/100) speed ((<74.364252> *animAmplitude)/100) / animSpeed; //delta=-2.48 turn lbfoot to x-axis ((<17.733046> *animAmplitude)/100) speed ((<761.755161> *animAmplitude)/100) / animSpeed; //delta=-25.39 @@ -246,21 +246,21 @@ Swim() {// For N:\animations\raptor_allterrain_swim.blend Created by https://git turn rfthigh to x-axis ((<-47.703216> *animAmplitude)/100) speed ((<186.378719> *animAmplitude)/100) / animSpeed; //delta=6.21 turn rfthigh to z-axis ((<16.291704> *animAmplitude)/100) speed ((<563.426810> *animAmplitude)/100) / animSpeed; //delta=-18.78 turn rfthigh to y-axis ((<16.576381> *animAmplitude)/100) speed ((<428.038357> *animAmplitude)/100) / animSpeed; //delta=14.27 - turn tail to x-axis ((<-0.0> *animAmplitude)/100) speed ((<106.864009> *animAmplitude)/100) / animSpeed; //delta=3.56 + turn tail to x-axis ((<-0.000000> *animAmplitude)/100) speed ((<106.864009> *animAmplitude)/100) / animSpeed; //delta=3.56 turn tail to z-axis ((<-0.570859> *animAmplitude)/100) speed ((<5.708584> *animAmplitude)/100) / animSpeed; //delta=0.19 turn tail to y-axis ((<8.694870> *animAmplitude)/100) speed ((<130.423077> *animAmplitude)/100) / animSpeed; //delta=-4.35 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:30 + if (bMoving) { //Frame:30 move body to x-axis (((([0.990000] *MOVESCALE)/100) *animAmplitude)/100) speed (((([19.800001] *MOVESCALE)/100) *animAmplitude)/100) / animSpeed; //delta=-0.66 move body to z-axis (((([2.100000] *MOVESCALE)/100) *animAmplitude)/100) speed (((([45.599999] *MOVESCALE)/100) *animAmplitude)/100) / animSpeed; //delta=-1.52 move body to y-axis (((([0.080000] *MOVESCALE)/100) *animAmplitude)/100) speed (((([27.600000] *MOVESCALE)/100) *animAmplitude)/100) / animSpeed; //delta=-0.92 - turn body to x-axis ((<-1.0> *animAmplitude)/100) speed ((<30.0> *animAmplitude)/100) / animSpeed; //delta=1.00 + turn body to x-axis ((<-1.000000> *animAmplitude)/100) speed ((<30.000000> *animAmplitude)/100) / animSpeed; //delta=1.00 turn body to z-axis ((<-3.866804> *animAmplitude)/100) speed ((<58.002060> *animAmplitude)/100) / animSpeed; //delta=-1.93 - turn body to y-axis ((<0.0> *animAmplitude)/100) speed ((<122.331915> *animAmplitude)/100) / animSpeed; //delta=4.08 + turn body to y-axis ((<0.000000> *animAmplitude)/100) speed ((<122.331915> *animAmplitude)/100) / animSpeed; //delta=4.08 turn head to x-axis ((<-1.497920> *animAmplitude)/100) speed ((<44.937601> *animAmplitude)/100) / animSpeed; //delta=1.50 turn head to z-axis ((<-2.995840> *animAmplitude)/100) speed ((<44.937595> *animAmplitude)/100) / animSpeed; //delta=-1.50 - turn head to y-axis ((<0.0> *animAmplitude)/100) speed ((<148.728518> *animAmplitude)/100) / animSpeed; //delta=-4.96 + turn head to y-axis ((<0.000000> *animAmplitude)/100) speed ((<148.728518> *animAmplitude)/100) / animSpeed; //delta=-4.96 turn lbfoot to x-axis ((<14.504233> *animAmplitude)/100) speed ((<96.864394> *animAmplitude)/100) / animSpeed; //delta=3.23 turn lbfoot to z-axis ((<-11.135270> *animAmplitude)/100) speed ((<194.562946> *animAmplitude)/100) / animSpeed; //delta=6.49 turn lbfoot to y-axis ((<-0.952115> *animAmplitude)/100) speed ((<15.533714> *animAmplitude)/100) / animSpeed; //delta=-0.52 @@ -313,18 +313,18 @@ Swim() {// For N:\animations\raptor_allterrain_swim.blend Created by https://git turn rfthigh to y-axis ((<4.818244> *animAmplitude)/100) speed ((<352.744108> *animAmplitude)/100) / animSpeed; //delta=-11.76 turn tail to x-axis ((<-3.562133> *animAmplitude)/100) speed ((<106.863996> *animAmplitude)/100) / animSpeed; //delta=3.56 turn tail to z-axis ((<-0.380573> *animAmplitude)/100) speed ((<5.708584> *animAmplitude)/100) / animSpeed; //delta=-0.19 - turn tail to y-axis ((<0.0> *animAmplitude)/100) speed ((<260.846103> *animAmplitude)/100) / animSpeed; //delta=-8.69 + turn tail to y-axis ((<0.000000> *animAmplitude)/100) speed ((<260.846103> *animAmplitude)/100) / animSpeed; //delta=-8.69 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:36 - move body to x-axis (((([0.0] *MOVESCALE)/100) *animAmplitude)/100) speed (((([29.699998] *MOVESCALE)/100) *animAmplitude)/100) / animSpeed; //delta=-0.99 - move body to z-axis (((([0.0] *MOVESCALE)/100) *animAmplitude)/100) speed (((([62.999997] *MOVESCALE)/100) *animAmplitude)/100) / animSpeed; //delta=-2.10 - move body to y-axis (((([-1.0] *MOVESCALE)/100) *animAmplitude)/100) speed (((([32.400000] *MOVESCALE)/100) *animAmplitude)/100) / animSpeed; //delta=-1.08 - turn body to x-axis ((<2.0> *animAmplitude)/100) speed ((<89.999999> *animAmplitude)/100) / animSpeed; //delta=-3.00 - turn body to z-axis ((<-0.0> *animAmplitude)/100) speed ((<116.004134> *animAmplitude)/100) / animSpeed; //delta=-3.87 + if (bMoving) { //Frame:36 + move body to x-axis (((([0.000000] *MOVESCALE)/100) *animAmplitude)/100) speed (((([29.699998] *MOVESCALE)/100) *animAmplitude)/100) / animSpeed; //delta=-0.99 + move body to z-axis (((([0.000000] *MOVESCALE)/100) *animAmplitude)/100) speed (((([62.999997] *MOVESCALE)/100) *animAmplitude)/100) / animSpeed; //delta=-2.10 + move body to y-axis (((([-1.000000] *MOVESCALE)/100) *animAmplitude)/100) speed (((([32.400000] *MOVESCALE)/100) *animAmplitude)/100) / animSpeed; //delta=-1.08 + turn body to x-axis ((<2.000000> *animAmplitude)/100) speed ((<89.999999> *animAmplitude)/100) / animSpeed; //delta=-3.00 + turn body to z-axis ((<-0.000000> *animAmplitude)/100) speed ((<116.004134> *animAmplitude)/100) / animSpeed; //delta=-3.87 turn body to y-axis ((<4.077731> *animAmplitude)/100) speed ((<122.331915> *animAmplitude)/100) / animSpeed; //delta=4.08 turn head to x-axis ((<2.995840> *animAmplitude)/100) speed ((<134.812803> *animAmplitude)/100) / animSpeed; //delta=-4.49 - turn head to z-axis ((<-0.0> *animAmplitude)/100) speed ((<89.875202> *animAmplitude)/100) / animSpeed; //delta=-3.00 + turn head to z-axis ((<-0.000000> *animAmplitude)/100) speed ((<89.875202> *animAmplitude)/100) / animSpeed; //delta=-3.00 turn head to y-axis ((<-4.957617> *animAmplitude)/100) speed ((<148.728518> *animAmplitude)/100) / animSpeed; //delta=-4.96 turn lbfoot to x-axis ((<21.378629> *animAmplitude)/100) speed ((<206.231876> *animAmplitude)/100) / animSpeed; //delta=-6.87 turn lbfoot to z-axis ((<-7.226047> *animAmplitude)/100) speed ((<117.276687> *animAmplitude)/100) / animSpeed; //delta=-3.91 @@ -375,15 +375,15 @@ Swim() {// For N:\animations\raptor_allterrain_swim.blend Created by https://git turn rfthigh to z-axis ((<18.667817> *animAmplitude)/100) speed ((<156.849096> *animAmplitude)/100) / animSpeed; //delta=5.23 turn rfthigh to y-axis ((<-11.169771> *animAmplitude)/100) speed ((<479.640451> *animAmplitude)/100) / animSpeed; //delta=-15.99 turn tail to x-axis ((<7.124266> *animAmplitude)/100) speed ((<320.591987> *animAmplitude)/100) / animSpeed; //delta=-10.69 - turn tail to z-axis ((<-0.0> *animAmplitude)/100) speed ((<11.417184> *animAmplitude)/100) / animSpeed; //delta=-0.38 + turn tail to z-axis ((<-0.000000> *animAmplitude)/100) speed ((<11.417184> *animAmplitude)/100) / animSpeed; //delta=-0.38 turn tail to y-axis ((<-8.694870> *animAmplitude)/100) speed ((<260.846103> *animAmplitude)/100) / animSpeed; //delta=-8.69 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:42 + if (bMoving) { //Frame:42 move body to x-axis (((([-1.069000] *MOVESCALE)/100) *animAmplitude)/100) speed (((([32.070000] *MOVESCALE)/100) *animAmplitude)/100) / animSpeed; //delta=-1.07 move body to z-axis (((([-1.940000] *MOVESCALE)/100) *animAmplitude)/100) speed (((([58.199998] *MOVESCALE)/100) *animAmplitude)/100) / animSpeed; //delta=-1.94 - move body to y-axis (((([0.0] *MOVESCALE)/100) *animAmplitude)/100) speed (((([30.0] *MOVESCALE)/100) *animAmplitude)/100) / animSpeed; //delta=1.00 - turn body to x-axis ((<1.0> *animAmplitude)/100) speed ((<30.0> *animAmplitude)/100) / animSpeed; //delta=1.00 + move body to y-axis (((([0.000000] *MOVESCALE)/100) *animAmplitude)/100) speed (((([30.000000] *MOVESCALE)/100) *animAmplitude)/100) / animSpeed; //delta=1.00 + turn body to x-axis ((<1.000000> *animAmplitude)/100) speed ((<30.000003> *animAmplitude)/100) / animSpeed; //delta=1.00 turn body to z-axis ((<3.866804> *animAmplitude)/100) speed ((<116.004134> *animAmplitude)/100) / animSpeed; //delta=-3.87 turn body to y-axis ((<6.116596> *animAmplitude)/100) speed ((<61.165970> *animAmplitude)/100) / animSpeed; //delta=2.04 turn head to x-axis ((<1.497920> *animAmplitude)/100) speed ((<44.937604> *animAmplitude)/100) / animSpeed; //delta=1.50 @@ -442,14 +442,14 @@ Swim() {// For N:\animations\raptor_allterrain_swim.blend Created by https://git turn tail to y-axis ((<-13.042306> *animAmplitude)/100) speed ((<130.423077> *animAmplitude)/100) / animSpeed; //delta=-4.35 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:48 + if (bMoving) { //Frame:48 move body to x-axis (((([-1.478000] *MOVESCALE)/100) *animAmplitude)/100) speed (((([12.270001] *MOVESCALE)/100) *animAmplitude)/100) / animSpeed; //delta=-0.41 move body to z-axis (((([-2.680000] *MOVESCALE)/100) *animAmplitude)/100) speed (((([22.199997] *MOVESCALE)/100) *animAmplitude)/100) / animSpeed; //delta=-0.74 move body to y-axis (((([1.090000] *MOVESCALE)/100) *animAmplitude)/100) speed (((([32.700001] *MOVESCALE)/100) *animAmplitude)/100) / animSpeed; //delta=1.09 - turn body to x-axis ((<-0.0> *animAmplitude)/100) speed ((<29.999997> *animAmplitude)/100) / animSpeed; //delta=1.00 + turn body to x-axis ((<-0.000000> *animAmplitude)/100) speed ((<29.999997> *animAmplitude)/100) / animSpeed; //delta=1.00 turn body to z-axis ((<5.800206> *animAmplitude)/100) speed ((<58.002060> *animAmplitude)/100) / animSpeed; //delta=-1.93 turn body to y-axis ((<4.077731> *animAmplitude)/100) speed ((<61.165970> *animAmplitude)/100) / animSpeed; //delta=-2.04 - turn head to x-axis ((<-0.0> *animAmplitude)/100) speed ((<44.937598> *animAmplitude)/100) / animSpeed; //delta=1.50 + turn head to x-axis ((<-0.000000> *animAmplitude)/100) speed ((<44.937598> *animAmplitude)/100) / animSpeed; //delta=1.50 turn head to z-axis ((<4.493760> *animAmplitude)/100) speed ((<44.937595> *animAmplitude)/100) / animSpeed; //delta=-1.50 turn head to y-axis ((<-4.957617> *animAmplitude)/100) speed ((<74.364252> *animAmplitude)/100) / animSpeed; //delta=2.48 turn lbfoot to x-axis ((<6.185130> *animAmplitude)/100) speed ((<28.025346> *animAmplitude)/100) / animSpeed; //delta=0.93 @@ -498,21 +498,21 @@ Swim() {// For N:\animations\raptor_allterrain_swim.blend Created by https://git turn rfthigh to x-axis ((<10.051011> *animAmplitude)/100) speed ((<531.863262> *animAmplitude)/100) / animSpeed; //delta=17.73 turn rfthigh to z-axis ((<-3.495321> *animAmplitude)/100) speed ((<213.535399> *animAmplitude)/100) / animSpeed; //delta=7.12 turn rfthigh to y-axis ((<-2.177244> *animAmplitude)/100) speed ((<170.258303> *animAmplitude)/100) / animSpeed; //delta=5.68 - turn tail to x-axis ((<-0.0> *animAmplitude)/100) speed ((<106.863989> *animAmplitude)/100) / animSpeed; //delta=3.56 + turn tail to x-axis ((<-0.000000> *animAmplitude)/100) speed ((<106.863989> *animAmplitude)/100) / animSpeed; //delta=3.56 turn tail to z-axis ((<0.570859> *animAmplitude)/100) speed ((<5.708584> *animAmplitude)/100) / animSpeed; //delta=-0.19 turn tail to y-axis ((<-8.694870> *animAmplitude)/100) speed ((<130.423077> *animAmplitude)/100) / animSpeed; //delta=4.35 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:54 - move body to x-axis (((([-1.0] *MOVESCALE)/100) *animAmplitude)/100) speed (((([14.340001] *MOVESCALE)/100) *animAmplitude)/100) / animSpeed; //delta=0.48 + if (bMoving) { //Frame:54 + move body to x-axis (((([-1.000000] *MOVESCALE)/100) *animAmplitude)/100) speed (((([14.340001] *MOVESCALE)/100) *animAmplitude)/100) / animSpeed; //delta=0.48 move body to z-axis (((([-1.950000] *MOVESCALE)/100) *animAmplitude)/100) speed (((([21.899997] *MOVESCALE)/100) *animAmplitude)/100) / animSpeed; //delta=0.73 - move body to y-axis (((([0.0] *MOVESCALE)/100) *animAmplitude)/100) speed (((([32.700001] *MOVESCALE)/100) *animAmplitude)/100) / animSpeed; //delta=-1.09 - turn body to x-axis ((<-1.0> *animAmplitude)/100) speed ((<30.0> *animAmplitude)/100) / animSpeed; //delta=1.00 + move body to y-axis (((([0.000000] *MOVESCALE)/100) *animAmplitude)/100) speed (((([32.700001] *MOVESCALE)/100) *animAmplitude)/100) / animSpeed; //delta=-1.09 + turn body to x-axis ((<-1.000000> *animAmplitude)/100) speed ((<30.000000> *animAmplitude)/100) / animSpeed; //delta=1.00 turn body to z-axis ((<3.866804> *animAmplitude)/100) speed ((<58.002060> *animAmplitude)/100) / animSpeed; //delta=1.93 - turn body to y-axis ((<0.0> *animAmplitude)/100) speed ((<122.331915> *animAmplitude)/100) / animSpeed; //delta=-4.08 + turn body to y-axis ((<0.000000> *animAmplitude)/100) speed ((<122.331915> *animAmplitude)/100) / animSpeed; //delta=-4.08 turn head to x-axis ((<-1.497920> *animAmplitude)/100) speed ((<44.937601> *animAmplitude)/100) / animSpeed; //delta=1.50 turn head to z-axis ((<2.995840> *animAmplitude)/100) speed ((<44.937595> *animAmplitude)/100) / animSpeed; //delta=1.50 - turn head to y-axis ((<0.0> *animAmplitude)/100) speed ((<148.728518> *animAmplitude)/100) / animSpeed; //delta=4.96 + turn head to y-axis ((<0.000000> *animAmplitude)/100) speed ((<148.728518> *animAmplitude)/100) / animSpeed; //delta=4.96 turn lbfoot to x-axis ((<2.382048> *animAmplitude)/100) speed ((<114.092460> *animAmplitude)/100) / animSpeed; //delta=3.80 turn lbfoot to z-axis ((<-2.175006> *animAmplitude)/100) speed ((<49.680737> *animAmplitude)/100) / animSpeed; //delta=1.66 turn lbknee to x-axis ((<7.893704> *animAmplitude)/100) speed ((<341.519106> *animAmplitude)/100) / animSpeed; //delta=11.38 @@ -560,72 +560,72 @@ Swim() {// For N:\animations\raptor_allterrain_swim.blend Created by https://git turn rfthigh to y-axis ((<-2.942335> *animAmplitude)/100) speed ((<22.952721> *animAmplitude)/100) / animSpeed; //delta=-0.77 turn tail to x-axis ((<-3.562133> *animAmplitude)/100) speed ((<106.863996> *animAmplitude)/100) / animSpeed; //delta=3.56 turn tail to z-axis ((<0.380573> *animAmplitude)/100) speed ((<5.708584> *animAmplitude)/100) / animSpeed; //delta=0.19 - turn tail to y-axis ((<0.0> *animAmplitude)/100) speed ((<260.846103> *animAmplitude)/100) / animSpeed; //delta=8.69 + turn tail to y-axis ((<0.000000> *animAmplitude)/100) speed ((<260.846103> *animAmplitude)/100) / animSpeed; //delta=8.69 sleep ((33*animSpeed) -1); } } } -// Call this from StopMoving()! +// Call this from MotionControl()! StopSwimming() { animSpeed = 10; // tune restore speed here, higher values are slower restore speeds - move body to x-axis ([0.0]*MOVESCALE)/100 speed (([53.450000]*MOVESCALE)/100) / animSpeed; - move body to y-axis ([0.0]*MOVESCALE)/100 speed (([54.500002]*MOVESCALE)/100) / animSpeed; - move body to z-axis ([0.0]*MOVESCALE)/100 speed (([104.999995]*MOVESCALE)/100) / animSpeed; - turn body to x-axis <0.0> speed <149.999999> / animSpeed; - turn body to y-axis <0.0> speed <203.886525> / animSpeed; - turn body to z-axis <0.0> speed <193.340223> / animSpeed; - turn head to x-axis <0.0> speed <224.688005> / animSpeed; - turn head to y-axis <0.0> speed <247.880863> / animSpeed; - turn head to z-axis <0.0> speed <149.792004> / animSpeed; - turn lbfoot to x-axis <0.0> speed <3100.423117> / animSpeed; - turn lbfoot to y-axis <0.0> speed <454.057983> / animSpeed; - turn lbfoot to z-axis <0.0> speed <447.979154> / animSpeed; - turn lbknee to x-axis <0.0> speed <2146.155062> / animSpeed; - turn lbknee to y-axis <0.0> speed <2000.954119> / animSpeed; - turn lbknee to z-axis <0.0> speed <2108.848056> / animSpeed; - turn lbshin to x-axis <0.0> speed <1236.906149> / animSpeed; - turn lbshin to y-axis <0.0> speed <1077.977167> / animSpeed; - turn lbshin to z-axis <0.0> speed <917.268702> / animSpeed; - turn lbthigh to x-axis <0.0> speed <5943.698235> / animSpeed; - turn lbthigh to y-axis <0.0> speed <2841.706522> / animSpeed; - turn lbthigh to z-axis <0.0> speed <2607.395943> / animSpeed; - turn lffoot to x-axis <0.0> speed <2733.108563> / animSpeed; - turn lffoot to y-axis <0.0> speed <430.713842> / animSpeed; - turn lffoot to z-axis <0.0> speed <1363.336836> / animSpeed; - turn lfknee to x-axis <0.0> speed <3796.700328> / animSpeed; - turn lfknee to y-axis <0.0> speed <836.743039> / animSpeed; - turn lfknee to z-axis <0.0> speed <251.628251> / animSpeed; - turn lfshin to x-axis <0.0> speed <1736.621359> / animSpeed; - turn lfshin to y-axis <0.0> speed <364.929724> / animSpeed; - turn lfshin to z-axis <0.0> speed <510.610588> / animSpeed; - turn lfthigh to x-axis <0.0> speed <2851.946790> / animSpeed; - turn lfthigh to y-axis <0.0> speed <517.135404> / animSpeed; - turn lfthigh to z-axis <0.0> speed <1085.335351> / animSpeed; - turn rbfoot to x-axis <0.0> speed <3294.969188> / animSpeed; - turn rbfoot to y-axis <0.0> speed <218.329472> / animSpeed; - turn rbfoot to z-axis <0.0> speed <531.166459> / animSpeed; - turn rbknee to x-axis <0.0> speed <1647.648540> / animSpeed; - turn rbknee to y-axis <0.0> speed <1588.938518> / animSpeed; - turn rbknee to z-axis <0.0> speed <1213.980577> / animSpeed; - turn rbshin to x-axis <0.0> speed <1110.808782> / animSpeed; - turn rbshin to y-axis <0.0> speed <722.783980> / animSpeed; - turn rbshin to z-axis <0.0> speed <582.757236> / animSpeed; - turn rbthigh to x-axis <0.0> speed <5020.359453> / animSpeed; - turn rbthigh to y-axis <0.0> speed <3222.114143> / animSpeed; - turn rbthigh to z-axis <0.0> speed <3280.201508> / animSpeed; - turn rffoot to x-axis <0.0> speed <2792.765826> / animSpeed; - turn rffoot to y-axis <0.0> speed <608.095232> / animSpeed; - turn rffoot to z-axis <0.0> speed <1031.912877> / animSpeed; - turn rfknee to x-axis <0.0> speed <4175.483836> / animSpeed; - turn rfknee to y-axis <0.0> speed <771.683929> / animSpeed; - turn rfknee to z-axis <0.0> speed <381.371915> / animSpeed; - turn rfshin to x-axis <0.0> speed <1962.949965> / animSpeed; - turn rfshin to y-axis <0.0> speed <429.318413> / animSpeed; - turn rfshin to z-axis <0.0> speed <386.012901> / animSpeed; - turn rfthigh to x-axis <0.0> speed <3131.488333> / animSpeed; - turn rfthigh to y-axis <0.0> speed <799.400751> / animSpeed; - turn rfthigh to z-axis <0.0> speed <939.044684> / animSpeed; - turn tail to x-axis <0.0> speed <534.319978> / animSpeed; - turn tail to y-axis <0.0> speed <434.743504> / animSpeed; - turn tail to z-axis <0.0> speed <19.028640> / animSpeed; + move body to x-axis ([0.000000]*MOVESCALE)/100 speed (([53.450000]*MOVESCALE)/100) / animSpeed; + move body to y-axis ([0.000000]*MOVESCALE)/100 speed (([54.500002]*MOVESCALE)/100) / animSpeed; + move body to z-axis ([0.000000]*MOVESCALE)/100 speed (([104.999995]*MOVESCALE)/100) / animSpeed; + turn body to x-axis <0.000000> speed <149.999999> / animSpeed; + turn body to y-axis <0.000000> speed <203.886525> / animSpeed; + turn body to z-axis <0.000000> speed <193.340223> / animSpeed; + turn head to x-axis <0.000000> speed <224.688005> / animSpeed; + turn head to y-axis <0.000000> speed <247.880863> / animSpeed; + turn head to z-axis <0.000000> speed <149.792004> / animSpeed; + turn lbfoot to x-axis <0.000000> speed <3100.423117> / animSpeed; + turn lbfoot to y-axis <0.000000> speed <454.057983> / animSpeed; + turn lbfoot to z-axis <0.000000> speed <447.979154> / animSpeed; + turn lbknee to x-axis <0.000000> speed <2146.155062> / animSpeed; + turn lbknee to y-axis <0.000000> speed <2000.954119> / animSpeed; + turn lbknee to z-axis <0.000000> speed <2108.848056> / animSpeed; + turn lbshin to x-axis <0.000000> speed <1236.906149> / animSpeed; + turn lbshin to y-axis <0.000000> speed <1077.977167> / animSpeed; + turn lbshin to z-axis <0.000000> speed <917.268702> / animSpeed; + turn lbthigh to x-axis <0.000000> speed <5943.698235> / animSpeed; + turn lbthigh to y-axis <0.000000> speed <2841.706522> / animSpeed; + turn lbthigh to z-axis <0.000000> speed <2607.395943> / animSpeed; + turn lffoot to x-axis <0.000000> speed <2733.108563> / animSpeed; + turn lffoot to y-axis <0.000000> speed <430.713842> / animSpeed; + turn lffoot to z-axis <0.000000> speed <1363.336836> / animSpeed; + turn lfknee to x-axis <0.000000> speed <3796.700328> / animSpeed; + turn lfknee to y-axis <0.000000> speed <836.743039> / animSpeed; + turn lfknee to z-axis <0.000000> speed <251.628251> / animSpeed; + turn lfshin to x-axis <0.000000> speed <1736.621359> / animSpeed; + turn lfshin to y-axis <0.000000> speed <364.929724> / animSpeed; + turn lfshin to z-axis <0.000000> speed <510.610588> / animSpeed; + turn lfthigh to x-axis <0.000000> speed <2851.946790> / animSpeed; + turn lfthigh to y-axis <0.000000> speed <517.135404> / animSpeed; + turn lfthigh to z-axis <0.000000> speed <1085.335351> / animSpeed; + turn rbfoot to x-axis <0.000000> speed <3294.969188> / animSpeed; + turn rbfoot to y-axis <0.000000> speed <218.329472> / animSpeed; + turn rbfoot to z-axis <0.000000> speed <531.166459> / animSpeed; + turn rbknee to x-axis <0.000000> speed <1647.648540> / animSpeed; + turn rbknee to y-axis <0.000000> speed <1588.938518> / animSpeed; + turn rbknee to z-axis <0.000000> speed <1213.980577> / animSpeed; + turn rbshin to x-axis <0.000000> speed <1110.808782> / animSpeed; + turn rbshin to y-axis <0.000000> speed <722.783980> / animSpeed; + turn rbshin to z-axis <0.000000> speed <582.757236> / animSpeed; + turn rbthigh to x-axis <0.000000> speed <5020.359453> / animSpeed; + turn rbthigh to y-axis <0.000000> speed <3222.114143> / animSpeed; + turn rbthigh to z-axis <0.000000> speed <3280.201508> / animSpeed; + turn rffoot to x-axis <0.000000> speed <2792.765826> / animSpeed; + turn rffoot to y-axis <0.000000> speed <608.095232> / animSpeed; + turn rffoot to z-axis <0.000000> speed <1031.912877> / animSpeed; + turn rfknee to x-axis <0.000000> speed <4175.483836> / animSpeed; + turn rfknee to y-axis <0.000000> speed <771.683929> / animSpeed; + turn rfknee to z-axis <0.000000> speed <381.371915> / animSpeed; + turn rfshin to x-axis <0.000000> speed <1962.949965> / animSpeed; + turn rfshin to y-axis <0.000000> speed <429.318413> / animSpeed; + turn rfshin to z-axis <0.000000> speed <386.012901> / animSpeed; + turn rfthigh to x-axis <0.000000> speed <3131.488333> / animSpeed; + turn rfthigh to y-axis <0.000000> speed <799.400751> / animSpeed; + turn rfthigh to z-axis <0.000000> speed <939.044684> / animSpeed; + turn tail to x-axis <0.000000> speed <534.319978> / animSpeed; + turn tail to y-axis <0.000000> speed <434.743504> / animSpeed; + turn tail to z-axis <0.000000> speed <19.028640> / animSpeed; } \ No newline at end of file diff --git a/scripts/Raptors/raptor_antinuke.bos b/scripts/Raptors/raptor_antinuke.bos index 958a2af98d5..c04bfc354b6 100644 --- a/scripts/Raptors/raptor_antinuke.bos +++ b/scripts/Raptors/raptor_antinuke.bos @@ -1,82 +1,162 @@ -#include "../recoil_common_includes.h" + +#define TA // This is a TA script + +#include "sfxtype.h" +#include "exptype.h" piece base, dbl, dbr, dtr, dtl, dummy; -static-var restore_delay, gun_1; +static-var Static_Var_1, restore_delay, gun_1, statechg_DesiredState, statechg_StateChanging; // Signal definitions -#define SIGNAL_AIM1 256 +#define SIG_AIM 2 + + +activatescr() +{ + if( TRUE ) + { + move dbl to x-axis [-8] speed [8]; + move dbl to z-axis [-8] speed [8]; + move dbr to x-axis [8] speed [8]; + move dbr to z-axis [-8] speed [8]; + move dtl to x-axis [-8] speed [8]; + move dtl to z-axis [8] speed [8]; + move dtr to x-axis [8] speed [8]; + move dtr to z-axis [8] speed [8]; + sleep 1768; + } + sleep 3; + return (0); +} + +deactivatescr() +{ + if( TRUE ) + { + move dbl to x-axis [0] speed [8]; + move dbl to z-axis [0] speed [8]; + move dbr to x-axis [0] speed [8]; + move dbr to z-axis [0] speed [8]; + move dtl to x-axis [0] speed [8]; + move dtl to z-axis [0] speed [8]; + move dtr to x-axis [0] speed [8]; + move dtr to z-axis [0] speed [8]; + sleep 1762; + } + sleep 14; + return (0); +} + + +Go() +{ + call-script activatescr(); + Static_Var_1 = 1; + return (0); +} + +Stop() +{ + Static_Var_1 = 0; + call-script deactivatescr(); + return (0); +} + +InitState() +{ + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; + return (0); +} + +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + call-script Go(); + currentstate = 0; + } + if( statechg_DesiredState == 1 ) + { + call-script Stop(); + currentstate = 1; + } + } + statechg_StateChanging = FALSE; + return (0); +} Create() { hide dummy; + Static_Var_1 = 0; restore_delay = 3000; + call-script InitState(); + return (0); } -#define BASEPIECE base -#define MAXTILT 0 -#include "../unit_hitbyweaponid_and_smoke.h" +#define SMOKEPIECE base +#include "smokeunit_thread_nohit.h" Activate() { - move dbl to x-axis [-8] speed [8]; - move dbl to z-axis [-8] speed [8]; - move dbr to x-axis [8] speed [8]; - move dbr to z-axis [-8] speed [8]; - move dtl to x-axis [-8] speed [8]; - move dtl to z-axis [8] speed [8]; - move dtr to x-axis [8] speed [8]; - move dtr to z-axis [8] speed [8]; + start-script RequestState(0); + return (0); } Deactivate() { - move dbl to x-axis [0] speed [8]; - move dbl to z-axis [0] speed [8]; - move dbr to x-axis [0] speed [8]; - move dbr to z-axis [0] speed [8]; - move dtl to x-axis [0] speed [8]; - move dtl to z-axis [0] speed [8]; - move dtr to x-axis [0] speed [8]; - move dtr to z-axis [0] speed [8]; + start-script RequestState(1); + return (0); } -SetMaxReloadTime(reloadMS) +SetMaxReloadTime(Func_Var_1) { - restore_delay = reloadMS * 2; + restore_delay = Func_Var_1 * 2; + return (0); } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - move dbl to x-axis [-8] speed [8]; - move dbl to z-axis [-8] speed [8]; - move dbr to x-axis [8] speed [8]; - move dbr to z-axis [-8] speed [8]; - move dtl to x-axis [-8] speed [8]; - move dtl to z-axis [8] speed [8]; - move dtr to x-axis [8] speed [8]; - move dtr to z-axis [8] speed [8]; - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + start-script RequestState(0); + signal SIG_AIM; + set-signal-mask SIG_AIM; return (1); } -FireWeapon1() +FirePrimary() { + return (0); } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex=dummy; + piecenum=dummy; + return (0); } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex=dummy; + piecenum=dummy; } - +SweetSpot(piecenum) +{ + piecenum = base; + return (0); +} Killed(severity, corpsetype) { diff --git a/scripts/Raptors/raptor_antinuke.cob b/scripts/Raptors/raptor_antinuke.cob index a2c80777e1f092a4a53ff5bbdcd2fb7ba1e9ab40..ab805117bf92f2ca8df952d09644064033760a79 100644 GIT binary patch literal 3338 zcmcImJ#Q015S=)|LE=LP6?85rDJ)8afCLC15mJaj2q{HOe8mYnHqM1$8eAYiX^;>V z1qB_VN7VTP(50h5LQnw(MG6GGH@jnRF6WR$VCiXhXXeev+qIJs5jhAHfz^Urv6aVr zMBW33_KFD$P2^+uGH z<++^nZR9!M@FqO^jQ54Yl!qerr5wLk`czTvrpW^s*Y^*@Ku!8StJT-i`Do`SFDHG2 zc=?)ufL`)7alU*_`aY}oG0yL)p!6*vD7Z=DthZvToQHYlS&9f8=r; z32NrmJEpmZBYTSo*B-SGeGRThD4}@8>>>#+aY|{m;2=jxOqC=g#w)Z95v99^2t;rqdjI^*Y`6I)%USgYJbi)0FFW z-UnmJ;r!Hz`>x;f9obv4_q3JVrsdyqn|_vCAG+^hD|ND3viF_n71kZ3gY{@@$k|G- zSsg?Epqi%RPHX;aefccT0n5NM;05ps_zL_2&Y<87Py_0~67UFE2A%@XftLXPPd@=% z0xkp7zzmQ8E#MyT5O@MS2VMhjfEC~!@B#P&d;@*}Yrs!H_TldpP@PMYJJmE^m}^Td z4o~NsQc0UFxj3Jsl@uW|9p7Gz7yRK&JEpDDXx@siAw(`D>3HXQTx~VyWz1)lv%Qp3 ziPOu~yVG&KS*=}78nKKejj49hsJ1&Yk+fsmUs;UX9XlXqqTTGpRhHs7t+bk{OeXbu XT$7vCg;;7g>j3&s3G5dejgI^Q&8qCT literal 2788 zcmds3J!@1^5S{(V8b6S0VPUs|ofa=PT3BRFh)NKQ5v_#01celef}V5loqcydvWsm3!=1TvX6DSixk-v5vI|mzT*`|S zaPsHPc99LpfgK`;U?0ONb7Dqt{9Q$SLDpa0#a54w$YtHUdBKM6H3+Pa6h+#Z?*4bC!WKG&SukN17 z;VS`t7VMedLyY?-8p~6nob721hH~$oSw9~`+jzgjv^fjz>@V*x(#D>$2dX-AV%dxC z?K)J=r@N^(cRq}>IsFcO_Hn$^8p@+x!`K&L>*F;V^84oFawPoS?TCz*%nyH`5AMU- zhvDa3IXB{8cs#H5ZHkQgUVi>XW;c^IuGgo#nZ=Fb&53NS^!vQCmo2&rd?$;37pUKMI@N4PoUXq=`S&n*JgoOW zyjFoHZ{?-7^3pz(m)e7PEik9&b;9#v{z1If7y}+Uue;t>Ug}p~>Q`QmJieP3XELnz z{jS=YOKYoNYpZ`)ZKlP)YH|ef9P)=cf|`($AQR0rZl!Xv+B&{+A&nOs*G?s&C6jSIzMLkr^~Tjy zDhsXZb>b(}Sk>9IbvnLrHmx<{$Q<4@1`f|O#BL4sq)WH-0 diff --git a/scripts/Raptors/raptor_artillery_v2.bos b/scripts/Raptors/raptor_artillery_v2.bos index aa0c315e725..9a822bdb354 100644 --- a/scripts/Raptors/raptor_artillery_v2.bos +++ b/scripts/Raptors/raptor_artillery_v2.bos @@ -1,16 +1,17 @@ piece base,torso, thigh1l, thigh1r, thigh2l, thigh2r, thigh3l, thigh3r, leg1l, leg1r, leg2l, leg2r, leg3l, leg3r, foot1l, foot1r, foot2l, foot2r, foot3l, foot3r, thor1, thor2, thor3, thor4, thor5, thor6, wingl, wingr, flare; -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" -#define SIGNAL_AIM1 256 +#define SIG_AIM 2 -static-var maxSpeed, animFramesPerKeyframe, isMoving, animSpeed, isDying, gun_1; +static-var maxSpeed, animFramesPerKeyframe, bMoving, animSpeed, isDying, gun_1; // For N:\animations\Raptors\raptor_walk_remaster_v2.blend Created by https://github.com/Beherith/Skeletor_S3O V((0, 3, 5)) #define MOVESCALE 100 // Higher values are bigger, 100 is default, for bigger/smaller units #define MOVESPEED 6 // At this movespeed and animamplitude, the ideal maxvelocity is 2.1 #define animAmplitude 100 -#define SIGNAL_MOVE 1 +#define SIG_WALK 64 //these defines are needed before includes! #include "raptor_walk_6legged.h" /* @@ -65,12 +66,12 @@ HitByWeapon(anglex, anglez, damage) // angle[x|z] is always [-500;500], damage i turn BASEPIECE to x-axis <0> - (anglex * amount) /100 speed HITSPEED; wait-for-turn BASEPIECE around z-axis; wait-for-turn BASEPIECE around x-axis; - turn BASEPIECE to z-axis <0.0> speed HITSPEED / 6; - turn BASEPIECE to x-axis <0.0> speed HITSPEED / 6; + turn BASEPIECE to z-axis <0.000000> speed HITSPEED / 6; + turn BASEPIECE to x-axis <0.000000> speed HITSPEED / 6; } static-var isSmoking; -BleedUnit(healthpercent, randpiece) // ah yes, clever use of stack variables +SmokeUnit(healthpercent, randpiece) // ah yes, clever use of stack variables { while( TRUE ) { @@ -100,7 +101,7 @@ HitByWeaponId(anglex, anglez, weaponid, dmg) //weaponID is always 0,lasers and f if( get BUILD_PERCENT_LEFT) return (100); if (isSmoking == 0) { isSmoking = 1; - start-script BleedUnit(); + start-script SmokeUnit(); } //get PRINT(anglex, anglez, weaponid, dmg); start-script HitByWeapon(dmg, anglez,anglex); //I dont know why param order must be switched, and this also runs a frame later :( @@ -135,17 +136,17 @@ UnitSpeed(){ } -StartMoving(reversing){ - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; - isMoving=TRUE; +StartMoving(){ + signal SIG_WALK; + set-signal-mask SIG_WALK; + bMoving=TRUE; start-script UnitSpeed(); start-script Walk(); } StopMoving(){ - signal SIGNAL_MOVE; - isMoving=FALSE; + signal SIG_WALK; + bMoving=FALSE; if (!isDying){ call-script StopWalking(); //start-script Idle(); @@ -196,16 +197,20 @@ RestoreAfterDelay() } +SweetSpot(piecenum) + { piecenum=torso; } + +AimFromPrimary(piecenum) + { piecenum=torso; } - -QueryWeapon1(pieceIndex) - { pieceIndex=flare; } +QueryPrimary(piecenum) + { piecenum=flare; } -AimWeapon1(heading,pitch) +AimPrimary(heading,pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; var tailspeed; tailspeed = 5; @@ -244,7 +249,7 @@ Killed( severity, corpsetype ) { isDying = TRUE; corpsetype = 1; - signal SIGNAL_MOVE; + signal SIG_WALK; emit-sfx 1025 from torso; if (RAND(0,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 literal 13347 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 Jv(@#P|f diff --git a/scripts/Raptors/raptor_artillery_xl_v2.bos b/scripts/Raptors/raptor_artillery_xl_v2.bos index f640ecb5d58..866ea7821b1 100644 --- a/scripts/Raptors/raptor_artillery_xl_v2.bos +++ b/scripts/Raptors/raptor_artillery_xl_v2.bos @@ -1,16 +1,17 @@ piece base,torso, thigh1l, thigh1r, thigh2l, thigh2r, thigh3l, thigh3r, leg1l, leg1r, leg2l, leg2r, leg3l, leg3r, foot1l, foot1r, foot2l, foot2r, foot3l, foot3r, thor1, thor2, thor3, thor4, thor5, thor6, wingl, wingr, flare; -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" -#define SIGNAL_AIM1 256 +#define SIG_AIM 2 -static-var maxSpeed, animFramesPerKeyframe, isMoving, animSpeed, isDying, gun_1; +static-var maxSpeed, animFramesPerKeyframe, bMoving, animSpeed, isDying, gun_1; // For N:\animations\Raptors\raptor_walk_remaster_v2.blend Created by https://github.com/Beherith/Skeletor_S3O V((0, 3, 5)) #define MOVESCALE 200 // Higher values are bigger, 100 is default, for bigger/smaller units #define MOVESPEED 12 // At this movespeed and animamplitude, the ideal maxvelocity is 2.1 #define animAmplitude 100 -#define SIGNAL_MOVE 1 +#define SIG_WALK 64 //these defines are needed before includes! #include "raptor_walk_6legged.h" /* @@ -65,16 +66,43 @@ HitByWeapon(anglex, anglez, damage) // angle[x|z] is always [-500;500], damage i turn BASEPIECE to x-axis <0> - (anglex * amount) /100 speed HITSPEED; wait-for-turn BASEPIECE around z-axis; wait-for-turn BASEPIECE around x-axis; - turn BASEPIECE to z-axis <0.0> speed HITSPEED / 6; - turn BASEPIECE to x-axis <0.0> speed HITSPEED / 6; + turn BASEPIECE to z-axis <0.000000> speed HITSPEED / 6; + turn BASEPIECE to x-axis <0.000000> speed HITSPEED / 6; } -#define SMOKE_SFX 1024 -#include "../damagedsmoke.h" +static-var isSmoking; +SmokeUnit(healthpercent, randpiece) // ah yes, clever use of stack variables +{ + while( TRUE ) + { + healthpercent = get HEALTH; + + if( healthpercent < 66 ) + { + randpiece = RAND(1, 3); + if (randpiece == 1) emit-sfx 1024 from BASEPIECE; + if (randpiece == 2) emit-sfx 1024 from wingl; + if (randpiece == 3) emit-sfx 1024 from wingr; + } + else { + isSmoking = 0; + return; + //break; // bos2cob.py does not like this one! + } + if (healthpercent < 4) healthpercent = 4; + sleep healthpercent * 50; + } + sleep 97; + isSmoking = 0; +} HitByWeaponId(anglex, anglez, weaponid, dmg) //weaponID is always 0,lasers and flamers give angles of 0 { if( get BUILD_PERCENT_LEFT) return (100); + if (isSmoking == 0) { + isSmoking = 1; + start-script SmokeUnit(); + } //get PRINT(anglex, anglez, weaponid, dmg); start-script HitByWeapon(dmg, anglez,anglex); //I dont know why param order must be switched, and this also runs a frame later :( return (100); //return damage percent @@ -108,17 +136,17 @@ UnitSpeed(){ } -StartMoving(reversing){ - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; - isMoving=TRUE; +StartMoving(){ + signal SIG_WALK; + set-signal-mask SIG_WALK; + bMoving=TRUE; start-script UnitSpeed(); start-script Walk(); } StopMoving(){ - signal SIGNAL_MOVE; - isMoving=FALSE; + signal SIG_WALK; + bMoving=FALSE; if (!isDying){ call-script StopWalking(); //start-script Idle(); @@ -148,8 +176,7 @@ Create() emit-sfx 1024 + 2 from torso; } gun_1 = 1; - SLEEP_UNTIL_UNITFINISHED; - start-script DamagedSmoke(); + return (0); } @@ -170,16 +197,20 @@ RestoreAfterDelay() } +SweetSpot(piecenum) + { piecenum=torso; } + +AimFromPrimary(piecenum) + { piecenum=torso; } - -QueryWeapon1(pieceIndex) - { pieceIndex=flare; } +QueryPrimary(piecenum) + { piecenum=flare; } -AimWeapon1(heading,pitch) +AimPrimary(heading,pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; var tailspeed; tailspeed = 5; @@ -218,7 +249,7 @@ Killed( severity, corpsetype ) { isDying = TRUE; corpsetype = 1; - signal SIGNAL_MOVE; + signal SIG_WALK; emit-sfx 1025 from torso; if (RAND(0,100)8MWj7+d7S`}--KUAy=*lNd)br7i5@>3MWpY(kD_B@XJ-u^i{(>Js4-gocW z@18y9?AdSk-up_DBuP;@gi4=YNz#S3_{=^pNnWMW_536`hJLrwwkXvpRfUtSrKu9y z?}Yuj(o`Ak;9Rf$JE?60j#m_?a7^u26)X8-9H)I8uj%OM$elN2lkz0BFNp#lGG8q# z3dUXbo*TEjz%9#U@k8`oOUk?Sg$-HXar@Y1VK-@qI^D)XI=~M53Ec7LhTC`A=WaXn z5V$8j5^mq69{ctbxMh!o+hL{04tojQ7aGHHo2a78Z+i>epO3c7ntr?TE4O{i1nyvR zqD==A_jZpRD712M*8XNV?%TSL+TyIMz^eYS$rZL&*kw(9U-8&Ma)pDJ zhT{(KjAh6@oV&J^h5N02vpdcdCSk+3_t1pJ=3~Vfv@IO>4@cT%5f75v^c!QBHRItk&zwqfo284x?Yn8a+rE<9oJVUFq5bU) z4`+hU@B!Wz!@_Y_=sFFkTwo0YxSV(T(|*p59?rBt=gEnq!);e|uw8HXTCS&@-n}%~ zcE=p*#+4lDj>d3(Cw}Snwd6=kCWPbOMGD#C0(Oub>9B!atg<;@Y3{Y%!$BoSdhLvG zeTQsy+d*=qBZk`BX6pO*&)m3@Bi(&w61z7MI^7N9x&Xmo@G1 zGY?mk9BJ8%Vyg}&?pGfBN{&=>Lb$#qG>EwDAUV>b)9kXQzQ^uz`we-DbJfnl;qkk} zld}~jVWUl3-VDdR*2C!}M|x;pIPPsn*lmXVAUV>-L+rAqeTRGES8}9{JHl~&oI`S? zwv)nfS9|iWA+Rt`S&VvxGNqcN2+*8kq`M>5k$Nu-*LTN(cG-mH8qvX=vg=^R*-s+Yk)Dc}hac{FPOGcv`&}bA=pxTL zo#aR_(M4>&FzwLolW>mIE#kR`F`jv?QFWxBkxF#v?_ul#jGR6aHO7;2wnP0j&x_lc(KEi&m>2hdvEx-c_>YqUHVFn zbVmfo|D|UgRC1)7BRGEZ+wOk+Z8=iNdJm;EWvdvD6oUJ0IMUUW2;sMNJ;Lva?eaVW zD>>5qhzYP;T;z1r>pd~=cO4S(%y!KCT`|vW*Xev= zi%og2Ejc@U?2386>%xd<;$zN@q69O>w4yR512haOyT8IFgT zbuXX3k|Sl7h3gyhKH60g_u^yTM{9EMYtz0l@1w1cc;_JIeYF3Fdu`w4du~b9o_F67 zXGu+|dbb_(=aP!-d*0~Vb%Π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 diff --git a/scripts/Raptors/raptor_create_move.h b/scripts/Raptors/raptor_create_move.h index 024d05c0af5..b908ed09b4b 100644 --- a/scripts/Raptors/raptor_create_move.h +++ b/scripts/Raptors/raptor_create_move.h @@ -15,17 +15,17 @@ UnitSpeed(){ } -StartMoving(reversing){ - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; - isMoving=TRUE; +StartMoving(){ + signal SIG_WALK; + set-signal-mask SIG_WALK; + bMoving=TRUE; start-script UnitSpeed(); start-script Walk(); } StopMoving(){ - signal SIGNAL_MOVE; - isMoving=FALSE; + signal SIG_WALK; + bMoving=FALSE; if (!isDying){ call-script StopWalking(); start-script Idle(); @@ -57,7 +57,10 @@ Create() } - +SweetSpot(piecenum) +{ + piecenum=body; +} RestoreAfterDelay() diff --git a/scripts/Raptors/raptor_create_move_SWIM.h b/scripts/Raptors/raptor_create_move_SWIM.h index a03bcdc9eda..bfaac27f059 100644 --- a/scripts/Raptors/raptor_create_move_SWIM.h +++ b/scripts/Raptors/raptor_create_move_SWIM.h @@ -8,14 +8,14 @@ UnitSpeed(){ var unitxz; while(TRUE){ - //get PRINT ((GET UNIT_Y)/65000, isMoving, 2, 3); - if (isMoving == TRUE){ + //get PRINT ((GET UNIT_Y)/65000, bMoving, 2, 3); + if (bMoving == TRUE){ unitxz = (get UNIT_XZ); groundheight = 0; if (unitxz > 0 ){ groundheight = (get GROUND_WATER_HEIGHT(unitxz)); } - groundheight = groundheight /[1.0]; + groundheight = groundheight /[1.0000]; //groundheight = (get GROUND_WATER_HEIGHT (get UNIT_XZ))/65536; //get PRINT (groundheight, get IN_WATER, get GAME_FRAME); @@ -26,7 +26,7 @@ UnitSpeed(){ start-script UnitSpeed(); start-script Walk(); isSwimming = FALSE; - signal SIGNAL_MOVE; + signal SIG_WALK; } }else{ @@ -35,7 +35,7 @@ UnitSpeed(){ start-script Swim(); start-script UnitSpeed(); isSwimming = TRUE; - signal SIGNAL_MOVE; + signal SIG_WALK; } } } @@ -50,18 +50,18 @@ UnitSpeed(){ } -StartMoving(reversing){ - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; - isMoving=TRUE; +StartMoving(){ + signal SIG_WALK; + set-signal-mask SIG_WALK; + bMoving=TRUE; start-script UnitSpeed(); if (isSwimming == TRUE) start-script Swim(); else start-script Walk(); } StopMoving(){ - signal SIGNAL_MOVE; - isMoving=FALSE; + signal SIG_WALK; + bMoving=FALSE; if (!isDying){ if (isSwimming == TRUE ) call-script StopSwimming(); else call-script StopWalking(); @@ -95,7 +95,10 @@ Create() } - +SweetSpot(piecenum) +{ + piecenum=body; +} RestoreAfterDelay() diff --git a/scripts/Raptors/raptor_death_2legged_ptaq.h b/scripts/Raptors/raptor_death_2legged_ptaq.h index 9769175acf6..5172de71160 100644 --- a/scripts/Raptors/raptor_death_2legged_ptaq.h +++ b/scripts/Raptors/raptor_death_2legged_ptaq.h @@ -5,7 +5,7 @@ static-var DEATHSPEEDPTAQ; //use call-script DeathAnim(); from Killed() DeathAnimPtaq() {// For C:\Users\Peti\Downloads\raptor_death_remaster_v2.blend Created by https://github.com/Beherith/Skeletor_S3O V((0, 3, 5)) - signal SIGNAL_MOVE; + signal SIG_WALK; call-script StopWalking(); turn aimy1 to y-axis <0> speed <120>; if (TRUE) { //Frame:3 @@ -37,7 +37,7 @@ DeathAnimPtaq() {// For C:\Users\Peti\Downloads\raptor_death_remaster_v2.blend C turn tail to y-axis ((<0.694459> *DEATHAMPLIDUTE)/100) speed ((<71.337066> *DEATHAMPLIDUTE)/100) / DEATHSPEEDPTAQ; //delta=-2.38 //sleep ((33*DEATHSPEEDPTAQ) -1); sleep ((33*DEATHSPEEDPTAQ) -1); - signal SIGNAL_MOVE; + signal SIG_WALK; } if (TRUE) { //Frame:4 DEATHSPEEDPTAQ = 1; @@ -678,7 +678,7 @@ DeathAnimPtaq() {// For C:\Users\Peti\Downloads\raptor_death_remaster_v2.blend C turn rfoot to x-axis ((<98.315635> *DEATHAMPLIDUTE)/100) speed ((<492.433007> *DEATHAMPLIDUTE)/100) / DEATHSPEEDPTAQ; //delta=-16.41 turn rfoot to z-axis ((<-76.874899> *DEATHAMPLIDUTE)/100) speed ((<707.923904> *DEATHAMPLIDUTE)/100) / DEATHSPEEDPTAQ; //delta=-23.60 - turn rfoot to y-axis ((<23.455648> *DEATHAMPLIDUTE)/100) speed ((<1112.0> *DEATHAMPLIDUTE)/100) / DEATHSPEEDPTAQ; //delta=-37.07 + turn rfoot to y-axis ((<23.455648> *DEATHAMPLIDUTE)/100) speed ((<1112.000969> *DEATHAMPLIDUTE)/100) / DEATHSPEEDPTAQ; //delta=-37.07 turn rknee to x-axis ((<-53.300167> *DEATHAMPLIDUTE)/100) speed ((<1424.420140> *DEATHAMPLIDUTE)/100) / DEATHSPEEDPTAQ; //delta=47.48 turn rknee to z-axis ((<16.245854> *DEATHAMPLIDUTE)/100) speed ((<199.763106> *DEATHAMPLIDUTE)/100) / DEATHSPEEDPTAQ; //delta=-6.66 turn rknee to y-axis ((<20.983205> *DEATHAMPLIDUTE)/100) speed ((<361.285768> *DEATHAMPLIDUTE)/100) / DEATHSPEEDPTAQ; //delta=12.04 diff --git a/scripts/Raptors/raptor_death_2legged_v2.h b/scripts/Raptors/raptor_death_2legged_v2.h index 15e96435561..c0c11d13512 100644 --- a/scripts/Raptors/raptor_death_2legged_v2.h +++ b/scripts/Raptors/raptor_death_2legged_v2.h @@ -5,7 +5,7 @@ //use call-script DeathAnim(); from Killed() DeathAnim() {// For N:\animations\Raptors\raptor_death_remaster_v2.blend Created by https://github.com/Beherith/Skeletor_S3O V((0, 3, 5)) - signal SIGNAL_MOVE; + signal SIG_WALK; call-script StopWalking(); if (TRUE) { //Frame:10 move body to z-axis (((([-5.896167] *DEATHSCALE)/100) *DEATHAMPLIDUTE)/100) speed (((([176.885018] *DEATHSCALE)/100) *DEATHAMPLIDUTE)/100) / DEATHSPEED; //delta=-5.90 diff --git a/scripts/Raptors/raptor_death_allterrain.h b/scripts/Raptors/raptor_death_allterrain.h index 7716671dc06..b82157bc959 100644 --- a/scripts/Raptors/raptor_death_allterrain.h +++ b/scripts/Raptors/raptor_death_allterrain.h @@ -8,7 +8,7 @@ static-var death_speed; DeathAnim() {// For N:\animations\raptor_allterrain_death_V1.blend Created by https://github.com/Beherith/Skeletor_S3O V((0, 3, 5)) - signal SIGNAL_MOVE; + signal SIG_WALK; call-script StopWalking(); //turn aimy1 to y-axis <0> speed <120>; //turn aimx1 to x-axis <0> speed <120>; diff --git a/scripts/Raptors/raptor_dodo1.bos b/scripts/Raptors/raptor_dodo1.bos index f4b7cf1f892..ad3a2122403 100644 --- a/scripts/Raptors/raptor_dodo1.bos +++ b/scripts/Raptors/raptor_dodo1.bos @@ -1,13 +1,14 @@ piece base, body, head,tail,lthigh,lknee,lshin,lfoot,rthigh,rknee,rshin,rfoot,rsack,lsack,rblade,lblade,mblade,spike1,spike2,spike3,aimy1; // Signal definitions -#define SIGNAL_AIM1 256 -#define SIGNAL_AIM2 512 -#define SIGNAL_MOVE 1 +#define SIG_AIM 2 +#define SIG_AIM_2 4 +#define SIG_MOVE 16 -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" -static-var maxSpeed, animFramesPerKeyframe, isMoving, animSpeed,isDying,gun_1; +static-var maxSpeed, animFramesPerKeyframe, bMoving, animSpeed,isDying,gun_1; // For N:\animations\Raptors\raptor_walk_remaster_v2.blend Created by https://github.com/Beherith/Skeletor_S3O V((0, 3, 5)) #define MOVESCALE 27 //Higher values are bigger, 100 is default @@ -17,7 +18,7 @@ static-var maxSpeed, animFramesPerKeyframe, isMoving, animSpeed,isDying,gun_1; #define RUHAND rsack #define LLHAND lsack //define these as the left and right head thingies #define RLHAND rsack -#define SIGNAL_MOVE 1 +#define SIG_WALK 64 //these defines are needed before includes! #include "raptor_walk_2legged_v2.h" #define IDLEMOVESCALE 27 diff --git a/scripts/Raptors/raptor_dodo1.cob b/scripts/Raptors/raptor_dodo1.cob index 45eb98c0c21e7357089de142648a462fcb8a2e21..255e1a3bf6666a73d432c646236f805dddf91de5 100644 GIT binary patch literal 67930 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 literal 66778 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 XPrua4G51y_daD}i)@Q(|%CY|gVG%%C diff --git a/scripts/Raptors/raptor_dodo2.bos b/scripts/Raptors/raptor_dodo2.bos index 181cfc56b64..0b091d2f715 100644 --- a/scripts/Raptors/raptor_dodo2.bos +++ b/scripts/Raptors/raptor_dodo2.bos @@ -1,8 +1,9 @@ piece base, body, head,tail,lthigh,lknee,lshin,lfoot,rthigh,rknee,rshin,rfoot,rsack,lsack,rblade,lblade,mblade,spike1,spike2,spike3,aimy1; -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" -static-var gun_1,maxSpeed, animFramesPerKeyframe, isMoving, animSpeed, isDying; +static-var gun_1,maxSpeed, animFramesPerKeyframe, bMoving, animSpeed, isDying; // For N:\animations\Raptors\raptor_walk_remaster_v2.blend Created by https://github.com/Beherith/Skeletor_S3O V((0, 3, 5)) #define MOVESCALE 47 //Higher values are bigger, 100 is default @@ -12,7 +13,7 @@ static-var gun_1,maxSpeed, animFramesPerKeyframe, isMoving, animSpeed, isDying; #define RUHAND rsack #define LLHAND lsack //define these as the left and right head thingies #define RLHAND rsack -#define SIGNAL_MOVE 1 +#define SIG_WALK 64 //these defines are needed before includes! #include "raptor_walk_2legged_v2.h" diff --git a/scripts/Raptors/raptor_dodo2.cob b/scripts/Raptors/raptor_dodo2.cob index 0ceb84c87f0b036724910c4d848269f995434c6e..204ff0e44749537297cc5bb51bb9e590583ed40a 100644 GIT binary patch literal 67930 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 literal 66778 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 WJEdC8y *animAmplitude)/100) speed ((<830.999934> *animAmplitude)/100) / animspeed; //delta=%.2f turn riwing to z-axis ((<27.699998> *animAmplitude)/100) speed ((<830.999934> *animAmplitude)/100) / animspeed; //delta=%.2f sleep ((33*animSpeed) -1); } - while(isMoving) { + while(bMoving) { animAmplitude = animAmplitude +10; if (animAmplitude > 250) animAmplitude = 10; animAmplitude = RAND(40,160); //animSpeed = RAND(2,4); - if (isMoving) { //Frame:9 + if (bMoving) { //Frame:9 //move body to y-axis (((([0.120312] *MOVESCALE)/100) *animAmplitude)/100) speed (((([3.609375] *MOVESCALE)/100) *animAmplitude)/100) / animspeed; //delta=%.2f move body to y-axis (((([0.120312] *MOVESCALE)/100) *animAmplitude)/100) speed (((([3.609375] *MOVESCALE)/100) *animAmplitude)/100) / animspeed; //delta=%.2f @@ -26,7 +26,7 @@ Walk() {// For N:\animations\Raptors\raptor_flight_2seg_anim_v1.blend Created by turn rowing to z-axis ((<9.612499> *animAmplitude)/100) speed ((<288.374975> *animAmplitude)/100) / animspeed; //delta=%.2f sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:12 + if (bMoving) { //Frame:12 move body to z-axis (((([0.323437] *MOVESCALE)/100) *animAmplitude)/100) speed (((([7.034765] *MOVESCALE)/100) *animAmplitude)/100) / animspeed; //delta=%.2f move body to y-axis (((([0.437500] *MOVESCALE)/100) *animAmplitude)/100) speed (((([9.515625] *MOVESCALE)/100) *animAmplitude)/100) / animspeed; //delta=%.2f turn body to x-axis ((<2.250000> *animAmplitude)/100) speed ((<46.406246> *animAmplitude)/100) / animspeed; //delta=%.2f @@ -36,7 +36,7 @@ Walk() {// For N:\animations\Raptors\raptor_flight_2seg_anim_v1.blend Created by turn rowing to z-axis ((<25.799998> *animAmplitude)/100) speed ((<485.624964> *animAmplitude)/100) / animspeed; //delta=%.2f sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:15 + if (bMoving) { //Frame:15 move body to z-axis (((([0.654961] *MOVESCALE)/100) *animAmplitude)/100) speed (((([9.945700] *MOVESCALE)/100) *animAmplitude)/100) / animspeed; //delta=%.2f move body to y-axis (((([0.885938] *MOVESCALE)/100) *animAmplitude)/100) speed (((([13.453127] *MOVESCALE)/100) *animAmplitude)/100) / animspeed; //delta=%.2f turn body to x-axis ((<3.796875> *animAmplitude)/100) speed ((<46.406250> *animAmplitude)/100) / animspeed; //delta=%.2f @@ -46,7 +46,7 @@ Walk() {// For N:\animations\Raptors\raptor_flight_2seg_anim_v1.blend Created by turn rowing to z-axis ((<34.374997> *animAmplitude)/100) speed ((<257.249957> *animAmplitude)/100) / animspeed; //delta=%.2f sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:18 + if (bMoving) { //Frame:18 move body to z-axis (((([1.035000] *MOVESCALE)/100) *animAmplitude)/100) speed (((([11.401171] *MOVESCALE)/100) *animAmplitude)/100) / animspeed; //delta=%.2f move body to y-axis (((([1.400000] *MOVESCALE)/100) *animAmplitude)/100) speed (((([15.421879] *MOVESCALE)/100) *animAmplitude)/100) / animspeed; //delta=%.2f turn body to x-axis ((<4.500000> *animAmplitude)/100) speed ((<21.093746> *animAmplitude)/100) / animspeed; //delta=%.2f @@ -56,7 +56,7 @@ Walk() {// For N:\animations\Raptors\raptor_flight_2seg_anim_v1.blend Created by turn rowing to z-axis ((<40.299994> *animAmplitude)/100) speed ((<177.749936> *animAmplitude)/100) / animspeed; //delta=%.2f sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:21 + if (bMoving) { //Frame:21 move body to z-axis (((([1.415039] *MOVESCALE)/100) *animAmplitude)/100) speed (((([11.401169] *MOVESCALE)/100) *animAmplitude)/100) / animspeed; //delta=%.2f move body to y-axis (((([1.914063] *MOVESCALE)/100) *animAmplitude)/100) speed (((([15.421876] *MOVESCALE)/100) *animAmplitude)/100) / animspeed; //delta=%.2f turn body to x-axis ((<4.130859> *animAmplitude)/100) speed ((<11.074217> *animAmplitude)/100) / animspeed; //delta=%.2f @@ -66,7 +66,7 @@ Walk() {// For N:\animations\Raptors\raptor_flight_2seg_anim_v1.blend Created by turn rowing to z-axis ((<49.862491> *animAmplitude)/100) speed ((<286.874912> *animAmplitude)/100) / animspeed; //delta=%.2f sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:24 + if (bMoving) { //Frame:24 move body to z-axis (((([1.746562] *MOVESCALE)/100) *animAmplitude)/100) speed (((([9.945703] *MOVESCALE)/100) *animAmplitude)/100) / animspeed; //delta=%.2f move body to y-axis (((([2.362500] *MOVESCALE)/100) *animAmplitude)/100) speed (((([13.453124] *MOVESCALE)/100) *animAmplitude)/100) / animspeed; //delta=%.2f turn body to x-axis ((<3.140625> *animAmplitude)/100) speed ((<29.707033> *animAmplitude)/100) / animspeed; //delta=%.2f @@ -76,7 +76,7 @@ Walk() {// For N:\animations\Raptors\raptor_flight_2seg_anim_v1.blend Created by turn rowing to z-axis ((<55.499993> *animAmplitude)/100) speed ((<169.125046> *animAmplitude)/100) / animspeed; //delta=%.2f sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:27 + if (bMoving) { //Frame:27 move body to z-axis (((([1.981054] *MOVESCALE)/100) *animAmplitude)/100) speed (((([7.034765] *MOVESCALE)/100) *animAmplitude)/100) / animspeed; //delta=%.2f move body to y-axis (((([2.679688] *MOVESCALE)/100) *animAmplitude)/100) speed (((([9.515619] *MOVESCALE)/100) *animAmplitude)/100) / animspeed; //delta=%.2f turn body to x-axis ((<1.705078> *animAmplitude)/100) speed ((<43.066402> *animAmplitude)/100) / animspeed; //delta=%.2f @@ -86,16 +86,16 @@ Walk() {// For N:\animations\Raptors\raptor_flight_2seg_anim_v1.blend Created by turn rowing to z-axis ((<36.122494> *animAmplitude)/100) speed ((<581.324982> *animAmplitude)/100) / animspeed; //delta=%.2f sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:30 + if (bMoving) { //Frame:30 move body to y-axis (((([2.800000] *MOVESCALE)/100) *animAmplitude)/100) speed (((([3.609374] *MOVESCALE)/100) *animAmplitude)/100) / animspeed; //delta=%.2f - turn body to x-axis ((<-0.0> *animAmplitude)/100) speed ((<51.152339> *animAmplitude)/100) / animspeed; //delta=%.2f + turn body to x-axis ((<-0.000000> *animAmplitude)/100) speed ((<51.152339> *animAmplitude)/100) / animspeed; //delta=%.2f turn liwing to z-axis ((<34.899999> *animAmplitude)/100) speed ((<162.227614> *animAmplitude)/100) / animspeed; //delta=%.2f turn lowing to z-axis ((<-4.099997> *animAmplitude)/100) speed ((<960.674901> *animAmplitude)/100) / animspeed; //delta=%.2f turn riwing to z-axis ((<-34.899999> *animAmplitude)/100) speed ((<162.227614> *animAmplitude)/100) / animspeed; //delta=%.2f turn rowing to z-axis ((<4.099997> *animAmplitude)/100) speed ((<960.674901> *animAmplitude)/100) / animspeed; //delta=%.2f sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:33 + if (bMoving) { //Frame:33 move body to y-axis (((([2.679688] *MOVESCALE)/100) *animAmplitude)/100) speed (((([3.609374] *MOVESCALE)/100) *animAmplitude)/100) / animspeed; //delta=%.2f turn body to x-axis ((<-1.783203> *animAmplitude)/100) speed ((<53.496092> *animAmplitude)/100) / animspeed; //delta=%.2f turn liwing to z-axis ((<29.175696> *animAmplitude)/100) speed ((<171.729090> *animAmplitude)/100) / animspeed; //delta=%.2f @@ -104,7 +104,7 @@ Walk() {// For N:\animations\Raptors\raptor_flight_2seg_anim_v1.blend Created by turn rowing to z-axis ((<-10.700002> *animAmplitude)/100) speed ((<443.999965> *animAmplitude)/100) / animspeed; //delta=%.2f sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:36 + if (bMoving) { //Frame:36 move body to z-axis (((([1.746562] *MOVESCALE)/100) *animAmplitude)/100) speed (((([7.034765] *MOVESCALE)/100) *animAmplitude)/100) / animspeed; //delta=%.2f move body to y-axis (((([2.362500] *MOVESCALE)/100) *animAmplitude)/100) speed (((([9.515626] *MOVESCALE)/100) *animAmplitude)/100) / animspeed; //delta=%.2f turn body to x-axis ((<-3.390625> *animAmplitude)/100) speed ((<48.222652> *animAmplitude)/100) / animspeed; //delta=%.2f @@ -114,7 +114,7 @@ Walk() {// For N:\animations\Raptors\raptor_flight_2seg_anim_v1.blend Created by turn rowing to z-axis ((<-15.600002> *animAmplitude)/100) speed ((<146.999997> *animAmplitude)/100) / animspeed; //delta=%.2f sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:39 + if (bMoving) { //Frame:39 move body to z-axis (((([1.415039] *MOVESCALE)/100) *animAmplitude)/100) speed (((([9.945703] *MOVESCALE)/100) *animAmplitude)/100) / animspeed; //delta=%.2f move body to y-axis (((([1.914062] *MOVESCALE)/100) *animAmplitude)/100) speed (((([13.453127] *MOVESCALE)/100) *animAmplitude)/100) / animspeed; //delta=%.2f turn body to x-axis ((<-4.552734> *animAmplitude)/100) speed ((<34.863273> *animAmplitude)/100) / animspeed; //delta=%.2f @@ -124,7 +124,7 @@ Walk() {// For N:\animations\Raptors\raptor_flight_2seg_anim_v1.blend Created by turn rowing to z-axis ((<-22.872500> *animAmplitude)/100) speed ((<218.174957> *animAmplitude)/100) / animspeed; //delta=%.2f sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:42 + if (bMoving) { //Frame:42 move body to z-axis (((([1.035000] *MOVESCALE)/100) *animAmplitude)/100) speed (((([11.401169] *MOVESCALE)/100) *animAmplitude)/100) / animspeed; //delta=%.2f move body to y-axis (((([1.400000] *MOVESCALE)/100) *animAmplitude)/100) speed (((([15.421879] *MOVESCALE)/100) *animAmplitude)/100) / animspeed; //delta=%.2f turn body to x-axis ((<-4.999999> *animAmplitude)/100) speed ((<13.417966> *animAmplitude)/100) / animspeed; //delta=%.2f @@ -134,7 +134,7 @@ Walk() {// For N:\animations\Raptors\raptor_flight_2seg_anim_v1.blend Created by turn rowing to z-axis ((<-27.400001> *animAmplitude)/100) speed ((<135.825005> *animAmplitude)/100) / animspeed; //delta=%.2f sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:45 + if (bMoving) { //Frame:45 move body to z-axis (((([0.654961] *MOVESCALE)/100) *animAmplitude)/100) speed (((([11.401169] *MOVESCALE)/100) *animAmplitude)/100) / animspeed; //delta=%.2f move body to y-axis (((([0.885937] *MOVESCALE)/100) *animAmplitude)/100) speed (((([15.421874] *MOVESCALE)/100) *animAmplitude)/100) / animspeed; //delta=%.2f turn body to x-axis ((<-4.218750> *animAmplitude)/100) speed ((<23.437495> *animAmplitude)/100) / animspeed; //delta=%.2f @@ -144,7 +144,7 @@ Walk() {// For N:\animations\Raptors\raptor_flight_2seg_anim_v1.blend Created by turn rowing to z-axis ((<-25.687501> *animAmplitude)/100) speed ((<51.374975> *animAmplitude)/100) / animspeed; //delta=%.2f sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:48 + if (bMoving) { //Frame:48 move body to z-axis (((([0.323438] *MOVESCALE)/100) *animAmplitude)/100) speed (((([9.945703] *MOVESCALE)/100) *animAmplitude)/100) / animspeed; //delta=%.2f move body to y-axis (((([0.437500] *MOVESCALE)/100) *animAmplitude)/100) speed (((([13.453124] *MOVESCALE)/100) *animAmplitude)/100) / animspeed; //delta=%.2f turn body to x-axis ((<-2.500000> *animAmplitude)/100) speed ((<51.562496> *animAmplitude)/100) / animspeed; //delta=%.2f @@ -154,7 +154,7 @@ Walk() {// For N:\animations\Raptors\raptor_flight_2seg_anim_v1.blend Created by turn rowing to z-axis ((<-18.837501> *animAmplitude)/100) speed ((<205.500004> *animAmplitude)/100) / animspeed; //delta=%.2f sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:51 + if (bMoving) { //Frame:51 move body to z-axis (((([0.088945] *MOVESCALE)/100) *animAmplitude)/100) speed (((([7.034768] *MOVESCALE)/100) *animAmplitude)/100) / animspeed; //delta=%.2f move body to y-axis (((([0.120312] *MOVESCALE)/100) *animAmplitude)/100) speed (((([9.515622] *MOVESCALE)/100) *animAmplitude)/100) / animspeed; //delta=%.2f turn body to x-axis ((<-0.781250> *animAmplitude)/100) speed ((<51.562496> *animAmplitude)/100) / animspeed; //delta=%.2f @@ -164,25 +164,25 @@ Walk() {// For N:\animations\Raptors\raptor_flight_2seg_anim_v1.blend Created by turn rowing to z-axis ((<-6.850001> *animAmplitude)/100) speed ((<359.625020> *animAmplitude)/100) / animspeed; //delta=%.2f sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:54 - move body to y-axis (((([0.0] *MOVESCALE)/100) *animAmplitude)/100) speed (((([3.609373] *MOVESCALE)/100) *animAmplitude)/100) / animspeed; //delta=%.2f - turn body to x-axis ((<-0.0> *animAmplitude)/100) speed ((<23.437495> *animAmplitude)/100) / animspeed; //delta=%.2f + if (bMoving) { //Frame:54 + move body to y-axis (((([0.000000] *MOVESCALE)/100) *animAmplitude)/100) speed (((([3.609373] *MOVESCALE)/100) *animAmplitude)/100) / animspeed; //delta=%.2f + turn body to x-axis ((<-0.000000> *animAmplitude)/100) speed ((<23.437495> *animAmplitude)/100) / animspeed; //delta=%.2f turn liwing to z-axis ((<-27.699998> *animAmplitude)/100) speed ((<27.119727> *animAmplitude)/100) / animspeed; //delta=%.2f - turn lowing to z-axis ((<0.0> *animAmplitude)/100) speed ((<205.500017> *animAmplitude)/100) / animspeed; //delta=%.2f + turn lowing to z-axis ((<0.000000> *animAmplitude)/100) speed ((<205.500017> *animAmplitude)/100) / animspeed; //delta=%.2f turn riwing to z-axis ((<27.699998> *animAmplitude)/100) speed ((<27.119727> *animAmplitude)/100) / animspeed; //delta=%.2f - turn rowing to z-axis ((<-0.0> *animAmplitude)/100) speed ((<205.500017> *animAmplitude)/100) / animspeed; //delta=%.2f + turn rowing to z-axis ((<-0.000000> *animAmplitude)/100) speed ((<205.500017> *animAmplitude)/100) / animspeed; //delta=%.2f sleep ((33*animSpeed) -1); } } } -// Call this from StopMoving()! +// Call this from MotionControl()! StopWalking() { animSpeed = 10; // tune restore speed here, higher values are slower restore speeds - move body to y-axis ([0.0]*MOVESCALE)/100 speed (([51.406264]*MOVESCALE)/100) / animSpeed; - move body to z-axis ([0.0]*MOVESCALE)/100 speed (([38.003904]*MOVESCALE)/100) / animSpeed; - turn body to x-axis <0.0> speed <178.320306> / animSpeed; - turn liwing to z-axis <0.0> speed <1449.098505> / animSpeed; - turn lowing to z-axis <0.0> speed <3202.249669> / animSpeed; - turn riwing to z-axis <0.0> speed <1449.098505> / animSpeed; - turn rowing to z-axis <0.0> speed <3202.249669> / animSpeed; + move body to y-axis ([0.000000]*MOVESCALE)/100 speed (([51.406264]*MOVESCALE)/100) / animSpeed; + move body to z-axis ([0.000000]*MOVESCALE)/100 speed (([38.003904]*MOVESCALE)/100) / animSpeed; + turn body to x-axis <0.000000> speed <178.320306> / animSpeed; + turn liwing to z-axis <0.000000> speed <1449.098505> / animSpeed; + turn lowing to z-axis <0.000000> speed <3202.249669> / animSpeed; + turn riwing to z-axis <0.000000> speed <1449.098505> / animSpeed; + turn rowing to z-axis <0.000000> speed <3202.249669> / animSpeed; } \ No newline at end of file diff --git a/scripts/Raptors/raptor_hitbyweapon.h b/scripts/Raptors/raptor_hitbyweapon.h index ec5914488cb..f09e8017f7a 100644 --- a/scripts/Raptors/raptor_hitbyweapon.h +++ b/scripts/Raptors/raptor_hitbyweapon.h @@ -40,14 +40,44 @@ HitByWeapon(anglex, anglez, damage) // angle[x|z] is always [-500;500], damage i turn BASEPIECE to x-axis <0> - (anglex * amount) /100 speed HITSPEED; wait-for-turn BASEPIECE around z-axis; wait-for-turn BASEPIECE around x-axis; - turn BASEPIECE to z-axis <0.0> speed HITSPEED / 6; - turn BASEPIECE to x-axis <0.0> speed HITSPEED / 6; + turn BASEPIECE to z-axis <0.000000> speed HITSPEED / 6; + turn BASEPIECE to x-axis <0.000000> speed HITSPEED / 6; } +// static-var isSmoking; +// SmokeUnit(healthpercent, randpiece) // ah yes, clever use of stack variables +// { +// while( TRUE ) +// { +// healthpercent = get HEALTH; + +// if( healthpercent < 66 ) +// { +// randpiece = RAND(1, 3); +// if (randpiece == 1) emit-sfx 1024 from BASEPIECE; +// if (randpiece == 2) emit-sfx 1024 from head; +// if (randpiece == 3) emit-sfx 1024 from tail; +// } +// else { +// isSmoking = 0; +// return; +// //break; // bos2cob.py does not like this one! +// } +// if (healthpercent < 4) healthpercent = 4; +// sleep healthpercent * 50; +// } +// sleep 97; +// isSmoking = 0; +// } + HitByWeaponId(anglex, anglez, weaponid, dmg) //weaponID is always 0,lasers and flamers give angles of 0 { if( get BUILD_PERCENT_LEFT) return (100); - + // if (isSmoking == 0) { + // isSmoking = 1; + // start-script SmokeUnit(); + // } + //get PRINT(anglex, anglez, weaponid, dmg); start-script HitByWeapon(dmg, anglez,anglex); //I dont know why param order must be switched, and this also runs a frame later :( return (100); //return damage percent } diff --git a/scripts/Raptors/raptor_hive.bos b/scripts/Raptors/raptor_hive.bos index 52047aface5..6d6f56902bc 100644 --- a/scripts/Raptors/raptor_hive.bos +++ b/scripts/Raptors/raptor_hive.bos @@ -1,5 +1,7 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, emit, launcher, arm; @@ -9,16 +11,18 @@ Create() hide launcher; hide emit; hide base; + dont-shade base; + dont-cache base; set ARMORED to 0; - move launcher to y-axis [3000.0] speed [10000.0]; - move launcher to x-axis [0.0] speed [10000.0]; - move launcher to z-axis [0.0] speed [10000.0]; - turn launcher to y-axis <90.0> speed <10000.0>; - turn launcher to x-axis <90.0> speed <10000.0>; - turn launcher to z-axis <90.0> speed <10000.0>; + move launcher to y-axis [3000.000000] speed [10000.000000]; + move launcher to x-axis [0.000000] speed [10000.000000]; + move launcher to z-axis [0.000000] speed [10000.000000]; + turn launcher to y-axis <90.000000> speed <10000.000000>; + turn launcher to x-axis <90.000000> speed <10000.000000>; + turn launcher to z-axis <90.000000> speed <10000.000000>; sleep 100; spin arm around y-axis speed <21.978022>; - turn arm to x-axis Rand( <0.005495>, <40.989011> ) speed <1000.0>; + turn arm to x-axis Rand( <0.005495>, <40.989011> ) speed <1000.000000>; sleep Rand( 1, 100 ); emit-sfx 2048 from launcher; move base to y-axis [-100] now; @@ -33,22 +37,22 @@ Killed(severity, corpsetype) emit-sfx 1025 from emit; } -QueryNanoPiece(pieceIndex) +QueryNanoPiece(piecenum) { - pieceIndex = base; + piecenum = base; } -QueryWeapon1(pieceIndex) +QueryWeapon1(piecenum) { - pieceIndex = base; + piecenum = base; } -AimFromWeapon1(pieceIndex) +AimFromWeapon1(piecenum) { - pieceIndex = base; + piecenum = base; } -QueryLandingPad(pieceIndex) +QueryLandingPad(Func_Var_1) { - pieceIndex = 1; + Func_Var_1 = 1; } diff --git a/scripts/Raptors/raptor_hive.cob b/scripts/Raptors/raptor_hive.cob index 01a53aa8ae37e40d2decaee1452704705e5c3428..4397f0e2a4b00e408524e259cd26f55f1ed76dfc 100644 GIT binary patch delta 126 zcmbQjwuDWSg@J*A4TwSXG$4k77A6LUIY7Jxh;@L1MAt1g8#P@*sEfD_&VkTw=26iA8n0$~a831GR5b^*3 diff --git a/scripts/Raptors/raptor_hive2_l.bos b/scripts/Raptors/raptor_hive2_l.bos index ae8e67798af..448623cd507 100644 --- a/scripts/Raptors/raptor_hive2_l.bos +++ b/scripts/Raptors/raptor_hive2_l.bos @@ -1,13 +1,15 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, armbase, arm1, arm2, arm3, arm4, arm5, flare1, flare2, flare3, flare4, flare5, topflare; static-var restore_delay, shootflare; // Signal definitions -#define SIGNAL_AIM1 256 -#define SIGNAL_AIM2 512 -#define SIGNAL_AIM3 1024 4 +#define SIG_AIM1 1 +#define SIG_AIM2 2 +#define SIG_AIM3 4 //------------------------------- Worm Options -------------------------------------------------- #define HIVESIZE 100 // This is for scaling move animations, as percent @@ -121,24 +123,27 @@ Create() shootflare = flare1; move base to y-axis [-1] * HIVESIZE now; - move topflare to y-axis [3000.0] speed [10000.0]; - move topflare to x-axis [0.0] speed [10000.0]; - move topflare to z-axis [0.0] speed [10000.0]; - turn topflare to y-axis <90.0> speed <10000.0>; - turn topflare to x-axis <90.0> speed <10000.0>; - turn topflare to z-axis <90.0> speed <10000.0>; + move topflare to y-axis [3000.000000] speed [10000.000000]; + move topflare to x-axis [0.000000] speed [10000.000000]; + move topflare to z-axis [0.000000] speed [10000.000000]; + turn topflare to y-axis <90.000000> speed <10000.000000>; + turn topflare to x-axis <90.000000> speed <10000.000000>; + turn topflare to z-axis <90.000000> speed <10000.000000>; sleep 100; emit-sfx 2048 + 2 from topflare; move base to y-axis [0] speed [0.2] * HIVESIZE; sleep 100; - move topflare to y-axis [0] speed [10000.0]; - turn topflare to y-axis <0> speed <10000.0>; - turn topflare to x-axis <0> speed <10000.0>; - turn topflare to z-axis <0> speed <10000.0>; + move topflare to y-axis [0] speed [10000.000000]; + turn topflare to y-axis <0> speed <10000.000000>; + turn topflare to x-axis <0> speed <10000.000000>; + turn topflare to z-axis <0> speed <10000.000000>; restore_delay = 2000; - SLEEP_UNTIL_UNITFINISHED; + while( get BUILD_PERCENT_LEFT ) + { + sleep 250; + } start-script Motion(); } @@ -171,8 +176,8 @@ RestoreAfterDelay() AimWeapon1(heading, pitch) // ground weapon { - signal SIGNAL_AIM2; - set-signal-mask SIGNAL_AIM2; + signal SIG_AIM2; + set-signal-mask SIG_AIM2; var deg; deg = heading / 182; @@ -186,21 +191,21 @@ AimWeapon1(heading, pitch) // ground weapon return (1); } -QueryWeapon1(pieceIndex) +QueryWeapon1(piecenum) { - pieceIndex = shootflare; + piecenum = shootflare; } -AimFromWeapon1(pieceIndex) +AimFromWeapon1(piecenum) { - pieceIndex = base; + piecenum = base; } AimWeapon2(heading, pitch) // anti air weapon { - signal SIGNAL_AIM2; - set-signal-mask SIGNAL_AIM2; + signal SIG_AIM2; + set-signal-mask SIG_AIM2; //get PRINT(heading, pitch) turn topflare to y-axis heading now; @@ -208,31 +213,31 @@ AimWeapon2(heading, pitch) // anti air weapon return (1); } -QueryWeapon2(pieceIndex) +QueryWeapon2(piecenum) { - pieceIndex = topflare; + piecenum = topflare; } -AimFromWeapon2(pieceIndex) +AimFromWeapon2(piecenum) { - pieceIndex = topflare; + piecenum = topflare; } AimWeapon3(heading, pitch) // meteor { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM1; + set-signal-mask SIG_AIM1; return (0); // always return false? } -QueryWeapon3(pieceIndex) +QueryWeapon3(piecenum) { - pieceIndex = base; + piecenum = base; } -AimFromWeapon3(pieceIndex) +AimFromWeapon3(piecenum) { - pieceIndex = base; + piecenum = base; } @@ -306,15 +311,13 @@ HitByWeapon(anglex, anglez, damage) // angle[x|z] is always [-500;500], damage i } static-var isSmoking; -DamagedSmoke() // ah yes, clever use of stack variables +SmokeUnit(healthpercent, randpiece) // ah yes, clever use of stack variables { - var healthpercent; - var randpiece; while( TRUE ) { healthpercent = get HEALTH; - if( healthpercent < 65 ) + if( healthpercent < 66 ) { randpiece = RAND(1, 5); if (randpiece == 1) emit-sfx 1024 from arm1; @@ -340,7 +343,7 @@ HitByWeaponId(anglex, anglez, weaponid, dmg) //weaponID is always 0,lasers and f if( get BUILD_PERCENT_LEFT) return (100); if (isSmoking == 0) { isSmoking = 1; - start-script DamagedSmoke(); + start-script SmokeUnit(); } //get PRINT(anglex, anglez, weaponid, dmg); start-script HitByWeapon(dmg, anglez,anglex); //I dont know why param order must be switched, and this also runs a frame later :( @@ -349,16 +352,19 @@ HitByWeaponId(anglex, anglez, weaponid, dmg) //weaponID is always 0,lasers and f +SweetSpot(piecenum) +{ + piecenum = base; +} - -QueryLandingPad(pieceIndex) +QueryLandingPad(piecenum) { - pieceIndex = armbase; + piecenum = armbase; } -QueryNanoPiece(pieceIndex) +QueryNanoPiece(piecenum) { - pieceIndex = base; + piecenum = base; } diff --git a/scripts/Raptors/raptor_hive2_l.cob b/scripts/Raptors/raptor_hive2_l.cob index 16745b5ab37339f93bd736e5a0c6f45b633a4560..482df443850136b07bf175b66666fc53934d4ea2 100644 GIT binary patch literal 6276 zcmb_gU5J!b7(Tl@j^!GBNoAqb&`nfcj5A6Qg{x^Osf})8ckSeSt3$gp+c=UEgh5aj z5rq&$QQc)X(S`lcO%_Q(MH1v?5ZzQ)LV6RHJc`NIu~S=-xS3*dtL8{>(Iw+y z%ptKS(Yl$5#3d_D=Vm-6=HnXi-HWc-2z(P^oX1BU`PjyMHXr?p9v^k&V;l3?eBevNdihrj<2*j<$R`Yku2xJ&?axbq(BH$e zSFf^da7`Ke@p0HIj%)pWd+QF57mjNPao9oITXf@C;=Owhx?#4sC%$g{ei1jymhiDH z&Z$nm7-7qDXIQ_NOW6`Ww#7Nw`elSI?xo_g{t|HsAKT)bY+W2-%l6%{{TdjRL*aXS z7-~ghwwLI9Qb@+jVV_HAA=Ft8N?u18eYO@@+xLK@OI&Yz7BIXU)&oSIm&01(I3@?% z25QY}F_|!X(#NeU7fe^-BM_rb;$Dt;REv3bOt(z& zs1Eb&sE(H-p11~w))Qi~dYbWX%6}-3Uad)2_PU>;qtB{C=AKyX0qx<&wYTYfhDR8? z(0B(}l(a*uC6pX9r>I#-9uphGXS zuCHU<xgIK3n&SR6fN5bCB4&DyF18)Mv_5W}#?DMN!m=vw9IBhv# zC+B;{a#Eg1Vtzu2#p~obVCSP?hxt(Lu>SfR;c;FRFXxBpg|V12IiW9H%XfY7%z8h~ z55yonp|l_S$1&Fqv%i#H{uyWR&-ytvq}WH{$1yQh!{IwnoNTGHH8s!qia4pf=)b>cUs&7MfIXGL zVrae!%dx(D-_2l&iFr8|_QMR8zQeQaL_Ud}PM^p99V z`g!!&KcJ*e`6EXDNyqhEXE~XgursSU!l@&c-{0)pn_BWX>D3Oy(SGdX22O-{CXqDq z=Di=!{+oG2aq8_}purMWp;2r<;6Rbb=W6i%5sq*7Yp@slLMr*PFX+S>>o#AfpO!-s zz)$t*-zYzYqo0por#-+e7qqATQuc(4^O6^P_d0!HZIg$-sK1mi!pRrnueBz4USv=G zrR>Exx~eyQ;BLhobS1>jT=83hXO7*thPH7c@n`P$fL9*voQFG$b6h8#`5f+mPr^Fg z0j${=%dyVx*$kF-6Jt3R_WKML!vQSE!d}Q=>3hs;u>^mA%V3#L?%ki7$B^%{`BFm8 zYWR-AKf<^-W;f*QQdq;ey!`6#YJHcT3ivw7@O?u*c4bfFcu)0)Q5S#rtwB(nYmfjw z^4r1AVc=A5N&&|`lO29nt>HTSFt&If6e}^bCr;T>o!Q!QKQA21Z~8@h%1JgZjfd&u zm`U6B$=9*ni?qSSkIAHMz`-++Bu;C<{#~}d%7O162mHP0A@o^P>o^LL0Hx8Y<9N=OKy6; z{Y-kG)$GQzyBco#xfFgcw7Z^ZcfHkUwhq_o4L{ynZ?$X9^iXPPLTFFdkEX8PnOD1! jg9?9D`D+t@ZFaMB^-j9cHx=JheY43on_aiPU?}%LZKdzk delta 1401 zcmZvbT}YEr7{||f_qwe)=W)JsD`zQ6yg0K7f(Bh=C>g^V2u4w);0#OMtS&4wi>xjJ z!##xixvP}}Os z4W&dMN;+X0#fENdvt4HK zUW%lFCBR?PyrqJVQh{}kvcT!MwN&}S=$5rexxGR&)=5pV!UzqsC$iBPjc*upHKK*G zDs|GUp9|@^fiBwWc^7@O1^6{8NDnxeY;?pdjQS~bHob+vps(q7QV;s=Q3sQrR<)c; zGdk4ocn9<#qcU#?Cb1qs6O8$ja@J@T-NYRg%6=0qI&&!K(D)$=Iea`s0~jMTfw7zB zF4N!ZxU{`xcikA62gl{rZL(nJb5~%iqXcT1pH}22L1<6T5f!? zu%4@D!t0l=5~&L&pfheN3%0bLk)9QcA2n%dQlwL-$Srpxk(iscR2keQ-cdeJ%wsy- zU@ps3E^n}&q45WhC4}MXJYg7gmh(Zn>@3Wvk`fWSa1T9oR`C7w)9FKzH)hKs*I2o8Y5pc%A+4sZ%|fgaEYu7M~R z0wW;M+SXQevYpk2nv8E<_;hQygEqNmH&r*aHysN#*SCjHgjj9s>D^}zgqkAZj=jy4 H?m6=x9dYYX diff --git a/scripts/Raptors/raptor_idle_2legged.h b/scripts/Raptors/raptor_idle_2legged.h index 393ebe0392f..ba520e4cff6 100644 --- a/scripts/Raptors/raptor_idle_2legged.h +++ b/scripts/Raptors/raptor_idle_2legged.h @@ -3,9 +3,9 @@ //static-var IDLEAMPLITUDE, IDLESPEED; Idle() {// For N:\animations\Raptors\raptor_2legged_Idle_v1.blend Created by https://github.com/Beherith/Skeletor_S3O V((0, 3, 3)) - set-signal-mask SIGNAL_MOVE; + set-signal-mask SIG_WALK; sleep 500; - if (!isMoving) { //Frame:10 + if (!bMoving) { //Frame:10 move body to x-axis (((([-1.425531] *IDLEMOVESCALE)/100) *IDLEAMPLITUDE)/100) speed (((([42.765920] *IDLEMOVESCALE)/100) *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=%.2f turn body to y-axis ((<-2.451753> *IDLEAMPLITUDE)/100) speed ((<73.552602> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=%.2f turn lfoot to x-axis ((<-1.408065> *IDLEAMPLITUDE)/100) speed ((<223.445268> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=%.2f @@ -33,8 +33,8 @@ Idle() {// For N:\animations\Raptors\raptor_2legged_Idle_v1.blend Created by htt turn rthigh to y-axis ((<0.393361> *IDLEAMPLITUDE)/100) speed ((<11.800832> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=%.2f sleep ((33*IDLESPEED) -1); } - while(!isMoving) { - if (!isMoving) { //Frame:20 + while(!bMoving) { + if (!bMoving) { //Frame:20 move body to x-axis (((([-0.568341] *IDLEMOVESCALE)/100) *IDLEAMPLITUDE)/100) speed (((([25.715677] *IDLEMOVESCALE)/100) *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=%.2f move body to z-axis (((([-0.677028] *IDLEMOVESCALE)/100) *IDLEAMPLITUDE)/100) speed (((([18.344586] *IDLEMOVESCALE)/100) *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=%.2f move body to y-axis (((([0.195946] *IDLEMOVESCALE)/100) *IDLEAMPLITUDE)/100) speed (((([5.878395] *IDLEMOVESCALE)/100) *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=%.2f @@ -67,7 +67,7 @@ Idle() {// For N:\animations\Raptors\raptor_2legged_Idle_v1.blend Created by htt turn tail to y-axis ((<-1.596847> *IDLEAMPLITUDE)/100) speed ((<47.905423> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=%.2f sleep ((33*IDLESPEED) -1); } - if (!isMoving) { //Frame:30 + if (!bMoving) { //Frame:30 move body to x-axis (((([-0.680736] *IDLEMOVESCALE)/100) *IDLEAMPLITUDE)/100) speed (((([3.371826] *IDLEMOVESCALE)/100) *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=%.2f turn body to z-axis ((<1.460216> *IDLEAMPLITUDE)/100) speed ((<21.903238> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=%.2f turn head to x-axis ((<-2.489556> *IDLEAMPLITUDE)/100) speed ((<26.533156> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=%.2f @@ -86,7 +86,7 @@ Idle() {// For N:\animations\Raptors\raptor_2legged_Idle_v1.blend Created by htt turn tail to y-axis ((<-3.193695> *IDLEAMPLITUDE)/100) speed ((<47.905423> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=%.2f sleep ((33*IDLESPEED) -1); } - if (!isMoving) { //Frame:40 + if (!bMoving) { //Frame:40 move body to x-axis (((([0.152805] *IDLEMOVESCALE)/100) *IDLEAMPLITUDE)/100) speed (((([25.006224] *IDLEMOVESCALE)/100) *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=%.2f move body to z-axis (((([1.320841] *IDLEMOVESCALE)/100) *IDLEAMPLITUDE)/100) speed (((([60.480444] *IDLEMOVESCALE)/100) *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=%.2f move body to y-axis (((([0.587839] *IDLEMOVESCALE)/100) *IDLEAMPLITUDE)/100) speed (((([11.243320] *IDLEMOVESCALE)/100) *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=%.2f @@ -121,7 +121,7 @@ Idle() {// For N:\animations\Raptors\raptor_2legged_Idle_v1.blend Created by htt turn tail to y-axis ((<-2.497657> *IDLEAMPLITUDE)/100) speed ((<20.881143> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=%.2f sleep ((33*IDLESPEED) -1); } - if (!isMoving) { //Frame:50 + if (!bMoving) { //Frame:50 move body to x-axis (((([0.678917] *IDLEMOVESCALE)/100) *IDLEAMPLITUDE)/100) speed (((([15.783359] *IDLEMOVESCALE)/100) *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=%.2f move body to z-axis (((([2.019850] *IDLEMOVESCALE)/100) *IDLEAMPLITUDE)/100) speed (((([20.970250] *IDLEMOVESCALE)/100) *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=%.2f move body to y-axis (((([1.228185] *IDLEMOVESCALE)/100) *IDLEAMPLITUDE)/100) speed (((([19.210358] *IDLEMOVESCALE)/100) *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=%.2f @@ -150,11 +150,11 @@ Idle() {// For N:\animations\Raptors\raptor_2legged_Idle_v1.blend Created by htt turn rthigh to x-axis ((<10.522774> *IDLEAMPLITUDE)/100) speed ((<104.713267> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=%.2f turn rthigh to z-axis ((<-5.281799> *IDLEAMPLITUDE)/100) speed ((<80.343035> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=%.2f turn rthigh to y-axis ((<0.645554> *IDLEAMPLITUDE)/100) speed ((<13.253399> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=%.2f - turn tail to y-axis ((<0.0> *IDLEAMPLITUDE)/100) speed ((<74.929702> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=%.2f + turn tail to y-axis ((<0.000000> *IDLEAMPLITUDE)/100) speed ((<74.929702> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=%.2f sleep ((33*IDLESPEED) -1); } - if (!isMoving) { //Frame:60 - turn body to z-axis ((<3.020446> *IDLEAMPLITUDE)/100) speed ((<3.0> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=%.2f + if (!bMoving) { //Frame:60 + turn body to z-axis ((<3.020446> *IDLEAMPLITUDE)/100) speed ((<3.000447> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=%.2f turn head to z-axis ((<6.867158> *IDLEAMPLITUDE)/100) speed ((<24.410784> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=%.2f turn lshin to x-axis ((<-1.290280> *IDLEAMPLITUDE)/100) speed ((<3.153879> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=%.2f turn rknee to x-axis ((<-11.060145> *IDLEAMPLITUDE)/100) speed ((<4.466969> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=%.2f @@ -162,11 +162,11 @@ Idle() {// For N:\animations\Raptors\raptor_2legged_Idle_v1.blend Created by htt turn tail to y-axis ((<4.108279> *IDLEAMPLITUDE)/100) speed ((<123.248356> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=%.2f sleep ((33*IDLESPEED) -1); } - if (!isMoving) { //Frame:70 + if (!bMoving) { //Frame:70 move body to x-axis (((([0.823057] *IDLEMOVESCALE)/100) *IDLEAMPLITUDE)/100) speed (((([4.931175] *IDLEMOVESCALE)/100) *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=%.2f move body to z-axis (((([1.254589] *IDLEMOVESCALE)/100) *IDLEAMPLITUDE)/100) speed (((([23.465928] *IDLEMOVESCALE)/100) *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=%.2f move body to y-axis (((([0.837470] *IDLEMOVESCALE)/100) *IDLEAMPLITUDE)/100) speed (((([11.766472] *IDLEMOVESCALE)/100) *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=%.2f - turn body to z-axis ((<3.120461> *IDLEAMPLITUDE)/100) speed ((<3.0> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=%.2f + turn body to z-axis ((<3.120461> *IDLEAMPLITUDE)/100) speed ((<3.000440> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=%.2f turn body to y-axis ((<2.433704> *IDLEAMPLITUDE)/100) speed ((<8.852636> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=%.2f turn head to z-axis ((<5.945594> *IDLEAMPLITUDE)/100) speed ((<27.646924> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=%.2f turn lfoot to x-axis ((<-0.411168> *IDLEAMPLITUDE)/100) speed ((<24.408643> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=%.2f @@ -191,10 +191,10 @@ Idle() {// For N:\animations\Raptors\raptor_2legged_Idle_v1.blend Created by htt turn tail to y-axis ((<6.414939> *IDLEAMPLITUDE)/100) speed ((<69.199810> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=%.2f sleep ((33*IDLESPEED) -1); } - if (!isMoving) { //Frame:80 + if (!bMoving) { //Frame:80 move body to x-axis (((([1.316263] *IDLEMOVESCALE)/100) *IDLEAMPLITUDE)/100) speed (((([14.796172] *IDLEMOVESCALE)/100) *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=%.2f move body to z-axis (((([0.883710] *IDLEMOVESCALE)/100) *IDLEAMPLITUDE)/100) speed (((([11.126384] *IDLEMOVESCALE)/100) *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=%.2f - turn body to z-axis ((<3.220476> *IDLEAMPLITUDE)/100) speed ((<3.0> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=%.2f + turn body to z-axis ((<3.220476> *IDLEAMPLITUDE)/100) speed ((<3.000447> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=%.2f turn body to y-axis ((<2.711478> *IDLEAMPLITUDE)/100) speed ((<8.333245> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=%.2f turn head to x-axis ((<1.303856> *IDLEAMPLITUDE)/100) speed ((<38.348699> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=%.2f turn head to z-axis ((<3.569675> *IDLEAMPLITUDE)/100) speed ((<71.277585> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=%.2f @@ -223,8 +223,8 @@ Idle() {// For N:\animations\Raptors\raptor_2legged_Idle_v1.blend Created by htt turn tail to y-axis ((<4.751806> *IDLEAMPLITUDE)/100) speed ((<49.893981> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=%.2f sleep ((33*IDLESPEED) -1); } - if (!isMoving) { //Frame:90 - turn body to z-axis ((<3.320490> *IDLEAMPLITUDE)/100) speed ((<3.0> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=%.2f + if (!bMoving) { //Frame:90 + turn body to z-axis ((<3.320490> *IDLEAMPLITUDE)/100) speed ((<3.000440> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=%.2f turn head to z-axis ((<1.124215> *IDLEAMPLITUDE)/100) speed ((<73.363781> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=%.2f turn lshin to x-axis ((<4.161894> *IDLEAMPLITUDE)/100) speed ((<3.726466> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=%.2f turn rknee to x-axis ((<-7.869519> *IDLEAMPLITUDE)/100) speed ((<9.639122> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=%.2f @@ -233,15 +233,15 @@ Idle() {// For N:\animations\Raptors\raptor_2legged_Idle_v1.blend Created by htt turn tail to y-axis ((<1.663132> *IDLEAMPLITUDE)/100) speed ((<92.660216> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=%.2f sleep ((33*IDLESPEED) -1); } - if (!isMoving) { //Frame:100 + if (!bMoving) { //Frame:100 move body to x-axis (((([-1.425531] *IDLEMOVESCALE)/100) *IDLEAMPLITUDE)/100) speed (((([81.714166] *IDLEMOVESCALE)/100) *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=%.2f move body to z-axis (((([-0.065542] *IDLEMOVESCALE)/100) *IDLEAMPLITUDE)/100) speed (((([28.294366] *IDLEMOVESCALE)/100) *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=%.2f - move body to y-axis (((([0.0] *IDLEMOVESCALE)/100) *IDLEAMPLITUDE)/100) speed (((([26.734618] *IDLEMOVESCALE)/100) *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=%.2f - turn body to x-axis ((<-0.0> *IDLEAMPLITUDE)/100) speed ((<8.312128> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=%.2f - turn body to z-axis ((<-0.0> *IDLEAMPLITUDE)/100) speed ((<99.614715> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=%.2f + move body to y-axis (((([0.000000] *IDLEMOVESCALE)/100) *IDLEAMPLITUDE)/100) speed (((([26.734618] *IDLEMOVESCALE)/100) *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=%.2f + turn body to x-axis ((<-0.000000> *IDLEAMPLITUDE)/100) speed ((<8.312128> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=%.2f + turn body to z-axis ((<-0.000000> *IDLEAMPLITUDE)/100) speed ((<99.614715> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=%.2f turn body to y-axis ((<-2.451753> *IDLEAMPLITUDE)/100) speed ((<155.958813> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=%.2f turn head to x-axis ((<0.025566> *IDLEAMPLITUDE)/100) speed ((<39.882646> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=%.2f - turn head to z-axis ((<-0.0> *IDLEAMPLITUDE)/100) speed ((<33.726462> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=%.2f + turn head to z-axis ((<-0.000000> *IDLEAMPLITUDE)/100) speed ((<33.726462> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=%.2f turn lfoot to x-axis ((<-1.408065> *IDLEAMPLITUDE)/100) speed ((<12.284111> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=%.2f turn lfoot to z-axis ((<-2.643995> *IDLEAMPLITUDE)/100) speed ((<148.277181> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=%.2f turn lfoot to y-axis ((<1.901339> *IDLEAMPLITUDE)/100) speed ((<119.263325> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=%.2f @@ -265,10 +265,10 @@ Idle() {// For N:\animations\Raptors\raptor_2legged_Idle_v1.blend Created by htt turn rthigh to x-axis ((<-9.355771> *IDLEAMPLITUDE)/100) speed ((<361.808315> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=%.2f turn rthigh to z-axis ((<5.267374> *IDLEAMPLITUDE)/100) speed ((<389.233352> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=%.2f turn rthigh to y-axis ((<0.393361> *IDLEAMPLITUDE)/100) speed ((<6.278157> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=%.2f - turn tail to y-axis ((<0.0> *IDLEAMPLITUDE)/100) speed ((<49.893968> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=%.2f + turn tail to y-axis ((<0.000000> *IDLEAMPLITUDE)/100) speed ((<49.893968> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=%.2f sleep ((33*IDLESPEED) -1); } - if (!isMoving) { //Frame:123 + if (!bMoving) { //Frame:123 move body to x-axis (((([1.205029] *IDLEMOVESCALE)/100) *IDLEAMPLITUDE)/100) speed (((([78.916790] *IDLEMOVESCALE)/100) *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=%.2f move body to z-axis (((([1.010473] *IDLEMOVESCALE)/100) *IDLEAMPLITUDE)/100) speed (((([32.280450] *IDLEMOVESCALE)/100) *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=%.2f move body to y-axis (((([0.979732] *IDLEMOVESCALE)/100) *IDLEAMPLITUDE)/100) speed (((([29.391972] *IDLEMOVESCALE)/100) *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=%.2f @@ -301,7 +301,7 @@ Idle() {// For N:\animations\Raptors\raptor_2legged_Idle_v1.blend Created by htt turn rthigh to y-axis ((<0.225220> *IDLEAMPLITUDE)/100) speed ((<5.044241> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=%.2f sleep ((33*IDLESPEED) -1); } - if (!isMoving) { //Frame:133 + if (!bMoving) { //Frame:133 move body to x-axis (((([-1.088171] *IDLEMOVESCALE)/100) *IDLEAMPLITUDE)/100) speed (((([68.795993] *IDLEMOVESCALE)/100) *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=%.2f move body to z-axis (((([0.151469] *IDLEMOVESCALE)/100) *IDLEAMPLITUDE)/100) speed (((([25.770117] *IDLEMOVESCALE)/100) *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=%.2f move body to y-axis (((([0.306168] *IDLEMOVESCALE)/100) *IDLEAMPLITUDE)/100) speed (((([20.206924] *IDLEMOVESCALE)/100) *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=%.2f @@ -335,7 +335,7 @@ Idle() {// For N:\animations\Raptors\raptor_2legged_Idle_v1.blend Created by htt turn rthigh to y-axis ((<-0.178440> *IDLEAMPLITUDE)/100) speed ((<12.109795> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=%.2f sleep ((33*IDLESPEED) -1); } - if (!isMoving) { //Frame:143 + if (!bMoving) { //Frame:143 move body to x-axis (((([-1.263918] *IDLEMOVESCALE)/100) *IDLEAMPLITUDE)/100) speed (((([5.272411] *IDLEMOVESCALE)/100) *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=%.2f move body to z-axis (((([1.718241] *IDLEMOVESCALE)/100) *IDLEAMPLITUDE)/100) speed (((([47.003156] *IDLEMOVESCALE)/100) *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=%.2f move body to y-axis (((([2.081936] *IDLEMOVESCALE)/100) *IDLEAMPLITUDE)/100) speed (((([53.273036] *IDLEMOVESCALE)/100) *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=%.2f @@ -368,7 +368,7 @@ Idle() {// For N:\animations\Raptors\raptor_2legged_Idle_v1.blend Created by htt turn rthigh to y-axis ((<-0.754851> *IDLEAMPLITUDE)/100) speed ((<17.292317> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=%.2f sleep ((33*IDLESPEED) -1); } - if (!isMoving) { //Frame:153 + if (!bMoving) { //Frame:153 move body to y-axis (((([0.643779] *IDLEMOVESCALE)/100) *IDLEAMPLITUDE)/100) speed (((([43.144727] *IDLEMOVESCALE)/100) *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=%.2f turn body to x-axis ((<-3.971439> *IDLEAMPLITUDE)/100) speed ((<111.089168> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=%.2f turn body to z-axis ((<2.850252> *IDLEAMPLITUDE)/100) speed ((<5.798939> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=%.2f @@ -399,7 +399,7 @@ Idle() {// For N:\animations\Raptors\raptor_2legged_Idle_v1.blend Created by htt turn rthigh to y-axis ((<-1.001838> *IDLEAMPLITUDE)/100) speed ((<7.409625> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=%.2f sleep ((33*IDLESPEED) -1); } - if (!isMoving) { //Frame:163 + if (!bMoving) { //Frame:163 move body to x-axis (((([-1.088171] *IDLEMOVESCALE)/100) *IDLEAMPLITUDE)/100) speed (((([7.673042] *IDLEMOVESCALE)/100) *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=%.2f move body to z-axis (((([0.151469] *IDLEMOVESCALE)/100) *IDLEAMPLITUDE)/100) speed (((([46.767805] *IDLEMOVESCALE)/100) *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=%.2f move body to y-axis (((([0.306168] *IDLEMOVESCALE)/100) *IDLEAMPLITUDE)/100) speed (((([10.128309] *IDLEMOVESCALE)/100) *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=%.2f @@ -433,7 +433,7 @@ Idle() {// For N:\animations\Raptors\raptor_2legged_Idle_v1.blend Created by htt turn rthigh to y-axis ((<-0.178440> *IDLEAMPLITUDE)/100) speed ((<24.701941> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=%.2f sleep ((33*IDLESPEED) -1); } - if (!isMoving) { //Frame:173 + if (!bMoving) { //Frame:173 move body to x-axis (((([1.205029] *IDLEMOVESCALE)/100) *IDLEAMPLITUDE)/100) speed (((([68.795993] *IDLEMOVESCALE)/100) *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=%.2f move body to z-axis (((([1.010473] *IDLEMOVESCALE)/100) *IDLEAMPLITUDE)/100) speed (((([25.770117] *IDLEMOVESCALE)/100) *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=%.2f move body to y-axis (((([0.979732] *IDLEMOVESCALE)/100) *IDLEAMPLITUDE)/100) speed (((([20.206924] *IDLEMOVESCALE)/100) *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=%.2f @@ -469,41 +469,41 @@ Idle() {// For N:\animations\Raptors\raptor_2legged_Idle_v1.blend Created by htt } } } -// Call this from StopMoving()! +// Call this from MotionControl()! StopIdle() { //IDLESPEED = 10; // tune restore speed here, higher values are slower restore speeds - move body to x-axis ([0.0]*IDLEMOVESCALE)/100 speed (([81.714166]*IDLEMOVESCALE)/100) / IDLESPEED; - move body to y-axis ([0.0]*IDLEMOVESCALE)/100 speed (([53.273036]*IDLEMOVESCALE)/100) / IDLESPEED; - move body to z-axis ([0.0]*IDLEMOVESCALE)/100 speed (([60.480444]*IDLEMOVESCALE)/100) / IDLESPEED; - turn body to x-axis <0.0> speed <120.570641> / IDLESPEED; - turn body to y-axis <0.0> speed <155.958813> / IDLESPEED; - turn body to z-axis <0.0> speed <121.883364> / IDLESPEED; - turn head to x-axis <0.0> speed <75.453665> / IDLESPEED; - turn head to z-axis <0.0> speed <73.363781> / IDLESPEED; + move body to x-axis ([0.000000]*IDLEMOVESCALE)/100 speed (([81.714166]*IDLEMOVESCALE)/100) / IDLESPEED; + move body to y-axis ([0.000000]*IDLEMOVESCALE)/100 speed (([53.273036]*IDLEMOVESCALE)/100) / IDLESPEED; + move body to z-axis ([0.000000]*IDLEMOVESCALE)/100 speed (([60.480444]*IDLEMOVESCALE)/100) / IDLESPEED; + turn body to x-axis <0.000000> speed <120.570641> / IDLESPEED; + turn body to y-axis <0.000000> speed <155.958813> / IDLESPEED; + turn body to z-axis <0.000000> speed <121.883364> / IDLESPEED; + turn head to x-axis <0.000000> speed <75.453665> / IDLESPEED; + turn head to z-axis <0.000000> speed <73.363781> / IDLESPEED; turn lfoot to x-axis <6.040111> speed <320.704237> / IDLESPEED; - turn lfoot to y-axis <0.0> speed <119.263325> / IDLESPEED; - turn lfoot to z-axis <0.0> speed <148.277181> / IDLESPEED; + turn lfoot to y-axis <0.000000> speed <119.263325> / IDLESPEED; + turn lfoot to z-axis <0.000000> speed <148.277181> / IDLESPEED; turn lknee to x-axis <-0.879296> speed <618.377857> / IDLESPEED; - turn lknee to y-axis <0.0> speed <47.233147> / IDLESPEED; - turn lknee to z-axis <0.0> speed <50.325484> / IDLESPEED; + turn lknee to y-axis <0.000000> speed <47.233147> / IDLESPEED; + turn lknee to z-axis <0.000000> speed <50.325484> / IDLESPEED; turn lshin to x-axis <-7.958460> speed <491.652290> / IDLESPEED; - turn lshin to y-axis <0.0> speed <13.901112> / IDLESPEED; - turn lshin to z-axis <0.0> speed <79.053986> / IDLESPEED; + turn lshin to y-axis <0.000000> speed <13.901112> / IDLESPEED; + turn lshin to z-axis <0.000000> speed <79.053986> / IDLESPEED; turn lthigh to x-axis <4.070670> speed <583.410448> / IDLESPEED; - turn lthigh to y-axis <0.0> speed <16.083125> / IDLESPEED; - turn lthigh to z-axis <0.0> speed <398.395594> / IDLESPEED; + turn lthigh to y-axis <0.000000> speed <16.083125> / IDLESPEED; + turn lthigh to z-axis <0.000000> speed <398.395594> / IDLESPEED; turn rfoot to x-axis <1.637208> speed <298.199347> / IDLESPEED; - turn rfoot to y-axis <0.0> speed <137.960769> / IDLESPEED; - turn rfoot to z-axis <0.0> speed <136.145638> / IDLESPEED; + turn rfoot to y-axis <0.000000> speed <137.960769> / IDLESPEED; + turn rfoot to z-axis <0.000000> speed <136.145638> / IDLESPEED; turn rknee to x-axis <1.676005> speed <816.333249> / IDLESPEED; - turn rknee to y-axis <0.0> speed <38.142260> / IDLESPEED; - turn rknee to z-axis <0.0> speed <46.740803> / IDLESPEED; - turn rshin to x-axis <0.0> speed <450.029157> / IDLESPEED; - turn rshin to y-axis <0.0> speed <10.665693> / IDLESPEED; - turn rshin to z-axis <0.0> speed <76.260725> / IDLESPEED; + turn rknee to y-axis <0.000000> speed <38.142260> / IDLESPEED; + turn rknee to z-axis <0.000000> speed <46.740803> / IDLESPEED; + turn rshin to x-axis <0.000000> speed <450.029157> / IDLESPEED; + turn rshin to y-axis <0.000000> speed <10.665693> / IDLESPEED; + turn rshin to z-axis <0.000000> speed <76.260725> / IDLESPEED; turn rthigh to x-axis <-1.107364> speed <785.405629> / IDLESPEED; - turn rthigh to y-axis <0.0> speed <24.701941> / IDLESPEED; - turn rthigh to z-axis <0.0> speed <389.233352> / IDLESPEED; - turn tail to y-axis <0.0> speed <123.248356> / IDLESPEED; + turn rthigh to y-axis <0.000000> speed <24.701941> / IDLESPEED; + turn rthigh to z-axis <0.000000> speed <389.233352> / IDLESPEED; + turn tail to y-axis <0.000000> speed <123.248356> / IDLESPEED; } diff --git a/scripts/Raptors/raptor_idle_2legged_v2.h b/scripts/Raptors/raptor_idle_2legged_v2.h index 90d77bd16f7..602fb645c95 100644 --- a/scripts/Raptors/raptor_idle_2legged_v2.h +++ b/scripts/Raptors/raptor_idle_2legged_v2.h @@ -5,8 +5,8 @@ Idle() {// For N:\animations\Raptors\raptor_idle_remaster_v2.blend Created by https://github.com/Beherith/Skeletor_S3O V((0, 3, 5)) sleep 300; - set-signal-mask SIGNAL_MOVE; - if (!isMoving) { //Frame:10 + set-signal-mask SIG_WALK; + if (!bMoving) { //Frame:10 move body to z-axis (((([-0.355065] *IDLEMOVESCALE)/100) *IDLEAMPLITUDE)/100) speed (((([10.651937] *IDLEMOVESCALE)/100) *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=-0.36 move body to y-axis (((([1.471361] *IDLEMOVESCALE)/100) *IDLEAMPLITUDE)/100) speed (((([44.140835] *IDLEMOVESCALE)/100) *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=1.47 turn body to x-axis ((<2.513906> *IDLEAMPLITUDE)/100) speed ((<75.417179> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=-2.51 @@ -36,17 +36,17 @@ Idle() {// For N:\animations\Raptors\raptor_idle_remaster_v2.blend Created by ht turn tail to y-axis ((<7.316429> *IDLEAMPLITUDE)/100) speed ((<127.322054> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=4.24 sleep ((33*IDLESPEED) -1); } - while(!isMoving) { - if (!isMoving) { //Frame:20 + while(!bMoving) { + if (!bMoving) { //Frame:20 move body to x-axis (((([-1.214317] *IDLEMOVESCALE)/100) *IDLEAMPLITUDE)/100) speed (((([38.176341] *IDLEMOVESCALE)/100) *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=-1.27 move body to z-axis (((([-0.218571] *IDLEMOVESCALE)/100) *IDLEAMPLITUDE)/100) speed (((([4.094815] *IDLEMOVESCALE)/100) *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=0.14 move body to y-axis (((([-0.515468] *IDLEMOVESCALE)/100) *IDLEAMPLITUDE)/100) speed (((([59.604884] *IDLEMOVESCALE)/100) *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=-1.99 - turn body to x-axis ((<-0.0> *IDLEAMPLITUDE)/100) speed ((<75.417179> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=2.51 - turn body to z-axis ((<-0.0> *IDLEAMPLITUDE)/100) speed ((<41.619816> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=-1.39 - turn body to y-axis ((<0.0> *IDLEAMPLITUDE)/100) speed ((<42.606091> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=1.42 + turn body to x-axis ((<-0.000000> *IDLEAMPLITUDE)/100) speed ((<75.417179> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=2.51 + turn body to z-axis ((<-0.000000> *IDLEAMPLITUDE)/100) speed ((<41.619816> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=-1.39 + turn body to y-axis ((<0.000000> *IDLEAMPLITUDE)/100) speed ((<42.606091> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=1.42 turn head to x-axis ((<1.859755> *IDLEAMPLITUDE)/100) speed ((<77.352786> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=-2.58 turn head to z-axis ((<2.668271> *IDLEAMPLITUDE)/100) speed ((<37.876315> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=1.26 - turn head to y-axis ((<0.0> *IDLEAMPLITUDE)/100) speed ((<42.606091> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=1.42 + turn head to y-axis ((<0.000000> *IDLEAMPLITUDE)/100) speed ((<42.606091> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=1.42 turn lfoot to x-axis ((<0.182863> *IDLEAMPLITUDE)/100) speed ((<23.150899> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=0.77 turn lfoot to z-axis ((<-1.808906> *IDLEAMPLITUDE)/100) speed ((<61.320193> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=2.04 turn lfoot to y-axis ((<0.142650> *IDLEAMPLITUDE)/100) speed ((<18.137128> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=-0.60 @@ -63,12 +63,12 @@ Idle() {// For N:\animations\Raptors\raptor_idle_remaster_v2.blend Created by ht turn rthigh to x-axis ((<-1.473476> *IDLEAMPLITUDE)/100) speed ((<17.256179> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=0.58 turn rthigh to z-axis ((<1.811272> *IDLEAMPLITUDE)/100) speed ((<19.127375> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=-0.64 turn rthigh to y-axis ((<-0.092681> *IDLEAMPLITUDE)/100) speed ((<23.462601> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=-0.78 - turn tail to x-axis ((<-0.0> *IDLEAMPLITUDE)/100) speed ((<75.417179> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=2.51 - turn tail to z-axis ((<-0.0> *IDLEAMPLITUDE)/100) speed ((<41.619816> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=-1.39 + turn tail to x-axis ((<-0.000000> *IDLEAMPLITUDE)/100) speed ((<75.417179> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=2.51 + turn tail to z-axis ((<-0.000000> *IDLEAMPLITUDE)/100) speed ((<41.619816> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=-1.39 turn tail to y-axis ((<3.072361> *IDLEAMPLITUDE)/100) speed ((<127.322054> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=-4.24 sleep ((33*IDLESPEED) -1); } - if (!isMoving) { //Frame:30 + if (!bMoving) { //Frame:30 move body to x-axis (((([1.914894] *IDLEMOVESCALE)/100) *IDLEAMPLITUDE)/100) speed (((([93.876328] *IDLEMOVESCALE)/100) *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=3.13 move body to z-axis (((([-1.580380] *IDLEMOVESCALE)/100) *IDLEAMPLITUDE)/100) speed (((([40.854266] *IDLEMOVESCALE)/100) *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=-1.36 move body to y-axis (((([-0.358933] *IDLEMOVESCALE)/100) *IDLEAMPLITUDE)/100) speed (((([4.696054] *IDLEMOVESCALE)/100) *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=0.16 @@ -93,7 +93,7 @@ Idle() {// For N:\animations\Raptors\raptor_idle_remaster_v2.blend Created by ht turn tail to y-axis ((<-5.176731> *IDLEAMPLITUDE)/100) speed ((<247.472748> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=-8.25 sleep ((33*IDLESPEED) -1); } - if (!isMoving) { //Frame:40 + if (!bMoving) { //Frame:40 move body to y-axis (((([-1.565143] *IDLEMOVESCALE)/100) *IDLEAMPLITUDE)/100) speed (((([36.186309] *IDLEMOVESCALE)/100) *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=-1.21 turn body to x-axis ((<0.825766> *IDLEAMPLITUDE)/100) speed ((<24.603741> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=-0.82 turn body to z-axis ((<0.280849> *IDLEAMPLITUDE)/100) speed ((<8.978534> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=-0.30 @@ -122,38 +122,38 @@ Idle() {// For N:\animations\Raptors\raptor_idle_remaster_v2.blend Created by ht turn tail to y-axis ((<6.295706> *IDLEAMPLITUDE)/100) speed ((<344.173096> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=11.47 sleep ((33*IDLESPEED) -1); } - if (!isMoving) { //Frame:50 - move body to x-axis (((([0.0] *IDLEMOVESCALE)/100) *IDLEAMPLITUDE)/100) speed (((([56.964015] *IDLEMOVESCALE)/100) *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=-1.90 - move body to z-axis (((([0.0] *IDLEMOVESCALE)/100) *IDLEAMPLITUDE)/100) speed (((([47.560805] *IDLEMOVESCALE)/100) *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=1.59 - move body to y-axis (((([0.0] *IDLEMOVESCALE)/100) *IDLEAMPLITUDE)/100) speed (((([46.954304] *IDLEMOVESCALE)/100) *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=1.57 - turn body to x-axis ((<-0.0> *IDLEAMPLITUDE)/100) speed ((<24.772984> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=0.83 - turn body to z-axis ((<-0.0> *IDLEAMPLITUDE)/100) speed ((<8.425473> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=0.28 - turn body to y-axis ((<0.0> *IDLEAMPLITUDE)/100) speed ((<32.359079> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=1.08 + if (!bMoving) { //Frame:50 + move body to x-axis (((([0.000000] *IDLEMOVESCALE)/100) *IDLEAMPLITUDE)/100) speed (((([56.964015] *IDLEMOVESCALE)/100) *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=-1.90 + move body to z-axis (((([0.000000] *IDLEMOVESCALE)/100) *IDLEAMPLITUDE)/100) speed (((([47.560805] *IDLEMOVESCALE)/100) *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=1.59 + move body to y-axis (((([0.000000] *IDLEMOVESCALE)/100) *IDLEAMPLITUDE)/100) speed (((([46.954304] *IDLEMOVESCALE)/100) *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=1.57 + turn body to x-axis ((<-0.000000> *IDLEAMPLITUDE)/100) speed ((<24.772984> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=0.83 + turn body to z-axis ((<-0.000000> *IDLEAMPLITUDE)/100) speed ((<8.425473> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=0.28 + turn body to y-axis ((<0.000000> *IDLEAMPLITUDE)/100) speed ((<32.359079> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=1.08 turn head to x-axis ((<1.859755> *IDLEAMPLITUDE)/100) speed ((<25.408790> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=-0.85 turn head to z-axis ((<2.668271> *IDLEAMPLITUDE)/100) speed ((<7.667641> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=-0.26 - turn head to y-axis ((<0.0> *IDLEAMPLITUDE)/100) speed ((<32.359079> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=1.08 - turn lfoot to x-axis ((<0.0> *IDLEAMPLITUDE)/100) speed ((<52.141862> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=1.74 - turn lfoot to z-axis ((<0.0> *IDLEAMPLITUDE)/100) speed ((<89.938723> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=3.00 - turn lfoot to y-axis ((<-0.0> *IDLEAMPLITUDE)/100) speed ((<7.229362> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=-0.24 - turn lknee to x-axis ((<-0.0> *IDLEAMPLITUDE)/100) speed ((<188.281309> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=6.28 - turn lshin to x-axis ((<0.0> *IDLEAMPLITUDE)/100) speed ((<105.725111> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=-3.52 - turn lthigh to x-axis ((<-0.0> *IDLEAMPLITUDE)/100) speed ((<158.993591> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=-5.30 - turn lthigh to z-axis ((<0.0> *IDLEAMPLITUDE)/100) speed ((<98.573711> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=-3.29 - turn lthigh to y-axis ((<-0.0> *IDLEAMPLITUDE)/100) speed ((<17.327992> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=-0.58 + turn head to y-axis ((<0.000000> *IDLEAMPLITUDE)/100) speed ((<32.359079> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=1.08 + turn lfoot to x-axis ((<0.000000> *IDLEAMPLITUDE)/100) speed ((<52.141862> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=1.74 + turn lfoot to z-axis ((<0.000000> *IDLEAMPLITUDE)/100) speed ((<89.938723> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=3.00 + turn lfoot to y-axis ((<-0.000000> *IDLEAMPLITUDE)/100) speed ((<7.229362> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=-0.24 + turn lknee to x-axis ((<-0.000000> *IDLEAMPLITUDE)/100) speed ((<188.281309> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=6.28 + turn lshin to x-axis ((<0.000000> *IDLEAMPLITUDE)/100) speed ((<105.725111> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=-3.52 + turn lthigh to x-axis ((<-0.000000> *IDLEAMPLITUDE)/100) speed ((<158.993591> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=-5.30 + turn lthigh to z-axis ((<0.000000> *IDLEAMPLITUDE)/100) speed ((<98.573711> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=-3.29 + turn lthigh to y-axis ((<-0.000000> *IDLEAMPLITUDE)/100) speed ((<17.327992> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=-0.58 turn rfoot to x-axis ((<0.556060> *IDLEAMPLITUDE)/100) speed ((<79.982779> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=2.67 - turn rfoot to z-axis ((<0.0> *IDLEAMPLITUDE)/100) speed ((<89.517341> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=2.98 - turn rfoot to y-axis ((<-0.0> *IDLEAMPLITUDE)/100) speed ((<5.792041> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=-0.19 + turn rfoot to z-axis ((<0.000000> *IDLEAMPLITUDE)/100) speed ((<89.517341> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=2.98 + turn rfoot to y-axis ((<-0.000000> *IDLEAMPLITUDE)/100) speed ((<5.792041> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=-0.19 turn rknee to x-axis ((<0.285129> *IDLEAMPLITUDE)/100) speed ((<162.012663> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=5.40 turn rshin to x-axis ((<0.077777> *IDLEAMPLITUDE)/100) speed ((<95.661351> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=-3.19 turn rthigh to x-axis ((<-0.243776> *IDLEAMPLITUDE)/100) speed ((<170.651529> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=-5.69 - turn rthigh to z-axis ((<0.0> *IDLEAMPLITUDE)/100) speed ((<98.283916> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=-3.28 - turn rthigh to y-axis ((<-0.0> *IDLEAMPLITUDE)/100) speed ((<16.654104> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=-0.56 - turn tail to x-axis ((<-0.0> *IDLEAMPLITUDE)/100) speed ((<24.772984> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=0.83 - turn tail to z-axis ((<-0.0> *IDLEAMPLITUDE)/100) speed ((<8.425473> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=0.28 + turn rthigh to z-axis ((<0.000000> *IDLEAMPLITUDE)/100) speed ((<98.283916> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=-3.28 + turn rthigh to y-axis ((<-0.000000> *IDLEAMPLITUDE)/100) speed ((<16.654104> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=-0.56 + turn tail to x-axis ((<-0.000000> *IDLEAMPLITUDE)/100) speed ((<24.772984> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=0.83 + turn tail to z-axis ((<-0.000000> *IDLEAMPLITUDE)/100) speed ((<8.425473> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=0.28 turn tail to y-axis ((<3.072361> *IDLEAMPLITUDE)/100) speed ((<96.700348> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=-3.22 sleep ((33*IDLESPEED) -1); } - if (!isMoving) { //Frame:60 + if (!bMoving) { //Frame:60 move body to x-axis (((([-0.342949] *IDLEMOVESCALE)/100) *IDLEAMPLITUDE)/100) speed (((([10.288472] *IDLEMOVESCALE)/100) *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=-0.34 move body to z-axis (((([1.643847] *IDLEMOVESCALE)/100) *IDLEAMPLITUDE)/100) speed (((([49.315413] *IDLEMOVESCALE)/100) *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=1.64 move body to y-axis (((([-0.113032] *IDLEMOVESCALE)/100) *IDLEAMPLITUDE)/100) speed (((([3.390963] *IDLEMOVESCALE)/100) *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=-0.11 @@ -184,7 +184,7 @@ Idle() {// For N:\animations\Raptors\raptor_idle_remaster_v2.blend Created by ht turn tail to y-axis ((<-5.775762> *IDLEAMPLITUDE)/100) speed ((<265.443706> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=-8.85 sleep ((33*IDLESPEED) -1); } - if (!isMoving) { //Frame:70 + if (!bMoving) { //Frame:70 turn body to x-axis ((<-1.634683> *IDLEAMPLITUDE)/100) speed ((<154.104961> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=5.14 turn body to z-axis ((<3.376238> *IDLEAMPLITUDE)/100) speed ((<24.150292> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=0.81 turn body to y-axis ((<1.034194> *IDLEAMPLITUDE)/100) speed ((<57.800279> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=-1.93 @@ -211,7 +211,7 @@ Idle() {// For N:\animations\Raptors\raptor_idle_remaster_v2.blend Created by ht turn tail to y-axis ((<-0.018174> *IDLEAMPLITUDE)/100) speed ((<172.727643> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=5.76 sleep ((33*IDLESPEED) -1); } - if (!isMoving) { //Frame:80 + if (!bMoving) { //Frame:80 move body to x-axis (((([0.785493] *IDLEMOVESCALE)/100) *IDLEAMPLITUDE)/100) speed (((([33.853257] *IDLEMOVESCALE)/100) *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=1.13 move body to z-axis (((([-2.444840] *IDLEMOVESCALE)/100) *IDLEAMPLITUDE)/100) speed (((([122.660612] *IDLEMOVESCALE)/100) *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=-4.09 move body to y-axis (((([-0.422489] *IDLEMOVESCALE)/100) *IDLEAMPLITUDE)/100) speed (((([9.283695] *IDLEMOVESCALE)/100) *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=-0.31 @@ -236,7 +236,7 @@ Idle() {// For N:\animations\Raptors\raptor_idle_remaster_v2.blend Created by ht turn tail to y-axis ((<4.636507> *IDLEAMPLITUDE)/100) speed ((<139.640442> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=4.65 sleep ((33*IDLESPEED) -1); } - if (!isMoving) { //Frame:90 + if (!bMoving) { //Frame:90 move body to x-axis (((([0.909801] *IDLEMOVESCALE)/100) *IDLEAMPLITUDE)/100) speed (((([3.729245] *IDLEMOVESCALE)/100) *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=0.12 move body to y-axis (((([-1.907812] *IDLEMOVESCALE)/100) *IDLEAMPLITUDE)/100) speed (((([44.559698] *IDLEMOVESCALE)/100) *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=-1.49 turn body to y-axis ((<0.393436> *IDLEAMPLITUDE)/100) speed ((<27.505516> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=0.92 @@ -259,7 +259,7 @@ Idle() {// For N:\animations\Raptors\raptor_idle_remaster_v2.blend Created by ht turn tail to y-axis ((<1.896634> *IDLEAMPLITUDE)/100) speed ((<82.196202> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=-2.74 sleep ((33*IDLESPEED) -1); } - if (!isMoving) { //Frame:100 + if (!bMoving) { //Frame:100 move body to x-axis (((([0.058228] *IDLEMOVESCALE)/100) *IDLEAMPLITUDE)/100) speed (((([25.547187] *IDLEMOVESCALE)/100) *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=-0.85 move body to z-axis (((([-0.355065] *IDLEMOVESCALE)/100) *IDLEAMPLITUDE)/100) speed (((([63.337378] *IDLEMOVESCALE)/100) *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=2.11 move body to y-axis (((([1.471361] *IDLEMOVESCALE)/100) *IDLEAMPLITUDE)/100) speed (((([101.375191] *IDLEMOVESCALE)/100) *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=3.38 @@ -292,36 +292,36 @@ Idle() {// For N:\animations\Raptors\raptor_idle_remaster_v2.blend Created by ht } } } -// Call this from StopMoving()! +// Call this from MotionControl()! StopIdle() { //IDLESPEED = 10; // tune restore speed here, higher values are slower restore speeds - move body to x-axis ([0.0]*IDLEMOVESCALE)/100 speed (([93.876328]*IDLEMOVESCALE)/100) / IDLESPEED; - move body to y-axis ([0.0]*IDLEMOVESCALE)/100 speed (([101.375191]*IDLEMOVESCALE)/100) / IDLESPEED; - move body to z-axis ([0.0]*IDLEMOVESCALE)/100 speed (([122.660612]*IDLEMOVESCALE)/100) / IDLESPEED; - turn body to x-axis <0.0> speed <154.104961> / IDLESPEED; - turn body to y-axis <0.0> speed <115.171502> / IDLESPEED; - turn body to z-axis <0.0> speed <142.795336> / IDLESPEED; + move body to x-axis ([0.000000]*IDLEMOVESCALE)/100 speed (([93.876328]*IDLEMOVESCALE)/100) / IDLESPEED; + move body to y-axis ([0.000000]*IDLEMOVESCALE)/100 speed (([101.375191]*IDLEMOVESCALE)/100) / IDLESPEED; + move body to z-axis ([0.000000]*IDLEMOVESCALE)/100 speed (([122.660612]*IDLEMOVESCALE)/100) / IDLESPEED; + turn body to x-axis <0.000000> speed <154.104961> / IDLESPEED; + turn body to y-axis <0.000000> speed <115.171502> / IDLESPEED; + turn body to z-axis <0.000000> speed <142.795336> / IDLESPEED; turn head to x-axis <1.859755> speed <158.060098> / IDLESPEED; - turn head to y-axis <0.0> speed <115.171502> / IDLESPEED; + turn head to y-axis <0.000000> speed <115.171502> / IDLESPEED; turn head to z-axis <2.668271> speed <129.951579> / IDLESPEED; - turn lfoot to x-axis <0.0> speed <176.207111> / IDLESPEED; - turn lfoot to y-axis <0.0> speed <56.658745> / IDLESPEED; - turn lfoot to z-axis <0.0> speed <133.443476> / IDLESPEED; - turn lknee to x-axis <0.0> speed <540.771869> / IDLESPEED; - turn lshin to x-axis <0.0> speed <220.020952> / IDLESPEED; - turn lthigh to x-axis <0.0> speed <261.287937> / IDLESPEED; - turn lthigh to y-axis <0.0> speed <55.103324> / IDLESPEED; - turn lthigh to z-axis <0.0> speed <175.652422> / IDLESPEED; + turn lfoot to x-axis <0.000000> speed <176.207111> / IDLESPEED; + turn lfoot to y-axis <0.000000> speed <56.658745> / IDLESPEED; + turn lfoot to z-axis <0.000000> speed <133.443476> / IDLESPEED; + turn lknee to x-axis <0.000000> speed <540.771869> / IDLESPEED; + turn lshin to x-axis <0.000000> speed <220.020952> / IDLESPEED; + turn lthigh to x-axis <0.000000> speed <261.287937> / IDLESPEED; + turn lthigh to y-axis <0.000000> speed <55.103324> / IDLESPEED; + turn lthigh to z-axis <0.000000> speed <175.652422> / IDLESPEED; turn rfoot to x-axis <0.556060> speed <204.515432> / IDLESPEED; - turn rfoot to y-axis <0.0> speed <54.529445> / IDLESPEED; - turn rfoot to z-axis <0.0> speed <132.107427> / IDLESPEED; + turn rfoot to y-axis <0.000000> speed <54.529445> / IDLESPEED; + turn rfoot to z-axis <0.000000> speed <132.107427> / IDLESPEED; turn rknee to x-axis <0.285129> speed <248.188592> / IDLESPEED; - turn rshin to x-axis <0.0> speed <95.661351> / IDLESPEED; + turn rshin to x-axis <0.000000> speed <95.661351> / IDLESPEED; turn rthigh to x-axis <-0.243776> speed <181.978228> / IDLESPEED; - turn rthigh to y-axis <0.0> speed <54.175071> / IDLESPEED; - turn rthigh to z-axis <0.0> speed <171.336856> / IDLESPEED; - turn tail to x-axis <0.0> speed <154.104961> / IDLESPEED; + turn rthigh to y-axis <0.000000> speed <54.175071> / IDLESPEED; + turn rthigh to z-axis <0.000000> speed <171.336856> / IDLESPEED; + turn tail to x-axis <0.000000> speed <154.104961> / IDLESPEED; turn tail to y-axis <3.072361> speed <344.173096> / IDLESPEED; - turn tail to z-axis <0.0> speed <142.795336> / IDLESPEED; + turn tail to z-axis <0.000000> speed <142.795336> / IDLESPEED; } diff --git a/scripts/Raptors/raptor_idle_allterrain.h b/scripts/Raptors/raptor_idle_allterrain.h index eb881eee35c..c3d9e24f260 100644 --- a/scripts/Raptors/raptor_idle_allterrain.h +++ b/scripts/Raptors/raptor_idle_allterrain.h @@ -4,9 +4,9 @@ //#deine IDLESPEED //Animframes spacing is 12.500000, THIS SHOULD BE AN INTEGER, SPACE YOUR KEYFRAMES EVENLY! Idle() {// For N:\animations\raptor_allterrain_idle_V1.blend Created by https://github.com/Beherith/Skeletor_S3O V((0, 3, 5)) - set-signal-mask SIGNAL_MOVE; + set-signal-mask SIG_WALK; sleep 100; - if (!isMoving) { //Frame:10 + if (!bMoving) { //Frame:10 turn body to x-axis ((<1.633554> *IDLEAMPLITUDE)/100) speed ((<49.006618> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=-1.63 turn body to z-axis ((<-1.827850> *IDLEAMPLITUDE)/100) speed ((<54.835506> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=1.83 turn body to y-axis ((<-1.973542> *IDLEAMPLITUDE)/100) speed ((<59.206272> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=-1.97 @@ -65,8 +65,8 @@ Idle() {// For N:\animations\raptor_allterrain_idle_V1.blend Created by https:// turn tail to y-axis ((<-5.759738> *IDLEAMPLITUDE)/100) speed ((<172.792153> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=-5.76 sleep ((33*IDLESPEED) -1); } - while(!isMoving) { - if (!isMoving) { //Frame:20 + while(!bMoving) { + if (!bMoving) { //Frame:20 turn body to x-axis ((<-0.866543> *IDLEAMPLITUDE)/100) speed ((<75.002894> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=2.50 turn body to z-axis ((<-3.174584> *IDLEAMPLITUDE)/100) speed ((<40.402001> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=1.35 turn body to y-axis ((<-2.651666> *IDLEAMPLITUDE)/100) speed ((<20.343695> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=-0.68 @@ -115,7 +115,7 @@ Idle() {// For N:\animations\raptor_allterrain_idle_V1.blend Created by https:// turn tail to y-axis ((<-7.423950> *IDLEAMPLITUDE)/100) speed ((<49.926356> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=-1.66 sleep ((33*IDLESPEED) -1); } - if (!isMoving) { //Frame:30 + if (!bMoving) { //Frame:30 turn body to y-axis ((<4.155212> *IDLEAMPLITUDE)/100) speed ((<204.206319> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=6.81 turn head to y-axis ((<-6.166123> *IDLEAMPLITUDE)/100) speed ((<393.712961> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=-13.12 turn lbfoot to x-axis ((<2.170617> *IDLEAMPLITUDE)/100) speed ((<107.108919> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=-3.57 @@ -166,7 +166,7 @@ Idle() {// For N:\animations\raptor_allterrain_idle_V1.blend Created by https:// turn tail to y-axis ((<9.281112> *IDLEAMPLITUDE)/100) speed ((<501.151871> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=16.71 sleep ((33*IDLESPEED) -1); } - if (!isMoving) { //Frame:40 + if (!bMoving) { //Frame:40 turn body to x-axis ((<-1.533031> *IDLEAMPLITUDE)/100) speed ((<19.916305> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=0.66 turn body to y-axis ((<3.678333> *IDLEAMPLITUDE)/100) speed ((<14.306348> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=-0.48 turn head to x-axis ((<1.110517> *IDLEAMPLITUDE)/100) speed ((<38.398942> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=-1.28 @@ -205,7 +205,7 @@ Idle() {// For N:\animations\raptor_allterrain_idle_V1.blend Created by https:// turn tail to y-axis ((<8.110781> *IDLEAMPLITUDE)/100) speed ((<35.109921> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=-1.17 sleep ((33*IDLESPEED) -1); } - if (!isMoving) { //Frame:60 + if (!bMoving) { //Frame:60 turn body to x-axis ((<0.285069> *IDLEAMPLITUDE)/100) speed ((<54.543022> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=-1.82 turn body to z-axis ((<1.568513> *IDLEAMPLITUDE)/100) speed ((<144.858967> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=-4.83 turn body to y-axis ((<-1.799690> *IDLEAMPLITUDE)/100) speed ((<164.340710> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=-5.48 @@ -260,7 +260,7 @@ Idle() {// For N:\animations\raptor_allterrain_idle_V1.blend Created by https:// turn tail to y-axis ((<-5.333079> *IDLEAMPLITUDE)/100) speed ((<403.315815> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=-13.44 sleep ((33*IDLESPEED) -1); } - if (!isMoving) { //Frame:70 + if (!bMoving) { //Frame:70 turn body to x-axis ((<0.508595> *IDLEAMPLITUDE)/100) speed ((<6.705769> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=-0.22 turn body to z-axis ((<-0.246760> *IDLEAMPLITUDE)/100) speed ((<54.458181> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=1.82 turn body to y-axis ((<1.127313> *IDLEAMPLITUDE)/100) speed ((<87.810096> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=2.93 @@ -316,7 +316,7 @@ Idle() {// For N:\animations\raptor_allterrain_idle_V1.blend Created by https:// turn tail to y-axis ((<1.850209> *IDLEAMPLITUDE)/100) speed ((<215.498652> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=7.18 sleep ((33*IDLESPEED) -1); } - if (!isMoving) { //Frame:80 + if (!bMoving) { //Frame:80 turn body to x-axis ((<-1.663825> *IDLEAMPLITUDE)/100) speed ((<65.172603> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=2.17 turn body to z-axis ((<-0.392649> *IDLEAMPLITUDE)/100) speed ((<4.376681> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=0.15 turn body to y-axis ((<0.788730> *IDLEAMPLITUDE)/100) speed ((<10.157486> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=-0.34 @@ -355,7 +355,7 @@ Idle() {// For N:\animations\raptor_allterrain_idle_V1.blend Created by https:// turn tail to y-axis ((<1.019278> *IDLEAMPLITUDE)/100) speed ((<24.927934> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=-0.83 sleep ((33*IDLESPEED) -1); } - if (!isMoving) { //Frame:100 + if (!bMoving) { //Frame:100 turn body to x-axis ((<2.894842> *IDLEAMPLITUDE)/100) speed ((<136.760019> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=-4.56 turn body to z-axis ((<0.231848> *IDLEAMPLITUDE)/100) speed ((<18.734915> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=-0.62 turn body to y-axis ((<0.443825> *IDLEAMPLITUDE)/100) speed ((<10.347155> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=-0.34 @@ -371,7 +371,7 @@ Idle() {// For N:\animations\raptor_allterrain_idle_V1.blend Created by https:// turn lbshin to z-axis ((<0.772515> *IDLEAMPLITUDE)/100) speed ((<29.086734> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=-0.97 turn lbthigh to x-axis ((<0.329769> *IDLEAMPLITUDE)/100) speed ((<26.213092> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=-0.87 turn lbthigh to z-axis ((<0.239025> *IDLEAMPLITUDE)/100) speed ((<27.327222> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=-0.91 - turn lffoot to x-axis ((<0.441086> *IDLEAMPLITUDE)/100) speed ((<5.0> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=-0.17 + turn lffoot to x-axis ((<0.441086> *IDLEAMPLITUDE)/100) speed ((<5.000934> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=-0.17 turn lffoot to z-axis ((<-0.106414> *IDLEAMPLITUDE)/100) speed ((<4.725204> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=-0.16 turn lfknee to x-axis ((<1.656483> *IDLEAMPLITUDE)/100) speed ((<88.947242> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=-2.96 turn lfknee to z-axis ((<-0.047297> *IDLEAMPLITUDE)/100) speed ((<6.856678> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=0.23 @@ -407,7 +407,7 @@ Idle() {// For N:\animations\raptor_allterrain_idle_V1.blend Created by https:// turn tail to y-axis ((<0.172831> *IDLEAMPLITUDE)/100) speed ((<25.393416> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=-0.85 sleep ((33*IDLESPEED) -1); } - if (!isMoving) { //Frame:110 + if (!bMoving) { //Frame:110 turn body to x-axis ((<1.633554> *IDLEAMPLITUDE)/100) speed ((<37.838650> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=1.26 turn body to z-axis ((<-1.827850> *IDLEAMPLITUDE)/100) speed ((<61.790946> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=2.06 turn body to y-axis ((<-1.973542> *IDLEAMPLITUDE)/100) speed ((<72.521021> *IDLEAMPLITUDE)/100) / IDLESPEED; //delta=-2.42 @@ -462,67 +462,67 @@ Idle() {// For N:\animations\raptor_allterrain_idle_V1.blend Created by https:// } } } -// Call this from StopMoving()! +// Call this from MotionControl()! StopIdle() { //IDLESPEED = 10; // tune restore speed here, higher values are slower restore speeds - move head to x-axis ([0.0]*IDLEMOVESCALE)/100 speed (([55.355726]*IDLEMOVESCALE)/100) / IDLESPEED; - move head to y-axis ([0.0]*IDLEMOVESCALE)/100 speed (([55.355726]*IDLEMOVESCALE)/100) / IDLESPEED; - move head to z-axis ([0.0]*IDLEMOVESCALE)/100 speed (([55.355726]*IDLEMOVESCALE)/100) / IDLESPEED; - move tail to x-axis ([0.0]*IDLEMOVESCALE)/100 speed (([27.491391]*IDLEMOVESCALE)/100) / IDLESPEED; - move tail to y-axis ([0.0]*IDLEMOVESCALE)/100 speed (([27.491391]*IDLEMOVESCALE)/100) / IDLESPEED; - move tail to z-axis ([0.0]*IDLEMOVESCALE)/100 speed (([27.491391]*IDLEMOVESCALE)/100) / IDLESPEED; - turn body to x-axis <0.0> speed <75.002894> / IDLESPEED; - turn body to y-axis <0.0> speed <204.206319> / IDLESPEED; - turn body to z-axis <0.0> speed <72.429483> / IDLESPEED; - turn head to x-axis <0.0> speed <149.841245> / IDLESPEED; - turn head to y-axis <0.0> speed <393.712961> / IDLESPEED; - turn head to z-axis <0.0> speed <139.645177> / IDLESPEED; - turn lbfoot to x-axis <0.0> speed <107.108919> / IDLESPEED; - turn lbfoot to z-axis <0.0> speed <150.330925> / IDLESPEED; - turn lbknee to x-axis <0.0> speed <176.570191> / IDLESPEED; - turn lbknee to y-axis <0.0> speed <131.688658> / IDLESPEED; - turn lbknee to z-axis <0.0> speed <47.022395> / IDLESPEED; - turn lbshin to x-axis <0.0> speed <58.289069> / IDLESPEED; - turn lbshin to y-axis <0.0> speed <33.027839> / IDLESPEED; - turn lbshin to z-axis <0.0> speed <30.671897> / IDLESPEED; - turn lbthigh to x-axis <0.0> speed <107.980557> / IDLESPEED; - turn lbthigh to y-axis <0.0> speed <32.854133> / IDLESPEED; - turn lbthigh to z-axis <0.0> speed <143.184092> / IDLESPEED; - turn lffoot to x-axis <0.0> speed <91.484282> / IDLESPEED; - turn lffoot to z-axis <0.0> speed <55.231328> / IDLESPEED; - turn lfknee to x-axis <0.0> speed <98.679455> / IDLESPEED; - turn lfknee to y-axis <0.0> speed <33.743979> / IDLESPEED; - turn lfknee to z-axis <0.0> speed <29.047898> / IDLESPEED; - turn lfshin to x-axis <0.0> speed <58.876012> / IDLESPEED; - turn lfshin to y-axis <0.0> speed <84.306958> / IDLESPEED; - turn lfshin to z-axis <0.0> speed <15.708207> / IDLESPEED; - turn lfthigh to x-axis <0.0> speed <107.267495> / IDLESPEED; - turn lfthigh to y-axis <0.0> speed <81.599204> / IDLESPEED; - turn lfthigh to z-axis <0.0> speed <65.707108> / IDLESPEED; - turn rbfoot to x-axis <0.0> speed <113.849166> / IDLESPEED; - turn rbfoot to z-axis <0.0> speed <145.697105> / IDLESPEED; - turn rbknee to x-axis <0.0> speed <207.935007> / IDLESPEED; - turn rbknee to y-axis <0.0> speed <131.341688> / IDLESPEED; - turn rbknee to z-axis <0.0> speed <43.532883> / IDLESPEED; - turn rbshin to x-axis <0.0> speed <64.493270> / IDLESPEED; - turn rbshin to y-axis <0.0> speed <37.767169> / IDLESPEED; - turn rbshin to z-axis <0.0> speed <40.323110> / IDLESPEED; - turn rbthigh to x-axis <0.0> speed <116.861457> / IDLESPEED; - turn rbthigh to y-axis <0.0> speed <47.501381> / IDLESPEED; - turn rbthigh to z-axis <0.0> speed <144.645575> / IDLESPEED; - turn rffoot to x-axis <0.0> speed <93.714491> / IDLESPEED; - turn rffoot to z-axis <0.0> speed <62.094626> / IDLESPEED; - turn rfknee to x-axis <0.0> speed <79.134111> / IDLESPEED; - turn rfknee to y-axis <0.0> speed <33.104526> / IDLESPEED; - turn rfknee to z-axis <0.0> speed <28.992314> / IDLESPEED; - turn rfshin to x-axis <0.0> speed <46.773185> / IDLESPEED; - turn rfshin to y-axis <0.0> speed <88.311690> / IDLESPEED; - turn rfshin to z-axis <0.0> speed <15.815001> / IDLESPEED; - turn rfthigh to x-axis <0.0> speed <105.215581> / IDLESPEED; - turn rfthigh to y-axis <0.0> speed <87.622804> / IDLESPEED; - turn rfthigh to z-axis <0.0> speed <66.723918> / IDLESPEED; - turn tail to x-axis <0.0> speed <184.067933> / IDLESPEED; - turn tail to y-axis <0.0> speed <501.151871> / IDLESPEED; - turn tail to z-axis <0.0> speed <177.752427> / IDLESPEED; + move head to x-axis ([0.000000]*IDLEMOVESCALE)/100 speed (([55.355726]*IDLEMOVESCALE)/100) / IDLESPEED; + move head to y-axis ([0.000000]*IDLEMOVESCALE)/100 speed (([55.355726]*IDLEMOVESCALE)/100) / IDLESPEED; + move head to z-axis ([0.000000]*IDLEMOVESCALE)/100 speed (([55.355726]*IDLEMOVESCALE)/100) / IDLESPEED; + move tail to x-axis ([0.000000]*IDLEMOVESCALE)/100 speed (([27.491391]*IDLEMOVESCALE)/100) / IDLESPEED; + move tail to y-axis ([0.000000]*IDLEMOVESCALE)/100 speed (([27.491391]*IDLEMOVESCALE)/100) / IDLESPEED; + move tail to z-axis ([0.000000]*IDLEMOVESCALE)/100 speed (([27.491391]*IDLEMOVESCALE)/100) / IDLESPEED; + turn body to x-axis <0.000000> speed <75.002894> / IDLESPEED; + turn body to y-axis <0.000000> speed <204.206319> / IDLESPEED; + turn body to z-axis <0.000000> speed <72.429483> / IDLESPEED; + turn head to x-axis <0.000000> speed <149.841245> / IDLESPEED; + turn head to y-axis <0.000000> speed <393.712961> / IDLESPEED; + turn head to z-axis <0.000000> speed <139.645177> / IDLESPEED; + turn lbfoot to x-axis <0.000000> speed <107.108919> / IDLESPEED; + turn lbfoot to z-axis <0.000000> speed <150.330925> / IDLESPEED; + turn lbknee to x-axis <0.000000> speed <176.570191> / IDLESPEED; + turn lbknee to y-axis <0.000000> speed <131.688658> / IDLESPEED; + turn lbknee to z-axis <0.000000> speed <47.022395> / IDLESPEED; + turn lbshin to x-axis <0.000000> speed <58.289069> / IDLESPEED; + turn lbshin to y-axis <0.000000> speed <33.027839> / IDLESPEED; + turn lbshin to z-axis <0.000000> speed <30.671897> / IDLESPEED; + turn lbthigh to x-axis <0.000000> speed <107.980557> / IDLESPEED; + turn lbthigh to y-axis <0.000000> speed <32.854133> / IDLESPEED; + turn lbthigh to z-axis <0.000000> speed <143.184092> / IDLESPEED; + turn lffoot to x-axis <0.000000> speed <91.484282> / IDLESPEED; + turn lffoot to z-axis <0.000000> speed <55.231328> / IDLESPEED; + turn lfknee to x-axis <0.000000> speed <98.679455> / IDLESPEED; + turn lfknee to y-axis <0.000000> speed <33.743979> / IDLESPEED; + turn lfknee to z-axis <0.000000> speed <29.047898> / IDLESPEED; + turn lfshin to x-axis <0.000000> speed <58.876012> / IDLESPEED; + turn lfshin to y-axis <0.000000> speed <84.306958> / IDLESPEED; + turn lfshin to z-axis <0.000000> speed <15.708207> / IDLESPEED; + turn lfthigh to x-axis <0.000000> speed <107.267495> / IDLESPEED; + turn lfthigh to y-axis <0.000000> speed <81.599204> / IDLESPEED; + turn lfthigh to z-axis <0.000000> speed <65.707108> / IDLESPEED; + turn rbfoot to x-axis <0.000000> speed <113.849166> / IDLESPEED; + turn rbfoot to z-axis <0.000000> speed <145.697105> / IDLESPEED; + turn rbknee to x-axis <0.000000> speed <207.935007> / IDLESPEED; + turn rbknee to y-axis <0.000000> speed <131.341688> / IDLESPEED; + turn rbknee to z-axis <0.000000> speed <43.532883> / IDLESPEED; + turn rbshin to x-axis <0.000000> speed <64.493270> / IDLESPEED; + turn rbshin to y-axis <0.000000> speed <37.767169> / IDLESPEED; + turn rbshin to z-axis <0.000000> speed <40.323110> / IDLESPEED; + turn rbthigh to x-axis <0.000000> speed <116.861457> / IDLESPEED; + turn rbthigh to y-axis <0.000000> speed <47.501381> / IDLESPEED; + turn rbthigh to z-axis <0.000000> speed <144.645575> / IDLESPEED; + turn rffoot to x-axis <0.000000> speed <93.714491> / IDLESPEED; + turn rffoot to z-axis <0.000000> speed <62.094626> / IDLESPEED; + turn rfknee to x-axis <0.000000> speed <79.134111> / IDLESPEED; + turn rfknee to y-axis <0.000000> speed <33.104526> / IDLESPEED; + turn rfknee to z-axis <0.000000> speed <28.992314> / IDLESPEED; + turn rfshin to x-axis <0.000000> speed <46.773185> / IDLESPEED; + turn rfshin to y-axis <0.000000> speed <88.311690> / IDLESPEED; + turn rfshin to z-axis <0.000000> speed <15.815001> / IDLESPEED; + turn rfthigh to x-axis <0.000000> speed <105.215581> / IDLESPEED; + turn rfthigh to y-axis <0.000000> speed <87.622804> / IDLESPEED; + turn rfthigh to z-axis <0.000000> speed <66.723918> / IDLESPEED; + turn tail to x-axis <0.000000> speed <184.067933> / IDLESPEED; + turn tail to y-axis <0.000000> speed <501.151871> / IDLESPEED; + turn tail to z-axis <0.000000> speed <177.752427> / IDLESPEED; } diff --git a/scripts/Raptors/raptor_killed_2legged.h b/scripts/Raptors/raptor_killed_2legged.h index 7d69eecad68..9e40c9967ee 100644 --- a/scripts/Raptors/raptor_killed_2legged.h +++ b/scripts/Raptors/raptor_killed_2legged.h @@ -5,7 +5,7 @@ Killed( severity, corpsetype ) { isDying = TRUE; corpsetype = 1; - signal SIGNAL_MOVE; + signal SIG_WALK; emit-sfx 1025 from body; if (RAND(0,100) < 33){ if (RAND(0,100) <60> ) heading = <60>; if (heading < <-60> ) heading = <-60>; if (pitch > <60> ) pitch = <60>; @@ -227,19 +232,19 @@ HitByWeaponId(z,x,weapon_id,shot_power) return 100; } -QueryNanoPiece(pieceIndex) +QueryNanoPiece(piecenum) { if (spray == 0) { - pieceIndex = spike1emit; + piecenum = spike1emit; } if (spray == 1) { - pieceIndex = spike2emit; + piecenum = spike2emit; } if (spray == 2) { - pieceIndex = spike3emit; + piecenum = spike3emit; } spray = spray+1; if ( spray > 2 ) diff --git a/scripts/Raptors/raptor_miniqueen.cob b/scripts/Raptors/raptor_miniqueen.cob index 129fa25bd4ce80445c97ab6b2e48c89a398500fb..8da9e52c194af8f25454b5b101a73381438c31f2 100644 GIT binary patch literal 41705 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 PjT2k5hQ_8Thh_f@BwNlr literal 22188 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 *animAmplitude)/100) speed ((<9.134978> *animAmplitude)/100) / animSpeed; //delta=-0.30 - turn body to z-axis ((<3.0> *animAmplitude)/100) speed ((<90.0> *animAmplitude)/100) / animSpeed; //delta=-3.00 - turn body to y-axis ((<5.0> *animAmplitude)/100) speed ((<149.999996> *animAmplitude)/100) / animSpeed; //delta=5.00 + turn body to z-axis ((<3.000000> *animAmplitude)/100) speed ((<90.000003> *animAmplitude)/100) / animSpeed; //delta=-3.00 + turn body to y-axis ((<5.000000> *animAmplitude)/100) speed ((<149.999996> *animAmplitude)/100) / animSpeed; //delta=5.00 turn head to x-axis ((<0.299937> *animAmplitude)/100) speed ((<17.998910> *animAmplitude)/100) / animSpeed; //delta=-0.60 turn head to z-axis ((<-7.024838> *animAmplitude)/100) speed ((<210.745154> *animAmplitude)/100) / animSpeed; //delta=7.02 turn head to y-axis ((<-2.966008> *animAmplitude)/100) speed ((<88.980238> *animAmplitude)/100) / animSpeed; //delta=-2.97 @@ -48,18 +48,18 @@ Walk() {// For N:\animations\raptor_queen_walk_anim_v2.blend Created by https:// turn rthighf to y-axis ((<-3.128067> *animAmplitude)/100) speed ((<88.833580> *animAmplitude)/100) / animSpeed; //delta=-2.96 turn spike1 to x-axis ((<0.113623> *animAmplitude)/100) speed ((<3.408680> *animAmplitude)/100) / animSpeed; //delta=-0.11 turn spike2 to x-axis ((<-9.886377> *animAmplitude)/100) speed ((<296.591309> *animAmplitude)/100) / animSpeed; //delta=9.89 - turn spike3 to x-axis ((<-19.886378> *animAmplitude)/100) speed ((<300.0> *animAmplitude)/100) / animSpeed; //delta=10.00 - turn tail to x-axis ((<11.883820> *animAmplitude)/100) speed ((<30.0> *animAmplitude)/100) / animSpeed; //delta=-1.00 - turn tail to z-axis ((<-3.0> *animAmplitude)/100) speed ((<90.0> *animAmplitude)/100) / animSpeed; //delta=3.00 + turn spike3 to x-axis ((<-19.886378> *animAmplitude)/100) speed ((<300.000017> *animAmplitude)/100) / animSpeed; //delta=10.00 + turn tail to x-axis ((<11.883820> *animAmplitude)/100) speed ((<30.000009> *animAmplitude)/100) / animSpeed; //delta=-1.00 + turn tail to z-axis ((<-3.000000> *animAmplitude)/100) speed ((<90.000003> *animAmplitude)/100) / animSpeed; //delta=3.00 turn tail to y-axis ((<-13.196538> *animAmplitude)/100) speed ((<395.896129> *animAmplitude)/100) / animSpeed; //delta=-13.20 sleep ((33*animSpeed) -1); } - while(isMoving) { - if (isMoving) { //Frame:10 - move body to y-axis (((([1.0] *MOVESCALE)/100) *animAmplitude)/100) speed (((([60.0] *MOVESCALE)/100) *animAmplitude)/100) / animSpeed; //delta=2.00 + while(bMoving) { + if (bMoving) { //Frame:10 + move body to y-axis (((([1.000000] *MOVESCALE)/100) *animAmplitude)/100) speed (((([60.000000] *MOVESCALE)/100) *animAmplitude)/100) / animSpeed; //delta=2.00 turn body to x-axis ((<-0.826125> *animAmplitude)/100) speed ((<18.269957> *animAmplitude)/100) / animSpeed; //delta=0.61 - turn body to z-axis ((<5.0> *animAmplitude)/100) speed ((<59.999993> *animAmplitude)/100) / animSpeed; //delta=-2.00 - turn body to y-axis ((<3.0> *animAmplitude)/100) speed ((<59.999993> *animAmplitude)/100) / animSpeed; //delta=-2.00 + turn body to z-axis ((<5.000000> *animAmplitude)/100) speed ((<59.999993> *animAmplitude)/100) / animSpeed; //delta=-2.00 + turn body to y-axis ((<3.000000> *animAmplitude)/100) speed ((<59.999993> *animAmplitude)/100) / animSpeed; //delta=-2.00 turn head to x-axis ((<-0.899991> *animAmplitude)/100) speed ((<35.997822> *animAmplitude)/100) / animSpeed; //delta=1.20 turn head to z-axis ((<-11.708064> *animAmplitude)/100) speed ((<140.496778> *animAmplitude)/100) / animSpeed; //delta=4.68 turn head to y-axis ((<-1.779605> *animAmplitude)/100) speed ((<35.592100> *animAmplitude)/100) / animSpeed; //delta=1.19 @@ -94,21 +94,21 @@ Walk() {// For N:\animations\raptor_queen_walk_anim_v2.blend Created by https:// turn rthighf to z-axis ((<-1.743176> *animAmplitude)/100) speed ((<34.161242> *animAmplitude)/100) / animSpeed; //delta=1.14 turn rthighf to y-axis ((<1.067008> *animAmplitude)/100) speed ((<125.852262> *animAmplitude)/100) / animSpeed; //delta=4.20 turn spike1 to x-axis ((<-9.886377> *animAmplitude)/100) speed ((<299.999988> *animAmplitude)/100) / animSpeed; //delta=10.00 - turn spike2 to x-axis ((<-19.886378> *animAmplitude)/100) speed ((<300.0> *animAmplitude)/100) / animSpeed; //delta=10.00 - turn spike3 to x-axis ((<-24.886378> *animAmplitude)/100) speed ((<150.0> *animAmplitude)/100) / animSpeed; //delta=5.00 + turn spike2 to x-axis ((<-19.886378> *animAmplitude)/100) speed ((<300.000017> *animAmplitude)/100) / animSpeed; //delta=10.00 + turn spike3 to x-axis ((<-24.886378> *animAmplitude)/100) speed ((<150.000021> *animAmplitude)/100) / animSpeed; //delta=5.00 turn tail to x-axis ((<9.883820> *animAmplitude)/100) speed ((<59.999993> *animAmplitude)/100) / animSpeed; //delta=2.00 - turn tail to z-axis ((<-5.0> *animAmplitude)/100) speed ((<59.999993> *animAmplitude)/100) / animSpeed; //delta=2.00 + turn tail to z-axis ((<-5.000000> *animAmplitude)/100) speed ((<59.999993> *animAmplitude)/100) / animSpeed; //delta=2.00 turn tail to y-axis ((<-7.917922> *animAmplitude)/100) speed ((<158.358457> *animAmplitude)/100) / animSpeed; //delta=5.28 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:15 - move body to y-axis (((([2.0] *MOVESCALE)/100) *animAmplitude)/100) speed (((([30.0] *MOVESCALE)/100) *animAmplitude)/100) / animSpeed; //delta=1.00 + if (bMoving) { //Frame:15 + move body to y-axis (((([2.000000] *MOVESCALE)/100) *animAmplitude)/100) speed (((([30.000000] *MOVESCALE)/100) *animAmplitude)/100) / animSpeed; //delta=1.00 turn body to x-axis ((<-1.130624> *animAmplitude)/100) speed ((<9.134980> *animAmplitude)/100) / animSpeed; //delta=0.30 - turn body to z-axis ((<3.0> *animAmplitude)/100) speed ((<59.999993> *animAmplitude)/100) / animSpeed; //delta=2.00 - turn body to y-axis ((<0.0> *animAmplitude)/100) speed ((<90.0> *animAmplitude)/100) / animSpeed; //delta=-3.00 + turn body to z-axis ((<3.000000> *animAmplitude)/100) speed ((<59.999993> *animAmplitude)/100) / animSpeed; //delta=2.00 + turn body to y-axis ((<0.000000> *animAmplitude)/100) speed ((<90.000003> *animAmplitude)/100) / animSpeed; //delta=-3.00 turn head to x-axis ((<-1.499955> *animAmplitude)/100) speed ((<17.998915> *animAmplitude)/100) / animSpeed; //delta=0.60 turn head to z-axis ((<-7.024838> *animAmplitude)/100) speed ((<140.496778> *animAmplitude)/100) / animSpeed; //delta=-4.68 - turn head to y-axis ((<0.0> *animAmplitude)/100) speed ((<53.388138> *animAmplitude)/100) / animSpeed; //delta=1.78 + turn head to y-axis ((<0.000000> *animAmplitude)/100) speed ((<53.388138> *animAmplitude)/100) / animSpeed; //delta=1.78 turn lfootb to x-axis ((<-21.772765> *animAmplitude)/100) speed ((<479.831666> *animAmplitude)/100) / animSpeed; //delta=15.99 turn lfootf to x-axis ((<9.936868> *animAmplitude)/100) speed ((<400.624251> *animAmplitude)/100) / animSpeed; //delta=13.35 turn lforearml to z-axis ((<3.891601> *animAmplitude)/100) speed ((<138.257236> *animAmplitude)/100) / animSpeed; //delta=-4.61 @@ -127,7 +127,7 @@ Walk() {// For N:\animations\raptor_queen_walk_anim_v2.blend Created by https:// turn rfootf to x-axis ((<10.051183> *animAmplitude)/100) speed ((<331.714434> *animAmplitude)/100) / animSpeed; //delta=-11.06 turn rforearml to z-axis ((<3.891601> *animAmplitude)/100) speed ((<138.257236> *animAmplitude)/100) / animSpeed; //delta=-4.61 turn rforearmu to z-axis ((<3.891601> *animAmplitude)/100) speed ((<138.257236> *animAmplitude)/100) / animSpeed; //delta=-4.61 - turn rkneeb to x-axis ((<-5.0> *animAmplitude)/100) speed ((<898.317762> *animAmplitude)/100) / animSpeed; //delta=29.94 + turn rkneeb to x-axis ((<-5.000679> *animAmplitude)/100) speed ((<898.317762> *animAmplitude)/100) / animSpeed; //delta=29.94 turn rkneef to x-axis ((<3.535602> *animAmplitude)/100) speed ((<276.405916> *animAmplitude)/100) / animSpeed; //delta=9.21 turn rshinb to x-axis ((<-15.040379> *animAmplitude)/100) speed ((<370.802535> *animAmplitude)/100) / animSpeed; //delta=-12.36 turn rshinf to x-axis ((<-9.248699> *animAmplitude)/100) speed ((<145.791899> *animAmplitude)/100) / animSpeed; //delta=4.86 @@ -137,21 +137,21 @@ Walk() {// For N:\animations\raptor_queen_walk_anim_v2.blend Created by https:// turn rthighf to x-axis ((<-11.581576> *animAmplitude)/100) speed ((<334.129934> *animAmplitude)/100) / animSpeed; //delta=11.14 turn rthighf to z-axis ((<1.712622> *animAmplitude)/100) speed ((<103.673954> *animAmplitude)/100) / animSpeed; //delta=-3.46 turn rthighf to y-axis ((<5.133441> *animAmplitude)/100) speed ((<121.992979> *animAmplitude)/100) / animSpeed; //delta=4.07 - turn spike1 to x-axis ((<-19.886378> *animAmplitude)/100) speed ((<300.0> *animAmplitude)/100) / animSpeed; //delta=10.00 - turn spike2 to x-axis ((<-24.886378> *animAmplitude)/100) speed ((<150.0> *animAmplitude)/100) / animSpeed; //delta=5.00 - turn spike3 to x-axis ((<-19.886378> *animAmplitude)/100) speed ((<150.0> *animAmplitude)/100) / animSpeed; //delta=-5.00 - turn tail to x-axis ((<8.883820> *animAmplitude)/100) speed ((<30.0> *animAmplitude)/100) / animSpeed; //delta=1.00 - turn tail to z-axis ((<-3.0> *animAmplitude)/100) speed ((<59.999993> *animAmplitude)/100) / animSpeed; //delta=-2.00 - turn tail to y-axis ((<0.0> *animAmplitude)/100) speed ((<237.537672> *animAmplitude)/100) / animSpeed; //delta=7.92 + turn spike1 to x-axis ((<-19.886378> *animAmplitude)/100) speed ((<300.000017> *animAmplitude)/100) / animSpeed; //delta=10.00 + turn spike2 to x-axis ((<-24.886378> *animAmplitude)/100) speed ((<150.000021> *animAmplitude)/100) / animSpeed; //delta=5.00 + turn spike3 to x-axis ((<-19.886378> *animAmplitude)/100) speed ((<150.000021> *animAmplitude)/100) / animSpeed; //delta=-5.00 + turn tail to x-axis ((<8.883820> *animAmplitude)/100) speed ((<30.000009> *animAmplitude)/100) / animSpeed; //delta=1.00 + turn tail to z-axis ((<-3.000000> *animAmplitude)/100) speed ((<59.999993> *animAmplitude)/100) / animSpeed; //delta=-2.00 + turn tail to y-axis ((<0.000000> *animAmplitude)/100) speed ((<237.537672> *animAmplitude)/100) / animSpeed; //delta=7.92 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:20 - move body to y-axis (((([2.500000] *MOVESCALE)/100) *animAmplitude)/100) speed (((([15.0] *MOVESCALE)/100) *animAmplitude)/100) / animSpeed; //delta=0.50 + if (bMoving) { //Frame:20 + move body to y-axis (((([2.500000] *MOVESCALE)/100) *animAmplitude)/100) speed (((([15.000000] *MOVESCALE)/100) *animAmplitude)/100) / animSpeed; //delta=0.50 turn body to x-axis ((<-1.282874> *animAmplitude)/100) speed ((<4.567492> *animAmplitude)/100) / animSpeed; //delta=0.15 - turn body to z-axis ((<-0.0> *animAmplitude)/100) speed ((<90.0> *animAmplitude)/100) / animSpeed; //delta=3.00 + turn body to z-axis ((<-0.000000> *animAmplitude)/100) speed ((<90.000003> *animAmplitude)/100) / animSpeed; //delta=3.00 turn body to y-axis ((<-2.500000> *animAmplitude)/100) speed ((<74.999998> *animAmplitude)/100) / animSpeed; //delta=-2.50 turn head to x-axis ((<-1.799937> *animAmplitude)/100) speed ((<8.999460> *animAmplitude)/100) / animSpeed; //delta=0.30 - turn head to z-axis ((<-0.0> *animAmplitude)/100) speed ((<210.745154> *animAmplitude)/100) / animSpeed; //delta=-7.02 + turn head to z-axis ((<-0.000000> *animAmplitude)/100) speed ((<210.745154> *animAmplitude)/100) / animSpeed; //delta=-7.02 turn head to y-axis ((<1.483004> *animAmplitude)/100) speed ((<44.490119> *animAmplitude)/100) / animSpeed; //delta=1.48 turn lfootb to x-axis ((<-10.737367> *animAmplitude)/100) speed ((<331.061924> *animAmplitude)/100) / animSpeed; //delta=-11.04 turn lfootf to x-axis ((<-7.784004> *animAmplitude)/100) speed ((<531.626160> *animAmplitude)/100) / animSpeed; //delta=17.72 @@ -172,7 +172,7 @@ Walk() {// For N:\animations\raptor_queen_walk_anim_v2.blend Created by https:// turn rforearml to z-axis ((<6.195891> *animAmplitude)/100) speed ((<69.128720> *animAmplitude)/100) / animSpeed; //delta=-2.30 turn rforearmu to z-axis ((<6.195891> *animAmplitude)/100) speed ((<69.128720> *animAmplitude)/100) / animSpeed; //delta=-2.30 turn rkneeb to x-axis ((<7.592834> *animAmplitude)/100) speed ((<377.805378> *animAmplitude)/100) / animSpeed; //delta=-12.59 - turn rkneef to x-axis ((<-40.0> *animAmplitude)/100) speed ((<1306.085044> *animAmplitude)/100) / animSpeed; //delta=43.54 + turn rkneef to x-axis ((<-40.000566> *animAmplitude)/100) speed ((<1306.085044> *animAmplitude)/100) / animSpeed; //delta=43.54 turn rshinb to x-axis ((<-17.098766> *animAmplitude)/100) speed ((<61.751604> *animAmplitude)/100) / animSpeed; //delta=2.06 turn rshinf to x-axis ((<17.243009> *animAmplitude)/100) speed ((<794.751250> *animAmplitude)/100) / animSpeed; //delta=-26.49 turn rthighb to x-axis ((<-23.582934> *animAmplitude)/100) speed ((<167.392825> *animAmplitude)/100) / animSpeed; //delta=-5.58 @@ -181,19 +181,19 @@ Walk() {// For N:\animations\raptor_queen_walk_anim_v2.blend Created by https:// turn rthighf to x-axis ((<-5.541916> *animAmplitude)/100) speed ((<181.189803> *animAmplitude)/100) / animSpeed; //delta=-6.04 turn rthighf to z-axis ((<-0.314004> *animAmplitude)/100) speed ((<60.798800> *animAmplitude)/100) / animSpeed; //delta=2.03 turn rthighf to y-axis ((<2.953951> *animAmplitude)/100) speed ((<65.384709> *animAmplitude)/100) / animSpeed; //delta=-2.18 - turn spike1 to x-axis ((<-24.886378> *animAmplitude)/100) speed ((<150.0> *animAmplitude)/100) / animSpeed; //delta=5.00 - turn spike2 to x-axis ((<-19.886378> *animAmplitude)/100) speed ((<150.0> *animAmplitude)/100) / animSpeed; //delta=-5.00 - turn spike3 to x-axis ((<-9.886377> *animAmplitude)/100) speed ((<300.0> *animAmplitude)/100) / animSpeed; //delta=-10.00 + turn spike1 to x-axis ((<-24.886378> *animAmplitude)/100) speed ((<150.000021> *animAmplitude)/100) / animSpeed; //delta=5.00 + turn spike2 to x-axis ((<-19.886378> *animAmplitude)/100) speed ((<150.000021> *animAmplitude)/100) / animSpeed; //delta=-5.00 + turn spike3 to x-axis ((<-9.886377> *animAmplitude)/100) speed ((<300.000017> *animAmplitude)/100) / animSpeed; //delta=-10.00 turn tail to x-axis ((<8.383820> *animAmplitude)/100) speed ((<14.999992> *animAmplitude)/100) / animSpeed; //delta=0.50 - turn tail to z-axis ((<0.0> *animAmplitude)/100) speed ((<90.0> *animAmplitude)/100) / animSpeed; //delta=-3.00 + turn tail to z-axis ((<0.000000> *animAmplitude)/100) speed ((<90.000003> *animAmplitude)/100) / animSpeed; //delta=-3.00 turn tail to y-axis ((<6.598269> *animAmplitude)/100) speed ((<197.948064> *animAmplitude)/100) / animSpeed; //delta=6.60 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:25 - move body to y-axis (((([-1.0] *MOVESCALE)/100) *animAmplitude)/100) speed (((([105.0] *MOVESCALE)/100) *animAmplitude)/100) / animSpeed; //delta=-3.50 + if (bMoving) { //Frame:25 + move body to y-axis (((([-1.000000] *MOVESCALE)/100) *animAmplitude)/100) speed (((([105.000000] *MOVESCALE)/100) *animAmplitude)/100) / animSpeed; //delta=-3.50 turn body to x-axis ((<-0.217126> *animAmplitude)/100) speed ((<31.972433> *animAmplitude)/100) / animSpeed; //delta=-1.07 - turn body to z-axis ((<-3.0> *animAmplitude)/100) speed ((<90.0> *animAmplitude)/100) / animSpeed; //delta=3.00 - turn body to y-axis ((<-5.0> *animAmplitude)/100) speed ((<74.999998> *animAmplitude)/100) / animSpeed; //delta=-2.50 + turn body to z-axis ((<-3.000000> *animAmplitude)/100) speed ((<90.000003> *animAmplitude)/100) / animSpeed; //delta=3.00 + turn body to y-axis ((<-5.000000> *animAmplitude)/100) speed ((<74.999998> *animAmplitude)/100) / animSpeed; //delta=-2.50 turn head to x-axis ((<0.299937> *animAmplitude)/100) speed ((<62.996201> *animAmplitude)/100) / animSpeed; //delta=-2.10 turn head to z-axis ((<7.024838> *animAmplitude)/100) speed ((<210.745154> *animAmplitude)/100) / animSpeed; //delta=-7.02 turn head to y-axis ((<2.966008> *animAmplitude)/100) speed ((<44.490119> *animAmplitude)/100) / animSpeed; //delta=1.48 @@ -227,19 +227,19 @@ Walk() {// For N:\animations\raptor_queen_walk_anim_v2.blend Created by https:// turn rthighf to x-axis ((<-1.347181> *animAmplitude)/100) speed ((<125.842036> *animAmplitude)/100) / animSpeed; //delta=-4.19 turn rthighf to z-axis ((<-2.002576> *animAmplitude)/100) speed ((<50.657141> *animAmplitude)/100) / animSpeed; //delta=1.69 turn rthighf to y-axis ((<2.598832> *animAmplitude)/100) speed ((<10.653552> *animAmplitude)/100) / animSpeed; //delta=-0.36 - turn spike1 to x-axis ((<-19.886378> *animAmplitude)/100) speed ((<150.0> *animAmplitude)/100) / animSpeed; //delta=-5.00 - turn spike2 to x-axis ((<-9.886377> *animAmplitude)/100) speed ((<300.0> *animAmplitude)/100) / animSpeed; //delta=-10.00 + turn spike1 to x-axis ((<-19.886378> *animAmplitude)/100) speed ((<150.000021> *animAmplitude)/100) / animSpeed; //delta=-5.00 + turn spike2 to x-axis ((<-9.886377> *animAmplitude)/100) speed ((<300.000017> *animAmplitude)/100) / animSpeed; //delta=-10.00 turn spike3 to x-axis ((<0.113623> *animAmplitude)/100) speed ((<299.999988> *animAmplitude)/100) / animSpeed; //delta=-10.00 turn tail to x-axis ((<11.883820> *animAmplitude)/100) speed ((<104.999994> *animAmplitude)/100) / animSpeed; //delta=-3.50 - turn tail to z-axis ((<3.0> *animAmplitude)/100) speed ((<90.0> *animAmplitude)/100) / animSpeed; //delta=-3.00 + turn tail to z-axis ((<3.000000> *animAmplitude)/100) speed ((<90.000003> *animAmplitude)/100) / animSpeed; //delta=-3.00 turn tail to y-axis ((<13.196538> *animAmplitude)/100) speed ((<197.948064> *animAmplitude)/100) / animSpeed; //delta=6.60 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:30 - move body to y-axis (((([1.0] *MOVESCALE)/100) *animAmplitude)/100) speed (((([60.0] *MOVESCALE)/100) *animAmplitude)/100) / animSpeed; //delta=2.00 + if (bMoving) { //Frame:30 + move body to y-axis (((([1.000000] *MOVESCALE)/100) *animAmplitude)/100) speed (((([60.000000] *MOVESCALE)/100) *animAmplitude)/100) / animSpeed; //delta=2.00 turn body to x-axis ((<-0.826125> *animAmplitude)/100) speed ((<18.269961> *animAmplitude)/100) / animSpeed; //delta=0.61 - turn body to z-axis ((<-5.0> *animAmplitude)/100) speed ((<59.999993> *animAmplitude)/100) / animSpeed; //delta=2.00 - turn body to y-axis ((<-3.0> *animAmplitude)/100) speed ((<59.999993> *animAmplitude)/100) / animSpeed; //delta=2.00 + turn body to z-axis ((<-5.000000> *animAmplitude)/100) speed ((<59.999993> *animAmplitude)/100) / animSpeed; //delta=2.00 + turn body to y-axis ((<-3.000000> *animAmplitude)/100) speed ((<59.999993> *animAmplitude)/100) / animSpeed; //delta=2.00 turn head to x-axis ((<-0.899991> *animAmplitude)/100) speed ((<35.997826> *animAmplitude)/100) / animSpeed; //delta=1.20 turn head to z-axis ((<11.708064> *animAmplitude)/100) speed ((<140.496778> *animAmplitude)/100) / animSpeed; //delta=-4.68 turn head to y-axis ((<1.779605> *animAmplitude)/100) speed ((<35.592100> *animAmplitude)/100) / animSpeed; //delta=-1.19 @@ -273,22 +273,22 @@ Walk() {// For N:\animations\raptor_queen_walk_anim_v2.blend Created by https:// turn rthighf to x-axis ((<-3.929098> *animAmplitude)/100) speed ((<77.457492> *animAmplitude)/100) / animSpeed; //delta=2.58 turn rthighf to z-axis ((<1.589499> *animAmplitude)/100) speed ((<107.762225> *animAmplitude)/100) / animSpeed; //delta=-3.59 turn rthighf to y-axis ((<0.924679> *animAmplitude)/100) speed ((<50.224597> *animAmplitude)/100) / animSpeed; //delta=-1.67 - turn spike1 to x-axis ((<-9.886377> *animAmplitude)/100) speed ((<300.0> *animAmplitude)/100) / animSpeed; //delta=-10.00 + turn spike1 to x-axis ((<-9.886377> *animAmplitude)/100) speed ((<300.000017> *animAmplitude)/100) / animSpeed; //delta=-10.00 turn spike2 to x-axis ((<0.113623> *animAmplitude)/100) speed ((<299.999988> *animAmplitude)/100) / animSpeed; //delta=-10.00 - turn spike3 to x-axis ((<5.113623> *animAmplitude)/100) speed ((<150.0> *animAmplitude)/100) / animSpeed; //delta=-5.00 + turn spike3 to x-axis ((<5.113623> *animAmplitude)/100) speed ((<150.000024> *animAmplitude)/100) / animSpeed; //delta=-5.00 turn tail to x-axis ((<9.883820> *animAmplitude)/100) speed ((<59.999993> *animAmplitude)/100) / animSpeed; //delta=2.00 - turn tail to z-axis ((<5.0> *animAmplitude)/100) speed ((<59.999993> *animAmplitude)/100) / animSpeed; //delta=-2.00 + turn tail to z-axis ((<5.000000> *animAmplitude)/100) speed ((<59.999993> *animAmplitude)/100) / animSpeed; //delta=-2.00 turn tail to y-axis ((<7.917922> *animAmplitude)/100) speed ((<158.358457> *animAmplitude)/100) / animSpeed; //delta=-5.28 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:35 - move body to y-axis (((([2.0] *MOVESCALE)/100) *animAmplitude)/100) speed (((([30.0] *MOVESCALE)/100) *animAmplitude)/100) / animSpeed; //delta=1.00 + if (bMoving) { //Frame:35 + move body to y-axis (((([2.000000] *MOVESCALE)/100) *animAmplitude)/100) speed (((([30.000000] *MOVESCALE)/100) *animAmplitude)/100) / animSpeed; //delta=1.00 turn body to x-axis ((<-1.130624> *animAmplitude)/100) speed ((<9.134980> *animAmplitude)/100) / animSpeed; //delta=0.30 - turn body to z-axis ((<-3.0> *animAmplitude)/100) speed ((<59.999993> *animAmplitude)/100) / animSpeed; //delta=-2.00 - turn body to y-axis ((<0.0> *animAmplitude)/100) speed ((<90.0> *animAmplitude)/100) / animSpeed; //delta=3.00 + turn body to z-axis ((<-3.000000> *animAmplitude)/100) speed ((<59.999993> *animAmplitude)/100) / animSpeed; //delta=-2.00 + turn body to y-axis ((<0.000000> *animAmplitude)/100) speed ((<90.000003> *animAmplitude)/100) / animSpeed; //delta=3.00 turn head to x-axis ((<-1.499955> *animAmplitude)/100) speed ((<17.998915> *animAmplitude)/100) / animSpeed; //delta=0.60 turn head to z-axis ((<7.024838> *animAmplitude)/100) speed ((<140.496778> *animAmplitude)/100) / animSpeed; //delta=4.68 - turn head to y-axis ((<0.0> *animAmplitude)/100) speed ((<53.388138> *animAmplitude)/100) / animSpeed; //delta=-1.78 + turn head to y-axis ((<0.000000> *animAmplitude)/100) speed ((<53.388138> *animAmplitude)/100) / animSpeed; //delta=-1.78 turn lfootb to x-axis ((<49.334637> *animAmplitude)/100) speed ((<698.185352> *animAmplitude)/100) / animSpeed; //delta=-23.27 turn lfootf to x-axis ((<10.261771> *animAmplitude)/100) speed ((<337.813448> *animAmplitude)/100) / animSpeed; //delta=-11.26 turn lforearml to z-axis ((<3.891601> *animAmplitude)/100) speed ((<138.257236> *animAmplitude)/100) / animSpeed; //delta=-4.61 @@ -318,20 +318,20 @@ Walk() {// For N:\animations\raptor_queen_walk_anim_v2.blend Created by https:// turn rthighf to z-axis ((<2.348060> *animAmplitude)/100) speed ((<22.756850> *animAmplitude)/100) / animSpeed; //delta=-0.76 turn rthighf to y-axis ((<-0.733658> *animAmplitude)/100) speed ((<49.750104> *animAmplitude)/100) / animSpeed; //delta=-1.66 turn spike1 to x-axis ((<0.113623> *animAmplitude)/100) speed ((<299.999988> *animAmplitude)/100) / animSpeed; //delta=-10.00 - turn spike2 to x-axis ((<5.113623> *animAmplitude)/100) speed ((<150.0> *animAmplitude)/100) / animSpeed; //delta=-5.00 - turn spike3 to x-axis ((<0.113623> *animAmplitude)/100) speed ((<150.0> *animAmplitude)/100) / animSpeed; //delta=5.00 - turn tail to x-axis ((<8.883820> *animAmplitude)/100) speed ((<30.0> *animAmplitude)/100) / animSpeed; //delta=1.00 - turn tail to z-axis ((<3.0> *animAmplitude)/100) speed ((<59.999993> *animAmplitude)/100) / animSpeed; //delta=2.00 - turn tail to y-axis ((<0.0> *animAmplitude)/100) speed ((<237.537672> *animAmplitude)/100) / animSpeed; //delta=-7.92 + turn spike2 to x-axis ((<5.113623> *animAmplitude)/100) speed ((<150.000024> *animAmplitude)/100) / animSpeed; //delta=-5.00 + turn spike3 to x-axis ((<0.113623> *animAmplitude)/100) speed ((<150.000024> *animAmplitude)/100) / animSpeed; //delta=5.00 + turn tail to x-axis ((<8.883820> *animAmplitude)/100) speed ((<30.000009> *animAmplitude)/100) / animSpeed; //delta=1.00 + turn tail to z-axis ((<3.000000> *animAmplitude)/100) speed ((<59.999993> *animAmplitude)/100) / animSpeed; //delta=2.00 + turn tail to y-axis ((<0.000000> *animAmplitude)/100) speed ((<237.537672> *animAmplitude)/100) / animSpeed; //delta=-7.92 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:40 - move body to y-axis (((([2.500000] *MOVESCALE)/100) *animAmplitude)/100) speed (((([15.0] *MOVESCALE)/100) *animAmplitude)/100) / animSpeed; //delta=0.50 + if (bMoving) { //Frame:40 + move body to y-axis (((([2.500000] *MOVESCALE)/100) *animAmplitude)/100) speed (((([15.000000] *MOVESCALE)/100) *animAmplitude)/100) / animSpeed; //delta=0.50 turn body to x-axis ((<-1.282874> *animAmplitude)/100) speed ((<4.567492> *animAmplitude)/100) / animSpeed; //delta=0.15 - turn body to z-axis ((<-0.0> *animAmplitude)/100) speed ((<90.0> *animAmplitude)/100) / animSpeed; //delta=-3.00 - turn body to y-axis ((<3.0> *animAmplitude)/100) speed ((<90.0> *animAmplitude)/100) / animSpeed; //delta=3.00 + turn body to z-axis ((<-0.000000> *animAmplitude)/100) speed ((<90.000003> *animAmplitude)/100) / animSpeed; //delta=-3.00 + turn body to y-axis ((<3.000000> *animAmplitude)/100) speed ((<90.000003> *animAmplitude)/100) / animSpeed; //delta=3.00 turn head to x-axis ((<-1.799937> *animAmplitude)/100) speed ((<8.999460> *animAmplitude)/100) / animSpeed; //delta=0.30 - turn head to z-axis ((<-0.0> *animAmplitude)/100) speed ((<210.745154> *animAmplitude)/100) / animSpeed; //delta=7.02 + turn head to z-axis ((<-0.000000> *animAmplitude)/100) speed ((<210.745154> *animAmplitude)/100) / animSpeed; //delta=7.02 turn head to y-axis ((<-1.779605> *animAmplitude)/100) speed ((<53.388138> *animAmplitude)/100) / animSpeed; //delta=-1.78 turn lfootb to x-axis ((<33.908997> *animAmplitude)/100) speed ((<462.769222> *animAmplitude)/100) / animSpeed; //delta=15.43 turn lfootf to x-axis ((<16.820032> *animAmplitude)/100) speed ((<196.747842> *animAmplitude)/100) / animSpeed; //delta=-6.56 @@ -361,19 +361,19 @@ Walk() {// For N:\animations\raptor_queen_walk_anim_v2.blend Created by https:// turn rthighf to x-axis ((<4.778910> *animAmplitude)/100) speed ((<177.314521> *animAmplitude)/100) / animSpeed; //delta=-5.91 turn rthighf to z-axis ((<1.085829> *animAmplitude)/100) speed ((<37.866931> *animAmplitude)/100) / animSpeed; //delta=1.26 turn rthighf to y-axis ((<-2.893603> *animAmplitude)/100) speed ((<64.798348> *animAmplitude)/100) / animSpeed; //delta=-2.16 - turn spike1 to x-axis ((<5.113623> *animAmplitude)/100) speed ((<150.0> *animAmplitude)/100) / animSpeed; //delta=-5.00 - turn spike2 to x-axis ((<0.113623> *animAmplitude)/100) speed ((<150.0> *animAmplitude)/100) / animSpeed; //delta=5.00 + turn spike1 to x-axis ((<5.113623> *animAmplitude)/100) speed ((<150.000024> *animAmplitude)/100) / animSpeed; //delta=-5.00 + turn spike2 to x-axis ((<0.113623> *animAmplitude)/100) speed ((<150.000024> *animAmplitude)/100) / animSpeed; //delta=5.00 turn spike3 to x-axis ((<-9.886377> *animAmplitude)/100) speed ((<299.999988> *animAmplitude)/100) / animSpeed; //delta=10.00 turn tail to x-axis ((<8.383820> *animAmplitude)/100) speed ((<14.999992> *animAmplitude)/100) / animSpeed; //delta=0.50 - turn tail to z-axis ((<0.0> *animAmplitude)/100) speed ((<90.0> *animAmplitude)/100) / animSpeed; //delta=3.00 + turn tail to z-axis ((<0.000000> *animAmplitude)/100) speed ((<90.000003> *animAmplitude)/100) / animSpeed; //delta=3.00 turn tail to y-axis ((<-7.917922> *animAmplitude)/100) speed ((<237.537672> *animAmplitude)/100) / animSpeed; //delta=-7.92 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:45 - move body to y-axis (((([-1.0] *MOVESCALE)/100) *animAmplitude)/100) speed (((([105.0] *MOVESCALE)/100) *animAmplitude)/100) / animSpeed; //delta=-3.50 + if (bMoving) { //Frame:45 + move body to y-axis (((([-1.000000] *MOVESCALE)/100) *animAmplitude)/100) speed (((([105.000000] *MOVESCALE)/100) *animAmplitude)/100) / animSpeed; //delta=-3.50 turn body to x-axis ((<-0.217126> *animAmplitude)/100) speed ((<31.972433> *animAmplitude)/100) / animSpeed; //delta=-1.07 - turn body to z-axis ((<3.0> *animAmplitude)/100) speed ((<90.0> *animAmplitude)/100) / animSpeed; //delta=-3.00 - turn body to y-axis ((<5.0> *animAmplitude)/100) speed ((<59.999993> *animAmplitude)/100) / animSpeed; //delta=2.00 + turn body to z-axis ((<3.000000> *animAmplitude)/100) speed ((<90.000003> *animAmplitude)/100) / animSpeed; //delta=-3.00 + turn body to y-axis ((<5.000000> *animAmplitude)/100) speed ((<59.999993> *animAmplitude)/100) / animSpeed; //delta=2.00 turn head to x-axis ((<0.299937> *animAmplitude)/100) speed ((<62.996201> *animAmplitude)/100) / animSpeed; //delta=-2.10 turn head to z-axis ((<-7.024838> *animAmplitude)/100) speed ((<210.745154> *animAmplitude)/100) / animSpeed; //delta=7.02 turn head to y-axis ((<-2.966008> *animAmplitude)/100) speed ((<35.592100> *animAmplitude)/100) / animSpeed; //delta=-1.19 @@ -407,62 +407,62 @@ Walk() {// For N:\animations\raptor_queen_walk_anim_v2.blend Created by https:// turn rthighf to x-axis ((<10.115962> *animAmplitude)/100) speed ((<160.111566> *animAmplitude)/100) / animSpeed; //delta=-5.34 turn rthighf to z-axis ((<-1.041284> *animAmplitude)/100) speed ((<63.813397> *animAmplitude)/100) / animSpeed; //delta=2.13 turn rthighf to y-axis ((<-4.203856> *animAmplitude)/100) speed ((<39.307581> *animAmplitude)/100) / animSpeed; //delta=-1.31 - turn spike1 to x-axis ((<0.113623> *animAmplitude)/100) speed ((<150.0> *animAmplitude)/100) / animSpeed; //delta=5.00 + turn spike1 to x-axis ((<0.113623> *animAmplitude)/100) speed ((<150.000024> *animAmplitude)/100) / animSpeed; //delta=5.00 turn spike2 to x-axis ((<-9.886377> *animAmplitude)/100) speed ((<299.999988> *animAmplitude)/100) / animSpeed; //delta=10.00 - turn spike3 to x-axis ((<-19.886378> *animAmplitude)/100) speed ((<300.0> *animAmplitude)/100) / animSpeed; //delta=10.00 + turn spike3 to x-axis ((<-19.886378> *animAmplitude)/100) speed ((<300.000017> *animAmplitude)/100) / animSpeed; //delta=10.00 turn tail to x-axis ((<11.883820> *animAmplitude)/100) speed ((<104.999994> *animAmplitude)/100) / animSpeed; //delta=-3.50 - turn tail to z-axis ((<-3.0> *animAmplitude)/100) speed ((<90.0> *animAmplitude)/100) / animSpeed; //delta=3.00 + turn tail to z-axis ((<-3.000000> *animAmplitude)/100) speed ((<90.000003> *animAmplitude)/100) / animSpeed; //delta=3.00 turn tail to y-axis ((<-13.196538> *animAmplitude)/100) speed ((<158.358457> *animAmplitude)/100) / animSpeed; //delta=-5.28 sleep ((33*animSpeed) -1); } } } -// Call this from StopMoving()! +// Call this from MotionControl()! StopWalking() { animSpeed = 2*MOVESPEED; // tune restore speed here, higher values are slower restore speeds - move body to y-axis ([0.0]*MOVESCALE)/100 speed (([210.0]*MOVESCALE)/100) / animSpeed; + move body to y-axis ([0.000000]*MOVESCALE)/100 speed (([210.000000]*MOVESCALE)/100) / animSpeed; turn body to x-axis <-0.521625> speed <63.944865> / animSpeed; - turn body to y-axis <0.0> speed <299.999991> / animSpeed; - turn body to z-axis <0.0> speed <180.0> / animSpeed; + turn body to y-axis <0.000000> speed <299.999991> / animSpeed; + turn body to z-axis <0.000000> speed <180.000005> / animSpeed; turn head to x-axis <-0.300027> speed <125.992402> / animSpeed; - turn head to y-axis <0.0> speed <177.960476> / animSpeed; - turn head to z-axis <0.0> speed <421.490308> / animSpeed; + turn head to y-axis <0.000000> speed <177.960476> / animSpeed; + turn head to z-axis <0.000000> speed <421.490308> / animSpeed; turn lfootb to x-axis <-0.141360> speed <1821.478545> / animSpeed; turn lfootf to x-axis <0.114233> speed <1542.914460> / animSpeed; - turn lforearml to z-axis <0.0> speed <967.801085> / animSpeed; - turn lforearmu to z-axis <0.0> speed <967.801085> / animSpeed; + turn lforearml to z-axis <0.000000> speed <967.801085> / animSpeed; + turn lforearmu to z-axis <0.000000> speed <967.801085> / animSpeed; turn lkneeb to x-axis <0.743338> speed <1801.646365> / animSpeed; turn lkneef to x-axis <-0.232789> speed <4492.526023> / animSpeed; - turn lkneef to y-axis <0.0> speed <11.042811> / animSpeed; - turn lkneef to z-axis <0.0> speed <10.076409> / animSpeed; + turn lkneef to y-axis <0.000000> speed <11.042811> / animSpeed; + turn lkneef to z-axis <0.000000> speed <10.076409> / animSpeed; turn lshinb to x-axis <-0.112444> speed <1080.237697> / animSpeed; turn lshinf to x-axis <0.397918> speed <3009.884811> / animSpeed; turn lthighb to x-axis <0.201172> speed <1147.886292> / animSpeed; - turn lthighb to y-axis <0.0> speed <171.081979> / animSpeed; - turn lthighb to z-axis <0.0> speed <381.786804> / animSpeed; + turn lthighb to y-axis <0.000000> speed <171.081979> / animSpeed; + turn lthighb to z-axis <0.000000> speed <381.786804> / animSpeed; turn lthighf to x-axis <0.428257> speed <649.786233> / animSpeed; turn lthighf to y-axis <0.167130> speed <245.322135> / animSpeed; - turn lthighf to z-axis <0.0> speed <234.044325> / animSpeed; + turn lthighf to z-axis <0.000000> speed <234.044325> / animSpeed; turn rfootb to x-axis <-0.147643> speed <1741.438738> / animSpeed; turn rfootf to x-axis <0.116737> speed <1426.610402> / animSpeed; - turn rforearml to z-axis <0.0> speed <967.801085> / animSpeed; - turn rforearmu to z-axis <0.0> speed <967.801085> / animSpeed; + turn rforearml to z-axis <0.000000> speed <967.801085> / animSpeed; + turn rforearmu to z-axis <0.000000> speed <967.801085> / animSpeed; turn rkneeb to x-axis <0.777004> speed <2621.244464> / animSpeed; turn rkneef to x-axis <-0.242736> speed <2612.170088> / animSpeed; - turn rkneef to y-axis <0.0> speed <8.411650> / animSpeed; - turn rkneef to z-axis <0.0> speed <7.853350> / animSpeed; + turn rkneef to y-axis <0.000000> speed <8.411650> / animSpeed; + turn rkneef to z-axis <0.000000> speed <7.853350> / animSpeed; turn rshinb to x-axis <-0.117449> speed <1403.546174> / animSpeed; turn rshinf to x-axis <0.390952> speed <1846.651847> / animSpeed; turn rthighb to x-axis <0.175244> speed <1307.391836> / animSpeed; - turn rthighb to y-axis <0.0> speed <193.950181> / animSpeed; - turn rthighb to z-axis <0.0> speed <469.296105> / animSpeed; + turn rthighb to y-axis <0.000000> speed <193.950181> / animSpeed; + turn rthighb to z-axis <0.000000> speed <469.296105> / animSpeed; turn rthighf to x-axis <0.442855> speed <668.259868> / animSpeed; turn rthighf to y-axis <-0.166948> speed <251.704524> / animSpeed; - turn rthighf to z-axis <0.0> speed <215.524451> / animSpeed; - turn spike1 to x-axis <0.0> speed <600.0> / animSpeed; - turn spike2 to x-axis <0.0> speed <600.0> / animSpeed; - turn spike3 to x-axis <-9.886377> speed <600.0> / animSpeed; + turn rthighf to z-axis <0.000000> speed <215.524451> / animSpeed; + turn spike1 to x-axis <0.000000> speed <600.000034> / animSpeed; + turn spike2 to x-axis <0.000000> speed <600.000034> / animSpeed; + turn spike3 to x-axis <-9.886377> speed <600.000034> / animSpeed; turn tail to x-axis <10.883819> speed <209.999989> / animSpeed; - turn tail to y-axis <0.0> speed <791.792258> / animSpeed; - turn tail to z-axis <0.0> speed <180.0> / animSpeed; + turn tail to y-axis <0.000000> speed <791.792258> / animSpeed; + turn tail to z-axis <0.000000> speed <180.000005> / animSpeed; } diff --git a/scripts/Raptors/raptor_swim_2legged_v1.h b/scripts/Raptors/raptor_swim_2legged_v1.h index c7d45d75f22..9e3aee1fff7 100644 --- a/scripts/Raptors/raptor_swim_2legged_v1.h +++ b/scripts/Raptors/raptor_swim_2legged_v1.h @@ -2,11 +2,11 @@ //#define MOVESCALE 100 //Higher values are bigger, 100 is default //static-var animAmplitude; //Higher values are bigger, 100 is default // this animation uses the static-var animFramesPerKeyframe which contains how many frames each keyframe takes -//static-var animSpeed, maxSpeed, animFramesPerKeyframe, isMoving; -//#define SIGNAL_MOVE 1 +//static-var animSpeed, maxSpeed, animFramesPerKeyframe, bMoving; +//#define SIG_WALK 4 Swim() {// For N:\animations\Raptors\raptor_2legged_swim.blend Created by https://github.com/Beherith/Skeletor_S3O V((0, 3, 7)) - set-signal-mask SIGNAL_MOVE; - if (isMoving) { //Frame:6 + set-signal-mask SIG_WALK; + if (bMoving) { //Frame:6 turn head to x-axis ((<-6.375634> *animAmplitude)/100) speed ((<191.269023> *animAmplitude)/100) / animSpeed; //delta=6.38 turn head to z-axis ((<0.411281> *animAmplitude)/100) speed ((<12.338443> *animAmplitude)/100) / animSpeed; //delta=-0.41 turn head to y-axis ((<4.363053> *animAmplitude)/100) speed ((<130.891581> *animAmplitude)/100) / animSpeed; //delta=4.36 @@ -27,8 +27,8 @@ Swim() {// For N:\animations\Raptors\raptor_2legged_swim.blend Created by https: turn rthigh to y-axis ((<-3.715490> *animAmplitude)/100) speed ((<111.464704> *animAmplitude)/100) / animSpeed; //delta=-3.72 sleep ((33*animSpeed) -1); } - while(isMoving) { - if (isMoving) { //Frame:12 + while(bMoving) { + if (bMoving) { //Frame:12 move body to z-axis (((([-1.589830] *MOVESCALE)/100) *animAmplitude)/100) speed (((([47.694898] *MOVESCALE)/100) *animAmplitude)/100) / animSpeed; //delta=-1.59 move body to y-axis (((([0.366884] *MOVESCALE)/100) *animAmplitude)/100) speed (((([11.006514] *MOVESCALE)/100) *animAmplitude)/100) / animSpeed; //delta=0.37 turn body to x-axis ((<7.081318> *animAmplitude)/100) speed ((<212.439545> *animAmplitude)/100) / animSpeed; //delta=-7.08 @@ -59,7 +59,7 @@ Swim() {// For N:\animations\Raptors\raptor_2legged_swim.blend Created by https: turn tail to y-axis ((<-6.844830> *animAmplitude)/100) speed ((<205.344890> *animAmplitude)/100) / animSpeed; //delta=-6.84 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:18 + if (bMoving) { //Frame:18 turn body to x-axis ((<2.399009> *animAmplitude)/100) speed ((<140.469269> *animAmplitude)/100) / animSpeed; //delta=4.68 turn head to x-axis ((<-8.075413> *animAmplitude)/100) speed ((<209.851483> *animAmplitude)/100) / animSpeed; //delta=-7.00 turn head to z-axis ((<0.543087> *animAmplitude)/100) speed ((<16.578936> *animAmplitude)/100) / animSpeed; //delta=0.55 @@ -90,11 +90,11 @@ Swim() {// For N:\animations\Raptors\raptor_2legged_swim.blend Created by https: turn rthigh to z-axis ((<40.484075> *animAmplitude)/100) speed ((<518.050212> *animAmplitude)/100) / animSpeed; //delta=-17.27 turn rthigh to y-axis ((<-57.200652> *animAmplitude)/100) speed ((<2761.053565> *animAmplitude)/100) / animSpeed; //delta=-92.04//WARNING: possible gimbal lock issue detected in frame 18 bone rthigh - turn tail to z-axis ((<-0.0> *animAmplitude)/100) speed ((<25.449362> *animAmplitude)/100) / animSpeed; //delta=-0.85 - turn tail to y-axis ((<0.0> *animAmplitude)/100) speed ((<205.344890> *animAmplitude)/100) / animSpeed; //delta=6.84 + turn tail to z-axis ((<-0.000000> *animAmplitude)/100) speed ((<25.449362> *animAmplitude)/100) / animSpeed; //delta=-0.85 + turn tail to y-axis ((<0.000000> *animAmplitude)/100) speed ((<205.344890> *animAmplitude)/100) / animSpeed; //delta=6.84 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:24 + if (bMoving) { //Frame:24 move body to z-axis (((([1.354689] *MOVESCALE)/100) *animAmplitude)/100) speed (((([88.335575] *MOVESCALE)/100) *animAmplitude)/100) / animSpeed; //delta=2.94 move body to y-axis (((([0.538738] *MOVESCALE)/100) *animAmplitude)/100) speed (((([5.155626] *MOVESCALE)/100) *animAmplitude)/100) / animSpeed; //delta=0.17 turn body to x-axis ((<-2.283299> *animAmplitude)/100) speed ((<140.469256> *animAmplitude)/100) / animSpeed; //delta=4.68 @@ -127,7 +127,7 @@ Swim() {// For N:\animations\Raptors\raptor_2legged_swim.blend Created by https: turn tail to y-axis ((<7.533121> *animAmplitude)/100) speed ((<225.993619> *animAmplitude)/100) / animSpeed; //delta=7.53 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:30 + if (bMoving) { //Frame:30 turn body to x-axis ((<-1.826640> *animAmplitude)/100) speed ((<13.699795> *animAmplitude)/100) / animSpeed; //delta=-0.46 turn head to x-axis ((<2.781466> *animAmplitude)/100) speed ((<74.579499> *animAmplitude)/100) / animSpeed; //delta=-2.49 turn head to z-axis ((<-0.286258> *animAmplitude)/100) speed ((<5.700759> *animAmplitude)/100) / animSpeed; //delta=0.19 @@ -154,11 +154,11 @@ Swim() {// For N:\animations\Raptors\raptor_2legged_swim.blend Created by https: turn rthigh to x-axis ((<46.507554> *animAmplitude)/100) speed ((<53.260722> *animAmplitude)/100) / animSpeed; //delta=1.78 turn rthigh to z-axis ((<67.843811> *animAmplitude)/100) speed ((<600.113398> *animAmplitude)/100) / animSpeed; //delta=20.00 turn rthigh to y-axis ((<-88.474753> *animAmplitude)/100) speed ((<601.118255> *animAmplitude)/100) / animSpeed; //delta=20.04 - turn tail to z-axis ((<-0.0> *animAmplitude)/100) speed ((<8.984966> *animAmplitude)/100) / animSpeed; //delta=-0.30 - turn tail to y-axis ((<0.0> *animAmplitude)/100) speed ((<225.993619> *animAmplitude)/100) / animSpeed; //delta=-7.53 + turn tail to z-axis ((<-0.000000> *animAmplitude)/100) speed ((<8.984966> *animAmplitude)/100) / animSpeed; //delta=-0.30 + turn tail to y-axis ((<0.000000> *animAmplitude)/100) speed ((<225.993619> *animAmplitude)/100) / animSpeed; //delta=-7.53 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:36 + if (bMoving) { //Frame:36 turn body to x-axis ((<-1.369980> *animAmplitude)/100) speed ((<13.699798> *animAmplitude)/100) / animSpeed; //delta=-0.46 turn head to x-axis ((<5.267450> *animAmplitude)/100) speed ((<74.579499> *animAmplitude)/100) / animSpeed; //delta=-2.49 turn head to z-axis ((<-0.476283> *animAmplitude)/100) speed ((<5.700759> *animAmplitude)/100) / animSpeed; //delta=0.19 @@ -190,7 +190,7 @@ Swim() {// For N:\animations\Raptors\raptor_2legged_swim.blend Created by https: turn tail to y-axis ((<-7.797609> *animAmplitude)/100) speed ((<233.928284> *animAmplitude)/100) / animSpeed; //delta=-7.80 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:42 + if (bMoving) { //Frame:42 turn body to x-axis ((<-0.913320> *animAmplitude)/100) speed ((<13.699795> *animAmplitude)/100) / animSpeed; //delta=-0.46 turn head to x-axis ((<7.753434> *animAmplitude)/100) speed ((<74.579519> *animAmplitude)/100) / animSpeed; //delta=-2.49 turn head to z-axis ((<-0.666309> *animAmplitude)/100) speed ((<5.700758> *animAmplitude)/100) / animSpeed; //delta=0.19 @@ -216,11 +216,11 @@ Swim() {// For N:\animations\Raptors\raptor_2legged_swim.blend Created by https: turn rthigh to x-axis ((<23.882190> *animAmplitude)/100) speed ((<386.395959> *animAmplitude)/100) / animSpeed; //delta=12.88 turn rthigh to z-axis ((<6.019011> *animAmplitude)/100) speed ((<1004.370716> *animAmplitude)/100) / animSpeed; //delta=33.48 turn rthigh to y-axis ((<-19.130274> *animAmplitude)/100) speed ((<1190.285797> *animAmplitude)/100) / animSpeed; //delta=39.68 - turn tail to z-axis ((<-0.0> *animAmplitude)/100) speed ((<6.023571> *animAmplitude)/100) / animSpeed; //delta=0.20 - turn tail to y-axis ((<0.0> *animAmplitude)/100) speed ((<233.928284> *animAmplitude)/100) / animSpeed; //delta=7.80 + turn tail to z-axis ((<-0.000000> *animAmplitude)/100) speed ((<6.023571> *animAmplitude)/100) / animSpeed; //delta=0.20 + turn tail to y-axis ((<0.000000> *animAmplitude)/100) speed ((<233.928284> *animAmplitude)/100) / animSpeed; //delta=7.80 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:48 + if (bMoving) { //Frame:48 turn body to x-axis ((<-0.456660> *animAmplitude)/100) speed ((<13.699798> *animAmplitude)/100) / animSpeed; //delta=-0.46 turn head to x-axis ((<0.688899> *animAmplitude)/100) speed ((<211.936027> *animAmplitude)/100) / animSpeed; //delta=7.06 turn head to z-axis ((<-0.127514> *animAmplitude)/100) speed ((<16.163853> *animAmplitude)/100) / animSpeed; //delta=-0.54 @@ -243,10 +243,10 @@ Swim() {// For N:\animations\Raptors\raptor_2legged_swim.blend Created by https: turn tail to y-axis ((<7.467435> *animAmplitude)/100) speed ((<224.023042> *animAmplitude)/100) / animSpeed; //delta=7.47 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:54 - move body to z-axis (((([0.0] *MOVESCALE)/100) *animAmplitude)/100) speed (((([40.640677] *MOVESCALE)/100) *animAmplitude)/100) / animSpeed; //delta=-1.35 - move body to y-axis (((([0.0] *MOVESCALE)/100) *animAmplitude)/100) speed (((([16.162140] *MOVESCALE)/100) *animAmplitude)/100) / animSpeed; //delta=-0.54 - turn body to x-axis ((<-0.0> *animAmplitude)/100) speed ((<13.699795> *animAmplitude)/100) / animSpeed; //delta=-0.46 + if (bMoving) { //Frame:54 + move body to z-axis (((([0.000000] *MOVESCALE)/100) *animAmplitude)/100) speed (((([40.640677] *MOVESCALE)/100) *animAmplitude)/100) / animSpeed; //delta=-1.35 + move body to y-axis (((([0.000000] *MOVESCALE)/100) *animAmplitude)/100) speed (((([16.162140] *MOVESCALE)/100) *animAmplitude)/100) / animSpeed; //delta=-0.54 + turn body to x-axis ((<-0.000000> *animAmplitude)/100) speed ((<13.699795> *animAmplitude)/100) / animSpeed; //delta=-0.46 turn head to x-axis ((<-6.375634> *animAmplitude)/100) speed ((<211.936002> *animAmplitude)/100) / animSpeed; //delta=7.06 turn head to z-axis ((<0.411281> *animAmplitude)/100) speed ((<16.163853> *animAmplitude)/100) / animSpeed; //delta=-0.54 turn lfoot to x-axis ((<9.459326> *animAmplitude)/100) speed ((<154.571057> *animAmplitude)/100) / animSpeed; //delta=-5.15 @@ -265,44 +265,44 @@ Swim() {// For N:\animations\Raptors\raptor_2legged_swim.blend Created by https: turn rthigh to x-axis ((<-4.803467> *animAmplitude)/100) speed ((<212.285404> *animAmplitude)/100) / animSpeed; //delta=7.08 turn rthigh to z-axis ((<-0.287712> *animAmplitude)/100) speed ((<23.862167> *animAmplitude)/100) / animSpeed; //delta=-0.80 turn rthigh to y-axis ((<-3.715490> *animAmplitude)/100) speed ((<86.111743> *animAmplitude)/100) / animSpeed; //delta=-2.87 - turn tail to y-axis ((<0.0> *animAmplitude)/100) speed ((<224.023042> *animAmplitude)/100) / animSpeed; //delta=-7.47 + turn tail to y-axis ((<0.000000> *animAmplitude)/100) speed ((<224.023042> *animAmplitude)/100) / animSpeed; //delta=-7.47 sleep ((33*animSpeed) -1); } } } -// Call this from StopMoving()! +// Call this from MotionControl()! StopSwimming() { animSpeed = 10; // tune restore speed here, higher values are slower restore speeds - move body to y-axis ([0.0]*MOVESCALE)/100 speed (([26.936901]*MOVESCALE)/100) / animSpeed; - move body to z-axis ([0.0]*MOVESCALE)/100 speed (([147.225958]*MOVESCALE)/100) / animSpeed; - turn body to x-axis <0.0> speed <354.065908> / animSpeed; - turn head to x-axis <0.0> speed <434.741413> / animSpeed; - turn head to y-axis <0.0> speed <218.152635> / animSpeed; - turn head to z-axis <0.0> speed <34.221825> / animSpeed; + move body to y-axis ([0.000000]*MOVESCALE)/100 speed (([26.936901]*MOVESCALE)/100) / animSpeed; + move body to z-axis ([0.000000]*MOVESCALE)/100 speed (([147.225958]*MOVESCALE)/100) / animSpeed; + turn body to x-axis <0.000000> speed <354.065908> / animSpeed; + turn head to x-axis <0.000000> speed <434.741413> / animSpeed; + turn head to y-axis <0.000000> speed <218.152635> / animSpeed; + turn head to z-axis <0.000000> speed <34.221825> / animSpeed; turn lfoot to x-axis <4.456788> speed <3478.926844> / animSpeed; - turn lfoot to y-axis <0.0> speed <3309.372990> / animSpeed; - turn lfoot to z-axis <0.0> speed <2220.382014> / animSpeed; + turn lfoot to y-axis <0.000000> speed <3309.372990> / animSpeed; + turn lfoot to z-axis <0.000000> speed <2220.382014> / animSpeed; turn lknee to x-axis <-0.219470> speed <3503.564147> / animSpeed; - turn lknee to y-axis <0.0> speed <28.610527> / animSpeed; - turn lknee to z-axis <0.0> speed <38.610272> / animSpeed; + turn lknee to y-axis <0.000000> speed <28.610527> / animSpeed; + turn lknee to z-axis <0.000000> speed <38.610272> / animSpeed; turn lshin to x-axis <-5.579296> speed <1772.911776> / animSpeed; - turn lshin to y-axis <0.0> speed <8.264109> / animSpeed; - turn lshin to z-axis <0.0> speed <24.948077> / animSpeed; + turn lshin to y-axis <0.000000> speed <8.264109> / animSpeed; + turn lshin to z-axis <0.000000> speed <24.948077> / animSpeed; turn lthigh to x-axis <2.615008> speed <4194.250293> / animSpeed; - turn lthigh to y-axis <0.0> speed <4393.865474> / animSpeed; - turn lthigh to z-axis <0.0> speed <2496.679345> / animSpeed; + turn lthigh to y-axis <0.000000> speed <4393.865474> / animSpeed; + turn lthigh to z-axis <0.000000> speed <2496.679345> / animSpeed; turn rfoot to x-axis <1.615186> speed <3489.618736> / animSpeed; - turn rfoot to y-axis <0.0> speed <2631.997773> / animSpeed; - turn rfoot to z-axis <0.0> speed <1416.212745> / animSpeed; + turn rfoot to y-axis <0.000000> speed <2631.997773> / animSpeed; + turn rfoot to z-axis <0.000000> speed <1416.212745> / animSpeed; turn rknee to x-axis <1.681849> speed <3298.548250> / animSpeed; - turn rknee to y-axis <0.0> speed <11.810490> / animSpeed; - turn rknee to z-axis <0.0> speed <18.336451> / animSpeed; - turn rshin to x-axis <0.0> speed <1457.471869> / animSpeed; - turn rshin to y-axis <0.0> speed <6.510062> / animSpeed; - turn rshin to z-axis <0.0> speed <23.274740> / animSpeed; + turn rknee to y-axis <0.000000> speed <11.810490> / animSpeed; + turn rknee to z-axis <0.000000> speed <18.336451> / animSpeed; + turn rshin to x-axis <0.000000> speed <1457.471869> / animSpeed; + turn rshin to y-axis <0.000000> speed <6.510062> / animSpeed; + turn rshin to z-axis <0.000000> speed <23.274740> / animSpeed; turn rthigh to x-axis <-1.127649> speed <4242.805595> / animSpeed; - turn rthigh to y-axis <0.0> speed <4601.755942> / animSpeed; - turn rthigh to z-axis <0.0> speed <2368.175825> / animSpeed; - turn tail to y-axis <0.0> speed <389.880474> / animSpeed; - turn tail to z-axis <0.0> speed <42.415603> / animSpeed; + turn rthigh to y-axis <0.000000> speed <4601.755942> / animSpeed; + turn rthigh to z-axis <0.000000> speed <2368.175825> / animSpeed; + turn tail to y-axis <0.000000> speed <389.880474> / animSpeed; + turn tail to z-axis <0.000000> speed <42.415603> / animSpeed; } diff --git a/scripts/Raptors/raptor_turretl_v2.bos b/scripts/Raptors/raptor_turretl_v2.bos index ba8121fa980..6e5562a534b 100644 --- a/scripts/Raptors/raptor_turretl_v2.bos +++ b/scripts/Raptors/raptor_turretl_v2.bos @@ -1,16 +1,17 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, aimy, seg1,seg2,seg3,seg4,seg5,head,flare; -static-var AboveGround, restore_delay, isAiming, frameslefttoshot; +static-var AboveGround, restore_delay, statechg_DesiredState, statechg_StateChanging, isAiming, frameslefttoshot; - -//------------------------------- Worm Options -------------------------------------------------- #define WORMSIZE 120 // This is for scaling move animations -#define SPIT 0 // if you want a spitting animation before shooting, set it >0 -#define RECOIL 0 // if you want a recoil anim after shooting, set it >0 (about 300) + +// Signal definitions +#define SIG_AIM 2 //-------------------------------CONSTANT ACCELERATION TURRET TURNING--------------------------- // MaxVelocity and acceleration are in degrees per frame (not second!) @@ -18,16 +19,18 @@ static-var AboveGround, restore_delay, isAiming, frameslefttoshot; // A high precision requirement can result in overshoots if desired // (c) CC BY NC ND Beherith mysterme@gmail.com -#define MAX_SEG_VELOCITY <5.0> +#define MAX_SEG_VELOCITY <5.00> #define SEG_ACCELERATION <0.05> #define SEG_JERK <0.02> #define SEG_PRECISION <0.02> +static-var segvelocity, segtarget, segposition, segdelta, timetozero, deceleratethreshold, gameFrame, segacceleration; -#define MAX_AIMY1_VELOCITY <18.0> +#define MAX_AIMY1_VELOCITY <18.00> #define AIMY1_ACCELERATION <0.1> #define AIMY1_JERK <0.1> #define AIMY1_PRECISION <0.1> +static-var aimy1velocity, aimy1target, aimy1position, aimy1delta, aimy1acceleration; #define WIGGLEAMPLITUDE 100 / 200 @@ -35,5 +38,479 @@ static-var AboveGround, restore_delay, isAiming, frameslefttoshot; #define WIGGLEFREQUENCY 1000 #define WIGGLESPEED <10> +Motion(){ + var wigglefreq; // NOTE: DO NOT DECLARE VAR WITHIN A WHILE LOOP AS IT WILL OVERFLOW THE COB STACK! + wigglefreq =0; + + var sin; + + while(1){ + segdelta = segtarget - segposition; + + if( (( get ABS(segdelta)) > SEG_PRECISION ) OR (get ABS(segvelocity) > SEG_JERK)){ + //Clamp segposition and segdelta between <-180>;<180> + while (segposition > <180>) segposition = segposition - <360>; + while (segposition < <-180>) segposition = segposition + <360>; + while (segdelta > <180>) segdelta = segdelta - <360>; + while (segdelta < <-180>) segdelta = segdelta + <360>; + + //number of frames required to decelerate to 0 + timetozero = get ABS(segvelocity) / segacceleration; + + //distance from target where we should start decelerating, always 'positive' + //pos = t * v - (t*(t-1)*a/2) + deceleratethreshold = timetozero * (get ABS(segvelocity)) - (timetozero * (timetozero - 1) * segacceleration / 2); + + //get PRINT ( segdelta , deceleratethreshold, segvelocity, timetozero ); + + if (get ABS(segdelta) <= deceleratethreshold){ //we need to decelerate + if (segvelocity > 0) segvelocity = segvelocity - segacceleration; + else segvelocity = segvelocity + segacceleration; + } + else //we need to accelerate + { + if (segdelta > 0) segvelocity = get MIN( MAX_SEG_VELOCITY, segvelocity + segacceleration); + else segvelocity = get MAX((-1) * MAX_SEG_VELOCITY, segvelocity - segacceleration); + } + + //Apply jerk at very low velocities + if (get ABS(segvelocity) < SEG_JERK){ + if ((segdelta > SEG_JERK)) segvelocity = SEG_JERK; + if ((segdelta < (-1) * SEG_JERK)) segvelocity = (-1) * SEG_JERK; + } + + segposition = segposition + segvelocity; + + + turn seg1 to x-axis segposition now; + turn seg2 to x-axis segposition now; + turn seg3 to x-axis segposition now; + turn seg4 to x-axis segposition now; + turn seg5 to x-axis segposition now; + turn head to x-axis segposition now; + + + segdelta = segtarget - segposition ; + if ((segdelta < <1>) AND (segdelta > <-1>)){ + //return (1); // INPITCH + + } + } + + + //aaimy1delta = aimy1position - aimy1target; + aimy1delta = aimy1target - aimy1position; + if( ( get ABS(aimy1delta) > AIMY1_PRECISION ) OR ( get ABS(aimy1velocity) > AIMY1_JERK)){ + + //Clamp aimy1position and aimy1delta between <-180>;<180> + while (aimy1position > <180>) aimy1position = aimy1position - <360>; + while (aimy1position < <-180>) aimy1position = aimy1position + <360>; + while (aimy1delta > <180>) aimy1delta = aimy1delta - <360>; + while (aimy1delta < <-180>) aimy1delta = aimy1delta + <360>; + + //number of frames required to decelerate to 0 + timetozero = get ABS(aimy1velocity) / aimy1acceleration; + + //distance from target where we should start decelerating, always 'positive' + //pos = t * v - (t*(t-1)*a/2) + deceleratethreshold = timetozero * (get ABS(aimy1velocity)) - (timetozero * (timetozero - 1) * aimy1acceleration / 2); + + //get PRINT ( aimy1delta , deceleratethreshold , aimy1velocity, timetozero ); + + if (get ABS(aimy1delta) <= deceleratethreshold){ //we need to decelerate + if (aimy1velocity > 0) aimy1velocity = aimy1velocity - aimy1acceleration; + else aimy1velocity = aimy1velocity + aimy1acceleration; + } + else //we need to accelerate + { + if (aimy1delta > 0) aimy1velocity = get MIN( MAX_AIMY1_VELOCITY, aimy1velocity + aimy1acceleration); + else aimy1velocity = get MAX((-1) * MAX_AIMY1_VELOCITY, aimy1velocity - aimy1acceleration); + } + + //Apply jerk at very low velocities + if (get ABS(aimy1velocity) < AIMY1_JERK){ + //this line will only have effect if our delta is less than jerk + aimy1velocity = aimy1delta; + + if ((aimy1delta > AIMY1_JERK)) aimy1velocity = AIMY1_JERK; + if ((aimy1delta < (-1) * AIMY1_JERK)) aimy1velocity = (-1) * AIMY1_JERK; + + } + + aimy1position = aimy1position + aimy1velocity; + turn aimy to y-axis aimy1position now; + aimy1delta = aimy1target - aimy1position ; + if ((aimy1delta < <7>) AND (aimy1delta > <-7>)){ + //return (1); // INHEADING + } + } + //aimy1velocity = 0; + + + if (AboveGround ==1 ){ + + // this random motion sucks + /* if ((isAiming == 0) OR ((isAiming == 1) AND (frameslefttoshot > 15) ) ){ + if (RAND(0,3) == 1){ + segtarget = segtarget + RAND(-3,3); + aimy1target = aimy1target + RAND(-10,10); + } + } + */ + + // lets have the worm do a Z wave instead + // KSIN: return int(1024*math::sinf(TAANG2RAD*(float)p1)); + turn seg1 to z-axis (get KSIN(wigglefreq + 1 * WIGGLEPHASE)) * WIGGLEAMPLITUDE speed WIGGLESPEED; + turn seg2 to z-axis (get KSIN(wigglefreq + 2 * WIGGLEPHASE)) * WIGGLEAMPLITUDE speed WIGGLESPEED; + turn seg3 to z-axis (get KSIN(wigglefreq + 3 * WIGGLEPHASE)) * WIGGLEAMPLITUDE speed WIGGLESPEED; + turn seg4 to z-axis (get KSIN(wigglefreq + 4 * WIGGLEPHASE)) * WIGGLEAMPLITUDE speed WIGGLESPEED; + turn seg5 to z-axis (get KSIN(wigglefreq + 5 * WIGGLEPHASE)) * WIGGLEAMPLITUDE speed WIGGLESPEED; + turn head to z-axis (get KSIN(wigglefreq + 6 * WIGGLEPHASE)) * WIGGLEAMPLITUDE speed WIGGLESPEED; + } + wigglefreq = wigglefreq + WIGGLEFREQUENCY; + if (wigglefreq > 65536) wigglefreq = wigglefreq - 65536; + sleep 30; + } +} + + +Go() +{ + set ARMORED to 0; + move seg1 to y-axis [0] speed [1] * WORMSIZE; + sleep 250; + segtarget = <0>; + wait-for-move seg1 along x-axis; + AboveGround = 1; +} + +Stop() +{ + set ARMORED to 1; + AboveGround = 0; + turn seg1 to z-axis <0> speed WIGGLESPEED; + turn seg2 to z-axis <0> speed WIGGLESPEED; + turn seg3 to z-axis <0> speed WIGGLESPEED; + turn seg4 to z-axis <0> speed WIGGLESPEED; + turn seg5 to z-axis <0> speed WIGGLESPEED; + turn head to z-axis <0> speed WIGGLESPEED; + + segtarget = <-14>; + move seg1 to y-axis [-1.04] * WORMSIZE speed [0.6] * WORMSIZE; + wait-for-move seg1 along x-axis; +} + +InitState() +{ + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; +} + +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + call-script Go(); + currentstate = 0; + } + if( statechg_DesiredState == 1 ) + { + call-script Stop(); + currentstate = 1; + } + } + statechg_StateChanging = FALSE; +} + +Create() +{ + move base to y-axis [-0.2] * WORMSIZE now; + move base to y-axis <0> speed [0.1] * WORMSIZE; + + segvelocity = 0; + segtarget= 0; + segposition = 0; + segdelta= 0; + timetozero = 0; + deceleratethreshold= 0; + gameFrame= 0; + segacceleration = SEG_ACCELERATION; + + aimy1velocity= 0; + aimy1target =0; + aimy1position= 0; + aimy1delta =0; + aimy1acceleration = AIMY1_ACCELERATION; + + + move seg1 to y-axis [-2.0] * WORMSIZE now; + + hide flare; + + restore_delay = 2000; + AboveGround = 0; + call-script InitState(); + start-script RequestState(0); + while( get BUILD_PERCENT_LEFT ) + { + sleep 250; + } + //move aimpoint to y-axis [8] now; + start-script RequestState(1); + start-script Motion(); +} + +Activate() +{ + start-script RequestState(0); +} + +Deactivate() +{ + start-script RequestState(1); +} + +SetMaxReloadTime(Func_Var_1) +{ + restore_delay = Func_Var_1 * 2; +} + +static-var Stunned; +ExecuteRestoreAfterDelay() +{ + if (Stunned) { + return (1); + } + set-signal-mask 0; + start-script RequestState(1); +} +SetStunned(State) +{ + Stunned = State; + if (!Stunned) { + start-script ExecuteRestoreAfterDelay(); + } +} +RestoreAfterDelay() +{ + sleep restore_delay; + start-script ExecuteRestoreAfterDelay(); +} + +AimWeapon1(heading, pitch) +{ + + start-script RequestState(0); + + isAiming = 1; + signal SIG_AIM; + set-signal-mask SIG_AIM; + while( !AboveGround ) + { + sleep 250; + } + aimy1target = heading; + aimy1delta = aimy1target - aimy1position; + + segtarget = -1 * pitch / 6; + segdelta = segtarget - segposition; + + while (get ABS(aimy1delta) > <10>){ + sleep 30; + } + + frameslefttoshot = (GET WEAPON_RELOADSTATE(1)) - (GET GAME_FRAME); + + if (frameslefttoshot < 15){ // GET WEAPON_RELOADSTATE(1) gives the frame weapon 1 can fire on + // if we can fire in 10 frames, do the spit + + segtarget = segtarget -500; + segacceleration = 10 * SEG_ACCELERATION; + sleep 150; + + segtarget = segtarget + 000; + + sleep 150; + segacceleration = SEG_ACCELERATION; + + } + + // once we are pretty near to the target heading, as above, we need to do a quick shooty anim: + + isAiming = 0; + start-script RestoreAfterDelay(); + return (1); +} + +Shot1() +{ + //call-script lua_FlameShot(1); + //emit-sfx 1024 + 0 from flare; + //segtarget = segtarget + (Rand( 100, 200 )); + //aimy1target = aimy1target + (Rand( 0, 400 ) - 200); + return (TRUE); +} + + +//Needs defines before usage: +//UNITSIZE 1-20, small for small units, large for large units, +//MAXTILT ~100, how much unit should move +//BASEPIECE piecename, +//HITSPEED <55>, for small units, <15> for large units + + +// angle[x|z] is always [-500;500], damage is multiplied by 100 +// thus if our maxtilt is 100/100, then we get 500, which is about 2.7 degrees of max tilt, which should also kind of scale with unitsize, e.g. smaller units should tilt more, while larger less +// + +// hitspeed should be a part of unitsize, to simplify scaling +HitByWeapon(anglex, anglez, damage) // angle[x|z] is always [-500;500], damage is multiplied by 100 +{ + var amount;//, speedz, speedx; + amount = damage / (10 * WORMSIZE); + var randpiece; + randpiece = 0; + if (amount < 3 ) return (0); + //if (RAND(1, MAXTILT) < amount){ + if (1){ + randpiece = RAND(1, 3); + if (randpiece == 1) emit-sfx 1024 from base; + if (randpiece == 2) emit-sfx 1024 from seg1; + if (randpiece == 3) emit-sfx 1024 from seg2; + } + if (amount > 100){ + amount = 100; + } + if (anglex ==0 ) { //this happens when hit by lasers + if (anglez == 0){ + amount = amount / 2; + anglex = RAND(1,500); + anglez = RAND(1,500); + } + } + + segtarget = segtarget + ((Rand( 0, amount ) - amount / 2))/6; + aimy1target = aimy1target + (Rand( 0, amount ) - amount / 2); +} + +static-var isSmoking; +SmokeUnit(healthpercent, randpiece) // ah yes, clever use of stack variables +{ + while( TRUE ) + { + healthpercent = get HEALTH; + + if( healthpercent < 66 ) + { + randpiece = RAND(1, 3); + if (randpiece == 1) emit-sfx 1024 from base; + if (randpiece == 2) emit-sfx 1024 from head; + if (randpiece == 3) emit-sfx 1024 from seg3; + } + else { + isSmoking = 0; + return; + //break; // bos2cob.py does not like this one! + } + if (healthpercent < 4) healthpercent = 4; + sleep healthpercent * 50; + } + sleep 97; + isSmoking = 0; +} + +HitByWeaponId(anglex, anglez, weaponid, dmg) //weaponID is always 0,lasers and flamers give angles of 0 +{ + if( get BUILD_PERCENT_LEFT) return (100); + if (isSmoking == 0) { + isSmoking = 1; + start-script SmokeUnit(); + } + //get PRINT(anglex, anglez, weaponid, dmg); + start-script HitByWeapon(dmg, anglez,anglex); //I dont know why param order must be switched, and this also runs a frame later :( + return (100); //return damage percent +} + + +FirePrimary() +{ + //segtarget = segtarget + get RAND(0, 10000); + +} + +QueryPrimary(piecenum) +{ + piecenum = flare; +} + +SweetSpot(piecenum) +{ + piecenum = base; +} + +AimFromPrimary(piecenum) +{ + piecenum = head; +} + +Killed(severity, corpsetype) +{ + move base to y-axis [-0.2] * WORMSIZE speed [0.1] * WORMSIZE; + var randSeverity; + randSeverity = RAND(0,severity); -#include "raptor_worm_turret_common.h" \ No newline at end of file + //get PRINT(severity, randSeverity); + //Head pops off an it recedes + if (randSeverity >= 0) { + emit-sfx 1025 from head; + explode head type FALL | NOHEATCLOUD; + hide head; + } + + if (randSeverity >= 10) { + emit-sfx 1025 from seg5; + explode seg5 type FALL | NOHEATCLOUD; + hide seg5; + } + + if (randSeverity >= 20) { + emit-sfx 1025 from seg4; + explode seg4 type FALL | NOHEATCLOUD; + hide seg4; + } + if (randSeverity >= 30) { + emit-sfx 1025 from seg3; + explode seg3 type FALL | NOHEATCLOUD; + hide seg3; + } + if (randSeverity >= 40) { + emit-sfx 1025 from seg2; + explode seg2 type FALL | NOHEATCLOUD; + hide seg2; + } + if (randSeverity >= 50) { + emit-sfx 1025 from seg1; + explode seg1 type FALL | NOHEATCLOUD; + hide seg1; + } + if (randSeverity <= 50) { + //get PRINT(severity, randSeverity, 666, 666); + call-script Stop(); + sleep 1500; + corpsetype = 1; + }else{ + //get PRINT(severity, randSeverity, 555, 555); + corpsetype = 2; + } + return(corpsetype); +} \ No newline at end of file diff --git a/scripts/Raptors/raptor_turretl_v2.cob b/scripts/Raptors/raptor_turretl_v2.cob index 5d5a45b0851d3cfeca8c16c064085d8419341e21..79f444960f25d9b57eb9d3e63f5732f1ffa52552 100644 GIT binary patch literal 8000 zcmb`MO^BUW8OP5|CevtYdmF7K5cP^!#46lWvr&Y}hi#)&#*7*S#kuXgwHIgRj*}bB z2$GR#yNjR_$)*-@<3ievMQ~9?kd#(%(T%8!E(&g>RjQOKj{o2Dp8uV5-@G$PVJ^oBKQX z^+h>|U-$#>>lbUi(B|}5(q7#XBKsWv&&_sv4W0v=TU)79>z;4WLcUYSZ27s&JA;Lr+orXA2rU;YY4L{N(=kZ9F-@ z=6Nmil)l-g}9Znhub zjkB10zMIdJ;|*HQ>FuJKpL1`Y%xk}E8TCM+6S*e6)WLajEmN+6adFmulj{D-e8z>X z25v@sKIk*w{u(ubiyAlhm~VWL-D%cAbIi}ctT;>Drxa-P$lBzLx;^WS#?HNXhj3-R zyhknga`o&y1X49ApI`u>~s!L;ktWmo1J&%+Lyk1uH9D9#xdu9g`eEt*~XLeYo3#tr}WJ>dZOXqrR?tu zx7NLg?AYcmv$M2;p62XCpYu4ObC=l(AG$m{y%)MQr|?FN@|-(Y#LH~6UB~Zp%l-6F zjvrhbuV9s0-=Na`Y~11R&?9_->mJDOc2j}7 z0J67z7LrazHf~^y}yro&npD-$RW>n$WmYVegK_&w4~#7x%a*4JD;_t zH~LX|iT)5hEvE5r8-G-Q*m1rfvuCBQ^bH@|Or6;%o%yk!x-%X6@ser^pXUcP+{n17 zeIbh;MEQ($=Q9z=g11R;>MH4+5%)Ft=r7H>W{jKuR4~ z$uXDpdRaK<4}E@*^BM|t7eRCH@!p6`9YcMuaE|P|rCOIdK>5AeI?RW@o#qAgrf1?eEIq;-b(k;uR?qGquhc8%LE)=sBz0pB z$Jy6;LMLXxVGmho;De`A_tSTB-r+6pAI{e=GR?K9<&=R!C%U)&uXX;|Iw8JV&ur|Q zH+nnYDL-xSLMwU0X6Cg&DeHw+#7i)hpzI@xfxxSFXgDed(Cmt2Vam; z_N1Nj=J>D!3fc)Ca!-9C^E>vkZ@?jE8mn{t{w(MELMnM97r7UD4PMS)$y@f##~Zv6 z$J}h^r16qvHuC-*@hcByY{8#n`%IPr*OrHS(b3~~@A^G|U*_)ze)9c%;(fo!eOZI@ zu3pZ%me3`B>OQHXK7ZfJeB^c)7A9I!DhrM-);s%JZ8oyqj9n zBELV}6122f^OX9yFH+X`*M>fALregA0a(}>zpA2jr_mipp;&HDB$ zK;oLp@!Bu1o1vqQ7aaOnOMM>zpY-x@7(5}ugw)MfczmOoE%gBQs>D8D&ngyq_{m_~5_!@N1raoU$02c+%30@Q& zmUEW{R|HQ8elGa6;CaD|g1+o638qxbMZsekE^ECactXJcUEe3TTX2uynBauqwBU^3 z%Ys$Gl@xIe6y0Vwc#j9 z?|tjT6%#%^SYDR>hx+HL)E}&Dq;u6*kMieU{(OW#ALY-n^k~&zN{=k}*Q@k@RSzjT literal 7551 zcmb`MPl(-D6~}Lq$u!kepKa;JT1HnQrM@&33RyJMjIlKY^QS1-F6P zz32Zq_uO;udoz_%x?OOy;H~L0*EId+(k zN%Pa4TQwD?18PK@-_e=suJJ=lN2WV%J=-#VM`ycunQx@0wm*`S-8`Q!zRXF-BtHDy zhpn0E;=88!nr(*dw12wuVDRi<)CV3$`v=cwS%>U;F4>lFQ3V4u0VeydQkG z=*8#fG_7gxtqL(ye9rzWPv=`ayDqG*rcTlQ%N8xmcgE#y!!g(Pe;4wm)%L-$Pqty6 z+WsFV$%lQ*V}rPFG>7D4ceY*P;9P-Y{D1VMuH-|`Bl5YNCQ_P(wgYKpzTrJ^C1{Rq48ll$8z@kD;j^FZ*_zS+hXMZ?c$ zrH=8rI3vi8Y)aq6Si0LgwGDVKhMtxGuC5|KrboVSqzBriu!~%q*Xyx!6m@>G6{F84 zdHiO?2#!8tpPY|Xeb8NGw6~Q`@Cs$MmgC$xwiLNGE}zLircv*M&p6r>pBk5Kws82z zr{<$)@u_iHZ{XJJY4Cp{cs_}Os2>WG*qm>#VR4>4I^Wzs?S6O51pf8p-0xo1A;K^G zfw%5Ae~x`Lt?oD3f7Sf&TRe5Y`A3UZ_dCnmhGVYnzZ3GN)%L-0=4`_}wf*ap?l;RJx%yPLy>Y+WOpp6nyI;zkTog{R7W=)NJ&>{qVaBZc;~nk&BE zsiw&I1M$>v-0Y9=m%ku_Y8$`dv#xq{zgqw)Uie;RzMp%)^me6YLwlxgg+1;K>sv2A zc<^&8?6DP_*@I`R>~Y_1W)GgNvd3MynLT*6${zPL_Ud{p-&M-@F_Fe-vYgznexi-7 z9Ykyzy`r{#=-vruAzGKw-d{3F5US8Ab_w||}So^NwEm7#59DiMBf0gsZw3d&u zmPnS#wbRjW8LR`B-zGCt`TNmPZ9KXULsY#||6d6lGO3bfp7jZBe_gAS>}2`T-i_<3 z<@t@FKA-t~=+0=zg)Q#3e8=ieJ|BK&+qInw<;-UL@|h8y^=x7%=i0hoEcf9H916)( z4}5BQ{K$66**ZML<=;=93HjO&>+|S4^ZOWMf8yQ7xy7FErx&1erz;1q)O!^<$bPlr z21lH^cBCsOQlkxt$=+$rpn_nj#?$nbj)Gf$`NVK;n)ckDcAe;*4P{t!ozQ?@Fd=!RB&E;4&Hp*c=? zQj3Ny)Q3Z-E~{{^&8P;`C5+s zcYS$ue4O`PGRB(p(<2-w_CP_KWzs2o`)=%kbCCBk@&gVz(-@uezqM)tQq5b}&%au{ z9KV`3+l;;ZcZ)a2p}um>c*$}mZ_`LD8sw9H2aowE_J}W4`IwZ8dy((zJ4f7YFNd98 z#*e?x+BThkkJzs7&bz{Pu6g-LJ&o%qdvJH~kzdC~zhU3`5F0si&KxT|yd7MJwo~T? z-&oTp9seYH-jnWHjfg$xwT>+%zoqofs@_tzfykO~rS{w_7)N&Zm$;W4H=C>;gb(ms z)TmYYO>e&7(Q6&K4~LHPEgf2p>0q6tgR$1Zd)@!@dA_AXB`~IgH98n;9r?}(KVEF< zAf!4L*63iYb$lLt=y<86!~5!duto=Cts~cP==f7hhjV5ftkJ>v5gjvSU;Z9CVC8>I z4DJDMk_4R?3+Gvu=Fz+)rRRsXOZ5?odQFA1&*9#cXV1dD>F1wRt}T<|Nw zZL)QT;ELc@>AqjEPjEnRNWlN{o)SDG_@3a0g69Q46Z~56vfwqr8-jNP*90F5Zu*S= zKPdQ|;2yy~!B+)G1z#6DDwr2Ef^Q23f}!A?;A^LvXv4EuxSj7%Au z4y-i2VUuPbANHSOGS~DxJ>Cot_s$+`76-kBNBT=m`tsT4@iW8bSaW(fSZQXT7&a?& z&0_Cd66f*ZndRkXA$^oM+h6)d(>pa--jj}>91QoQhx)?@&lOaf>n-(8Gz-U<22VCM z;o*gJu)oq+@aUOlB}DclDLl9`7%4r}UtE;oZ}m<$sn=gRmrge)_VDLk{_N$?ef;@S PI@$CV(i4lll_vcUjR^$o diff --git a/scripts/Raptors/raptor_turrets_v2.bos b/scripts/Raptors/raptor_turrets_v2.bos index 8736391b7c2..25b79b7d5f9 100644 --- a/scripts/Raptors/raptor_turrets_v2.bos +++ b/scripts/Raptors/raptor_turrets_v2.bos @@ -1,16 +1,17 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, aimy, seg1,seg2,seg3,seg4,seg5,head,flare; -static-var AboveGround, restore_delay, isAiming, frameslefttoshot; +static-var AboveGround, restore_delay, statechg_DesiredState, statechg_StateChanging, isAiming, frameslefttoshot; -//------------------------------- Worm Options -------------------------------------------------- #define WORMSIZE 60 // This is for scaling move animations -#define SPIT 0 // if you want a spitting animation before shooting, set it >0 -#define RECOIL 0 // if you want a recoil anim after shooting, set it >0 (about 300) +// Signal definitions +#define SIG_AIM 2 //-------------------------------CONSTANT ACCELERATION TURRET TURNING--------------------------- // MaxVelocity and acceleration are in degrees per frame (not second!) @@ -18,16 +19,18 @@ static-var AboveGround, restore_delay, isAiming, frameslefttoshot; // A high precision requirement can result in overshoots if desired // (c) CC BY NC ND Beherith mysterme@gmail.com -#define MAX_SEG_VELOCITY <5.0> +#define MAX_SEG_VELOCITY <5.00> #define SEG_ACCELERATION <0.05> #define SEG_JERK <0.02> #define SEG_PRECISION <0.02> +static-var segvelocity, segtarget, segposition, segdelta, timetozero, deceleratethreshold, gameFrame, segacceleration; -#define MAX_AIMY1_VELOCITY <18.0> +#define MAX_AIMY1_VELOCITY <18.00> #define AIMY1_ACCELERATION <0.1> #define AIMY1_JERK <0.1> #define AIMY1_PRECISION <0.1> +static-var aimy1velocity, aimy1target, aimy1position, aimy1delta, aimy1acceleration; #define WIGGLEAMPLITUDE 100 / 200 @@ -35,5 +38,479 @@ static-var AboveGround, restore_delay, isAiming, frameslefttoshot; #define WIGGLEFREQUENCY 1000 #define WIGGLESPEED <10> +Motion(){ + var wigglefreq; // NOTE: DO NOT DECLARE VAR WITHIN A WHILE LOOP AS IT WILL OVERFLOW THE COB STACK! + wigglefreq =0; -#include "raptor_worm_turret_common.h" \ No newline at end of file + var sin; + + while(1){ + segdelta = segtarget - segposition; + + if( (( get ABS(segdelta)) > SEG_PRECISION ) OR (get ABS(segvelocity) > SEG_JERK)){ + //Clamp segposition and segdelta between <-180>;<180> + while (segposition > <180>) segposition = segposition - <360>; + while (segposition < <-180>) segposition = segposition + <360>; + while (segdelta > <180>) segdelta = segdelta - <360>; + while (segdelta < <-180>) segdelta = segdelta + <360>; + + //number of frames required to decelerate to 0 + timetozero = get ABS(segvelocity) / segacceleration; + + //distance from target where we should start decelerating, always 'positive' + //pos = t * v - (t*(t-1)*a/2) + deceleratethreshold = timetozero * (get ABS(segvelocity)) - (timetozero * (timetozero - 1) * segacceleration / 2); + + //get PRINT ( segdelta , deceleratethreshold, segvelocity, timetozero ); + + if (get ABS(segdelta) <= deceleratethreshold){ //we need to decelerate + if (segvelocity > 0) segvelocity = segvelocity - segacceleration; + else segvelocity = segvelocity + segacceleration; + } + else //we need to accelerate + { + if (segdelta > 0) segvelocity = get MIN( MAX_SEG_VELOCITY, segvelocity + segacceleration); + else segvelocity = get MAX((-1) * MAX_SEG_VELOCITY, segvelocity - segacceleration); + } + + //Apply jerk at very low velocities + if (get ABS(segvelocity) < SEG_JERK){ + if ((segdelta > SEG_JERK)) segvelocity = SEG_JERK; + if ((segdelta < (-1) * SEG_JERK)) segvelocity = (-1) * SEG_JERK; + } + + segposition = segposition + segvelocity; + + + turn seg1 to x-axis segposition now; + turn seg2 to x-axis segposition now; + turn seg3 to x-axis segposition now; + turn seg4 to x-axis segposition now; + turn seg5 to x-axis segposition now; + turn head to x-axis segposition now; + + + segdelta = segtarget - segposition ; + if ((segdelta < <1>) AND (segdelta > <-1>)){ + //return (1); // INPITCH + + } + } + + + //aaimy1delta = aimy1position - aimy1target; + aimy1delta = aimy1target - aimy1position; + if( ( get ABS(aimy1delta) > AIMY1_PRECISION ) OR ( get ABS(aimy1velocity) > AIMY1_JERK)){ + + //Clamp aimy1position and aimy1delta between <-180>;<180> + while (aimy1position > <180>) aimy1position = aimy1position - <360>; + while (aimy1position < <-180>) aimy1position = aimy1position + <360>; + while (aimy1delta > <180>) aimy1delta = aimy1delta - <360>; + while (aimy1delta < <-180>) aimy1delta = aimy1delta + <360>; + + //number of frames required to decelerate to 0 + timetozero = get ABS(aimy1velocity) / aimy1acceleration; + + //distance from target where we should start decelerating, always 'positive' + //pos = t * v - (t*(t-1)*a/2) + deceleratethreshold = timetozero * (get ABS(aimy1velocity)) - (timetozero * (timetozero - 1) * aimy1acceleration / 2); + + //get PRINT ( aimy1delta , deceleratethreshold , aimy1velocity, timetozero ); + + if (get ABS(aimy1delta) <= deceleratethreshold){ //we need to decelerate + if (aimy1velocity > 0) aimy1velocity = aimy1velocity - aimy1acceleration; + else aimy1velocity = aimy1velocity + aimy1acceleration; + } + else //we need to accelerate + { + if (aimy1delta > 0) aimy1velocity = get MIN( MAX_AIMY1_VELOCITY, aimy1velocity + aimy1acceleration); + else aimy1velocity = get MAX((-1) * MAX_AIMY1_VELOCITY, aimy1velocity - aimy1acceleration); + } + + //Apply jerk at very low velocities + if (get ABS(aimy1velocity) < AIMY1_JERK){ + //this line will only have effect if our delta is less than jerk + aimy1velocity = aimy1delta; + + if ((aimy1delta > AIMY1_JERK)) aimy1velocity = AIMY1_JERK; + if ((aimy1delta < (-1) * AIMY1_JERK)) aimy1velocity = (-1) * AIMY1_JERK; + + } + + aimy1position = aimy1position + aimy1velocity; + turn aimy to y-axis aimy1position now; + aimy1delta = aimy1target - aimy1position ; + if ((aimy1delta < <7>) AND (aimy1delta > <-7>)){ + //return (1); // INHEADING + } + } + //aimy1velocity = 0; + + + if (AboveGround ==1 ){ + + // this random motion sucks + /* if ((isAiming == 0) OR ((isAiming == 1) AND (frameslefttoshot > 15) ) ){ + if (RAND(0,3) == 1){ + segtarget = segtarget + RAND(-3,3); + aimy1target = aimy1target + RAND(-10,10); + } + } + */ + + // lets have the worm do a Z wave instead + // KSIN: return int(1024*math::sinf(TAANG2RAD*(float)p1)); + turn seg1 to z-axis (get KSIN(wigglefreq + 1 * WIGGLEPHASE)) * WIGGLEAMPLITUDE speed WIGGLESPEED; + turn seg2 to z-axis (get KSIN(wigglefreq + 2 * WIGGLEPHASE)) * WIGGLEAMPLITUDE speed WIGGLESPEED; + turn seg3 to z-axis (get KSIN(wigglefreq + 3 * WIGGLEPHASE)) * WIGGLEAMPLITUDE speed WIGGLESPEED; + turn seg4 to z-axis (get KSIN(wigglefreq + 4 * WIGGLEPHASE)) * WIGGLEAMPLITUDE speed WIGGLESPEED; + turn seg5 to z-axis (get KSIN(wigglefreq + 5 * WIGGLEPHASE)) * WIGGLEAMPLITUDE speed WIGGLESPEED; + turn head to z-axis (get KSIN(wigglefreq + 6 * WIGGLEPHASE)) * WIGGLEAMPLITUDE speed WIGGLESPEED; + } + wigglefreq = wigglefreq + WIGGLEFREQUENCY; + if (wigglefreq > 65536) wigglefreq = wigglefreq - 65536; + sleep 30; + } +} + + +Go() +{ + set ARMORED to 0; + move seg1 to y-axis [0] speed [1] * WORMSIZE; + sleep 250; + segtarget = <0>; + wait-for-move seg1 along x-axis; + AboveGround = 1; +} + +Stop() +{ + set ARMORED to 1; + AboveGround = 0; + turn seg1 to z-axis <0> speed WIGGLESPEED; + turn seg2 to z-axis <0> speed WIGGLESPEED; + turn seg3 to z-axis <0> speed WIGGLESPEED; + turn seg4 to z-axis <0> speed WIGGLESPEED; + turn seg5 to z-axis <0> speed WIGGLESPEED; + turn head to z-axis <0> speed WIGGLESPEED; + + segtarget = <-14>; + move seg1 to y-axis [-1.04] * WORMSIZE speed [0.6] * WORMSIZE; + wait-for-move seg1 along x-axis; +} + +InitState() +{ + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; +} + +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + call-script Go(); + currentstate = 0; + } + if( statechg_DesiredState == 1 ) + { + call-script Stop(); + currentstate = 1; + } + } + statechg_StateChanging = FALSE; +} + +Create() +{ + move base to y-axis [-0.2] * WORMSIZE now; + move base to y-axis <0> speed [0.1] * WORMSIZE; + + segvelocity = 0; + segtarget= 0; + segposition = 0; + segdelta= 0; + timetozero = 0; + deceleratethreshold= 0; + gameFrame= 0; + segacceleration = SEG_ACCELERATION; + + aimy1velocity= 0; + aimy1target =0; + aimy1position= 0; + aimy1delta =0; + aimy1acceleration = AIMY1_ACCELERATION; + + + move seg1 to y-axis [-2.0] * WORMSIZE now; + + hide flare; + + restore_delay = 2000; + AboveGround = 0; + call-script InitState(); + start-script RequestState(0); + while( get BUILD_PERCENT_LEFT ) + { + sleep 250; + } + //move aimpoint to y-axis [8] now; + start-script RequestState(1); + start-script Motion(); +} + +Activate() +{ + start-script RequestState(0); +} + +Deactivate() +{ + start-script RequestState(1); +} + +SetMaxReloadTime(Func_Var_1) +{ + restore_delay = Func_Var_1 * 2; +} + +static-var Stunned; +ExecuteRestoreAfterDelay() +{ + if (Stunned) { + return (1); + } + set-signal-mask 0; + start-script RequestState(1); +} +SetStunned(State) +{ + Stunned = State; + if (!Stunned) { + start-script ExecuteRestoreAfterDelay(); + } +} +RestoreAfterDelay() +{ + sleep restore_delay; + start-script ExecuteRestoreAfterDelay(); +} + +AimWeapon1(heading, pitch) +{ + + start-script RequestState(0); + + isAiming = 1; + signal SIG_AIM; + set-signal-mask SIG_AIM; + while( !AboveGround ) + { + sleep 250; + } + aimy1target = heading; + aimy1delta = aimy1target - aimy1position; + + segtarget = -1 * pitch / 6; + segdelta = segtarget - segposition; + + while (get ABS(aimy1delta) > <10>){ + sleep 30; + } + + frameslefttoshot = (GET WEAPON_RELOADSTATE(1)) - (GET GAME_FRAME); + + if (frameslefttoshot < 15){ // GET WEAPON_RELOADSTATE(1) gives the frame weapon 1 can fire on + // if we can fire in 10 frames, do the spit + + segtarget = segtarget -500; + segacceleration = 10 * SEG_ACCELERATION; + sleep 150; + + segtarget = segtarget + 000; + + sleep 150; + segacceleration = SEG_ACCELERATION; + + } + + // once we are pretty near to the target heading, as above, we need to do a quick shooty anim: + + isAiming = 0; + start-script RestoreAfterDelay(); + return (1); +} + +Shot1() +{ + //call-script lua_FlameShot(1); + //emit-sfx 1024 + 0 from flare; + //segtarget = segtarget + (Rand( 100, 200 )); + //aimy1target = aimy1target + (Rand( 0, 400 ) - 200); + return (TRUE); +} + + +//Needs defines before usage: +//UNITSIZE 1-20, small for small units, large for large units, +//MAXTILT ~100, how much unit should move +//BASEPIECE piecename, +//HITSPEED <55>, for small units, <15> for large units + + +// angle[x|z] is always [-500;500], damage is multiplied by 100 +// thus if our maxtilt is 100/100, then we get 500, which is about 2.7 degrees of max tilt, which should also kind of scale with unitsize, e.g. smaller units should tilt more, while larger less +// + +// hitspeed should be a part of unitsize, to simplify scaling +HitByWeapon(anglex, anglez, damage) // angle[x|z] is always [-500;500], damage is multiplied by 100 +{ + var amount;//, speedz, speedx; + amount = damage / (10 * WORMSIZE); + var randpiece; + randpiece = 0; + if (amount < 3 ) return (0); + //if (RAND(1, MAXTILT) < amount){ + if (1){ + randpiece = RAND(1, 3); + if (randpiece == 1) emit-sfx 1024 from base; + if (randpiece == 2) emit-sfx 1024 from seg1; + if (randpiece == 3) emit-sfx 1024 from seg2; + } + if (amount > 100){ + amount = 100; + } + if (anglex ==0 ) { //this happens when hit by lasers + if (anglez == 0){ + amount = amount / 2; + anglex = RAND(1,500); + anglez = RAND(1,500); + } + } + + segtarget = segtarget + ((Rand( 0, amount ) - amount / 2))/6; + aimy1target = aimy1target + (Rand( 0, amount ) - amount / 2); +} + +static-var isSmoking; +SmokeUnit(healthpercent, randpiece) // ah yes, clever use of stack variables +{ + while( TRUE ) + { + healthpercent = get HEALTH; + + if( healthpercent < 66 ) + { + randpiece = RAND(1, 3); + if (randpiece == 1) emit-sfx 1024 from base; + if (randpiece == 2) emit-sfx 1024 from head; + if (randpiece == 3) emit-sfx 1024 from seg3; + } + else { + isSmoking = 0; + return; + //break; // bos2cob.py does not like this one! + } + if (healthpercent < 4) healthpercent = 4; + sleep healthpercent * 50; + } + sleep 97; + isSmoking = 0; +} + +HitByWeaponId(anglex, anglez, weaponid, dmg) //weaponID is always 0,lasers and flamers give angles of 0 +{ + if( get BUILD_PERCENT_LEFT) return (100); + if (isSmoking == 0) { + isSmoking = 1; + start-script SmokeUnit(); + } + //get PRINT(anglex, anglez, weaponid, dmg); + start-script HitByWeapon(dmg, anglez,anglex); //I dont know why param order must be switched, and this also runs a frame later :( + return (100); //return damage percent +} + + +FirePrimary() +{ + //segtarget = segtarget + get RAND(0, 10000); + +} + +QueryPrimary(piecenum) +{ + piecenum = flare; +} + +SweetSpot(piecenum) +{ + piecenum = base; +} + +AimFromPrimary(piecenum) +{ + piecenum = head; +} + +Killed(severity, corpsetype) +{ + move base to y-axis [-0.2] * WORMSIZE speed [0.1] * WORMSIZE; + var randSeverity; + randSeverity = RAND(0,severity); + + //get PRINT(severity, randSeverity); + //Head pops off an it recedes + if (randSeverity >= 0) { + emit-sfx 1025 from head; + explode head type FALL | NOHEATCLOUD; + hide head; + } + + if (randSeverity >= 10) { + emit-sfx 1025 from seg5; + explode seg5 type FALL | NOHEATCLOUD; + hide seg5; + } + + if (randSeverity >= 20) { + emit-sfx 1025 from seg4; + explode seg4 type FALL | NOHEATCLOUD; + hide seg4; + } + if (randSeverity >= 30) { + emit-sfx 1025 from seg3; + explode seg3 type FALL | NOHEATCLOUD; + hide seg3; + } + if (randSeverity >= 40) { + emit-sfx 1025 from seg2; + explode seg2 type FALL | NOHEATCLOUD; + hide seg2; + } + if (randSeverity >= 50) { + emit-sfx 1025 from seg1; + explode seg1 type FALL | NOHEATCLOUD; + hide seg1; + } + if (randSeverity <= 50) { + //get PRINT(severity, randSeverity, 666, 666); + call-script Stop(); + sleep 1500; + corpsetype = 1; + }else{ + //get PRINT(severity, randSeverity, 555, 555); + corpsetype = 2; + } + return(corpsetype); +} \ No newline at end of file diff --git a/scripts/Raptors/raptor_turrets_v2.cob b/scripts/Raptors/raptor_turrets_v2.cob index 79b8876de4e9a1da6b8b2a9e1ca4ee1af1dbcbe2..7aaef42e0fcc956340e6d42a5fd5023ac6eeac49 100644 GIT binary patch literal 8000 zcmb`MO=zW88OKjDnRIk&dmXK1VALyO5vy>gIvYPA^I_XjDsiF?f?{r)xAtO^8#8yb z5o98x?QR5>k=fKDZd^#aQ3MxN1ewwbF1itQ(M7?HSfxs-V*LM}_xx|pedkRkgbZj{5#2|&4V5M z`n(*(FZ_Y`)l0QrXmffjX)kXHk$n#T=Vm*-2G60*t*z9lbXNEw)|Y?am=Ot z#Rjdk4}X$<+pv6Tf2~bE+qe9pc!+ziIV2x%l1!Sb<9MSU!Lhy`J*g-8Eaw&Z=ojVK z^spsfXw%uQYjC(>(>Z_*{&J;nu!BtM*7dorM{s4|&{Nd@nSusS_>pT5Ke_*18&A%! zd0xpprEj+JqGjp89{bzQ~FwC>D7MY2R7jOc3!viVUIrNaYCo!*i9$2z4imV zaTasWck_92yg|!3yx5-0rjUX0`B{Zq8o06Zezp zb)EM%JDmemxb9xtX6K!`_NA|$Yqu4&am=}2;V1WZwDIKpn&))pDSfkzo@n@YIs5zk zt#vOVJGQyY>@01dr#U;(=R8j6++}vchc3@f?}cv7DZEjmJm)SH@iNsjd@@GQj!cANB42j`0%V&AjWxHx;7rSuvA-%fK0ntgwbp_=EMakKxKoO7Nh z;tU_7pXcitcuIpBzmI9CvOX>zy%B^v?86_eKX{)AJ?@Sh?>P9-?RmBo&o$q5o^>u$ zx4tKord{osz906ugRF0-_~60+{jf(VZe|aj{j$g1c{6+P?3X?6<(t`qXTR)m&ttFb z$G=iA^`O5Gl{8sSo@3|5cLPl`#&Y<`SFF^V>M%F$H>fl}8+Z6y^$1_!x`*<+-BjQ{ z3bMC-7LrazHf~^y}yro&npD-$RW>n$WmYVegK_&w4~#7x%a*4JD;_t zH~LX|iT)5hEvE5r8-GxM*m1rfvuCBQ^bH@|Or6;%o%yk!x-%X6@v>?PpXUcP+{n17 zeIbh;MEQ($=Q9z=g11R;>MH4+5%)Ft=r7H>W{jKP}rCOIdK>5AeI?RW@o#qAgrf1?eEIq;-b(k;uR?qGquhc8%LE)=sBz0pB z$Jy6;LMLXxVGmho;De`A_tUp>-r+6pAI{g$GR?K9<&=R!C%U)&uXX;=Iw8JX&ur|Q zH+nnYDL-!TLMwU0X6Cg&DeHw+#7i)hpzI@*^4gAmvYqKz2>;+gU`t* zd(zH%b9~qV1??0Mxu-ss`5k-NH{g&njn%n+PnL6iA(gz5i`)yn1~2EY@xEW=zN|rc zS1)H>OXw0mb)VExpTBQpK5{#bt20~AL*a4L~30hjLc}jiU7b)xeOGBTwp{GqBH1x5S`lA1`zJE0IX+-U)4;uPdOMP*_W_<@0 zAaPCQcl^yIb$#b3XjkVL+xp&4M%8e(212d<{BhQ=cy>fJ=gB1uqDW z%DF3otAZy4KNb8+@SNZUL0|Tk1XHTzqTsO%SF~OgJR#u!uJ0DyCAeE~LU2lOR&Y-6 zMZv1zal!WlKM_17__^RWg69N(6ucz(r{KSW!|zP#h~Q4aF~Pe8cM0wm^aLja9~L|? z91Vu6>AqoF7!B9b+10^lVbmX0>0I^Ii`9j^IlW$iJNeLP@HHOJRDC}#RHFy_kDjZR zhyA6`3|6Z2@kgtNE{>{m5+1HsCm$YF>u0Lv{zek#!sz1aYPBTgP2$PH%K56lHe5ZP z79JUnj;H$vqf;9-DlM!Gzfyfxu9eucOX=RhdNsd3Sn02Cq)%V0);GLa_5;0xlpbF0uUF~+S=lEZ literal 7551 zcmb`MU5H&*6~}jy$u!kguWjjzwT$9}NYR^GL5N_c8KX4>^HEf^4|DCDCfCl)4U?O; zK^lW5T18rfP;4Khs1H6#3w`pzucsm^K50=Ae3K%jU?P$Va6^vq0zIk0B$ zy}sAlYp;FIotc!<9fF$$f1Ay7P1BFxozhjo!d)rdqxETxX>NCKrYF#Jm&V;1)4{#H zv^d+lO;cfdpeD4%J-wO!20yfPY_`|dvn%j>db`ETd@DV*{fV6H#(XjRvLGE@eE4|) zTXVD7cTMp%Y!=(;;B4>y!n21_4?K+a51#k3F0z}&XgS7zpp5Lv4!X#JZR6MXM8{`s zL5w#APtM;y&EdUVXkNoo+hCpgGohC~O8vbtx7=Q#+WcO(<D0K6NRVt%{D$P8h(C5 z>KLCcX9U@aP3h~5rN6sZ+kod%(X;m7^>yT@^vL(E^gz2@>>}6Z^?K?Yl{!D&iqU72 zJbtmn2#!8tpPY|%J?PFd+S^Jec!jcF%W>`;TPnFWF3#jH)1>#oXB_Q`r^bcN77qV- zYCd`vPmK$`1-DsGgZ~|c=bb1h^+RD2oAd28EY7n>=bQVd-S2Mg;NMKn{q7YVBK*Q1 zc3`-IR~ilzI*KIcPGl;*S@+JJy6jm zF_(IUpWGko;wkwx&sPgi?VD{pDjNQ|-~Coi6zI93>3`1`U%_?py8mUFjsAxX?7m+5pKWlC zoHO@7&Qx9o{yOv?u>|B}Fbp}l9s#nvxYRj~)Ixx+9Mx3|&JHP+ACQ^ET z#Q*$rztVTsM($E8KcTDafxh(D(~IKPLr!vTXUiyr^i0!ou3Y!fyboD6uko{9`<>SO z{wDI;-z#3fy~xKqf%cMbj9Q=XDf83IYdZbDUK0ds-!;5TWcpJPe_dyPkn_Z}k&nEV zNXSI(^z>T>>w=4SlewArK02Ps#og&Qw4`is$`jmKB4WeYqiTx$WQieT30R4 zZw&SMjPs#8qa7EvxZC26)t!8y_!+iqI~Vhr4g2z$5uVL#VkdHK-7n<(@L3LpwAz2fwKIs^lR2YQ+tX zIHPu?D-v?1^_T^3y*ce;=Flu{^*I$&&@jg(ChwwwaS@u!XCzN3Po@DTIW-9@25v% zaz4MnMDcK^uutB1rr=~U^5#7Zo?hO=e(@3Bsq>`$eW=jzhd8pFvQ_CsH?-_?)_K@E zA-<9OBL12;&e*Zcd%VR9t>z7zh1dS1q8A#xjQFsm(YZfW^n!C<;DrTV##HovN4(G+ zXBW*j!uKlIj-Bx;3aI4%h8^pyY2aLQ_Qi38ymYngQIqhxcKzP&x~=>Ajp(v`Eyw=5 zzC1cU&ig(YV@>+$5stIY>pZklTd$Wra1Myc`2knwoVEAkkFA=3RP)yL^Y<1n$FJrM zn`NK>+2V~j)K{(Kh-ar)eGeeBD#{$gg9g->~mI#72&sGsg-K?+&g*+o|({Z>;H)j=zf@ zd(z)H6Jiga>)4W#nPv5!RlQ5u1|l22<=S(vV4T=JnB!h?+-#V75I(?jNuyTzH@(G- zN3V56A1*pBv~*}WrGs^n4#rvs@9X}b&oeC@DuF2-tkJ<(>xes}`0+wZ2O-t5uto=C zt>XjWi;kCCI=rvW2WxaN);gkwi;iEnbU0_$!5STmZ_zQA_vKGT2dw;$iGkWAp1+a= zofYQbs3}J7{=XEt&|UD@2)gPYwj+Wo3g9KdHNitl$dX`L@VMaHg69N36x=RbcM4t< z+$P;06C4m65*!imzr4o;PYS*+cuMe$;QN9f30@ZbPVlPWHNiE(n}VC(qyG;I-Y58w z;DF#Wg5!eE3BDv)6f}ab2u6aj;Jo0oXPVVR%cHZ+{OWKe9UYB_qt!sBz@|fM&0yT5 z`G?2D$CxZM15Zyj_>)n+NZl{i0K`Ft}tGg{rBPM#i(_oq(}$M>JlsI)Lx8JudCPOgj|ZEC^;OX=`% zt+C+obIn>2*`K8F@Y-mi^vG~|S%$wnINPMbaOHeD+nn0ZpL_Z95&qoApO2=~&0r}# KvOHL8(*FR0@CCsD diff --git a/scripts/Raptors/raptor_turretxl_v2.bos b/scripts/Raptors/raptor_turretxl_v2.bos index 05d57cc13dd..8c359058e43 100644 --- a/scripts/Raptors/raptor_turretxl_v2.bos +++ b/scripts/Raptors/raptor_turretxl_v2.bos @@ -1,16 +1,17 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, aimy, seg1,seg2,seg3,seg4,seg5,head,flare; -static-var AboveGround, restore_delay, isAiming, frameslefttoshot; +static-var AboveGround, restore_delay, statechg_DesiredState, statechg_StateChanging, isAiming, frameslefttoshot; -//------------------------------- Worm Options -------------------------------------------------- #define WORMSIZE 240 // This is for scaling move animations -#define SPIT 0 // if you want a spitting animation before shooting, set it >0 -#define RECOIL 0 // if you want a recoil anim after shooting, set it >0 (about 300) +// Signal definitions +#define SIG_AIM 2 //-------------------------------CONSTANT ACCELERATION TURRET TURNING--------------------------- // MaxVelocity and acceleration are in degrees per frame (not second!) @@ -18,16 +19,18 @@ static-var AboveGround, restore_delay, isAiming, frameslefttoshot; // A high precision requirement can result in overshoots if desired // (c) CC BY NC ND Beherith mysterme@gmail.com -#define MAX_SEG_VELOCITY <5.0> +#define MAX_SEG_VELOCITY <5.00> #define SEG_ACCELERATION <0.05> #define SEG_JERK <0.02> #define SEG_PRECISION <0.02> +static-var segvelocity, segtarget, segposition, segdelta, timetozero, deceleratethreshold, gameFrame, segacceleration; -#define MAX_AIMY1_VELOCITY <18.0> +#define MAX_AIMY1_VELOCITY <18.00> #define AIMY1_ACCELERATION <0.1> #define AIMY1_JERK <0.1> #define AIMY1_PRECISION <0.1> +static-var aimy1velocity, aimy1target, aimy1position, aimy1delta, aimy1acceleration; #define WIGGLEAMPLITUDE 100 / 200 @@ -35,5 +38,484 @@ static-var AboveGround, restore_delay, isAiming, frameslefttoshot; #define WIGGLEFREQUENCY 1000 #define WIGGLESPEED <10> +Motion(){ + var wigglefreq; // NOTE: DO NOT DECLARE VAR WITHIN A WHILE LOOP AS IT WILL OVERFLOW THE COB STACK! + wigglefreq =0; -#include "raptor_worm_turret_common.h" \ No newline at end of file + var sin; + + while(1){ + segdelta = segtarget - segposition; + + if( (( get ABS(segdelta)) > SEG_PRECISION ) OR (get ABS(segvelocity) > SEG_JERK)){ + //Clamp segposition and segdelta between <-180>;<180> + while (segposition > <180>) segposition = segposition - <360>; + while (segposition < <-180>) segposition = segposition + <360>; + while (segdelta > <180>) segdelta = segdelta - <360>; + while (segdelta < <-180>) segdelta = segdelta + <360>; + + //number of frames required to decelerate to 0 + timetozero = get ABS(segvelocity) / segacceleration; + + //distance from target where we should start decelerating, always 'positive' + //pos = t * v - (t*(t-1)*a/2) + deceleratethreshold = timetozero * (get ABS(segvelocity)) - (timetozero * (timetozero - 1) * segacceleration / 2); + + //get PRINT ( segdelta , deceleratethreshold, segvelocity, timetozero ); + + if (get ABS(segdelta) <= deceleratethreshold){ //we need to decelerate + if (segvelocity > 0) segvelocity = segvelocity - segacceleration; + else segvelocity = segvelocity + segacceleration; + } + else //we need to accelerate + { + if (segdelta > 0) segvelocity = get MIN( MAX_SEG_VELOCITY, segvelocity + segacceleration); + else segvelocity = get MAX((-1) * MAX_SEG_VELOCITY, segvelocity - segacceleration); + } + + //Apply jerk at very low velocities + if (get ABS(segvelocity) < SEG_JERK){ + if ((segdelta > SEG_JERK)) segvelocity = SEG_JERK; + if ((segdelta < (-1) * SEG_JERK)) segvelocity = (-1) * SEG_JERK; + } + + segposition = segposition + segvelocity; + + + turn seg1 to x-axis segposition now; + turn seg2 to x-axis segposition now; + turn seg3 to x-axis segposition now; + turn seg4 to x-axis segposition now; + turn seg5 to x-axis segposition now; + turn head to x-axis segposition now; + + + segdelta = segtarget - segposition ; + if ((segdelta < <1>) AND (segdelta > <-1>)){ + //return (1); // INPITCH + + } + } + + + //aaimy1delta = aimy1position - aimy1target; + aimy1delta = aimy1target - aimy1position; + if( ( get ABS(aimy1delta) > AIMY1_PRECISION ) OR ( get ABS(aimy1velocity) > AIMY1_JERK)){ + + //Clamp aimy1position and aimy1delta between <-180>;<180> + while (aimy1position > <180>) aimy1position = aimy1position - <360>; + while (aimy1position < <-180>) aimy1position = aimy1position + <360>; + while (aimy1delta > <180>) aimy1delta = aimy1delta - <360>; + while (aimy1delta < <-180>) aimy1delta = aimy1delta + <360>; + + //number of frames required to decelerate to 0 + timetozero = get ABS(aimy1velocity) / aimy1acceleration; + + //distance from target where we should start decelerating, always 'positive' + //pos = t * v - (t*(t-1)*a/2) + deceleratethreshold = timetozero * (get ABS(aimy1velocity)) - (timetozero * (timetozero - 1) * aimy1acceleration / 2); + + //get PRINT ( aimy1delta , deceleratethreshold , aimy1velocity, timetozero ); + + if (get ABS(aimy1delta) <= deceleratethreshold){ //we need to decelerate + if (aimy1velocity > 0) aimy1velocity = aimy1velocity - aimy1acceleration; + else aimy1velocity = aimy1velocity + aimy1acceleration; + } + else //we need to accelerate + { + if (aimy1delta > 0) aimy1velocity = get MIN( MAX_AIMY1_VELOCITY, aimy1velocity + aimy1acceleration); + else aimy1velocity = get MAX((-1) * MAX_AIMY1_VELOCITY, aimy1velocity - aimy1acceleration); + } + + //Apply jerk at very low velocities + if (get ABS(aimy1velocity) < AIMY1_JERK){ + //this line will only have effect if our delta is less than jerk + aimy1velocity = aimy1delta; + + if ((aimy1delta > AIMY1_JERK)) aimy1velocity = AIMY1_JERK; + if ((aimy1delta < (-1) * AIMY1_JERK)) aimy1velocity = (-1) * AIMY1_JERK; + + } + + aimy1position = aimy1position + aimy1velocity; + turn aimy to y-axis aimy1position now; + aimy1delta = aimy1target - aimy1position ; + if ((aimy1delta < <7>) AND (aimy1delta > <-7>)){ + //return (1); // INHEADING + } + } + //aimy1velocity = 0; + + + if (AboveGround ==1 ){ + + // this random motion sucks + /* if ((isAiming == 0) OR ((isAiming == 1) AND (frameslefttoshot > 15) ) ){ + if (RAND(0,3) == 1){ + segtarget = segtarget + RAND(-3,3); + aimy1target = aimy1target + RAND(-10,10); + } + } + */ + + // lets have the worm do a Z wave instead + // KSIN: return int(1024*math::sinf(TAANG2RAD*(float)p1)); + turn seg1 to z-axis (get KSIN(wigglefreq + 1 * WIGGLEPHASE)) * WIGGLEAMPLITUDE speed WIGGLESPEED; + turn seg2 to z-axis (get KSIN(wigglefreq + 2 * WIGGLEPHASE)) * WIGGLEAMPLITUDE speed WIGGLESPEED; + turn seg3 to z-axis (get KSIN(wigglefreq + 3 * WIGGLEPHASE)) * WIGGLEAMPLITUDE speed WIGGLESPEED; + turn seg4 to z-axis (get KSIN(wigglefreq + 4 * WIGGLEPHASE)) * WIGGLEAMPLITUDE speed WIGGLESPEED; + turn seg5 to z-axis (get KSIN(wigglefreq + 5 * WIGGLEPHASE)) * WIGGLEAMPLITUDE speed WIGGLESPEED; + turn head to z-axis (get KSIN(wigglefreq + 6 * WIGGLEPHASE)) * WIGGLEAMPLITUDE speed WIGGLESPEED; + } + wigglefreq = wigglefreq + WIGGLEFREQUENCY; + if (wigglefreq > 65536) wigglefreq = wigglefreq - 65536; + sleep 30; + } +} + + +Go() +{ + set ARMORED to 0; + move seg1 to y-axis [0] speed [1] * WORMSIZE; + sleep 250; + segtarget = <0>; + wait-for-move seg1 along x-axis; + AboveGround = 1; +} + +Stop() +{ + set ARMORED to 1; + AboveGround = 0; + turn seg1 to z-axis <0> speed WIGGLESPEED; + turn seg2 to z-axis <0> speed WIGGLESPEED; + turn seg3 to z-axis <0> speed WIGGLESPEED; + turn seg4 to z-axis <0> speed WIGGLESPEED; + turn seg5 to z-axis <0> speed WIGGLESPEED; + turn head to z-axis <0> speed WIGGLESPEED; + + segtarget = <-14>; + move seg1 to y-axis [-1.04] * WORMSIZE speed [0.6] * WORMSIZE; + wait-for-move seg1 along x-axis; +} + +InitState() +{ + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; +} + +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + call-script Go(); + currentstate = 0; + } + if( statechg_DesiredState == 1 ) + { + call-script Stop(); + currentstate = 1; + } + } + statechg_StateChanging = FALSE; +} + +Create() +{ + move base to y-axis [-0.2] * WORMSIZE now; + move base to y-axis <0> speed [0.1] * WORMSIZE; + + segvelocity = 0; + segtarget= 0; + segposition = 0; + segdelta= 0; + timetozero = 0; + deceleratethreshold= 0; + gameFrame= 0; + segacceleration = SEG_ACCELERATION; + + aimy1velocity= 0; + aimy1target =0; + aimy1position= 0; + aimy1delta =0; + aimy1acceleration = AIMY1_ACCELERATION; + + + move seg1 to y-axis [-2.0] * WORMSIZE now; + + hide flare; + + restore_delay = 2000; + AboveGround = 0; + call-script InitState(); + start-script RequestState(0); + while( get BUILD_PERCENT_LEFT ) + { + sleep 250; + } + //move aimpoint to y-axis [8] now; + start-script RequestState(1); + start-script Motion(); +} + +Activate() +{ + start-script RequestState(0); +} + +Deactivate() +{ + start-script RequestState(1); +} + +SetMaxReloadTime(Func_Var_1) +{ + //restore_delay = Func_Var_1 * 2; //using above Create() value of restore_delay +} + +static-var Stunned; +ExecuteRestoreAfterDelay() +{ + if (Stunned) { + return (1); + } + set-signal-mask 0; + start-script RequestState(1); +} +SetStunned(State) +{ + Stunned = State; + if (!Stunned) { + start-script ExecuteRestoreAfterDelay(); + } +} +RestoreAfterDelay() +{ + sleep restore_delay; + start-script ExecuteRestoreAfterDelay(); +} + +AimWeapon1(heading, pitch) +{ + + // Only calls RequestState(0) and the rest of the AimWeapon function + // if the time left to shoot is less that 5 seconds. + frameslefttoshot = (GET WEAPON_RELOADSTATE(1)) - (GET GAME_FRAME); + if (frameslefttoshot > 150) + { + return (0); + } + start-script RequestState(0); + + isAiming = 1; + signal SIG_AIM; + set-signal-mask SIG_AIM; + while( !AboveGround ) + { + sleep 250; + } + aimy1target = heading; + aimy1delta = aimy1target - aimy1position; + + segtarget = -1 * pitch / 6; + segdelta = segtarget - segposition; + + while (get ABS(aimy1delta) > <10>){ + sleep 30; + } + + if (frameslefttoshot < 15){ // GET WEAPON_RELOADSTATE(1) gives the frame weapon 1 can fire on + // if we can fire in 10 frames, do the spit + + segtarget = segtarget -500; + segacceleration = 10 * SEG_ACCELERATION; + sleep 150; + + segtarget = segtarget + 000; + + sleep 150; + segacceleration = SEG_ACCELERATION; + + } + + // once we are pretty near to the target heading, as above, we need to do a quick shooty anim: + + isAiming = 0; + start-script RestoreAfterDelay(); + return (1); +} + +Shot1() +{ + //call-script lua_FlameShot(1); + //emit-sfx 1024 + 0 from flare; + //segtarget = segtarget + (Rand( 100, 200 )); + //aimy1target = aimy1target + (Rand( 0, 400 ) - 200); + return (TRUE); +} + + +//Needs defines before usage: +//UNITSIZE 1-20, small for small units, large for large units, +//MAXTILT ~100, how much unit should move +//BASEPIECE piecename, +//HITSPEED <55>, for small units, <15> for large units + + +// angle[x|z] is always [-500;500], damage is multiplied by 100 +// thus if our maxtilt is 100/100, then we get 500, which is about 2.7 degrees of max tilt, which should also kind of scale with unitsize, e.g. smaller units should tilt more, while larger less +// + +// hitspeed should be a part of unitsize, to simplify scaling +HitByWeapon(anglex, anglez, damage) // angle[x|z] is always [-500;500], damage is multiplied by 100 +{ + var amount;//, speedz, speedx; + amount = damage / (10 * WORMSIZE); + var randpiece; + randpiece = 0; + if (amount < 3 ) return (0); + //if (RAND(1, MAXTILT) < amount){ + if (1){ + randpiece = RAND(1, 3); + if (randpiece == 1) emit-sfx 1024 from base; + if (randpiece == 2) emit-sfx 1024 from seg1; + if (randpiece == 3) emit-sfx 1024 from seg2; + } + if (amount > 100){ + amount = 100; + } + if (anglex ==0 ) { //this happens when hit by lasers + if (anglez == 0){ + amount = amount / 2; + anglex = RAND(1,500); + anglez = RAND(1,500); + } + } + + segtarget = segtarget + ((Rand( 0, amount ) - amount / 2))/6; + aimy1target = aimy1target + (Rand( 0, amount ) - amount / 2); +} + +static-var isSmoking; +SmokeUnit(healthpercent, randpiece) // ah yes, clever use of stack variables +{ + while( TRUE ) + { + healthpercent = get HEALTH; + + if( healthpercent < 66 ) + { + randpiece = RAND(1, 3); + if (randpiece == 1) emit-sfx 1024 from base; + if (randpiece == 2) emit-sfx 1024 from head; + if (randpiece == 3) emit-sfx 1024 from seg3; + } + else { + isSmoking = 0; + return; + //break; // bos2cob.py does not like this one! + } + if (healthpercent < 4) healthpercent = 4; + sleep healthpercent * 50; + } + sleep 97; + isSmoking = 0; +} + +HitByWeaponId(anglex, anglez, weaponid, dmg) //weaponID is always 0,lasers and flamers give angles of 0 +{ + if( get BUILD_PERCENT_LEFT) return (100); + if (isSmoking == 0) { + isSmoking = 1; + start-script SmokeUnit(); + } + //get PRINT(anglex, anglez, weaponid, dmg); + start-script HitByWeapon(dmg, anglez,anglex); //I dont know why param order must be switched, and this also runs a frame later :( + return (100); //return damage percent +} + + +FirePrimary() +{ + //segtarget = segtarget + get RAND(0, 10000); + +} + +QueryPrimary(piecenum) +{ + piecenum = flare; +} + +SweetSpot(piecenum) +{ + piecenum = base; +} + +AimFromPrimary(piecenum) +{ + piecenum = head; +} + +Killed(severity, corpsetype) +{ + move base to y-axis [-0.2] * WORMSIZE speed [0.1] * WORMSIZE; + var randSeverity; + randSeverity = RAND(0,severity); + + //get PRINT(severity, randSeverity); + //Head pops off an it recedes + if (randSeverity >= 0) { + emit-sfx 1025 from head; + explode head type FALL | NOHEATCLOUD; + hide head; + } + + if (randSeverity >= 10) { + emit-sfx 1025 from seg5; + explode seg5 type FALL | NOHEATCLOUD; + hide seg5; + } + + if (randSeverity >= 20) { + emit-sfx 1025 from seg4; + explode seg4 type FALL | NOHEATCLOUD; + hide seg4; + } + if (randSeverity >= 30) { + emit-sfx 1025 from seg3; + explode seg3 type FALL | NOHEATCLOUD; + hide seg3; + } + if (randSeverity >= 40) { + emit-sfx 1025 from seg2; + explode seg2 type FALL | NOHEATCLOUD; + hide seg2; + } + if (randSeverity >= 50) { + emit-sfx 1025 from seg1; + explode seg1 type FALL | NOHEATCLOUD; + hide seg1; + } + if (randSeverity <= 50) { + //get PRINT(severity, randSeverity, 666, 666); + call-script Stop(); + sleep 1500; + corpsetype = 1; + }else{ + //get PRINT(severity, randSeverity, 555, 555); + corpsetype = 2; + } + return(corpsetype); +} \ No newline at end of file diff --git a/scripts/Raptors/raptor_turretxl_v2.cob b/scripts/Raptors/raptor_turretxl_v2.cob index 0b8d1b3ad31683ebc155f19df0f158b7322bc187..af4b5ea93e418ddb9688335e31edc896696c577e 100644 GIT binary patch literal 8012 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 *animAmplitude)/100) speed ((<90.0> *animAmplitude)/100) / animspeed; //delta=%.2f + turn body to z-axis ((<3.000000> *animAmplitude)/100) speed ((<90.000003> *animAmplitude)/100) / animspeed; //delta=%.2f turn body to y-axis ((<-3.245854> *animAmplitude)/100) speed ((<97.375627> *animAmplitude)/100) / animspeed; //delta=%.2f turn head to x-axis ((<2.900000> *animAmplitude)/100) speed ((<86.999991> *animAmplitude)/100) / animspeed; //delta=%.2f turn head to y-axis ((<-4.099999> *animAmplitude)/100) speed ((<122.999985> *animAmplitude)/100) / animspeed; //delta=%.2f @@ -36,14 +36,14 @@ Walk() {// For N:\animations\Raptors\raptor_2legged_fast_anim_walk_v2.blend Crea turn tail to y-axis ((<6.100000> *animAmplitude)/100) speed ((<182.999991> *animAmplitude)/100) / animspeed; //delta=%.2f sleep ((33*animSpeed) -1); } - while(isMoving) { + while(bMoving) { //animAmplitude = animAmplitude + 5; //if (animAmplitude > 170) animAmplitude = 40; - if (isMoving) { //Frame:12 + if (bMoving) { //Frame:12 move body to x-axis (((([1.368846] *MOVESCALE)/100) *animAmplitude)/100) speed (((([19.569397] *MOVESCALE)/100) *animAmplitude)/100) / animspeed; //delta=%.2f move body to z-axis (((([2.107771] *MOVESCALE)/100) *animAmplitude)/100) speed (((([31.616560] *MOVESCALE)/100) *animAmplitude)/100) / animspeed; //delta=%.2f move body to y-axis (((([-2.756316] *MOVESCALE)/100) *animAmplitude)/100) speed (((([82.696016] *MOVESCALE)/100) *animAmplitude)/100) / animspeed; //delta=%.2f - turn body to z-axis ((<-0.0> *animAmplitude)/100) speed ((<90.0> *animAmplitude)/100) / animspeed; //delta=%.2f + turn body to z-axis ((<-0.000000> *animAmplitude)/100) speed ((<90.000003> *animAmplitude)/100) / animspeed; //delta=%.2f turn body to y-axis ((<-4.999999> *animAmplitude)/100) speed ((<52.624356> *animAmplitude)/100) / animspeed; //delta=%.2f turn head to x-axis ((<11.999999> *animAmplitude)/100) speed ((<272.999967> *animAmplitude)/100) / animspeed; //delta=%.2f turn head to y-axis ((<-6.099999> *animAmplitude)/100) speed ((<59.999993> *animAmplitude)/100) / animspeed; //delta=%.2f @@ -55,8 +55,8 @@ Walk() {// For N:\animations\Raptors\raptor_2legged_fast_anim_walk_v2.blend Crea turn lthigh to x-axis ((<63.270214> *animAmplitude)/100) speed ((<735.302171> *animAmplitude)/100) / animspeed; //delta=%.2f turn lthigh to z-axis ((<-3.053752> *animAmplitude)/100) speed ((<62.001051> *animAmplitude)/100) / animspeed; //delta=%.2f turn lthigh to y-axis ((<2.631929> *animAmplitude)/100) speed ((<25.117671> *animAmplitude)/100) / animspeed; //delta=%.2f - turn LUHAND to z-axis ((<5.0> *animAmplitude)/100) speed ((<74.999998> *animAmplitude)/100) / animspeed; //delta=%.2f - turn LLHAND to z-axis ((<5.0> *animAmplitude)/100) speed ((<74.999998> *animAmplitude)/100) / animspeed; //delta=%.2f + turn LUHAND to z-axis ((<5.000000> *animAmplitude)/100) speed ((<74.999998> *animAmplitude)/100) / animspeed; //delta=%.2f + turn LLHAND to z-axis ((<5.000000> *animAmplitude)/100) speed ((<74.999998> *animAmplitude)/100) / animspeed; //delta=%.2f turn rfoot to x-axis ((<37.775085> *animAmplitude)/100) speed ((<290.314715> *animAmplitude)/100) / animspeed; //delta=%.2f turn rfoot to z-axis ((<-0.225574> *animAmplitude)/100) speed ((<18.537829> *animAmplitude)/100) / animspeed; //delta=%.2f turn rfoot to y-axis ((<2.256788> *animAmplitude)/100) speed ((<12.416772> *animAmplitude)/100) / animspeed; //delta=%.2f @@ -64,20 +64,20 @@ Walk() {// For N:\animations\Raptors\raptor_2legged_fast_anim_walk_v2.blend Crea turn rshin to x-axis ((<23.827443> *animAmplitude)/100) speed ((<1316.520448> *animAmplitude)/100) / animspeed; //delta=%.2f turn rthigh to x-axis ((<-39.489763> *animAmplitude)/100) speed ((<356.525527> *animAmplitude)/100) / animspeed; //delta=%.2f turn rthigh to z-axis ((<-7.962845> *animAmplitude)/100) speed ((<52.238627> *animAmplitude)/100) / animspeed; //delta=%.2f - turn RUHAND to z-axis ((<5.0> *animAmplitude)/100) speed ((<74.999998> *animAmplitude)/100) / animspeed; //delta=%.2f - turn RLHAND to z-axis ((<5.0> *animAmplitude)/100) speed ((<74.999998> *animAmplitude)/100) / animspeed; //delta=%.2f + turn RUHAND to z-axis ((<5.000000> *animAmplitude)/100) speed ((<74.999998> *animAmplitude)/100) / animspeed; //delta=%.2f + turn RLHAND to z-axis ((<5.000000> *animAmplitude)/100) speed ((<74.999998> *animAmplitude)/100) / animspeed; //delta=%.2f turn tail to x-axis ((<-1.406630> *animAmplitude)/100) speed ((<64.620693> *animAmplitude)/100) / animspeed; //delta=%.2f turn tail to y-axis ((<10.599999> *animAmplitude)/100) speed ((<134.999991> *animAmplitude)/100) / animspeed; //delta=%.2f sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:18 + if (bMoving) { //Frame:18 move body to x-axis (((([0.884679] *MOVESCALE)/100) *animAmplitude)/100) speed (((([14.525004] *MOVESCALE)/100) *animAmplitude)/100) / animspeed; //delta=%.2f move body to z-axis (((([2.594179] *MOVESCALE)/100) *animAmplitude)/100) speed (((([14.592261] *MOVESCALE)/100) *animAmplitude)/100) / animspeed; //delta=%.2f move body to y-axis (((([-1.511768] *MOVESCALE)/100) *animAmplitude)/100) speed (((([37.336428] *MOVESCALE)/100) *animAmplitude)/100) / animspeed; //delta=%.2f - turn body to z-axis ((<-3.0> *animAmplitude)/100) speed ((<90.0> *animAmplitude)/100) / animspeed; //delta=%.2f + turn body to z-axis ((<-3.000000> *animAmplitude)/100) speed ((<90.000003> *animAmplitude)/100) / animspeed; //delta=%.2f turn body to y-axis ((<-3.457541> *animAmplitude)/100) speed ((<46.273765> *animAmplitude)/100) / animspeed; //delta=%.2f turn head to x-axis ((<6.799999> *animAmplitude)/100) speed ((<155.999992> *animAmplitude)/100) / animspeed; //delta=%.2f - turn head to y-axis ((<-4.0> *animAmplitude)/100) speed ((<62.999992> *animAmplitude)/100) / animspeed; //delta=%.2f + turn head to y-axis ((<-4.000000> *animAmplitude)/100) speed ((<62.999992> *animAmplitude)/100) / animspeed; //delta=%.2f turn lfoot to x-axis ((<-48.343963> *animAmplitude)/100) speed ((<122.208716> *animAmplitude)/100) / animspeed; //delta=%.2f turn lfoot to z-axis ((<-0.170319> *animAmplitude)/100) speed ((<42.728804> *animAmplitude)/100) / animspeed; //delta=%.2f turn lfoot to y-axis ((<-0.213311> *animAmplitude)/100) speed ((<49.106656> *animAmplitude)/100) / animspeed; //delta=%.2f @@ -102,12 +102,12 @@ Walk() {// For N:\animations\Raptors\raptor_2legged_fast_anim_walk_v2.blend Crea turn tail to y-axis ((<5.600000> *animAmplitude)/100) speed ((<149.999983> *animAmplitude)/100) / animspeed; //delta=%.2f sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:24 - move body to x-axis (((([0.0] *MOVESCALE)/100) *animAmplitude)/100) speed (((([26.540374] *MOVESCALE)/100) *animAmplitude)/100) / animspeed; //delta=%.2f - move body to z-axis (((([0.0] *MOVESCALE)/100) *animAmplitude)/100) speed (((([77.825382] *MOVESCALE)/100) *animAmplitude)/100) / animspeed; //delta=%.2f + if (bMoving) { //Frame:24 + move body to x-axis (((([0.000000] *MOVESCALE)/100) *animAmplitude)/100) speed (((([26.540374] *MOVESCALE)/100) *animAmplitude)/100) / animspeed; //delta=%.2f + move body to z-axis (((([0.000000] *MOVESCALE)/100) *animAmplitude)/100) speed (((([77.825382] *MOVESCALE)/100) *animAmplitude)/100) / animspeed; //delta=%.2f move body to y-axis (((([-0.620183] *MOVESCALE)/100) *animAmplitude)/100) speed (((([26.747559] *MOVESCALE)/100) *animAmplitude)/100) / animspeed; //delta=%.2f - turn body to z-axis ((<-5.0> *animAmplitude)/100) speed ((<59.999993> *animAmplitude)/100) / animspeed; //delta=%.2f - turn body to y-axis ((<-0.0> *animAmplitude)/100) speed ((<103.726217> *animAmplitude)/100) / animspeed; //delta=%.2f + turn body to z-axis ((<-5.000000> *animAmplitude)/100) speed ((<59.999993> *animAmplitude)/100) / animspeed; //delta=%.2f + turn body to y-axis ((<-0.000000> *animAmplitude)/100) speed ((<103.726217> *animAmplitude)/100) / animspeed; //delta=%.2f turn head to x-axis ((<3.199999> *animAmplitude)/100) speed ((<107.999993> *animAmplitude)/100) / animspeed; //delta=%.2f turn head to y-axis ((<0.200000> *animAmplitude)/100) speed ((<125.999986> *animAmplitude)/100) / animspeed; //delta=%.2f turn lfoot to x-axis ((<0.576282> *animAmplitude)/100) speed ((<1467.607337> *animAmplitude)/100) / animspeed; //delta=%.2f @@ -130,15 +130,15 @@ Walk() {// For N:\animations\Raptors\raptor_2legged_fast_anim_walk_v2.blend Crea turn rthigh to y-axis ((<-1.190465> *animAmplitude)/100) speed ((<45.999023> *animAmplitude)/100) / animspeed; //delta=%.2f turn RUHAND to z-axis ((<5.300000> *animAmplitude)/100) speed ((<158.999991> *animAmplitude)/100) / animspeed; //delta=%.2f turn RLHAND to z-axis ((<5.300000> *animAmplitude)/100) speed ((<158.999991> *animAmplitude)/100) / animspeed; //delta=%.2f - turn tail to x-axis ((<-7.0> *animAmplitude)/100) speed ((<209.999989> *animAmplitude)/100) / animspeed; //delta=%.2f - turn tail to y-axis ((<0.0> *animAmplitude)/100) speed ((<167.999986> *animAmplitude)/100) / animspeed; //delta=%.2f + turn tail to x-axis ((<-7.000000> *animAmplitude)/100) speed ((<209.999989> *animAmplitude)/100) / animspeed; //delta=%.2f + turn tail to y-axis ((<0.000000> *animAmplitude)/100) speed ((<167.999986> *animAmplitude)/100) / animspeed; //delta=%.2f sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:30 + if (bMoving) { //Frame:30 move body to x-axis (((([-1.020784] *MOVESCALE)/100) *animAmplitude)/100) speed (((([30.623506] *MOVESCALE)/100) *animAmplitude)/100) / animspeed; //delta=%.2f move body to z-axis (((([1.053885] *MOVESCALE)/100) *animAmplitude)/100) speed (((([31.616560] *MOVESCALE)/100) *animAmplitude)/100) / animspeed; //delta=%.2f move body to y-axis (((([0.012741] *MOVESCALE)/100) *animAmplitude)/100) speed (((([18.987735] *MOVESCALE)/100) *animAmplitude)/100) / animspeed; //delta=%.2f - turn body to z-axis ((<-3.0> *animAmplitude)/100) speed ((<59.999993> *animAmplitude)/100) / animspeed; //delta=%.2f + turn body to z-axis ((<-3.000000> *animAmplitude)/100) speed ((<59.999993> *animAmplitude)/100) / animspeed; //delta=%.2f turn body to y-axis ((<3.386979> *animAmplitude)/100) speed ((<101.609356> *animAmplitude)/100) / animspeed; //delta=%.2f turn head to x-axis ((<7.349999> *animAmplitude)/100) speed ((<124.499997> *animAmplitude)/100) / animspeed; //delta=%.2f turn head to y-axis ((<4.400000> *animAmplitude)/100) speed ((<125.999993> *animAmplitude)/100) / animspeed; //delta=%.2f @@ -161,15 +161,15 @@ Walk() {// For N:\animations\Raptors\raptor_2legged_fast_anim_walk_v2.blend Crea turn rthigh to y-axis ((<-3.650148> *animAmplitude)/100) speed ((<73.790478> *animAmplitude)/100) / animspeed; //delta=%.2f turn RUHAND to z-axis ((<2.100000> *animAmplitude)/100) speed ((<95.999993> *animAmplitude)/100) / animspeed; //delta=%.2f turn RLHAND to z-axis ((<2.100000> *animAmplitude)/100) speed ((<95.999993> *animAmplitude)/100) / animspeed; //delta=%.2f - turn tail to x-axis ((<-0.0> *animAmplitude)/100) speed ((<209.999989> *animAmplitude)/100) / animspeed; //delta=%.2f + turn tail to x-axis ((<-0.000000> *animAmplitude)/100) speed ((<209.999989> *animAmplitude)/100) / animspeed; //delta=%.2f turn tail to y-axis ((<-7.599999> *animAmplitude)/100) speed ((<227.999992> *animAmplitude)/100) / animspeed; //delta=%.2f sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:36 + if (bMoving) { //Frame:36 move body to x-axis (((([-1.354285] *MOVESCALE)/100) *animAmplitude)/100) speed (((([10.005037] *MOVESCALE)/100) *animAmplitude)/100) / animspeed; //delta=%.2f move body to z-axis (((([2.107771] *MOVESCALE)/100) *animAmplitude)/100) speed (((([31.616560] *MOVESCALE)/100) *animAmplitude)/100) / animspeed; //delta=%.2f move body to y-axis (((([-2.756316] *MOVESCALE)/100) *animAmplitude)/100) speed (((([83.071722] *MOVESCALE)/100) *animAmplitude)/100) / animspeed; //delta=%.2f - turn body to z-axis ((<0.0> *animAmplitude)/100) speed ((<90.0> *animAmplitude)/100) / animspeed; //delta=%.2f + turn body to z-axis ((<0.000000> *animAmplitude)/100) speed ((<90.000003> *animAmplitude)/100) / animspeed; //delta=%.2f turn body to y-axis ((<4.899999> *animAmplitude)/100) speed ((<45.390628> *animAmplitude)/100) / animspeed; //delta=%.2f turn head to x-axis ((<11.499999> *animAmplitude)/100) speed ((<124.499997> *animAmplitude)/100) / animspeed; //delta=%.2f turn head to y-axis ((<7.399999> *animAmplitude)/100) speed ((<89.999990> *animAmplitude)/100) / animspeed; //delta=%.2f @@ -181,8 +181,8 @@ Walk() {// For N:\animations\Raptors\raptor_2legged_fast_anim_walk_v2.blend Crea turn lthigh to x-axis ((<-39.280623> *animAmplitude)/100) speed ((<373.711837> *animAmplitude)/100) / animspeed; //delta=%.2f turn lthigh to z-axis ((<7.223171> *animAmplitude)/100) speed ((<26.191927> *animAmplitude)/100) / animspeed; //delta=%.2f turn lthigh to y-axis ((<-1.443272> *animAmplitude)/100) speed ((<7.036768> *animAmplitude)/100) / animspeed; //delta=%.2f - turn LUHAND to z-axis ((<-0.0> *animAmplitude)/100) speed ((<62.999998> *animAmplitude)/100) / animspeed; //delta=%.2f - turn LLHAND to z-axis ((<-0.0> *animAmplitude)/100) speed ((<62.999998> *animAmplitude)/100) / animspeed; //delta=%.2f + turn LUHAND to z-axis ((<-0.000000> *animAmplitude)/100) speed ((<62.999998> *animAmplitude)/100) / animspeed; //delta=%.2f + turn LLHAND to z-axis ((<-0.000000> *animAmplitude)/100) speed ((<62.999998> *animAmplitude)/100) / animspeed; //delta=%.2f turn rfoot to x-axis ((<-42.036358> *animAmplitude)/100) speed ((<205.764537> *animAmplitude)/100) / animspeed; //delta=%.2f turn rfoot to z-axis ((<-0.424411> *animAmplitude)/100) speed ((<53.818245> *animAmplitude)/100) / animspeed; //delta=%.2f turn rfoot to y-axis ((<-1.185119> *animAmplitude)/100) speed ((<72.842690> *animAmplitude)/100) / animspeed; //delta=%.2f @@ -191,17 +191,17 @@ Walk() {// For N:\animations\Raptors\raptor_2legged_fast_anim_walk_v2.blend Crea turn rthigh to x-axis ((<58.506082> *animAmplitude)/100) speed ((<694.939134> *animAmplitude)/100) / animspeed; //delta=%.2f turn rthigh to z-axis ((<2.713115> *animAmplitude)/100) speed ((<101.393232> *animAmplitude)/100) / animspeed; //delta=%.2f turn rthigh to y-axis ((<-2.128098> *animAmplitude)/100) speed ((<45.661482> *animAmplitude)/100) / animspeed; //delta=%.2f - turn RUHAND to z-axis ((<-0.0> *animAmplitude)/100) speed ((<62.999998> *animAmplitude)/100) / animspeed; //delta=%.2f - turn RLHAND to z-axis ((<-0.0> *animAmplitude)/100) speed ((<62.999998> *animAmplitude)/100) / animspeed; //delta=%.2f + turn RUHAND to z-axis ((<-0.000000> *animAmplitude)/100) speed ((<62.999998> *animAmplitude)/100) / animspeed; //delta=%.2f + turn RLHAND to z-axis ((<-0.000000> *animAmplitude)/100) speed ((<62.999998> *animAmplitude)/100) / animspeed; //delta=%.2f turn tail to x-axis ((<2.300000> *animAmplitude)/100) speed ((<68.999995> *animAmplitude)/100) / animspeed; //delta=%.2f turn tail to y-axis ((<-10.999999> *animAmplitude)/100) speed ((<101.999996> *animAmplitude)/100) / animspeed; //delta=%.2f sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:42 + if (bMoving) { //Frame:42 move body to x-axis (((([-1.003146] *MOVESCALE)/100) *animAmplitude)/100) speed (((([10.534172] *MOVESCALE)/100) *animAmplitude)/100) / animspeed; //delta=%.2f move body to z-axis (((([2.594179] *MOVESCALE)/100) *animAmplitude)/100) speed (((([14.592261] *MOVESCALE)/100) *animAmplitude)/100) / animspeed; //delta=%.2f move body to y-axis (((([-1.502549] *MOVESCALE)/100) *animAmplitude)/100) speed (((([37.613018] *MOVESCALE)/100) *animAmplitude)/100) / animspeed; //delta=%.2f - turn body to z-axis ((<3.0> *animAmplitude)/100) speed ((<90.0> *animAmplitude)/100) / animspeed; //delta=%.2f + turn body to z-axis ((<3.000000> *animAmplitude)/100) speed ((<90.000003> *animAmplitude)/100) / animspeed; //delta=%.2f turn body to y-axis ((<3.386979> *animAmplitude)/100) speed ((<45.390628> *animAmplitude)/100) / animspeed; //delta=%.2f turn head to x-axis ((<7.499999> *animAmplitude)/100) speed ((<119.999986> *animAmplitude)/100) / animspeed; //delta=%.2f turn head to y-axis ((<4.900000> *animAmplitude)/100) speed ((<74.999985> *animAmplitude)/100) / animspeed; //delta=%.2f @@ -225,17 +225,17 @@ Walk() {// For N:\animations\Raptors\raptor_2legged_fast_anim_walk_v2.blend Crea turn RUHAND to z-axis ((<11.099999> *animAmplitude)/100) speed ((<332.999973> *animAmplitude)/100) / animspeed; //delta=%.2f turn RLHAND to z-axis ((<11.099999> *animAmplitude)/100) speed ((<332.999973> *animAmplitude)/100) / animspeed; //delta=%.2f turn tail to x-axis ((<-13.999999> *animAmplitude)/100) speed ((<488.999972> *animAmplitude)/100) / animspeed; //delta=%.2f - turn tail to y-axis ((<-7.899999> *animAmplitude)/100) speed ((<93.0> *animAmplitude)/100) / animspeed; //delta=%.2f + turn tail to y-axis ((<-7.899999> *animAmplitude)/100) speed ((<93.000001> *animAmplitude)/100) / animspeed; //delta=%.2f sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:48 - move body to x-axis (((([0.0] *MOVESCALE)/100) *animAmplitude)/100) speed (((([30.094371] *MOVESCALE)/100) *animAmplitude)/100) / animspeed; //delta=%.2f - move body to z-axis (((([0.0] *MOVESCALE)/100) *animAmplitude)/100) speed (((([77.825382] *MOVESCALE)/100) *animAmplitude)/100) / animspeed; //delta=%.2f + if (bMoving) { //Frame:48 + move body to x-axis (((([0.000000] *MOVESCALE)/100) *animAmplitude)/100) speed (((([30.094371] *MOVESCALE)/100) *animAmplitude)/100) / animspeed; //delta=%.2f + move body to z-axis (((([0.000000] *MOVESCALE)/100) *animAmplitude)/100) speed (((([77.825382] *MOVESCALE)/100) *animAmplitude)/100) / animspeed; //delta=%.2f move body to y-axis (((([-0.551277] *MOVESCALE)/100) *animAmplitude)/100) speed (((([28.538139] *MOVESCALE)/100) *animAmplitude)/100) / animspeed; //delta=%.2f - turn body to z-axis ((<5.0> *animAmplitude)/100) speed ((<59.999993> *animAmplitude)/100) / animspeed; //delta=%.2f + turn body to z-axis ((<5.000000> *animAmplitude)/100) speed ((<59.999993> *animAmplitude)/100) / animspeed; //delta=%.2f turn body to y-axis ((<-0.141124> *animAmplitude)/100) speed ((<105.843080> *animAmplitude)/100) / animspeed; //delta=%.2f turn head to x-axis ((<2.500000> *animAmplitude)/100) speed ((<149.999983> *animAmplitude)/100) / animspeed; //delta=%.2f - turn head to y-axis ((<0.0> *animAmplitude)/100) speed ((<146.999997> *animAmplitude)/100) / animspeed; //delta=%.2f + turn head to y-axis ((<0.000000> *animAmplitude)/100) speed ((<146.999997> *animAmplitude)/100) / animspeed; //delta=%.2f turn lfoot to x-axis ((<5.189632> *animAmplitude)/100) speed ((<1209.980741> *animAmplitude)/100) / animspeed; //delta=%.2f turn lfoot to z-axis ((<-1.428018> *animAmplitude)/100) speed ((<123.636399> *animAmplitude)/100) / animspeed; //delta=%.2f turn lfoot to y-axis ((<1.139851> *animAmplitude)/100) speed ((<67.336875> *animAmplitude)/100) / animspeed; //delta=%.2f @@ -244,8 +244,8 @@ Walk() {// For N:\animations\Raptors\raptor_2legged_fast_anim_walk_v2.blend Crea turn lthigh to x-axis ((<1.802795> *animAmplitude)/100) speed ((<620.794451> *animAmplitude)/100) / animspeed; //delta=%.2f turn lthigh to z-axis ((<-3.848457> *animAmplitude)/100) speed ((<207.566606> *animAmplitude)/100) / animspeed; //delta=%.2f turn lthigh to y-axis ((<1.798164> *animAmplitude)/100) speed ((<76.726925> *animAmplitude)/100) / animspeed; //delta=%.2f - turn LUHAND to z-axis ((<5.0> *animAmplitude)/100) speed ((<182.999978> *animAmplitude)/100) / animspeed; //delta=%.2f - turn LLHAND to z-axis ((<5.0> *animAmplitude)/100) speed ((<182.999978> *animAmplitude)/100) / animspeed; //delta=%.2f + turn LUHAND to z-axis ((<5.000000> *animAmplitude)/100) speed ((<182.999978> *animAmplitude)/100) / animspeed; //delta=%.2f + turn LLHAND to z-axis ((<5.000000> *animAmplitude)/100) speed ((<182.999978> *animAmplitude)/100) / animspeed; //delta=%.2f turn rfoot to x-axis ((<-0.825809> *animAmplitude)/100) speed ((<1532.151403> *animAmplitude)/100) / animspeed; //delta=%.2f turn rfoot to y-axis ((<1.053146> *animAmplitude)/100) speed ((<55.568328> *animAmplitude)/100) / animspeed; //delta=%.2f turn rknee to x-axis ((<37.626389> *animAmplitude)/100) speed ((<316.553194> *animAmplitude)/100) / animspeed; //delta=%.2f @@ -253,17 +253,17 @@ Walk() {// For N:\animations\Raptors\raptor_2legged_fast_anim_walk_v2.blend Crea turn rthigh to x-axis ((<-8.002054> *animAmplitude)/100) speed ((<1404.204735> *animAmplitude)/100) / animspeed; //delta=%.2f turn rthigh to z-axis ((<-3.504265> *animAmplitude)/100) speed ((<144.292617> *animAmplitude)/100) / animspeed; //delta=%.2f turn rthigh to y-axis ((<0.913148> *animAmplitude)/100) speed ((<52.158181> *animAmplitude)/100) / animspeed; //delta=%.2f - turn RLHAND to z-axis ((<5.0> *animAmplitude)/100) speed ((<182.999978> *animAmplitude)/100) / animspeed; //delta=%.2f - turn RUHAND to z-axis ((<5.0> *animAmplitude)/100) speed ((<182.999978> *animAmplitude)/100) / animspeed; //delta=%.2f + turn RLHAND to z-axis ((<5.000000> *animAmplitude)/100) speed ((<182.999978> *animAmplitude)/100) / animspeed; //delta=%.2f + turn RUHAND to z-axis ((<5.000000> *animAmplitude)/100) speed ((<182.999978> *animAmplitude)/100) / animspeed; //delta=%.2f turn tail to x-axis ((<-7.919867> *animAmplitude)/100) speed ((<182.403958> *animAmplitude)/100) / animspeed; //delta=%.2f turn tail to y-axis ((<0.800000> *animAmplitude)/100) speed ((<260.999987> *animAmplitude)/100) / animspeed; //delta=%.2f sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:54 + if (bMoving) { //Frame:54 move body to x-axis (((([0.716533] *MOVESCALE)/100) *animAmplitude)/100) speed (((([21.495981] *MOVESCALE)/100) *animAmplitude)/100) / animspeed; //delta=%.2f move body to z-axis (((([1.053885] *MOVESCALE)/100) *animAmplitude)/100) speed (((([31.616560] *MOVESCALE)/100) *animAmplitude)/100) / animspeed; //delta=%.2f move body to y-axis (((([0.000218] *MOVESCALE)/100) *animAmplitude)/100) speed (((([16.544859] *MOVESCALE)/100) *animAmplitude)/100) / animspeed; //delta=%.2f - turn body to z-axis ((<3.0> *animAmplitude)/100) speed ((<59.999993> *animAmplitude)/100) / animspeed; //delta=%.2f + turn body to z-axis ((<3.000000> *animAmplitude)/100) speed ((<59.999993> *animAmplitude)/100) / animspeed; //delta=%.2f turn body to y-axis ((<-3.245854> *animAmplitude)/100) speed ((<93.141903> *animAmplitude)/100) / animspeed; //delta=%.2f turn head to x-axis ((<2.900000> *animAmplitude)/100) speed ((<11.999994> *animAmplitude)/100) / animspeed; //delta=%.2f turn head to y-axis ((<-4.099999> *animAmplitude)/100) speed ((<122.999985> *animAmplitude)/100) / animspeed; //delta=%.2f @@ -293,36 +293,36 @@ Walk() {// For N:\animations\Raptors\raptor_2legged_fast_anim_walk_v2.blend Crea } } } -// Call this from StopMoving()! +// Call this from MotionControl()! StopWalking() { animSpeed = MOVESPEED * 5; // tune restore speed here, higher values are slower restore speeds - move body to x-axis ([0.0]*MOVESCALE)/100 speed (([51.039177]*MOVESCALE)/100) / animSpeed; - move body to y-axis ([0.0]*MOVESCALE)/100 speed (([138.452870]*MOVESCALE)/100) / animSpeed; - move body to z-axis ([0.0]*MOVESCALE)/100 speed (([129.708970]*MOVESCALE)/100) / animSpeed; - turn body to y-axis <0.0> speed <176.405134> / animSpeed; - turn body to z-axis <0.0> speed <150.0> / animSpeed; - turn head to x-axis <0.0> speed <454.999946> / animSpeed; - turn head to y-axis <0.0> speed <244.999995> / animSpeed; + move body to x-axis ([0.000000]*MOVESCALE)/100 speed (([51.039177]*MOVESCALE)/100) / animSpeed; + move body to y-axis ([0.000000]*MOVESCALE)/100 speed (([138.452870]*MOVESCALE)/100) / animSpeed; + move body to z-axis ([0.000000]*MOVESCALE)/100 speed (([129.708970]*MOVESCALE)/100) / animSpeed; + turn body to y-axis <0.000000> speed <176.405134> / animSpeed; + turn body to z-axis <0.000000> speed <150.000004> / animSpeed; + turn head to x-axis <0.000000> speed <454.999946> / animSpeed; + turn head to y-axis <0.000000> speed <244.999995> / animSpeed; turn lfoot to x-axis <3.637960> speed <2701.829669> / animSpeed; - turn lfoot to y-axis <0.0> speed <165.256971> / animSpeed; - turn lfoot to z-axis <0.0> speed <296.841664> / animSpeed; + turn lfoot to y-axis <0.000000> speed <165.256971> / animSpeed; + turn lfoot to z-axis <0.000000> speed <296.841664> / animSpeed; turn lknee to x-axis <-1.091820> speed <2505.543309> / animSpeed; turn lshin to x-axis <-5.521617> speed <2221.875318> / animSpeed; turn lthigh to x-axis <3.135603> speed <2383.487722> / animSpeed; - turn lthigh to y-axis <0.0> speed <173.459249> / animSpeed; - turn lthigh to z-axis <0.0> speed <345.944343> / animSpeed; - turn LUHAND to z-axis <0.0> speed <554.999956> / animSpeed; - turn LLHAND to z-axis <0.0> speed <554.999956> / animSpeed; - turn rfoot to x-axis <0.0> speed <2553.585672> / animSpeed; - turn rfoot to y-axis <0.0> speed <126.031366> / animSpeed; - turn rfoot to z-axis <0.0> speed <294.788398> / animSpeed; - turn rknee to x-axis <0.0> speed <2155.678192> / animSpeed; - turn rshin to x-axis <0.0> speed <2194.200747> / animSpeed; - turn rthigh to x-axis <0.0> speed <2340.341225> / animSpeed; - turn rthigh to y-axis <0.0> speed <122.984130> / animSpeed; - turn rthigh to z-axis <0.0> speed <343.316438> / animSpeed; - turn RLHAND to z-axis <0.0> speed <554.999956> / animSpeed; - turn RUHAND to z-axis <0.0> speed <554.999956> / animSpeed; - turn tail to x-axis <0.0> speed <814.999954> / animSpeed; - turn tail to y-axis <0.0> speed <434.999978> / animSpeed; + turn lthigh to y-axis <0.000000> speed <173.459249> / animSpeed; + turn lthigh to z-axis <0.000000> speed <345.944343> / animSpeed; + turn LUHAND to z-axis <0.000000> speed <554.999956> / animSpeed; + turn LLHAND to z-axis <0.000000> speed <554.999956> / animSpeed; + turn rfoot to x-axis <0.000000> speed <2553.585672> / animSpeed; + turn rfoot to y-axis <0.000000> speed <126.031366> / animSpeed; + turn rfoot to z-axis <0.000000> speed <294.788398> / animSpeed; + turn rknee to x-axis <0.000000> speed <2155.678192> / animSpeed; + turn rshin to x-axis <0.000000> speed <2194.200747> / animSpeed; + turn rthigh to x-axis <0.000000> speed <2340.341225> / animSpeed; + turn rthigh to y-axis <0.000000> speed <122.984130> / animSpeed; + turn rthigh to z-axis <0.000000> speed <343.316438> / animSpeed; + turn RLHAND to z-axis <0.000000> speed <554.999956> / animSpeed; + turn RUHAND to z-axis <0.000000> speed <554.999956> / animSpeed; + turn tail to x-axis <0.000000> speed <814.999954> / animSpeed; + turn tail to y-axis <0.000000> speed <434.999978> / animSpeed; } \ No newline at end of file diff --git a/scripts/Raptors/raptor_walk_2legged_v2.h b/scripts/Raptors/raptor_walk_2legged_v2.h index e1876114e8f..a03408269ba 100644 --- a/scripts/Raptors/raptor_walk_2legged_v2.h +++ b/scripts/Raptors/raptor_walk_2legged_v2.h @@ -10,12 +10,12 @@ //#define RUHAND rsack //#define LLHAND lsack //define these as the left and right head thingies //#define RLHAND rsack -//#define SIGNAL_MOVE 1 +//#define SIG_WALK 64 //these defines are needed before includes! Walk() {// For N:\animations\Raptors\raptor_walk_remaster_v2.blend Created by https://github.com/Beherith/Skeletor_S3O V((0, 3, 5)) - set-signal-mask SIGNAL_MOVE; - if (isMoving) { //Frame:6 + set-signal-mask SIG_WALK; + if (bMoving) { //Frame:6 move body to x-axis (((([-2.055556] *MOVESCALE)/100) *animAmplitude)/100) speed (((([61.666667] *MOVESCALE)/100) *animAmplitude)/100) / animSpeed; //delta=-2.06 move body to y-axis (((([3.468679] *MOVESCALE)/100) *animAmplitude)/100) speed (((([104.060361] *MOVESCALE)/100) *animAmplitude)/100) / animSpeed; //delta=3.47 turn body to x-axis ((<0.453704> *animAmplitude)/100) speed ((<13.611109> *animAmplitude)/100) / animSpeed; //delta=-0.45 @@ -41,18 +41,18 @@ Walk() {// For N:\animations\Raptors\raptor_walk_remaster_v2.blend Created by ht turn rthigh to y-axis ((<-1.181967> *animAmplitude)/100) speed ((<35.459017> *animAmplitude)/100) / animSpeed; //delta=-1.18 turn RUHAND to z-axis ((<4.102677> *animAmplitude)/100) speed ((<123.080308> *animAmplitude)/100) / animSpeed; //delta=-4.10 turn RLHAND to z-axis ((<4.102677> *animAmplitude)/100) speed ((<123.080308> *animAmplitude)/100) / animSpeed; //delta=-4.10 - turn tail to x-axis ((<-2.0> *animAmplitude)/100) speed ((<60.0> *animAmplitude)/100) / animSpeed; //delta=2.00 + turn tail to x-axis ((<-2.000000> *animAmplitude)/100) speed ((<60.000000> *animAmplitude)/100) / animSpeed; //delta=2.00 turn tail to y-axis ((<11.292191> *animAmplitude)/100) speed ((<338.765737> *animAmplitude)/100) / animSpeed; //delta=11.29 sleep ((33*animSpeed) -1); } - while(isMoving) { - if (isMoving) { //Frame:12 + while(bMoving) { + if (bMoving) { //Frame:12 //call-script lua_UnitScriptDecal(1, (get PIECE_XZ(lfoot) & 0xffff0000) / 0x00010000 , (get PIECE_XZ(lfoot) & 0x0000ffff), get HEADING(0)); move body to x-axis (((([-4.111111] *MOVESCALE)/100) *animAmplitude)/100) speed (((([61.666667] *MOVESCALE)/100) *animAmplitude)/100) / animSpeed; //delta=-2.06 - move body to z-axis (((([1.0] *MOVESCALE)/100) *animAmplitude)/100) speed (((([30.0] *MOVESCALE)/100) *animAmplitude)/100) / animSpeed; //delta=1.00 + move body to z-axis (((([1.000000] *MOVESCALE)/100) *animAmplitude)/100) speed (((([30.000000] *MOVESCALE)/100) *animAmplitude)/100) / animSpeed; //delta=1.00 move body to y-axis (((([2.098039] *MOVESCALE)/100) *animAmplitude)/100) speed (((([41.119187] *MOVESCALE)/100) *animAmplitude)/100) / animSpeed; //delta=-1.37 turn body to x-axis ((<1.462963> *animAmplitude)/100) speed ((<30.277778> *animAmplitude)/100) / animSpeed; //delta=-1.01 - turn body to z-axis ((<-0.0> *animAmplitude)/100) speed ((<146.354007> *animAmplitude)/100) / animSpeed; //delta=4.88 + turn body to z-axis ((<-0.000000> *animAmplitude)/100) speed ((<146.354007> *animAmplitude)/100) / animSpeed; //delta=4.88 turn head to y-axis ((<-8.585334> *animAmplitude)/100) speed ((<81.763691> *animAmplitude)/100) / animSpeed; //delta=-2.73 turn lfoot to x-axis ((<-21.861574> *animAmplitude)/100) speed ((<281.381186> *animAmplitude)/100) / animSpeed; //delta=-9.38 turn lfoot to z-axis ((<-7.791813> *animAmplitude)/100) speed ((<50.667859> *animAmplitude)/100) / animSpeed; //delta=1.69 @@ -80,13 +80,13 @@ Walk() {// For N:\animations\Raptors\raptor_walk_remaster_v2.blend Created by ht turn rthigh to y-axis ((<-0.583955> *animAmplitude)/100) speed ((<17.940364> *animAmplitude)/100) / animSpeed; //delta=0.60 turn RLHAND to z-axis ((<0.396441> *animAmplitude)/100) speed ((<111.187092> *animAmplitude)/100) / animSpeed; //delta=3.71 turn RUHAND to z-axis ((<0.396441> *animAmplitude)/100) speed ((<111.187092> *animAmplitude)/100) / animSpeed; //delta=3.71 - turn tail to x-axis ((<5.0> *animAmplitude)/100) speed ((<209.999995> *animAmplitude)/100) / animSpeed; //delta=-7.00 + turn tail to x-axis ((<5.000000> *animAmplitude)/100) speed ((<209.999995> *animAmplitude)/100) / animSpeed; //delta=-7.00 turn tail to y-axis ((<16.544243> *animAmplitude)/100) speed ((<157.561553> *animAmplitude)/100) / animSpeed; //delta=5.25 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:18 + if (bMoving) { //Frame:18 move body to x-axis (((([-3.433333] *MOVESCALE)/100) *animAmplitude)/100) speed (((([20.333333] *MOVESCALE)/100) *animAmplitude)/100) / animSpeed; //delta=0.68 - move body to z-axis (((([0.0] *MOVESCALE)/100) *animAmplitude)/100) speed (((([30.0] *MOVESCALE)/100) *animAmplitude)/100) / animSpeed; //delta=-1.00 + move body to z-axis (((([0.000000] *MOVESCALE)/100) *animAmplitude)/100) speed (((([30.000000] *MOVESCALE)/100) *animAmplitude)/100) / animSpeed; //delta=-1.00 move body to y-axis (((([-3.468679] *MOVESCALE)/100) *animAmplitude)/100) speed (((([167.001536] *MOVESCALE)/100) *animAmplitude)/100) / animSpeed; //delta=-5.57 turn body to x-axis ((<2.816049> *animAmplitude)/100) speed ((<40.592570> *animAmplitude)/100) / animSpeed; //delta=-1.35 turn body to z-axis ((<-4.878467> *animAmplitude)/100) speed ((<146.354007> *animAmplitude)/100) / animSpeed; //delta=4.88 @@ -100,8 +100,8 @@ Walk() {// For N:\animations\Raptors\raptor_walk_remaster_v2.blend Created by ht turn lshin to x-axis ((<4.679953> *animAmplitude)/100) speed ((<1256.474351> *animAmplitude)/100) / animSpeed; //delta=41.88 turn lshin to z-axis ((<0.004816> *animAmplitude)/100) speed ((<17.310761> *animAmplitude)/100) / animSpeed; //delta=0.58 turn lshin to y-axis ((<-0.001056> *animAmplitude)/100) speed ((<12.173444> *animAmplitude)/100) / animSpeed; //delta=0.41 - turn lthigh to x-axis ((<-0.0> *animAmplitude)/100) speed ((<29.700000> *animAmplitude)/100) / animSpeed; //delta=-0.99 - turn lthigh to x-axis ((<-0.0> *animAmplitude)/100) speed ((<12.111430> *animAmplitude)/100) / animSpeed; //delta=-0.40 + turn lthigh to x-axis ((<-0.000000> *animAmplitude)/100) speed ((<29.700000> *animAmplitude)/100) / animSpeed; //delta=-0.99 + turn lthigh to x-axis ((<-0.000000> *animAmplitude)/100) speed ((<12.111430> *animAmplitude)/100) / animSpeed; //delta=-0.40 turn lthigh to x-axis ((<33.883254> *animAmplitude)/100) speed ((<1528.301784> *animAmplitude)/100) / animSpeed; //delta=50.94 turn lthigh to z-axis ((<12.996131> *animAmplitude)/100) speed ((<273.397753> *animAmplitude)/100) / animSpeed; //delta=-9.11 turn lthigh to y-axis ((<-3.815288> *animAmplitude)/100) speed ((<234.767424> *animAmplitude)/100) / animSpeed; //delta=-7.83 @@ -117,18 +117,18 @@ Walk() {// For N:\animations\Raptors\raptor_walk_remaster_v2.blend Created by ht turn rthigh to y-axis ((<1.053385> *animAmplitude)/100) speed ((<49.120189> *animAmplitude)/100) / animSpeed; //delta=1.64 turn RLHAND to z-axis ((<-7.016032> *animAmplitude)/100) speed ((<222.374182> *animAmplitude)/100) / animSpeed; //delta=7.41 turn RUHAND to z-axis ((<-7.016032> *animAmplitude)/100) speed ((<222.374182> *animAmplitude)/100) / animSpeed; //delta=7.41 - turn tail to x-axis ((<-8.0> *animAmplitude)/100) speed ((<389.999994> *animAmplitude)/100) / animSpeed; //delta=13.00 + turn tail to x-axis ((<-8.000000> *animAmplitude)/100) speed ((<389.999994> *animAmplitude)/100) / animSpeed; //delta=13.00 turn tail to y-axis ((<11.292191> *animAmplitude)/100) speed ((<157.561553> *animAmplitude)/100) / animSpeed; //delta=-5.25 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:24 + if (bMoving) { //Frame:24 move body to x-axis (((([0.102778] *MOVESCALE)/100) *animAmplitude)/100) speed (((([106.083333] *MOVESCALE)/100) *animAmplitude)/100) / animSpeed; //delta=3.54 - move body to z-axis (((([-1.0] *MOVESCALE)/100) *animAmplitude)/100) speed (((([30.0] *MOVESCALE)/100) *animAmplitude)/100) / animSpeed; //delta=-1.00 + move body to z-axis (((([-1.000000] *MOVESCALE)/100) *animAmplitude)/100) speed (((([30.000000] *MOVESCALE)/100) *animAmplitude)/100) / animSpeed; //delta=-1.00 move body to y-axis (((([-1.775264] *MOVESCALE)/100) *animAmplitude)/100) speed (((([50.802444] *MOVESCALE)/100) *animAmplitude)/100) / animSpeed; //delta=1.69 turn body to x-axis ((<1.444444> *animAmplitude)/100) speed ((<41.148124> *animAmplitude)/100) / animSpeed; //delta=1.37 turn body to z-axis ((<-7.317701> *animAmplitude)/100) speed ((<73.177016> *animAmplitude)/100) / animSpeed; //delta=2.44 turn head to x-axis ((<1.312619> *animAmplitude)/100) speed ((<54.145550> *animAmplitude)/100) / animSpeed; //delta=1.80 - turn head to y-axis ((<0.0> *animAmplitude)/100) speed ((<175.796339> *animAmplitude)/100) / animSpeed; //delta=5.86 + turn head to y-axis ((<0.000000> *animAmplitude)/100) speed ((<175.796339> *animAmplitude)/100) / animSpeed; //delta=5.86 turn lfoot to x-axis ((<-0.843251> *animAmplitude)/100) speed ((<1060.584612> *animAmplitude)/100) / animSpeed; //delta=-35.35 turn lfoot to z-axis ((<0.689679> *animAmplitude)/100) speed ((<255.047251> *animAmplitude)/100) / animSpeed; //delta=-8.50 turn lfoot to y-axis ((<0.369165> *animAmplitude)/100) speed ((<69.436830> *animAmplitude)/100) / animSpeed; //delta=2.31 @@ -149,17 +149,17 @@ Walk() {// For N:\animations\Raptors\raptor_walk_remaster_v2.blend Created by ht turn rthigh to y-axis ((<0.490890> *animAmplitude)/100) speed ((<16.874821> *animAmplitude)/100) / animSpeed; //delta=-0.56 turn RLHAND to z-axis ((<0.396441> *animAmplitude)/100) speed ((<222.374182> *animAmplitude)/100) / animSpeed; //delta=-7.41 turn RUHAND to z-axis ((<0.396441> *animAmplitude)/100) speed ((<222.374182> *animAmplitude)/100) / animSpeed; //delta=-7.41 - turn tail to x-axis ((<-2.0> *animAmplitude)/100) speed ((<179.999999> *animAmplitude)/100) / animSpeed; //delta=-6.00 - turn tail to y-axis ((<0.0> *animAmplitude)/100) speed ((<338.765737> *animAmplitude)/100) / animSpeed; //delta=-11.29 + turn tail to x-axis ((<-2.000000> *animAmplitude)/100) speed ((<179.999999> *animAmplitude)/100) / animSpeed; //delta=-6.00 + turn tail to y-axis ((<0.000000> *animAmplitude)/100) speed ((<338.765737> *animAmplitude)/100) / animSpeed; //delta=-11.29 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:30 + if (bMoving) { //Frame:30 move body to x-axis (((([2.775000] *MOVESCALE)/100) *animAmplitude)/100) speed (((([80.166671] *MOVESCALE)/100) *animAmplitude)/100) / animSpeed; //delta=2.67 - move body to z-axis (((([0.0] *MOVESCALE)/100) *animAmplitude)/100) speed (((([30.0] *MOVESCALE)/100) *animAmplitude)/100) / animSpeed; //delta=1.00 + move body to z-axis (((([0.000000] *MOVESCALE)/100) *animAmplitude)/100) speed (((([30.000000] *MOVESCALE)/100) *animAmplitude)/100) / animSpeed; //delta=1.00 move body to y-axis (((([3.468679] *MOVESCALE)/100) *animAmplitude)/100) speed (((([157.318279] *MOVESCALE)/100) *animAmplitude)/100) / animSpeed; //delta=5.24 - turn body to x-axis ((<0.444444> *animAmplitude)/100) speed ((<30.0> *animAmplitude)/100) / animSpeed; //delta=1.00 + turn body to x-axis ((<0.444444> *animAmplitude)/100) speed ((<30.000001> *animAmplitude)/100) / animSpeed; //delta=1.00 turn body to z-axis ((<-4.878467> *animAmplitude)/100) speed ((<73.177016> *animAmplitude)/100) / animSpeed; //delta=-2.44 - turn head to x-axis ((<-0.0> *animAmplitude)/100) speed ((<39.378581> *animAmplitude)/100) / animSpeed; //delta=1.31 + turn head to x-axis ((<-0.000000> *animAmplitude)/100) speed ((<39.378581> *animAmplitude)/100) / animSpeed; //delta=1.31 turn head to y-axis ((<5.518260> *animAmplitude)/100) speed ((<165.547803> *animAmplitude)/100) / animSpeed; //delta=5.52 turn lfoot to x-axis ((<31.102144> *animAmplitude)/100) speed ((<958.361865> *animAmplitude)/100) / animSpeed; //delta=-31.95 turn lfoot to z-axis ((<2.472932> *animAmplitude)/100) speed ((<53.497601> *animAmplitude)/100) / animSpeed; //delta=-1.78 @@ -181,17 +181,17 @@ Walk() {// For N:\animations\Raptors\raptor_walk_remaster_v2.blend Created by ht turn rthigh to y-axis ((<1.560222> *animAmplitude)/100) speed ((<32.079959> *animAmplitude)/100) / animSpeed; //delta=1.07 turn RLHAND to z-axis ((<4.102677> *animAmplitude)/100) speed ((<111.187092> *animAmplitude)/100) / animSpeed; //delta=-3.71 turn RUHAND to z-axis ((<4.102677> *animAmplitude)/100) speed ((<111.187092> *animAmplitude)/100) / animSpeed; //delta=-3.71 - turn tail to x-axis ((<-0.0> *animAmplitude)/100) speed ((<60.0> *animAmplitude)/100) / animSpeed; //delta=-2.00 + turn tail to x-axis ((<-0.000000> *animAmplitude)/100) speed ((<60.000000> *animAmplitude)/100) / animSpeed; //delta=-2.00 turn tail to y-axis ((<-10.633881> *animAmplitude)/100) speed ((<319.016442> *animAmplitude)/100) / animSpeed; //delta=-10.63 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:36 + if (bMoving) { //Frame:36 //call-script lua_UnitScriptDecal(2, (get PIECE_XZ(rfoot) & 0xffff0000) / 0x00010000 , (get PIECE_XZ(rfoot) & 0x0000ffff), get HEADING(0)); move body to x-axis (((([4.111111] *MOVESCALE)/100) *animAmplitude)/100) speed (((([40.083332] *MOVESCALE)/100) *animAmplitude)/100) / animSpeed; //delta=1.34 - move body to z-axis (((([1.0] *MOVESCALE)/100) *animAmplitude)/100) speed (((([30.0] *MOVESCALE)/100) *animAmplitude)/100) / animSpeed; //delta=1.00 + move body to z-axis (((([1.000000] *MOVESCALE)/100) *animAmplitude)/100) speed (((([30.000000] *MOVESCALE)/100) *animAmplitude)/100) / animSpeed; //delta=1.00 move body to y-axis (((([1.936651] *MOVESCALE)/100) *animAmplitude)/100) speed (((([45.960817] *MOVESCALE)/100) *animAmplitude)/100) / animSpeed; //delta=-1.53 turn body to x-axis ((<2.222223> *animAmplitude)/100) speed ((<53.333350> *animAmplitude)/100) / animSpeed; //delta=-1.78 - turn body to z-axis ((<-0.0> *animAmplitude)/100) speed ((<146.354007> *animAmplitude)/100) / animSpeed; //delta=-4.88 + turn body to z-axis ((<-0.000000> *animAmplitude)/100) speed ((<146.354007> *animAmplitude)/100) / animSpeed; //delta=-4.88 turn head to y-axis ((<8.585334> *animAmplitude)/100) speed ((<92.012227> *animAmplitude)/100) / animSpeed; //delta=3.07 turn lfoot to x-axis ((<13.977338> *animAmplitude)/100) speed ((<513.744196> *animAmplitude)/100) / animSpeed; //delta=17.12 turn lfoot to z-axis ((<1.650734> *animAmplitude)/100) speed ((<24.665940> *animAmplitude)/100) / animSpeed; //delta=0.82 @@ -219,15 +219,15 @@ Walk() {// For N:\animations\Raptors\raptor_walk_remaster_v2.blend Created by ht turn rthigh to y-axis ((<-4.547011> *animAmplitude)/100) speed ((<183.216992> *animAmplitude)/100) / animSpeed; //delta=-6.11 turn RLHAND to z-axis ((<7.808913> *animAmplitude)/100) speed ((<111.187096> *animAmplitude)/100) / animSpeed; //delta=-3.71 turn RUHAND to z-axis ((<7.808913> *animAmplitude)/100) speed ((<111.187096> *animAmplitude)/100) / animSpeed; //delta=-3.71 - turn tail to x-axis ((<5.0> *animAmplitude)/100) speed ((<149.999996> *animAmplitude)/100) / animSpeed; //delta=-5.00 + turn tail to x-axis ((<5.000000> *animAmplitude)/100) speed ((<149.999996> *animAmplitude)/100) / animSpeed; //delta=-5.00 turn tail to y-axis ((<-16.544243> *animAmplitude)/100) speed ((<177.310849> *animAmplitude)/100) / animSpeed; //delta=-5.91 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:42 - move body to x-axis (((([2.877778] *MOVESCALE)/100) *animAmplitude)/100) speed (((([37.0] *MOVESCALE)/100) *animAmplitude)/100) / animSpeed; //delta=-1.23 - move body to z-axis (((([0.0] *MOVESCALE)/100) *animAmplitude)/100) speed (((([30.0] *MOVESCALE)/100) *animAmplitude)/100) / animSpeed; //delta=-1.00 + if (bMoving) { //Frame:42 + move body to x-axis (((([2.877778] *MOVESCALE)/100) *animAmplitude)/100) speed (((([37.000000] *MOVESCALE)/100) *animAmplitude)/100) / animSpeed; //delta=-1.23 + move body to z-axis (((([0.000000] *MOVESCALE)/100) *animAmplitude)/100) speed (((([30.000000] *MOVESCALE)/100) *animAmplitude)/100) / animSpeed; //delta=-1.00 move body to y-axis (((([-3.468679] *MOVESCALE)/100) *animAmplitude)/100) speed (((([162.159905] *MOVESCALE)/100) *animAmplitude)/100) / animSpeed; //delta=-5.41 - turn body to x-axis ((<3.0> *animAmplitude)/100) speed ((<23.333320> *animAmplitude)/100) / animSpeed; //delta=-0.78 + turn body to x-axis ((<3.000000> *animAmplitude)/100) speed ((<23.333320> *animAmplitude)/100) / animSpeed; //delta=-0.78 turn body to z-axis ((<4.878467> *animAmplitude)/100) speed ((<146.354007> *animAmplitude)/100) / animSpeed; //delta=-4.88 turn head to x-axis ((<2.953393> *animAmplitude)/100) speed ((<88.601803> *animAmplitude)/100) / animSpeed; //delta=-2.95 turn head to y-axis ((<5.518260> *animAmplitude)/100) speed ((<92.012227> *animAmplitude)/100) / animSpeed; //delta=-3.07 @@ -250,25 +250,25 @@ Walk() {// For N:\animations\Raptors\raptor_walk_remaster_v2.blend Created by ht turn rshin to x-axis ((<4.515720> *animAmplitude)/100) speed ((<1234.256659> *animAmplitude)/100) / animSpeed; //delta=41.14 turn rshin to z-axis ((<-0.004625> *animAmplitude)/100) speed ((<16.577786> *animAmplitude)/100) / animSpeed; //delta=-0.55 turn rshin to y-axis ((<0.001053> *animAmplitude)/100) speed ((<11.504297> *animAmplitude)/100) / animSpeed; //delta=-0.38 - turn rthigh to x-axis ((<-0.0> *animAmplitude)/100) speed ((<29.700000> *animAmplitude)/100) / animSpeed; //delta=-0.99 - turn rthigh to x-axis ((<-0.0> *animAmplitude)/100) speed ((<10.684285> *animAmplitude)/100) / animSpeed; //delta=-0.36 + turn rthigh to x-axis ((<-0.000000> *animAmplitude)/100) speed ((<29.700000> *animAmplitude)/100) / animSpeed; //delta=-0.99 + turn rthigh to x-axis ((<-0.000000> *animAmplitude)/100) speed ((<10.684285> *animAmplitude)/100) / animSpeed; //delta=-0.36 turn rthigh to x-axis ((<33.711123> *animAmplitude)/100) speed ((<1506.623481> *animAmplitude)/100) / animSpeed; //delta=50.22 turn rthigh to z-axis ((<-11.888106> *animAmplitude)/100) speed ((<253.781467> *animAmplitude)/100) / animSpeed; //delta=8.46 turn rthigh to y-axis ((<3.515142> *animAmplitude)/100) speed ((<241.864589> *animAmplitude)/100) / animSpeed; //delta=8.06 turn RLHAND to z-axis ((<-7.016032> *animAmplitude)/100) speed ((<444.748370> *animAmplitude)/100) / animSpeed; //delta=14.82 turn RUHAND to z-axis ((<-7.016032> *animAmplitude)/100) speed ((<444.748370> *animAmplitude)/100) / animSpeed; //delta=14.82 - turn tail to x-axis ((<-8.0> *animAmplitude)/100) speed ((<389.999994> *animAmplitude)/100) / animSpeed; //delta=13.00 + turn tail to x-axis ((<-8.000000> *animAmplitude)/100) speed ((<389.999994> *animAmplitude)/100) / animSpeed; //delta=13.00 turn tail to y-axis ((<-10.633881> *animAmplitude)/100) speed ((<177.310849> *animAmplitude)/100) / animSpeed; //delta=5.91 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:48 + if (bMoving) { //Frame:48 move body to x-axis (((([-0.205555] *MOVESCALE)/100) *animAmplitude)/100) speed (((([92.499998] *MOVESCALE)/100) *animAmplitude)/100) / animSpeed; //delta=-3.08 - move body to z-axis (((([-1.0] *MOVESCALE)/100) *animAmplitude)/100) speed (((([30.0] *MOVESCALE)/100) *animAmplitude)/100) / animSpeed; //delta=-1.00 + move body to z-axis (((([-1.000000] *MOVESCALE)/100) *animAmplitude)/100) speed (((([30.000000] *MOVESCALE)/100) *animAmplitude)/100) / animSpeed; //delta=-1.00 move body to y-axis (((([-2.259427] *MOVESCALE)/100) *animAmplitude)/100) speed (((([36.277556] *MOVESCALE)/100) *animAmplitude)/100) / animSpeed; //delta=1.21 - turn body to x-axis ((<1.666667> *animAmplitude)/100) speed ((<40.0> *animAmplitude)/100) / animSpeed; //delta=1.33 + turn body to x-axis ((<1.666667> *animAmplitude)/100) speed ((<40.000005> *animAmplitude)/100) / animSpeed; //delta=1.33 turn body to z-axis ((<7.317701> *animAmplitude)/100) speed ((<73.177016> *animAmplitude)/100) / animSpeed; //delta=-2.44 turn head to x-axis ((<1.148542> *animAmplitude)/100) speed ((<54.145547> *animAmplitude)/100) / animSpeed; //delta=1.80 - turn head to y-axis ((<0.0> *animAmplitude)/100) speed ((<165.547803> *animAmplitude)/100) / animSpeed; //delta=-5.52 + turn head to y-axis ((<0.000000> *animAmplitude)/100) speed ((<165.547803> *animAmplitude)/100) / animSpeed; //delta=-5.52 turn lfoot to x-axis ((<0.058231> *animAmplitude)/100) speed ((<1139.029043> *animAmplitude)/100) / animSpeed; //delta=37.97 turn lfoot to z-axis ((<-4.823758> *animAmplitude)/100) speed ((<146.693392> *animAmplitude)/100) / animSpeed; //delta=4.89 turn lfoot to y-axis ((<-0.093912> *animAmplitude)/100) speed ((<41.488969> *animAmplitude)/100) / animSpeed; //delta=1.38 @@ -289,17 +289,17 @@ Walk() {// For N:\animations\Raptors\raptor_walk_remaster_v2.blend Created by ht turn rthigh to y-axis ((<-1.349493> *animAmplitude)/100) speed ((<145.939069> *animAmplitude)/100) / animSpeed; //delta=-4.86 turn RLHAND to z-axis ((<0.396441> *animAmplitude)/100) speed ((<222.374182> *animAmplitude)/100) / animSpeed; //delta=-7.41 turn RUHAND to z-axis ((<0.396441> *animAmplitude)/100) speed ((<222.374182> *animAmplitude)/100) / animSpeed; //delta=-7.41 - turn tail to x-axis ((<-6.0> *animAmplitude)/100) speed ((<59.999993> *animAmplitude)/100) / animSpeed; //delta=-2.00 - turn tail to y-axis ((<0.0> *animAmplitude)/100) speed ((<319.016442> *animAmplitude)/100) / animSpeed; //delta=10.63 + turn tail to x-axis ((<-6.000000> *animAmplitude)/100) speed ((<59.999993> *animAmplitude)/100) / animSpeed; //delta=-2.00 + turn tail to y-axis ((<0.000000> *animAmplitude)/100) speed ((<319.016442> *animAmplitude)/100) / animSpeed; //delta=10.63 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:54 + if (bMoving) { //Frame:54 move body to x-axis (((([-2.466667] *MOVESCALE)/100) *animAmplitude)/100) speed (((([67.833338] *MOVESCALE)/100) *animAmplitude)/100) / animSpeed; //delta=-2.26 - move body to z-axis (((([0.0] *MOVESCALE)/100) *animAmplitude)/100) speed (((([30.0] *MOVESCALE)/100) *animAmplitude)/100) / animSpeed; //delta=1.00 + move body to z-axis (((([0.000000] *MOVESCALE)/100) *animAmplitude)/100) speed (((([30.000000] *MOVESCALE)/100) *animAmplitude)/100) / animSpeed; //delta=1.00 move body to y-axis (((([3.468679] *MOVESCALE)/100) *animAmplitude)/100) speed (((([171.843166] *MOVESCALE)/100) *animAmplitude)/100) / animSpeed; //delta=5.73 turn body to x-axis ((<0.555556> *animAmplitude)/100) speed ((<33.333330> *animAmplitude)/100) / animSpeed; //delta=1.11 turn body to z-axis ((<4.878467> *animAmplitude)/100) speed ((<73.177016> *animAmplitude)/100) / animSpeed; //delta=2.44 - turn head to x-axis ((<-0.0> *animAmplitude)/100) speed ((<34.456256> *animAmplitude)/100) / animSpeed; //delta=1.15 + turn head to x-axis ((<-0.000000> *animAmplitude)/100) speed ((<34.456256> *animAmplitude)/100) / animSpeed; //delta=1.15 turn head to y-axis ((<-6.868268> *animAmplitude)/100) speed ((<206.048037> *animAmplitude)/100) / animSpeed; //delta=-6.87 turn lfoot to x-axis ((<-31.194130> *animAmplitude)/100) speed ((<937.570821> *animAmplitude)/100) / animSpeed; //delta=31.25 turn lfoot to z-axis ((<-6.685563> *animAmplitude)/100) speed ((<55.854149> *animAmplitude)/100) / animSpeed; //delta=1.86 @@ -321,51 +321,51 @@ Walk() {// For N:\animations\Raptors\raptor_walk_remaster_v2.blend Created by ht turn rthigh to y-axis ((<-1.064668> *animAmplitude)/100) speed ((<8.544756> *animAmplitude)/100) / animSpeed; //delta=0.28 turn RLHAND to z-axis ((<4.102677> *animAmplitude)/100) speed ((<111.187092> *animAmplitude)/100) / animSpeed; //delta=-3.71 turn RUHAND to z-axis ((<4.102677> *animAmplitude)/100) speed ((<111.187092> *animAmplitude)/100) / animSpeed; //delta=-3.71 - turn tail to x-axis ((<-2.0> *animAmplitude)/100) speed ((<120.0> *animAmplitude)/100) / animSpeed; //delta=-4.00 + turn tail to x-axis ((<-2.000000> *animAmplitude)/100) speed ((<120.000005> *animAmplitude)/100) / animSpeed; //delta=-4.00 turn tail to y-axis ((<13.235395> *animAmplitude)/100) speed ((<397.061837> *animAmplitude)/100) / animSpeed; //delta=13.24 sleep ((33*animSpeed) -1); } } } -// Call this from StopMoving()! +// Call this from MotionControl()! StopWalking() { animSpeed = 2*MOVESPEED; // tune restore speed here, higher values are slower restore speeds - move body to x-axis ([0.0]*MOVESCALE)/100 speed (([176.805556]*MOVESCALE)/100) / animSpeed; - move body to y-axis ([0.0]*MOVESCALE)/100 speed (([286.405277]*MOVESCALE)/100) / animSpeed; - move body to z-axis ([0.0]*MOVESCALE)/100 speed (([50.0]*MOVESCALE)/100) / animSpeed; - turn body to x-axis <0.0> speed <88.888917> / animSpeed; - turn body to y-axis <0.0> speed <88.888917> / animSpeed; - turn body to z-axis <0.0> speed <243.923344> / animSpeed; - turn head to x-axis <0.0> speed <155.873551> / animSpeed; - turn head to y-axis <0.0> speed <343.413395> / animSpeed; - turn lfoot to x-axis <0.0> speed <1898.381738> / animSpeed; - turn lfoot to y-axis <0.0> speed <351.894234> / animSpeed; - turn lfoot to z-axis <0.0> speed <425.078752> / animSpeed; - turn lknee to x-axis <0.0> speed <4575.518112> / animSpeed; - turn lknee to y-axis <0.0> speed <124.210430> / animSpeed; - turn lknee to z-axis <0.0> speed <114.701101> / animSpeed; - turn lshin to x-axis <0.0> speed <2350.246941> / animSpeed; - turn lshin to y-axis <0.0> speed <20.377837> / animSpeed; - turn lshin to z-axis <0.0> speed <29.199371> / animSpeed; - turn lthigh to x-axis <0.0> speed <2850.995964> / animSpeed; - turn lthigh to y-axis <0.0> speed <391.279041> / animSpeed; - turn lthigh to z-axis <0.0> speed <455.662922> / animSpeed; - turn LLHAND to z-axis <0.0> speed <734.727035> / animSpeed; - turn LUHAND to z-axis <0.0> speed <734.727035> / animSpeed; + move body to x-axis ([0.000000]*MOVESCALE)/100 speed (([176.805556]*MOVESCALE)/100) / animSpeed; + move body to y-axis ([0.000000]*MOVESCALE)/100 speed (([286.405277]*MOVESCALE)/100) / animSpeed; + move body to z-axis ([0.000000]*MOVESCALE)/100 speed (([50.000000]*MOVESCALE)/100) / animSpeed; + turn body to x-axis <0.000000> speed <88.888917> / animSpeed; + turn body to y-axis <0.000000> speed <88.888917> / animSpeed; + turn body to z-axis <0.000000> speed <243.923344> / animSpeed; + turn head to x-axis <0.000000> speed <155.873551> / animSpeed; + turn head to y-axis <0.000000> speed <343.413395> / animSpeed; + turn lfoot to x-axis <0.000000> speed <1898.381738> / animSpeed; + turn lfoot to y-axis <0.000000> speed <351.894234> / animSpeed; + turn lfoot to z-axis <0.000000> speed <425.078752> / animSpeed; + turn lknee to x-axis <0.000000> speed <4575.518112> / animSpeed; + turn lknee to y-axis <0.000000> speed <124.210430> / animSpeed; + turn lknee to z-axis <0.000000> speed <114.701101> / animSpeed; + turn lshin to x-axis <0.000000> speed <2350.246941> / animSpeed; + turn lshin to y-axis <0.000000> speed <20.377837> / animSpeed; + turn lshin to z-axis <0.000000> speed <29.199371> / animSpeed; + turn lthigh to x-axis <0.000000> speed <2850.995964> / animSpeed; + turn lthigh to y-axis <0.000000> speed <391.279041> / animSpeed; + turn lthigh to z-axis <0.000000> speed <455.662922> / animSpeed; + turn LLHAND to z-axis <0.000000> speed <734.727035> / animSpeed; + turn LUHAND to z-axis <0.000000> speed <734.727035> / animSpeed; turn rfoot to x-axis <0.556060> speed <1890.583744> / animSpeed; - turn rfoot to y-axis <0.0> speed <347.580387> / animSpeed; - turn rfoot to z-axis <0.0> speed <384.671225> / animSpeed; + turn rfoot to y-axis <0.000000> speed <347.580387> / animSpeed; + turn rfoot to z-axis <0.000000> speed <384.671225> / animSpeed; turn rknee to x-axis <0.285129> speed <4536.640077> / animSpeed; - turn rknee to y-axis <0.0> speed <112.475626> / animSpeed; - turn rknee to z-axis <0.0> speed <103.609043> / animSpeed; - turn rshin to x-axis <0.0> speed <2645.515560> / animSpeed; - turn rshin to y-axis <0.0> speed <19.256314> / animSpeed; - turn rshin to z-axis <0.0> speed <27.962635> / animSpeed; + turn rknee to y-axis <0.000000> speed <112.475626> / animSpeed; + turn rknee to z-axis <0.000000> speed <103.609043> / animSpeed; + turn rshin to x-axis <0.000000> speed <2645.515560> / animSpeed; + turn rshin to y-axis <0.000000> speed <19.256314> / animSpeed; + turn rshin to z-axis <0.000000> speed <27.962635> / animSpeed; turn rthigh to x-axis <-0.243776> speed <2810.196938> / animSpeed; - turn rthigh to y-axis <0.0> speed <403.107648> / animSpeed; - turn rthigh to z-axis <0.0> speed <422.969112> / animSpeed; - turn RUHAND to z-axis <0.0> speed <741.247283> / animSpeed; - turn RLHAND to z-axis <0.0> speed <741.247283> / animSpeed; - turn tail to x-axis <0.0> speed <649.999990> / animSpeed; - turn tail to y-axis <0.0> speed <661.769729> / animSpeed; + turn rthigh to y-axis <0.000000> speed <403.107648> / animSpeed; + turn rthigh to z-axis <0.000000> speed <422.969112> / animSpeed; + turn RUHAND to z-axis <0.000000> speed <741.247283> / animSpeed; + turn RLHAND to z-axis <0.000000> speed <741.247283> / animSpeed; + turn tail to x-axis <0.000000> speed <649.999990> / animSpeed; + turn tail to y-axis <0.000000> speed <661.769729> / animSpeed; } \ No newline at end of file diff --git a/scripts/Raptors/raptor_walk_6legged.h b/scripts/Raptors/raptor_walk_6legged.h index ef56379fd9f..620ba716bc2 100644 --- a/scripts/Raptors/raptor_walk_6legged.h +++ b/scripts/Raptors/raptor_walk_6legged.h @@ -7,10 +7,10 @@ //#define MOVESCALE 100 //Higher values are bigger, 100 is default //static-var animAmplitude; //Higher values are bigger, 100 is default // this animation uses the static-var animFramesPerKeyframe which contains how many frames each keyframe takes -//static-var animSpeed, maxSpeed, animFramesPerKeyframe, isMoving; +//static-var animSpeed, maxSpeed, animFramesPerKeyframe, bMoving; Walk() {// For N:\animations\Raptors\Kremenchuk\kremenraptor_ik_walk.blend Created by https://github.com/Beherith/Skeletor_S3O V((0, 3, 7)) - set-signal-mask SIGNAL_MOVE; - if (isMoving) { //Frame:6 + set-signal-mask SIG_WALK; + if (bMoving) { //Frame:6 turn foot1l to z-axis ((<-0.971251> *animAmplitude)/100) speed ((<748.423405> *animAmplitude)/100) / animSpeed; //delta=24.95 turn foot1r to z-axis ((<-44.049437> *animAmplitude)/100) speed ((<609.039448> *animAmplitude)/100) / animSpeed; //delta=20.30 turn foot2l to z-axis ((<5.346900> *animAmplitude)/100) speed ((<160.406988> *animAmplitude)/100) / animSpeed; //delta=-5.35 @@ -33,11 +33,11 @@ Walk() {// For N:\animations\Raptors\Kremenchuk\kremenraptor_ik_walk.blend Creat turn thigh3l to y-axis ((<49.004145> *animAmplitude)/100) speed ((<329.521828> *animAmplitude)/100) / animSpeed; //delta=10.98 turn thigh3r to z-axis ((<16.236265> *animAmplitude)/100) speed ((<273.729841> *animAmplitude)/100) / animSpeed; //delta=-9.12 turn thigh3r to y-axis ((<-0.069410> *animAmplitude)/100) speed ((<1043.295221> *animAmplitude)/100) / animSpeed; //delta=34.78 - turn torso to z-axis ((<-2.0> *animAmplitude)/100) speed ((<59.999993> *animAmplitude)/100) / animSpeed; //delta=2.00 + turn torso to z-axis ((<-2.000000> *animAmplitude)/100) speed ((<59.999993> *animAmplitude)/100) / animSpeed; //delta=2.00 sleep ((33*animSpeed) -1); } - while(isMoving) { - if (isMoving) { //Frame:12 + while(bMoving) { + if (bMoving) { //Frame:12 turn foot1l to z-axis ((<23.805265> *animAmplitude)/100) speed ((<743.295487> *animAmplitude)/100) / animSpeed; //delta=-24.78 turn foot1r to z-axis ((<-28.886806> *animAmplitude)/100) speed ((<454.878919> *animAmplitude)/100) / animSpeed; //delta=-15.16 turn foot2l to z-axis ((<-22.001016> *animAmplitude)/100) speed ((<820.437469> *animAmplitude)/100) / animSpeed; //delta=27.35 @@ -62,11 +62,11 @@ Walk() {// For N:\animations\Raptors\Kremenchuk\kremenraptor_ik_walk.blend Creat turn thigh3l to y-axis ((<55.835652> *animAmplitude)/100) speed ((<204.945222> *animAmplitude)/100) / animSpeed; //delta=6.83 turn thigh3r to z-axis ((<12.620379> *animAmplitude)/100) speed ((<108.476578> *animAmplitude)/100) / animSpeed; //delta=3.62 turn thigh3r to y-axis ((<-19.840318> *animAmplitude)/100) speed ((<593.127237> *animAmplitude)/100) / animSpeed; //delta=-19.77 - turn torso to x-axis ((<-1.0> *animAmplitude)/100) speed ((<30.0> *animAmplitude)/100) / animSpeed; //delta=1.00 - turn torso to z-axis ((<1.0> *animAmplitude)/100) speed ((<89.999990> *animAmplitude)/100) / animSpeed; //delta=-3.00 + turn torso to x-axis ((<-1.000000> *animAmplitude)/100) speed ((<30.000000> *animAmplitude)/100) / animSpeed; //delta=1.00 + turn torso to z-axis ((<1.000000> *animAmplitude)/100) speed ((<89.999990> *animAmplitude)/100) / animSpeed; //delta=-3.00 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:18 + if (bMoving) { //Frame:18 turn foot1l to z-axis ((<39.391156> *animAmplitude)/100) speed ((<467.576719> *animAmplitude)/100) / animSpeed; //delta=-15.59 turn foot1r to z-axis ((<43.847588> *animAmplitude)/100) speed ((<2182.031826> *animAmplitude)/100) / animSpeed; //delta=-72.73 turn foot2l to z-axis ((<-5.048070> *animAmplitude)/100) speed ((<508.588372> *animAmplitude)/100) / animSpeed; //delta=-16.95 @@ -91,11 +91,11 @@ Walk() {// For N:\animations\Raptors\Kremenchuk\kremenraptor_ik_walk.blend Creat turn thigh3l to y-axis ((<37.988713> *animAmplitude)/100) speed ((<535.408181> *animAmplitude)/100) / animSpeed; //delta=-17.85 turn thigh3r to z-axis ((<7.006146> *animAmplitude)/100) speed ((<168.426997> *animAmplitude)/100) / animSpeed; //delta=5.61 turn thigh3r to y-axis ((<-34.267302> *animAmplitude)/100) speed ((<432.809502> *animAmplitude)/100) / animSpeed; //delta=-14.43 - turn torso to x-axis ((<1.0> *animAmplitude)/100) speed ((<60.0> *animAmplitude)/100) / animSpeed; //delta=-2.00 - turn torso to z-axis ((<-1.0> *animAmplitude)/100) speed ((<59.999996> *animAmplitude)/100) / animSpeed; //delta=2.00 + turn torso to x-axis ((<1.000000> *animAmplitude)/100) speed ((<60.000000> *animAmplitude)/100) / animSpeed; //delta=-2.00 + turn torso to z-axis ((<-1.000000> *animAmplitude)/100) speed ((<59.999996> *animAmplitude)/100) / animSpeed; //delta=2.00 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:24 + if (bMoving) { //Frame:24 turn foot1l to z-axis ((<44.381015> *animAmplitude)/100) speed ((<149.695788> *animAmplitude)/100) / animSpeed; //delta=-4.99 turn foot1r to z-axis ((<1.041741> *animAmplitude)/100) speed ((<1284.175405> *animAmplitude)/100) / animSpeed; //delta=42.81 turn foot2l to z-axis ((<-0.503263> *animAmplitude)/100) speed ((<136.344230> *animAmplitude)/100) / animSpeed; //delta=-4.54 @@ -109,22 +109,22 @@ Walk() {// For N:\animations\Raptors\Kremenchuk\kremenraptor_ik_walk.blend Creat turn leg3l to z-axis ((<-12.402514> *animAmplitude)/100) speed ((<76.144050> *animAmplitude)/100) / animSpeed; //delta=2.54 turn leg3r to z-axis ((<-1.021348> *animAmplitude)/100) speed ((<242.319271> *animAmplitude)/100) / animSpeed; //delta=8.08 turn thigh1l to z-axis ((<-16.005442> *animAmplitude)/100) speed ((<107.789606> *animAmplitude)/100) / animSpeed; //delta=3.59 - turn thigh1l to y-axis ((<0.0> *animAmplitude)/100) speed ((<593.092178> *animAmplitude)/100) / animSpeed; //delta=19.77 + turn thigh1l to y-axis ((<0.000025> *animAmplitude)/100) speed ((<593.092178> *animAmplitude)/100) / animSpeed; //delta=19.77 turn thigh1r to z-axis ((<-1.302798> *animAmplitude)/100) speed ((<151.278312> *animAmplitude)/100) / animSpeed; //delta=-5.04 turn thigh1r to y-axis ((<46.767507> *animAmplitude)/100) speed ((<224.380525> *animAmplitude)/100) / animSpeed; //delta=-7.48 turn thigh2l to z-axis ((<-1.298019> *animAmplitude)/100) speed ((<91.928085> *animAmplitude)/100) / animSpeed; //delta=3.06 - turn thigh2l to y-axis ((<-0.0> *animAmplitude)/100) speed ((<421.048557> *animAmplitude)/100) / animSpeed; //delta=14.03 + turn thigh2l to y-axis ((<-0.000000> *animAmplitude)/100) speed ((<421.048557> *animAmplitude)/100) / animSpeed; //delta=14.03 turn thigh2r to z-axis ((<6.732324> *animAmplitude)/100) speed ((<338.774215> *animAmplitude)/100) / animSpeed; //delta=-11.29 - turn thigh2r to y-axis ((<-0.0> *animAmplitude)/100) speed ((<762.699289> *animAmplitude)/100) / animSpeed; //delta=25.42 + turn thigh2r to y-axis ((<-0.000000> *animAmplitude)/100) speed ((<762.699289> *animAmplitude)/100) / animSpeed; //delta=25.42 turn thigh3l to z-axis ((<-15.859872> *animAmplitude)/100) speed ((<77.130159> *animAmplitude)/100) / animSpeed; //delta=2.57 turn thigh3l to y-axis ((<4.882142> *animAmplitude)/100) speed ((<993.197120> *animAmplitude)/100) / animSpeed; //delta=-33.11 turn thigh3r to z-axis ((<-1.307457> *animAmplitude)/100) speed ((<249.408069> *animAmplitude)/100) / animSpeed; //delta=8.31 turn thigh3r to y-axis ((<-46.768723> *animAmplitude)/100) speed ((<375.042648> *animAmplitude)/100) / animSpeed; //delta=-12.50 - turn torso to x-axis ((<-0.0> *animAmplitude)/100) speed ((<30.0> *animAmplitude)/100) / animSpeed; //delta=1.00 - turn torso to z-axis ((<2.0> *animAmplitude)/100) speed ((<89.999999> *animAmplitude)/100) / animSpeed; //delta=-3.00 + turn torso to x-axis ((<-0.000000> *animAmplitude)/100) speed ((<30.000000> *animAmplitude)/100) / animSpeed; //delta=1.00 + turn torso to z-axis ((<2.000000> *animAmplitude)/100) speed ((<89.999999> *animAmplitude)/100) / animSpeed; //delta=-3.00 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:30 + if (bMoving) { //Frame:30 turn foot1l to z-axis ((<29.245405> *animAmplitude)/100) speed ((<454.068312> *animAmplitude)/100) / animSpeed; //delta=15.14 turn foot1r to z-axis ((<-23.601836> *animAmplitude)/100) speed ((<739.307325> *animAmplitude)/100) / animSpeed; //delta=24.64 turn foot2l to z-axis ((<-5.048159> *animAmplitude)/100) speed ((<136.346894> *animAmplitude)/100) / animSpeed; //delta=4.54 @@ -149,11 +149,11 @@ Walk() {// For N:\animations\Raptors\Kremenchuk\kremenraptor_ik_walk.blend Creat turn thigh3l to y-axis ((<24.086915> *animAmplitude)/100) speed ((<576.143173> *animAmplitude)/100) / animSpeed; //delta=19.20 turn thigh3r to z-axis ((<-6.351280> *animAmplitude)/100) speed ((<151.314690> *animAmplitude)/100) / animSpeed; //delta=5.04 turn thigh3r to y-axis ((<-54.248678> *animAmplitude)/100) speed ((<224.398659> *animAmplitude)/100) / animSpeed; //delta=-7.48 - turn torso to x-axis ((<-1.0> *animAmplitude)/100) speed ((<30.0> *animAmplitude)/100) / animSpeed; //delta=1.00 - turn torso to z-axis ((<-1.0> *animAmplitude)/100) speed ((<89.999999> *animAmplitude)/100) / animSpeed; //delta=3.00 + turn torso to x-axis ((<-1.000000> *animAmplitude)/100) speed ((<30.000000> *animAmplitude)/100) / animSpeed; //delta=1.00 + turn torso to z-axis ((<-1.000000> *animAmplitude)/100) speed ((<89.999999> *animAmplitude)/100) / animSpeed; //delta=3.00 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:36 + if (bMoving) { //Frame:36 turn foot1l to z-axis ((<-43.654860> *animAmplitude)/100) speed ((<2187.007960> *animAmplitude)/100) / animSpeed; //delta=72.90 turn foot1r to z-axis ((<-39.103502> *animAmplitude)/100) speed ((<465.049976> *animAmplitude)/100) / animSpeed; //delta=15.50 turn foot2l to z-axis ((<-21.993288> *animAmplitude)/100) speed ((<508.353857> *animAmplitude)/100) / animSpeed; //delta=16.95 @@ -178,11 +178,11 @@ Walk() {// For N:\animations\Raptors\Kremenchuk\kremenraptor_ik_walk.blend Creat turn thigh3l to y-axis ((<37.447926> *animAmplitude)/100) speed ((<400.830334> *animAmplitude)/100) / animSpeed; //delta=13.36 turn thigh3r to z-axis ((<15.559932> *animAmplitude)/100) speed ((<657.336368> *animAmplitude)/100) / animSpeed; //delta=-21.91 turn thigh3r to y-axis ((<-34.804301> *animAmplitude)/100) speed ((<583.331316> *animAmplitude)/100) / animSpeed; //delta=19.44 - turn torso to x-axis ((<1.0> *animAmplitude)/100) speed ((<60.0> *animAmplitude)/100) / animSpeed; //delta=-2.00 - turn torso to z-axis ((<1.0> *animAmplitude)/100) speed ((<60.0> *animAmplitude)/100) / animSpeed; //delta=-2.00 + turn torso to x-axis ((<1.000000> *animAmplitude)/100) speed ((<60.000000> *animAmplitude)/100) / animSpeed; //delta=-2.00 + turn torso to z-axis ((<1.000000> *animAmplitude)/100) speed ((<60.000000> *animAmplitude)/100) / animSpeed; //delta=-2.00 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:42 + if (bMoving) { //Frame:42 turn foot1l to z-axis ((<-0.971251> *animAmplitude)/100) speed ((<1280.508279> *animAmplitude)/100) / animSpeed; //delta=-42.68 turn foot1r to z-axis ((<-44.049437> *animAmplitude)/100) speed ((<148.378039> *animAmplitude)/100) / animSpeed; //delta=4.95 turn foot2l to z-axis ((<5.346900> *animAmplitude)/100) speed ((<820.205619> *animAmplitude)/100) / animSpeed; //delta=-27.34 @@ -200,48 +200,48 @@ Walk() {// For N:\animations\Raptors\Kremenchuk\kremenraptor_ik_walk.blend Creat turn thigh1r to z-axis ((<16.230577> *animAmplitude)/100) speed ((<108.104341> *animAmplitude)/100) / animSpeed; //delta=-3.60 turn thigh1r to y-axis ((<0.076046> *animAmplitude)/100) speed ((<593.026621> *animAmplitude)/100) / animSpeed; //delta=-19.77 turn thigh2l to z-axis ((<-6.730049> *animAmplitude)/100) speed ((<331.480636> *animAmplitude)/100) / animSpeed; //delta=11.05 - turn thigh2l to y-axis ((<0.0> *animAmplitude)/100) speed ((<762.699238> *animAmplitude)/100) / animSpeed; //delta=-25.42 + turn thigh2l to y-axis ((<0.000000> *animAmplitude)/100) speed ((<762.699238> *animAmplitude)/100) / animSpeed; //delta=-25.42 turn thigh2r to z-axis ((<1.289046> *animAmplitude)/100) speed ((<93.070908> *animAmplitude)/100) / animSpeed; //delta=-3.10 - turn thigh2r to y-axis ((<-0.0> *animAmplitude)/100) speed ((<421.048634> *animAmplitude)/100) / animSpeed; //delta=-14.03 + turn thigh2r to y-axis ((<-0.000000> *animAmplitude)/100) speed ((<421.048634> *animAmplitude)/100) / animSpeed; //delta=-14.03 turn thigh3l to z-axis ((<3.182355> *animAmplitude)/100) speed ((<248.188951> *animAmplitude)/100) / animSpeed; //delta=-8.27 turn thigh3l to y-axis ((<49.004145> *animAmplitude)/100) speed ((<346.686571> *animAmplitude)/100) / animSpeed; //delta=11.56 turn thigh3r to z-axis ((<16.236265> *animAmplitude)/100) speed ((<20.289965> *animAmplitude)/100) / animSpeed; //delta=-0.68 turn thigh3r to y-axis ((<-0.069410> *animAmplitude)/100) speed ((<1042.046731> *animAmplitude)/100) / animSpeed; //delta=34.73 - turn torso to x-axis ((<-0.0> *animAmplitude)/100) speed ((<30.0> *animAmplitude)/100) / animSpeed; //delta=1.00 - turn torso to z-axis ((<-2.0> *animAmplitude)/100) speed ((<89.999993> *animAmplitude)/100) / animSpeed; //delta=3.00 + turn torso to x-axis ((<-0.000000> *animAmplitude)/100) speed ((<30.000000> *animAmplitude)/100) / animSpeed; //delta=1.00 + turn torso to z-axis ((<-2.000000> *animAmplitude)/100) speed ((<89.999993> *animAmplitude)/100) / animSpeed; //delta=3.00 sleep ((33*animSpeed) -1); } } } -// Call this from StopMoving()! +// Call this from MotionControl()! StopWalking() { animSpeed = 10; // tune restore speed here, higher values are slower restore speeds turn foot1l to z-axis <23.976196> speed <3645.013267> / animSpeed; turn foot1r to z-axis <-23.748122> speed <3636.719709> / animSpeed; - turn foot2l to z-axis <0.0> speed <1367.395782> / animSpeed; - turn foot2r to z-axis <0.0> speed <1356.471236> / animSpeed; + turn foot2l to z-axis <0.000000> speed <1367.395782> / animSpeed; + turn foot2r to z-axis <0.000000> speed <1356.471236> / animSpeed; turn foot3l to z-axis <18.667529> speed <4288.087615> / animSpeed; turn foot3r to z-axis <-23.750374> speed <3635.540648> / animSpeed; turn leg1l to z-axis <-7.260168> speed <1541.825772> / animSpeed; turn leg1r to z-axis <6.889571> speed <1490.020495> / animSpeed; - turn leg2l to z-axis <0.0> speed <602.393603> / animSpeed; - turn leg2r to z-axis <0.0> speed <579.134621> / animSpeed; + turn leg2l to z-axis <0.000000> speed <602.393603> / animSpeed; + turn leg2r to z-axis <0.000000> speed <579.134621> / animSpeed; turn leg3l to z-axis <-5.867489> speed <2085.722829> / animSpeed; turn leg3r to z-axis <6.896390> speed <1488.036410> / animSpeed; turn thigh1l to y-axis <-34.798448> speed <1737.262246> / animSpeed; turn thigh1l to z-axis <-6.968966> speed <1059.189835> / animSpeed; turn thigh1r to y-axis <34.850627> speed <1738.729050> / animSpeed; turn thigh1r to z-axis <7.116449> speed <1094.585967> / animSpeed; - turn thigh2l to y-axis <0.0> speed <1271.165482> / animSpeed; - turn thigh2l to z-axis <0.0> speed <552.467727> / animSpeed; - turn thigh2r to y-axis <0.0> speed <1271.165567> / animSpeed; - turn thigh2r to z-axis <0.0> speed <564.623692> / animSpeed; + turn thigh2l to y-axis <0.000000> speed <1271.165482> / animSpeed; + turn thigh2l to z-axis <0.000000> speed <552.467727> / animSpeed; + turn thigh2r to y-axis <0.000000> speed <1271.165567> / animSpeed; + turn thigh2r to z-axis <0.000000> speed <564.623692> / animSpeed; turn thigh3l to y-axis <38.020084> speed <1655.328533> / animSpeed; turn thigh3l to z-axis <-5.255047> speed <930.177530> / animSpeed; turn thigh3r to y-axis <-34.845918> speed <1738.825369> / animSpeed; turn thigh3r to z-axis <7.111937> speed <1095.560614> / animSpeed; - turn torso to x-axis <0.0> speed <99.999999> / animSpeed; - turn torso to z-axis <0.0> speed <149.999999> / animSpeed; + turn torso to x-axis <0.000000> speed <99.999999> / animSpeed; + turn torso to z-axis <0.000000> speed <149.999999> / animSpeed; // tail turn flare to x-axis <13.049453> speed <-93.210378> / animSpeed; diff --git a/scripts/Raptors/raptor_walk_allterrain.h b/scripts/Raptors/raptor_walk_allterrain.h index 508c2f39d0e..17228e4b0a5 100644 --- a/scripts/Raptors/raptor_walk_allterrain.h +++ b/scripts/Raptors/raptor_walk_allterrain.h @@ -9,13 +9,13 @@ //#define RUHAND rsack //#define LLHAND lsack //define these as the left and right head thingies //#define RLHAND rsack -//#define SIGNAL_MOVE 1 +//#define SIG_WALK 64 //these defines are needed before includes! Walk() {// For N:\animations\raptor_allterrain_walk_v3.blend Created by https://github.com/Beherith/Skeletor_S3O V((0, 3, 5)) - set-signal-mask SIGNAL_MOVE; - if (isMoving) { //Frame:4 - move body to x-axis (((([-1.0] *MOVESCALE)/100) *animAmplitude)/100) speed (((([30.0] *MOVESCALE)/100) *animAmplitude)/100) / animSpeed; //delta=-1.00 - turn body to x-axis ((<-1.0> *animAmplitude)/100) speed ((<30.0> *animAmplitude)/100) / animSpeed; //delta=1.00 + set-signal-mask SIG_WALK; + if (bMoving) { //Frame:4 + move body to x-axis (((([-1.000000] *MOVESCALE)/100) *animAmplitude)/100) speed (((([30.000000] *MOVESCALE)/100) *animAmplitude)/100) / animSpeed; //delta=-1.00 + turn body to x-axis ((<-1.000000> *animAmplitude)/100) speed ((<30.000000> *animAmplitude)/100) / animSpeed; //delta=1.00 turn body to z-axis ((<3.866804> *animAmplitude)/100) speed ((<116.004134> *animAmplitude)/100) / animSpeed; //delta=-3.87 turn head to x-axis ((<-1.497920> *animAmplitude)/100) speed ((<44.937601> *animAmplitude)/100) / animSpeed; //delta=1.50 turn head to z-axis ((<2.995840> *animAmplitude)/100) speed ((<89.875202> *animAmplitude)/100) / animSpeed; //delta=-3.00 @@ -65,15 +65,15 @@ Walk() {// For N:\animations\raptor_allterrain_walk_v3.blend Created by https:// turn tail to z-axis ((<0.380573> *animAmplitude)/100) speed ((<11.417184> *animAmplitude)/100) / animSpeed; //delta=-0.38 sleep ((33*animSpeed) -1); } - while(isMoving) { - if (isMoving) { //Frame:8 - move body to x-axis (((([0.0] *MOVESCALE)/100) *animAmplitude)/100) speed (((([30.0] *MOVESCALE)/100) *animAmplitude)/100) / animSpeed; //delta=1.00 + while(bMoving) { + if (bMoving) { //Frame:8 + move body to x-axis (((([0.000000] *MOVESCALE)/100) *animAmplitude)/100) speed (((([30.000000] *MOVESCALE)/100) *animAmplitude)/100) / animSpeed; //delta=1.00 move body to y-axis (((([-1.060000] *MOVESCALE)/100) *animAmplitude)/100) speed (((([31.799998] *MOVESCALE)/100) *animAmplitude)/100) / animSpeed; //delta=-1.06 - turn body to x-axis ((<2.0> *animAmplitude)/100) speed ((<89.999999> *animAmplitude)/100) / animSpeed; //delta=-3.00 - turn body to z-axis ((<-0.0> *animAmplitude)/100) speed ((<116.004134> *animAmplitude)/100) / animSpeed; //delta=3.87 + turn body to x-axis ((<2.000000> *animAmplitude)/100) speed ((<89.999999> *animAmplitude)/100) / animSpeed; //delta=-3.00 + turn body to z-axis ((<-0.000000> *animAmplitude)/100) speed ((<116.004134> *animAmplitude)/100) / animSpeed; //delta=3.87 turn body to y-axis ((<-4.077731> *animAmplitude)/100) speed ((<122.331915> *animAmplitude)/100) / animSpeed; //delta=-4.08 turn head to x-axis ((<2.995840> *animAmplitude)/100) speed ((<134.812803> *animAmplitude)/100) / animSpeed; //delta=-4.49 - turn head to z-axis ((<-0.0> *animAmplitude)/100) speed ((<89.875202> *animAmplitude)/100) / animSpeed; //delta=3.00 + turn head to z-axis ((<-0.000000> *animAmplitude)/100) speed ((<89.875202> *animAmplitude)/100) / animSpeed; //delta=3.00 turn head to y-axis ((<4.957617> *animAmplitude)/100) speed ((<148.728518> *animAmplitude)/100) / animSpeed; //delta=4.96 turn lbfoot to x-axis ((<-24.859732> *animAmplitude)/100) speed ((<714.649462> *animAmplitude)/100) / animSpeed; //delta=23.82 turn lbfoot to z-axis ((<-3.599897> *animAmplitude)/100) speed ((<67.564919> *animAmplitude)/100) / animSpeed; //delta=2.25 @@ -124,14 +124,14 @@ Walk() {// For N:\animations\raptor_allterrain_walk_v3.blend Created by https:// turn rfthigh to z-axis ((<-2.048593> *animAmplitude)/100) speed ((<37.797173> *animAmplitude)/100) / animSpeed; //delta=1.26 turn rfthigh to y-axis ((<2.378334> *animAmplitude)/100) speed ((<100.919544> *animAmplitude)/100) / animSpeed; //delta=3.36 turn tail to x-axis ((<7.124266> *animAmplitude)/100) speed ((<320.591987> *animAmplitude)/100) / animSpeed; //delta=-10.69 - turn tail to z-axis ((<-0.0> *animAmplitude)/100) speed ((<11.417184> *animAmplitude)/100) / animSpeed; //delta=0.38 + turn tail to z-axis ((<-0.000000> *animAmplitude)/100) speed ((<11.417184> *animAmplitude)/100) / animSpeed; //delta=0.38 turn tail to y-axis ((<8.694870> *animAmplitude)/100) speed ((<260.846103> *animAmplitude)/100) / animSpeed; //delta=8.69 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:12 - move body to x-axis (((([1.0] *MOVESCALE)/100) *animAmplitude)/100) speed (((([30.0] *MOVESCALE)/100) *animAmplitude)/100) / animSpeed; //delta=1.00 - move body to y-axis (((([0.0] *MOVESCALE)/100) *animAmplitude)/100) speed (((([31.799998] *MOVESCALE)/100) *animAmplitude)/100) / animSpeed; //delta=1.06 - turn body to x-axis ((<1.0> *animAmplitude)/100) speed ((<29.999997> *animAmplitude)/100) / animSpeed; //delta=1.00 + if (bMoving) { //Frame:12 + move body to x-axis (((([1.000000] *MOVESCALE)/100) *animAmplitude)/100) speed (((([30.000000] *MOVESCALE)/100) *animAmplitude)/100) / animSpeed; //delta=1.00 + move body to y-axis (((([0.000000] *MOVESCALE)/100) *animAmplitude)/100) speed (((([31.799998] *MOVESCALE)/100) *animAmplitude)/100) / animSpeed; //delta=1.06 + turn body to x-axis ((<1.000000> *animAmplitude)/100) speed ((<29.999997> *animAmplitude)/100) / animSpeed; //delta=1.00 turn body to z-axis ((<-3.866804> *animAmplitude)/100) speed ((<116.004134> *animAmplitude)/100) / animSpeed; //delta=3.87 turn body to y-axis ((<-6.116596> *animAmplitude)/100) speed ((<61.165970> *animAmplitude)/100) / animSpeed; //delta=-2.04 turn head to x-axis ((<1.497920> *animAmplitude)/100) speed ((<44.937598> *animAmplitude)/100) / animSpeed; //delta=1.50 @@ -186,13 +186,13 @@ Walk() {// For N:\animations\raptor_allterrain_walk_v3.blend Created by https:// turn tail to y-axis ((<13.042306> *animAmplitude)/100) speed ((<130.423077> *animAmplitude)/100) / animSpeed; //delta=4.35 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:16 + if (bMoving) { //Frame:16 move body to x-axis (((([1.650000] *MOVESCALE)/100) *animAmplitude)/100) speed (((([19.499999] *MOVESCALE)/100) *animAmplitude)/100) / animSpeed; //delta=0.65 - move body to y-axis (((([1.0] *MOVESCALE)/100) *animAmplitude)/100) speed (((([30.0] *MOVESCALE)/100) *animAmplitude)/100) / animSpeed; //delta=1.00 - turn body to x-axis ((<-0.0> *animAmplitude)/100) speed ((<30.0> *animAmplitude)/100) / animSpeed; //delta=1.00 + move body to y-axis (((([1.000000] *MOVESCALE)/100) *animAmplitude)/100) speed (((([30.000000] *MOVESCALE)/100) *animAmplitude)/100) / animSpeed; //delta=1.00 + turn body to x-axis ((<-0.000000> *animAmplitude)/100) speed ((<30.000003> *animAmplitude)/100) / animSpeed; //delta=1.00 turn body to z-axis ((<-5.800206> *animAmplitude)/100) speed ((<58.002060> *animAmplitude)/100) / animSpeed; //delta=1.93 turn body to y-axis ((<-4.077731> *animAmplitude)/100) speed ((<61.165970> *animAmplitude)/100) / animSpeed; //delta=2.04 - turn head to x-axis ((<-0.0> *animAmplitude)/100) speed ((<44.937604> *animAmplitude)/100) / animSpeed; //delta=1.50 + turn head to x-axis ((<-0.000000> *animAmplitude)/100) speed ((<44.937604> *animAmplitude)/100) / animSpeed; //delta=1.50 turn head to z-axis ((<-4.493760> *animAmplitude)/100) speed ((<44.937595> *animAmplitude)/100) / animSpeed; //delta=1.50 turn head to y-axis ((<4.957617> *animAmplitude)/100) speed ((<74.364252> *animAmplitude)/100) / animSpeed; //delta=-2.48 turn lbfoot to x-axis ((<-23.380246> *animAmplitude)/100) speed ((<42.569256> *animAmplitude)/100) / animSpeed; //delta=1.42 @@ -241,20 +241,20 @@ Walk() {// For N:\animations\raptor_allterrain_walk_v3.blend Created by https:// turn rfthigh to x-axis ((<-2.298727> *animAmplitude)/100) speed ((<600.783708> *animAmplitude)/100) / animSpeed; //delta=-20.03 turn rfthigh to z-axis ((<0.011521> *animAmplitude)/100) speed ((<50.813125> *animAmplitude)/100) / animSpeed; //delta=-1.69 turn rfthigh to y-axis ((<1.809004> *animAmplitude)/100) speed ((<40.628204> *animAmplitude)/100) / animSpeed; //delta=-1.35 - turn tail to x-axis ((<-0.0> *animAmplitude)/100) speed ((<106.864009> *animAmplitude)/100) / animSpeed; //delta=3.56 + turn tail to x-axis ((<-0.000000> *animAmplitude)/100) speed ((<106.864009> *animAmplitude)/100) / animSpeed; //delta=3.56 turn tail to z-axis ((<-0.570859> *animAmplitude)/100) speed ((<5.708584> *animAmplitude)/100) / animSpeed; //delta=0.19 turn tail to y-axis ((<8.694870> *animAmplitude)/100) speed ((<130.423077> *animAmplitude)/100) / animSpeed; //delta=-4.35 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:20 + if (bMoving) { //Frame:20 move body to x-axis (((([0.990000] *MOVESCALE)/100) *animAmplitude)/100) speed (((([19.800001] *MOVESCALE)/100) *animAmplitude)/100) / animSpeed; //delta=-0.66 - move body to y-axis (((([0.0] *MOVESCALE)/100) *animAmplitude)/100) speed (((([30.0] *MOVESCALE)/100) *animAmplitude)/100) / animSpeed; //delta=-1.00 - turn body to x-axis ((<-1.0> *animAmplitude)/100) speed ((<30.0> *animAmplitude)/100) / animSpeed; //delta=1.00 + move body to y-axis (((([0.000000] *MOVESCALE)/100) *animAmplitude)/100) speed (((([30.000000] *MOVESCALE)/100) *animAmplitude)/100) / animSpeed; //delta=-1.00 + turn body to x-axis ((<-1.000000> *animAmplitude)/100) speed ((<30.000000> *animAmplitude)/100) / animSpeed; //delta=1.00 turn body to z-axis ((<-3.866804> *animAmplitude)/100) speed ((<58.002060> *animAmplitude)/100) / animSpeed; //delta=-1.93 - turn body to y-axis ((<0.0> *animAmplitude)/100) speed ((<122.331915> *animAmplitude)/100) / animSpeed; //delta=4.08 + turn body to y-axis ((<0.000000> *animAmplitude)/100) speed ((<122.331915> *animAmplitude)/100) / animSpeed; //delta=4.08 turn head to x-axis ((<-1.497920> *animAmplitude)/100) speed ((<44.937601> *animAmplitude)/100) / animSpeed; //delta=1.50 turn head to z-axis ((<-2.995840> *animAmplitude)/100) speed ((<44.937595> *animAmplitude)/100) / animSpeed; //delta=-1.50 - turn head to y-axis ((<0.0> *animAmplitude)/100) speed ((<148.728518> *animAmplitude)/100) / animSpeed; //delta=-4.96 + turn head to y-axis ((<0.000000> *animAmplitude)/100) speed ((<148.728518> *animAmplitude)/100) / animSpeed; //delta=-4.96 turn lbfoot to x-axis ((<-3.324097> *animAmplitude)/100) speed ((<601.684467> *animAmplitude)/100) / animSpeed; //delta=-20.06 turn lbfoot to z-axis ((<0.243361> *animAmplitude)/100) speed ((<85.050336> *animAmplitude)/100) / animSpeed; //delta=-2.84 turn lbknee to x-axis ((<23.098043> *animAmplitude)/100) speed ((<550.894581> *animAmplitude)/100) / animSpeed; //delta=-18.36 @@ -304,17 +304,17 @@ Walk() {// For N:\animations\raptor_allterrain_walk_v3.blend Created by https:// turn rfthigh to y-axis ((<-1.076057> *animAmplitude)/100) speed ((<86.551840> *animAmplitude)/100) / animSpeed; //delta=-2.89 turn tail to x-axis ((<-3.562133> *animAmplitude)/100) speed ((<106.863996> *animAmplitude)/100) / animSpeed; //delta=3.56 turn tail to z-axis ((<-0.380573> *animAmplitude)/100) speed ((<5.708584> *animAmplitude)/100) / animSpeed; //delta=-0.19 - turn tail to y-axis ((<0.0> *animAmplitude)/100) speed ((<260.846103> *animAmplitude)/100) / animSpeed; //delta=-8.69 + turn tail to y-axis ((<0.000000> *animAmplitude)/100) speed ((<260.846103> *animAmplitude)/100) / animSpeed; //delta=-8.69 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:24 - move body to x-axis (((([0.0] *MOVESCALE)/100) *animAmplitude)/100) speed (((([29.699998] *MOVESCALE)/100) *animAmplitude)/100) / animSpeed; //delta=-0.99 - move body to y-axis (((([-1.0] *MOVESCALE)/100) *animAmplitude)/100) speed (((([30.0] *MOVESCALE)/100) *animAmplitude)/100) / animSpeed; //delta=-1.00 - turn body to x-axis ((<2.0> *animAmplitude)/100) speed ((<89.999999> *animAmplitude)/100) / animSpeed; //delta=-3.00 - turn body to z-axis ((<-0.0> *animAmplitude)/100) speed ((<116.004134> *animAmplitude)/100) / animSpeed; //delta=-3.87 + if (bMoving) { //Frame:24 + move body to x-axis (((([0.000000] *MOVESCALE)/100) *animAmplitude)/100) speed (((([29.699998] *MOVESCALE)/100) *animAmplitude)/100) / animSpeed; //delta=-0.99 + move body to y-axis (((([-1.000000] *MOVESCALE)/100) *animAmplitude)/100) speed (((([30.000000] *MOVESCALE)/100) *animAmplitude)/100) / animSpeed; //delta=-1.00 + turn body to x-axis ((<2.000000> *animAmplitude)/100) speed ((<89.999999> *animAmplitude)/100) / animSpeed; //delta=-3.00 + turn body to z-axis ((<-0.000000> *animAmplitude)/100) speed ((<116.004134> *animAmplitude)/100) / animSpeed; //delta=-3.87 turn body to y-axis ((<4.077731> *animAmplitude)/100) speed ((<122.331915> *animAmplitude)/100) / animSpeed; //delta=4.08 turn head to x-axis ((<2.995840> *animAmplitude)/100) speed ((<134.812803> *animAmplitude)/100) / animSpeed; //delta=-4.49 - turn head to z-axis ((<-0.0> *animAmplitude)/100) speed ((<89.875202> *animAmplitude)/100) / animSpeed; //delta=-3.00 + turn head to z-axis ((<-0.000000> *animAmplitude)/100) speed ((<89.875202> *animAmplitude)/100) / animSpeed; //delta=-3.00 turn head to y-axis ((<-4.957617> *animAmplitude)/100) speed ((<148.728518> *animAmplitude)/100) / animSpeed; //delta=-4.96 turn lbfoot to x-axis ((<26.664656> *animAmplitude)/100) speed ((<899.662590> *animAmplitude)/100) / animSpeed; //delta=-29.99 turn lbfoot to z-axis ((<4.841198> *animAmplitude)/100) speed ((<137.935095> *animAmplitude)/100) / animSpeed; //delta=-4.60 @@ -365,14 +365,14 @@ Walk() {// For N:\animations\raptor_allterrain_walk_v3.blend Created by https:// turn rfthigh to z-axis ((<-3.090682> *animAmplitude)/100) speed ((<137.886593> *animAmplitude)/100) / animSpeed; //delta=4.60 turn rfthigh to y-axis ((<1.857428> *animAmplitude)/100) speed ((<88.004564> *animAmplitude)/100) / animSpeed; //delta=2.93 turn tail to x-axis ((<7.124266> *animAmplitude)/100) speed ((<320.591987> *animAmplitude)/100) / animSpeed; //delta=-10.69 - turn tail to z-axis ((<-0.0> *animAmplitude)/100) speed ((<11.417184> *animAmplitude)/100) / animSpeed; //delta=-0.38 + turn tail to z-axis ((<-0.000000> *animAmplitude)/100) speed ((<11.417184> *animAmplitude)/100) / animSpeed; //delta=-0.38 turn tail to y-axis ((<-8.694870> *animAmplitude)/100) speed ((<260.846103> *animAmplitude)/100) / animSpeed; //delta=-8.69 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:28 + if (bMoving) { //Frame:28 move body to x-axis (((([-1.069000] *MOVESCALE)/100) *animAmplitude)/100) speed (((([32.070000] *MOVESCALE)/100) *animAmplitude)/100) / animSpeed; //delta=-1.07 - move body to y-axis (((([0.0] *MOVESCALE)/100) *animAmplitude)/100) speed (((([30.0] *MOVESCALE)/100) *animAmplitude)/100) / animSpeed; //delta=1.00 - turn body to x-axis ((<1.0> *animAmplitude)/100) speed ((<30.0> *animAmplitude)/100) / animSpeed; //delta=1.00 + move body to y-axis (((([0.000000] *MOVESCALE)/100) *animAmplitude)/100) speed (((([30.000000] *MOVESCALE)/100) *animAmplitude)/100) / animSpeed; //delta=1.00 + turn body to x-axis ((<1.000000> *animAmplitude)/100) speed ((<30.000003> *animAmplitude)/100) / animSpeed; //delta=1.00 turn body to z-axis ((<3.866804> *animAmplitude)/100) speed ((<116.004134> *animAmplitude)/100) / animSpeed; //delta=-3.87 turn body to y-axis ((<6.116596> *animAmplitude)/100) speed ((<61.165970> *animAmplitude)/100) / animSpeed; //delta=2.04 turn head to x-axis ((<1.497920> *animAmplitude)/100) speed ((<44.937604> *animAmplitude)/100) / animSpeed; //delta=1.50 @@ -428,13 +428,13 @@ Walk() {// For N:\animations\raptor_allterrain_walk_v3.blend Created by https:// turn tail to y-axis ((<-13.042306> *animAmplitude)/100) speed ((<130.423077> *animAmplitude)/100) / animSpeed; //delta=-4.35 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:32 + if (bMoving) { //Frame:32 move body to x-axis (((([-1.478000] *MOVESCALE)/100) *animAmplitude)/100) speed (((([12.270001] *MOVESCALE)/100) *animAmplitude)/100) / animSpeed; //delta=-0.41 move body to y-axis (((([1.090000] *MOVESCALE)/100) *animAmplitude)/100) speed (((([32.700001] *MOVESCALE)/100) *animAmplitude)/100) / animSpeed; //delta=1.09 - turn body to x-axis ((<-0.0> *animAmplitude)/100) speed ((<29.999997> *animAmplitude)/100) / animSpeed; //delta=1.00 + turn body to x-axis ((<-0.000000> *animAmplitude)/100) speed ((<29.999997> *animAmplitude)/100) / animSpeed; //delta=1.00 turn body to z-axis ((<5.800206> *animAmplitude)/100) speed ((<58.002060> *animAmplitude)/100) / animSpeed; //delta=-1.93 turn body to y-axis ((<4.077731> *animAmplitude)/100) speed ((<61.165970> *animAmplitude)/100) / animSpeed; //delta=-2.04 - turn head to x-axis ((<-0.0> *animAmplitude)/100) speed ((<44.937598> *animAmplitude)/100) / animSpeed; //delta=1.50 + turn head to x-axis ((<-0.000000> *animAmplitude)/100) speed ((<44.937598> *animAmplitude)/100) / animSpeed; //delta=1.50 turn head to z-axis ((<4.493760> *animAmplitude)/100) speed ((<44.937595> *animAmplitude)/100) / animSpeed; //delta=-1.50 turn head to y-axis ((<-4.957617> *animAmplitude)/100) speed ((<74.364252> *animAmplitude)/100) / animSpeed; //delta=2.48 turn lbfoot to x-axis ((<29.148372> *animAmplitude)/100) speed ((<129.114037> *animAmplitude)/100) / animSpeed; //delta=4.30 @@ -485,20 +485,20 @@ Walk() {// For N:\animations\raptor_allterrain_walk_v3.blend Created by https:// turn rfthigh to x-axis ((<-4.747068> *animAmplitude)/100) speed ((<1144.141269> *animAmplitude)/100) / animSpeed; //delta=38.14 turn rfthigh to z-axis ((<0.538404> *animAmplitude)/100) speed ((<45.910882> *animAmplitude)/100) / animSpeed; //delta=-1.53 turn rfthigh to y-axis ((<-1.827440> *animAmplitude)/100) speed ((<32.895263> *animAmplitude)/100) / animSpeed; //delta=-1.10 - turn tail to x-axis ((<-0.0> *animAmplitude)/100) speed ((<106.863989> *animAmplitude)/100) / animSpeed; //delta=3.56 + turn tail to x-axis ((<-0.000000> *animAmplitude)/100) speed ((<106.863989> *animAmplitude)/100) / animSpeed; //delta=3.56 turn tail to z-axis ((<0.570859> *animAmplitude)/100) speed ((<5.708584> *animAmplitude)/100) / animSpeed; //delta=-0.19 turn tail to y-axis ((<-8.694870> *animAmplitude)/100) speed ((<130.423077> *animAmplitude)/100) / animSpeed; //delta=4.35 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:36 - move body to x-axis (((([-1.0] *MOVESCALE)/100) *animAmplitude)/100) speed (((([14.340001] *MOVESCALE)/100) *animAmplitude)/100) / animSpeed; //delta=0.48 - move body to y-axis (((([0.0] *MOVESCALE)/100) *animAmplitude)/100) speed (((([32.700001] *MOVESCALE)/100) *animAmplitude)/100) / animSpeed; //delta=-1.09 - turn body to x-axis ((<-1.0> *animAmplitude)/100) speed ((<30.0> *animAmplitude)/100) / animSpeed; //delta=1.00 + if (bMoving) { //Frame:36 + move body to x-axis (((([-1.000000] *MOVESCALE)/100) *animAmplitude)/100) speed (((([14.340001] *MOVESCALE)/100) *animAmplitude)/100) / animSpeed; //delta=0.48 + move body to y-axis (((([0.000000] *MOVESCALE)/100) *animAmplitude)/100) speed (((([32.700001] *MOVESCALE)/100) *animAmplitude)/100) / animSpeed; //delta=-1.09 + turn body to x-axis ((<-1.000000> *animAmplitude)/100) speed ((<30.000000> *animAmplitude)/100) / animSpeed; //delta=1.00 turn body to z-axis ((<3.866804> *animAmplitude)/100) speed ((<58.002060> *animAmplitude)/100) / animSpeed; //delta=1.93 - turn body to y-axis ((<0.0> *animAmplitude)/100) speed ((<122.331915> *animAmplitude)/100) / animSpeed; //delta=-4.08 + turn body to y-axis ((<0.000000> *animAmplitude)/100) speed ((<122.331915> *animAmplitude)/100) / animSpeed; //delta=-4.08 turn head to x-axis ((<-1.497920> *animAmplitude)/100) speed ((<44.937601> *animAmplitude)/100) / animSpeed; //delta=1.50 turn head to z-axis ((<2.995840> *animAmplitude)/100) speed ((<44.937595> *animAmplitude)/100) / animSpeed; //delta=1.50 - turn head to y-axis ((<0.0> *animAmplitude)/100) speed ((<148.728518> *animAmplitude)/100) / animSpeed; //delta=4.96 + turn head to y-axis ((<0.000000> *animAmplitude)/100) speed ((<148.728518> *animAmplitude)/100) / animSpeed; //delta=4.96 turn lbfoot to x-axis ((<-1.038083> *animAmplitude)/100) speed ((<905.593652> *animAmplitude)/100) / animSpeed; //delta=30.19 turn lbfoot to z-axis ((<-1.347733> *animAmplitude)/100) speed ((<127.564073> *animAmplitude)/100) / animSpeed; //delta=4.25 turn lbfoot to y-axis ((<-0.015610> *animAmplitude)/100) speed ((<15.338440> *animAmplitude)/100) / animSpeed; //delta=-0.51 @@ -507,7 +507,7 @@ Walk() {// For N:\animations\raptor_allterrain_walk_v3.blend Created by https:// turn lbknee to y-axis ((<0.023593> *animAmplitude)/100) speed ((<34.958854> *animAmplitude)/100) / animSpeed; //delta=1.17 turn lbshin to x-axis ((<-2.423438> *animAmplitude)/100) speed ((<436.637396> *animAmplitude)/100) / animSpeed; //delta=14.55 turn lbshin to z-axis ((<-1.828183> *animAmplitude)/100) speed ((<146.005680> *animAmplitude)/100) / animSpeed; //delta=4.87 - turn lbshin to y-axis ((<-0.0> *animAmplitude)/100) speed ((<140.257704> *animAmplitude)/100) / animSpeed; //delta=4.68 + turn lbshin to y-axis ((<-0.000918> *animAmplitude)/100) speed ((<140.257704> *animAmplitude)/100) / animSpeed; //delta=4.68 turn lbthigh to x-axis ((<-1.979248> *animAmplitude)/100) speed ((<540.092395> *animAmplitude)/100) / animSpeed; //delta=-18.00 turn lbthigh to z-axis ((<-1.586812> *animAmplitude)/100) speed ((<52.741658> *animAmplitude)/100) / animSpeed; //delta=-1.76 turn lbthigh to y-axis ((<-0.042964> *animAmplitude)/100) speed ((<118.259330> *animAmplitude)/100) / animSpeed; //delta=3.94 @@ -549,72 +549,72 @@ Walk() {// For N:\animations\raptor_allterrain_walk_v3.blend Created by https:// turn rfthigh to y-axis ((<-0.985651> *animAmplitude)/100) speed ((<25.253674> *animAmplitude)/100) / animSpeed; //delta=0.84 turn tail to x-axis ((<-3.562133> *animAmplitude)/100) speed ((<106.863996> *animAmplitude)/100) / animSpeed; //delta=3.56 turn tail to z-axis ((<0.380573> *animAmplitude)/100) speed ((<5.708584> *animAmplitude)/100) / animSpeed; //delta=0.19 - turn tail to y-axis ((<0.0> *animAmplitude)/100) speed ((<260.846103> *animAmplitude)/100) / animSpeed; //delta=8.69 + turn tail to y-axis ((<0.000000> *animAmplitude)/100) speed ((<260.846103> *animAmplitude)/100) / animSpeed; //delta=8.69 sleep ((33*animSpeed) -1); } } } -// Call this from StopMoving()! +// Call this from MotionControl()! StopWalking() { animSpeed = 10; // tune restore speed here, higher values are slower restore speeds - move body to x-axis ([0.0]*MOVESCALE)/100 speed (([80.175000]*MOVESCALE)/100) / animSpeed; - move body to y-axis ([0.0]*MOVESCALE)/100 speed (([81.750003]*MOVESCALE)/100) / animSpeed; - turn body to x-axis <0.0> speed <224.999998> / animSpeed; - turn body to y-axis <0.0> speed <305.829788> / animSpeed; - turn body to z-axis <0.0> speed <290.010334> / animSpeed; - turn head to x-axis <0.0> speed <337.032008> / animSpeed; - turn head to y-axis <0.0> speed <371.821294> / animSpeed; - turn head to z-axis <0.0> speed <224.688005> / animSpeed; - turn lbfoot to x-axis <0.0> speed <2263.984131> / animSpeed; - turn lbfoot to y-axis <0.0> speed <61.021202> / animSpeed; - turn lbfoot to z-axis <0.0> speed <344.837738> / animSpeed; - turn lbknee to x-axis <0.0> speed <3837.941693> / animSpeed; - turn lbknee to y-axis <0.0> speed <1084.574895> / animSpeed; - turn lbknee to z-axis <0.0> speed <1951.645914> / animSpeed; - turn lbshin to x-axis <0.0> speed <2082.390534> / animSpeed; - turn lbshin to y-axis <0.0> speed <440.207987> / animSpeed; - turn lbshin to z-axis <0.0> speed <871.800506> / animSpeed; - turn lbthigh to x-axis <0.0> speed <3229.933984> / animSpeed; - turn lbthigh to y-axis <0.0> speed <693.564210> / animSpeed; - turn lbthigh to z-axis <0.0> speed <1088.598282> / animSpeed; - turn lffoot to x-axis <0.0> speed <2184.932089> / animSpeed; - turn lffoot to y-axis <0.0> speed <128.753628> / animSpeed; - turn lffoot to z-axis <0.0> speed <199.259819> / animSpeed; - turn lfknee to x-axis <0.0> speed <4662.163501> / animSpeed; - turn lfknee to y-axis <0.0> speed <159.338589> / animSpeed; - turn lfknee to z-axis <0.0> speed <130.743828> / animSpeed; - turn lfshin to x-axis <0.0> speed <2643.058405> / animSpeed; - turn lfshin to y-axis <0.0> speed <258.524912> / animSpeed; - turn lfshin to z-axis <0.0> speed <118.453810> / animSpeed; - turn lfthigh to x-axis <0.0> speed <2867.576611> / animSpeed; - turn lfthigh to y-axis <0.0> speed <252.832960> / animSpeed; - turn lfthigh to z-axis <0.0> speed <343.139158> / animSpeed; - turn rbfoot to x-axis <0.0> speed <2264.816184> / animSpeed; - turn rbfoot to y-axis <0.0> speed <70.058415> / animSpeed; - turn rbfoot to z-axis <0.0> speed <334.430154> / animSpeed; - turn rbknee to x-axis <0.0> speed <3858.309957> / animSpeed; - turn rbknee to y-axis <0.0> speed <1081.416626> / animSpeed; - turn rbknee to z-axis <0.0> speed <1954.238587> / animSpeed; - turn rbshin to x-axis <0.0> speed <2090.471990> / animSpeed; - turn rbshin to y-axis <0.0> speed <437.583321> / animSpeed; - turn rbshin to z-axis <0.0> speed <876.129190> / animSpeed; - turn rbthigh to x-axis <0.0> speed <3230.828269> / animSpeed; - turn rbthigh to y-axis <0.0> speed <661.462774> / animSpeed; - turn rbthigh to z-axis <0.0> speed <1025.683339> / animSpeed; - turn rffoot to x-axis <0.0> speed <2188.468169> / animSpeed; - turn rffoot to y-axis <0.0> speed <125.265029> / animSpeed; - turn rffoot to z-axis <0.0> speed <208.315602> / animSpeed; - turn rfknee to x-axis <0.0> speed <4636.437209> / animSpeed; - turn rfknee to y-axis <0.0> speed <160.666918> / animSpeed; - turn rfknee to z-axis <0.0> speed <131.641879> / animSpeed; - turn rfshin to x-axis <0.0> speed <2626.440987> / animSpeed; - turn rfshin to y-axis <0.0> speed <258.672840> / animSpeed; - turn rfshin to z-axis <0.0> speed <117.637972> / animSpeed; - turn rfthigh to x-axis <0.0> speed <2860.353173> / animSpeed; - turn rfthigh to y-axis <0.0> speed <252.298861> / animSpeed; - turn rfthigh to z-axis <0.0> speed <344.716483> / animSpeed; - turn tail to x-axis <0.0> speed <801.479968> / animSpeed; - turn tail to y-axis <0.0> speed <652.115257> / animSpeed; - turn tail to z-axis <0.0> speed <28.542960> / animSpeed; + move body to x-axis ([0.000000]*MOVESCALE)/100 speed (([80.175000]*MOVESCALE)/100) / animSpeed; + move body to y-axis ([0.000000]*MOVESCALE)/100 speed (([81.750003]*MOVESCALE)/100) / animSpeed; + turn body to x-axis <0.000000> speed <224.999998> / animSpeed; + turn body to y-axis <0.000000> speed <305.829788> / animSpeed; + turn body to z-axis <0.000000> speed <290.010334> / animSpeed; + turn head to x-axis <0.000000> speed <337.032008> / animSpeed; + turn head to y-axis <0.000000> speed <371.821294> / animSpeed; + turn head to z-axis <0.000000> speed <224.688005> / animSpeed; + turn lbfoot to x-axis <0.000000> speed <2263.984131> / animSpeed; + turn lbfoot to y-axis <0.000000> speed <61.021202> / animSpeed; + turn lbfoot to z-axis <0.000000> speed <344.837738> / animSpeed; + turn lbknee to x-axis <0.000000> speed <3837.941693> / animSpeed; + turn lbknee to y-axis <0.000000> speed <1084.574895> / animSpeed; + turn lbknee to z-axis <0.000000> speed <1951.645914> / animSpeed; + turn lbshin to x-axis <0.000000> speed <2082.390534> / animSpeed; + turn lbshin to y-axis <0.000000> speed <440.207987> / animSpeed; + turn lbshin to z-axis <0.000000> speed <871.800506> / animSpeed; + turn lbthigh to x-axis <0.000000> speed <3229.933984> / animSpeed; + turn lbthigh to y-axis <0.000000> speed <693.564210> / animSpeed; + turn lbthigh to z-axis <0.000000> speed <1088.598282> / animSpeed; + turn lffoot to x-axis <0.000000> speed <2184.932089> / animSpeed; + turn lffoot to y-axis <0.000000> speed <128.753628> / animSpeed; + turn lffoot to z-axis <0.000000> speed <199.259819> / animSpeed; + turn lfknee to x-axis <0.000000> speed <4662.163501> / animSpeed; + turn lfknee to y-axis <0.000000> speed <159.338589> / animSpeed; + turn lfknee to z-axis <0.000000> speed <130.743828> / animSpeed; + turn lfshin to x-axis <0.000000> speed <2643.058405> / animSpeed; + turn lfshin to y-axis <0.000000> speed <258.524912> / animSpeed; + turn lfshin to z-axis <0.000000> speed <118.453810> / animSpeed; + turn lfthigh to x-axis <0.000000> speed <2867.576611> / animSpeed; + turn lfthigh to y-axis <0.000000> speed <252.832960> / animSpeed; + turn lfthigh to z-axis <0.000000> speed <343.139158> / animSpeed; + turn rbfoot to x-axis <0.000000> speed <2264.816184> / animSpeed; + turn rbfoot to y-axis <0.000000> speed <70.058415> / animSpeed; + turn rbfoot to z-axis <0.000000> speed <334.430154> / animSpeed; + turn rbknee to x-axis <0.000000> speed <3858.309957> / animSpeed; + turn rbknee to y-axis <0.000000> speed <1081.416626> / animSpeed; + turn rbknee to z-axis <0.000000> speed <1954.238587> / animSpeed; + turn rbshin to x-axis <0.000000> speed <2090.471990> / animSpeed; + turn rbshin to y-axis <0.000000> speed <437.583321> / animSpeed; + turn rbshin to z-axis <0.000000> speed <876.129190> / animSpeed; + turn rbthigh to x-axis <0.000000> speed <3230.828269> / animSpeed; + turn rbthigh to y-axis <0.000000> speed <661.462774> / animSpeed; + turn rbthigh to z-axis <0.000000> speed <1025.683339> / animSpeed; + turn rffoot to x-axis <0.000000> speed <2188.468169> / animSpeed; + turn rffoot to y-axis <0.000000> speed <125.265029> / animSpeed; + turn rffoot to z-axis <0.000000> speed <208.315602> / animSpeed; + turn rfknee to x-axis <0.000000> speed <4636.437209> / animSpeed; + turn rfknee to y-axis <0.000000> speed <160.666918> / animSpeed; + turn rfknee to z-axis <0.000000> speed <131.641879> / animSpeed; + turn rfshin to x-axis <0.000000> speed <2626.440987> / animSpeed; + turn rfshin to y-axis <0.000000> speed <258.672840> / animSpeed; + turn rfshin to z-axis <0.000000> speed <117.637972> / animSpeed; + turn rfthigh to x-axis <0.000000> speed <2860.353173> / animSpeed; + turn rfthigh to y-axis <0.000000> speed <252.298861> / animSpeed; + turn rfthigh to z-axis <0.000000> speed <344.716483> / animSpeed; + turn tail to x-axis <0.000000> speed <801.479968> / animSpeed; + turn tail to y-axis <0.000000> speed <652.115257> / animSpeed; + turn tail to z-axis <0.000000> speed <28.542960> / animSpeed; } diff --git a/scripts/Raptors/raptor_worm_m.bos b/scripts/Raptors/raptor_worm_m.bos index 43b08307c8c..2ea88a476a4 100644 --- a/scripts/Raptors/raptor_worm_m.bos +++ b/scripts/Raptors/raptor_worm_m.bos @@ -1,11 +1,13 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, aimy, seg1,seg2,seg3,seg4,seg5,head,flare; -static-var AboveGround, restore_delay, isAiming, frameslefttoshot; +static-var AboveGround, restore_delay, statechg_DesiredState, statechg_StateChanging, isAiming, frameslefttoshot; // Signal definitions -#define SIGNAL_AIM1 256 +#define SIG_AIM 2 //------------------------------- Worm Options -------------------------------------------------- #define WORMSIZE 100 // This is for scaling move animations, as percent #define SPIT 500 // if you want a spitting animation before shooting, set it >0 @@ -17,16 +19,18 @@ static-var AboveGround, restore_delay, isAiming, frameslefttoshot; // A high precision requirement can result in overshoots if desired // (c) CC BY NC ND Beherith mysterme@gmail.com -#define MAX_SEG_VELOCITY <5.0> +#define MAX_SEG_VELOCITY <5.00> #define SEG_ACCELERATION <0.05> #define SEG_JERK <0.02> #define SEG_PRECISION <0.02> +static-var segvelocity, segtarget, segposition, segdelta, timetozero, deceleratethreshold, gameFrame, segacceleration; -#define MAX_AIMY1_VELOCITY <18.0> +#define MAX_AIMY1_VELOCITY <18.00> #define AIMY1_ACCELERATION <0.1> #define AIMY1_JERK <0.1> #define AIMY1_PRECISION <0.1> +static-var aimy1velocity, aimy1target, aimy1position, aimy1delta, aimy1acceleration; #define WIGGLEAMPLITUDE 100 / 200 @@ -34,5 +38,456 @@ static-var AboveGround, restore_delay, isAiming, frameslefttoshot; #define WIGGLEFREQUENCY 1000 #define WIGGLESPEED <10> +Motion(){ + var wigglefreq; // NOTE: DO NOT DECLARE VAR WITHIN A WHILE LOOP AS IT WILL OVERFLOW THE COB STACK! + wigglefreq = RAND(0, WIGGLEFREQUENCY); + + while(1){ + segdelta = segtarget - segposition; + + if( (( get ABS(segdelta)) > SEG_PRECISION ) OR (get ABS(segvelocity) > SEG_JERK)){ + //Clamp segposition and segdelta between <-180>;<180> + while (segposition > <180>) segposition = segposition - <360>; + while (segposition < <-180>) segposition = segposition + <360>; + while (segdelta > <180>) segdelta = segdelta - <360>; + while (segdelta < <-180>) segdelta = segdelta + <360>; + + //number of frames required to decelerate to 0 + timetozero = get ABS(segvelocity) / segacceleration; + + //distance from target where we should start decelerating, always 'positive' + //pos = t * v - (t*(t-1)*a/2) + deceleratethreshold = timetozero * (get ABS(segvelocity)) - (timetozero * (timetozero - 1) * segacceleration / 2); + + //get PRINT ( segdelta , deceleratethreshold, segvelocity, timetozero ); + + if (get ABS(segdelta) <= deceleratethreshold){ //we need to decelerate + if (segvelocity > 0) segvelocity = segvelocity - segacceleration; + else segvelocity = segvelocity + segacceleration; + } + else //we need to accelerate + { + if (segdelta > 0) segvelocity = get MIN( MAX_SEG_VELOCITY, segvelocity + segacceleration); + else segvelocity = get MAX((-1) * MAX_SEG_VELOCITY, segvelocity - segacceleration); + } + + //Apply jerk at very low velocities + if (get ABS(segvelocity) < SEG_JERK){ + segvelocity = segdelta; + if ((segdelta > SEG_JERK)) segvelocity = SEG_JERK; + if ((segdelta < (-1) * SEG_JERK)) segvelocity = (-1) * SEG_JERK; + } + + segposition = segposition + segvelocity; + + turn seg1 to x-axis segposition now; + turn seg2 to x-axis segposition now; + turn seg3 to x-axis segposition now; + turn seg4 to x-axis segposition now; + turn seg5 to x-axis segposition now; + turn head to x-axis segposition now; + + segdelta = segtarget - segposition ; + } + + aimy1delta = aimy1target - aimy1position; + if( ( get ABS(aimy1delta) > AIMY1_PRECISION ) OR ( get ABS(aimy1velocity) > AIMY1_JERK)){ + + //Clamp aimy1position and aimy1delta between <-180>;<180> + while (aimy1position > <180>) aimy1position = aimy1position - <360>; + while (aimy1position < <-180>) aimy1position = aimy1position + <360>; + while (aimy1delta > <180>) aimy1delta = aimy1delta - <360>; + while (aimy1delta < <-180>) aimy1delta = aimy1delta + <360>; + + //number of frames required to decelerate to 0 + timetozero = get ABS(aimy1velocity) / aimy1acceleration; + + //distance from target where we should start decelerating, always 'positive' + //pos = t * v - (t*(t-1)*a/2) + deceleratethreshold = timetozero * (get ABS(aimy1velocity)) - (timetozero * (timetozero - 1) * aimy1acceleration / 2); + + //get PRINT ( aimy1delta , deceleratethreshold , aimy1velocity, timetozero ); + + if (get ABS(aimy1delta) <= deceleratethreshold){ //we need to decelerate + if (aimy1velocity > 0) aimy1velocity = aimy1velocity - aimy1acceleration; + else aimy1velocity = aimy1velocity + aimy1acceleration; + } + else //we need to accelerate + { + if (aimy1delta > 0) aimy1velocity = get MIN( MAX_AIMY1_VELOCITY, aimy1velocity + aimy1acceleration); + else aimy1velocity = get MAX((-1) * MAX_AIMY1_VELOCITY, aimy1velocity - aimy1acceleration); + } + + //Apply jerk at very low velocities + if (get ABS(aimy1velocity) < AIMY1_JERK){ + //this line will only have effect if our delta is less than jerk + aimy1velocity = aimy1delta; + if ((aimy1delta > AIMY1_JERK)) aimy1velocity = AIMY1_JERK; + if ((aimy1delta < (-1) * AIMY1_JERK)) aimy1velocity = (-1) * AIMY1_JERK; + } + + aimy1position = aimy1position + aimy1velocity; + turn aimy to y-axis aimy1position now; + aimy1delta = aimy1target - aimy1position ; + } + + if (AboveGround ==1 ){ + // lets have the worm do a Z wave instead + // KSIN: return int(1024*math::sinf(TAANG2RAD*(float)p1)); + turn seg1 to z-axis (get KSIN(wigglefreq + 1 * WIGGLEPHASE)) * WIGGLEAMPLITUDE speed WIGGLESPEED; + turn seg2 to z-axis (get KSIN(wigglefreq + 2 * WIGGLEPHASE)) * WIGGLEAMPLITUDE speed WIGGLESPEED; + turn seg3 to z-axis (get KSIN(wigglefreq + 3 * WIGGLEPHASE)) * WIGGLEAMPLITUDE speed WIGGLESPEED; + turn seg4 to z-axis (get KSIN(wigglefreq + 4 * WIGGLEPHASE)) * WIGGLEAMPLITUDE speed WIGGLESPEED; + turn seg5 to z-axis (get KSIN(wigglefreq + 5 * WIGGLEPHASE)) * WIGGLEAMPLITUDE speed WIGGLESPEED; + turn head to z-axis (get KSIN(wigglefreq + 6 * WIGGLEPHASE)) * WIGGLEAMPLITUDE speed WIGGLESPEED; + } + + wigglefreq = wigglefreq + WIGGLEFREQUENCY; + if (wigglefreq > 65536) wigglefreq = wigglefreq - 65536; + sleep 30; + } +} -#include "raptor_worm_turret_common.h" \ No newline at end of file + +Go() +{ + set ARMORED to 0; + move seg1 to y-axis [0] speed [1] * WORMSIZE; + sleep 250; + segtarget = <0>; + wait-for-move seg1 along x-axis; + AboveGround = 1; +} + +Stop() +{ + set ARMORED to 1; + AboveGround = 0; + turn seg1 to z-axis <0> speed WIGGLESPEED; + turn seg2 to z-axis <0> speed WIGGLESPEED; + turn seg3 to z-axis <0> speed WIGGLESPEED; + turn seg4 to z-axis <0> speed WIGGLESPEED; + turn seg5 to z-axis <0> speed WIGGLESPEED; + turn head to z-axis <0> speed WIGGLESPEED; + + segtarget = <-14>; + move seg1 to y-axis [-1.04] * WORMSIZE speed [0.6] * WORMSIZE; + wait-for-move seg1 along x-axis; +} + +InitState() +{ + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; +} + +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + call-script Go(); + currentstate = 0; + } + if( statechg_DesiredState == 1 ) + { + call-script Stop(); + currentstate = 1; + } + } + statechg_StateChanging = FALSE; +} + +Create() +{ + segvelocity = 0; + segtarget= 0; + segposition = 0; + segdelta= 0; + timetozero = 0; + deceleratethreshold= 0; + gameFrame= 0; + segacceleration = SEG_ACCELERATION; + + aimy1velocity= 0; + aimy1target =0; + aimy1position= 0; + aimy1delta =0; + aimy1acceleration = AIMY1_ACCELERATION; + + + move seg1 to y-axis [-2.0] * WORMSIZE now; + + hide flare; + + restore_delay = 2000; + AboveGround = 0; + call-script InitState(); + start-script RequestState(0); + while( get BUILD_PERCENT_LEFT ) + { + sleep 250; + } + //move aimpoint to y-axis [8] now; + start-script RequestState(1); + start-script Motion(); +} + +Activate() +{ + start-script RequestState(0); +} + +Deactivate() +{ + start-script RequestState(1); +} + +SetMaxReloadTime(Func_Var_1) +{ + restore_delay = Func_Var_1 * 2; +} + +static-var Stunned; +ExecuteRestoreAfterDelay() +{ + if (Stunned) { + return (1); + } + set-signal-mask 0; + start-script RequestState(1); +} +SetStunned(State) +{ + Stunned = State; + if (!Stunned) { + start-script ExecuteRestoreAfterDelay(); + } +} +RestoreAfterDelay() +{ + sleep restore_delay; + start-script ExecuteRestoreAfterDelay(); +} + +AimWeapon1(heading, pitch) +{ + + start-script RequestState(0); + + isAiming = 1; + signal SIG_AIM; + set-signal-mask SIG_AIM; + while( !AboveGround ) + { + sleep 250; + } + aimy1target = heading; + aimy1delta = aimy1target - aimy1position; + + segtarget = -1 * pitch / 6; + segdelta = segtarget - segposition; + + while (get ABS(aimy1delta) > <10>){ + sleep 30; + } + #if (SPIT ==1) + frameslefttoshot = (GET WEAPON_RELOADSTATE(1)) - (GET GAME_FRAME); + + if (frameslefttoshot < 15){ // GET WEAPON_RELOADSTATE(1) gives the frame weapon 1 can fire on + // if we can fire in 10 frames, do the spit + + segtarget = segtarget - SPIT; + segacceleration = 10 * SEG_ACCELERATION; + sleep 150; + + segtarget = segtarget + 000; + + sleep 150; + segacceleration = SEG_ACCELERATION; + + } + #endif + + // once we are pretty near to the target heading, as above, we need to do a quick shooty anim: + + isAiming = 0; + start-script RestoreAfterDelay(); + return (1); +} + +Shot1() +{ + //call-script lua_FlameShot(1); + //emit-sfx 1024 + 0 from flare; + //segtarget = segtarget + (Rand( 100, 200 )); + //aimy1target = aimy1target + (Rand( 0, 400 ) - 200); + return (TRUE); +} + + +//Needs defines before usage: +//UNITSIZE 1-20, small for small units, large for large units, +//MAXTILT ~100, how much unit should move +//BASEPIECE piecename, +//HITSPEED <55>, for small units, <15> for large units + + +// angle[x|z] is always [-500;500], damage is multiplied by 100 +// thus if our maxtilt is 100/100, then we get 500, which is about 2.7 degrees of max tilt, which should also kind of scale with unitsize, e.g. smaller units should tilt more, while larger less +// + +// hitspeed should be a part of unitsize, to simplify scaling +HitByWeapon(anglex, anglez, damage) // angle[x|z] is always [-500;500], damage is multiplied by 100 +{ + var amount;//, speedz, speedx; + amount = damage / (10 * WORMSIZE); + var randpiece; + randpiece = 0; + if (amount < 3 ) return (0); + //if (RAND(1, MAXTILT) < amount){ + if (1){ + randpiece = RAND(1, 3); + if (randpiece == 1) emit-sfx 1024 from base; + if (randpiece == 2) emit-sfx 1024 from seg1; + if (randpiece == 3) emit-sfx 1024 from seg2; + } + if (amount > 100){ + amount = 100; + } + if (anglex ==0 ) { //this happens when hit by lasers + if (anglez == 0){ + amount = amount / 2; + anglex = RAND(1,500); + anglez = RAND(1,500); + } + } + + segtarget = segtarget + ((Rand( 0, amount ) - amount / 2))/6; + aimy1target = aimy1target + (Rand( 0, amount ) - amount / 2); +} + +static-var isSmoking; +SmokeUnit(healthpercent, randpiece) // ah yes, clever use of stack variables +{ + while( TRUE ) + { + healthpercent = get HEALTH; + + if( healthpercent < 66 ) + { + randpiece = RAND(1, 3); + if (randpiece == 1) emit-sfx 1024 from base; + if (randpiece == 2) emit-sfx 1024 from head; + if (randpiece == 3) emit-sfx 1024 from seg3; + } + else { + isSmoking = 0; + return; + //break; // bos2cob.py does not like this one! + } + if (healthpercent < 4) healthpercent = 4; + sleep healthpercent * 50; + } + sleep 97; + isSmoking = 0; +} + +HitByWeaponId(anglex, anglez, weaponid, dmg) //weaponID is always 0,lasers and flamers give angles of 0 +{ + if( get BUILD_PERCENT_LEFT) return (100); + if (isSmoking == 0) { + isSmoking = 1; + start-script SmokeUnit(); + } + //get PRINT(anglex, anglez, weaponid, dmg); + start-script HitByWeapon(dmg, anglez,anglex); //I dont know why param order must be switched, and this also runs a frame later :( + return (100); //return damage percent +} + + +FirePrimary() +{ + //segtarget = segtarget + get RAND(0, 10000); + #if (RECOIL > 0) + segtarget = segtarget - RECOIL; + segacceleration = 10 * SEG_ACCELERATION; + sleep 150; + + segtarget = segtarget + 000; + + sleep 150; + segacceleration = SEG_ACCELERATION; + #endif +} + +QueryPrimary(piecenum) +{ + piecenum = flare; +} + +SweetSpot(piecenum) +{ + piecenum = base; +} + +AimFromPrimary(piecenum) +{ + piecenum = head; +} + +Killed(severity, corpsetype) +{ + var randSeverity; + randSeverity = RAND(0,severity); + + //get PRINT(severity, randSeverity); + //Head pops off an it recedes + if (randSeverity >= 0) { + emit-sfx 1025 from head; + explode head type FALL | NOHEATCLOUD; + hide head; + } + + if (randSeverity >= 10) { + emit-sfx 1025 from seg5; + explode seg5 type FALL | NOHEATCLOUD; + hide seg5; + } + + if (randSeverity >= 20) { + emit-sfx 1025 from seg4; + explode seg4 type FALL | NOHEATCLOUD; + hide seg4; + } + if (randSeverity >= 30) { + emit-sfx 1025 from seg3; + explode seg3 type FALL | NOHEATCLOUD; + hide seg3; + } + if (randSeverity >= 40) { + emit-sfx 1025 from seg2; + explode seg2 type FALL | NOHEATCLOUD; + hide seg2; + } + if (randSeverity >= 50) { + emit-sfx 1025 from seg1; + explode seg1 type FALL | NOHEATCLOUD; + hide seg1; + corpsetype = 2; + }else{ + call-script Stop(); + sleep 1500; + corpsetype = 1; + } + return(corpsetype); +} \ No newline at end of file diff --git a/scripts/Raptors/raptor_worm_m.cob b/scripts/Raptors/raptor_worm_m.cob index bb0d6ceff8a432da2769aff007d5d8d0ff9ee0f0..387d7d7b80801d4d6fb51e140dc24471a42618c2 100644 GIT binary patch literal 7548 zcmb`MU1()j7035XGRdg5J$|$=wh}?46)AVd3MzfbOus3Wm}{|6N^_?NbloqtuQXBujefIxm<;+bo1G%uW z?^)}=KKI&dpF1<1Qo2d>A<Fg6%sdFTMx1Pei z0&o4cUfMiT5!a#ubUa}H`)p$u*-3qkvbVOxC^6^w=Vz+pEzHr)t*ulQ+bvnvubP~# zZy(M%`af0lEsOr)CHY@$VWR(GOBVfGA0M&y`_+(od{jDVzRBam#Ru!P*hwAf%T`-I z_ls(5dG;kNwhtG--h+>{e7a7+z{i#S#~(UruGyd8>npsNGd;!L|1QYJIhVZ$Pwg*H z!j%0r=AD9xvDwGpB_qy@Wqq-n5p>5sWp83GohEMLzz3M;%DSZw&)9Pvci2=Od)Y*G z&1b6g{O8JfB45t7{W^a_a{f08i!XSSu+F2=QBMRP=(Xk12ItFro64S;m(Siysp+SJ zGcWsU@uv062YbdHX;?dWdCyxo<{ck&cbk34ZYY@Cw588JCSKeNKVuJmTs_}D4pTiG z^{$_Qw|-mCbMaXnHsZnw*f^KIUG~_rIG1uz>d6Z&Oq@&KZ^`0Zvc7#d=ji`uMc=aM zA0B7IK8%U}e=|wH^oaHGaV<5ZR=M``d(XxF_QL0Nzq#1#^VQ8o*MQP^-@Q(niyRE{ ziLv_3&IZ{y=hCm>sr~hnFr~i6+*vR&Hv70uGUB^f;{C&Q+wqKj?lBjm5A3w(BKBNo zuw$Eh%tdh6@?7+@*b{3CHt$iHSt}u5=9K+9f1g|Ko<~dm@FrnB_uK=Xi}=8ATOMt2 zzPz`di{|CCr@5%sPY}4><`ObNvOlnCp}9A2*8nAkn>FlMUyw*Q_YN%l?|xo_4m17A zy9hZZJ)4&E_Xc;F?>b{?u9@FTc~5_qAA~>d2HV>$KQITCANS6F{=giRKkl^s{DCM7^06#cGZp8=c>Jfi>HPciF$uu=+*A8*;pIIGy4XRL&)9b9<;)D& zw!CdC%IR(QBmCSKy0hCk(%1CVCvc`S@SPZEjAOHzgIDVlKiC}G{$bPKKcZ;LiGAl2 zV+Nb;YgX=t@wpxAwd#XDzHu|od%cN0*FbsT2j8j0^h(J&?$>X{bN#UAcPX#gfbI}v z?mgb!&}njL-g!7j{`VHn5WcecU7%zNK)@0A?lJ@${n!-i`@ zUGu-A6uUXrg|N5!?iza~Cu)a(pX+6es-MV>8I#Y4dd@MzllxplWbiYlYWm=_x=4(T zvy~oPC^BN()>GwzO>84;;%{tz)ix2nr5i&ZVmCJLf0>u}w6Mq`Hpg19jwcnn$iO&sT#AOBtl)_v^X9q!>cm#@Z_^`jp9?_P6W^ufEOmXw{@>il9oPa-Ql^?JcOcXDxE z;Kf?=>{?$gdfs0|5gYsF)fSdIL~Qn1`sQyfY|dkTruwJ((&b$8Zkh8}9b#@7Uvhi9 z=)jv)hvV4j=sYqz<>RLX-^=`+@18r}Wkc=b9>n|X25mn3vWzX^>7kuAntr~e;Hd35 zuWBaGPE^T_`nX=sm6^nS@7}W?;=wO-(mC_2#~g>{JnkjWd(_!J8{lKl?XY9}`h6uTm6t>k2TuM zeP8Uo(z53oPl^v2_Kabrhw@y|`FT~gcn{AweI>5fD2~n--@zGAJXw#kq|bv2@+r}; zMK6htD1bAfbBcjJdr$nbkE26Wa zr$rA9M*YEBx^IxWqrrN5V68vuj(VdyE!Jnx*XPQ^UBepQi6=(=r}=Vs-SgLOJ$k5j zVXrwOX*DATTV}|^oDi%KOVsd AFaQ7m literal 7551 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 H)h7K9YRd%P diff --git a/scripts/Raptors/raptor_worm_turret_common.h b/scripts/Raptors/raptor_worm_turret_common.h deleted file mode 100644 index 4727488e43d..00000000000 --- a/scripts/Raptors/raptor_worm_turret_common.h +++ /dev/null @@ -1,456 +0,0 @@ - -// Signal definitions -#define SIGNAL_AIM1 256 - -#include "../opencloseanim.h" - -static-var segvelocity, segtarget, segposition, segdelta, timetozero, deceleratethreshold, gameFrame, segacceleration; - - -static-var aimy1velocity, aimy1target, aimy1position, aimy1delta, aimy1acceleration; - - -Motion(){ - var wigglefreq; // NOTE: DO NOT DECLARE VAR WITHIN A WHILE LOOP AS IT WILL OVERFLOW THE COB STACK! - wigglefreq = RAND(0, WIGGLEFREQUENCY); - - var sin; - - while(1){ - segdelta = segtarget - segposition; - - if( (( get ABS(segdelta)) > SEG_PRECISION ) OR (get ABS(segvelocity) > SEG_JERK)){ - //Clamp segposition and segdelta between <-180>;<180> - while (segposition > <180>) segposition = segposition - <360>; - while (segposition < <-180>) segposition = segposition + <360>; - while (segdelta > <180>) segdelta = segdelta - <360>; - while (segdelta < <-180>) segdelta = segdelta + <360>; - - //number of frames required to decelerate to 0 - timetozero = get ABS(segvelocity) / segacceleration; - - //distance from target where we should start decelerating, always 'positive' - //pos = t * v - (t*(t-1)*a/2) - deceleratethreshold = timetozero * (get ABS(segvelocity)) - (timetozero * (timetozero - 1) * segacceleration / 2); - - //get PRINT ( segdelta , deceleratethreshold, segvelocity, timetozero ); - - if (get ABS(segdelta) <= deceleratethreshold){ //we need to decelerate - if (segvelocity > 0) segvelocity = segvelocity - segacceleration; - else segvelocity = segvelocity + segacceleration; - } - else //we need to accelerate - { - if (segdelta > 0) segvelocity = get MIN( MAX_SEG_VELOCITY, segvelocity + segacceleration); - else segvelocity = get MAX((-1) * MAX_SEG_VELOCITY, segvelocity - segacceleration); - } - - //Apply jerk at very low velocities - if (get ABS(segvelocity) < SEG_JERK){ - // segvelocity = segdelta;// maybe this? - if ((segdelta > SEG_JERK)) segvelocity = SEG_JERK; - if ((segdelta < (-1) * SEG_JERK)) segvelocity = (-1) * SEG_JERK; - } - - segposition = segposition + segvelocity; - - - turn seg1 to x-axis segposition now; - turn seg2 to x-axis segposition now; - turn seg3 to x-axis segposition now; - turn seg4 to x-axis segposition now; - turn seg5 to x-axis segposition now; - turn head to x-axis segposition now; - - - segdelta = segtarget - segposition ; - } - - - aimy1delta = aimy1target - aimy1position; - if( ( get ABS(aimy1delta) > AIMY1_PRECISION ) OR ( get ABS(aimy1velocity) > AIMY1_JERK)){ - - //Clamp aimy1position and aimy1delta between <-180>;<180> - while (aimy1position > <180>) aimy1position = aimy1position - <360>; - while (aimy1position < <-180>) aimy1position = aimy1position + <360>; - while (aimy1delta > <180>) aimy1delta = aimy1delta - <360>; - while (aimy1delta < <-180>) aimy1delta = aimy1delta + <360>; - - //number of frames required to decelerate to 0 - timetozero = get ABS(aimy1velocity) / aimy1acceleration; - - //distance from target where we should start decelerating, always 'positive' - //pos = t * v - (t*(t-1)*a/2) - deceleratethreshold = timetozero * (get ABS(aimy1velocity)) - (timetozero * (timetozero - 1) * aimy1acceleration / 2); - - //get PRINT ( aimy1delta , deceleratethreshold , aimy1velocity, timetozero ); - - if (get ABS(aimy1delta) <= deceleratethreshold){ //we need to decelerate - if (aimy1velocity > 0) aimy1velocity = aimy1velocity - aimy1acceleration; - else aimy1velocity = aimy1velocity + aimy1acceleration; - } - else //we need to accelerate - { - if (aimy1delta > 0) aimy1velocity = get MIN( MAX_AIMY1_VELOCITY, aimy1velocity + aimy1acceleration); - else aimy1velocity = get MAX((-1) * MAX_AIMY1_VELOCITY, aimy1velocity - aimy1acceleration); - } - - //Apply jerk at very low velocities - if (get ABS(aimy1velocity) < AIMY1_JERK){ - //this line will only have effect if our delta is less than jerk - aimy1velocity = aimy1delta; - - if ((aimy1delta > AIMY1_JERK)) aimy1velocity = AIMY1_JERK; - if ((aimy1delta < (-1) * AIMY1_JERK)) aimy1velocity = (-1) * AIMY1_JERK; - - } - - aimy1position = aimy1position + aimy1velocity; - turn aimy to y-axis aimy1position now; - aimy1delta = aimy1target - aimy1position ; - if ((aimy1delta < <7>) AND (aimy1delta > <-7>)){ - //return (1); // INHEADING - } - } - //aimy1velocity = 0; - - - if (AboveGround ==1 ){ - - // lets have the worm do a Z wave instead - // KSIN: return int(1024*math::sinf(TAANG2RAD*(float)p1)); - turn seg1 to z-axis (get KSIN(wigglefreq + 1 * WIGGLEPHASE)) * WIGGLEAMPLITUDE speed WIGGLESPEED; - turn seg2 to z-axis (get KSIN(wigglefreq + 2 * WIGGLEPHASE)) * WIGGLEAMPLITUDE speed WIGGLESPEED; - turn seg3 to z-axis (get KSIN(wigglefreq + 3 * WIGGLEPHASE)) * WIGGLEAMPLITUDE speed WIGGLESPEED; - turn seg4 to z-axis (get KSIN(wigglefreq + 4 * WIGGLEPHASE)) * WIGGLEAMPLITUDE speed WIGGLESPEED; - turn seg5 to z-axis (get KSIN(wigglefreq + 5 * WIGGLEPHASE)) * WIGGLEAMPLITUDE speed WIGGLESPEED; - turn head to z-axis (get KSIN(wigglefreq + 6 * WIGGLEPHASE)) * WIGGLEAMPLITUDE speed WIGGLESPEED; - } - wigglefreq = wigglefreq + WIGGLEFREQUENCY; - if (wigglefreq > 65536) wigglefreq = wigglefreq - 65536; - sleep 30; - } -} - - - -Open(){ - - set ARMORED to 0; - move seg1 to y-axis [0] speed [1] * WORMSIZE; - sleep 250; - segtarget = <0>; - wait-for-move seg1 along x-axis; - AboveGround = 1; - -} -Close(){ - - - set ARMORED to 1; - AboveGround = 0; - turn seg1 to z-axis <0> speed WIGGLESPEED; - turn seg2 to z-axis <0> speed WIGGLESPEED; - turn seg3 to z-axis <0> speed WIGGLESPEED; - turn seg4 to z-axis <0> speed WIGGLESPEED; - turn seg5 to z-axis <0> speed WIGGLESPEED; - turn head to z-axis <0> speed WIGGLESPEED; - - segtarget = <-14>; - move seg1 to y-axis [-1.04] * WORMSIZE speed [0.6] * WORMSIZE; - wait-for-move seg1 along x-axis; - -} - -Create() -{ - move base to y-axis [-0.2] * WORMSIZE now; - move base to y-axis <0> speed [0.1] * WORMSIZE; - - segvelocity = 0; - segtarget= 0; - segposition = 0; - segdelta= 0; - timetozero = 0; - deceleratethreshold= 0; - gameFrame= 0; - segacceleration = SEG_ACCELERATION; - - aimy1velocity= 0; - aimy1target =0; - aimy1position= 0; - aimy1delta =0; - aimy1acceleration = AIMY1_ACCELERATION; - - - move seg1 to y-axis [-2.0] * WORMSIZE now; - - restore_delay = 2000; - AboveGround = 0; - - start-script OpenCloseAnim(1); - SLEEP_UNTIL_UNITFINISHED; - //move aimpoint to y-axis [8] now; - start-script OpenCloseAnim(0); - start-script Motion(); -} - -Activate() -{ - start-script OpenCloseAnim(1); -} - -Deactivate() -{ - start-script OpenCloseAnim(0); -} - -SetMaxReloadTime(reloadMS) -{ - restore_delay = reloadMS * 2; -} - -static-var Stunned; -ExecuteRestoreAfterDelay() -{ - if (Stunned) { - return (1); - } - set-signal-mask 0; - start-script OpenCloseAnim(0); -} -SetStunned(State) -{ - Stunned = State; - if (!Stunned) { - start-script ExecuteRestoreAfterDelay(); - } -} -RestoreAfterDelay() -{ - sleep restore_delay; - start-script ExecuteRestoreAfterDelay(); -} - -AimWeapon1(heading, pitch) -{ - // Only calls OpenCloseAnim(1) and the rest of the AimWeapon function - // if the time left to shoot is less that 5 seconds. - frameslefttoshot = (GET WEAPON_RELOADSTATE(1)) - (GET GAME_FRAME); - if (frameslefttoshot > 150) - { - return (0); - } - start-script OpenCloseAnim(1); - - isAiming = 1; - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; - while( !AboveGround ) - { - sleep 250; - } - aimy1target = heading; - aimy1delta = aimy1target - aimy1position; - - segtarget = -1 * pitch / 6; - segdelta = segtarget - segposition; - - while (get ABS(aimy1delta) > <10>){ - sleep 30; - } - #if (SPIT ==1) - frameslefttoshot = (GET WEAPON_RELOADSTATE(1)) - (GET GAME_FRAME); - - if (frameslefttoshot < 15){ // GET WEAPON_RELOADSTATE(1) gives the frame weapon 1 can fire on - // if we can fire in 10 frames, do the spit - - segtarget = segtarget -500; - segacceleration = 10 * SEG_ACCELERATION; - sleep 150; - - segtarget = segtarget - SPIT; - - sleep 150; - segacceleration = SEG_ACCELERATION; - - } - #endif - - // once we are pretty near to the target heading, as above, we need to do a quick shooty anim: - - isAiming = 0; - start-script RestoreAfterDelay(); - return (1); -} - -Shot1() -{ - //call-script lua_FlameShot(1); - //emit-sfx 1024 + 0 from flare; - //segtarget = segtarget + (Rand( 100, 200 )); - //aimy1target = aimy1target + (Rand( 0, 400 ) - 200); - return (TRUE); -} - - -//Needs defines before usage: -//UNITSIZE 1-20, small for small units, large for large units, -//MAXTILT ~100, how much unit should move -//BASEPIECE piecename, -//HITSPEED <55>, for small units, <15> for large units - - -// angle[x|z] is always [-500;500], damage is multiplied by 100 -// thus if our maxtilt is 100/100, then we get 500, which is about 2.7 degrees of max tilt, which should also kind of scale with unitsize, e.g. smaller units should tilt more, while larger less -// - -// hitspeed should be a part of unitsize, to simplify scaling -HitByWeapon(anglex, anglez, damage) // angle[x|z] is always [-500;500], damage is multiplied by 100 -{ - var amount;//, speedz, speedx; - amount = damage / (10 * WORMSIZE); - var randpiece; - randpiece = 0; - if (amount < 3 ) return (0); - //if (RAND(1, MAXTILT) < amount){ - if (1){ - randpiece = RAND(1, 3); - if (randpiece == 1) emit-sfx 1024 from base; - if (randpiece == 2) emit-sfx 1024 from seg1; - if (randpiece == 3) emit-sfx 1024 from seg2; - } - if (amount > 100){ - amount = 100; - } - if (anglex ==0 ) { //this happens when hit by lasers - if (anglez == 0){ - amount = amount / 2; - anglex = RAND(1,500); - anglez = RAND(1,500); - } - } - - segtarget = segtarget + ((Rand( 0, amount ) - amount / 2))/6; - aimy1target = aimy1target + (Rand( 0, amount ) - amount / 2); -} - -static-var isSmoking; -DamagedSmoke(healthpercent, randpiece) // ah yes, clever use of stack variables -{ - var healthpercent; - var randpiece; - while( TRUE ) - { - healthpercent = get HEALTH; - - if( healthpercent < 65 ) - { - randpiece = RAND(1, 3); - if (randpiece == 1) emit-sfx 1024 from base; - if (randpiece == 2) emit-sfx 1024 from head; - if (randpiece == 3) emit-sfx 1024 from seg3; - } - else { - isSmoking = 0; - return; - //break; // bos2cob.py does not like this one! - } - if (healthpercent < 4) healthpercent = 4; - sleep healthpercent * 50; - } - sleep 97; - isSmoking = 0; -} - -HitByWeaponId(anglex, anglez, weaponid, dmg) //weaponID is always 0,lasers and flamers give angles of 0 -{ - if( get BUILD_PERCENT_LEFT) return (100); - if (isSmoking == 0) { - isSmoking = 1; - start-script DamagedSmoke(); - } - //get PRINT(anglex, anglez, weaponid, dmg); - start-script HitByWeapon(dmg, anglez,anglex); //I dont know why param order must be switched, and this also runs a frame later :( - return (100); //return damage percent -} - - -FireWeapon1() -{ - //segtarget = segtarget + get RAND(0, 10000); - #if (RECOIL > 0) - segtarget = segtarget - RECOIL; - segacceleration = 10 * SEG_ACCELERATION; - sleep 150; - - segtarget = segtarget + 000; - - sleep 150; - segacceleration = SEG_ACCELERATION; - #endif -} - -QueryWeapon1(pieceIndex) -{ - pieceIndex = flare; -} - - - -AimFromWeapon1(pieceIndex) -{ - pieceIndex = head; -} - -Killed(severity, corpsetype) -{ - move base to y-axis [-0.2] * WORMSIZE speed [0.1] * WORMSIZE; - var randSeverity; - randSeverity = RAND(0,severity); - - //get PRINT(severity, randSeverity); - //Head pops off an it recedes - if (randSeverity >= 0) { - emit-sfx 1025 from head; - explode head type FALL | NOHEATCLOUD; - hide head; - } - - if (randSeverity >= 10) { - emit-sfx 1025 from seg5; - explode seg5 type FALL | NOHEATCLOUD; - hide seg5; - } - - if (randSeverity >= 20) { - emit-sfx 1025 from seg4; - explode seg4 type FALL | NOHEATCLOUD; - hide seg4; - } - if (randSeverity >= 30) { - emit-sfx 1025 from seg3; - explode seg3 type FALL | NOHEATCLOUD; - hide seg3; - } - if (randSeverity >= 40) { - emit-sfx 1025 from seg2; - explode seg2 type FALL | NOHEATCLOUD; - hide seg2; - } - if (randSeverity >= 50) { - emit-sfx 1025 from seg1; - explode seg1 type FALL | NOHEATCLOUD; - hide seg1; - } - if (randSeverity <= 50) { - //get PRINT(severity, randSeverity, 666, 666); - call-script OpenCloseAnim(0); - sleep 1500; - corpsetype = 1; - }else{ - //get PRINT(severity, randSeverity, 555, 555); - corpsetype = 2; - } - return(corpsetype); -} \ No newline at end of file diff --git a/scripts/Raptors/raptora1.bos b/scripts/Raptors/raptora1.bos index 2bd71c9b6a0..0da5a332cad 100644 --- a/scripts/Raptors/raptora1.bos +++ b/scripts/Raptors/raptora1.bos @@ -1,12 +1,13 @@ piece base,body,head,tail,lthigh,lknee,lshin,lfoot,rthigh,rknee,rshin,rfoot,lforearml,lbladel,rforearml,rbladel,lforearmu,lbladeu,rforearmu,rbladeu,aimy1; // Signal definitions -#define SIGNAL_AIM1 256 -#define SIGNAL_AIM2 512 +#define SIG_AIM 2 +#define SIG_AIM_2 4 -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" -static-var gun_1,maxSpeed, animFramesPerKeyframe, isMoving, animSpeed, isDying,aaheading, aapitch; +static-var gun_1,maxSpeed, animFramesPerKeyframe, bMoving, animSpeed, isDying,aaheading, aapitch; // For N:\animations\Raptors\raptor_walk_remaster_v2.blend Created by https://github.com/Beherith/Skeletor_S3O V((0, 3, 5)) #define MOVESCALE 63 //Higher values are bigger, 100 is default @@ -16,7 +17,7 @@ static-var gun_1,maxSpeed, animFramesPerKeyframe, isMoving, animSpeed, isDying,a #define RUHAND rforearmu #define LLHAND lforearml //define these as the left and right head thingies #define RLHAND rforearml -#define SIGNAL_MOVE 1 +#define SIG_WALK 64 //these defines are needed before includes! #include "raptor_walk_2legged_v2.h" #define IDLEMOVESCALE 63 @@ -45,29 +46,29 @@ static-var gun_1,maxSpeed, animFramesPerKeyframe, isMoving, animSpeed, isDying,a #include "raptor_create_move_swim.h" -AimFromWeapon1(pieceIndex) - { pieceIndex=head; } +AimFromPrimary(piecenum) + { piecenum=head; } -QueryWeapon1(pieceIndex) - { pieceIndex=head; } +QueryPrimary(piecenum) + { piecenum=head; } -AimFromWeapon2(pieceIndex) - { pieceIndex=head; } +AimFromSecondary(piecenum) + { piecenum=head; } -QueryWeapon2(pieceIndex) - { pieceIndex=head; } +QuerySecondary(piecenum) + { piecenum=head; } -AimWeapon1(heading,pitch) +AimPrimary(heading,pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; if (heading > <60> ) heading = <60>; if (heading < <-60> ) heading = <-60>; if (pitch > <60> ) pitch = <60>; if (pitch < <-60> ) pitch = <-60>; - turn aimy1 to y-axis heading speed <250.0>; - turn aimy1 to x-axis <0.0> - pitch speed <200.0>; + turn aimy1 to y-axis heading speed <250.000000>; + turn aimy1 to x-axis <0.000000> - pitch speed <200.000000>; //wait-for-turn head around y-axis; start-script RestoreAfterDelay(); @@ -75,7 +76,7 @@ AimWeapon1(heading,pitch) return(TRUE); } -AimWeapon2(heading,pitch) +AimSecondary(heading,pitch) { aapitch = pitch; aaheading = heading; diff --git a/scripts/Raptors/raptora1.cob b/scripts/Raptors/raptora1.cob index 63faa4c4ea885540e95d2d0258a9efbac3ea5ce3..e91c17f0c9dd20c391da7c815dc5dcbd132abf29 100644 GIT binary patch literal 69988 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⪙O-$dS?qq4toYxN#iC(}z=D(}F{eQd81 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 literal 68950 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 <60> ) heading = <60>; if (heading < <-60> ) heading = <-60>; if (pitch > <60> ) pitch = <60>; if (pitch < <-60> ) pitch = <-60>; - turn aimy1 to y-axis heading speed <250.0>; - turn aimy1 to x-axis <0.0> - pitch speed <200.0>; + turn aimy1 to y-axis heading speed <250.000000>; + turn aimy1 to x-axis <0.000000> - pitch speed <200.000000>; //wait-for-turn head around y-axis; start-script RestoreAfterDelay(); @@ -84,7 +85,7 @@ AimWeapon1(heading,pitch) return(TRUE); } -AimWeapon2(heading,pitch) +AimSecondary(heading,pitch) { aapitch = pitch; aaheading = heading; diff --git a/scripts/Raptors/raptora1b.cob b/scripts/Raptors/raptora1b.cob index a92f834549a1aba40773237b342eef5c1159008a..852d865cf5b498165528f0c547be64a2967ed132 100644 GIT binary patch literal 69988 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 literal 68950 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 diff --git a/scripts/Raptors/raptora1c.bos b/scripts/Raptors/raptora1c.bos index c165460c87b..ec3923e2792 100644 --- a/scripts/Raptors/raptora1c.bos +++ b/scripts/Raptors/raptora1c.bos @@ -2,13 +2,14 @@ piece base, body, head,tail,lthigh,lknee,lshin,lfoot,rthigh,rknee,rshin,rfoot,lf // Signal definitions -#define SIGNAL_AIM1 256 -#define SIGNAL_AIM2 512 +#define SIG_AIM 2 +#define SIG_AIM_2 4 -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" -static-var gun_1,maxSpeed, animFramesPerKeyframe, isMoving, animSpeed,aaheading, aapitch,isDying; +static-var gun_1,maxSpeed, animFramesPerKeyframe, bMoving, animSpeed,aaheading, aapitch,isDying; // For N:\animations\Raptors\raptor_walk_remaster_v2.blend Created by https://github.com/Beherith/Skeletor_S3O V((0, 3, 5)) #define MOVESCALE 67 //Higher values are bigger, 100 is default @@ -18,7 +19,7 @@ static-var gun_1,maxSpeed, animFramesPerKeyframe, isMoving, animSpeed,aaheading, #define RUHAND rforearmu #define LLHAND lforearml //define these as the left and right head thingies #define RLHAND rforearml -#define SIGNAL_MOVE 1 +#define SIG_WALK 64 //these defines are needed before includes! #include "raptor_walk_2legged_v2.h" @@ -49,31 +50,31 @@ static-var gun_1,maxSpeed, animFramesPerKeyframe, isMoving, animSpeed,aaheading, #include "raptor_create_move_swim.h" -AimFromWeapon1(pieceIndex) - { pieceIndex=head; } +AimFromPrimary(piecenum) + { piecenum=head; } -QueryWeapon1(pieceIndex) - { pieceIndex=head; } +QueryPrimary(piecenum) + { piecenum=head; } -AimFromWeapon2(pieceIndex) - { pieceIndex=head; } +AimFromSecondary(piecenum) + { piecenum=head; } -QueryWeapon2(pieceIndex) - { pieceIndex=head; } +QuerySecondary(piecenum) + { piecenum=head; } -AimWeapon1(heading,pitch) +AimPrimary(heading,pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; if (heading > <60> ) heading = <60>; if (heading < <-60> ) heading = <-60>; if (pitch > <60> ) pitch = <60>; if (pitch < <-60> ) pitch = <-60>; - turn aimy1 to y-axis heading speed <250.0>; - turn aimy1 to x-axis <0.0> - pitch speed <200.0>; + turn aimy1 to y-axis heading speed <250.000000>; + turn aimy1 to x-axis <0.000000> - pitch speed <200.000000>; //wait-for-turn head around y-axis; start-script RestoreAfterDelay(); @@ -81,7 +82,7 @@ AimWeapon1(heading,pitch) return(TRUE); } -AimWeapon2(heading,pitch) +AimSecondary(heading,pitch) { aapitch = pitch; aaheading = heading; diff --git a/scripts/Raptors/raptora1c.cob b/scripts/Raptors/raptora1c.cob index 818e8383ed85888b0316f862b9842c6543e59476..e831ead7b0d6e399d1d3c78374bd4ff091d093b0 100644 GIT binary patch literal 69988 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 Yh+?J+W@;XTPXRMEH+1y)>1}iW542?I?EnA( literal 68938 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 <60> ) heading = <60>; if (heading < <-60> ) heading = <-60>; if (pitch > <60> ) pitch = <60>; if (pitch < <-60> ) pitch = <-60>; - turn aimy1 to y-axis heading speed <250.0>; - turn aimy1 to x-axis <0.0> - pitch speed <200.0>; + turn aimy1 to y-axis heading speed <250.000000>; + turn aimy1 to x-axis <0.000000> - pitch speed <200.000000>; wait-for-turn head around y-axis; start-script RestoreAfterDelay(); @@ -81,7 +82,7 @@ AimWeapon1(heading,pitch) return(TRUE); } -AimWeapon2(heading,pitch) +AimSecondary(heading,pitch) { aapitch = pitch; aaheading = heading; diff --git a/scripts/Raptors/raptora2.cob b/scripts/Raptors/raptora2.cob index 222711237110b1572c79b5c0d6ea29af595ccb3b..47d2417740b3e34dc5e79693a98b4f6b861558c7 100644 GIT binary patch literal 70000 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 literal 68962 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 NLT>mm6Q;G!{XgB3uwVcH diff --git a/scripts/Raptors/raptora2b.bos b/scripts/Raptors/raptora2b.bos index 134ae4f77a0..0c8acb3ca9b 100644 --- a/scripts/Raptors/raptora2b.bos +++ b/scripts/Raptors/raptora2b.bos @@ -2,13 +2,14 @@ piece base, body, head,tail,lthigh,lknee,lshin,lfoot,rthigh,rknee,rshin,rfoot,lf // Signal definitions -#define SIGNAL_AIM1 256 -#define SIGNAL_AIM2 512 +#define SIG_AIM 2 +#define SIG_AIM_2 4 -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" -static-var gun_1,maxSpeed, animFramesPerKeyframe, isMoving, animSpeed,aaheading, aapitch,isDying; +static-var gun_1,maxSpeed, animFramesPerKeyframe, bMoving, animSpeed,aaheading, aapitch,isDying; // For N:\animations\Raptors\raptor_walk_remaster_v2.blend Created by https://github.com/Beherith/Skeletor_S3O V((0, 3, 5)) #define MOVESCALE 100 //Higher values are bigger, 100 is default @@ -18,7 +19,7 @@ static-var gun_1,maxSpeed, animFramesPerKeyframe, isMoving, animSpeed,aaheading, #define RUHAND rforearmu #define LLHAND lforearml //define these as the left and right head thingies #define RLHAND rforearml -#define SIGNAL_MOVE 1 +#define SIG_WALK 64 //these defines are needed before includes! #include "raptor_walk_2legged_v2.h" @@ -51,31 +52,31 @@ static-var gun_1,maxSpeed, animFramesPerKeyframe, isMoving, animSpeed,aaheading, #include "raptor_create_move_swim.h" -AimFromWeapon1(pieceIndex) - { pieceIndex=head; } +AimFromPrimary(piecenum) + { piecenum=head; } -QueryWeapon1(pieceIndex) - { pieceIndex=head; } +QueryPrimary(piecenum) + { piecenum=head; } -AimFromWeapon2(pieceIndex) - { pieceIndex=head; } +AimFromSecondary(piecenum) + { piecenum=head; } -QueryWeapon2(pieceIndex) - { pieceIndex=head; } +QuerySecondary(piecenum) + { piecenum=head; } -AimWeapon1(heading,pitch) +AimPrimary(heading,pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; if (heading > <60> ) heading = <60>; if (heading < <-60> ) heading = <-60>; if (pitch > <60> ) pitch = <60>; if (pitch < <-60> ) pitch = <-60>; - turn aimy1 to y-axis heading speed <250.0>; - turn aimy1 to x-axis <0.0> - pitch speed <200.0>; + turn aimy1 to y-axis heading speed <250.000000>; + turn aimy1 to x-axis <0.000000> - pitch speed <200.000000>; //wait-for-turn head around y-axis; start-script RestoreAfterDelay(); @@ -83,7 +84,7 @@ AimWeapon1(heading,pitch) return(TRUE); } -AimWeapon2(heading,pitch) +AimSecondary(heading,pitch) { aapitch = pitch; aaheading = heading; diff --git a/scripts/Raptors/raptora2b.cob b/scripts/Raptors/raptora2b.cob index 5828b055b855e63f8bb345b97a9224bb7b98a5ba..e7b4adf0769fdbfa31567b874d6edb7d9a24c2fc 100644 GIT binary patch literal 69988 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 e$l6&SX}?kc diff --git a/scripts/Raptors/raptorairscout.bos b/scripts/Raptors/raptorairscout.bos index ecdba54095b..166cd91de1a 100644 --- a/scripts/Raptors/raptorairscout.bos +++ b/scripts/Raptors/raptorairscout.bos @@ -1,19 +1,24 @@ piece body,head,tail,lblade,mblade,rblade,rsack,lsack,rowing,lowing, riwing, liwing; // Signal definitions -#define SIGNAL_AIM1 256 -#define SIGNAL_AIM2 512 -#define SIGNAL_MOVE 1 +#define SIG_AIM 2 +#define SIG_AIM_2 4 +#define SIG_MOVE 16 -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" + + +#include "sfxtype.h" +#include "exptype.h" // For N:\animations\Raptors\raptor_flight_2seg_anim_v1.blend Created by https://github.com/Beherith/Skeletor_S3O V((0, 3, 3)) #define MOVESCALE 200 #define MOVESPEED 3 // this animation uses the static-var animFramesPerKeyframe which contains how many frames each keyframe takes -static-var maxSpeed, animFramesPerKeyframe, isMoving, deltaSpeed; -#define SIGNAL_MOVE 1 +static-var maxSpeed, animFramesPerKeyframe, bMoving, deltaSpeed; +#define SIG_WALK 1 #include "raptor_fly.h" static-var nowSpeed, prevSpeed; @@ -42,14 +47,14 @@ UnitSpeed(){ //animSpeed = 3; } -StartMoving(reversing){ - signal SIGNAL_MOVE; - isMoving=TRUE; +StartMoving(){ + signal SIG_WALK; + bMoving=TRUE; start-script Walk(); } StopMoving(){ - signal SIGNAL_MOVE; - isMoving=FALSE; + signal SIG_WALK; + bMoving=FALSE; call-script StopWalking(); } @@ -64,20 +69,24 @@ Create() start-script UnitSpeed(); } +SweetSpot(piecenum) + { piecenum=body; } + +AimFromPrimary(piecenum) + { piecenum=head; } - -QueryWeapon1(pieceIndex) - { pieceIndex=head; } +QueryPrimary(piecenum) + { piecenum=head; } RestoreAfterDelay() { sleep 1000; } -AimWeapon1(heading,pitch) +AimPrimary(heading,pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; turn head to x-axis 0 -pitch speed <200>; wait-for-turn head around y-axis; start-script RestoreAfterDelay(); diff --git a/scripts/Raptors/raptorairscout.cob b/scripts/Raptors/raptorairscout.cob index 30a94d45fb8d2f930187ef1ed4dc095ba51d2271..c5e00cb0a06a0ee7d8f8ed9c3c196703aa38cf66 100644 GIT binary patch delta 1045 zcmZ{jUr1AN6vuz(-s#-h?5_D|I@@NFb9cYdoKcY$i4q2eg_R=&H6|%2(`AGY;R4Br zG??c_10x>{BKpUD5W;-&twBi-8B9o!3i=N|C{*kGZu7*{EkdCrCvCZjCZ9Yx!?4NZ(@q!; z0zAMQk{g3L7QC0WDu-6>_}zU0m$UsaiTxfwP8c}08^hA6HFRaE+N!Y&;4_{!`7zJJ zu!+KAB(9N zDs4H}2-4`1t}6jyv(gf(`k) zgiW^d$O|~k;k4C_aiax?3sO)=;hQP3-Vvr%ryO;XUSNxyek1EmM4TKJw1kuL&g0LL zTmSbt?&5F-6HY&dU0iBj*BgH7O2JJWbI;1@w=TUl+PD@2{7$FG%@w%j;c!_iEk)Se zc+ol)s%qA-_4*|MEK zQJ*V`_`YmK%<6w#9d;BctXq*FNtO16Y-7sMaUt#nuL|uLlhAn!W&|C79gXFI7-wK4I#V}tlr;z rt+R8Wxi31vYP)++#-hDvV%@zRu|anBYG-UP^MNbD0^_FrC)o8Di*54- delta 850 zcmZwFPe@cj7y$73W}o}7=k{z#&8=M*P2KlK*++*0O|(2nB&Gzr9YVKUv9Pqwz&*9W zRtNL2`&~j-NU#XPFeca_Jn5~!9s&<5R7gR1DDq&3u!-~kLf zRlHZWflq4$F506ogI8(|ysHQtbVPag7W&I{x#1WA*u)-}VS_b)rZ;4J^^)V562iBx zG(Z2t8iXmgfHQKz-3pMx4>VoUWylWI34FSMkKH=1r~>xLx$@nB1-qbit$Q56r`C!| zO%w11k7{{qq0l3P6?p(B#;OcdymxROtb!%)06-WkoPo?&6}$Hq`?Hl%c#d=B0Zchm zOjj1*7?l<0!LDlBk({kQ&Wme`V23Jj$R}V~W_&c)5`No1_1~Rk{Q?r0@fjHP3*Nt7 z+~T6Y05@?ukjF_Et%r^(qOhMkJ6U%VZq*7Hmcbyx?_6Uj(CHa>RQWc~506Jv>Z=kP>4 T(G?$!C0XZ%OQj@!Hb;H|B@fs? diff --git a/scripts/Raptors/raptorallterraina1.bos b/scripts/Raptors/raptorallterraina1.bos index 309cee9e442..2870ce15b01 100644 --- a/scripts/Raptors/raptorallterraina1.bos +++ b/scripts/Raptors/raptorallterraina1.bos @@ -6,13 +6,14 @@ piece base, body, head,tail,lforearml,lbladel,rforearml,rbladel,lforearmu,lblade // Signal definitions -#define SIGNAL_AIM1 256 -#define SIGNAL_AIM2 512 -#define SIGNAL_MOVE 1 +#define SIG_AIM 2 +#define SIG_AIM_2 4 +#define SIG_MOVE 16 -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" -static-var gun_1,maxSpeed, animFramesPerKeyframe, isMoving, animSpeed, isDying, aaheading, aapitch; +static-var gun_1,maxSpeed, animFramesPerKeyframe, bMoving, animSpeed, isDying, aaheading, aapitch; // For N:\animations\Raptors\raptor_walk_remaster_v2.blend Created by https://github.com/Beherith/Skeletor_S3O V((0, 3, 5)) #define MOVESCALE 70 //Higher values are bigger, 100 is default @@ -22,7 +23,7 @@ static-var gun_1,maxSpeed, animFramesPerKeyframe, isMoving, animSpeed, isDying, #define RUHAND rforearmu #define LLHAND lforearml //define these as the left and right head thingies #define RLHAND rforearml -#define SIGNAL_MOVE 1 +#define SIG_WALK 64 //these defines are needed before includes! #include "raptor_walk_allterrain.h" @@ -51,29 +52,29 @@ static-var gun_1,maxSpeed, animFramesPerKeyframe, isMoving, animSpeed, isDying, #include "raptor_killed_allterrain.h" -AimFromWeapon1(pieceIndex) - { pieceIndex=head; } +AimFromPrimary(piecenum) + { piecenum=head; } -QueryWeapon1(pieceIndex) - { pieceIndex=head; } +QueryPrimary(piecenum) + { piecenum=head; } -AimFromWeapon2(pieceIndex) - { pieceIndex=head; } +AimFromSecondary(piecenum) + { piecenum=head; } -QueryWeapon2(pieceIndex) - { pieceIndex=head; } +QuerySecondary(piecenum) + { piecenum=head; } -AimWeapon1(heading,pitch) +AimPrimary(heading,pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; if (heading > <60> ) heading = <60>; if (heading < <-60> ) heading = <-60>; if (pitch > <60> ) pitch = <60>; if (pitch < <-60> ) pitch = <-60>; - turn aimy1 to y-axis heading speed <250.0>; - turn aimy1 to x-axis <0.0> - pitch speed <200.0>; + turn aimy1 to y-axis heading speed <250.000000>; + turn aimy1 to x-axis <0.000000> - pitch speed <200.000000>; //wait-for-turn head around y-axis; start-script RestoreAfterDelay(); @@ -81,7 +82,7 @@ AimWeapon1(heading,pitch) return(TRUE); } -AimWeapon2(heading,pitch) +AimSecondary(heading,pitch) { aapitch = pitch; aaheading = heading; diff --git a/scripts/Raptors/raptorallterraina1.cob b/scripts/Raptors/raptorallterraina1.cob index b2112d18ed1b7db7223ba73ee72b7c79f1c9c0bb..360adac36d2441a868f583472c6a8d49472d26fd 100644 GIT binary patch delta 18753 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 Vk2hHBZiqphrJ318ugntv{y$ <60> ) heading = <60>; if (heading < <-60> ) heading = <-60>; if (pitch > <60> ) pitch = <60>; if (pitch < <-60> ) pitch = <-60>; - turn aimy1 to y-axis heading speed <250.0>; - turn aimy1 to x-axis <0.0> - pitch speed <200.0>; + turn aimy1 to y-axis heading speed <250.000000>; + turn aimy1 to x-axis <0.000000> - pitch speed <200.000000>; //wait-for-turn head around y-axis; start-script RestoreAfterDelay(); @@ -81,7 +82,7 @@ AimWeapon1(heading,pitch) return(TRUE); } -AimWeapon2(heading,pitch) +AimSecondary(heading,pitch) { aapitch = pitch; aaheading = heading; diff --git a/scripts/Raptors/raptorapexallterraina.cob b/scripts/Raptors/raptorapexallterraina.cob index f27fad21ec387c65f97e1108d187aa7003fff344..fc094c11834719ba29ae695e9ece8d9400dc359f 100644 GIT binary patch delta 18792 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 delta 17660 zcmb7M3w%u1)}K8|n8T<{_Z%XVkP&evh?o|MPC~+^ly)*jON&ZF(R!sXw6sZ8>)DER zIVdVEMX8#q(w0j4L@8-+dnsD!t)lgcRy{8D{nwc@?c9v-``vGTzkPDf*{`+NT6?|r zI$2R2`{DjrZ>+^)X^fJL((5*hr5^tBuOMAm)}h#12}>J1PsU#nZ;cma-iO2_3fiQo zC<{vQD;2t=I77j$KG8yVScMebsHT?`+ez$_R3MyUAPpBj@hX+0Zi8Mdgrp<4ImI88 z-&~4~RD;)9RQ9=~1glfs@3vTCF%QFK$%~2SIlrfTYmsP7fm?Af5-s z=BPvCF>{I~-pLT)#}ITQ_peg?NR_dEF^wE?662TODuqgA>5}@yIkBd~I8Ak4x^|8G z@(}#vzRBchAZbHfj%Z0imz-B;nDA0zTPennw?K*p=CW+Gx{h5uNac#8k^(0ks^by! zxgG7pQ=7WZc^(_}teYanlRF?q9jZ)}G`DV!Xi9DeFj_ZHJV9<-7qN#5ZJM}3?hMT! zlwa&8q4>o%3gD_>0>9`^HHs#>Q1MMt9eyPQ^NoPlYQnsY^6N>FLe&$ba8cz=k|x)4 ziX&83&nF6LPd!cj7c&i3dISFOk5{^r0=uO6n3C)J(hq+WO`|2pLNhf9bqVnkmDZPH z4OO<}o}#^^vp+g%Uwx-|nU2=i#CuddSc(F2+coh8^}=X~(?YwGN^Z2# z@uPOCusc=R7J~z>1`%`2rxWPcndu;@jJODIyTpvM~c#CZxf(8P2q`&80N z)V)E02PJuKaEcGeJpgQsyGL|)1CV(lZu4l)4cvSauJh?Iu79VvhML-hcM&FcMNHno zSYRoYwvxhTFwGG1=1MVz${I@b(Jw+Mkr6$HFlj{#Dtr=TZRn(&OdD+(Xiq=-vo&gK zOic{U$kgB;lfgmWc%S%=#>D%@EZP>Y=@m9ieeoN+I7ww4r0R%6OMn?;bP080F4Dxq zRNVo)z%kz7BCy_XIp${1BkzqqbGJLF^u{9bC6%6&=|yKl3t%|-#{k526H$PkA-B}5 z*Dla)@|N_w@}e8`W{Lr*M#eCqfp$|hM8vyPDYf*j;;(wX<%#xojK;_gayT`ymOA13 z6csupnEf%QU;PLusx4R`yn<5g-6%Gyri6s*r*^GuG(b%e$0(>V9HpnEI7{WKREI8$ zp7}khijj0k^@veawOi8o);3CMWEY=PMk7rW8+&mb1;i0#Q1+fbfQp64_PLPl_ z(-JiC4|*d(Q}1sQ4fP^Ak>D3Pb!t)sX2%8ucL$sJLSkiJqQ}}pp&^dW^}ex%aBeA~ zhZAQ)7F=3dYek&A;<4h4B;imue)~b8k21plNhp{ z5|Ub=DmRI_walP&X_^#usXR%lVP=j)C%|cCpl6iEe9R;-)*Pt zlmazlU^MrQp~_>-2f-Ad=s-azl{gY^pJ+w7Zf)KjHp zuo+IuYvDBM$vWNC?=%;0S${zP_I1X5v{sO>M-w{UqPyJ5 z#ug;fjy`r;f{NwXkSuz!6@`;dX%p0j&qlL$cdA}4tvdqL^s7XQFSm<}hB*+!J1^$l z?pFGxSu$Pm*wh7!qX8@=N2L_E8%%ta^3$bSa8tC@>O+p

    $(29k$eBZsv)E2m*DS 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 diff --git a/scripts/Raptors/raptorartillery.bos b/scripts/Raptors/raptorartillery.bos index 165b5165c6b..9d57b69b287 100644 --- a/scripts/Raptors/raptorartillery.bos +++ b/scripts/Raptors/raptorartillery.bos @@ -1,16 +1,17 @@ piece rig_Raptor_Artillery_Root, rig_Raptor_Artillery_Thorax, rig_Raptor_Artillery_Leg_Front1_L, rig_Raptor_Artillery_Leg_Front2_L, rig_Raptor_Artillery_Leg_Front3_L, rig_Raptor_Artillery_Leg_Middle1_L, rig_Raptor_Artillery_Leg_Middle2_L, rig_Raptor_Artillery_Leg_Middle3_L, rig_Raptor_Artillery_Leg_Back1_L, rig_Raptor_Artillery_Leg_Back2_L, rig_Raptor_Artillery_Leg_Back3_L, rig_Raptor_Artillery_Tail1, rig_Raptor_Artillery_Tail2, rig_Raptor_Artillery_Tail3, rig_Raptor_Artillery_Tail4, rig_Raptor_Artillery_Tail5, rig_Raptor_Artillery_Leg_Front1_R, rig_Raptor_Artillery_Leg_Front2_R, rig_Raptor_Artillery_Leg_Front3_R, rig_Raptor_Artillery_Leg_Middle1_R, rig_Raptor_Artillery_Leg_Middle2_R, rig_Raptor_Artillery_Leg_Middle3_R, rig_Raptor_Artillery_Leg_Back1_R, rig_Raptor_Artillery_Leg_Back2_R, rig_Raptor_Artillery_Leg_Back3_R, rig_Raptor_Artillery_Wing_L, rig_Raptor_Artillery_Wing_R; -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" -#define SIGNAL_AIM1 256 +#define SIG_AIM 2 -static-var maxSpeed, animFramesPerKeyframe, isMoving, animSpeed, isDying, gun_1; +static-var maxSpeed, animFramesPerKeyframe, bMoving, animSpeed, isDying, gun_1; // For N:\animations\Raptors\raptor_walk_remaster_v2.blend Created by https://github.com/Beherith/Skeletor_S3O V((0, 3, 5)) #define MOVESCALE 1000 // Higher values are bigger, 100 is default, for bigger/smaller units #define MOVESPEED 3 // At this movespeed and animamplitude, the ideal maxvelocity is 2.1 #define animAmplitude 100 -#define SIGNAL_MOVE 1 +#define SIG_WALK 64 //these defines are needed before includes! #include "raptorartillery_walk_6legged.h" // For C:\Users\Peti\Downloads\Raptor_Artillery_BAKED(2).blend Created by https://github.com/Beherith/Skeletor_S3O V((0, 4, 1)) @@ -18,12 +19,12 @@ static-var maxSpeed, animFramesPerKeyframe, isMoving, animSpeed, isDying, gun_1; //#define MOVESCALE 100 //Higher values are bigger, 100 is default //static-var animAmplitude; //Higher values are bigger, 100 is default // this animation uses the static-var animFramesPerKeyframe which contains how many frames each keyframe takes -//static-var animSpeed, maxSpeed, animFramesPerKeyframe, isMoving; -//#define SIGNAL_MOVE 1 +//static-var animSpeed, maxSpeed, animFramesPerKeyframe, bMoving; +//#define SIG_WALK 4 /* Walk() {// For C:\Users\Peti\Downloads\Raptor_Artillery_BAKED(2).blend Created by https://github.com/Beherith/Skeletor_S3O V((0, 4, 1)) - set-signal-mask SIGNAL_MOVE; - if (isMoving) { //Frame:2 + set-signal-mask SIG_WALK; + if (bMoving) { //Frame:2 turn rig_Raptor_Artillery_Leg_Back1_L to x-axis ((<-23.461623> *animAmplitude)/100) speed ((<669.069328> *animAmplitude)/100) / animSpeed; turn rig_Raptor_Artillery_Leg_Back1_L to z-axis ((<6.587734> *animAmplitude)/100) speed ((<14.171661> *animAmplitude)/100) / animSpeed; turn rig_Raptor_Artillery_Leg_Back1_L to y-axis ((<5.941185> *animAmplitude)/100) speed ((<45.436963> *animAmplitude)/100) / animSpeed; @@ -50,7 +51,7 @@ Walk() {// For C:\Users\Peti\Downloads\Raptor_Artillery_BAKED(2).blend Created b turn rig_Raptor_Artillery_Leg_Front1_R to y-axis ((<-8.605745> *animAmplitude)/100) speed ((<124.166692> *animAmplitude)/100) / animSpeed; turn rig_Raptor_Artillery_Leg_Front2_L to x-axis ((<2.307427> *animAmplitude)/100) speed ((<82.803877> *animAmplitude)/100) / animSpeed; turn rig_Raptor_Artillery_Leg_Front2_L to z-axis ((<-3.385443> *animAmplitude)/100) speed ((<89.818612> *animAmplitude)/100) / animSpeed; - turn rig_Raptor_Artillery_Leg_Front2_L to y-axis ((<-3.183454> *animAmplitude)/100) speed ((<89.0> *animAmplitude)/100) / animSpeed; + turn rig_Raptor_Artillery_Leg_Front2_L to y-axis ((<-3.183454> *animAmplitude)/100) speed ((<89.000146> *animAmplitude)/100) / animSpeed; turn rig_Raptor_Artillery_Leg_Front2_R to x-axis ((<-5.295722> *animAmplitude)/100) speed ((<262.828258> *animAmplitude)/100) / animSpeed; turn rig_Raptor_Artillery_Leg_Front2_R to z-axis ((<0.286927> *animAmplitude)/100) speed ((<124.287194> *animAmplitude)/100) / animSpeed; turn rig_Raptor_Artillery_Leg_Front2_R to y-axis ((<-1.328029> *animAmplitude)/100) speed ((<503.406656> *animAmplitude)/100) / animSpeed; @@ -92,8 +93,8 @@ Walk() {// For C:\Users\Peti\Downloads\Raptor_Artillery_BAKED(2).blend Created b turn rig_Raptor_Artillery_Wing_R to y-axis ((<-11.470954> *animAmplitude)/100) speed ((<50.879001> *animAmplitude)/100) / animSpeed; sleep ((33*animSpeed) -1); } - while(isMoving) { - if (isMoving) { //Frame:4 + while(bMoving) { + if (bMoving) { //Frame:4 turn rig_Raptor_Artillery_Leg_Back1_L to x-axis ((<-24.997109> *animAmplitude)/100) speed ((<46.064589> *animAmplitude)/100) / animSpeed; turn rig_Raptor_Artillery_Leg_Back1_L to z-axis ((<2.511068> *animAmplitude)/100) speed ((<122.299976> *animAmplitude)/100) / animSpeed; turn rig_Raptor_Artillery_Leg_Back1_L to y-axis ((<-2.154120> *animAmplitude)/100) speed ((<242.859130> *animAmplitude)/100) / animSpeed; @@ -169,7 +170,7 @@ Walk() {// For C:\Users\Peti\Downloads\Raptor_Artillery_BAKED(2).blend Created b turn rig_Raptor_Artillery_Wing_R to y-axis ((<-12.123821> *animAmplitude)/100) speed ((<19.586011> *animAmplitude)/100) / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:6 + if (bMoving) { //Frame:6 turn rig_Raptor_Artillery_Leg_Back1_L to x-axis ((<17.733447> *animAmplitude)/100) speed ((<1281.916695> *animAmplitude)/100) / animSpeed; turn rig_Raptor_Artillery_Leg_Back1_L to z-axis ((<-1.711086> *animAmplitude)/100) speed ((<126.664620> *animAmplitude)/100) / animSpeed; turn rig_Raptor_Artillery_Leg_Back1_L to y-axis ((<-2.777633> *animAmplitude)/100) speed ((<18.705391> *animAmplitude)/100) / animSpeed; @@ -199,7 +200,7 @@ Walk() {// For C:\Users\Peti\Downloads\Raptor_Artillery_BAKED(2).blend Created b turn rig_Raptor_Artillery_Leg_Front2_L to y-axis ((<-4.362970> *animAmplitude)/100) speed ((<129.037355> *animAmplitude)/100) / animSpeed; turn rig_Raptor_Artillery_Leg_Front2_R to x-axis ((<-23.191588> *animAmplitude)/100) speed ((<387.565586> *animAmplitude)/100) / animSpeed; turn rig_Raptor_Artillery_Leg_Front2_R to z-axis ((<-5.494255> *animAmplitude)/100) speed ((<3.559621> *animAmplitude)/100) / animSpeed; - turn rig_Raptor_Artillery_Leg_Front2_R to y-axis ((<11.0> *animAmplitude)/100) speed ((<420.158715> *animAmplitude)/100) / animSpeed; + turn rig_Raptor_Artillery_Leg_Front2_R to y-axis ((<11.000698> *animAmplitude)/100) speed ((<420.158715> *animAmplitude)/100) / animSpeed; turn rig_Raptor_Artillery_Leg_Front3_L to x-axis ((<-5.473561> *animAmplitude)/100) speed ((<98.351650> *animAmplitude)/100) / animSpeed; turn rig_Raptor_Artillery_Leg_Front3_L to z-axis ((<4.673288> *animAmplitude)/100) speed ((<83.944079> *animAmplitude)/100) / animSpeed; turn rig_Raptor_Artillery_Leg_Front3_L to y-axis ((<1.621614> *animAmplitude)/100) speed ((<6.364293> *animAmplitude)/100) / animSpeed; @@ -225,8 +226,8 @@ Walk() {// For C:\Users\Peti\Downloads\Raptor_Artillery_BAKED(2).blend Created b turn rig_Raptor_Artillery_Leg_Middle3_R to z-axis ((<12.772168> *animAmplitude)/100) speed ((<3.766602> *animAmplitude)/100) / animSpeed; turn rig_Raptor_Artillery_Leg_Middle3_R to y-axis ((<5.089777> *animAmplitude)/100) speed ((<20.738760> *animAmplitude)/100) / animSpeed; turn rig_Raptor_Artillery_Tail1 to x-axis ((<23.314120> *animAmplitude)/100) speed ((<20.022665> *animAmplitude)/100) / animSpeed; - turn rig_Raptor_Artillery_Tail1 to z-axis ((<0.0> *animAmplitude)/100) speed ((<8.315338> *animAmplitude)/100) / animSpeed; - turn rig_Raptor_Artillery_Tail1 to y-axis ((<0.0> *animAmplitude)/100) speed ((<46.070960> *animAmplitude)/100) / animSpeed; + turn rig_Raptor_Artillery_Tail1 to z-axis ((<0.000000> *animAmplitude)/100) speed ((<8.315338> *animAmplitude)/100) / animSpeed; + turn rig_Raptor_Artillery_Tail1 to y-axis ((<0.000000> *animAmplitude)/100) speed ((<46.070960> *animAmplitude)/100) / animSpeed; turn rig_Raptor_Artillery_Tail2 to x-axis ((<23.306783> *animAmplitude)/100) speed ((<23.152600> *animAmplitude)/100) / animSpeed; turn rig_Raptor_Artillery_Tail2 to z-axis ((<0.128290> *animAmplitude)/100) speed ((<13.413667> *animAmplitude)/100) / animSpeed; turn rig_Raptor_Artillery_Tail2 to y-axis ((<0.371457> *animAmplitude)/100) speed ((<37.923180> *animAmplitude)/100) / animSpeed; @@ -249,7 +250,7 @@ Walk() {// For C:\Users\Peti\Downloads\Raptor_Artillery_BAKED(2).blend Created b turn rig_Raptor_Artillery_Wing_R to y-axis ((<-14.334247> *animAmplitude)/100) speed ((<66.312778> *animAmplitude)/100) / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:8 + if (bMoving) { //Frame:8 turn rig_Raptor_Artillery_Leg_Back1_L to x-axis ((<21.252318> *animAmplitude)/100) speed ((<105.566123> *animAmplitude)/100) / animSpeed; turn rig_Raptor_Artillery_Leg_Back1_L to z-axis ((<0.720081> *animAmplitude)/100) speed ((<72.934995> *animAmplitude)/100) / animSpeed; turn rig_Raptor_Artillery_Leg_Back1_L to y-axis ((<-0.247498> *animAmplitude)/100) speed ((<75.904031> *animAmplitude)/100) / animSpeed; @@ -315,8 +316,8 @@ Walk() {// For C:\Users\Peti\Downloads\Raptor_Artillery_BAKED(2).blend Created b turn rig_Raptor_Artillery_Tail4 to z-axis ((<-0.030028> *animAmplitude)/100) speed ((<3.138793> *animAmplitude)/100) / animSpeed; turn rig_Raptor_Artillery_Tail4 to y-axis ((<-0.535807> *animAmplitude)/100) speed ((<55.007660> *animAmplitude)/100) / animSpeed; turn rig_Raptor_Artillery_Tail5 to x-axis ((<23.460339> *animAmplitude)/100) speed ((<11.397366> *animAmplitude)/100) / animSpeed; - turn rig_Raptor_Artillery_Tail5 to z-axis ((<0.0> *animAmplitude)/100) speed ((<4.163541> *animAmplitude)/100) / animSpeed; - turn rig_Raptor_Artillery_Tail5 to y-axis ((<0.0> *animAmplitude)/100) speed ((<55.993176> *animAmplitude)/100) / animSpeed; + turn rig_Raptor_Artillery_Tail5 to z-axis ((<0.000002> *animAmplitude)/100) speed ((<4.163541> *animAmplitude)/100) / animSpeed; + turn rig_Raptor_Artillery_Tail5 to y-axis ((<0.000002> *animAmplitude)/100) speed ((<55.993176> *animAmplitude)/100) / animSpeed; turn rig_Raptor_Artillery_Thorax to x-axis ((<1.825714> *animAmplitude)/100) speed ((<12.912061> *animAmplitude)/100) / animSpeed; turn rig_Raptor_Artillery_Thorax to z-axis ((<1.548569> *animAmplitude)/100) speed ((<47.364723> *animAmplitude)/100) / animSpeed; turn rig_Raptor_Artillery_Thorax to y-axis ((<1.898481> *animAmplitude)/100) speed ((<10.862527> *animAmplitude)/100) / animSpeed; @@ -328,7 +329,7 @@ Walk() {// For C:\Users\Peti\Downloads\Raptor_Artillery_BAKED(2).blend Created b turn rig_Raptor_Artillery_Wing_R to y-axis ((<-16.071804> *animAmplitude)/100) speed ((<52.126723> *animAmplitude)/100) / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:10 + if (bMoving) { //Frame:10 turn rig_Raptor_Artillery_Leg_Back1_L to x-axis ((<-11.678611> *animAmplitude)/100) speed ((<987.927868> *animAmplitude)/100) / animSpeed; turn rig_Raptor_Artillery_Leg_Back1_L to z-axis ((<7.274415> *animAmplitude)/100) speed ((<196.630036> *animAmplitude)/100) / animSpeed; turn rig_Raptor_Artillery_Leg_Back1_L to y-axis ((<5.697559> *animAmplitude)/100) speed ((<178.351722> *animAmplitude)/100) / animSpeed; @@ -409,7 +410,7 @@ Walk() {// For C:\Users\Peti\Downloads\Raptor_Artillery_BAKED(2).blend Created b turn rig_Raptor_Artillery_Wing_R to y-axis ((<-16.349735> *animAmplitude)/100) speed ((<8.337919> *animAmplitude)/100) / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:12 + if (bMoving) { //Frame:12 turn rig_Raptor_Artillery_Leg_Back1_L to x-axis ((<-25.519665> *animAmplitude)/100) speed ((<415.231618> *animAmplitude)/100) / animSpeed; turn rig_Raptor_Artillery_Leg_Back1_L to z-axis ((<8.369135> *animAmplitude)/100) speed ((<32.841590> *animAmplitude)/100) / animSpeed; turn rig_Raptor_Artillery_Leg_Back1_L to y-axis ((<10.391888> *animAmplitude)/100) speed ((<140.829865> *animAmplitude)/100) / animSpeed; @@ -478,7 +479,7 @@ Walk() {// For C:\Users\Peti\Downloads\Raptor_Artillery_BAKED(2).blend Created b turn rig_Raptor_Artillery_Wing_R to z-axis ((<-2.248651> *animAmplitude)/100) speed ((<6.014014> *animAmplitude)/100) / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:14 + if (bMoving) { //Frame:14 turn rig_Raptor_Artillery_Leg_Back1_L to x-axis ((<-16.896973> *animAmplitude)/100) speed ((<258.680762> *animAmplitude)/100) / animSpeed; turn rig_Raptor_Artillery_Leg_Back1_L to z-axis ((<4.882244> *animAmplitude)/100) speed ((<104.606716> *animAmplitude)/100) / animSpeed; turn rig_Raptor_Artillery_Leg_Back1_L to y-axis ((<9.497562> *animAmplitude)/100) speed ((<26.829760> *animAmplitude)/100) / animSpeed; @@ -554,7 +555,7 @@ Walk() {// For C:\Users\Peti\Downloads\Raptor_Artillery_BAKED(2).blend Created b turn rig_Raptor_Artillery_Wing_R to x-axis ((<21.958128> *animAmplitude)/100) speed ((<59.979938> *animAmplitude)/100) / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:16 + if (bMoving) { //Frame:16 turn rig_Raptor_Artillery_Leg_Back1_L to x-axis ((<1.768809> *animAmplitude)/100) speed ((<559.973458> *animAmplitude)/100) / animSpeed; turn rig_Raptor_Artillery_Leg_Back1_L to z-axis ((<3.603165> *animAmplitude)/100) speed ((<38.372378> *animAmplitude)/100) / animSpeed; turn rig_Raptor_Artillery_Leg_Back1_L to y-axis ((<8.112296> *animAmplitude)/100) speed ((<41.557996> *animAmplitude)/100) / animSpeed; @@ -608,8 +609,8 @@ Walk() {// For C:\Users\Peti\Downloads\Raptor_Artillery_BAKED(2).blend Created b turn rig_Raptor_Artillery_Leg_Middle3_R to z-axis ((<3.522500> *animAmplitude)/100) speed ((<38.733217> *animAmplitude)/100) / animSpeed; turn rig_Raptor_Artillery_Leg_Middle3_R to y-axis ((<0.523318> *animAmplitude)/100) speed ((<16.033570> *animAmplitude)/100) / animSpeed; turn rig_Raptor_Artillery_Tail1 to x-axis ((<23.314116> *animAmplitude)/100) speed ((<20.018670> *animAmplitude)/100) / animSpeed; - turn rig_Raptor_Artillery_Tail1 to z-axis ((<-0.0> *animAmplitude)/100) speed ((<8.313535> *animAmplitude)/100) / animSpeed; - turn rig_Raptor_Artillery_Tail1 to y-axis ((<-0.0> *animAmplitude)/100) speed ((<46.061230> *animAmplitude)/100) / animSpeed; + turn rig_Raptor_Artillery_Tail1 to z-axis ((<-0.000000> *animAmplitude)/100) speed ((<8.313535> *animAmplitude)/100) / animSpeed; + turn rig_Raptor_Artillery_Tail1 to y-axis ((<-0.000000> *animAmplitude)/100) speed ((<46.061230> *animAmplitude)/100) / animSpeed; turn rig_Raptor_Artillery_Tail2 to x-axis ((<23.306791> *animAmplitude)/100) speed ((<23.148399> *animAmplitude)/100) / animSpeed; turn rig_Raptor_Artillery_Tail2 to z-axis ((<-0.128249> *animAmplitude)/100) speed ((<13.411629> *animAmplitude)/100) / animSpeed; turn rig_Raptor_Artillery_Tail2 to y-axis ((<-0.371339> *animAmplitude)/100) speed ((<37.917638> *animAmplitude)/100) / animSpeed; @@ -632,7 +633,7 @@ Walk() {// For C:\Users\Peti\Downloads\Raptor_Artillery_BAKED(2).blend Created b turn rig_Raptor_Artillery_Wing_R to y-axis ((<-16.273310> *animAmplitude)/100) speed ((<3.307485> *animAmplitude)/100) / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:18 + if (bMoving) { //Frame:18 turn rig_Raptor_Artillery_Leg_Back1_L to x-axis ((<22.881950> *animAmplitude)/100) speed ((<633.394222> *animAmplitude)/100) / animSpeed; turn rig_Raptor_Artillery_Leg_Back1_L to z-axis ((<2.786079> *animAmplitude)/100) speed ((<24.512591> *animAmplitude)/100) / animSpeed; turn rig_Raptor_Artillery_Leg_Back1_L to y-axis ((<6.208683> *animAmplitude)/100) speed ((<57.108377> *animAmplitude)/100) / animSpeed; @@ -700,8 +701,8 @@ Walk() {// For C:\Users\Peti\Downloads\Raptor_Artillery_BAKED(2).blend Created b turn rig_Raptor_Artillery_Tail4 to z-axis ((<0.030019> *animAmplitude)/100) speed ((<3.137853> *animAmplitude)/100) / animSpeed; turn rig_Raptor_Artillery_Tail4 to y-axis ((<0.535643> *animAmplitude)/100) speed ((<54.991767> *animAmplitude)/100) / animSpeed; turn rig_Raptor_Artillery_Tail5 to x-axis ((<23.460344> *animAmplitude)/100) speed ((<11.394292> *animAmplitude)/100) / animSpeed; - turn rig_Raptor_Artillery_Tail5 to z-axis ((<-0.0> *animAmplitude)/100) speed ((<4.162510> *animAmplitude)/100) / animSpeed; - turn rig_Raptor_Artillery_Tail5 to y-axis ((<-0.0> *animAmplitude)/100) speed ((<55.978604> *animAmplitude)/100) / animSpeed; + turn rig_Raptor_Artillery_Tail5 to z-axis ((<-0.000002> *animAmplitude)/100) speed ((<4.162510> *animAmplitude)/100) / animSpeed; + turn rig_Raptor_Artillery_Tail5 to y-axis ((<-0.000002> *animAmplitude)/100) speed ((<55.978604> *animAmplitude)/100) / animSpeed; turn rig_Raptor_Artillery_Thorax to x-axis ((<2.075525> *animAmplitude)/100) speed ((<6.507580> *animAmplitude)/100) / animSpeed; turn rig_Raptor_Artillery_Thorax to z-axis ((<-1.561359> *animAmplitude)/100) speed ((<47.952362> *animAmplitude)/100) / animSpeed; turn rig_Raptor_Artillery_Thorax to y-axis ((<-0.964060> *animAmplitude)/100) speed ((<26.631149> *animAmplitude)/100) / animSpeed; @@ -713,7 +714,7 @@ Walk() {// For C:\Users\Peti\Downloads\Raptor_Artillery_BAKED(2).blend Created b turn rig_Raptor_Artillery_Wing_R to y-axis ((<-15.378987> *animAmplitude)/100) speed ((<26.829683> *animAmplitude)/100) / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:20 + if (bMoving) { //Frame:20 turn rig_Raptor_Artillery_Leg_Back1_L to x-axis ((<-1.159311> *animAmplitude)/100) speed ((<721.237823> *animAmplitude)/100) / animSpeed; turn rig_Raptor_Artillery_Leg_Back1_L to z-axis ((<6.115346> *animAmplitude)/100) speed ((<99.878012> *animAmplitude)/100) / animSpeed; turn rig_Raptor_Artillery_Leg_Back1_L to y-axis ((<7.455747> *animAmplitude)/100) speed ((<37.411921> *animAmplitude)/100) / animSpeed; @@ -798,7 +799,7 @@ Walk() {// For C:\Users\Peti\Downloads\Raptor_Artillery_BAKED(2).blend Created b } } */ -// Call this from StopMoving()! +// Call this from MotionControl()! StopWalking() { animSpeed = 10; // tune restore speed here, higher values are slower restore speeds turn rig_Raptor_Artillery_Leg_Back1_L to x-axis <-1.159312> speed <6409.583474> / animSpeed; @@ -952,17 +953,43 @@ HitByWeapon(anglex, anglez, damage) // angle[x|z] is always [-500;500], damage i turn BASEPIECE to x-axis <0> - (anglex * amount) /100 speed HITSPEED; wait-for-turn BASEPIECE around z-axis; wait-for-turn BASEPIECE around x-axis; - turn BASEPIECE to z-axis <0.0> speed HITSPEED / 6; - turn BASEPIECE to x-axis <0.0> speed HITSPEED / 6; + turn BASEPIECE to z-axis <0.000000> speed HITSPEED / 6; + turn BASEPIECE to x-axis <0.000000> speed HITSPEED / 6; } -#define SMOKE_PIECE rig_Raptor_Artillery_Thorax -#define SMOKE_SFX 1024 -#include "../damagedsmoke.h" +static-var isSmoking; +SmokeUnit(healthpercent, randpiece) // ah yes, clever use of stack variables +{ + while( TRUE ) + { + healthpercent = get HEALTH; + + if( healthpercent < 66 ) + { + randpiece = RAND(1, 3); + if (randpiece == 1) emit-sfx 1024 from BASEPIECE; + if (randpiece == 2) emit-sfx 1024 from rig_Raptor_Artillery_Wing_L; + if (randpiece == 3) emit-sfx 1024 from rig_Raptor_Artillery_Wing_R; + } + else { + isSmoking = 0; + return; + //break; // bos2cob.py does not like this one! + } + if (healthpercent < 4) healthpercent = 4; + sleep healthpercent * 50; + } + sleep 97; + isSmoking = 0; +} HitByWeaponId(anglex, anglez, weaponid, dmg) //weaponID is always 0,lasers and flamers give angles of 0 { if( get BUILD_PERCENT_LEFT) return (100); + if (isSmoking == 0) { + isSmoking = 1; + start-script SmokeUnit(); + } //get PRINT(anglex, anglez, weaponid, dmg); start-script HitByWeapon(dmg, anglez,anglex); //I dont know why param order must be switched, and this also runs a frame later :( return (100); //return damage percent @@ -996,17 +1023,17 @@ UnitSpeed(){ } -StartMoving(reversing){ - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; - isMoving=TRUE; +StartMoving(){ + signal SIG_WALK; + set-signal-mask SIG_WALK; + bMoving=TRUE; start-script UnitSpeed(); start-script Walk(); } StopMoving(){ - signal SIGNAL_MOVE; - isMoving=FALSE; + signal SIG_WALK; + bMoving=FALSE; if (!isDying){ call-script StopWalking(); //start-script Idle(); @@ -1035,9 +1062,8 @@ Create() sleep 90; emit-sfx 1024 + 2 from rig_Raptor_Artillery_Thorax; } - gun_1 = 1; - SLEEP_UNTIL_UNITFINISHED; - start-script DamagedSmoke(); + gun_1 = 1; + return (0); } @@ -1056,16 +1082,20 @@ RestoreAfterDelay() } +SweetSpot(piecenum) + { piecenum=rig_Raptor_Artillery_Thorax; } + +AimFromPrimary(piecenum) + { piecenum=rig_Raptor_Artillery_Thorax; } - -QueryWeapon1(pieceIndex) - { pieceIndex=rig_Raptor_Artillery_Tail5; } +QueryPrimary(piecenum) + { piecenum=rig_Raptor_Artillery_Tail5; } -AimWeapon1(heading,pitch) +AimPrimary(heading,pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; var tailspeed; tailspeed = 5; @@ -1100,7 +1130,7 @@ Killed( severity, corpsetype ) { isDying = TRUE; corpsetype = 1; - signal SIGNAL_MOVE; + signal SIG_WALK; emit-sfx 1025 from rig_Raptor_Artillery_Thorax; if (RAND(0,100) *animAmplitude)/100) speed ((<669.069328> *animAmplitude)/100) / animSpeed; turn rig_Raptor_Artillery_Leg_Back1_L to y-axis ((<-6.587734> *animAmplitude)/100) speed ((<14.171661> *animAmplitude)/100) / animSpeed; turn rig_Raptor_Artillery_Leg_Back1_L to z-axis ((<-5.941185> *animAmplitude)/100) speed ((<45.436963> *animAmplitude)/100) / animSpeed; @@ -28,7 +28,7 @@ Walk() {// For C:\Users\Peti\Downloads\Raptor_Artillery_BAKED(2).blend Created b turn rig_Raptor_Artillery_Leg_Front1_R to z-axis ((<8.605745> *animAmplitude)/100) speed ((<124.166692> *animAmplitude)/100) / animSpeed; turn rig_Raptor_Artillery_Leg_Front2_L to x-axis ((<-2.307427> *animAmplitude)/100) speed ((<82.803877> *animAmplitude)/100) / animSpeed; turn rig_Raptor_Artillery_Leg_Front2_L to y-axis ((<3.385443> *animAmplitude)/100) speed ((<89.818612> *animAmplitude)/100) / animSpeed; - turn rig_Raptor_Artillery_Leg_Front2_L to z-axis ((<3.183454> *animAmplitude)/100) speed ((<89.0> *animAmplitude)/100) / animSpeed; + turn rig_Raptor_Artillery_Leg_Front2_L to z-axis ((<3.183454> *animAmplitude)/100) speed ((<89.000146> *animAmplitude)/100) / animSpeed; turn rig_Raptor_Artillery_Leg_Front2_R to x-axis ((<5.295722> *animAmplitude)/100) speed ((<262.828258> *animAmplitude)/100) / animSpeed; turn rig_Raptor_Artillery_Leg_Front2_R to y-axis ((<-0.286927> *animAmplitude)/100) speed ((<124.287194> *animAmplitude)/100) / animSpeed; turn rig_Raptor_Artillery_Leg_Front2_R to z-axis ((<1.328029> *animAmplitude)/100) speed ((<503.406656> *animAmplitude)/100) / animSpeed; @@ -70,8 +70,8 @@ Walk() {// For C:\Users\Peti\Downloads\Raptor_Artillery_BAKED(2).blend Created b turn rig_Raptor_Artillery_Wing_R to z-axis ((<11.470954> *animAmplitude)/100) speed ((<50.879001> *animAmplitude)/100) / animSpeed; sleep ((33*animSpeed) -1); } - while(isMoving) { - if (isMoving) { //Frame:4 + while(bMoving) { + if (bMoving) { //Frame:4 turn rig_Raptor_Artillery_Leg_Back1_L to x-axis ((<24.997109> *animAmplitude)/100) speed ((<46.064589> *animAmplitude)/100) / animSpeed; turn rig_Raptor_Artillery_Leg_Back1_L to y-axis ((<-2.511068> *animAmplitude)/100) speed ((<122.299976> *animAmplitude)/100) / animSpeed; turn rig_Raptor_Artillery_Leg_Back1_L to z-axis ((<2.154120> *animAmplitude)/100) speed ((<242.859130> *animAmplitude)/100) / animSpeed; @@ -147,7 +147,7 @@ Walk() {// For C:\Users\Peti\Downloads\Raptor_Artillery_BAKED(2).blend Created b turn rig_Raptor_Artillery_Wing_R to z-axis ((<12.123821> *animAmplitude)/100) speed ((<19.586011> *animAmplitude)/100) / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:6 + if (bMoving) { //Frame:6 turn rig_Raptor_Artillery_Leg_Back1_L to x-axis ((<-17.733447> *animAmplitude)/100) speed ((<1281.916695> *animAmplitude)/100) / animSpeed; turn rig_Raptor_Artillery_Leg_Back1_L to y-axis ((<1.711086> *animAmplitude)/100) speed ((<126.664620> *animAmplitude)/100) / animSpeed; turn rig_Raptor_Artillery_Leg_Back1_L to z-axis ((<2.777633> *animAmplitude)/100) speed ((<18.705391> *animAmplitude)/100) / animSpeed; @@ -177,7 +177,7 @@ Walk() {// For C:\Users\Peti\Downloads\Raptor_Artillery_BAKED(2).blend Created b turn rig_Raptor_Artillery_Leg_Front2_L to z-axis ((<4.362970> *animAmplitude)/100) speed ((<129.037355> *animAmplitude)/100) / animSpeed; turn rig_Raptor_Artillery_Leg_Front2_R to x-axis ((<23.191588> *animAmplitude)/100) speed ((<387.565586> *animAmplitude)/100) / animSpeed; turn rig_Raptor_Artillery_Leg_Front2_R to y-axis ((<5.494255> *animAmplitude)/100) speed ((<3.559621> *animAmplitude)/100) / animSpeed; - turn rig_Raptor_Artillery_Leg_Front2_R to z-axis ((<-11.0> *animAmplitude)/100) speed ((<420.158715> *animAmplitude)/100) / animSpeed; + turn rig_Raptor_Artillery_Leg_Front2_R to z-axis ((<-11.000698> *animAmplitude)/100) speed ((<420.158715> *animAmplitude)/100) / animSpeed; turn rig_Raptor_Artillery_Leg_Front3_L to x-axis ((<5.473561> *animAmplitude)/100) speed ((<98.351650> *animAmplitude)/100) / animSpeed; turn rig_Raptor_Artillery_Leg_Front3_L to y-axis ((<-4.673288> *animAmplitude)/100) speed ((<83.944079> *animAmplitude)/100) / animSpeed; turn rig_Raptor_Artillery_Leg_Front3_L to z-axis ((<-1.621614> *animAmplitude)/100) speed ((<6.364293> *animAmplitude)/100) / animSpeed; @@ -203,8 +203,8 @@ Walk() {// For C:\Users\Peti\Downloads\Raptor_Artillery_BAKED(2).blend Created b turn rig_Raptor_Artillery_Leg_Middle3_R to y-axis ((<-12.772168> *animAmplitude)/100) speed ((<3.766602> *animAmplitude)/100) / animSpeed; turn rig_Raptor_Artillery_Leg_Middle3_R to z-axis ((<-5.089777> *animAmplitude)/100) speed ((<20.738760> *animAmplitude)/100) / animSpeed; turn rig_Raptor_Artillery_Tail1 to x-axis ((<-23.314120> *animAmplitude)/100) speed ((<20.022665> *animAmplitude)/100) / animSpeed; - turn rig_Raptor_Artillery_Tail1 to y-axis ((<-0.0> *animAmplitude)/100) speed ((<8.315338> *animAmplitude)/100) / animSpeed; - turn rig_Raptor_Artillery_Tail1 to z-axis ((<-0.0> *animAmplitude)/100) speed ((<46.070960> *animAmplitude)/100) / animSpeed; + turn rig_Raptor_Artillery_Tail1 to y-axis ((<-0.000000> *animAmplitude)/100) speed ((<8.315338> *animAmplitude)/100) / animSpeed; + turn rig_Raptor_Artillery_Tail1 to z-axis ((<-0.000000> *animAmplitude)/100) speed ((<46.070960> *animAmplitude)/100) / animSpeed; turn rig_Raptor_Artillery_Tail2 to x-axis ((<-23.306783> *animAmplitude)/100) speed ((<23.152600> *animAmplitude)/100) / animSpeed; turn rig_Raptor_Artillery_Tail2 to y-axis ((<-0.128290> *animAmplitude)/100) speed ((<13.413667> *animAmplitude)/100) / animSpeed; turn rig_Raptor_Artillery_Tail2 to z-axis ((<-0.371457> *animAmplitude)/100) speed ((<37.923180> *animAmplitude)/100) / animSpeed; @@ -227,7 +227,7 @@ Walk() {// For C:\Users\Peti\Downloads\Raptor_Artillery_BAKED(2).blend Created b turn rig_Raptor_Artillery_Wing_R to z-axis ((<14.334247> *animAmplitude)/100) speed ((<66.312778> *animAmplitude)/100) / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:8 + if (bMoving) { //Frame:8 turn rig_Raptor_Artillery_Leg_Back1_L to x-axis ((<-21.252318> *animAmplitude)/100) speed ((<105.566123> *animAmplitude)/100) / animSpeed; turn rig_Raptor_Artillery_Leg_Back1_L to y-axis ((<-0.720081> *animAmplitude)/100) speed ((<72.934995> *animAmplitude)/100) / animSpeed; turn rig_Raptor_Artillery_Leg_Back1_L to z-axis ((<0.247498> *animAmplitude)/100) speed ((<75.904031> *animAmplitude)/100) / animSpeed; @@ -293,8 +293,8 @@ Walk() {// For C:\Users\Peti\Downloads\Raptor_Artillery_BAKED(2).blend Created b turn rig_Raptor_Artillery_Tail4 to y-axis ((<0.030028> *animAmplitude)/100) speed ((<3.138793> *animAmplitude)/100) / animSpeed; turn rig_Raptor_Artillery_Tail4 to z-axis ((<0.535807> *animAmplitude)/100) speed ((<55.007660> *animAmplitude)/100) / animSpeed; turn rig_Raptor_Artillery_Tail5 to x-axis ((<-23.460339> *animAmplitude)/100) speed ((<11.397366> *animAmplitude)/100) / animSpeed; - turn rig_Raptor_Artillery_Tail5 to y-axis ((<-0.0> *animAmplitude)/100) speed ((<4.163541> *animAmplitude)/100) / animSpeed; - turn rig_Raptor_Artillery_Tail5 to z-axis ((<-0.0> *animAmplitude)/100) speed ((<55.993176> *animAmplitude)/100) / animSpeed; + turn rig_Raptor_Artillery_Tail5 to y-axis ((<-0.000002> *animAmplitude)/100) speed ((<4.163541> *animAmplitude)/100) / animSpeed; + turn rig_Raptor_Artillery_Tail5 to z-axis ((<-0.000002> *animAmplitude)/100) speed ((<55.993176> *animAmplitude)/100) / animSpeed; turn rig_Raptor_Artillery_Thorax to x-axis ((<-1.825714> *animAmplitude)/100) speed ((<12.912061> *animAmplitude)/100) / animSpeed; turn rig_Raptor_Artillery_Thorax to y-axis ((<-1.548569> *animAmplitude)/100) speed ((<47.364723> *animAmplitude)/100) / animSpeed; turn rig_Raptor_Artillery_Thorax to z-axis ((<-1.898481> *animAmplitude)/100) speed ((<10.862527> *animAmplitude)/100) / animSpeed; @@ -306,7 +306,7 @@ Walk() {// For C:\Users\Peti\Downloads\Raptor_Artillery_BAKED(2).blend Created b turn rig_Raptor_Artillery_Wing_R to z-axis ((<16.071804> *animAmplitude)/100) speed ((<52.126723> *animAmplitude)/100) / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:10 + if (bMoving) { //Frame:10 turn rig_Raptor_Artillery_Leg_Back1_L to x-axis ((<11.678611> *animAmplitude)/100) speed ((<987.927868> *animAmplitude)/100) / animSpeed; turn rig_Raptor_Artillery_Leg_Back1_L to y-axis ((<-7.274415> *animAmplitude)/100) speed ((<196.630036> *animAmplitude)/100) / animSpeed; turn rig_Raptor_Artillery_Leg_Back1_L to z-axis ((<-5.697559> *animAmplitude)/100) speed ((<178.351722> *animAmplitude)/100) / animSpeed; @@ -387,7 +387,7 @@ Walk() {// For C:\Users\Peti\Downloads\Raptor_Artillery_BAKED(2).blend Created b turn rig_Raptor_Artillery_Wing_R to z-axis ((<16.349735> *animAmplitude)/100) speed ((<8.337919> *animAmplitude)/100) / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:12 + if (bMoving) { //Frame:12 turn rig_Raptor_Artillery_Leg_Back1_L to x-axis ((<25.519665> *animAmplitude)/100) speed ((<415.231618> *animAmplitude)/100) / animSpeed; turn rig_Raptor_Artillery_Leg_Back1_L to y-axis ((<-8.369135> *animAmplitude)/100) speed ((<32.841590> *animAmplitude)/100) / animSpeed; turn rig_Raptor_Artillery_Leg_Back1_L to z-axis ((<-10.391888> *animAmplitude)/100) speed ((<140.829865> *animAmplitude)/100) / animSpeed; @@ -456,7 +456,7 @@ Walk() {// For C:\Users\Peti\Downloads\Raptor_Artillery_BAKED(2).blend Created b turn rig_Raptor_Artillery_Wing_R to y-axis ((<2.248651> *animAmplitude)/100) speed ((<6.014014> *animAmplitude)/100) / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:14 + if (bMoving) { //Frame:14 turn rig_Raptor_Artillery_Leg_Back1_L to x-axis ((<16.896973> *animAmplitude)/100) speed ((<258.680762> *animAmplitude)/100) / animSpeed; turn rig_Raptor_Artillery_Leg_Back1_L to y-axis ((<-4.882244> *animAmplitude)/100) speed ((<104.606716> *animAmplitude)/100) / animSpeed; turn rig_Raptor_Artillery_Leg_Back1_L to z-axis ((<-9.497562> *animAmplitude)/100) speed ((<26.829760> *animAmplitude)/100) / animSpeed; @@ -532,7 +532,7 @@ Walk() {// For C:\Users\Peti\Downloads\Raptor_Artillery_BAKED(2).blend Created b turn rig_Raptor_Artillery_Wing_R to x-axis ((<-21.958128> *animAmplitude)/100) speed ((<59.979938> *animAmplitude)/100) / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:16 + if (bMoving) { //Frame:16 turn rig_Raptor_Artillery_Leg_Back1_L to x-axis ((<-1.768809> *animAmplitude)/100) speed ((<559.973458> *animAmplitude)/100) / animSpeed; turn rig_Raptor_Artillery_Leg_Back1_L to y-axis ((<-3.603165> *animAmplitude)/100) speed ((<38.372378> *animAmplitude)/100) / animSpeed; turn rig_Raptor_Artillery_Leg_Back1_L to z-axis ((<-8.112296> *animAmplitude)/100) speed ((<41.557996> *animAmplitude)/100) / animSpeed; @@ -586,8 +586,8 @@ Walk() {// For C:\Users\Peti\Downloads\Raptor_Artillery_BAKED(2).blend Created b turn rig_Raptor_Artillery_Leg_Middle3_R to y-axis ((<-3.522500> *animAmplitude)/100) speed ((<38.733217> *animAmplitude)/100) / animSpeed; turn rig_Raptor_Artillery_Leg_Middle3_R to z-axis ((<-0.523318> *animAmplitude)/100) speed ((<16.033570> *animAmplitude)/100) / animSpeed; turn rig_Raptor_Artillery_Tail1 to x-axis ((<-23.314116> *animAmplitude)/100) speed ((<20.018670> *animAmplitude)/100) / animSpeed; - turn rig_Raptor_Artillery_Tail1 to y-axis ((<0.0> *animAmplitude)/100) speed ((<8.313535> *animAmplitude)/100) / animSpeed; - turn rig_Raptor_Artillery_Tail1 to z-axis ((<0.0> *animAmplitude)/100) speed ((<46.061230> *animAmplitude)/100) / animSpeed; + turn rig_Raptor_Artillery_Tail1 to y-axis ((<0.000000> *animAmplitude)/100) speed ((<8.313535> *animAmplitude)/100) / animSpeed; + turn rig_Raptor_Artillery_Tail1 to z-axis ((<0.000000> *animAmplitude)/100) speed ((<46.061230> *animAmplitude)/100) / animSpeed; turn rig_Raptor_Artillery_Tail2 to x-axis ((<-23.306791> *animAmplitude)/100) speed ((<23.148399> *animAmplitude)/100) / animSpeed; turn rig_Raptor_Artillery_Tail2 to y-axis ((<0.128249> *animAmplitude)/100) speed ((<13.411629> *animAmplitude)/100) / animSpeed; turn rig_Raptor_Artillery_Tail2 to z-axis ((<0.371339> *animAmplitude)/100) speed ((<37.917638> *animAmplitude)/100) / animSpeed; @@ -610,7 +610,7 @@ Walk() {// For C:\Users\Peti\Downloads\Raptor_Artillery_BAKED(2).blend Created b turn rig_Raptor_Artillery_Wing_R to z-axis ((<16.273310> *animAmplitude)/100) speed ((<3.307485> *animAmplitude)/100) / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:18 + if (bMoving) { //Frame:18 turn rig_Raptor_Artillery_Leg_Back1_L to x-axis ((<-22.881950> *animAmplitude)/100) speed ((<633.394222> *animAmplitude)/100) / animSpeed; turn rig_Raptor_Artillery_Leg_Back1_L to y-axis ((<-2.786079> *animAmplitude)/100) speed ((<24.512591> *animAmplitude)/100) / animSpeed; turn rig_Raptor_Artillery_Leg_Back1_L to z-axis ((<-6.208683> *animAmplitude)/100) speed ((<57.108377> *animAmplitude)/100) / animSpeed; @@ -678,8 +678,8 @@ Walk() {// For C:\Users\Peti\Downloads\Raptor_Artillery_BAKED(2).blend Created b turn rig_Raptor_Artillery_Tail4 to y-axis ((<-0.030019> *animAmplitude)/100) speed ((<3.137853> *animAmplitude)/100) / animSpeed; turn rig_Raptor_Artillery_Tail4 to z-axis ((<-0.535643> *animAmplitude)/100) speed ((<54.991767> *animAmplitude)/100) / animSpeed; turn rig_Raptor_Artillery_Tail5 to x-axis ((<-23.460344> *animAmplitude)/100) speed ((<11.394292> *animAmplitude)/100) / animSpeed; - turn rig_Raptor_Artillery_Tail5 to y-axis ((<0.0> *animAmplitude)/100) speed ((<4.162510> *animAmplitude)/100) / animSpeed; - turn rig_Raptor_Artillery_Tail5 to z-axis ((<0.0> *animAmplitude)/100) speed ((<55.978604> *animAmplitude)/100) / animSpeed; + turn rig_Raptor_Artillery_Tail5 to y-axis ((<0.000002> *animAmplitude)/100) speed ((<4.162510> *animAmplitude)/100) / animSpeed; + turn rig_Raptor_Artillery_Tail5 to z-axis ((<0.000002> *animAmplitude)/100) speed ((<55.978604> *animAmplitude)/100) / animSpeed; turn rig_Raptor_Artillery_Thorax to x-axis ((<-2.075525> *animAmplitude)/100) speed ((<6.507580> *animAmplitude)/100) / animSpeed; turn rig_Raptor_Artillery_Thorax to y-axis ((<1.561359> *animAmplitude)/100) speed ((<47.952362> *animAmplitude)/100) / animSpeed; turn rig_Raptor_Artillery_Thorax to z-axis ((<0.964060> *animAmplitude)/100) speed ((<26.631149> *animAmplitude)/100) / animSpeed; @@ -691,7 +691,7 @@ Walk() {// For C:\Users\Peti\Downloads\Raptor_Artillery_BAKED(2).blend Created b turn rig_Raptor_Artillery_Wing_R to z-axis ((<15.378987> *animAmplitude)/100) speed ((<26.829683> *animAmplitude)/100) / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:20 + if (bMoving) { //Frame:20 turn rig_Raptor_Artillery_Leg_Back1_L to x-axis ((<1.159311> *animAmplitude)/100) speed ((<721.237823> *animAmplitude)/100) / animSpeed; turn rig_Raptor_Artillery_Leg_Back1_L to y-axis ((<-6.115346> *animAmplitude)/100) speed ((<99.878012> *animAmplitude)/100) / animSpeed; turn rig_Raptor_Artillery_Leg_Back1_L to z-axis ((<-7.455747> *animAmplitude)/100) speed ((<37.411921> *animAmplitude)/100) / animSpeed; @@ -775,4 +775,4 @@ Walk() {// For C:\Users\Peti\Downloads\Raptor_Artillery_BAKED(2).blend Created b } } } -// Call this from StopMoving()! \ No newline at end of file +// Call this from MotionControl()! \ No newline at end of file diff --git a/scripts/Raptors/raptorc1.bos b/scripts/Raptors/raptorc1.bos index ac2c57e737f..975c92f7edd 100644 --- a/scripts/Raptors/raptorc1.bos +++ b/scripts/Raptors/raptorc1.bos @@ -6,13 +6,14 @@ piece base,body,head,tail,rblade,lblade, flare, aimy1, // Signal definitions -#define SIGNAL_AIM1 256 -#define SIGNAL_AIM2 512 -#define SIGNAL_MOVE 1 +#define SIG_AIM 2 +#define SIG_AIM_2 4 +#define SIG_MOVE 16 -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" -static-var maxSpeed, animFramesPerKeyframe, isMoving, animSpeed,isDying,gun_1; +static-var maxSpeed, animFramesPerKeyframe, bMoving, animSpeed,isDying,gun_1; // For N:\animations\Raptors\raptor_walk_remaster_v2.blend Created by https://github.com/Beherith/Skeletor_S3O V((0, 3, 5)) #define MOVESCALE 50 //Higher values are bigger, 100 is default @@ -22,7 +23,7 @@ static-var maxSpeed, animFramesPerKeyframe, isMoving, animSpeed,isDying,gun_1; #define RUHAND rupperarm #define LLHAND lupperarm //define these as the left and right head thingies #define RLHAND rupperarm -#define SIGNAL_MOVE 1 +#define SIG_WALK 64 //these defines are needed before includes! #include "raptor_walk_allterrain.h" @@ -51,23 +52,23 @@ static-var maxSpeed, animFramesPerKeyframe, isMoving, animSpeed,isDying,gun_1; #include "raptor_killed_allterrain.h" -AimFromWeapon1(pieceIndex) - { pieceIndex=head; } +AimFromPrimary(piecenum) + { piecenum=head; } -QueryWeapon1(pieceIndex) - { pieceIndex=head; } +QueryPrimary(piecenum) + { piecenum=head; } -AimWeapon1(heading,pitch) +AimPrimary(heading,pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; if (heading > <60> ) heading = <60>; if (heading < <-60> ) heading = <-60>; if (pitch > <60> ) pitch = <60>; if (pitch < <-60> ) pitch = <-60>; - turn aimy1 to y-axis heading speed <250.0>; - turn aimy1 to x-axis <0.0> - pitch speed <200.0>; + turn aimy1 to y-axis heading speed <250.000000>; + turn aimy1 to x-axis <0.000000> - pitch speed <200.000000>; wait-for-turn aimy1 around y-axis; start-script RestoreAfterDelay(); diff --git a/scripts/Raptors/raptorc1.cob b/scripts/Raptors/raptorc1.cob index fdc5aaf3a3b89addf2b9684bc8b7fb37f0b3f9eb..ff47a7828443683e5165facc786935fb766db6da 100644 GIT binary patch delta 18664 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 vZRpfdqb3iXG;y*uE>onn8*^|!r|u)4 delta 17518 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Π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 a_f5!lgdQ4o|CH!M-q`W#)^xQHYyJn)x|OW} diff --git a/scripts/Raptors/raptorc2.bos b/scripts/Raptors/raptorc2.bos index 3728f38d94c..1bcc9391da1 100644 --- a/scripts/Raptors/raptorc2.bos +++ b/scripts/Raptors/raptorc2.bos @@ -6,13 +6,14 @@ piece base, body, head,tail,rblade,lblade, flare, aimy1, // Signal definitions -#define SIGNAL_AIM1 256 -#define SIGNAL_AIM2 512 -#define SIGNAL_MOVE 1 +#define SIG_AIM 2 +#define SIG_AIM_2 4 +#define SIG_MOVE 16 -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" -static-var maxSpeed, animFramesPerKeyframe, isMoving, animSpeed, gun_1, isDying; +static-var maxSpeed, animFramesPerKeyframe, bMoving, animSpeed, gun_1, isDying; // For N:\animations\Raptors\raptor_walk_remaster_v2.blend Created by https://github.com/Beherith/Skeletor_S3O V((0, 3, 5)) #define MOVESCALE 60 //Higher values are bigger, 100 is default @@ -22,7 +23,7 @@ static-var maxSpeed, animFramesPerKeyframe, isMoving, animSpeed, gun_1, isDying; #define RUHAND rupperarm #define LLHAND lupperarm //define these as the left and right head thingies #define RLHAND rupperarm -#define SIGNAL_MOVE 1 +#define SIG_WALK 64 //these defines are needed before includes! #include "raptor_walk_allterrain.h" @@ -52,22 +53,22 @@ static-var maxSpeed, animFramesPerKeyframe, isMoving, animSpeed, gun_1, isDying; #include "raptor_killed_allterrain.h" -AimFromWeapon1(pieceIndex) - { pieceIndex=head; } +AimFromPrimary(piecenum) + { piecenum=head; } -QueryWeapon1(pieceIndex) - { pieceIndex=head; } +QueryPrimary(piecenum) + { piecenum=head; } -AimWeapon1(heading,pitch) +AimPrimary(heading,pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; if (heading > <60> ) heading = <60>; if (heading < <-60> ) heading = <-60>; if (pitch > <60> ) pitch = <60>; if (pitch < <-60> ) pitch = <-60>; - turn aimy1 to y-axis heading speed <250.0>; - turn aimy1 to x-axis <0.0> - pitch speed <200.0>; + turn aimy1 to y-axis heading speed <250.000000>; + turn aimy1 to x-axis <0.000000> - pitch speed <200.000000>; wait-for-turn aimy1 around y-axis; start-script RestoreAfterDelay(); diff --git a/scripts/Raptors/raptorc2.cob b/scripts/Raptors/raptorc2.cob index cda048f1d7aeb9c4130244f4f5fef617eacbfc97..bfa85eabc33ea56a26d524a7f3e17241ff80e243 100644 GIT binary patch delta 18510 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 MCU1?ksbbCl0T2y2IsgCw delta 17660 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 Yi^_j+#Ql>(54oeqs6S16x_IS(0otIZ3IG5A diff --git a/scripts/Raptors/raptorc3.bos b/scripts/Raptors/raptorc3.bos index e1fa950cfd0..8e24f7f74d0 100644 --- a/scripts/Raptors/raptorc3.bos +++ b/scripts/Raptors/raptorc3.bos @@ -6,13 +6,14 @@ piece base, body, head,tail,rblade,lblade, flare, aimy1, // Signal definitions -#define SIGNAL_AIM1 256 -#define SIGNAL_AIM2 512 -#define SIGNAL_MOVE 1 +#define SIG_AIM 2 +#define SIG_AIM_2 4 +#define SIG_MOVE 16 -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" -static-var maxSpeed, animFramesPerKeyframe, isMoving, animSpeed, gun_1, isDying; +static-var maxSpeed, animFramesPerKeyframe, bMoving, animSpeed, gun_1, isDying; // For N:\animations\Raptors\raptor_walk_remaster_v2.blend Created by https://github.com/Beherith/Skeletor_S3O V((0, 3, 5)) #define MOVESCALE 40 //Higher values are bigger, 100 is default @@ -22,7 +23,7 @@ static-var maxSpeed, animFramesPerKeyframe, isMoving, animSpeed, gun_1, isDying; #define RUHAND rupperarm #define LLHAND lupperarm //define these as the left and right head thingies #define RLHAND rupperarm -#define SIGNAL_MOVE 1 +#define SIG_WALK 64 //these defines are needed before includes! #include "raptor_walk_allterrain.h" @@ -52,22 +53,22 @@ static-var maxSpeed, animFramesPerKeyframe, isMoving, animSpeed, gun_1, isDying; #include "raptor_killed_allterrain.h" -AimFromWeapon1(pieceIndex) - { pieceIndex=head; } +AimFromPrimary(piecenum) + { piecenum=head; } -QueryWeapon1(pieceIndex) - { pieceIndex=head; } +QueryPrimary(piecenum) + { piecenum=head; } -AimWeapon1(heading,pitch) +AimPrimary(heading,pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; if (heading > <60> ) heading = <60>; if (heading < <-60> ) heading = <-60>; if (pitch > <60> ) pitch = <60>; if (pitch < <-60> ) pitch = <-60>; - turn aimy1 to y-axis heading speed <250.0>; - turn aimy1 to x-axis <0.0> - pitch speed <200.0>; + turn aimy1 to y-axis heading speed <250.000000>; + turn aimy1 to x-axis <0.000000> - pitch speed <200.000000>; wait-for-turn aimy1 around y-axis; start-script RestoreAfterDelay(); return(TRUE); diff --git a/scripts/Raptors/raptorc3.cob b/scripts/Raptors/raptorc3.cob index 547c6a2bedf84a8db14a02250f1aa783892a2d77..a0b8a12691390b58bc94deb01a00a4ecd674170e 100644 GIT binary patch delta 18467 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 delta 17670 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 p~GiU;Fqg?Q-wi=Z#$|-+Th~hPw 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 <60> ) heading = <60>; if (heading < <-60> ) heading = <-60>; if (pitch > <60> ) pitch = <60>; if (pitch < <-60> ) pitch = <-60>; - turn aimy1 to y-axis heading speed <250.0>; - turn aimy1 to x-axis <0.0> - pitch speed <200.0>; + turn aimy1 to y-axis heading speed <250.000000>; + turn aimy1 to x-axis <0.000000> - pitch speed <200.000000>; wait-for-turn aimy1 around y-axis; start-script RestoreAfterDelay(); diff --git a/scripts/Raptors/raptorc3b.cob b/scripts/Raptors/raptorc3b.cob index f6482fb94b92eb28f6689e501ef13701d2f2b2e5..e329d814533cda1604ff1b82a20b3e95b68f194c 100644 GIT binary patch delta 18759 zcmb7s3tUvy_W$ewagGiO?Q;|vP!RCU_=M8X1`<+Jvl`JXD=-PXYWbq{s+B3F*Jn3z zWk*X>vP@G;Doe`;RHl}CrPoca3+Xr1x9r%yOUoHH)3BCDGiT~X{8 z)2PZN#jc7fDZZy-j}-M(F;LR+ZC)d-mBSH@&QT00FDi})_NDwXDRxrT<&p*qJ!<%T z2Ti;#gBA&$GE-c%PPoO3v_+WWJT>G?@d`Bv8Fghx2i-9!!}w=vB*f#C?<^6m=#dx? zRXg3r!5xu(Hc_3^6f;PR3W$3tbu7=a%q_(NDvy$44qwx{C|w+&9Z`O)qwHQu?r2@q zP-?U(*3!V}fVhM5ZY22F<`97WMZj^L=6J1NdRs;-4h6 zfY?q2IJ*EnAo@~+W;(B)Nw0THjEx1soM=q3?Udh4()RT(nm5%g5@~ERQ~aAMn)$^@ zI?&8CK5LDRDUP@h%kY@JRF);hTU4AZDYLm(9Hnwo*T1}QfjjEx&j)vOP&Q_QC=I6p?ma3)Gk1ua_YMnZD%&ER+Y;FWc^S2l~v7fYjQ zN+f0Ppt4jc9-xYr(wK5Eh?y2)--=;zjyN982SeyjRqvT%D2eY)r4jNe>oOK4s07;R2J>82C~B#0r}UN9 z2UpAbh7TSe-A6>Msh(1$>2#c>>*Q5p7^VI!jq8{(vCMdTU~uSrB(9KRE7eGo>aTL8 z^0Uyw4qh3Fsy!61o8o!uh4V}*)+JbfiXISeQeA&c)oZh#ab2tEhzZRkVFVy-1%^p+ z$u8K0qAEVq#2JE}CKamQ1UuiHko;L@XpSB#-1txWMQb-{U(EyrV8>B2!GNs1m+ z(MtNd4~%^2n2&?lY8kfV?R213iTFEZwKhcux)tY9RF3mBTHiVVUOv~_FE+By5bdmZ zr;t>bpo@J}mLQ>U<|LTn18TTdQgwoE6t{_-@-jM=5D<@3uQnxO2MZ;bzp9PjW(K(= z(d+D|(TMn~0cC7rAF-UWJ_?9BD*uSd9iL|gi5~rrUoTvs!FlPF@|G_8K;fC<8OrZ3 z4c~A7qkl-r6fqWP^H80-C+VVy1}6E9W9gAx`8w5(mQhfgH1T8`+MDDS|E1!7l1^gO zTi|zA&GE^8QDIfK0$GMb1Nn`sjzu!pw^WsEid3o?Ch2st*EzfiC3Z`so;SNGr|n>v z1lFjl+v?C2jH7e5L^T+o6sW8QP~@kMz(j+fOg%D?Rk;Y z??n~urqZuoceBu#kI&L=nRstXq0t#~)!1B)qq1+AJIY^|bST9ux>HpXDWWOAo1~Of zukg{pR8!!^sS8DWI*;q)w#4;p?-fH>@3&x1lrX-Njm~oJHVn z%FQrE3XQ_KkjX@=GfHV(9~Zehq!@AMg7^xz5~C;|yj4%bI`9%|2El}NC^eQS%(9sX z$?*cJI{^h0_D z7)vR{fq~^Ub&>8Z1WwAlQd~<7tE6vFK_mql_;pY@Y~?~k`-$qhduUlJw{L5|Nb#A= z&J;$3OYBmL_etYUwKRSbf^|L1g!qjr9%dU??33aKiXSCuo-c<+4%dA>=0q~@Q%ZtB zK>J{1bfnmhej02*(+1q)bt>w(2hJ0F7w_0UL^Tz_t`&DO#a}7DjnuC0q1H;ZOC)XW zR((z6MU@$A1`WZD}Lit;%vG64p$Ge-&g!<)owH-wVYdU~sbYt{d&{Y|O z5VgXcjp8oKBKpOEIc9u>R@KIyhd zXq233igK!OO7Wr1^y4zwgDcOJMz%7j;oNe>7U}KiGm~mFP2W@BMb6}TWk%z|5PO}i zR(@h8GG-5qoKbr!SS4vv)*|D!Z-YF}tilJQ>c6%dFr6|kH$h$~d2urpUvB#TGcyv> zGwdiU#tE@UEB2JdY065G;x0N2C{b+hjQ11^NDK+}T|@Edl5(yng(Cw&hbpMMOG2pk zT@esZ+s@VYOczaqJCWDjD<)FIPY{&uy4cKf^yMjt?1Y3U`Pzg?=G#aIy8FddRIyW1 zQV$)LIje_+n(WuZG!C8*Vt}2C(5x0yIiCDE7bCABPumXZV9ZUU`3$1I2BDL9447M%m9y*t8iV>9BQyLdKMw0ps8rahmg354y zoR;H!lxlEZMO9x(!{v%xcsa%QvTYbl#`V2)_-@6$Oyf&-V?eZUul90U*~<^3dAL^q z{-y7#05Rg{MY)Z67YT{(q{^${16vg_SjOI~a>N@rV77_2?wVUu3B19aULQuzi!-ib>wpLNz3^ZE?M~pI-Scg5#OZdO7KFhDQQ5i zSKLo!_zh*@k=6Oa=zyLNNCRq}6eB!98lf)u3uJ()T5sZ}BA&5znKGd-e z(Yv>3P5He&f+*`3DZZw%-cqcma$FCEJo;gnYJd5I-ypK6>`qwGJg<1ys$-O_$kQP- zRe4gx(eAu}_>7Evzj%@g@+CT#Pi60`e3vvi8Xap`|7|JLsQ;IHB zfk?7vKi!zcOaMk>iRXi%HfQGt1Sy`c0}e-+EBl$oD=H!jHxHZWa6dmh-SPkeoNIN6 zO769cN)AH)MU}WNg`?v)I{gxq;P60VgKeV9sPYwXTz{RzwYxbet>`b4E8*qwtXSgt z;90Fn37MAs4KOY3-QrI6t;H)=Wt3pE!pdp1)et2{i+gC(01sypz#LXpv?zg$=MPje z9`1ZB5z69bozQ7sRnUF2_jVx9^MoZ4B}H;;*n#hyumcqDrpb59sjX|_DRS? zq*GRNa8Ig>Qf_n`I~PStvz?tVCOsWFHO^H?gn^vnSbU>5n6;q&H|of^AWMNovxVV2 z1@w79w{sN%+JB9U26uEjKfQzAY0|;D*Gu0v=>W<@Gm$q&7gt%e>`4ud(dqMSJ($4| zx7b1w%vnsLIfED4Sqk=O_!V}pg03$Z9OM8x-c%1d7lSBn$n|3X%SA&xn#iN+w|8<5 zang}FiBx^N3nbcidpEo}s}MPvLRaug3&|zl@69@+P-d_WWd4g*4w&6X@g%$*``H&Z z<9ts$3bWxx|4^7FuB6nJk~$Z;L^0JQNv#_=hoM+hP$ad9u*v-EHOiWcFdDu3)BK`t z6g@JI_7=H;&5w$P(gP!0&}~^Gr1p$@&k*((v{UNWWOh95UIx|PEVbS0K2-k*52tHD zp%khektX&dLXhOTBT0K(&EqqQA1>ke=iiZ*+#BOq+QM}JToQYR=}f_laac6Z_g$rf z!gatcYAqWmwIhUKwu?TzBNJ%>vA{zqBYSEW6eL8&Bc+zDAf2GHrzQ0r5l0Da+>ppk zBR%3*+Bedp)u{d>sS1I{SrWx*(I++`>N~VB0dZJ>jdbgZ0=`b5L1vnwUzd z3#FE+NOqE{*0gTI6K_csH7S()K+}x#?SstBWOS@<66Y8h6St#H5XRrtQc6hN>4C~X z+@k%c;J2mPNm4r!6YN<>!|v>s@u@=Q_ZMM}J?fd0S%bFUnJ&Jex;v$Il|lgcSxD`m zg1$1yE+y&kEec9JaD2w&`~}S~87-DjLrFHGS6`_|Gnxe7znUs8z?_x3*woJR(CpGA zM3*44b_B5yuXr7ayAYq0y0lM2W`OFzY-dV!t%X|WHpB!TIB}`>Nd&F=xc>I#qEW4d z_D?mf{Y(QbQ~i33iYuVJ{?gN3q!zL5XV7J2y#7ZVYaUN<4x1=-bT;Jq*3oImNX!`R zfja;kh{d!C*SWM0=lyg7eHK&lnBL-Hs+l3-gp`d*b3P&Hw?`7;O2HHVowL8C_z6;5 zuIAIgDLndhOgd5k$i8Z~srxsvlpy#i80*odgEWke5|$98FXoRO3blT0Y<5PBBG4@% z^k6hI1^4cy$ZT=yPTQjHj^GeVm^AjTwB*axD3+NJ3(i->nL$;RyhG*5MNilUp*Kps>O-o3m7} zTd8(pwz!(KNtmyVMy)_`>o1f)sT)m-kNzXO#;-!6l~KG@^}B*n7qM;IG${>fVix;f z6pe1+T?mmwqO3Q9`}{JG=tKoTSp}7qWosvtSgoeo>!g;Yp#6;wlw~7r5|6BP!aeD* zy7|MTCe+hm6#o?G3di4*t=*Bt2W(roq4Yd8ArAO z*Wc^XK2gYZQQ4!g>i6o}cWOQm@Mz>s?oCHpuM9R}938$l4bCqt0L4vqar!?6wrX;c zc%KGN_GmrT+z?a3de55dO8!B?4%hn~)LhO}ZELCZRbz%z&16=c4R=VmB@MWqOR-Zt z+Aj4R>BT8h8=`)dQ%x?^*c6xe)OP<9X~q-}a-qwou)^R?2tc1Q)SV15<8@!j*}n*V z6Q9y9_!x;6yIUa>P&wo>H5jxlhgGQA1*RgjyM3?8_eq8DUz9Q}9cizA(+1Jm`{HQzH1F?H{9k5*Xg_+>EO)|^=}Aa$Bv1Efo75bJP=g`0 zGk6KFXgw88_lQ?H2Ze;|Be(Tpu^)@IXFu?KYF7XiOiIQ(q<9N5u(a0URk=oqn zNe->(sKQdX^81Pk?n{H0%gn&b$_1Esb= zy%w<=%zNAnm(d^39Y7n037ED0suR>@hDZBR^?jPvYX(2$X^c`x3=b?1sBzd{c^fuj zMiTNY+h(M}6FoMgo3=&4*^j*f*R-S&p4}a8XjYRsqk||`L1zPF_~$~+kERD zO44GQ250;v9eC(rZ4FW#Or7?0>%$(cE8gJ%PFhm!JyN^|G4Ui%RrkWZWeyy8)FgXj z@94uWW?(|aQje((}7y1!i&yLw1EkpG` zLv^!9i$OGSPMUbx-azX@<#VzlEg3dsYv-gTf1{wjqE^fk#w~k>6Dj_0p~z;nqS3`7 zn+yfRj%=JCIB92LqVt@Cjua+h=lY|+g(4jH+$8NM)t93g4ekgCA3!x1gy+T|C1E2R) zk2@*#79BY@8=xKk(B^qb+WiWg9R-Oi=+wNS+9Y+aH}#v(Qp40*JU>Z`R`%A8W)ONF zxWj`e_7u)9b3}uU?_```qg+HPozw{f5n=8ISbvBG1Ff$C*8Vw^Yz$JnI}>!@s@2jOYiLNLfe4pjMS`@(6_ zo8T^3c`ZZ&;^cxw6X7q`EE=liDxx~r34uGA^+>%HTW|0tN;5=$zO&b@oXRja72G+qa#%Os7Lgo8INWo?%wj~&}epk zEu_H{D1GrF+Bn)plOAzV^RV{!^&&k zEDMNvoZ>@TqHdWqSe*EsNIKgGqkat4t&=bau<*!iWi3Z`T+J-pNB@SZ9+%e9 zCc+iVw?h+tlFFC!K1SIS5|JExgol>rAUa~pl=6g*El8MqU+vA2g!^1gg{d8a_8{Px zVEnSB(m0{e%X8s_r_IP4@A9; z01*Ug4@#yPPx4kduVET(!}UL??nyu5zT_1qibVRYC^16LC3^@wmS2_*rj+6bs$C(W zFHWrR!)r$72$5rtm40zMm96v}4~>mn`5RQT61krzb=qF%qWYDE#;}_rd&N=lQ!;nn ziO45Ac$HW~_+Hj(ps=xMTuD`kPoAK%=Oume6td6=vK#j~M`9Hh(I9IL3zWOc%w0Y^ zveyZ+x*_QDT|U*k8v%Z_}ji;C9- zpmwX)^iChzDY*U+t6`ar2+j5DngP&${hl%DP?d{5IqBvdiD#s*K`}K?nh!?gn^Phs z*GD^^DM9u)^;y5sK}mZ!>s>)*&q^$E&a+dEF+T=bI@}q>Qr7xW2~l+(A=+9UJ6TiK zn!G8R3>OZ+`_S&SrcuqD3^a!CRP7@1oQdoebOPl(r;C+T@SN%U>LN(FEzA=L5#btRP?+b`MTxL z2e4hqFk+}C0l~lqFXBVCB_lb(14U50!7o0hl^aTsG!Pr_Pv6?*kL0(vMH*|Gc^kWf zyLN0ek;^}^(KP0*jhxhbcBY~=_1NTxzAW41H)qd*Qi%86DaCuCIek0>8sPnDGvR{*9r&OO-E5W5e7?2)k(CizfE+ z8eTMg?tcZLg`2*gLh{b=Rc)uB{LQ9M=cu%izM4Ba^4%k-VzXa(=)mR@Wa6``{P4fW z<6J>?&`x!16(CMJ_Kr?enMQ{nq9SH*QR++5xq1QpygV^AoQocNDRM!psq7`c=t`Sj zGPTl>XF-)H*r|UhMa-i3msw$Dyj)^D%rcGzgj>yATKTexvQ3tgPhR$lN)oRGPXY>QuXqlzsL$CUys6C$KSDB;zf;u9)()#Hrr zN)uka63Xe>S3B`8_N$%v)^D$NbhhkD9bfCHUEUQkg0VpHYtngnSGwo5FQPL5iK<-* z!HYwQaKpC7S$XY6v{l$zxLRz-pxFMM>DdUcEKJcwap( z<;U>bSsjK5BhVr)sRK?>( zYM^uI*UuoaqurGGdXDj!vSZ*r`(SkLL}^!vFHOaN;Yz(OE6Bt_Lwo{8rm^Y+v%Qyd%YMu^{?;8lpY517V zbRIDGQpR>aQq9HNO<`fb7}3)9!H9J8-;v0@h#iu*<#+f|hh4D4WIqtahfh#`J1NFf zCGNju=QAI$H%K>A)pXv`!k#d7-dV~!$vaJy@1@2=;<1lDrimN-!gV`KtfS443K_o3 zi>i1zXS7;3USQ`Ka@-=U_c$uR-tKuS zs^%Tq<<%zq0uw3r{lK+<#A--ZGI}{phWLK)q82mh+a2^4?CN)3LzL+ue;N zMUn7+q^h?i^ht3ZRMgvE)K`ezCbnyQyZyL}?Qf>UZ}7Kvdr_ZW&7o*a1DJMcS!PV5OFhatdigVV4dz1IyxU9{Kixc>V{ z-fqqki}{9oiO+VV2X9QIy?ax9Bb8YS*Xom=i3GEN;`i}(c*Z_I*c)7hVleZ=VFlO*#a2vWH*TryC13G-I7090);AT=g}UvhFMNi z-ZPDaSFkQsVaLqKa{8yrt!eLm9kO|Bzln+)?0rze0WW^%A259*(;^F^s?P-J&DtsS zo_wk}Abqha9^fZJ&0y^0NKH{s2M+kfL95EZ%aRW2@b$6|n#NZhBfFN-_=5qXs3V|( zWZ@nuws8(h-wi+gPdSBNId^DG1ZJ^i@ejZ8^YlnMcA=twn8tY4j*Xc3dz+y){zFHK zDAg--uTg5589nr_{9}<2FZ(Pwr|__-JH;Q8;sRwH@*_82d?J4Mh&$xHv`+?p(i0)-LfT; zrt`lFPMINuX5ygy_odMT=8hqRi^JtK_I*>7Pz9cERdWkhwTZM1&++9U4@CRtvVbj=y zjC*4<-G?gh{9$_bu%9w>kd!=}0v}R4;&)cIvRVj{7#q%7aWwvjnL8Uf&c<+7vsJ;W z!+m4x%E*3KQSA|lDDcD)Kf>bFPyI&r=E!v{qq0v|i8Q-R&||v*J&%?`X|FsQK(6zf zqXA>q?8vpWrh;SaB8)m_iW{lndkGGyJf^C^ey>GedsUFVb*@GCz4=4Sh_!gPV=ax; z;15*wuM*(&&s42f{@ahl)v-sv5Bv9psjKYaJ zleRb43og7CIm=ec_^~PHgH^@8;>fwADWe{4@}Hry&rBrEQBO%5Kg$7@_-lh-KjWIU z`2U#3h(>@wr-8xbdGr`6o(H+xzSZ&hMho zk&d6xjo;WE#GLsLAB?F@qIKzT&T>^HZWDv5D{(-L&GXQaHxq>j0AE1z(#;e^lx41i$7|JXE|={nuXP<=UL~ zqZ+L2GcH@qzaY6X44)k?KJ7KuDpn6See3DKX%q4L52pjhDbThtIn(IYZvwv63fDzxARdY0kF+QE7>0LK^j92|}UhlSJn+ zAdWJ=Gf_YR|BOa{w+NM2;tI}3iFzrTQEeP5cj|SxpYSkE>{V%6c4*WMDQYiV%RMZA7J>wUCsy!oHJ$*80{lfjMD}JP> zzDgwhhXFVz^(30Ef897OBX(%~G7QxWBWp zJaVPiv4&}+J_b-XrPz-K^{q() zRqLItRF{y}GF%&PBjRa1k(E}B5Tty-V{UQoFd2Q{b}UTFP@_3K5OllyVh|xWX!E2K2-#B=Y+CU=uOY zs)T_QXRIyFu>Nd&PvjVXx@A0~zQPV?x6YIb;~#5vX^zh{%Iq(H9%zm^qxKD{I(M}$ zI$7KB%($R7p~4-asg~x(qvutQE?nWIu+_E3xdE!4V=})uW$oZU_NO3W9|9n^YE6h0 z?L}LwB31;VF6>IDb|*7lbF~nKn%1d*kOoddqM9MK7QLMtueIK6Ek<;KbY9>Ur}5I& z4h@r^HzypK!F=`MYl8q>48Zs&emPQNe*eb>ob7F96(xvv$*cz$SRVd5CdJs9<@(vc(&HyHX^}# ztc}nMI)vTk$IM&2Fowj}d~dgXFPQnBjT!Mhz7;A-$>VFxpYP{c4Q+%cmOU3fSPR*B zNbZjp{bBk@qhF`)IjjSTqP57giW7yY-Hp4yk83rG`-I~Uiy!@IU63BPmu0IO@V=#UUM zAh;~HM!bw!`0E%M6=!*qMdyUnOFbQlr^%OJ;;AF9XZ2Oy2Mik z05M?zqb||K%4-V%f4#(024GmRZH2e>C3;w!dHk|VJmv8%gA-VPi7r-3JJGqr>z8=S z0N9f8p2>p)t-rJrmnR?k|MV4BSv#z@?h;)r;9Iw5wG#=+-(R8&zcDHZC2HU$XbPk& zDEcM3FqGIJl#EMsVazKiS6-qELotF-`d^|8<6l7;eu*v&rDYJx*h_R_A_SqN+;@pC z423CSRVP98KWQV}kGB_nxw89r(Y3E<#en<&w=K2~otHbdQ+G(`d zz7EGYD3z{|^Bd46pzTFFg!VaFIo>)Stpe@eX#Br{a?u8&-H3JzS~1#qw5e!w&=#Os zXq7%O)3FH`ThVr*?L+$%?K89nwBOJ)B#v96>1b`x+M=bQbwtZT%SOvZ>xXs&+Ay>t zv{JOY(e6Q;jy4NzF52JGmZGgdThlRGIG*oleVZ<_wV~rD-aTsAgt3#Y^b9dj8#;B= rsL4YoO`L3v%MhvU2H!JweDOWg9R*WH-7`J(BY*68b!lzP5bOURv{5|1 delta 17620 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 diff --git a/scripts/Raptors/raptorc3c.bos b/scripts/Raptors/raptorc3c.bos index bb62ec2fe23..fd3f85d0ff8 100644 --- a/scripts/Raptors/raptorc3c.bos +++ b/scripts/Raptors/raptorc3c.bos @@ -6,13 +6,14 @@ piece base, body, head,tail,rblade,lblade, flare, aimy1, // Signal definitions -#define SIGNAL_AIM1 256 -#define SIGNAL_AIM2 512 -#define SIGNAL_MOVE 1 +#define SIG_AIM 2 +#define SIG_AIM_2 4 +#define SIG_MOVE 16 -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" -static-var maxSpeed, animFramesPerKeyframe, isMoving, animSpeed,isDying,gun_1; +static-var maxSpeed, animFramesPerKeyframe, bMoving, animSpeed,isDying,gun_1; // For N:\animations\Raptors\raptor_walk_remaster_v2.blend Created by https://github.com/Beherith/Skeletor_S3O V((0, 3, 5)) #define MOVESCALE 35 //Higher values are bigger, 100 is default @@ -22,7 +23,7 @@ static-var maxSpeed, animFramesPerKeyframe, isMoving, animSpeed,isDying,gun_1; #define RUHAND rupperarm #define LLHAND lupperarm //define these as the left and right head thingies #define RLHAND rupperarm -#define SIGNAL_MOVE 1 +#define SIG_WALK 64 //these defines are needed before includes! #include "raptor_walk_allterrain.h" @@ -52,23 +53,23 @@ static-var maxSpeed, animFramesPerKeyframe, isMoving, animSpeed,isDying,gun_1; #include "raptor_killed_allterrain.h" -AimFromWeapon1(pieceIndex) - { pieceIndex=head; } +AimFromPrimary(piecenum) + { piecenum=head; } -QueryWeapon1(pieceIndex) - { pieceIndex=head; } +QueryPrimary(piecenum) + { piecenum=head; } -AimWeapon1(heading,pitch) +AimPrimary(heading,pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; if (heading > <60> ) heading = <60>; if (heading < <-60> ) heading = <-60>; if (pitch > <60> ) pitch = <60>; if (pitch < <-60> ) pitch = <-60>; - turn aimy1 to y-axis heading speed <250.0>; - turn aimy1 to x-axis <0.0> - pitch speed <200.0>; + turn aimy1 to y-axis heading speed <250.000000>; + turn aimy1 to x-axis <0.000000> - pitch speed <200.000000>; wait-for-turn aimy1 around y-axis; start-script RestoreAfterDelay(); diff --git a/scripts/Raptors/raptorc3c.cob b/scripts/Raptors/raptorc3c.cob index f6482fb94b92eb28f6689e501ef13701d2f2b2e5..e329d814533cda1604ff1b82a20b3e95b68f194c 100644 GIT binary patch delta 18759 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 delta 17620 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 diff --git a/scripts/Raptors/raptord1.bos b/scripts/Raptors/raptord1.bos index a55b69fd1f3..f8016007b1f 100644 --- a/scripts/Raptors/raptord1.bos +++ b/scripts/Raptors/raptord1.bos @@ -1,10 +1,12 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece body, firepoint; // Signal definitions -#define SIGNAL_AIM1 256 +#define SIG_AIM 2 Create() { @@ -14,25 +16,28 @@ Create() move body to y-axis [0] speed [8]; } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; sleep 30; return (TRUE); } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = firepoint; + piecenum = firepoint; } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = firepoint; + piecenum = firepoint; } - +SweetSpot(piecenum) +{ + piecenum = body; +} HitByWeaponId() { @@ -47,12 +52,15 @@ Killed( severity, corpsetype ) return( 0 ); } +StartBuilding(Func_Var_1, Func_Var_2) +{ +} StopBuilding() { } -QueryNanoPiece(pieceIndex) +QueryNanoPiece(piecenum) { - pieceIndex = firepoint; + piecenum = firepoint; } diff --git a/scripts/Raptors/raptord1.cob b/scripts/Raptors/raptord1.cob index 2b085e3faa18072437499032d368417bc3104cf5..c6363cf8690ee7b766d3f4b5405b5a2c8becf672 100644 GIT binary patch delta 228 zcmX@aGL2P>g@J*A3y7J3I2njxUX;y|nf#D+j@2gDvg90tU(K%5Q4 z6+qk$#63XlT$GwvlFHzinHx})nVVQt31Yex<-@swrKv@gFuCCJ)YOvTg8UK&kIa(E XtV|-@iA5z&rI|S?nR)4x#h7#ea1br7 delta 208 zcmbQndWc1fg@J*A1BjV`I0A@apofuxVGR(U0b(7X;1$M+T2*`uKpsN@n*gH#lK=zb z#7%LN4H#o4&tNpEcK}NG0&xHkUjeGR4aCoY_$v@I0Sy-bVsRi=0b*kywg6)1qSVBa zR0hY)-0;-Ig8V!~5Yw$FAI=RdO)aW~$$4a!I6*m{DGc73IXS5*48bM&1x}@zIg^W- FlmXV^EL{Kq diff --git a/scripts/Raptors/raptord2.bos b/scripts/Raptors/raptord2.bos index cff4ed2568e..bb010c85879 100644 --- a/scripts/Raptors/raptord2.bos +++ b/scripts/Raptors/raptord2.bos @@ -1,11 +1,13 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece body, firepoint; // Signal definitions -#define SIGNAL_AIM1 256 -#define SIGNAL_AIM2 512 +#define SIG_AIM 2 +#define SIG_AIM_LASER 4 Create() @@ -16,44 +18,47 @@ Create() move body to y-axis [0] speed [8]; } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; sleep 15; return (TRUE); } -AimWeapon2(heading, pitch) +AimSecondary(heading, pitch) { - signal SIGNAL_AIM2; - set-signal-mask SIGNAL_AIM2; + signal SIG_AIM_LASER; + set-signal-mask SIG_AIM_LASER; sleep 30; return (TRUE); } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = firepoint; + piecenum = firepoint; } -AimFromWeapon2(pieceIndex) +AimFromSecondary(piecenum) { - pieceIndex = firepoint; + piecenum = firepoint; } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = firepoint; + piecenum = firepoint; } -QueryWeapon2(pieceIndex) +QuerySecondary(piecenum) { - pieceIndex = firepoint; + piecenum = firepoint; } - +SweetSpot(piecenum) +{ + piecenum = body; +} HitByWeaponId() { @@ -68,11 +73,15 @@ Killed( severity, corpsetype ) return( 0 ); } +StartBuilding(Func_Var_1, Func_Var_2) +{ +} + StopBuilding() { } -QueryNanoPiece(pieceIndex) +QueryNanoPiece(piecenum) { - pieceIndex = firepoint; + piecenum = firepoint; } diff --git a/scripts/Raptors/raptord2.cob b/scripts/Raptors/raptord2.cob index ea87134eb7005d7c4073930208a9d6bdabd008c7..6cccdda2dd84c46deb001771304945c30cea9438 100644 GIT binary patch delta 324 zcmey#dYMg=g@J*A7l@gFxDkk9zyK(a0>m?bSO+M$V4`L5Al?MT`+@iz z5Z?#lH$eOwh*_B#7=(dX3Wzm;*c6CefY=j=or_WvOHvseGjjuqGIJA)DnZQP)a3lU z6e!27C?6pgk(mqPBNPOdrWRGgw1PPZx#05D)RN$W{1OI_%o3-{@YKYD{5;PT2Jg(A ZoYWMC;F83m5~tG4oRrMG^vP$LbO3x5Oicg) delta 268 zcmcc2_LEhUg@J*A8;F^JxD1G4fCVUE0K_pstOFEGnW$OK$G`|=6|e~~3NQ&UFiza0 z#Rt|06JeV8YTo1(j4_i1m>lZkfJ(E0I1i*5Xh=2?mjQ7j5KjQ&`9Qn|h<5_ @@ -52,14 +53,14 @@ UnitSpeed(){ //animSpeed = 3; } -StartMoving(reversing){ - signal SIGNAL_MOVE; - isMoving=TRUE; +StartMoving(){ + signal SIG_WALK; + bMoving=TRUE; start-script Walk(); } StopMoving(){ - signal SIGNAL_MOVE; - isMoving=FALSE; + signal SIG_WALK; + bMoving=FALSE; call-script StopWalking(); } @@ -74,20 +75,24 @@ Create() start-script UnitSpeed(); } +SweetSpot(piecenum) + { piecenum=body; } + +AimFromPrimary(piecenum) + { piecenum=head; } - -QueryWeapon1(pieceIndex) - { pieceIndex=head; } +QueryPrimary(piecenum) + { piecenum=head; } RestoreAfterDelay() { sleep 1000; } -AimWeapon1(heading,pitch) +AimPrimary(heading,pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; turn head to x-axis 0 -pitch speed <200>; wait-for-turn head around y-axis; start-script RestoreAfterDelay(); diff --git a/scripts/Raptors/raptorf1.cob b/scripts/Raptors/raptorf1.cob index 88edf1612efea14efcb5fb4a34f7faea4f9957be..b601c0fd3f6698ba9ecc60d98d953d73e85dcd1a 100644 GIT binary patch literal 15716 zcmds8ZLC~H8J_#m+gm>D!9t-y>ZM3AkuF!Lx^&xJ_b%4k z5LzSYkA^_wA5vNg@dqEGL_#7Ot^Hvo6fW_P8WW8s)>I2tzN#W$>+{Sxv-j_<5l(zSsZqrI9bJh(tMDJ;N+er|)!1Mn!(f7c z$R0pk&EjFiYJ4bBtA~=o@xf$>*QiGsCYeVW)@2#<8CZ8mK z4KL4Q+1Rk=-(e(s{e`^g3uD^J^id_yg`XJ*Z6C?kJtMTdo*(4y98{*>W1k;X%pYcD z%eKs)!~CqjH~+ocb;;5W=RnlVzZktwFHlYl)O)tjdnwXATp3<;1@^*Njt`vC$NK=t z;ALOWqFgeR43DS%m1S?UESnn_L!ps3vb_E%L>NCpS+r!zs7Lc2c0H2SRfmSO?DLeJ z#jYXto?e``7o$TZ>3pC~h_wqJYWg`F4mrNNQO6~#Fb>qoANAh3%q>eDQt$6ih4W_k zrEt9;`;T8Q$J_8R2Jht`bYq|$Bp+k&{svCLXWw}O@1;oh?3lyzd(cUa$%)aqI*#E> zuZ?VuPj4vBIb&;e@4UWos8(?t(+ctyjJ7=cx3V z*WWte#9-@vB4%|T$^96-8*}DVQSM)d8y?4G(Hs49?#aiBbFRnz&bfVa zfBMhGaTMYHGXU=!bIJYPo87WDN7tPW=l<~@h3nn_SHE7#{TRH@g4{kkNbbkrZC&Ko zTa^3nX54>f%h`Q%?w_Lr(K^gpqsRTm{Ae9EXSQr9j>B+2X3et#HuR0TGyBHCtUBBkB4(V2JfMqwTa|@4BkgSgD1%4EO&u*KKc`qpwEz{i{{@+T;|#_~w-4{+lnlWo^9o{~?_FF?bie@7F82AA`4j znY(ZOaDNvbuF6{TEXD&Xb;Ue0*nYn|S;Cs(BDS`Xn z>i@YzJ=H(=AI7^Pm(R7ie>EnIOO|7UV*R6?TW5uH|KI2P^-Auq`%bvt4JZ5@mE4cP zJMR_0UdjC!yiYCi+o9;1=eHU6y9Y~nw>aHD=WhFmyPr1aNT^WG-7@Kxwe|ig=h;ef z?(Oe|zw2K3o}U|%b1`_A=RCVg&c)z;Ip=;>lyj3Bd4@da9$5w{>xr3gyJN>fcTnyf|5q>TPZ|yDr94X4VkB^pjk1u0=TgLnB=@Qnr zH!cb1=z}@_OLG6n`QaSB7Y@qj$ECmh=2o|??Z+?7(JQ$hgZJ*7caYNG#^61fqqivc zU(dK-#{2A2-fNWbKD&Fe_&S?B<^AWF=RR+9>FB$Dza+VzToum!Yfv$i`xhT{%i4I? z;LE*FujGCV-eWoUKgsg~o z`^x}`+%IFzQ^x+4GTvvGv47?92rgZlbFY_co+AgO~PR?3N`u!NZOWyI@wn6(C{m~RXv=RV^Z7n^f2d#q#pR~}x;xfr}Ld$-HP8^bxZdS<^n?O@Jv zu+QAX&ArMTf361Rjr%#R_`z+5w(5|!{&!rd}4!~!cvoddRdo9e899(y`a0V>D35gB~5^Ci{s<$1Zz3?$N>d5~AZL z9vz%ZAv#|0=-~V|I*i}D33+NPJ-@;v%gF)yLe4k(B<7o#<>WiBSnN$kOiS98Z$r zF#Oi|vNr8{|H2y5_>RT1)l1U$jjrc(I|H!8NOC;0KeLRDbz7~O^Mb@q8}gi%j*(

    ++dtiIZeQQ7Z?Ckc)EDlmwWrL*hT3GO*{z0#^@eI}Zd9r@wLOj6Su|Ps>NeHTf7{KSgw;r+c0IjHqyGW{2UM~E delta 2152 zcmaJ?U2GIp6ux)nc6ZC(mYKG+v<14A)XsLM&~@AGLR-^2}!%n|zZy z-`(?_JKs6?^!lzhw$v~}NS=cwxbWaw{Amq@Jc8&!Sol8FkgQq2`Y0jEXqc8IljXEM z`B@{aOa5ZgCeW!#+o1)Y9k7X-x!W;B(G-os9$HAZ!*Tkn@2MO@C~`uc_=tvDL_r8n z?7;=4m3{%b8p*xu(BDC~8lmE8!m)q_K4vLFFRWrAS^)c46F-U~wr1E(VAO4}{uUJS zc@0>dV<~Y0TlE^Yc@c8B372vbGcO6(G2VgsMfixG?}UGdKkd`}s;5v8esxsJv3owL zq4ZOs2_JZ(taUB5qm;ohSmdgK&fE+xS^!sFPkSew48iM#kjkx5pTrQMf1}Jvcoqpf zZ#n^N_gXX#N4zF|3_5%jFyY}a>5V$v2{=+w0Ry=l26=+Nugddp94VG^f9Q(PHyFLV zKr$oek#P)xSbkJ_{x-a)*1)ZNi>`&r*%9Sk7wqPe_!utEj_`JD3gJpxHGauf^{Z0U zuU=AZO*#r~x=ANsi*B+;BHdtrVohK`HDE%wl(()3Yi2eJ?oCZWoEtDuU@5OG6dv(0 zCm(tw&)l*b_3v}(YbIT)m?O(Tn?+7ISY**+I8|h_mL8`*2QJ&S5Ies?_neHK9o2TW zgH9W!YrgUy%(kK0uezO@ugf8zmBeW`Buh*-S>$}qjgqLOs0X&pP4OyMcJCd+K(v}Z z1E&o0?I43IrJeKw1j1k-IGN}&T4@B6!!%~7S2i+)#R<7Yj<-(Z_c5)n#I_m1= zpE?QB4fa26TU2GyZI~vateLbM_Y4xR!p*7({T#cm95kkZ;P%0h2P57!x#`}$@4ii6 zhkob2(W7`u6FauWh$tKXvXzI8gwmg9Uxt`J!EZZKX&d^dhr_fDVmOS}c0$;+*zmN2 zeP)6Vqp23OSt&j+E2|!F)?(1igmEU;XzdXF8)(2}LsQa5_A}lJsB;;hEw*SL9M9aV zyd$0T2E0<9gx!!T#R=@0Ex$~5pMf*vW>q;%)E#tI1A!CtZZcU2FFmBG%7u-vI9Obu z$zd!8vOP?d6@rHO!A3RgVz@4aSg=059uDs3hn>U;jDZdHmi|cwK{U6fKxKWk{#6#M z+U(gZmI;>sn88A7^Njkep=)S7)(a zJGdc(g%yoG%6<;#8eiu<4v+OA@Iu(fdmREVG=X=*a|>5F1illp+NBYn0;j_#nIcNs zx5R+SCC&LbE(wXbG~00s%a%S&XThGODLMjyrgD6)w4a;o=f0-puMOhwhY=zC)Lujw zvm8JiLVSccgE)`)0WpRc!hhW-5a$rzBYr|$MchE#LQElCAwmifRfsx72+@RSMLddl y0?~nphDZr{78hNJ&4_J?orrh{wl=Th9Xq; wait-for-turn head around y-axis; start-script RestoreAfterDelay(); diff --git a/scripts/Raptors/raptorf1b.cob b/scripts/Raptors/raptorf1b.cob index 30a94d45fb8d2f930187ef1ed4dc095ba51d2271..c5e00cb0a06a0ee7d8f8ed9c3c196703aa38cf66 100644 GIT binary patch delta 1045 zcmZ{jUr1AN6vuz(-s#-h?5_D|I@@NFb9cYdoKcY$i4q2eg_R=&H6|%2(`AGY;R4Br zG??c_10x>{BKpUD5W;-&twBi-8B9o!3i=N|C{*kGZu7*{EkdCrCvCZjCZ9Yx!?4NZ(@q!; z0zAMQk{g3L7QC0WDu-6>_}zU0m$UsaiTxfwP8c}08^hA6HFRaE+N!Y&;4_{!`7zJJ zu!+KAB(9N zDs4H}2-4`1t}6jyv(gf(`k) zgiW^d$O|~k;k4C_aiax?3sO)=;hQP3-Vvr%ryO;XUSNxyek1EmM4TKJw1kuL&g0LL zTmSbt?&5F-6HY&dU0iBj*BgH7O2JJWbI;1@w=TUl+PD@2{7$FG%@w%j;c!_iEk)Se zc+ol)s%qA-_4*|MEK zQJ*V`_`YmK%<6w#9d;BctXq*FNtO16Y-7sMaUt#nuL|uLlhAn!W&|C79gXFI7-wK4I#V}tlr;z rt+R8Wxi31vYP)++#-hDvV%@zRu|anBYG-UP^MNbD0^_FrC)o8Di*54- delta 850 zcmZwFPe@cj7y$73W}o}7=k{z#&8=M*P2KlK*++*0O|(2nB&Gzr9YVKUv9Pqwz&*9W zRtNL2`&~j-NU#XPFeca_Jn5~!9s&<5R7gR1DDq&3u!-~kLf zRlHZWflq4$F506ogI8(|ysHQtbVPag7W&I{x#1WA*u)-}VS_b)rZ;4J^^)V562iBx zG(Z2t8iXmgfHQKz-3pMx4>VoUWylWI34FSMkKH=1r~>xLx$@nB1-qbit$Q56r`C!| zO%w11k7{{qq0l3P6?p(B#;OcdymxROtb!%)06-WkoPo?&6}$Hq`?Hl%c#d=B0Zchm zOjj1*7?l<0!LDlBk({kQ&Wme`V23Jj$R}V~W_&c)5`No1_1~Rk{Q?r0@fjHP3*Nt7 z+~T6Y05@?ukjF_Et%r^(qOhMkJ6U%VZq*7Hmcbyx?_6Uj(CHa>RQWc~506Jv>Z=kP>4 T(G?$!C0XZ%OQj@!Hb;H|B@fs? diff --git a/scripts/Raptors/raptorf2.bos b/scripts/Raptors/raptorf2.bos index ecdba54095b..166cd91de1a 100644 --- a/scripts/Raptors/raptorf2.bos +++ b/scripts/Raptors/raptorf2.bos @@ -1,19 +1,24 @@ piece body,head,tail,lblade,mblade,rblade,rsack,lsack,rowing,lowing, riwing, liwing; // Signal definitions -#define SIGNAL_AIM1 256 -#define SIGNAL_AIM2 512 -#define SIGNAL_MOVE 1 +#define SIG_AIM 2 +#define SIG_AIM_2 4 +#define SIG_MOVE 16 -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" + + +#include "sfxtype.h" +#include "exptype.h" // For N:\animations\Raptors\raptor_flight_2seg_anim_v1.blend Created by https://github.com/Beherith/Skeletor_S3O V((0, 3, 3)) #define MOVESCALE 200 #define MOVESPEED 3 // this animation uses the static-var animFramesPerKeyframe which contains how many frames each keyframe takes -static-var maxSpeed, animFramesPerKeyframe, isMoving, deltaSpeed; -#define SIGNAL_MOVE 1 +static-var maxSpeed, animFramesPerKeyframe, bMoving, deltaSpeed; +#define SIG_WALK 1 #include "raptor_fly.h" static-var nowSpeed, prevSpeed; @@ -42,14 +47,14 @@ UnitSpeed(){ //animSpeed = 3; } -StartMoving(reversing){ - signal SIGNAL_MOVE; - isMoving=TRUE; +StartMoving(){ + signal SIG_WALK; + bMoving=TRUE; start-script Walk(); } StopMoving(){ - signal SIGNAL_MOVE; - isMoving=FALSE; + signal SIG_WALK; + bMoving=FALSE; call-script StopWalking(); } @@ -64,20 +69,24 @@ Create() start-script UnitSpeed(); } +SweetSpot(piecenum) + { piecenum=body; } + +AimFromPrimary(piecenum) + { piecenum=head; } - -QueryWeapon1(pieceIndex) - { pieceIndex=head; } +QueryPrimary(piecenum) + { piecenum=head; } RestoreAfterDelay() { sleep 1000; } -AimWeapon1(heading,pitch) +AimPrimary(heading,pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; turn head to x-axis 0 -pitch speed <200>; wait-for-turn head around y-axis; start-script RestoreAfterDelay(); diff --git a/scripts/Raptors/raptorf2.cob b/scripts/Raptors/raptorf2.cob index 30a94d45fb8d2f930187ef1ed4dc095ba51d2271..c5e00cb0a06a0ee7d8f8ed9c3c196703aa38cf66 100644 GIT binary patch delta 1045 zcmZ{jUr1AN6vuz(-s#-h?5_D|I@@NFb9cYdoKcY$i4q2eg_R=&H6|%2(`AGY;R4Br zG??c_10x>{BKpUD5W;-&twBi-8B9o!3i=N|C{*kGZu7*{EkdCrCvCZjCZ9Yx!?4NZ(@q!; z0zAMQk{g3L7QC0WDu-6>_}zU0m$UsaiTxfwP8c}08^hA6HFRaE+N!Y&;4_{!`7zJJ zu!+KAB(9N zDs4H}2-4`1t}6jyv(gf(`k) zgiW^d$O|~k;k4C_aiax?3sO)=;hQP3-Vvr%ryO;XUSNxyek1EmM4TKJw1kuL&g0LL zTmSbt?&5F-6HY&dU0iBj*BgH7O2JJWbI;1@w=TUl+PD@2{7$FG%@w%j;c!_iEk)Se zc+ol)s%qA-_4*|MEK zQJ*V`_`YmK%<6w#9d;BctXq*FNtO16Y-7sMaUt#nuL|uLlhAn!W&|C79gXFI7-wK4I#V}tlr;z rt+R8Wxi31vYP)++#-hDvV%@zRu|anBYG-UP^MNbD0^_FrC)o8Di*54- delta 850 zcmZwFPe@cj7y$73W}o}7=k{z#&8=M*P2KlK*++*0O|(2nB&Gzr9YVKUv9Pqwz&*9W zRtNL2`&~j-NU#XPFeca_Jn5~!9s&<5R7gR1DDq&3u!-~kLf zRlHZWflq4$F506ogI8(|ysHQtbVPag7W&I{x#1WA*u)-}VS_b)rZ;4J^^)V562iBx zG(Z2t8iXmgfHQKz-3pMx4>VoUWylWI34FSMkKH=1r~>xLx$@nB1-qbit$Q56r`C!| zO%w11k7{{qq0l3P6?p(B#;OcdymxROtb!%)06-WkoPo?&6}$Hq`?Hl%c#d=B0Zchm zOjj1*7?l<0!LDlBk({kQ&Wme`V23Jj$R}V~W_&c)5`No1_1~Rk{Q?r0@fjHP3*Nt7 z+~T6Y05@?ukjF_Et%r^(qOhMkJ6U%VZq*7Hmcbyx?_6Uj(CHa>RQWc~506Jv>Z=kP>4 T(G?$!C0XZ%OQj@!Hb;H|B@fs? diff --git a/scripts/Raptors/raptorh1.bos b/scripts/Raptors/raptorh1.bos index b9fc73327be..f6206677fc8 100644 --- a/scripts/Raptors/raptorh1.bos +++ b/scripts/Raptors/raptorh1.bos @@ -1,10 +1,11 @@ piece base, body, head,tail,lthigh,lknee,lshin,lfoot,rthigh,rknee,rshin,rfoot,lforearm,lupperarm,lblade,rforearm,rupperarm,rblade, aimy1; -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" -#define SIGNAL_AIM1 256 +#define SIG_AIM 2 -static-var maxSpeed, animFramesPerKeyframe, isMoving, animSpeed,isDying,gun_1; +static-var maxSpeed, animFramesPerKeyframe, bMoving, animSpeed,isDying,gun_1; // For N:\animations\Raptors\raptor_walk_remaster_v2.blend Created by https://github.com/Beherith/Skeletor_S3O V((0, 3, 5)) #define MOVESCALE 27 //Higher values are bigger, 100 is default @@ -14,7 +15,7 @@ static-var maxSpeed, animFramesPerKeyframe, isMoving, animSpeed,isDying,gun_1; #define RUHAND rupperarm #define LLHAND lupperarm //define these as the left and right head thingies #define RLHAND rupperarm -#define SIGNAL_MOVE 1 +#define SIG_WALK 64 //these defines are needed before includes! #include "raptor_walk_2legged_v2.h" @@ -69,7 +70,7 @@ StopBuilding() set INBUILDSTANCE to 0; } -QueryNanoPiece(pieceIndex) +QueryNanoPiece(piecenum) { - pieceIndex = head; + piecenum = head; } diff --git a/scripts/Raptors/raptorh1.cob b/scripts/Raptors/raptorh1.cob index c34396634ce10c4105cd7f0a6a4c05b636289a2b..78915f3c272d4332503ea1bc21226d9281bc1960 100644 GIT binary patch literal 150668 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%0Ds$D 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 literal 67164 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 diff --git a/scripts/Raptors/raptorh2.bos b/scripts/Raptors/raptorh2.bos index abc8c89b7d0..82a05c29a9b 100644 --- a/scripts/Raptors/raptorh2.bos +++ b/scripts/Raptors/raptorh2.bos @@ -1,15 +1,19 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, body, head, tail, lthigh, lknee, lshin, lfoot, rthigh, rknee, rshin, rfoot, lforearm, lupperarm, lblade, rforearm, rupperarm, rblade, aimy1; +static-var Static_Var_2, Static_Var_3; + // Signal definitions -#define SIGNAL_AIM1 256 +#define SIG_AIM 2 -static-var maxSpeed, animFramesPerKeyframe, isMoving, animSpeed, isDying, gun_1; +static-var maxSpeed, animFramesPerKeyframe, bMoving, animSpeed, isDying, gun_1; // For N:\animations\Raptors\raptor_walk_remaster_v2.blend Created by https://github.com/Beherith/Skeletor_S3O V((0, 3, 5)) #define MOVESCALE 100 //Higher values are bigger, 100 is default @@ -19,7 +23,7 @@ static-var maxSpeed, animFramesPerKeyframe, isMoving, animSpeed, isDying, gun_1; #define RUHAND rupperarm #define LLHAND lupperarm //define these as the left and right head thingies #define RLHAND rupperarm -#define SIGNAL_MOVE 1 +#define SIG_WALK 64 //these defines are needed before includes! #include "raptor_walk_2legged_v2.h" @@ -49,36 +53,49 @@ static-var maxSpeed, animFramesPerKeyframe, isMoving, animSpeed, isDying, gun_1; #include "raptor_killed_2legged.h" +#include "raptor_hitbyweapon.h" #include "raptor_swim_2legged_v1.h" #include "raptor_create_move_swim.h" +SweetSpot(piecenum) +{ + piecenum = body; + return (0); +} - -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = head; + piecenum = head; return (0); } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = head; + piecenum = head; return (0); } +RestoreAfterDelay() +{ + sleep 1000; + + turn aimy1 to y-axis <0> speed <180>; + turn aimy1 to x-axis <0> speed <180>; + return (0); +} -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; if (heading > <60> ) heading = <60>; if (heading < <-60> ) heading = <-60>; if (pitch > <60> ) pitch = <60>; if (pitch < <-60> ) pitch = <-60>; - turn aimy1 to y-axis heading speed <250.0>; - turn aimy1 to x-axis <0.0> - pitch speed <200.0>; + turn aimy1 to y-axis heading speed <250.000000>; + turn aimy1 to x-axis <0.000000> - pitch speed <200.000000>; wait-for-turn aimy1 around y-axis; start-script RestoreAfterDelay(); @@ -87,15 +104,15 @@ AimWeapon1(heading, pitch) Shot1() { - turn lforearm to y-axis <-140.0> speed <600.0>; - turn rforearm to y-axis <140.0> speed <600.0>; - turn lblade to y-axis <140.0> speed <600.0>; - turn rblade to y-axis <-140.0> speed <600.0>; + turn lforearm to y-axis <-140.000000> speed <600.000000>; + turn rforearm to y-axis <140.000000> speed <600.000000>; + turn lblade to y-axis <140.000000> speed <600.000000>; + turn rblade to y-axis <-140.000000> speed <600.000000>; wait-for-turn rblade around y-axis; - turn lforearm to y-axis <0.0> speed <120.0>; - turn rforearm to y-axis <0.0> speed <120.0>; - turn lblade to y-axis <0.0> speed <120.0>; - turn rblade to y-axis <0.0> speed <120.0>; + turn lforearm to y-axis <0.000000> speed <120.000000>; + turn rforearm to y-axis <0.000000> speed <120.000000>; + turn lblade to y-axis <0.000000> speed <120.000000>; + turn rblade to y-axis <0.000000> speed <120.000000>; return (0); } diff --git a/scripts/Raptors/raptorh2.cob b/scripts/Raptors/raptorh2.cob index bfb230f4cea96c2b89f86a655bc2a8c3e6e593ee..8275253dc91eef093f0a885dbf224c92b451e815 100644 GIT binary patch literal 70057 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 literal 67565 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%0AwF<;_n*TH}dt4=KWf5EgJOB3#>8zP~0u@ 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 diff --git a/scripts/Raptors/raptorh3.bos b/scripts/Raptors/raptorh3.bos index a4fe6366ae3..72e029624ac 100644 --- a/scripts/Raptors/raptorh3.bos +++ b/scripts/Raptors/raptorh3.bos @@ -1,14 +1,16 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, body, head, tail, lthigh, lknee, lshin, lfoot, rthigh, rknee, rshin, rfoot, lforearm, lupperarm, lblade, rforearm, rupperarm, rblade, aimy1; // Signal definitions -#define SIGNAL_AIM1 256 +#define SIG_AIM 2 -static-var maxSpeed, animFramesPerKeyframe, isMoving, animSpeed, isDying, gun_1; +static-var maxSpeed, animFramesPerKeyframe, bMoving, animSpeed, isDying, gun_1; // For N:\animations\Raptors\raptor_walk_remaster_v2.blend Created by https://github.com/Beherith/Skeletor_S3O V((0, 3, 5)) #define MOVESCALE 68 //Higher values are bigger, 100 is default @@ -18,7 +20,7 @@ static-var maxSpeed, animFramesPerKeyframe, isMoving, animSpeed, isDying, gun_1; #define RUHAND rupperarm #define LLHAND lupperarm //define these as the left and right head thingies #define RLHAND rupperarm -#define SIGNAL_MOVE 1 +#define SIG_WALK 64 //these defines are needed before includes! #include "raptor_walk_2legged_v2.h" #define IDLEMOVESCALE 68 @@ -46,28 +48,28 @@ static-var maxSpeed, animFramesPerKeyframe, isMoving, animSpeed, isDying, gun_1; #include "raptor_swim_2legged_v1.h" #include "raptor_create_move_swim.h" -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = head; + piecenum = head; return (0); } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = head; + piecenum = head; return (0); } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; if (heading > <60> ) heading = <60>; if (heading < <-60> ) heading = <-60>; if (pitch > <60> ) pitch = <60>; if (pitch < <-60> ) pitch = <-60>; - turn aimy1 to y-axis heading speed <250.0>; - turn aimy1 to x-axis <0.0> - pitch speed <200.0>; + turn aimy1 to y-axis heading speed <250.000000>; + turn aimy1 to x-axis <0.000000> - pitch speed <200.000000>; wait-for-turn aimy1 around y-axis; start-script RestoreAfterDelay(); @@ -76,15 +78,15 @@ AimWeapon1(heading, pitch) Shot1() { - turn lforearm to y-axis <-140.0> speed <600.0>; - turn rforearm to y-axis <140.0> speed <600.0>; - turn lblade to y-axis <140.0> speed <600.0>; - turn rblade to y-axis <-140.0> speed <600.0>; + turn lforearm to y-axis <-140.000000> speed <600.000000>; + turn rforearm to y-axis <140.000000> speed <600.000000>; + turn lblade to y-axis <140.000000> speed <600.000000>; + turn rblade to y-axis <-140.000000> speed <600.000000>; wait-for-turn rblade around y-axis; - turn lforearm to y-axis <0.0> speed <120.0>; - turn rforearm to y-axis <0.0> speed <120.0>; - turn lblade to y-axis <0.0> speed <120.0>; - turn rblade to y-axis <0.0> speed <120.0>; + turn lforearm to y-axis <0.000000> speed <120.000000>; + turn rforearm to y-axis <0.000000> speed <120.000000>; + turn lblade to y-axis <0.000000> speed <120.000000>; + turn rblade to y-axis <0.000000> speed <120.000000>; return (0); } diff --git a/scripts/Raptors/raptorh3.cob b/scripts/Raptors/raptorh3.cob index 5c20af895257758905ac2de8b1a770455c058251..0aa1e5459f9be0ef60bfa6e7b395708e4e7cd25c 100644 GIT binary patch literal 68621 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 C!E$i` literal 67529 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 diff --git a/scripts/Raptors/raptorh4.bos b/scripts/Raptors/raptorh4.bos index ae8688b54a0..8fcc0edbc42 100644 --- a/scripts/Raptors/raptorh4.bos +++ b/scripts/Raptors/raptorh4.bos @@ -1,14 +1,16 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, body, head, tail, lthigh, lknee, lshin, lfoot, rthigh, rknee, rshin, rfoot, lforearm, lupperarm, lblade, rforearm, rupperarm, rblade, aimy1; // Signal definitions -#define SIGNAL_AIM1 256 +#define SIG_AIM 2 -static-var maxSpeed, animFramesPerKeyframe, isMoving, animSpeed, isDying, gun_1; +static-var maxSpeed, animFramesPerKeyframe, bMoving, animSpeed, isDying, gun_1; // For N:\animations\Raptors\raptor_walk_remaster_v2.blend Created by https://github.com/Beherith/Skeletor_S3O V((0, 3, 5)) #define MOVESCALE 31 //Higher values are bigger, 100 is default @@ -18,7 +20,7 @@ static-var maxSpeed, animFramesPerKeyframe, isMoving, animSpeed, isDying, gun_1; #define RUHAND rupperarm #define LLHAND lupperarm //define these as the left and right head thingies #define RLHAND rupperarm -#define SIGNAL_MOVE 1 +#define SIG_WALK 64 //these defines are needed before includes! #include "raptor_walk_2legged_v2.h" #define IDLEMOVESCALE 31 @@ -46,26 +48,26 @@ static-var maxSpeed, animFramesPerKeyframe, isMoving, animSpeed, isDying, gun_1; #include "raptor_swim_2legged_v1.h" #include "raptor_create_move_swim.h" -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = head; + piecenum = head; } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = head; + piecenum = head; } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; if (heading > <60> ) heading = <60>; if (heading < <-60> ) heading = <-60>; if (pitch > <60> ) pitch = <60>; if (pitch < <-60> ) pitch = <-60>; - turn aimy1 to y-axis heading speed <250.0>; - turn aimy1 to x-axis <0.0> - pitch speed <200.0>; + turn aimy1 to y-axis heading speed <250.000000>; + turn aimy1 to x-axis <0.000000> - pitch speed <200.000000>; wait-for-turn aimy1 around y-axis; start-script RestoreAfterDelay(); @@ -74,15 +76,15 @@ AimWeapon1(heading, pitch) Shot1() { - turn lforearm to y-axis <-140.0> speed <600.0>; - turn rforearm to y-axis <140.0> speed <600.0>; - turn lblade to y-axis <140.0> speed <600.0>; - turn rblade to y-axis <-140.0> speed <600.0>; + turn lforearm to y-axis <-140.000000> speed <600.000000>; + turn rforearm to y-axis <140.000000> speed <600.000000>; + turn lblade to y-axis <140.000000> speed <600.000000>; + turn rblade to y-axis <-140.000000> speed <600.000000>; wait-for-turn rblade around y-axis; - turn lforearm to y-axis <0.0> speed <120.0>; - turn rforearm to y-axis <0.0> speed <120.0>; - turn lblade to y-axis <0.0> speed <120.0>; - turn rblade to y-axis <0.0> speed <120.0>; + turn lforearm to y-axis <0.000000> speed <120.000000>; + turn rforearm to y-axis <0.000000> speed <120.000000>; + turn lblade to y-axis <0.000000> speed <120.000000>; + turn rblade to y-axis <0.000000> speed <120.000000>; return (0); } diff --git a/scripts/Raptors/raptorh4.cob b/scripts/Raptors/raptorh4.cob index 5f714c81f34fb820074767dd0cbd231fc5b830cb..69e4d1b738675a367c61592f5ac470924f802595 100644 GIT binary patch literal 68621 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 literal 67469 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 eq3% <60> ) heading = <60>; if (heading < <-60> ) heading = <-60>; if (pitch > <60> ) pitch = <60>; if (pitch < <-60> ) pitch = <-60>; - turn aimy1 to y-axis heading speed <250.0>; - turn aimy1 to x-axis <0.0> - pitch speed <200.0>; + turn aimy1 to y-axis heading speed <250.000000>; + turn aimy1 to x-axis <0.000000> - pitch speed <200.000000>; wait-for-turn aimy1 around y-axis; start-script RestoreAfterDelay(); return (1); } -AimWeapon2(heading, pitch) +AimSecondary(heading, pitch) { - signal SIGNAL_AIM2; - set-signal-mask SIGNAL_AIM2; + signal SIG_AIM_2; + set-signal-mask SIG_AIM_2; if (heading > <60> ) heading = <60>; if (heading < <-60> ) heading = <-60>; if (pitch > <60> ) pitch = <60>; if (pitch < <-60> ) pitch = <-60>; - turn aimy1 to y-axis heading speed <250.0>; - turn aimy1 to x-axis <0.0> - pitch speed <200.0>; + turn aimy1 to y-axis heading speed <250.000000>; + turn aimy1 to x-axis <0.000000> - pitch speed <200.000000>; wait-for-turn aimy1 around y-axis; start-script RestoreAfterDelay(); @@ -132,17 +137,17 @@ Shot2() set CHANGE_TARGET to 2; } -QueryWeapon2(pieceIndex) - { pieceIndex=head; } +QuerySecondary(piecenum) + { piecenum=head; } -AimFromWeapon2(pieceIndex) - { pieceIndex=head; } +AimFromSecondary(piecenum) + { piecenum=head; } StartBuilding(heading, pitch) { if (heading > <60> ) heading = <60>; if (heading < <-60> ) heading = <-60>; - turn head to y-axis heading speed <250.0>; + turn head to y-axis heading speed <250.000000>; set INBUILDSTANCE to 1; } @@ -151,8 +156,8 @@ StopBuilding() set INBUILDSTANCE to 0; } -QueryNanoPiece(pieceIndex) +QueryNanoPiece(piecenum) { - pieceIndex = head_emit; + piecenum = head_emit; } diff --git a/scripts/Raptors/raptorh5.cob b/scripts/Raptors/raptorh5.cob index 706da53ff6f0903db47f796cf5ad6ec719db8f9a..3e34a7a65128fa793a7c880db8af00cde59faf5a 100644 GIT binary patch literal 69767 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 SvMhvQT!a}keAJ{SvHt^*1o8s_ literal 68693 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 Avj6}9 diff --git a/scripts/Raptors/raptorhealer.bos b/scripts/Raptors/raptorhealer.bos index b745f641e3f..981cc7f8bfd 100644 --- a/scripts/Raptors/raptorhealer.bos +++ b/scripts/Raptors/raptorhealer.bos @@ -1,10 +1,11 @@ piece base, body, head,tail,lthigh,lknee,lshin,lfoot,rthigh,rknee,rshin,rfoot,lforearm,lupperarm,lblade,rforearm,rupperarm,rblade, aimy1; -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" -#define SIGNAL_AIM1 256 +#define SIG_AIM 2 -static-var maxSpeed, animFramesPerKeyframe, isMoving, animSpeed,isDying,gun_1; +static-var maxSpeed, animFramesPerKeyframe, bMoving, animSpeed,isDying,gun_1; // For N:\animations\Raptors\raptor_walk_remaster_v2.blend Created by https://github.com/Beherith/Skeletor_S3O V((0, 3, 5)) #define MOVESCALE 27 //Higher values are bigger, 100 is default @@ -14,7 +15,7 @@ static-var maxSpeed, animFramesPerKeyframe, isMoving, animSpeed,isDying,gun_1; #define RUHAND rupperarm #define LLHAND lupperarm //define these as the left and right head thingies #define RLHAND rupperarm -#define SIGNAL_MOVE 1 +#define SIG_WALK 64 //these defines are needed before includes! #include "raptor_walk_2legged_v2.h" @@ -69,7 +70,7 @@ StopBuilding() set INBUILDSTANCE to 0; } -QueryNanoPiece(pieceIndex) +QueryNanoPiece(piecenum) { - pieceIndex = head; + piecenum = head; } diff --git a/scripts/Raptors/raptorhealer.cob b/scripts/Raptors/raptorhealer.cob index 87f02f5e766abcb56e8ab3faacdf76086f3d98b8..791862e770c12f8aa1899c8dd6dc7d49d32763a2 100644 GIT binary patch literal 150214 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 Xp}%MUGCud0@!7u&9Wi>!o|*pxNq^%2 literal 67140 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 a4D6Mb9;5!KCnMgI5%u)yH)vGN*#86XjxP}a diff --git a/scripts/Raptors/raptorp1.bos b/scripts/Raptors/raptorp1.bos index ba812f29f27..c10c26e8172 100644 --- a/scripts/Raptors/raptorp1.bos +++ b/scripts/Raptors/raptorp1.bos @@ -1,14 +1,15 @@ piece base, body, head,tail,lthigh,lknee,lshin,lfoot,rthigh,rknee,rshin,rfoot,rsack,lsack, aimy1; -static-var isMoving,maxSpeed, animFramesPerKeyframe, animSpeed,gun_1,isDying; +static-var bMoving,maxSpeed, animFramesPerKeyframe, animSpeed,gun_1,isDying; // Signal definitions -#define SIGNAL_AIM1 256 -#define SIGNAL_AIM2 512 -#define SIGNAL_MOVE 1 -#define SIGNAL_IDLE 8 +#define SIG_AIM 2 +#define SIG_AIM_2 4 +#define SIG_MOVE 16 +#define SIG_RESTORE 32 -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" // For N:\animations\raptor_2legged_fast_anim_walk.blend Created by https://github.com/Beherith/Skeletor_S3O V((0, 2, 8)) @@ -19,7 +20,7 @@ static-var isMoving,maxSpeed, animFramesPerKeyframe, animSpeed,gun_1,isDying; #define RUHAND rsack #define LLHAND lsack //define these as the left and right head thingies #define RLHAND rsack -#define SIGNAL_MOVE 1 +#define SIG_WALK 64 //these defines are needed before includes! #include "raptor_walk_2legged_v2.h" #define IDLEMOVESCALE 100 @@ -53,31 +54,44 @@ lua_FlameShot(weapon) //Distortion and lups flame effect } -AimFromWeapon1(pieceIndex) - { pieceIndex=head; } +AimFromPrimary(piecenum) + { piecenum=head; } -QueryWeapon1(pieceIndex) - { pieceIndex=head; } +QueryPrimary(piecenum) + { piecenum=head; } -AimFromWeapon2(pieceIndex) - { pieceIndex=head; } +AimFromSecondary(piecenum) + { piecenum=head; } -QueryWeapon2(pieceIndex) - { pieceIndex=head; } +QuerySecondary(piecenum) + { piecenum=head; } -AimFromWeapon3(pieceIndex) - { pieceIndex=head; } +AimFromTertiary(piecenum) + { piecenum=head; } -QueryWeapon3(pieceIndex) - { pieceIndex=head; } +QueryTertiary(piecenum) + { piecenum=head; } -AimWeapon1(heading,pitch) +AimPrimary(heading,pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; - + signal SIG_AIM; + set-signal-mask SIG_AIM; + //nasty stuff here + /* while( 255 > heading ) + { + set UNKNOWN_UNIT_VALUE(82) to 0 - 1000 + get UNKNOWN_UNIT_VALUE(82); + heading = heading + 1000; + sleep 1; + } + while( heading > 255 ) + { + set UNKNOWN_UNIT_VALUE(82) to 1000 + get UNKNOWN_UNIT_VALUE(82); + heading = heading - 1000; + sleep 1; + } + */ if (heading > <60>) heading = <60>; if (heading < <-60>) heading = <-60>; turn aimy1 to y-axis heading speed <175>; @@ -88,10 +102,10 @@ AimWeapon1(heading,pitch) return (1); } -AimWeapon2(heading,pitch) +AimSecondary(heading,pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; if (heading > <60>) heading = <60>; if (heading < <-60>) heading = <-60>; @@ -103,10 +117,10 @@ AimWeapon2(heading,pitch) return(1); } -AimWeapon3(heading,pitch) +AimTertiary(heading,pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; if (heading > <60>) heading = <60>; if (heading < <-60>) heading = <-60>; diff --git a/scripts/Raptors/raptorp1.cob b/scripts/Raptors/raptorp1.cob index e94b600dd2f8b99a49b68342c21d7d1eac2441c7..32d5b79e103e9bc539da590ab6ce513b0ba9d449 100644 GIT binary patch literal 151148 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 diff --git a/scripts/Raptors/raptorpyroallterrain.bos b/scripts/Raptors/raptorpyroallterrain.bos index bbba7ff4459..ae1096777fc 100644 --- a/scripts/Raptors/raptorpyroallterrain.bos +++ b/scripts/Raptors/raptorpyroallterrain.bos @@ -6,13 +6,14 @@ piece base, body, head,tail,rsack,lsack, flare, aimy1, // Signal definitions -#define SIGNAL_AIM1 256 -#define SIGNAL_AIM2 512 -#define SIGNAL_MOVE 1 +#define SIG_AIM 2 +#define SIG_AIM_2 4 +#define SIG_MOVE 16 -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" -static-var maxSpeed, animFramesPerKeyframe, isMoving, animSpeed, gun_1, isDying; +static-var maxSpeed, animFramesPerKeyframe, bMoving, animSpeed, gun_1, isDying; // For N:\animations\Raptors\raptor_walk_remaster_v2.blend Created by https://github.com/Beherith/Skeletor_S3O V((0, 3, 5)) #define MOVESCALE 40 //Higher values are bigger, 100 is default @@ -22,7 +23,7 @@ static-var maxSpeed, animFramesPerKeyframe, isMoving, animSpeed, gun_1, isDying; #define RUHAND rupperarm #define LLHAND lupperarm //define these as the left and right head thingies #define RLHAND rupperarm -#define SIGNAL_MOVE 1 +#define SIG_WALK 64 //these defines are needed before includes! #include "raptor_walk_allterrain.h" @@ -52,22 +53,22 @@ static-var maxSpeed, animFramesPerKeyframe, isMoving, animSpeed, gun_1, isDying; #include "raptor_killed_allterrain.h" -AimFromWeapon1(pieceIndex) - { pieceIndex=head; } +AimFromPrimary(piecenum) + { piecenum=head; } -QueryWeapon1(pieceIndex) - { pieceIndex=head; } +QueryPrimary(piecenum) + { piecenum=head; } -AimWeapon1(heading,pitch) +AimPrimary(heading,pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; if (heading > <60> ) heading = <60>; if (heading < <-60> ) heading = <-60>; if (pitch > <60> ) pitch = <60>; if (pitch < <-60> ) pitch = <-60>; - turn aimy1 to y-axis heading speed <250.0>; - turn aimy1 to x-axis <0.0> - pitch speed <200.0>; + turn aimy1 to y-axis heading speed <250.000000>; + turn aimy1 to x-axis <0.000000> - pitch speed <200.000000>; wait-for-turn aimy1 around y-axis; start-script RestoreAfterDelay(); return(TRUE); diff --git a/scripts/Raptors/raptorpyroallterrain.cob b/scripts/Raptors/raptorpyroallterrain.cob index 73a6a6819ecd0f54bc77e8c751a5e26377ab6b4c..676ba2477cc76f4fc80da0670e695870d5af02df 100644 GIT binary patch literal 166113 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 literal 75347 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 g21;Fc8It^ONb <60>) heading = <60>; if (heading < <-60>) heading = <-60>; diff --git a/scripts/Raptors/raptorr1.cob b/scripts/Raptors/raptorr1.cob index a6cd8046d4b8a59baf857e562212a053eb421ae6..5b7999d40d5026903b8d80e1d50d234ee3d4803b 100644 GIT binary patch literal 68535 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 speed<120>; + turn rwing to z-axis <40> speed<120>; + wait-for-turn lwing around z-axis; + turn lwing to z-axis <40> speed<240>; + turn rwing to z-axis <-40> speed<240>; + wait-for-turn lwing around z-axis; + start-script fly(); + } +} + +stopfly () +{ + turn lwing to z-axis <0> speed <200>; + turn rwing to z-axis <0> speed <200>; +}*/ + + +Go() +{ + call-script Walk(); +} + +Stop() +{ + call-script StopWalking(); +} + Create() { @@ -66,11 +100,11 @@ Create() start-script UnitSpeed(); } -AimFromWeapon1(pieceIndex) - { pieceIndex=head; } +AimFromPrimary(piecenum) + { piecenum=head; } -QueryWeapon1(pieceIndex) - { pieceIndex=head; } +QueryPrimary(piecenum) + { piecenum=head; } RestoreAfterDelay() { @@ -78,10 +112,10 @@ RestoreAfterDelay() turn head to x-axis <0> speed <200>; } -AimWeapon1(heading,pitch) +AimPrimary(heading,pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; turn head to x-axis 0 -pitch speed <200>; wait-for-turn head around y-axis; start-script RestoreAfterDelay(); @@ -104,6 +138,8 @@ Shot1() move mblade to z-axis <0> speed [20]; } +SweetSpot(piecenum) + { piecenum=body; } @@ -117,6 +153,8 @@ Killed( severity, corpsetype ) corpsetype = 1; emit-sfx 1025 from body; explode head type FALL | NOHEATCLOUD ; + //explode lwing type FALL; + //explode rwing type FALL; explode mblade type FALL | EXPLODE_ON_HIT | NOHEATCLOUD ; return( 0 ); } \ No newline at end of file diff --git a/scripts/Raptors/raptors3.cob b/scripts/Raptors/raptors3.cob index cb31f001228267ca636de05347502f28ae4430d1..a2fe50eba20dbb0a25f31b407e4bcfe72a4989a7 100644 GIT binary patch delta 982 zcmZwFeMnPL6aesh-kY17PkUp2OsCsSQ1^DtEwuzqGQ$cKjZuye)N<(lkl9*A0PdB zOffLVWRgzOB*s$du3bSNV+pcAIK4~$+sZY7adjSY1aZ!q5pVH`<5wBBm_6!lLnXj< zJS(`+mnz}qlx1=IvJF4E4&##13*&g)?Zt$FW2Y%799TnVilQ!?dI8>Jv)PN85*O#@ z1dJFw_|!ZsbpOys;E;vG5%s2}24E0h=W#VlssQ2QBHpqnI4g0msgvnjKuoUWQ8857 zQichH(FHv&%bc?BlBYLng(kJoIt^gPt{g8KY@=dwr)hoKJzEEWAFZjb_-6_CXXznq zu^vL6&0z*7(_J`Zl5jYC5gKUvW=h;^57Md=_69*OuuV)p6ZIy#9UNxWxP$WE$1nNk z|Lt?k$>9XX9bODNxe)lSH$3HBgb}>pnii8UoO*4vacu_pl}wIVN^#B2p+_w&MA+PT zt#v9?QPYbe0ybGWZS_2OvAT$l6$gd24|>|+;zihsT_qh_%lh!u60ZP&xk`zcgeG(- z1!|{K3y_Nw-g9}vOvFGyMuNf+@g#=?zU(CFDO&6otNSamodSEcIGx}XG*`c z4EjT>QC1hY3>jKp)^C*8*T8RObzo7ew$*@{xoI_RMU0m@Fjih!tsPJ8%aAswQl}LWZtfYXHkP1>q>PaJM zCha6lPLmNbN-mKrIVq zrd*hdnL`kQp^(v{#CU>>a1phN0;Lu%#vpK0xah}4LS^SYbk~EAcYn@3ocr^;_w8j> zVvKoqeA&a8liKFDT*sIcVyuA(>JNrqs80YUjTI>7SbkL4CTAITx>Tb@ItK6*@9+SI zoH9=5t>eN$f%En#OyWqXh7ToyJ&q`E-$Z|&YOFg305-70rP*NBpXsc&y?@6sE>+{Q zE6sbi%pe?f3%F!FcQ*oz;%7>ia%o1h>;yiM!#TH#Z)5@cj2X{fz?@xBU29$k@bOh^ zQc(na#godSStxWE!Td!4C&r33lnUKDB0 zm$k)te-7^AL|_qbx~LvHs))q?Y;R}XRk&Fypx+1v5q6Im*X)`hmko1lmdxlC(6FIQ zWGkZl=Z2LpU6F$z#wxqb{TUmTf&<3`YNd_wbLdkK8$D_hKmkr^V=f!rG$>pF1W}CV zg)Dn_Mr?G~m=sm`tj3Acq7Rpagbg*DUIsKXY*)->4DdwlDR3I8+D5P|J{U`x(Yuou2ja;vJ_uj=2TW+=>Hq)$ diff --git a/scripts/Raptors/raptorw1.bos b/scripts/Raptors/raptorw1.bos index 7e437941da2..56d26f1651a 100644 --- a/scripts/Raptors/raptorw1.bos +++ b/scripts/Raptors/raptorw1.bos @@ -2,19 +2,20 @@ piece body,head,tail,lblade,mblade,rblade,rsack,lsack,rowing,lowing, riwing, liw // Signal definitions -#define SIGNAL_AIM1 256 -#define SIGNAL_AIM2 512 -#define SIGNAL_MOVE 1 +#define SIG_AIM 2 +#define SIG_AIM_2 4 +#define SIG_MOVE 16 -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" // For N:\animations\Raptors\raptor_flight_2seg_anim_v1.blend Created by https://github.com/Beherith/Skeletor_S3O V((0, 3, 3)) #define MOVESCALE 200 #define MOVESPEED 3 // this animation uses the static-var animFramesPerKeyframe which contains how many frames each keyframe takes -static-var maxSpeed, animFramesPerKeyframe, isMoving, deltaSpeed; -#define SIGNAL_MOVE 1 +static-var maxSpeed, animFramesPerKeyframe, bMoving, deltaSpeed; +#define SIG_WALK 1 #include "raptor_fly.h" // REMEMBER TO animspeed = 3 in Create() !! @@ -44,16 +45,49 @@ UnitSpeed(){ //animSpeed = 3; } -StartMoving(reversing){ - signal SIGNAL_MOVE; - isMoving=TRUE; +StartMoving(){ + signal SIG_WALK; + bMoving=TRUE; start-script Walk(); } StopMoving(){ - signal SIGNAL_MOVE; - isMoving=FALSE; + signal SIG_WALK; + bMoving=FALSE; call-script StopWalking(); } +/* + +fly() +{ + if (bMoving) + { + turn lwing to z-axis <-40> speed<120>; + turn rwing to z-axis <40> speed<120>; + wait-for-turn lwing around z-axis; + turn lwing to z-axis <40> speed<240>; + turn rwing to z-axis <-40> speed<240>; + wait-for-turn lwing around z-axis; + start-script fly(); + } +} + +stopfly () +{ + turn lwing to z-axis <0> speed <200>; + turn rwing to z-axis <0> speed <200>; +}*/ + + +Go() +{ + call-script Walk(); +} + +Stop() +{ + call-script StopWalking(); +} + Create() { @@ -66,11 +100,11 @@ Create() start-script UnitSpeed(); } -AimFromWeapon1(pieceIndex) - { pieceIndex=head; } +AimFromPrimary(piecenum) + { piecenum=head; } -QueryWeapon1(pieceIndex) - { pieceIndex=head; } +QueryPrimary(piecenum) + { piecenum=head; } RestoreAfterDelay() { @@ -78,10 +112,10 @@ RestoreAfterDelay() turn head to x-axis <0> speed <200>; } -AimWeapon1(heading,pitch) +AimPrimary(heading,pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; turn head to x-axis 0 -pitch speed <200>; wait-for-turn head around y-axis; start-script RestoreAfterDelay(); @@ -104,6 +138,10 @@ Shot1() move mblade to z-axis <0> speed [20]; } +SweetSpot(piecenum) + { piecenum=body; } + + HitByWeaponId() { @@ -115,6 +153,8 @@ Killed( severity, corpsetype ) corpsetype = 1; emit-sfx 1025 from body; explode head type FALL | NOHEATCLOUD ; + //explode lwing type FALL; + //explode rwing type FALL; explode mblade type FALL | EXPLODE_ON_HIT | NOHEATCLOUD ; return( 0 ); } \ No newline at end of file diff --git a/scripts/Raptors/raptorw1.cob b/scripts/Raptors/raptorw1.cob index c414b8999354efe766dc6544f9c5dd9e7b381b30..5a82e0a0b5b47c3426d53d665c67a7e8323415c9 100644 GIT binary patch delta 995 zcmZwFUr19?7y$6|-8=WsX?M&&)7dr^)NRMyN=s5BQ!2sG8s&(<&Ag?MY|VxE5L!qD zSunpBeGv4aBB)3%)e zBDm0RwBStEhPZpfhM!!ga9!_%DZJ?R;iQgZ*boxhw$Yj8RW=NL03Y#~$%lCsE-o(% z7}a_3g=tLa{h?;ysF}lQ<)OI&U+PVP(Xf?W$pDlPaUkhP} z^(68F4huM&Z-(90oDz@L|Zwh2VE>!H=COxQ4e}^J03{sr5!1*QJA>>GXuT3b)-H&MT#*2$_vn zmrjj(m7MaZfbCXJTfG84tS{#i6(M1JQ!6`Gk%BUeRCcRN*3!2seF6X$c`L;e$COE}3xcIMWrXG*)& z3fe=bUQ*V$1i6AbjOiscA~5_`eE`f#-L3{OF*kip&BtW50~0m1_3H6d-;Anr!lJ|^ zgVvAwE)&!0QS9$LT&Qu6lu)l8vX?ZHLnKW4NQ_)2ljJS=K(>f6z*r6`BITrp>?cj+ z5NRVJB9kFpBu;!9+C1THqqK?hzzUQnP9Llnh3DqkSr&H Lv1kHc`+I%?+QR(x delta 833 zcmZwFPe>F|7y$71y&dM4iYOAcqt?b4JruxX2@FuKi<6ezW4EcZ)SV+<%lXV z#)^ncJ{L0PrqOyELjF{W3)m;sq8K;fOTM{YzQEPCGJ4xn~Z%2?DcGU1YY2LQ2?i0 zGN#M(aFUMMd9b&VIx^=fd$?Uw7`tSF7kvU=nHeADTEXv!X8zk*)-ND|8J~s`zu<#E z?G_jPdAN$lyPNek;!d@IF*6uM*t=%jaB8MpGs&?_vZB{O!}c1H zt&i~SEjwSjJ`X{RHVj$)nOhBl1IH@0!NK?$^r?r*;$r^c2V)U;~kQBK^?vWgsCyQi-ydxjTNAi{Y zAiv2jk#xoiNhzr!0aB+kFBA0AMmn%SKYFSsVMLP#>%KH`IuV};8_~)5Wu2Y7W+YO3 glR@KZGM+HH$C5^(*BFnctmwVX^RakR$BaJm7YKXf`~Uy| diff --git a/scripts/Raptors/raptorw1b.bos b/scripts/Raptors/raptorw1b.bos index 2c267fb13dd..7874deeeaf4 100644 --- a/scripts/Raptors/raptorw1b.bos +++ b/scripts/Raptors/raptorw1b.bos @@ -2,19 +2,20 @@ piece base, body, head,tail,lblade,mblade,rblade,rsack,lsack,rowing,lowing, riwi // Signal definitions -#define SIGNAL_AIM1 256 -#define SIGNAL_AIM2 512 -#define SIGNAL_MOVE 1 +#define SIG_AIM 2 +#define SIG_AIM_2 4 +#define SIG_MOVE 16 -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" // For N:\animations\Raptors\raptor_flight_2seg_anim_v1.blend Created by https://github.com/Beherith/Skeletor_S3O V((0, 3, 3)) #define MOVESCALE 200 #define MOVESPEED 3 // this animation uses the static-var animFramesPerKeyframe which contains how many frames each keyframe takes -static-var maxSpeed, animFramesPerKeyframe, isMoving, deltaSpeed; -#define SIGNAL_MOVE 1 +static-var maxSpeed, animFramesPerKeyframe, bMoving, deltaSpeed; +#define SIG_WALK 1 #include "raptor_fly.h" // REMEMBER TO animspeed = 3 in Create() !! @@ -44,16 +45,49 @@ UnitSpeed(){ //animSpeed = 3; } -StartMoving(reversing){ - signal SIGNAL_MOVE; - isMoving=TRUE; +StartMoving(){ + signal SIG_WALK; + bMoving=TRUE; start-script Walk(); } StopMoving(){ - signal SIGNAL_MOVE; - isMoving=FALSE; + signal SIG_WALK; + bMoving=FALSE; call-script StopWalking(); } +/* + +fly() +{ + if (bMoving) + { + turn lwing to z-axis <-40> speed<120>; + turn rwing to z-axis <40> speed<120>; + wait-for-turn lwing around z-axis; + turn lwing to z-axis <40> speed<240>; + turn rwing to z-axis <-40> speed<240>; + wait-for-turn lwing around z-axis; + start-script fly(); + } +} + +stopfly () +{ + turn lwing to z-axis <0> speed <200>; + turn rwing to z-axis <0> speed <200>; +}*/ + + +Go() +{ + call-script Walk(); +} + +Stop() +{ + call-script StopWalking(); +} + Create() { @@ -66,11 +100,11 @@ Create() start-script UnitSpeed(); } -AimFromWeapon1(pieceIndex) - { pieceIndex=head; } +AimFromPrimary(piecenum) + { piecenum=head; } -QueryWeapon1(pieceIndex) - { pieceIndex=head; } +QueryPrimary(piecenum) + { piecenum=head; } RestoreAfterDelay() { @@ -78,10 +112,10 @@ RestoreAfterDelay() turn head to x-axis <0> speed <200>; } -AimWeapon1(heading,pitch) +AimPrimary(heading,pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; turn head to x-axis 0 -pitch speed <200>; wait-for-turn head around y-axis; start-script RestoreAfterDelay(); @@ -104,6 +138,8 @@ Shot1() move mblade to z-axis <0> speed [20]; } +SweetSpot(piecenum) + { piecenum=body; } diff --git a/scripts/Raptors/raptorw1b.cob b/scripts/Raptors/raptorw1b.cob index 803416aa3d970f353723ecf6aa2c541a9a10fb6c..99c09c4407900772f2d3d68a83fdc32ed9293faf 100644 GIT binary patch delta 1334 zcmaKsO=uHA6oBXLrul2C8)Dnk*d$djW;3-miGQ?8wc-y{s>Es##TE@|4>d7HvdDSc<}Fk9Eq(T*=U))i_50Y}ip5LX+#fTwHC@SJTlRxefr-qtoi^ z|LVZ4<+HI?XB+Yg4i7P3=EFXV19KGxXr}dllHw+JoYoJ!n0XWA(95U)wG#OtIkAx?pwH|Ko~;`MN;0YGBC1XfQBL!e}utN`$fBz%UEruz_I_ zMz4Wk6~-k4!zPTpfngWMeFLLZH{4JEV_;+0-@Ayue~?&3G!h$$cA}F=6DNs5;w|xk z_)N^u-^owH7G=yu_z0D#CBnp7Vk^-`B#8`hf;dfFA}$kGhmx+H)m4aJ2G9}9hn}s^H?I&^Lv6#k&4Q> WK&&&Bt!J_0i9|M*PG#|6B>4;b2_!cF delta 1053 zcmZvbO-NKx6vywm^PDfA`X)&&YsSIvnX8SC3&{#i3m2KDffGbJ zD8KwiE5c!`fD7s?YYo6KexrYJ-3l1C)xQY#opTS($VYSnB3?LJy-J=#mDr2BkbD(4S{}tM62FiZ0ik% JD{!Q$=N}Y|2OR(a diff --git a/scripts/Raptors/raptorw1c.bos b/scripts/Raptors/raptorw1c.bos index c327a15932c..56d26f1651a 100644 --- a/scripts/Raptors/raptorw1c.bos +++ b/scripts/Raptors/raptorw1c.bos @@ -2,19 +2,20 @@ piece body,head,tail,lblade,mblade,rblade,rsack,lsack,rowing,lowing, riwing, liw // Signal definitions -#define SIGNAL_AIM1 256 -#define SIGNAL_AIM2 512 -#define SIGNAL_MOVE 1 +#define SIG_AIM 2 +#define SIG_AIM_2 4 +#define SIG_MOVE 16 -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" // For N:\animations\Raptors\raptor_flight_2seg_anim_v1.blend Created by https://github.com/Beherith/Skeletor_S3O V((0, 3, 3)) #define MOVESCALE 200 #define MOVESPEED 3 // this animation uses the static-var animFramesPerKeyframe which contains how many frames each keyframe takes -static-var maxSpeed, animFramesPerKeyframe, isMoving, deltaSpeed; -#define SIGNAL_MOVE 1 +static-var maxSpeed, animFramesPerKeyframe, bMoving, deltaSpeed; +#define SIG_WALK 1 #include "raptor_fly.h" // REMEMBER TO animspeed = 3 in Create() !! @@ -44,16 +45,49 @@ UnitSpeed(){ //animSpeed = 3; } -StartMoving(reversing){ - signal SIGNAL_MOVE; - isMoving=TRUE; +StartMoving(){ + signal SIG_WALK; + bMoving=TRUE; start-script Walk(); } StopMoving(){ - signal SIGNAL_MOVE; - isMoving=FALSE; + signal SIG_WALK; + bMoving=FALSE; call-script StopWalking(); } +/* + +fly() +{ + if (bMoving) + { + turn lwing to z-axis <-40> speed<120>; + turn rwing to z-axis <40> speed<120>; + wait-for-turn lwing around z-axis; + turn lwing to z-axis <40> speed<240>; + turn rwing to z-axis <-40> speed<240>; + wait-for-turn lwing around z-axis; + start-script fly(); + } +} + +stopfly () +{ + turn lwing to z-axis <0> speed <200>; + turn rwing to z-axis <0> speed <200>; +}*/ + + +Go() +{ + call-script Walk(); +} + +Stop() +{ + call-script StopWalking(); +} + Create() { @@ -66,11 +100,11 @@ Create() start-script UnitSpeed(); } -AimFromWeapon1(pieceIndex) - { pieceIndex=head; } +AimFromPrimary(piecenum) + { piecenum=head; } -QueryWeapon1(pieceIndex) - { pieceIndex=head; } +QueryPrimary(piecenum) + { piecenum=head; } RestoreAfterDelay() { @@ -78,10 +112,10 @@ RestoreAfterDelay() turn head to x-axis <0> speed <200>; } -AimWeapon1(heading,pitch) +AimPrimary(heading,pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; turn head to x-axis 0 -pitch speed <200>; wait-for-turn head around y-axis; start-script RestoreAfterDelay(); @@ -104,6 +138,9 @@ Shot1() move mblade to z-axis <0> speed [20]; } +SweetSpot(piecenum) + { piecenum=body; } + HitByWeaponId() @@ -116,6 +153,8 @@ Killed( severity, corpsetype ) corpsetype = 1; emit-sfx 1025 from body; explode head type FALL | NOHEATCLOUD ; + //explode lwing type FALL; + //explode rwing type FALL; explode mblade type FALL | EXPLODE_ON_HIT | NOHEATCLOUD ; return( 0 ); } \ No newline at end of file diff --git a/scripts/Raptors/raptorw1c.cob b/scripts/Raptors/raptorw1c.cob index c414b8999354efe766dc6544f9c5dd9e7b381b30..5a82e0a0b5b47c3426d53d665c67a7e8323415c9 100644 GIT binary patch delta 995 zcmZwFUr19?7y$6|-8=WsX?M&&)7dr^)NRMyN=s5BQ!2sG8s&(<&Ag?MY|VxE5L!qD zSunpBeGv4aBB)3%)e zBDm0RwBStEhPZpfhM!!ga9!_%DZJ?R;iQgZ*boxhw$Yj8RW=NL03Y#~$%lCsE-o(% z7}a_3g=tLa{h?;ysF}lQ<)OI&U+PVP(Xf?W$pDlPaUkhP} z^(68F4huM&Z-(90oDz@L|Zwh2VE>!H=COxQ4e}^J03{sr5!1*QJA>>GXuT3b)-H&MT#*2$_vn zmrjj(m7MaZfbCXJTfG84tS{#i6(M1JQ!6`Gk%BUeRCcRN*3!2seF6X$c`L;e$COE}3xcIMWrXG*)& z3fe=bUQ*V$1i6AbjOiscA~5_`eE`f#-L3{OF*kip&BtW50~0m1_3H6d-;Anr!lJ|^ zgVvAwE)&!0QS9$LT&Qu6lu)l8vX?ZHLnKW4NQ_)2ljJS=K(>f6z*r6`BITrp>?cj+ z5NRVJB9kFpBu;!9+C1THqqK?hzzUQnP9Llnh3DqkSr&H Lv1kHc`+I%?+QR(x delta 833 zcmZwFPe>F|7y$71y&dM4iYOAcqt?b4JruxX2@FuKi<6ezW4EcZ)SV+<%lXV z#)^ncJ{L0PrqOyELjF{W3)m;sq8K;fOTM{YzQEPCGJ4xn~Z%2?DcGU1YY2LQ2?i0 zGN#M(aFUMMd9b&VIx^=fd$?Uw7`tSF7kvU=nHeADTEXv!X8zk*)-ND|8J~s`zu<#E z?G_jPdAN$lyPNek;!d@IF*6uM*t=%jaB8MpGs&?_vZB{O!}c1H zt&i~SEjwSjJ`X{RHVj$)nOhBl1IH@0!NK?$^r?r*;$r^c2V)U;~kQBK^?vWgsCyQi-ydxjTNAi{Y zAiv2jk#xoiNhzr!0aB+kFBA0AMmn%SKYFSsVMLP#>%KH`IuV};8_~)5Wu2Y7W+YO3 glR@KZGM+HH$C5^(*BFnctmwVX^RakR$BaJm7YKXf`~Uy| diff --git a/scripts/Raptors/raptorw1d.bos b/scripts/Raptors/raptorw1d.bos index 2c267fb13dd..7874deeeaf4 100644 --- a/scripts/Raptors/raptorw1d.bos +++ b/scripts/Raptors/raptorw1d.bos @@ -2,19 +2,20 @@ piece base, body, head,tail,lblade,mblade,rblade,rsack,lsack,rowing,lowing, riwi // Signal definitions -#define SIGNAL_AIM1 256 -#define SIGNAL_AIM2 512 -#define SIGNAL_MOVE 1 +#define SIG_AIM 2 +#define SIG_AIM_2 4 +#define SIG_MOVE 16 -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" // For N:\animations\Raptors\raptor_flight_2seg_anim_v1.blend Created by https://github.com/Beherith/Skeletor_S3O V((0, 3, 3)) #define MOVESCALE 200 #define MOVESPEED 3 // this animation uses the static-var animFramesPerKeyframe which contains how many frames each keyframe takes -static-var maxSpeed, animFramesPerKeyframe, isMoving, deltaSpeed; -#define SIGNAL_MOVE 1 +static-var maxSpeed, animFramesPerKeyframe, bMoving, deltaSpeed; +#define SIG_WALK 1 #include "raptor_fly.h" // REMEMBER TO animspeed = 3 in Create() !! @@ -44,16 +45,49 @@ UnitSpeed(){ //animSpeed = 3; } -StartMoving(reversing){ - signal SIGNAL_MOVE; - isMoving=TRUE; +StartMoving(){ + signal SIG_WALK; + bMoving=TRUE; start-script Walk(); } StopMoving(){ - signal SIGNAL_MOVE; - isMoving=FALSE; + signal SIG_WALK; + bMoving=FALSE; call-script StopWalking(); } +/* + +fly() +{ + if (bMoving) + { + turn lwing to z-axis <-40> speed<120>; + turn rwing to z-axis <40> speed<120>; + wait-for-turn lwing around z-axis; + turn lwing to z-axis <40> speed<240>; + turn rwing to z-axis <-40> speed<240>; + wait-for-turn lwing around z-axis; + start-script fly(); + } +} + +stopfly () +{ + turn lwing to z-axis <0> speed <200>; + turn rwing to z-axis <0> speed <200>; +}*/ + + +Go() +{ + call-script Walk(); +} + +Stop() +{ + call-script StopWalking(); +} + Create() { @@ -66,11 +100,11 @@ Create() start-script UnitSpeed(); } -AimFromWeapon1(pieceIndex) - { pieceIndex=head; } +AimFromPrimary(piecenum) + { piecenum=head; } -QueryWeapon1(pieceIndex) - { pieceIndex=head; } +QueryPrimary(piecenum) + { piecenum=head; } RestoreAfterDelay() { @@ -78,10 +112,10 @@ RestoreAfterDelay() turn head to x-axis <0> speed <200>; } -AimWeapon1(heading,pitch) +AimPrimary(heading,pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; turn head to x-axis 0 -pitch speed <200>; wait-for-turn head around y-axis; start-script RestoreAfterDelay(); @@ -104,6 +138,8 @@ Shot1() move mblade to z-axis <0> speed [20]; } +SweetSpot(piecenum) + { piecenum=body; } diff --git a/scripts/Raptors/raptorw1d.cob b/scripts/Raptors/raptorw1d.cob index 803416aa3d970f353723ecf6aa2c541a9a10fb6c..99c09c4407900772f2d3d68a83fdc32ed9293faf 100644 GIT binary patch delta 1334 zcmaKsO=uHA6oBXLrul2C8)Dnk*d$djW;3-miGQ?8wc-y{s>Es##TE@|4>d7HvdDSc<}Fk9Eq(T*=U))i_50Y}ip5LX+#fTwHC@SJTlRxefr-qtoi^ z|LVZ4<+HI?XB+Yg4i7P3=EFXV19KGxXr}dllHw+JoYoJ!n0XWA(95U)wG#OtIkAx?pwH|Ko~;`MN;0YGBC1XfQBL!e}utN`$fBz%UEruz_I_ zMz4Wk6~-k4!zPTpfngWMeFLLZH{4JEV_;+0-@Ayue~?&3G!h$$cA}F=6DNs5;w|xk z_)N^u-^owH7G=yu_z0D#CBnp7Vk^-`B#8`hf;dfFA}$kGhmx+H)m4aJ2G9}9hn}s^H?I&^Lv6#k&4Q> WK&&&Bt!J_0i9|M*PG#|6B>4;b2_!cF delta 1053 zcmZvbO-NKx6vywm^PDfA`X)&&YsSIvnX8SC3&{#i3m2KDffGbJ zD8KwiE5c!`fD7s?YYo6KexrYJ-3l1C)xQY#opTS($VYSnB3?LJy-J=#mDr2BkbD(4S{}tM62FiZ0ik% JD{!Q$=N}Y|2OR(a diff --git a/scripts/Raptors/raptorw2.bos b/scripts/Raptors/raptorw2.bos index 2c267fb13dd..7874deeeaf4 100644 --- a/scripts/Raptors/raptorw2.bos +++ b/scripts/Raptors/raptorw2.bos @@ -2,19 +2,20 @@ piece base, body, head,tail,lblade,mblade,rblade,rsack,lsack,rowing,lowing, riwi // Signal definitions -#define SIGNAL_AIM1 256 -#define SIGNAL_AIM2 512 -#define SIGNAL_MOVE 1 +#define SIG_AIM 2 +#define SIG_AIM_2 4 +#define SIG_MOVE 16 -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" // For N:\animations\Raptors\raptor_flight_2seg_anim_v1.blend Created by https://github.com/Beherith/Skeletor_S3O V((0, 3, 3)) #define MOVESCALE 200 #define MOVESPEED 3 // this animation uses the static-var animFramesPerKeyframe which contains how many frames each keyframe takes -static-var maxSpeed, animFramesPerKeyframe, isMoving, deltaSpeed; -#define SIGNAL_MOVE 1 +static-var maxSpeed, animFramesPerKeyframe, bMoving, deltaSpeed; +#define SIG_WALK 1 #include "raptor_fly.h" // REMEMBER TO animspeed = 3 in Create() !! @@ -44,16 +45,49 @@ UnitSpeed(){ //animSpeed = 3; } -StartMoving(reversing){ - signal SIGNAL_MOVE; - isMoving=TRUE; +StartMoving(){ + signal SIG_WALK; + bMoving=TRUE; start-script Walk(); } StopMoving(){ - signal SIGNAL_MOVE; - isMoving=FALSE; + signal SIG_WALK; + bMoving=FALSE; call-script StopWalking(); } +/* + +fly() +{ + if (bMoving) + { + turn lwing to z-axis <-40> speed<120>; + turn rwing to z-axis <40> speed<120>; + wait-for-turn lwing around z-axis; + turn lwing to z-axis <40> speed<240>; + turn rwing to z-axis <-40> speed<240>; + wait-for-turn lwing around z-axis; + start-script fly(); + } +} + +stopfly () +{ + turn lwing to z-axis <0> speed <200>; + turn rwing to z-axis <0> speed <200>; +}*/ + + +Go() +{ + call-script Walk(); +} + +Stop() +{ + call-script StopWalking(); +} + Create() { @@ -66,11 +100,11 @@ Create() start-script UnitSpeed(); } -AimFromWeapon1(pieceIndex) - { pieceIndex=head; } +AimFromPrimary(piecenum) + { piecenum=head; } -QueryWeapon1(pieceIndex) - { pieceIndex=head; } +QueryPrimary(piecenum) + { piecenum=head; } RestoreAfterDelay() { @@ -78,10 +112,10 @@ RestoreAfterDelay() turn head to x-axis <0> speed <200>; } -AimWeapon1(heading,pitch) +AimPrimary(heading,pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; turn head to x-axis 0 -pitch speed <200>; wait-for-turn head around y-axis; start-script RestoreAfterDelay(); @@ -104,6 +138,8 @@ Shot1() move mblade to z-axis <0> speed [20]; } +SweetSpot(piecenum) + { piecenum=body; } diff --git a/scripts/Raptors/raptorw2.cob b/scripts/Raptors/raptorw2.cob index 803416aa3d970f353723ecf6aa2c541a9a10fb6c..99c09c4407900772f2d3d68a83fdc32ed9293faf 100644 GIT binary patch delta 1334 zcmaKsO=uHA6oBXLrul2C8)Dnk*d$djW;3-miGQ?8wc-y{s>Es##TE@|4>d7HvdDSc<}Fk9Eq(T*=U))i_50Y}ip5LX+#fTwHC@SJTlRxefr-qtoi^ z|LVZ4<+HI?XB+Yg4i7P3=EFXV19KGxXr}dllHw+JoYoJ!n0XWA(95U)wG#OtIkAx?pwH|Ko~;`MN;0YGBC1XfQBL!e}utN`$fBz%UEruz_I_ zMz4Wk6~-k4!zPTpfngWMeFLLZH{4JEV_;+0-@Ayue~?&3G!h$$cA}F=6DNs5;w|xk z_)N^u-^owH7G=yu_z0D#CBnp7Vk^-`B#8`hf;dfFA}$kGhmx+H)m4aJ2G9}9hn}s^H?I&^Lv6#k&4Q> WK&&&Bt!J_0i9|M*PG#|6B>4;b2_!cF delta 1053 zcmZvbO-NKx6vywm^PDfA`X)&&YsSIvnX8SC3&{#i3m2KDffGbJ zD8KwiE5c!`fD7s?YYo6KexrYJ-3l1C)xQY#opTS($VYSnB3?LJy-J=#mDr2BkbD(4S{}tM62FiZ0ik% JD{!Q$=N}Y|2OR(a diff --git a/scripts/Raptors/roost.bos b/scripts/Raptors/roost.bos index 52a7a8612cb..94796f9536c 100644 --- a/scripts/Raptors/roost.bos +++ b/scripts/Raptors/roost.bos @@ -1,5 +1,7 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, emit, launcher, arm; @@ -9,16 +11,18 @@ Create() hide launcher; hide emit; hide base; + dont-shade base; + dont-cache base; set ARMORED to 0; - move launcher to y-axis [3000.0] speed [10000.0]; - move launcher to x-axis [0.0] speed [10000.0]; - move launcher to z-axis [0.0] speed [10000.0]; - turn launcher to y-axis <90.0> speed <10000.0>; - turn launcher to x-axis <90.0> speed <10000.0>; - turn launcher to z-axis <90.0> speed <10000.0>; + move launcher to y-axis [3000.000000] speed [10000.000000]; + move launcher to x-axis [0.000000] speed [10000.000000]; + move launcher to z-axis [0.000000] speed [10000.000000]; + turn launcher to y-axis <90.000000> speed <10000.000000>; + turn launcher to x-axis <90.000000> speed <10000.000000>; + turn launcher to z-axis <90.000000> speed <10000.000000>; sleep 100; spin arm around y-axis speed <21.978022>; - turn arm to x-axis Rand( <0.005495>, <40.989011> ) speed <1000.0>; + turn arm to x-axis Rand( <0.005495>, <40.989011> ) speed <1000.000000>; sleep Rand( 1, 100 ); emit-sfx 2048 from launcher; sleep 3000; @@ -30,22 +34,22 @@ Killed(severity, corpsetype) emit-sfx 1025 from emit; } -QueryNanoPiece(pieceIndex) +QueryNanoPiece(piecenum) { - pieceIndex = base; + piecenum = base; } -QueryWeapon1(pieceIndex) +QueryWeapon1(piecenum) { - pieceIndex = base; + piecenum = base; } -AimFromWeapon1(pieceIndex) +AimFromWeapon1(piecenum) { - pieceIndex = base; + piecenum = base; } -QueryLandingPad(pieceIndex) +QueryLandingPad(Func_Var_1) { - pieceIndex = 1; + Func_Var_1 = 1; } diff --git a/scripts/Raptors/roost.cob b/scripts/Raptors/roost.cob index 23738b74954822b4a89cff8cab16816b023a79de..a8392e53ad7687f0e36a5affa006e9bc0c05f54c 100644 GIT binary patch delta 126 zcmcb^`i51Lg@J*A4TwQ>2N1)64-*4J3J})-u?|qMXQHMw7sCSv0kDFGjdn~-mhnJ# r1`rnjaRm@J0C5jc{bV4X1;i_XcpDHO1>&nfd<%&01M!Q=l}yP1?7kBG delta 115 zcmaFEdWTh$g@J*A4TwQ>3lPJA4HE-H2oUE0u?|qMW}>F_#*jaZmeD{?3J~W2aS2EQ hgn^2hfw&8ZX9DpuAl?eZM}hbh5T6I)8 <60> ) heading = <60>; if (heading < <-60> ) heading = <-60>; if (pitch > <60> ) pitch = <60>; diff --git a/scripts/Raptors/ve_raptorq.cob b/scripts/Raptors/ve_raptorq.cob index a4c4fb5d919356d0ef9baea77b1e024eebf98ddb..f5ad7beeb3b1990fd769f799541cde28aad6dadf 100644 GIT binary patch literal 41726 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 diff --git a/scripts/Raptors/vh_raptorq.bos b/scripts/Raptors/vh_raptorq.bos index 34a0dacf440..b0e07539284 100644 --- a/scripts/Raptors/vh_raptorq.bos +++ b/scripts/Raptors/vh_raptorq.bos @@ -1,19 +1,20 @@ piece body,head,tail,lthighf,lkneef,lshinf,lfootf,rthighf,rkneef,rshinf,rfootf,lthighb,lkneeb,lshinb,lfootb,rthighb,rkneeb,rshinb,rfootb,lforearml,lbladel,rforearml,rbladel,lforearmu,lbladeu,rforearmu,rbladeu,spike1,spike2,spike3,spike1emit,spike2emit,spike3emit,firepoint,aimy1; -static-var aMoving, isMoving, gun_1, shot5pitch, shot5heading; +static-var aMoving, bMoving, gun_1, shot5pitch, shot5heading; // Signal definitions -#define SIGNAL_AIM1 256 -#define SIGNAL_AIM2 512 +#define SIG_AIM 2 +#define SIG_AIM_2 4 -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" static-var animSpeed, maxSpeed, animFramesPerKeyframe; #define MOVESCALE 100 //Higher values are bigger, 100 is default #define MOVESPEED 9.7 #define animAmplitude 105 -#define SIGNAL_MOVE 1 +#define SIG_WALK 64 //these defines are needed before includes! #include "raptor_queen_walk_v2.h" @@ -33,14 +34,14 @@ UnitSpeed(){ sleep 164; } } -StartMoving(reversing){ - signal SIGNAL_MOVE; - isMoving=TRUE; +StartMoving(){ + signal SIG_WALK; + bMoving=TRUE; start-script Walk(); } StopMoving(){ - signal SIGNAL_MOVE; - isMoving=FALSE; + signal SIG_WALK; + bMoving=FALSE; call-script StopWalking(); } @@ -54,41 +55,45 @@ Create() start-script UnitSpeed(); } +SweetSpot(piecenum) + { piecenum=body; } + +AimFromPrimary(piecenum) + { piecenum=aimy1; } +QueryPrimary(piecenum) + { piecenum=firepoint; } -QueryWeapon1(pieceIndex) - { pieceIndex=firepoint; } - -AimFromWeapon2(pieceIndex) - { pieceIndex=spike1emit; } +AimFromWeapon2(piecenum) + { piecenum=spike1emit; } -QueryWeapon2(pieceIndex) - { pieceIndex=spike1emit; } +QueryWeapon2(piecenum) + { piecenum=spike1emit; } -AimFromWeapon3(pieceIndex) - { pieceIndex=spike2emit; } +AimFromWeapon3(piecenum) + { piecenum=spike2emit; } -QueryWeapon3(pieceIndex) - { pieceIndex=spike2emit; } +QueryWeapon3(piecenum) + { piecenum=spike2emit; } -AimFromWeapon4(pieceIndex) - { pieceIndex=spike3emit; } +AimFromWeapon4(piecenum) + { piecenum=spike3emit; } -QueryWeapon4(pieceIndex) - { pieceIndex=spike3emit; } +QueryWeapon4(piecenum) + { piecenum=spike3emit; } -AimFromWeapon5(pieceIndex) - { pieceIndex=aimy1; } +AimFromWeapon5(piecenum) + { piecenum=aimy1; } -QueryWeapon5(pieceIndex) - { pieceIndex=firepoint; } +QueryWeapon5(piecenum) + { piecenum=firepoint; } -AimWeapon1(heading,pitch) +AimPrimary(heading,pitch) { //get PRINT(1, heading,pitch); - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; if (heading > <60> ) heading = <60>; if (heading < <-60> ) heading = <-60>; if (pitch > <60> ) pitch = <60>; diff --git a/scripts/Raptors/vh_raptorq.cob b/scripts/Raptors/vh_raptorq.cob index 3192d034b026c1bf448ee9560288610f9b28d388..ae1489ace6128b7cbe91b5cb8b5955ab3f130c56 100644 GIT binary patch literal 41726 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 diff --git a/scripts/TransitionTo.h b/scripts/TransitionTo.h deleted file mode 100644 index 41b94ad1bdd..00000000000 --- a/scripts/TransitionTo.h +++ /dev/null @@ -1,46 +0,0 @@ -// This function is for managing complete back and forth transitions, especially -// for units that have complex open-close animations. -// This ensures that any open/close anim executes fully, and then finally ends up in the wanted status - -// Ensure that this function isnt terminated by signals -// Might make sense to set-signal-mask 0 it - -// When using this function, you should have an Open and Close function defined. - - - -Static-var TT_intransition_wanted; -//2 bits -// 0 0 not in transition and is closed -// 0 1 not in transition and opened -// 1 0 in transition to closed -// 1 1 in transition to open -TransitionTo(wanted) -{ - // If we are already transitioning, then just store what we want to be in the end - if( TT_intransition_wanted >=2) - { - TT_intransition_wanted = wanted | 0x02; - return (0); - } - - // Store the wanted target - var current; - current = TT_intransition_wanted & 0x01; - TT_intransition_wanted = wanted | 0x02; - - while((TT_intransition_wanted & 0x01) != current) - { - if( TT_intransition_wanted & 0x01) - { - call-script Open(); - current = 1; - } - else - { - call-script Close(); - current = 0; - } - } - TT_intransition = current; -} diff --git a/scripts/Turret_acceleration.h b/scripts/Turret_acceleration.h deleted file mode 100644 index 81e2af13e73..00000000000 --- a/scripts/Turret_acceleration.h +++ /dev/null @@ -1,139 +0,0 @@ -//-------------------------------CONSTANT ACCELERATION TURRET TURNING--------------------------- -// MaxVelocity and acceleration are in degrees per frame (not second!) -// Jerk is the minimum velocity of the turret -// A high precision requirement can result in overshoots if desired -// (c) CC BY NC ND Beherith mysterme@gmail.com - -// Usage: -// 1. Tune the defines in your script, see the defaults below, make sure you set the individual pieces! -// 2. Include this file after piece declarations -// 3. From the AimWeaponX corresponding to the turret to be accelerated: -// call-script TurretAccelerationAim1(heading, pitch) -// 4. return (1) from AimWeaponX after call-script finishes - - -#define AIMY1_PIECE_Y aimy1 -//#define AIMY1_PIECE_X aimx1 - -#ifdef AIMY1_PIECE_X - #ifndef AIMY1_PITCH_SPEED - #define AIMY1_PITCH_SPEED <150> - #endif -#endif - -#ifndef MAX_AIMY1_VELOCITY - #define MAX_AIMY1_VELOCITY <3.0> -#endif - -#ifndef AIMY1_ACCELERATION - #define AIMY1_ACCELERATION <0.15> -#endif - -#ifndef AIMY1_JERK - #define AIMY1_JERK <0.5> -#endif - -#ifndef AIMY1_PRECISION - #define AIMY1_PRECISION <1.2> -#endif - -#ifndef AIMY1_RESTORE_SPEED - #define AIMY1_RESTORE_SPEED <1.0> -#endif - -#ifndef AIMY1_RESTORE_DELAY - #define AIMY1_RESTORE_DELAY 6000 -#endif - -static-var aimy1delta, timetozero, deceleratethreshold; -static-var aimy1velocity, aimy1target, aimy1position, gameFrame; - -RestoreBody1() // no need to signal, as threads inherit parents signal masks -{ - sleep AIMY1_RESTORE_DELAY; - - #ifdef AIMY1_PIECE_X - turn AIMY1_PIECE_X to x-axis <0.0> speed AIMY1_PITCH_SPEED; - #endif - - while ( get ABS(aimy1position) > AIMY1_RESTORE_SPEED){ - if (aimy1position > 0 ) { - aimy1position = aimy1position - AIMY1_RESTORE_SPEED; - aimy1velocity = (-1) * AIMY1_RESTORE_SPEED; - } - else - { - aimy1position = aimy1position + AIMY1_RESTORE_SPEED; - aimy1velocity = AIMY1_RESTORE_SPEED; - } - turn AIMY1_PIECE_Y to y-axis aimy1position speed 30 * AIMY1_RESTORE_SPEED; - sleep 30; - } - aimy1velocity = 0; -} - -TurretAccelerationAim1(heading, pitch){ - /* - // Set up signals in AimWeaponX(heading, pitch) - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; - // Then - call-script TurretAccelerationAim1(heading, pitch); - */ - - #ifdef AIMY1_PIECE_X - turn AIMY1_PIECE_X to x-axis <0.0> - pitch speed AIMY1_PITCH_SPEED; - #endif - - aimy1target = heading; - aimy1delta = aimy1target - aimy1position; - - while( ( get ABS(aimy1delta) > AIMY1_PRECISION ) OR (get ABS(aimy1velocity) > AIMY1_JERK)){ - if (gameFrame != get(GAME_FRAME)){ //this is to make sure we dont get double-called, as previous aimweapon thread runs before new aimweaponthread can signal-kill previous one - gameFrame = get(GAME_FRAME); - - //Clamp aimy1position and aimy1delta between <-180>;<180> - while (aimy1position > <180>) aimy1position = aimy1position - <360>; - while (aimy1position < <-180>) aimy1position = aimy1position + <360>; - while (aimy1delta > <180>) aimy1delta = aimy1delta - <360>; - while (aimy1delta < <-180>) aimy1delta = aimy1delta + <360>; - - //number of frames required to decelerate to 0 - timetozero = get ABS(aimy1velocity) / AIMY1_ACCELERATION; - - //distance from target where we should start decelerating, always 'positive' - //pos = t * v - (t*(t-1)*a/2) - deceleratethreshold = timetozero * (get ABS(aimy1velocity)) - (timetozero * (timetozero - 1) * AIMY1_ACCELERATION / 2); - - #ifdef AIMY1_DEBUG - get PRINT ( aimy1delta , deceleratethreshold, aimy1velocity, timetozero ); - #endif - - if (get ABS(aimy1delta) <= deceleratethreshold){ //we need to decelerate - if (aimy1velocity > 0) aimy1velocity = aimy1velocity - AIMY1_ACCELERATION; - else aimy1velocity = aimy1velocity + AIMY1_ACCELERATION; - } - else //we need to accelerate - { - if (aimy1delta > 0) aimy1velocity = get MIN( MAX_AIMY1_VELOCITY, aimy1velocity + AIMY1_ACCELERATION); - else aimy1velocity = get MAX((-1) * MAX_AIMY1_VELOCITY, aimy1velocity - AIMY1_ACCELERATION); - } - - //Apply jerk at very low velocities - if (get ABS(aimy1velocity) < AIMY1_JERK){ - if ((aimy1delta > AIMY1_JERK)) aimy1velocity = AIMY1_JERK; - if ((aimy1delta < (-1) * AIMY1_JERK)) aimy1velocity = (-1) * AIMY1_JERK; - } - // Update our position with our velocity - aimy1position = aimy1position + aimy1velocity; - aimy1delta = aimy1target - aimy1position ; - - // Perform the turn with a NOW, this means that this will be run every frame! - turn AIMY1_PIECE_Y to y-axis aimy1position now; - } - sleep 32; - } - aimy1velocity = 0; - start-script RestoreBody1(); - return (1); -} diff --git a/scripts/Units/air_barrelroll.h b/scripts/Units/air_barrelroll.h deleted file mode 100644 index 49e4163ad96..00000000000 --- a/scripts/Units/air_barrelroll.h +++ /dev/null @@ -1,40 +0,0 @@ -// This stub defines an aileron roll maneuver, with two configurable parameters -// Default piece is base, override if needed -// And a barrel roll speed, default <120> -// Remember to start-script BarrelRoll(); in Create()! - -// By Beherith mysterme@gmail.com - -#ifndef BARRELROLL_PIECE - #define BARRELROLL_PIECE base -#endif - -#ifndef BARRELROLL_SPEEED - #define BARRELROLL_SPEEED <120> -#endif - -#ifndef BARRELROLL_PROBABILITY - #define BARRELROLL_PROBABILITY 20 -#endif - -BarrelRoll(maxSpeed, currentSpeed) -{ - maxSpeed = (get MAX_SPEED); - - while (TRUE){ - sleep 2000; - currentSpeed = (get CURRENT_SPEED); - //get PRINT(98700001, maxSpeed, currentSpeed); - if( (RAND(1,100) <= BARRELROLL_PROBABILITY) AND (maxSpeed < (currentSpeed+100) ) ) - { - turn BARRELROLL_PIECE to z-axis <240> speed BARRELROLL_SPEEED; - sleep (<120> * 990) /BARRELROLL_SPEEED - 32; - //wait-for-turn BARRELROLL_PIECE around z-axis; - turn BARRELROLL_PIECE to z-axis <120> speed BARRELROLL_SPEEED * 3 / 2; - sleep (<120> * 990) / (BARRELROLL_SPEEED * 3 / 2) - 32 ; - //wait-for-turn BARRELROLL_PIECE around z-axis; - turn BARRELROLL_PIECE to z-axis <0.0> speed BARRELROLL_SPEEED; - sleep (<120> * 990) /BARRELROLL_SPEEED - 32; - } - } -} diff --git a/scripts/Units/armaak.bos b/scripts/Units/armaak.bos index c64cdc7b313..f78ab50b896 100644 --- a/scripts/Units/armaak.bos +++ b/scripts/Units/armaak.bos @@ -1,56 +1,59 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece pelvis, rthigh, rleg, lthigh, lleg, torso, lfoot, rfoot, lturret, rturret, lflare1,lflare2,rflare1,rflare2, aimy1, aimx1; -static-var isMoving, animSpeed, maxSpeed, animFramesPerKeyframe; +static-var bMoving, Static_Var_2, Static_Var_3, Static_Var_4, Static_Var_5, + Static_Var_6, Static_Var_7, animSpeed, maxSpeed, animFramesPerKeyframe; -#define SIGNAL_MOVE 1 +#define SIG_WALK 1 Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptasz\Documents\GitHub\support\Animation_sources\armaak_anim_walk.blend - //set-signal-mask SIGNAL_MOVE; - if (isMoving) { //Frame:5 + //set-signal-mask SIG_WALK; + if (bMoving) { //Frame:5 turn lfoot to x-axis <-13.204532> speed <396.135782> / animSpeed; //delta=13.20 turn lleg to x-axis <10.040352> speed <301.210554> / animSpeed; //delta=-10.04 turn lthigh to x-axis <4.459711> speed <133.791313> / animSpeed; //delta=-4.46 turn lturret to x-axis <3.333333> speed <99.999995> / animSpeed; //delta=-3.33 turn pelvis to x-axis <0.666667> speed <19.999999> / animSpeed; //delta=-0.67 - turn pelvis to z-axis <-1.0> speed <30.0> / animSpeed; //delta=1.00 + turn pelvis to z-axis <-1.000000> speed <30.000000> / animSpeed; //delta=1.00 turn pelvis to y-axis <-1.666667> speed <49.999997> / animSpeed; //delta=-1.67 turn rfoot to x-axis <22.820637> speed <684.619274> / animSpeed; //delta=-22.82 turn rleg to x-axis <23.315798> speed <699.473958> / animSpeed; //delta=-23.32 turn rleg to z-axis <-1.144651> speed <34.339540> / animSpeed; //delta=1.14 turn rthigh to x-axis <-47.146808> speed <1414.404251> / animSpeed; //delta=47.15 turn rturret to x-axis <3.333333> speed <99.999995> / animSpeed; //delta=-3.33 - turn torso to z-axis <-1.0> speed <30.0> / animSpeed; //delta=1.00 + turn torso to z-axis <-1.000000> speed <30.000000> / animSpeed; //delta=1.00 sleep ((33*animSpeed) -1); } - while(isMoving) { - if (isMoving) { //Frame:9 + while(bMoving) { + if (bMoving) { //Frame:9 turn lfoot to x-axis <-19.230705> speed <180.785204> / animSpeed; //delta=6.03 turn lleg to x-axis <-12.387439> speed <672.833705> / animSpeed; //delta=22.43 turn lthigh to x-axis <27.653498> speed <695.813620> / animSpeed; //delta=-23.19 - turn lturret to x-axis <-0.0> speed <99.999999> / animSpeed; //delta=3.33 - move pelvis to y-axis [-0.500000] speed [15.0] / animSpeed; //delta=-0.50 + turn lturret to x-axis <-0.000000> speed <99.999999> / animSpeed; //delta=3.33 + move pelvis to y-axis [-0.500000] speed [15.000000] / animSpeed; //delta=-0.50 turn pelvis to x-axis <2.833333> speed <64.999997> / animSpeed; //delta=-2.17 - turn pelvis to z-axis <-2.0> speed <30.0> / animSpeed; //delta=1.00 + turn pelvis to z-axis <-2.000000> speed <30.000006> / animSpeed; //delta=1.00 turn pelvis to y-axis <-5.333333> speed <109.999997> / animSpeed; //delta=-3.67 turn rfoot to x-axis <33.139146> speed <309.555255> / animSpeed; //delta=-10.32 turn rleg to x-axis <6.793288> speed <495.675319> / animSpeed; //delta=16.52 turn rleg to z-axis <-4.077463> speed <87.984345> / animSpeed; //delta=2.93 = turn rthigh to x-axis <-37.148511> speed <299.948919> / animSpeed; //delta=-10.00 - turn rturret to x-axis <-0.0> speed <99.999999> / animSpeed; //delta=3.33 - turn torso to z-axis <-2.0> speed <30.0> / animSpeed; //delta=1.00 + turn rturret to x-axis <-0.000000> speed <99.999999> / animSpeed; //delta=3.33 + turn torso to z-axis <-2.000000> speed <30.000006> / animSpeed; //delta=1.00 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:13 + if (bMoving) { //Frame:13 turn lfoot to x-axis <-35.075870> speed <475.354938> / animSpeed; //delta=15.85 turn lleg to x-axis <11.521166> speed <717.258126> / animSpeed; //delta=-23.91 turn lthigh to x-axis <26.554491> speed <32.970194> / animSpeed; //delta=1.10 turn lturret to x-axis <4.999999> speed <149.999974> / animSpeed; //delta=-5.00 - move pelvis to y-axis [-1.0] speed [15.0] / animSpeed; //delta=-0.50 - turn pelvis to x-axis <5.0> speed <64.999999> / animSpeed; //delta=-2.17 - turn pelvis to z-axis <-3.0> speed <29.999997> / animSpeed; //delta=1.00 - turn pelvis to y-axis <-9.0> speed <110.0> / animSpeed; //delta=-3.67 + move pelvis to y-axis [-1.000000] speed [15.000000] / animSpeed; //delta=-0.50 + turn pelvis to x-axis <5.000000> speed <64.999999> / animSpeed; //delta=-2.17 + turn pelvis to z-axis <-3.000000> speed <29.999997> / animSpeed; //delta=1.00 + turn pelvis to y-axis <-9.000000> speed <110.000013> / animSpeed; //delta=-3.67 turn rfoot to x-axis <11.755368> speed <641.513334> / animSpeed; //delta=21.38 turn rfoot to z-axis <-0.509527> speed <15.254658> / animSpeed; //delta=0.51 turn rfoot to y-axis <4.946380> speed <148.286930> / animSpeed; //delta=4.94 @@ -58,18 +61,18 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn rleg to z-axis <-1.626537> speed <73.527786> / animSpeed; //delta=-2.45 turn rthigh to x-axis <-39.475102> speed <69.797737> / animSpeed; //delta=2.33 turn rturret to x-axis <4.999999> speed <149.999974> / animSpeed; //delta=-5.00 - turn torso to z-axis <-3.0> speed <29.999997> / animSpeed; //delta=1.00 + turn torso to z-axis <-3.000000> speed <29.999997> / animSpeed; //delta=1.00 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:17 + if (bMoving) { //Frame:17 turn lfoot to x-axis <-15.979578> speed <572.888759> / animSpeed; //delta=-19.10 turn lleg to x-axis <41.096989> speed <887.274691> / animSpeed; //delta=-29.58 turn lthigh to x-axis <-20.494572> speed <1411.471894> / animSpeed; //delta=47.05 turn lturret to x-axis <4.166666> speed <24.999978> / animSpeed; //delta=0.83 - move pelvis to y-axis [-0.500000] speed [15.0] / animSpeed; //delta=0.50 + move pelvis to y-axis [-0.500000] speed [15.000000] / animSpeed; //delta=0.50 turn pelvis to x-axis <2.500000> speed <74.999998> / animSpeed; //delta=2.50 - turn pelvis to z-axis <-1.500000> speed <45.0> / animSpeed; //delta=-1.50 - turn pelvis to y-axis <-4.500000> speed <135.0> / animSpeed; //delta=4.50 + turn pelvis to z-axis <-1.500000> speed <45.000001> / animSpeed; //delta=-1.50 + turn pelvis to y-axis <-4.500000> speed <135.000004> / animSpeed; //delta=4.50 turn rfoot to x-axis <-3.393999> speed <454.480992> / animSpeed; //delta=15.15 turn rfoot to z-axis <-0.084951> speed <12.737279> / animSpeed; //delta=-0.42 turn rfoot to y-axis <-2.866713> speed <234.392812> / animSpeed; //delta=-7.81 @@ -77,18 +80,18 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn rleg to z-axis <-4.136302> speed <75.292946> / animSpeed; //delta=2.51 turn rthigh to x-axis <-17.105510> speed <671.087755> / animSpeed; //delta=-22.37 turn rturret to x-axis <4.166666> speed <24.999978> / animSpeed; //delta=0.83 - turn torso to z-axis <-1.500000> speed <45.0> / animSpeed; //delta=-1.50 + turn torso to z-axis <-1.500000> speed <45.000001> / animSpeed; //delta=-1.50 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:21 + if (bMoving) { //Frame:21 turn lfoot to x-axis <21.871215> speed <1135.523782> / animSpeed; //delta=-37.85 turn lleg to x-axis <23.818335> speed <518.359619> / animSpeed; //delta=17.28 turn lthigh to x-axis <-45.799864> speed <759.158775> / animSpeed; //delta=25.31 turn lturret to x-axis <3.333333> speed <24.999997> / animSpeed; //delta=0.83 - move pelvis to y-axis [0.0] speed [15.0] / animSpeed; //delta=0.50 - turn pelvis to x-axis <-0.0> speed <74.999998> / animSpeed; //delta=2.50 - turn pelvis to z-axis <-0.0> speed <45.0> / animSpeed; //delta=-1.50 - turn pelvis to y-axis <0.0> speed <135.0> / animSpeed; //delta=4.50 + move pelvis to y-axis [0.000000] speed [15.000000] / animSpeed; //delta=0.50 + turn pelvis to x-axis <-0.000000> speed <74.999998> / animSpeed; //delta=2.50 + turn pelvis to z-axis <-0.000000> speed <45.000001> / animSpeed; //delta=-1.50 + turn pelvis to y-axis <0.000000> speed <135.000004> / animSpeed; //delta=4.50 turn rfoot to x-axis <-13.663581> speed <308.087465> / animSpeed; //delta=10.27 turn rfoot to z-axis <0.026373> speed <3.339723> / animSpeed; //delta=-0.11 turn rfoot to y-axis <0.220131> speed <92.605328> / animSpeed; //delta=3.09 @@ -96,103 +99,103 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn rleg to z-axis <0.216547> speed <130.585450> / animSpeed; //delta=-4.35 turn rthigh to x-axis <4.478038> speed <647.506454> / animSpeed; //delta=-21.58 turn rturret to x-axis <3.333333> speed <24.999997> / animSpeed; //delta=0.83 - turn torso to z-axis <-0.0> speed <45.0> / animSpeed; //delta=-1.50 + turn torso to z-axis <-0.000000> speed <45.000001> / animSpeed; //delta=-1.50 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:25 + if (bMoving) { //Frame:25 turn lfoot to x-axis <31.656670> speed <293.563648> / animSpeed; //delta=-9.79 turn lleg to x-axis <7.412215> speed <492.183585> / animSpeed; //delta=16.41 turn lthigh to x-axis <-36.204668> speed <287.855898> / animSpeed; //delta=-9.60 - turn lturret to x-axis <-0.0> speed <100.0> / animSpeed; //delta=3.33 - move pelvis to y-axis [-0.500000] speed [15.0] / animSpeed; //delta=-0.50 + turn lturret to x-axis <-0.000000> speed <100.000001> / animSpeed; //delta=3.33 + move pelvis to y-axis [-0.500000] speed [15.000000] / animSpeed; //delta=-0.50 turn pelvis to x-axis <2.500000> speed <74.999998> / animSpeed; //delta=-2.50 - turn pelvis to z-axis <1.500000> speed <45.0> / animSpeed; //delta=-1.50 - turn pelvis to y-axis <4.500000> speed <135.0> / animSpeed; //delta=4.50 + turn pelvis to z-axis <1.500000> speed <45.000001> / animSpeed; //delta=-1.50 + turn pelvis to y-axis <4.500000> speed <135.000004> / animSpeed; //delta=4.50 turn rfoot to x-axis <-19.308315> speed <169.342016> / animSpeed; //delta=5.64 turn rfoot to z-axis <0.243222> speed <6.505454> / animSpeed; //delta=-0.22 turn rfoot to y-axis <1.429733> speed <36.288064> / animSpeed; //delta=1.21 turn rleg to x-axis <-12.194169> speed <664.719594> / animSpeed; //delta=22.16 turn rleg to z-axis <-1.451284> speed <50.034909> / animSpeed; //delta=1.67 turn rthigh to x-axis <28.003948> speed <705.777299> / animSpeed; //delta=-23.53 - turn rturret to x-axis <-0.0> speed <100.0> / animSpeed; //delta=3.33 - turn torso to z-axis <1.500000> speed <45.0> / animSpeed; //delta=-1.50 + turn rturret to x-axis <-0.000000> speed <100.000001> / animSpeed; //delta=3.33 + turn torso to z-axis <1.500000> speed <45.000001> / animSpeed; //delta=-1.50 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:29 + if (bMoving) { //Frame:29 turn lfoot to x-axis <10.942583> speed <621.422615> / animSpeed; //delta=20.71 turn lleg to x-axis <25.422340> speed <540.303736> / animSpeed; //delta=-18.01 turn lthigh to x-axis <-40.395525> speed <125.725717> / animSpeed; //delta=4.19 turn lturret to x-axis <4.999999> speed <149.999976> / animSpeed; //delta=-5.00 - move pelvis to y-axis [-1.0] speed [15.0] / animSpeed; //delta=-0.50 - turn pelvis to x-axis <5.0> speed <74.999998> / animSpeed; //delta=-2.50 - turn pelvis to z-axis <3.0> speed <45.0> / animSpeed; //delta=-1.50 - turn pelvis to y-axis <9.0> speed <135.0> / animSpeed; //delta=4.50 + move pelvis to y-axis [-1.000000] speed [15.000000] / animSpeed; //delta=-0.50 + turn pelvis to x-axis <5.000000> speed <74.999998> / animSpeed; //delta=-2.50 + turn pelvis to z-axis <3.000000> speed <45.000001> / animSpeed; //delta=-1.50 + turn pelvis to y-axis <9.000000> speed <135.000004> / animSpeed; //delta=4.50 turn rfoot to x-axis <-33.359668> speed <421.540612> / animSpeed; //delta=14.05 turn rfoot to z-axis <0.448331> speed <6.153292> / animSpeed; //delta=-0.21 turn rleg to x-axis <12.100949> speed <728.853533> / animSpeed; //delta=-24.30 turn rleg to z-axis <-10.138877> speed <260.627808> / animSpeed; //delta=8.69 turn rthigh to x-axis <27.562508> speed <13.243207> / animSpeed; //delta=0.44 turn rturret to x-axis <4.999999> speed <149.999976> / animSpeed; //delta=-5.00 - turn torso to z-axis <3.0> speed <45.0> / animSpeed; //delta=-1.50 + turn torso to z-axis <3.000000> speed <45.000001> / animSpeed; //delta=-1.50 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:33 + if (bMoving) { //Frame:33 turn lfoot to x-axis <-3.538585> speed <434.435025> / animSpeed; //delta=14.48 turn lleg to x-axis <18.879789> speed <196.276534> / animSpeed; //delta=6.54 turn lthigh to x-axis <-16.816035> speed <707.384695> / animSpeed; //delta=-23.58 turn lturret to x-axis <4.166666> speed <24.999978> / animSpeed; //delta=0.83 - move pelvis to y-axis [-0.500000] speed [15.0] / animSpeed; //delta=0.50 + move pelvis to y-axis [-0.500000] speed [15.000000] / animSpeed; //delta=0.50 turn pelvis to x-axis <2.833333> speed <64.999999> / animSpeed; //delta=2.17 - turn pelvis to z-axis <1.0> speed <60.0> / animSpeed; //delta=2.00 - turn pelvis to y-axis <3.666667> speed <160.0> / animSpeed; //delta=-5.33 + turn pelvis to z-axis <1.000000> speed <60.000000> / animSpeed; //delta=2.00 + turn pelvis to y-axis <3.666667> speed <160.000007> / animSpeed; //delta=-5.33 turn rfoot to x-axis <-16.550858> speed <504.264312> / animSpeed; //delta=-16.81 turn rfoot to z-axis <0.205295> speed <7.291080> / animSpeed; //delta=0.24 turn rleg to x-axis <40.197104> speed <842.884668> / animSpeed; //delta=-28.10 turn rleg to z-axis <2.866616> speed <390.164796> / animSpeed; //delta=-13.01 turn rthigh to x-axis <-20.288042> speed <1435.516499> / animSpeed; //delta=47.85 turn rturret to x-axis <4.166666> speed <24.999978> / animSpeed; //delta=0.83 - turn torso to z-axis <1.0> speed <60.0> / animSpeed; //delta=2.00 + turn torso to z-axis <1.000000> speed <60.000000> / animSpeed; //delta=2.00 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:37 + if (bMoving) { //Frame:37 turn lfoot to x-axis <-13.204532> speed <289.978407> / animSpeed; //delta=9.67 turn lleg to x-axis <10.040352> speed <265.183111> / animSpeed; //delta=8.84 turn lthigh to x-axis <4.459711> speed <638.272367> / animSpeed; //delta=-21.28 turn lturret to x-axis <3.333333> speed <24.999997> / animSpeed; //delta=0.83 - move pelvis to y-axis [0.0] speed [15.0] / animSpeed; //delta=0.50 + move pelvis to y-axis [0.000000] speed [15.000000] / animSpeed; //delta=0.50 turn pelvis to x-axis <0.666667> speed <64.999997> / animSpeed; //delta=2.17 - turn pelvis to z-axis <-1.0> speed <60.0> / animSpeed; //delta=2.00 + turn pelvis to z-axis <-1.000000> speed <60.000003> / animSpeed; //delta=2.00 turn pelvis to y-axis <-1.666667> speed <159.999998> / animSpeed; //delta=-5.33 turn rfoot to x-axis <22.820637> speed <1181.144852> / animSpeed; //delta=-39.37 - turn rfoot to z-axis <-0.0> speed <6.181083> / animSpeed; //delta=0.21 + turn rfoot to z-axis <-0.000741> speed <6.181083> / animSpeed; //delta=0.21 turn rfoot to y-axis <0.003671> speed <42.233257> / animSpeed; //delta=-1.41 turn rleg to x-axis <23.315798> speed <506.439180> / animSpeed; //delta=16.88 turn rleg to z-axis <-1.144651> speed <120.338023> / animSpeed; //delta=4.01 turn rthigh to x-axis <-47.146808> speed <805.762983> / animSpeed; //delta=26.86 turn rturret to x-axis <3.333333> speed <24.999997> / animSpeed; //delta=0.83 - turn torso to z-axis <-1.0> speed <60.0> / animSpeed; //delta=2.00 + turn torso to z-axis <-1.000000> speed <60.000003> / animSpeed; //delta=2.00 sleep ((33*animSpeed) -1); } } } -// Call this from StopMoving()! +// Call this from MotionControl()! StopWalking() { - move pelvis to y-axis [0.0] speed [3.750000]; - turn lfoot to x-axis <0.0> speed <283.880945>; - turn lleg to x-axis <0.0> speed <221.818673>; - turn lthigh to x-axis <0.0> speed <352.867973>; - turn lturret to x-axis <0.0> speed <37.499994>; - turn pelvis to x-axis <0.0> speed <18.749999>; - turn pelvis to y-axis <0.0> speed <40.0>; - turn pelvis to z-axis <0.0> speed <15.0>; - turn rfoot to x-axis <0.0> speed <295.286213>; - turn rfoot to y-axis <0.0> speed <58.598203>; - turn rfoot to z-axis <0.0> speed <3.813665>; - turn rleg to x-axis <0.0> speed <210.721167>; - turn rleg to z-axis <0.0> speed <97.541199>; - turn rthigh to x-axis <0.0> speed <358.879125>; - turn rturret to x-axis <0.0> speed <37.499994>; - turn torso to z-axis <0.0> speed <15.0>; + move pelvis to y-axis [0.000000] speed [3.750000]; + turn lfoot to x-axis <0.000000> speed <283.880945>; + turn lleg to x-axis <0.000000> speed <221.818673>; + turn lthigh to x-axis <0.000000> speed <352.867973>; + turn lturret to x-axis <0.000000> speed <37.499994>; + turn pelvis to x-axis <0.000000> speed <18.749999>; + turn pelvis to y-axis <0.000000> speed <40.000002>; + turn pelvis to z-axis <0.000000> speed <15.000001>; + turn rfoot to x-axis <0.000000> speed <295.286213>; + turn rfoot to y-axis <0.000000> speed <58.598203>; + turn rfoot to z-axis <0.000000> speed <3.813665>; + turn rleg to x-axis <0.000000> speed <210.721167>; + turn rleg to z-axis <0.000000> speed <97.541199>; + turn rthigh to x-axis <0.000000> speed <358.879125>; + turn rturret to x-axis <0.000000> speed <37.499994>; + turn torso to z-axis <0.000000> speed <15.000001>; } // REMEMBER TO animspeed = 4 in Create() !! UnitSpeed(){ @@ -209,16 +212,16 @@ UnitSpeed(){ sleep 131; } } -StartMoving(reversing){ - signal SIGNAL_MOVE; - isMoving=TRUE; - set-signal-mask SIGNAL_MOVE; +StartMoving(){ + signal SIG_WALK; + bMoving=TRUE; + set-signal-mask SIG_WALK; start-script UnitSpeed(); start-script Walk(); } StopMoving(){ - signal SIGNAL_MOVE; - isMoving=FALSE; + signal SIG_WALK; + bMoving=FALSE; call-script StopWalking(); } @@ -229,7 +232,7 @@ StopMoving(){ #define UNITSIZE 3 #define MAXTILT 100 -#include "../unit_hitbyweaponid_and_smoke.h" +#include "unit_hitbyweaponid_and_smoke.h" Create() { @@ -239,12 +242,16 @@ Create() hide lflare2; hide aimx1; hide aimy1; - isMoving = FALSE; + bMoving = FALSE; animSpeed = 4; return (0); } - +SweetSpot(piecenum) +{ + piecenum = torso; + return (0); +} static-var Stunned; ExecuteRestoreAfterDelay() @@ -253,7 +260,7 @@ ExecuteRestoreAfterDelay() return (1); } set-signal-mask 0; - turn torso to y-axis <0> speed <250.0>; + turn torso to y-axis <0> speed <250.000000>; turn lturret to x-axis <0> speed <400>; turn rturret to x-axis <0> speed <400>; } @@ -270,31 +277,31 @@ RestoreAfterDelay() start-script ExecuteRestoreAfterDelay(); } -QueryWeapon1(pieceIndex) +QueryWeapon1(piecenum) { - pieceIndex = lflare1; + piecenum = lflare1; } -AimFromWeapon1(pieceIndex) +AimFromWeapon1(piecenum) { - pieceIndex = torso; + piecenum = torso; } -QueryWeapon2(pieceIndex) +QueryWeapon2(piecenum) { - pieceIndex=lflare2; + piecenum=lflare2; } -AimFromWeapon2(pieceIndex) +AimFromWeapon2(piecenum) { - pieceIndex=torso; + piecenum=torso; } AimWeapon2(heading, pitch) { signal 2; set-signal-mask 2; - turn torso to y-axis heading speed <250.0>; + turn torso to y-axis heading speed <250.000000>; turn lturret to x-axis -1* pitch speed <400>; turn rturret to x-axis -1* pitch speed <400>; wait-for-turn torso around y-axis; @@ -308,21 +315,21 @@ FireWeapon2() { } -QueryWeapon3(pieceIndex) +QueryWeapon3(piecenum) { - pieceIndex=rflare2; + piecenum=rflare2; } -AimFromWeapon3(pieceIndex) +AimFromWeapon3(piecenum) { - pieceIndex=torso; + piecenum=torso; } AimWeapon3(heading, pitch) { signal 4; set-signal-mask 4; - turn torso to y-axis heading speed <250.0>; + turn torso to y-axis heading speed <250.000000>; turn lturret to x-axis -1* pitch speed <400>; turn rturret to x-axis -1* pitch speed <400>; wait-for-turn torso around y-axis; @@ -337,14 +344,14 @@ FireWeapon3() } -QueryWeapon4(pieceIndex) +QueryWeapon4(piecenum) { - pieceIndex=rflare1; + piecenum=rflare1; } -AimFromWeapon4(pieceIndex) +AimFromWeapon4(piecenum) { - pieceIndex=torso; + piecenum=torso; } @@ -352,7 +359,7 @@ AimWeapon4(heading, pitch) { signal 8; set-signal-mask 8; - turn torso to y-axis heading speed <250.0>; + turn torso to y-axis heading speed <250.000000>; turn lturret to x-axis -1* pitch speed <400>; turn rturret to x-axis -1* pitch speed <400>; wait-for-turn torso around y-axis; @@ -367,20 +374,20 @@ FireWeapon4() } -QueryWeapon5(pieceIndex) +QueryWeapon5(piecenum) { - pieceIndex=lflare2; + piecenum=lflare2; } -AimFromWeapon5(pieceIndex) +AimFromWeapon5(piecenum) { - pieceIndex=torso; + piecenum=torso; } AimWeapon5(heading, pitch) { signal 16; set-signal-mask 16; - turn torso to y-axis heading speed <250.0>; + turn torso to y-axis heading speed <250.000000>; turn lturret to x-axis -1* pitch speed <400>; turn rturret to x-axis -1* pitch speed <400>; wait-for-turn torso around y-axis; @@ -401,9 +408,19 @@ Killed(severity, corpsetype) { corpsetype = 1 ; explode pelvis type BITMAPONLY | NOHEATCLOUD; + //explode rthigh type BITMAPONLY | NOHEATCLOUD; + //explode rleg type BITMAPONLY | NOHEATCLOUD; + //explode rfoot type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lthigh type BITMAPONLY | NOHEATCLOUD; explode lleg type BITMAPONLY | NOHEATCLOUD; explode lfoot type BITMAPONLY | NOHEATCLOUD; explode torso type BITMAPONLY | NOHEATCLOUD; + //explode rturret type BITMAPONLY | NOHEATCLOUD; + //explode rflare1 type BITMAPONLY | NOHEATCLOUD; + //explode rflare2 type BITMAPONLY | NOHEATCLOUD; + //explode lturret type BITMAPONLY | NOHEATCLOUD; + //explode lflare1 type BITMAPONLY | NOHEATCLOUD; + //explode lflare2 type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } if( severity <= 50 ) @@ -411,10 +428,18 @@ Killed(severity, corpsetype) corpsetype = 2 ; explode pelvis type FALL | NOHEATCLOUD; explode rthigh type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rleg type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rfoot type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lthigh type FALL | NOHEATCLOUD; explode lleg type FALL | NOHEATCLOUD; explode lfoot type FALL | NOHEATCLOUD; explode torso type FIRE | SMOKE | FALL | NOHEATCLOUD; explode rturret type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rflare1 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rflare2 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lturret type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lflare1 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lflare2 type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) @@ -423,17 +448,33 @@ Killed(severity, corpsetype) explode pelvis type FIRE | SMOKE | FALL | NOHEATCLOUD; explode rthigh type FIRE | SMOKE | FALL | NOHEATCLOUD; explode rleg type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode rfoot type SMOKE | FALL | NOHEATCLOUD; + //explode lthigh type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; explode lleg type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; explode lfoot type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode torso type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode rturret type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode rflare1 type SMOKE | FALL | NOHEATCLOUD; + //explode rflare2 type SMOKE | FALL | NOHEATCLOUD; + //explode lturret type SMOKE | FALL | NOHEATCLOUD; + //explode lflare1 type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode lflare2 type SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; explode pelvis type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode rthigh type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode rleg type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode rfoot type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lthigh type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode lleg type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode lfoot type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode torso type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode rturret type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode rflare1 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rflare2 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lturret type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lflare1 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lflare2 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/armaak.cob b/scripts/Units/armaak.cob index 563bca48fba89272ca0de6623af5f2f90a590bbf..d37ab096359e2b7be50e9619fe1a5fd8d2bec16f 100644 GIT binary patch literal 11301 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 diff --git a/scripts/Units/armaap.bos b/scripts/Units/armaap.bos index 486a4a3624d..d28841f0d20 100644 --- a/scripts/Units/armaap.bos +++ b/scripts/Units/armaap.bos @@ -1,18 +1,23 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" -#include "../factories_common.h" +#include "sfxtype.h" +#include "exptype.h" -piece base, pad, nano1, nano2, nano3, nano4, dish, blink, blinka, blinkb; +piece base, pad, nano3, nano4, nano2, nano1, dish, blink, blinka, blinkb; -static-var spray; +static-var spray, unitviewer, statechg_DesiredState, statechg_StateChanging; static-var Stunned; // Signal definitions -#define SIGNAL_TURNON 4 +#define SIG_ACTIVATE 2 Standby() { + while( get BUILD_PERCENT_LEFT ) + { + sleep 100; + } while( TRUE ) { hide blinkb; @@ -24,6 +29,8 @@ Standby() show blinkb; sleep 1975; } + sleep 50; + start-script Standby(); } Lights() @@ -35,19 +42,106 @@ Lights() } sleep 2500; } + sleep 50; + start-script Lights(); +} + + +activatescr() +{ + //start-script Lights(); + sleep 26; } +deactivatescr() +{ +// sleep 26; +} + +OpenYard() +{ + set YARD_OPEN to 1; + while( !get YARD_OPEN ) + { + sleep 1500; + set YARD_OPEN to 1; + } +} +CloseYard() +{ + set YARD_OPEN to 0; + while( get YARD_OPEN ) + { + sleep 1500; + set YARD_OPEN to 0; + } + set BUGGER_OFF to 1; +} + +Go() +{ + call-script activatescr(); + call-script OpenYard(); + set INBUILDSTANCE to 1; +} +Stop() +{ + set INBUILDSTANCE to 0; + call-script CloseYard(); + call-script deactivatescr(); +} +DishSpin() +{ + show blink; + spin dish around y-axis speed <60>; +} +DishStopSpin() +{ + hide blink; + spin dish around y-axis speed <0.000>; +} SetStunned(State) { Stunned = State; if (Stunned) { hide blink; - stop-spin dish around y-axis decelerate <1> ; + call-script DishStopSpin(); } else { - show blink; - spin dish around y-axis speed <60> accelerate <1>; + call-script DishSpin(); + } +} + +InitState() +{ + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; +} + +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + call-script Go(); + currentstate = 0; + } + if( statechg_DesiredState == 1 ) + { + call-script Stop(); + currentstate = 1; + } } + statechg_StateChanging = FALSE; } Create() @@ -57,40 +151,66 @@ Create() hide nano3; hide nano4; hide pad; - spray = 0; - SLEEP_UNTIL_UNITFINISHED; + unitviewer = FALSE; + spray = nano1; + call-script InitState(); start-script Standby(); + while( get BUILD_PERCENT_LEFT ) + { + sleep 1000; + } spin dish around y-axis speed <60>; start-script Lights(); - call-script SetStunned(0); } -#define BASEPIECE base -#define MAXTILT 0 -#include "../unit_hitbyweaponid_and_smoke.h" +#define SMOKEPIECE base +#include "smokeunit_thread_nohit.h" -QueryNanoPiece(pieceIndex) +QueryNanoPiece(piecenum) { - spray = (spray + 1) % 4; - pieceIndex = nano1 + spray; + if( spray == 0 ) + { + piecenum = nano1; + } + if( spray == 1 ) + { + piecenum = nano2; + } + if( spray == 2 ) + { + piecenum = nano3; + } + if( spray == 3 ) + { + piecenum = nano4; + + } + spray=spray+1; + if (spray >3) + { + spray=0; + } } -Activate() +Demo() { - signal SIGNAL_TURNON; - set-signal-mask SIGNAL_TURNON; + unitviewer = TRUE; +} - FACTORY_OPEN_BUILD; +Activate() +{ + signal SIG_ACTIVATE; + start-script RequestState(0); } Deactivate() { - signal SIGNAL_TURNON; - set-signal-mask SIGNAL_TURNON; + signal SIG_ACTIVATE; + set-signal-mask SIG_ACTIVATE; sleep 5000; - - FACTORY_CLOSE_BUILD; + set-signal-mask 0; + start-script RequestState(1); } StartBuilding() @@ -99,7 +219,7 @@ StartBuilding() show nano2; show nano3; show nano4; - spin pad around y-axis speed <30.005495> accelerate <1>; + spin pad around y-axis speed <30.005495>; } StopBuilding() @@ -111,12 +231,15 @@ StopBuilding() stop-spin pad around y-axis; } -QueryBuildInfo(pieceIndex) +QueryBuildInfo(piecenum) { - pieceIndex = pad; + piecenum = pad; } - +SweetSpot(piecenum) +{ + piecenum = base; +} Killed(severity, corpsetype) { diff --git a/scripts/Units/armaap.cob b/scripts/Units/armaap.cob index 59f5743ad4b3d7bc6a20817394042c41bf5b9bd0..f17e1265829dfd0856296aad9d20be572e23d275 100644 GIT binary patch literal 4706 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 +//how 'heavy' the unit is, on a scale of 1-10 +#define UNITSIZE 3 +#define MAXTILT 100 +#include "unit_hitbyweaponid_and_smoke.h" + + +SetDirection(heading) +{ + var spd; + spd = (get ABS(oldHead) - get ABS(heading)) / 2; + turn ground to y-axis heading speed spd; + turn base to y-axis 0-heading speed spd; + oldHead = heading; +} + +RockOnWaves() +{ + var rockDir, rockAng, rockSpeed; + rockDir = <-0.1>; + rockAng = <-0.1>; + while( TRUE ) + { + while( get ABS(rockAng) < <1.31> ) + { + rockSpeed = <1.45> - get ABS(rockAng); + turn ground to x-axis rockAng speed rockSpeed*4; + wait-for-turn ground around x-axis; + rockAng = rockAng + rockDir; + } + rockDir = 0 - rockDir; + rockAng = rockAng + rockDir + rockDir; + } +} Create() { @@ -40,18 +63,21 @@ Create() gun_3 = flare1; gun_2 = flare1; restore_delay = 3000; - turn turretgun2 to x-axis <-25> speed <25.0>; + start-script SmokeUnit(); + turn turretgun2 to x-axis <-25> speed <25.000000>; spin turretgun1 around y-axis speed <25.0>; - turn missilebox1 to x-axis <-25.0> speed <25.0>; - turn missilebox2 to x-axis <-25.0> speed <25.0>; - start-script InitRockBoat(); - SLEEP_UNTIL_UNITFINISHED; - start-script BoatPhysics(); + turn missilebox1 to x-axis <-25.000000> speed <25.000000>; + turn missilebox2 to x-axis <-25.000000> speed <25.000000>; + while( get BUILD_PERCENT_LEFT ) + { + sleep 500; + } + start-script RockOnWaves(); } -SetMaxReloadTime(reloadMS) +SetMaxReloadTime(Func_Var_1) { - restore_delay = reloadMS * 3; + restore_delay = Func_Var_1 * 3; } ExecuteRestoreAfterDelay() @@ -60,12 +86,12 @@ ExecuteRestoreAfterDelay() return (1); } set-signal-mask 0; - turn turretgun2 to x-axis <-25.0> speed <25.0>; + turn turretgun2 to x-axis <-25.000000> speed <25.000000>; spin turretgun1 around y-axis speed <25.0>; - turn missilebox1 to y-axis <0.0> speed <25.0>; - turn missilebox1 to x-axis <-25.0> speed <25.0>; - turn missilebox2 to y-axis <0.0> speed <25.0>; - turn missilebox2 to x-axis <-25.0> speed <25.0>; + turn missilebox1 to y-axis <0.000000> speed <25.000000>; + turn missilebox1 to x-axis <-25.000000> speed <25.000000>; + turn missilebox2 to y-axis <0.000000> speed <25.000000>; + turn missilebox2 to x-axis <-25.000000> speed <25.000000>; } Stop() { @@ -86,22 +112,56 @@ RestoreAfterDelay() start-script ExecuteRestoreAfterDelay(); } +waveSplash() +{ + while( TRUE ) + { + turn base to x-axis <-3.0> speed <3.0>; + move base to y-axis [0.23] speed [0.23]; + wait-for-turn base around x-axis; + turn base to x-axis <0.0> speed <3.0>; + move base to y-axis [0.0] speed [0.23]; + wait-for-turn base around x-axis; + } +} -AimWeapon2(heading, pitch) +StartMoving() { - signal SIGNAL_AIM2; - set-signal-mask SIGNAL_AIM2; + signal SIG_MOVE; + set-signal-mask SIG_MOVE; + var waketime; + start-script waveSplash(); + while( TRUE ) + { + emit-sfx 1024 + 1 from ground; + waketime = (get CURRENT_SPEED) * 100 / get MAX_SPEED; + if( waketime < 50 ) waketime = 50; + sleep 14000 / waketime; + } +} + +StopMoving() +{ + signal SIG_MOVE; + turn base to x-axis <0.0> speed <3.0>; + move base to y-axis [0.0] speed [0.23]; +} + +AimSecondary(heading, pitch) +{ + signal SIG_AIM_2; + set-signal-mask SIG_AIM_2; if( gun_2 ) { - turn missilebox2 to y-axis heading speed <455.0>; - turn missilebox2 to x-axis <0.0> - pitch speed <430.0>; + turn missilebox2 to y-axis heading speed <455.000000>; + turn missilebox2 to x-axis <0.000000> - pitch speed <430.000000>; wait-for-turn missilebox2 around y-axis; wait-for-turn missilebox2 around x-axis; } else { - turn missilebox1 to y-axis heading speed <455.0>; - turn missilebox1 to x-axis <0.0> - pitch speed <430.0>; + turn missilebox1 to y-axis heading speed <455.000000>; + turn missilebox1 to x-axis <0.000000> - pitch speed <430.000000>; wait-for-turn missilebox1 around y-axis; wait-for-turn missilebox1 around x-axis; } @@ -109,74 +169,100 @@ AimWeapon2(heading, pitch) return (1); } -AimWeapon3(heading, pitch) +AimTertiary(heading, pitch) { - signal SIGNAL_AIM3; - set-signal-mask SIGNAL_AIM3; - aimDir1 = heading; - turn turretgun1 to y-axis heading speed <755.0>; - turn turretgun2 to x-axis <0.0> - pitch speed <730.0>; + signal SIG_AIM_3; + set-signal-mask SIG_AIM_3; + turn turretgun1 to y-axis heading speed <755.000000>; + turn turretgun2 to x-axis <0.000000> - pitch speed <730.000000>; wait-for-turn turretgun1 around y-axis; wait-for-turn turretgun2 around x-axis; start-script RestoreAfterDelay(); return (1); } -FireWeapon2() +FireSecondary() { gun_2 = !gun_2; } -FireWeapon3() +FireTertiary() { if( gun_3 ) { emit-sfx 1024 + 0 from flare2; - move gunbarrel2 to z-axis [-2.400000] speed [500.0]; + move gunbarrel2 to z-axis [-2.400000] speed [500.000000]; sleep 100; wait-for-move gunbarrel2 along z-axis; - move gunbarrel2 to z-axis [0.0] speed [3.0]; + move gunbarrel2 to z-axis [0.000000] speed [3.000000]; } else { emit-sfx 1024 + 0 from flare1; - move gunbarrel1 to z-axis [-2.400000] speed [500.0]; + move gunbarrel1 to z-axis [-2.400000] speed [500.000000]; sleep 100; wait-for-move gunbarrel1 along z-axis; - move gunbarrel1 to z-axis [0.0] speed [3.0]; + move gunbarrel1 to z-axis [0.000000] speed [3.000000]; } gun_3 = !gun_3; - RB_RECOILBOAT(aimDir1, RB_RECOIL_ENERGY_1) } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) +{ + piecenum = base; +} + +AimFromSecondary(piecenum) +{ + piecenum = missilebox1 + gun_2; +} + +AimFromTertiary(piecenum) { - pieceIndex = base; + piecenum = turretgun1; } -AimFromWeapon2(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = missilebox1 + gun_2; + piecenum = base; +} + +QuerySecondary(piecenum) +{ + piecenum = missileflare1 + gun_2; +} + +QueryTertiary(piecenum) +{ + piecenum = gun_3; +} + +/* +AimWeapon4(heading, pitch) +{ + sleep 100; + return (1); } -AimFromWeapon3(pieceIndex) +FireWeapon4() { - pieceIndex = turretgun1; + sleep 100; } -QueryWeapon1(pieceIndex) +QueryWeapon4(piecenum) { - pieceIndex = base; + sleep 100; } -QueryWeapon2(pieceIndex) +AimFromWeapon4(piecenum) { - pieceIndex = missileflare1 + gun_2; + piecenum = base; } +*/ -QueryWeapon3(pieceIndex) +SweetSpot(piecenum) { - pieceIndex = gun_3; + piecenum = base; } Killed(severity, corpsetype) @@ -189,6 +275,15 @@ Killed(severity, corpsetype) explode turretgun1 type BITMAPONLY | NOHEATCLOUD; explode turretgun2 type BITMAPONLY | NOHEATCLOUD; explode gunbarrel1 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare1 type BITMAPONLY | NOHEATCLOUD; + //explode gunbarrel2 type BITMAPONLY | NOHEATCLOUD; + //explode flare2 type BITMAPONLY | NOHEATCLOUD; + //explode turretmis1 type BITMAPONLY | NOHEATCLOUD; + //explode missilebox1 type BITMAPONLY | NOHEATCLOUD; + //explode missileflare1 type BITMAPONLY | NOHEATCLOUD; + //explode turretmis2 type BITMAPONLY | NOHEATCLOUD; + //explode missilebox2 type BITMAPONLY | NOHEATCLOUD; + //explode missileflare2 type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } if( severity <= 50 ) @@ -198,6 +293,15 @@ Killed(severity, corpsetype) explode turretgun1 type FIRE | SMOKE | FALL | NOHEATCLOUD; explode turretgun2 type FIRE | SMOKE | FALL | NOHEATCLOUD; explode gunbarrel1 type FALL | NOHEATCLOUD; + //explode flare1 type FALL | NOHEATCLOUD; + //explode gunbarrel2 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare2 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode turretmis1 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode missilebox1 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode missileflare1 type FALL | NOHEATCLOUD; + //explode turretmis2 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode missilebox2 type FALL | NOHEATCLOUD; + //explode missileflare2 type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) @@ -208,6 +312,15 @@ Killed(severity, corpsetype) explode turretgun1 type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; explode turretgun2 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode gunbarrel1 type SMOKE | FALL | NOHEATCLOUD; + //explode flare1 type SMOKE | FALL | NOHEATCLOUD; + //explode gunbarrel2 type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode flare2 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode turretmis1 type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode missilebox1 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode missileflare1 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode turretmis2 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode missilebox2 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode missileflare2 type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; @@ -216,5 +329,14 @@ Killed(severity, corpsetype) explode turretgun1 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode turretgun2 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode gunbarrel1 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare1 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode gunbarrel2 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare2 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode turretmis1 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode missilebox1 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode missileflare1 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode turretmis2 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode missilebox2 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode missileflare2 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/armaas.cob b/scripts/Units/armaas.cob index 558f9fe5c69a516df0037c1b1d240bc762febf9e..b363999e5c2fe8f1b518796df60175d79e1c2a56 100644 GIT binary patch literal 5385 zcmb_gO=w(I6h1RaCiMq-{w%6c7<8j3G8uo63bjpZP+~Q9TC0MRm&|SZ=wv3od1(@% zFbJYs7m8XDizp%rf?X7JAuZ^_g*z86#NwhGt%Y`{Y5czX?s;?bG7~ew35Rp<`9I%1 z_s)=E5xE0&6X@iyNC}*u@+~57f-ZyZ!~X7DDJ%v)6$AW1TmY{-J_Ih6p+I&I1;t7+ z;GTBmw6pqPB#`M+u-(bPM5ap6cI_BXDyiLFSZWT9$^9cJnmz^S)t9-|mNiIO0<gm^O+dn9Hbf@OKi!xm$z z*grXS<6JoG7M(1#vO-qZaHSZGP=@%5J-1nGcSf&yGGb2~KUb9k;3kzcHtWo42v8sX zXd*7&yG~!A;pOyfWOpg}z{!g_`O8iYCW?nYgUod^b-;r7e2FDxb;^JrD`20LQ6y98 zOnu{IOqXF1lv11_(|IDNO}7u62|hZ{nn!D5p4XvgUbUgU=2tG2VS5&|)!3@bbJ|Kd zohi<--Yu<5IaPvrzX42T(Ihn(kd2n*`9 zKh;yM^(a>?E>Y>`WZe0W4j6~Mu|DF&e#x1~-Z#uCWvoRUPF(UX6El8PPi_T48qfM* zPH%MesI9eeIaNm6HU52KZS!JTtfwV?AHi)ta2p@oo;$d$GpAP^Imfj3_uBtiI8txp zdUHQilq$0s6wnD={n!bpcvSkz>XL&2jk~s z_QFT~h)+L1A3JOB)t~i|I~%p*yQFv#BjVxX@;8%~OWBzd|7(;1f1WizSq|i-FV*&} z`qh1Tbdjmt4hcdotw582g4|jd+Z=6bcZywXSXxO8-t>DLe45xRG^F*1&-eG3fz>KqD z@x!@);%a$yZz1cCXXelOnX!WHhvA8VJ#)OJYDYQWX7$mvmE$bG?UTd5gB#`0`^dQJ zqw6#`=EW|&a|W*dcfEZl91eC39Ei`k?Zq{H`|svIrDET{_1$3|>ce$c-n*s@`;SHf z-gBOVe|FT{R&X|aG_B6fZ`x}*zdVD~?`nbk{r6T@c_)d3#!TlKGgmIGk@Htkmecd$ zy}NgVoXp=V=XHH@`tp2E)n)xUJi0lsa%ae#oL&EJ(azU%E;4N0ZvmQQeR{EYUK_>w zuUy1;Gr6?4t>*H-6WGV?Y^a?6F8?i(TyMnL?@ep%&_CDPAa!V8 zgZOB_y=vH~uUXdW`nm_s#02fF>1&WW^n0s}7+E~su+d9j@Xy5-AZoO*W4DR`vBh)W}PJ?~`t$?1#MLP}p0`xoR zPf!5~`P=FtPy^HfodaD2{RMge!}%y^0`xTKIZz0SK(B!K|D^{(yFgEYUH}f@M|y E1u&P)RR910 literal 5729 zcmb`LU5Hd=7{}k)9oN3d6P10CF$NKY(d-Ca6y>+2vZ1?5-UN=jM;)Bqk=a>XB~Zf1 zC<=n4L}crxZo2cLE-H%<>83l0ZoKhALPE+&VP*UO-t#^)?;dAtiAEmZumAJ)f1dZ8 zqebW3Ly|;tvFO}A8u@*3zjMV0oZBT?q4kW$LedA!70Z3eB8~BSAgqstaf?P*Dkfl( zr#e{Eaphuyoy7qUob?^K^_|h$Z5>ElNij%@vP%r^tV`Z2j1kUmHCS!GAt({KEry8?zX**cX};v7MTmn`2ZfczfQjxU*Q` z1}^a_h|h<5a*oe7P8e|5;@mig3ot%T*@$(pi9f45I8@;sJ2w;Zbmrv z!C8!$!`2J|tX7PP`l6hjgQFMC9=Kmnh;W>nJ;j;%Y2UH zNj&#)R?>S?xh@h>?2QFHG1$GnMgr<7?go4D8Ecnh_j75m!4^JaoVQ!faLXfKX4AN} z+)dZ_d>5`bC#-om-61%&-06S&R$0S5_}?P`_`6$MRy(&fi;Xk(u#GJ+E)hSB`o$dC zw?{s9Fdk2xLrlDjz!96pJ`WdiwAk@wb+dS=)9DajoSUD^4_u;#eMa=+yx$DEoLO#Q zSmVq5wDo+)hw~)k=R@NMg7ggbzICTgg#Er~KaQh<5BShM;tuYMV)1$I5>sF_VuF!@ zQBXhnTI9|xe)0hpuhC=ul@vM0F6(n@e8%U0*SAHwSO3>2r9B7J;*H?Y)`NW!i&zCrjb2BWx=4+##nGJrt%}{5L zJDSxzA3MFu&wMk2>BWZ!i%0(q4|;i<-MBJ6|LpFeXFOUg)~D#U_i}aec5{5e5q!kF ztcSqTfWMPoM}7G+d*VOO0e;c-98#+u7<(r8*r?@!jAO@Kd}D(tcX?XAz#U#!Xx~{U z9%DYv3>MmX+H=EyLk1kCbYt2&Huw9==Yt+T;#%F#ht& z@x}vl@nFve>H_8H{_t?$JRbbFSvZ>==_S4Iy@I=bAB+<&5wVN zgtORByr1`DXXK4tzN^WbDSPmRuj65Db>TdVp)=aIE0|vIXmt3V!S;W#)$3hI3)#EQ z;_~m1lKM}+=+ky>qxWJrEd6pjTmR;ZS}(*G7(sjb%0Js50bI)7xyKX)vD0(JYP~lD zCRyD6j8mdkY zr}aj4Y accelerate <10>; + sleep 998; + } + sleep 44; + return (0); +} + +deactivatescr() +{ + signal SIG_MOTION; + set-signal-mask SIG_MOTION; + hide nanolight; + hide thrust; + if( TRUE ) + { + turn arm to y-axis <0> speed <90>; + turn nano to x-axis <0> speed <90>; + move platform to y-axis [0] speed [90]; + sleep 500; + move doorl to x-axis [0] speed [10]; + move doorr to x-axis [0] speed [10]; + //stop-spin fan around y-axis decelerate <20>; + //^ could maybe stop on landing but when does that ever happen. when hovering it should stay on. + sleep 998; + } + sleep 44; + return (0); +} #define BASEPIECE base #define HITSPEED <55.0> @@ -16,67 +59,122 @@ piece base, fan, doorl,doorr,platform,arm,nano,emit,thrust, nanolight; #define IDLEBASEPIECE base #include "idlehover.h" + + + +InitState() +{ + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; + return (0); +} + +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + call-script activatescr(); + currentstate = 0; + } + if( statechg_DesiredState == 1 ) + { + call-script deactivatescr(); + currentstate = 1; + } + } + statechg_StateChanging = FALSE; + return (0); +} + Create() { hide emit; hide thrust; hide nanolight; - SLEEP_UNTIL_UNITFINISHED; + call-script InitState(); + while( get BUILD_PERCENT_LEFT ) + { + sleep 400; + } start-script IdleHover(); + return (0); } Activate() { show thrust; - spin fan around y-axis speed <360> accelerate <10>; + start-script RequestState(0); + return (0); } Deactivate() { hide thrust; - stop-spin fan around y-axis decelerate <5>; + start-script RequestState(1); + return (0); +} + +///moving. quite what or how is up for debate but /something/ is happening. +MoveRate1() { + start-script RequestState(0); + return (0); +} +MoveRate2() { + start-script RequestState(0); + return (0); } + StartBuilding(heading, pitch) { - signal SIGNAL_BUILD; - set-signal-mask SIGNAL_BUILD; - + show emit; + start-script RequestState(0); + signal SIG_BUILD; move doorl to x-axis [-2.8] speed [10]; move doorr to x-axis [2.8] speed [10]; - wait-for-move doorl along x-axis; - + sleep 500; move platform to y-axis [5] speed [10]; - set INBUILDSTANCE to 1; show nanolight; - show emit; } StopBuilding() { hide emit; + signal SIG_BUILD; + set-signal-mask SIG_BUILD; hide nanolight; - - signal SIGNAL_BUILD; - set-signal-mask SIGNAL_BUILD; - sleep 6000; - + set-signal-mask 0; + signal SIG_BUILD; + start-script RequestState(1); set INBUILDSTANCE to 0; - move platform to y-axis [0] speed [90]; - wait-for-move platform along y-axis; - - move doorl to x-axis [0] speed [10]; - move doorr to x-axis [0] speed [10]; + hide nano; + return (0); } -QueryNanoPiece(pieceIndex) +QueryNanoPiece(piecenum) { - pieceIndex = emit; + piecenum = emit; + return (0); } +SweetSpot(piecenum) +{ + piecenum = base; + return (0); +} Killed(severity, corpsetype) { diff --git a/scripts/Units/armaca.cob b/scripts/Units/armaca.cob index c9631cf1184c9da3c05da2ec52632edf6c8fe61d..440b99c79196f9f818e043ba03e1b416d81866cb 100644 GIT binary patch literal 4766 zcmeHLON$g&6h1T4(_^y9)rBE4hJrv6#K8DiiTGZ`NJ7WSLS2|?r)#uB+uf#n$8t2=3k>ZzNceWC8QW8r=l zfL#9`Krtt3rw?_%Pf<6aSj=Jfyp=|jqnvL++-vl~%6j6w^I`w+u-DT~5^>YiQ;@f8 ztJ4P;Z6fEw3WXB~N{YDq1PJw#G4JpFCb97Hy7e|5lNW6pommppP$7(EdUAUYH#O{; zvo<&BSijZ6J@wr0#41Tm`E~E%-c38k-wt-=5cWyL@SKSB=fx^A7)WDEV}T}eWJ>+u zw$2Y;LO)`#K4Q?v>XEr=XokAALol+AzSlD*_ATpU|G0K0SzqrEXNc#|roBfEoN@BO zIO-&^^CiMMV|>dc`o!{eUk=E{7^1^a+AJ&1Jdqxr~@VL!=%VuCX}@7svuz2S03h#kk#&gY1( zyka}gNLKeCf#ucS0oQuGSzN}&xXi;33q@G{yPn{2Xwvbz^Vu4$X(XJ#T+tVCbiFgE=6VIy0CP zdyihwGfZG+>h2c+kOzGqV=jNj-sYv?J>W2`YOV?%EBshrjHmNa;m31X-z)Q0^szE; z@Uy(^3;mwR8}ZD%^+YsN|c97r%^@YpqmLrbSx*I<3{Sc=*#4?We7Dv9O z;bVBLk#^fFCkx{A8waa?%V71tgLOZr!5^PH`ddNHP6W)a2^RWtfVH@~J_B@Jm!mQK zE}@Nn@ppvk*q=~?onw?=fjt6eBfHIkpe~+$l)t`*`~JJjzHj#Ldoz4n(8hr~^HTzo+auA{J}mtkJc|!#Wep8SK=LveU<&JNmvw=fuzTJ0Orc)@QTK zeS$sLHLSA0-_e;OcLG(}X5Ye9HsyW9z$lfiEM++Lf(b!ha818Am<=W$P(lWNFTBa zxeoaXaszS`atqR2%-gHYJY8PQq?N|IldVqrVQ)3f2lZ{&r<4+ z1_U`#gv-Z>I}PKW;%=`1AavPJG5WtS77!`vGR$m@FHK3 zK*v7XR?pnNZ@=F6_j@N;e!mdAd3yOurvH+&ai53>Rmv8Mej z49tHXBGKwzF@>%6-ov1b+R27lCLed?aE-|7&*5brUF zeg^M$rN^&Wo?kxN$H#wlxL3xnThH3wzk?PwmNHL>2*)y3bBN%y!Oz^)u+ye@B*&L< zERdSTjI006>&I7d9oBdIAo2lQzXnUNhVALLsc&>%PlDe4{(8N`6Mlo|vNoOH=7)}F z!r{wV_)WmltLyCa;ZJRc$b|MgK7oSFM|>F1mGUZ9Ak>XfS@&IK{VuAkc)vtA?0M)!&w038FJ z0G$SngU*32f+j)NK~tbxpgW+e^)#7mEhm{=&XPD!WMVdNER(sC#L7 zb6%$NR=X=qEhX85n{l&MYb3LYTx+ChQkR){F_F2rDfLz>OU>U*+G(86wXy|?K~026 Uve3vSzn3j7=0=e==I`b58x9`VX8-^I diff --git a/scripts/Units/armack.bos b/scripts/Units/armack.bos index fb4ba7415c7..ea27e0e8580 100644 --- a/scripts/Units/armack.bos +++ b/scripts/Units/armack.bos @@ -1,12 +1,15 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" -#define SIGNAL_BUILD 2 +#define SIG_BUILD 4 piece torso, pelvis, lleg, lfoot, rleg, rfoot, beacon1, beacon2, rthigh, lthigh, cover, gun, nano, aimy1; -static-var isMoving, moveSpeed, currentSpeed; +static-var bMoving, notBuilding, nanoNozzle, statechg_DesiredState, + statechg_StateChanging, moveSpeed, currentSpeed; // Generated for D:\spring\animation\armack_anim_walk.blend // Using https://github.com/Beherith/Skeletor_S3O @@ -19,20 +22,20 @@ lua_UnitScriptDecal(lightIndex, xpos,zpos, heading) } -#define SIGNAL_MOVE 1 +#define SIG_WALK 8 Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\animation\armack_anim_walk.blend //CC BY NC ND (c) Beherith - set-signal-mask SIGNAL_MOVE; - if (isMoving) { //Frame:4 + set-signal-mask SIG_WALK; + if (bMoving) { //Frame:4 turn lfoot to x-axis <-0.485482> speed <110.281531> / animSpeed; //delta=3.68 turn lfoot to y-axis <0.072222> speed <16.825555> / animSpeed; //delta=0.56 turn lleg to x-axis <36.074054> speed <1081.715849> / animSpeed; //delta=-36.06 turn lthigh to x-axis <-41.793965> speed <1203.021879> / animSpeed; //delta=40.10 turn lthigh to z-axis <2.022461> speed <348.876968> / animSpeed; //delta=-11.63 turn lthigh to y-axis <9.002345> speed <119.772567> / animSpeed; //delta=3.99 - move pelvis to y-axis [-0.500000] speed [15.0] / animSpeed; //delta=-0.50 + move pelvis to y-axis [-0.500000] speed [15.000000] / animSpeed; //delta=-0.50 turn pelvis to z-axis <-5.151835> speed <154.505323> / animSpeed; //delta=5.15 - turn pelvis to y-axis <-10.0> speed <299.999991> / animSpeed; //delta=-10.00 + turn pelvis to y-axis <-10.000000> speed <299.999991> / animSpeed; //delta=-10.00 turn rfoot to x-axis <-29.317720> speed <926.493743> / animSpeed; //delta=30.88 turn rfoot to z-axis <-7.229371> speed <27.810707> / animSpeed; //delta=0.93 turn rfoot to y-axis <-3.551284> speed <111.596795> / animSpeed; //delta=-3.72 @@ -40,12 +43,12 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn rthigh to x-axis <16.491347> speed <514.762905> / animSpeed; //delta=-17.16 turn rthigh to z-axis <3.745665> speed <117.301532> / animSpeed; //delta=3.91 turn rthigh to y-axis <3.255484> speed <216.842782> / animSpeed; //delta=7.23 - turn torso to x-axis <-1.0> speed <30.0> / animSpeed; //delta=1.00 - turn torso to y-axis <4.0> speed <119.999999> / animSpeed; //delta=4.00 + turn torso to x-axis <-1.000000> speed <30.000000> / animSpeed; //delta=1.00 + turn torso to y-axis <4.000000> speed <119.999999> / animSpeed; //delta=4.00 sleep ((33*animSpeed) -1); } - while(isMoving) { - if (isMoving) { //Frame:8 + while(bMoving) { + if (bMoving) { //Frame:8 turn lfoot to x-axis <25.873412> speed <790.766830> / animSpeed; //delta=-26.36 turn lfoot to z-axis <9.788479> speed <29.665859> / animSpeed; //delta=-0.99 turn lfoot to y-axis <-4.298309> speed <131.115918> / animSpeed; //delta=-4.37 @@ -53,20 +56,20 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn lthigh to x-axis <-50.184822> speed <251.725700> / animSpeed; //delta=8.39 turn lthigh to z-axis <-4.188938> speed <186.341957> / animSpeed; //delta=6.21 turn lthigh to y-axis <13.549662> speed <136.419513> / animSpeed; //delta=4.55 - move pelvis to y-axis [-1.500000] speed [30.0] / animSpeed; //delta=-1.00 + move pelvis to y-axis [-1.500000] speed [30.000000] / animSpeed; //delta=-1.00 turn pelvis to z-axis <-0.151836> speed <149.999984> / animSpeed; //delta=-5.00 - turn pelvis to y-axis <-15.0> speed <150.0> / animSpeed; //delta=-5.00 + turn pelvis to y-axis <-15.000000> speed <150.000021> / animSpeed; //delta=-5.00 turn rfoot to x-axis <-23.382582> speed <178.054118> / animSpeed; //delta=-5.94 turn rfoot to z-axis <-6.868132> speed <10.837179> / animSpeed; //delta=-0.36 turn rfoot to y-axis <-2.736931> speed <24.430571> / animSpeed; //delta=0.81 turn rleg to x-axis <-31.552479> speed <1347.398248> / animSpeed; //delta=44.91 turn rthigh to x-axis <60.153114> speed <1309.853022> / animSpeed; //delta=-43.66 turn rthigh to y-axis <6.646294> speed <101.724289> / animSpeed; //delta=3.39 - turn torso to x-axis <-2.0> speed <30.0> / animSpeed; //delta=1.00 - turn torso to y-axis <6.0> speed <60.0> / animSpeed; //delta=2.00 + turn torso to x-axis <-2.000000> speed <30.000000> / animSpeed; //delta=1.00 + turn torso to y-axis <6.000000> speed <60.000006> / animSpeed; //delta=2.00 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:12 + if (bMoving) { //Frame:12 turn lfoot to x-axis <12.409120> speed <403.928764> / animSpeed; //delta=13.46 turn lfoot to z-axis <9.012408> speed <23.282126> / animSpeed; //delta=0.78 turn lfoot to y-axis <-1.946586> speed <70.551688> / animSpeed; //delta=2.35 @@ -74,9 +77,9 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn lthigh to x-axis <-34.053964> speed <483.925733> / animSpeed; //delta=-16.13 turn lthigh to z-axis <-6.861738> speed <80.184022> / animSpeed; //delta=2.67 turn lthigh to y-axis <7.878332> speed <170.139893> / animSpeed; //delta=-5.67 - move pelvis to y-axis [-1.0] speed [15.0] / animSpeed; //delta=0.50 - turn pelvis to z-axis <4.848164> speed <150.0> / animSpeed; //delta=-5.00 - turn pelvis to y-axis <-10.0> speed <150.0> / animSpeed; //delta=5.00 + move pelvis to y-axis [-1.000000] speed [15.000000] / animSpeed; //delta=0.50 + turn pelvis to z-axis <4.848164> speed <150.000007> / animSpeed; //delta=-5.00 + turn pelvis to y-axis <-10.000000> speed <150.000021> / animSpeed; //delta=5.00 turn rfoot to x-axis <-40.777326> speed <521.842299> / animSpeed; //delta=17.39 turn rfoot to z-axis <-8.327496> speed <43.780941> / animSpeed; //delta=1.46 turn rfoot to y-axis <-5.449599> speed <81.380024> / animSpeed; //delta=-2.71 @@ -85,10 +88,10 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn rthigh to z-axis <-7.678429> speed <344.515826> / animSpeed; //delta=11.48 turn rthigh to y-axis <8.365740> speed <51.583403> / animSpeed; //delta=1.72 turn torso to x-axis <4.999999> speed <209.999982> / animSpeed; //delta=-7.00 - turn torso to y-axis <4.0> speed <60.0> / animSpeed; //delta=-2.00 + turn torso to y-axis <4.000000> speed <60.000006> / animSpeed; //delta=-2.00 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:16 + if (bMoving) { //Frame:16 call-script lua_UnitScriptDecal(1, (get PIECE_XZ(lfoot) & 0xffff0000) / 0x00010000 , (get PIECE_XZ(lfoot) & 0x0000ffff), get HEADING(0)); turn lfoot to x-axis <-18.974974> speed <941.522828> / animSpeed; //delta=31.38 turn lfoot to z-axis <9.309915> speed <8.925205> / animSpeed; //delta=-0.30 @@ -98,8 +101,8 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn lthigh to z-axis <-5.677191> speed <35.536407> / animSpeed; //delta=-1.18 turn lthigh to y-axis <-0.458409> speed <250.102231> / animSpeed; //delta=-8.34 move pelvis to y-axis [-0.750000] speed [7.500000] / animSpeed; //delta=0.25 - turn pelvis to z-axis <6.848165> speed <60.0> / animSpeed; //delta=-2.00 - turn pelvis to y-axis <0.0> speed <299.999991> / animSpeed; //delta=10.00 + turn pelvis to z-axis <6.848165> speed <60.000006> / animSpeed; //delta=-2.00 + turn pelvis to y-axis <0.000000> speed <299.999991> / animSpeed; //delta=10.00 turn rfoot to x-axis <-29.131938> speed <349.361615> / animSpeed; //delta=-11.65 turn rfoot to z-axis <-7.213807> speed <33.410690> / animSpeed; //delta=-1.11 turn rfoot to y-axis <-3.515907> speed <58.010762> / animSpeed; //delta=1.93 @@ -107,11 +110,11 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn rthigh to x-axis <-19.663384> speed <778.277371> / animSpeed; //delta=25.94 turn rthigh to z-axis <-9.303721> speed <48.758765> / animSpeed; //delta=1.63 turn rthigh to y-axis <-2.193633> speed <316.781196> / animSpeed; //delta=-10.56 - turn torso to x-axis <1.0> speed <119.999983> / animSpeed; //delta=4.00 - turn torso to y-axis <0.0> speed <119.999999> / animSpeed; //delta=-4.00 + turn torso to x-axis <1.000000> speed <119.999983> / animSpeed; //delta=4.00 + turn torso to y-axis <0.000000> speed <119.999999> / animSpeed; //delta=-4.00 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:20 + if (bMoving) { //Frame:20 turn lfoot to x-axis <-28.982299> speed <300.219753> / animSpeed; //delta=10.01 turn lfoot to z-axis <10.070733> speed <22.824546> / animSpeed; //delta=-0.76 turn lfoot to y-axis <4.912973> speed <55.903314> / animSpeed; //delta=1.86 @@ -120,8 +123,8 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn lthigh to z-axis <-2.689490> speed <89.631044> / animSpeed; //delta=-2.99 turn lthigh to y-axis <-3.664526> speed <96.183507> / animSpeed; //delta=-3.21 move pelvis to y-axis [-0.500000] speed [7.500000] / animSpeed; //delta=0.25 - turn pelvis to z-axis <4.848164> speed <60.0> / animSpeed; //delta=2.00 - turn pelvis to y-axis <10.0> speed <299.999991> / animSpeed; //delta=10.00 + turn pelvis to z-axis <4.848164> speed <60.000006> / animSpeed; //delta=2.00 + turn pelvis to y-axis <10.000000> speed <299.999991> / animSpeed; //delta=10.00 turn rfoot to x-axis <-1.431422> speed <831.015485> / animSpeed; //delta=-27.70 turn rfoot to z-axis <-6.301431> speed <27.371262> / animSpeed; //delta=-0.91 turn rfoot to y-axis <-0.155789> speed <100.803521> / animSpeed; //delta=3.36 @@ -129,11 +132,11 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn rthigh to x-axis <-41.593601> speed <657.906531> / animSpeed; //delta=21.93 turn rthigh to z-axis <-1.730063> speed <227.209747> / animSpeed; //delta=-7.57 turn rthigh to y-axis <-8.816860> speed <198.696809> / animSpeed; //delta=-6.62 - turn torso to x-axis <-1.0> speed <60.0> / animSpeed; //delta=2.00 - turn torso to y-axis <-4.0> speed <119.999999> / animSpeed; //delta=-4.00 + turn torso to x-axis <-1.000000> speed <60.000000> / animSpeed; //delta=2.00 + turn torso to y-axis <-4.000000> speed <119.999999> / animSpeed; //delta=-4.00 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:24 + if (bMoving) { //Frame:24 turn lfoot to x-axis <-23.310292> speed <170.160230> / animSpeed; //delta=-5.67 turn lfoot to z-axis <9.591262> speed <14.384148> / animSpeed; //delta=0.48 turn lfoot to y-axis <3.824436> speed <32.656112> / animSpeed; //delta=-1.09 @@ -141,9 +144,9 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn lthigh to x-axis <61.048388> speed <1300.998433> / animSpeed; //delta=-43.37 turn lthigh to z-axis <-1.937215> speed <22.568234> / animSpeed; //delta=-0.75 turn lthigh to y-axis <-8.214539> speed <136.500387> / animSpeed; //delta=-4.55 - move pelvis to y-axis [-1.500000] speed [30.0] / animSpeed; //delta=-1.00 - turn pelvis to z-axis <-0.151836> speed <150.0> / animSpeed; //delta=5.00 - turn pelvis to y-axis <15.0> speed <150.0> / animSpeed; //delta=5.00 + move pelvis to y-axis [-1.500000] speed [30.000000] / animSpeed; //delta=-1.00 + turn pelvis to z-axis <-0.151836> speed <150.000007> / animSpeed; //delta=5.00 + turn pelvis to y-axis <15.000000> speed <150.000021> / animSpeed; //delta=5.00 turn rfoot to x-axis <23.728711> speed <754.803989> / animSpeed; //delta=-25.16 turn rfoot to z-axis <-6.883993> speed <17.476840> / animSpeed; //delta=0.58 turn rfoot to y-axis <2.776399> speed <87.965641> / animSpeed; //delta=2.93 @@ -151,11 +154,11 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn rthigh to x-axis <-49.481285> speed <236.630504> / animSpeed; //delta=7.89 turn rthigh to z-axis <4.070933> speed <174.029860> / animSpeed; //delta=-5.80 turn rthigh to y-axis <-13.213192> speed <131.889971> / animSpeed; //delta=-4.40 - turn torso to x-axis <-2.0> speed <30.0> / animSpeed; //delta=1.00 - turn torso to y-axis <-6.0> speed <60.0> / animSpeed; //delta=-2.00 + turn torso to x-axis <-2.000000> speed <30.000000> / animSpeed; //delta=1.00 + turn torso to y-axis <-6.000000> speed <60.000006> / animSpeed; //delta=-2.00 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:28 + if (bMoving) { //Frame:28 turn lfoot to x-axis <-40.964831> speed <529.636193> / animSpeed; //delta=17.65 turn lfoot to z-axis <11.682572> speed <62.739326> / animSpeed; //delta=-2.09 turn lfoot to y-axis <7.703994> speed <116.386744> / animSpeed; //delta=3.88 @@ -163,9 +166,9 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn lthigh to x-axis <6.825825> speed <1626.676884> / animSpeed; //delta=54.22 turn lthigh to z-axis <9.228129> speed <334.960344> / animSpeed; //delta=-11.17 turn lthigh to y-axis <-8.933769> speed <21.576901> / animSpeed; //delta=-0.72 - move pelvis to y-axis [-1.0] speed [15.0] / animSpeed; //delta=0.50 + move pelvis to y-axis [-1.000000] speed [15.000000] / animSpeed; //delta=0.50 turn pelvis to z-axis <-5.151835> speed <149.999984> / animSpeed; //delta=5.00 - turn pelvis to y-axis <10.0> speed <150.0> / animSpeed; //delta=-5.00 + turn pelvis to y-axis <10.000000> speed <150.000021> / animSpeed; //delta=-5.00 turn rfoot to x-axis <11.332341> speed <371.891096> / animSpeed; //delta=12.40 turn rfoot to z-axis <-6.426045> speed <13.738439> / animSpeed; //delta=-0.46 turn rfoot to y-axis <1.263416> speed <45.389466> / animSpeed; //delta=-1.51 @@ -173,11 +176,11 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn rthigh to x-axis <-33.738730> speed <472.276640> / animSpeed; //delta=-15.74 turn rthigh to z-axis <6.910044> speed <85.173334> / animSpeed; //delta=-2.84 turn rthigh to y-axis <-7.689420> speed <165.713162> / animSpeed; //delta=5.52 - turn torso to x-axis <5.0> speed <209.999995> / animSpeed; //delta=-7.00 - turn torso to y-axis <-4.0> speed <60.0> / animSpeed; //delta=2.00 + turn torso to x-axis <5.000000> speed <209.999995> / animSpeed; //delta=-7.00 + turn torso to y-axis <-4.000000> speed <60.000006> / animSpeed; //delta=2.00 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:32 + if (bMoving) { //Frame:32 call-script lua_UnitScriptDecal(1, (get PIECE_XZ(rfoot) & 0xffff0000) / 0x00010000 , (get PIECE_XZ(rfoot) & 0x0000ffff), get HEADING(0)); turn lfoot to x-axis <-28.930704> speed <361.023821> / animSpeed; //delta=-12.03 turn lfoot to z-axis <10.063127> speed <48.583366> / animSpeed; //delta=1.62 @@ -188,7 +191,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn lthigh to y-axis <1.983180> speed <327.508469> / animSpeed; //delta=10.92 move pelvis to y-axis [-0.750000] speed [7.500000] / animSpeed; //delta=0.25 turn pelvis to z-axis <-7.149140> speed <59.919132> / animSpeed; //delta=2.00 - turn pelvis to y-axis <0.0> speed <299.999991> / animSpeed; //delta=-10.00 + turn pelvis to y-axis <0.000000> speed <299.999991> / animSpeed; //delta=-10.00 turn rfoot to x-axis <-19.243836> speed <917.285304> / animSpeed; //delta=30.58 turn rfoot to z-axis <-6.674694> speed <7.459489> / animSpeed; //delta=0.25 turn rfoot to y-axis <-2.208760> speed <104.165295> / animSpeed; //delta=-3.47 @@ -196,11 +199,11 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn rthigh to x-axis <-15.333532> speed <552.155942> / animSpeed; //delta=-18.41 turn rthigh to z-axis <6.379421> speed <15.918686> / animSpeed; //delta=0.53 turn rthigh to y-axis <0.438605> speed <243.840766> / animSpeed; //delta=8.13 - turn torso to x-axis <1.0> speed <119.999996> / animSpeed; //delta=4.00 - turn torso to y-axis <0.0> speed <119.999999> / animSpeed; //delta=4.00 + turn torso to x-axis <1.000000> speed <119.999996> / animSpeed; //delta=4.00 + turn torso to y-axis <0.000000> speed <119.999999> / animSpeed; //delta=4.00 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:36 + if (bMoving) { //Frame:36 turn lfoot to x-axis <-0.694520> speed <847.085534> / animSpeed; //delta=-28.24 turn lfoot to z-axis <8.799966> speed <37.894820> / animSpeed; //delta=1.26 turn lfoot to y-axis <0.104601> speed <143.664287> / animSpeed; //delta=-4.79 @@ -210,7 +213,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn lthigh to y-axis <8.952540> speed <209.080788> / animSpeed; //delta=6.97 move pelvis to y-axis [-0.500000] speed [7.500000] / animSpeed; //delta=0.25 turn pelvis to z-axis <-4.961616> speed <65.625717> / animSpeed; //delta=-2.19 - turn pelvis to y-axis <-10.0> speed <299.999991> / animSpeed; //delta=-10.00 + turn pelvis to y-axis <-10.000000> speed <299.999991> / animSpeed; //delta=-10.00 turn rfoot to x-axis <-28.224520> speed <269.420534> / animSpeed; //delta=8.98 turn rfoot to z-axis <-7.153694> speed <14.369984> / animSpeed; //delta=0.48 turn rfoot to y-axis <-3.394120> speed <35.560784> / animSpeed; //delta=-1.19 @@ -218,24 +221,24 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn rthigh to x-axis <17.169911> speed <975.103283> / animSpeed; //delta=-32.50 turn rthigh to z-axis <3.610088> speed <83.080005> / animSpeed; //delta=2.77 turn rthigh to y-axis <3.268191> speed <84.887577> / animSpeed; //delta=2.83 - turn torso to x-axis <-1.0> speed <60.0> / animSpeed; //delta=2.00 - turn torso to y-axis <4.0> speed <119.999999> / animSpeed; //delta=4.00 + turn torso to x-axis <-1.000000> speed <60.000000> / animSpeed; //delta=2.00 + turn torso to y-axis <4.000000> speed <119.999999> / animSpeed; //delta=4.00 sleep ((33*animSpeed) -1); } } } -// Call this from StopMoving()! +// Call this from MotionControl()! StopWalking() { - move pelvis to y-axis [0.0] speed [7.500000]; + move pelvis to y-axis [0.000000] speed [7.500000]; turn lfoot to x-axis <3.190569> speed <235.380707>; turn lfoot to y-axis <-0.488630> speed <37.470864>; turn lfoot to z-axis <8.813703> speed <15.684831>; - turn lleg to x-axis <0.0> speed <573.899636>; + turn lleg to x-axis <0.000000> speed <573.899636>; turn lthigh to x-axis <-1.693236> speed <406.669221>; turn lthigh to y-axis <5.009926> speed <81.877117>; turn lthigh to z-axis <-9.606771> speed <87.219242>; - turn pelvis to y-axis <0.0> speed <74.999998>; - turn pelvis to z-axis <0.0> speed <38.626331>; + turn pelvis to y-axis <0.000000> speed <74.999998>; + turn pelvis to z-axis <0.000000> speed <38.626331>; turn rfoot to x-axis <1.565405> speed <231.623436>; turn rfoot to y-axis <0.168610> speed <27.899199>; turn rfoot to z-axis <-6.302347> speed <10.945235>; @@ -243,8 +246,8 @@ StopWalking() { turn rthigh to x-axis <-0.667417> speed <404.054391>; turn rthigh to y-axis <-3.972609> speed <79.195299>; turn rthigh to z-axis <7.655716> speed <86.128957>; - turn torso to x-axis <0.0> speed <52.499999>; - turn torso to y-axis <0.0> speed <30.0>; + turn torso to x-axis <0.000000> speed <52.499999>; + turn torso to y-axis <0.000000> speed <30.000000>; } // REMEMBER TO animspeed = 4 in Create() !! UnitSpeed(){ @@ -261,27 +264,74 @@ UnitSpeed(){ sleep 131; } } -StartMoving(reversing){ - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; +StartMoving(){ + signal SIG_WALK; + set-signal-mask SIG_WALK; start-script UnitSpeed(); - isMoving=TRUE; + bMoving=TRUE; start-script Walk(); } StopMoving(){ - signal SIGNAL_MOVE; - isMoving=FALSE; + signal SIG_WALK; + bMoving=FALSE; call-script StopWalking(); } + #define BASEPIECE pelvis #define HITSPEED <55.0> //how 'heavy' the unit is, on a scale of 1-10 #define UNITSIZE 3 #define MAXTILT 100 -#include "../unit_hitbyweaponid_and_smoke.h" +#include "unit_hitbyweaponid_and_smoke.h" + +Go() +{ + turn cover to x-axis <-90> speed <180>; + sleep 500; +} + +Stop() +{ + set INBUILDSTANCE to 0; + turn cover to x-axis <0> speed <180>; + turn aimy1 to y-axis <0> speed <180>; + hide beacon1; + hide beacon2; + turn beacon1 to y-axis <0> speed <1000>; + turn beacon2 to y-axis <0> speed <1000>; + sleep 500; +} + +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState ) + { + call-script Stop(); + notBuilding = 1; + currentstate = 1; + } + else + { + call-script Go(); + notBuilding = 0; + currentstate = 0; + } + } + statechg_StateChanging = FALSE; +} Create() { @@ -289,62 +339,71 @@ Create() hide beacon1; hide beacon2; hide aimy1; - isMoving = FALSE; - + bMoving = FALSE; + notBuilding = 1; + nanoNozzle = 0; + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; moveSpeed = get MAX_SPEED; animSpeed = 4; } Activate() { + start-script RequestState(0); } Deactivate() { + start-script RequestState(1); } StartBuilding(heading, pitch) { - signal SIGNAL_BUILD; - set-signal-mask SIGNAL_BUILD; - show nano; - turn cover to x-axis <-90> speed <180>; - turn aimy1 to y-axis heading speed <160.0>; + start-script RequestState(0); + while( notBuilding ) sleep 100; + signal SIG_BUILD; + turn aimy1 to y-axis heading speed <160.000000>; wait-for-turn aimy1 around y-axis; - set INBUILDSTANCE to 1; - show beacon1; show beacon2; - spin beacon1 around y-axis speed <450> accelerate <20>; - spin beacon2 around y-axis speed <-450> accelerate <20>; + spin beacon1 around y-axis speed <450>; + spin beacon2 around y-axis speed <-450>; } StopBuilding() { - signal SIGNAL_BUILD; - set-signal-mask SIGNAL_BUILD; - hide nano; + signal SIG_BUILD; + set-signal-mask SIG_BUILD; hide beacon1; hide beacon2; - stop-spin beacon1 around y-axis; - stop-spin beacon2 around y-axis; - + turn beacon1 to y-axis <0> speed <1000>; + turn beacon2 to y-axis <0> speed <1000>; sleep 3000; + set-signal-mask 0; + signal SIG_BUILD; + start-script RequestState(1); +} - set INBUILDSTANCE to 0; - - turn cover to x-axis <0> speed <180>; - turn aimy1 to y-axis <0> speed <180>; +QueryNanoPiece(piecenum) +{ + piecenum = nano; } -QueryNanoPiece(pieceIndex) +/* +TargetHeading(Func_Var_1) { - pieceIndex = nano; + Static_Var_1 = 0 - Func_Var_1; } +*/ +SweetSpot(piecenum) +{ + piecenum = torso; +} Killed(severity, corpsetype) { @@ -352,8 +411,16 @@ Killed(severity, corpsetype) { corpsetype = 1 ; explode pelvis type BITMAPONLY | NOHEATCLOUD; + //explode rthigh type BITMAPONLY | NOHEATCLOUD; + //explode rleg type BITMAPONLY | NOHEATCLOUD; + //explode rfoot type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lthigh type BITMAPONLY | NOHEATCLOUD; + //explode lleg type BITMAPONLY | NOHEATCLOUD; + //explode lfoot type BITMAPONLY | NOHEATCLOUD; explode torso type BITMAPONLY | NOHEATCLOUD; + //explode cover type BITMAPONLY | NOHEATCLOUD; explode gun type BITMAPONLY | NOHEATCLOUD; + //explode nano type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } if( severity <= 50 ) @@ -361,8 +428,15 @@ Killed(severity, corpsetype) corpsetype = 2 ; explode pelvis type BITMAPONLY | NOHEATCLOUD; explode rthigh type FALL | NOHEATCLOUD; + //explode rleg type FALL | NOHEATCLOUD; + //explode rfoot type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lthigh type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lleg type FALL | NOHEATCLOUD; + //explode lfoot type FALL | NOHEATCLOUD; explode torso type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode cover type FALL | NOHEATCLOUD; explode gun type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode nano type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) @@ -370,17 +444,28 @@ Killed(severity, corpsetype) corpsetype = 3 ; explode pelvis type FIRE | SMOKE | FALL | NOHEATCLOUD; explode rthigh type FALL | NOHEATCLOUD; + //explode rleg type SMOKE | FALL | NOHEATCLOUD; + //explode rfoot type SMOKE | FALL | NOHEATCLOUD; + //explode lthigh type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lleg type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; explode lfoot type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode torso type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode cover type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode gun type SMOKE | FALL | NOHEATCLOUD; + //explode nano type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; explode pelvis type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode rthigh type FIRE | SMOKE | FALL | NOHEATCLOUD; explode rleg type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode rfoot type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode lthigh type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lleg type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode lfoot type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode torso type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode cover type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode gun type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode nano type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/armack.cob b/scripts/Units/armack.cob index c9ac13a1f4ad2ecb0ebc75e3709a9169a0044166..138b8548ba4903778e6c30d74c59dcb2c676b21f 100644 GIT binary patch literal 12267 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 C%N7>^ literal 11199 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 diff --git a/scripts/Units/armacsub.bos b/scripts/Units/armacsub.bos index 5cd5b502345..d1dfdbf4d76 100644 --- a/scripts/Units/armacsub.bos +++ b/scripts/Units/armacsub.bos @@ -1,117 +1,180 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, rfin, lfin, door, prop, turret, gun, nano1, nano2; +static-var notBuilding, statechg_DesiredState, statechg_StateChanging, currentSpeed, moveSpeed; // Signal definitions -#define SIGNAL_MOVE 1 -#define SIGNAL_BUILD 2 - -#define TB_BASE base -#define TB_TURNRATE <20.0> -#define TB_TILT_X <-0.32> -#define TB_BANK_Z <0.5> // Do not define this if you dont want banking -#define TB_WAKE_PIECE base -#include "../tilt_bank_submarine.h" - +#define SIG_MOVE 2 +#define SIG_BUILD 4 Propcontrol() { - var currentSpeed; while(TRUE) { - currentSpeed = (get CURRENT_SPEED)*1000/TB_maxSpeed; - spin prop around z-axis speed <1.0>*currentSpeed accelerate <10.0>; + currentSpeed = (get CURRENT_SPEED)*1000/moveSpeed; + spin prop around z-axis speed <1.000000>*currentSpeed accelerate <10.000000>; sleep 33; } } +activatescr() +{ + move turret to y-axis [4.400000] speed [8.800000]; + sleep 500; +} + +deactivatescr() +{ + set INBUILDSTANCE to 0; + turn gun to y-axis <0.000000> speed <160.038462>; + wait-for-turn gun around y-axis; + move turret to y-axis [0.000000] speed [8.800000]; + sleep 500; +} + #define BASEPIECE base #define HITSPEED <20.0> //how 'heavy' the unit is, on a scale of 1-10 #define UNITSIZE 3 #define MAXTILT 100 +HitByWeapon(anglex, anglez, damage) // angle[x|z] is always [-500;500], damage is multiplied by 100 +{ + var amount;//, speedz, speedx; + amount = damage / (100 * UNITSIZE); + if (amount < 3 ) return (0); + if (amount > MAXTILT) amount = MAXTILT; + //get PRINT(anglex, anglez, amount, damage); + //speedz = HITSPEED * get ABS(anglez) / 500; //nevermind this, the random error this produces actually looks better than the accurate version + turn BASEPIECE to z-axis (anglez * amount) / 100 speed HITSPEED; + turn BASEPIECE to x-axis <0> - (anglex * amount) /100 speed HITSPEED; + wait-for-turn BASEPIECE around z-axis; + wait-for-turn BASEPIECE around x-axis; + turn BASEPIECE to z-axis <0.000000> speed HITSPEED / 4; + turn BASEPIECE to x-axis <0.000000> speed HITSPEED / 4; +} +HitByWeaponId(anglex, anglez, weaponid, dmg) //weaponID is always 0,lasers and flamers give angles of 0 +{ + start-script HitByWeapon(dmg, anglez,anglex); //I dont know why param order must be switched, and this also runs a frame later :( + return (100); //return damage percent +} -#define SMOKEPROBABILITY 0 -#include "../unit_hitbyweaponid_and_smoke.h" -StartMoving(reversing) +StartMoving() { - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; - move door to y-axis [1.0] speed [4.0]; - move lfin to x-axis [-12.600000] speed [5.600000]; - move rfin to x-axis [12.600000] speed [5.600000]; - START_TILTBANK; - start-script Propcontrol(); + signal SIG_MOVE; + set-signal-mask SIG_MOVE; + move door to y-axis [1.000000] speed [4.000000]; + move lfin to x-axis [-5.600000] speed [5.600000]; + move rfin to x-axis [5.600000] speed [5.600000]; + while( TRUE ) + { + emit-sfx 259 from prop; + sleep 250; + } } StopMoving() { - signal SIGNAL_MOVE; - move door to y-axis [0.0] speed [4.0]; - move lfin to x-axis [0.0] speed [5.600000]; - move rfin to x-axis [0.0] speed [5.600000]; - STOP_TILTBANK; - stop-spin prop around z-axis decelerate <10.0>; + signal SIG_MOVE; + move door to y-axis [0.000000] speed [4.000000]; + move lfin to x-axis [0.000000] speed [5.600000]; + move rfin to x-axis [0.000000] speed [5.600000]; + } +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState ) + { + call-script deactivatescr(); + notBuilding = 1; + currentstate = 1; + } + else + { + call-script activatescr(); + notBuilding = 0; + currentstate = 0; + } + } + statechg_StateChanging = FALSE; +} Create() { hide nano1; hide nano2; - call-script TB_Init(); + notBuilding = 1; + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; + moveSpeed = get MAX_SPEED; + start-script Propcontrol(); } Activate() { + start-script RequestState(0); } Deactivate() { + start-script RequestState(1); } StartBuilding(heading, pitch) { - signal SIGNAL_BUILD; - set-signal-mask SIGNAL_BUILD; - - move turret to y-axis [4.400000] speed [8.800000]; - wait-for-move turret along y-axis; - - turn gun to y-axis heading speed <160>; - wait-for-turn gun around y-axis; - show nano1; show nano2; + start-script RequestState(0); + while( notBuilding ) sleep 100; + signal SIG_BUILD; + turn gun to y-axis heading speed <160.038462>; + wait-for-turn gun around y-axis; set INBUILDSTANCE to 1; } StopBuilding() { - - signal SIGNAL_BUILD; - set-signal-mask SIGNAL_BUILD; - hide nano1; hide nano2; - + signal SIG_BUILD; + set-signal-mask SIG_BUILD; sleep 6000; - - set INBUILDSTANCE to 0; - turn gun to y-axis <0.0> speed <160>; - wait-for-turn gun around y-axis; - move turret to y-axis [0.0] speed [8.800000]; + set-signal-mask 0; + signal SIG_BUILD; + start-script RequestState(1); } -QueryNanoPiece(pieceIndex) +QueryNanoPiece(piecenum) { - pieceIndex = nano1; + piecenum = nano1; } +/* +TargetHeading(Func_Var_1) +{ + Static_Var_1 = 0 - Func_Var_1; +} +*/ +SweetSpot(piecenum) +{ + piecenum = base; +} Killed(severity, corpsetype) { @@ -124,6 +187,9 @@ Killed(severity, corpsetype) explode prop type BITMAPONLY | NOHEATCLOUD; explode turret type BITMAPONLY | NOHEATCLOUD; explode gun type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode nano1 type BITMAPONLY | NOHEATCLOUD; + //explode nano2 type BITMAPONLY | NOHEATCLOUD; + //explode lfin type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } if( severity <= 50 ) @@ -135,6 +201,9 @@ Killed(severity, corpsetype) explode prop type FALL | NOHEATCLOUD; explode turret type FIRE | SMOKE | FALL | NOHEATCLOUD; explode gun type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode nano1 type FALL | NOHEATCLOUD; + //explode nano2 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lfin type FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) @@ -146,6 +215,9 @@ Killed(severity, corpsetype) explode prop type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; explode turret type SMOKE | FALL | NOHEATCLOUD; explode gun type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode nano1 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode nano2 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lfin type SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; @@ -155,5 +227,8 @@ Killed(severity, corpsetype) explode prop type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode turret type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode gun type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode nano1 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode nano2 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lfin type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/armacsub.cob b/scripts/Units/armacsub.cob index db30369a67a1ed2ca4a32b51a9415540d424ba9a..96e366181621d1f4bbb1afbafe4dba78380a4a47 100644 GIT binary patch literal 3486 zcmcInJ!}+56n=L;pH2ADRQyPgtUC&19ngSiz@$iGfsVMKvgGsK+B)gDJ@4)DQy?8Q zbSR>TLXSip2_>RSsx+=rriqjyqNH#G5`yo0J8wNXc_Uxsob-9#y!XC&Z@!rwL`_5- za0qx;6`94zpF1Mb1ik~#Vg3qZ#Z_H}!L_>k90TWPIFD+M_L~{ljTu*iU8Dah>_*km z&G_lLeEbP>=Frc4X^7^dyyh*azvAR-ovo>lqcrPUXM1~IeH$C7;>59M_Qe`IG#VAn zgH>=e2XXa9^BVtcD_A=cS4U9yhp5?H)9NXAAN3?cod8v=VSDSa2Ij@yp;5Jw&zWah zY23{^YQ63`S|1vOd0bB#dEOnLN1v_9T9=Mtj*)vaE_G*2`RGBge}u*QB!_YJ1*7%- zPwp|7uYnd7mhVLP}gdd)i2Al^*HiggnHAqeTMtiTvu0(O=sP|zgOJ54Dvgs z_Bgk3TfG)g5a+L4q_X$t&u4Yq+<5vgdHH9F8G}^N@2K$+jQc zgU$7>t%<`^hIdfhJchD9$YovQhHEX8k9U(kz2h!_>*%(8J8SyzI%&;tJ&Wt!O5(+L z(eyoIw4Nu|rPk_$){ndf`hEC&c;EZ9-$DLu@C~)QAW``nYVWW1>fc|j)x^H{&@-%| z_BgLMH~|*=DKzr_Fkfr@iyq|i{CMWE?>s5nPio^2>PkcJ0NZ4rM$$0~Tfu?*V(Et@?R;?EUPK{|@qeRa59= zXHCup=J|c!^84nux!-+H(}(FX4aamcO~&lkYj3`3);nnZ+U&>c_rmMPp8rq%cs~0* zd(&?kj_GP|Oxe9U2rapfY4oyv@XYPr@8=t^yZ2xDlRAd=%k(iF_o`XOF-@o8On%># zW&v0Pz5!kWKLdXOAAlu@u?ob%9pHQ5N8mN^E5QFJ`~qwPe*k|2JAfP&ISiZxz5vbw z7lCWQO<)z+1p2@bxDPx89s^H+r@%Ad2cVfIgLcx-(xfM?cGkVy%Hm-=l};SazUpR6 z4{pb;LDHAN{<e{* literal 3615 zcmb7H&5ImW5U=^zaTQ})J(z$(3qmeAOoE`t*)@lRpo}IU;vqZk^e#;%-D9UW5Kz}c za*MerVuJXAAQ%J>K`%n^B!clQ;y01F*Dz{*k#2 z_dm{NGwFALOB54b>RkOQ7VW}X9fz;S&-uvNxpD*xZoB`z0Z$&cbMf=Q#B0pO-PR#o! z)8DV3tbrlu`{V=F`W^PfNxAl@FHx5=5bd5;d4=Pe$tZFhe$Khl{!!{MQ=Y?L!BRG+ z40nP&WBbfk$oH%M{Q;Kqq@H$Ed5@^0jIHIoG)B~m{2miOkB|4et_L=>r7pw~Vy3Ov zdXNch)|7=h#*nDOx(9Z1j6FuEV~lBMHSIGy%Gi6)!}CcWrgL9E>*@~-Vs|w3@tpKw zntS`s{b}d3xd4_iE@Jik9<#Yhzq*%h%P>tF-@9#SLm6xK-mh3rpA+k9*35YR4v=S` zI1j!t9*ekj7PuR9ZKK`rZSx>voHoJ>l8qsxe|@$8XVH7SmBrd%nvu z`1c!3oz7@YBB})|zb6vo-x>C+a}9l7P&9ad_h_sAvpy+rbN=P#vdt2w6@B3wtM$jN zny3E{Z_e)oYv{QhZe`664KG&z{%Jh;S236M4r>X9brCMs8`jPI(qQ_j=VXsJHe7E`L9XA-t>VV|v>7S*7oOD&y*V@hys?j5X7rEBBvaMP-UH z+&A@l*8+RKBcZ+5|FOkm|A|F=416IjeFqHJ?}m##|1Vq~*KzsYab2*yj?4AC!L`m9 zhO33ZtdH?`gX^;4a9qB3T$fCLKV1JO_a_$1d*XY~{h{eSx9>f-@0+ut+hd@wKtF@- zfZjrq8=zaD0~ppJ(6gZDK&L<#LGOY1|Cb@?HBbUN3)%)<0(}Jf0(1>@9drY96Z9Ks z2XqVc7w8V?A5aJH*D`1?=yA|~(8<+P$Fj7Plj)>f9c8CwSme|7JS&TQB1hA5_57>J zXqsoo#^FwmjLwWUlktf&`RPPXl%t}2F+Z1Po8a@Qu`d+Ks7z#Ky-d%MIg*T=RgcxJ zbTW3Idh_yDQk;Kjl;y)TSx@A6I+-M6d1G`okzymwWWqn=JTGJlq*87bMN-P+au;}+2%7)^ diff --git a/scripts/Units/armacv.bos b/scripts/Units/armacv.bos index 50f6ccbd9ab..312a86f93ef 100644 --- a/scripts/Units/armacv.bos +++ b/scripts/Units/armacv.bos @@ -1,11 +1,43 @@ -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" -#define SIGNAL_BUILD 2 -#define SIGNAL_MOVE 1 +#define SIG_BUILD 4 +#define SIG_MOVE 2 piece base, ldoor, rdoor, lturret, rturret, lplate, rplate, lnano, rnano, smoke1, smoke2, cagelight, cagelight_emit, cagelight2, cagelight_emit2; -static-var nano; +static-var bMoving, moveSpeed, currentSpeed, animSpeed, terrain, statechg_DesiredState, statechg_StateChanging, notBuilding, nano; + + +activatescr() +{ + turn ldoor to z-axis <90> speed <180>; + turn rdoor to z-axis <-90> speed <180>; + move lplate to x-axis [7.5] speed [15]; + move rplate to x-axis [-7.5] speed [15]; + sleep 400; +} + +deactivatescr() +{ + set INBUILDSTANCE to 0; + hide cagelight_emit; + hide cagelight_emit2; + //turn cagelight to z-axis <0> speed <1000>; + //turn cagelight2 to z-axis <0> speed <1000>; + + turn rturret to x-axis <0> speed <160.038462>; + turn lturret to x-axis <0> speed <160.038462>; + wait-for-turn lturret around x-axis; + wait-for-turn rturret around x-axis; + sleep 300; + turn ldoor to z-axis <0> speed <180>; + turn rdoor to z-axis <0> speed <180>; + move lplate to x-axis [0] speed [15]; + move rplate to x-axis [0] speed [15]; + sleep 400; + +} #define BASEPIECE base #define HITSPEED <55.0> @@ -13,18 +45,66 @@ static-var nano; #define UNITSIZE 3 #define MAXTILT 100 -#include "../unit_hitbyweaponid_and_smoke.h" +#include "unit_hitbyweaponid_and_smoke.h" -#define VD_PIECE1 smoke1 -#define VD_PIECE2 smoke2 -#define VD_AMPHIBIOUS -#include "../vehicle_dirt_cegs.h" +UnitSpeed() +{ + while(TRUE) + { + currentSpeed = (get CURRENT_SPEED)*20/moveSpeed; + if (currentSpeed<4) currentSpeed=4; + animSpeed = 1800 / currentSpeed; + sleep 142; + } +} -#define TB_BASE base -#define TB_TURNRATE <10.0> -#define TB_TILT_X <0.15> -#define TB_BANK_Z <0.15> // Do not define this if you dont want banking -#include "../tilt_bank_mobileunit.h" +Smoke() +{ + while( TRUE ) + { + if ( bMoving ) + { + if( terrain == 4 ) + { + emit-sfx 1024 + 0 from smoke1; + emit-sfx 1024 + 0 from smoke2; + } + } + sleep animSpeed; + } +} + +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState ) + { + call-script deactivatescr(); + notBuilding = 1; + currentstate = 1; + } + else + { + call-script activatescr(); + notBuilding = 0; + currentstate = 0; + show cagelight_emit; + show cagelight_emit2; + spin cagelight_emit around x-axis speed <200>; + spin cagelight_emit2 around x-axis speed <200>; + } + } + statechg_StateChanging = FALSE; +} Create() { @@ -34,99 +114,103 @@ Create() hide smoke2; hide cagelight_emit; hide cagelight_emit2; - call-script TB_Init(); + bMoving = FALSE; + moveSpeed = get (MAX_SPEED); + animSpeed = 100; + notBuilding = 1; + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; } +setSFXoccupy(state) +{ + terrain = state; +} -StartMoving(reversing) +StartMoving() { - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; - start-script Vehicle_Dirt_Ceg(); - START_TILTBANK; + signal SIG_MOVE; + set-signal-mask SIG_MOVE; + bMoving = TRUE; + start-script UnitSpeed(); + start-script Smoke(); } + StopMoving() { - signal SIGNAL_MOVE; - STOP_TILTBANK; + signal SIG_MOVE; + bMoving = FALSE; } Activate() { + start-script RequestState(0); } Deactivate() { + start-script RequestState(1); } StartBuilding(heading, pitch) { - - signal SIGNAL_BUILD; - set-signal-mask SIGNAL_BUILD; - - turn ldoor to z-axis <90> speed <180>; - turn rdoor to z-axis <-90> speed <180>; - move lplate to x-axis [7.5] speed [15]; - move rplate to x-axis [-7.5] speed [15]; - wait-for-move lplate along x-axis; - - turn rturret to x-axis heading speed <160>; - turn lturret to x-axis <0> - heading speed <160>; - wait-for-turn rturret around x-axis; - + show lnano; + show rnano; + start-script RequestState(0); + while( notBuilding ) sleep 100; + signal SIG_BUILD; + turn rturret to x-axis heading speed <160.038462>; + turn lturret to x-axis <0> - heading speed <160.038462>; set INBUILDSTANCE to 1; - - show cagelight_emit; - show cagelight_emit2; - spin cagelight_emit around x-axis speed <200> accelerate <20>; - spin cagelight_emit2 around x-axis speed <200> accelerate <20>; - + wait-for-turn rturret around x-axis; } StopBuilding() { hide lnano; hide rnano; - hide cagelight_emit; - hide cagelight_emit2; - - stop-spin cagelight_emit around x-axis decelerate <2>; - stop-spin cagelight_emit2 around x-axis decelerate <2>; - - signal SIGNAL_BUILD; - set-signal-mask SIGNAL_BUILD; - + signal SIG_BUILD; + set-signal-mask SIG_BUILD; sleep 6000; - - set INBUILDSTANCE to 0; - - turn rturret to x-axis <0> speed <160>; - turn lturret to x-axis <0> speed <160>; - wait-for-turn lturret around x-axis; - wait-for-turn rturret around x-axis; - turn ldoor to z-axis <0> speed <180>; - turn rdoor to z-axis <0> speed <180>; - move lplate to x-axis [0] speed [15]; - move rplate to x-axis [0] speed [15]; + set-signal-mask 0; + signal SIG_BUILD; + start-script RequestState(1); } -QueryNanoPiece(pieceIndex) +QueryNanoPiece(piecenum) { - pieceIndex = lnano + nano; + if (nano == 1) + { + piecenum = lnano; + } + else + { + piecenum = rnano; + } nano= !nano; } +SweetSpot(piecenum) +{ + piecenum = base; +} + Killed(severity, corpsetype) { if( severity <= 25 ) { corpsetype = 1 ; explode base type BITMAPONLY | NOHEATCLOUD; + //explode rdoor type BITMAPONLY | NOHEATCLOUD; explode rplate type BITMAPONLY | NOHEATCLOUD; explode rturret type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rnano type BITMAPONLY | NOHEATCLOUD; + //explode ldoor type BITMAPONLY | NOHEATCLOUD; + //explode lplate type BITMAPONLY | NOHEATCLOUD; + //explode lturret type BITMAPONLY | NOHEATCLOUD; + //explode lnano type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } if( severity <= 50 ) @@ -134,7 +218,13 @@ Killed(severity, corpsetype) corpsetype = 2 ; explode base type BITMAPONLY | NOHEATCLOUD; explode rdoor type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rplate type FIRE | SMOKE | FALL | NOHEATCLOUD; explode rturret type FALL | NOHEATCLOUD; + //explode rnano type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode ldoor type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lplate type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lturret type FALL | NOHEATCLOUD; + //explode lnano type FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) @@ -144,6 +234,11 @@ Killed(severity, corpsetype) explode rdoor type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; explode rplate type FIRE | SMOKE | FALL | NOHEATCLOUD; explode rturret type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rnano type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode ldoor type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lplate type SMOKE | FALL | NOHEATCLOUD; + //explode lturret type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lnano type SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; @@ -151,5 +246,10 @@ Killed(severity, corpsetype) explode rdoor type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode rplate type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode rturret type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode rnano type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode ldoor type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lplate type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode lturret type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode lnano type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/armacv.cob b/scripts/Units/armacv.cob index ba9ce0ced40d5b3b39733d4ee521a57b56d127d2..9a9b61f897f2efdac0ecd4f317991dfbfdf1e413 100644 GIT binary patch literal 4070 zcmb`KO=w(I6vs~{lQc@TuT&5V#X%7lwlZerLa>b=Sc;Mw#q6Bv%p(p?Gn2_nBq|tO zC<=;-f*Yj^R|+m%ii;{j6*uC-jjmj{RX37Fq5gmO-Sg%eCzyyYoH_TN@AJRseWY$? z$3#a&`Lx;f;#`++Fgtvs*|O-Q_V0>MWwmVQrIKI0U&4lEQ(`qys;ghVb`2eJ*O37m z+dgELSvDgbSCCb@oonc3OI6UlMS|v3R@!O3I2+dZSF*-jW-ZGO<0r0CgYL>&YGYX) zy)OKA>(qLADSEn2eNHB|I1a%{y-vcxbrW$wxfc#m_is2@LwF`sQ(umES25@_^wONp z?DTY2YnFTLkXQO_M)=KUFGd;Z!8x@fo;6FmSGB|!na5;*{7&t~0~X?*+ij`AgcYH@ zPJGY@S;8m#j{UJ0>QyXXBlcS0;rx`>bL^FWFFTJ12NUon7CnMlO^Yf|qaH9u1rBg@ z3oIgbKSfzP$i{PBZ`QKwkSV@n&$fyk&*;}g2KLybx#kgY-pw*LbyhWGs!xBI=nf2L zel_Z+F#Nqd8#}E&V_)=_%D;;CV&-_HGf1wZ=!6CM9F1|p{0KiPpik^Dv&FKGTcaK6 zDlD?ua)uOeW1e!Uu>99x&Fhq z(#sCLwaOXzRvXuGZXcs;2q$cGIbP%u(qyR<+B*y8{+=nKu@kF zhu4hyDBG>WCtS+?j&l2XI2OJS*tRUxZQ^q{iHCb$JiK?scfZ3hBNm)k=U6oAVa8|` zSyvnzpE=}dzrIh;ZDM^o_w<~7_7u*jpIqD@HcZyr<2m*^^#-rr@2u1J819o|A$I>1 zvudq4;ml=M$ri`C$umh`J)3mC=uI5#s~CwNvlnbyv)LIniVfKM{d;eefs13ncZ6eR zjlI7y#x~_UEZl<%Lk>R|&dK+xh#_SDcbKsIdM$M>OU>8Zu> zLw5_tjq;iCP0UGseotf5&>p@mZY^P+9jfl3hD5t{%qTL9;Gt&uu@0EU^|tgL4>@&} z*p%N(sPPH!;aKAzu|~0d*LaXRi0gI2x3%9-jUDV_ji)q__%fIK#nJQb2P?NdNMHZQ znf%wD!mz|MKS+ORpPYf8i?6rATyo~o`#Xrw?wKRpZKAH|OVNymk?#!N>szAlMLQxs zxQ~fWi0%-b617Axh~5)@AmV?#OQKIjpNqa0{UG{T^o!^>(VwDe{j+#PbX;`1=x)({ zqO+o9(FIXYv??k@&x>9by)JrN^uFjr(MO_BM4ySi5Pc{5QPl1fz0G!!uXje)&C}f@ zy<%bOsk}WLtlHAW!L#|3tG&V!>DjI!S{mkgx3sXw^R1+(QOqx;g=wP$Ax}x=97?)>a74~3NLTS3N(d&2JxZ0fG$VXd`wO0p=y}Xm#(sQ|T z3-GC8=0bZtw|;jp7}+TN_KS_tC@*Xjd4Jfav{A|Ws|sbK@Vic@_gG-_)@iTg W{ocwm#d!5}eo-(~io_;p=It;4bU`)% literal 3897 zcmai%O=w(I6vyvOCetWtpHL`DErWtmDKZ8{cP43slv;_lCPB(lqEH1FE`$n!ZXzx$MUDU8efP}VdCZuBlXLF*{s{883I@nXQ^?qJLV%nU>sZdcn@_26>IM_LLeRt>@TMi|y?XBF&%e zrk!m!P>1Jzh8?;U@hk>9*`Zm}b7uAb}!el_BoE&gUDr?2!4 z{jY;Q?6?o7I7fAt`}4B=>QN!`bE%zgOjX{2cO*=V5n!51t)|5cYLRlQ9vnF*Mk=FCol`JM&ymFybzV&)>td&JrIVzc-z z_Vl*iKz&b6VXF^1wjY!Bllr}~?D&0vpEy=I&VK&TXC4C|jnVJEaWdi$^!1KUqV4V= z_j?&?_q1w<&%S~Geo0Ohn|f?ECac}henB(0 zU+dphd?=6qi?bHRc|OEpj`V0!J*+l2g_)+ka;8($I!5zULg1-d+3a0hX-$B7q!7;&7r@wId&9t@I>z-`KC%4$z zXsxI1GaJ1Nse2ytb9*mtSpld&`}4Ep?|lS(dilJFSbU z%i6tO?sES(>u=?G+IM-t*=9zJyg*r34qWd4UZjd=okz27O@(Eh_4EB9wUTbAnt>qF I@se5hADS>WA^-pY diff --git a/scripts/Units/armadvsol.bos b/scripts/Units/armadvsol.bos index 842c8ab7642..77d1c041622 100644 --- a/scripts/Units/armadvsol.bos +++ b/scripts/Units/armadvsol.bos @@ -1,14 +1,11 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, solarbase, container; -static-var status; - - -#define BASEPIECE base -#define MAXTILT 0 -#include "../unit_hitbyweaponid_and_smoke.h" +static-var Static_Var_1, Static_Var_2, Static_Var_3, status, sunheading, unitheading; lua_solarpoint() { @@ -16,7 +13,7 @@ lua_solarpoint() { } solarreturn(status, sunheading) { - var unitheading; + unitheading = get(HEADING); if (status==1) { turn container to y-axis 0-unitheading now; @@ -26,14 +23,27 @@ solarreturn(status, sunheading) { } + + Create() { - SLEEP_UNTIL_UNITFINISHEDé + dont-cache solarbase; + while( get BUILD_PERCENT_LEFT ) + { + sleep 400; + } call-script lua_solarpoint(); + return (0); } +#define SMOKEPIECE base +#include "smokeunit_thread_nohit.h" - +SweetSpot(piecenum) +{ + piecenum = base; + return (0); +} Killed(severity, corpsetype) { diff --git a/scripts/Units/armafus.bos b/scripts/Units/armafus.bos index 2c116d8c81c..75066453ab4 100644 --- a/scripts/Units/armafus.bos +++ b/scripts/Units/armafus.bos @@ -1,19 +1,48 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, collar1, collar2, emit; +static-var statechg_DesiredState, statechg_StateChanging; static-var Stunned; -#define BASEPIECE base -#define MAXTILT 0 -#include "../unit_hitbyweaponid_and_smoke.h" +InitState() +{ + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; + return (0); +} + + +#define SMOKEPIECE base +#include "smokeunit_thread_nohit.h" + +Go() +{ + spin collar1 around y-axis speed <30.000000>; + spin collar2 around y-axis speed <64.000000>; + set ARMORED to 1; + return (0); +} +Stop() +{ + spin collar1 around y-axis speed <0.000000>; + spin collar2 around y-axis speed <0.000000>; + set ARMORED to 0; + return (0); +} Create() { - SLEEP_UNTIL_UNITFINISHED; - call-script Activate(); + call-script InitState(); + while( get BUILD_PERCENT_LEFT ) + { + sleep 1000; + } + call-script Go(); return (0); } @@ -22,27 +51,58 @@ SetStunned(State) Stunned = State; if (Stunned) { hide emit; - call-script Deactivate(); + call-script Stop(); } else { show emit; - call-script Activate(); + call-script Go(); } } + +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + call-script Go(); + currentstate = 0; + } + if( statechg_DesiredState == 1 ) + { + call-script Stop(); + currentstate = 1; + } + } + statechg_StateChanging = FALSE; + return (0); +} + Activate() { - spin collar1 around y-axis speed <30.0> accelerate <1>; - spin collar2 around y-axis speed <64.0> accelerate <1>; - set ARMORED to 1; + start-script RequestState(0); + return (0); } Deactivate() { - stop-spin collar1 around y-axis decelerate <1>; - stop-spin collar2 around y-axis decelerate <1>; - set ARMORED to 0; + start-script RequestState(1); + return (0); } +SweetSpot(piecenum) +{ + piecenum = base; + return (0); +} Killed(severity, corpsetype) { diff --git a/scripts/Units/armafus.cob b/scripts/Units/armafus.cob index f5661104d117cdf48f8339fe25eeb1ed897f2c2f..e2906c0593b9b36a4ad476ac755dd35b8aad5cda 100644 GIT binary patch literal 1758 zcma)6zl#$=6n@#{atB^9!U+l%Y3xo|ue8!rH2wgCQO@%A;()c2=*fQeQ(}mm#_g7KIYAP-}~Ooo0)Bi$STkR@e)5BI)o*DbZHRvfaj(&g8QS9!t^hJKO|I6& zo2%yOd$+u^md861`?M%;P^s6oJl>DGJg%i0<9r2Nj(YIhO?_9aD`xA5*X*hJ#VzX| z{wtrtHTk+X)Q!EM^bz0&a1VF}yae6?pMe&LtH2s?65#iK2N(g5fv3O}cn-V(UIXud z_rNFM3-A^A4*UeJjE60sjqosT0~oW6LpOSZL~5NqkK7mGfe+si*bC!{#x` zbMwr7vI-9qTfgpgLXaUw6>yoBj<{G zA~)yYPtQL4Wr5`McbZiiF=pDKZ<)<=z@ZLw%n|q^e3zTu`20`7HS=`7Ze(xizX+p5Lp=N0Xh~!~AAz<#zd?8VY5S_ck(?(d)#_q5Va+*dfzd!^Fg%Gq%)GLB9iFzn@sRT>^kNyjPgoTA* zClgAzH6jKrbg-Q|f)UG40HdBVi`h8jcPZQ7D4TVokV zVoi$$HW!a&jmy`{=dk&W%dxIGhz+Z^%7jVDkc01a(1$^f_|io*-vN%+kEGtk*}%P~ zcv!#}6o;}iVQhYm4Zy@`=FC`;#~;k`=qSeYp1+vL&Gwf+Fyx>g_jIqeK>MPycD?)E zdOO!i`zN&D>!o6Z@_Xgg&-ABXw|DN|&yKc5I>(O7Gmf?gjrTppiua+Vft{G?!7O4x zjOjyr+o(9tBZhl1j-1&W9Aayhr)@{{3@j7p$`x zXJ$o?lkyl=_rLuNiy5caQC$D3S>(t0&qIzO{2x9*9wB^Jm+-=!g)BmrAQeazvIg0J z>_T>~(q@)Q?V@|0);q0C_FCEY-BH@?bvv?knze4M`8G|nTCbbQeyiP1&*Y?eoys+X KR-9UOsw&@jux-!) literal 1800 zcmai#v1(LN5Qb-WuQ#0>u@b@T16W)mf|X>|LJ5K(Vq>vu_9Bak31$(rRibu?wRb#W!Z!bbI!~^^Uutgn-peNN(#xlj+uVr&$f(jBzuyJ zvU~zGw9vyV9dXiKT|1#0&S38s!G>iB$#w@&)d{v*2ExHfncXde^>xmqontxS#|e+0 z8sXqP;9Q-Gd{=ZVQtlbY%!iFqiYoDkvgt#%u6*=_27{I|6NcXK5$|>6HG}p3{}8;| z3*D-*<-Rzx(A0B3<&!ezkmDjp>S-vq^LkG1S5F_W6@IIFaV9ZdHCW$b4_+HF!~%uS z_59dbJUIF#_LYw4*V5#mUC-IpRyA+rSV2$3<{0AX*=IkH6Hb4pd39664*+Qv^vru` zV~=uq4t5g!uJB%aduH=|$7)PFOgyt-?|V9MFSu(@>4Brq93Q>--hR{3`F%J2?z;i} zC}-NCgUsd}V5kEfIRamV?{c$yf0Mrh@K>`Ve4GE0y_?xRmV7JnGgtqX_Y)p7bvidQ zIIkS>o^qk`yYHme;BS0LF1<_qTaj{L%Kuj6HJ!uPZ~D6CoH8*F=iCDmmf{;wgWubJ zufhG)2p72aJH%Ne-iL`d;ur9KAdl*BUcWmp-xmHwyz5{R@5{tX{Gxu}5|i=z-FZJI zf18(Cos|21E4SzJ-0pAZChV+aAo(IG)yoA5|6e{!_9b5>-z5iv=IC)fzPGvcq_)BObn+bh+GJy+9^0eQPHj85E;VYU HQJ3vM$?SSF diff --git a/scripts/Units/armah.bos b/scripts/Units/armah.bos index 496951216c2..34dfef8a41b 100644 --- a/scripts/Units/armah.bos +++ b/scripts/Units/armah.bos @@ -1,24 +1,68 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" -piece ground, base, flare, sleeve, turret,wake, doorr, doorl; +piece flare, base, sleeve, turret,wake, doorr, doorl; +static-var Static_Var_1, Static_Var_2, Static_Var_3, Static_Var_4, Static_Var_5, Wobble_status; -// Signal definitions -#define SIGNAL_MOVE 1 -#define SIGNAL_IDLE 8 +// Signal definitions +#define SIG_MOVE 4 +#define SIG_IDLE 2 +WobbleUnit() +{ + while( TRUE ) + { + if( Wobble_status) + { + if( get GROUND_WATER_HEIGHT(get UNIT_XZ) < 0 ) //Over Water + { + move base to y-axis [0.750000] speed [0.50000]; + } + else + { + move base to y-axis [1.000000] speed [0.50000]; + } + } + else + { + if( get GROUND_WATER_HEIGHT(get UNIT_XZ) < 0 ) //Over Water + { + move base to y-axis [-0.750000] speed [0.50000]; + } + else + { + move base to y-axis [0.000000] speed [0.50000]; + } + } + Wobble_status = !Wobble_status; + sleep 260; + } +} + +BankControl() +{ + var lastHeading, currHeading, diffHeading; + lastHeading = GET HEADING; + while (TRUE) + { + currHeading = GET HEADING; + diffHeading = currHeading - lastHeading; + // Set values for tilt + + //Remove Extreme values + if ( diffHeading > 1500 ) diffHeading = 1500; + if ( diffHeading < -1500 ) diffHeading = -1500; + //get PRINT(diffHeading); + turn base to z-axis 1.0 * diffHeading speed <23>; + + lastHeading = currHeading; + sleep 67; + } +} -#define HOVER_BASE base -#define HOVER_BANKSPEED <10> -#define HOVER_ROCKBASE ground -#define HOVER_WOBBLE_PERIOD 42 -#define HOVER_WOBBLE_AMPLITUDE [0.6] -#define HOVER_WAKEPIECE wake -#define HOVER_IDLE_SFX 1024 + 2 -#define HOVER_WAKE_SFX_1 1024 + 0 -#define HOVER_WAKE_SFX_2 1024 + 1 -#include "../bar_hovercraft_common.h" #define BASEPIECE base @@ -27,15 +71,62 @@ piece ground, base, flare, sleeve, turret,wake, doorr, doorl; #define UNITSIZE 3 #define MAXTILT 100 -#include "../unit_hitbyweaponid_and_smoke.h" +#include "unit_hitbyweaponid_and_smoke.h" + +HoverIdle() +{ + signal SIG_IDLE; + set-signal-mask SIG_IDLE; + while( TRUE ) + { + emit-sfx 1024 + 2 from wake; + sleep 1750; + } + //return (1); +} + +StartMoving() +{ + signal SIG_MOVE; + set-signal-mask SIG_MOVE; + signal SIG_IDLE; + var waketime; + var bowtime; + while( TRUE ) + { + emit-sfx 1024 + 0 from wake; + if (bowtime) emit-sfx 1024 + 1 from wake; + bowtime = !bowtime; + waketime = (get CURRENT_SPEED) * 100 / get MAX_SPEED; + if( waketime < 30 ) waketime = 30; + sleep 15000 / waketime; + } +} + +StopMoving() +{ + signal SIG_MOVE; + signal SIG_IDLE; + start-script HoverIdle(); + return (0); +} Create() { hide wake; hide flare; - turn sleeve to x-axis <-20.0> speed <25.0>; - SLEEP_UNTIL_UNITFINISHED; - start-script HoverCraftMotion(); + Static_Var_1 = 0; + Static_Var_5 = 0; + Static_Var_4 = 5000; + Static_Var_2 = 1; + turn sleeve to x-axis <-20.000000> speed <25.000000>; + return (0); + while( get BUILD_PERCENT_LEFT ) + { + sleep 400; + } + start-script BankControl(); + start-script WobbleUnit(); } @@ -45,8 +136,8 @@ ExecuteRestoreAfterDelay() if (Stunned) { return (1); } - turn turret to y-axis <0.0> speed <190.0>; - turn sleeve to x-axis <-20.0> speed <25.0>; + turn turret to y-axis <0.000000> speed <190.000000>; + turn sleeve to x-axis <-20.000000> speed <25.000000>; turn doorr to y-axis <0> speed <130>; turn doorl to y-axis <0> speed <130>; } @@ -63,21 +154,21 @@ RestoreAfterDelay() start-script ExecuteRestoreAfterDelay(); } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = sleeve; + piecenum = sleeve; } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = flare; + piecenum = flare; } -AimWeapon2(heading, pitch) +AimSecondary(heading, pitch) { - turn turret to y-axis heading speed <370.0>; - turn sleeve to x-axis <0.0> - pitch speed <280.0>; + turn turret to y-axis heading speed <370.000000>; + turn sleeve to x-axis <0.000000> - pitch speed <280.000000>; turn doorr to y-axis <-135> speed <370>; turn doorl to y-axis <135> speed <370>; wait-for-turn turret around y-axis; @@ -86,17 +177,23 @@ AimWeapon2(heading, pitch) return (1); } -AimFromWeapon2(pieceIndex) +AimFromSecondary(piecenum) { - pieceIndex = sleeve; + piecenum = sleeve; + return (0); } -QueryWeapon2(pieceIndex) +QuerySecondary(piecenum) { - pieceIndex = flare; + piecenum = flare; + return (0); } - +SweetSpot(piecenum) +{ + piecenum = base; + return (0); +} Killed(severity, corpsetype) @@ -107,7 +204,10 @@ Killed(severity, corpsetype) explode base type BITMAPONLY | NOHEATCLOUD; explode turret type BITMAPONLY | NOHEATCLOUD; explode sleeve type BITMAPONLY | NOHEATCLOUD; + //explode flare type BITMAPONLY | NOHEATCLOUD; + //explode doorr type FIRE | SMOKE | FALL | NOHEATCLOUD; explode doorl type BITMAPONLY | NOHEATCLOUD; + //explode wake type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } if( severity <= 50 ) @@ -116,7 +216,10 @@ Killed(severity, corpsetype) explode base type BITMAPONLY | NOHEATCLOUD; explode turret type FIRE | SMOKE | FALL | NOHEATCLOUD; explode sleeve type FALL | NOHEATCLOUD; + //explode flare type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode doorr type FIRE | SMOKE | FALL | NOHEATCLOUD; explode doorl type FALL | NOHEATCLOUD; + //explode wake type FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) @@ -125,15 +228,19 @@ Killed(severity, corpsetype) explode base type FIRE | SMOKE | FALL | NOHEATCLOUD; explode turret type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode sleeve type SMOKE | FALL | NOHEATCLOUD; + //explode flare type SMOKE | FALL | NOHEATCLOUD; explode doorr type SMOKE | FALL | NOHEATCLOUD; explode doorl type SMOKE | FALL | NOHEATCLOUD; + //explode wake type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; explode base type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode turret type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode sleeve type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode flare type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode doorr type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode doorl type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode wake type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/armah.cob b/scripts/Units/armah.cob index 67f2c8221f90014029fab664f670c75fbdec1631..b046d665ab8ec209457b3bd4245ec5c4cf812394 100644 GIT binary patch literal 4073 zcmbtX&1+m$6hAYWOccewqKjIn3?lfAgNpdENfRR}RjD1cC_?j+xs@R=^M;oYJ*v^U(u`h!YT$WRpYMgH|5?@7)81-C zv~gM0(jNOHnvEFqcEgPne*uO_d`_Qtz8T$J#RxnV%+rdwmRgpodFHQN*)5NZ#{HEs z1wZFzqeeS$MIIV#rd^8!{a{saBggRE0$(b`9wz`i*0JBPb_Vb0-ZF;1I`*079%;?^ z{dM(GGxm=>ymsLJwUUjws@OX&v;Tm7L$S0OmhoOfh18atF{C|%e!>}AOz%eyx`|)( zxWGrOHkzt@kQe_?FihX=9HT>z4yN z`Sr2UqhSR#l>4Qfd#Dl0*JXP0-tm6oz+B+7wC0lW9&L`}R&!4B**c_=9q-x0YOh!9e`!3Zf)l%c)a+?Lec*!}EomG-E9i?A?Cdq% zk&fb+&iIh18DPBE|u&xL;CMC1Ck#|*C z_vxtGd8a1L#%=WL9KEmkXfrHhzx{ZLTi#9OVPy3)#snUU-lJyt#sS87gcC0-fnREx z%*V5?K9d6a&*DQ%znv}n=dATvzbv*>Xiyl z(U;@eiu=(D?|46BNXI;kLEStT&c4i<`7WOX81aoWejDsexVCuYn^ylCV`%;N zBLQoWBps@3eSTjwbP7IrrMrG)}H|){}DX zw#Trh_gbfMHEI8DIjg*JoL+>y3%LY&49%Z}3?UywK7(9>97K|PAP+&FfGk1=kTZ}G zrcK$amLh=b&i*CB60-h+Gq`2_MQ*V;u(s|FMowTo$1-6)N%QjtPzDJlqNn!ME5$&9>CYP-@! z#UdiO@T-Uv7w&aYT!`RCyO1tjh;HmgT(wXaiV*+5bMKklyky#d6VBXw&)5Ha-S;M~ z5W-f`-JA+>cW{d_G`5sAC8gdbKm37hEmG;(x=)d9GBPU$!%HV z+(pcXGCvkCwbLIn7-Lyk0mtpZ3Hr01NyqukPW0=x%-Iepab7dKDNcCE=!xg-bJnie z*(@rqk={(4tCsYPhm#wcw&c_CunRNvxm~z!Bhw8B*T=YBCXEfS$OWusX3zN~7@bCe zuMW22!3s0&!k-t;BVW0(yGXs*Bb&W1)&i0D^cF(JkshWTr`<^pp8Le^_npzV$7=bc`)T&f zs`_Md*}9Emf(NwY`h8rrUA0G#Jh8o?E$iD_vBkgptgpOZa$Tw3Q8(A|_mkItT0$_r zPaEY7-XAEWT2LqY;qNfFW#!q5{sBD;Job9cHj-gF(ofG~&eVdL{Vw&a#aVMq-`IN1 z(Ipq3+mDkzEPfY|SMEQzGoNXOzQ}MK!{ZoX*i$~uS+e^&*)<4Q?>38D@0crz-^}LQmctLa%*1l_rr!0MN2`01<@fyOI?6@pKzl4 zr*He@HQ}C{FV*{cvb8+a5A=5E$IwV$xYP|fyxYapdwH!LKcU>NF5|b3%e0L(n51H{ z-t>|fN3mXx&!Vj`l^4GGjN(kOUwlAJYA{B}?;>vUzT?ZEsraOPW!>3g&*a3F>oXgpnkoJq*X~im{W9Ttug2ki zmf~>S3+e2*e!d;<95xB}YQn`n&)0E0j?WX09j_YUZxw76qBm9C??u0gnsT;Xv|IFu=yB1DqFK?aBL0`}ie3|)6I~E} zAo@h~mFQd1HPLUPKSh6uT6&Oe6YUf|EP7P5SF~SrK=g#@km$(ZY*`(ux(majgW=+! zAC3*?PM_#64#Sbf;Zx^dD7&u@`p?eir*OEt)IC+sA72`rF2kX!><-KD^tp0wc~~AR z&kP4uIlV9}tHWildp;a5hsTG@{eC$g)(fW>m!7ExOA%#%cz(I866F3MS>#W#T~(XP z)uzI8i@lzFpQ;AS{rPaRd!`Hvy>3;8Grh7rTZZ9sRh7f=Mpv=U4+d3b-@Wi3yLmON diff --git a/scripts/Units/armalab.bos b/scripts/Units/armalab.bos index be4a6dc4d9f..e5f68fb39c3 100644 --- a/scripts/Units/armalab.bos +++ b/scripts/Units/armalab.bos @@ -1,12 +1,36 @@ -#include "../recoil_common_includes.h" -#include "../factories_common.h" +#define TA // This is a TA script + +#include "sfxtype.h" +#include "exptype.h" piece base, pad, head1, head2, nano1, nano2, cagelight, cagelight2, cagelight_emit, cagelight2_emit; -static-var spray; +static-var spray, unitviewer, statechg_DesiredState, statechg_StateChanging; // Signal definitions -#define SIGNAL_TURNON 4 +#define SIG_ACTIVATE 2 + +activatescr() +{ + if( TRUE ) + { + turn head1 to y-axis <-15> speed <45>; + turn head2 to y-axis <15> speed <45>; + wait-for-turn head1 around y-axis; + } + sleep 11; +} + +deactivatescr() +{ + if( TRUE ) + { + turn head1 to y-axis [0] speed <45>; + turn head2 to y-axis [0] speed <45>; + wait-for-turn head1 around y-axis; + } + sleep 7; +} StartBuilding() { @@ -14,8 +38,8 @@ StartBuilding() show nano2; show cagelight_emit; show cagelight2_emit; - spin cagelight_emit around z-axis speed <250> accelerate <1>; - spin cagelight2_emit around z-axis speed <250> accelerate <1>;; + spin cagelight_emit around z-axis speed <250>; + spin cagelight2_emit around z-axis speed <250>; return (0); } @@ -25,11 +49,77 @@ StopBuilding() hide nano2; hide cagelight_emit; hide cagelight2_emit; - stop-spin cagelight_emit around z-axis decelerate <1>; - stop-spin cagelight2_emit around z-axis decelerate <1>; + turn cagelight_emit to z-axis <0> speed <1000>; + turn cagelight2_emit to z-axis <0> speed <1000>; return (0); } +OpenYard() +{ + set YARD_OPEN to 1; + while( !get YARD_OPEN ) + { + sleep 1500; + set YARD_OPEN to 1; + } +} + +CloseYard() +{ + set YARD_OPEN to 0; + while( get YARD_OPEN ) + { + set BUGGER_OFF to 1; + sleep 1500; + set YARD_OPEN to 0; + } +} + +Go() +{ + call-script activatescr(); + call-script OpenYard(); + set INBUILDSTANCE to 1; +} + +Stop() +{ + set INBUILDSTANCE to 0; + call-script CloseYard(); + call-script deactivatescr(); +} + +InitState() +{ + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; +} + +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + call-script Go(); + currentstate = 0; + } + if( statechg_DesiredState == 1 ) + { + call-script Stop(); + currentstate = 1; + } + } + statechg_StateChanging = FALSE; +} Create() { @@ -38,51 +128,61 @@ Create() hide nano2; hide cagelight_emit; hide cagelight2_emit; - spray = 0; + unitviewer = FALSE; + spray = base; + call-script InitState(); } -#define BASEPIECE base -#define MAXTILT 0 -#include "../unit_hitbyweaponid_and_smoke.h" +#define SMOKEPIECE base +#include "smokeunit_thread_nohit.h" -QueryNanoPiece(pieceIndex) +QueryNanoPiece(piecenum) { - spray = (spray + 1) % 2; - pieceIndex = nano1 + spray; + if( spray == 0 ) + { + piecenum = nano1; + } + if( spray == 1 ) + { + piecenum = nano2; + } + spray = spray+1; + if( spray >1 ) + { + spray = 0; + } + } +Demo() +{ + unitviewer = TRUE; +} Activate() { - signal SIGNAL_TURNON; - set-signal-mask SIGNAL_TURNON; - - turn head1 to y-axis <-15> speed <45>; - turn head2 to y-axis <15> speed <45>; - wait-for-turn head1 around y-axis; - - FACTORY_OPEN_BUILD; + signal SIG_ACTIVATE; + start-script RequestState(0); } Deactivate() { - signal SIGNAL_TURNON; - set-signal-mask SIGNAL_TURNON; - sleep 5000; - - turn head1 to y-axis [0] speed <45>; - turn head2 to y-axis [0] speed <45>; - wait-for-turn head1 around y-axis; - - FACTORY_CLOSE_BUILD; + signal SIG_ACTIVATE; + set-signal-mask SIG_ACTIVATE; + sleep 5000; + set-signal-mask 0; + start-script RequestState(1); } -QueryBuildInfo(pieceIndex) +QueryBuildInfo(piecenum) { - pieceIndex = pad; + piecenum = pad; } - +SweetSpot(piecenum) +{ + piecenum = base; +} Killed(severity, corpsetype) { diff --git a/scripts/Units/armalab.cob b/scripts/Units/armalab.cob index 66d81ed122f3a94b18e1b9aa9f9d0ad9fce4e55d..32499bda738bc267ae1179d7d2e359843e76d540 100644 GIT binary patch literal 3769 zcmb_fJ&0UY6h1pUnXJFu7%fD>*Gd#7TL|fN6VxD>iGzxTIM12u?vVL&=B;rHahix$ zR)UH}3LDcI5G+y%f>uIo(j zUTxwKnfTp~sp4oJ-bX*q8FP?_c8yl6L`vTacg*6={AS7(=P=p3n& ztm@?AA=FWG??s;*EF{jN94AlLTtE6j%$|w)sjkcq?$2Og9Y>=~>sXY}c$n`(j8PqD zmI3yIvp%Ef!_t{2LeF+;g0=^M{?*f*|}=H681CNc-MVOd?iC1P=$^* z&h;t;B9*Vqk?yqdF_zD_QV)HUV`p~wX}zuR{MK+W+r0i@`<=C**BT{$%x*c-IOS}F zxP3Y!PT!9hN4v%G`P_(l2(ccF-*!CI`R}`K9P~F1a#GJa^xa5o%8z-|_lWvnpIbHe zBnZ-Y?ugyfnbWr)eRYrUKCm}Z+1weoMMXW#D z%C)Jy>(1UmxNGfNgKk!wN95a%e0=_LOTw)1T+T&(rKC@1W3xzS_il`18MJdZZl7Q1 z@jCrCNh2cAzN4|CW&nA3d8FL56)Mqj?OOMTtCvz_?|Pd((k z9C=7>zVo`~e`jc8{<4klr;LIhkAlASdyV6rd^K(w;y&cZFn(uAAyKdWF5%-G$xk2a zKh0-$(k-*oC*945>70eR97BOAzxAHMh59L^w6L4*@a*~UKwJ2`wXXH)zQeB^W8cdx z#!MlN&%VtWROL9%jk-lP+s#EbofG18rj6U*Nqx^^-@CDI=Hc89(zoTEBF1{K{#KcZ z^}UGC`d)?4cvgwI)12DuFV5-bI4Aab&^fJAhs`hTo3lOWe%UNn$!WPvGIo`mHgAhR z$a_$pH~U*1y22Dk$J2wVql0>1(LzvoNfGVmSn6L1aq1-J?P3j6`=1GW3{ z=K**WI0n>#6Tm5;3A_$;fG*GnCcqx>K5zl}82B9c3dq|<_no}(llE9TKD{-Id|Yhp zc6*)fU|X8Sa5TG|8Tr9$`M4t|d&7y>({n?0k<){2fylzkOaAR$KZ%!07&f}T?d6p359OIy7j9Nm@Y5nr58gt)^WGQD(Xfyg yy1kz7$ea1Z%P8;2j?X*C_4lR>zK^xJ_*@y@xFAgrf^6{K>5p$<6eS?enw>D_7zPt{^MTB`9?;qY zT6;kIJ!E)$ZTh;^%&(+rdD1B*q#vEPppsw=X@{;lfDXln1i@USW-HGOdgA_z(FmBAT zy|5ostnc>Rt$fCDUgj>tq<#R+T=ut`X)VR%8Cfhsd&c@P%;(Iu`w@WbY0s(C%;fNc z0d5zZna@Ll=nPS!1%m5mXM9J8Fzp-v|@z;)H;vHowJl7iy>8AO9Zv zINveUWNS;sI^@Y-JBsJ@=Lrbu0^FBUvXWfm58#jyB`{Cidr+z){1Dx8v-831a z?}+1d5QXStJcLcp5Lm zjhErZYsJNuqQ2ZTacmOyk`-2{{j`LE4ZK0xv?AAfF&#A^hL$ z800kMEMy#V1rkDe z^sy*3Q$w`;MEzDnCgW-~s>sdoP9)8+B6Cq#8PdNcsiV-4{w+xvO{($iTx-knoHwFc I>?6tfFMl@KDgXcg diff --git a/scripts/Units/armamb.bos b/scripts/Units/armamb.bos index 58797ac1a44..30e62a75741 100644 --- a/scripts/Units/armamb.bos +++ b/scripts/Units/armamb.bos @@ -1,33 +1,38 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, flare, turret, door1, door2, door3, door4, barrel, stand, aimpoint; static-var turretOpen, restoreDelay, trajectoryMode, stunned; -#define SIGNAL_AIM2 1 +#define SIGNAL_AIM 1 #define LOW_TRAJECTORY 0 #define HIGH_TRAJECTORY 1 openTurret() { - turn door1 to x-axis <0.0> speed <227.093407>; - turn door2 to z-axis <0.0> speed <227.093407>; - turn door3 to x-axis <0.0> speed <227.093407>; - turn door4 to z-axis <0.0> speed <227.093407>; + turn door1 to x-axis <0.000000> speed <227.093407>; + turn door2 to z-axis <0.000000> speed <227.093407>; + turn door3 to x-axis <0.000000> speed <227.093407>; + turn door4 to z-axis <0.000000> speed <227.093407>; wait-for-turn door1 around x-axis; - move door1 to y-axis [0] speed [45.0]; - move door2 to y-axis [0] speed [45.0]; - move door3 to y-axis [0] speed [45.0]; - move door4 to y-axis [0] speed [45.0]; + move door1 to y-axis [0] speed [45.000000]; + move door2 to y-axis [0] speed [45.000000]; + move door3 to y-axis [0] speed [45.000000]; + move door4 to y-axis [0] speed [45.000000]; move stand to y-axis [0] speed [34]; wait-for-move door1 along y-axis; wait-for-move stand along y-axis; - + sleep 250; move barrel to z-axis [0] speed [51]; - wait-for-move barrel along z-axis; + sleep 300; + + sleep 25; + return (0); } closeTurret() @@ -35,23 +40,26 @@ closeTurret() turn stand to y-axis <0> speed <100>; turn turret to x-axis <0> speed <50>; move barrel to z-axis [-16] speed [51]; + sleep 300; wait-for-turn stand around y-axis; wait-for-turn turret around x-axis; - wait-for-move barrel along z-axis; - move door1 to y-axis [15] speed [45.0]; - move door2 to y-axis [15] speed [45.0]; - move door3 to y-axis [15] speed [45.0]; - move door4 to y-axis [15] speed [45.0]; + move door1 to y-axis [15] speed [45.000000]; + move door2 to y-axis [15] speed [45.000000]; + move door3 to y-axis [15] speed [45.000000]; + move door4 to y-axis [15] speed [45.000000]; move stand to y-axis [-16] speed [34]; wait-for-move door1 along y-axis; wait-for-move stand along y-axis; - turn door1 to x-axis <-90.0> speed <227.093407>; - turn door2 to z-axis <-90.0> speed <227.093407>; - turn door3 to x-axis <90.0> speed <227.093407>; - turn door4 to z-axis <90.0> speed <227.093407>; + turn door1 to x-axis <-90.000000> speed <227.093407>; + turn door2 to z-axis <-90.000000> speed <227.093407>; + turn door3 to x-axis <90.000000> speed <227.093407>; + turn door4 to z-axis <90.000000> speed <227.093407>; wait-for-turn door1 around x-axis; + + sleep 17; + return (0); } @@ -74,6 +82,11 @@ Stop() return (0); } +RequestState(requestedstate) +{ + trajectoryMode = requestedstate; +} + ExecuteRestoreAfterDelay() { if (stunned) @@ -82,8 +95,8 @@ ExecuteRestoreAfterDelay() } //set-signal-mask 0; - turn turret to y-axis <0.0> speed <100.016484>; - turn turret to x-axis <0.0> speed <50.005495>; + turn turret to y-axis <0.000000> speed <100.016484>; + turn turret to x-axis <0.000000> speed <50.005495>; wait-for-turn turret around y-axis; wait-for-turn turret around x-axis; @@ -101,7 +114,7 @@ SetStunned(state) RestoreAfterDelay() { - set-signal-mask SIGNAL_AIM2; + set-signal-mask SIGNAL_AIM; sleep restoreDelay; start-script ExecuteRestoreAfterDelay(); } @@ -114,26 +127,28 @@ Create() turretOpen = 0; restoreDelay = 10000; - SLEEP_UNTIL_UNITFINISHED; + while( get BUILD_PERCENT_LEFT ) + { + sleep 1000; + } start-script RestoreAfterDelay(); return (0); } -#define BASEPIECE base -#define MAXTILT 0 -#include "../unit_hitbyweaponid_and_smoke.h" +#define SMOKEPIECE base +#include "smokeunit_thread_nohit.h" Activate() { - signal SIGNAL_AIM2; - trajectoryMode = HIGH_TRAJECTORY; + signal SIGNAL_AIM; + start-script RequestState(HIGH_TRAJECTORY); } Deactivate() { - signal SIGNAL_AIM2; - trajectoryMode = LOW_TRAJECTORY; + signal SIGNAL_AIM; + start-script RequestState(LOW_TRAJECTORY); } aimCommon(heading, pitch) @@ -143,13 +158,13 @@ aimCommon(heading, pitch) sleep 250; } - turn stand to y-axis heading speed <50.0>; - turn turret to x-axis <0.0> - pitch speed <45.0>; + turn stand to y-axis heading speed <50.000000>; + turn turret to x-axis <0.000000> - pitch speed <45.000000>; wait-for-turn stand around y-axis; wait-for-turn turret around x-axis; } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { start-script Go(); @@ -158,8 +173,8 @@ AimWeapon1(heading, pitch) return(0); } - signal SIGNAL_AIM2; - set-signal-mask SIGNAL_AIM2; + signal SIGNAL_AIM; + set-signal-mask SIGNAL_AIM; call-script aimCommon(heading, pitch); start-script RestoreAfterDelay(); @@ -175,7 +190,7 @@ AimWeapon1(heading, pitch) return (1); } -AimWeapon2(heading, pitch) +AimSecondary(heading, pitch) { start-script Go(); @@ -184,8 +199,8 @@ AimWeapon2(heading, pitch) return(0); } - signal SIGNAL_AIM2; - set-signal-mask SIGNAL_AIM2; + signal SIGNAL_AIM; + set-signal-mask SIGNAL_AIM; call-script aimCommon(heading, pitch); start-script RestoreAfterDelay(); @@ -195,42 +210,45 @@ AimWeapon2(heading, pitch) fireCommon() { emit-sfx 1024 + 0 from flare; - move barrel to z-axis [-4.500000] speed [1250.0]; + move barrel to z-axis [-4.500000] speed [1250.000000]; sleep 150; - move barrel to z-axis [0.0] speed [7.500000]; + move barrel to z-axis [0.000000] speed [7.500000]; } -FireWeapon1() +FirePrimary() { call-script fireCommon(); } -FireWeapon2() +FireSecondary() { call-script fireCommon(); } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = aimpoint; + piecenum = aimpoint; } -AimFromWeapon2(pieceIndex) +AimFromSecondary(piecenum) { - pieceIndex = aimpoint; + piecenum = aimpoint; } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = flare; + piecenum = flare; } -QueryWeapon2(pieceIndex) +QuerySecondary(piecenum) { - pieceIndex = flare; + piecenum = flare; } - +SweetSpot(piecenum) +{ + piecenum = base; +} Killed(severity, corpsetype) { diff --git a/scripts/Units/armamb.cob b/scripts/Units/armamb.cob index d46a151c78a76ae18631e70fc319606c9ed21b75..19b26e6a2c699a5d549bb0c00a64f9f3c3feee6f 100644 GIT binary patch literal 4831 zcmd5=ONd)l82*!{nW~7_7b-5i*o6yQO4r?E+uS>}s8n0*$|GE!JL9b{IjaN2@ zxC$5btET-1{q60M%-5rHl!@z@0smoNSi@R_bK(1RLs)s1c!%~}_o4sBr(T|KHfUdY zVEevf16_%$@aFwc)@F`o$Y-p2ZxQG3AX#iScehT=o$3d&q*6k1RK!OdC)rqn>Zz;{*p<+LI8)`rDHr8@Ji~Q|X+uI_0vmmZD(KvLvLN3AHtHEA{ zf*0_j@PoR&5$M$kdcHnZk9-f_3wmk?z2)4D*U;zjVUVMF_SffF_j3RmYiBmNr=0Zt z+pBx@RPAmct2Rnx*?)pDs$7`uuS0D1d%=2~3pBp%)*Fe(-~GRD8^ui-jWb3sAjf;E zA57fv4dwI&az0;+i*svy#>o9pZr<0i3gVD9o2yShw;#Yx$Z-@`J-Qn9)IR*!J+?dX z9OJ@F)AlpLZ{EN8v{f3ogP1AKB<1KwZR4KYiOo?OBkj%) z;|w+Ac_Th^xs?7!e5jY|vyc2o8OEZ2H^qKNzYl#g`&QF9$PTc|Jn9`y4fSJ?XlH=c zczo7Li^Dp=YCL;mVvr{FIEQ6=dKY1njw!=4ZE~+~QrHgyoiXyRl-bi9q05!M&eufW z=1`M8NQO2T8+)>unplnl+79)yniTPjW@}#0YOABT8UpJeR&FEYHTZ!3x*}54&)+5u|YMwURroS1VlYL};Cwpb~ zwi?g>rEixTzv_4 z$aNxD0XG6Mup77+m% zB=b<}sNC!(N8Dq*b|w$DvxBRTyH-Ex$$^Ee{WRIru4UU+yL%|Vn8&Y)yvykq|Tvr%B!bk0bsgD=u9%RXvP&&0`KJ^^;5#5eV plci28b&~mNEhb62NBF&0zxV0)J&;5(JF=X$dW(Wo`boQ&$v@cga)ST> literal 4385 zcmb7HO=w(I6h4_uCbdQTEG{CV4q9+iaWa*nAexx;M~WCt#hqr%+{oz6ykYVp?LzIM z3Ks3ME0I*(x)Ar$RdM4+cP`Wx(IP5E-B`u=edpdY@6O~+T3`9*{+z$>oO|AVX<0;O zfZf0+lOj_X`Fwwy$lP9$P2d35UtpX_O3C^KKdMqy5}4>yBr8Kw0*Yi7r$|-_c9KjC z`4@RmeQChN$DRoOM`esXPR7{dWQ?85?i-4?E6Akkc~OsZ+h;B!2ZwB?p~4za&*oka zdrK8$SW0G&`WjJ9P}A7od-o5^)ECr-V_n-4)WiIWRZ0TTd@5uBVq3 z*VD_2>*@IpIHES}qoR6Rzm+d;ZLu~*{bsVFe*5PMU(=#~GuillgDuXetmlgP=2Rjp zmE;npQmx>u{ll{$_i~Nr@6YCrFmf%`U3$(s4`*(2pK~rZAM~#>82PitByiChfXCG! zQ@!B#u905S_b=$ZKc<(gN7PT;FG*#n-f*KFq*_A8K3DQ3AJ#~Dg&OUpGuX4XeBvCe zUUJ&kR^!$t(1BQc^&x#(k>nQcV^rNRnop}4*U1C^9H__j?X;_w_1q3&lY387$ar&= zGy1JP+Jz17GB=XMz5t{y8iLJVt6( zBpc$0p0wKVEO>Vv05SS2bB#V_4xC!eDPu0yw^Ko%Th^NcKJXvgsn5_uY#57UF}Nm= zK@7cF!@Cgds=;o8ir0LP@IBoh_Dj)z9J@|}sH?r#zdM@S`M!#ObWS|#w#Qa9NY7IlKpN;d=i}L;-xssFm51fR}kACHz=X<5B z<8+=&| z2h0Fz&vj31^!qN8)pok>!u)6|%URl!!zbP9M&_P#>si`&^J|&wFS>T)lq|b!Ios%V zT~oFT7y7P|IXTwKo;>w}YxL6YQ_XlKi;Yg>71vzuq^~)dU(H&tQ-9GlY}#mb7Sc{9 z?aF+s<6X?=)4Hs+`YtFO!PGSJd7auv`e|&OFYEH`hU*7zv+<%X$6M_-vU<6(?qsdq m=sU@LeVS?7pB4Vr_4lCuJ`7EiuPy6YquUe^@1?D7CjS8e`%Yv4 diff --git a/scripts/Units/armamd.bos b/scripts/Units/armamd.bos index a0a41f2ca15..ca84b5912db 100644 --- a/scripts/Units/armamd.bos +++ b/scripts/Units/armamd.bos @@ -1,59 +1,173 @@ -#include "../recoil_common_includes.h" +// * Header Info * +// VersionSignature 4 +// NumberOfScripts 17 +// NumberOfPieces 9 +// LengthOfScripts 3ce +// NumberOfStaticVars 5 +// UKZero 0 +// OffsetToScriptCodeIndexArray f64 +// OffsetToScriptNameOffsetArray fa8 +// OffsetToPieceNameOffsetArray fec +// OffsetToScriptCode 2c +// OffsetToNameArray 1010 + +// OffsetToFirstName 1010 + +#define TA // This is a TA script + +#include "sfxtype.h" +#include "exptype.h" piece base, flare, door1, door2, antenna, greenlight, orangelight; -static-var restore_delay, missiles_stockpiled; +static-var Static_Var_1, restore_delay, gun_1, statechg_DesiredState, statechg_StateChanging, missiles_stockpiled; +// Signal definitions +#define SIG_AIM 2 + + +activatescr() +{ + if( TRUE ) + { + turn door1 to z-axis <0.000000> now; + turn door1 to z-axis <40> speed <73.000000>; + turn door2 to z-axis <0.000000> now; + turn door2 to z-axis <-40> speed <74.000000>; + sleep 768; + } + + sleep 3; + return (0); +} + +deactivatescr() +{ + if( TRUE ) + { + turn door1 to z-axis <-90> now; + turn door1 to z-axis <0.000000> speed <73.000000>; + turn door2 to z-axis <90> now; + turn door2 to z-axis <0.000000> speed <74.000000>; + sleep 762; + } + + sleep 14; + return (0); +} + + +Go() +{ + call-script activatescr(); + Static_Var_1 = 1; + return (0); +} + +Stop() +{ + Static_Var_1 = 0; + call-script deactivatescr(); + return (0); +} + +InitState() +{ + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; + return (0); +} + +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + call-script Go(); + currentstate = 0; + } + if( statechg_DesiredState == 1 ) + { + call-script Stop(); + currentstate = 1; + } + } + statechg_StateChanging = FALSE; + return (0); +} Create() { hide flare; + Static_Var_1 = 0; + gun_1 = flare; restore_delay = 3000; missiles_stockpiled = 0; hide greenlight; show orangelight; + call-script InitState(); } - -#define BASEPIECE base -#define MAXTILT 0 -#include "../unit_hitbyweaponid_and_smoke.h" +#define SMOKEPIECE base +#include "smokeunit_thread_nohit.h" Activate() { - turn door1 to z-axis <40> speed <73.0>; - turn door2 to z-axis <-40> speed <74.0>; + start-script RequestState(0); + return (0); } Deactivate() { - turn door1 to z-axis <0.0> speed <73.0>; - turn door2 to z-axis <0.0> speed <74.0>; + start-script RequestState(1); + return (0); } -SetMaxReloadTime(reloadMS) +SetMaxReloadTime(Func_Var_1) { - restore_delay = reloadMS * 2; + restore_delay = Func_Var_1 * 2; + return (0); } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - start-script Activate(); + start-script RequestState(0); + signal SIG_AIM; + set-signal-mask SIG_AIM; return (1); } -FireWeapon1() +FirePrimary() { + gun_1 = flare; + return (0); } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = flare; + piecenum = flare; + return (0); +} + +AimFromPrimary(piecenum) + { + piecenum = flare; + return (0); } -AimFromWeapon1(pieceIndex) +SweetSpot(piecenum) { - pieceIndex = flare; + piecenum = base; + return (0); } lights_orange() diff --git a/scripts/Units/armamd.cob b/scripts/Units/armamd.cob index 2ca65247bc3344fd27c9881a22cb5ec59a0cba04..1addd49de09d5baac06b8edc21fba0c283ce203d 100644 GIT binary patch literal 2653 zcmcguJ&06S6h1pUjwXUUjUoww45Fm57}penpz9Bt7!z3?LqLe`+nt;B;mo}8?OS!h zz!Fj=jg>YDRza{3(g`-&SXhZoNR=XxGFXZR^!v`e=W*w;5wXaFZ}0j2?z!il_hy?S zvJF@dY;E`zqFmh|@)+3pj>vB4(^w~xMlwO?Tr2qq3w5e;UlODWLEGPZ{W|&(hW5A* z7LA|8V(~wJ;^VLV_3|a-W1mpzOeEx`Xfj2aZK>UAItmlxn)ku;A2n%St)_nu!ixBK zU#rRDW8ZTY9%|aefFNruYLYe(9@fM9njPOO>K13R`Ix6?L4f(ZkLm%(z5|&2Tx6V=LXAX1qyx?a&_1wyjIN$qq3HP}bwP!iflB?al8|4EJMxoI~07vXyLyKwY`p=nUdXW%oeeVH!HVw@)F` zma5IaD->-Xoe9iFoUh!8&wml}Xc#}?+{sdLb69Ah=3 zU-i3tp9F2s`v8fIXFmI(YtT7+aXtE8guFjO9`DEU$isI^_b1WZq~6skM9Pw^e=Yw4 z;{yNlz#o5?V}ATpSNuBUVK1GhAnTC7K@H^nKlWkCyMWJu)4*9E1MUEifDdryy}*9p z2yg;83pii^ECb&GKL9@gzXAL|vLiw(cOm;J!kLe3q4mSH5=XC?Cq9z$!;8O6j`t%k;`A*U!`5>1^QSP&Sw?vO!v` z$V^r^lTR+YV#O51%oKSQ*S+jq*&XGj^s~kD<h1C@VLCu(Xu486*;$#d83L+7# zB)uZyZ?Lcs1oI1Q1uId+N>B?M<2mmmd9K-*g_C#Rz2|<;ok>MRhJhjAO-W<`Cw~W^ zh=J$8LEK-HFe3^SDXFr0wOyoAFDqQlohR?KlQ+n-DXNNtd|stlRZ@c-fVN$<)hbG6 zs%k$(>SF4^r(B^7JLL(=^+CfOgIIyCjFUE+q`7XRj`grEa!`%({Xt`7p5*W(g&cCp zqra~steIS&^9P;B2UNLkb)n7VQnsF!i-*JX74l3D*VARkqt3@<9fxkL9KMdV9Ll^ACNJJX#rl3aKh`PV z?2gEIRsC}Ma-a`$kHXHma&F|WI6l?>-TaJ~kh$mgL5Kb0?)m+DddS+AKd!FQW}XG? zVXu^Z44C@H@V1R&a96{+{kzfoefsPBgZJFb7J*pG6fjSTy-`RubyStx49=hysLdrZmgHbws(4r7@9#%+vyF2)X$@#~F2vyVZWA-Q?< z&Uz1xH5+#sj((P$7vr!7o}6u1kJ&Bf_rm#^-En@5vqVQVv}v4K#&&UDx;SP>f;i9m z#9@xDa+!wzr;Y({feK>o21bAea0ECCOaZ5X7H|=`5Ac8I3h)m20DJ|$1HXacZ6bSt z5nv3M1e(Al;0ACLSOo3@4}eF&GVlaAp6jU4av~`v?_AK)eAYb~hc}suI#FB4txh(l zWn#8S7RjH|kr!LKI1}AIr_(Ho&nF#_l8%kkkm)4XUOszE=PpHqoasDU_Lr;;?)v0RN7v|LN0TuYo~dBgl2m8e_jZZ{I+Xo851 GXyrdi%f590 diff --git a/scripts/Units/armamex.bos b/scripts/Units/armamex.bos index a356d9caf18..2104535651e 100644 --- a/scripts/Units/armamex.bos +++ b/scripts/Units/armamex.bos @@ -1,58 +1,131 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, spinner; -static-var extractionRate, Stunned; +static-var Static_Var_1, Static_Var_2, Static_Var_3, statechg_DesiredState, statechg_StateChanging, Stunned; - - -#include "../damagedsmoke.h" -Create() -{ - extractionRate = 0; - SLEEP_UNTIL_UNITFINISHED; - start-script DamagedSmoke(); -} - -Activate() +Go() { if (Stunned) { return(0); } set ARMORED to 0; - spin spinner around y-axis speed extractionRate accelerate 90; + spin spinner around y-axis speed Static_Var_1 accelerate Static_Var_2; } -Deactivate() +Stop() { - stop-spin spinner around y-axis decelerate 180; + stop-spin spinner around y-axis decelerate Static_Var_3; set ARMORED to 1; } SetStunned(State) { State = Stunned; - if (Stunned) { - call-script Deactivate(); + if (State) { + call-script Stop(); }else{ - call-script Activate(); + if (statechg_DesiredState == 0) { + call-script Go(); + } } } +InitState() +{ + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; +} -SetSpeed(windOrMetal) +RequestState(requestedstate, currentstate) { - extractionRate = windOrMetal * 10; - if (extractionRate > 0) call-script Activate(); // Because SetSpeed is called after Activate + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + call-script Go(); + currentstate = 0; + } + if( statechg_DesiredState == 1 ) + { + call-script Stop(); + currentstate = 1; + } + } + statechg_StateChanging = FALSE; +} + +Create() +{ + Static_Var_1 = 0; + Static_Var_2 = 91; + Static_Var_3 = 182; + call-script InitState(); +} + +Activate() +{ + call-script Go(); + start-script RequestState(0); +} + +Deactivate() +{ + call-script Stop(); + start-script RequestState(1); +} + +SweetSpot(piecenum) +{ + piecenum = base; +} + +SetSpeed(Func_Var_1) +{ + Static_Var_1 = Func_Var_1 * 10; } #define SMOKEPIECE base +static-var isSmoking; + +SmokeUnit(healthpercent) // ah yes, clever use of stack variables +{ + while( TRUE ) + { + healthpercent = get HEALTH; + if (healthpercent > 66) { + sleep 97; + isSmoking = 0; + return; + } + if (healthpercent < 4 ) healthpercent = 4; + sleep healthpercent * 50; + + if( Rand( 1, 66 ) < healthpercent ) emit-sfx 257 from SMOKEPIECE; + else emit-sfx 258 from SMOKEPIECE; + } +} + // this is what a pure hitbyweapon can look like, without any of the motion garbage HitByWeapon() //weaponID is always 0,lasers and flamers give angles of 0 { if( get BUILD_PERCENT_LEFT) return (0); + if (isSmoking == 0) { + isSmoking = 1; + start-script SmokeUnit(); + } signal 2; set-signal-mask 2; set ACTIVATION to 0; diff --git a/scripts/Units/armamex.cob b/scripts/Units/armamex.cob index d25dee392de1b25a80c4a2ee464efef62b7b82f0..54a8cdd800e8e86856aa2f8e8a6c5579cdb5d78f 100644 GIT binary patch literal 2102 zcmc&#J&RL86uo&#-mag_f&{F5sEr`-*e|9X^6-nAOYUhMCP#aTY|6)yZ}x^ ze~GnW64Ru!n;NK6gHBaeQbYMjY|G{i<55!c7$&)>PFtMIIQEzJv_I5iyr5p3BUz&L z$tTGj4^(k{!0)W)fEQPO?bKYr!d`W(lUhx~dFYcYb@@|%H=E9ZK5=dXdZQ9cUV$5Z ztbG$p;KrP|M%cShpE-de=c2uuJN6srm#&-Pagv|7x4%{PtA(#6!i@%uEoxzOQD(BzFVrFn) zzi^j=?)vfsCfxTkFt3|<9-2ZdbG0|l{s08(dKWV6a_;*?^%j|%yZ!zGk?}pX)yBNo zEA>9Q*em9w^^L3X-N(^3tKT{1gTLgiKDn}|^3Yf1IEt^=^fS~L_(R+q!MX4A_M~F} z=<8uoo~*q<8T0c!w0s^-oP&37dNw!5Ngv1ZVSb*W?muj-tM{dFZ&c;I$$O=rEy8a{ z`xxZP%)B=oB%EY%fJ)h zDexTNZ`)ho18^Aoa~|OT>1*H(@E-UCdE eTO4{q6BF&xOX{>BEJtG$txQPD@cE%^mdla3ew literal 1228 zcmbtUJud`N6umRM#zyrd8kMPp5SgeI>m#xv63G@sW!M)sSQ9%W3W-7|l%f!kXq5_` zW`BU%uka5z=goU#2qJ89a__tE-1F``Z?a_(sQ^CkY9oRSl|^d6CNPS1f+(S{JOz-j z8mJKjuDK;)S^1H#nEI$Oa&MA}>Qdwn+L{M}B8O*t)shkgyhz?Vi@M`USTbjiqb3n} zk*A~@sA2ZvoTqNqvl{1P4MAivFnvtR(feGzEMR8NHG!1;1vXj@bB+o!4ZDwE^l;PM zgSk(8)afhM!iqV61vT~|;0!VSU(I>X{p!bkr$@e6J*K=H-^9)1{C8{KtxaASs1hT8 z@a%vQHTuq9(JSgX&spyw0e(C0+#T|sD0|ye^1jg|x9Il;sCmDAA2Ummy_Lz2v;2cc z_U_dI&g2*QG77o^nXTmD7&KfN4d4449z0Sz1i=fEAn|A!;s1ULgOfm`4X zcmN)O4lon%#2dO%-`U;LGQFqcRLkUg+B{$~qhpuWby`pNTP@uXrin&UYo=3&OFB+= UTQc9=-bQIHZfj{LO%V6w4eJ$L%m4rY diff --git a/scripts/Units/armamph.bos b/scripts/Units/armamph.bos index 98190aeb6a2..f3161f42519 100644 --- a/scripts/Units/armamph.bos +++ b/scripts/Units/armamph.bos @@ -1,15 +1,17 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece pelvis, torso, rthigh, rleg, rfoot, lthigh, lleg, lfoot, prop, barrel, flare, turret, misbarrel, lmisflare, rmisflare; -static-var isMoving, isAiming, inWaterForm, gun_3, - restore_delay, isInWater, wpn1_lasthead, wpn3_lasthead; +static-var bMoving, bAiming, Static_Var_3, Static_Var_4, gun_3, + restore_delay, Static_Var_7, wpn1_lasthead, wpn3_lasthead; // Signal definitions -#define SIGNAL_MOVE 1 -#define SIGNAL_AIM1 256 -#define SIGNAL_AIM3 1024 +#define SIG_MOVE 2 +#define SIG_AIM 4 +#define SIG_AIM_3 8 walk() @@ -17,36 +19,36 @@ walk() if( TRUE ) { - turn rthigh to x-axis <0> speed <555.0>; + turn rthigh to x-axis <0> speed <555.000000>; turn rleg to x-axis <0> speed <382.500000>; turn rfoot to x-axis <0> speed <127.500000>; - turn lthigh to x-axis <56> speed <420.0>; + turn lthigh to x-axis <56> speed <420.000000>; turn lleg to x-axis <-29> speed <217.500000>; - turn lfoot to x-axis <-60> speed <450.0>; + turn lfoot to x-axis <-60> speed <450.000000>; move pelvis to y-axis [0] now; sleep 120; turn rthigh to x-axis <35> speed <262.500000>; - turn rleg to x-axis <8> speed <60.0>; - turn rfoot to x-axis <-38> speed <285.0>; + turn rleg to x-axis <8> speed <60.000000>; + turn rfoot to x-axis <-38> speed <285.000000>; - turn lthigh to x-axis <-44> speed <750.0>; - turn lleg to x-axis <11> speed <300.0>; + turn lthigh to x-axis <-44> speed <750.000000>; + turn lleg to x-axis <11> speed <300.000000>; turn lfoot to x-axis <-19> speed <307.500000>; move pelvis to y-axis [0.5] speed [3.750000]; sleep 120; - turn rthigh to x-axis <41> speed <45.0>; - turn rleg to x-axis <20> speed <90.0>; + turn rthigh to x-axis <41> speed <45.000000>; + turn rleg to x-axis <20> speed <90.000000>; turn rfoot to x-axis <-47> speed <67.500000>; - turn lthigh to x-axis <-74> speed <225.0>; - turn lleg to x-axis <51> speed <300.0>; - turn lfoot to x-axis <17> speed <270.0>; + turn lthigh to x-axis <-74> speed <225.000000>; + turn lleg to x-axis <51> speed <300.000000>; + turn lfoot to x-axis <17> speed <270.000000>; move pelvis to y-axis [-0.5] speed [7.500000]; sleep 120; @@ -56,7 +58,7 @@ walk() turn rleg to x-axis <-29> speed <367.500000>; turn rfoot to x-axis <-60> speed <97.500000>; - turn lthigh to x-axis <0> speed <555.0>; + turn lthigh to x-axis <0> speed <555.000000>; turn lleg to x-axis <0> speed <382.500000>; turn lfoot to x-axis <0> speed <127.500000>; @@ -64,24 +66,24 @@ walk() sleep 120; - turn rthigh to x-axis <-44> speed <750.0>; - turn rleg to x-axis <11> speed <300.0>; + turn rthigh to x-axis <-44> speed <750.000000>; + turn rleg to x-axis <11> speed <300.000000>; turn rfoot to x-axis <-19> speed <307.500000>; turn lthigh to x-axis <35> speed <262.500000>; - turn lleg to x-axis <8> speed <60.0>; - turn lfoot to x-axis <-38> speed <285.0>; + turn lleg to x-axis <8> speed <60.000000>; + turn lfoot to x-axis <-38> speed <285.000000>; move pelvis to y-axis [0.5] speed [3.750000]; sleep 120; - turn rthigh to x-axis <-74> speed <225.0>; - turn rleg to x-axis <51> speed <300.0>; - turn rfoot to x-axis <17> speed <270.0>; + turn rthigh to x-axis <-74> speed <225.000000>; + turn rleg to x-axis <51> speed <300.000000>; + turn rfoot to x-axis <17> speed <270.000000>; - turn lthigh to x-axis <41> speed <45.0>; - turn lleg to x-axis <20> speed <90.0>; + turn lthigh to x-axis <41> speed <45.000000>; + turn lleg to x-axis <20> speed <90.000000>; turn lfoot to x-axis <-47> speed <67.500000>; @@ -93,7 +95,7 @@ walk() walklegs() { - turn rthigh to x-axis <0> speed <555.0>; + turn rthigh to x-axis <0> speed <555.000000>; turn rleg to x-axis <0> speed <382.500000>; turn rfoot to x-axis <0> speed <127.500000>; @@ -105,23 +107,23 @@ walklegs() sleep 120; turn rthigh to x-axis <35> speed <262.500000>; - turn rleg to x-axis <8> speed <60.0>; - turn rfoot to x-axis <-38> speed <285.0>; + turn rleg to x-axis <8> speed <60.000000>; + turn rfoot to x-axis <-38> speed <285.000000>; - turn lthigh to x-axis <-44> speed <750.0>; - turn lleg to x-axis <11> speed <300.0>; + turn lthigh to x-axis <-44> speed <750.000000>; + turn lleg to x-axis <11> speed <300.000000>; turn lfoot to x-axis <-19> speed <307.500000>; move pelvis to y-axis [0.5] speed [3.750000]; sleep 120; - turn rthigh to x-axis <41> speed <45.0>; - turn rleg to x-axis <20> speed <90.0>; + turn rthigh to x-axis <41> speed <45.000000>; + turn rleg to x-axis <20> speed <90.000000>; turn rfoot to x-axis <-47> speed <67.500000>; - turn lthigh to x-axis <-74> speed <225.0>; - turn lleg to x-axis <51> speed <300.0>; - turn lfoot to x-axis <17> speed <270.0>; + turn lthigh to x-axis <-74> speed <225.000000>; + turn lleg to x-axis <51> speed <300.000000>; + turn lfoot to x-axis <17> speed <270.000000>; move pelvis to y-axis [-0.5] speed [7.500000]; sleep 120; @@ -131,7 +133,7 @@ walklegs() turn rleg to x-axis <-29> speed <367.500000>; turn rfoot to x-axis <-60> speed <97.500000>; - turn lthigh to x-axis <0> speed <555.0>; + turn lthigh to x-axis <0> speed <555.000000>; turn lleg to x-axis <0> speed <382.500000>; turn lfoot to x-axis <0> speed <127.500000>; @@ -139,24 +141,24 @@ walklegs() sleep 120; - turn rthigh to x-axis <-44> speed <750.0>; - turn rleg to x-axis <11> speed <300.0>; + turn rthigh to x-axis <-44> speed <750.000000>; + turn rleg to x-axis <11> speed <300.000000>; turn rfoot to x-axis <-19> speed <307.500000>; turn lthigh to x-axis <35> speed <262.500000>; - turn lleg to x-axis <8> speed <60.0>; - turn lfoot to x-axis <-38> speed <285.0>; + turn lleg to x-axis <8> speed <60.000000>; + turn lfoot to x-axis <-38> speed <285.000000>; move pelvis to y-axis [0.5] speed [3.750000]; sleep 120; - turn rthigh to x-axis <-74> speed <225.0>; - turn rleg to x-axis <51> speed <300.0>; - turn rfoot to x-axis <17> speed <270.0>; + turn rthigh to x-axis <-74> speed <225.000000>; + turn rleg to x-axis <51> speed <300.000000>; + turn rfoot to x-axis <17> speed <270.000000>; - turn lthigh to x-axis <41> speed <45.0>; - turn lleg to x-axis <20> speed <90.0>; + turn lthigh to x-axis <41> speed <45.000000>; + turn lleg to x-axis <20> speed <90.000000>; turn lfoot to x-axis <-47> speed <67.500000>; @@ -203,49 +205,81 @@ swim() #define UNITSIZE 2 #define MAXTILT 100 -#include "../unit_hitbyweaponid_and_smoke.h" +#include "unit_hitbyweaponid_and_smoke.h" -Movement() +MotionControl(Func_Var_1) { + Func_Var_1 = 1; while( TRUE ) { - isInWater = get IN_WATER; - if( !inWaterForm ) + if( !Static_Var_4 ) { - if( isInWater == 1 ) + if( Static_Var_7 == 2 ) { call-script transform(); - inWaterForm = 1; + Static_Var_4 = 1; + Func_Var_1 = 1; + } + if( Static_Var_7 == 3 ) + { + call-script transform(); + Static_Var_4 = 1; + Func_Var_1 = 1; } } - else + if( Static_Var_4 ) { - if( isInWater == 0 ) + if( Static_Var_7 == 1 ) + { + call-script reform(); + Static_Var_4 = 0; + Func_Var_1 = 1; + } + if( Static_Var_7 == 4 ) { call-script reform(); - inWaterForm = 0; + Static_Var_4 = 0; + Func_Var_1 = 1; } } - - if( isMoving ) + if( bMoving ) { - if( inWaterForm ) + if( bAiming ) + { + Static_Var_3 = 1; + if( Static_Var_4 ) { call-script swim(); - }else{ - if( isAiming ){ + } + if( !Static_Var_4 ) + { call-script walklegs(); } - else + } + if( !bAiming ) + { + Static_Var_3 = 0; + if( Static_Var_4 ) + { + call-script swim(); + } + if( !Static_Var_4 ) { call-script walk(); } } - }else{ + Func_Var_1 = 1; + } + if( !bMoving ) + { + Static_Var_3 = 1; + if( Func_Var_1 AND ( !Static_Var_4 ) ) + { + Func_Var_1 = 0; + } sleep 100; } - } return (0); } @@ -255,29 +289,42 @@ Create() hide rmisflare; hide lmisflare; hide flare; - isMoving = FALSE; - isAiming = FALSE; - inWaterForm = 0; + bMoving = FALSE; + bAiming = FALSE; + Static_Var_3 = 1; + Static_Var_4 = 0; gun_3 = 0; restore_delay = 3000; - start-script Movement(); + start-script MotionControl(); return (0); } -StartMoving(reversing) +StartMoving() { - isMoving = TRUE; - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; + bMoving = TRUE; + signal SIG_MOVE; + set-signal-mask SIG_MOVE; while( TRUE ) { - if( isInWater == 1 ) + if( Static_Var_7 == 1 ) + { + emit-sfx 2 from prop; + emit-sfx 2 from prop; + emit-sfx 2 from prop; + emit-sfx 2 from prop; + } + if( Static_Var_7 == 2 ) { emit-sfx 2 from prop; emit-sfx 2 from prop; emit-sfx 2 from prop; emit-sfx 2 from prop; } + if( Static_Var_7 == 3 ) + { + emit-sfx 259 from prop; + emit-sfx 259 from prop; + } sleep 250; } return (0); @@ -285,19 +332,28 @@ StartMoving(reversing) StopMoving() { - isMoving = FALSE; - signal SIGNAL_MOVE; + bMoving = FALSE; + signal SIG_MOVE; return (0); } - -SetMaxReloadTime(reloadMS) +setSFXoccupy(Func_Var_1) { - restore_delay = reloadMS * 2; + Static_Var_7 = Func_Var_1; return (0); } +SetMaxReloadTime(Func_Var_1) +{ + restore_delay = Func_Var_1 * 2; + return (0); +} +SweetSpot(piecenum) +{ + piecenum = torso; + return (0); +} static-var Stunned; ExecuteRestoreAfterDelay() @@ -306,15 +362,15 @@ ExecuteRestoreAfterDelay() return (1); } set-signal-mask 0; - turn torso to y-axis <0.0> speed <90.0>; - turn turret to y-axis <0.0> speed <90.0>; - turn misbarrel to x-axis <0.0> speed <90.0>; + turn torso to y-axis <0.000000> speed <90.000000>; + turn turret to y-axis <0.000000> speed <90.000000>; + turn misbarrel to x-axis <0.000000> speed <90.000000>; wait-for-turn torso around y-axis; wait-for-turn turret around y-axis; wait-for-turn misbarrel around x-axis; - wpn3_lasthead = 0xbadface; - wpn1_lasthead = 0xbadface; - isAiming = FALSE; + wpn3_lasthead = 1000000; + wpn1_lasthead = 1000000; + bAiming = FALSE; } SetStunned(State) { @@ -325,20 +381,23 @@ SetStunned(State) } RestoreAfterDelay() { - set-signal-mask SIGNAL_AIM1; + set-signal-mask SIG_AIM; sleep restore_delay; start-script ExecuteRestoreAfterDelay(); } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - isAiming = TRUE; - - turn torso to y-axis heading speed <150.0>; - if ((wpn1_lasthead == 0xbadface) OR ABSOLUTE_GREATER_THAN(WRAPDELTA(heading - wpn1_lasthead), <7>)) + signal SIG_AIM; + bAiming = TRUE; + while( !Static_Var_3 ) + { + return(0); + } + turn torso to y-axis heading speed <150.000000>; + if (((get ABS(wpn1_lasthead - heading)) > 65536) OR(((get ABS(wpn1_lasthead - heading)) > 1300) AND ((get ABS(wpn1_lasthead - heading)) < 64236))) { - wpn1_lasthead = 0xbadface; + wpn1_lasthead = 1000000; wait-for-turn torso around y-axis; } start-script RestoreAfterDelay(); @@ -346,44 +405,44 @@ AimWeapon1(heading, pitch) return (1); } -FireWeapon1() +FirePrimary() { emit-sfx 1024 + 0 from flare; return (0); } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = flare; + piecenum = flare; return (0); } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = barrel; + piecenum = barrel; return (0); } -AimFromWeapon2(pieceIndex) +AimFromSecondary(piecenum) { - pieceIndex = misbarrel; + piecenum = misbarrel; return (0); } -QueryWeapon2(pieceIndex) +QuerySecondary(piecenum) { if( gun_3 == 0 ) { - pieceIndex = lmisflare; + piecenum = lmisflare; } if( gun_3 == 1 ) { - pieceIndex = rmisflare; + piecenum = rmisflare; } return (0); } -FireWeapon2() +FireSecondary() { if( gun_3 == 0 ) { @@ -397,17 +456,19 @@ FireWeapon2() } } -AimWeapon2(heading, pitch) +AimSecondary(heading, pitch) { - signal SIGNAL_AIM3; - isAiming = TRUE; - - turn turret to y-axis heading speed <300.0>; - turn misbarrel to x-axis <0.0> - pitch speed <300.0>; - - if ((wpn3_lasthead == 0xbadface) OR ABSOLUTE_GREATER_THAN(WRAPDELTA(heading - wpn3_lasthead), <27>)) + signal SIG_AIM_3; + bAiming = TRUE; + while( !Static_Var_3 ) + { + sleep 100; + } + turn turret to y-axis heading speed <300.000000>; + turn misbarrel to x-axis <0.000000> - pitch speed <300.000000>; + if (((get ABS(wpn3_lasthead - heading)) > 65536) OR(((get ABS(wpn3_lasthead - heading)) > 5000) AND ((get ABS(wpn3_lasthead - heading)) < 60536))) { - wpn3_lasthead = 0xbadface; + wpn3_lasthead = 1000000; wait-for-turn turret around y-axis; wait-for-turn misbarrel around x-axis; } @@ -422,9 +483,20 @@ Killed(severity, corpsetype) { corpsetype = 1 ; explode pelvis type BITMAPONLY | NOHEATCLOUD; + //explode rthigh type BITMAPONLY | NOHEATCLOUD; explode rleg type BITMAPONLY | NOHEATCLOUD; + //explode rfoot type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode prop type BITMAPONLY | NOHEATCLOUD; + //explode lthigh type BITMAPONLY | NOHEATCLOUD; + //explode lleg type BITMAPONLY | NOHEATCLOUD; + //explode lfoot type FIRE | SMOKE | FALL | NOHEATCLOUD; explode torso type BITMAPONLY | NOHEATCLOUD; explode barrel type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare type BITMAPONLY | NOHEATCLOUD; + //explode turret type BITMAPONLY | NOHEATCLOUD; + //explode misbarrel type BITMAPONLY | NOHEATCLOUD; + //explode lmisflare type BITMAPONLY | NOHEATCLOUD; + //explode rmisflare type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } if( severity <= 50 ) @@ -433,8 +505,18 @@ Killed(severity, corpsetype) explode pelvis type BITMAPONLY | NOHEATCLOUD; explode rthigh type FALL | NOHEATCLOUD; explode rleg type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rfoot type FALL | NOHEATCLOUD; + //explode prop type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lthigh type FALL | NOHEATCLOUD; + //explode lleg type FALL | NOHEATCLOUD; + //explode lfoot type FIRE | SMOKE | FALL | NOHEATCLOUD; explode torso type FALL | NOHEATCLOUD; explode barrel type FALL | NOHEATCLOUD; + //explode flare type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode turret type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode misbarrel type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lmisflare type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rmisflare type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) @@ -443,15 +525,35 @@ Killed(severity, corpsetype) explode pelvis type FIRE | SMOKE | FALL | NOHEATCLOUD; explode rthigh type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode rleg type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rfoot type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode prop type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lthigh type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lleg type SMOKE | FALL | NOHEATCLOUD; + //explode lfoot type FIRE | SMOKE | FALL | NOHEATCLOUD; explode torso type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode barrel type SMOKE | FALL | NOHEATCLOUD; + //explode flare type SMOKE | FALL | NOHEATCLOUD; + //explode turret type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode misbarrel type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lmisflare type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rmisflare type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; explode pelvis type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode rthigh type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode rleg type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rfoot type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode prop type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lthigh type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lleg type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode lfoot type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode torso type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode barrel type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode flare type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode turret type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode misbarrel type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode lmisflare type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode rmisflare type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/armamph.cob b/scripts/Units/armamph.cob index 784ec261c67d6f3eaeca60504dde209d21e057ce..1afbf344f3c9f916399f608595a9f9c237f0bd88 100644 GIT binary patch literal 8459 zcmb_heTZDu6~FtDjheQ3_9MiPwqp^6Ani~^G*GhHG;3N3CRs~^ie%h1rMC*SSk@e*>-q$zU=-<+hPz zH3q!@)m;N}<+Q7~WKafP_ulee-H_4!={j#CQ}7!$x?ivIelK2(N$8ds-5-AA{cd{a z#0ly~jPCFn@3-}k*8z@vn5PW(JGmlt$$5^G)q#Zi`ycmn|5=H-2*;mSdEI^{0-eS2 z`{%sw*js*0i{r9y4az!?z3Fup$A&}R?umwF_aS)&-x|4@5%{_XY+dRr<}0;iMeb06LZ(%iMiW@NBaY)3*m{mVe!P= zuy|r_SUfR@EuNUe7EjFKQatU2@x3sE)7J8m0pu6n>j+KH@h&#ZMdyje6Z?6vsjdv0>dLUGt_+*%%CM=fKWx4?#Nnzg zIRh82$9LN)28!z8DtIS0G6*|sPd~}GI+VE4p=7W+DDSwOrp&u=?ChJTayWS5uff^|oHake65<{Yam6;|CwcUdAHq5p;&2V-x0pC|XHCaL zep=&IxVLp;?K(Aw{rAFJyztY}g?`YVxk$XAmvPXKh4|tNoN@fsUl5=Ej8A`lG*{&d z^ASZ@@5Znmb70@Op7O9K_m=0(^(H@!$u*`Jw2E_TbR>Bkh2|Wm z5@!eR1AdRLBl#1Yt>V;;r})uANBs1YeZt<(W3SIa<|KZhugpvHV;t#uSU(Llm*tuB z=ty#Xn0xT%?)l=Pdf&#Fh{YNxMpyCgRg9%|(W|QtqpIW-vZ*eS@u|l6Ci45TF%EO1 zB{lIy9CezjG`Hr%X zp8T9o&%SW^PVF~&eE$mgc&@9jwe|UX+y4byJ`2>g8_)BxY>iKYA7imLy*9mmcD*xk zSZn+;Kg(@-PV~X;^Fz!jBc&>J+RmqcYXtlM*C>7G3E{1a$ zBF`FbU7ps8)J+t%yx5rSt~YmJoVCJmCM_n$w`P-*v#q^uA}u!7=C-7btTuIReHu=C zQs`S*;nvTkle0y-C7mgE6M*dvkTY(Lfrlw6VL6`epe{=JH}^eaB9h xqogk1o&ib2&%kttYsgG1&sy%LTArs3x4luzQ&-I5rf}2snK0eJ(5v#!=yM-7+MNIZ literal 7102 zcmb7Je`r-z96x)TvoiBm7^a2`GD8XJ)d*# zeY3$Bb0uU3q_xqQi*V=FjLD}VqmX8dv$Ktc?w zbid80*3~QB;d`Bpoq}J3((PO5{JvO#N$931-ODdHzm2EI#;8Nd_F^r+E_Z(S9Cx~@ zN@pLBnuvFlZfhRqAX^vF_rTk3?#Ee}3vj%;(CLn{5a=|H{U1Bsxu0E5jbq8ojLmcG zd#BSlRv&kMU$V#m$4g&1-NV19;CQdz^?L+vC?n(=EHi=`@~y zZg9H2-;T%g=K-hd{-idZ71y|!dR<1}b$(Y|>~vM@GBVZULCgv8{Jqx25Kd@3E2p@1 z7fxtA>sC5H;e=kFkh^+)LhfojA$P0r$oc^4M0i4OXgnb|G@g(f8c)b!jVI)=#uIWl z70<}TctUQZ;Sp|VJRvtUo{+;DPsm}7C**Jyo=NhJ%V#VT~u`a4Mej@Gay<8Xn<>#uIWw;|V#e@q`@KctQ?W;h7}gu)E4j+KG z@d`G~1?P#xv-UNxi7pMB=+dx>E)ARL(y)nca@gG35QoW{=mOlBkKeZ43>5UkG-VUTL<)z5#R0NgY+DqoU&+m!u)|r%u-dQ8Dn5OBW1){I)8|@FPy5(%6D|^s_Lg_P?WAuQy zcuw1DICs$1(f~WoQ75&_p3M+!6Y$d>m*^SG&Y_0O0)K1R;bK!qf0Su2`tw2jnb#^% z@AW>8jf?R-@5`ILkZX~*5scS)8#|_vw_#4_uPxp7e z-gM2J)??Qk(bzp9A9F@cAru?8UO3 z?}L03(cIv?rJWVT2z6M7nmYbT!d}QAF%T^hA3lo>YxwN!YtvXe-(PynZvv^2da1?6 zM*Tdiqz}{+XBn^Gli#o*;ECm-idXJ8g91POXlmD{hP}KeZB6tWsPISEcW6uHd^D<$ z%psVFnP)?}ey=l4?!9+v7ZOD7`OFylfODUD|JsGT-sUU|#=IGEXT%&FJYoOXYnDo3 zANV&(Ugf;mN=??L!}Ef%!E?QDg?r4wd3{bZrq**UCem~LYw6i1+3yT1XK07V$F&q+ zZR_fHy|~ZY@*EOdyKXj~Tko_S1@FgLT+?csYCoOtLGQ=#X?|7QVQ*`2hriuqZ49_0 zdxo{k?>gq7jm_WWzHMYbu^)OLg&d1=KDGrPuC%NXv)0%`G9`ZszdZr#~yDV*1=d| zF7c&HS}xHGW*JMay)|-i`eqmnqv+QmCn0}8u126k5Pn-M#eTUH@+jmf$UeyDknbR; zA@jkHX2=rAO^|lT0}$@X_aXd$mZgweAgdv3AsZkYA^nh@klm0cA_G8eK4vJBD=Sqr%fazA7fWDBGS8G<|nc?9w}WDn$7$n%hckRy;cA=`6> zt@fWn+&gGWNv?mer&Q0%|GTaQe8t}oXccX##`x5j2o zaa-IM_m|AANt`Rirn8hwN|?;|_u{!YAdhirO>TI7Tqx$cH{|hF)c&3I*7zR#7k*sRJYu{^IEiW6V!Vgs91NwI8KHEc1; zv_-{ep_>cWV(!Qn3P?W?7q;cmo? speed <60>; + turn mid3 to z-axis <-60> speed <60>; + + turn end1 to z-axis <-80> speed <80>; + turn end3 to z-axis <80> speed <80>; + + turn cover1 to z-axis <45> speed <45>; + turn cover2 to z-axis <-45> speed <45>; + + turn end2 to x-axis <-90> speed <90>; + sleep 1000; + + + return (0); +} + +deactivatescr() +{ + turn mid1 to z-axis <0> speed <60>; + turn mid3 to z-axis <0> speed <60>; + + turn end1 to z-axis <0> speed <80>; + turn end3 to z-axis <0> speed <80>; + + turn cover1 to z-axis <0> speed <45>; + turn cover2 to z-axis <0> speed <45>; + + turn end2 to x-axis <0> speed <90>; + sleep 1000; + + + return (0); +} + +OpenYard() +{ + set YARD_OPEN to 1; + while( !get YARD_OPEN ) + { + set BUGGER_OFF to 1; + sleep 1500; + set YARD_OPEN to 1; + } + return (0); +} + +CloseYard() +{ + set YARD_OPEN to 0; + while( get YARD_OPEN ) + { + set BUGGER_OFF to 1; + sleep 1500; + set YARD_OPEN to 0; + } + return (0); +} + +Go() +{ + + call-script activatescr(); + call-script OpenYard(); + set INBUILDSTANCE to 1; + return (0); +} + +Stop() +{ + set INBUILDSTANCE to 0; + call-script CloseYard(); + call-script deactivatescr(); + + return (0); +} + +InitState() +{ + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; + return (0); +} + +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + call-script Go(); + currentstate = 0; + } + if( statechg_DesiredState == 1 ) + { + call-script Stop(); + currentstate = 1; + } + } + statechg_StateChanging = FALSE; + return (0); +} Create() { @@ -17,12 +131,16 @@ Create() hide beam1; spray = 0; + unitviewer = FALSE; + call-script InitState(); + return (0); } -QueryNanoPiece(pieceIndex) +QueryNanoPiece(piecenum) { - spray = (spray + 1) % 3; - pieceIndex = beam1 + spray; + piecenum=beam1+spray; + spray=spray+1; + if (spray>2) spray=0; } StartBuilding() @@ -41,50 +159,31 @@ StopBuilding() Activate() { - signal SIGNAL_TURNON; - set-signal-mask SIGNAL_TURNON; - - turn mid1 to z-axis <60> speed <60>; - turn mid3 to z-axis <-60> speed <60>; - - turn end1 to z-axis <-80> speed <80>; - turn end3 to z-axis <80> speed <80>; - - turn cover1 to z-axis <45> speed <45>; - turn cover2 to z-axis <-45> speed <45>; - - turn end2 to x-axis <-90> speed <90>; - wait-for-turn end2 around x-axis; - - FACTORY_OPEN_BUILD; + signal SIG_ACTIVATE; + start-script RequestState(0); + return (0); } Deactivate() { - signal SIGNAL_TURNON; - set-signal-mask SIGNAL_TURNON; - sleep 5000; - - turn mid1 to z-axis <0> speed <60>; - turn mid3 to z-axis <0> speed <60>; - - turn end1 to z-axis <0> speed <80>; - turn end3 to z-axis <0> speed <80>; - - turn cover1 to z-axis <0> speed <45>; - turn cover2 to z-axis <0> speed <45>; - - turn end2 to x-axis <0> speed <90>; - wait-for-turn end2 around x-axis; - - FACTORY_CLOSE_BUILD; + signal SIG_ACTIVATE; + set-signal-mask SIG_ACTIVATE; + sleep 5000; + set-signal-mask 0; + start-script RequestState(1); } -QueryBuildInfo(pieceIndex) +QueryBuildInfo(piecenum) { - pieceIndex = pad; + piecenum = pad; + return (0); } +SweetSpot(piecenum) +{ + piecenum = base; + return (0); +} Killed(severity, corpsetype) { @@ -181,4 +280,4 @@ Killed(severity, corpsetype) explode beam3 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode pad type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; return corpsetype; -} \ No newline at end of file +} diff --git a/scripts/Units/armamsub.cob b/scripts/Units/armamsub.cob index 2dc0521efae955729b8a9a90690c2b79259c0f24..52418e8abc39889e7819ae8735390b3b213480f2 100644 GIT binary patch literal 5696 zcmbtYO^X~=6n)dvX_FXZ#Y90j79xU@#Z1pa-S{F#v*WN>A# zG~mWXet?3YxX)ftaF<;`R3r;QaplI11jlpUduLJ>^?K^{6r6q^_n!Ol>fTqwG>tK5 zfV04fW5zTw^68v2<`(cHa31StA2((tX(V62@L)8lNkB0TpeVa?cYmL}}0FUhzjS8JYyNx=h};9I-hR`N4+z_j+t zHgtZnPY$`vsR8@kFLMv%(6jM&-8(&ng=7z6aomD8M6`&YEl5VEk4gSxp!l z=h~x=wF8-a6lJ!4)?B`uP?QhpYHfXXT+9Ze%>g5w{ZGf|#r%|KS%>=8@7VQ^i@jy< zQN~)dSJt(>x#Qhr1N&aJHvGQJx7r@-lQyZNvnu+Noc2O;>ZmTseUi$lJHuxXV9~zv zNuk31IY!f6P4LyQ?}>XUw#qWzks%q+AS6?dSJ~u!O`hHd*NlaGwm1BI?)Mqv!Ig55}C4V$v9j zP2Y~g^p4V-%jSKQK3&$QdUjd9`uDK&RL{n|Q}x_ow$<0m=Aa&riR~!8e^@@{erJCz z)6=nir~a-w$51~>S7Xs-!5I`y^aJ_zNbJD@7II`2yN!LoeaJyrZr%;kH6 zt@9!<1U?160&WA}0e672AUqGe1zZBI0DWK&_z3s};Qt!efLDMEz-8b);407u#=su% zF>nj`0{8~F4SWyW0qz1n0lxyj0e=F20e=Jk0Q*4m3H;9!I1QWwo&r+fIp93d23`hw z{aJpaH_N8|i5X-M*8e>Y5jbR(OryP<9V15J95rT_o{ literal 2814 zcma);KWG#|7{$N4TrTlXbk)krE38BzcL$O#@lPW{h}bAtWOKL5LUI=_mw<&}VIdMM z6oN&N!zzW?q_GjiCQT|)u#yxOA{I7cqsI4U_Z{Q17joh4%-iq#W@djgyQE}hqtFRx zwrEyB%iqfbX4}wr=q&uiL0o1naB;K&lh7Vb+aqWTLDAhVjVGxqs#Hun$2N;iQ_Dm-FjUAe$wAK zlZ?mKDi#c*0VX$xVmChS?lLyw#dao=oXS=bBV*Mm#+G$J+>iY|mDI6i>{w2$xRZ=| z+>8C5OzKK+lNh(l{qRKU^Ep|=w!mOz)IBfnS)~+MZ#b~oa_|V2IXn~D+%*CiFZApD zxJ{LV<+O%revEzG!d`idb9g`Gr0MwL>*@xuS1gacVtMQp%VV!t9(%>|*efR9cw2JW zCwUq6;Qkc>a@sFlu-%Gu|JMuc;^6uN>t*4ASe}3+j?+<4@zbk&6 z-v;0F-1(m8$@gO!uWwHe_xU{JMYisJ#Jk~ht}!R&yqR()FYePI&f+A_^5QHn&JQ>T z)-i~);^M4&ah4Znd2yB(XL)g!7iY~U&hp}{d~sG>oD~;m`Mo$d$ROoB22k8TKF?m9 zAF~GB#CbLK;`}`I;;eOuv+{MGk((g#aZ>@to%WoRiEX& zAC{U+EY~tD<;7C@Vks|{$`?y{omu6JrQ$lX@?t43mhxgLFP8FRDKD0qUo7QyW|g01 zNi3Z6G;|I+4?Tf?LVqCsk2VQSL${z9>Ol9PRp=@73|fa?KpW62XcKx3y@B3AThKQ2 z9{L1*hQ2`GpdZjL=u#&NyOCX6jyiXz!&ZAHjvA3&?}nZ3#pQUu8Mp4hwHN#5LZch6 zu;g+Ss_Uv<#+BCXwq1?q=cA_0g-ekwhD}=t<5tyOYwlXNg}8|uaT7jn)-7tm;^KNW fYhfK#cTM_rn~TDQs=L -#define HOVER_ROCKBASE ground -#define HOVER_WOBBLE_PERIOD 46 -#define HOVER_WOBBLE_AMPLITUDE [0.7] -#define HOVER_WAKEPIECE wake -#define HOVER_IDLE_SFX 1024 + 3 -#define HOVER_WAKE_SFX_1 1024 + 1 -#define HOVER_WAKE_SFX_2 1024 + 2 -#include "../bar_hovercraft_common.h" - -#define BASEPIECE ground -#define HITSPEED <15.0> +#define SIG_AIM 2 +#define SIG_MOVE 4 +#define SIG_IDLE 8 + +WobbleUnit() +{ + while( TRUE ) + { + if( Wobble_status) + { + if( get GROUND_WATER_HEIGHT(get UNIT_XZ) < 0 ) //Over Water + { + move base to y-axis [-0.100000] speed [0.50000]; + } + else + { + move base to y-axis [1.500000] speed [0.50000]; + } + } + else + { + if( get GROUND_WATER_HEIGHT(get UNIT_XZ) < 0 ) //Over Water + { + move base to y-axis [-1.100000] speed [0.50000]; + } + else + { + move base to y-axis [1.500000] speed [0.50000]; + } + } + Wobble_status = !Wobble_status; + //get PRINT (get GROUND_WATER_HEIGHT(get UNIT_XZ)); + sleep 260; + } +} + +BankControl() +{ + var lastHeading, currHeading, diffHeading; + lastHeading = GET HEADING; + while (TRUE) + { + currHeading = GET HEADING; + diffHeading = currHeading - lastHeading; + // Set values for tilt + + //Remove Extreme values + if ( diffHeading > 1500 ) diffHeading = 1500; + if ( diffHeading < -1500 ) diffHeading = -1500; + //get PRINT(diffHeading); + turn base to z-axis 1.0 * diffHeading speed <23>; + lastHeading = currHeading; + sleep 67; + } +} + + +RockUnit(anglex, anglez) +{ + turn base to x-axis anglex speed <50.000000>; + turn base to z-axis anglez speed <50.000000>; + wait-for-turn base around z-axis; + wait-for-turn base around x-axis; + turn base to z-axis <0.000000> speed <20.000000>; + turn base to x-axis <0.000000> speed <20.000000>; + return (0); +} + +#define BASEPIECE base +#define HITSPEED <35.0> //how 'heavy' the unit is, on a scale of 1-10 #define UNITSIZE 4 -#define MAXTILT 200 -//#define RECOIL_POWER 40000 // DO NOT USE THIS FOR HOVERS! -#include "../unit_hitbyweaponid_and_smoke.h" +#define MAXTILT 100 + +#include "unit_hitbyweaponid_and_smoke.h" + +HoverIdle() +{ + signal SIG_IDLE; + set-signal-mask SIG_IDLE; + while( TRUE ) + { + emit-sfx 1024 + 3 from wake; + sleep 1750; + } +} + +StartMoving() +{ + signal SIG_MOVE; + set-signal-mask SIG_MOVE; + signal SIG_IDLE; + var waketime; + var bowtime; + while( TRUE ) + { + emit-sfx 1024 + 1 from wake; + if (bowtime) emit-sfx 1024 + 2 from wake; + bowtime = !bowtime; + waketime = (get CURRENT_SPEED) * 100 / get MAX_SPEED; + if( waketime < 30 ) waketime = 30; + sleep 15000 / waketime; + } +} + +StopMoving() +{ + signal SIG_MOVE; + signal SIG_IDLE; + start-script HoverIdle(); + return (0); +} Create() { hide flare; hide wake; + hide flare; restore_delay = 3000; - SLEEP_UNTIL_UNITFINISHED; - start-script HoverCraftMotion(); + while( get BUILD_PERCENT_LEFT ) + { + sleep 400; + } + start-script BankControl(); + start-script WobbleUnit(); } -SetMaxReloadTime(reloadMS) +SetMaxReloadTime(Func_Var_1) { - restore_delay = reloadMS * 2; + restore_delay = Func_Var_1 * 2; + return (0); } + +static-var Stunned; ExecuteRestoreAfterDelay() { if (Stunned) { return (1); } - turn turret to y-axis <0.0> speed <90.0>; - turn sleeve to x-axis <0.0> speed <50.0>; + turn turret to y-axis <0.000000> speed <90.000000>; + turn sleeve to x-axis <0.000000> speed <50.000000>; } - SetStunned(State) { Stunned = State; @@ -61,41 +157,49 @@ SetStunned(State) start-script ExecuteRestoreAfterDelay(); } } - RestoreAfterDelay() { sleep restore_delay; start-script ExecuteRestoreAfterDelay(); } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; - turn turret to y-axis heading speed <170.0>; - turn sleeve to x-axis <0.0> - pitch speed <80.0>; + signal SIG_AIM; + set-signal-mask SIG_AIM; + turn turret to y-axis heading speed <170.000000>; + turn sleeve to x-axis <0.000000> - pitch speed <80.000000>; wait-for-turn turret around y-axis; wait-for-turn sleeve around x-axis; start-script RestoreAfterDelay(); return (1); } -FireWeapon1() +FirePrimary() { emit-sfx 1024 + 0 from flare; - move barrel to z-axis [-6.0] speed [1250.0]; + move barrel to z-axis [-6.000000] speed [1250.000000]; wait-for-move barrel along z-axis; - move barrel to z-axis [0.0] speed [7.500000]; + move barrel to z-axis [0.000000] speed [7.500000]; + return (0); +} + +AimFromPrimary(piecenum) +{ + piecenum = turret; + return (0); } -AimFromWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = turret; + piecenum = flare; + return (0); } -QueryWeapon1(pieceIndex) +SweetSpot(piecenum) { - pieceIndex = flare; + piecenum = base; + return (0); } Killed(severity, corpsetype) @@ -104,33 +208,41 @@ Killed(severity, corpsetype) { corpsetype = 1 ; explode base type BITMAPONLY | NOHEATCLOUD; + //explode wake type BITMAPONLY | NOHEATCLOUD; explode turret type BITMAPONLY | NOHEATCLOUD; explode sleeve type BITMAPONLY | NOHEATCLOUD; explode barrel type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } if( severity <= 50 ) { corpsetype = 2 ; explode base type BITMAPONLY | NOHEATCLOUD; + //explode wake type FIRE | SMOKE | FALL | NOHEATCLOUD; explode turret type FIRE | SMOKE | FALL | NOHEATCLOUD; explode sleeve type FIRE | SMOKE | FALL | NOHEATCLOUD; explode barrel type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) { corpsetype = 3 ; explode base type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode wake type SMOKE | FALL | NOHEATCLOUD; explode turret type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode sleeve type SMOKE | FALL | NOHEATCLOUD; explode barrel type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode flare type SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; explode base type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode wake type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode turret type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode sleeve type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode barrel type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/armanac.cob b/scripts/Units/armanac.cob index 7b062c101f8a23214cb10ae6c7629db05dc77f01..8af96108e6d79a0321682491f99c03f94102ec35 100644 GIT binary patch literal 4144 zcmb_f&ud&&6uvW=Oq8NNrHDnVkLsq@#UP@g8}q}K)LN;D8h=7wGB-NpWnOrBNfU7~ zD|L}Y-BnR=Cx~0oKR^&%D!8!}>7qhGaN#PH*6+LboHsYGnb1LJIKAhc^POMcz4uMp zFvc8)G$A`9#*AX+=bd|v`4(~m@)VvA-)BrMsz)_C7n;%QSQ^3e2|UyPvaEMwHE|=N zjcRo@t-jAhqY-l+Q(VvEm#^KrWg>iO=RXt8=s0!e?CAjc z#7{e%=OYmtO(7q|?L6*hb3VyQJ@hemSkK@D(&Ty(ozILJ$Jyq}=P+iFkFXM7*(>gu z`wFHlYlA`LV8ZVKu9({&uFS<%dA%$)nm9Z2DUSJcul|I}SlY zhw7Y+(U};7&;w%o@x&d-EnX;^w_0<2A0N||c;S}MoQ3a(ccJjv@fq9)?U}wQV&yzP zEBM6OYK{Y{yobscpOt5-Wqvv5lR-`LOiWnsX&Sh=$uSVeC z{!Z{6@V40N75gJ%XPNLWgzty@=>s3+C>6XrE8vhF?48x$-wy=Ga>|E^fM+gz*f-<2 z64Rff>FkyWp*7`WDSJUhMTb;h%|&!pxEi(q!m@f&}5z#nkv@Ky&ne)|EZ}DH0V{ddXJURhXn!YrV}eaf8DpYI>%asVbgcMiMedw05= z(aT%G{#NGrW4u2Hd2{o}{{5;m@%_qt&Ii43Z$|e7eTUo`f^ffR^D|v-_;uI){lcGo z*JE6ZRCoT~Sf5u+y~oE|;Ds|2%lPmd(;fO*`yfBzgZ!+)FEOljgi7r9>}M3FP4nxF zv0!^x%>p=##>)5@CdTxzs?Tu>TMSdxNBU@E0=Z?@sz3rVpKKn3(^2-X(G%^Ulb;SloW=yu(=h}SxUVygSj{MA`C->`jiOy=7!eo#M()pgjKRSt%Yukyhe-h_M!`4RFk4!{EB zBghw!E0F7uF*N)DzcXMY{f$Z>zTHh$u@0%rkz?dS0s6HF5B#M--Dj5i8`Izq=45J z=aQ{in`TM-)y}Flr?%|UMqy{|dXeRJa=Ebi3pP!*iJU7ox?S5gw>u|0tLO91YLai8 z)1BO^4)f_eD_yT_*nC@ka~CW!u4RQe+euSoT};-kSx%GOnqni*ZDB4XE7q*1)^1vO HVM@)v6gNF3 literal 4361 zcmb7{O=w(I6vuBS(}`8Vr_@EU%7D1jGS!WUXk%-MNFXK#QCwu2c_~9DGi5TV>B=B} zA*I-b3L+A8*M$p(A|eHs-MA42MM0zs#f4pn_z{Tz-@W&|xp~Rhns9ROJsS7q+FA;Pj*v)HeyxnxS^kZ_@kiRV0Ek?U{|JvFr+tCZ^ zhu!Nps5e?eJza=jvLYAh>gaXvWK*yDK3rrke}(VEV%-KFEaNah% zF-~~Ms9o@*O`Nk@$t~aY3pd;Ll6J$571DYdt`^zy{s*GE+a%hy=3Jfg-Er^nv~3%x>K-x-V9Uso)NeHshC z$?FYWn!?vLVnN?ysAhgfOEogA>xpX=RvIIF^vF#=^kaJqIq6X4|52bNfysZ8=%HPC+=7c*)uBi+Rdv75e##q~i(Lyig zbVt;KXPDSs(1QqU+?fx%-`<{CjeWA3V`DzC!Odvfp*?!!iS5hUvc96#{2OL@<^7WC z0#nwpv+1Tf_I|S3Pez}dN5u`^&nUz@P0sYg-eG3T%Ci;y3u!OPHQPmoX%TmP7IUT- z%Vw3O`LH+&AK@tid55R9AZ^ttWB&yS(7Sb5g72@TuNE_wx0Ls4s;? zFW8DFe0$DNx^$*>+$INql)OAA`?0Nup1dSr{E-j#teiKrx@=;{nK)88_2K+p)c3hY zJmTMRU!vcQ=-1*N<=1e{ubuyo-$i1JelJD8;HCK*uEp_w%*Xtmjc4m$vm!eJ4iz?n1qHjf4M4O_U<@|QhL!w#HbE4xS{wKdjbWrrL zXi79MdS0|FdR25@^r7e@(PyH|qHjb$h^~l!5&b6mL-dcRqKDU1?{wZj(r+#erh9{S zuj^)eizny1?SY$W4<0-7Ox`@z>psy+Pwr@Qxp^XQ%`Nv%=I%&8Zw_)dmk*|!YqNQ$ z*K9rAUe4X)Yx&~pAfL@w2EBehxirZ8NAphe44QL;)owR$xt+qv_HuA}$Q^6NNYg8?5&G`M|x speed <90>; - turn door to z-axis <0> speed <90>; - wait-for-turn doorl around z-axis; - - move post to y-axis [0] speed [52]; - wait-for-move post along y-axis; + if( TRUE ) + { + turn doorl to z-axis <0> speed <90>; + turn door to z-axis <0> speed <90>; + sleep 1000; + } + if( TRUE ) + { + move post to y-axis [0] speed [52]; + sleep 1000; + } + if( TRUE ) + { + spin dish around y-axis speed <90>; + move barrel to z-axis [0] speed [24]; + move light to z-axis [0] speed [16]; + turn antenna to x-axis <0> speed <90>; + sleep 1000; + } - show light; - spin dish around y-axis speed <90>; - move barrel to z-axis [0] speed [24]; - move light to z-axis [0] speed [16]; - turn antenna to x-axis <0> speed <90>; + sleep 33; +} - wait-for-move barrel along z-axis; - wait-for-turn antenna around x-axis; - isOpen = TRUE; +deactivatescr() +{ + if( TRUE ) + { + stop-spin dish around y-axis; + turn turret to y-axis <0.000000> speed <100.000000>; + turn sleeve to x-axis <0.000000> speed <100.000000>; + move barrel to z-axis [-24] speed [24]; + move light to z-axis [-16] speed [16]; + turn antenna to x-axis <90> speed <90>; + sleep 1000; + wait-for-turn turret around y-axis; + wait-for-turn sleeve around x-axis; + } + if( TRUE ) + { + move post to y-axis [-52] speed [52]; + sleep 1000; + } + if( TRUE ) + { + turn doorl to z-axis <-90> speed <90>; + turn door to z-axis <90> speed <90>; + sleep 1000; + } + sleep 33; } -Close() +Go() { - isOpen = FALSE; - stop-spin dish around y-axis; - turn turret to y-axis <0.0> speed <100.0>; - turn sleeve to x-axis <0.0> speed <100.0>; - - wait-for-turn turret around y-axis; - wait-for-turn sleeve around x-axis; + set ARMORED to 0; + if( !Static_Var_1 ) + { + call-script activatescr(); + } + Static_Var_1 = 1; +} - move barrel to z-axis [-24] speed [24]; - move light to z-axis [-16] speed [16]; - turn antenna to x-axis <90> speed <90>; - wait-for-move barrel along z-axis; - wait-for-turn antenna around x-axis; - hide light; +Stop() +{ + Static_Var_1 = 0; + call-script deactivatescr(); + set ARMORED to 1; - move post to y-axis [-52] speed [52]; - wait-for-move post along y-axis; +} - turn doorl to z-axis <-90> speed <90>; - turn door to z-axis <90> speed <90>; - wait-for-turn doorl around z-axis; - set ARMORED to 1; +InitState() +{ + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; +} + +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + call-script Go(); + currentstate = 0; + } + if( statechg_DesiredState == 1 ) + { + call-script Stop(); + currentstate = 1; + } + } + statechg_StateChanging = FALSE; } Create() { hide flare; - isOpen = 1; + Static_Var_1 = 1; + call-script InitState(); + restore_delay = 3000; shooting = 0; shotcount = 0; - SLEEP_UNTIL_UNITFINISHED; + while( get BUILD_PERCENT_LEFT ) + { + sleep 250; + } spin dish around y-axis speed <90>; } @@ -74,46 +137,42 @@ lua_UnitScriptLight(lightIndex, count) return 0; } - -#define BASEPIECE base -#define MAXTILT 0 -#include "../unit_hitbyweaponid_and_smoke.h" +#define SMOKEPIECE base +#include "smokeunit_thread_nohit.h" Activate() { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; - start-script Open(); + start-script RequestState(0); } Deactivate() { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; - start-script Close(); + signal SIG_AIM; + start-script RequestState(1); } -SetMaxReloadTime(reloadMS) +SetMaxReloadTime(Func_Var_1) { - restore_delay = reloadMS * 5; + restore_delay = Func_Var_1 * 5; } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { if (shooting==1) {return(0);} - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; - if (!isOpen){ - call-script Open(); + signal SIG_AIM; + set-signal-mask SIG_AIM; + while( !Static_Var_1 ) + { + sleep 150; } - turn turret to y-axis heading speed <50.0>; - turn sleeve to x-axis <0.0> - pitch speed <50.0>; + turn turret to y-axis heading speed <50.000000>; + turn sleeve to x-axis <0.000000> - pitch speed <50.000000>; wait-for-turn turret around y-axis; wait-for-turn sleeve around x-axis; return (1); } -FireWeapon1() +FirePrimary() { shooting=1; shotcount = shotcount + 1; @@ -123,17 +182,20 @@ FireWeapon1() shooting=0; } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = aimfromy; + piecenum = aimfromy; } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = flare; + piecenum = flare; } - +SweetSpot(piecenum) +{ + piecenum = base; +} Killed(severity, corpsetype) { diff --git a/scripts/Units/armanni.cob b/scripts/Units/armanni.cob index 8be020dd4ffb1e94c4f6bafbc9965676f927abfb..35a50bea815e77a1d13f62bbb5632be78a6653a4 100644 GIT binary patch literal 4931 zcmds5O=w(I6h4_uC#`nzv{hO`c%kAdi=kvCMVneur4h!Cq6@`5lUw_6GBdt;smVeZ zU5hRRi{PS27b3V(L^l?fBD!*;D_527j35Z55WnxddnPxpZ!{AZf&*Xfz32b$-WgIC zkt4uiV5u%LgO#5b?h*MI_yd^3`JsD7rlMLjMdorNx(^G_w;wB3k|h@9*T(QjH{Q)@ z9GX*6X!C^E6PZ`rIEq9PQIviuTcx+?d00j~RZi&SC=TvJzpN=|;9V?5PS&sQ)z?4u>zdcI+Sb3>-ew%MYdtZZ#W-$uW}#D6 z_oLni*%BX&>ek<@2O`G)rP3Qk&#`A7^j~ilb1>?a?<2*HCoy_U0zQ;8UrK|ovaZ>+ z+^9!eS|{l9Ebt>S_5fogk8$3>Qu8v@32jg(jGH>t)mlN8e#^QeKIAms<)R+<<6yj< z_zPZxg2aW~h&}iuSb&U$>~P)dtk4!Cd(2X40OXD@SgC)c)q&3 zs44ARe3aF@1U}_><{XocXAL>kbrw!RiL_g!HK!uRb<)#FB2VY=jyDC&pl{~aXk|ao z2R0cC?`x>TJ>zHJKk%}eBjRMu$g+M?_6!NlqSl$0Pn1@?tK3%k32mtTsIc)y;Iqo# zNwqy4*?oh!#;cGs}T z<1;Tu^OiqeN1Y?;mTRu|z}MNR;OpG?ckUW(Rmt-1hP9=PG^ZoRz*s`R;a#^GrHr(S z9DeaRkYu$8&H&KHndHpEGaDZ_ohpGhOp% zXV#20<{3|ezByQSdsPx82@p6!Qz&p7y7V4N@hh9GYed-@w}OwM+9V{dne z)nd09h(V&yAy(tr48$Ond0K18+dPK%QQt4$o8u@db!ls_y_qC$>x->J__6q{FI7CN z|0KSwFID!e{*&0VzD%NH{i=$=`c=jIyMC>(W_Fi+zjzn++OHV0<@umKX_Mq;afdlp z-5u-eB)0!ezpbwHXYuUij@wM^SKsEt^!MV^YBx!3%>E=g<#}SSCz+Yhr`44GxBbxX z`BvI2Rq5=dCN@|5)wg-uum1mG_QKg8*Qft#_Bbj_z$d_U;0NF*;6V)OB5)q~5cmT4 z8u%9Y5jcc~&H?klDc~%?|GzYWM}Y-k5oiG~0;|9V@D}h6a0U1X_#C(nd`z zsbu4V>-3V>`T%;hrZICt4W1Shc5!6muaNiru%H+S7`A|1^jN!KpI-=_Qp D6N_X3 literal 3692 zcmbVPJ&0UY6h1RMnXDT11yW?e;(-W)786lW5VD(HqA>`IDfo-8?sd* zBvv7%h=?rMq*t`CFj|J7m5tU)$^^7CtlxLv{bugW&TP~PC-d7J8dD6zx`GohskH#`fYEacd({z-RU^QlE_TngR zVhKty#<8?Ey02RDDCHr);#UuZ{3nYDoh=jLBG&I?aYP$c}f($FbktnT`FP*G_5q|ku`Jfb zIe!ar+e{GlhcjkPjI+dhYoD+0KCTVO{0`ux%2r3Z7{8B^H2n-|R);<3!;|oMQjS;R z_sGulnk5s-A?!6aw%1#e z+<(8L9`;N-;+?`wXixNv#W+6ZYWO|?6UUxa3;lh}?aFV5LDF$N*PkBE*6`;1{6bFZ zl!v|aHKf(s((lt=zgylOcvQc>tNm1CTuIdjy>(*|nC;m2KJxoFgZkMo*CfPrHH{vyK@p?1j35oGO z$4P(wZj;{*y#Bo;z5jPoq~~vYY_C4bU%eC0dWZAHymq~tfb+Y6lm2_*R9(V#752m- zT;hdG_QEB-a7iy*;)P50!XptGQL@&nhid5s(phISd+&5FFW1(Kd{DlbpTAJr z>v?%>>x|0={oaXo%-KrT&Ca{_TDSk9v!(SizsMLXF4J|*m8Y^x@3>AsYrmU!VU%~P zNJs2=UO3$$K3?>Ps<$^?5i%aJlX<7(+V(+)D%<^j(eZ!VpubUCxmgshw2h8)7adH% dL7i`0uydWPaF+E-*Xw20@j$Y?dk$H)>>q+g5*h#i diff --git a/scripts/Units/armantiship.bos b/scripts/Units/armantiship.bos index a5dc32799c2..3eed437dc12 100644 --- a/scripts/Units/armantiship.bos +++ b/scripts/Units/armantiship.bos @@ -1,28 +1,35 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece ground, base, anti, antiflare, door1, door2, front, radar, blink, wake1, wake2; -static-var oldHead; +static-var Static_Var_1, oldHead; static-var Stunned; // Signal definitions -#define SIGNAL_MOVE 1 +#define SIG_MOVE 2 -#define SIGNAL_AIM2 512 +#define SIG_AIM_2 4 + +SetDirection(heading) +{ + var spd; + spd = (get ABS(oldHead) - get ABS(heading)) / 2; + turn ground to y-axis heading speed spd; + turn base to y-axis 0-heading speed spd; + oldHead = heading; +} -#define RB_MASS 40 -#define RB_LENGTH 8 -#define RB_WIDTH 3 -#define RB_PITCH_ACCELERATION 10 -#define RB_ROLL_ACCELERATION 8 -#define RB_WAKE_PIECE wake1 -#define RB_WAKE_CEG 1024 + 1 -#define RB_BOWSPLASH_PIECE wake2 -#define RB_BOWSPLASH_CEG 1024 + 2 +#define BASEPIECE base +#define HITSPEED <10.0> +//how 'heavy' the unit is, on a scale of 1-10 +#define UNITSIZE 8 +#define MAXTILT 200 -#include "../bar_ships_common.h" +#include "unit_hitbyweaponid_and_smoke.h" Lights() { @@ -33,6 +40,40 @@ Lights() } sleep 2500; } + sleep 50; + start-script Lights(); +} + +RockOnWaves() +{ + var rockDir, rockAng, rockSpeed; + rockDir = <-0.1>; + rockAng = <-0.1>; + while( TRUE ) + { + while( get ABS(rockAng) < <1.11> ) + { + rockSpeed = <1.25> - get ABS(rockAng); + turn ground to x-axis rockAng speed rockSpeed*2; + wait-for-turn ground around x-axis; + rockAng = rockAng + rockDir; + } + rockDir = 0 - rockDir; + rockAng = rockAng + rockDir + rockDir; + } +} + + +Go() +{ + spin radar around y-axis speed <-50.043956> accelerate <2>; + return (0); +} + +Stop() +{ + spin radar around y-axis speed <0.000000>; + return (0); } ExecuteRestoreAfterDelay() @@ -49,9 +90,9 @@ SetStunned(State) { Stunned = State; if (Stunned) { - call-script Activate(); + call-script Stop(); } else { - call-script Deactivate(); + call-script Go(); start-script ExecuteRestoreAfterDelay(); } } @@ -69,37 +110,74 @@ Create() hide blink; hide antiflare; hide ground; - start-script InitRockBoat(); - SLEEP_UNTIL_UNITFINISHED; - start-script BoatPhysics(); - start-script Activate(); + Static_Var_1 = 0; + while( get BUILD_PERCENT_LEFT ) + { + sleep 500; + } + start-script RockOnWaves(); } Activate() { start-script Lights(); - spin radar around y-axis speed <-50.043956> accelerate <2>; + start-script Go(); } Deactivate() { - spin radar around y-axis speed <0.0>; + start-script Stop(); } +waveSplash() +{ + while( TRUE ) + { + turn base to x-axis <-1.0> speed <1.0>; + move base to y-axis [0.23] speed [0.17]; + wait-for-turn base around x-axis; + turn base to x-axis <0.0> speed <1.0>; + move base to y-axis [0.0] speed [0.17]; + wait-for-turn base around x-axis; + } +} -StartMoving(reversing) +StartMoving() { + signal SIG_MOVE; + set-signal-mask SIG_MOVE; + var waketime; + start-script waveSplash(); + var bowtime; + bowtime = 0; + while( TRUE ) + { + emit-sfx 1024 + 1 from wake1; + if (bowtime) emit-sfx 1024 + 2 from wake2; + bowtime = !bowtime; + waketime = (get CURRENT_SPEED) * 100 / get MAX_SPEED; + if( waketime < 50 ) waketime = 50; + sleep 12000 / waketime; + } } StopMoving() { + signal SIG_MOVE; + turn base to x-axis <0.0> speed <1.0>; + move base to y-axis [0.0] speed [0.17]; +} + +SweetSpot(piecenum) +{ + piecenum = base; } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM2; - set-signal-mask SIGNAL_AIM2; + signal SIG_AIM_2; + set-signal-mask SIG_AIM_2; turn door1 to x-axis <40> speed <70>; turn door2 to x-axis <-40> speed <70>; wait-for-turn door1 around x-axis; @@ -107,18 +185,19 @@ AimWeapon1(heading, pitch) return(1); } -FireWeapon1() +FirePrimary() { + sleep 150; } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = antiflare; + piecenum = antiflare; } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = antiflare; + piecenum = antiflare; } Killed(severity, corpsetype) @@ -128,12 +207,20 @@ Killed(severity, corpsetype) corpsetype = 1 ; explode ground type BITMAPONLY | NOHEATCLOUD; explode base type BITMAPONLY | NOHEATCLOUD; + //explode nanoemit2 type BITMAPONLY | NOHEATCLOUD; + //explode door1 type BITMAPONLY | NOHEATCLOUD; + //explode radar type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode door2 type BITMAPONLY | NOHEATCLOUD; + //explode antiflare type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } if( severity <= 50 ) { corpsetype = 2 ; explode ground type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode nanoemit2 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode radar type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode antiflare type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) @@ -141,10 +228,21 @@ Killed(severity, corpsetype) corpsetype = 3 ; explode ground type FIRE | SMOKE | FALL | NOHEATCLOUD; explode base type BITMAPONLY | NOHEATCLOUD; + //explode nanoemit1 type SMOKE | FALL | NOHEATCLOUD; + //explode nanoemit2 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode door1 type BITMAPONLY | NOHEATCLOUD; + //explode radar type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode door2 type BITMAPONLY | NOHEATCLOUD; + //explode antiflare type SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; explode ground type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode base type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode nanoemit2 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode door1 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode radar type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode door2 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode antiflare type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/armantiship.cob b/scripts/Units/armantiship.cob index 56f5dbe6bc71d4bdd135aac5f56ed7c0857d0f64..0dc06bd64cfff7e7cfabd1436f7c63a7dd114642 100644 GIT binary patch literal 3912 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 + spin dish around y-axis speed <0.000>; } Lights() @@ -36,18 +31,118 @@ Lights() } sleep 2500; } + sleep 50; + start-script Lights(); +} + +activatescr() +{ +// while (TRUE) +// { +// turn head1 to y-axis 1000* Rand(1,66) now; + start-script DishSpin(); + //start-script Lights(); + sleep 150; + +// } + + + sleep 26; +} + +deactivatescr() +{ + turn head1 to y-axis <0> speed <45>; + turn head2 to y-axis <0> speed <45>; + turn head3 to y-axis <0> speed <45>; + turn head4 to y-axis <0> speed <45>; + //hide blink; + + sleep 26; +} + + +OpenYard() +{ + set YARD_OPEN to 1; + while( !get YARD_OPEN ) + { + set BUGGER_OFF to 1; + sleep 1500; + set YARD_OPEN to 1; + } +} + +CloseYard() +{ + set YARD_OPEN to 0; + while( get YARD_OPEN ) + { + set BUGGER_OFF to 1; + sleep 1500; + set YARD_OPEN to 0; + } +} + +Go() +{ + call-script activatescr(); + call-script OpenYard(); + set INBUILDSTANCE to 1; +} + +Stop() +{ + set INBUILDSTANCE to 0; + hide cagelight_emit; + //turn cagelight to y-axis <0> speed <1000>; + call-script CloseYard(); + call-script deactivatescr(); } SetStunned(State) { Stunned = State; if (Stunned) { + hide blink; call-script DishStopSpin(); } else { call-script DishSpin(); } } +InitState() +{ + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; +} + +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + call-script Go(); + currentstate = 0; + } + if( statechg_DesiredState == 1 ) + { + call-script Stop(); + currentstate = 1; + } + } + statechg_StateChanging = FALSE; +} + Create() { hide nano1; @@ -57,43 +152,67 @@ Create() hide cagelight_emit; hide blink; hide pad; - spray = 0; - call-script SetStunned(0); - SLEEP_UNTIL_UNITFINISHED; + unitviewer = FALSE; + spray = nano1; + call-script InitState(); + while( get BUILD_PERCENT_LEFT ) + { + sleep 1000; + } start-script Lights(); } +#define SMOKEPIECE base +#include "smokeunit_thread_nohit.h" -QueryNanoPiece(pieceIndex) +QueryNanoPiece(piecenum) { - spray = (spray + 1) % 4; - pieceIndex = nano1 + spray; + + if( spray == 0 ) + { + piecenum = nano1; + } + if( spray == 1 ) + { + piecenum = nano2; + } + if( spray == 2 ) + { + piecenum = nano3; + } + + if( spray ==3 ) + { + piecenum = nano4; + } + spray=spray +1; + + if( spray >3 ) + { + spray=0; + } } +Demo() +{ + unitviewer = TRUE; +} Activate() { - signal SIGNAL_TURNON; - set-signal-mask SIGNAL_TURNON; - turn head1 to y-axis <-30> speed <30>; - turn head2 to y-axis <30> speed <30>; - turn head3 to y-axis <30> speed <30>; - turn head4 to y-axis <-30> speed <30>; - - FACTORY_OPEN_BUILD; + signal SIG_ACTIVATE; + //start-script Lights(); + start-script RequestState(0); } Deactivate() { - signal SIGNAL_TURNON; - set-signal-mask SIGNAL_TURNON; + signal SIG_ACTIVATE; + set-signal-mask SIG_ACTIVATE; + //hide blink; sleep 5000; - turn head1 to y-axis <0> speed <30>; - turn head2 to y-axis <0> speed <30>; - turn head3 to y-axis <0> speed <30>; - turn head4 to y-axis <0> speed <30>; - - FACTORY_CLOSE_BUILD; + set-signal-mask 0; + start-script RequestState(1); } StartBuilding() @@ -103,8 +222,8 @@ StartBuilding() show nano3; show nano4; show cagelight_emit; - spin cagelight_emit around y-axis speed <175> accelerate <1>; - spin pad around y-axis speed <30.005495> accelerate <1>; + spin cagelight_emit around y-axis speed <175>; + spin pad around y-axis speed <30.005495>; return (0); } @@ -115,14 +234,18 @@ StopBuilding() hide nano3; hide nano4; hide cagelight_emit; - stop-spin pad around y-axis decelerate <1>; - stop-spin cagelight_emit around y-axis decelerate <1>; + stop-spin pad around y-axis; return (0); } -QueryBuildInfo(pieceIndex) +QueryBuildInfo(piecenum) +{ + piecenum = pad; +} + +SweetSpot(piecenum) { - pieceIndex = pad; + piecenum = base; } Killed(severity, corpsetype) diff --git a/scripts/Units/armap.cob b/scripts/Units/armap.cob index 378433cd7c097aeadfc7fec592300b58f3c253d3..38b561b5dbe459e43522c658a9b6f03ef7e944f0 100644 GIT binary patch literal 5069 zcmb_gO=w(I6h2AQNn8J(iV!Q}xDk;GX*GtcDN$(w0rqLvn! zY}Ac{NEHj>4+x5&f-Xcsq1a6Y!9{lgT`IT`r8^bB@7#MPx6e02UhIQ!?!D*dyXT&B z-knLtL}UWE4tRV_q=J#p>FY(-fO~Hc*@gA<7-dePt1*m3qY(xjKfDW*Nr|rF+RHG& zwi3zwf9+K_z@EJ1koih2|1^HD1Ud%Ky17;HZKDDm#B(H$FtSZHSIX zG0s78uq=#6^H$xau~8<~vB>iFg15P`z;H4tWkMou2dm8%wCWq#qvgu0n14qa>@CkV>UUIS*O~*CQX>0AvD)tAsujT;z z{tBBgu8_leld%{deQ7fae#-N{eLd{-4D;??+lhtg)?;$I9W=!G*w=haZ+nD($~ou! zCcGbeo)7&fGC$_-l9y9&XE1)v339GIfKls)QQv8dE=Rt`So5x8jkt$#kki)W;hJVV z&kmh9TU>pR;T=NGXW>BqU$_C@6~=iFNumMw32H|BkmHEwAT9U2tT%nXl9Kzq>239V zh=KW`%4$dM844y{UfbS2R++oEIJJG)L(E<1uiTOIKNaj(wAYmK;-2;Q1k5!b8iRJH z&!Ojg&GU`W5O*`(nX@xqKAMw2+wKqNQMQ=-4k*)TxxBc1MQdVTEG2pw; z`ZtVEc_v*>{_s4Y>G%5jdEIvzxyZvYuhaP3&W;@H`J(T7`h~VS?>WDh`9)LQ zouQad=KOn(QF|4ma$GpERhUrT!zlB3PowdEUsoZ@>&%Zv)aiW; zKh8DRe%^!L`1H33^i_!Re5?m$MLPX`GeF0B(yvS$`dexMA7dXBhyFer;HU37bj(Zs zp47X~=YJOtN`A)8`dJ>USX17^X!+ulGK;B4fv=7El{vTNzlhKBUxv@>QpERv>QcmK zvNG{my~_9ut7Dz{_jNqy>&U!qw2ooESjT+5t)^k_%&yG)wON1bfzA5c`8Mlsel~98 z%=Rvq@v&YqANEI?JX>Fx|3>1>_Z4ejrgv-Scza`*u%kcF$pbG-%H& z-8*5P2JM;eosIZh>D~$V+)N*_Z2TLA|EJgo%m58w6?hx?82B3a5m*CmM?*XaoCQ7y zE&+c5<0$qmz&_vrFb6yV@P9U|z^lL+;630|;7i~fa2~h-Tm*gsegpml{sy+=H`@eo zD{u#}8@LZR1RMntpb4A+R)AB$D)18U3h+Ac7Vr-60q_y<3GfB*4KSN_7HjP^bCYhX zt&2nH!eX~0alM;98+VgVeOVewxO$|WWKYJ+4cXspbrPLD(2^SbrIvJS-IXj$8gej8 zF$aM>mYi5gI)1T#Iiak!)H>+>i|0?9tD? u`Z=YayJazn8}4&T=X>;Xuhi3~G>|Yk)=abGQjZssCNs4@dn#GNdHw|*eRhBV literal 3611 zcmb7HO=w(I6h1SVPAiS|sR$}450^#CBn_y$BxYf$k;t^TP-tE=ugSBMnK79N1rZk& z6r{`6g-8~HF1qmt7j9hWrYkpfB?^LI5rkreZiM)K=iP5|Go4AOc;?)5&Uel|-?{g` z(3+V&6l8M34FCIoZ%mqf47mw;7M|om{G`<+mP%4h9ws`iCAM5o05$qr^expBu4`N) z&h;GEjYE!o2Fn_JRcOW-vZdV^eHFNBjS^!?-LZthldw-}VyNjShBjl&S08cD#A?rf z37(xus*TbY$9xV++0T5a2ZbKdM^wZ22%HuJjy~07AI~4#+bj3C#)Qwr^U;H)<{Z=; zb2Jz3#}w^*Z|-hBapcR~%UDvs56xWCRn1{-jq;3y1@u5{jA1@GYxZ*pa!;MpD9-HR z76D-v z8(6BI?xt+r4Z`X3n&A%JjC|UI81_N!dnEoMe18jhe}s62z}w{=vDtcZEBLFCKkj)N zan6-7hJQ)3f@V)KY0kR_rsJyZ#Z-1S}$6^SFX=IR${OJwXx?*m~SB#pm!~4XJ zjEJcwk5)Aw;aa@XBi3@ip#_;d|k4 z1=`;Vw9gLO?=Ljp3Uj^<`ptK+XaxUI>@4pRVrXY@C$PM)cd5N>c5fZ-PoMXL z-V%D`zVUaMDf-6nZ-l-x#6H1TT7I|Q!Vuzo?;n_LVv@sy_bOZQPeRBG4T2|@M1llxBA{DCOWT=g01+c!Pa@n7BAW2C0o3%gnXTs zZ1ECayc8ei#hD+}yK1TTs|WP1__*E`SMRdN^{)MgduJObAYVf6Kz1Pfo1Q{uAg@Du zkZ&M6kS9@K3i1Mk|K4~Savbs;WEQdrIRiNdxd7RMybJjdat-ns*x0BR=#oRm8{cUD)N=w=2rT}+w?Ew znU>9dw$Y#8D%!20vuaJ092lPM)~U{guAMI0ZInKrZRXa?TGm0`DgT}J-;@43V{3WV ln)2Ui|2^ryGqzH+t%d&We7opev=y*wv+>>4xqQ9o+y7IU7<2#t diff --git a/scripts/Units/armarad.bos b/scripts/Units/armarad.bos index c144758a9f2..aac54e2bd4f 100644 --- a/scripts/Units/armarad.bos +++ b/scripts/Units/armarad.bos @@ -1,8 +1,11 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, turret, dish, spinner, blink; +static-var statechg_DesiredState, statechg_StateChanging; static-var Stunned; #define BASEPIECE base @@ -11,7 +14,7 @@ static-var Stunned; #define UNITSIZE 5 #define MAXTILT 100 -#include "../unit_hitbyweaponid_and_smoke.h" +#include "unit_hitbyweaponid_and_smoke.h" Lights() { @@ -26,35 +29,90 @@ Lights() start-script Lights(); } +Go() +{ + spin dish around y-axis speed <60.010989>; + spin turret around y-axis speed <30.027473>; + spin spinner around y-axis speed <130.027473>; + return (0); +} + +Stop() +{ + spin dish around y-axis speed <0.000000>; + spin turret around y-axis speed <0.000000>; + spin spinner around y-axis speed <0.000000>; + return (0); +} + +InitState() +{ + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; + return (0); +} SetStunned(State) { Stunned = State; if (Stunned) { - call-script Deactivate(); + call-script Stop(); } else { - call-script Activate(); + call-script Go(); + } +} + +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + call-script Go(); + currentstate = 0; + } + if( statechg_DesiredState == 1 ) + { + call-script Stop(); + currentstate = 1; + } } + statechg_StateChanging = FALSE; + return (0); } Create() { hide blink; + call-script InitState(); + return (0); } Activate() { start-script Lights(); - spin dish around y-axis speed <60.010989> accelerate <1>; - spin turret around y-axis speed <30.027473> accelerate <1>; - spin spinner around y-axis speed <130.027473> accelerate <1>; + start-script RequestState(0); + return (0); } Deactivate() { - spin dish around y-axis speed <0.0>; - spin turret around y-axis speed <0.0>; - spin spinner around y-axis speed <0.0>; + start-script RequestState(1); + return (0); +} + +SweetSpot(piecenum) +{ + piecenum = base; + return (0); } Killed(severity, corpsetype) diff --git a/scripts/Units/armarad.cob b/scripts/Units/armarad.cob index f186da9899c57c8f741964e169f26a0c1d317775..8d4eb54d940a83ec28d60109fd5e68922f6ea9b8 100644 GIT binary patch literal 2784 zcmbVOJ!@1!6urCItRJ9^g%G<3f)GjZu+lCjiUv~z7mbQVHra=HChq5pk|L18!a{6R zL`Y#Hh?SLv*cc?82x2ApA1t)6^PHKvyOZaxNqpgOXYM`sb7q#5MC33q4AhDuB}jhn z4~YB(#ts75k3&jSG$D!xe^3`7YhE&r#6w2LhfFapnjvh-qa=?~%&?KUvKjF@s$`}N zYmdix5d*N)JLvU};BP!Wh(!@R~X`A4}KnRjVu5SX`Fk-b}gI zIdj>K@6Tf`&~eV>g!xWUff-5c;USG`VuX#O$ ztuwr9I-eu7VIG{(D=eAc-WAM{74RIXBTZ)9{dwzkOsDe@Q+Bh4PVWvSIlVq`F8DO2 z=3#vDSi@Hc+d20yT)xj(+8TIx=$nH3k9bd<9cQrVb#A86p&ok&y&l5OKzpHleGE>ITGDTfg{f8x)^DoI81%kNdDreFHjs z+WBU?v&F1W&><=t`y0bxnB%C|amM^KzQ*IdVGPoEUT3ffbL4&KPp;NSUvl^!sL%U$ z?cE&i4%`M=ZM~YD?FIv(k9^IVBlIIx@A0Dd)Bd$q_2WFwgQNMh2i@D5%(?r>{AI?* zx6R(~9zwUDyc}2a^X~Su>zic`{XN;13ui-)&Xl%eBu8#eTfP_O)gH--u%}#ylsWt! znSI^66+xA^Y275z##-sewLJsBUiW&&(>EVMmygGL$(k9LGY#vv@7dS?+t+XTvEwsV z1h;%lhN8~S5pqyn`CbO`w0`Y*5bs~TEU+lw%P5Gfk8yW<7Q5|bC!Y2aA$NXm`TF-- zBmL=PFVGHmLTBI4XD@f^fBo~lqI8)BHh@jwJMarQghEGvF`xyk0{4N3z!QM~%S{7U zff}#`)PWAL20Q?s0vo_f;0^E&_yBAHpMWpGH{fELO{~r))n=nEl{<~4?q7G6hB@t7eH*5-e8g^`s`3lh#Vo@%qVjLi5>$EWOLcxumMg%Dn_m l%|<4d(&c41&R08$WGn48JYu1U$YNz_VhTltKnhVTa>*^pk>nC{7eVXTiIs?j zNJ_EOB9*0$f}QveXc4ReYG>j1^Y+bUUCtyhy!r8+`OeIHd#Rb(QAu6$xnfq;$=}?l z*_PzBsWtgT8FC2O z%zg|!v09p+mNXLYt*Y3FVw_+&br=|IV#Pj+J%gnV@n3+ij3m`G_Z4H*uq5wiD&lc5 zR}mLxjWgYfIDB3cp37tZ_8R6$N5W1*zIw2xg&Djza>#`eK0k-&?&pJJUUIjjaz55c z4aW7F<0uW@+yygpAC}~I;<=obR>DkAWq9x9 zoehhTI>77hd^hZZH@g?(HEg|8WF8@j zSLg+uJDl6^Cxr2pxOWsF=goO3spa2%^m**gi97~X5aB&`|6U$r9*;>K><)F%Q>lJA zR;*u+4Xf|JSH3fNPLbHm@8*#T;-fBa$@|*|lZ=M_5_j9at4GNu9(lCzR2$z2KmTR%y@O1?>cNPbKHNa{z_vgD*>TyjQoPLfKl zb^22eZ)dIbweIzH(X#2*YHKlT&#ta5XLhr*xYY02Y}TLcZ+5#`+pcb8t$t>c3;oUm olW$9IiV*XyUS|Exjg72t?M`pWdg~pfZrJ=vr@L%_0qAa$EdT%j diff --git a/scripts/Units/armart.bos b/scripts/Units/armart.bos index 19d1c144a34..0b2826fb187 100644 --- a/scripts/Units/armart.bos +++ b/scripts/Units/armart.bos @@ -1,5 +1,7 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece flare, turret, base, barrel; @@ -7,53 +9,43 @@ static-var restore_delay; static-var out_of_arc_count; // Signal definitions -#define SIGNAL_MOVE 1 -#define SIGNAL_AIM1 256 +#define SIG_AIM 2 #define BASEPIECE base -#define HITSPEED <50.0> +#define HITSPEED <55.0> //how 'heavy' the unit is, on a scale of 1-10 #define UNITSIZE 2 #define MAXTILT 100 -#define RECOIL_POWER 50000 -#include "../unit_hitbyweaponid_and_smoke.h" -#define TB_BASE base -#define TB_TURNRATE <15.0> -#define TB_TILT_X <0.10> -#define TB_BANK_Z <0.10> // Do not define this if you dont want banking -#include "../tilt_bank_mobileunit.h" +#include "unit_hitbyweaponid_and_smoke.h" +RockUnit(anglex, anglez) +{ + turn base to x-axis anglex speed <50.000000>; + turn base to z-axis <0> - anglez speed <50.000000>; + wait-for-turn base around z-axis; + wait-for-turn base around x-axis; + turn base to z-axis <0.000000> speed <20.000000>; + turn base to x-axis <0.000000> speed <20.000000>; + return (0); +} Create() { hide flare; restore_delay = 3000; out_of_arc_count = 0; - turn flare to z-axis <-45.0> now; - turn flare to x-axis <-45.0> now; - call-script TB_Init(); -} - -StartMoving(reversing) -{ - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; - - START_TILTBANK; -} - -StopMoving() -{ - signal SIGNAL_MOVE; - STOP_TILTBANK; + turn flare to z-axis <-45.00000> now; + turn flare to x-axis <-45.00000> now; + return (0); } -SetMaxReloadTime(reloadMS) +SetMaxReloadTime(Func_Var_1) { - restore_delay = reloadMS * 2; + restore_delay = Func_Var_1 * 2; + return (0); } static-var Stunned; @@ -62,8 +54,8 @@ ExecuteRestoreAfterDelay() if (Stunned) { return (1); } - turn turret to y-axis <0.0> speed <80.0>; - turn barrel to x-axis <0.0> speed <80.0>; + turn turret to y-axis <0.000000> speed <80.000000>; + turn barrel to x-axis <0.000000> speed <80.000000>; wait-for-turn turret around y-axis; wait-for-turn barrel around x-axis; } @@ -80,10 +72,10 @@ RestoreAfterDelay() start-script ExecuteRestoreAfterDelay(); } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; // out of firing arc aim calls happen during "preaiming" logic // logic to reset gun to neutral if the target heading has been @@ -101,35 +93,39 @@ AimWeapon1(heading, pitch) } out_of_arc_count = 0; - turn turret to y-axis heading speed <110.0>; - turn barrel to x-axis <45.0> - pitch speed <40.0>; + turn turret to y-axis heading speed <110.000000>; + turn barrel to x-axis <45.000000> - pitch speed <40.000000>; wait-for-turn turret around y-axis; wait-for-turn barrel around x-axis; start-script RestoreAfterDelay(); return (1); } -FireWeapon1() +FirePrimary() { emit-sfx 1024 + 0 from flare; move barrel to y-axis [-2.500000] now; - move barrel to y-axis [0.0] speed [7.500000]; + move barrel to y-axis [0.000000] speed [7.500000]; return (0); } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = barrel; + piecenum = barrel; return (0); } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = flare; + piecenum = flare; return (0); } - +SweetSpot(piecenum) +{ + piecenum = base; + return (0); +} Killed(severity, corpsetype) { @@ -139,6 +135,7 @@ Killed(severity, corpsetype) explode base type BITMAPONLY | NOHEATCLOUD; explode turret type BITMAPONLY | NOHEATCLOUD; explode barrel type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } if( severity <= 50 ) @@ -147,6 +144,7 @@ Killed(severity, corpsetype) explode base type BITMAPONLY | NOHEATCLOUD; explode turret type FIRE | SMOKE | FALL | NOHEATCLOUD; explode barrel type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare type FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) @@ -155,11 +153,13 @@ Killed(severity, corpsetype) explode base type FIRE | SMOKE | FALL | NOHEATCLOUD; explode turret type FIRE | SMOKE | FALL | NOHEATCLOUD; explode barrel type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; explode base type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode turret type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode barrel type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode flare type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/armart.cob b/scripts/Units/armart.cob index 1ab8e2985ddf17b95b65a9ca209c6e3d956a0af9..9f507a7ab0b7007dadbec7a05c4a88748dab6cbe 100644 GIT binary patch literal 2968 zcmc&$J!n%=6h2AY)F03%IQVa%g9r|xI20Ugs}`jwHBp?DKHFOeO_Tcig2`l{xOH)G za1g~+kb;Y#L&3$t*|~$OBI2s``|f?`_4c)?*2R>s=f3m%opVoL+AAXafnH!S?<9^g zv_~WcmVq;PUV)TiKJbwb@B?)YaypTGmQqh3!#zR1ln;9FNIy#YQA*Gk$Ydcnl<26E zi2|(ae#|E&=Qn_(*3g`MK61+C&cUv+tgXJ}AVskpl_z6pXL`n{w7fROuE*0)m>I(M zn4GCrE|i=j>uQZ|^}G3LK1$An^JXsg$eBHZNb3}P?Tl&CUT7PoBAHzaN9sbW%cZ<} zONdBpH0k_#O!FuAwCL$LfBN|K2C2a8q~!9GYsw=4NBq!5@BK+)&(ZOlyB`@Y1Wyxv zKBK>r=pigme+P9w2WZ1QIHOlMvcBCR%+NAObaaymw^#2H9n0xFBq+F9Lr31+3rhN| z_knxChc>^C@}h2O!1GUbkTGhbJ!Y@pQm$FlW}6_re+S&W@rW{aKfJcwQaa z*r(+L^Hw&Shp~uMKb}?37@D&j$%{TIm*;Lb&NB&ip}-h?{CN6WCHB3WkG~7{4(DA@ z_S|vrx-{0r?p8Wehdu`+1 z+Iq-O-}z%s{yMpNZ*|Vy=Fd6pLLPpYi+S~)`Q@Wr*c0Cg>L;C_YqAV2;|Rn`r{D9> z*cgcY(f0!5^qrN~@a%No&d&SlW@iom&JHtK(arrU$ZDUASMEi)P~U-+N%R`@r|;n+ zR9TzGaUitW86u8n`yG;;JFsg$+cWHpvv%GySyhr-{&0TApO8bZNhyBo5?Ib39FT9G|zzg65 z@EzEV#0P;vU=$b!9s@6d*T7rgJ;47ZKLVeC&%hVp2hfM_q7%Sr;2baplz|Ya11;bI z@DNx69s!rD@o4*&3FjMismwKI&CPl>_O(~0rQDdBwdxCz31cG_6JHHmWm9W}(>JPf zMlQ9?R5LbZvk*5TGcpsK=%T5GZF*MXX1#8ZWRr2EIyVtj=fbEhW7Wv$8S1g9k(#bI mP1IIf<-S42`9>_`)mjZ%XKG<&ByL8LiREs%VDJm)n*0WBY~YFj literal 3497 zcmb7HO=w(I6h4_uCq*rNc4fifP#2{jWhyT0E|bP$D6w%8e|F|Ib6bYYA1^P`QlVL> zAc%BhaG@o1>8f_+suW5^iaXarK+vqDc9lZg_uW98JR6i_q2^|=+Bz1_jM?llY8q|v1Ve}q(SHf zYvy@K;?Kl>iR=a2m(mSQ~a zspB0egWBHb1PCIqg2Pj5xo|rkykG{Tcats56GyqaE)U?d&cxto3gifn%NC z$ATYYF}}vE`uLky;E1^XO3b_>!J3dHhdQrm@LfDc!))j z-pvIW+>sxj_xFJ+#^*|GtdINB25PwN?d_am8SSNt`>4z?hP?rd!C2Dw-znu+J-^q? zvL_lAZ-UM_HipseLL7Uqc=Y8N4Pu0IvATBBG5^3mylaMwa-B=OTkKiUmS23VLY>kMI-L#1f~VP$H~DTDiHjHpSl0c_juSZgigxHP_NT21IX}DD z*xR9g1l0F6X#qIjxJPmuGlX~XDcJ;kYQVDU@ic&kd98k~yvH_+u}*tRU-b3tGwQIK zEC%;)yyNd6!%Ly({g?fDJb7h!Px)rh&icGt|Jf)0UB(~tDE`^d6J8E{1578YkGJK9 zk4ZblxjN=o8lmgVH_%arSnN4%sf)iwRL6R5chfUQd=7_cT=l)YiC!9Z`dj{W+9YFx zciQ%*|2F6qS5$kPN55+!&o3blkM3D{Ebjlwvq&r<&mSR=^{W_%`C0FO%@gjMPtXGp8(#$-11*C-2Ym%v1M&Y0w?Owm zzk)VEo1nizTcGj*k%OQr=p<+g^gbvBbwHnhz5rbXt%1G+T?f70$|o;<;L?7tJKc<;aw>Ca?qn`cvwWuaajSa)e6Me; z%V*My4cG3a&G}Zx$y*oQ;!5rsZaME|u6{mu*_3Oimt@Z6bNNcQ>zeX!Wxdt$7*ELQ sR_2U{_;l7AsNP+1S*YcNoN2Y&h;_c5W=`^zEOWV>OP3w~0pFH?0JyasB>(^b diff --git a/scripts/Units/armaser.bos b/scripts/Units/armaser.bos index 6ff9ff9c10e..066ef6f2838 100644 --- a/scripts/Units/armaser.bos +++ b/scripts/Units/armaser.bos @@ -1,16 +1,18 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, lthigh, rthigh, rleg, rfoot, lleg, lfoot,shoulder, elbow, spindle, arm1,arm2,arm3,arm4,head,eye, aimy1; -static-var isMoving, keepspinning, animSpeed, maxSpeed, animFramesPerKeyframe; +static-var bMoving, Static_Var_3, Static_Var_4, Static_Var_5, keepspinning, animSpeed, maxSpeed, animFramesPerKeyframe; static-var recently_damaged, desired_activation; // Signal definitions -#define SIGNAL_TURNON 4 -#define SIGNAL_MOVE 1 -#define SIGNAL_OFF 8 +#define SIG_ACTIVATE 2 +#define SIG_WALK 4 +#define SIG_OFF 8 static-var Stunned; SetStunned(State) @@ -56,9 +58,9 @@ spinarms() } Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptasz\Documents\GitHub\support\Animation_sources\armaser_anim_walk.blend - //set-signal-mask SIGNAL_MOVE; - if (isMoving) { //Frame:5 - move base to y-axis [-1.0] speed [30.0] / animSpeed; //delta=-1.00 + //set-signal-mask SIG_WALK; + if (bMoving) { //Frame:5 + move base to y-axis [-1.000000] speed [30.000000] / animSpeed; //delta=-1.00 turn base to y-axis <-1.666667> speed <49.999997> / animSpeed; //delta=-1.67 turn head to x-axis <3.333333> speed <99.999995> / animSpeed; //delta=-3.33 turn lfoot to x-axis <-21.730218> speed <651.906534> / animSpeed; //delta=21.73 @@ -69,12 +71,12 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn rthigh to x-axis <-46.892104> speed <1406.763083> / animSpeed; //delta=46.89 sleep ((33*animSpeed) -1); } - while(isMoving) { - if (isMoving) { //Frame:9 - move base to y-axis [-1.500000] speed [15.0] / animSpeed; //delta=-0.50 - turn base to z-axis <-0.500000> speed <15.0> / animSpeed; //delta=0.50 - turn base to y-axis <-3.333333> speed <50.0> / animSpeed; //delta=-1.67 - turn head to x-axis <9.166667> speed <175.0> / animSpeed; //delta=-5.83 + while(bMoving) { + if (bMoving) { //Frame:9 + move base to y-axis [-1.500000] speed [15.000000] / animSpeed; //delta=-0.50 + turn base to z-axis <-0.500000> speed <15.000000> / animSpeed; //delta=0.50 + turn base to y-axis <-3.333333> speed <50.000004> / animSpeed; //delta=-1.67 + turn head to x-axis <9.166667> speed <175.000018> / animSpeed; //delta=-5.83 turn lfoot to x-axis <-33.683792> speed <358.607215> / animSpeed; //delta=11.95 turn lleg to x-axis <49.722367> speed <518.531330> / animSpeed; //delta=-17.28 turn lthigh to x-axis <14.381124> speed <995.483406> / animSpeed; //delta=-33.18 @@ -83,11 +85,11 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn rthigh to x-axis <-37.564705> speed <279.821956> / animSpeed; //delta=-9.33 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:13 - move base to y-axis [-3.0] speed [45.0] / animSpeed; //delta=-1.50 + if (bMoving) { //Frame:13 + move base to y-axis [-3.000000] speed [45.000000] / animSpeed; //delta=-1.50 turn base to z-axis <-0.875000> speed <11.250000> / animSpeed; //delta=0.38 turn base to y-axis <-4.583333> speed <37.499993> / animSpeed; //delta=-1.25 - turn head to x-axis <15.0> speed <174.999999> / animSpeed; //delta=-5.83 + turn head to x-axis <15.000000> speed <174.999999> / animSpeed; //delta=-5.83 turn lfoot to x-axis <-45.066681> speed <341.486680> / animSpeed; //delta=11.38 turn lleg to x-axis <87.878997> speed <1144.698895> / animSpeed; //delta=-38.16 turn lthigh to x-axis <8.436106> speed <178.350540> / animSpeed; //delta=5.95 @@ -96,11 +98,11 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn rthigh to x-axis <-61.824256> speed <727.786538> / animSpeed; //delta=24.26 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:17 - move base to y-axis [-1.500000] speed [45.0] / animSpeed; //delta=1.50 + if (bMoving) { //Frame:17 + move base to y-axis [-1.500000] speed [45.000000] / animSpeed; //delta=1.50 turn base to z-axis <-0.437500> speed <13.125000> / animSpeed; //delta=-0.44 turn base to y-axis <-2.291667> speed <68.749997> / animSpeed; //delta=2.29 - turn head to x-axis <7.500000> speed <225.0> / animSpeed; //delta=7.50 + turn head to x-axis <7.500000> speed <225.000006> / animSpeed; //delta=7.50 turn lfoot to x-axis <-17.754073> speed <819.378248> / animSpeed; //delta=-27.31 turn lleg to x-axis <90.794558> speed <87.466856> / animSpeed; //delta=-2.92 turn lthigh to x-axis <-48.588835> speed <1710.748235> / animSpeed; //delta=57.02 @@ -109,11 +111,11 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn rthigh to x-axis <-47.725889> speed <422.951029> / animSpeed; //delta=-14.10 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:21 - move base to y-axis [0.0] speed [45.0] / animSpeed; //delta=1.50 - turn base to z-axis <0.0> speed <13.125000> / animSpeed; //delta=-0.44 - turn base to y-axis <0.0> speed <68.749997> / animSpeed; //delta=2.29 - turn head to x-axis <-0.0> speed <225.0> / animSpeed; //delta=7.50 + if (bMoving) { //Frame:21 + move base to y-axis [0.000000] speed [45.000000] / animSpeed; //delta=1.50 + turn base to z-axis <0.000000> speed <13.125000> / animSpeed; //delta=-0.44 + turn base to y-axis <0.000000> speed <68.749997> / animSpeed; //delta=2.29 + turn head to x-axis <-0.000000> speed <225.000006> / animSpeed; //delta=7.50 turn lfoot to x-axis <27.553543> speed <1359.228477> / animSpeed; //delta=-45.31 turn lleg to x-axis <24.860772> speed <1978.013597> / animSpeed; //delta=65.93 turn lthigh to x-axis <-46.366196> speed <66.679175> / animSpeed; //delta=-2.22 @@ -122,11 +124,11 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn rthigh to x-axis <-20.623864> speed <813.060750> / animSpeed; //delta=-27.10 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:25 - move base to y-axis [-1.500000] speed [45.0] / animSpeed; //delta=-1.50 - turn base to z-axis <-0.500000> speed <15.0> / animSpeed; //delta=0.50 + if (bMoving) { //Frame:25 + move base to y-axis [-1.500000] speed [45.000000] / animSpeed; //delta=-1.50 + turn base to z-axis <-0.500000> speed <15.000000> / animSpeed; //delta=0.50 turn base to y-axis <3.333330> speed <99.999899> / animSpeed; //delta=3.33 - turn head to x-axis <7.500000> speed <225.0> / animSpeed; //delta=-7.50 + turn head to x-axis <7.500000> speed <225.000006> / animSpeed; //delta=-7.50 turn lfoot to x-axis <28.628644> speed <32.253024> / animSpeed; //delta=-1.08 turn lleg to x-axis <-3.236537> speed <842.919259> / animSpeed; //delta=28.10 turn lthigh to x-axis <-37.792133> speed <257.221885> / animSpeed; //delta=-8.57 @@ -135,11 +137,11 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn rthigh to x-axis <13.239139> speed <1015.890090> / animSpeed; //delta=-33.86 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:29 - move base to y-axis [-3.0] speed [45.0] / animSpeed; //delta=-1.50 - turn base to z-axis <1.0> speed <45.0> / animSpeed; //delta=-1.50 - turn base to y-axis <5.0> speed <50.0> / animSpeed; //delta=1.67 - turn head to x-axis <15.0> speed <225.0> / animSpeed; //delta=-7.50 + if (bMoving) { //Frame:29 + move base to y-axis [-3.000000] speed [45.000000] / animSpeed; //delta=-1.50 + turn base to z-axis <1.000000> speed <45.000000> / animSpeed; //delta=-1.50 + turn base to y-axis <5.000000> speed <50.000097> / animSpeed; //delta=1.67 + turn head to x-axis <15.000000> speed <225.000006> / animSpeed; //delta=-7.50 turn lfoot to x-axis <25.477837> speed <94.524217> / animSpeed; //delta=3.15 turn lleg to x-axis <34.887684> speed <1143.726630> / animSpeed; //delta=-38.12 turn lthigh to x-axis <-61.770892> speed <719.362763> / animSpeed; //delta=23.98 @@ -148,9 +150,9 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn rthigh to x-axis <6.425188> speed <204.418537> / animSpeed; //delta=6.81 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:33 - move base to y-axis [-2.0] speed [30.0] / animSpeed; //delta=1.00 - turn base to z-axis <0.500000> speed <15.0> / animSpeed; //delta=0.50 + if (bMoving) { //Frame:33 + move base to y-axis [-2.000000] speed [30.000000] / animSpeed; //delta=1.00 + turn base to z-axis <0.500000> speed <15.000000> / animSpeed; //delta=0.50 turn base to y-axis <1.666667> speed <99.999995> / animSpeed; //delta=-3.33 turn head to x-axis <9.166667> speed <174.999999> / animSpeed; //delta=5.83 turn lfoot to x-axis <-8.622433> speed <1023.008078> / animSpeed; //delta=34.10 @@ -161,11 +163,11 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn rthigh to x-axis <-50.829581> speed <1717.643080> / animSpeed; //delta=57.25 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:37 - move base to y-axis [-1.0] speed [30.0] / animSpeed; //delta=1.00 - turn base to z-axis <-0.0> speed <15.0> / animSpeed; //delta=0.50 + if (bMoving) { //Frame:37 + move base to y-axis [-1.000000] speed [30.000000] / animSpeed; //delta=1.00 + turn base to z-axis <-0.000000> speed <15.000000> / animSpeed; //delta=0.50 turn base to y-axis <-1.666667> speed <99.999998> / animSpeed; //delta=-3.33 - turn head to x-axis <3.333333> speed <175.0> / animSpeed; //delta=5.83 + turn head to x-axis <3.333333> speed <175.000018> / animSpeed; //delta=5.83 turn lfoot to x-axis <-21.730218> speed <393.233559> / animSpeed; //delta=13.11 turn lleg to x-axis <32.437989> speed <553.405149> / animSpeed; //delta=18.45 turn lthigh to x-axis <-18.801656> speed <847.308633> / animSpeed; //delta=-28.24 @@ -176,18 +178,18 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas } } } -// Call this from StopMoving()! +// Call this from MotionControl()! StopWalking() { - move base to y-axis [0.0] speed [11.250000]; - turn base to y-axis <0.0> speed <25.0>; - turn base to z-axis <0.0> speed <11.250000>; - turn head to x-axis <0.0> speed <56.250002>; - turn lfoot to x-axis <0.0> speed <339.807119>; - turn lleg to x-axis <0.0> speed <494.503399>; - turn lthigh to x-axis <0.0> speed <427.687059>; - turn rfoot to x-axis <0.0> speed <305.929116>; - turn rleg to x-axis <0.0> speed <521.633320>; - turn rthigh to x-axis <0.0> speed <429.410770>; + move base to y-axis [0.000000] speed [11.250000]; + turn base to y-axis <0.000000> speed <25.000000>; + turn base to z-axis <0.000000> speed <11.250000>; + turn head to x-axis <0.000000> speed <56.250002>; + turn lfoot to x-axis <0.000000> speed <339.807119>; + turn lleg to x-axis <0.000000> speed <494.503399>; + turn lthigh to x-axis <0.000000> speed <427.687059>; + turn rfoot to x-axis <0.000000> speed <305.929116>; + turn rleg to x-axis <0.000000> speed <521.633320>; + turn rthigh to x-axis <0.000000> speed <429.410770>; } // REMEMBER TO animspeed = 4 in Create() !! UnitSpeed(){ @@ -204,16 +206,16 @@ UnitSpeed(){ sleep 131; } } -StartMoving(reversing){ - signal SIGNAL_MOVE; - isMoving=TRUE; - set-signal-mask SIGNAL_MOVE; +StartMoving(){ + signal SIG_WALK; + bMoving=TRUE; + set-signal-mask SIG_WALK; start-script UnitSpeed(); start-script Walk(); } StopMoving(){ - signal SIGNAL_MOVE; - isMoving=FALSE; + signal SIG_WALK; + bMoving=FALSE; call-script StopWalking(); } @@ -231,23 +233,25 @@ close() return (0); } -#include "../damagedsmoke.h" + Create() { hide aimy1; - isMoving = FALSE; + bMoving = FALSE; + Static_Var_3 = 1; + Static_Var_4 = 3000; animSpeed = 4; start-script spinarms(); + Static_Var_5 = 0; recently_damaged = 0; desired_activation = 1; - SLEEP_UNTIL_UNITFINISHED; - start-script DamagedSmoke(); + return (0); } Activate() { - signal SIGNAL_TURNON; - set-signal-mask SIGNAL_TURNON; + signal SIG_ACTIVATE; + set-signal-mask SIG_ACTIVATE; desired_activation = 1; // if we are in this function, the unit is already on // implied set ACTIVATION to 1; @@ -279,51 +283,80 @@ Deactivate() //set desired state if deactivated and not recently damaged desired_activation = 0; } - signal SIGNAL_TURNON; - set-signal-mask SIGNAL_TURNON; + signal SIG_ACTIVATE; + set-signal-mask SIG_ACTIVATE; call-script close(); return (0); } +#define SMOKEPIECE base +static-var isSmoking; +SmokeUnit(healthpercent) // ah yes, clever use of stack variables +{ + while( TRUE ) + { + healthpercent = get HEALTH; + if (healthpercent > 66) { + sleep 97; + isSmoking = 0; + return; + } + if (healthpercent < 4 ) healthpercent = 4; + sleep healthpercent * 50; + + if( Rand( 1, 66 ) < healthpercent ) emit-sfx 257 from SMOKEPIECE; + else emit-sfx 258 from SMOKEPIECE; + } + sleep 97; + isSmoking = 0; +} OffOnHit() { - signal SIGNAL_OFF; - set-signal-mask SIGNAL_OFF; - recently_damaged = 1; - set ACTIVATION to 0; // turn off unit - sleep 8000; //hardcoded time to stay off after being hit - recently_damaged = 0; - set ACTIVATION to desired_activation; +signal SIG_OFF; +set-signal-mask SIG_OFF; +recently_damaged = 1; +set ACTIVATION to 0; // turn off unit +sleep 8000; //hardcoded time to stay off after being hit +recently_damaged = 0; +set ACTIVATION to desired_activation; } // this is what a pure hitbyweapon can look like, without any of the motion garbage HitByWeapon(anglex, anglez) //weaponID is always 0,lasers and flamers give angles of 0 { if( get BUILD_PERCENT_LEFT) return (0); + if (isSmoking == 0) { + isSmoking = 1; + start-script SmokeUnit(); + } start-script OffOnHit(); - turn base to z-axis anglez speed <105.0>; - turn base to x-axis <0> - anglex speed <105.0>; + turn base to z-axis anglez speed <105.000000>; + turn base to x-axis <0> - anglex speed <105.000000>; wait-for-turn base around z-axis; wait-for-turn base around x-axis; - turn base to z-axis <0.0> speed <30.0>; - turn base to x-axis <0.0> speed <30.0>; + turn base to z-axis <0.000000> speed <30.000000>; + turn base to x-axis <0.000000> speed <30.000000>; return (0); } -QueryWeapon1(pieceIndex) +QueryWeapon1(piecenum) { - pieceIndex = eye; + piecenum = eye; } -AimFromWeapon1(pieceIndex) +AimFromWeapon1(piecenum) { - pieceIndex = eye; + piecenum = eye; } - +SweetSpot(piecenum) +{ + piecenum = base; + return (0); +} Killed(severity, corpsetype) { @@ -332,17 +365,41 @@ Killed(severity, corpsetype) corpsetype = 1 ; explode base type BITMAPONLY | NOHEATCLOUD; explode lthigh type BITMAPONLY | NOHEATCLOUD; + //explode lleg type BITMAPONLY | NOHEATCLOUD; + //explode lfoot type BITMAPONLY | NOHEATCLOUD; explode shoulder type BITMAPONLY | NOHEATCLOUD; explode elbow type BITMAPONLY | NOHEATCLOUD; + //explode spindle type BITMAPONLY | NOHEATCLOUD; + //explode arm1 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode arm2 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode arm3 type BITMAPONLY | NOHEATCLOUD; + //explode arm4 type BITMAPONLY | NOHEATCLOUD; + //explode head type BITMAPONLY | NOHEATCLOUD; + //explode eye type BITMAPONLY | NOHEATCLOUD; + //explode rthigh type BITMAPONLY | NOHEATCLOUD; + //explode rleg type BITMAPONLY | NOHEATCLOUD; + //explode rfoot type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } if( severity <= 50 ) { corpsetype = 2 ; explode base type BITMAPONLY | NOHEATCLOUD; + //explode lthigh type FIRE | SMOKE | FALL | NOHEATCLOUD; explode lleg type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lfoot type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode shoulder type FIRE | SMOKE | FALL | NOHEATCLOUD; explode elbow type FIRE | SMOKE | FALL | NOHEATCLOUD; explode spindle type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode arm1 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode arm2 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode arm3 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode arm4 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode head type FALL | NOHEATCLOUD; + //explode eye type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rthigh type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rleg type FALL | NOHEATCLOUD; + //explode rfoot type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) @@ -350,16 +407,38 @@ Killed(severity, corpsetype) corpsetype = 3 ; explode base type FIRE | SMOKE | FALL | NOHEATCLOUD; explode lthigh type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lleg type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode lfoot type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; explode shoulder type FIRE | SMOKE | FALL | NOHEATCLOUD; explode elbow type FIRE | SMOKE | FALL | NOHEATCLOUD; explode spindle type SMOKE | FALL | NOHEATCLOUD; + //explode arm1 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode arm2 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode arm3 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode arm4 type SMOKE | FALL | NOHEATCLOUD; + //explode head type SMOKE | FALL | NOHEATCLOUD; + //explode eye type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rthigh type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rleg type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rfoot type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; explode base type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lthigh type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lleg type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode lfoot type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode shoulder type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode elbow type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode spindle type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode arm1 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode arm2 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode arm3 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode arm4 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode head type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode eye type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rthigh type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rleg type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rfoot type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/armaser.cob b/scripts/Units/armaser.cob index d831e81a9b0b545e541bd8c9d0a930e1f125b41f..b187ea1926e1a1f65354470620b2189136694640 100644 GIT binary patch literal 8219 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 Kj5Vw&68{3X0&sHx diff --git a/scripts/Units/armason.bos b/scripts/Units/armason.bos index 35ec4d0d3ab..cb6998c9438 100644 --- a/scripts/Units/armason.bos +++ b/scripts/Units/armason.bos @@ -1,35 +1,81 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, dish; +static-var statechg_DesiredState, statechg_StateChanging; static-var Stunned; + +Go() +{ + spin dish around y-axis speed <6.010989>; +} + +Stop() +{ + stop-spin dish around y-axis; +} + SetStunned(State) { Stunned = State; if (Stunned) { - call-script Deactivate(); + call-script Stop(); } else { - call-script Activate(); + call-script Go(); + } +} + +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState) + { + call-script Stop(); + currentstate = 1; + } + else + { + call-script Go(); + currentstate = 0; + } } + statechg_StateChanging = FALSE; } Create() { + + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; } Activate() { - spin dish around y-axis speed <6> accelerate <1>; + start-script RequestState(0); } Deactivate() { - stop-spin dish around y-axis; + start-script RequestState(1); } - +SweetSpot(piecenum) +{ + piecenum = base; +} Killed(severity, corpsetype) { diff --git a/scripts/Units/armason.cob b/scripts/Units/armason.cob index ae9a8b57899863c2df71a00bd46e6bdd359071f0..184485df87dbf9960b665391c245a1802b767d23 100644 GIT binary patch literal 1306 zcmb7Eu}T9$5S?5ur?FZB7Ip`Ml||4GFrs2%BVH#KiOGV2kVLbIouu*``~W}0QnX3$ z57-G-_WIssCmi7-$-?8!?!I|5J2?`HNErx#N||>_z9VGvnPBMe%e-&tA{E`bKJE ze?A6Fy=cU&&AekAQ8NbXU7C+GGV5mR?eWaldqc=veoxERV`1j3gISL;KXHx6K4y>q z_0gox_wkL8KAd^Bk5y{XjvlMz%=eeq181YY`o?A6uKncYFFP-KYycHt2jI-QzzBE% z9s&N}yaN;91Na2KfFIx&D3|a#1Dn8UPZHPbOJZH(hTX1h$%VZg+5xr=XXWV5k`9}$ eJz{Wd8yY6}7D@e{le2cGgT(8`z)Gtm0cUH@$Bc>pI7#a$ZuX43vTcWm#;cTAxpaj3XsMor|X>nB&s_#d&TyXJ1~ zxaqU~f}P#{+4IC1tGj~B9PfEc_m?wx&n?{zd#vs!T*ulsA3|fv5=v)qu{DU40J(4Vn9sY znc=_iQyAIcoac8F*VrfyBs#vn-|v3BC>;^$0_TBKPoxFP&j$#;0^fn_;D6F!ET&B* zC`>K2_TW2?XDsT^IlAen585)GAuB`QNZ=Xrxxa57JH3q)bd1-_Z9V5h+W~!h8%D;y zx#8?XD{I+UeC;?t#%G?Qzm08j|J%-=vZ`Et2J5wr^zzs|=i&?o=fjsK;^OT(eT#-a zB-h>b%_ArGO7hE24r2Sk*cbVZ+F9Q-yi!IH>tIH{E@gQghfc=ui`tE!_w|hZvgaF+ zYt74ex!(4Ty#uIY+@dY#PM&h=xew$iC$Igayd0Z+ZSJ8M?udZeodLBw1j?N{6ASxg zZ9#Rvbl?84b+zcc80RYU1bP3uD1V-L*cqW^rMPoA@F`($?uc9a)= zSTALPqeY$Gi7FlIs`F#sI-S;E74vVk>HMnvbe2^*J8##&@_n;+$o2WH>vMU3s$vR0 ztZ$t@H}TQ_H}TQAH1W}SHSy6ovcK%b37g{fQ0G{s(>Ye@bdFUz%6LZ@yFABz%G?}1 zB;a`%tN1$*fG?jDqP6F!b*ys7{$-9j8`jVMmTOSGo`*A3yH(Dnb8Iquov-FxB~Q_o zHPqFkJ5aROdg^@2yU}$1nyYE=^tW?ef8C2J|GHZBepmUdGKc@QFID;L&RpJ?VxQ}L zG``ZJ&nk76_o%6Vd8c@-E&+SM6nF!C0#1Q1z&C*ZL4N_=3nEv5Yrsw54zL3}1;#)G zyaZAp1LnXx;63mW_zc{eMPU}n=rDa1JxStB?#J0+z88hlG?CG96lJ4nn#seXXg1#o zlS!Ps7>1La-wl&=7)SeX&%#+YIEoLb2bWG4%!BygAezYY@O329aI(cmpO0-mdXlBb S(M%GA+Op5SeQw+5E%^<(rOB%R literal 2426 zcmai0J#Q015FOhW2PmQgDhh-t=#aQ1AR&b!PAG!-kRd{8D16DCf<h{0#U9bRbaz9R-MjhWGaNIh(^Fk>+OKeC@p1^(v8>orIi%%v8-P(EQ6zn7x3! zgIosw2yJbPYji>*)M*zF9C^%I^fR1#+Uq)WC9cMV)~d(Wz&a56PSe+jVr$pq3s};Y z(S~@g-5&6B-K0I4aA1jC)EBTx#a@ zk&Eu_XDqe9?xwKr2E)fS{T=!m*t7>@*ax-SBjztcce%KGzrDZ0z#qjOvBi4)$J?uc zUAe3`2S4Y^xiS8OkEi*l-!e;uz46S5X=hD$mcY8BoEiPJ(+@SSO*{n{)*Jg<_@%m7 z|JDGzw+EVU(V<#+k6bLY-X*R3+EF+aSABgXvay!O5SC|)nUU%cLUEMDR% zUaBWv$`>#B%e*-A<9gTLx@*Gf{gv-cXCnVmy(?b53#)hKt9RjY@7(q*qzQQssiWX| z$R$VuS%C2Wi%*d6kYA8026zT?5po4`1F{TRf!u{WfUH3tLDnIUAzjE2vOLJsVQwp( z;nLn(p7wj)TUm(gX1bkj=Gp3Y?@4a=ck{vCowS>Ex|^*uEAYLv+iP|5joem;>0r3D x+u5QYsMjBZ+nuegJhSz5C%1l@&GIwH&pbbg4SP@Xfpt-8)_v#Pciw%k+F!aDuI&H- diff --git a/scripts/Units/armasy.bos b/scripts/Units/armasy.bos index 8fc722c8de9..34108d7da23 100644 --- a/scripts/Units/armasy.bos +++ b/scripts/Units/armasy.bos @@ -1,72 +1,17 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" -#include "../factories_common.h" +#include "sfxtype.h" +#include "exptype.h" -piece base, pad, main1, mid1, end1, nano1, nano2, nano3, nano4, main2, mid2, end2, main3, mid3, end3, main4, mid4, end4, beam1,beam2,beam3,beam4; -static-var spray; +piece base, pad, main1, mid1, end1, nano1, main2, mid2, end2, nano2, main3, mid3, end3, nano3, main4, mid4, end4, nano4,beam1,beam2,beam3,beam4; +static-var spray, unitviewer, Static_Var_3, statechg_DesiredState, statechg_StateChanging; // Signal definitions -#define SIGNAL_TURNON 4 +#define SIG_ACTIVATE 2 -#define BASEPIECE base -#define HITSPEED <15.0> -//how 'heavy' the unit is, on a scale of 1-10 -#define UNITSIZE 15 -#define MAXTILT 100 - -#include "../unit_hitbyweaponid_and_smoke.h" - - -#define WATER_ROCK_PIECE base -#define WATER_ROCK_AMPLITUDE <1.0> -#define WATER_ROCK_FRAMES 15 -#define WATER_ROCK_FREQ_X 20 -#define WATER_ROCK_FREQ_Z 23 -#define WATER_ROCK_FREQ_Y 52 -#define WATER_BOB_HEIGHT 64000 -#include "../floatmotion.h" - - -Create() -{ - hide beam4; - hide beam3; - hide beam2; - hide beam1; - hide pad; - - spray = 0; - SLEEP_UNTIL_UNITFINISHED; - start-script FloatMotion(); -} - -QueryNanoPiece(pieceIndex) -{ - spray = (spray + 1) % 4; - pieceIndex = nano1 + spray; -} - -StartBuilding() -{ - show beam1; - show beam2; - show beam3; - show beam4; -} -StopBuilding() +activatescr() { - hide beam1; - hide beam2; - hide beam3; - hide beam4; -} - -Activate() -{ - signal SIGNAL_TURNON; - set-signal-mask SIGNAL_TURNON; - turn main1 to y-axis <-135> speed <135>; turn mid1 to z-axis <100> speed <100>; turn end1 to z-axis <110> speed <110>; @@ -87,17 +32,11 @@ Activate() turn end4 to z-axis <110> speed <110>; turn nano4 to y-axis <180> speed <180>; sleep 1000; - - FACTORY_OPEN_BUILD; - + return (0); } -Deactivate() +deactivatescr() { - signal SIGNAL_TURNON; - set-signal-mask SIGNAL_TURNON; - sleep 5000; - turn main1 to y-axis <0> speed <135>; turn mid1 to z-axis <0> speed <100>; turn end1 to z-axis <0> speed <110>; @@ -117,19 +56,185 @@ Deactivate() turn mid4 to z-axis <0> speed <100>; turn end4 to z-axis <0> speed <110>; turn nano4 to y-axis <0> speed <180>; - sleep 1000; - - FACTORY_CLOSE_BUILD; + return (0); + return (0); } -QueryBuildInfo(pieceIndex) +#define BASEPIECE base +#define HITSPEED <15.0> +//how 'heavy' the unit is, on a scale of 1-10 +#define UNITSIZE 15 +#define MAXTILT 100 + +#include "unit_hitbyweaponid_and_smoke.h" + +RockOnWaves() +{ + var rockDir, rockAng, rockSpeed; + rockDir = <-0.1>; + rockAng = <-0.1>; + while( TRUE ) + { + while( get ABS(rockAng) < <1.11> ) + { + rockSpeed = <1.45> - get ABS(rockAng); + turn base to x-axis rockAng speed rockSpeed*1.5; + turn base to z-axis rockAng speed rockSpeed*1.5; + wait-for-turn base around x-axis; + wait-for-turn base around z-axis; + rockAng = rockAng + rockDir; + } + rockDir = 0 - rockDir; + rockAng = rockAng + rockDir + rockDir; + } +} + + +OpenYard() { - pieceIndex = pad; + set YARD_OPEN to 1; + while( !get YARD_OPEN ) + { + set BUGGER_OFF to 1; + sleep 1500; + set YARD_OPEN to 1; + } return (0); } +CloseYard() +{ + set YARD_OPEN to 0; + while( get YARD_OPEN ) + { + set BUGGER_OFF to 1; + sleep 1500; + set YARD_OPEN to 0; + } + return (0); +} +Go() +{ + + call-script activatescr(); + call-script OpenYard(); + set INBUILDSTANCE to 1; + return (0); +} + +Stop() +{ + set INBUILDSTANCE to 0; + call-script CloseYard(); + call-script deactivatescr(); + + return (0); +} + +InitState() +{ + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; + return (0); +} + +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + call-script Go(); + currentstate = 0; + } + if( statechg_DesiredState == 1 ) + { + call-script Stop(); + currentstate = 1; + } + } + statechg_StateChanging = FALSE; + return (0); +} + +Create() +{ + hide beam4; + hide beam3; + hide beam2; + hide beam1; + hide pad; + + spray = 0; + call-script InitState(); + while( get BUILD_PERCENT_LEFT ) + { + sleep 400; + } + start-script RockOnWaves(); +} + +QueryNanoPiece(piecenum) +{ + + piecenum=beam1+spray; + spray=spray+1; + if (spray>3) spray=0; +} + +StartBuilding() +{ + show beam1; + show beam2; + show beam3; + show beam4; +} + +StopBuilding() +{ + hide beam1; + hide beam2; + hide beam3; + hide beam4; +} + +Activate() +{ + signal SIG_ACTIVATE; + start-script RequestState(0); + return (0); +} + +Deactivate() +{ + signal SIG_ACTIVATE; + set-signal-mask SIG_ACTIVATE; + sleep 5000; + set-signal-mask 0; + start-script RequestState(1); +} + +QueryBuildInfo(piecenum) +{ + piecenum = pad; + return (0); +} + +SweetSpot(piecenum) +{ + piecenum = base; + return (0); +} Killed(severity, corpsetype) { diff --git a/scripts/Units/armasy.cob b/scripts/Units/armasy.cob index 0130ed8aa97b1265203ca69e89a21a3e009decdc..45957517786a044850b3e0b01ed50808a3eeea14 100644 GIT binary patch literal 8154 zcmbtZOK4nG7(SWAq-xb`eO1Id=*ES@Gzmozqz|zcwT+FX=*CPlw=y=FNs~#XE_60N zpbA|nNEda}Md?Cas7Mi11S#UiE>&D8bY)#h5ix$>f6q5Lxt^QMO-BCw=l<{WzwT9s zoO5>o?gShfac&rxzwW)xT?Rb3&AEs83_OrjlD}Wf@bKBCC0BJx1-tMCBWuHwb&DqgIv;>GGJUaYR-#p)_vtghn4 z>MCBWuHwb&DqcTzHCfcyRZ;H%DyYADsR1GO1LJVD!NlzxOe(cXHou^=-sBTwIukcF zoQz-y!yckN$8V@+GyR1(+ z2g@cOoOx6%#6u*&uY45wFOrizV$K!wOQc;Jt@rs&=@y+ zf|xSP_du@jyrNHYaWSSpmX?;3uke|+_)N@r?}0Hszkx^j;xpNK>}o^S3zx|B_1Wb0 zHB0^4an(WV9o~h0iFY$kC4Ggh!p_XJsz47%Ug)fp2lpo$1T;eVjZi zrXDZJ;xsv)Yd){A^;KX?@24#g?A@`t$#O}W_0HL>FCIall({V;`x6_<_j%qHd-wsb zOOtt@M$7v|{hur8Pj={UXU?CiVqfTov%bT4AI*T}+Q(s{=-rUtvk!f~GqY#N_#TgHbWa^GhTjs@JC*_|9e?t?)VF?+0x61-APGGaoBtgIp*#%2i&Ldc3Ne%X*qe-kaZIVII|6 zp{$*|ncmxUGCJ!2GCCWX3+Z;5OF!3|ix^LH5#wntVm!@7jHkJX@iZ4@@}YStqoX-0qoesM zqocViqoa8&qoX-3qoesPqa#`2er8GYUPfoNJuuDQ^?P6|8kBp0bJXu12z!$=K>aRl z`gzdohx07Ce(ozhVcxrpzIMV|acX|#r=QsLeq778c0!q&X;&zoviH_LDdSW3kk5W{ zp#4+EkM@%MG54xz*Pr=~q+L`d9_^yFY-|6lC8wRE7|PaRBl|}_`>Df5_K*COy_^3W z4Yy~ey^z{zZ`)0F+H-CnG$%Xo;tr zn=_4O>m}3gJ?!$qy2pEwX4)pPuXPmuUP;r=b`>Znoi4C)xEW2BB570;lKlR8f7xKYR5k+eR$-Tsc+-!c0; G?*0QbS~hL~ literal 5639 zcmbuDO^B6M7{||y*BL9bw=c^UaS5SK)HpMXXr+@>BFcmdp^aX>H@P%(?_k%^RV@r# zgqy%N71AaVTv!mb3W63%(55yawCDqAQ9=b`kp2JXoZonSduI$Ac`9J4< zUu}gD){8cZCf9~AF7ChQ?hE0l=#1zwZ`?0xk5?s)RpZs&*0ozz*gsJ@j`zCWo1dt> zZh0-e*W0|FS{rR2(XyqzF>&jx3iH=>-m|VXm3XKoD$X`8-5Tl4ZDTGLY-8Cv`*V)+ z%(itL>o2O_uysu}K9%-LonwS5oo6oFd&_l|b}>h;X;-%M9xkOeCVhx$UH3EzMsScMSK2m~|ee5=Pj{^rp6@js0CSz27FK zbAnUTxqXI9Hpsnj&Bh~C2@`zH!_-);>8t{A_J8%PL1))xdtpa!+zZd_<*aX6)||Qq zFX_2`T?=#jrIy5FHj$YPn|m+D%ro>&u}2Qu_#EajN97yAET`G~G3&={csb2T*g8>N z%KPKRKE94OExr5dzS;i6Z0~KKlRi9axu~1FQpVCFAja~!jicjx%d*oq`OJD>`EBDq zls*y9wql6NJP#B;6Ez=SRmX_=gxe2VMDM)++bSevB*>B@eaw(W+6Whyj;#Xm2z69 zKQGw2p>Fi`y4iQ!ru>|BwYrT(Xs5ctg}RadZ{5bNtlM!dGfP)CYonoV^x>#3)Z!E;mAP269t$alG|H8sS$ygyWaJqPi4SH@HBARcQHca1mXSDn;Hz0_Z~wV%%vmWuC^*V6jxz7%)j^tEfD9nv!+=Xy{NNc);w z=RWXEncbaq=GHkrx+||How;@KUTEo9iH%eFUKUGx$E`$N2HO(Emrny7cG&54>=S^-^}o&>aXfQ7SMg;Iv3HKRF23=6 z7aE_nZP|)=-`IDPo!jZ2T+Dg#=MJB?O*Ogv+()kKxx45+!_I;1xwZU`xZ_a^dhQ=` zoY%tNGg`*;T$VE5I{4FjWd6O1>=`WmJ$I!XXRXNZcTK5}^H%8Hpi=L-D&;s!g}vWd z#=?E{bEL#&+Itz7IW^94++X8b@4HQ{r?2Rd!37yykXORxxC09(a6twaWN<+S7i4fj z1{d;!3o^JMg9|daAcG4sxFCZIGPodv3-W5X9CS}IE@xV)@9yVnxV&i}^$}d&%QCni zgA4WwA8|dI?YS@L!G&{!3-Q1OJ-84LT+o9H@z>Y#gA00aK?WD{uY?QvSHcB6g^d3FEM^EpO={+)c z0-4?uk2`@(?~&`hcUvD9ofrKs`dJNbsi~Vpn?+BEE{GNc(8wSuzy{GnqDMtDqNhYV zM0-VD(W2<6=!EE`=q=IPqIX5_i#`yY6MZE5RP>qX3(*D9*P?Gl--*5#{UrKD^qc5U z(O;smjrxDi{%G#l-d<;EIM~rGrLeuT*g4ee?pYkZ)CI)_JdNBRrh{@{?L;nK3O?ck{Yie0w%IxM4iwAe9taTs>? z7Z!TmaG>*YFD!MsVX@O6Yzd3~?v~IS=x3lj>32G=XX5W{w41iwwC%K#-;CuM%UVg6 YRlhrHc{UvAbr!e8-|6@}6MtvJKUr9se*gdg diff --git a/scripts/Units/armatl.bos b/scripts/Units/armatl.bos index 085c97d4cfe..a78b0f6dbf0 100644 --- a/scripts/Units/armatl.bos +++ b/scripts/Units/armatl.bos @@ -1,12 +1,35 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, flare, launcher, turret, hinge, door; static-var restore_delay; // Signal definitions -#define SIGNAL_AIM1 256 +#define SIG_AIM 2 + +RockOnWaves() +{ + var rockDir, rockAng, rockSpeed; + rockDir = <-0.1>; + rockAng = <-0.1>; + while( TRUE ) + { + while( get ABS(rockAng) < <1.31> ) + { + rockSpeed = <1.45> - get ABS(rockAng); + turn base to x-axis rockAng speed rockSpeed*5; + turn base to z-axis rockAng speed rockSpeed*5; + wait-for-turn base around x-axis; + wait-for-turn base around z-axis; + rockAng = rockAng + rockDir; + } + rockDir = 0 - rockDir; + rockAng = rockAng + rockDir + rockDir; + } +} #define BASEPIECE base #define HITSPEED <20.0> @@ -14,19 +37,19 @@ static-var restore_delay; #define UNITSIZE 4 #define MAXTILT 100 -#include "../unit_hitbyweaponid_and_smoke.h" - +#include "unit_hitbyweaponid_and_smoke.h" -#define WATER_ROCK_UNITSIZE 10 -#include "../floatmotion.h" Create() { hide flare; restore_delay = 3000; - SLEEP_UNTIL_UNITFINISHED; - start-script FloatMotion(); + while( get BUILD_PERCENT_LEFT ) + { + sleep 400; + } + start-script RockOnWaves(); } static-var Stunned; @@ -35,8 +58,8 @@ ExecuteRestoreAfterDelay() if (Stunned) { return (1); } - turn turret to y-axis <0.0> speed <90.021978>; - turn launcher to x-axis <0.0> speed <50.010989>; + turn turret to y-axis <0.000000> speed <90.021978>; + turn launcher to x-axis <0.000000> speed <50.010989>; turn hinge to x-axis <0> speed <270>; @@ -56,10 +79,10 @@ RestoreAfterDelay() start-script ExecuteRestoreAfterDelay(); } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; move door to z-axis [3.5] speed [15]; turn hinge to x-axis <75> speed <270>; turn turret to y-axis heading speed <80.016484>; @@ -70,26 +93,30 @@ AimWeapon1(heading, pitch) return (1); } -FireWeapon1() +FirePrimary() { emit-sfx 256 | 3 from flare; sleep 250; return (0); } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = launcher; + piecenum = launcher; return (0); } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = flare; + piecenum = flare; return (0); } - +SweetSpot(piecenum) +{ + piecenum = base; + return (0); +} Killed(severity, corpsetype) { diff --git a/scripts/Units/armatl.cob b/scripts/Units/armatl.cob index 42714deeba8e19b40f37d4b939560bdab4ffa1ac..98b03816f95c7e4444b2b77f94c562de27fef2e5 100644 GIT binary patch literal 3575 zcmb_fJ!=$E6unv3HTXG}D#(DHq*w$YSS9fr3uA($&6qsR>SlMD%&LpcB3OyRGNpz8 zKm2zHWAM8ryqc+Q=7cPHa+%mzm<@6G)<@7#0WtXLG0!>|(U#2yj+)o10P z$a~oEA(0VyLaY)N0<)o@5PaL*+$@yg!;^g<^6y+_wiG!3{se0Qbrxrsb=g(Q#Xzy> z4E6@BpYnObC}eD>I1=s&$ghBUp39Z>d$CFxG5k@Ep(qEscaldO0ZT6W_`RJ&OyZ=m zl!Kl#Rtk>5X+3vxJWu8ur%o(LdG^9OkinA4QfD?cBVt(3^FFsoAoMO{DKE~Od0fd$ z=kIlIdmk1dem0MIQcmad6kFEPS15O}MscxNV|pky&bC}~5U;)QWKCWlJD0q-)^_Vj z$7YhB4{MfjxZ&o{>=h$iC*Nz!cby~d12Hb++Xc-*A;j0FIuUeOJFd9($4R{u{s@-SqxK&cEvY zSoA*FJ+qZP9Ayl8@VjMW^zmNs{*ZxjqDv;z`*YIgF=l#5fcvINsiwR;)4R~-CrVsmOTqloJUZi^8 z_dV+GAl%t{<}y|FfDXNKvh&tH8fpK!Z+k7|NQ&Er3OTOU@6=hG1D&!xei_ZoH>V+E z#+5y)_F?)Ppl6deG&9|~@A^x@KF0A7W6Rv|LLcj77I^p;7^m+SedY9f;?^`~jM(-a z@;x6X#&&V$_lsxeNbF-w4%7J^$HDX&zHtqaLVp{p_7Ut;PV|LvAoEgLJi8p^caM@=`=`< z@iwj6Bnw@rh4}`-+fKhZVtf5oy?*SI_s)2Pc&Aovtj2@e-Rj4gv$o&7O*32BtKE^E z+!y1$+j`UZUp(`=vZq0`+buu4hr6w}I$N{)_M6H7(zMr^JDF)-YhH;382)LLBFLSF zjln9g7VI(XHS8U14fYYX4&(n*Mqs0`3D_iT2G)Q*f<1$+z+S>$!B$~wun(|Lu+Oj! z*jLyO*i?P)-u2o{bl)w>l}a+vnsHI1UX$s?`aO5ER!OqntMhU`c2VNw;zKvrOx%=P zO6sv2zn!@Ff~!U?nRdx^(yZ0oy!;&;uPjc+mBlD-$)!r{Y!COPxZVlfXu7y%vFQg6 sh>dz8*DBR2P;W&`PHtDD*hw{N*5(#mEJ-ttT_OvW+8rnJ^?EFS0Hp^1o&W#< literal 3572 zcmbuCJ&0UY6vyw*OeU~KeS!!U#=(z9L?#P?RAD#9)esh9wn!%#cW#ow*_rtA1`Rer zBNj@q5G&Cw?5xyAY%ImbMhgR0MkIlN3yOsZ@&CK`o|(JPiHmW_*?T_z=ktC%(sIt- zEozJQH=WbJ@cVe5b3cgo$@ru+j{)j5ikudTMsXkLPOEUI+lAl`T_4?vb^+glmmPiu zzPl%29}(MCKmTOR_Up z<_7+=ghx%CHiu`Cv%c-FF4=8fj;>#2WmovPuS0nWKo{yVF1a8 z_bB(-ljM+3`*uxC@J{-0c8YkXwr|N-=P0jtC_M4r5i(r~_QG{y-?lH-x5@vvZ_ZiXH*t~eEdBV96m$AE`|<}n_uKUHy5qj%xs83p=lgB) z9rvwQFVv<#dEXZI7zZld<&JpUyKt9JyKolKeQ{U(W`DXQ_Yj>TC$nol?b z0!Evd^p4rQc#p|5t$QoJp-U*$BmVqyf3QKxY;S|H_bvF*;Q7=){H4UZdt=;7nnJBs z>-XeA;Wekc$7_dX`;9H1AvUX(9!bZ&184Kp&QE>dXZm)r7rcJN2)>#Zd=p`Nc4qzr zr2Z|J%@vt=yrV$o*$H(!d;NWXkRYA7C!Z@Y@ywqUc?(Rjcbd=SFqh0uT{*t)Z}(l# zK!|7W2RQn(GeeBV{xr6ldUe3&Hplv>g&JMwSiBn>sG3Ze9YV8 zZh^_>WqGZxcaq)e`Y_4nZ?e^8`1-u)dAHma%W|7+x!>O`<^RnbqP z8=_xD&kd?07f<=#`SIvjKbPFm-e&Kt@2_u;U-E8sIPO(z<7zM-xu;9ttGs*WRlhN* z{7HYI8kc_MOy$d?e%QO{)_t{JO-3W%cmFi53^rr718#LtdgG;DEyq*S^AlgDst&m0 ogW*uIUhG})?#!@PdN=G%MjPjR>8eRt`pTUfjLv%3ACF7-Hyf4q%K!iX diff --git a/scripts/Units/armatlas.bos b/scripts/Units/armatlas.bos index f0b234d794c..98b46e07286 100644 --- a/scripts/Units/armatlas.bos +++ b/scripts/Units/armatlas.bos @@ -1,8 +1,45 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, link, body, w_glass, jetl, jetr, thrustl, thrustr, thrustm, backwing, centerwing, centerpadd, rhookbase, rhookext1, rhookext2, rhook, lhookbase, lhookext1, lhookext2, lhook; +static-var Static_Var_1, statechg_DesiredState, statechg_StateChanging; + + +activatescr() //transport start - LOAD - animation of claws +{ + if( TRUE ) // + { + //move larm3 to y-axis <-5> now; + //move rarm3 to y-axis <-5> now; + //turn larm2 to z-axis <-45> speed <90>; + //turn rarm2 to z-axis <45> speed <90>; + + + sleep 50; //close + + //turn larm2 to z-axis <0> speed <90>; + //turn rarm2 to z-axis <0> speed <90>; + + } + sleep 50; +} + +deactivatescr() //transport end - UNLOAD - +{ + if( TRUE ) + { + //turn larm2 to z-axis <-45> speed <90>; + //turn rarm2 to z-axis <45> speed <90>; + sleep 100; + //turn larm2 to z-axis <0> speed <90>; + //turn rarm2 to z-axis <0> speed <90>; + } + sleep 50; +} + #define BASEPIECE base #define HITSPEED <20.0> @@ -17,6 +54,72 @@ piece base, link, body, w_glass, jetl, jetr, thrustl, thrustr, thrustm, backwin + +InitState() +{ + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; +} + + +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + call-script activatescr(); + currentstate = 0; + } + if( statechg_DesiredState == 1 ) + { + call-script deactivatescr(); + currentstate = 1; + } + } + statechg_StateChanging = FALSE; +} + +/* +StartMoving(){ + get PRINT( get GAME_FRAME,1111); + isIdle = TRUE; +} + + +StopMoving(){ + get PRINT( get GAME_FRAME,2222); + isIdle = FALSE; +} + +MoveRate0(){ + get PRINT(get GAME_FRAME,333, 00); +} +SetSFXOccupy(terraintype){ + get PRINT(get GAME_FRAME,0, terraintype); +} + + +MoveRate1(){ + get PRINT(get GAME_FRAME,333, 11); +} + +MoveRate2(){ + get PRINT(get GAME_FRAME,333, 22); +} + +MoveRate3(){ + get PRINT(get GAME_FRAME,333, 33); +}*/ + Create() { hide link; @@ -24,23 +127,36 @@ Create() hide thrustr; hide thrustm; hide link; - turn jetl to x-axis <-90.0> now; - turn jetr to x-axis <-90.0> now; - SLEEP_UNTIL_UNITFINISHED; + turn jetl to x-axis <-90.000000> now; + turn jetr to x-axis <-90.000000> now; + Static_Var_1 = 0; + call-script InitState(); + while( get BUILD_PERCENT_LEFT ) + { + sleep 400; + } start-script IdleHover(); } +SweetSpot(piecenum) +{ + piecenum = base; +} + -QueryTransport(pieceIndex) +QueryTransport(Func_Var_1) { - pieceIndex = 1; + Func_Var_1 = 1; } -BeginTransport(targetHeight) +BeginTransport(Func_Var_1) { - move link to y-axis [0.0] - targetHeight now; + move link to y-axis [0.000000] - Func_Var_1 now; + start-script RequestState(0); + //move larm3 to y-axis [-3] now; + //move rarm3 to y-axis [-3] now; } @@ -60,32 +176,35 @@ Deactivate() EndTransport() { + start-script RequestState(1); } + + MoveRate0() { - turn jetl to x-axis <-90.0> speed <150.0>; - turn jetr to x-axis <-90.0> speed <150.0>; + turn jetl to x-axis <-90.000000> speed <150.000000>; + turn jetr to x-axis <-90.000000> speed <150.000000>; } MoveRate1() { - turn jetl to x-axis <-70.0> speed <75.0>; - turn jetr to x-axis <-70.0> speed <75.0>; + turn jetl to x-axis <-70.000000> speed <75.000000>; + turn jetr to x-axis <-70.000000> speed <75.000000>; } MoveRate2() { - turn jetl to x-axis <-50.0> speed <55.0>; - turn jetr to x-axis <-50.0> speed <55.0>; + turn jetl to x-axis <-50.000000> speed <55.000000>; + turn jetr to x-axis <-50.000000> speed <55.000000>; } MoveRate3() { - turn jetl to x-axis <0.0> speed <85.0>; - turn jetr to x-axis <0.0> speed <85.0>; + turn jetl to x-axis <0.000000> speed <85.000000>; + turn jetr to x-axis <0.000000> speed <85.000000>; } diff --git a/scripts/Units/armatlas.cob b/scripts/Units/armatlas.cob index 79082f70ebf532e49be9d98aa2d14dc45531e70c..2e905108f734b2964cbd88b4ccc35d221cf4ffa1 100644 GIT binary patch literal 4246 zcmeHKO^6&t82xs3cA~;+8-!pW+84>i;ABPcu!Lv~CWtcbiUcpt>~yi2-O0?_)0;IS zW=|prlA9okAR=Bw&x?ng^d^YMcoh@{LC}kb$$M4x)l_=Bb@$}Og_o-Oe%|-htLpAa zQ$+3u9su5(7r6@~|FU~UJ_mjS9>se3K9RYkk<8KAZ6!xAaJ|HJdoC%@X_ijQ+BJtY z7?;ua4>^)Hk}AaYKL%+NTxeOE?MCQ_)Lhff_!BgwP1{Fu67yssVgJ{?|8DPZAg76W z134U-JDpCiOK0BZ!Xk2ZK4BbF?u>&0arAMo^f87U9HqU0+03?k1~&Gwaj=TeczLbw^?pyDM)xzJ0uYE3U)JtRJ?CdxgNx}%y8zZpL-;)p2b0VnHTe_2Fh#C4!kYK9im_6#k{P; zeotZK9_c=e4so94O`Q&9Uak+LgYq&j=2acke^?!Uz(db{1|59AEED$Mp1mt<-&phf zG>^{=b*FAW<08?{`@}xOox$DLci@`!&EZb8l8;cBI`I9F%DNTjSXtM{XG-|w0m{60>)?i=$flGJB4XTgs1-6CO%{`{Z% zwMLxBP|f?r=UE%f%;Q}1sMj|zC|{)}U9mZW(VhcFci$wj-+%8XNAu=%DmU>4We@m^ zZT6kzZS=7gNAAnscT5@2-xvJmQ2S#Ll(rje+Mn+tMNV4od@!XSLpVQObB{FZTF;kj z)u7H#yPmmyAAaRDU|!%u5BA$1+jxgMUMGxJCydl7j{v8DGr+Sz z2e_C{000C@D~%_ zAhHM?1&#p^11EvUfG2@-zze`7U=0`oIq)X%HgE&z^^3vPUSTHvTrv}{E@ne>VSLr( za&a^$Rtp5lig|6@O#I?pZfINGF{W7E8W-~7w#l!(l=nuHt#Mw+(`J1znk}F5mE@UF zM$V72S-|rswgSes=R>iV!ZnaGAIhWsa& z;&Q${!NQHYzJkR5=FVWWE`2j9Odd_QdRZp<^@lp@V`rRTn|jK^%*dgNx|cEq>qqdAWH_w55V6U+=l+eD}NOoO|C(5+ZT{I0!7p zMcOd(Grvz{71#iJFz?xqf2p|lC&WC&@rkG7UJ|1_?=bTi3HOrTLl|-J$s^y!8Ftqn zr6ZN_sO5FT_S!wJFTIc`+Cn;M)O6BS5tA3Gv${ZM*ot;>BjO>KJ^_)Bf< z_ik$A`ewClSGQGdTp#udwb^}ka&GL;ZffKDX0>fs_cPAH*5IBS)3W{qYP0)%#{*11 z?FG38mz(IF*zA1#l)wfoVuJlk{2 zi!;_lkAB;y@Lsz-=f1kUE&Cdt-IsTRdRz82Jf=fE_Kp2vPxx@D9xynR#CuoN-QlR; zC1Uy|o_an^oNE&6c)zaWiQ!s&T%S4<pcX&;~G7m7tcFC*ECFU3M>LPpB@IhnaTTFh1| zGVWK4{1-@dESRcbqDMQwkA=C3nL=q)a(=1m2aY+J&F3W;E0-sfxU&4&YOnUe%4kc9 NAxBw?W37yi%5N@m9ti*d diff --git a/scripts/Units/armavp.bos b/scripts/Units/armavp.bos index 95c5817a9e6..5941b2f45c3 100644 --- a/scripts/Units/armavp.bos +++ b/scripts/Units/armavp.bos @@ -1,15 +1,117 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" -#include "../factories_common.h" +#include "sfxtype.h" +#include "exptype.h" piece base, pad, head1, head2, head3, nano1, nano2, nano3, cagelight, cagelight2, cagelight_emit, cagelight2_emit; -static-var spray; +static-var spray, statechg_DesiredState, statechg_StateChanging; // Signal definitions -#define SIGNAL_TURNON 4 +#define SIG_ACTIVATE 2 +activatescr() +{ + if( TRUE ) + { + turn head2 to y-axis <-90> speed <90>; + turn head3 to y-axis <90> speed <90>; + + sleep 1000; + } + + sleep 17; + return (0); +} + +deactivatescr() +{ + if( TRUE ) + { + turn head2 to y-axis <0> speed <90>; + turn head3 to y-axis <0> speed <90>; + sleep 388; + } + + sleep 20; + return (0); +} + + +OpenYard() +{ + set YARD_OPEN to 1; + while( !get YARD_OPEN ) + { + set BUGGER_OFF to 1; + sleep 1500; + set YARD_OPEN to 1; + } +} + +CloseYard() +{ + set YARD_OPEN to 0; + while( get YARD_OPEN ) + { + set BUGGER_OFF to 1; + sleep 1500; + set YARD_OPEN to 0; + } +} + +Go() +{ + + call-script activatescr(); + call-script OpenYard(); + set INBUILDSTANCE to 1; + return (0); +} + +Stop() +{ + set INBUILDSTANCE to 0; + call-script CloseYard(); + call-script deactivatescr(); + return (0); +} + +InitState() +{ + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; + return (0); +} + +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + call-script Go(); + currentstate = 0; + } + if( statechg_DesiredState == 1 ) + { + call-script Stop(); + currentstate = 1; + } + } + statechg_StateChanging = FALSE; + return (0); +} + Create() { hide pad; @@ -18,38 +120,61 @@ Create() hide nano1; hide cagelight_emit; hide cagelight2_emit; - spray = 0; + spray = nano1; + call-script InitState(); } -#define BASEPIECE base -#define MAXTILT 0 -#include "../unit_hitbyweaponid_and_smoke.h" +#define SMOKEPIECE base +#include "smokeunit_thread_nohit.h" + +QueryNanoPiece(piecenum) +{ + //get PRINT(get GAME_FRAME,piecenum, spray); + + if( spray == 0 ) + { + piecenum = nano1; + } + if( spray == 1 ) + { + piecenum = nano2; + } + if( spray >= 2 ) + { + piecenum = nano3; + } + + if (spray >=2) + { + + spray = 0; + } + else { + spray = spray + 1; + } + return (0); +} -QueryNanoPiece(pieceIndex) +Demo() { - spray = (spray + 1) % 3; - pieceIndex = nano1 + spray; + return (0); } Activate() { - signal SIGNAL_TURNON; - set-signal-mask SIGNAL_TURNON; - turn head2 to y-axis <-90> speed <90>; - turn head3 to y-axis <90> speed <90>; - sleep 500; - FACTORY_OPEN_BUILD; + signal SIG_ACTIVATE; + start-script RequestState(0); + return (0); } Deactivate() { - signal SIGNAL_TURNON; - set-signal-mask SIGNAL_TURNON; - sleep 5000; - - turn head2 to y-axis <0> speed <90>; - turn head3 to y-axis <0> speed <90>; - FACTORY_CLOSE_BUILD; + signal SIG_ACTIVATE; + set-signal-mask SIG_ACTIVATE; + sleep 5000; + set-signal-mask 0; + start-script RequestState(1); + return (0); } StartBuilding() @@ -59,8 +184,9 @@ StartBuilding() show nano3; show cagelight_emit; show cagelight2_emit; - spin cagelight_emit around y-axis speed <250> accelerate <1>; - spin cagelight2_emit around y-axis speed <250>accelerate <1>; + spin cagelight_emit around y-axis speed <250>; + spin cagelight2_emit around y-axis speed <250>; + spin pad around y-axis speed <0.000000>; return (0); } @@ -69,17 +195,25 @@ StopBuilding() hide nano1; hide nano2; hide nano3; + stop-spin pad around y-axis; hide cagelight_emit; hide cagelight2_emit; - stop-spin cagelight_emit around y-axis decelerate <1>; - stop-spin cagelight2_emit around y-axis decelerate <1>; + turn cagelight_emit to y-axis <0> speed <1000>; + turn cagelight2_emit to y-axis <0> speed <1000>; + return (0); } -QueryBuildInfo(pieceIndex) +QueryBuildInfo(piecenum) { - pieceIndex = pad; + piecenum = pad; + return (0); } +SweetSpot(piecenum) +{ + piecenum = base; + return (0); +} Killed(severity, corpsetype) { diff --git a/scripts/Units/armavp.cob b/scripts/Units/armavp.cob index dc6e68825a4829a4132b2ccfde1cbfa7f2560a14..eb7a0452cc6c1ffd474ab875a26fd50cebc9c9eb 100644 GIT binary patch literal 4233 zcmbtX%ZpoO6hFzNnfgF)eNe>B)rGiFm`OneU(*>u2f;?eP!*xMo!rhuGfA4sR0b5Y zaAC0vMJR$B#f`h-!bQP_3-u3>f{0zYawF803&rvGJNKOA%Qdk{9r)#(@4O%1cVS8* zau;wb@bQ9336y^qZWFl*JajvN^J}1ms2CNfte2y^L3sY_>5P`XIXIA5B7_jyggV+# z$Jnm>m4-`&h;~Q7I!{)rWtG#Gxt2h}coZ|nI|=(wy&5Z+248c6tRqt{c^q>Ar=Iz51JQz2^x1bOzPT z?+5ea-1tYour}`JlF6y}9z4Fzq%P_spo=sDEgRLiINxmNTR`bcIb%`Gy44=+SX|7R zXMJ9CI{OkT{%!`b+~3um`( zek_A}-ih(~Wqq79JBA?{uZd>Jk-SQ))|Y#UHd$k(`^}F%=WC=@*YgG z)wi~i)%TX!@~&Oa_Pp6L)$qPyh95xwuUevo$ZbZwWZ!rC`%JZ#ZXm~OSPMc1GsyIz zt@49R{vJP+_6-InVsgg7>zNo&s-o|PRNo7zzBf>PU!eZJ7=}H3{Uw;COdr-4>eR>V z-H()h>H{{M2j929Yk%k3zwdu# z5pWUs4EPH85%>c*02Wac|7YC>&H?WL=Yb2rhrlPm7r-UpGVmR61^5a01^5m46Tp8v zaum1^co29PSOy*io&?r_b>IZB0h|I}2ljzvv)??I^wZtVo;1?%bfTNKUrBlmS!;E6 zQ{|rRNUh)L%6hxmul3<2FQsSq(p@{O^-{`eJDoSu4VcJt&Hn2C$u#M9+VbLF+S`92 zX?Lp4bTgG_(w&YRx8yi^W+X^@{nfo@tI=$4X}aM-L+EL}eFmkxnWp_(x6_yBo2^#b zkkiR-D&3?Z+iB8R*58W$9+Nf_FY9kbe~-y#vX!=)Tig8+R~fOV(jC-4w5eq0e*l^n BL9ze< literal 2959 zcmb7FF>4f25S~lUQ;f)}jbh;yf(Rm)1kpxJ)WV?XNemVi-g>tthnKq}UW9~+EGO;N7M-Ra5a2S6~L;iJ?S6Y{x?_m zyh{CUCN3WwtZ1$Wabpg1S(5dnd*`m^GmiZ-cOEA7eQ55%cC}|#TPb};ibd##v0)7J z*|TOp3XnDRoO~MpryIciNnH4$mQc2k>2?cs(EGQvY?| z+rizxm)gHh_?f&~Suvb-R|9FRCybgHp9R|@=I$tZpuN+t5wqf!?wWi5ET;212avJ5 zdc-cUi8c1(jE?$ThH;Ou4wg3T@d1na{neApTcclLVZZ7z#WFos3eo(3_NRT=UwfTg z^{jaI?`+BxKM%)%M z+~kX!xQd%_aT6|X!ZlOjS#B)L*U>2CEu?^ey^u?g$B-q+8_0XwxLD62uOS~GA0b~M z-yy#t1Gr4PAqOCbA;XZPkmHb3kTJ*w$OPmHB!RRccOj={lDL!DnR@5s+~p*0x0++M z(6iI=bUc~V#;03161zB?%*>sSo2_y^sU|jB?bL5E{d5w`9Ph+4os+ZmMy=kQwDC@> z-E~~H^TwLjTXweIXe2ee7T-*)9oK9siED%IcgXz?TN9NA-S3e59kwdCH0qO6omFdS N)x4Ta*Fz-r{{W@G=j8wZ diff --git a/scripts/Units/armawac.bos b/scripts/Units/armawac.bos index d935885a4cc..e9934ba8a00 100644 --- a/scripts/Units/armawac.bos +++ b/scripts/Units/armawac.bos @@ -1,9 +1,31 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, wingr, wingl, dish, thrust; -#include "air_barrelroll.h" + +static-var maxSpeed, currentSpeed; +BarrelRoll() // remember to start-script BarrelRoll(); in Create()! +{ + currentSpeed = (get CURRENT_SPEED); + maxSpeed = (get MAX_SPEED); + + while (TRUE){ + sleep 2000; + currentSpeed = (get CURRENT_SPEED); + //get PRINT(maxSpeed, currentSpeed, Static_Var_1); + if( Rand( 1, 5 ) == 1 AND (maxSpeed < (currentSpeed+100) ) ) + { + turn base to z-axis <240.054945> speed <120.027473>; + wait-for-turn base around z-axis; + turn base to z-axis <120.027473> speed <180.043956>; + wait-for-turn base around z-axis; + turn base to z-axis <0.000000> speed <120.027473>; + } + } +} Create() { @@ -49,7 +71,10 @@ Deactivate() stop-spin dish around y-axis; } - +SweetSpot(piecenum) +{ + piecenum = base; +} Killed(severity, corpsetype) { diff --git a/scripts/Units/armawac.cob b/scripts/Units/armawac.cob index e8d6f82c93f0a1e7705f695285a3a617b14197d9..1956d357564f60e5b72ffef0c2125f9c9f4b62fc 100644 GIT binary patch literal 2004 zcmb_dJx?1!5FH=3L8-P4QpEiL3X3`tkf2D2#)OX=gHK@T1n7JTCGL?@q>7Xpq`0D^ zp+Ja&CQ@2D_z|=?@6GLy%SDH{BxgPE?0mePH@BASBGLpJz*S8oz{= z?PE{jpXV22)(5$Yu`ZrSM zGcMDmbM`Uop~%S^K0L>C>D*DLd_HEJI)5KCP9>Nt(G%j1gPS=)D_d=^dJz|ZALcN| zYb0Uz8<<2B^syJ#YfspR*wa72DjWRWj6c@XU~Iz2XzLwDUa`hBguZ6rYsmN1S^Dlu z`rujA!+L7WYn!3ZYg;`a0;9O=fEX! z4SWaQbdn^B-|xk-yiKA`8p-@t+WSajA?ld9au7x7%Kly|OT9Rby0Y2nM{>~H-A?p7 PmTs@VBk4}^p`Xf6@LHBc literal 1570 zcmb7EJxc>Y5S^S!1gkAX5Rv2uSOkAT{6G+!C}?G2G=~NbmCLE6jkTp%SfsJB@)wAO zKfqEu!Om6$8$aILo6++m1{cPgoq6--&1To4h?LY;3vhIuA$SS9flVNGM^H6zw1NxV z0&&%%3u=gAG3LwH%5F~gw}WtM1&<#mNb$rOp5GR8uIO>Y^s6OAQ(k@zpW+6bxRR4y z7<$bDPL9TM`t4q@Uc9D2b5{d!RLAS#H$IO`SfDuLL!>94)XR<|vcJbQ%Fu*KxN-1x z{m3`cJY%P$09=b>TQ0^fhTv$-<_;b{J}hQ4SuHVKtX+9YalTGt?-e-UV=P_yeOxe1;zI@I&Avvw9!>Nhm&uCiUie%2496S^IN{_kx`D)I%Y%YJ! znllY~PS$X-kIm)J9d({hbH?ei;Fa;lCBh^USHf9dG52D(hgk?u{0>HLq54RWZC zDb>OH|LCy3rsG(3_0z$b`}I0eE}OZld+TNSe!W;W4_kzt!|q}HKl})Lf<43DVWqOj z5X`|wU}Lc9W*mpn(oPh~OdK|oP^LDL_CB52uxai>JBq@VtT#KM9JIGLWB)gjR=cw$ K$yU7AN#ql=*?vd> diff --git a/scripts/Units/armbanth.bos b/scripts/Units/armbanth.bos index 5aa7183639b..fd3bb504208 100644 --- a/scripts/Units/armbanth.bos +++ b/scripts/Units/armbanth.bos @@ -1,12 +1,13 @@ +#define TA // This is a TA script - -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece head, torso, pelvis, missleflare, rleg, rthigh, lthigh, lleg, ltoe, rtoe, lfoot, rfoot, luparm, ruparm, rloarm, lloarm, rshoulder, lshoulder, lbarrel, rbarrel, rflare, lflare, turret, laserflare, antenna, aimx1, aimy1; -static-var gun_1, gun_3, isAiming, StompXZ, StompHeading, +static-var gun_1, gun_3, bAiming, Static_Var_5, StompXZ, StompHeading, restore_delay, myHeading, wpn1_lasthead, wpn2_lasthead, wpn3_lasthead; lua_UnitScriptDecal(lightIndex, xpos,zpos, heading) @@ -15,17 +16,17 @@ lua_UnitScriptDecal(lightIndex, xpos,zpos, heading) } // Signal definitions -#define SIGNAL_AIM1 256 -#define SIGNAL_AIM2 512 -#define SIGNAL_AIM3 1024 +#define SIG_AIM 2 +#define SIG_AIM_2 4 +#define SIG_AIM_3 8 // For E:\Spring\support\Animation_sources\armbanth_anim_walk_v2.blend Created by https://github.com/Beherith/Skeletor_S3O V((0, 3, 5)) // this animation uses the static-var animFramesPerKeyframe which contains how many frames each keyframe takes -static-var animSpeed, maxSpeed, animFramesPerKeyframe, isMoving, moveHands; -#define SIGNAL_MOVE 1 +static-var animSpeed, maxSpeed, animFramesPerKeyframe, bMoving, moveHands; +#define SIG_WALK 1 Walk() {// For E:\Spring\support\Animation_sources\armbanth_anim_walk_v2.blend Created by https://github.com/Beherith/Skeletor_S3O V((0, 3, 5)) - set-signal-mask SIGNAL_MOVE; - if (isMoving) { //Frame:5 + set-signal-mask SIG_WALK; + if (bMoving) { //Frame:5 turn antenna to x-axis <0.777777> speed <53.333339> / animSpeed; //delta=1.78 turn head to x-axis <3.786915> speed <8.607460> / animSpeed; //delta=-0.29 turn lfoot to x-axis <-7.727963> speed <198.698877> / animSpeed; //delta=-6.62 @@ -36,12 +37,12 @@ Walk() {// For E:\Spring\support\Animation_sources\armbanth_anim_walk_v2.blend C turn lthigh to z-axis <-14.983340> speed <16.971159> / animSpeed; //delta=0.57 turn lthigh to y-axis <-12.247465> speed <599.630230> / animSpeed; //delta=-19.99 turn ltoe to x-axis <-9.058824> speed <18.427680> / animSpeed; //delta=-0.61 - move pelvis to x-axis [2.0] speed [60.0] / animSpeed; //delta=2.00 - turn pelvis to z-axis <-1.500000> speed <45.0> / animSpeed; //delta=1.50 - turn pelvis to y-axis <-5.0> speed <149.999996> / animSpeed; //delta=-5.00 + move pelvis to x-axis [2.000000] speed [60.000000] / animSpeed; //delta=2.00 + turn pelvis to z-axis <-1.500000> speed <45.000001> / animSpeed; //delta=1.50 + turn pelvis to y-axis <-5.000000> speed <149.999996> / animSpeed; //delta=-5.00 turn rfoot to x-axis <-43.905911> speed <880.496181> / animSpeed; //delta=29.35 - turn rfoot to z-axis <-0.0> speed <400.102503> / animSpeed; //delta=-13.34 - turn rfoot to y-axis <0.0> speed <102.287116> / animSpeed; //delta=3.41 + turn rfoot to z-axis <-0.000150> speed <400.102503> / animSpeed; //delta=-13.34 + turn rfoot to y-axis <0.000804> speed <102.287116> / animSpeed; //delta=3.41 turn rleg to x-axis <49.670095> speed <425.957508> / animSpeed; //delta=-14.20 turn rthigh to x-axis <-9.973088> speed <370.592276> / animSpeed; //delta=-12.35 turn rthigh to z-axis <-3.016314> speed <512.826923> / animSpeed; //delta=17.09 @@ -66,9 +67,9 @@ Walk() {// For E:\Spring\support\Animation_sources\armbanth_anim_walk_v2.blend C } sleep ((33*animSpeed) -1); } - while(isMoving) { - if (isMoving) { //Frame:10 - turn antenna to x-axis <-0.0> speed <23.333323> / animSpeed; //delta=0.78 + while(bMoving) { + if (bMoving) { //Frame:10 + turn antenna to x-axis <-0.000000> speed <23.333323> / animSpeed; //delta=0.78 turn head to x-axis <3.561147> speed <6.773055> / animSpeed; //delta=0.23 turn head to y-axis <-5.005229> speed <148.268690> / animSpeed; //delta=-4.94 turn lfoot to x-axis <1.081959> speed <264.297665> / animSpeed; //delta=-8.81 @@ -77,9 +78,9 @@ Walk() {// For E:\Spring\support\Animation_sources\armbanth_anim_walk_v2.blend C turn lthigh to z-axis <-19.862386> speed <146.371398> / animSpeed; //delta=4.88 turn lthigh to y-axis <-14.607954> speed <70.814684> / animSpeed; //delta=-2.36 turn ltoe to x-axis <-10.438577> speed <41.392586> / animSpeed; //delta=1.38 - move pelvis to x-axis [1.500000] speed [15.0] / animSpeed; //delta=-0.50 - turn pelvis to z-axis <-1.0> speed <15.0> / animSpeed; //delta=-0.50 - turn pelvis to y-axis <-8.0> speed <90.0> / animSpeed; //delta=-3.00 + move pelvis to x-axis [1.500000] speed [15.000000] / animSpeed; //delta=-0.50 + turn pelvis to z-axis <-1.000000> speed <15.000001> / animSpeed; //delta=-0.50 + turn pelvis to y-axis <-8.000000> speed <90.000003> / animSpeed; //delta=-3.00 turn rfoot to x-axis <-39.119717> speed <143.585808> / animSpeed; //delta=-4.79 turn rleg to x-axis <21.644685> speed <840.762307> / animSpeed; //delta=28.03 turn rthigh to x-axis <14.154367> speed <723.823637> / animSpeed; //delta=-24.13 @@ -105,7 +106,7 @@ Walk() {// For E:\Spring\support\Animation_sources\armbanth_anim_walk_v2.blend C sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:15 + if (bMoving) { //Frame:15 turn antenna to x-axis <-1.444444> speed <43.333331> / animSpeed; //delta=1.44 turn head to y-axis <-6.735030> speed <51.894040> / animSpeed; //delta=-1.73 turn lfoot to x-axis <16.807289> speed <471.759891> / animSpeed; //delta=-15.73 @@ -114,16 +115,16 @@ Walk() {// For E:\Spring\support\Animation_sources\armbanth_anim_walk_v2.blend C turn lthigh to z-axis <-12.882094> speed <209.408785> / animSpeed; //delta=-6.98 turn lthigh to y-axis <-5.889249> speed <261.561159> / animSpeed; //delta=8.72 turn ltoe to x-axis <-0.814118> speed <288.733783> / animSpeed; //delta=-9.62 - move pelvis to x-axis [0.0] speed [45.0] / animSpeed; //delta=-1.50 - turn pelvis to z-axis <-0.0> speed <30.0> / animSpeed; //delta=-1.00 - turn pelvis to y-axis <-9.0> speed <30.0> / animSpeed; //delta=-1.00 + move pelvis to x-axis [0.000000] speed [45.000000] / animSpeed; //delta=-1.50 + turn pelvis to z-axis <-0.000000> speed <30.000000> / animSpeed; //delta=-1.00 + turn pelvis to y-axis <-9.000000> speed <30.000009> / animSpeed; //delta=-1.00 turn rfoot to x-axis <-1.487672> speed <1128.961351> / animSpeed; //delta=-37.63 turn rleg to x-axis <29.341526> speed <230.905234> / animSpeed; //delta=-7.70 turn rthigh to x-axis <16.908902> speed <82.636051> / animSpeed; //delta=-2.75 turn rthigh to z-axis <3.375138> speed <127.682268> / animSpeed; //delta=-4.26 turn rthigh to y-axis <-0.850967> speed <32.583246> / animSpeed; //delta=-1.09 turn rtoe to x-axis <-45.581513> speed <1323.991796> / animSpeed; //delta=44.13 - move torso to y-axis [0.0] speed [10.200000] / animSpeed; //delta=0.34 + move torso to y-axis [0.000000] speed [10.200000] / animSpeed; //delta=0.34 turn torso to y-axis <13.780833> speed <45.936010> / animSpeed; //delta=1.53 if (moveHands) { turn lloarm to x-axis <35.048142> speed <4.555565> / animSpeed; //delta=0.15 @@ -136,7 +137,7 @@ Walk() {// For E:\Spring\support\Animation_sources\armbanth_anim_walk_v2.blend C sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:20 + if (bMoving) { //Frame:20 turn antenna to x-axis <-2.555555> speed <33.333332> / animSpeed; //delta=1.11 turn head to y-axis <-5.770232> speed <28.943938> / animSpeed; //delta=0.96 turn lfoot to x-axis <27.492893> speed <320.568116> / animSpeed; //delta=-10.69 @@ -145,9 +146,9 @@ Walk() {// For E:\Spring\support\Animation_sources\armbanth_anim_walk_v2.blend C turn lthigh to z-axis <-4.087866> speed <263.826827> / animSpeed; //delta=-8.79 turn lthigh to y-axis <-0.677783> speed <156.343986> / animSpeed; //delta=5.21 turn ltoe to x-axis <2.756426> speed <107.116307> / animSpeed; //delta=-3.57 - move pelvis to x-axis [-1.500000] speed [45.0] / animSpeed; //delta=-1.50 - turn pelvis to z-axis <1.0> speed <30.0> / animSpeed; //delta=-1.00 - turn pelvis to y-axis <-8.0> speed <30.0> / animSpeed; //delta=1.00 + move pelvis to x-axis [-1.500000] speed [45.000000] / animSpeed; //delta=-1.50 + turn pelvis to z-axis <1.000000> speed <30.000000> / animSpeed; //delta=-1.00 + turn pelvis to y-axis <-8.000000> speed <30.000009> / animSpeed; //delta=1.00 turn rfoot to x-axis <-43.261243> speed <1253.207137> / animSpeed; //delta=41.77 turn rleg to x-axis <57.855288> speed <855.412858> / animSpeed; //delta=-28.51 turn rthigh to x-axis <3.290640> speed <408.547838> / animSpeed; //delta=13.62 @@ -170,10 +171,10 @@ Walk() {// For E:\Spring\support\Animation_sources\armbanth_anim_walk_v2.blend C } sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:25 + if (bMoving) { //Frame:25 emit-sfx 4096 + 3 from ltoe; call-script lua_UnitScriptDecal(1, (get PIECE_XZ(ltoe) & 0xffff0000) / 0x00010000 , (get PIECE_XZ(ltoe) & 0x0000ffff), get HEADING(0)); - turn antenna to x-axis <-3.0> speed <13.333334> / animSpeed; //delta=0.44 + turn antenna to x-axis <-3.000000> speed <13.333334> / animSpeed; //delta=0.44 turn head to y-axis <-3.322747> speed <73.424542> / animSpeed; //delta=2.45 turn lfoot to x-axis <-16.293293> speed <1313.585584> / animSpeed; //delta=43.79 turn lleg to x-axis <48.447109> speed <1445.022874> / animSpeed; //delta=-48.17 @@ -181,9 +182,9 @@ Walk() {// For E:\Spring\support\Animation_sources\armbanth_anim_walk_v2.blend C turn lthigh to z-axis <-0.471254> speed <108.498363> / animSpeed; //delta=-3.62 turn lthigh to y-axis <-0.217577> speed <13.806187> / animSpeed; //delta=0.46 turn ltoe to x-axis <3.911303> speed <34.646310> / animSpeed; //delta=-1.15 - move pelvis to x-axis [-2.0] speed [15.0] / animSpeed; //delta=-0.50 - turn pelvis to z-axis <1.500000> speed <15.0> / animSpeed; //delta=-0.50 - turn pelvis to y-axis <-5.0> speed <90.0> / animSpeed; //delta=3.00 + move pelvis to x-axis [-2.000000] speed [15.000000] / animSpeed; //delta=-0.50 + turn pelvis to z-axis <1.500000> speed <15.000001> / animSpeed; //delta=-0.50 + turn pelvis to y-axis <-5.000000> speed <90.000003> / animSpeed; //delta=3.00 turn rfoot to x-axis <-61.737363> speed <554.283580> / animSpeed; //delta=18.48 turn rleg to x-axis <90.793800> speed <988.155364> / animSpeed; //delta=-32.94 turn rthigh to x-axis <-17.607427> speed <626.942018> / animSpeed; //delta=20.90 @@ -207,7 +208,7 @@ Walk() {// For E:\Spring\support\Animation_sources\armbanth_anim_walk_v2.blend C } sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:30 + if (bMoving) { //Frame:30 turn antenna to x-axis <-2.555555> speed <13.333334> / animSpeed; //delta=-0.44 turn head to y-axis <-0.062939> speed <97.794250> / animSpeed; //delta=3.26 turn lfoot to x-axis <-38.989804> speed <680.895309> / animSpeed; //delta=22.70 @@ -218,7 +219,7 @@ Walk() {// For E:\Spring\support\Animation_sources\armbanth_anim_walk_v2.blend C turn ltoe to x-axis <10.406751> speed <194.863453> / animSpeed; //delta=-6.50 move pelvis to x-axis [-2.300000] speed [8.999999] / animSpeed; //delta=-0.30 turn pelvis to z-axis <1.750000> speed <7.499999> / animSpeed; //delta=-0.25 - turn pelvis to y-axis <0.0> speed <149.999996> / animSpeed; //delta=5.00 + turn pelvis to y-axis <0.000000> speed <149.999996> / animSpeed; //delta=5.00 turn rfoot to x-axis <-41.098437> speed <619.167781> / animSpeed; //delta=-20.64 turn rleg to x-axis <103.237025> speed <373.296749> / animSpeed; //delta=-12.44 turn rloarm to x-axis <33.985181> speed <86.555538> / animSpeed; //delta=-2.89 @@ -226,9 +227,9 @@ Walk() {// For E:\Spring\support\Animation_sources\armbanth_anim_walk_v2.blend C turn rthigh to z-axis <5.913167> speed <76.718727> / animSpeed; //delta=-2.56 turn rthigh to y-axis <4.031663> speed <86.922022> / animSpeed; //delta=2.90 turn rtoe to x-axis <-18.351593> speed <122.263169> / animSpeed; //delta=-4.08 - turn torso to x-axis <-0.0> speed <5.695252> / animSpeed; //delta=-0.19 - turn torso to z-axis <-0.0> speed <5.608649> / animSpeed; //delta=0.19 - turn torso to y-axis <0.0> speed <229.680590> / animSpeed; //delta=-7.66 + turn torso to x-axis <-0.000000> speed <5.695252> / animSpeed; //delta=-0.19 + turn torso to z-axis <-0.000000> speed <5.608649> / animSpeed; //delta=0.19 + turn torso to y-axis <0.000000> speed <229.680590> / animSpeed; //delta=-7.66 if (moveHands) { turn lshoulder to x-axis <1.101303> speed <22.641277> / animSpeed; //delta=0.75 turn lshoulder to z-axis <1.873996> speed <29.716663> / animSpeed; //delta=0.99 @@ -242,7 +243,7 @@ Walk() {// For E:\Spring\support\Animation_sources\armbanth_anim_walk_v2.blend C } sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:35 + if (bMoving) { //Frame:35 turn antenna to x-axis <-1.444444> speed <33.333335> / animSpeed; //delta=-1.11 turn head to y-axis <3.307282> speed <101.106639> / animSpeed; //delta=3.37 turn lfoot to x-axis <-43.892954> speed <147.094510> / animSpeed; //delta=4.90 @@ -251,9 +252,9 @@ Walk() {// For E:\Spring\support\Animation_sources\armbanth_anim_walk_v2.blend C turn lthigh to z-axis <2.978285> speed <4.563986> / animSpeed; //delta=0.15 turn lthigh to y-axis <0.422753> speed <23.650981> / animSpeed; //delta=-0.79 turn ltoe to x-axis <-0.458544> speed <325.958865> / animSpeed; //delta=10.87 - move pelvis to x-axis [-2.0] speed [8.999999] / animSpeed; //delta=0.30 + move pelvis to x-axis [-2.000000] speed [8.999999] / animSpeed; //delta=0.30 turn pelvis to z-axis <1.500000> speed <7.499999> / animSpeed; //delta=0.25 - turn pelvis to y-axis <5.0> speed <149.999996> / animSpeed; //delta=5.00 + turn pelvis to y-axis <5.000000> speed <149.999996> / animSpeed; //delta=5.00 turn rfoot to x-axis <-7.170669> speed <1017.833031> / animSpeed; //delta=-33.93 turn rleg to x-axis <82.156029> speed <632.429891> / animSpeed; //delta=21.08 turn rthigh to x-axis <-62.927195> speed <469.414006> / animSpeed; //delta=15.65 @@ -277,8 +278,8 @@ Walk() {// For E:\Spring\support\Animation_sources\armbanth_anim_walk_v2.blend C } sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:40 - turn antenna to x-axis <0.0> speed <43.333329> / animSpeed; //delta=-1.44 + if (bMoving) { //Frame:40 + turn antenna to x-axis <0.000000> speed <43.333329> / animSpeed; //delta=-1.44 turn head to y-axis <5.959820> speed <79.576131> / animSpeed; //delta=2.65 turn lfoot to x-axis <-38.722033> speed <155.127632> / animSpeed; //delta=-5.17 turn lleg to x-axis <21.539288> speed <836.892458> / animSpeed; //delta=27.90 @@ -286,9 +287,9 @@ Walk() {// For E:\Spring\support\Animation_sources\armbanth_anim_walk_v2.blend C turn lthigh to z-axis <0.798388> speed <65.396914> / animSpeed; //delta=2.18 turn lthigh to y-axis <-0.206988> speed <18.892250> / animSpeed; //delta=-0.63 turn ltoe to x-axis <-1.378462> speed <27.597543> / animSpeed; //delta=0.92 - move pelvis to x-axis [-1.500000] speed [15.0] / animSpeed; //delta=0.50 - turn pelvis to z-axis <1.0> speed <15.0> / animSpeed; //delta=0.50 - turn pelvis to y-axis <8.0> speed <90.0> / animSpeed; //delta=3.00 + move pelvis to x-axis [-1.500000] speed [15.000000] / animSpeed; //delta=0.50 + turn pelvis to z-axis <1.000000> speed <15.000001> / animSpeed; //delta=0.50 + turn pelvis to y-axis <8.000000> speed <90.000003> / animSpeed; //delta=3.00 turn rfoot to x-axis <1.852174> speed <270.685289> / animSpeed; //delta=-9.02 turn rleg to x-axis <55.655271> speed <795.022750> / animSpeed; //delta=26.50 turn rthigh to x-axis <-61.499556> speed <42.829179> / animSpeed; //delta=-1.43 @@ -312,7 +313,7 @@ Walk() {// For E:\Spring\support\Animation_sources\armbanth_anim_walk_v2.blend C } sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:45 + if (bMoving) { //Frame:45 turn antenna to x-axis <1.444444> speed <43.333329> / animSpeed; //delta=-1.44 turn head to y-axis <7.035030> speed <32.256315> / animSpeed; //delta=1.08 turn lfoot to x-axis <-0.508901> speed <1146.393945> / animSpeed; //delta=-38.21 @@ -321,16 +322,16 @@ Walk() {// For E:\Spring\support\Animation_sources\armbanth_anim_walk_v2.blend C turn lthigh to z-axis <-3.470907> speed <128.078860> / animSpeed; //delta=4.27 turn lthigh to y-axis <0.849236> speed <31.686743> / animSpeed; //delta=1.06 turn ltoe to x-axis <-44.818383> speed <1303.197619> / animSpeed; //delta=43.44 - move pelvis to x-axis [0.0] speed [45.0] / animSpeed; //delta=1.50 - turn pelvis to z-axis <-0.0> speed <30.0> / animSpeed; //delta=1.00 - turn pelvis to y-axis <9.0> speed <30.0> / animSpeed; //delta=1.00 + move pelvis to x-axis [0.000000] speed [45.000000] / animSpeed; //delta=1.50 + turn pelvis to z-axis <-0.000000> speed <30.000000> / animSpeed; //delta=1.00 + turn pelvis to y-axis <9.000000> speed <30.000009> / animSpeed; //delta=1.00 turn rfoot to x-axis <17.381069> speed <465.866858> / animSpeed; //delta=-15.53 turn rleg to x-axis <11.111301> speed <1336.319075> / animSpeed; //delta=44.54 turn rthigh to x-axis <-51.718483> speed <293.432201> / animSpeed; //delta=-9.78 turn rthigh to z-axis <12.892781> speed <207.279661> / animSpeed; //delta=6.91 turn rthigh to y-axis <5.882229> speed <259.029819> / animSpeed; //delta=-8.63 turn rtoe to x-axis <-0.347170> speed <280.693536> / animSpeed; //delta=-9.36 - move torso to y-axis [0.0] speed [29.699998] / animSpeed; //delta=0.99 + move torso to y-axis [0.000000] speed [29.699998] / animSpeed; //delta=0.99 turn torso to y-axis <-13.780833> speed <45.936010> / animSpeed; //delta=-1.53 if (moveHands) { turn lloarm to x-axis <20.040738> speed <79.222220> / animSpeed; //delta=-2.64 @@ -342,7 +343,7 @@ Walk() {// For E:\Spring\support\Animation_sources\armbanth_anim_walk_v2.blend C } sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:50 + if (bMoving) { //Frame:50 turn antenna to x-axis <2.555555> speed <33.333332> / animSpeed; //delta=-1.11 turn head to y-axis <5.194816> speed <55.206443> / animSpeed; //delta=-1.84 turn lfoot to x-axis <-42.872558> speed <1270.909693> / animSpeed; //delta=42.36 @@ -351,9 +352,9 @@ Walk() {// For E:\Spring\support\Animation_sources\armbanth_anim_walk_v2.blend C turn lthigh to z-axis <-3.867209> speed <11.889037> / animSpeed; //delta=0.40 turn lthigh to y-axis <-0.132760> speed <29.459878> / animSpeed; //delta=-0.98 turn ltoe to x-axis <-25.946784> speed <566.147977> / animSpeed; //delta=-18.87 - move pelvis to x-axis [1.500000] speed [45.0] / animSpeed; //delta=1.50 - turn pelvis to z-axis <-1.0> speed <30.0> / animSpeed; //delta=1.00 - turn pelvis to y-axis <8.0> speed <30.0> / animSpeed; //delta=-1.00 + move pelvis to x-axis [1.500000] speed [45.000000] / animSpeed; //delta=1.50 + turn pelvis to z-axis <-1.000000> speed <30.000000> / animSpeed; //delta=1.00 + turn pelvis to y-axis <8.000000> speed <30.000009> / animSpeed; //delta=-1.00 turn rfoot to x-axis <27.823459> speed <313.271681> / animSpeed; //delta=-10.44 turn rleg to x-axis <0.366540> speed <322.342839> / animSpeed; //delta=10.74 turn rthigh to x-axis <-32.320732> speed <581.932527> / animSpeed; //delta=-19.40 @@ -376,10 +377,10 @@ Walk() {// For E:\Spring\support\Animation_sources\armbanth_anim_walk_v2.blend C } sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:55 + if (bMoving) { //Frame:55 emit-sfx 4096 + 3 from rtoe; call-script lua_UnitScriptDecal(1, (get PIECE_XZ(rtoe) & 0xffff0000) / 0x00010000 , (get PIECE_XZ(rtoe) & 0x0000ffff), get HEADING(0)); - turn antenna to x-axis <3.0> speed <13.333340> / animSpeed; //delta=-0.44 + turn antenna to x-axis <3.000000> speed <13.333340> / animSpeed; //delta=-0.44 turn head to y-axis <1.777275> speed <102.526219> / animSpeed; //delta=-3.42 turn lfoot to x-axis <-61.831886> speed <568.779837> / animSpeed; //delta=18.96 turn lleg to x-axis <90.552681> speed <989.419837> / animSpeed; //delta=-32.98 @@ -389,9 +390,9 @@ Walk() {// For E:\Spring\support\Animation_sources\armbanth_anim_walk_v2.blend C turn lthigh to z-axis <-3.438399> speed <12.864279> / animSpeed; //delta=-0.43 turn lthigh to y-axis <-1.177225> speed <31.333948> / animSpeed; //delta=-1.04 turn ltoe to x-axis <-22.620757> speed <99.780816> / animSpeed; //delta=-3.33 - move pelvis to x-axis [2.0] speed [15.0] / animSpeed; //delta=0.50 - turn pelvis to z-axis <-1.500000> speed <15.0> / animSpeed; //delta=0.50 - turn pelvis to y-axis <5.0> speed <90.0> / animSpeed; //delta=-3.00 + move pelvis to x-axis [2.000000] speed [15.000000] / animSpeed; //delta=0.50 + turn pelvis to z-axis <-1.500000> speed <15.000001> / animSpeed; //delta=0.50 + turn pelvis to y-axis <5.000000> speed <90.000003> / animSpeed; //delta=-3.00 turn rfoot to x-axis <-15.893457> speed <1311.507482> / animSpeed; //delta=43.72 turn rleg to x-axis <48.171357> speed <1434.144511> / animSpeed; //delta=-47.80 turn rthigh to x-axis <-37.775481> speed <163.642487> / animSpeed; //delta=5.45 @@ -410,7 +411,7 @@ Walk() {// For E:\Spring\support\Animation_sources\armbanth_anim_walk_v2.blend C } sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:60 + if (bMoving) { //Frame:60 turn antenna to x-axis <2.222222> speed <23.333333> / animSpeed; //delta=0.78 turn head to y-axis <-0.062939> speed <55.206423> / animSpeed; //delta=-1.84 turn lfoot to x-axis <-41.607101> speed <606.743531> / animSpeed; //delta=-20.22 @@ -423,16 +424,16 @@ Walk() {// For E:\Spring\support\Animation_sources\armbanth_anim_walk_v2.blend C turn ltoe to x-axis <-18.854283> speed <112.994210> / animSpeed; //delta=-3.77 move pelvis to x-axis [2.200000] speed [6.000001] / animSpeed; //delta=0.20 turn pelvis to z-axis <-1.750000> speed <7.499999> / animSpeed; //delta=0.25 - turn pelvis to y-axis <0.0> speed <149.999996> / animSpeed; //delta=-5.00 + turn pelvis to y-axis <0.000000> speed <149.999996> / animSpeed; //delta=-5.00 turn rfoot to x-axis <-38.750214> speed <685.702703> / animSpeed; //delta=22.86 turn rleg to x-axis <60.461859> speed <368.715058> / animSpeed; //delta=-12.29 turn rthigh to x-axis <-28.104044> speed <290.143106> / animSpeed; //delta=-9.67 turn rthigh to z-axis <-2.889263> speed <102.519562> / animSpeed; //delta=3.42 turn rthigh to y-axis <-1.099737> speed <40.221222> / animSpeed; //delta=-1.34 turn rtoe to x-axis <10.650076> speed <191.260878> / animSpeed; //delta=-6.38 - turn torso to x-axis <-0.0> speed <6.435585> / animSpeed; //delta=0.21 - turn torso to z-axis <-0.0> speed <5.608649> / animSpeed; //delta=-0.19 - turn torso to y-axis <0.0> speed <229.680590> / animSpeed; //delta=7.66 + turn torso to x-axis <-0.000000> speed <6.435585> / animSpeed; //delta=0.21 + turn torso to z-axis <-0.000000> speed <5.608649> / animSpeed; //delta=-0.19 + turn torso to y-axis <0.000000> speed <229.680590> / animSpeed; //delta=7.66 if (moveHands) { turn lshoulder to x-axis <1.646872> speed <11.680734> / animSpeed; //delta=0.39 turn lshoulder to z-axis <2.590056> speed <15.330953> / animSpeed; //delta=0.51 @@ -447,7 +448,7 @@ Walk() {// For E:\Spring\support\Animation_sources\armbanth_anim_walk_v2.blend C } sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:65 + if (bMoving) { //Frame:65 turn antenna to x-axis <0.777777> speed <43.333347> / animSpeed; //delta=1.44 turn lfoot to x-axis <-7.727963> speed <1016.374154> / animSpeed; //delta=-33.88 turn lleg to x-axis <82.919726> speed <620.844320> / animSpeed; //delta=20.69 @@ -455,9 +456,9 @@ Walk() {// For E:\Spring\support\Animation_sources\armbanth_anim_walk_v2.blend C turn lthigh to z-axis <-14.983340> speed <282.060166> / animSpeed; //delta=9.40 turn lthigh to y-axis <-12.247465> speed <253.009831> / animSpeed; //delta=-8.43 turn ltoe to x-axis <-9.058824> speed <293.863758> / animSpeed; //delta=-9.80 - move pelvis to x-axis [2.0] speed [6.000001] / animSpeed; //delta=-0.20 + move pelvis to x-axis [2.000000] speed [6.000001] / animSpeed; //delta=-0.20 turn pelvis to z-axis <-1.500000> speed <7.499999> / animSpeed; //delta=-0.25 - turn pelvis to y-axis <-5.0> speed <149.999996> / animSpeed; //delta=-5.00 + turn pelvis to y-axis <-5.000000> speed <149.999996> / animSpeed; //delta=-5.00 turn rfoot to x-axis <-43.905911> speed <154.670897> / animSpeed; //delta=5.16 turn rleg to x-axis <49.670095> speed <323.752913> / animSpeed; //delta=10.79 turn rthigh to x-axis <-9.973088> speed <543.928697> / animSpeed; //delta=-18.13 @@ -502,28 +503,28 @@ ResetHands() { turn ruparm to y-axis <-12.199999> speed <616.666703> / animSpeed; turn ruparm to z-axis <17.599999> speed <473.333441> / animSpeed; } -// Call this from StopMoving()! +// Call this from MotionControl()! StopWalking() { animSpeed = 10; // tune restore speed here, higher values are slower restore speeds - move pelvis to x-axis [0.0] speed [120.0] / animSpeed; - move pelvis to y-axis [-3.0] speed [-13.846154] / animSpeed; - move torso to y-axis [0.0] speed [59.400001] / animSpeed; + move pelvis to x-axis [0.000000] speed [120.000000] / animSpeed; + move pelvis to y-axis [-3.000000] speed [-13.846154] / animSpeed; + move torso to y-axis [0.000000] speed [59.400001] / animSpeed; turn antenna to x-axis <2.555555> speed <106.666678> / animSpeed; turn head to x-axis <3.500000> speed <17.214920> / animSpeed; - turn head to y-axis <0.0> speed <296.537380> / animSpeed; + turn head to y-axis <0.000000> speed <296.537380> / animSpeed; turn lfoot to x-axis <-14.351259> speed <2627.171168> / animSpeed; turn lfoot to y-axis <3.493819> speed <209.517666> / animSpeed; turn lfoot to z-axis <13.841419> speed <830.546646> / animSpeed; turn lleg to x-axis <33.550695> speed <2962.141848> / animSpeed; - turn lleg to y-axis <0.0> speed <7.998549> / animSpeed; - turn lleg to z-axis <0.0> speed <8.002872> / animSpeed; + turn lleg to y-axis <0.000000> speed <7.998549> / animSpeed; + turn lleg to z-axis <0.000000> speed <8.002872> / animSpeed; turn lthigh to x-axis <-21.590981> speed <2484.152130> / animSpeed; turn lthigh to y-axis <7.740209> speed <1199.260461> / animSpeed; turn lthigh to z-axis <-14.417635> speed <564.120333> / animSpeed; turn ltoe to x-axis <-9.673080> speed <2606.395238> / animSpeed; turn pelvis to x-axis <4.800000> speed <-22.153844> / animSpeed; - turn pelvis to y-axis <0.0> speed <299.999991> / animSpeed; - turn pelvis to z-axis <0.0> speed <90.0> / animSpeed; + turn pelvis to y-axis <0.000000> speed <299.999991> / animSpeed; + turn pelvis to z-axis <0.000000> speed <90.000003> / animSpeed; turn rfoot to x-axis <-14.556038> speed <2623.014964> / animSpeed; turn rfoot to y-axis <-3.408766> speed <204.574232> / animSpeed; turn rfoot to z-axis <-13.336901> speed <800.205005> / animSpeed; @@ -532,9 +533,9 @@ StopWalking() { turn rthigh to y-axis <-8.329516> speed <518.059637> / animSpeed; turn rthigh to z-axis <14.077916> speed <1025.653846> / animSpeed; turn rtoe to x-axis <-9.803516> speed <2647.983591> / animSpeed; - turn torso to x-axis <0.0> speed <12.871170> / animSpeed; - turn torso to y-axis <0.0> speed <459.361180> / animSpeed; - turn torso to z-axis <0.0> speed <11.217299> / animSpeed; + turn torso to x-axis <0.000000> speed <12.871170> / animSpeed; + turn torso to y-axis <0.000000> speed <459.361180> / animSpeed; + turn torso to z-axis <0.000000> speed <11.217299> / animSpeed; if (moveHands) { call-script ResetHands(); } @@ -556,17 +557,17 @@ UnitSpeed(){ } } -StartMoving(reversing){ - signal SIGNAL_MOVE; - isMoving=TRUE; - set-signal-mask SIGNAL_MOVE; +StartMoving(){ + signal SIG_WALK; + bMoving=TRUE; + set-signal-mask SIG_WALK; start-script UnitSpeed(); start-script Walk(); } StopMoving(){ - signal SIGNAL_MOVE; - isMoving=FALSE; + signal SIG_WALK; + bMoving=FALSE; call-script StopWalking(); } @@ -578,7 +579,7 @@ StopMoving(){ #define UNITSIZE 12 #define MAXTILT 70 -#include "../unit_hitbyweaponid_and_smoke.h" +#include "unit_hitbyweaponid_and_smoke.h" Create() { @@ -590,17 +591,18 @@ Create() hide aimy1; myHeading=0; moveHands = TRUE; - isMoving = FALSE; - isAiming = FALSE; + bMoving = FALSE; + bAiming = FALSE; + Static_Var_5 = 1; animSpeed = 5; gun_1 = 0; gun_3 = 0; restore_delay = 2000; } -SetMaxReloadTime(reloadMS) +SetMaxReloadTime(Func_Var_1) { - restore_delay = reloadMS; + restore_delay = Func_Var_1; } @@ -613,17 +615,17 @@ ExecuteRestoreAfterDelay() call-script ResetHands(); moveHands = TRUE; - turn aimy1 to y-axis <0.0> speed <90.021978>; - turn head to y-axis <0.0> speed <50.010989>; - //turn luparm to x-axis <0.0> speed <50.010989>; - //turn ruparm to x-axis <0.0> speed <50.010989>; - turn aimx1 to x-axis <0.0> speed <120.027473>; + turn aimy1 to y-axis <0.000000> speed <90.021978>; + turn head to y-axis <0.000000> speed <50.010989>; + //turn luparm to x-axis <0.000000> speed <50.010989>; + //turn ruparm to x-axis <0.000000> speed <50.010989>; + turn aimx1 to x-axis <0.000000> speed <120.027473>; //wait-for-turn lshoulder around x-axis; //wait-for-turn ruparm around x-axis; //wait-for-turn lshoulder around y-axis; - wpn1_lasthead = 0xbadface; - wpn2_lasthead = 0xbadface; - isAiming = FALSE; + wpn1_lasthead = 1000000; + wpn2_lasthead = 1000000; + bAiming = FALSE; } SetStunned(State) { @@ -634,7 +636,7 @@ SetStunned(State) } RestoreAfterDelay() { - set-signal-mask SIGNAL_AIM1; + set-signal-mask SIG_AIM; sleep 3000; start-script ExecuteRestoreAfterDelay(); } @@ -656,19 +658,23 @@ AimHands() { turn ruparm to z-axis <0> speed <473.333441> / animSpeed; } -AimWeapon1(heading, pitch) //hand cannons +AimPrimary(heading, pitch) //hand cannons { - signal SIGNAL_AIM1; + signal SIG_AIM; call-script AimHands(); - isAiming = TRUE; + bAiming = TRUE; myHeading = heading; moveHands = FALSE; turn aimx1 to x-axis 0 - pitch speed <120>; turn aimy1 to y-axis heading speed <100.021978>; + while( !Static_Var_5 ) + { + return(0); + } - if ((wpn1_lasthead == 0xbadface) OR ABSOLUTE_GREATER_THAN(WRAPDELTA(heading - wpn1_lasthead), <5>)) + if (((get ABS(wpn1_lasthead - heading)) > 65536) OR(((get ABS(wpn1_lasthead - heading)) > <5>) AND ((get ABS(wpn1_lasthead - heading)) < 65536 - <5>))) { - wpn1_lasthead = 0xbadface; + wpn1_lasthead = 1000000; wait-for-turn aimy1 around y-axis; wait-for-turn aimx1 around x-axis; } @@ -677,15 +683,14 @@ AimWeapon1(heading, pitch) //hand cannons return (1); } -AimWeapon2(heading, pitch) //HEAD LASER +AimSecondary(heading, pitch) //HEAD LASER { - signal SIGNAL_AIM1; - isAiming = TRUE; + signal SIG_AIM; + bAiming = TRUE; turn turret to y-axis (heading - myHeading) speed <300.071429>; - - if ((wpn2_lasthead == 0xbadface) OR ABSOLUTE_GREATER_THAN(WRAPDELTA(heading - wpn2_lasthead), <27>)) + if (((get ABS(wpn2_lasthead - heading)) > 65536) OR(((get ABS(wpn2_lasthead - heading)) > 5000) AND ((get ABS(wpn2_lasthead - heading)) < 60536))) { - wpn2_lasthead = 0xbadface; + wpn2_lasthead = 1000000; wait-for-turn turret around y-axis; } wpn2_lasthead = heading; @@ -693,24 +698,24 @@ AimWeapon2(heading, pitch) //HEAD LASER return (1); } -AimWeapon3(heading, pitch) //MISSILE WEAPON +AimTertiary(heading, pitch) //MISSILE WEAPON { - isAiming = TRUE; + bAiming = TRUE; return (1); } -FireWeapon1() +FirePrimary() { if( gun_1 ) { - move lbarrel to z-axis [-2] speed [10.0]; + move lbarrel to z-axis [-2] speed [10.000000]; emit-sfx 1024 from lflare; sleep 180; move lbarrel to z-axis [0] speed [2]; } else { - move rbarrel to z-axis [-2] speed [10.0]; + move rbarrel to z-axis [-2] speed [10.000000]; emit-sfx 1024 from rflare; sleep 180; move rbarrel to z-axis [0] speed [2]; @@ -718,37 +723,54 @@ FireWeapon1() gun_1 = !gun_1; } -AimFromWeapon1(pieceIndex) +FireSecondary() +{ + show laserflare; + sleep 150; + hide laserflare; +} + +FireTertiary() { - pieceIndex = torso; + //show missleflare; + //sleep 100; + //hide missleflare; } -AimFromWeapon2(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = turret; + piecenum = torso; } -AimFromWeapon3(pieceIndex) +AimFromSecondary(piecenum) { - pieceIndex = missleflare; + piecenum = turret; } -QueryWeapon1(pieceIndex) +AimFromTertiary(piecenum) { - pieceIndex = rflare + gun_1; + piecenum = missleflare; } -QueryWeapon2(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = laserflare; + piecenum = rflare + gun_1; } -QueryWeapon3(pieceIndex) +QuerySecondary(piecenum) { - pieceIndex = missleflare; + piecenum = laserflare; } +QueryTertiary(piecenum) +{ + piecenum = missleflare; +} +SweetSpot(piecenum) +{ + piecenum = torso; +} Killed(severity, corpsetype) { @@ -765,11 +787,21 @@ Killed(severity, corpsetype) explode rfoot type BITMAPONLY | NOHEATCLOUD; explode rtoe type BITMAPONLY | NOHEATCLOUD; explode torso type BITMAPONLY | NOHEATCLOUD; + //explode lshoulder type BITMAPONLY | NOHEATCLOUD; + //explode luparm type BITMAPONLY | NOHEATCLOUD; + //explode lloarm type BITMAPONLY | NOHEATCLOUD; + //explode lbarrel type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lflare type BITMAPONLY | NOHEATCLOUD; + //explode rshoulder type BITMAPONLY | NOHEATCLOUD; + //explode ruparm type BITMAPONLY | NOHEATCLOUD; + //explode rloarm type BITMAPONLY | NOHEATCLOUD; explode rbarrel type FIRE | SMOKE | FALL | NOHEATCLOUD; explode rflare type BITMAPONLY | NOHEATCLOUD; explode antenna type BITMAPONLY | NOHEATCLOUD; explode turret type BITMAPONLY | NOHEATCLOUD; + //explode laserflare type BITMAPONLY | NOHEATCLOUD; explode head type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode missleflare type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } if( severity <= 50 ) @@ -786,10 +818,19 @@ Killed(severity, corpsetype) explode rtoe type FIRE | SMOKE | FALL | NOHEATCLOUD; explode lshoulder type FALL | NOHEATCLOUD; explode luparm type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lloarm type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lbarrel type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lflare type FALL | NOHEATCLOUD; + //explode rshoulder type FALL | NOHEATCLOUD; + //explode ruparm type FALL | NOHEATCLOUD; + //explode rloarm type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rbarrel type FIRE | SMOKE | FALL | NOHEATCLOUD; explode rflare type FIRE | SMOKE | FALL | NOHEATCLOUD; explode antenna type FIRE | SMOKE | FALL | NOHEATCLOUD; explode turret type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode laserflare type FIRE | SMOKE | FALL | NOHEATCLOUD; explode head type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode missleflare type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) @@ -805,12 +846,21 @@ Killed(severity, corpsetype) explode rfoot type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; explode rtoe type SMOKE | FALL | NOHEATCLOUD; explode torso type BITMAPONLY | NOHEATCLOUD; + //explode lshoulder type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode luparm type SMOKE | FALL | NOHEATCLOUD; + //explode lloarm type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lbarrel type SMOKE | FALL | NOHEATCLOUD; + //explode lflare type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode rshoulder type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode ruparm type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; explode rloarm type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; explode rbarrel type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; explode rflare type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; explode antenna type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; explode turret type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode laserflare type FIRE | SMOKE | FALL | NOHEATCLOUD; explode head type SMOKE | FALL | NOHEATCLOUD; + //explode missleflare type SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; @@ -824,10 +874,20 @@ Killed(severity, corpsetype) explode rfoot type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode rtoe type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode torso type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lshoulder type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode luparm type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lloarm type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lbarrel type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lflare type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rshoulder type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode ruparm type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode rloarm type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode rbarrel type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode rflare type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode antenna type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode turret type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode laserflare type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode head type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode missleflare type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/armbanth.cob b/scripts/Units/armbanth.cob index 957c1412b30ac569d8c764bbf2a57878dbab1971..84f77f29d457060f6b96d8945d544b968a9c929e 100644 GIT binary patch literal 26262 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 LNB+Bb$L#+A4u7+P literal 24171 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 K2>;F*lKmeJ#YKn! diff --git a/scripts/Units/armbats.bos b/scripts/Units/armbats.bos index 6129db56d67..4f7c2c074c5 100644 --- a/scripts/Units/armbats.bos +++ b/scripts/Units/armbats.bos @@ -1,16 +1,73 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece flare1a, flare1b, flare2a, flare2b, base, turret1, turret2, sleeve1, sleeve2, barrel1a, barrel1b, barrel2a, barrel2b, ground, wake, bow, barrelblast; -static-var weapon1barrel, weapon2barrel, restore_delay, gun_1, gun_2, oldHead, aimDir1, aimDir2; +static-var weapon1barrel, weapon2barrel, restore_delay, gun_1, gun_2, oldHead, aimy1target, aimy1position, Func_Var_1, Func_Var_2, Static_Var_4, Static_Var_5; // Signal definitions -#define SIGNAL_AIM1 256 -#define SIGNAL_AIM2 512 -#define SIGNAL_MOVE 1 +#define SIG_AIM 2 +#define SIG_AIM_2 4 +#define SIG_MOVE 8 +#define SIG_ROCK 16 + + +SetDirection(heading) +{ + var spd; + spd = (get ABS(oldHead) - get ABS(heading)) / 2; + turn ground to y-axis heading speed spd; + turn base to y-axis 0-heading speed spd; + oldHead = heading; +} + +/// semi temporary old rock code, replace when possible +ProjXPW(Func_Var_1, Func_Var_2) +{ + if( Func_Var_2 < -21840 ) + { + Static_Var_4 = Func_Var_1 * ( Func_Var_2 + 32760 ) / 10920; + } + else if( Func_Var_2 > 21840 ) + { + Static_Var_4 = Func_Var_1 * ( 32760 - Func_Var_2 ) / 10920; + } + else if( Func_Var_2 < -10920 ) + { + Static_Var_4 = 0 - Func_Var_1; + } + else if( Func_Var_2 > 10920 ) + { + Static_Var_4 = Func_Var_1; + } + else + { + Static_Var_4 = Func_Var_1 * Func_Var_2 / 10920; + } +} + +RockZ(Func_Var_1, Func_Var_2) +{ + signal SIG_ROCK; + set-signal-mask SIG_ROCK; + call-script ProjXPW(10920 / Func_Var_2,Func_Var_1); + Static_Var_5 = Static_Var_5 + Static_Var_4; + Static_Var_4 = get ABS(Static_Var_5); + while( Static_Var_4 > 91 ) + { + turn base to z-axis Static_Var_5 speed Static_Var_4 * <0.016484>; + wait-for-turn base around z-axis; + Static_Var_5 = Static_Var_5 * -1 / 2; + Static_Var_4 = get ABS(Static_Var_5); + } + turn base to z-axis <0.000000> speed <1.5>; +} + +// end rocky stuff MoveBarrelBlast(flarepiece) // Pass whichever piece you want to locate on XZ @@ -136,17 +193,32 @@ MoveBarrelBlastTurret(flarepiece, turretpiece, percentfurther) */ } -#define RB_MASS 50 -#define RB_LENGTH 10 -#define RB_WIDTH 4 -#define RB_PITCH_ACCELERATION 10 -#define RB_ROLL_ACCELERATION 8 -#define RB_RECOIL_ENERGY_1 250 -#define RB_RECOIL_ENERGY_2 250 -#define RB_BOWSPLASH_PIECE bow +#define BASEPIECE base +#define HITSPEED <20.0> +//how 'heavy' the unit is, on a scale of 1-10 +#define UNITSIZE 10 +#define MAXTILT 100 -#include "../bar_ships_common.h" +#include "unit_hitbyweaponid_and_smoke.h" +RockOnWaves() +{ + var rockDir, rockAng, rockSpeed; + rockDir = <-0.1>; + rockAng = <-0.1>; + while( TRUE ) + { + while( get ABS(rockAng) < <1.11> ) + { + rockSpeed = <1.25> - get ABS(rockAng); + turn ground to x-axis rockAng speed rockSpeed*2; + wait-for-turn ground around x-axis; + rockAng = rockAng + rockDir; + } + rockDir = 0 - rockDir; + rockAng = rockAng + rockDir + rockDir; + } +} Create() @@ -158,155 +230,213 @@ Create() hide flare1a; hide flare1b; hide ground; - weapon1barrel = 0; - weapon2barrel = 0; + weapon1barrel = TRUE; + weapon2barrel = 1; gun_1 = flare1a; gun_2 = flare1a; aimy1target = 0; aimy1position = 0; restore_delay = 3000; - start-script InitRockBoat(); - SLEEP_UNTIL_UNITFINISHED; - start-script BoatPhysics(); + while( get BUILD_PERCENT_LEFT ) + { + sleep 500; + } + start-script RockOnWaves(); } -SetMaxReloadTime(reloadMS) +SetMaxReloadTime(Func_Var_1) { - restore_delay = reloadMS * 8; + restore_delay = Func_Var_1 * 8; } -RestoreWeapon1() +RestorePrimary() { sleep restore_delay; - turn turret1 to y-axis <0.0> speed <55.0>; - turn sleeve1 to x-axis <-5.0> speed <30.0>; + turn turret1 to y-axis <0.000000> speed <55.000000>; + turn sleeve1 to x-axis <0.000000> speed <30.000000>; weapon1barrel = 1; } -RestoreWeapon2() +RestoreSecondary() { sleep restore_delay; - turn turret2 to y-axis <0.0> speed <55.0>; - turn sleeve2 to x-axis <-5.0> speed <30.0>; + turn turret2 to y-axis <0.000000> speed <55.000000>; + turn sleeve2 to x-axis <0.000000> speed <30.000000>; weapon2barrel = 1; } - - -StartMoving(reversing) +waveSplash() { + while( TRUE ) + { + turn base to x-axis <-1.0> speed <1.0>; + move base to y-axis [0.23] speed [0.17]; + wait-for-turn base around x-axis; + turn base to x-axis <0.0> speed <1.0>; + move base to y-axis [0.0] speed [0.17]; + wait-for-turn base around x-axis; + } +} +StartMoving() +{ + signal SIG_MOVE; + set-signal-mask SIG_MOVE; + var waketime; + start-script waveSplash(); + var bowtime; + bowtime = 0; + while( TRUE ) + { + emit-sfx 1024 + 1 from wake; + if (bowtime) emit-sfx 1024 + 2 from bow; + bowtime = !bowtime; + waketime = (get CURRENT_SPEED) * 100 / get MAX_SPEED; + if( waketime < 50 ) waketime = 50; + sleep 12000 / waketime; + } } StopMoving() { + signal SIG_MOVE; + turn base to x-axis <0.0> speed <1.0>; + move base to y-axis [0.0] speed [0.17]; } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; - aimDir1 = heading; - turn turret1 to y-axis heading speed <55.0>; - turn sleeve1 to x-axis RB_AIMPITCHCORRECTION(heading) - pitch speed <30.0>; + + signal SIG_AIM; + set-signal-mask SIG_AIM; + turn turret1 to y-axis heading speed <55.000000>; + turn turret1 to x-axis <0.000000> - pitch speed <30.000000>; wait-for-turn turret1 around y-axis; - //wait-for-turn sleeve1 around x-axis; -/* while( gun_1 ) + wait-for-turn turret1 around x-axis; + while( gun_1 ) { wait-for-move barrel1a along z-axis; wait-for-move barrel1b along z-axis; - weapon1barrel = 0; + weapon1barrel = TRUE; gun_1 = flare1a; - } */ - start-script RestoreWeapon1(); + } + start-script RestorePrimary(); + + + + aimy1target = heading; return (1); } -AimWeapon2(heading, pitch) +AimSecondary(heading, pitch) { - signal SIGNAL_AIM2; - set-signal-mask SIGNAL_AIM2; - aimDir2 = heading; - turn turret2 to y-axis heading speed <55.0>; - turn sleeve2 to x-axis RB_AIMPITCHCORRECTION(heading) - pitch speed <30.0>; + signal SIG_AIM_2; + set-signal-mask SIG_AIM_2; + turn turret2 to y-axis heading speed <55.000000>; + turn turret2 to x-axis <0.000000> - pitch speed <30.000000>; wait-for-turn turret2 around y-axis; - //wait-for-turn sleeve2 around x-axis; -/* while( gun_2 ) + wait-for-turn turret2 around x-axis; + while( gun_2 ) { wait-for-move barrel2a along z-axis; wait-for-move barrel2b along z-axis; weapon2barrel = 1; gun_2 = flare1a; - } */ - start-script RestoreWeapon2(); + } + start-script RestoreSecondary(); + aimy1target = heading; return (1); } -FireWeapon1() +FirePrimary() { - weapon1barrel = !weapon1barrel; - if( weapon1barrel ) + start-script RockZ(-13, aimy1target); + + if( weapon1barrel == 1 ) { emit-sfx 1024 + 0 from flare1a; move barrel1a to z-axis [-2.500000] now; sleep 100; - move barrel1a to z-axis [0.0] speed [1.0]; + move barrel1a to z-axis [0.000000] speed [1.000000]; call-script MoveBarrelBlast(barrel1a); } - else + if( weapon1barrel == 2 ) { emit-sfx 1024 + 0 from flare1b; move barrel1b to z-axis [-2.500000] now; sleep 100; - move barrel1b to z-axis [0.0] speed [1.0]; + move barrel1b to z-axis [0.000000] speed [1.000000]; + } + ++weapon1barrel; + if (weapon1barrel > 2) + { + weapon1barrel = 1; } - - RB_RECOILBOAT(aimDir1, RB_RECOIL_ENERGY_1); - } -FireWeapon2() +FireSecondary() { - weapon2barrel = !weapon2barrel; - if( weapon2barrel ) + start-script RockZ(-13, aimy1target); + if( weapon2barrel == 2 ) { emit-sfx 1024 + 0 from flare2a; move barrel2a to z-axis [-2.500000] now; sleep 100; - move barrel2a to z-axis [0.0] speed [1.0]; + move barrel2a to z-axis [0.000000] speed [1.000000]; call-script MoveBarrelBlastTurret(barrel2a, turret2, 300); } - else + if( weapon2barrel == 1 ) { emit-sfx 1024 + 0 from flare2b; move barrel2b to z-axis [-2.500000] now; sleep 100; - move barrel2b to z-axis [0.0] speed [1.0]; + move barrel2b to z-axis [0.000000] speed [1.000000]; + } + ++weapon2barrel; + if (weapon2barrel > 2) + { + weapon2barrel = 1; } - RB_RECOILBOAT(aimDir1, RB_RECOIL_ENERGY_2); } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = turret1; + piecenum = turret1; } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = flare1a + weapon1barrel; + if( weapon1barrel == 1 ) + { + piecenum = flare1a; + } + if( weapon1barrel == 2 ) + { + piecenum = flare1b; + } } -AimFromWeapon2(pieceIndex) +AimFromSecondary(piecenum) { - pieceIndex = turret2; + piecenum = turret2; } -QueryWeapon2(pieceIndex) +QuerySecondary(piecenum) { - pieceIndex = flare2a + weapon2barrel; + if( weapon2barrel == 1 ) + { + piecenum = flare2a; + } + if( weapon2barrel == 2 ) + { + piecenum = flare2b; + } } - +SweetSpot(piecenum) +{ + piecenum = base; +} Killed(severity, corpsetype) { @@ -318,7 +448,15 @@ Killed(severity, corpsetype) explode turret2 type BITMAPONLY | NOHEATCLOUD; explode sleeve2 type BITMAPONLY | NOHEATCLOUD; explode barrel2b type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare2b type BITMAPONLY | NOHEATCLOUD; explode barrel2a type BITMAPONLY | NOHEATCLOUD; + //explode flare2a type BITMAPONLY | NOHEATCLOUD; + //explode turret1 type BITMAPONLY | NOHEATCLOUD; + //explode sleeve1 type BITMAPONLY | NOHEATCLOUD; + //explode barrel1a type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare1a type BITMAPONLY | NOHEATCLOUD; + //explode barrel1b type BITMAPONLY | NOHEATCLOUD; + //explode flare1b type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } if( severity <= 50 ) @@ -331,6 +469,13 @@ Killed(severity, corpsetype) explode barrel2b type FIRE | SMOKE | FALL | NOHEATCLOUD; explode flare2b type FIRE | SMOKE | FALL | NOHEATCLOUD; explode barrel2a type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare2a type FALL | NOHEATCLOUD; + //explode turret1 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode sleeve1 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode barrel1a type FALL | NOHEATCLOUD; + //explode flare1a type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode barrel1b type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare1b type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) @@ -343,6 +488,13 @@ Killed(severity, corpsetype) explode barrel2b type FIRE | SMOKE | FALL | NOHEATCLOUD; explode flare2b type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode barrel2a type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode flare2a type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode turret1 type BITMAPONLY | NOHEATCLOUD; + //explode sleeve1 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode barrel1a type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare1a type SMOKE | FALL | NOHEATCLOUD; + //explode barrel1b type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare1b type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; @@ -353,5 +505,12 @@ Killed(severity, corpsetype) explode barrel2b type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode flare2b type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode barrel2a type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare2a type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode turret1 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode sleeve1 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode barrel1a type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode flare1a type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode barrel1b type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare1b type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/armbeamer.bos b/scripts/Units/armbeamer.bos index 67a5a8394cf..f00826966a6 100644 --- a/scripts/Units/armbeamer.bos +++ b/scripts/Units/armbeamer.bos @@ -1,12 +1,17 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, flare, turret, sleeve, barrel; +static-var Static_Var_1, Static_Var_2, Static_Var_3, Static_Var_4, Static_Var_5, + Static_Var_6, Static_Var_7; + static-var lastheading, lastpitch; // Signal definitions -#define SIGNAL_AIM1 256 +#define SIG_AIM 2 Create() @@ -17,15 +22,15 @@ Create() lastpitch=-1000000; } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; // values in <> are degrees per second // otherwise angles are in COB angular unit (cau) - There are 65536 cau in a circle // In general, 6 cau per frame ~= 1 degree per second - turn turret to y-axis heading speed <500.0>; - turn sleeve to x-axis <0.0> - pitch speed <250.0>; + turn turret to y-axis heading speed <500.000000>; + turn sleeve to x-axis <0.000000> - pitch speed <250.000000>; // if the turret can turn to its new heading in one frame, just return true and do not wait for turn if ( (get ABS(lastheading-heading)<3000) AND (get ABS(lastpitch-pitch)<1500) ) { @@ -49,24 +54,27 @@ AimWeapon1(heading, pitch) #define UNITSIZE 5 #define MAXTILT 100 -#include "../unit_hitbyweaponid_and_smoke.h" +#include "unit_hitbyweaponid_and_smoke.h" -FireWeapon1() +FirePrimary() { - //sleep 150; // this sleep should not be necessary, no return is expected from FireWeapon1 and nothing is being done before or after the sleep + //sleep 150; // this sleep should not be necessary, no return is expected from FirePrimary and nothing is being done before or after the sleep } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = turret; + piecenum = turret; } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = flare; + piecenum = flare; } - +SweetSpot(piecenum) +{ + piecenum = base; +} Killed(severity, corpsetype) { diff --git a/scripts/Units/armbeamer.cob b/scripts/Units/armbeamer.cob index 3d17061a233e59ce24d1ba3a35e1a2248da9276b..5dd8cf11e24f1d7ceeb4edbcaaa04ba79b658641 100644 GIT binary patch literal 2695 zcmbVOJ#Q015FLNyLV|#$0EzA-S_G$5C{-|0M4$<>2ojZ#c!@0R*t%Q-t~d$NQ1eIV zD1t-*{0bx*Dyo!p;k~_`^TpW6mq?@8osTy&Z^w?CBC-luf;_9|XB_3jipVkK7vvW1 zf1sr!rUq3rb@S!($!RmHo8_td1%HPU*$#|^btlXLyvQgp#W~B*uXk$#uc2E)adBGb z_+ws=F2>L}aAxEr^Sa-)+=h8VA!U%Jom2c)cOz1ALq1mQH;BKQ~ z>ga=Y7)MRNtIIhs!y9jd624~9#*;&rS32{ky-+u4KwYgdul~F^#iQ2UCYF0Qa2DWD)CsYT(b-w(Ycbbz z_Y+6jVrQ!reeu2daifne<)6m_-@nuEl5JMKH70>OiE@1QTJ&M~iSac&9+!~*8Us)A z_mPdjG`+n(W&h^!pbAcO2dRm5l|Jyny}IUc+zw%{*umLZ^S!$1<5*7l5EJA(3Y+c} zHDe}oU{`V1oz^<+1LmSf-WjKy&GI|kD9@YaC)~Vz&aOQ%_XdN*e73ix*_h8dj0wHY zprwO1Gs~{$c|QHzga~I$2CaEIKLP0DcMg3#yZ!d(%-dOu_Ib6GW9sRBbUWr}`|f8` zZWo!YN{>2ol^o?l=gT;Q=T~i2@czfeF0nlqSI{i^Wc@|oxk?|(g=*&N8!z(S%1f1+ z%9s8R<6UcJ{>)vP=BO$U=bcIORG*iVS^4v3RZeE*EbkYP(-XKoK@}QTt z#!qcL8tzMbFnnpB?Dx{Lb*n3zy~JufQa6)fk^cD5CS&!rUs;>BN5fPe_4<9=mFMw+ Yl^6Xuv63DpiB098Z|#wV1Gm2X1xF0Fd;kCd literal 2256 zcma)7v1(LN5S`t9*(jo1JJY=nuy_#*!6s3WNQy)R0|6mx_8J#=O?cUeb_!YuDp+V0 z#5SFxf}n!f`2lu*fQ3a0dp+mAdvA7e1@3AbITjRG$*daeuU#JVhphwRWHOs|3q7nh1kaNLYkigLp^} z!vFa>$Rgw>qz`!jc?#KtY(d^YK0rP}zCpf2&X>N`_cq<>E%?^j>g`FJ>GaRttDH;i z)Uyk%UTej-uk==LdAryty-HAhv0NP>T;A|yM3}VMPPgmZcD=Rk?MAm%dh2hLrSIE% M*ZVsj0eD^e2Vae$8~^|S diff --git a/scripts/Units/armbeaver.bos b/scripts/Units/armbeaver.bos index 815155353c8..8394dce50b0 100644 --- a/scripts/Units/armbeaver.bos +++ b/scripts/Units/armbeaver.bos @@ -1,13 +1,13 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" -#define SIGNAL_BUILD 2 +#define SIG_BUILD 4 piece base, door1, door2, nano1, nano2, turret, ltrack, lwheels, lfwheel, lbwheel, rtrack, rwheels, rfwheel, rbwheel, cagelight, cagelight_emit; -static-var readyToBuild, nanopiece, currentSpeed, moveSpeed, wheelSpeed; - -#define SIGNAL_MOVE 1 +static-var notBuilding, statechg_DesiredState, statechg_StateChanging, nanopiece, currentSpeed, moveSpeed, wheelSpeed; WheelControl() { @@ -20,121 +20,149 @@ WheelControl() spin lbwheel around x-axis speed (<10>*wheelSpeed); spin rfwheel around x-axis speed (<10>*wheelSpeed); spin rbwheel around x-axis speed (<10>*wheelSpeed); - sleep 96; + sleep 2; //200 } } + +activatescr() +{ + move door2 to z-axis [-6] speed [7]; + move door1 to z-axis [6] speed [7]; + sleep 200; + move turret to y-axis [5.4] speed [5.4]; + sleep 900; +} + +deactivatescr() +{ + set INBUILDSTANCE to 0; + hide cagelight_emit; + turn cagelight to z-axis <0> speed <1000>; + turn turret to y-axis [0] speed [360]; + wait-for-turn turret around y-axis; + move door1 to z-axis [0] speed [7]; + move door2 to z-axis [0] speed [7]; + move turret to y-axis [0] speed [12]; + sleep 900; +} + #define BASEPIECE base #define HITSPEED <55.0> //how 'heavy' the unit is, on a scale of 1-10 #define UNITSIZE 2 #define MAXTILT 100 -#include "../unit_hitbyweaponid_and_smoke.h" - - - -#define TB_BASE base -#define TB_TURNRATE <15.0> -#define TB_TILT_X <0.1> -#define TB_BANK_Z <0.1> // Do not define this if you dont want banking -#include "../tilt_bank_mobileunit.h" +#include "unit_hitbyweaponid_and_smoke.h" +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState ) + { + call-script deactivatescr(); + notBuilding = 1; + currentstate = 1; + } + else + { + call-script activatescr(); + notBuilding = 0; + currentstate = 0; + } + } + statechg_StateChanging = FALSE; +} Create() { hide nano2; hide nano1; hide cagelight_emit; - readyToBuild = 0; + notBuilding = 1; + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; nanopiece=TRUE; moveSpeed = get MAX_SPEED; //new - SLEEP_UNTIL_UNITFINISHED; - call-script TB_Init(); + while( get BUILD_PERCENT_LEFT ) + { + sleep 500; + } + start-script WheelControl(); } -StartMoving(reversing) +Activate() { - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; - - start-script WheelControl(); - START_TILTBANK; + start-script RequestState(0); } -StopMoving() +Deactivate() { - signal SIGNAL_MOVE; - stop-spin lfwheel around x-axis; - stop-spin lbwheel around x-axis; - stop-spin rfwheel around x-axis; - stop-spin rbwheel around x-axis; - STOP_TILTBANK; + start-script RequestState(1); } StartBuilding(heading, pitch) -{ - signal SIGNAL_BUILD; - set-signal-mask SIGNAL_BUILD; - - //get PRINT(333, readyToBuild, get TARGET_ID); - if (!readyToBuild) { - move door2 to z-axis [-6] speed [7]; - move door1 to z-axis [6] speed [7]; - wait-for-move door1 along z-axis; - - move turret to y-axis [5.4] speed [5.4]; - wait-for-move turret along y-axis; - - readyToBuild = TRUE; - } - - turn turret to y-axis heading speed <160>; - wait-for-turn turret around y-axis; - - set INBUILDSTANCE to 1; - +{ show nano2; show nano1; + start-script RequestState(0); + while( notBuilding ) sleep 100; + signal SIG_BUILD; + turn turret to y-axis heading speed <160.038462>; + wait-for-turn turret around y-axis; + set INBUILDSTANCE to 1; show cagelight_emit; - spin cagelight around z-axis speed <150> accelerate <1>; + spin cagelight around z-axis speed <150>; } StopBuilding() { - signal SIGNAL_BUILD; - set-signal-mask SIGNAL_BUILD; - - //get PRINT(444, readyToBuild); hide nano2; hide nano1; + signal SIG_BUILD; + set-signal-mask SIG_BUILD; hide cagelight_emit; - stop-spin cagelight around z-axis decelerate <1>; - + turn cagelight to z-axis <0> speed <1000>; sleep 6000; - - set INBUILDSTANCE to 0; - readyToBuild = FALSE; - - turn turret to y-axis <0> speed <160>; - wait-for-turn turret around y-axis; - - move turret to y-axis [0] speed [12]; - wait-for-move turret along y-axis; - - move door1 to z-axis [0] speed [7]; - move door2 to z-axis [0] speed [7]; - wait-for-move door1 along z-axis; + set-signal-mask 0; + signal SIG_BUILD; + start-script RequestState(1); } -QueryNanoPiece(pieceIndex) +QueryNanoPiece(piecenum) { - nanopiece= !nanopiece; - pieceIndex = nano1 + nanopiece; + if (nanopiece) { + piecenum = nano1; + nanopiece= !nanopiece; + } + else + { + piecenum=nano2; + nanopiece= !nanopiece; + } } +/* +TargetHeading(Func_Var_1) +{ + Static_Var_1 = 0 - Func_Var_1; +} +*/ +SweetSpot(piecenum) +{ + piecenum = base; +} Killed(severity, corpsetype) { @@ -142,16 +170,22 @@ Killed(severity, corpsetype) { corpsetype = 1 ; explode base type BITMAPONLY | NOHEATCLOUD; + //explode door1 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode door2 type BITMAPONLY | NOHEATCLOUD; explode turret type BITMAPONLY | NOHEATCLOUD; explode nano1 type BITMAPONLY | NOHEATCLOUD; + //explode nano2 type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } if( severity <= 50 ) { corpsetype = 2 ; explode base type BITMAPONLY | NOHEATCLOUD; + //explode door1 type FALL | NOHEATCLOUD; + //explode door2 type FALL | NOHEATCLOUD; explode turret type FIRE | SMOKE | FALL | NOHEATCLOUD; explode nano1 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode nano2 type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) @@ -159,14 +193,18 @@ Killed(severity, corpsetype) corpsetype = 3 ; explode base type BITMAPONLY | NOHEATCLOUD; explode door1 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode door2 type FIRE | SMOKE | FALL | NOHEATCLOUD; explode turret type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; explode nano1 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode nano2 type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; explode base type BITMAPONLY | NOHEATCLOUD; explode door1 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode door2 type FIRE | SMOKE | FALL | NOHEATCLOUD; explode turret type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode nano1 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode nano2 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/armbeaver.cob b/scripts/Units/armbeaver.cob index 0a4c1fcd3e6f62038919b801d9833214a0ae881a..03482789739b2e66ac531c4597d7c8c026c6e3b2 100644 GIT binary patch literal 3793 zcmcgvO^6&-5U!c*PlTu~2oj^vf*?W;y?gMGgKl;sD1l_-q7i~Potd}0o%BvmdU_M$ zX%!E8^r)vGiaCiFQM@Vmck*qHi}S)Z3VSXUB>jQ@VPdl-XfKOEYi z&we_W!z6rG3+!s!`;9wr zE$)*wd*9t_J~pX+fVD`BGtrPP_#4*&(vu6vdM0oNyGb`{S!T ze3JO{_%%$%a?Wyc{O}V#x9*kY#(6X>?*aS9RK}Ar^y^$hE3bdWPU4AY-!-mb(=;yB zylbp$HFm4N8_x1kvnT8~b8(Hln+q`NI=KJr2VLwPHGPXTLhp_Te5!N)4AbPj#x=&d zLR{!Qhjs4oE_l3AZ>L)G3_{=R+yg%0pl>A4%l7(gPr+nVR)A}5xy zel*V@eGkxwUa&vs176P$*2VW9*Ez}I&(tdc$8vQqBH)<|kDWzoVywRc49|+4XRBkJ zSWoW&xLik|#jytSOnCTrlGSGnW3^Vmwqt95z)8=qMlJF>e5D^Te^9jdibj;`<4$_Y2zId#uyUZDVT7(adRn>-$;Y zxaY*!`?YxvenbHC{K3G)e-pl^js0UNAFD&IwGBVNYlPNw!OuCy@8q}rm*uc#XyeMT zW*qlQ=df3QBPr|XISM?;0p zIMXi&EIIFmWj;Xs`eWRQFt!*QH{U;YH|aah*x292w?a*>$?ggH*NLQ>?SzvsY{w(fbbx8OJa#_=#QdvWhG zci{eK;I8<@ua#V4K-#@x80QYdgS}%6dqaJg^;(Q>VCc(1;@fLy-T!NShvjN}`(Le< zdvpO(K;DPkfh=JYGRVh}pCG?LeuJDq(Pto+Abkk`2l^E9CFBRl&yZgsze5B+m}epU z;d}z}B;+Z`vyk(UmmrrQDP#?@0U1MHgS-xT8}bh1UC1rSZOA8(&mmtyF0MP5FBQY8 zEOJTvRdzkC+_+!Lz%@tDW!2)%i!L1%Ls{7% z(;=grsnZDnWwp4O<%4XvhEXx92NyP7dGlO4ES59Zcd~NBxoTxpRB|@Ub2pI7>DbAj zD9SngJ1;|E=k)KqRGVe#D#@!d?O&Dr23Izgd{qs}FMC~jcNyGeaF@Z|PuE5XZ+~mw*C11QNm`(orA^C@z)|(Aka)qLAQ_M3E3EzSz(9;q%>bK7&#P zB%llhZ9pl~KtlyWqJajbK_CR8q(Q<}6j7jvBIf_w-8rux#s*81ot^p5=gz*pjGNhg zqC)i2nAtsA`CFCnn&=17)7lsJn~fBs#R$rUT5(zn`=jjZ;|2V~@QtxzT)bSFO^a`g z7NcU3v4Ud_IO)bKI#gCn6vTL3EOv{9g2SOfj?_laTs2I2jRTVgK$Tpy952v zL;mo$0Mi&LY`PY5_ZT*>eO>irgziD`>LE41CKlNeGU4GveW}MY$Q!Xg8)E6}gw~xH zJ33^X7rg^xMJ=9-Se-)PS;4RZ0mJ!let8~w&S3p4Z(^f!9&JQft_w4e&ho?L4>)z@ zxKL}V>Enb$=03?|^2wN^=jt;w%uzX5J&dt=ZrGqFB=LOR+jhqu9Q9)Ru2|OhwBm#K z?z6gDBi;kY3VI+m$6!y*-uoFTiOJsk#hep2^h`CwZvjYhYUVtwh-c!qtjr|%Z#Dd$ zd$nhK=`bDQb#~qxdcn-jh(SNjUUNzfu--4!%9)^KvGu zB^e?x`eX$R`@Oyg)!zP?V&>mjKX2}S_}=Nf=?7)x@sauYqXSQTtH-$sGm&h$6Fy_Z zvq*h^U&gsE+@FdazVJ`I?tklw3^j-NyS=U4WCMTa$_^&afwLx#ujK4=U8K3DCiGql z_<&o8XZ@u%#Q5~y-8tXd-rf#pnZ6OYc3VFe&mVcnEBXAc;*{;38vxhCR{4Mz-#X5ySioXS4uf>?j zMoY}4F5fAR_2SzD+}_rm*Si4AADDw?oE`?S?85t$?1D_+kZPPDpZ@3jZIV^rYGl=S z8Cm`YACw>QnGx0yyT1GF*h>d)h*u5%CL-hPy=Q?}&zL8~c0JB!Pl{-ND6M~OD{8RC zX17i^Njmx;{MGgCPCU5f<%xi21?N3B;hYDDO+G_kzY*tNV$DHjrxVHT0-x-yez>st zG^bj_oNDzs{X(vYb>nq0jqp=(_y!Y(IY%Gr=w&=}weaurk6)YK?XUNUWDWH~{yaxu z9G#PIwzroXHd?)Void zYw|~2kK_CO;w)m5;yjn)1pI%9i+&OPD*9b?OZ2DcuBfKV%!R(NT9)nO-OixjZQBd2!R+M=WwY1qoLI_t zHrHHlu9Qn>*Sl+_otwRQqSG4KxmJ5H+w82_@qXDHly-K|><>v(ue#m5ZgFY_;3vl3i+Ul(y9E_K$^sr>rByvGDJd4L1Aza$xO2 szqz<(?YGE(!`jP%vG%37_M^I=)cvIHC-tI=X}4BZ2R7s`mg_3%Z{R5$y#N3J diff --git a/scripts/Units/armblade.bos b/scripts/Units/armblade.bos index fe88f63fe09..8c57bd60057 100644 --- a/scripts/Units/armblade.bos +++ b/scripts/Units/armblade.bos @@ -1,10 +1,33 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, thrust, wingl, wingr, turretl, turretr, flarer, flarel, fan; -static-var gun_1; +static-var gun_1, Static_Var_2, statechg_DesiredState, statechg_StateChanging; +// Signal definitions +#define SIG_MOVE 2 + + +activatescr() +{ + turn wingl to y-axis <-90> speed <90>; + turn wingr to y-axis <90> speed <90>; + spin fan around y-axis speed <250> accelerate <10>; + sleep 1000; + return (0); + // Build by COBBLER Ver4.0 Copyright @1998 DIGITAL CONCEPT SOFTWARE (MANU@inext.fr) / http://www.annihilationcenter.com/DCS/ +} + +deactivatescr() +{ + turn wingl to y-axis <0> speed <90>; + turn wingr to y-axis <0> speed <90>; + stop-spin fan around y-axis decelerate <2>; + sleep 1000; +} #define BASEPIECE base #define HITSPEED <100.0> @@ -17,50 +40,119 @@ static-var gun_1; #define IDLEBASEPIECE base #include "idlehover.h" +StopMoving() +{ + signal SIG_MOVE; + set-signal-mask SIG_MOVE; + sleep 15; +} + +InitState() +{ + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; +} + +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + call-script activatescr(); + currentstate = 0; + } + if( statechg_DesiredState == 1 ) + { + call-script deactivatescr(); + currentstate = 1; + } + } + statechg_StateChanging = FALSE; +} + Create() { hide flarel; hide flarer; hide thrust; gun_1 = base; - SLEEP_UNTIL_UNITFINISHED; + Static_Var_2 = 3000; + call-script InitState(); + start-script StopMoving(); + while( get BUILD_PERCENT_LEFT ) + { + sleep 400; + } start-script IdleHover(); } Activate() { show thrust; - spin fan around y-axis speed <250> accelerate <10>; - turn wingl to y-axis <-90> speed <90>; - turn wingr to y-axis <90> speed <90>; + start-script RequestState(0); } Deactivate() { hide thrust; - turn wingl to y-axis <0> speed <90>; - turn wingr to y-axis <0> speed <90>; - stop-spin fan around y-axis decelerate <2>; + start-script RequestState(1); +} + +StartMoving() +{ + signal SIG_MOVE; + set-signal-mask SIG_MOVE; +} + +SweetSpot(piecenum) +{ + piecenum = base; } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = flarel + gun_1; + if( gun_1 == 0 ) + { + piecenum = flarel; + } + if( gun_1 == 1 ) + { + piecenum = flarer; + } } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { + signal SIG_MOVE; + set-signal-mask SIG_MOVE; return (1); } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = base; + piecenum = base; } -FireWeapon1() +FirePrimary() { + if( gun_1 == 0 ) + { + sleep 150; + } + if( gun_1 == 1 ) + { + sleep 150; + } gun_1 = !gun_1; } diff --git a/scripts/Units/armblade.cob b/scripts/Units/armblade.cob index 7ef7b282907fb5f773eaa1046aab01d5bf7e3ad0..2754630b1da436c475ee74f5a5eac432c7558f95 100644 GIT binary patch literal 4659 zcmd^DKZq1(6o0$7yBaN=OQpof1Ol-zWCg~$ z_rPpRv^|hLp<=rh(Fb-SotEw`mhviMnJkQzGNGxL$B-EDN{D&Th0M01``9#a1~k%W z*InK|PoBxA{@c`#8=80Y9`;c)qWw)TC%%-|y-gi9W;+}XFH2{_*N=cx6RJm(je1}} zk3N_mWz;EfYd67p!COBJA@dkGK5atXQGTc&=FT8t9yk_$UifphHN9*Hl~^zSktea$ z7mFaz&_DAsEDdYQa|q}k_zbzi61L8d?jskI>?%FZC-F3UuErB@uQR-bIELRLAJ10K z9`iDPJhN_{Nvw(m`+%B$^|s`(kEVlpE&53e3^S{DAN095zgAOd=W@`;nc9kp$yp=) zwkSX^w(6I5pmDvH_q&z+3}en?!=9EDEXWx=1HE;3})Z%);X2c zBAIGM-y<+_;62Q_{1#{0$W(y4_d^w+sd#c5>gha{=&`O)Pv@gVk9ARxI2Qd5^-B6! z^shwE;+nrraRZzg*WNwEeJip@^;FDE$z5BJL3Bk4D(lt$*j101gp*!R{98Sm=@1J>~y$lJmkxFss5st z!xIPU;j;zxG$PLU$HHBR|FUV8#snDZujWgIh zPa3@A=E8CycAIjF@!bGF8~Ltxi@rY2yxE4jnw#&}MX#&(Nktsa=s)G`{JlKqFb7ws z%lC%Q;X0YO8{7sEyqNW&ZS=xFQext}3%*4;iOSX5W})GJAKF$pDew zMb_gG%MT$lEI&m-jIH`@_sm!2LbEE_zrk`G{QoZ)&j%R)=rQK(yoz~cuh<72Za<^r z%{b$ zgF2wkKwZ!mpszqzKzBj>zl*b=IZz5(1APg)0=fqJ8gvKr9q1>}FQDH*e}Mi3Jp=s( zYQ8D56Eq3h19}IvAM^pJJD>MfyLqxapUFZJo=z^L$%+1IlF3ZoADr&5_Lk1e$)#RC zlS5z5B%iM&%l>dIOUOIwoyqaS6O6lA?yYCmk|duQ^mF-SCCM&zvfg4hyCg?@i@|m} z>lerAUY3~XR4+}F1)1wECz4;tR+e*FLrSUs%_LvRvLsLan#sAen;~~yQaRUMlD`4s C3rc4I literal 3053 zcmcguy=xRf6n}TQyZBX%rJ%B%jmTKl3oS$}B3Sqb2+7w9vU2;Zb*XW8RLd(}9VrKr0)S zEgyx9am+h8u|wNod1xQT&SHh}Vq4(!@my}~3uS1F%NM-uRirsYHqH>=)+6>chCORd z{b4AGbp%_kE0h~|P8BR;;#!>NYkoVBvEFL)rPu4xHiBMp$WkVChsQlmu)Pt)EU}Aw zFBRbRO!i^ek9y&sf2cnIo<0>OyVkeklyD1GDXZzMN8GmMeB{VVQ!^g;U_=Eks8UO{g9j;?~CoHI&$ z_RG#1=1by|-A`Lx2{T$VH&7(n^B&?ma^1fpQV-_KUm_IL7u|BK`XPz?ZWU7XHSA2cM-z8GqwKQS< zxzcAR8QjaP<$YhvGYrOK-z9H=>7Rjfruw+M(GcohKBKRgEm$r^N*&WuKd?nUDpPx_TL(*ZAy!6!`e0nvj`fOgk02J#6l-tg#(ihV59AD6wI`&l zxA*6k_bu1Zr@-u1O;~%{sXsCG{h;qI>LT|IjZiSkcpmY!7G2ty@!~w)tNxMK+d9Bs z^|m*`UcV2j*WU!X*KeBcStrJ$d-jvDYdyj|4ne1Rob!2D`}qI!(7ZM?kC`BkTRsog zb(DTQCIFF>zAZ$NKBA3&c#UqRnNr)IPCWNR_a<#?VZ?Nlaa+Kojr zC(=aOvz;_wx{xOGt>!_QXj~20$-Gr;CmVUHs?&`uOJ`*|SxBXQCGRY> accelerate <20>; + sleep 998; + } + if( TRUE ) + { + turn pivot to x-axis <90> speed <90>; + sleep 498; + } + if( TRUE ) + { + turn finl to z-axis <90> speed <90>; + turn finr to z-axis <-90> speed <90>; + turn wingl to y-axis <-30> speed <30>; + turn wingr to y-axis <30> speed <30>; + sleep 998; + } + sleep 102; + return (0); + // Build by COBBLER Ver4.0 Copyright @1998 DIGITAL CONCEPT SOFTWARE (MANU@inext.fr) / http://www.annihilationcenter.com/DCS/ +} #define BASEPIECE base #define HITSPEED <100.0> @@ -15,12 +41,71 @@ static-var gun_1; #define UNITSIZE 3 #define MAXTILT 100 +deactivatescr() +{ + + + if( TRUE ) + { + turn pivot to x-axis <0> speed <90>; + sleep 498; + } + if( TRUE ) + { + turn finl to z-axis <0> speed <90>; + turn finr to z-axis <0> speed <90>; + turn wingl to y-axis <0> speed <30>; + turn wingr to y-axis <0> speed <30>; + sleep 998; + } + if( TRUE ) + { + stop-spin fan around y-axis decelerate <1>; + sleep 998; + } + sleep 102; + return (0); +} + #define IDLEHOVERSCALE 32 #define IDLEHOVERSPEED 60 #define IDLEBASEPIECE base #include "idlehover.h" + +InitState() +{ + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; +} + +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + call-script activatescr(); + currentstate = 0; + } + if( statechg_DesiredState == 1 ) + { + call-script deactivatescr(); + currentstate = 1; + } + } + statechg_StateChanging = FALSE; +} + static-var Stunned; ExecuteRestoreAfterDelay() { @@ -29,7 +114,6 @@ ExecuteRestoreAfterDelay() } turn pivot to x-axis <90> speed <180>; } - SetStunned(State) { Stunned = State; @@ -42,7 +126,6 @@ RestoreAfterDelay() sleep 500; start-script ExecuteRestoreAfterDelay(); } - Create() { hide flare1; @@ -51,92 +134,95 @@ Create() hide flare4; hide pivot; gun_1 = 0; - SLEEP_UNTIL_UNITFINISHED; + call-script InitState(); + while( get BUILD_PERCENT_LEFT ) + { + sleep 400; + } start-script IdleHover(); } Activate() { - signal SIGNAL_TURNON; - set-signal-mask SIGNAL_TURNON; - - spin fan around y-axis speed <200> accelerate <20>; - - turn pivot to x-axis <90> speed <90>; - wait-for-turn pivot around x-axis; - - turn finl to z-axis <90> speed <90>; - turn finr to z-axis <-90> speed <90>; - turn wingl to y-axis <-30> speed <30>; - turn wingr to y-axis <30> speed <30>; - wait-for-turn finl around z-axis; - wait-for-turn wingl around y-axis; + start-script RequestState(0); } Deactivate() { - signal SIGNAL_TURNON; - set-signal-mask SIGNAL_TURNON; - - turn pivot to x-axis <0> speed <90>; - wait-for-turn pivot around x-axis; - - turn finl to z-axis <0> speed <90>; - turn finr to z-axis <0> speed <90>; - turn wingl to y-axis <0> speed <30>; - turn wingr to y-axis <0> speed <30>; - wait-for-turn finl around z-axis; - wait-for-turn wingl around y-axis; + start-script RequestState(1); +} - stop-spin fan around y-axis decelerate <1>; +SweetSpot(piecenum) +{ + piecenum = base; } -FireWeapon1() +FirePrimary() { + return(1); } -Shot1(shotIndex) +Shot1(zero) { + signal SIG_FIRE1; + set-signal-mask SIG_FIRE1; if( gun_1 == 0 ) { - emit-sfx 1024 + 0 from flare1; + emit-sfx 1024 + 0 from flare2; } if( gun_1 == 1 ) { - emit-sfx 1024 + 0 from flare2; + emit-sfx 1024 + 0 from flare3; } if( gun_1 == 2 ) { - emit-sfx 1024 + 0 from flare3; + emit-sfx 1024 + 0 from flare1; } if( gun_1 == 3 ) { emit-sfx 1024 + 0 from flare4; } + sleep 32; ++gun_1; if(gun_1>=3) { gun_1=0; } + return(1); } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = flare1 + gun_1; + if( gun_1 == 0 ) + { + piecenum = flare2; + } + if( gun_1 == 1 ) + { + piecenum = flare3; + } + if( gun_1 == 2 ) + { + piecenum = flare1; + } + if( gun_1 == 3 ) + { + piecenum = flare4; + } } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; turn pivot to x-axis <0> speed <180>; start-script RestoreAfterDelay(); return (1); } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = base; + piecenum = base; } Killed(severity, corpsetype) diff --git a/scripts/Units/armbrawl.cob b/scripts/Units/armbrawl.cob index 1efc945ad29c1ee11553d30280802d5e8abd18a7..7c01cdb65e8d7db93fcab33082b0664858a5fc46 100644 GIT binary patch literal 5407 zcmeHLPiP!v6o1)lHq~O8)_N#f8ASA8m2Lfl2f>YPibavwcodp#GN}XG-8k7K=G4WD zRYVkeRreBAd-E1$txZ&lS?|bk4-h03I zW@eMRi0p&xhFq$P+=7*#XKxp|0Qnwr2>V_8MJA$JG(qJ;Bie(7`^Ry?wfPnfni5U( z-0Oax_N`rYMq|2*mZxJoS1tyuV>?VkiF_|c5IqTdwGYXx2X^X+Y7HUixXcR2r# zeswygW_g;9EB!!2t_y2e#<}IiOPOn2SKB;}!W`9R2eqwN_?6XWm}Rw@uB?X!5>Kj*iAZxQ zk`)MY`~Z69$efAI7}9D)7yUW6c5XS)?@c$mueW^y(8RM<>qCx)%RQoL-LzBgz$0t?&HM6w(?YF{`9 zodpu@g5@Y z676gjd8RXid%&KFrwQJiz^pZ*uK>t=`99!Weu=&HmFGHt=#QS!rev;Yr}I=| zXZ%Pj;HAWl^)m)}ER9>z$I`eZeW9JsWf<4nAzaRzadO_DQ5U{D$a7u~RNPzMX3J+0 zg)ylkr&r*_o^V^lDB{zHzKp}?g02PMT<`5%?(}|o=KaFlI73@FFuXEOh`o!L;Nk(`(bmOq@8zv??yT%P2HnUJISn}^UXJ^| ztMMu38a3Q3;?i<5j{jm%&V7ZAEMU6%!K(RTb$Lsq-?y;m^V)D(tJ;HCz2CfUFAw9o zKIcxHnt9$5$M-UJno( zY+vu|IDXI9BQVTyBRpGvcbtWOE{^lNIKie)f1fAl<-f=qrz$p6Y z-%Ay-!g(tC5u0bRUk6w%k74=Ktjf>c^|7}ZU^PtUU**Slbd`>?LEf!bVGoW#C$a0n zmhXY}a99nrVLaoYid*YP?Cl3wt)833`>33E(u1&m)Uwd>CHmUL%v1het_Hyz(*mokmn#h$OhybAXUSo=9Ff!Q)kHSZ?wOAM&SW|5 VcK8cd?XI(W*e#F9O1h2&{sSZ{g~0#- literal 4052 zcmd6q&1+m$7{*T~llX=8x^N+)j2qpE+*B7?NISt=DpH6>P;g^!h=`Oaf(z|RL|wQjZge3o{0rPEuDWp1g)lz9bIv9K(uPF8f|u{O)I1-eE}=bW_C#TaGL zjyRPdaIi+5Hszey8in0$AJH9gY{YxGb8P)S$LFzAtUO*FCp_2rnj!vX(%lJ2^}voh z*RmX1AP>_*?K&gufzkS zK98;)=a4+jA6vs&Zw(jn-h&T&n}I$3X7ifkZt$CM=9jup>Ye*dI6{Swx=|l$!pw&n zpj@73`r|W4^?5JV2Yz(muDu=ce;w7Gc*C|@Q(Rj#@wAWf2zs1?By32ALFnZ zglFOi|LwI^j>Qz!c6z#eUbn2 zA5lk(NdupzW5te`(c#Z8nfF)f$#r&avcf z*nSPmyyw{1+u6cqKGy}FcFbklc(5<)`D*@E2g~0$ToHdm5svAY6Z_2=?g$`#Kf<7; z?}t4*uywoUWj?+mbd7z8KXG!VPW%?ZY%ibotU-4_pjOQ9x0D}z*t3EeY1I@=-jQ~; z=fx*UZ@*VfPn~mndX%5*{Ltij`@K9uA^%}!vv~Mk>Qe5%pBC5uEl+xKvs^w*HT$o6 zb}{i!>)9yjt!EZbh+Fa7Yy#WX;eE*^$>)+EB~17BoS@Nai8_9Q)E0P~1KTDon>-iIdEnm53 z&id8Op?|@j84fDHv_ACJG2iQ)b1QzhGTiL<{hGT``E=zwL+_SWhutkU$9%`O$Geq( z$#*se{ROx3`e3-=p5OG7)uyDCfo diff --git a/scripts/Units/armbrtha.bos b/scripts/Units/armbrtha.bos index f3772f0e632..962062ec185 100644 --- a/scripts/Units/armbrtha.bos +++ b/scripts/Units/armbrtha.bos @@ -1,17 +1,23 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, flare, turret, barrel, sleeve; static-var shotcount; // Signal definitions -#define SIGNAL_AIM1 256 +#define SIG_AIM 2 Create() { hide flare; hide flare; + dont-cache flare; + dont-cache barrel; + dont-cache sleeve; + dont-cache turret; shotcount = 0; } @@ -20,46 +26,57 @@ lua_UnitScriptLight(lightIndex, count) return 0; } +#define SMOKEPIECE base +#include "smokeunit_thread_nohit.h" -#define BASEPIECE base -#define MAXTILT 0 -#include "../unit_hitbyweaponid_and_smoke.h" - -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; - turn turret to y-axis heading speed <5.0>; - turn sleeve to x-axis <0.0> - pitch speed <3.500000>; + signal SIG_AIM; + set-signal-mask SIG_AIM; + turn turret to y-axis heading speed <5.000000>; + turn sleeve to x-axis <0.000000> - pitch speed <3.500000>; wait-for-turn turret around y-axis; wait-for-turn sleeve around x-axis; return (1); } -FireWeapon1() +FirePrimary() { shotcount = shotcount + 1; - move barrel to z-axis [-8.0] speed [500.0]; + move barrel to z-axis [-8.000000] speed [500.000000]; emit-sfx 1024 + 0 from flare; call-script lua_UnitScriptLight(1, shotcount); call-script lua_UnitScriptLight(2, shotcount); call-script lua_UnitScriptLight(3, shotcount); sleep 200; wait-for-move barrel along z-axis; - move barrel to z-axis [0.0] speed [3.500000]; + move barrel to z-axis [0.000000] speed [3.500000]; } -QueryWeapon1(pieceIndex) +TargetCleared(Func_Var_1) { - pieceIndex = flare; + if( Func_Var_1 == 1 ) + { + signal SIG_AIM; + stop-spin turret around y-axis; + stop-spin sleeve around x-axis; + } } -AimFromWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = sleeve; + piecenum = flare; } +AimFromPrimary(piecenum) +{ + piecenum = sleeve; +} +SweetSpot(piecenum) +{ + piecenum = base; +} Killed(severity, corpsetype) { diff --git a/scripts/Units/armbrtha.cob b/scripts/Units/armbrtha.cob index 57c8d475318ff999c08e8617ef7c254d4076b091..1fefdbd55077c101190c5d1bda7ba11d4daa7a90 100644 GIT binary patch literal 2343 zcmbVOJ!=$E6utYAjiSXAXXB?blm&t5o3tdq&4%wm}vK=JzG)&X*+U|O(cj6nfnaS;7)!!I8sLy?X0Lhc%A2w;X*&!O6~@{ zozrxV>K>eZ%=)E|1oI3`gyWKGaKu8NtuZmUl9Na5kJ(uRSUkx|TZA zGSlzoTf^7+@f(wL@6F}pJdn`aSPQi=YweGcb7F3Zzz0I(D37!8Js)R#3me~nM2+b_ zidLnMT91su&Ny$KWy!VY_x2Gk)UhuKd*D&lrf06Y>KvUeI+C2U`J-z?S#4rs=7^gbd-&~)1L__`LBsNd3G}i=OXA? zi~FQK3bKIIKHQstjgmX6?#KPj2X2Rf8++qy=Ha$TkIH$G80ED{%q+g!oI&9GI`CzU zdHE`bd3K_{5%P041*GmocdS11oXy>bHEC42N(m-f%m{?;4APG;Ab1Z8$1PG055@8z#HHl@B#P)dwrlf^)W(_JksD*1P1J;l&1_gk^&eTA_eaBAt|e&-=X>#imHR0IB_C&*&7pxv KwcAZQD7D@^&1PL}; zi7fsA!Oq4)ZNy4D?JWcwixlbf`|iDGc6K(|Bz!sV=RLb=ipW7=0{BxCse|(8$0Yt7 z5IF&y1bYTl7RA7&pfyuB6q{{NRhBC)BN24KZo0DV2opq2Ba1C_3@rUS)FB7?CVAM& z&ya6VINwuXo6xbJL5+cpI@;Kq>)Et?F6ip8H3FrLGKdI#s3#b&eQ3X=?l;)C89d!E z^)|F%%Qof^tsMDN`JAK&a)?VEkwHt0HE*?EdByI-UG)8N( zFQ|+DWF&SFPd|OP$6%S`2`F>0zUHh_Y5O-)U%2k;TlQf*XV%@%z{r}Eb+6UF*~4!- zgn76pzK0n9CK^jB?V8)y76k3Ry0hJE3@!Y_T~p>Rc(VeAa+5Odlrxakozuoy^lpEG z)qHxJD)Z*caV}@Lp{yy5S`8qrQFulL0;4e&woiLZiYd(oE1N5#wYLM<_<9+RA`vRNW zVN@Hgz1eUzX&&i|y2`DU-<;;My?PU6yMAX;#~F{3iTrIm$ACIF^Xne^^f8mgURBmz zsLZ;Ie+5c^?tyYY$Zmg-NvpT*?kn{1HuS;#t%@5S}JR;*TJr})LyMcw?hCQ@htEWXu#<>a0BQ7 zDZu~hv%msif&0KC;3@C|cmuox-UAQj(^& bBe&x +#define HITSPEED <55.0> //how 'heavy' the unit is, on a scale of 1-10 #define UNITSIZE 6 #define MAXTILT 100 -#define RECOIL_POWER 100000 -#include "../unit_hitbyweaponid_and_smoke.h" +#include "unit_hitbyweaponid_and_smoke.h" -#define TB_BASE base -#define TB_TURNRATE <12.0> -#define TB_TILT_X <0.20> -#define TB_BANK_Z <0.15> // Do not define this if you dont want banking -#include "../tilt_bank_mobileunit.h" +RockUnit(anglex, anglez) +{ + turn base to x-axis anglex speed <50.000000>; + turn base to z-axis <0> - anglez speed <50.000000>; + wait-for-turn base around z-axis; + wait-for-turn base around x-axis; + turn base to z-axis <0.000000> speed <20.000000>; + turn base to x-axis <0.000000> speed <20.000000>; +} Create() { @@ -38,37 +64,44 @@ Create() hide rflare; hide lflare; hide smoke2; + bMoving = FALSE; + moveSpeed = get (MAX_SPEED); + animSpeed = 100; gun_1 = lflare; restore_delay = 3000; - timeLeft = 0; - call-script TB_Init(); } -SetMaxReloadTime(reloadMS) +setSFXoccupy(state) { - restore_delay = reloadMS * 2; + terrain = state; } -StartMoving(reversing) +SetMaxReloadTime(Func_Var_1) { + restore_delay = Func_Var_1 * 2; +} + +StartMoving() +{ + bMoving = TRUE; spin lwheel around x-axis speed <110> accelerate <5>; spin rwheel around x-axis speed <110> accelerate <5>; - - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; - start-script Vehicle_Dirt_Ceg(); - START_TILTBANK; + + signal SIG_MOVE; + set-signal-mask SIG_MOVE; + start-script UnitSpeed(); + start-script Smoke(); } StopMoving() { - signal SIGNAL_MOVE; + bMoving = FALSE; + signal SIG_MOVE; stop-spin lwheel around x-axis; stop-spin rwheel around x-axis; - STOP_TILTBANK; } -#if 0 + static-var Stunned; ExecuteRestoreAfterDelay() { @@ -76,9 +109,9 @@ ExecuteRestoreAfterDelay() return (1); } set-signal-mask 0; - turn turret to y-axis <0.0> speed <50.0>; - turn rsleeve to x-axis <0.0> speed <25.0>; - turn lsleeve to x-axis <0.0> speed <25.0>; + turn turret to y-axis <0.000000> speed <50.000000>; + turn rsleeve to x-axis <0.000000> speed <25.000000>; + turn lsleeve to x-axis <0.000000> speed <25.000000>; } SetStunned(State) { @@ -93,108 +126,63 @@ RestoreAfterDelay() start-script ExecuteRestoreAfterDelay(); } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; - turn turret to y-axis heading speed <105.0>; - turn rsleeve to x-axis <0.0> - pitch speed <65.0>; - turn lsleeve to x-axis <0.0> - pitch speed <65.0>; + signal SIG_AIM; + set-signal-mask SIG_AIM; + turn turret to y-axis heading speed <105.000000>; + turn rsleeve to x-axis <0.000000> - pitch speed <65.000000>; + turn lsleeve to x-axis <0.000000> - pitch speed <65.000000>; wait-for-turn turret around y-axis; wait-for-turn rsleeve around x-axis; start-script RestoreAfterDelay(); return (1); } -#else -static-var Stunned; -SetStunned(State) -{ - Stunned = State; -} - - -TimeToRestore(addTime){ - // This function may not be signal terminated - // If it has to be, it _must_ be immediately restarted - // PROBLEM: the time that is slept depends on number of aim calls. - while((timeLeft > 1) || Stunned){ - //get PRINT(timeLeft, get GAME_FRAME); - addTime = timeLeft; - timeLeft = 1; - sleep addTime; - } - // The restore section must be atomic :/ - timeLeft = 0; - - turn turret to y-axis <0.0> speed <50.0>; - turn rsleeve to x-axis <0.0> speed <25.0>; - turn lsleeve to x-axis <0.0> speed <25.0>; -} - -AimWeapon1(heading, pitch) -{ - if (timeLeft == 0) - { - start-script TimeToRestore(); - } - timeLeft = restore_delay; - - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; - - turn turret to y-axis heading speed <105.0>; - turn rsleeve to x-axis <0.0> - pitch speed <65.0>; - turn lsleeve to x-axis <0.0> - pitch speed <65.0>; - wait-for-turn turret around y-axis; - wait-for-turn rsleeve around x-axis; - - return (1); -} - -#endif - -FireWeapon1() +FirePrimary() { if( gun_1 == 0 ) { - move lbarrel to z-axis [-2.400000] speed [500.0]; + move lbarrel to z-axis [-2.400000] speed [500.000000]; emit-sfx 1024 + 0 from lflare; sleep 150; wait-for-move lbarrel along z-axis; - move lbarrel to z-axis [0.0] speed [3.0]; + move lbarrel to z-axis [0.000000] speed [3.000000]; gun_1 = rflare; return (0); } if( gun_1 == 1 ) { - move rbarrel to z-axis [-2.400000] speed [500.0]; + move rbarrel to z-axis [-2.400000] speed [500.000000]; emit-sfx 1024 + 0 from rflare; sleep 150; wait-for-move rbarrel along z-axis; - move rbarrel to z-axis [0.0] speed [3.0]; + move rbarrel to z-axis [0.000000] speed [3.000000]; gun_1 = lflare; } } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { if( gun_1 == 0 ) { - pieceIndex = lflare; + piecenum = lflare; } if( gun_1 == 1 ) { - pieceIndex = rflare; + piecenum = rflare; } } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = turret; + piecenum = turret; } - +SweetSpot(piecenum) +{ + piecenum = base; +} Killed(severity, corpsetype) { @@ -204,6 +192,15 @@ Killed(severity, corpsetype) explode base type BITMAPONLY | NOHEATCLOUD; explode raxle type BITMAPONLY | NOHEATCLOUD; explode rwheel type BITMAPONLY | NOHEATCLOUD; + //explode turret type BITMAPONLY | NOHEATCLOUD; + //explode rsleeve type BITMAPONLY | NOHEATCLOUD; + //explode rbarrel type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rflare type BITMAPONLY | NOHEATCLOUD; + //explode lsleeve type BITMAPONLY | NOHEATCLOUD; + //explode lbarrel type BITMAPONLY | NOHEATCLOUD; + //explode lflare type BITMAPONLY | NOHEATCLOUD; + //explode laxle type BITMAPONLY | NOHEATCLOUD; + //explode lwheel type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 50 ) @@ -213,6 +210,14 @@ Killed(severity, corpsetype) explode raxle type FIRE | SMOKE | FALL | NOHEATCLOUD; explode rwheel type FIRE | SMOKE | FALL | NOHEATCLOUD; explode turret type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rsleeve type FALL | NOHEATCLOUD; + //explode rbarrel type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rflare type FALL | NOHEATCLOUD; + //explode lsleeve type FALL | NOHEATCLOUD; + //explode lbarrel type FALL | NOHEATCLOUD; + //explode lflare type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode laxle type FALL | NOHEATCLOUD; + //explode lwheel type FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) @@ -222,6 +227,14 @@ Killed(severity, corpsetype) explode raxle type FIRE | SMOKE | FALL | NOHEATCLOUD; explode rwheel type SMOKE | FALL | NOHEATCLOUD; explode turret type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rsleeve type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rbarrel type SMOKE | FALL | NOHEATCLOUD; + //explode rflare type SMOKE | FALL | NOHEATCLOUD; + //explode lsleeve type SMOKE | FALL | NOHEATCLOUD; + //explode lbarrel type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lflare type SMOKE | FALL | NOHEATCLOUD; + //explode laxle type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lwheel type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; @@ -231,5 +244,11 @@ Killed(severity, corpsetype) explode turret type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode rsleeve type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode rbarrel type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode rflare type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lsleeve type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode lbarrel type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode lflare type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode laxle type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lwheel type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/armbull.cob b/scripts/Units/armbull.cob index c616c98b269c2b29f26a25c5beab37025e7a6dbd..08aaff192b35ffb358770a7cf29ee93844b8ac41 100644 GIT binary patch literal 4161 zcmbVP&1+m$6hD)s)6~yb>83^DfnX_A8EX*{gtXdFEv+$AQHn@jliNDvB{RIdw26px zsUTenet;FBe}K3U7rL?=p<4x!B8V%6EQ%ng?eBN)J#X$jXKKa=C+FVt`8(&Hdy`Cw z$R5yrpf@K)c7gNT1HlsL3(!IAe*y821lxpH3xQGmf+-lPR;C!MZh( zOh8N-Iqjxsm+VLwXI~^UTiQ(T?E6TF19<9xnf|RtA~Vf|OWKpmTvKrv#$ymMuj-I% zChVEN!ZGJ@P)AvV$}LImsqOE@p0S9*avumb6fw7?$Q2PPu4-NiwoTfiN33b0<>S%L zYSZ|kHw(dsE{q@BF`l$M_GK)IoidBb{l5L!gR>vz%iLy543diGwzHuR^>9%irn9lsjt+({Iv;7%j?s;6CKi179>m;Y{C>NneUjd*Hf-N zz`z;bi+5p^O?+qcoO`}5U56U4zA$)~ zbk>oLxt@HikC|BYe8OFd>%Ehm)y}uuVsmZ&#Lj!ck2y65`osEc)>S#@dvXv#d>?K$ z$Upqx?_0QG`UYuy$b`YS{Jo>i`wYN7rHw&5yfQu(^tBko!I>MxFo?@z^|)Rffs6ii zT=c8s8nCP38q^KP#j_sOv)3zZz=E2PUT4i}i|gnFTguF~>JiR`dAMgychd9S8l{hC zpRxABR#M-`Piy(DS1C+rdkI_?@SZ0-tG6+QsIKFkp=_9rcdeRd)MWRN_WJuaVEHLv zv0Ar-h0SFg|Hk;gZFJUwc@)NRd>EH;#_>`7@bTw7Snnd@S??bVZ@ZnH)jLiu`i_gw z&dO>V)i2YJgQs3QvDNFNjbY|&alM`Mvs(YJztug=|G#=L%x628&CfV{X*G|^NjZBm zj*q@s(abRo|F<~~`ULa~=q?P{VbE#NYoPO>cR(M5z6M9_wx|ERSut#r4w7 zyS1`gxFhFES3KwPOarvb_0?5C`nU2(XJxMFtYpQe%ytTA>zCGDv1uFF%og3su6@w~ zU$0xriB6s)YJM)y3MYkU<$6)LQqE>;5Uu6TU2u{IUYyOK%q0)JxcG+SHn40XhmZbT LWAh#tWryT81PDZ- literal 4382 zcmai%ONd-W6o#uOou2rVEGNz_)FrRH@QyRcM z#Jb(|Huo~`Y>+nE?9g2H*q~#?rU@?Fn8C9((HR!ZrtzVT6HnzU3v(Zb=BdpVcohr0 zJ0tG~fLC31du@Hk8f&+sl}$!{gCG+-Tbo_Fw%lB&k-?$ReV!VeJJ8CgT`J^qH+wPG zTvK%O=!9qPYZU8BF0K>mbxKp6N~U8>d<^%nCFN!(U|iM;T+$IIb`~$AmO6`8Hm1Qi zEsiv1uwdYSnMpibrs*CWcD5gB3LX`Cr8w^+=JaXAq2oNw&-I5#V?|GY!RhT4gKN8x zQ{=$LeBuui^ZQ@hp*=Y3@wYXF;~kCIQcvTokFFDX->`zNi%l`ule5*Hv&N^L(^@$b z!xaFr7Uax%s1g;IanO@KW?g!Vy`UGRObyM8e0#}d8S!n=(isDsXdx8cEvM{RfA-dgf#NsS%vD|J9eP0*oY zy)jwCVP}($mJ_x8E&5E~YU>{|#i!k8(n$SVZ`wJ7$G>Zbdl>2v`i@=&XZIJFy#=cx zPWOCYt7qXiJGkHvJrMY>oRMJ`=2vehHrWv0-)96~BL-~oV z!-DxhMPPjDMd>>(yTt>7uD)l#OTha)mczHu&(EsQGf85<-W{=6vGeyzws3n2-J7}} zuir5mqv_Jv*7FN5y;J#WkA9=p+QUzUS8Uv6i=X8S0&K^1dVAxB5Y2Htf;g{GqGw`S&C4c~H!koGsRh z>p;lkGo0xh`5ng}I6o>U9|vn1WjUOypQ~r!x%5J~r{L>xKmFt|Zt4I9?@B#~|HD~6 zx_wnmn5Q-Hyvmcfnb-5XUe)~1274c0xOPLg*q?iqAB6h$5F(flnRN7BX*Wi3`XyKK z*EsOanU2OV8dr!l)O~Bbzs`-u#eJ&BWt?eTBe+^zqkC(|Wj$fsr0il(bgI}Ci*jNs zt#6vg_J~Di*s4ac|5%gL&Gyqf3HE**wnLrfYWx=OMKIa8{}y0lYdydIjBL&OQuUwW zVJ?-&_}>uG&)Mk5;=GxkPcW8W^J8oL5QnWjkJh19qkfOV5&f=4zZ!gf%&+mFPkGJn zc{miudVaC3bFW5QVN`#wv!ZQuIR_U&71Yu|TC&bT=&c}vn#Vh>1Ol`KkrmyC;W zvt+wuPV$CiRq~VMQ3dy$WUqw(KmQ{c*U8-@*&=ydG9h_JvQsi8c}>!ll#+9j_azr3 zmn2_EzLI<+`A+hKB>#@k1iZu>XvR#zL*~?<_|6Q7YaAMYi1wH>29ywl`k#0-Gd@8 z3wNj}C-c)&MX#UFPj?rkDDy!%*+1D`I;MGl*``H#s64T>RLqNFv6${p6)R%CkAgD{jQ27{t>bNPx?E4`vPS-4&t g2XnbLd#)G9!Kvc~%Q)nxd$RHWu8{16^TRgxFXIGLwEzGB diff --git a/scripts/Units/armca.bos b/scripts/Units/armca.bos index 1a39d642d5a..dbdf3ff820f 100644 --- a/scripts/Units/armca.bos +++ b/scripts/Units/armca.bos @@ -1,97 +1,227 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" -#define SIGNAL_BUILD 2 -#define SIGNAL_TURNON 4 + +#define SIG_BUILD 4 +#define SIG_FOLD 8 piece base, wingbr, wingbl, wingfr, wingfl, arm1, arm2, nano, emit, doorbl, doorbr, doortl, doortr, thrust, nanolight; -#include "../buildeffect_lua.h" +static-var statechg_DesiredState, statechg_StateChanging; + + +activatescr() +{ + signal SIG_FOLD; + set-signal-mask SIG_FOLD; + + show thrust; + if( TRUE ) + { + turn wingbr to x-axis <-90> speed <90>; + turn wingbl to x-axis <-90> speed <90>; + turn wingfr to z-axis <-90> speed <90>; + turn wingfl to z-axis <90> speed <90>; + sleep 108; + } + sleep 40; + return (0); +} + +deactivatescr() +{ + signal SIG_FOLD; + set-signal-mask SIG_FOLD; + + hide thrust; + hide nanolight; + if( TRUE ) + { + turn wingbr to x-axis <0> speed <90>; + turn wingbl to x-axis <0> speed <90>; + turn wingfr to z-axis <0> speed <90>; + turn wingfl to z-axis <0> speed <90>; + turn doorbl to z-axis <0> speed <270>; + turn doorbr to z-axis <0> speed <270>; + turn arm1 to x-axis <0> speed <60>; + turn arm2 to x-axis <0> speed <-500>; + turn nano to x-axis <0> speed <300>; + wait-for-turn arm1 around x-axis; + sleep 108; + } + sleep 40; + return (0); +} #define SMOKEPIECE base -#include "../unit_hitbyweaponid_and_smoke.h" +static-var isSmoking; +SmokeUnit(healthpercent) // ah yes, clever use of stack variables +{ + while( TRUE ) + { + healthpercent = get HEALTH; + if (healthpercent > 66) { + sleep 97; + isSmoking = 0; + return; + } + if (healthpercent < 4 ) healthpercent = 4; + sleep healthpercent * 50; + + if( Rand( 1, 66 ) < healthpercent ) emit-sfx 257 from SMOKEPIECE; + else emit-sfx 258 from SMOKEPIECE; + } +} + +// this is what a pure hitbyweapon can look like, without any of the motion garbage +HitByWeapon(anglex, anglez) //weaponID is always 0,lasers and flamers give angles of 0 +{ + if( get BUILD_PERCENT_LEFT) return (0); + if (isSmoking == 0) { + isSmoking = 1; + start-script SmokeUnit(); + } + turn base to z-axis anglez speed <105.000000>; + turn base to x-axis <0> - anglex speed <105.000000>; + wait-for-turn base around z-axis; + wait-for-turn base around x-axis; + turn base to z-axis <0.000000> speed <15.000000>; + turn base to x-axis <0.000000> speed <15.000000>; +} #define IDLEHOVERSCALE 32 #define IDLEHOVERSPEED 60 #define IDLEBASEPIECE base #include "idlehover.h" + +InitState() +{ + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; + return (0); +} + +RequestState(requestedstate, currentstate) +{ + + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + call-script activatescr(); + currentstate = 0; + } + if( statechg_DesiredState == 1 ) + { + call-script deactivatescr(); + currentstate = 1; + } + } + statechg_StateChanging = FALSE; + return (0); +} + Create() { hide emit; hide nano; hide thrust; hide nanolight; - SLEEP_UNTIL_UNITFINISHED; - start-script IdleHover(); + call-script InitState(); + while( get BUILD_PERCENT_LEFT ) + { + sleep 400; + } + //start-script IdleHover(); +} + + +//seems not always called when movement starts. +StartMoving() { + start-script RequestState(0); + return (0); +} +StopMoving() { + start-script RequestState(1); + return (0); +} + +///moving. quite what or how is up for debate but /something/ is happening. +MoveRate1() { + start-script RequestState(0); + return (0); +} +MoveRate2() { + start-script RequestState(0); + return (0); } Activate() { - //get PRINT(get GAME_FRAME, 111); - show thrust; - turn wingbr to x-axis <-90> speed <90>; - turn wingbl to x-axis <-90> speed <90>; - turn wingfr to z-axis <-90> speed <90>; - turn wingfl to z-axis <90> speed <90>; + start-script RequestState(0); + return (0); } Deactivate() { - //get PRINT(get GAME_FRAME, 22); - hide thrust; - - turn wingbr to x-axis <0> speed <90>; - turn wingbl to x-axis <0> speed <90>; - turn wingfr to z-axis <0> speed <90>; - turn wingfl to z-axis <0> speed <90>; + start-script RequestState(1); + return (0); } StartBuilding(heading, pitch) { - - //get PRINT(get GAME_FRAME, 333,0,0); - signal SIGNAL_BUILD; - show nano; - show nanolight; + start-script RequestState(0); + signal SIG_BUILD; + show nano; turn doorbl to z-axis <-135> speed <270>; - turn arm1 to x-axis <-60> speed <60>; turn doorbr to z-axis <135> speed <270>; + turn arm1 to x-axis <-60> speed <60>; turn arm2 to x-axis <-250> speed <-500>; - turn nano to x-axis <150> speed <300>; - + turn nano to x-axis <150> speed <300>; + wait-for-turn arm1 around x-axis; set INBUILDSTANCE to 1; - LUASTARTBUILD; show nanolight; } StopBuilding() { - //get PRINT(get GAME_FRAME, 444); - signal SIGNAL_BUILD; - set-signal-mask SIGNAL_BUILD; + signal SIG_BUILD; + set-signal-mask SIG_BUILD; hide nanolight; - hide nano; - sleep 6000; - - turn doorbl to z-axis <0> speed <270>; - turn doorbr to z-axis <0> speed <270>; - turn arm1 to x-axis <0> speed <60>; - turn arm2 to x-axis <0> speed <-500>; - turn nano to x-axis <0> speed <300>; - LUASTOPBUILD; + set-signal-mask 0; + signal SIG_BUILD; + start-script RequestState(1); set INBUILDSTANCE to 0; + hide nano; return (0); } -QueryNanoPiece(pieceIndex) +QueryNanoPiece(piecenum) { - pieceIndex = emit; + piecenum = emit; + return (0); +} + +SweetSpot(piecenum) +{ + piecenum = base; + return (0); } Killed(severity, corpsetype) diff --git a/scripts/Units/armca.cob b/scripts/Units/armca.cob index cf2b4939315b8b65b389fe1c81058eafc653643c..ef8e8076d7e1ffa5663532643a115f2b3a539d56 100644 GIT binary patch literal 6184 zcmeHLJ!~9B6n;M2=OmDLQ3MVJVGE=ne$TEb5Ev6Aho5jHLZriIdy^bF`;PP4Rtlsm zC;%5AKtc!#gdjpRK!Jor5vmk`LA|zk*JTveA zcXl@eBC;1S40vf!WCvFM;#))-fUf}e;CvZtUsQ^e-YQ4gzEh5*D$#E65Z6cHsd99; zKVNy+;Rn81Ta#EEy?|DtEPm9Jm+J?f^pHj#>Kq7Y4eX`Tr~cg;?75X{;CDWTDHnra z-2>JzmY4n6e4?tNSd7*y7Nhlw#b{wHm(MysjJ6XS%R!#DE1-RHSGOF>sz1i`%KQJU zaa9CzR}N^C7rNz!JPlQgLLJx2vBcO;_R2aAEZr?RvC=gJ0D|9 zTupJVmfQ|N&f@2p^$c~W{>bV09AvZE%ib8}EB%r6N}uOfKO*>ue`FD_@0_Rik?}Wi zwDEHEt;d&g_!W=GqJAl~s4W-E7infEi!Da{o{zk&GZ)I(o?FU&x@%qDWK4H2n#plxTo!+RrEc{Xxp*52 z89(QPF|z;6XP$}Y`8KS~ANSD#?0t<=C?bw?VtuCb1RPhV3-?g9UuA(28Sn4vN8ix+#H zQ`FV*#_DINpMF^`E!U(!joeda4L`1sgsjt}dv<2U^=T2G_6_oB@>~svTUzCLE|L%J zSpFXL{I;?ObZ)&qy-Q)odP8&J`{4^Hp)KO*yYa~QdOeu~=30<5i+4ZIh@Ev%dp@R6 z&iUZ)0kG4K(HSH4S}iuKmvW(A%Yo_D+Ci`0*<0|Ja-m+@p}+THwI1F|9zr?Q8+YF| zM&D{4Lb*_{<-zD%&BIUVX~vo5!TZa!Wbs#AAMmVx`pk3H@7s3ZBVvg`TGuIanVZjfioo8{zY2y1Nch0h1>sgHRk%4j^B9pb}h34J4t z_t$3#jy2&iuOqKt?RZ|^3q0p#shhg2{xapB!!sOUPUxUZ=^~}kXxOa1`uFtyPXX%&L(d!T2L9Te+Z_okXvwsBkEPomn z-Z^v*ydK2`_2WB95&c^7|CO%!E3j|x9hSqqpZW}Fxo;VJ@3435@(1qQrPurSU(ds9 z^tnD`u%&)`|2}rX$%T2h_wR#;9ZhG(%h~()M=v;?T1Ra2@88sCJtFarNbvn--z;Re zdRa{5)qMx?p+AhbH3DALJIe{^8832?*~sP8?5i!>_dS>Csk-+)p837VJ|=H3I`Ktx z*39OTvbT~scC)q@0TIWV+nn$m0q^-=?o)}OdfsG?|$Tyd+jB^4`pm_VlNZYv=1Pw zGm8EQ>#E;kzOJwOy0R|YbuI3P|3h78P(z#7K{OkChck6O>uU49nSS1$V^^~d>xg;h zU7DZc?V1in*XwS!Ue*VkzmGT5*IT)#S^81HYk(gB!x)NpVE9A8DqsyTgrOb=i~w#2 z901%8I0aY%yajj;v2ZxDW6E;4#3HfMb9ez#L#1&;hIf-UXZid0i}H+I{^`31h5}an@Q_SwKQ3nY0GR9o{r8nPbJUJ z*Hf9SrxT~2OKPp=yd0WsB$Lghq%DU)I+{XMjwCNGCJX-XXgeVely>@5bE!Um0{dpm zZ?PmtKpz#`jmab41v!}6cj6O^^~S6z$PUjeChgOQYxB)&J(+=_9$)Mx*T_>;|-~`=SKNwOy;3Qk~xGp+ibR{8*V`&a7x`NZA*Hxy||Dn LbEAIZWGepxNvy{T literal 4855 zcmd^@O=w(I6vuBe(=mS4r<>|R8C)o+lrbwou}PXmg0zeT{8-sZ<~1EV$qbX1YH?u~ zEeM6|+(?lMF1ir>K-{>n8y5;LDi&M_x)A9`DA<*V@&CK`o|&8Rg|^g%=%gp-p3i&E z|DJc>q*dqKouYe0FI1h=KmR#>uX7)Xeh@t&&HeZ3SA8-|X(F4u?vHJoQE*<>T=QX4s37V4Rc{;23H_49kgo(@Gnbe5BSp4z*!R^LaX;xX~@ zs=?Kr@4;##hFG>_KjY=Gqj>!2m)O%Km>-wfX#M853KPw}9 z+BucgO$}FYh*;1w=i#z&CKd~KjS1h=mISMP9J4YTp+kS2onZqO%4BwT zPAt9H+PlU~Kn7yB)eFDd;VMg3cExQu+ zlZoD9$u})KxPlx0pG1Gu)R{gLWovTaO06~VRK6|BYz>Be9WHz0hrih|r|}P>h<8Eu zsMZmiWhEm2?a@vQxycE~w!N)Iv*OQ(SxRlr$tqi@Q4yLUa-{QP^>dEIVncW8SuLoe zAN1r-eaH2wKfPP+fVH!xQJzu0Fkj3Cx;w=E%xN9w&w8jkn>Wkv@n}Sh;x8ZfgSRR(>+)T)a%%oD2t21Mv?uU@I zwmmtA@i;$|dctw#gMGg^F~~QQH;wao>!Uk#n6ELKp{ubszfr`9J;!UL2Ik;adIOuX z-flGSZoTA3;9>A73&8RZ>;o;k*! ze*LUzzU;lQ>}}z$TUUYja}V*19G7foJe;qX2NzAvj(K!5VGb2G+>fRC+1Z+(@4F-) z@iqgc`zG_6`u%O+=x6(a`w;JR-{?oF#QFVj+JsTS`q~$v&f58a5${6l z=fY#b_R{5G^Us0oAVH`?OxnmiA&8m@UP?`ZQZvpJprT zGuWnleSRIkA5kyQ2=7Pq$f=!k<;QFfu&9UcZD%zo_=6$waOCsiI{jgc$#!NYGiRy4 zeP=NHcs_7U{lPAk`5P~l?Qb>9XU~brHUlPuDe>pTsUIBEd>*IRFZWA|i~lYfak&(6 zq2K>IE-PReaoMK>22alYpTuR0J#=3G_Idd)_Wo|f{(8>}Zu>_af^Y+qO?|AMO+ueMjcOoCSgM++P%C?tU&-Bboo+X8yXDqK?p~Ag z@*uFTXGeo{wCh@fwI}&C?ba3R^0iLk+P&Ujxf|HPvm!{vz!k>^n;V69?sis>749zv C3TfN` diff --git a/scripts/Units/armcarry.bos b/scripts/Units/armcarry.bos index d2826e88f3f..8edb7260b27 100644 --- a/scripts/Units/armcarry.bos +++ b/scripts/Units/armcarry.bos @@ -1,27 +1,35 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, pad1, pad0, radar, door1, door2, antiflare, ground, nano1, nanoemit2,nano2, nanoemit1, blink, wake, bow, unstocked, stocked; -static-var Stunned, oldHead, missiles_stockpiled; +static-var Static_Var_1, oldHead, missiles_stockpiled; +static-var Stunned; // Signal definitions -#define SIGNAL_MOVE 1 +#define SIG_MOVE 2 -#define SIGNAL_AIM2 512 +#define SIG_AIM_2 4 +SetDirection(heading) +{ + var spd; + spd = (get ABS(oldHead) - get ABS(heading)) / 2; + turn ground to y-axis heading speed spd; + turn base to y-axis 0-heading speed spd; + oldHead = heading; +} -#define RB_MASS 40 -#define RB_LENGTH 8 -#define RB_WIDTH 3 -#define RB_PITCH_ACCELERATION 10 -#define RB_ROLL_ACCELERATION 8 -#define RB_WAKE_PIECE wake -#define RB_WAKE_CEG 1024 + 1 -#define RB_BOWSPLASH_PIECE bow -#define RB_BOWSPLASH_CEG 1024 + 2 -#include "../bar_ships_common.h" +#define BASEPIECE base +#define HITSPEED <10.0> +//how 'heavy' the unit is, on a scale of 1-10 +#define UNITSIZE 8 +#define MAXTILT 200 + +#include "unit_hitbyweaponid_and_smoke.h" Lights() { @@ -36,6 +44,25 @@ Lights() start-script Lights(); } +RockOnWaves() +{ + var rockDir, rockAng, rockSpeed; + rockDir = <-0.1>; + rockAng = <-0.1>; + while( TRUE ) + { + while( get ABS(rockAng) < <1.11> ) + { + rockSpeed = <1.25> - get ABS(rockAng); + turn ground to x-axis rockAng speed rockSpeed*2; + wait-for-turn ground around x-axis; + rockAng = rockAng + rockDir; + } + rockDir = 0 - rockDir; + rockAng = rockAng + rockDir + rockDir; + } +} + Go() { @@ -45,7 +72,7 @@ Go() Stop() { - spin radar around y-axis speed <0.0>; + spin radar around y-axis speed <0.000000>; return (0); } @@ -90,21 +117,26 @@ Create() missiles_stockpiled = 0; hide stocked; show unstocked; - start-script InitRockBoat(); - SLEEP_UNTIL_UNITFINISHED; - start-script BoatPhysics(); + Static_Var_1 = 0; + while( get BUILD_PERCENT_LEFT ) + { + sleep 500; + } + start-script RockOnWaves(); } StartBuilding() { show nanoemit2; show nanoemit1; + return (0); } StopBuilding() { hide nanoemit2; hide nanoemit1; + return (0); } Activate() { @@ -117,16 +149,49 @@ Deactivate() start-script Stop(); } +waveSplash() +{ + while( TRUE ) + { + turn base to x-axis <-1.0> speed <1.0>; + move base to y-axis [0.23] speed [0.17]; + wait-for-turn base around x-axis; + turn base to x-axis <0.0> speed <1.0>; + move base to y-axis [0.0] speed [0.17]; + wait-for-turn base around x-axis; + } +} -StartMoving(reversing) +StartMoving() { + signal SIG_MOVE; + set-signal-mask SIG_MOVE; + var waketime; + start-script waveSplash(); + var bowtime; + bowtime = 0; + while( TRUE ) + { + emit-sfx 1024 + 1 from wake; + if (bowtime) emit-sfx 1024 + 2 from bow; + bowtime = !bowtime; + waketime = (get CURRENT_SPEED) * 100 / get MAX_SPEED; + if( waketime < 50 ) waketime = 50; + sleep 12000 / waketime; + } } StopMoving() { + signal SIG_MOVE; + turn base to x-axis <0.0> speed <1.0>; + move base to y-axis [0.0] speed [0.17]; } - +SweetSpot(piecenum) +{ + piecenum = base; +} stocked_no() { @@ -156,17 +221,17 @@ SetStockpile(num_stockpiled) } } -QueryLandingPad(pieceIndex1, pieceIndex2) +QueryLandingPad(Func_Var_1, Func_Var_2) { - pieceIndex1 = pad1; - pieceIndex2 = pad0; + Func_Var_1 = pad1; + Func_Var_2 = pad0; } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM2; - set-signal-mask SIGNAL_AIM2; + signal SIG_AIM_2; + set-signal-mask SIG_AIM_2; turn door1 to z-axis <-40> speed <70>; turn door2 to z-axis <40> speed <70>; wait-for-turn door1 around z-axis; @@ -174,18 +239,19 @@ AimWeapon1(heading, pitch) return(1); } -FireWeapon1() +FirePrimary() { + sleep 150; } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = antiflare; + piecenum = antiflare; } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = antiflare; + piecenum = antiflare; } Killed(severity, corpsetype) @@ -198,7 +264,13 @@ Killed(severity, corpsetype) explode pad0 type BITMAPONLY | NOHEATCLOUD; explode pad1 type BITMAPONLY | NOHEATCLOUD; explode nano1 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode nanoemit1 type BITMAPONLY | NOHEATCLOUD; explode nano2 type BITMAPONLY | NOHEATCLOUD; + //explode nanoemit2 type BITMAPONLY | NOHEATCLOUD; + //explode door1 type BITMAPONLY | NOHEATCLOUD; + //explode radar type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode door2 type BITMAPONLY | NOHEATCLOUD; + //explode antiflare type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } if( severity <= 50 ) @@ -208,7 +280,11 @@ Killed(severity, corpsetype) explode pad0 type FIRE | SMOKE | FALL | NOHEATCLOUD; explode pad1 type FALL | NOHEATCLOUD; explode nano1 type FALL | NOHEATCLOUD; + //explode nanoemit1 type FIRE | SMOKE | FALL | NOHEATCLOUD; explode nano2 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode nanoemit2 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode radar type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode antiflare type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) @@ -219,7 +295,13 @@ Killed(severity, corpsetype) explode pad0 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode pad1 type SMOKE | FALL | NOHEATCLOUD; explode nano1 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode nanoemit1 type SMOKE | FALL | NOHEATCLOUD; explode nano2 type SMOKE | FALL | NOHEATCLOUD; + //explode nanoemit2 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode door1 type BITMAPONLY | NOHEATCLOUD; + //explode radar type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode door2 type BITMAPONLY | NOHEATCLOUD; + //explode antiflare type SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; @@ -228,6 +310,12 @@ Killed(severity, corpsetype) explode pad0 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode pad1 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode nano1 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode nanoemit1 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode nano2 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode nanoemit2 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode door1 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode radar type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode door2 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode antiflare type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/armcarry.cob b/scripts/Units/armcarry.cob index b9cc8fd2593ce3da85438f0844563dc5e44d5aaa..ffaf0b38c9d68f3222483d7eda86d95697d57b9a 100644 GIT binary patch literal 5237 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 diff --git a/scripts/Units/armcarry2.bos b/scripts/Units/armcarry2.bos index 53f6f1fed05..f02c024e9f0 100644 --- a/scripts/Units/armcarry2.bos +++ b/scripts/Units/armcarry2.bos @@ -1,30 +1,37 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, pad1, pad0, radar, door1, door2, antiflare, ground, nano1, nanoemit2,nano2, nanoemit1, blink, wake, bow, drone1, drone2, drone3, drone4, drone5, drone6, drone7, drone8, drone9, drone10, drone11, drone12, drone13, drone14; -static-var Stunned, oldHead; +static-var Static_Var_1, oldHead; +static-var Stunned; // Signal definitions -#define SIGNAL_MOVE 1 +#define SIG_MOVE 2 -#define SIGNAL_AIM1 256 -#define SIGNAL_AIM2 512 +#define SIG_AIM 4 +#define SIG_AIM_2 8 +SetDirection(heading) +{ + var spd; + spd = (get ABS(oldHead) - get ABS(heading)) / 2; + turn ground to y-axis heading speed spd; + turn base to y-axis 0-heading speed spd; + oldHead = heading; +} -#define RB_MASS 40 -#define RB_LENGTH 8 -#define RB_WIDTH 3 -#define RB_PITCH_ACCELERATION 10 -#define RB_ROLL_ACCELERATION 8 -#define RB_WAKE_PIECE wake -#define RB_WAKE_CEG 1024 + 1 -#define RB_BOWSPLASH_PIECE bow -#define RB_BOWSPLASH_CEG 1024 + 2 +#define BASEPIECE base +#define HITSPEED <10.0> +//how 'heavy' the unit is, on a scale of 1-10 +#define UNITSIZE 8 +#define MAXTILT 200 -#include "../bar_ships_common.h" +#include "unit_hitbyweaponid_and_smoke.h" Lights() { @@ -39,6 +46,26 @@ Lights() start-script Lights(); } +RockOnWaves() +{ + var rockDir, rockAng, rockSpeed; + rockDir = <-0.1>; + rockAng = <-0.1>; + while( TRUE ) + { + while( get ABS(rockAng) < <1.11> ) + { + rockSpeed = <1.25> - get ABS(rockAng); + turn ground to x-axis rockAng speed rockSpeed*2; + wait-for-turn ground around x-axis; + rockAng = rockAng + rockDir; + } + rockDir = 0 - rockDir; + rockAng = rockAng + rockDir + rockDir; + } +} + + Go() { spin radar around y-axis speed <-50.043956> accelerate <2>; @@ -47,7 +74,7 @@ Go() Stop() { - spin radar around y-axis speed <0.0>; + spin radar around y-axis speed <0.000000>; return (0); } @@ -89,9 +116,12 @@ Create() hide pad1; hide pad0; hide ground; - start-script InitRockBoat(); - SLEEP_UNTIL_UNITFINISHED; - start-script BoatPhysics(); + Static_Var_1 = 0; + while( get BUILD_PERCENT_LEFT ) + { + sleep 500; + } + start-script RockOnWaves(); } StartBuilding() @@ -118,28 +148,61 @@ Deactivate() start-script Stop(); } +waveSplash() +{ + while( TRUE ) + { + turn base to x-axis <-1.0> speed <1.0>; + move base to y-axis [0.23] speed [0.17]; + wait-for-turn base around x-axis; + turn base to x-axis <0.0> speed <1.0>; + move base to y-axis [0.0] speed [0.17]; + wait-for-turn base around x-axis; + } +} -StartMoving(reversing) +StartMoving() { + signal SIG_MOVE; + set-signal-mask SIG_MOVE; + var waketime; + start-script waveSplash(); + var bowtime; + bowtime = 0; + while( TRUE ) + { + emit-sfx 1024 + 1 from wake; + if (bowtime) emit-sfx 1024 + 2 from bow; + bowtime = !bowtime; + waketime = (get CURRENT_SPEED) * 100 / get MAX_SPEED; + if( waketime < 50 ) waketime = 50; + sleep 12000 / waketime; + } } StopMoving() { + signal SIG_MOVE; + turn base to x-axis <0.0> speed <1.0>; + move base to y-axis [0.0] speed [0.17]; } +SweetSpot(piecenum) +{ + piecenum = base; +} - -QueryLandingPad(pieceIndex1, pieceIndex2) +QueryLandingPad(Func_Var_1, Func_Var_2) { - pieceIndex1 = pad1; - pieceIndex2 = pad0; + Func_Var_1 = pad1; + Func_Var_2 = pad0; } -AimWeapon2(heading, pitch) +AimSecondary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; turn door1 to z-axis <-40> speed <70>; turn door2 to z-axis <40> speed <70>; wait-for-turn door1 around z-axis; @@ -147,40 +210,44 @@ AimWeapon2(heading, pitch) return(1); } -FireWeapon2() +FireSecondary() { + sleep 150; } -QueryWeapon2(pieceIndex) +QuerySecondary(piecenum) { - pieceIndex = antiflare; + piecenum = antiflare; } -AimFromWeapon2(pieceIndex) +AimFromSecondary(piecenum) { - pieceIndex = antiflare; + piecenum = antiflare; } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM2; - set-signal-mask SIGNAL_AIM2; + signal SIG_AIM_2; + set-signal-mask SIG_AIM_2; start-script RestoreAfterDelay(); return (1); } -FireWeapon1() +FirePrimary() { + sleep 150; } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = radar; + piecenum = radar; + return (0); } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = radar; + piecenum = radar; + return (0); } Killed(severity, corpsetype) @@ -193,7 +260,13 @@ Killed(severity, corpsetype) explode pad0 type BITMAPONLY | NOHEATCLOUD; explode pad1 type BITMAPONLY | NOHEATCLOUD; explode nano1 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode nanoemit1 type BITMAPONLY | NOHEATCLOUD; explode nano2 type BITMAPONLY | NOHEATCLOUD; + //explode nanoemit2 type BITMAPONLY | NOHEATCLOUD; + //explode door1 type BITMAPONLY | NOHEATCLOUD; + //explode radar type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode door2 type BITMAPONLY | NOHEATCLOUD; + //explode antiflare type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } if( severity <= 50 ) @@ -203,7 +276,11 @@ Killed(severity, corpsetype) explode pad0 type FIRE | SMOKE | FALL | NOHEATCLOUD; explode pad1 type FALL | NOHEATCLOUD; explode nano1 type FALL | NOHEATCLOUD; + //explode nanoemit1 type FIRE | SMOKE | FALL | NOHEATCLOUD; explode nano2 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode nanoemit2 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode radar type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode antiflare type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) @@ -214,7 +291,13 @@ Killed(severity, corpsetype) explode pad0 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode pad1 type SMOKE | FALL | NOHEATCLOUD; explode nano1 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode nanoemit1 type SMOKE | FALL | NOHEATCLOUD; explode nano2 type SMOKE | FALL | NOHEATCLOUD; + //explode nanoemit2 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode door1 type BITMAPONLY | NOHEATCLOUD; + //explode radar type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode door2 type BITMAPONLY | NOHEATCLOUD; + //explode antiflare type SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; @@ -223,6 +306,12 @@ Killed(severity, corpsetype) explode pad0 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode pad1 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode nano1 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode nanoemit1 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode nano2 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode nanoemit2 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode door1 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode radar type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode door2 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode antiflare type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/armcarry2.cob b/scripts/Units/armcarry2.cob index e76a150afee846fa0e6db04d03d664a90835387c..fe665056c3d11935cea284693be991e8a03f835b 100644 GIT binary patch literal 5305 zcmb_gU5Hgx6khY=wfu?W06hJc-K(3u!; zaCs~N>V_IDgBf)vZ^Zz0WIg_KI$K}p;MbhF(?eWU4{}_Xot@Ql^5=|=bB%G_#l!bW zbL2W{i&EdG(_D0YG3fSdz30orw~O(y&h)GI($pPyS7Q;pNqoD^2VJXUU8l5bme1sc zx;^OP;#zLwe5#JN`5MmPigCr&2weAjTg@guotv;#kECljqjCjM{08O-e}J3ee(FR9A^;aQeJcR?s0J5j>D|A;b5(nx_FFT zzwJX)|E4#dalZ?Yx4n?`hnx@t_wlYXKR?eGl@~?J_3kZXKd?8oCeIgajelp$9?EU; z&icOiJB@!6$Y0~QV*e)ZaC-fH!l~W`+M4&)y>U~{H+AHuEp5&{Jh#XE#&Es0Rb!=L zi+bs~a(TXILVv~{e8sv_UtCuk*3XZbb@S`Pz4{jD9@E3_Y|R*FOMZP{UO#X9k!$4h z*P5%KK(DrXdw3_7V3{B8F=y-QbA(FNub2ntyhnZxG}V}|x2`#vH_GK?#_ZP{jHl~5 z@my=2@%Vjq2XiUg-v)iysCDtrs0RPSod9_;Od2k;a zjndQ!{x~*$;Knmp*End?&KJ)*zn3^?KW}rtT;8v^yohZQ>DSfbXIBdd)AJg~LVRg0%HSyG1(nfh?&M|8w42X)>prbPyS~u4 z)qbIVlwV~#KgGH-k7Dg^GzP6>tNrcbxmopHh|il<>sCJJ(-XxrU=7v-Zvfu|{5Q;< z2yzmb0S*Bl0$%{9fD6E1z-3?&g5d9s^}tKO5#T-G7;qZ+7We@;2V4Ly0hfVp96JA> z%Ui%v;27{3@Fnmy@C|Sl_yhO{SaQ3_3g8}KHLwoY2vz1wH~k0S2P1ubxK3Sv`s6$$GYVdQTKKF&-F8Mx*EAdgg1l*JNjXWPdg;yOZJ3 zXW~8KWHc^MBr=dCP1*WFG(3?-yQA?eNuy2svMB9~8sRjZ3}h2=9M$CN#Vu(RW)T>| zG}}B;Z`A7Xh~dj8n-JY3ZTg~6hg0x8&}@X``|ZxBlS$pD!>I^vn@J|mPDJVS&M+o( ze^`@E^|66yIEiavIxX9f{oKr$&P`#tEloUYDEia-m~Pau*`^b>NvAvNjRq1Q3dbX9 zhP5icDw2lqF0~{{tLD2`!Z@q%YlLYeBWW@b*CY<(q-wsSv3k~PM)sTYsth&i@u*CN wqmc|HQ&LNlI06|(uN7;oSZl>PE7n`_h!u}ovB8RJ#Yx9gbwpLiR9!3o1AVF5NdN!< literal 5194 zcmb_gU2GIp6h7OZMN!PC#Y9E3_@Km)xKmMt1f>-bq-beL^i78DP$q15n&}iMN+1LR z8cg&7H427=gg4$yBu0e?d?E2oUkHg0eGm;Xm|#*3rhebO_iS&6Evbo1zCCmAJ?A^$ zIrq-YmJShF0z3vR?-02gmY=JENZ0yBi;Nb`z{r zIs*CxPtEvhj8r=U@*w3bp3cI!?2VcEd+4vbH^FgD%xE;C$$R?LbK+Xg4+8m<9)YIX`uPJT}g7Ag9TLX>zd!=J)3o zV2Wcfifk(f-{Qio&qEt)MD?atT58q&McvHLKG09C)o8WPwH3!H0gju03ZjnmWPZ$B>ixbl>TRp{biZQ_$w;*0VrA(_`!p z{r>U%I8Q(FDj$8;GBNg+d(AVddAX0uN52XQJU^~0pV5Rd?UBMfhIX$#%lm=8*VssM zLa+8nT%Mv9`rmRKnu8iR4|AKHZw{@4=Y?FfS{F5GUv!?5eLu$ge*Sq?ZL+O1;JM$2 z+Q_Z+q+${P2hKpMH4_%iBhj;kf}F5xqSvD|B}(N(#MmitQ|&={X(bY{=7hdkr0dV3Tu{|B%3ohgeo z>N^WR0dTM3J&9U7(J1P#Ie%)|mLKjR_Ec-8ACO$Jdm2z0X+4=%!zl=hEIEZ+Kd`kIczX*7zCL*gFpOxqL$XSuFD23&WU8{L$$+k2xQk z3wh8}-b?%x>#QRg=jvDa?#GjnJ}vxa#m?c^)C%q2ISr;3R~I?tpsn#z=xM?8hvgu| z)>2rbcCHD!Fr+_mk7UmPrOz%I00eHSW`|Zq7X8IENmY^M}h~kIvtNN%nRQ zAK7N#kF{-=hFBkehx5bSrjPwD4<~W0y4eR`H<#zTt{mnNYaJ{c zb^I3%-0nMRxYIf{=sm((AEy3_eGY$*K&{{3i_`Q87Bqji>6p{>*D*`+$GVp%>49ME4T6$bCYi=a1nuj0k5MN zzF*D&=YX$(pMdMYpTHw%(o$d<5CSWK)xa9yH6Q`%Kn}bMybpW;oB&P%{6CU4z((LL zU;v`#hk(z4v%q=a0`LQH1(*bW2mS^+@tb-vPyv<$tAGu_An-O&2i^e=0Y`!3 zz(>F*z$xGia1Qtq_!_tbTn2swt^hv+lfZAlAHWna4V1e?76Dzrqrelu(?B<{8t4T! zHj;cG9op5KM!E2-f9J$lGBhRw@lcx7n@by#ym#WwI2uhG8*8#I8i|JE+TcjKE0(@w zcxOH)uck7Xr=#-9-gsy{j|bwhJk8>s9eJFsi|f&Z4959jKHg}=HINq!@veG#1NfR15i4l`N`7nbguW3(a@8M2$Sz zQIE1%hO>0MQIkg0NJH}-k0g1wxw79JhqAq%GLPr!jrf`M)3)ZOEWdHyG diff --git a/scripts/Units/armch.bos b/scripts/Units/armch.bos index f80953c0894..9269481aace 100644 --- a/scripts/Units/armch.bos +++ b/scripts/Units/armch.bos @@ -1,26 +1,69 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" -piece ground, base, beam, nanogun, doorr, doorl, post, wake, turret, cagelight, cagelight_emit; +piece base, beam, nanogun, doorr, doorl, post, wake, turret, cagelight, cagelight_emit; -static-var readyToBuild; +static-var Static_Var_1, notBuilding, statechg_DesiredState, statechg_StateChanging, Wobble_status; // Signal definitions -#define SIGNAL_MOVE 1 -#define SIGNAL_BUILD 2 -#define SIGNAL_IDLE 8 - - -#define HOVER_BASE base -#define HOVER_BANKSPEED <12> -#define HOVER_ROCKBASE ground -#define HOVER_WOBBLE_PERIOD 40 -#define HOVER_WOBBLE_AMPLITUDE [0.6] -#define HOVER_WAKEPIECE wake -#define HOVER_IDLE_SFX 1024 + 2 -#define HOVER_WAKE_SFX_1 1024 + 0 -#define HOVER_WAKE_SFX_2 1024 + 1 -#include "../bar_hovercraft_common.h" +#define SIG_MOVE 2 +#define SIG_BUILD 4 +#define SIG_IDLE 8 + +WobbleUnit() +{ + while( TRUE ) + { + if( Wobble_status) + { + if( get GROUND_WATER_HEIGHT(get UNIT_XZ) < 0 ) //Over Water + { + move base to y-axis [-0.500000] speed [0.50000]; + } + else + { + move base to y-axis [-0.500000] speed [0.50000]; + } + } + else + { + if( get GROUND_WATER_HEIGHT(get UNIT_XZ) < 0 ) //Over Water + { + move base to y-axis [0.500000] speed [0.50000]; + } + else + { + move base to y-axis [0.000000] speed [0.50000]; + } + } + Wobble_status = !Wobble_status; + sleep 260; + } +} + +BankControl() +{ + var lastHeading, currHeading, diffHeading; + lastHeading = GET HEADING; + while (TRUE) + { + currHeading = GET HEADING; + diffHeading = currHeading - lastHeading; + // Set values for tilt + + //Remove Extreme values + if ( diffHeading > 1500 ) diffHeading = 1500; + if ( diffHeading < -1500 ) diffHeading = -1500; + //get PRINT(diffHeading); + turn base to z-axis 1.0 * diffHeading speed <23>; + + lastHeading = currHeading; + sleep 67; + } +} + #define BASEPIECE base #define HITSPEED <35.0> @@ -28,97 +71,187 @@ static-var readyToBuild; #define UNITSIZE 2 #define MAXTILT 100 -#include "../unit_hitbyweaponid_and_smoke.h" +#include "unit_hitbyweaponid_and_smoke.h" + + +activatescr() +{ + turn doorr to z-axis <0.000000> now; + turn doorr to z-axis <-67.010989> speed <99.000000>; + turn doorl to z-axis <0.000000> now; + turn doorl to z-axis <67.010989> speed <99.000000>; + sleep 677; + + move doorr to y-axis [-2.000000] speed [2.000000]; + move doorl to y-axis [-2.000000] speed [2.000000]; + sleep 688; + + turn post to x-axis <90.021978> speed <131.000000>; + turn nanogun to x-axis <-90.021978> speed <131.000000>; + sleep 687; +} + +deactivatescr() +{ + set INBUILDSTANCE to 0; + hide cagelight_emit; + turn cagelight to y-axis <0> speed <1000>; + turn post to y-axis <0.000000> speed <160.000000>; + wait-for-turn post around y-axis; + + move doorr to y-axis [-2.000000] now; + move doorl to y-axis [-2.000000] now; + turn doorr to z-axis <-67.148352> now; + turn doorl to z-axis <67.148352> now; + turn post to x-axis <90.021978> now; + turn post to x-axis <0.000000> speed <197.000000>; + turn nanogun to x-axis <-90.021978> now; + turn nanogun to x-axis <0.000000> speed <197.000000>; + sleep 457; + + move doorr to y-axis [0.000000] speed [4.000000]; + move doorl to y-axis [0.000000] speed [4.000000]; + sleep 471; + + turn doorr to z-axis <0.000000> speed <143.000000>; + turn doorl to z-axis <0.000000> speed <143.000000>; + sleep 469; +} + + +HoverIdle() +{ + signal SIG_IDLE; + set-signal-mask SIG_IDLE; + while( TRUE ) + { + emit-sfx 1024 + 2 from wake; + sleep 1750; + } +} + +StartMoving() +{ + signal SIG_MOVE; + set-signal-mask SIG_MOVE; + signal SIG_IDLE; + var waketime; + var bowtime; + while( TRUE ) + { + emit-sfx 1024 + 0 from wake; + if (bowtime) emit-sfx 1024 + 1 from wake; + bowtime = !bowtime; + waketime = (get CURRENT_SPEED) * 100 / get MAX_SPEED; + if( waketime < 30 ) waketime = 30; + sleep 15000 / waketime; + } +} + +StopMoving() +{ + signal SIG_MOVE; + signal SIG_IDLE; + start-script HoverIdle(); + return (0); +} + +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState ) + { + call-script deactivatescr(); + notBuilding = 1; + currentstate = 1; + } + else + { + call-script activatescr(); + notBuilding = 0; + currentstate = 0; + } + } + statechg_StateChanging = FALSE; +} Create() { hide wake; hide beam; hide cagelight_emit; - readyToBuild = 1; - + notBuilding = 1; + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; while( get(BUILD_PERCENT_LEFT)) { sleep 500; } - start-script HoverCraftMotion(); + start-script BankControl(); + start-script WobbleUnit(); } Activate() { - + start-script RequestState(0); } Deactivate() { - + start-script RequestState(1); } StartBuilding(heading, pitch) -{ - signal SIGNAL_BUILD; - set-signal-mask SIGNAL_BUILD; - - if (!readyToBuild) { - turn doorr to z-axis <-67> speed <99>; - turn doorl to z-axis <67> speed <99>; - wait-for-turn doorr around z-axis; - - move doorr to y-axis [-2.0] speed [2.0]; - move doorl to y-axis [-2.0] speed [2.0]; - wait-for-move doorr along y-axis; - - turn post to x-axis <90> speed <131>; - turn nanogun to x-axis <-90> speed <131>; - wait-for-turn post around x-axis; - readyToBuild = TRUE; - } - - turn post to y-axis heading speed <160.0>; - wait-for-turn post around y-axis; - - set INBUILDSTANCE to 1; - +{ show beam; + start-script RequestState(0); show cagelight_emit; - spin cagelight around y-axis speed <225> accelerate <2>; + spin cagelight around y-axis speed <225>; + while( notBuilding ) sleep 100; + signal SIG_BUILD; + turn post to y-axis heading speed <160.000000>; + wait-for-turn post around y-axis; + set INBUILDSTANCE to 1; } StopBuilding() { - signal SIGNAL_BUILD; - set-signal-mask SIGNAL_BUILD; hide beam; + signal SIG_BUILD; + set-signal-mask SIG_BUILD; hide cagelight_emit; - stop-spin cagelight around y-axis decelerate <4>; - + turn cagelight to y-axis <0> speed <1000>; sleep 6000; - - set INBUILDSTANCE to 0; - readyToBuild = FALSE; - - - turn post to y-axis <0> speed <160>; - - turn post to x-axis <0.0> speed <197.0>; - turn nanogun to x-axis <0.0> speed <197.0>; - wait-for-turn post around x-axis; - - move doorr to y-axis [0.0] speed [4.0]; - move doorl to y-axis [0.0] speed [4.0]; - wait-for-move doorr along y-axis; - - turn doorr to z-axis <0.0> speed <143.0>; - turn doorl to z-axis <0.0> speed <143.0>; - wait-for-turn doorr around z-axis; + set-signal-mask 0; + signal SIG_BUILD; + start-script RequestState(1); } -QueryNanoPiece(pieceIndex) +QueryNanoPiece(piecenum) { - pieceIndex = beam; + piecenum = beam; } +/* +TargetHeading(Func_Var_1) +{ + Static_Var_2 = 0 - Func_Var_1; +} +*/ +SweetSpot(piecenum) +{ + piecenum = base; +} Killed(severity, corpsetype) { @@ -127,8 +260,12 @@ Killed(severity, corpsetype) corpsetype = 1 ; explode base type BITMAPONLY | NOHEATCLOUD; explode doorl type BITMAPONLY | NOHEATCLOUD; + //explode doorr type FIRE | SMOKE | FALL | NOHEATCLOUD; explode post type BITMAPONLY | NOHEATCLOUD; explode turret type BITMAPONLY | NOHEATCLOUD; + //explode nanogun type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode beam type BITMAPONLY | NOHEATCLOUD; + //explode wake type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } if( severity <= 50 ) @@ -137,7 +274,11 @@ Killed(severity, corpsetype) explode base type BITMAPONLY | NOHEATCLOUD; explode doorl type FIRE | SMOKE | FALL | NOHEATCLOUD; explode doorr type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode post type FIRE | SMOKE | FALL | NOHEATCLOUD; explode turret type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode nanogun type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode beam type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode wake type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) @@ -146,15 +287,21 @@ Killed(severity, corpsetype) explode base type FIRE | SMOKE | FALL | NOHEATCLOUD; explode doorl type FIRE | SMOKE | FALL | NOHEATCLOUD; explode doorr type SMOKE | FALL | NOHEATCLOUD; + //explode post type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; explode turret type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode nanogun type SMOKE | FALL | NOHEATCLOUD; + //explode beam type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode wake type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; explode base type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode doorl type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode doorr type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode post type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode turret type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode nanogun type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode beam type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode wake type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/armch.cob b/scripts/Units/armch.cob index b41012ac50509272d0e5a57ba7296be5cf0dd6fe..98e0b781463f1032ec4e6a54f4d29374b64b9223 100644 GIT binary patch literal 4985 zcmbtYO=w(I6uy&8rmdj7R`F+{4n>rz;3z6+L2IJYSgmQJwo!_CnR&)BlX=PHC8ek^ zn<9uiL5d(1)QzBaBO)S11;LHD@Mod8D1r+Yb|Doi7{Bk_bKcyU&LmBpaB}ZG=R1Gj z{h5%WbMA7;C6H%|&Xq9ob7H%5zdTZ4|HhMIyLk(fS)YFF}LP=dV_V?}h6Xy_F@WGtZFm90w(FxMSa z@LW}VY`{A;M7(w0$M*a#jaMM>j6aLKd-te*s7L>g#>0^FVRw=v>&4S3_mccPqH%au z$R8_UpTtq+Cj7lQtT?92xrj>sd_reuks~pkK5$O4wlipX^7yMxVh}^!%)@>>@*VCh z?jHTjhN*MFb1zM2_;+rD68O;e9zn`8J$%l8c^$Oz zzDZ0>8N)gBddhQXzNQO%93$7O-CTc8KA{Wwl)j-0`@ZZo%LRP7+a_E9A9B%)4{hJD z$b7$w+5>d>?&{vJZd=&PPeF|LlkVEWv(#$~`}`q@f$VZG$S3!}E%?2YdE3tk=UuuH z%?R%Z#!-5UaMy8fOMp=KBPZyQclb)f(_hbo_-GE9YYxk8cbTy)Z`0yvUWNl>d0xAd za^HKf5~Cj$-}`*OXlJf#8B_lzs&QWNZ}vXb^9}F!-d#t#zKzdmZt4un*eCAA8Y7|d z9i;r+X|+<{ho792s1$7>1|PEWt7 z#28?=eRdPRr`$Kd(`Iiga}jg)Bqo*4+sgftJlL-t*nDFAS@-vKo9b}QoV^2li|tIf zvVZ@4t=(_2yvr6JZ+%|l1US*Xpe~Fp^R~BJ?dyFnEL_EY3Z2;S?Txt+kHixb-cPnG zXQvDs>|74Ab1#e!Vy_{%?C->J<5@XyA^Gb9D{7+WsuEyE-R*u(PHwA zU~R$ycn|B8zst1FFSJe`U%Oj_@-aMZESRIbN$7!d**~4P3Dn-K{>}KHq)q2puiq-` z(S9#QL9CZK!hSbXAH!WN59Dk;zN~k9hvaZ5uNT5Md0_mF^2mMzXXm3ICl_0T@zc+L zqjRzupY^yJl*jn#m*+zGrC)fj*y|MJEyy{@eIT?3c^ASjlUaCZqALR&8(F++}?UNdhAdVFQiR3IiJpX zM4%n7xwx9uSK=&Ls~ho9(zJz2@w?#`(xuEDjpq`VEw@@p=Bn{*(x}fqAIzRj=E2H;6-|Bo literal 4616 zcma)AO=w(I6uy~Er}YPUilD_-20?LA@Zrjhnxv&vM2U?>T&Q`Od5uFS^WyZS(uLTC zVi9p?#UdKw&Se(`HxdOw6r>13Q7Hawy0Z%r3dQmJ&b{B{&dW@jiKqA8^Yfjbd+xmt z>(045L3e=m*PX+E_FGS!y99D~J9hxX0gO{gjT~1`YsnPGcwM8Q33(vOjvB9?)S%C) zWE^En+4LBh@E@ft@fZzEW4qnKj=X&~_jP z)--X=>BKGW0yUD}1Udc4mLu_xGw9UY9gBG5bO-ot*}z}o?OMU^{Pn@0YRA2hud{ow zH}J`|YdRl4ro&vIOA&qS=cHM;eYnVZI&E`{cV^o5jJ-fS)q!hb`Tg3e$47x*mB)Re z*odXrI3=Fhr5=}S?X&qwd@SO<7i_fl_4Tn6kGaL8OMOqEH0FyVbsnKo$oc#ymq*^!_aqRZ}mY{iN!gwp2EiOI2PnljYal5iY2m-V_`gu<$WBIoyJ0a!$8ff zM=LcF)=uJ@gcZlAdVPpPQ{AHx`zS}{B^zRBUnbeaK4t$hn767+bzfw2v;1YF+~_av zE%Co69{Qw~f*bIZv-j!m7YesxY>Z%-kC4*?L61CP((cdu zM`NWAoo};euSV~jY~)kdFFO8qBr7bx~>&Bn=SI@Aw$G1sgGd-m(FXLYXe z9l?F$R5hnAb5Y-Z9Q4WJcL8II@nbu~OneV*M1JH$aSVOfEg#N8u)7fKrWi2ZHj5i? z%*DX3Mf}+J;|vgW)thuCirdceqJJkHMu<=gH}XC+H?kR9e8ztXIQFh!Px#*bNC2EY z>hl-ZW71q_l5+FE+OYk#`5Byb@C|I;*Y9Bznz~De{rKu7e2+BoMGYm|#IlXYz<_L5 zkfCZLdbIFy{Wst@3^7=oDH}l&fM)1pTYSw`J8|Nz= z#i6zQqIE0|`TZ=c>6dtt8!pz$f1EGb%GbGoC0|<0m)7zn`>HR(>;vdepc|mKQQU7p zzk#lR{s7Iv=saix#Q#t6B1yq9G0-Xh&1APIy0Qw5F3HlE71L$YaWzZGS zU!bd?zd_eQM~YK<|6o5mUOrcpoucQC7OfM6CM)U&^!9qW4TYUb#crO17N0 z7gmZBxjWd;vod$Ht+I29lS6r?=|Y+H%el2qx83P2yM?k?9WGv2%loIF&w9mtCvWBM z*-p2cx7~8TSnIXjQg$+TOL?~9deB&2>$!GO^!xU2*R2*OOZR35*X3HjpO>zMV7i^< M*Q42M`3f@lAKKYH_W%F@ diff --git a/scripts/Units/armcir.bos b/scripts/Units/armcir.bos index 28faa2655b4..2c174c336ab 100644 --- a/scripts/Units/armcir.bos +++ b/scripts/Units/armcir.bos @@ -1,17 +1,19 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece flare1, flare6, flare5, flare4, flare3, flare2, base, turret, ring, spindle, aimy1, aimx1; static-var gun_1, last_fire, firstaim; // Signal definitions -#define SIGNAL_AIM1 256 +#define SIG_AIM 2 #define DELAY_UNIT_VAR 1024 -#define BASEPIECE base -#define MAXTILT 0 -#include "../unit_hitbyweaponid_and_smoke.h" + +#define SMOKEPIECE base +#include "smokeunit_thread_nohit.h" static-var Stunned; ExecuteRestoreAfterDelay() @@ -47,14 +49,17 @@ Create() hide flare1; gun_1 = flare1; firstaim = 1; - SLEEP_UNTIL_UNITFINISHED; + while( get BUILD_PERCENT_LEFT ) + { + sleep 400; + } start-script ExecuteRestoreAfterDelay(); } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; stop-spin aimy1 around y-axis; turn aimy1 to y-axis heading speed <250>; turn aimx1 to x-axis 0 - pitch speed <250>; @@ -63,7 +68,7 @@ AimWeapon1(heading, pitch) return (1); } -FireWeapon1() +FirePrimary() { spin spindle around z-axis speed <-240>; @@ -101,17 +106,20 @@ FireWeapon1() } } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = gun_1; + piecenum = gun_1; } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = turret; + piecenum = spindle; } - +SweetSpot(piecenum) +{ + piecenum = base; +} Killed(severity, corpsetype) { diff --git a/scripts/Units/armck.bos b/scripts/Units/armck.bos index ee433bff45b..2450f307843 100644 --- a/scripts/Units/armck.bos +++ b/scripts/Units/armck.bos @@ -1,11 +1,13 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" -#define SIGNAL_BUILD 2 +#define SIG_BUILD 2 piece torso, pelvis, lthigh, rthigh, rleg, lleg, rfoot, lfoot, lcover, rcover, turret, nano, aimy1, cagelight, cagelight_emit; -static-var readyToBuild, isMoving; +static-var notBuilding, bMoving,statechg_DesiredState, statechg_StateChanging; #define BASEPIECE pelvis @@ -14,7 +16,7 @@ static-var readyToBuild, isMoving; #define UNITSIZE 1 #define MAXTILT 100 -#include "../unit_hitbyweaponid_and_smoke.h" +#include "unit_hitbyweaponid_and_smoke.h" lua_UnitScriptDecal(lightIndex, xpos,zpos, heading) { @@ -25,12 +27,12 @@ lua_UnitScriptDecal(lightIndex, xpos,zpos, heading) // Using https://github.com/Beherith/Skeletor_S3O // this animation uses the static-var animFramesPerKeyframe which contains how many frames each keyframe takes static-var animSpeed, maxSpeed, animFramesPerKeyframe; -#define SIGNAL_MOVE 1 +#define SIG_WALK 4 Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations\armck_anim_walk.blend // (c) CC BY NC ND Beherith mysterme@gmail.com - set-signal-mask SIGNAL_MOVE; + set-signal-mask SIG_WALK; - if (isMoving) { //Frame:6 + if (bMoving) { //Frame:6 turn lfoot to x-axis <34.680733> speed <1040.421987> / animSpeed; //delta=-34.68 turn lleg to x-axis <12.036991> speed <361.109728> / animSpeed; //delta=-12.04 turn lleg to z-axis <0.601258> speed <18.037728> / animSpeed; //delta=-0.60 @@ -39,8 +41,8 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn lthigh to z-axis <-3.919577> speed <117.587299> / animSpeed; //delta=3.92 turn lthigh to y-axis <-0.756504> speed <22.695132> / animSpeed; //delta=-0.76 turn pelvis to x-axis <-1.184867> speed <35.545999> / animSpeed; //delta=1.18 - turn pelvis to z-axis <-5.0> speed <149.999996> / animSpeed; //delta=5.00 - turn pelvis to y-axis <-7.0> speed <210.0> / animSpeed; //delta=-7.00 + turn pelvis to z-axis <-5.000000> speed <149.999996> / animSpeed; //delta=5.00 + turn pelvis to y-axis <-7.000000> speed <210.000002> / animSpeed; //delta=-7.00 turn rfoot to x-axis <-21.685673> speed <650.025235> / animSpeed; //delta=21.67 turn rfoot to z-axis <0.886330> speed <26.589908> / animSpeed; //delta=-0.89 turn rfoot to y-axis <0.554471> speed <16.634090> / animSpeed; //delta=0.55 @@ -51,20 +53,20 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn torso to y-axis <8.665839> speed <259.975177> / animSpeed; //delta=8.67 sleep ((33*animSpeed) -1); } - while(isMoving) { - if (isMoving) { //Frame:10 + while(bMoving) { + if (bMoving) { //Frame:10 call-script lua_UnitScriptDecal(1, (get PIECE_XZ(lfoot) & 0xffff0000) / 0x00010000 , (get PIECE_XZ(lfoot) & 0x0000ffff), get HEADING(0)); turn lfoot to x-axis <17.678568> speed <510.064935> / animSpeed; //delta=17.00 turn lleg to x-axis <4.587512> speed <223.484357> / animSpeed; //delta=7.45 turn lleg to z-axis <1.294859> speed <20.808043> / animSpeed; //delta=-0.69 turn lleg to y-axis <-0.776712> speed <14.006592> / animSpeed; //delta=-0.47 turn lthigh to x-axis <-50.068763> speed <334.954082> / animSpeed; //delta=11.17 - turn lthigh to z-axis <-19.719598> speed <474.0> / animSpeed; //delta=15.80 + turn lthigh to z-axis <-19.719598> speed <474.000640> / animSpeed; //delta=15.80 turn lthigh to y-axis <-8.663514> speed <237.210300> / animSpeed; //delta=-7.91 - move pelvis to y-axis [-1.0] speed [30.0] / animSpeed; //delta=-1.00 + move pelvis to y-axis [-1.000000] speed [30.000000] / animSpeed; //delta=-1.00 turn pelvis to x-axis <1.453117> speed <79.139505> / animSpeed; //delta=-2.64 - turn pelvis to z-axis <-7.0> speed <60.0> / animSpeed; //delta=2.00 - turn pelvis to y-axis <-10.0> speed <89.999990> / animSpeed; //delta=-3.00 + turn pelvis to z-axis <-7.000000> speed <60.000006> / animSpeed; //delta=2.00 + turn pelvis to y-axis <-10.000000> speed <89.999990> / animSpeed; //delta=-3.00 turn rfoot to x-axis <-22.158250> speed <14.177321> / animSpeed; //delta=0.47 turn rfoot to z-axis <-10.567378> speed <343.611235> / animSpeed; //delta=11.45 turn rfoot to y-axis <-9.686692> speed <307.234887> / animSpeed; //delta=-10.24 @@ -76,7 +78,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn torso to y-axis <12.379771> speed <111.417947> / animSpeed; //delta=3.71 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:14 + if (bMoving) { //Frame:14 turn lfoot to x-axis <45.837878> speed <844.779277> / animSpeed; //delta=-28.16 turn lfoot to z-axis <4.330629> speed <130.013691> / animSpeed; //delta=-4.33 turn lfoot to y-axis <-3.294275> speed <98.375731> / animSpeed; //delta=-3.28 @@ -86,10 +88,10 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn lthigh to x-axis <-22.086354> speed <839.472272> / animSpeed; //delta=-27.98 turn lthigh to z-axis <-0.577325> speed <574.268200> / animSpeed; //delta=-19.14 turn lthigh to y-axis <1.831854> speed <314.861064> / animSpeed; //delta=10.50 - move pelvis to y-axis [-0.500000] speed [15.0] / animSpeed; //delta=0.50 - turn pelvis to x-axis <2.0> speed <16.406493> / animSpeed; //delta=-0.55 - turn pelvis to z-axis <-5.0> speed <60.0> / animSpeed; //delta=-2.00 - turn pelvis to y-axis <-7.0> speed <89.999990> / animSpeed; //delta=3.00 + move pelvis to y-axis [-0.500000] speed [15.000000] / animSpeed; //delta=0.50 + turn pelvis to x-axis <2.000000> speed <16.406493> / animSpeed; //delta=-0.55 + turn pelvis to z-axis <-5.000000> speed <60.000006> / animSpeed; //delta=-2.00 + turn pelvis to y-axis <-7.000000> speed <89.999990> / animSpeed; //delta=3.00 turn rfoot to x-axis <-50.584910> speed <852.799798> / animSpeed; //delta=28.43 turn rfoot to z-axis <0.008036> speed <317.262413> / animSpeed; //delta=-10.58 turn rfoot to y-axis <0.020312> speed <291.210119> / animSpeed; //delta=9.71 @@ -101,7 +103,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn torso to y-axis <8.665839> speed <111.417947> / animSpeed; //delta=-3.71 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:18 + if (bMoving) { //Frame:18 turn lfoot to x-axis <-4.239592> speed <1502.324086> / animSpeed; //delta=50.08 turn lfoot to z-axis <1.135633> speed <95.849871> / animSpeed; //delta=3.19 turn lfoot to y-axis <-1.103823> speed <65.713554> / animSpeed; //delta=2.19 @@ -112,9 +114,9 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn lthigh to z-axis <-0.337288> speed <7.201106> / animSpeed; //delta=-0.24 turn lthigh to y-axis <0.579766> speed <37.562663> / animSpeed; //delta=-1.25 move pelvis to y-axis [-0.250000] speed [7.500000] / animSpeed; //delta=0.25 - turn pelvis to x-axis <-0.0> speed <60.0> / animSpeed; //delta=2.00 - turn pelvis to z-axis <-0.0> speed <149.999996> / animSpeed; //delta=-5.00 - turn pelvis to y-axis <0.0> speed <210.0> / animSpeed; //delta=7.00 + turn pelvis to x-axis <-0.000000> speed <60.000000> / animSpeed; //delta=2.00 + turn pelvis to z-axis <-0.000000> speed <149.999996> / animSpeed; //delta=-5.00 + turn pelvis to y-axis <0.000000> speed <210.000002> / animSpeed; //delta=7.00 turn rfoot to x-axis <-22.995792> speed <827.673547> / animSpeed; //delta=-27.59 turn rleg to x-axis <34.122744> speed <654.011300> / animSpeed; //delta=-21.80 turn rleg to z-axis <-0.421709> speed <12.415811> / animSpeed; //delta=0.41 @@ -123,10 +125,10 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn rthigh to z-axis <3.447918> speed <158.409024> / animSpeed; //delta=5.28 turn rthigh to y-axis <4.854032> speed <27.083907> / animSpeed; //delta=0.90 turn torso to x-axis <-0.254506> speed <61.889166> / animSpeed; //delta=2.06 - turn torso to y-axis <0.0> speed <259.975177> / animSpeed; //delta=-8.67 + turn torso to y-axis <0.000000> speed <259.975177> / animSpeed; //delta=-8.67 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:22 + if (bMoving) { //Frame:22 turn lfoot to x-axis <-19.805626> speed <466.981020> / animSpeed; //delta=15.57 turn lfoot to z-axis <-0.793070> speed <57.861087> / animSpeed; //delta=1.93 turn lfoot to y-axis <-1.869784> speed <22.978836> / animSpeed; //delta=-0.77 @@ -134,10 +136,10 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn lthigh to x-axis <36.126438> speed <1174.096430> / animSpeed; //delta=-39.14 turn lthigh to z-axis <-8.144831> speed <234.226288> / animSpeed; //delta=7.81 turn lthigh to y-axis <3.070874> speed <74.733244> / animSpeed; //delta=2.49 - move pelvis to y-axis [0.0] speed [7.500000] / animSpeed; //delta=0.25 + move pelvis to y-axis [0.000000] speed [7.500000] / animSpeed; //delta=0.25 turn pelvis to x-axis <-1.184867> speed <35.545999> / animSpeed; //delta=1.18 - turn pelvis to z-axis <5.0> speed <149.999996> / animSpeed; //delta=-5.00 - turn pelvis to y-axis <7.0> speed <210.0> / animSpeed; //delta=7.00 + turn pelvis to z-axis <5.000000> speed <149.999996> / animSpeed; //delta=-5.00 + turn pelvis to y-axis <7.000000> speed <210.000002> / animSpeed; //delta=7.00 turn rfoot to x-axis <34.210157> speed <1716.178466> / animSpeed; //delta=-57.21 turn rleg to x-axis <9.756958> speed <730.973590> / animSpeed; //delta=24.37 turn rleg to z-axis <-0.793461> speed <11.152570> / animSpeed; //delta=0.37 @@ -148,7 +150,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn torso to y-axis <-8.665839> speed <259.975177> / animSpeed; //delta=-8.67 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:26 + if (bMoving) { //Frame:26 call-script lua_UnitScriptDecal(1, (get PIECE_XZ(rfoot) & 0xffff0000) / 0x00010000 , (get PIECE_XZ(rfoot) & 0x0000ffff), get HEADING(0)); turn lfoot to x-axis <-21.045874> speed <37.207438> / animSpeed; //delta=1.24 @@ -158,10 +160,10 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn lthigh to x-axis <76.225983> speed <1202.986363> / animSpeed; //delta=-40.10 turn lthigh to z-axis <-25.486023> speed <520.235761> / animSpeed; //delta=17.34 turn lthigh to y-axis <15.165679> speed <362.844146> / animSpeed; //delta=12.09 - move pelvis to y-axis [-1.0] speed [30.0] / animSpeed; //delta=-1.00 + move pelvis to y-axis [-1.000000] speed [30.000000] / animSpeed; //delta=-1.00 turn pelvis to x-axis <1.453116> speed <79.139493> / animSpeed; //delta=-2.64 - turn pelvis to z-axis <7.0> speed <60.0> / animSpeed; //delta=-2.00 - turn pelvis to y-axis <10.0> speed <89.999990> / animSpeed; //delta=3.00 + turn pelvis to z-axis <7.000000> speed <60.000006> / animSpeed; //delta=-2.00 + turn pelvis to y-axis <10.000000> speed <89.999990> / animSpeed; //delta=3.00 turn rfoot to x-axis <18.129643> speed <482.415424> / animSpeed; //delta=16.08 turn rleg to x-axis <0.519340> speed <277.128516> / animSpeed; //delta=9.24 turn rleg to z-axis <-1.285115> speed <14.749600> / animSpeed; //delta=0.49 @@ -173,7 +175,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn torso to y-axis <-12.379771> speed <111.417947> / animSpeed; //delta=-3.71 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:30 + if (bMoving) { //Frame:30 turn lfoot to x-axis <-50.550486> speed <885.138370> / animSpeed; //delta=29.50 turn lfoot to z-axis <-0.007975> speed <179.266205> / animSpeed; //delta=5.98 turn lfoot to y-axis <-0.020195> speed <141.816883> / animSpeed; //delta=-4.73 @@ -181,10 +183,10 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn lthigh to x-axis <40.614508> speed <1068.344278> / animSpeed; //delta=35.61 turn lthigh to z-axis <-8.715123> speed <503.126983> / animSpeed; //delta=-16.77 turn lthigh to y-axis <-3.990425> speed <574.683118> / animSpeed; //delta=-19.16 - move pelvis to y-axis [-0.500000] speed [15.0] / animSpeed; //delta=0.50 - turn pelvis to x-axis <2.0> speed <16.406506> / animSpeed; //delta=-0.55 - turn pelvis to z-axis <5.0> speed <60.0> / animSpeed; //delta=2.00 - turn pelvis to y-axis <7.0> speed <89.999990> / animSpeed; //delta=-3.00 + move pelvis to y-axis [-0.500000] speed [15.000000] / animSpeed; //delta=0.50 + turn pelvis to x-axis <2.000000> speed <16.406506> / animSpeed; //delta=-0.55 + turn pelvis to z-axis <5.000000> speed <60.000006> / animSpeed; //delta=2.00 + turn pelvis to y-axis <7.000000> speed <89.999990> / animSpeed; //delta=-3.00 turn rfoot to x-axis <46.638294> speed <855.259537> / animSpeed; //delta=-28.51 turn rfoot to z-axis <-4.389851> speed <131.772231> / animSpeed; //delta=4.39 turn rfoot to y-axis <3.373390> speed <101.049859> / animSpeed; //delta=3.37 @@ -198,16 +200,16 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn torso to y-axis <-8.694584> speed <110.555602> / animSpeed; //delta=3.69 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:34 + if (bMoving) { //Frame:34 turn lfoot to x-axis <-23.040352> speed <825.304018> / animSpeed; //delta=-27.51 turn lleg to x-axis <34.131190> speed <655.406477> / animSpeed; //delta=-21.85 turn lthigh to x-axis <-10.696400> speed <1539.327221> / animSpeed; //delta=51.31 turn lthigh to z-axis <-3.355119> speed <160.800138> / animSpeed; //delta=-5.36 turn lthigh to y-axis <-4.905248> speed <27.444682> / animSpeed; //delta=-0.91 move pelvis to y-axis [-0.250000] speed [7.500000] / animSpeed; //delta=0.25 - turn pelvis to x-axis <-0.0> speed <60.0> / animSpeed; //delta=2.00 - turn pelvis to z-axis <-0.0> speed <149.999996> / animSpeed; //delta=5.00 - turn pelvis to y-axis <0.0> speed <210.0> / animSpeed; //delta=-7.00 + turn pelvis to x-axis <-0.000000> speed <60.000000> / animSpeed; //delta=2.00 + turn pelvis to z-axis <-0.000000> speed <149.999996> / animSpeed; //delta=5.00 + turn pelvis to y-axis <0.000000> speed <210.000002> / animSpeed; //delta=-7.00 turn rfoot to x-axis <-4.143067> speed <1523.440833> / animSpeed; //delta=50.78 turn rfoot to z-axis <-1.135380> speed <97.634144> / animSpeed; //delta=-3.25 turn rfoot to y-axis <1.105251> speed <68.044190> / animSpeed; //delta=-2.27 @@ -218,19 +220,19 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn rthigh to z-axis <0.124642> speed <202.684869> / animSpeed; //delta=-6.76 turn rthigh to y-axis <-0.914324> speed <278.477000> / animSpeed; //delta=9.28 turn torso to x-axis <-0.254506> speed <61.889166> / animSpeed; //delta=2.06 - turn torso to y-axis <0.0> speed <260.837522> / animSpeed; //delta=8.69 + turn torso to y-axis <0.000000> speed <260.837522> / animSpeed; //delta=8.69 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:38 + if (bMoving) { //Frame:38 turn lfoot to x-axis <33.960479> speed <1710.024944> / animSpeed; //delta=-57.00 turn lleg to x-axis <9.871983> speed <727.776190> / animSpeed; //delta=24.26 turn lthigh to x-axis <-38.081832> speed <821.562978> / animSpeed; //delta=27.39 turn lthigh to z-axis <4.073159> speed <222.848343> / animSpeed; //delta=-7.43 turn lthigh to y-axis <8.377575> speed <398.484702> / animSpeed; //delta=13.28 - move pelvis to y-axis [0.0] speed [7.500000] / animSpeed; //delta=0.25 + move pelvis to y-axis [0.000000] speed [7.500000] / animSpeed; //delta=0.25 turn pelvis to x-axis <-1.184867> speed <35.545999> / animSpeed; //delta=1.18 - turn pelvis to z-axis <-5.0> speed <149.999996> / animSpeed; //delta=5.00 - turn pelvis to y-axis <-7.0> speed <210.0> / animSpeed; //delta=-7.00 + turn pelvis to z-axis <-5.000000> speed <149.999996> / animSpeed; //delta=5.00 + turn pelvis to y-axis <-7.000000> speed <210.000002> / animSpeed; //delta=-7.00 turn rfoot to x-axis <-21.235268> speed <512.766027> / animSpeed; //delta=17.09 turn rfoot to z-axis <0.806249> speed <58.248853> / animSpeed; //delta=-1.94 turn rfoot to y-axis <2.479144> speed <41.216812> / animSpeed; //delta=1.37 @@ -244,32 +246,32 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations } } } -// Call this from StopMoving()! +// Call this from MotionControl()! StopWalking() { - move pelvis to y-axis [0.0] speed [7.500000]; - turn lfoot to x-axis <0.0> speed <427.506236>; - turn lfoot to y-axis <0.0> speed <49.326140>; - turn lfoot to z-axis <0.0> speed <50.704765>; - turn lleg to x-axis <0.0> speed <372.456200>; - turn lleg to y-axis <0.0> speed <9.507247>; - turn lleg to z-axis <0.0> speed <20.936349>; - turn lthigh to x-axis <0.0> speed <384.831805>; - turn lthigh to y-axis <0.0> speed <143.670779>; - turn lthigh to z-axis <0.0> speed <143.567050>; - turn pelvis to x-axis <0.0> speed <19.784876>; - turn pelvis to y-axis <0.0> speed <52.500000>; - turn pelvis to z-axis <0.0> speed <37.499999>; - turn rfoot to x-axis <0.0> speed <429.044616>; - turn rfoot to y-axis <0.0> speed <76.808722>; - turn rfoot to z-axis <0.0> speed <85.902809>; - turn rleg to x-axis <0.0> speed <371.907380>; - turn rleg to y-axis <0.0> speed <7.859278>; - turn rleg to z-axis <0.0> speed <21.226477>; - turn rthigh to x-axis <0.0> speed <385.513725>; - turn rthigh to y-axis <0.0> speed <101.696412>; - turn rthigh to z-axis <0.0> speed <64.797709>; + move pelvis to y-axis [0.000000] speed [7.500000]; + turn lfoot to x-axis <0.000000> speed <427.506236>; + turn lfoot to y-axis <0.000000> speed <49.326140>; + turn lfoot to z-axis <0.000000> speed <50.704765>; + turn lleg to x-axis <0.000000> speed <372.456200>; + turn lleg to y-axis <0.000000> speed <9.507247>; + turn lleg to z-axis <0.000000> speed <20.936349>; + turn lthigh to x-axis <0.000000> speed <384.831805>; + turn lthigh to y-axis <0.000000> speed <143.670779>; + turn lthigh to z-axis <0.000000> speed <143.567050>; + turn pelvis to x-axis <0.000000> speed <19.784876>; + turn pelvis to y-axis <0.000000> speed <52.500000>; + turn pelvis to z-axis <0.000000> speed <37.499999>; + turn rfoot to x-axis <0.000000> speed <429.044616>; + turn rfoot to y-axis <0.000000> speed <76.808722>; + turn rfoot to z-axis <0.000000> speed <85.902809>; + turn rleg to x-axis <0.000000> speed <371.907380>; + turn rleg to y-axis <0.000000> speed <7.859278>; + turn rleg to z-axis <0.000000> speed <21.226477>; + turn rthigh to x-axis <0.000000> speed <385.513725>; + turn rthigh to y-axis <0.000000> speed <101.696412>; + turn rthigh to z-axis <0.000000> speed <64.797709>; turn torso to x-axis <-2.892942> speed <30.944583>; - turn torso to y-axis <0.0> speed <65.209381>; + turn torso to y-axis <0.000000> speed <65.209381>; } // REMEMBER TO animspeed = 4 in Create() !! @@ -287,19 +289,68 @@ UnitSpeed(){ sleep 131; } } - -StartMoving(reversing){ - signal SIGNAL_MOVE; - isMoving=TRUE; - set-signal-mask SIGNAL_MOVE; +StartMoving(){ + signal SIG_WALK; + bMoving=TRUE; + set-signal-mask SIG_WALK; start-script UnitSpeed(); - start-script Walk(); + start-script Walk(); } - StopMoving(){ - signal SIGNAL_MOVE; - isMoving=FALSE; - call-script StopWalking(); + signal SIG_WALK; + bMoving=FALSE; + call-script StopWalking(); +} + + + +Go() +{ + turn lcover to z-axis <28> speed <60>; + turn rcover to z-axis <-28> speed <60>; + wait-for-turn lcover around z-axis; + +} + +Stop() +{ + set INBUILDSTANCE to 0; + hide cagelight_emit; + turn cagelight_emit to z-axis <0> speed <1000>; + move turret to y-axis [0] speed [16]; + turn aimy1 to y-axis <0> speed <360>; + turn lcover to z-axis <0> speed <60>; + turn rcover to z-axis <0> speed <60>; + wait-for-turn lcover around z-axis; + wait-for-turn aimy1 around y-axis; +} + +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState ) + { + call-script Stop(); + notBuilding = 1; + currentstate = 1; + } + else + { + call-script Go(); + notBuilding = 0; + currentstate = 0; + } + } + statechg_StateChanging = FALSE; } Create() @@ -307,66 +358,67 @@ Create() hide nano; hide aimy1; hide cagelight_emit; - isMoving = FALSE; - readyToBuild = FALSE; + bMoving = FALSE; + notBuilding = 1; + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; animSpeed = 4; } +Activate() +{ + start-script RequestState(0); +} + +Deactivate() +{ + start-script RequestState(1); +} StartBuilding(heading, pitch) { - signal SIGNAL_BUILD; - set-signal-mask SIGNAL_BUILD; - show nano; - if (!readyToBuild){ - turn lcover to z-axis <28> speed <60>; - turn rcover to z-axis <-28> speed <60>; - wait-for-turn lcover around z-axis; - - move turret to y-axis [4.5] speed [16]; - readyToBuild = TRUE; - } - - turn aimy1 to y-axis heading speed <600>; + start-script RequestState(0); + while( notBuilding ) sleep 100; + signal SIG_BUILD; + move turret to y-axis [4.5] speed [16]; + turn aimy1 to y-axis heading speed <600.000000>; wait-for-turn aimy1 around y-axis; - set INBUILDSTANCE to 1; show cagelight_emit; - spin cagelight_emit around z-axis speed <150> accelerate <2>; + spin cagelight_emit around z-axis speed <150>; } StopBuilding() { - signal SIGNAL_BUILD; - set-signal-mask SIGNAL_BUILD; - hide nano; + signal SIG_BUILD; + set-signal-mask SIG_BUILD; hide cagelight_emit; - stop-spin cagelight_emit around z-axis decelerate <2>; - + turn cagelight_emit to z-axis <0> speed <1000>; sleep 6000; + set-signal-mask 0; + signal SIG_BUILD; + start-script RequestState(1); +} - readyToBuild = FALSE; - set INBUILDSTANCE to 0; - - turn aimy1 to y-axis <0> speed <600>; - wait-for-turn aimy1 around y-axis; - move turret to y-axis [0] speed [16]; - wait-for-move turret along y-axis; - - turn lcover to z-axis <0> speed <60>; - turn rcover to z-axis <0> speed <60>; - wait-for-turn lcover around z-axis; +QueryNanoPiece(piecenum) +{ + piecenum = nano; } - -QueryNanoPiece(pieceIndex) +/* +TargetHeading(Func_Var_1) { - pieceIndex = nano; + Static_Var_1 = 0 - Func_Var_1; } +*/ +SweetSpot(piecenum) +{ + piecenum = torso; +} // For C:\Users\PtaQ\Documents\GitHub\BAR\support\Animation_sources\death_anims\armck_anim_death.blend Created by https://github.com/Beherith/Skeletor_S3O V((0, 3, 9)) //use call-script DeathAnim(); from Killed() @@ -580,7 +632,7 @@ DeathAnim() {// For C:\Users\PtaQ\Documents\GitHub\BAR\support\Animation_sources turn rcover to y-axis <0.180505> speed <13.745508> ; turn rleg to x-axis <65.505148> speed <5.551407> ; turn rleg to z-axis <22.778568> speed <26.699517> ; - turn rleg to y-axis <-25.0> speed <27.962632> ; + turn rleg to y-axis <-25.000369> speed <27.962632> ; turn rthigh to x-axis <-77.929842> speed <39.518723> ; turn rthigh to z-axis <88.833454> speed <576.087951> ; turn rthigh to y-axis <82.958364> speed <558.909633> ; @@ -635,7 +687,7 @@ DeathAnim() {// For C:\Users\PtaQ\Documents\GitHub\BAR\support\Animation_sources turn lcover to x-axis <-0.417373> speed <1.994053> ; turn lcover to y-axis <-0.373356> speed <0.854800> ; turn lcover to x-axis <-23.913735> speed <114.250845> ; - turn lcover to z-axis <21.164022> speed <15.0> ; + turn lcover to z-axis <21.164022> speed <15.000005> ; turn lcover to y-axis <-21.391697> speed <48.976426> ; move rcover to x-axis [1.315806] speed [2.644856] ; move rcover to z-axis [5.171628] speed [18.739704] ; diff --git a/scripts/Units/armck.cob b/scripts/Units/armck.cob index bb9de90d13049077395555ccde1c6d0b4d1b3251..53f16532e1485c23caedf0bce37df0b9dc48db62 100644 GIT binary patch literal 20781 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 diff --git a/scripts/Units/armckfus.bos b/scripts/Units/armckfus.bos index a9bc7bccbb9..2813c498b71 100644 --- a/scripts/Units/armckfus.bos +++ b/scripts/Units/armckfus.bos @@ -1,59 +1,111 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, collar1, ball1, collar2, ball2, emit1, emit2; +static-var statechg_DesiredState, statechg_StateChanging; static-var Stunned; -#define BASEPIECE base -#define MAXTILT 0 -#include "../unit_hitbyweaponid_and_smoke.h" +#define SMOKEPIECE base +#include "smokeunit_thread_nohit.h" + +Go() +{ + show emit1; + show emit2; + set ARMORED to 1; + return (0); +} + +Stop() +{ + hide emit1; + hide emit2; + set ARMORED to 0; + return (0); +} + +InitState() +{ + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; + return (0); +} +Create() +{ + hide emit1; + hide emit2; + call-script InitState(); + while( get BUILD_PERCENT_LEFT ) + { + sleep 1000; + } + spin ball1 around y-axis speed <-30.005495>; + spin ball2 around y-axis speed <-30.005495>; + spin collar1 around y-axis speed <60.010989>; + spin collar2 around y-axis speed <60.010989>; + call-script Go(); + return (0); +} SetStunned(State) { Stunned = State; if (Stunned) { - call-script Deactivate(); + call-script Stop(); } else { - call-script Activate(); + call-script Go(); } } -Create() +RequestState(requestedstate, currentstate) { - hide emit1; - hide emit2; - SLEEP_UNTIL_UNITFINISHED; - start-script Activate(); + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + call-script Go(); + currentstate = 0; + } + if( statechg_DesiredState == 1 ) + { + call-script Stop(); + currentstate = 1; + } + } + statechg_StateChanging = FALSE; + return (0); } Activate() { - show emit1; - show emit2; - set ARMORED to 1; - - spin ball1 around y-axis speed <-30.005495> accelerate <1>; - spin ball2 around y-axis speed <-30.005495> accelerate <1>; - spin collar1 around y-axis speed <60.010989> accelerate <1>; - spin collar2 around y-axis speed <60.010989> accelerate <1>; + start-script RequestState(0); + return (0); } - Deactivate() { - hide emit1; - hide emit2; - set ARMORED to 0; - - stop-spin ball1 around y-axis decelerate <1>; - stop-spin ball2 around y-axis decelerate <1>; - stop-spin collar1 around y-axis decelerate <1>; - stop-spin collar2 around y-axis decelerate <1>; + start-script RequestState(1); + return (0); } +SweetSpot(piecenum) +{ + piecenum = base; + return (0); +} Killed(severity, corpsetype) { diff --git a/scripts/Units/armckfus.cob b/scripts/Units/armckfus.cob index ad5cb034c927028d5adfdc4f60955bb1d9cbe366..fbefee8af95b054f03c95decf8e56cd457827736 100644 GIT binary patch literal 2565 zcmbtWJ!lkB5T5(VB|?fPq){xk&_*oouC>s_fQlA}hX_L8&bY;A;otj&Q;9WUU)s^dIM^hO(O4?RPi}m$0~Rg z9uQwzHLwo&8rx<3b8xYIhvjNAM!n*sp2cRJ(;6J=^Kr$;yXfsDI_`_sESGEUlGm35 zy~TqWgQ;o#CwWHi?C&Oy%tsaN%*ehDbXgyFy^iswy}Me*`^O);7OI7gvgU0|UXm}- z!gP+zDIM<*8T!*b^k;2W2hCP1>k9h~V@re{Ny3l3{48F0-8T*Z&x3P)=5-M2|K|H- zB6V?CJIUu_EVD6wXnTDgO7K+gV?k(4v+3NaM2(EkpY^75!mimquvhx%hR_ku@*O3( zjH5r)|DJ~<;&Fc&gLN^+M~Hk5s`EAQOkbNdx%A;~Qy+4t_Gyl6pXT6fwuAVY?KcA+ zQnTgA^R(_(#;foGp7n3F8jsKO3tTLp^8-}p=J;UOy%nkde|j#G$7WH4bJUF1F%NtG zKmCl8n zTeZ@{zraRp{S$%&tAO_L`+57utm|D8n0s$#zBBWkd2^T4Id?)bCHc{CF44)~7a4XX zshpRkw*a*gUzLVW{29Ql)VtNDKcy?SF1F>S=bmzxpZgs5Y%*Xk>YB=?k|73{TR!xG z$Cqa1>3q{0w?w`P`8dIF>TqDt@l|KHE*xZ8v~p3pwKseXrQ81{ip7h8mu4 zgza*%v9%OE}>ql>6^iz z59LUyCEH}QQ72rBB}_j^VIMw6 z+lQYA2QG8vcRSkZKHh^^c$n|~B^eYK>|=cFpT+4~&TmA&#xGzh{M_vSys*{zV5{@M zHnP6nulk1cbe_Vka&NYk2pjp>H{<^njGqechTrr=X7tz5U&jZo6+E2SA8_@(54#t6 zyc2-DCxRiR=Z*f}|tifA_THs^psFmgJ6PO)`)SC0mlml5NRz z$qUIV$@SiFe(QFT-``lj(XDE3F(2f2i|)!`<6hxbis8!e;re>fbqkwCJ}lf^XV`nh pWwFTZdb8K>3$d0zC|qZw-_JK^r1bkUQELaS?TSHfI1@hG?hnOsp8Nm+ diff --git a/scripts/Units/armclaw.bos b/scripts/Units/armclaw.bos index 8012c8ed670..a7390561c06 100644 --- a/scripts/Units/armclaw.bos +++ b/scripts/Units/armclaw.bos @@ -1,12 +1,45 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, post, turret, barrel, flare, aimpoint, sparkemit, glow; -static-var isOpen, restore_delay; +static-var Static_Var_1, restore_delay, statechg_DesiredState, statechg_StateChanging; // Signal definitions -#define SIGNAL_AIM1 256 +#define SIG_AIM 2 + +Go() +{ + move post to y-axis [4] speed [150.000000]; + move barrel to z-axis [0.000000] speed [90.000000]; + wait-for-move post along y-axis; + wait-for-move barrel along z-axis; + show glow; + Static_Var_1 = 1; + set ARMORED to 0; +} + +Stop() +{ + set ARMORED to 1; + Static_Var_1 = 0; + turn turret to x-axis <0.000000> speed <300.000000>; + turn post to y-axis <0.000000> speed <300.000000>; + move barrel to z-axis [-8.000000] speed [20.000000]; + wait-for-turn barrel around x-axis; + wait-for-turn post around y-axis; + hide glow; + move post to y-axis [-26.000000] speed [90.000000]; + wait-for-move post along y-axis; +} + +InitState() +{ + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; +} EmitSparks() { @@ -15,13 +48,40 @@ EmitSparks() hide sparkemit; } +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + call-script Go(); + currentstate = 0; + } + if( statechg_DesiredState == 1 ) + { + call-script Stop(); + currentstate = 1; + } + } + statechg_StateChanging = FALSE; +} + static-var Stunned; ExecuteRestoreAfterDelay() { if (Stunned) { return (1); } - start-script Deactivate(); + set-signal-mask 0; + start-script RequestState(1); } SetStunned(State) { @@ -43,84 +103,74 @@ Create() hide sparkemit; restore_delay = 2000; - isOpen = 0; - start-script Activate(); + Static_Var_1 = 0; + call-script InitState(); + start-script RequestState(0); - move aimpoint to y-axis [5] speed [150.0]; - SLEEP_UNTIL_UNITFINISHED; + move aimpoint to y-axis [5] speed [150.000000]; + while( get BUILD_PERCENT_LEFT ) + { + sleep 250; + } start-script RestoreAfterDelay(); } - -#define BASEPIECE base -#define MAXTILT 0 -#include "../unit_hitbyweaponid_and_smoke.h" +#define SMOKEPIECE base +#include "smokeunit_thread_nohit.h" Activate() { - move post to y-axis [4] speed [150.0]; - move barrel to z-axis [0.0] speed [90.0]; - wait-for-move post along y-axis; - wait-for-move barrel along z-axis; - show glow; - isOpen = 1; - set ARMORED to 0; + start-script RequestState(0); } Deactivate() { - set ARMORED to 1; - isOpen = 0; - turn turret to x-axis <0.0> speed <300.0>; - turn post to y-axis <0.0> speed <300.0>; - move barrel to z-axis [-8.0] speed [20.0]; - wait-for-turn barrel around x-axis; - wait-for-turn post around y-axis; - hide glow; - move post to y-axis [-26.0] speed [90.0]; - wait-for-move post along y-axis; + start-script RequestState(1); } -SetMaxReloadTime(reloadMS) +SetMaxReloadTime(Func_Var_1) { - restore_delay = reloadMS * 2; + restore_delay = Func_Var_1 * 2; } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - if (!isOpen) start-script Activate(); - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; - while( !isOpen ) + start-script RequestState(0); + signal SIG_AIM; + set-signal-mask SIG_AIM; + while( !Static_Var_1 ) { sleep 250; } - turn post to y-axis heading speed <300.0>; + turn post to y-axis heading speed <300.000000>; if (pitch < 0) pitch = 0; - turn turret to x-axis <0.0> - pitch speed <300.0>; + turn turret to x-axis <0.000000> - pitch speed <300.000000>; wait-for-turn post around y-axis; wait-for-turn turret around x-axis; start-script RestoreAfterDelay(); return (1); } -FireWeapon1() +FirePrimary() { emit-sfx 1024+0 from flare; call-script EmitSparks(); sleep 150; } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = flare; + piecenum = flare; } +SweetSpot(piecenum) +{ + piecenum = base; +} - -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = aimpoint; + piecenum = aimpoint; } Killed(severity, corpsetype) diff --git a/scripts/Units/armclaw.cob b/scripts/Units/armclaw.cob index 01ec8378593e627f4d0f6fb805e81010b554c451..73397b34e258381bc0f764d364c5a7c4665cafeb 100644 GIT binary patch literal 3636 zcmbtXJ&0UY6h5;%nT`1OghdoB9)gWOI0!;Yca1S3%D9sd(ZYFd?uKV(=8bROxVx1D zR$^^PC1N45vJs1P7J^uaDQr?$Scq7OO@f8`edpct=FW2_*&z=;?tSO~eCOWzX^O}u za2&XMU8IGT&l~rMTmfzZPvQNcdqo=2S|oDGuT7Ciq6Tyd)xGI;5JHD=vIa=psO-3} z1bZ>h4h59hY>7TYxvOSRj5eulKwJ~+E2Hk_&YVl8W)&G;u=81@&|#dl2wZo@OK zvj6pA_ZJyZ0rOa_2j~ztb&d@P$1SNicAJ8B$??3<@~wru*4pb4^VVZ2|Cm7)zm`*dM`cdkPs<*)Y=4hF z_q~N@@UoZj^V?=C@$7quvbkFPe7^R6jBlSCtS$T=Fkgu=cf{1X=zuOXrr*!x^LK$Z zHcJ7)v)&O8XQDjYt@1M&rqo}ePrE#0+|r-iQAc|_n^mkpPxD*pd0v+3>$7~A!Q%2v zJ&6XHkNt#P#dxQDidA~(DcUG`fh>lot|L#B@iK7bZw&fzuUz>3)XN!<-#ygFew|{q zT=ZF{qggdSaAaqL_Ij6nZ-wuTwS~Q{Qlp*)#9hV5xUe3kEZB2sJ+Bha;;iDsl*>5U zrP6bB)pNwU?vx|W{8sZeURLSD__|$e$Ed`l=Ez7WsyJYvshEV z=N&LxTgi>t9VMsnv&es0PUC8k&rx!+#E?V2KL(rydceEDSHQQxHQ+k10dmd(Bj5m- z0v`iE0M~(Efj@x10RI1Y1c-qrfaid1;4NSeH~>BXJ_0@gJ_Wu6t^(fy*MMJu-+>#z zKfwBZ_}>HE4?GAw3Oo)x1H6<;x5!5F@-QvBMN&9t$AZgY0-L~hu7V+n4B(LR8HlQ8x7CGXlT)sEx0sA1K zEsZyfc#g!=?(0B4&imB&La#o>ls#ddS&o^FI?`f|o(njk1^&lJ*cC-hO2-SAX_;i@qn` z9~`XfkGUy7ebg7`V`}BK=X_`W#Ia8LUdNQ<4UF_zAHpS4NHLLf1 z7@1T1^rD){;SU00J*=7gVOiJ{`Eum>B>qb*#C^VJFS60K!Q)J-H|z!P>;Mzm+g#(E zvIb7obJ|#o&h7Dtr%Gotji37Ym{~YOCzCwNK|iQ{exD<}Oz}4*vEd6AockZ< z^0AFs9kU)h_Pz}Ub!*<#70*_>2Riet!{gP1h~-)28|XR2Z^*X<;vL)bo>Mmo@2TIQ z&%!q>^?L{mxjdz^7vAy*QOEv>m*JgZI0|)sE)Mam{sN`y;#n0Y?X!HX8{QsYD|4s4 z#C)dT`%PiY<{a{(Jc-}DF79ajk;5I%QIGiOJH$2J(!1o{VsB~ZcW*ztz6JCl_BBqr z;m*AQ($tY-TK_IF*}_YBC{(?M(v{2*{3&sD=Bajo2 zHz9q<0P-Q^BBX@uKt6}uhI|dV5BU!AJ>&<-Pmo_Bzd;^D{)GGkc?LN>F6#A3UR{~m z=^eMZUAr|mt;@>wFV(JEaijd2t-E@?-rm}BLwnx%Ugh%I*`TQ3y>`LnlXC0qFkRV7 zKF%+@;rh6|;;g?}7oQNn;&M$9{(Qc(=0;^c{Gb>ERE$HUQ+B4PoaXOuyDFwQMa-G1 xY;fm_(FpV|=2K^ra#~xxT~)4z0>j8Ijq=J_UW_MYu~plY1v^x3mq+DQ`wzA!@5KNB diff --git a/scripts/Units/armcom.bos b/scripts/Units/armcom.bos index b6296ca1167..2334977eafa 100644 --- a/scripts/Units/armcom.bos +++ b/scripts/Units/armcom.bos @@ -1,5 +1,7 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" //INCREMENT THIS COUNTER FOR EVERY HOUR OF YOUR LIFE WASTED HERE: 20 @@ -8,17 +10,17 @@ piece head, torso, luparm, biggun, ruparm,rloarm,lflare, nano, laserflare, pelvi static-var isAiming, isAimingDgun, isBuilding, buildHeading, buildPitch, leftArm, rightArm,animSpeed; // Signal definitions -#define SIGNAL_AIM1 256 -#define SIGNAL_MOVE 1 +#define SIG_AIM 2 +#define SIG_WALK 4 // Generated for D:\spring\animation\armcom_anim_walk_v4.blend // Using https://github.com/Beherith/Skeletor_S3O // this animation uses the static-var animFramesPerKeyframe which contains how many frames each keyframe takes -static-var maxSpeed, animFramesPerKeyframe, isMoving; +static-var maxSpeed, animFramesPerKeyframe, bMoving; Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\animation\armcom_anim_walk_v4.blend // (c) CC BY NC ND Beherith mysterme@gmail.com - set-signal-mask SIGNAL_MOVE; - if (isMoving) { //Frame:4 + set-signal-mask SIG_WALK; + if (bMoving) { //Frame:4 if (leftArm) turn biggun to x-axis <-48.215180> speed <113.735764> / animSpeed; //delta=-3.79 turn head to x-axis <-2.620635> speed <39.654598> / animSpeed; //delta=1.32 turn head to y-axis <-3.829846> speed <114.895376> / animSpeed; //delta=-3.83 @@ -28,7 +30,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn lthigh to z-axis <10.085981> speed <605.673206> / animSpeed; //delta=-20.19 turn lthigh to y-axis <15.046731> speed <118.088344> / animSpeed; //delta=3.94 if (leftArm) turn luparm to x-axis <9.919362> speed <279.367450> / animSpeed; //delta=9.31 - if (leftArm) turn luparm to z-axis <-12.399998> speed <114.0> / animSpeed; //delta=-3.80 + if (leftArm) turn luparm to z-axis <-12.399998> speed <114.000041> / animSpeed; //delta=-3.80 if (leftArm) turn luparm to y-axis <0.965138> speed <187.380006> / animSpeed; //delta=-6.25 turn pelvis to z-axis <-1.666667> speed <49.999997> / animSpeed; //delta=1.67 turn pelvis to y-axis <-2.296296> speed <68.888891> / animSpeed; //delta=-2.30 @@ -45,8 +47,8 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn aimy1 to y-axis <7.879434> speed <236.383029> / animSpeed; //delta=7.88 sleep ((33*animSpeed) -1); } - while(isMoving) { - if (isMoving) { //Frame:8 + while(bMoving) { + if (bMoving) { //Frame:8 if (leftArm) turn biggun to x-axis <-46.675856> speed <46.179694> / animSpeed; //delta=-1.54 turn head to x-axis <-1.563179> speed <31.723679> / animSpeed; //delta=-1.06 turn head to y-axis <-6.127755> speed <68.937274> / animSpeed; //delta=-2.30 @@ -73,7 +75,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn aimy1 to y-axis <13.926961> speed <181.425790> / animSpeed; //delta=6.05 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:12 + if (bMoving) { //Frame:12 if (leftArm) turn biggun to x-axis <-46.110552> speed <16.959121> / animSpeed; //delta=-0.57 turn head to x-axis <0.023005> speed <47.585527> / animSpeed; //delta=-1.59 turn head to y-axis <-7.659692> speed <45.958102> / animSpeed; //delta=-1.53 @@ -84,9 +86,9 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn lthigh to y-axis <14.540810> speed <93.704134> / animSpeed; //delta=-3.12 if (leftArm) turn luparm to x-axis <20.474264> speed <98.952127> / animSpeed; //delta=-3.30 if (leftArm) turn luparm to y-axis <5.388938> speed <71.821661> / animSpeed; //delta=2.39 - move pelvis to y-axis [-2.0] speed [18.888888] / animSpeed; //delta=-0.63 - turn pelvis to z-axis <-5.0> speed <27.777769> / animSpeed; //delta=0.93 - turn pelvis to y-axis <-6.0> speed <24.444453> / animSpeed; //delta=-0.81 + move pelvis to y-axis [-2.000000] speed [18.888888] / animSpeed; //delta=-0.63 + turn pelvis to z-axis <-5.000000> speed <27.777769> / animSpeed; //delta=0.93 + turn pelvis to y-axis <-6.000000> speed <24.444453> / animSpeed; //delta=-0.81 turn rfoot to x-axis <-34.556331> speed <305.131751> / animSpeed; //delta=10.17 turn rleg to x-axis <32.187523> speed <882.363941> / animSpeed; //delta=-29.41 if (rightArm) turn rloarm to x-axis <-64.499997> speed <87.888552> / animSpeed; //delta=2.93 @@ -100,7 +102,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn aimy1 to y-axis <15.758869> speed <54.957239> / animSpeed; //delta=1.83 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:16 + if (bMoving) { //Frame:16 if (leftArm) turn biggun to x-axis <-47.068049> speed <28.724907> / animSpeed; //delta=0.96 turn head to x-axis <-0.505722> speed <15.861819> / animSpeed; //delta=0.53 turn head to y-axis <-6.127755> speed <45.958102> / animSpeed; //delta=1.53 @@ -128,7 +130,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn aimy1 to y-axis <13.926961> speed <54.957239> / animSpeed; //delta=-1.83 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:20 + if (bMoving) { //Frame:20 if (leftArm) turn biggun to x-axis <-49.335727> speed <68.030323> / animSpeed; //delta=2.27 turn head to x-axis <-2.091907> speed <47.585562> / animSpeed; //delta=1.59 turn head to y-axis <-3.829846> speed <68.937274> / animSpeed; //delta=2.30 @@ -139,7 +141,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn lthigh to y-axis <8.321622> speed <266.996423> / animSpeed; //delta=-8.90 if (leftArm) turn luparm to x-axis <15.615877> speed <102.946916> / animSpeed; //delta=3.43 if (leftArm) turn luparm to y-axis <5.076670> speed <9.368019> / animSpeed; //delta=-0.31 - turn pelvis to z-axis <-2.0> speed <58.888879> / animSpeed; //delta=-1.96 + turn pelvis to z-axis <-2.000000> speed <58.888879> / animSpeed; //delta=-1.96 turn pelvis to y-axis <-2.772487> speed <67.619039> / animSpeed; //delta=2.25 turn rfoot to x-axis <-39.119034> speed <357.682424> / animSpeed; //delta=11.92 turn rleg to x-axis <104.636879> speed <789.433742> / animSpeed; //delta=-26.31 @@ -156,10 +158,10 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn aimy1 to y-axis <7.879434> speed <181.425790> / animSpeed; //delta=-6.05 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:24 + if (bMoving) { //Frame:24 if (leftArm) turn biggun to x-axis <-52.006372> speed <80.119348> / animSpeed; //delta=2.67 turn head to x-axis <-3.149363> speed <31.723676> / animSpeed; //delta=1.06 - turn head to y-axis <0.0> speed <114.895376> / animSpeed; //delta=3.83 + turn head to y-axis <0.000000> speed <114.895376> / animSpeed; //delta=3.83 turn lfoot to x-axis <-23.280778> speed <357.540911> / animSpeed; //delta=11.92 turn lleg to x-axis <46.510843> speed <277.878733> / animSpeed; //delta=9.26 turn lthigh to x-axis <-23.415420> speed <612.523459> / animSpeed; //delta=-20.42 @@ -167,9 +169,9 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn lthigh to y-axis <1.272165> speed <211.483711> / animSpeed; //delta=-7.05 if (leftArm) turn luparm to x-axis <11.452920> speed <124.888703> / animSpeed; //delta=4.16 if (leftArm) turn luparm to y-axis <3.308728> speed <53.038265> / animSpeed; //delta=-1.77 - move pelvis to y-axis [-2.0] speed [25.555551] / animSpeed; //delta=0.85 - turn pelvis to z-axis <-0.0> speed <60.0> / animSpeed; //delta=-2.00 - turn pelvis to y-axis <0.0> speed <83.174607> / animSpeed; //delta=2.77 + move pelvis to y-axis [-2.000000] speed [25.555551] / animSpeed; //delta=0.85 + turn pelvis to z-axis <-0.000000> speed <60.000006> / animSpeed; //delta=-2.00 + turn pelvis to y-axis <0.000000> speed <83.174607> / animSpeed; //delta=2.77 turn rfoot to x-axis <-45.278120> speed <184.772566> / animSpeed; //delta=6.16 turn rleg to x-axis <90.786697> speed <415.505474> / animSpeed; //delta=13.85 turn rleg to z-axis <0.843235> speed <24.355743> / animSpeed; //delta=-0.81 @@ -181,11 +183,11 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani if (rightArm) turn ruparm to x-axis <16.947865> speed <91.311783> / animSpeed; //delta=-3.04 if (rightArm) turn ruparm to y-axis <0.900000> speed <45.888888> / animSpeed; //delta=-1.53 turn aimy1 to x-axis <-4.594870> speed <18.402335> / animSpeed; //delta=0.61 - turn aimy1 to z-axis <-0.0> speed <61.681404> / animSpeed; //delta=2.06 - turn aimy1 to y-axis <0.0> speed <236.383029> / animSpeed; //delta=-7.88 + turn aimy1 to z-axis <-0.000000> speed <61.681404> / animSpeed; //delta=2.06 + turn aimy1 to y-axis <0.000000> speed <236.383029> / animSpeed; //delta=-7.88 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:28 + if (bMoving) { //Frame:28 if (leftArm) turn biggun to x-axis <-53.142724> speed <34.090567> / animSpeed; //delta=1.14 turn head to x-axis <-2.620635> speed <15.861851> / animSpeed; //delta=-0.53 turn head to y-axis <3.829846> speed <114.895376> / animSpeed; //delta=3.83 @@ -214,7 +216,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn aimy1 to y-axis <-7.879434> speed <236.383029> / animSpeed; //delta=-7.88 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:32 + if (bMoving) { //Frame:32 if (leftArm) turn biggun to x-axis <-55.253092> speed <63.311038> / animSpeed; //delta=2.11 turn head to x-axis <-1.563179> speed <31.723670> / animSpeed; //delta=-1.06 turn head to y-axis <6.127755> speed <68.937274> / animSpeed; //delta=2.30 @@ -240,7 +242,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn aimy1 to y-axis <-13.926961> speed <181.425790> / animSpeed; //delta=-6.05 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:36 + if (bMoving) { //Frame:36 if (leftArm) turn biggun to x-axis <-56.389444> speed <34.090567> / animSpeed; //delta=1.14 turn head to x-axis <0.023005> speed <47.585536> / animSpeed; //delta=-1.59 turn head to y-axis <7.659692> speed <45.958102> / animSpeed; //delta=1.53 @@ -251,12 +253,12 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn lthigh to y-axis <5.332458> speed <15.498655> / animSpeed; //delta=-0.52 if (leftArm) turn luparm to x-axis <-3.274263> speed <167.758466> / animSpeed; //delta=5.59 if (leftArm) turn luparm to y-axis <-6.556594> speed <45.333998> / animSpeed; //delta=-1.51 - move pelvis to y-axis [-2.0] speed [25.555555] / animSpeed; //delta=-0.85 - turn pelvis to z-axis <5.0> speed <31.089813> / animSpeed; //delta=-1.04 - turn pelvis to y-axis <6.0> speed <29.200275> / animSpeed; //delta=0.97 + move pelvis to y-axis [-2.000000] speed [25.555555] / animSpeed; //delta=-0.85 + turn pelvis to z-axis <5.000000> speed <31.089813> / animSpeed; //delta=-1.04 + turn pelvis to y-axis <6.000000> speed <29.200275> / animSpeed; //delta=0.97 turn rfoot to x-axis <4.673420> speed <156.586261> / animSpeed; //delta=-5.22 turn rleg to x-axis <17.968366> speed <112.905793> / animSpeed; //delta=3.76 - if (rightArm) turn rloarm to x-axis <-38.0> speed <43.722158> / animSpeed; //delta=-1.46 + if (rightArm) turn rloarm to x-axis <-38.000000> speed <43.722158> / animSpeed; //delta=-1.46 turn rthigh to x-axis <-40.972853> speed <227.481055> / animSpeed; //delta=-7.58 turn rthigh to z-axis <-12.483621> speed <13.132763> / animSpeed; //delta=-0.44 turn rthigh to y-axis <-18.495587> speed <4.624260> / animSpeed; //delta=-0.15 @@ -267,7 +269,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn aimy1 to y-axis <-15.758869> speed <54.957239> / animSpeed; //delta=-1.83 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:40 + if (bMoving) { //Frame:40 if (leftArm) turn biggun to x-axis <-55.431951> speed <28.724805> / animSpeed; //delta=-0.96 turn head to x-axis <-0.505722> speed <15.861819> / animSpeed; //delta=0.53 turn head to y-axis <6.127755> speed <45.958102> / animSpeed; //delta=-1.53 @@ -296,7 +298,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn aimy1 to y-axis <-13.926961> speed <54.957239> / animSpeed; //delta=1.83 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:44 + if (bMoving) { //Frame:44 if (leftArm) turn biggun to x-axis <-53.164273> speed <68.030323> / animSpeed; //delta=-2.27 turn head to x-axis <-2.091907> speed <47.585562> / animSpeed; //delta=1.59 turn head to y-axis <3.829846> speed <68.937274> / animSpeed; //delta=-2.30 @@ -324,10 +326,10 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn aimy1 to y-axis <-7.879434> speed <181.425790> / animSpeed; //delta=6.05 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:48 + if (bMoving) { //Frame:48 if (leftArm) turn biggun to x-axis <-50.493628> speed <80.119348> / animSpeed; //delta=-2.67 turn head to x-axis <-3.149363> speed <31.723676> / animSpeed; //delta=1.06 - turn head to y-axis <0.0> speed <114.895376> / animSpeed; //delta=-3.83 + turn head to y-axis <0.000000> speed <114.895376> / animSpeed; //delta=-3.83 turn lfoot to x-axis <-44.880435> speed <188.924672> / animSpeed; //delta=6.30 turn lleg to x-axis <90.690391> speed <407.363547> / animSpeed; //delta=13.58 turn lleg to z-axis <-1.028354> speed <29.811568> / animSpeed; //delta=0.99 @@ -337,9 +339,9 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn lthigh to y-axis <9.180887> speed <243.372656> / animSpeed; //delta=8.11 if (leftArm) turn luparm to x-axis <2.662867> speed <125.339441> / animSpeed; //delta=-4.18 if (leftArm) turn luparm to y-axis <-1.793232> speed <71.050921> / animSpeed; //delta=2.37 - move pelvis to y-axis [-2.0] speed [25.555551] / animSpeed; //delta=0.85 - turn pelvis to z-axis <-0.0> speed <62.666668> / animSpeed; //delta=2.09 - turn pelvis to y-axis <0.0> speed <86.222221> / animSpeed; //delta=-2.87 + move pelvis to y-axis [-2.000000] speed [25.555551] / animSpeed; //delta=0.85 + turn pelvis to z-axis <-0.000000> speed <62.666668> / animSpeed; //delta=2.09 + turn pelvis to y-axis <0.000000> speed <86.222221> / animSpeed; //delta=-2.87 turn rfoot to x-axis <-23.519080> speed <364.135724> / animSpeed; //delta=12.14 turn rleg to x-axis <46.484300> speed <278.590678> / animSpeed; //delta=9.29 if (rightArm) turn rloarm to x-axis <-53.199999> speed <206.555576> / animSpeed; //delta=6.89 @@ -349,11 +351,11 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani if (rightArm) turn ruparm to x-axis <23.351554> speed <90.983396> / animSpeed; //delta=3.03 if (rightArm) turn ruparm to y-axis <0.479402> speed <36.051284> / animSpeed; //delta=1.20 turn aimy1 to x-axis <-4.594870> speed <18.402335> / animSpeed; //delta=0.61 - turn aimy1 to z-axis <-0.0> speed <64.422792> / animSpeed; //delta=-2.15 - turn aimy1 to y-axis <0.0> speed <236.383029> / animSpeed; //delta=7.88 + turn aimy1 to z-axis <-0.000000> speed <64.422792> / animSpeed; //delta=-2.15 + turn aimy1 to y-axis <0.000000> speed <236.383029> / animSpeed; //delta=7.88 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:52 + if (bMoving) { //Frame:52 if (leftArm) turn biggun to x-axis <-48.215180> speed <68.353460> / animSpeed; //delta=-2.28 turn head to x-axis <-2.620635> speed <15.861851> / animSpeed; //delta=-0.53 turn head to y-axis <-3.829846> speed <114.895376> / animSpeed; //delta=-3.83 @@ -384,38 +386,38 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani } } } -// Call this from StopMoving()! +// Call this from MotionControl()! StopWalking() { - move pelvis to y-axis [-1.0] speed [6.944444]; + move pelvis to y-axis [-1.000000] speed [6.944444]; if (leftArm) turn biggun to x-axis <-52.006372> speed <28.433941>; turn head to x-axis <-1.298815> speed <11.896390>; - turn head to y-axis <0.0> speed <28.723844>; + turn head to y-axis <0.000000> speed <28.723844>; turn lfoot to x-axis <2.870126> speed <274.263975>; turn lleg to x-axis <22.425678> speed <349.693872>; - turn lleg to y-axis <0.0> speed <7.922289>; - turn lleg to z-axis <0.0> speed <7.923996>; + turn lleg to y-axis <0.000000> speed <7.922289>; + turn lleg to z-axis <0.000000> speed <7.923996>; turn lthigh to x-axis <-21.115098> speed <255.919901>; turn lthigh to y-axis <11.110453> speed <66.749106>; turn lthigh to z-axis <-10.103126> speed <151.418301>; if (leftArm) turn luparm to x-axis <19.231610> speed <69.841862>; if (leftArm) turn luparm to y-axis <7.211138> speed <46.845002>; if (leftArm) turn luparm to z-axis <-16.200000> speed <28.500010>; - turn pelvis to y-axis <0.0> speed <21.666665>; - turn pelvis to z-axis <0.0> speed <18.055557>; + turn pelvis to y-axis <0.000000> speed <21.666665>; + turn pelvis to z-axis <0.000000> speed <18.055557>; turn rfoot to x-axis <0.415283> speed <248.713120>; turn rleg to x-axis <25.768060> speed <346.011740>; - turn rleg to y-axis <0.0> speed <6.521982>; - turn rleg to z-axis <0.0> speed <6.524652>; + turn rleg to y-axis <0.000000> speed <6.521982>; + turn rleg to z-axis <0.000000> speed <6.524652>; if (rightArm) turn rloarm to x-axis <-53.199995> speed <51.638894>; turn rthigh to x-axis <-21.950628> speed <255.149679>; turn rthigh to y-axis <-11.905752> speed <66.515336>; turn rthigh to z-axis <9.396449> speed <151.125663>; if (rightArm) turn ruparm to x-axis <24.693159> speed <39.648544>; - if (rightArm) turn ruparm to y-axis <0.0> speed <31.089853>; + if (rightArm) turn ruparm to y-axis <0.000000> speed <31.089853>; if (rightArm) turn ruparm to z-axis <12.399998> speed <-7.153845>; turn aimy1 to x-axis <-2.263907> speed <15.181924>; - turn aimy1 to y-axis <0.0> speed <59.095757>; - turn aimy1 to z-axis <0.0> speed <18.561539>; + turn aimy1 to y-axis <0.000000> speed <59.095757>; + turn aimy1 to z-axis <0.000000> speed <18.561539>; } // REMEMBER TO animspeed = 4 in Create() !! UnitSpeed(){ @@ -432,16 +434,16 @@ UnitSpeed(){ sleep 131; } } -StartMoving(reversing){ - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; - isMoving=TRUE; +StartMoving(){ + signal SIG_WALK; + set-signal-mask SIG_WALK; + bMoving=TRUE; start-script Walk(); start-script UnitSpeed(); } StopMoving(){ - signal SIGNAL_MOVE; - isMoving = FALSE; + signal SIG_WALK; + bMoving = FALSE; call-script StopWalking(); } @@ -452,7 +454,7 @@ AmIBored() { //return isAiming == false and isBuilding == false and isMoving == false if (isAiming == 0){ if (isBuilding == 0 ){ - if (isMoving == 0){ + if (bMoving == 0){ return (1); } } @@ -476,13 +478,13 @@ Create(){ hide hatpoint; hide aimy1; hide teleport; - //turn rloarm to x-axis <-15> speed <130.0> ; //-- Turn(rloarm, x-axis, math.rad(-15),math.rad(130)) + //turn rloarm to x-axis <-15> speed <130.0000> ; //-- Turn(rloarm, x-axis, math.rad(-15),math.rad(130)) turn lflare to x-axis <90> now; // Turn(lflare, x-axis,math.rad(90)) turn nano to x-axis <90> now; //Turn(nano, x-axis,math.rad(90)) turn laserflare to x-axis <90> now; // Turn(laserflare, x-axis,math.rad(90)) spin dish around y-axis speed <100>; //Spin(dish, y-axis, 2.5) animSpeed = 4; - isMoving = 0; + bMoving = 0; isAiming = 0; isBuilding = 0; isAimingDgun = 0; @@ -493,23 +495,23 @@ Create(){ call-script StopWalking(); } -QueryNanoPiece(pieceIndex) +QueryNanoPiece(piecenum) { - pieceIndex = nano; + piecenum = nano; return (0); } RestoreAfterDelay(){ - set-signal-mask SIGNAL_AIM1; + set-signal-mask SIG_AIM; sleep 1000; - turn torso to y-axis <0> speed <105.0> ; //-- Turn(torso, y-axis, 0, math.rad(305)) + turn torso to y-axis <0> speed <105.0000> ; //-- Turn(torso, y-axis, 0, math.rad(305)) - turn biggun to x-axis <-38> speed <95.0> ; //-- Turn(biggun, x-axis, math.rad(-38), math.rad(95)) - turn luparm to x-axis <0> speed <95.0> ; //-- Turn(luparm, x-axis, 0, math.rad(95)) - turn rloarm to x-axis <-38> speed <95.0> ; //-- Turn(rloarm, x-axis, math.rad(-38), math.rad(95)) - turn ruparm to x-axis <0> speed <95.0> ; //-- Turn(ruparm, x-axis, 0, math.rad(95)) + turn biggun to x-axis <-38> speed <95.0000> ; //-- Turn(biggun, x-axis, math.rad(-38), math.rad(95)) + turn luparm to x-axis <0> speed <95.0000> ; //-- Turn(luparm, x-axis, 0, math.rad(95)) + turn rloarm to x-axis <-38> speed <95.0000> ; //-- Turn(rloarm, x-axis, math.rad(-38), math.rad(95)) + turn ruparm to x-axis <0> speed <95.0000> ; //-- Turn(ruparm, x-axis, 0, math.rad(95)) isAiming = 0; isAimingDgun = 0; @@ -524,8 +526,8 @@ ResumeBuilding() sleep 800; if( isBuilding AND ( !isAiming ) ) { - turn torso to y-axis buildHeading speed <150.0>; - turn luparm to x-axis <-55.0> - buildPitch speed <45.0>; + turn torso to y-axis buildHeading speed <150.000000>; + turn luparm to x-axis <-55.000000> - buildPitch speed <45.000000>; } return (0); } @@ -535,21 +537,25 @@ ResumeBuilding() //--gun functions; //----------------------------------------------------------------------- - +SweetSpot(piecenum) +{ + piecenum = torso; + return (0); +} /////////// pew pew laser -QueryWeapon1(pieceIndex) //pew laser +QueryPrimary(piecenum) //pew laser { - pieceIndex = laserflare; + piecenum = laserflare; return (0); } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = ruparm; + piecenum = ruparm; return (0); } -AimWeapon1(heading, pitch) //pew pew +AimPrimary(heading, pitch) //pew pew { if (isAimingDgun){ return (0); @@ -557,11 +563,11 @@ AimWeapon1(heading, pitch) //pew pew rightarm = 0; //call-script FixArms(0, 1); - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; - turn torso to y-axis heading speed <300.0> ; //-- Turn(torso, y-axis, heading, math.rad(300)) - turn rloarm to x-axis <-55> speed <390.0> ; //-- Turn(rloarm, x-axis, math.rad(-55), math.rad(390)) - turn ruparm to x-axis <-40> - pitch speed <390.0> ; //-- Turn(ruparm, x-axis, math.rad(-45) - pitch, math.rad(390)) + signal SIG_AIM; + set-signal-mask SIG_AIM; + turn torso to y-axis heading speed <300.0000> ; //-- Turn(torso, y-axis, heading, math.rad(300)) + turn rloarm to x-axis <-55> speed <390.0000> ; //-- Turn(rloarm, x-axis, math.rad(-55), math.rad(390)) + turn ruparm to x-axis <-40> - pitch speed <390.0000> ; //-- Turn(ruparm, x-axis, math.rad(-45) - pitch, math.rad(390)) wait-for-turn torso around y-axis; //wait-for-turn rloarm around x-axis; //wait-for-turn ruparm around x-axis; @@ -574,7 +580,7 @@ AimWeapon1(heading, pitch) //pew pew return (1); } -FireWeapon1() +FirePrimary() { sleep 100; return (0); @@ -582,19 +588,19 @@ FireWeapon1() /////////// uw weapon -QueryWeapon2(pieceIndex) //uw weapon +QuerySecondary(piecenum) //uw weapon { - pieceIndex = laserflare; + piecenum = laserflare; return (0); } -AimFromWeapon2(pieceIndex) +AimFromSecondary(piecenum) { - pieceIndex = laserflare; + piecenum = laserflare; return (0); } -AimWeapon2(heading, pitch) +AimSecondary(heading, pitch) { if( get PIECE_Y(head) > 0 ) { @@ -609,11 +615,11 @@ AimWeapon2(heading, pitch) } rightarm = 0; //call-script FixArms(0, 1); - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; - turn torso to y-axis heading speed <300.0> ; //-- Turn(torso, y-axis, heading, math.rad(300)) - turn rloarm to x-axis <-55> speed <390.0> ; //-- Turn(rloarm, x-axis, math.rad(-55), math.rad(390)) - turn ruparm to x-axis <-40> - pitch speed <390.0> ; //-- Turn(ruparm, x-axis, math.rad(-45) - pitch, math.rad(390)) + signal SIG_AIM; + set-signal-mask SIG_AIM; + turn torso to y-axis heading speed <300.0000> ; //-- Turn(torso, y-axis, heading, math.rad(300)) + turn rloarm to x-axis <-55> speed <390.0000> ; //-- Turn(rloarm, x-axis, math.rad(-55), math.rad(390)) + turn ruparm to x-axis <-40> - pitch speed <390.0000> ; //-- Turn(ruparm, x-axis, math.rad(-45) - pitch, math.rad(390)) wait-for-turn torso around y-axis; //wait-for-turn rloarm around x-axis; //wait-for-turn ruparm around x-axis; @@ -626,7 +632,7 @@ AimWeapon2(heading, pitch) return (1); } -FireWeapon2() +FireSecondary() { sleep 100; return (0); @@ -635,19 +641,19 @@ FireWeapon2() ////////// DGUN -QueryWeapon3(pieceIndex) //dgun +QueryTertiary(piecenum) //dgun { - pieceIndex = lflare; + piecenum = lflare; return (0); } -AimFromWeapon3(pieceIndex) +AimFromTertiary(piecenum) { - pieceIndex = biggun; + piecenum = biggun; return (0); } -FireWeapon3() +FireTertiary() { //emit-sfx 1024 + 0 from lflare; isAimingDgun = 0; @@ -663,24 +669,24 @@ FireWeapon3() return (0); } -AimWeapon3(heading, pitch) +AimTertiary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; isAimingDgun = 1; isAiming = 1; leftArm = 0; //call-script FixArms(1, 0); - turn torso to y-axis heading speed <360.0> ; //-- Turn(torso, y-axis, heading, math.rad(300)) - turn biggun to x-axis <-85> speed <390.0> ; //-- Turn(biggun, x-axis, math.rad(-85), math.rad(390)) - turn luparm to x-axis <5> - pitch speed <390.0> ; //-- Turn(luparm, x-axis, math.rad(-5) - pitch, math.rad(390)) + turn torso to y-axis heading speed <360.0000> ; //-- Turn(torso, y-axis, heading, math.rad(300)) + turn biggun to x-axis <-85> speed <390.0000> ; //-- Turn(biggun, x-axis, math.rad(-85), math.rad(390)) + turn luparm to x-axis <5> - pitch speed <390.0000> ; //-- Turn(luparm, x-axis, math.rad(-5) - pitch, math.rad(390)) wait-for-turn torso around y-axis; //wait-for-turn biggun around x-axis; return (1); } SprayNano(heading, pitch){ - set-signal-mask SIGNAL_AIM1; + set-signal-mask SIG_AIM; sleep 1000; while (1){ @@ -695,15 +701,15 @@ SprayNano(heading, pitch){ StartBuilding(heading, pitch) { show nano; - signal SIGNAL_AIM1; - //set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + //set-signal-mask SIG_AIM; isBuilding = 1; rightArm = 0; - //turn torso to x-axis <0> speed <395.0> ; //-- Turn(torso, x-axis, 0, math.rad(395)) - //turn pelvis to x-axis <0> speed <395.0> ; //-- Turn(pelvis, x-axis, 0, math.rad(395)) - turn torso to y-axis heading speed <300.0> ; //-- Turn(torso, y-axis, heading, math.rad(300)) - turn rloarm to x-axis <-40> speed <390.0> ; //-- Turn(rloarm, x-axis, math.rad(-55), math.rad(390)) - turn ruparm to x-axis <-55> -pitch speed <390.0> ; //-- Turn(ruparm, x-axis, math.rad(-55) - pitch, math.rad(390)) + //turn torso to x-axis <0> speed <395.0000> ; //-- Turn(torso, x-axis, 0, math.rad(395)) + //turn pelvis to x-axis <0> speed <395.0000> ; //-- Turn(pelvis, x-axis, 0, math.rad(395)) + turn torso to y-axis heading speed <300.0000> ; //-- Turn(torso, y-axis, heading, math.rad(300)) + turn rloarm to x-axis <-40> speed <390.0000> ; //-- Turn(rloarm, x-axis, math.rad(-55), math.rad(390)) + turn ruparm to x-axis <-55> -pitch speed <390.0000> ; //-- Turn(ruparm, x-axis, math.rad(-55) - pitch, math.rad(390)) wait-for-turn ruparm around x-axis; set INBUILDSTANCE to 1; @@ -715,14 +721,24 @@ StartBuilding(heading, pitch) + +TargetCleared(Func_Var_1) +{ + signal SIG_AIM; + set-signal-mask SIG_AIM; + call-script RestoreAfterDelay(); + return (0); +} + + StopBuilding() { hide nano; rightArm = 1; isBuilding = 0; set INBUILDSTANCE to 0; - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; call-script RestoreAfterDelay(); return (0); } diff --git a/scripts/Units/armcom.cob b/scripts/Units/armcom.cob index c9ad207960a29eebe89e8bb9f2576048f35e056e..a16b670f3c1d71e5b57959b63815383eca3622f2 100644 GIT binary patch delta 4055 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 diff --git a/scripts/Units/armcom_lus.lua b/scripts/Units/armcom_lus.lua index 183b5b5200c..ab32e827893 100644 --- a/scripts/Units/armcom_lus.lua +++ b/scripts/Units/armcom_lus.lua @@ -43,8 +43,8 @@ local weapons = { -local SIGNAL_AIM1 = 2 -local SIGNAL_MOVE = 4 +local SIG_AIM = 2 +local SIG_WALK = 4 local PlaySoundFile = Spring.PlaySoundFile local GetUnitPosition = Spring.GetUnitPosition local GetGameFrame = Spring.GetGameFrame @@ -53,7 +53,7 @@ local CEGHeal = "heal" local CEGLevelUp = "commander-levelup" local ValidID = Spring.ValidUnitID --- for the AimWeapon1 script, to skip wait-for-turn if needed +-- for the AimPrimary script, to skip wait-for-turn if needed local last_primary_heading = -1000000 local function BelowWater(piecename) @@ -87,7 +87,7 @@ local function move(piece, axis, goal, speed) end function walk() - if (isMoving) then --Frame:4 + if (bMoving) then --Frame:4 if (leftArm) then turn(biggun, 1, -48.215180, 113.735764/animSpeed) --delta=-3.79 turn(head, 1, -2.620635, 39.654598/animSpeed) --delta=1.32 turn(head, 2, -3.829846, 114.895376/animSpeed) --delta=-3.83 @@ -114,8 +114,8 @@ function walk() turn(torso, 2, 7.879434, 236.383029/animSpeed) --delta=7.88 Sleep( (33*animSpeed) -1) end - while(isMoving) do - if (isMoving) then --Frame:8 + while(bMoving) do + if (bMoving) then --Frame:8 if (leftArm) then turn(biggun, 1, -46.675856, 46.179694/animSpeed) end--delta=-1.54 turn(head, 1, -1.563179, 31.723679/animSpeed) --delta=-1.06 turn(head, 2, -6.127755, 68.937274/animSpeed) --delta=-2.30 @@ -142,7 +142,7 @@ function walk() turn(torso, 2, 13.926961, 181.425790/animSpeed) --delta=6.05 Sleep( (33*animSpeed) -1) end - if (isMoving) then --Frame:12 + if (bMoving) then --Frame:12 if (leftArm) then turn(biggun, 1, -46.110552, 16.959121/animSpeed) end--delta=-0.57 turn(head, 1, 0.023005, 47.585527/animSpeed) --delta=-1.59 turn(head, 2, -7.659692, 45.958102/animSpeed) --delta=-1.53 @@ -153,9 +153,9 @@ function walk() turn(lthigh, 2, 14.540810, 93.704134/animSpeed) --delta=-3.12 if (leftArm) then turn(luparm, 1, 20.474264, 98.952127/animSpeed) end--delta=-3.30 if (leftArm) then turn(luparm, 2, 5.388938, 71.821661/animSpeed) end--delta=2.39 - move (pelvis, 2, -2.0 , 18.888888 /animSpeed) --delta=-0.63 - turn(pelvis, 3, -5.0, 27.777769/animSpeed) --delta=0.93 - turn(pelvis, 2, -6.0, 24.444453/animSpeed) --delta=-0.81 + move (pelvis, 2, -2.000000 , 18.888888 /animSpeed) --delta=-0.63 + turn(pelvis, 3, -5.000000, 27.777769/animSpeed) --delta=0.93 + turn(pelvis, 2, -6.000000, 24.444453/animSpeed) --delta=-0.81 turn(rfoot, 1, -34.556331, 305.131751/animSpeed) --delta=10.17 turn(rleg, 1, 32.187523, 882.363941/animSpeed) --delta=-29.41 if (rightArm) then turn(rloarm, 1, -64.499997, 87.888552/animSpeed) end--delta=2.93 @@ -169,7 +169,7 @@ function walk() turn(torso, 2, 15.758869, 54.957239/animSpeed) --delta=1.83 Sleep( (33*animSpeed) -1) end - if (isMoving) then --Frame:16 + if (bMoving) then --Frame:16 if (leftArm) then turn(biggun, 1, -47.068049, 28.724907/animSpeed) end--delta=0.96 turn(head, 1, -0.505722, 15.861819/animSpeed) --delta=0.53 @@ -198,7 +198,7 @@ function walk() turn(torso, 2, 13.926961, 54.957239/animSpeed) --delta=-1.83 Sleep( (33*animSpeed) -1) end - if (isMoving) then --Frame:20 + if (bMoving) then --Frame:20 if not Spring.GetUnitIsCloaked(unitID) then UnitScript.EmitSfx(lfootstep, 1024 + 2) end @@ -212,7 +212,7 @@ function walk() turn(lthigh, 2, 8.321622, 266.996423/animSpeed) --delta=-8.90 if (leftArm) then turn(luparm, 1, 15.615877, 102.946916/animSpeed) end--delta=3.43 if (leftArm) then turn(luparm, 2, 5.076670, 9.368019/animSpeed) end--delta=-0.31 - turn(pelvis, 3, -2.0, 58.888879/animSpeed) --delta=-1.96 + turn(pelvis, 3, -2.000000, 58.888879/animSpeed) --delta=-1.96 turn(pelvis, 2, -2.772487, 67.619039/animSpeed) --delta=2.25 turn(rfoot, 1, -39.119034, 357.682424/animSpeed) --delta=11.92 turn(rleg, 1, 104.636879, 789.433742/animSpeed) --delta=-26.31 @@ -229,10 +229,10 @@ function walk() turn(torso, 2, 7.879434, 181.425790/animSpeed) --delta=-6.05 Sleep( (33*animSpeed) -1) end - if (isMoving) then --Frame:24 + if (bMoving) then --Frame:24 if (leftArm) then turn(biggun, 1, -52.006372, 80.119348/animSpeed) end--delta=2.67 turn(head, 1, -3.149363, 31.723676/animSpeed) --delta=1.06 - turn(head, 2, 0.0, 114.895376/animSpeed) --delta=3.83 + turn(head, 2, 0.000000, 114.895376/animSpeed) --delta=3.83 turn(lfoot, 1, -23.280778, 357.540911/animSpeed) --delta=11.92 turn(lleg, 1, 46.510843, 277.878733/animSpeed) --delta=9.26 turn(lthigh, 1, -23.415420, 612.523459/animSpeed) --delta=-20.42 @@ -240,9 +240,9 @@ function walk() turn(lthigh, 2, 1.272165, 211.483711/animSpeed) --delta=-7.05 if (leftArm) then turn(luparm, 1, 11.452920, 124.888703/animSpeed) end--delta=4.16 if (leftArm) then turn(luparm, 2, 3.308728, 53.038265/animSpeed) end--delta=-1.77 - move (pelvis, 2, -2.0 , 25.555551 /animSpeed) --delta=0.85 - turn(pelvis, 3, -0.0, 60.000006/animSpeed) --delta=-2.00 - turn(pelvis, 2, 0.0, 83.174607/animSpeed) --delta=2.77 + move (pelvis, 2, -2.000000 , 25.555551 /animSpeed) --delta=0.85 + turn(pelvis, 3, -0.000000, 60.000006/animSpeed) --delta=-2.00 + turn(pelvis, 2, 0.000000, 83.174607/animSpeed) --delta=2.77 turn(rfoot, 1, -45.278120, 184.772566/animSpeed) --delta=6.16 turn(rleg, 1, 90.786697, 415.505474/animSpeed) --delta=13.85 turn(rleg, 3, 0.843235, 24.355743/animSpeed) --delta=-0.81 @@ -254,11 +254,11 @@ function walk() if (rightArm) then turn(ruparm, 1, 16.947865, 91.311783/animSpeed) end--delta=-3.04 if (rightArm) then turn(ruparm, 2, 0.900000, 45.888888/animSpeed) end--delta=-1.53 turn(torso, 1, -4.594870, 18.402335/animSpeed) --delta=0.61 - turn(torso, 3, -0.0, 61.681404/animSpeed) --delta=2.06 - turn(torso, 2, 0.0, 236.383029/animSpeed) --delta=-7.88 + turn(torso, 3, -0.000000, 61.681404/animSpeed) --delta=2.06 + turn(torso, 2, 0.000000, 236.383029/animSpeed) --delta=-7.88 Sleep( (33*animSpeed) -1) end - if (isMoving) then --Frame:28 + if (bMoving) then --Frame:28 if (leftArm) then turn(biggun, 1, -53.142724, 34.090567/animSpeed) end--delta=1.14 turn(head, 1, -2.620635, 15.861851/animSpeed) --delta=-0.53 turn(head, 2, 3.829846, 114.895376/animSpeed) --delta=3.83 @@ -287,7 +287,7 @@ function walk() turn(torso, 2, -7.879434, 236.383029/animSpeed) --delta=-7.88 Sleep( (33*animSpeed) -1) end - if (isMoving) then --Frame:32 + if (bMoving) then --Frame:32 if (leftArm) then turn(biggun, 1, -55.253092, 63.311038/animSpeed) end--delta=2.11 turn(head, 1, -1.563179, 31.723670/animSpeed) --delta=-1.06 turn(head, 2, 6.127755, 68.937274/animSpeed) --delta=2.30 @@ -313,7 +313,7 @@ function walk() turn(torso, 2, -13.926961, 181.425790/animSpeed) --delta=-6.05 Sleep( (33*animSpeed) -1) end - if (isMoving) then --Frame:36 + if (bMoving) then --Frame:36 if (leftArm) then turn(biggun, 1, -56.389444, 34.090567/animSpeed) end--delta=1.14 turn(head, 1, 0.023005, 47.585536/animSpeed) --delta=-1.59 @@ -325,12 +325,12 @@ function walk() turn(lthigh, 2, 5.332458, 15.498655/animSpeed) --delta=-0.52 if (leftArm) then turn(luparm, 1, -3.274263, 167.758466/animSpeed) end--delta=5.59 if (leftArm) then turn(luparm, 2, -6.556594, 45.333998/animSpeed) end--delta=-1.51 - move (pelvis, 2, -2.0 , 25.555555 /animSpeed) --delta=-0.85 - turn(pelvis, 3, 5.0, 31.089813/animSpeed) --delta=-1.04 - turn(pelvis, 2, 6.0, 29.200275/animSpeed) --delta=0.97 + move (pelvis, 2, -2.000000 , 25.555555 /animSpeed) --delta=-0.85 + turn(pelvis, 3, 5.000000, 31.089813/animSpeed) --delta=-1.04 + turn(pelvis, 2, 6.000000, 29.200275/animSpeed) --delta=0.97 turn(rfoot, 1, 4.673420, 156.586261/animSpeed) --delta=-5.22 turn(rleg, 1, 17.968366, 112.905793/animSpeed) --delta=3.76 - if (rightArm) then turn(rloarm, 1, -38.0, 43.722158/animSpeed) end--delta=-1.46 + if (rightArm) then turn(rloarm, 1, -38.000000, 43.722158/animSpeed) end--delta=-1.46 turn(rthigh, 1, -40.972853, 227.481055/animSpeed) --delta=-7.58 turn(rthigh, 3, -12.483621, 13.132763/animSpeed) --delta=-0.44 turn(rthigh, 2, -18.495587, 4.624260/animSpeed) --delta=-0.15 @@ -341,7 +341,7 @@ function walk() turn(torso, 2, -15.758869, 54.957239/animSpeed) --delta=-1.83 Sleep( (33*animSpeed) -1) end - if (isMoving) then --Frame:40 + if (bMoving) then --Frame:40 if (leftArm) then turn(biggun, 1, -55.431951, 28.724805/animSpeed) end--delta=-0.96 turn(head, 1, -0.505722, 15.861819/animSpeed) --delta=0.53 @@ -371,7 +371,7 @@ function walk() turn(torso, 2, -13.926961, 54.957239/animSpeed) --delta=1.83 Sleep( (33*animSpeed) -1) end - if (isMoving) then --Frame:44 + if (bMoving) then --Frame:44 if not Spring.GetUnitIsCloaked(unitID) then UnitScript.EmitSfx(rfootstep, 1024 + 2) end @@ -402,10 +402,10 @@ function walk() turn(torso, 2, -7.879434, 181.425790/animSpeed) --delta=6.05 Sleep( (33*animSpeed) -1) end - if (isMoving) then --Frame:48 + if (bMoving) then --Frame:48 if (leftArm) then turn(biggun, 1, -50.493628, 80.119348/animSpeed) end--delta=-2.67 turn(head, 1, -3.149363, 31.723676/animSpeed) --delta=1.06 - turn(head, 2, 0.0, 114.895376/animSpeed) --delta=-3.83 + turn(head, 2, 0.000000, 114.895376/animSpeed) --delta=-3.83 turn(lfoot, 1, -44.880435, 188.924672/animSpeed) --delta=6.30 turn(lleg, 1, 90.690391, 407.363547/animSpeed) --delta=13.58 turn(lleg, 3, -1.028354, 29.811568/animSpeed) --delta=0.99 @@ -415,9 +415,9 @@ function walk() turn(lthigh, 2, 9.180887, 243.372656/animSpeed) --delta=8.11 if (leftArm) then turn(luparm, 1, 2.662867, 125.339441/animSpeed) end--delta=-4.18 if (leftArm) then turn(luparm, 2, -1.793232, 71.050921/animSpeed) end--delta=2.37 - move (pelvis, 2, -2.0 , 25.555551 /animSpeed) --delta=0.85 - turn(pelvis, 3, -0.0, 62.666668/animSpeed) --delta=2.09 - turn(pelvis, 2, 0.0, 86.222221/animSpeed) --delta=-2.87 + move (pelvis, 2, -2.000000 , 25.555551 /animSpeed) --delta=0.85 + turn(pelvis, 3, -0.000000, 62.666668/animSpeed) --delta=2.09 + turn(pelvis, 2, 0.000000, 86.222221/animSpeed) --delta=-2.87 turn(rfoot, 1, -23.519080, 364.135724/animSpeed) --delta=12.14 turn(rleg, 1, 46.484300, 278.590678/animSpeed) --delta=9.29 if (rightArm) then turn(rloarm, 1, -53.199999, 206.555576/animSpeed) end--delta=6.89 @@ -427,11 +427,11 @@ function walk() if (rightArm) then turn(ruparm, 1, 23.351554, 90.983396/animSpeed) end--delta=3.03 if (rightArm) then turn(ruparm, 2, 0.479402, 36.051284/animSpeed) end--delta=1.20 turn(torso, 1, -4.594870, 18.402335/animSpeed) --delta=0.61 - turn(torso, 3, -0.0, 64.422792/animSpeed) --delta=-2.15 - turn(torso, 2, 0.0, 236.383029/animSpeed) --delta=7.88 + turn(torso, 3, -0.000000, 64.422792/animSpeed) --delta=-2.15 + turn(torso, 2, 0.000000, 236.383029/animSpeed) --delta=7.88 Sleep( (33*animSpeed) -1) end - if (isMoving) then --Frame:52 + if (bMoving) then --Frame:52 if (leftArm) then turn(biggun, 1, -48.215180, 68.353460/animSpeed) end--delta=-2.28 turn(head, 1, -2.620635, 15.861851/animSpeed) --delta=-0.53 turn(head, 2, -3.829846, 114.895376/animSpeed) --delta=-3.83 @@ -466,8 +466,8 @@ end local isDancing = false local function Dance1() - Signal(SIGNAL_MOVE) - SetSignalMask(SIGNAL_MOVE) + Signal(SIG_WALK) + SetSignalMask(SIG_WALK) local speedMult = 1/4 local sleepTime = 33*4 @@ -697,8 +697,8 @@ local function Dance1() Sleep(sleepTime) -- Frame:36 Turn(biggun, x_axis, -0.907682, 2.389804 * speedMult) -- delta=-4.56 - Turn(biggun, z_axis, 0.0, 5.843321 * speedMult) -- delta=-11.16 - Turn(biggun, y_axis, 0.0, 8.906903 * speedMult) -- delta=17.01 + Turn(biggun, z_axis, 0.000000, 5.843321 * speedMult) -- delta=-11.16 + Turn(biggun, y_axis, 0.000000, 8.906903 * speedMult) -- delta=17.01 Turn(head, x_axis, -0.022669, 2.848377 * speedMult) -- delta=-5.44 Turn(head, y_axis, 0.104720, 1.853928 * speedMult) -- delta=3.54 Turn(lfoot, x_axis, -0.034375, 1.095543 * speedMult) -- delta=-2.09 @@ -738,25 +738,25 @@ end local function StopDance1() isDancing = false - Signal(SIGNAL_MOVE) - SetSignalMask(SIGNAL_MOVE) + Signal(SIG_WALK) + SetSignalMask(SIG_WALK) local speedMult = 4 - Move(pelvis, x_axis, 0.0, 182.799768 * speedMult) - Move(pelvis, y_axis, -1.0, 94.009519 * speedMult) - Move(pelvis, z_axis, 0.0, 7.395249 * speedMult) + Move(pelvis, x_axis, 0.000000, 182.799768 * speedMult) + Move(pelvis, y_axis, -1.000000, 94.009519 * speedMult) + Move(pelvis, z_axis, 0.000000, 7.395249 * speedMult) Turn(biggun, x_axis, -0.907682, 13.485335 * speedMult) - Turn(biggun, y_axis, 0.0, 50.260359 * speedMult) - Turn(biggun, z_axis, 0.0, 32.973012 * speedMult) + Turn(biggun, y_axis, 0.000000, 50.260359 * speedMult) + Turn(biggun, z_axis, 0.000000, 32.973012 * speedMult) Turn(dish, y_axis, 0.130900, -1.090831 * speedMult) Turn(head, x_axis, -0.022669, 5.864306 * speedMult) - Turn(head, y_axis, 0.0, 6.434447 * speedMult) + Turn(head, y_axis, 0.000000, 6.434447 * speedMult) Turn(lfoot, x_axis, 0.051737, 15.527122 * speedMult) - Turn(lfoot, y_axis, 0.0, 0.596157 * speedMult) + Turn(lfoot, y_axis, 0.000000, 0.596157 * speedMult) Turn(lfoot, z_axis, 0.003196, 5.817875 * speedMult) Turn(lleg, x_axis, 0.307814, 22.080013 * speedMult) - Turn(lleg, y_axis, 0.0, 3.518799 * speedMult) + Turn(lleg, y_axis, 0.000000, 3.518799 * speedMult) Turn(lleg, z_axis, 0.001989, 4.896306 * speedMult) Turn(lthigh, x_axis, -0.331832, 10.807897 * speedMult) Turn(lthigh, y_axis, 0.227002, 13.113438 * speedMult) @@ -764,8 +764,8 @@ local function StopDance1() Turn(luparm, x_axis, 0.335655, 16.243426 * speedMult) Turn(luparm, y_axis, 0.125858, 20.036650 * speedMult) Turn(luparm, z_axis, 0.282743, 4.329781 * speedMult) - Turn(pelvis, y_axis, 0.0, 10.039089 * speedMult) - Turn(pelvis, z_axis, 0.0, 0.420372 * speedMult) + Turn(pelvis, y_axis, 0.000000, 10.039089 * speedMult) + Turn(pelvis, z_axis, 0.000000, 0.420372 * speedMult) Turn(rfoot, x_axis, -0.002780, 18.530126 * speedMult) Turn(rfoot, y_axis, -0.012972, 0.539800 * speedMult) Turn(rfoot, z_axis, -0.050249, 6.107579 * speedMult) @@ -773,21 +773,21 @@ local function StopDance1() Turn(rleg, y_axis, -0.010984, 4.257849 * speedMult) Turn(rleg, z_axis, -0.030601, 5.404025 * speedMult) Turn(rloarm, x_axis, -0.928515, 42.799873 * speedMult) - Turn(rloarm, y_axis, 0.0, 9.045273 * speedMult) - Turn(rloarm, z_axis, 0.0, 8.148036 * speedMult) + Turn(rloarm, y_axis, 0.000000, 9.045273 * speedMult) + Turn(rloarm, z_axis, 0.000000, 8.148036 * speedMult) Turn(rthigh, x_axis, -0.357098, 12.094440 * speedMult) Turn(rthigh, y_axis, -0.233321, 15.766531 * speedMult) Turn(rthigh, z_axis, -0.136268, 13.515805 * speedMult) Turn(ruparm, x_axis, 0.430977, 32.522415 * speedMult) - Turn(ruparm, y_axis, 0.0, 18.018824 * speedMult) + Turn(ruparm, y_axis, 0.000000, 18.018824 * speedMult) Turn(ruparm, z_axis, -0.216421, 5.292757 * speedMult) Turn(torso, x_axis, -0.039513, -0.329272 * speedMult) - Turn(torso, y_axis, 0.0, 4.386516 * speedMult) - Turn(torso, z_axis, 0.0, 0.183485 * speedMult) + Turn(torso, y_axis, 0.000000, 4.386516 * speedMult) + Turn(torso, z_axis, 0.000000, 0.183485 * speedMult) end function SprayNano(heading, pitch) - SetSignalMask(SIGNAL_AIM1) + SetSignalMask(SIG_AIM) Sleep(1000) while (true) do Turn(torso, 2, rad(10) + buildHeading, rad(10)) @@ -798,41 +798,41 @@ function SprayNano(heading, pitch) end function StopWalking() - move(pelvis,2, -1.0, 6.944444) + move(pelvis,2, -1.000000, 6.944444) if (leftArm) then turn(biggun,1, -52.006372, 28.433941) end turn(head,1, -1.298815, 11.896390) - turn(head,2, 0.0, 28.723844) + turn(head,2, 0.000000, 28.723844) turn(lfoot,1, 2.870126, 274.263975) turn(lleg,1, 22.425678, 349.693872) - turn(lleg,2, 0.0, 7.922289) - turn(lleg,3, 0.0, 7.923996) + turn(lleg,2, 0.000000, 7.922289) + turn(lleg,3, 0.000000, 7.923996) turn(lthigh,1, -21.115098, 255.919901) turn(lthigh,2, 11.110453, 66.749106) turn(lthigh,3, -10.103126, 151.418301) if (leftArm) then turn(luparm,1, 19.231610, 69.841862) end if (leftArm) then turn(luparm,2, 7.211138, 46.845002) end if (leftArm) then turn(luparm,3, -16.200000, 28.500010) end - turn(pelvis,2, 0.0, 21.666665) - turn(pelvis,3, 0.0, 18.055557) + turn(pelvis,2, 0.000000, 21.666665) + turn(pelvis,3, 0.000000, 18.055557) turn(rfoot,1, 0.415283, 248.713120) turn(rleg,1, 25.768060, 346.011740) - turn(rleg,2, 0.0, 6.521982) - turn(rleg,3, 0.0, 6.524652) + turn(rleg,2, 0.000000, 6.521982) + turn(rleg,3, 0.000000, 6.524652) if (rightArm) then turn(rloarm,1, -53.199995, 51.638894) end turn(rthigh,1, -21.950628, 255.149679) turn(rthigh,2, -11.905752, 66.515336) turn(rthigh,3, 9.396449, 151.125663) if (rightArm) then turn(ruparm,1, 24.693159, 39.648544) end - if (rightArm) then turn(ruparm,2, 0.0, 31.089853) end + if (rightArm) then turn(ruparm,2, 0.000000, 31.089853) end if (rightArm) then turn(ruparm,3, 12.399998, -7.153845) end turn(torso,1, -2.263907, 15.181924) - turn(torso,2, 0.0, 59.095757) - turn(torso,3, 0.0, 18.561539) + turn(torso,2, 0.000000, 59.095757) + turn(torso,3, 0.000000, 18.561539) end local boredTime = 0 function AmIBored() - if isMoving == false and isAiming == false and isBuilding == false and isDancing == false then + if bMoving == false and isAiming == false and isBuilding == false and isDancing == false then boredTime = boredTime + 1 end if boredTime > (600 * (1000/131)) and not isDancing then @@ -878,8 +878,8 @@ function ResumeBuilding() Show(nano) Sleep(800) if isBuilding and not isAiming then - Turn(aimy1, 2, buildHeading, rad(150.0)) - Turn(luparm, 1, rad(-55) - buildPitch, rad(45.0)) + Turn(aimy1, 2, buildHeading, rad(150.000000)) + Turn(luparm, 1, rad(-55) - buildPitch, rad(45.000000)) end return (0) end @@ -906,7 +906,7 @@ function script.Create() isAimingDgun = false isBuilding = false isDancing = false - isAiming = false + bAiming = false buildHeading = 0 buildPitch = 0 leftArm = true @@ -931,13 +931,13 @@ end function script.StartMoving() if isDancing then StartThread(StopDance1) end - isMoving = true + bMoving = true StartThread(walk) end function script.StopMoving() - Signal(SIGNAL_MOVE) - isMoving = false + Signal(SIG_WALK) + bMoving = false StartThread(StopWalking) end @@ -958,8 +958,8 @@ function script.AimWeapon(weapon, heading, pitch) return false else leftArm = false - SetSignalMask(SIGNAL_AIM1) - Signal(SIGNAL_AIM1) + SetSignalMask(SIG_AIM) + Signal(SIG_AIM) Turn(aimy1, 2, heading, rad(300.0000)) -- Turn(torso, y-axis, heading, math.rad(300)) Turn(rloarm, 1, rad(-55), rad(390.0000)) -- Turn(rloarm, x-axis, math.rad(-55), math.rad(390)) Turn(ruparm, 1, rad(-40)-pitch, rad(390.0000)) -- Turn(ruparm, x-axis, math.rad(-55) - pitch, math.rad(390)) @@ -983,8 +983,8 @@ function script.AimWeapon(weapon, heading, pitch) return false else leftArm = false - SetSignalMask(SIGNAL_AIM1) - Signal(SIGNAL_AIM1) + SetSignalMask(SIG_AIM) + Signal(SIG_AIM) Turn(aimy1, 2, heading, rad(300.0000)) -- Turn(torso, y-axis, heading, math.rad(300)) Turn(rloarm, 1, rad(-55), rad(390.0000)) -- Turn(rloarm, x-axis, math.rad(-55), math.rad(390)) @@ -1041,7 +1041,7 @@ end function script.StartBuilding(heading, pitch) Show(nano) - Signal(SIGNAL_AIM1) + Signal(SIG_AIM) isBuilding = true leftArm = false Turn(torso, 2, heading, rad(300.0000)) -- Turn(torso, y-axis, heading, math.rad(300)) @@ -1064,8 +1064,8 @@ function script.StopBuilding() leftArm = true isBuilding = false Spring.UnitScript.SetUnitValue(COB.INBUILDSTANCE, false) - Signal(SIGNAL_AIM1) - SetSignalMask(SIGNAL_AIM1) + Signal(SIG_AIM) + SetSignalMask(SIG_AIM) StartThread(Restore) Hide (armhexl_emit) Hide (armhexl2_emit) @@ -1074,13 +1074,13 @@ function script.StopBuilding() end function script.QueryNanoPiece() - local pieceIndex; - pieceIndex = nano; - return pieceIndex + local piecenum; + piecenum = nano; + return piecenum end function Restore() - SetSignalMask(SIGNAL_AIM1) + SetSignalMask(SIG_AIM) isAiming = false isAimingDgun = false Sleep(3000) @@ -1091,7 +1091,7 @@ function Restore() turn(ruparm, 1, 0, 95.0000) rightArm = true leftArm = true - -- for the AimWeapon1 script, to ensure wait-for-turn is called at least on the first aim + -- for the AimPrimary script, to ensure wait-for-turn is called at least on the first aim last_primary_heading = -1000000 end diff --git a/scripts/Units/armcomboss.bos b/scripts/Units/armcomboss.bos index 06548a91b1e..417ce2aa53f 100644 --- a/scripts/Units/armcomboss.bos +++ b/scripts/Units/armcomboss.bos @@ -1,5 +1,7 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" //INCREMENT THIS COUNTER FOR EVERY HOUR OF YOUR LIFE WASTED HERE: 20 @@ -8,17 +10,17 @@ piece head, torso, luparm, biggun, ruparm,rloarm,lflare, nano, laserflare, pelvi static-var isAiming, isAimingDgun, isBuilding, buildHeading, buildPitch, leftArm, rightArm,animSpeed; // Signal definitions -#define SIGNAL_AIM1 256 -#define SIGNAL_MOVE 1 +#define SIG_AIM 2 +#define SIG_WALK 4 // Generated for D:\spring\animation\armcom_anim_walk_v4.blend // Using https://github.com/Beherith/Skeletor_S3O // this animation uses the static-var animFramesPerKeyframe which contains how many frames each keyframe takes -static-var maxSpeed, animFramesPerKeyframe, isMoving; +static-var maxSpeed, animFramesPerKeyframe, bMoving; Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\animation\armcom_anim_walk_v4.blend // (c) CC BY NC ND Beherith mysterme@gmail.com - set-signal-mask SIGNAL_MOVE; - if (isMoving) { //Frame:4 + set-signal-mask SIG_WALK; + if (bMoving) { //Frame:4 if (leftArm) turn biggun to x-axis <-48.215180> speed <113.735764> / animSpeed; //delta=-3.79 turn head to x-axis <-2.620635> speed <39.654598> / animSpeed; //delta=1.32 turn head to y-axis <-3.829846> speed <114.895376> / animSpeed; //delta=-3.83 @@ -28,7 +30,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn lthigh to z-axis <10.085981> speed <605.673206> / animSpeed; //delta=-20.19 turn lthigh to y-axis <15.046731> speed <118.088344> / animSpeed; //delta=3.94 if (leftArm) turn luparm to x-axis <9.919362> speed <279.367450> / animSpeed; //delta=9.31 - if (leftArm) turn luparm to z-axis <-12.399998> speed <114.0> / animSpeed; //delta=-3.80 + if (leftArm) turn luparm to z-axis <-12.399998> speed <114.000041> / animSpeed; //delta=-3.80 if (leftArm) turn luparm to y-axis <0.965138> speed <187.380006> / animSpeed; //delta=-6.25 turn pelvis to z-axis <-1.666667> speed <49.999997> / animSpeed; //delta=1.67 turn pelvis to y-axis <-2.296296> speed <68.888891> / animSpeed; //delta=-2.30 @@ -45,8 +47,8 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn aimy1 to y-axis <7.879434> speed <236.383029> / animSpeed; //delta=7.88 sleep ((33*animSpeed) -1); } - while(isMoving) { - if (isMoving) { //Frame:8 + while(bMoving) { + if (bMoving) { //Frame:8 if (leftArm) turn biggun to x-axis <-46.675856> speed <46.179694> / animSpeed; //delta=-1.54 turn head to x-axis <-1.563179> speed <31.723679> / animSpeed; //delta=-1.06 turn head to y-axis <-6.127755> speed <68.937274> / animSpeed; //delta=-2.30 @@ -73,7 +75,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn aimy1 to y-axis <13.926961> speed <181.425790> / animSpeed; //delta=6.05 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:12 + if (bMoving) { //Frame:12 if (leftArm) turn biggun to x-axis <-46.110552> speed <16.959121> / animSpeed; //delta=-0.57 turn head to x-axis <0.023005> speed <47.585527> / animSpeed; //delta=-1.59 turn head to y-axis <-7.659692> speed <45.958102> / animSpeed; //delta=-1.53 @@ -84,9 +86,9 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn lthigh to y-axis <14.540810> speed <93.704134> / animSpeed; //delta=-3.12 if (leftArm) turn luparm to x-axis <20.474264> speed <98.952127> / animSpeed; //delta=-3.30 if (leftArm) turn luparm to y-axis <5.388938> speed <71.821661> / animSpeed; //delta=2.39 - move pelvis to y-axis [-2.0] speed [18.888888] / animSpeed; //delta=-0.63 - turn pelvis to z-axis <-5.0> speed <27.777769> / animSpeed; //delta=0.93 - turn pelvis to y-axis <-6.0> speed <24.444453> / animSpeed; //delta=-0.81 + move pelvis to y-axis [-2.000000] speed [18.888888] / animSpeed; //delta=-0.63 + turn pelvis to z-axis <-5.000000> speed <27.777769> / animSpeed; //delta=0.93 + turn pelvis to y-axis <-6.000000> speed <24.444453> / animSpeed; //delta=-0.81 turn rfoot to x-axis <-34.556331> speed <305.131751> / animSpeed; //delta=10.17 turn rleg to x-axis <32.187523> speed <882.363941> / animSpeed; //delta=-29.41 if (rightArm) turn rloarm to x-axis <-64.499997> speed <87.888552> / animSpeed; //delta=2.93 @@ -100,7 +102,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn aimy1 to y-axis <15.758869> speed <54.957239> / animSpeed; //delta=1.83 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:16 + if (bMoving) { //Frame:16 if (leftArm) turn biggun to x-axis <-47.068049> speed <28.724907> / animSpeed; //delta=0.96 turn head to x-axis <-0.505722> speed <15.861819> / animSpeed; //delta=0.53 turn head to y-axis <-6.127755> speed <45.958102> / animSpeed; //delta=1.53 @@ -128,7 +130,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn aimy1 to y-axis <13.926961> speed <54.957239> / animSpeed; //delta=-1.83 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:20 + if (bMoving) { //Frame:20 if (leftArm) turn biggun to x-axis <-49.335727> speed <68.030323> / animSpeed; //delta=2.27 turn head to x-axis <-2.091907> speed <47.585562> / animSpeed; //delta=1.59 turn head to y-axis <-3.829846> speed <68.937274> / animSpeed; //delta=2.30 @@ -139,7 +141,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn lthigh to y-axis <8.321622> speed <266.996423> / animSpeed; //delta=-8.90 if (leftArm) turn luparm to x-axis <15.615877> speed <102.946916> / animSpeed; //delta=3.43 if (leftArm) turn luparm to y-axis <5.076670> speed <9.368019> / animSpeed; //delta=-0.31 - turn pelvis to z-axis <-2.0> speed <58.888879> / animSpeed; //delta=-1.96 + turn pelvis to z-axis <-2.000000> speed <58.888879> / animSpeed; //delta=-1.96 turn pelvis to y-axis <-2.772487> speed <67.619039> / animSpeed; //delta=2.25 turn rfoot to x-axis <-39.119034> speed <357.682424> / animSpeed; //delta=11.92 turn rleg to x-axis <104.636879> speed <789.433742> / animSpeed; //delta=-26.31 @@ -156,10 +158,10 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn aimy1 to y-axis <7.879434> speed <181.425790> / animSpeed; //delta=-6.05 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:24 + if (bMoving) { //Frame:24 if (leftArm) turn biggun to x-axis <-52.006372> speed <80.119348> / animSpeed; //delta=2.67 turn head to x-axis <-3.149363> speed <31.723676> / animSpeed; //delta=1.06 - turn head to y-axis <0.0> speed <114.895376> / animSpeed; //delta=3.83 + turn head to y-axis <0.000000> speed <114.895376> / animSpeed; //delta=3.83 turn lfoot to x-axis <-23.280778> speed <357.540911> / animSpeed; //delta=11.92 turn lleg to x-axis <46.510843> speed <277.878733> / animSpeed; //delta=9.26 turn lthigh to x-axis <-23.415420> speed <612.523459> / animSpeed; //delta=-20.42 @@ -167,9 +169,9 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn lthigh to y-axis <1.272165> speed <211.483711> / animSpeed; //delta=-7.05 if (leftArm) turn luparm to x-axis <11.452920> speed <124.888703> / animSpeed; //delta=4.16 if (leftArm) turn luparm to y-axis <3.308728> speed <53.038265> / animSpeed; //delta=-1.77 - move pelvis to y-axis [-2.0] speed [25.555551] / animSpeed; //delta=0.85 - turn pelvis to z-axis <-0.0> speed <60.0> / animSpeed; //delta=-2.00 - turn pelvis to y-axis <0.0> speed <83.174607> / animSpeed; //delta=2.77 + move pelvis to y-axis [-2.000000] speed [25.555551] / animSpeed; //delta=0.85 + turn pelvis to z-axis <-0.000000> speed <60.000006> / animSpeed; //delta=-2.00 + turn pelvis to y-axis <0.000000> speed <83.174607> / animSpeed; //delta=2.77 turn rfoot to x-axis <-45.278120> speed <184.772566> / animSpeed; //delta=6.16 turn rleg to x-axis <90.786697> speed <415.505474> / animSpeed; //delta=13.85 turn rleg to z-axis <0.843235> speed <24.355743> / animSpeed; //delta=-0.81 @@ -181,11 +183,11 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani if (rightArm) turn ruparm to x-axis <16.947865> speed <91.311783> / animSpeed; //delta=-3.04 if (rightArm) turn ruparm to y-axis <0.900000> speed <45.888888> / animSpeed; //delta=-1.53 turn aimy1 to x-axis <-4.594870> speed <18.402335> / animSpeed; //delta=0.61 - turn aimy1 to z-axis <-0.0> speed <61.681404> / animSpeed; //delta=2.06 - turn aimy1 to y-axis <0.0> speed <236.383029> / animSpeed; //delta=-7.88 + turn aimy1 to z-axis <-0.000000> speed <61.681404> / animSpeed; //delta=2.06 + turn aimy1 to y-axis <0.000000> speed <236.383029> / animSpeed; //delta=-7.88 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:28 + if (bMoving) { //Frame:28 if (leftArm) turn biggun to x-axis <-53.142724> speed <34.090567> / animSpeed; //delta=1.14 turn head to x-axis <-2.620635> speed <15.861851> / animSpeed; //delta=-0.53 turn head to y-axis <3.829846> speed <114.895376> / animSpeed; //delta=3.83 @@ -214,7 +216,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn aimy1 to y-axis <-7.879434> speed <236.383029> / animSpeed; //delta=-7.88 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:32 + if (bMoving) { //Frame:32 if (leftArm) turn biggun to x-axis <-55.253092> speed <63.311038> / animSpeed; //delta=2.11 turn head to x-axis <-1.563179> speed <31.723670> / animSpeed; //delta=-1.06 turn head to y-axis <6.127755> speed <68.937274> / animSpeed; //delta=2.30 @@ -240,7 +242,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn aimy1 to y-axis <-13.926961> speed <181.425790> / animSpeed; //delta=-6.05 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:36 + if (bMoving) { //Frame:36 if (leftArm) turn biggun to x-axis <-56.389444> speed <34.090567> / animSpeed; //delta=1.14 turn head to x-axis <0.023005> speed <47.585536> / animSpeed; //delta=-1.59 turn head to y-axis <7.659692> speed <45.958102> / animSpeed; //delta=1.53 @@ -251,12 +253,12 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn lthigh to y-axis <5.332458> speed <15.498655> / animSpeed; //delta=-0.52 if (leftArm) turn luparm to x-axis <-3.274263> speed <167.758466> / animSpeed; //delta=5.59 if (leftArm) turn luparm to y-axis <-6.556594> speed <45.333998> / animSpeed; //delta=-1.51 - move pelvis to y-axis [-2.0] speed [25.555555] / animSpeed; //delta=-0.85 - turn pelvis to z-axis <5.0> speed <31.089813> / animSpeed; //delta=-1.04 - turn pelvis to y-axis <6.0> speed <29.200275> / animSpeed; //delta=0.97 + move pelvis to y-axis [-2.000000] speed [25.555555] / animSpeed; //delta=-0.85 + turn pelvis to z-axis <5.000000> speed <31.089813> / animSpeed; //delta=-1.04 + turn pelvis to y-axis <6.000000> speed <29.200275> / animSpeed; //delta=0.97 turn rfoot to x-axis <4.673420> speed <156.586261> / animSpeed; //delta=-5.22 turn rleg to x-axis <17.968366> speed <112.905793> / animSpeed; //delta=3.76 - if (rightArm) turn rloarm to x-axis <-38.0> speed <43.722158> / animSpeed; //delta=-1.46 + if (rightArm) turn rloarm to x-axis <-38.000000> speed <43.722158> / animSpeed; //delta=-1.46 turn rthigh to x-axis <-40.972853> speed <227.481055> / animSpeed; //delta=-7.58 turn rthigh to z-axis <-12.483621> speed <13.132763> / animSpeed; //delta=-0.44 turn rthigh to y-axis <-18.495587> speed <4.624260> / animSpeed; //delta=-0.15 @@ -267,7 +269,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn aimy1 to y-axis <-15.758869> speed <54.957239> / animSpeed; //delta=-1.83 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:40 + if (bMoving) { //Frame:40 if (leftArm) turn biggun to x-axis <-55.431951> speed <28.724805> / animSpeed; //delta=-0.96 turn head to x-axis <-0.505722> speed <15.861819> / animSpeed; //delta=0.53 turn head to y-axis <6.127755> speed <45.958102> / animSpeed; //delta=-1.53 @@ -296,7 +298,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn aimy1 to y-axis <-13.926961> speed <54.957239> / animSpeed; //delta=1.83 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:44 + if (bMoving) { //Frame:44 if (leftArm) turn biggun to x-axis <-53.164273> speed <68.030323> / animSpeed; //delta=-2.27 turn head to x-axis <-2.091907> speed <47.585562> / animSpeed; //delta=1.59 turn head to y-axis <3.829846> speed <68.937274> / animSpeed; //delta=-2.30 @@ -324,10 +326,10 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn aimy1 to y-axis <-7.879434> speed <181.425790> / animSpeed; //delta=6.05 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:48 + if (bMoving) { //Frame:48 if (leftArm) turn biggun to x-axis <-50.493628> speed <80.119348> / animSpeed; //delta=-2.67 turn head to x-axis <-3.149363> speed <31.723676> / animSpeed; //delta=1.06 - turn head to y-axis <0.0> speed <114.895376> / animSpeed; //delta=-3.83 + turn head to y-axis <0.000000> speed <114.895376> / animSpeed; //delta=-3.83 turn lfoot to x-axis <-44.880435> speed <188.924672> / animSpeed; //delta=6.30 turn lleg to x-axis <90.690391> speed <407.363547> / animSpeed; //delta=13.58 turn lleg to z-axis <-1.028354> speed <29.811568> / animSpeed; //delta=0.99 @@ -337,9 +339,9 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn lthigh to y-axis <9.180887> speed <243.372656> / animSpeed; //delta=8.11 if (leftArm) turn luparm to x-axis <2.662867> speed <125.339441> / animSpeed; //delta=-4.18 if (leftArm) turn luparm to y-axis <-1.793232> speed <71.050921> / animSpeed; //delta=2.37 - move pelvis to y-axis [-2.0] speed [25.555551] / animSpeed; //delta=0.85 - turn pelvis to z-axis <-0.0> speed <62.666668> / animSpeed; //delta=2.09 - turn pelvis to y-axis <0.0> speed <86.222221> / animSpeed; //delta=-2.87 + move pelvis to y-axis [-2.000000] speed [25.555551] / animSpeed; //delta=0.85 + turn pelvis to z-axis <-0.000000> speed <62.666668> / animSpeed; //delta=2.09 + turn pelvis to y-axis <0.000000> speed <86.222221> / animSpeed; //delta=-2.87 turn rfoot to x-axis <-23.519080> speed <364.135724> / animSpeed; //delta=12.14 turn rleg to x-axis <46.484300> speed <278.590678> / animSpeed; //delta=9.29 if (rightArm) turn rloarm to x-axis <-53.199999> speed <206.555576> / animSpeed; //delta=6.89 @@ -349,11 +351,11 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani if (rightArm) turn ruparm to x-axis <23.351554> speed <90.983396> / animSpeed; //delta=3.03 if (rightArm) turn ruparm to y-axis <0.479402> speed <36.051284> / animSpeed; //delta=1.20 turn aimy1 to x-axis <-4.594870> speed <18.402335> / animSpeed; //delta=0.61 - turn aimy1 to z-axis <-0.0> speed <64.422792> / animSpeed; //delta=-2.15 - turn aimy1 to y-axis <0.0> speed <236.383029> / animSpeed; //delta=7.88 + turn aimy1 to z-axis <-0.000000> speed <64.422792> / animSpeed; //delta=-2.15 + turn aimy1 to y-axis <0.000000> speed <236.383029> / animSpeed; //delta=7.88 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:52 + if (bMoving) { //Frame:52 if (leftArm) turn biggun to x-axis <-48.215180> speed <68.353460> / animSpeed; //delta=-2.28 turn head to x-axis <-2.620635> speed <15.861851> / animSpeed; //delta=-0.53 turn head to y-axis <-3.829846> speed <114.895376> / animSpeed; //delta=-3.83 @@ -384,39 +386,39 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani } } } -// Call this from StopMoving()! +// Call this from MotionControl()! StopWalking() { - move pelvis to y-axis [-1.0] speed [6.944444]/6; + move pelvis to y-axis [-1.000000] speed [6.944444]/6; if (leftArm) turn biggun to x-axis <-52.006372> speed <28.433941>/6; turn dish to y-axis <7.500000> speed <-4.326923>/6; turn head to x-axis <-1.298815> speed <11.896390>/6; - turn head to y-axis <0.0> speed <28.723844>/6; + turn head to y-axis <0.000000> speed <28.723844>/6; turn lfoot to x-axis <2.870126> speed <274.263975>/6; turn lleg to x-axis <22.425678> speed <349.693872>/6; - turn lleg to y-axis <0.0> speed <7.922289>/6; - turn lleg to z-axis <0.0> speed <7.923996>/6; + turn lleg to y-axis <0.000000> speed <7.922289>/6; + turn lleg to z-axis <0.000000> speed <7.923996>/6; turn lthigh to x-axis <-21.115098> speed <255.919901>/6; turn lthigh to y-axis <11.110453> speed <66.749106>/6; turn lthigh to z-axis <-10.103126> speed <151.418301>/6; if (leftArm) turn luparm to x-axis <19.231610> speed <69.841862>/6; if (leftArm) turn luparm to y-axis <7.211138> speed <46.845002>/6; if (leftArm) turn luparm to z-axis <-16.200000> speed <28.500010>/6; - turn pelvis to y-axis <0.0> speed <21.666665>/6; - turn pelvis to z-axis <0.0> speed <18.055557>/6; + turn pelvis to y-axis <0.000000> speed <21.666665>/6; + turn pelvis to z-axis <0.000000> speed <18.055557>/6; turn rfoot to x-axis <0.415283> speed <248.713120>/6; turn rleg to x-axis <25.768060> speed <346.011740>/6; - turn rleg to y-axis <0.0> speed <6.521982>/6; - turn rleg to z-axis <0.0> speed <6.524652>/6; + turn rleg to y-axis <0.000000> speed <6.521982>/6; + turn rleg to z-axis <0.000000> speed <6.524652>/6; if (rightArm) turn rloarm to x-axis <-53.199995> speed <51.638894>/6; turn rthigh to x-axis <-21.950628> speed <255.149679>/6; turn rthigh to y-axis <-11.905752> speed <66.515336>/6; turn rthigh to z-axis <9.396449> speed <151.125663>/6; if (rightArm) turn ruparm to x-axis <24.693159> speed <39.648544>/6; - if (rightArm) turn ruparm to y-axis <0.0> speed <31.089853>/6; + if (rightArm) turn ruparm to y-axis <0.000000> speed <31.089853>/6; if (rightArm) turn ruparm to z-axis <12.399998> speed <-7.153845>/6; turn aimy1 to x-axis <-2.263907> speed <15.181924>/6; - turn aimy1 to y-axis <0.0> speed <59.095757>/6; - turn aimy1 to z-axis <0.0> speed <18.561539>/6; + turn aimy1 to y-axis <0.000000> speed <59.095757>/6; + turn aimy1 to z-axis <0.000000> speed <18.561539>/6; } // REMEMBER TO animspeed = 4 in Create() !! UnitSpeed(){ @@ -433,16 +435,16 @@ UnitSpeed(){ sleep 131; } } -StartMoving(reversing){ - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; - isMoving=TRUE; +StartMoving(){ + signal SIG_WALK; + set-signal-mask SIG_WALK; + bMoving=TRUE; start-script Walk(); start-script UnitSpeed(); } StopMoving(){ - signal SIGNAL_MOVE; - isMoving = FALSE; + signal SIG_WALK; + bMoving = FALSE; call-script StopWalking(); } @@ -453,7 +455,7 @@ AmIBored() { //return isAiming == false and isBuilding == false and isMoving == false if (isAiming == 0){ if (isBuilding == 0 ){ - if (isMoving == 0){ + if (bMoving == 0){ return (1); } } @@ -476,13 +478,13 @@ Create(){ hide aimx1; hide aimy1; hide teleport; - //turn rloarm to x-axis <-15> speed <130.0> ; //-- Turn(rloarm, x-axis, math.rad(-15),math.rad(130)) + //turn rloarm to x-axis <-15> speed <130.0000> ; //-- Turn(rloarm, x-axis, math.rad(-15),math.rad(130)) turn lflare to x-axis <90> now; // Turn(lflare, x-axis,math.rad(90)) turn nano to x-axis <90> now; //Turn(nano, x-axis,math.rad(90)) turn laserflare to x-axis <90> now; // Turn(laserflare, x-axis,math.rad(90)) spin dish around y-axis speed <100>; //Spin(dish, y-axis, 2.5) animSpeed = 4; - isMoving = 0; + bMoving = 0; isAiming = 0; isBuilding = 0; isAimingDgun = 0; @@ -493,23 +495,23 @@ Create(){ call-script StopWalking(); } -QueryNanoPiece(pieceIndex) +QueryNanoPiece(piecenum) { - pieceIndex = nano; + piecenum = nano; return (0); } RestoreAfterDelay(){ - set-signal-mask SIGNAL_AIM1; + set-signal-mask SIG_AIM; sleep 1000; - turn torso to y-axis <0> speed <105.0> ; //-- Turn(torso, y-axis, 0, math.rad(305)) + turn torso to y-axis <0> speed <105.0000> ; //-- Turn(torso, y-axis, 0, math.rad(305)) - turn biggun to x-axis <-38> speed <95.0> ; //-- Turn(biggun, x-axis, math.rad(-38), math.rad(95)) - turn luparm to x-axis <0> speed <95.0> ; //-- Turn(luparm, x-axis, 0, math.rad(95)) - turn rloarm to x-axis <-38> speed <95.0> ; //-- Turn(rloarm, x-axis, math.rad(-38), math.rad(95)) - turn ruparm to x-axis <0> speed <95.0> ; //-- Turn(ruparm, x-axis, 0, math.rad(95)) + turn biggun to x-axis <-38> speed <95.0000> ; //-- Turn(biggun, x-axis, math.rad(-38), math.rad(95)) + turn luparm to x-axis <0> speed <95.0000> ; //-- Turn(luparm, x-axis, 0, math.rad(95)) + turn rloarm to x-axis <-38> speed <95.0000> ; //-- Turn(rloarm, x-axis, math.rad(-38), math.rad(95)) + turn ruparm to x-axis <0> speed <95.0000> ; //-- Turn(ruparm, x-axis, 0, math.rad(95)) isAiming = 0; isAimingDgun = 0; @@ -523,8 +525,8 @@ ResumeBuilding() sleep 800; if( isBuilding AND ( !isAiming ) ) { - turn torso to y-axis buildHeading speed <150.0>; - turn luparm to x-axis <-55.0> - buildPitch speed <45.0>; + turn torso to y-axis buildHeading speed <150.000000>; + turn luparm to x-axis <-55.000000> - buildPitch speed <45.000000>; } return (0); } @@ -534,21 +536,25 @@ ResumeBuilding() //--gun functions; //----------------------------------------------------------------------- - +SweetSpot(piecenum) +{ + piecenum = torso; + return (0); +} /////////// pew pew laser -QueryWeapon1(pieceIndex) //pew laser +QueryPrimary(piecenum) //pew laser { - pieceIndex = laserflare; + piecenum = laserflare; return (0); } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = ruparm; + piecenum = ruparm; return (0); } -AimWeapon1(heading, pitch) //pew pew +AimPrimary(heading, pitch) //pew pew { if (isAimingDgun){ return (0); @@ -556,11 +562,11 @@ AimWeapon1(heading, pitch) //pew pew rightarm = 0; //call-script FixArms(0, 1); - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; - turn torso to y-axis heading speed <300.0> ; //-- Turn(torso, y-axis, heading, math.rad(300)) - turn rloarm to x-axis <-55> speed <390.0> ; //-- Turn(rloarm, x-axis, math.rad(-55), math.rad(390)) - turn ruparm to x-axis <-40> - pitch speed <390.0> ; //-- Turn(ruparm, x-axis, math.rad(-45) - pitch, math.rad(390)) + signal SIG_AIM; + set-signal-mask SIG_AIM; + turn torso to y-axis heading speed <300.0000> ; //-- Turn(torso, y-axis, heading, math.rad(300)) + turn rloarm to x-axis <-55> speed <390.0000> ; //-- Turn(rloarm, x-axis, math.rad(-55), math.rad(390)) + turn ruparm to x-axis <-40> - pitch speed <390.0000> ; //-- Turn(ruparm, x-axis, math.rad(-45) - pitch, math.rad(390)) wait-for-turn torso around y-axis; //wait-for-turn rloarm around x-axis; //wait-for-turn ruparm around x-axis; @@ -573,7 +579,7 @@ AimWeapon1(heading, pitch) //pew pew return (1); } -FireWeapon1() +FirePrimary() { sleep 100; return (0); @@ -581,19 +587,19 @@ FireWeapon1() /////////// uw weapon -QueryWeapon2(pieceIndex) //uw weapon +QuerySecondary(piecenum) //uw weapon { - pieceIndex = laserflare; + piecenum = laserflare; return (0); } -AimFromWeapon2(pieceIndex) +AimFromSecondary(piecenum) { - pieceIndex = laserflare; + piecenum = laserflare; return (0); } -AimWeapon2(heading, pitch) +AimSecondary(heading, pitch) { if( get PIECE_Y(head) > 0 ) { @@ -608,11 +614,11 @@ AimWeapon2(heading, pitch) } rightarm = 0; //call-script FixArms(0, 1); - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; - turn torso to y-axis heading speed <300.0> ; //-- Turn(torso, y-axis, heading, math.rad(300)) - turn rloarm to x-axis <-55> speed <390.0> ; //-- Turn(rloarm, x-axis, math.rad(-55), math.rad(390)) - turn ruparm to x-axis <-40> - pitch speed <390.0> ; //-- Turn(ruparm, x-axis, math.rad(-45) - pitch, math.rad(390)) + signal SIG_AIM; + set-signal-mask SIG_AIM; + turn torso to y-axis heading speed <300.0000> ; //-- Turn(torso, y-axis, heading, math.rad(300)) + turn rloarm to x-axis <-55> speed <390.0000> ; //-- Turn(rloarm, x-axis, math.rad(-55), math.rad(390)) + turn ruparm to x-axis <-40> - pitch speed <390.0000> ; //-- Turn(ruparm, x-axis, math.rad(-45) - pitch, math.rad(390)) wait-for-turn torso around y-axis; //wait-for-turn rloarm around x-axis; //wait-for-turn ruparm around x-axis; @@ -625,7 +631,7 @@ AimWeapon2(heading, pitch) return (1); } -FireWeapon2() +FireSecondary() { sleep 100; return (0); @@ -634,19 +640,19 @@ FireWeapon2() ////////// DGUN -QueryWeapon3(pieceIndex) //dgun +QueryTertiary(piecenum) //dgun { - pieceIndex = lflare; + piecenum = lflare; return (0); } -AimFromWeapon3(pieceIndex) +AimFromTertiary(piecenum) { - pieceIndex = biggun; + piecenum = biggun; return (0); } -FireWeapon3() +FireTertiary() { //emit-sfx 1024 + 0 from lflare; isAimingDgun = 0; @@ -662,24 +668,24 @@ FireWeapon3() return (0); } -AimWeapon3(heading, pitch) +AimTertiary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; isAimingDgun = 1; isAiming = 1; leftArm = 0; //call-script FixArms(1, 0); - turn torso to y-axis heading speed <360.0> ; //-- Turn(torso, y-axis, heading, math.rad(300)) - turn biggun to x-axis <-85> speed <390.0> ; //-- Turn(biggun, x-axis, math.rad(-85), math.rad(390)) - turn luparm to x-axis <5> - pitch speed <390.0> ; //-- Turn(luparm, x-axis, math.rad(-5) - pitch, math.rad(390)) + turn torso to y-axis heading speed <360.0000> ; //-- Turn(torso, y-axis, heading, math.rad(300)) + turn biggun to x-axis <-85> speed <390.0000> ; //-- Turn(biggun, x-axis, math.rad(-85), math.rad(390)) + turn luparm to x-axis <5> - pitch speed <390.0000> ; //-- Turn(luparm, x-axis, math.rad(-5) - pitch, math.rad(390)) wait-for-turn torso around y-axis; //wait-for-turn biggun around x-axis; return (1); } SprayNano(heading, pitch){ - set-signal-mask SIGNAL_AIM1; + set-signal-mask SIG_AIM; sleep 1000; while (1){ @@ -693,14 +699,14 @@ SprayNano(heading, pitch){ StartBuilding(heading, pitch) { - signal SIGNAL_AIM1; - //set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + //set-signal-mask SIG_AIM; isBuilding = 1; - //turn torso to x-axis <0> speed <395.0> ; //-- Turn(torso, x-axis, 0, math.rad(395)) - //turn pelvis to x-axis <0> speed <395.0> ; //-- Turn(pelvis, x-axis, 0, math.rad(395)) - turn torso to y-axis heading speed <30.0> ; //-- Turn(torso, y-axis, heading, math.rad(300)) - turn rloarm to x-axis <-55> speed <39.0> ; //-- Turn(rloarm, x-axis, math.rad(-55), math.rad(390)) - turn ruparm to x-axis <-55> -pitch speed <39.0> ; //-- Turn(ruparm, x-axis, math.rad(-55) - pitch, math.rad(390)) + //turn torso to x-axis <0> speed <395.0000> ; //-- Turn(torso, x-axis, 0, math.rad(395)) + //turn pelvis to x-axis <0> speed <395.0000> ; //-- Turn(pelvis, x-axis, 0, math.rad(395)) + turn torso to y-axis heading speed <30.0000> ; //-- Turn(torso, y-axis, heading, math.rad(300)) + turn rloarm to x-axis <-55> speed <39.0000> ; //-- Turn(rloarm, x-axis, math.rad(-55), math.rad(390)) + turn ruparm to x-axis <-55> -pitch speed <39.0000> ; //-- Turn(ruparm, x-axis, math.rad(-55) - pitch, math.rad(390)) wait-for-turn ruparm around x-axis; set INBUILDSTANCE to 1; @@ -710,12 +716,24 @@ StartBuilding(heading, pitch) return (0); } + + + +TargetCleared(Func_Var_1) +{ + signal SIG_AIM; + set-signal-mask SIG_AIM; + call-script RestoreAfterDelay(); + return (0); +} + + StopBuilding() { isBuilding = 0; set INBUILDSTANCE to 0; - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; call-script RestoreAfterDelay(); return (0); } diff --git a/scripts/Units/armcomboss.cob b/scripts/Units/armcomboss.cob index 6074c3a17f62e464bf19b7836af003c10eb6337e..46932f7be6150cbbefa09375c73efbaf6f65ad0b 100644 GIT binary patch delta 1009 zcmZwFUr1AN6bJD0yRM~_wkhPFJ0!EvFiP=3a$DP6+x#;t-6AB2UEDsp zN8IJh)`Oy$e_7?UaWUU7$dl`{1jWmCpAg360Ey{3^oC^2FKsrV<8-?xO*RneFrdT^ zdzO&-h+P(P{FJ>@ND{^MRhdGJbFT9cKep*~QmJI%2}ce`onG;cpEwIMFz4cXCF19< zK~czx+rw}7920(Sa24@@%fJCwDxY!bB-O|tYVvr*mHNNRb8*F8Ay(hH=DA;xY|}G8 z{!9v5mWt%3;B$!rdc!V0UL6s+JXI5qJ$#Fb$t!n~`WIRDcaGz%bl|QJ4lJHi-o~p%>0W zVsp&GZ&>Rk%7T0-f*oG!CM$w{a2Q%42EA|^hTsM~fH8OnpWr))dZKj5hOJNzcJP1~ z8ledS&;ntI!BOage&G5dqCo@~VHj?}2;75*@D#@26`!n&b^AJ1HR|h#M5!UBYF+!a zP`jdakt5XZ)*|i8(uL3+($s}GS>jWhBjMn(q7@5ENuqEmOP2c816nk+tkkdm%M%YT sCKzTh_H}4V*Ip$YAzxI{qE)d_TQC%EA-|%vs8MH|s%UDEZ+ox)1y{uQX#fBK delta 856 zcmZwFUr19?90%~B8rn-?`^}?>TVp``i3> zj;%%_Y6mmiY9gvbUwWcJqF2xtBI?C>8ayq$ya|EqL zX8bMk$lvn6KrTNK=;xg?PqYW+jXT*U^Fv8)l0Cyp>D7thmu!{`Zi{$=T{~l)!A_Y8 z_GN!I5*bZI`yl}tScccI4j+-9Dt*`1%Dh0D-3`ed=QjkD3cw@#L`zHv9VNg+)9J-L?E3^R1GU-AfAp@>Z*us kdt_@^US^|z5gS!S?As!3 //how 'heavy' the unit is, on a scale of 1-10 #define UNITSIZE 2 #define MAXTILT 100 -#include "../unit_hitbyweaponid_and_smoke.h" +#include "unit_hitbyweaponid_and_smoke.h" -#define TB_BASE base -#define TB_TURNRATE <20.0> -#define TB_TILT_X <0.15> -#define TB_BANK_Z <0.15> // Do not define this if you dont want banking -#include "../tilt_bank_mobileunit.h" +Go() +{ + if( TRUE ) + { + turn larm2 to y-axis <45> speed <180>; + turn rarm2 to y-axis <-45> speed <180>; + turn larm3 to y-axis <90> speed <360>; + turn rarm3 to y-axis <-90> speed <360>; + + sleep 60; + turn larm1 to x-axis <-90> speed <360>; + turn rarm1 to x-axis <-90> speed <360>; + turn lturret to x-axis <-90> - Static_Var_2 speed <360>; + turn rturret to x-axis <-90> + Static_Var_2 speed <360>; + sleep 100; + turn larm2 to y-axis <0> speed <180>; + turn rarm2 to y-axis <0> speed <180>; + sleep 150; + } + set INBUILDSTANCE to 1; + return (0); +} -Create() +Stop() { - hide rnano; - hide lnano; - buildHeading = 0; - nano=0; - readyToBuild = FALSE; - call-script TB_Init(); + set INBUILDSTANCE to 0; + if( TRUE ) + { + + turn larm1 to x-axis <0> speed <360>; + turn rarm1 to x-axis <0> speed <360>; + turn lturret to x-axis <0> speed <360>; + turn rturret to x-axis <0> speed <360>; + + turn larm2 to y-axis <45> speed <180>; + turn rarm2 to y-axis <-45> speed <180>; + sleep 250; + turn larm2 to y-axis <0> speed <180>; + turn rarm2 to y-axis <0> speed <180>; + turn larm3 to y-axis <0> speed <360>; + turn rarm3 to y-axis <0> speed <360>; + sleep 60; + } + return (0); } -StartMoving(reversing) +InitState() { - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; - START_TILTBANK; + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; + return (0); } -StopMoving() +RequestState(requestedstate, currentstate) { - signal SIGNAL_MOVE; - STOP_TILTBANK; + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + call-script Go(); + currentstate = 0; + } + if( statechg_DesiredState == 1 ) + { + call-script Stop(); + currentstate = 1; + } + } + statechg_StateChanging = FALSE; + return (0); } +Create() +{ + hide rnano; + hide lnano; + unitviewer = FALSE; + Static_Var_2 = 0; + nano=0; + call-script InitState(); + return (0); +} -QueryNanoPiece(pieceIndex) + +QueryNanoPiece(piecenum) { - pieceIndex = lnano + nano; + if (nano==1){ + + piecenum = rnano; + } + else + { + piecenum = lnano; + } nano = !nano; + return (0); } -StartBuilding(heading) +SweetSpot(piecenum) { - signal SIGNAL_BUILD; - set-signal-mask SIGNAL_BUILD; - buildHeading = heading; - - if (!readyToBuild){ - turn larm2 to y-axis <45> speed <180>; - turn rarm2 to y-axis <-45> speed <180>; - turn larm3 to y-axis <90> speed <360>; - turn rarm3 to y-axis <-90> speed <360>; - wait-for-turn larm3 around y-axis; - - turn larm1 to x-axis <-90> speed <360>; - turn rarm1 to x-axis <-90> speed <360>; - wait-for-turn larm1 around x-axis; + piecenum = base; + return (0); +} - turn larm2 to y-axis <0> speed <180>; - turn rarm2 to y-axis <0> speed <180>; - wait-for-turn larm2 around x-axis; - readyToBuild = TRUE; - } - - turn lturret to x-axis <-90> - buildHeading speed <360>; - turn rturret to x-axis <-90> + buildHeading speed <360>; - wait-for-turn lturret around x-axis; +Activate() +{ + start-script RequestState(0); + return (0); +} - set INBUILDSTANCE to 1; +Deactivate() +{ + start-script RequestState(1); + return (0); +} +StartBuilding(Func_Var_1) +{ show rnano; show lnano; + Static_Var_2 = Func_Var_1; + start-script RequestState(0); + return (0); } StopBuilding() { - signal SIGNAL_BUILD; - set-signal-mask SIGNAL_BUILD; hide rnano; hide lnano; + start-script RequestState(1); + return (0); +} - sleep 6000; - - set INBUILDSTANCE to 0; - readyToBuild = FALSE; - - turn larm1 to x-axis <0> speed <360>; - turn rarm1 to x-axis <0> speed <360>; - turn lturret to x-axis <0> speed <360>; - turn rturret to x-axis <0> speed <360>; - wait-for-turn larm2 around x-axis; - - turn larm2 to y-axis <45> speed <180>; - turn rarm2 to y-axis <-45> speed <180>; - wait-for-turn larm1 around x-axis; - - turn larm2 to y-axis <0> speed <180>; - turn rarm2 to y-axis <0> speed <180>; - turn larm3 to y-axis <0> speed <360>; - turn rarm3 to y-axis <0> speed <360>; - wait-for-turn larm3 around y-axis; +TargetHeading(Func_Var_1) +{ + Static_Var_2 = 0 - Func_Var_1; + return (0); } Killed(severity, corpsetype) @@ -123,8 +172,17 @@ Killed(severity, corpsetype) corpsetype = 1 ; explode base type BITMAPONLY | NOHEATCLOUD; explode ltracks type BITMAPONLY | NOHEATCLOUD; + //explode larm1 type BITMAPONLY | NOHEATCLOUD; + //explode larm2 type BITMAPONLY | NOHEATCLOUD; explode larm3 type BITMAPONLY | NOHEATCLOUD; explode lturret type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lnano type BITMAPONLY | NOHEATCLOUD; + //explode rtracks type BITMAPONLY | NOHEATCLOUD; + //explode rarm1 type BITMAPONLY | NOHEATCLOUD; + //explode rarm2 type BITMAPONLY | NOHEATCLOUD; + //explode rarm3 type BITMAPONLY | NOHEATCLOUD; + //explode rturret type BITMAPONLY | NOHEATCLOUD; + //explode rnano type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } if( severity <= 50 ) @@ -132,8 +190,17 @@ Killed(severity, corpsetype) corpsetype = 2 ; explode base type BITMAPONLY | NOHEATCLOUD; explode ltracks type FALL | NOHEATCLOUD; + //explode larm1 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode larm2 type FALL | NOHEATCLOUD; explode larm3 type FIRE | SMOKE | FALL | NOHEATCLOUD; explode lturret type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lnano type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rtracks type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rarm1 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rarm2 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rarm3 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rturret type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rnano type FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) @@ -141,9 +208,17 @@ Killed(severity, corpsetype) corpsetype = 3 ; explode base type FIRE | SMOKE | FALL | NOHEATCLOUD; explode ltracks type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode larm1 type SMOKE | FALL | NOHEATCLOUD; explode larm2 type FIRE | SMOKE | FALL | NOHEATCLOUD; explode larm3 type FIRE | SMOKE | FALL | NOHEATCLOUD; explode lturret type SMOKE | FALL | NOHEATCLOUD; + //explode lnano type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rtracks type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rarm1 type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode rarm2 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rarm3 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rturret type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rnano type SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; @@ -153,5 +228,12 @@ Killed(severity, corpsetype) explode larm2 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode larm3 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode lturret type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode lnano type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rtracks type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rarm1 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rarm2 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rarm3 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode rturret type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode rnano type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/armconsul.cob b/scripts/Units/armconsul.cob index 5e963b14dcad03ec46a68ba0d5aae88362949fcf..6d6b062a8eb18263f2bb299dc190d05291098d5f 100644 GIT binary patch literal 3876 zcmb_fJ8WD<6un-rHzxds&S~IDG(kdWF`o*7F-S=i1ST6qMdXM56s^43HP6pPDG&~A zS`?)~e54d<($N47U7&)3l7a$JP`R*Bgd)s2GjrDCWuM3ktabLz-2c6EXI5^TnFAgK z&di#1K>4Y__!8Iyp2Yt6L-@*CE=9}X59}Gx^+>t5?yR$=S=Z{e99$apNU29^ZqC_i z$1Ox2S+>%F^gxgPtQ+(m$5Jumll$kN3chC`mn~yUmpNGG%QNLk8_MaPHljYSf7l+_ zQ_tYp>nCe2l?!Q`48&E8y7+Z^@<+;^u;28>8ric?LB?^iw(l`Ts)e#;GGgy8Vo6@^ zc{Ag@+TE6$BM<)7dv3?R;~9OF@Ys9mq_GysK;Ntzd^68+4i5R@k19IzYf(N!#ocf= zw$yQ-M1E_6e=hPtO#Mh_kg*=24834~ZemHEpC9y(8L&?BsAel+roM?hh8y?7bwZ!P zW8RzzQtBMkfiuB}vNR6Y)ME}A7Tn+dFwnmq10Qq9Gp9}}YyGmnPuY<~w!0s6?z|N2 zeE!i+vi7&ZZa%Sl0c)MZq@JJe8Xvmz%qz8H@0hP;;T|028lPG{7xeB6YF^KuL!1ru z!;5SBAz9jwt7JwWI?IsPykjoj24~H+VqEi|-xlKNJu1shO4@?T)dYEX-DkOFE0tJKkCPvL|WInyb5+G4D8(TII&C3f<+W_B-{`(m#J%`_mehp5wU6w@!n@ESq I&`SUPH`p&a>Hq)$ literal 3732 zcmb`K&ud&&6vuBSlWFUZ^16~PN(T{KC^E($xU%iog{4-a4HVos&&+EWGMNdl6KSE) z79zNiE?tO7{{_2prz_EwAnxNrG0T7pU8wQzV<;^}G&9u|3}IP(#6x)gEn+$MUjzEH*Jv05ITd8>)(D~8YxX5V8&$9>`t z*X}p`M|WQz9QmTVr7i16TG7S7+pMplQ}xKPf<6?RV$dgNul+d*@yYqHxQSs0K+K1n z=|{+_p13Y+=*(G8cOT!6t6sBNGE_ZRdgryF7R>B!ls7qRPRW5SF|(peEZ9KhXbM#9-vwiEe{gzvi8Ta=u-QaAAT zBObQj&5P`nGkLVMMep5&N38H*fmuk-Ud!}u)oXi4v7vto1MwZ;{U%d<`u+1dxPPA| zazX|k|Dj#o8=DEu3OMczIKMl<{O-OY|4L0{heD<)EpB3?w<0H4*NfE z2^=wL4A$3Z1AoNqbDce_ee?;=bD83L)q7@DO89u~_`#Te-P_xrd`+j;_<_` zxT4LQHJjekx=pX4)uL0?f>?Sui!*dA+Ja^M?*)732d%o67CRzhVnyH2X>X8QecG)m z)&%Qwg|1;Xs_%&HZ&!Pt5$t$A?uQwn2Auh3m|RiJo=k1TK6p;EWVoN= zllKmFqE|MDnlI)T?38zJ!S18mMwZsZ^kPkHubOziUUzI+y=04b+{*$I3$x4m&uQ6I z4ry&%*7#YoCKf7slbJl5&tWFEBaBiE&5HgEBZq;ukXll(J9e$BEB7GMCV0siIzq0iF%@| zqM@i1T^HRJeJr{wdUG)8-ndfa8{^T1etHV$^YwhS=wDtRuN7gr`~HQ|U=o%G!$~(E zt%WzrBA*oD@+2=Om&P9sMyuM7H{$l4&7!>Vc0L*}4T_bB>TV8(eaB4?7YD;((GMTw v*NRY1%6w(*S{VA8m+LQvp`MHOd?}R1;kjsgaVDE(Sxlr8*O9!2(w_eU!~!no diff --git a/scripts/Units/armcroc.bos b/scripts/Units/armcroc.bos index d74d2ccfb61..214bea26784 100644 --- a/scripts/Units/armcroc.bos +++ b/scripts/Units/armcroc.bos @@ -1,41 +1,69 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, turret, barrel, flare, sleeve, head, tail, lid, turretmis, misbox, misflare; -static-var restore_delay, gun_2, corrected; +static-var restore_delay, Static_Var_2, bMoving, gun_2, corrected; // Signal definitions -#define SIGNAL_MOVE 1 -#define SIGNAL_AIM1 256 -#define SIGNAL_AIM2 512 +#define SIG_AIM 2 +#define SIG_AIM2 4 + + + +RockUnit(anglex, anglez) +{ + turn base to x-axis anglex speed <50.000000>; + turn base to z-axis <0> - anglez speed <50.000000>; + wait-for-turn base around z-axis; + wait-for-turn base around x-axis; + turn base to z-axis <0.000000> speed <20.000000>; + turn base to x-axis <0.000000> speed <20.000000>; + return (0); +} + #define BASEPIECE base -#define HITSPEED <50.0> +#define HITSPEED <55.0> //how 'heavy' the unit is, on a scale of 1-10 #define UNITSIZE 5 #define MAXTILT 100 -#define RECOIL_POWER 20000 -#include "../unit_hitbyweaponid_and_smoke.h" +#include "unit_hitbyweaponid_and_smoke.h" -#define TB_BASE base -#define TB_TURNRATE <15.0> -#define TB_TILT_X <0.12> -#define TB_BANK_Z <0.12> // Do not define this if you dont want banking -#include "../tilt_bank_mobileunit.h" +EmitSFX() +{ + while( TRUE ) + { + if( bMoving ) + { + if( Static_Var_2 == 3 )//does ... anything ever trip this? + { + emit-sfx 259 from base; + } + } + sleep 250; + } +} Create() { hide flare; hide misflare; + //turn turretmis to x-axis <-25> now; +// turn aturret to y-axis <-180> speed <500>; + + Static_Var_2 = 4; + bMoving = FALSE; restore_delay = 3000; - call-script TB_Init(); + start-script EmitSFX(); } -SetMaxReloadTime(reloadMS) +SetMaxReloadTime(Func_Var_1) { - restore_delay = reloadMS * 2; + restore_delay = Func_Var_1 * 2; } static-var Stunned; @@ -44,15 +72,15 @@ ExecuteRestoreAfterDelay() if (Stunned) { return (1); } - turn turret to y-axis <0> speed <60>; - turn sleeve to x-axis <0> speed <30>; - move barrel to z-axis [-4] speed [12]; + turn turret to y-axis <0.000000> speed <60.000000>; + turn sleeve to x-axis <0.000000> speed <30.000000>; + move barrel to z-axis [-4.000000] speed [12.000000]; move turret to y-axis [0] speed [8]; - turn lid to x-axis <0> speed <80>; + turn lid to x-axis <0.000000> speed <80>; turn turretmis to y-axis <0> speed <180>; turn misbox to x-axis <0> speed <180>; sleep 1500; - move turretmis to y-axis [0] speed [5]; + move turretmis to y-axis [0.000000] speed [5.000000]; wait-for-turn lid around x-axis; wait-for-move turretmis along y-axis; wait-for-turn misbox around x-axis; @@ -71,57 +99,54 @@ RestoreAfterDelay() start-script ExecuteRestoreAfterDelay(); } -StartMoving(reversing) +StartMoving() { - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; - START_TILTBANK; + bMoving = TRUE; } StopMoving() { - signal SIGNAL_MOVE; - STOP_TILTBANK; + bMoving = FALSE; } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; move turret to y-axis [6] speed [20]; wait-for-move turret along y-axis; - turn turret to y-axis heading speed <90>; - move barrel to z-axis [0] speed [8]; - turn sleeve to x-axis <0> - pitch speed <45>; + turn turret to y-axis heading speed <90.000000>; + move barrel to z-axis [0.000000] speed [8.000000]; + turn sleeve to x-axis <0.000000> - pitch speed <45.000000>; wait-for-turn turret around y-axis; wait-for-turn sleeve around x-axis; start-script RestoreAfterDelay(); return (1); } -FireWeapon1() +FirePrimary() { emit-sfx 1024 + 0 from flare; - move barrel to z-axis [-2.400000] speed [500]; + move barrel to z-axis [-2.400000] speed [500.000000]; wait-for-move barrel along z-axis; - move barrel to z-axis [0] speed [3]; + move barrel to z-axis [0.000000] speed [3.000000]; } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = flare; + piecenum = flare; } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = turret; + piecenum = turret; } -AimWeapon2(heading, pitch) +AimSecondary(heading, pitch) { - signal SIGNAL_AIM2; - set-signal-mask SIGNAL_AIM2; - turn lid to x-axis <-179> speed <200>; + signal SIG_AIM2; + set-signal-mask SIG_AIM2; + turn lid to x-axis <-179.000000> speed <200.000000>; corrected = heading; @@ -131,7 +156,7 @@ AimWeapon2(heading, pitch) if (heading > <-45> AND heading < 0) { corrected = <-45>; } - turn turretmis to y-axis corrected speed <180>; + turn turretmis to y-axis corrected speed <180.000000>; turn misbox to x-axis -1*pitch speed <180>; @@ -144,24 +169,32 @@ AimWeapon2(heading, pitch) return (1); } -FireWeapon2() +FireSecondary() { + ++gun_2; + if (gun_2 == 4) gun_2 = 1; + return (0); } -AimFromWeapon2(pieceIndex) +AimFromSecondary(piecenum) { - pieceIndex = turretmis; + piecenum = turretmis; + return (0); } -QueryWeapon2(pieceIndex) +QuerySecondary(piecenum) { - pieceIndex = misflare; + piecenum = misflare; + return (0); } - +SweetSpot(piecenum) +{ + piecenum = base; +} Killed(severity, corpsetype) { @@ -170,6 +203,10 @@ Killed(severity, corpsetype) corpsetype = 1 ; explode base type BITMAPONLY | NOHEATCLOUD; explode turret type BITMAPONLY | NOHEATCLOUD; + //explode sleeve type BITMAPONLY | NOHEATCLOUD; + //explode barrel type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare type BITMAPONLY | NOHEATCLOUD; + //explode tail type BITMAPONLY | NOHEATCLOUD; explode head type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } @@ -178,7 +215,10 @@ Killed(severity, corpsetype) corpsetype = 2 ; explode base type BITMAPONLY | NOHEATCLOUD; explode turret type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode sleeve type FIRE | SMOKE | FALL | NOHEATCLOUD; explode barrel type FALL | NOHEATCLOUD; + //explode flare type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode tail type FIRE | SMOKE | FALL | NOHEATCLOUD; explode head type FALL | NOHEATCLOUD; return(corpsetype); } @@ -187,7 +227,10 @@ Killed(severity, corpsetype) corpsetype = 3 ; explode base type FIRE | SMOKE | FALL | NOHEATCLOUD; explode turret type SMOKE | FALL | NOHEATCLOUD; + //explode sleeve type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; explode barrel type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode tail type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode head type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } @@ -196,6 +239,8 @@ Killed(severity, corpsetype) explode turret type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode sleeve type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode barrel type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode flare type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode tail type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode head type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; return corpsetype; } \ No newline at end of file diff --git a/scripts/Units/armcroc.cob b/scripts/Units/armcroc.cob index 7833ec5b4f5f24271fe4f50878a9d80b1d837be0..90e29de584e05afc200ec6d7336bc53a73b5011b 100644 GIT binary patch literal 4181 zcmbtXO=w(I6h1RaraxMJ{$kxYQt+p!3PlS-ilxa&DWXn=i~1C7 z3%x4$@In%+JpZUZr$n2M^6YJ}7^R#NJb zN;DJ6axFUPd1TQ){h1#9Nu$tPz|zhzpWNU3;IIy6%d<_FF_iP94drxC8>1T6e{6^L z)Z3}H=69NUIM>dYbp9kgnh$J!&AG2ofSUd2s?W9roXRL!bBE*P4s#xE@^YRK6ulX52QH#F! z{A!7R!Sg|MPQn?qdvhCQs0VBG3zj^;MILI%2u5=)=IVE^$K$LX5@8N$hY#cCT#!;{ zm`6?bBeRNgcqa82!$B-GbHAVQd&;S&^R`&TL7DO>^!4EWZ`z`!g4+D)?a0!*xGaSa z(1Tva{xATrL`Rnab z+5RAwvg`n4{LtaEC+%&wayQ@y^kweb3pPu;z9a*F%0S3Tv*mmNS$Fb&T*{T`TTT!P~5met7x%$jmXP zFgB5?z(;vD5hu>FH%Z@)MsZ&T=LT}dX76cPZay?G-veFy9yBf$xqQ>#-WJr>=7jZP zx!7Ck+n)YeSH8g^kGlF@(JSWeAtYUMR!S z${Q!!DgG7u_wgUaAkZ)8A&h@7G18sovzuHjZf%awc{jB%JEMEGFV|#T-Z$#oYH*|W z*5`5dlV-#Ez84$QHTr*R$h`5hNZtj00{FY`5Ry3pJO;c4Tm(J%f6qMeYFZ2Ob6*z%1|@;DGbMJHRF2GVmGjCGaiqGjIj?1K0xa zO(utc+kwMC9e4nE6gUPv0XzlF0WShe>B`xcyGbt3CHcvXS6tjnyVC5WXI+{5d`sp! zN#2})Ri4RQoI7c{d?8+6a_uy3ok}`R=GNWHTJDzIYMy3p_Dt@wXI(qqpk^~)>vmmB z#t8E`%NNpfN%wVW=4sC_XOqrimUQB5L*|pr+4`k5mu=VvI`dgN(8IRrR?=?EjD|a} zIb^7x;kJ3+A;w;s%L_@njW|!ot4{K@EOR;5AZXFg?F0)| P>?ErKoKDwC3iW>hc#}`H literal 4259 zcmai%L2Oi26ozkyVTy?IG-5E3IO@X05HoazD``c9kQ!{OEL_kBec+_inP&P*N?6cD zSdb7yVl;}zU`&kB6+7a>mAG~3MiUY?#D!tO0u!|U-@W&|zImC_Nlxy)=lthC=bn4+ zote6G?pev>lB-*s+oq9E=Sk;&kvzZCxxHE+*65nGq%0#zEqMxXv!1xwMzTXwbaUvA zH4^4^=CU&%XWrWCu`g*_mrfzQ4<>hP-3ER{s(LG6T+;AZV72JS2!;_o7}myVd6aVo zTN4KU`+yH@NouX2E8F03Nyuj+;!&}$GS0_{dzy?mbjC@XD=&u}Emz{Z))rqA@2?zO z)A>DEZusB}lz27{_g(h~$A0m>s43$mjc^d(IIE*;g)=g&pqpaL82s6@)qY$?VzRb+ zRrgE|cLBs&uxHN0CE-lWm(jIG{GRTpK`r-c&4$@jiYpcYNoO&@kVg?C z;f6)7==UJnM*!XnJ?9QIl7~@WE9uP_zA@Q-9dr)he~oz5cGr(G*Phu&LsR^wN;+zS z4i%WKr8OLOHsujKDN)-`HDSGnb$nB-f7mH8?LOmEj&Hqb=M0|st{Lv3?=kfrIPMrY zyNkf=EjS|Lvd!PeiXU9?haL$0cQ43MeN9gH)|8ukm_N86@Q@tvC60~k$9gk)Me`UF zyX^(M$IXU!>%11k_+k5C&VQ-7{aMC02Ws=RbFuu<``Sd#s})Y-6Qjy$HT1P;g?)gV zC0OjCJ&_BQKmS=(h`C0k?0IkMi;0|2yQc1!p9Gtq#=ap>*2M5wz zZpQc;e0*@-$Z;PW8vXwb+?>CHWisy5S ze)L9>yKHl})09Ll1I<(eY{`ZAX%t<;#hl4nuN>!IIv zQ23tXuA_?WNj8~!fh0>AgwzI-e|_rjeGvG0#CUi;$TfjhuH{Cf~N z_=OhmQdDx4CcFhr#S$0qLHYZwYA2tK?AA~Iz^v{h66@ajIPB@?RlSF*h21^tBl_Iu ztvrZJKGc%$0>c#hXz30thI{avoD4gRqjsD3cL;}gjpKIY0Bam@a__lITevw-UPy+FJp|0d&WD>hqykT^#)4K?F{hW=$!C{XCpft z<$6B{cQe%bb#1|7<4+E(uY*ZOi*vJe)y_Ksx8+`ryO>m zo5jNIHOURhEy<_|cS}B(d?&dfS(EG((QZjgGAa2;@}=Zk$&ZrlO85!MF3BDV|4rYQ zoRrK!h(`A4EIa!*TMlH4&EH+l`Z4)^PMAaeUV$rI#!4<@ zgQziAVi +//how 'heavy' the unit is, on a scale of 1-10 +#define UNITSIZE 5 +#define MAXTILT 200 -#include "../bar_ships_common.h" +#include "unit_hitbyweaponid_and_smoke.h" + +SetDirection(heading) +{ + var spd; + spd = (get ABS(oldHead) - get ABS(heading)) / 2; + turn ground to y-axis heading speed spd; + turn base to y-axis 0-heading speed spd; + oldHead = heading; +} + +RockOnWaves() +{ + var rockDir, rockAng, rockSpeed; + rockDir = <-0.1>; + rockAng = <-0.1>; + while( TRUE ) + { + while( get ABS(rockAng) < <1.31> ) + { + rockSpeed = <1.45> - get ABS(rockAng); + turn ground to x-axis rockAng speed rockSpeed*4; + wait-for-turn ground around x-axis; + rockAng = rockAng + rockDir; + } + rockDir = 0 - rockDir; + rockAng = rockAng + rockDir + rockDir; + } +} + +ProjXPW(Func_Var_1, Func_Var_2) +{ + if( Func_Var_2 < -21840 ) + { + Static_Var_7 = Func_Var_1 * ( Func_Var_2 + 32760 ) / 10920; + } + else if( Func_Var_2 > 21840 ) + { + Static_Var_7 = Func_Var_1 * ( 32760 - Func_Var_2 ) / 10920; + } + else if( Func_Var_2 < -10920 ) + { + Static_Var_7 = 0 - Func_Var_1; + } + else if( Func_Var_2 > 10920 ) + { + Static_Var_7 = Func_Var_1; + } + else + { + Static_Var_7 = Func_Var_1 * Func_Var_2 / 10920; + } +} + +RockZ(Func_Var_1, Func_Var_2) +{ + signal 16; + set-signal-mask 16; + call-script ProjXPW(10920 / Func_Var_2,Func_Var_1); + Static_Var_8 = Static_Var_8 + Static_Var_7; + Static_Var_7 = get ABS(Static_Var_8); + while( Static_Var_7 > 91 ) + { + turn base to z-axis Static_Var_8 speed Static_Var_7 * <0.016484>; + wait-for-turn base around z-axis; + Static_Var_8 = Static_Var_8 * -1 / 2; + Static_Var_7 = get ABS(Static_Var_8); + } + turn base to z-axis <0.000000> speed <1.5>; +} -// -------------------------------- END WARSHIP -------------------- Create() { @@ -31,21 +99,24 @@ Create() hide flare1; hide aftflare; hide foreflare; - //hide ground; + hide ground; hide flare1; hide flare2; hide foreflare; hide aftflare; - gun_1 = 0; - gun_2 = 0; - start-script InitRockBoat(); - SLEEP_UNTIL_UNITFINISHED; - start-script BoatPhysics(); + gun_1 = base; + gun_2 = base; + restore_delay = 3000; + while( get BUILD_PERCENT_LEFT ) + { + sleep 500; + } + start-script RockOnWaves(); } -SetMaxReloadTime(reloadMS) +SetMaxReloadTime(Func_Var_1) { - restore_delay = reloadMS * 2; + restore_delay = Func_Var_1 * 2; } static-var Stunned; @@ -55,8 +126,9 @@ ExecuteRestoreAfterDelay() return (1); } set-signal-mask 0; - turn turret to y-axis <0.0> speed <55.0>; - turn sleeve to x-axis <0.0> speed <15.0>; + turn turret to y-axis <0.000000> speed <55.000000>; + turn barrel1 to x-axis <0.000000> speed <15.000000>; + turn barrel2 to x-axis <0.000000> speed <15.000000>; } SetStunned(State) { @@ -75,30 +147,59 @@ RestoreDeckLaser() { sleep 3000; set-signal-mask 0; - turn foreturret to y-axis <0.0> speed <150.0>; - turn foregun to x-axis <0.0> speed <100.0>; - turn aftturret to y-axis <0.0> speed <150.0>; - turn aftgun to x-axis <0.0> speed <100.0>; + turn foreturret to y-axis <0.000000> speed <150.000000>; + turn foregun to x-axis <0.000000> speed <100.000000>; + turn aftturret to y-axis <0.000000> speed <150.000000>; + turn aftgun to x-axis <0.000000> speed <100.000000>; } +waveSplash() +{ + while( TRUE ) + { + turn base to x-axis <-3.0> speed <3.0>; + move base to y-axis [0.32] speed [0.25]; + wait-for-turn base around x-axis; + turn base to x-axis <0.0> speed <3.0>; + move base to y-axis [0.0] speed [0.25]; + wait-for-turn base around x-axis; + } +} -StartMoving(reversing) +StartMoving() { - RB_bounce_frame = RAND(0, <180>); + signal SIG_MOVE; + set-signal-mask SIG_MOVE; + var waketime; + start-script waveSplash(); + var bowtime; + bowtime = 0; + while( TRUE ) + { + emit-sfx 1024 + 1 from wake; + if (bowtime) emit-sfx 1024 + 2 from bow; + bowtime = !bowtime; + waketime = (get CURRENT_SPEED) * 100 / get MAX_SPEED; + if( waketime < 50 ) waketime = 50; + sleep 10000 / waketime; + } } StopMoving() { + signal SIG_MOVE; + turn base to x-axis <0.0> speed <3.0>; + move base to y-axis [0.0] speed [0.25]; } -AimWeapon2(heading, pitch) +AimSecondary(heading, pitch) { - signal SIGNAL_AIM2; - set-signal-mask SIGNAL_AIM2; + signal SIG_AIM_2; + set-signal-mask SIG_AIM_2; if( gun_2 ) { - turn aftturret to y-axis heading speed <300.0>; - turn aftgun to x-axis <0.0> - pitch speed <200.0>; + turn aftturret to y-axis heading speed <300.000000>; + turn aftgun to x-axis <0.000000> - pitch speed <200.000000>; wait-for-turn aftturret around y-axis; wait-for-turn aftgun around x-axis; start-script RestoreDeckLaser(); @@ -106,8 +207,8 @@ AimWeapon2(heading, pitch) } else { - turn foreturret to y-axis heading speed <300.0>; - turn foregun to x-axis <0.0> - pitch speed <200.0>; + turn foreturret to y-axis heading speed <300.000000>; + turn foregun to x-axis <0.000000> - pitch speed <200.000000>; wait-for-turn foreturret around y-axis; wait-for-turn foregun around x-axis; start-script RestoreDeckLaser(); @@ -115,134 +216,213 @@ AimWeapon2(heading, pitch) } } -FireWeapon2() +FireSecondary() { + if( gun_2 ) + { + show aftflare; + sleep 150; + hide aftflare; + } + else + { + show foreflare; + sleep 150; + hide foreflare; + } gun_2 = !gun_2; } -AimFromWeapon2(pieceIndex) +AimFromSecondary(piecenum) { - pieceIndex = foregun + gun_2; + if( gun_2 ) + { + piecenum = aftgun; + } + else + { + piecenum = foregun; + } } -QueryWeapon2(pieceIndex) +QuerySecondary(piecenum) { - pieceIndex = foreflare + gun_2; + if( gun_2 ) + { + piecenum = aftflare; + } + else + { + piecenum = foreflare; + } } -AimWeapon3(heading, pitch) +AimTertiary(heading, pitch) { - aimDir3 = heading; return (1); } -FireWeapon3() +FireTertiary() { sleep 150; - - //call-script RecoilRockBoat(aimDir3, RB_RECOIL_ENERGY_3); - RB_RECOILBOAT(aimDir3, RB_RECOIL_ENERGY_3); } -AimFromWeapon3(pieceIndex) +AimFromTertiary(piecenum) { - pieceIndex = base; + piecenum = base; } -QueryWeapon3(pieceIndex) +QueryTertiary(piecenum) { - pieceIndex = base; + piecenum = base; } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; - aimDir = heading; - - turn turret to y-axis heading speed <110.0>; - turn sleeve to x-axis RB_AIMPITCHCORRECTION(heading) - pitch speed <30.0>; - + signal SIG_AIM; + set-signal-mask SIG_AIM; + turn turret to y-axis heading speed <110.000000>; + turn sleeve to x-axis <0.000000> - pitch speed <90.000000>; wait-for-turn turret around y-axis; - + wait-for-turn sleeve around x-axis; + aimDir = heading; start-script RestoreAfterDelay(); return (1); } -FireWeapon1() +FirePrimary() { - //start-script RockZ(-7, aimDir); + start-script RockZ(-7, aimDir); if( gun_1 ==0) { emit-sfx 1024 + 0 from flare1; move barrel1 to z-axis [-2.300000] now; - move barrel1 to z-axis [0.0] speed [1.500000]; + move barrel1 to z-axis [0.000000] speed [1.500000]; } else if (gun_1==1) { emit-sfx 1024 + 0 from flare2; move barrel2 to z-axis [-2.300000] now; - move barrel2 to z-axis [0.0] speed [1.500000]; + move barrel2 to z-axis [0.000000] speed [1.500000]; }else { emit-sfx 1024 + 0 from flare3; move barrel3 to z-axis [-2.300000] now; - move barrel3 to z-axis [0.0] speed [1.500000]; + move barrel3 to z-axis [0.000000] speed [1.500000]; + } + gun_1=gun_1+1; + if (gun_1>2){ + gun_1=0; } - gun_1= ( gun_1 + 1 ) % 3; - - sleep 65 - 32 * RB_FRAMES; - //call-script RecoilRockBoat(aimDir, RB_RECOIL_ENERGY_1); - RB_RECOILBOAT(aimDir, RB_RECOIL_ENERGY_1); } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = turret; + piecenum = turret; } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = flare1 + gun_1; + if( gun_1 ==0) + { + piecenum = flare1; + } + else if( gun_1 ==1) + { + piecenum = flare2; + } + else + { + piecenum = flare3; + } } +SweetSpot(piecenum) +{ + piecenum = base; +} Killed(severity, corpsetype) { - if( severity <= 25 ) { corpsetype = 1 ; + explode ground type BITMAPONLY | NOHEATCLOUD; explode base type BITMAPONLY | NOHEATCLOUD; explode turret type BITMAPONLY | NOHEATCLOUD; explode sleeve type BITMAPONLY | NOHEATCLOUD; explode barrel1 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare1 type BITMAPONLY | NOHEATCLOUD; + //explode barrel3 type BITMAPONLY | NOHEATCLOUD; + //explode flare3 type BITMAPONLY | NOHEATCLOUD; + //explode barrel2 type BITMAPONLY | NOHEATCLOUD; + //explode flare2 type BITMAPONLY | NOHEATCLOUD; + //explode foreturret type BITMAPONLY | NOHEATCLOUD; + //explode foregun type BITMAPONLY | NOHEATCLOUD; + //explode foreflare type BITMAPONLY | NOHEATCLOUD; + //explode aftturret type BITMAPONLY | NOHEATCLOUD; + //explode aftgun type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode aftflare type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } if( severity <= 50 ) { corpsetype = 2 ; + explode ground type FIRE | SMOKE | FALL | NOHEATCLOUD; explode base type BITMAPONLY | NOHEATCLOUD; explode turret type FIRE | SMOKE | FALL | NOHEATCLOUD; explode sleeve type FALL | NOHEATCLOUD; explode barrel1 type FALL | NOHEATCLOUD; + //explode flare1 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode barrel3 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare3 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode barrel2 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare2 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode foreturret type FALL | NOHEATCLOUD; + //explode foregun type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode foreflare type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode aftturret type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode aftgun type FALL | NOHEATCLOUD; + //explode aftflare type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) { corpsetype = 3 ; + explode ground type FIRE | SMOKE | FALL | NOHEATCLOUD; explode base type BITMAPONLY | NOHEATCLOUD; explode turret type SMOKE | FALL | NOHEATCLOUD; explode sleeve type FIRE | SMOKE | FALL | NOHEATCLOUD; explode barrel1 type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode flare1 type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; explode barrel3 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare3 type SMOKE | FALL | NOHEATCLOUD; + //explode barrel2 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare2 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode foreturret type SMOKE | FALL | NOHEATCLOUD; + //explode foregun type SMOKE | FALL | NOHEATCLOUD; + //explode foreflare type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode aftturret type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode aftgun type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode aftflare type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; + explode ground type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode base type BITMAPONLY | NOHEATCLOUD; explode turret type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode sleeve type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode barrel1 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode flare1 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode barrel3 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare3 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode barrel2 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare2 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode foreturret type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode foregun type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode foreflare type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode aftturret type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode aftgun type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode aftflare type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/armcrus.cob b/scripts/Units/armcrus.cob index daa70db01b06d79efcdc0070adf93d6168c77c7a..9194d74e6e306d4e51b0048f18031d97f987ac41 100644 GIT binary patch literal 6685 zcmbVQU5Hgx6yEdWXr*-wD>aHsJqY5%^@s4GNNxNH(?+j0R#bDHIb+wk-aDK*qt1gg z27*s!1V$JY5+s(O6p=6ey<`wbfjvd!V^C7mgHbwt-`Z=PyXQD}oS7@Dz4!Y4*4k_D zv!{0F+=HOIK_AU>?lz44{dBK$JMMGtJJ2$$7c9ho3awE{tr7l#-GZ@CN4RjV*cQ1p zZBc8nHEP3>dK{_8(M7W&*V7TvC3$4It`5u^dKbwndcB7+r5<_alk3%YdfzSNt1V+w zMm)se3QqhRPTE*Z+EA^zZNr{=4xTyCm(4k)zhg+u{N`g$Br`jX%$;?mJ#%4g-on6j zJJ*GFsU@d|nX+|cXpIs~$tw%5MSOAEUTlqKtBh-_GpCt<-H$^7k9DR_7;gm`+}on} zPplb^2pI8?Dz?9GsJw-WfB1cHYdWGgmEW4IOsKeJ9JllVc)M?~_eZkLq*Wws1#y$c$<91-=n)>REhJm=xof#XmnhZeS{DwN$UO_eti0M|q|=9f7&%iZFK^(9Y04dT4peALewKg%68w0gTjN5tv{m)=PIpBKSR4n-K#UoIn&EFIjQA6anjE49YutxluPwOG;3G$_;+>^k+ z7$JA=!yGPpI-;!_hhgX^^EvA0iJ=W_ZusK3*m{ghGlbAAW@A>cH ze$Cn5dKo^=LvXV`sLMn;)MuUT9e|m0n%nz($K$8H<+gC+co|ZaAN}R+=1yWaFR+uT z)>v?({+G1=59#>xb({;-S%ae2A=x5BAsxibM1i ztMtmC?+2Nqe)8=_%`HEB^U#jpIpSlj1Sj&m2Zu@4Yy`Zom_&A;LH?)4ZB;qXW+q23 zggzgDjOT>@`Z!0QbG}*m_MYc5JQMOJjC^0sQ#|C+H+AVFLcg1hyvf;HsLPdG)MX~M zXFSHW^J_IkDCe}^GDp36E@X~cbu0EwmjkTmnXnIw$9z6?mDRD}-&fh5p=xHsw?>2C zA$-~rqwFDifptim#17BSWU=iWF`n6Q-r!FhJIwzuFt{#%FB9Jh0xe>ndi1Ua&ZDZs zqo3CyFY|}q;@!jA=JzAhLCsHU-mH=J3+wT&@`>O0lleKT`us+iKK-0mKCu};@5lPX z_9M(IuWRdOzHTMASaNS`FUow>-vg_*0w-z@xN_IXdB>D~|9iYq%Y5(2{XrY-x!G`T zeDldYk?$(*7}kV8`VMpd2X6@Ok?HYo1nwhwrq9uJ`7^%|2}s^d1a}ZhF6)&aUmtVl zob*7}2cs=sm-bOZ#=Tk#`!I&b_gBT1bGy+5mW(w?fW84;0$l?=gM?lLje?GX z`2WfaprxSIp!J|_pl3lZf%-uQK*vERL1#gqgT4h_2K@s19rQ0~E-ujfK}$fZK%JoN zpcgkaExhO4 z6G>c7V`^_HAKV^S>*c;3m3^^We=zPHPUG$IP+Cvowf$+FbjH>42sKOTaIF^ixtoQ` z>5O{^o+=N;i93LhrNL@>=w(+*%SpPWzQ0o2gL!>Wr)w+wN^x(!)>lqO+y)?StRUKu z)C2Lh;W!x?C*Kh#X~itFg&JmSvCCGFb|sa4W@U3VvZdJAqI4ie+Jp7fZLU@w}wVcGub-BVXSLkx3U#@gR)i~ZCyM7c^%{kpOToabKaOM6~WtdTf U!Atfe_2F6{syYz6-Sq?Rf7oLoSO5S3 literal 6065 zcmb`LO^B6M7{||iI98UueOXz?wS`Iv-I26%tY|T38VTE~-W3LRuu$st8)N3M_;SgbbAF|2yw_-h1Ztjt$a{$8*l}@qa$f zbIy6EPUqZw(OsfNvz)s_BfoR^I=A#b=iU)5)%s_RZAp8Ath3ynNOj7(E36NOag9b- z>P)an7B_Vb!<9P|aApU6)LGwBSl=40-G;8jl@x=hQ@F(7&N?3xQ+UK-ymsb6-$w7h zGmB?|mv<(v+~M(v#r1V0?TW+l>km5EUD)5|T+-olx-=;a>B7IVUrMFSPSD<`jm_D zjf38`NDn@G79((A_2IZrF(&GZawbQQUNk)PN&rN9$PLfOq&4HA0$ozHFCjEF&6Z%1`P8NpBLm3=e}m@!}6fsV6Y#S7cp5~Y(MDlSP%PH4>@%sHH*n@ zo|Vw|`;;5l^c1p(IT)%tb30??jXc)7`kWZ55qg8Vn|#eqWtdM06Mj4Uc*!LcA-28z z&Gfd}?>ns%t-f++-20Pb_D5B!#Y`}|UtX-0w&v^j@7CvJ=k6X_4 z7Dm1d(`swEo9%S9LQY+$=;;hmQ_G#BVBad){%8Kz$Upw(NNjuOHZ*1Mzy=E)mvs3z zi)maVt0TJ9@KDGr_Uq@0i#$=Y{J@E0sz$Xlzs=aX{C?plxAWZ??vYUciGb0DqV7lh z(eG~tetX1^0IwXHlM#ZvMsp`E8u;i$1T^F%=;|(vO5QN#Dd@4e|T>$hP-?Y3-;*x*r2*F zU((3Z$>Ry}f3$sSjQ;Ed9}m1ZRmNM*4~(LnKTAPYwDYwLGVEt<2sV{Fn^g zcuu|S+&Sv9E6ABEC+gwrti5}=Bg0wsWAofO?L!=E`B>8z{o!k=yBR%;Tf3UuFmLj^ z{P&AI`*^*r;^oYZP2)SR?~Qz0t?_3z%$xkyzVrOmJMjc-$TEcuQHEJ}MT6jrOhN?-}l@8@!)4i)HTy{);_o_jeu-`>bBH z^>p%Fhvu+eWv*Ve`-pwwodD~}^;3HlRZo)fJ&eu~@yyoz7f0$v9rEuY{yysCj?ccW zsrgJX@^7;U!@lMHx2tf$B2NGJO?21Mvz7z*6E)^Xyk1{*Bu?XbVR(z5R#ALj6i4rw z<!3Y}zjUO!tG<+evBgTC*hfQSG1%=qu7 z;P?077khFn;sQq;hHLVJ!H@a1^^N=vVH5n$QS*T7^>5(!?cm4!S{&wA&!DdlIB}f5 zH-(QK`On1H2k5HS=F8UR%fA7Vn=g|WeF3vjbXGwBh}H|>sOT%vInl48KSftW3k0@A z^tgz(_jS=>(Q(oHqHjgti+&Q7v{xrYr$nEM_&qS+7tBwBJ(2nJ`O2hHbhF2%XszYP0KOL%7M{?1sYGe7trnIuF zHoAJ)t*Gp*Y)gj+cGh;J?)iFJX{2r-ZLF*8?N3K)mEpna&eXlIHys*pr2XkwqgGFs zZEd9W73oN20?mQO_~>XlEH6c2;H*f8cC4+8rFA#ZsMH(lYP+kW+cdB33e#oPomn_N zZe_Ke+Fb0F^;$04IG)x+*gY;c>5WW!VK+^BU1Z{A8FF`I(mmCrJ2vTdYpNq7%4~~* zca8CSJ#DzLku=?%ilx;^cNlxZ*z2~ARO)GWHuPkJn5tPYXS!{C)K#`N0!K3#2)r?( OY_g}K9obUb +//how 'heavy' the unit is, on a scale of 1-10 +#define UNITSIZE 3 +#define MAXTILT 200 +HitByWeapon(anglex, anglez, damage) // angle[x|z] is always [-500;500], damage is multiplied by 100 +{ + var amount;//, speedz, speedx; + amount = damage / (100 * UNITSIZE); + if (amount < 3 ) return (0); + if (amount > MAXTILT) amount = MAXTILT; + //get PRINT(anglex, anglez, amount, damage); + //speedz = HITSPEED * get ABS(anglez) / 500; //nevermind this, the random error this produces actually looks better than the accurate version + turn BASEPIECE to z-axis (anglez * amount) / 100 speed HITSPEED; + turn BASEPIECE to x-axis <0> - (anglex * amount) /100 speed HITSPEED; + wait-for-turn BASEPIECE around z-axis; + wait-for-turn BASEPIECE around x-axis; + turn BASEPIECE to z-axis <0.000000> speed HITSPEED / 4; + turn BASEPIECE to x-axis <0.000000> speed HITSPEED / 4; +} +HitByWeaponId(anglex, anglez, weaponid, dmg) //weaponID is always 0,lasers and flamers give angles of 0 +{ + start-script HitByWeapon(dmg, anglez,anglex); //I dont know why param order must be switched, and this also runs a frame later :( + return (100); //return damage percent +} + + +activatescr() +{ + move doorlf to z-axis [7] speed [10]; + move doorrf to z-axis [7] speed [10]; + move doorrb to z-axis [-7] speed [10]; + move doorlb to z-axis [-7] speed [10]; + sleep 700; + + +} + +deactivatescr() +{ + set INBUILDSTANCE to 0; + + turn turret to y-axis <0> speed <270>; + sleep 300; + move doorlf to z-axis [0] speed [10]; + move doorrf to z-axis [0] speed [10]; + move doorrb to z-axis [0] speed [10]; + move doorlb to z-axis [0] speed [10]; + sleep 700; +} -#include "../bar_ships_common.h" +SetDirection(heading) +{ + var spd; + spd = (get ABS(oldHead) - get ABS(heading)) / 2; + turn ground to y-axis heading speed spd; + turn base to y-axis 0-heading speed spd; + oldHead = heading; +} + +RockOnWaves() +{ + var rockDir, rockAng, rockSpeed; + rockDir = <-0.1>; + rockAng = <-0.1>; + while( TRUE ) + { + while( get ABS(rockAng) < <1.31> ) + { + rockSpeed = <1.45> - get ABS(rockAng); + turn ground to x-axis rockAng speed rockSpeed*4; + wait-for-turn ground around x-axis; + rockAng = rockAng + rockDir; + } + rockDir = 0 - rockDir; + rockAng = rockAng + rockDir + rockDir; + } +} +SmokeUnit(healthpercent, sleeptime, smoketype) +{ + while( get BUILD_PERCENT_LEFT ) + { + sleep 500; + } + start-script RockOnWaves(); + while( TRUE ) + { + healthpercent = get HEALTH; + if( healthpercent < 66 ) + { + smoketype = 258; + if( Rand( 1, 66 ) < healthpercent ) + { + smoketype = 257; + } + emit-sfx smoketype from base; + } + sleeptime = healthpercent * 50; + if( sleeptime < 200 ) + { + sleeptime = 200; + } + sleep sleeptime; + } +} +waveSplash() +{ + while( TRUE ) + { + turn base to x-axis <-3.0> speed <3.0>; + move base to y-axis [0.23] speed [0.23]; + wait-for-turn base around x-axis; + turn base to x-axis <0.0> speed <3.0>; + move base to y-axis [0.0] speed [0.23]; + wait-for-turn base around x-axis; + } +} -StartMoving(reversing) +StartMoving() { - RB_bounce_frame = RAND(0, <180>); + signal SIG_MOVE; + set-signal-mask SIG_MOVE; + var waketime; + start-script waveSplash(); + while( TRUE ) + { + emit-sfx 1024 + 0 from wake1; + //emit-sfx 1024 + 1 from wake2; + waketime = (get CURRENT_SPEED) * 100 / get MAX_SPEED; + if( waketime < 50 ) waketime = 50; + sleep 10000 / waketime; + } } StopMoving() { + signal SIG_MOVE; + turn base to x-axis <0.0> speed <3.0>; + move base to y-axis [0.0] speed [0.23]; } +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState ) + { + call-script deactivatescr(); + notBuilding = 1; + currentstate = 1; + } + else + { + call-script activatescr(); + notBuilding = 0; + currentstate = 0; + } + } + statechg_StateChanging = FALSE; +} Create() { @@ -40,56 +191,60 @@ Create() hide wake1; hide nano; hide ground; - start-script InitRockBoat(); - SLEEP_UNTIL_UNITFINISHED; - start-script BoatPhysics(); + notBuilding = 1; + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; + start-script SmokeUnit(); } - -StartBuilding(heading, pitch) +Activate() { - signal SIGNAL_BUILD; - set-signal-mask SIGNAL_BUILD; + start-script RequestState(0); +} - move doorlf to z-axis [7] speed [10]; - move doorrf to z-axis [7] speed [10]; - move doorrb to z-axis [-7] speed [10]; - move doorlb to z-axis [-7] speed [10]; - wait-for-move doorlf along z-axis; +Deactivate() +{ + start-script RequestState(1); +} +StartBuilding(heading, pitch) +{ show nano; - - turn turret to y-axis heading speed <160.0>; + start-script RequestState(0); + while( notBuilding ) sleep 100; + signal SIG_BUILD; + turn turret to y-axis heading speed <160.000000>; wait-for-turn turret around y-axis; set INBUILDSTANCE to 1; } StopBuilding() { - signal SIGNAL_BUILD; - set-signal-mask SIGNAL_BUILD; - hide nano; - + signal SIG_BUILD; + set-signal-mask SIG_BUILD; sleep 6000; + set-signal-mask 0; + signal SIG_BUILD; + start-script RequestState(1); +} - set INBUILDSTANCE to 1; - - turn turret to y-axis <0> speed <160>; - wait-for-turn turret around y-axis; - - move doorlf to z-axis [0] speed [10]; - move doorrf to z-axis [0] speed [10]; - move doorrb to z-axis [0] speed [10]; - move doorlb to z-axis [0] speed [10]; - wait-for-move doorlf along z-axis; +QueryNanoPiece(piecenum) +{ + piecenum = nano; } -QueryNanoPiece(pieceIndex) +/* +TargetHeading(Func_Var_1) { - pieceIndex = nano; + Static_Var_1 = 0 - Func_Var_1; } +*/ +SweetSpot(piecenum) +{ + piecenum = base; +} Killed(severity, corpsetype) { @@ -98,8 +253,12 @@ Killed(severity, corpsetype) corpsetype = 1 ; explode ground type BITMAPONLY | NOHEATCLOUD; explode base type BITMAPONLY | NOHEATCLOUD; + //explode doorlb type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode doorrf type BITMAPONLY | NOHEATCLOUD; explode turret type BITMAPONLY | NOHEATCLOUD; explode nano type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode doorrb type BITMAPONLY | NOHEATCLOUD; + //explode doorlf type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } if( severity <= 50 ) @@ -107,9 +266,12 @@ Killed(severity, corpsetype) corpsetype = 2 ; explode ground type FALL | NOHEATCLOUD; explode base type BITMAPONLY | NOHEATCLOUD; + //explode doorlb type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode doorrf type FIRE | SMOKE | FALL | NOHEATCLOUD; explode turret type FIRE | SMOKE | FALL | NOHEATCLOUD; explode nano type FIRE | SMOKE | FALL | NOHEATCLOUD; explode doorrb type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode doorlf type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) @@ -118,17 +280,21 @@ Killed(severity, corpsetype) explode ground type FIRE | SMOKE | FALL | NOHEATCLOUD; explode base type BITMAPONLY | NOHEATCLOUD; explode doorlb type SMOKE | FALL | NOHEATCLOUD; + //explode doorrf type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; explode turret type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode nano type FIRE | SMOKE | FALL | NOHEATCLOUD; explode doorrb type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode doorlf type SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; explode ground type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode base type BITMAPONLY | NOHEATCLOUD; explode doorlb type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode doorrf type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode turret type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode nano type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode doorrb type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode doorlf type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/armcs.cob b/scripts/Units/armcs.cob index 9296651b6814e9f72770f8bd046d13506c72aace..33b97f2e9b6e2d2b8d40953540a9b7e778ecad09 100644 GIT binary patch literal 4588 zcmc&&KZqP<6o0q3w|AzH2^P^JFsP6w#d?(}NIX*{9L7u5m?n|i+nvPaHoJSXvlr6n zfvAm;RuP00f`t}#7D7@51r@Of2qM~8SOkj@Od;#<_rCAVeA(OK?zVA`x9|Jj|M$N4 zy&0}5B2NGg0UpkaRDt?B?_Su;Sc0F;I_vwAyS`@yTCFmkat zsYAZf0<3ZE(k=8UFR-k7!J12pg;?tczviRNf0>-wBW6v)dUI`g5?kIX8$lM2)tTo( zeHX_epYtMeKo($GJ$Uj?#__1XoA+=`J;q$dBi(r4a8aKtYT)Bo0J*5klJf803TYD6 zDC6ahbCKJzI6*7T!SSZ&;CRz>aJ;>8u(Mze??I&sZ1u)A&n?ffUez2a%k!Eh6Us{L z`i61X{joDPOqQUhaavj@>jSf6erStw6c2T)^+#i#>@nK8Hy)39&r~H>yuW9# z;NJ2xzUhTnd@b&g=ugEgUy#X{K?5`4Ws@bVR4%39s%qL5`*TV34zeb?(T7t^B*_2qBZW2Qqp%cS!h z>cxyQA3E24JRf_zHrFXbJH(cM)60-#^Gx~ZzwbQnX#_&Qzx_KN3(j0+@k81lFBF(_ zgFMwoKZJ5-Lun;8lviSdXLZxZqjG-cX^jSM4(ocy&vcxr^&{idn2-~PDEE93E2c5@ z7wf!)C22=V!+CSv<{Gu;dezfyc5u7vTzu{S@v-u(cuth1jp$gRqwi1Ohj;hLZI=4c zAN_{+g577ecowy=_&K*I8tQOOS@INPPnodqxHnzeR=(Ghb=TkL;m3HKYo~Znam{_J zU>W)$%l77nXW#HTM0_kx`ZgWXL!CMpp&WCtz1C!1qQ|HN%(ExfIRLEl-{%qfuzFD3 zY*~FcNBDl_V?4W4N(7(Zfs=7imNe>5diANjmp@47j6!_#z@ z4cvXXy;YpQ#KpG(XLj_)D zAe3?a=H`ml0rn^DX}*xv+N` z5I@W%e|JsPqQ$^{EpGZ+06kKRgZSD{jqF`fc6K}q=4hDy*+Zo5=j{Klx-!1W+Rd87 ze(E^Q_AE6m)3G{E^Ru6Gu-P`NzRncX)b23b;1b{};0E9}-~r$)1o(aPJzyTrjsPwK zwgGPg-UoaMxC8hRa2LS;8T<^X(!>X zkz^-3X#zf!&h=ZHuk|i8x09hXuJ$*R^Sw?c*RXF4y3OHR(#V==_G*8-)4PIof8dwr zlC4oP%)reOc_mGVUiL2KWbV(YuZ%j~wi(DbXGckT{YkwUBx?-%nXGoY u-J~rW&0!+#en0JAc4$LU>UQad^q?!*C{2@0uB81@uZ_SrljrnzS^fhBghr46 literal 4074 zcmb`K&1;-h6vl5pn${xvstXlV#)arYVG{p=G`g^amY5b?R4|jwYaEl##K}aPZd$O? zE))uiAQTO{6TzK3Aq#hcxN{-6670f77A_(x@%f#5&pS7h8L8-$llyT#p68r`L||Piy_qy&;Sh;|03O`gk#>F<+0T^|dt4YYer?0-NH= zzODO&`eZ>IK^}@TIj}yKt;51p5o+QfnN(ajgxz4An6d{C-?MqLcR#}y2;-yJiesox zSUk9d*@Ui~ za11#7R}9YsSYlBQ=MN{Zi`Nf*ZijzvXXmLnq~_eh(y=0_?_X9BVsl5(J;KFM-I@Cx zBX9K7{?NUV9eu%Gt}`5JxDzp+6^7w*Fnhszj`a;Kb8NfE30ta)tNF5#&L|KkVLLD9 ze^n~Dz`<%zj~rbe!f#{ft2ME#hvGX%O~dR|aXHn+d#Pso{hZcPPM3a-ck;#qGSDkF ztVafYiA_$!e7%1jQ@H%htp<=2SN56ad!g2UhuL?3?}gkJfA1OZZTI*6Q;HwzV+FN1 z?^x_*-vPX{_K$t_(ib9Ct>x?d!RD;dVQO54jGQkv3S%};Va(a+47rcPYI|KK|3_S} zJCK7p`uE9w=xX}DQm(&#Q$}crW%-3_^gJ+gaRtw42bO zIF`rs+IsHpJE~Ubp>@bkcZiyL?)19;XfmM@cizh3JZ}NI=B&=SlEPO%HC|I z&f9D1w$yMn`R2Gb7ccU}-}A#S=QN*uv2k2%ScBy_m7jHE(if5Y1?LWVy-Vh+et#wH zk7xTij~NW>^kuvs(;1gMPt3rN?^=8ts&@xv;>pzfmO^nCbB*@BtkLeTMz1SsKE%!Y z@x8?144f0Mx3$Mvu*C--n+P}mJ%(A>h&8kM)i~!@Y4j1gzIBL$KJFdXS)U)#{eFNS zXL{5x>ex5T+E^7oEX2IQ*?ptm1EHpDz>tVdHOJ0-*mSiM()M#@ZWseOQfK$ucu+A_ zw^6a+QN{cR9{rlZaa7HsZg|b2Zg|b2ZdlDKZs}}255Gr)dVjkW(eiqjNiE)s84<(Y z&b!`!k9V*sj#ux1ui3`l*WTl|P{^JdbARk?#P7&mO1S3}uH~2EUQ2QO{n<%t25=o` z7;dh&nvUSHLa@Z+a^j&OP(OI*aYpfYml(4q^SWe9a!K;OC8yi1-ePBEZLZVk1^z6&w!PU}*$j*2N~g76 zsa|OH=C)rd8ylVW>1KGoaj~&lHqTw`td-$huhH$D>Acx$uWH`eNYm%KWuuq0b6c(T zrt7Q4i(6%P`)s4#S!k6jWteZRub0iR+}JEbv(xFWzZ!>S8@h4TT@Gz|gx*%STlT_g Sx3kr5hPN7P<+S~s34a65*dl%a diff --git a/scripts/Units/armcsa.bos b/scripts/Units/armcsa.bos index e384bdf186d..8a88490efb3 100644 --- a/scripts/Units/armcsa.bos +++ b/scripts/Units/armcsa.bos @@ -1,16 +1,52 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" //piece base, engine, thrusta, thrustb, emit; piece base, center, lwing, rwing, centerblad, backblade, thruster, thrusta, thrustb, nano, emit; +static-var Static_Var_1, statechg_DesiredState, statechg_StateChanging; + +// Signal definitions +#define SIG_MOVE 2 + + +activatescr() +{ + if( TRUE ) + { + move lwing to x-axis [0] speed [5]; + move rwing to x-axis [0] speed [5]; + spin centerblad around y-axis speed <540> accelerate <5>; + spin backblade around x-axis speed <540> accelerate <5>; + sleep 1000; + } + sleep 32; + return (0); +} + +deactivatescr() +{ + if( TRUE ) + { + move lwing to x-axis [7] speed [5]; + move rwing to x-axis [-7] speed [5]; + stop-spin centerblad around y-axis decelerate <1>; + stop-spin backblade around y-axis decelerate <1>; + sleep 1000; + } + sleep 32; + return (0); +} + #define BASEPIECE base #define HITSPEED <105.0> //how 'heavy' the unit is, on a scale of 1-10 #define UNITSIZE 1 #define MAXTILT 100 -#include "../unit_hitbyweaponid_and_smoke.h" +#include "unit_hitbyweaponid_and_smoke.h" #define IDLEHOVERSCALE 32 #define IDLEHOVERSPEED 60 @@ -18,15 +54,52 @@ piece base, center, lwing, rwing, centerblad, backblade, thruster, thrusta, thru #include "idlehover.h" +InitState() +{ + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; + return (0); +} + +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + call-script activatescr(); + currentstate = 0; + } + if( statechg_DesiredState == 1 ) + { + call-script deactivatescr(); + currentstate = 1; + } + } + statechg_StateChanging = FALSE; + return (0); +} Create() { hide emit; hide thrustb; hide thrusta; + call-script InitState(); move lwing to x-axis [7] now; move rwing to x-axis [-7] now; - SLEEP_UNTIL_UNITFINISHED; + while( get BUILD_PERCENT_LEFT ) + { + sleep 400; + } start-script IdleHover(); } @@ -34,24 +107,28 @@ Activate() { show thrustb; show thrusta; - - move lwing to x-axis [0] speed [5]; - move rwing to x-axis [0] speed [5]; - - spin centerblad around y-axis speed <540> accelerate <5>; - spin backblade around x-axis speed <540> accelerate <5>; + start-script RequestState(0); + return (0); } Deactivate() { hide thrustb; hide thrusta; + start-script RequestState(1); + return (0); +} - move lwing to x-axis [7] speed [5]; - move rwing to x-axis [-7] speed [5]; - - stop-spin centerblad around y-axis decelerate <1>; - stop-spin backblade around y-axis decelerate <1>; +StartMoving() +{ + signal SIG_MOVE; + set-signal-mask SIG_MOVE; +} + +StopMoving() +{ + signal SIG_MOVE; + return (0); } StartBuilding() @@ -68,11 +145,17 @@ StopBuilding() return (0); } -QueryNanoPiece(pieceIndex) +QueryNanoPiece(piecenum) { - pieceIndex = emit; + piecenum = emit; + return (0); } +SweetSpot(piecenum) +{ + piecenum = base; + return (0); +} Killed(severity, corpsetype) { diff --git a/scripts/Units/armcsa.cob b/scripts/Units/armcsa.cob index 7612b39a735b216f03116c280936b4a0b09ba87f..448e0eeeb6276db85c4c121be37865cbd3becf1c 100644 GIT binary patch literal 4896 zcmd6rO=w(I6vt1}bowEbr=lR$^1y{3D2yVw5lN$9YPCc|b>SwHnWv6TGwEc~QWtjC zE~E)=llHcdG|d! zV`evrZV){&W42G6-~5ec=SAO&?$droMpMOfF@a#b3w0H{3$TAN$;3j> zxgGJW8SPGK={Y>6tyy|4 zaL%8+o?}w}Np>C&&K!U@u>!8b>?euqJmpNl7*qO(qnl%qu=_m8T0s`)jpa-;orU6) zC-)Dvr8Bye{E>k@zPas#2!xx@FLl;66sk{um{^K;Iq9b`{5779%{Gc3lYDwa{$Y}f znd6bqAi4Btn+XeM>Z+E=I>^))75MBSvV}NP`;-Se($!cLjX0l@Q8#{YY_|FkR@!?^ z&y&}buRRB~y)8%T0ZVf36-O@?_Q=`afk6GRF7DDgVfSjPIoxgO?D3&C_ubswJZB3& ze{x9AAtAThNgzAUH1E&rVSc=4WWz^gPaSJfj!$koD$nid-D{`Wybf*aI9u`JT!*_! zx%Xp4zxoSzXzBfx=5y}xsS9ia#_g4CKpuh&A!R+2f*O?{%}s*54oG zLA0K?lGkU+fZ>>*uwiMrsm*wobt@@+x8v>WAFa2EaIdVU8`@8ms zv^RQHIEi9QhhBDzI`{*HpYFZx-; z;odH~Tl9eFVbNjHQPHC41rh(xQiu+T?iD>GniD-GdQQ|9y&_r{y(W5HbV2m4=%VOT z(HEjiqOV2YiM|(I5&b6mL)5t0?11Q2(LqtGJ?Nfp4XX8a-#S&ko9_e~@17Y7Pt&sL{4s`a#atY0BJoU+*CbqbSpfADng zba(Y7t$So~f$A;#zNDN4qO4RmYZF>y@>u q)q(0+IfHvY{2N8fD=kdgCs}jn1ZDkx-g~qAcC)1k2~6L6GvAr{&b-;T+lHCl zn`BrwYiQ5kzxSIx@qpQDlBadPuGPv~k;_6+D;@+~HVV7ERNSX6x(>S5Qo%mNlb!tv z`sQN5KBjF$I#k$Ltu?WsTac>JOtxaFs0EN&O*T;tD;UnfBn)S4_&blBGg#t`?aTF| z){MH`Mhq(=pVfp%MO`^A5GRZyk>hg&xWhl%H4Ty=mj&opX?3Jnp0|E>pjPpT6}K5)7InpZ2H+} z130=6GtJPCna*>7fd^~IQSgcIS&p;!Te2?z+>bM2%S*-Wq_1Uq_a)w0+372N1OHXR zqxL@JpNrW&F@VB#No#&Skdm?W5&u-O<3ns> zvSJ&Jv}x7D{V+?p%}iF=B1d^>hKP~RkMrjq@x_Mj`it7YV<+l~onvS9IiA{`JI$Kr zG>J2b7w3z)KzEPUFmu|+`STh|^Lg|5p&!lEW8vvF`JWPDV!fav>(}U+BViY{g%j&I zU+VeW3g|k=a{hHR8nKr0@i=VJ*>a4>nMs9{mCRV={U~ScJty}t>lbEHpKzf3VSh#| zKAevdH}?y1%gGx$j@O*b(0-~dBuYIZ=PXA!FbBt}jo!?w?XYq0R9lz>@0DsJ9(j&( zZ{a;X#=UvYoFhFuY}_Ao4}L%Sz0q>l^S1hDlZ%7bK>FeGcY%AHm^DEK;DG&y!3tC z?>uk9L6vy%yEXQtF6Yn#jC>DXw)p;NJ&8{11iusrD1adUkFf8EvHY6iwza#Qk` zWLFL!N^VJhlKdk1L-MDD|Nq^Pd?fi?a#Qk+ now; + turn doorl to z-axis <60.659341> speed <182.126374>; + turn doorr to z-axis <0.000000> now; + turn doorr to z-axis <-60.659341> speed <182.126374>; + sleep 130; + + move turret to y-axis [5.5] speed [6.041132]; + sleep 40; +} + +deactivatescr() +{ + set INBUILDSTANCE to 0; + hide cagelight_emit; + turn cagelight to z-axis <0> speed <1000>; + turn turret to y-axis <0.000000> speed <160.038462>; + wait-for-turn turret around y-axis; + + move turret to y-axis [0] speed [6.041132]; + sleep 120; + + turn doorl to z-axis <0> speed <182.126374>; + turn doorr to z-axis <0> speed <182.126374>; + sleep 130; + +} #define BASEPIECE base #define HITSPEED <55.0> //how 'heavy' the unit is, on a scale of 1-10 #define UNITSIZE 2 #define MAXTILT 100 -#include "../unit_hitbyweaponid_and_smoke.h" - -#define TB_BASE base -#define TB_TURNRATE <15.0> -#define TB_TILT_X <0.1> -#define TB_BANK_Z <0.1> // Do not define this if you dont want banking -#include "../tilt_bank_mobileunit.h" +#include "unit_hitbyweaponid_and_smoke.h" +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState ) + { + call-script deactivatescr(); + notBuilding = 1; + currentstate = 1; + + } + else + { + call-script activatescr(); + notBuilding = 0; + currentstate = 0; + } + } + statechg_StateChanging = FALSE; +} Create() { hide nano2; hide nano1; hide cagelight_emit; - readyToBuild = 1; + notBuilding = 1; nano=0; - call-script TB_Init(); + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; } -StartMoving(reversing) +Activate() { - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; - - START_TILTBANK; + start-script RequestState(0); } -StopMoving() +Deactivate() { - signal SIGNAL_MOVE; - - STOP_TILTBANK; + start-script RequestState(1); } - StartBuilding(heading, pitch) { - signal SIGNAL_BUILD; - set-signal-mask SIGNAL_BUILD; - - if (!readyToBuild){ - turn doorl to z-axis <60> speed <182>; - turn doorr to z-axis <-60> speed <182>; - wait-for-turn doorl around z-axis; - - move turret to y-axis [5.5] speed [11]; - wait-for-move turret along y-axis; - readyToBuild = TRUE; - } - + show nano2; + show nano1; + start-script RequestState(0); + while( notBuilding ) sleep 100; + signal SIG_BUILD; turn turret to y-axis heading speed <160.038462>; turn nano1 to x-axis -1*pitch now; wait-for-turn turret around y-axis; - set INBUILDSTANCE to 1; - show nano1; - show nano2; show cagelight_emit; - spin cagelight around z-axis speed <200> accelerate <2>; + spin cagelight around z-axis speed <200>; } StopBuilding() { - signal SIGNAL_BUILD; - set-signal-mask SIGNAL_BUILD; - hide nano2; hide nano1; + signal SIG_BUILD; + set-signal-mask SIG_BUILD; hide cagelight_emit; - stop-spin cagelight around z-axis decelerate <2>; - + turn cagelight to z-axis <0> speed <1000>; sleep 6000; - set INBUILDSTANCE to 0; - readyToBuild = FALSE; - - turn turret to y-axis <0> speed <160.038462>; - turn nano1 to x-axis <0> now; - wait-for-turn turret around y-axis; - - move turret to y-axis [0] speed [11]; - wait-for-move turret along y-axis; - - turn doorl to z-axis <0> speed <182>; - turn doorr to z-axis <0> speed <182>; - wait-for-turn doorl around z-axis; + set-signal-mask 0; + signal SIG_BUILD; + start-script RequestState(1); } -QueryNanoPiece(pieceIndex) +QueryNanoPiece(piecenum) { - pieceIndex = nano1 + nano; + if (nano==0) + { + piecenum = nano1; + } + else + { + piecenum = nano2; + } nano = !nano; + } +/* +TargetHeading(Func_Var_1) +{ + Static_Var_1 = 0 - Func_Var_1; +} +*/ +SweetSpot(piecenum) +{ + piecenum = base; +} Killed(severity, corpsetype) { @@ -117,8 +158,11 @@ Killed(severity, corpsetype) { corpsetype = 1 ; explode base type BITMAPONLY | NOHEATCLOUD; + //explode doorl type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode doorr type BITMAPONLY | NOHEATCLOUD; explode turret type BITMAPONLY | NOHEATCLOUD; explode nano1 type BITMAPONLY | NOHEATCLOUD; + //explode nano2 type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } if( severity <= 50 ) @@ -126,8 +170,10 @@ Killed(severity, corpsetype) corpsetype = 2 ; explode base type BITMAPONLY | NOHEATCLOUD; explode doorl type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode doorr type FIRE | SMOKE | FALL | NOHEATCLOUD; explode turret type FALL | NOHEATCLOUD; explode nano1 type FALL | NOHEATCLOUD; + //explode nano2 type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) @@ -135,14 +181,18 @@ Killed(severity, corpsetype) corpsetype = 3 ; explode base type BITMAPONLY | NOHEATCLOUD; explode doorl type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode doorr type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode turret type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode nano1 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode nano2 type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; explode base type BITMAPONLY | NOHEATCLOUD; explode doorl type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode doorr type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode turret type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode nano1 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode nano2 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/armcv.cob b/scripts/Units/armcv.cob index fc710549c67776a077cb602676fdb0107dd9d37d..f87d8b5a89a156dde9a323858d3881fb6c28dfa1 100644 GIT binary patch literal 3370 zcmbVOJ!}(66n=JMg9xCZKnSkc27$yCCM5;p0tE?arHZ2)Flb}9#I+fEAAGISTFZdn=o={!jx-e-&4pL zn|g9F74)NOt_B%J>>J~$9pg#O+ug>JzLaT9?sx6M9-OmKU*=X@Vqncs=l!J*^-dOX zhwD4vp+D_81Lqg5xl}CVlN2DY<`|cMoSnuaXHVE~#$t`^*;lYUPcrFxOcm=Vr*4Le z(7P8w)^IX^p1GW?1+0j#y{9~n9cJ_@lCk%+iE~X;fWGN@BhDOy0Y3cEL}&gf=u0$w z=Vv2_s^&|OmkaVoK@KL`kN6BS*EZ_V3-)IU{*<}%gZ>c#drcY5r0&nu&S1xMc`r=W zpHIm2Jdx98SO?B2_9N#s%!#;|kM_hejfMI#2gO4i{+`hMjt7kFGxtSb#%2t~By+x& zCX7|byr<}#AU=)pFelfm5kjVr=fUud1iJ#-zTOLv^@CU9Oe%l#SEpXQ>{rf{&b+C@y>K?l<)K0fI8OJ7+cA z3+UnfAak|${d{?!>l`H+-skik;K^sncW62E$>ANn@AZ4)YT@@J;3U_c(v5Lzcd@9A zepjelX(qIf@w)XA?wx2>t9`HfJD6*DuLyjLF&*ZpkJRUQ693NV+`ZhN>k^u+vGnd? zpDRJmo~WF&VGQ}FV&Ze;;|=do?$xJ=gJ(f!McqysCmzdzkdw9OJ3yNRd-5f4nZpdt zhWtHGAS&wUKhBT6&(A~Me-9yY_U@hySS|)EU~9%gP|VBUSH#J+n{`+(1v&9EuIkBS zo#Ll&QMVfYCgTVE{|5Y=*IIkI9{gH|8%U^gE%j@S>-8`8fqnWvwXQd>`YDg=9yjaN zY8~fOtdFDR@8GkbhoAvyHv(S-{SNvI^f%}k=mTgA0B#5IxBMBCHJVxbY9q4?%~V=8-W_dcGdE7#M!(mU z*~`64_SbGZlSq23B`58bMZ1vAW{4n%Q%m+!h$u($Z~}ugn^|mkTJ7#UcD;VS`DM|j zH-2t(d-b+$TA96OZ8qEQWpcdT>DZS1)>yETEvBi>q}A)C9rr(#E?oAz|I^ZJ%-c?T N{z5ifowJvL_8W|G`vCv| literal 3348 zcmb7`&ud&&6vt1J$=F(j=SmcWhZ{je#(?{DbYUr#(H3-NGiDxf+R02DCrU*~0})*5 zt_X^BCE`k@e?Z;%V<8k#+_=+4y3v3Lii`OD+csgr-VPU(*nEzx6QJAlghBB!}xzPL|fD;tHaGz%ceddND>0=@w+J^X3-)?&au zEVdz;LIxXD)|u(R&q>s1MT`~AfCVN=v5-zM+>wLfjxNt5&l#-8{05ulg;TX3HHjtN(=ryH*7p6@i6hY|Fxaj zgQH$-cf@kOtrJ_~yU+S*tvDmc3VJLy$6!y*-uu&164U2&Sk2_H3n2A^nwf_caVBod zX|1_X(^n^FdDVM%m=05~mDzc3=mk5wm-G$p+EZ$P^`2u(Exxzkigka!n|}A*0FEs9 zOgr>LCi56z$b&P)D8h>f@qPDxP5L>2dvQl>xmoNc`FtkNb6%33zS1}FUnD$Yf179F zRWo%giY1TdGZ}qHh6oJx_}zP%zpZ+2x0M_Chj5U-0X}akC8obW%E;sUF8SVqk28wz zChWu!Zx^@TzbEAwAO5bw9@gyeh5z8QjQ)4GWT-tPr@ejUCL8#_wggU?JO^?kj-S-y zdtIcxrY7`Wi`Ql=@jJ67BVv4d_raWh+uz?0vrOLzT)VB$#q&oV@=8A6s`(^7G3q|) zi`(K8AK+GW`VO5;z7U1^uc*uLI`PYSmk#WxA3un>b8<&+Wi#d|)^)y5ZfhIy_aor1 zM*g_nB!ArVI}qxu`LFvv&L4PYG0m|&_>DeHNBAi|eQ*3-gxyPZ1zvSAH*D;B+=0JS zk9*tE&nJ&cr?_E0V)5;|7k|`VNXM*#KQ=V+F^5wzm#dnRzN&Is zjCu(l>a6vUy*p|T@oUQm{cYSYSxdRfpXVq^$kF4~`{8mc5B4M2-8{MnW@!chijEYSl1mrZ^cMEN51~8p#}b%3d_y~nRd?KSttJuW#O=i6<)rfW6dey{rm_PFSC(I29Qny@2!U-X&iJ5ed8mqc%h z_<#LNqD!JTL|dYFMDK|{5PdAVA^K8uOZ1cIXVEXB+oIn^e~SJQE#7PPOn=h8@)tyv!e$pLJ&W&F057)$x zHm0n^?alt6=Zfj&xy@>P<=O6V)ah5Nm7VPm235~q?!H#pWOF>OCe|B`#)I&8Y(oK` W2!EGsRp|`+Yp+aZ+{J2LN&O37kolwl diff --git a/scripts/Units/armdecade.bos b/scripts/Units/armdecade.bos index 38f9e8c98fb..4956e1bcb03 100644 --- a/scripts/Units/armdecade.bos +++ b/scripts/Units/armdecade.bos @@ -1,5 +1,7 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, turret1, turret2, abarrela, abarrelb, bbarrela, bbarrelb, flare11, flare12, flare21, flare22, ground; @@ -7,22 +9,46 @@ piece base, turret1, turret2, abarrela, abarrelb, bbarrela, bbarrelb, flare11, static-var gun_1, gun_2, restore_delay, oldHead; // Signal definitions -#define SIGNAL_AIM1 256 -#define SIGNAL_AIM2 512 -#define SIGNAL_MOVE 1 - -#define RB_MASS 20 -#define RB_LENGTH 5 -#define RB_WIDTH 3 -#define RB_PITCH_SPEED 200 -#define RB_PITCH_ACCELERATION 20 -#define RB_ROLL_ACCELERATION 8 -#define RB_RECOIL_ENERGY_2 500 -#define RB_WAKE_PIECE ground -#define RB_WAKE_CEG 1024 + 1 -#define RB_IDLE_KICK 10000 - -#include "../bar_ships_common.h" +#define SIG_AIM 2 +#define SIG_AIM_2 4 +#define SIG_MOVE 8 + +#define BASEPIECE base +#define HITSPEED <20.0> +//how 'heavy' the unit is, on a scale of 1-10 +#define UNITSIZE 2 +#define MAXTILT 200 + +#include "unit_hitbyweaponid_and_smoke.h" + +SetDirection(heading) +{ + var spd; + spd = (get ABS(oldHead) - get ABS(heading)) / 2; + turn ground to y-axis heading speed spd; + turn base to y-axis 0-heading speed spd; + oldHead = heading; +} + +RockOnWaves() +{ + var rockDir, rockAng, rockSpeed; + rockDir = <-0.1>; + rockAng = <-0.1>; + while( TRUE ) + { + while( get ABS(rockAng) < <1.31> ) + { + rockSpeed = <1.45> - get ABS(rockAng); + turn ground to x-axis rockAng speed rockSpeed*5; + wait-for-turn ground around x-axis; + rockAng = rockAng + rockDir; + } + rockDir = 0 - rockDir; + rockAng = rockAng + rockDir + rockDir; + } +} + Create() { @@ -38,14 +64,16 @@ Create() gun_1 = base; gun_2 = base; restore_delay = 3000; - start-script InitRockBoat(); - SLEEP_UNTIL_UNITFINISHED; - start-script BoatPhysics(); + while( get BUILD_PERCENT_LEFT ) + { + sleep 500; + } + start-script RockOnWaves(); } -SetMaxReloadTime(reloadMS) +SetMaxReloadTime(Func_Var_1) { - restore_delay = reloadMS * 2; + restore_delay = Func_Var_1 * 2; } static-var Stunned; @@ -74,18 +102,45 @@ RestoreAfterDelay() start-script ExecuteRestoreAfterDelay(); } -StartMoving(reversing) +waveSplash() { + while( TRUE ) + { + turn base to x-axis <-3.0> speed <3.0>; + move base to y-axis [0.23] speed [0.23]; + wait-for-turn base around x-axis; + turn base to x-axis <0.0> speed <3.0>; + move base to y-axis [0.0] speed [0.23]; + wait-for-turn base around x-axis; + } +} + +StartMoving() +{ + signal SIG_MOVE; + set-signal-mask SIG_MOVE; + var waketime; + start-script waveSplash(); + while( TRUE ) + { + emit-sfx 1024 + 1 from ground; + waketime = (get CURRENT_SPEED) * 80 / get MAX_SPEED; + if( waketime < 50 ) waketime = 50; + sleep 13000 / waketime; + } } StopMoving() { + signal SIG_MOVE; + turn base to x-axis <0.0> speed <3.0>; + move base to y-axis [0.0] speed [0.23]; } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; turn turret1 to y-axis heading speed <270.>; turn abarrela to x-axis <0.> - pitch speed <150.>; turn abarrelb to x-axis <0.> - pitch speed <150.>; @@ -96,7 +151,7 @@ AimWeapon1(heading, pitch) return (1); } -FireWeapon1() +FirePrimary() { if( gun_1 ) { @@ -127,15 +182,15 @@ FireWeapon1() gun_1 = !gun_1; } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = turret1; + piecenum = turret1; } -AimWeapon2(heading, pitch) +AimSecondary(heading, pitch) { - signal SIGNAL_AIM2; - set-signal-mask SIGNAL_AIM2; + signal SIG_AIM_2; + set-signal-mask SIG_AIM_2; turn turret2 to y-axis heading speed <270.>; turn bbarrela to x-axis <0.> - pitch speed <150.>; turn bbarrelb to x-axis <0.> - pitch speed <150.>; @@ -146,7 +201,7 @@ AimWeapon2(heading, pitch) return (1); } -FireWeapon2() +FireSecondary() { if( gun_2 ) { @@ -177,22 +232,25 @@ FireWeapon2() gun_2 = !gun_2; } -AimFromWeapon2(pieceIndex) +AimFromSecondary(piecenum) { - pieceIndex = turret2; + piecenum = turret2; } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = flare11 + gun_1; + piecenum = flare11 + gun_1; } -QueryWeapon2(pieceIndex) +QuerySecondary(piecenum) { - pieceIndex = flare21 + gun_2; + piecenum = flare21 + gun_2; } - +SweetSpot(piecenum) +{ + piecenum = base; +} Killed(severity, corpsetype) { @@ -203,7 +261,14 @@ Killed(severity, corpsetype) explode base type BITMAPONLY | NOHEATCLOUD; explode turret1 type BITMAPONLY | NOHEATCLOUD; explode abarrelb type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare12 type BITMAPONLY | NOHEATCLOUD; explode abarrela type BITMAPONLY | NOHEATCLOUD; + //explode flare11 type BITMAPONLY | NOHEATCLOUD; + //explode turret2 type BITMAPONLY | NOHEATCLOUD; + //explode bbarrelb type BITMAPONLY | NOHEATCLOUD; + //explode flare22 type BITMAPONLY | NOHEATCLOUD; + //explode bbarrela type BITMAPONLY | NOHEATCLOUD; + //explode flare21 type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } if( severity <= 50 ) @@ -213,7 +278,14 @@ Killed(severity, corpsetype) explode base type FIRE | SMOKE | FALL | NOHEATCLOUD; explode turret1 type FIRE | SMOKE | FALL | NOHEATCLOUD; explode abarrelb type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare12 type FIRE | SMOKE | FALL | NOHEATCLOUD; explode abarrela type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare11 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode turret2 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode bbarrelb type FALL | NOHEATCLOUD; + //explode flare22 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode bbarrela type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare21 type FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) @@ -225,6 +297,12 @@ Killed(severity, corpsetype) explode abarrelb type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; explode flare12 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode abarrela type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare11 type SMOKE | FALL | NOHEATCLOUD; + //explode turret2 type SMOKE | FALL | NOHEATCLOUD; + //explode bbarrelb type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare22 type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode bbarrela type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode flare21 type SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; @@ -234,5 +312,11 @@ Killed(severity, corpsetype) explode abarrelb type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode flare12 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode abarrela type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare11 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode turret2 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode bbarrelb type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode flare22 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode bbarrela type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare21 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/armdecade.cob b/scripts/Units/armdecade.cob index 2acd2596152211460af51b05d6b5454ee03aee20..f5614910ba3bbb49e890501e22962c780f18edb3 100644 GIT binary patch literal 6028 zcmb`LO=w(I6vuDUbov$KiC8Nl3|4ntOag)*6x&#fT8gpLQWq+H$-LIFlbP`H(l!er z6xxk$+(;K9D(UAPcMx-06^MR3ujCH{Z+-81tt&6{SDPC1?>_ujnJiqWrjy-}r?8UdmLkzC!BB`Cl z$sY7xR^UFa`}X$sWAB9Q_Z8MGEf)9~0{Jx`W&X?T3=d9Cs5e;TNX@-wpV`5L1l ze>l1+7NK?*gDm#4k#1aLwGgZDt@fC7u|tn87i82Po1(8t1ge{><=Dj8jUiHe`iF`2 z{94eDVEAv|8+WJ@eIDeaee(B%T+CTLiZh6>N71Pk)aSaE$e2g$iGW%oL*%COnffls zaM!IxRLScsnavX%n_eF3iGDWE=Eq{f&lTzMYc|-Mf8(w;=6ivyVVka>W9zEuQxa=tE;Ov2gPUe1E&wCv_Nn9nI5&p zW87-7f-=nARM@{`NE~t_KI%liaQx_MbId6+VsW8PEIHTIjGyV@UJ&JYevjsKJj7$R z-X{1o8MbTomtgHIVEI~~anUY7#CHe2Bk-Mp`#7cVmlyY0UFj#=iqFKx^9=!^xB3*% z&~k|DF2*|7oX-oabw2#PRlu|vv3$YyGpbq_@wLU-dGx)|j9d$TfJVpO|6b|E>#FLE zRG!w+`Pk7*_sRaX`

      -N zU*9~&XwuV$@18qrAC&Li5J@r4Uv$Lz;hX!cmpMD1JJsPE^(BYn&s+WdqHUNn>kf0` zjKVcTg=;LY@aM8gKd+{D=hXDZ|6J2fIq6(>%2~fRXnQ+@b<27D668sLeaE^mq3sk@ zR`I=RmfSg`j0~xJkDw#(?!D(jAI^gMuBV|+f7i{^@q0$U^ElfufA?MQ^S=v*jL&_p zW&W&>`%FQ#ADaJe`ms}8>x}K|dePVA?0d7h>}D^9)83HoW?nisH*`POtMS*K?A5>C zALd=}!Cqt6`w`amU*~tPd+yYaraf72IJYp*tC<09n*5vgbib$2>v?rH`A{C-QT8_j zz6bb_+z;^g-Wu>7a1_BG08RpZ;2B^8m;kQ=7lHSHPk_&XuK@n99s?8LW#A(4Ht-?v z8So8o3AhaW1pEs83AFKJ{1DIu?gbtM9tWNS)_@Hl1t!2tz$?J(z?;B3!27_*z^A|$ zz}LW_ur`m=4LKPX%iB-eXq2Tg*vdBTnKUj!>0?8AIJZ$@?%ZWI*$~${q zz~)4rRd!eo?0S|C)oHeJZnLF#oC!|FNn(ex7LBbGd9=PcmSU3Uwvh4JY?2IZE{WZc nBuY0ED|tzh3umoOBri#dBF2fe=dC2)Q4pFj^O_EMnTaoxYCvd( z2tq}0({3bm;X>4fZp4k?QeC-oD}qo2OBXK03i12Sy=Ug+btZA4j-1|m&-u>(x%UOf zMC3luU7*8bB4w=ny_|@A4jR8(qflnt}5HukY!a`wN&fiXM+9^>b}$vtdv ze=722Vl=V1sZalE2kQeT!AK4ytjCMkQja{=!Z0*rI#QKnoDBSkFV z#d=m_JtxXqOVgKnxz``xC$^4xF}4kCiP!vq=N@hE019)pS{Oi(!AA!I@DF3TPeR?x35nz^Q7(;wp`!AO24d?*(|P74YO%j zK=;LZ4E33_)qWB}`m{a`ikmT9Cm`Mh=B)Q12|Y1guAEWg=a2N`D%Na}jH;Ha%`nfb z1!wjZYu$O6%zW%@we)w( z=8hq;w!cQ7{_V4VGgJCxzgZ9J(6;#}&-zap@u5fVogZ>{Y1Znu4Q1BF?v>7AL63fD zU+1h6>|ehKMa&^%y19ecpu_zi7XgkK#YbC=jecxp%r@7_RRDRU&&0#&p zgw!?uUv_tk$xi!%T1{rG68D>3xPSj^@( zukV(j?L%dUqfA&0w>KT~4b!X3#O-kkcs@SM874KpLG>`1uZO)C%tb2Wp-0@~ZQ(o= z=fd|u_m@IH*6xQ+HTIbLk?-;5i(>O-asOX^WUqR4MIWv1A#5E*e|BE4oKN_;;1!7&|cjPV=p?IPERsJEC~#Y403n*Ikc( z6kC`}At|q_Ilq$7e21>az#LTq7nqsJ-L)!+5qCF*$qT@h~U!Wxe!%YqSyl zejoi>ul}juE!sd_=GWrd%kPr&%fG7_ui~rye9aD_l)ujn{8+x*@oawWT=YB0wqa?4 z@+;BSFxw`lZQ@N|zbj5(zd`Q2>u)OF2mD%~tDuKa;8#Jbpx;<*IA?O}pr1guK##%U zQP4A>lb{9ASx_7F7HA9f9*F-RVg|GTS^}+s-UPi3dKYvB^bzO_(AS`EK|g|i2HgPN z0v)-3AzNj4Eg|c6|@bS>!xYmYA?(4t?tz3 zLfTmCv}cnx5-+*4zQ2+0F$M#O>*gG~axo(eBh+=~60_t<@0AlX9Y!r?yv=9e_EJ zcY3&`pZoAO#?J(X_WSXx<^?na)cU0FZh*~pq{E?K%P8S>0h j$-|PpaXw8m$-~k{$m>~}UPvY5UUL06JC`+bsD$NjGskOq diff --git a/scripts/Units/armmmkr.bos b/scripts/Units/armmmkr.bos index 3b3a0544392..215cfe455cb 100644 --- a/scripts/Units/armmmkr.bos +++ b/scripts/Units/armmmkr.bos @@ -1,5 +1,7 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, cover1, cover2, light; @@ -26,12 +28,13 @@ Create() Active = 0; } +#define SMOKEPIECE base +#include "smokeunit_thread_nohit.h" -#define BASEPIECE base -#define MAXTILT 0 -#include "../unit_hitbyweaponid_and_smoke.h" - - +SweetSpot(piecenum) +{ + piecenum = base; +} Killed(severity, corpsetype) { diff --git a/scripts/Units/armmmkr.cob b/scripts/Units/armmmkr.cob index c9a7f2609d9771ab368cb92c924a8a6b2f586e3e..8e36b60df2509905aa50b1daf2dca089880ec362 100644 GIT binary patch literal 1560 zcmcIkO-mb56un8tSm@@}UFl}lw&*m_y~K?mf)I*@ZZeI}HZ(P2#+HJMP!Qbs3kszx z@hA8b+`1@q-5($>yNl=C_imj8KbnOZ4)?zMdG39aNkpU$B)~>RqzcL3;f%;n;1qa) z^BJV1RmX?^Bn#5c(yqH_uvg$enZK5jibGkgTlT&AH5$>!e%fo& zCi!ul3&1Pj0QdnM1N`ou1HXYkzye1dU~R2copvX+zZm99H0drSWPixX`wK@mqev$1drZ zDYhj&;h6Za;iC?;xvukAIxhtq;RXtBa zyp-=Njq|;Ro}Ps`Y!MTl>!<&&)jz|$<7eXYRfFmI0v~H5hg@$<^x?UaeB$Ys+~+!? zUr19k?MBR|w!C^qF;<~R#-=gk({r5ttekLikMpud&(!dpfMBO*o`<%w#)=r0w|q}~ zijTE7XLguRh?DrR!{jpycJ{mu+%xXlQ+nVCFB%`c#J&9;Y?$J1*7XQK&GVRHhfXCt zkt5bob2#3Jiq}HkRLE;d+s|r8c<;{zdpohmT=1qTP;+H&#DCK@tuww8Y0eZmy=v#@ zBCkx;3k~^iq|KeIXY)GTn|}5bZ0!6Nq&&X1z;ie7`1oV+MBe}Ltim05o(3MjkH_HI z14I2bd6>mfST93voK3tpu?V{&xhA3JuaXN&;(z3=WMA@5@?P>m@=5Yp@; + spin arms2 around y-axis speed -1*meatspin accelerate <0.500000>; +} + +Stop() +{ + stop-spin arms1 around y-axis decelerate <1.000000>; + stop-spin arms2 around y-axis decelerate <1.000000>; + wait-for-turn arms1 around y-axis; +} + +InitState() +{ + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; +} + SetStunned(State) { Stunned = State; if (State) { - call-script Deactivate(); + call-script Stop(); }else{ - call-script Activate(); + if (statechg_DesiredState == 0) { + call-script Go(); + } } } -Create() +RequestState(requestedstate, currentstate) { - resourceRate = 500; + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + call-script Go(); + currentstate = 0; + } + if( statechg_DesiredState == 1 ) + { + call-script Stop(); + currentstate = 1; + } + } + statechg_StateChanging = FALSE; } +Create() +{ + meatspin = 500; + call-script InitState(); +} -#define BASEPIECE base -#define MAXTILT 0 -#include "../unit_hitbyweaponid_and_smoke.h" +#define SMOKEPIECE base +#include "smokeunit_thread_nohit.h" Activate() { - spin arms1 around y-axis speed resourceRate accelerate <0.500000>; - spin arms2 around y-axis speed -1*resourceRate accelerate <0.500000>; + start-script RequestState(0); } Deactivate() { - stop-spin arms1 around y-axis decelerate <1.0>; - stop-spin arms2 around y-axis decelerate <1.0>; + start-script RequestState(1); } -SetSpeed(windOrMetal) +SetSpeed(Func_Var_1) { - resourceRate = windOrMetal * 2; - if (resourceRate > 0) call-script Activate(); // Because SetSpeed is called after Activate + meatspin = Func_Var_1 * 2; } +SweetSpot(piecenum) +{ + piecenum = base; +} Killed(severity, corpsetype) { diff --git a/scripts/Units/armmoho.cob b/scripts/Units/armmoho.cob index 30481aa3bd85c4c3e395a426e0c784abcd5cec5f..03381f838a624fe50bcfa1d10bec4e092e05e53d 100644 GIT binary patch literal 2315 zcmcguJ!q3r6un8)v<}L1EH0n34xb&I9BM772vQB|AV@yz8=`Fzo39lo11>I7aBvfJ zb#rm);HIm)4k9`#4vL_lp7Y+l>1#;TIv6;4@7;6nxj*kUv?e0Efg13&A~K1UpXq6l zBS058h;tun%~jn5$!6V6VX5HEqb$}P_ZP9HPq5|UASVIJ(dQ>VTRsy`;8#ujLagdN zo3?B zCmsFC(LdPmmClK|2*$Dw`d`9g`G)JY*;+4*vAoqh<{yq7@LHcVV_h3b>{d;Yy9I7k z&6dM785icDz24P0n~m`n$5~y4kL4RRe{!E8K#p>(Bg`g=vwJdq&h4%8e7lmNLXEe1 z(086(9(&xxmbN0;@NTf@mU*dRXXZ*Zg1(Cy&()8%QTb+Jmz?i9>T@oGI^wOz9#!wP z@)bIMlE`6ZZ`58LvOiKg7O}UnmwWWjnS8)D?SuEWy|>uMclD#Z^)IgO>NxY0Y7F+^ zgVqS1I*cF1r+;763U`Yc*?kZ6F?agf+2(6!djrFIGt8aEzRsf%`m-K;gFI(AbM0f5 zCho^gg;|f|7*CE)T=DZ4;<#sz)Ua6F_tj2q_GmoUl(XNLFf;U=zP0dvw3iL-gqG z@1~EOR)^KTlNj^0HO({bt)@AL?}z2=0}cR(fiu8;;34oH_yN>W=pJAO*bnf3g4@6y z;2!V*cnmxNHh~wwOW+mo4)_Rs0lopU3wprujx@?nS5CHDWuq)gFAa~)TD$G9$XS1V z&G*!PY}E&PrE|@ngSVV$mGd_*_@dis%h9E>wN84$7q+EP*F&ap!*kmyLI&u$n%&>OyRV zl?AviB&-3635y=Amqpw@>wGH4Uez*Fep`CNKk;Fs7wRC!LN`P#E$NS$pbzw`80-l7 zUPrxVa-5SsZLSmAd1b5n;><%;&z*!P75l2kMUK?d{S=4IF{$H<4uKr6HTIKt;!I+` zYOtQgd3$Z-_*}?^+Ij7-+(|xh^h@qjEz!@Uo!>E=+Vbj*JQkQ{jPE_R9)pdZefIst z$^NLi!TUi#>W7{=4-3_qcrM!VR_y78Hv4rnW_Fm5)cttfNuLd8!JR#&1^$e^?kPR6 z^qJ$M7r(dPwRAkco4)7H*YhG~x}_LVOXC-%{RQ^0x^5RoxNZa3|H> zuG#C{vkGUf%#HZ32?w*k&D&bS7;U*#wP-^<_|SX$CNbby^?s5+=BjUEciGGx#Bp1^ z*Nq&`qF%GV3;)~WykJM3^v?S9+&ld5m%sHo?pcz1)mt8U;Np zNPd5x9`ARQxaRrCGf2Eo6aX&y$KibquIh4Luj605E94~Jox~gCkI`?FcLz+>(d4D4 z|6#vOxjswZdrxnUz{Y$=a!#@!`68JS$a%>n$-IRBfvb`&$z#cL$t%fQ$vere +//how 'heavy' the unit is, on a scale of 1-10 +#define UNITSIZE 5 +#define MAXTILT 100 +#include "unit_hitbyweaponid_and_smoke.h" + +SetDirection(heading) +{ + var spd; + spd = (get ABS(oldHead) - get ABS(heading)) / 2; + turn ground to y-axis heading speed spd; + turn base to y-axis 0-heading speed spd; + oldHead = heading; +} + +RockOnWaves() +{ + var rockDir, rockAng, rockSpeed; + rockDir = <-0.1>; + rockAng = <-0.1>; + while( TRUE ) + { + while( get ABS(rockAng) < <1.31> ) + { + rockSpeed = <1.45> - get ABS(rockAng); + turn ground to x-axis rockAng speed rockSpeed*4; + wait-for-turn ground around x-axis; + rockAng = rockAng + rockDir; + } + rockDir = 0 - rockDir; + rockAng = rockAng + rockDir + rockDir; + } +} Create() { @@ -39,20 +63,22 @@ Create() gun_1 = 1; gun_3 = 0; restore_delay = 3000; - start-script InitRockBoat(); - SLEEP_UNTIL_UNITFINISHED; - start-script BoatPhysics(); + while( get BUILD_PERCENT_LEFT ) + { + sleep 500; + } + start-script RockOnWaves(); } abaim() { sleep 4000; - signal SIGNAL_AIM3; + signal SIG_AIM_3; } -SetMaxReloadTime(reloadMS) +SetMaxReloadTime(Func_Var_1) { - restore_delay = reloadMS * 3; + restore_delay = Func_Var_1 * 3; } static-var Stunned; @@ -62,8 +88,8 @@ ExecuteRestoreAfterDelay() return (1); } - turn turret2 to y-axis <0.0> speed <70.016484>; - turn launcher2 to x-axis <0.0> speed <30.005495>; + turn turret2 to y-axis <0.000000> speed <70.016484>; + turn launcher2 to x-axis <0.000000> speed <30.005495>; turn door1 to z-axis <0> speed <160>; turn door2 to z-axis <0> speed <160>; } @@ -80,21 +106,49 @@ RestoreAfterDelay() start-script ExecuteRestoreAfterDelay(); } - -StartMoving(reversing) +waveSplash() { + while( TRUE ) + { + turn base to x-axis <-3.0> speed <3.0>; + move base to y-axis [0.35] speed [0.23]; + wait-for-turn base around x-axis; + turn base to x-axis <0.0> speed <3.0>; + move base to y-axis [0.0] speed [0.23]; + wait-for-turn base around x-axis; + } +} +StartMoving() +{ + signal SIG_MOVE; + set-signal-mask SIG_MOVE; + var waketime; + start-script waveSplash(); + var bowtime; + bowtime = 0; + while( TRUE ) + { + emit-sfx 1024 + 0 from wake; + if (bowtime) emit-sfx 1024 + 1 from bow; + bowtime = !bowtime; + waketime = (get CURRENT_SPEED) * 100 / get MAX_SPEED; + if( waketime < 50 ) waketime = 50; + sleep 12000 / waketime; + } } StopMoving() { - + signal SIG_MOVE; + turn base to x-axis <0.0> speed <3.0>; + move base to y-axis [0.0] speed [0.23]; } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; turn door1 to z-axis <-90> speed <160>; turn door2 to z-axis <90> speed <160>; @@ -103,51 +157,69 @@ AimWeapon1(heading, pitch) return (1); } -AimWeapon2(heading, pitch) +AimSecondary(heading, pitch) { - signal SIGNAL_AIM3; - set-signal-mask SIGNAL_AIM3; + signal SIG_AIM_3; + set-signal-mask SIG_AIM_3; turn turret2 to y-axis heading speed <170.038462>; - turn launcher2 to x-axis <0.0> - pitch speed <130.027473>; + turn launcher2 to x-axis <0.000000> - pitch speed <130.027473>; wait-for-turn turret2 around y-axis; wait-for-turn launcher2 around x-axis; start-script abaim(); return (1); } -FireWeapon1() +TargetCleared(Func_Var_1) { - gun_1 = (gun_1 + 1 ) % 3; - sleep 100; - RB_RECOILBOAT(0, RB_RECOIL_ENERGY_1); + signal SIG_AIM_3; } -FireWeapon2() +FirePrimary() { - gun_3 = !gun_3; + ++gun_1; + if( gun_1 >= 3 ) gun_1 = 0; } -AimFromWeapon1(pieceIndex) +FireSecondary() { - pieceIndex = flare12; + gun_3 = !gun_3; } -AimFromWeapon2(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = launcher2; + piecenum = flare12; } -QueryWeapon1(pieceIndex) +AimFromSecondary(piecenum) { - pieceIndex = flare11 + gun_1; + piecenum = launcher2; } -QueryWeapon2(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = flare21 + gun_3; + if( gun_1 == 0 ) + { + piecenum = flare12; + } + if( gun_1 == 1 ) + { + piecenum = flare11; + } + if( gun_1 == 2 ) + { + piecenum = flare13; + } } +QuerySecondary(piecenum) +{ + piecenum = gun_3; +} +SweetSpot(piecenum) +{ + piecenum = base; +} Killed(severity, corpsetype) { @@ -158,8 +230,13 @@ Killed(severity, corpsetype) explode base type BITMAPONLY | NOHEATCLOUD; explode turret2 type BITMAPONLY | NOHEATCLOUD; explode launcher2 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare21 type BITMAPONLY | NOHEATCLOUD; + //explode flare22 type BITMAPONLY | NOHEATCLOUD; explode door2 type BITMAPONLY | NOHEATCLOUD; explode door1 type BITMAPONLY | NOHEATCLOUD; + //explode flare11 type BITMAPONLY | NOHEATCLOUD; + //explode flare12 type BITMAPONLY | NOHEATCLOUD; + //explode flare13 type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } if( severity <= 50 ) @@ -169,8 +246,13 @@ Killed(severity, corpsetype) explode base type BITMAPONLY | NOHEATCLOUD; explode turret2 type FIRE | SMOKE | FALL | NOHEATCLOUD; explode launcher2 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare21 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare22 type FIRE | SMOKE | FALL | NOHEATCLOUD; explode door2 type FALL | NOHEATCLOUD; explode door1 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare11 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare12 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare13 type FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) @@ -180,8 +262,13 @@ Killed(severity, corpsetype) explode base type BITMAPONLY | NOHEATCLOUD; explode turret2 type SMOKE | FALL | NOHEATCLOUD; explode launcher2 type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode flare21 type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode flare22 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode door2 type SMOKE | FALL | NOHEATCLOUD; explode door1 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare11 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare12 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare13 type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; @@ -189,7 +276,12 @@ Killed(severity, corpsetype) explode base type BITMAPONLY | NOHEATCLOUD; explode turret2 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode launcher2 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode flare21 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode flare22 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode door2 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode door1 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode flare11 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare12 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare13 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/armmship.cob b/scripts/Units/armmship.cob index b0e32097094e81de16bb13401d0f45a5ef382e14..d2f16dc2aec2af52dfabb4911ce7971c8903bcf6 100644 GIT binary patch literal 5079 zcmcIoO=w(I6h29&Nvl?$m4YsWQ8z9`CvhVpnl^2z)Y6z~Erlw1nR!izOy;F8Z<+)I zgIZT2xRNZypn|xm?i3Una8bd(MK=XO6a{y+h%2$i?>qON%CQ9PFehuz|L<8g`Q$C|L-oO6$?**o5@ z>&qprF-^7?a(7eVYd4P}b+PJt)E9@Pipw>O75Y&B{+wR%KB!~;xjy6$QGwb?#rbEh zYk5S-5kI8Zxi5Kp4~duE`N(j8^tRXc7W6N8J%m_I!aigyv?^*{(!M&2A$4`?P(xe2Z^VDkVJ+a?Q8d zijrI@yS~!?Lyz$+EH9IcBk1{CAWTPT{wxlCkw;&~!%*uG=3J~d{ajjIU9~<4=N5;O zz4{ymwA=p7PP64>(rR&uM&EZMe*M5E{cvy0k9*^Ob&rtR)96#`n2Y#2amf43n(xP8pRPflZuj{ZS2;eW>BzlmeHUNb0$*C|afxoD6UbY=+~(z0F9*ETe8A(Bd_8l& zH}*5tR$tD^=loMR=G^KM-kq0xK7Wvm`^lgTBzVx?zhvRaroEfKwR;+)l z7UZzM_`C>npo(1H8GVPKf0lhN3~#Z{4|et>WpVclX8Jv{^J-g|@5-sGZH!_2FWUGH zG#iHN_Q1Tkel6E!_dNO9*GbO_cIL$8wlDhBnxd8)amd%bV((0V^ZUL0;mYbN_p3hO zhPIy`cXH_%6jA3c7vD|hgWhV{CcGocTtaj`)7Rduv*f;zEcp2 zeoh_lob}q7;rU6P`rv+$hppkbqwm*TNh#*Ud6*A5cK0}3BTu-j~)Ow)TXy-Vz+xIq}dDt&pZs%wDcC&}MxpgkLUwv+&?~to`jXLh{p38TJ z#R<9EFP?kFbNRk8ZgEdsOaI;MtIg9uO2^ zE5HNe|6cY3W575t4J-hQz-z!;z{kL6z&F4};1}RG;7?%SE|HzUeZV8YlfWV1I4}jY zffs>Sf!BdIfhFKQ;6vae;1l2+a31&;xB%>L>Cvn)9cK%I zVKu3xtvV-%<7_g?N192T!Sg<3Y&4ELJS^ImrJ)Z_JN9SWNw#21b<(j_=Mp48ljd@u z(QG2ji6){A4SG2w6Y*>!c{|IJd`OycyHz`xWJ6L<(`-{_fUovR(M`bcg+pW6H L#Z!q)q;v8Q&eD`| literal 5042 zcmb`L&u>&!6vuCWFd#yFY9yMdDI0M?!pxYsGRiNBq(Mttf(sLQbRK2Gv;)&uX-yOs zph$=d7RC@XgpF~b(T%b()|H9w^bgR)4KXe-!2}buen0o!Gjlub)S6gwdVienIp=%M z{q@SAb8d@dvt)SCxlL;MdHH_lK9g*Cz`5-jKcluU=}*uNmirSymyFki@ww0rt93(z z2{y^L4%U3Q@?e6WQosXeyuNF^AsV}pQsRchK{6=6aBvGQ>8I5XbMUY^KOgXB=i|$e z_A#*H=*k1$A6(qdfuvtNET7SU0e|yMpL5B8&*|2pd^vvM^l>zeFYmW& z&hnH;=Z=(;uhj82Yv4A3U&Xc7=N#g9^CmuZ0B>!YO z+E7bk3gYu&{m>J$jS~hOzR+9EsRbC%Q$AuFd=k&r9UP|A9Y1%(Eskw_0i3UK!2K2B zm76T5s7Bz%A5x#1T`PR=KD&Y~ z+?SkJ@nb*QzA>H8FXC}9_;P{Ay$TDj3tfEt{Sk7Os$Cl+j!&36TI@HQ?8uIg<+P)KVn)|J|3obk;fNsx~_GY&& zzTvu(t?k>#<<8+P9~-X7i(|Brd?;qT3 z|3;YakLF_@Rd8kYWpO@Uin#c_bELRyom%cXTJCLHYE8?%LQ4o*8d|F{^W?>}<;9qJ z#y8}cvFEIMgX0HXyiY$5+zwzE_e`qDpJ)Wz}}T+sKN za$hOG;_cT;%FJ`oiW!de^=DB!V&mG@&d#BK`z$ua4Y7Zj>zq4c$7^!xl};Vl1KzLh zW^lGX+SP3v`knbw@i#yhCu#}3Hcy>@`aZ7iQP#)wH9Feux+IvN(3PnqT8(`d+-w$sat8m*H3AHGxgwwLS2{|9|0i2_K4Uyxt9CtC#8j zjTbfPj{RZq)vG3^x7hD>#kR4ZPg3)eE0m}EIrwr-d}Tj)2VbatBp-HPh@USD@*gtrAO2HlpD+P z1L@po)@Y`+@%mKeo}bGmX7g+`o5`E4Y}c_oYwgV%={(4>e0F*|t0~qpWuCV31I^d! z)01v2Z=MX@UG=GgL&debRkyF+%51vRuL9ZEYQ`3wVbvX+%~~O&N<65#;d-MXR>vA? zE2~yQTXjd%nat(0tyY#-T_c^Ho;aShs;<^-wkrO2wSZQFNyWxbxye>@cDm+Hrz+Rc H=4tm2<>rtj diff --git a/scripts/Units/armmstor.bos b/scripts/Units/armmstor.bos index 79db0e7d753..dd5815437bb 100644 --- a/scripts/Units/armmstor.bos +++ b/scripts/Units/armmstor.bos @@ -1,5 +1,7 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base; @@ -8,12 +10,13 @@ Create() { } +#define SMOKEPIECE base +#include "smokeunit_thread_nohit.h" -#define BASEPIECE base -#define MAXTILT 0 -#include "../unit_hitbyweaponid_and_smoke.h" - - +SweetSpot(piecenum) +{ + piecenum = base; +} Killed(severity, corpsetype) { diff --git a/scripts/Units/armmstor.cob b/scripts/Units/armmstor.cob index 8624c6b708105020789aba42bfcdaa919fcf5945..877c95b18ab2a56a126bd0ed640a2c831db40ccd 100644 GIT binary patch literal 875 zcmbtSu};H440Wz)SQyO6g0dnpM2LZ{s1;HXOQot}g9bRHh|*LL39ix9&wlo^eRr{l^nnO?Hwz=%J&_bR0uJCG!$#_qoJUYTctf!I%ea`wd zhhoO2hv^NBkC^x&q5nyuBa6FEoU?4s$@30k+@Cv6Iy^g)Zfn9GmlmUZv%hE(?)F=L zd+!KKvvaE#c)m@u8@XL3r=iyxN5ApjKx2E|Dni>xF zKbkk}W14TKiEsC7P0sR{I<{xs7|4MF;J+ULXTS`&0`7p(qt7cZ(}(ij&z40c%(Y+yy&( zmGF|Y_LLbg{mzMH7T?=5nV!#g)6c#e(DB8bX@~x1KCc0XKG3m7;1}V$-0t4Lgm)lb zwmV`Ay>OBIMdtTd^1T(#y>f5x|0F(c`t;vK9`g#U-`0Jmyxt%EQik&hoG^KJNBBqQ zjDOjcf8YPMI?PY@zTT_9G{cR({hh|vws&`%p>5R%joktZvs4@a diff --git a/scripts/Units/armnanot2.bos b/scripts/Units/armnanot2.bos index d29ca41a808..f4e71c8d684 100644 --- a/scripts/Units/armnanot2.bos +++ b/scripts/Units/armnanot2.bos @@ -1,8 +1,25 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, stand, centerpoint, aim1, aim2, aim3, emitnano1; +static-var Static_Var_1, Static_Var_2, statechg_DesiredState, statechg_StateChanging; + + +Activatescr() +{ + sleep 1; + return (0); +} + +Deactivatescr() +{ + sleep 1; + return (0); +} + #define BASEPIECE base #define HITSPEED <55.0> @@ -10,33 +27,135 @@ piece base, stand, centerpoint, aim1, aim2, aim3, emitnano1; #define UNITSIZE 2 #define MAXTILT 100 -#include "../unit_hitbyweaponid_and_smoke.h" +#include "unit_hitbyweaponid_and_smoke.h" + + +Go() +{ + call-script Activatescr(); + turn centerpoint to y-axis Static_Var_1 speed <320.000000>; + wait-for-turn centerpoint around y-axis; + set INBUILDSTANCE to 1; + return (0); +} + +Stop() +{ + set INBUILDSTANCE to 0; + call-script Deactivatescr(); + return (0); +} + +InitState() +{ + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; + return (0); +} + +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + call-script Go(); + currentstate = 0; + } + if( statechg_DesiredState == 1 ) + { + call-script Stop(); + currentstate = 1; + } + } + statechg_StateChanging = FALSE; + return (0); +} Create() { hide emitnano1; hide centerpoint; + call-script InitState(); + Static_Var_1 = 0; + Static_Var_2 = 5000; + return (0); +} + +static-var Stunned; +ExecuteRestoreAfterDelay() +{ + if (Stunned) { + return (1); + } + turn centerpoint to y-axis <0.000000> speed <100.000000>; + wait-for-turn centerpoint around y-axis; +} +SetStunned(State) +{ + Stunned = State; + if (!Stunned) { + start-script ExecuteRestoreAfterDelay(); + } +} +RestoreAfterDelay() +{ + sleep Static_Var_2; + start-script ExecuteRestoreAfterDelay(); } -StartBuilding(heading) +Activate() +{ + start-script RequestState(0); + return (0); +} + +Deactivate() +{ + start-script RequestState(1); + return (0); +} + +StartBuilding(Func_Var_1) { show emitnano1; - turn centerpoint to y-axis heading speed <320.0>; - set INBUILDSTANCE to 1; + Static_Var_1 = Func_Var_1; + start-script RequestState(0); + return (0); } StopBuilding() { hide emitnano1; - set INBUILDSTANCE to 0; + start-script RequestState(1); + return (0); } -QueryNanoPiece(pieceIndex) +QueryNanoPiece(piecenum) { - pieceIndex = emitnano1; + piecenum = emitnano1; + return (0); } +TargetHeading(Func_Var_1) +{ + Static_Var_1 = 0 - Func_Var_1; + return (0); +} +SweetSpot(piecenum) +{ + piecenum = centerpoint; + return (0); +} Killed(severity, corpsetype) { diff --git a/scripts/Units/armnanot2.cob b/scripts/Units/armnanot2.cob index 6825fba85401227757d9bcb41d317c862cbe748b..e8f7aa127405f8861feda98c890e0a3de20f3424 100644 GIT binary patch literal 3131 zcmbVOJ&a6I82xs346%wU{#7p`(QKHd69sDpk;vG!A)?r4=90(mn>G6e+ihr2NT?Mg z3L!KK(I^zO617UBP!NqM#5wof@6Gk>V2vF2-tYI^b3ZStBC-xx4&11S)Ufi`SSj)V z_y!E)ymm-rz*Nito%I33J-5=Rx&2~xi4YT@f*iDPby|MqS?YsE_70j#yTNW!Zy3jVQqSXdV9Q+Ev?kA+x8=3TRdd-}W641xaraW5%%LACE=O0# z>$luqKH~(HU3{?TR=IGk(ty6&qhJ4iaaxZnHKE?D<=z9DJ%YLD6IGqY4CVc~(l^SD z*Y29P#m?4y=W5+^MSaztAw_NfMz;bRwP#G&YbOoRO=pNa3l0YS@P{G#<`2AofPtU$ zw~@Uy^U&KXCHr}A$0DjnID_o9nm%a3nR#)4dpM) z)ARK;xz=p0ew{bRADW)_JsG1KZaf&o|6wke!W_O;s4Z(#2iN0XuG=LxFg1fuyZe>- zxc+r~yZXcw@$j!e1;!UPaNyq6=;L?u)X4PuzF^DA)T7#Gs9u=#23k;mmabt4!gWXqFefxuK8x(#Ji& zOS)h1d*S})}ds2}tHC8vBp=9TZD^_I$q^!wfCZ*#O*&we@OJFqWp ztAGS}0=xr00$+h2z#JO-WtFM-zp|L++A+kxG{7%&b@0;hl$ za1poy+y?FfPl4yaE8s2g9{2=&2dW@91Q=jFum#u#3Jy35&pPn%Wlf%1&h#&_c7glZ|$h=~j}SbFGWRv99gRAC1#?Be6{@ z$K%d9n;o)o9(mcK)oeSHBgynM+MS8#tjuL`+LESCL1?y}q?yFY%n1M5$-j1qok_A3 HB}e2ZerNS4 literal 1819 zcmb7FziSg=7=ClPCKWP#T?8HEaB&g2*3GGn4vHv|3a&kKALTH)g!DReQ>dFbI*5pq zySn)YNZs`>utUKmAUHVrJl}n9^LYft(kJilpWho2i^wX_1)j7-@bCW8j>rI*0+*qA z1}aHpLbOa|*65wYMs_-;2bQ{=xqM(PXKfBJ?#jOWa{`z;t*Q{QP>-|XRp4t^J$neQQ{eiMx)m9*t%`gCT|S952} zYz);|d6T*u?t(Wv_x6}F?vyi-)txhzv*_J^2CMn>HdSW+FwW)lH}u8FQKvN+$39ML z7=9!4mh0O)_VyMX=k<-qX2+a(eH7?5miabd=U%xt`oH)7RJ%Rwh~ZaSK=tM*>W*Yk z+nMX}x5YjLck2A%O52L3Y(tV&_eNyH8lj)FHT{zMUfEB$8|UlajPDlCcaFxS-qAG_ zXASnicv8x5K*e<3ds2SoW!_V0cXfSy^9|h|eVzNh4(I=$I$HN{b%yNC*C~A+_8HdE zJalFMugPFOo#(lin|0{h%%!mmq5XxA)m$n!bJ6Vz@DBI^`~rID_bhM$;P1ps;4Sb0 z_y`;UUx8!bJ1_@+0ug?6xo|KNemrjznk9!hc}8)v&V-yTmMS-C#5S!HFr z%4Su6zZm63xeIABJr(Zl+u6b0tegxAJG64U7>#T$53@ZhdsSBEGPGr7XVXbhR+1It Rb$)E{ @@ -11,7 +13,7 @@ static-var buildHeading; #define UNITSIZE 2 #define MAXTILT 100 -#include "../unit_hitbyweaponid_and_smoke.h" +#include "unit_hitbyweaponid_and_smoke.h" static-var Stunned; ExecuteRestoreAfterDelay() @@ -19,7 +21,7 @@ ExecuteRestoreAfterDelay() if (Stunned) { return (1); } - turn aim to y-axis <0.0> speed <100.0>; + turn aim to y-axis <0.000000> speed <100.000000>; } RestoreAfterDelay() @@ -31,7 +33,7 @@ RestoreAfterDelay() Create() { hide emitnano; - buildHeading = 0; + BuildHeading = 0; return (0); } @@ -46,9 +48,9 @@ SetStunned(State) StartBuilding(heading) { signal 1; // stop the restore delay stuff - buildHeading = heading; + BuildHeading = heading; show emitnano; - turn aim to y-axis buildHeading speed <320.0>; + turn aim to y-axis BuildHeading speed <320.000000>; wait-for-turn aim around y-axis; set INBUILDSTANCE to 1; } @@ -62,12 +64,15 @@ StopBuilding() start-script RestoreAfterDelay(); } -QueryNanoPiece(pieceIndex) +QueryNanoPiece(piecenum) { - pieceIndex = emitnano; + piecenum = emitnano; } - +SweetSpot(piecenum) +{ + piecenum = aim; +} Killed(severity, corpsetype) { diff --git a/scripts/Units/armnanotc.cob b/scripts/Units/armnanotc.cob index 49cf6cebd99213c0f45c73a5ec70804db5598984..d1fdf917d837f246b5db31a7aec115160fcdf08c 100644 GIT binary patch literal 2358 zcmbVOJ&O}j6utS_xPrx#1zAO5KtUE1qMh9u6%|FIL9CRF$x{ZilaQUT1}uWr_F7oT zqP_kCYq1b)wGzZiE4u};@SOKC8E1E*G2w9EyPxOY_g+XJntvN$#ayQLb%uN|?|c=`)6o4CxHOV5R}N(Jir z8b$Ss{Cqx2&V=)3F80WoZ9$}Uf~uJ@O`IJiZ4EBm>^7V(G`dpCt6FzCk>AgrE@^Ie zMvpT(&YnKmTBoVN+@x-ElV{37fgiqf@n`F#SubIM`z)#j!>+ZW$Tw#NmS)11Mg$!}uNceW?*XKc=o zc?3Mt_z7ab-Mk@~^1XAPKgJ$}uLO2(T?A6+<0-ihoSZ;P8}C8w zNza7~`tT=|Hm(hKx1KmXV`k+uJ-OQXH*4OZ1lcmY$e>lz)GmCqNBpmnm zj(Y_vo{#4~Pc5cnPps*C^K+l)41D~*#N_*9-Fy!|AA6aH58aFU`P)6(t!7b7z6aL5 z4ZH;20iS>`z<1y$Z~%w10-OTQ0Q`^e6xae@0dIkiz-QnaunkoAiYx&~fMdW4a1yu_ zC5`bd9S-`jwAT6$^vyU*vf9gCx$sbTMv1qhZ??D~UrbA6fC>?xQr-azSc7?S2V zMm%G2J=bEYCUPK=2r>3cO$@aQ0Yjg$u#d23Vp)grk4&1IFi|~!3uCMyChw;KlXyOH zt`O&D^)p@fIKF93=AAgVvsX7qeZuX;<)a6wiL0-@F-JMcM{4DjUAg0Y;y5pJ*I`mW zhGs5zqczJ~>iIWPETI3zh8X5^X5IZfg5=ciwAak+VT%Ai4`=505R-os&83!l#m)3# z-?*>x&i0BiRcGb5)7@|vyxDCZkLlx1IRj1IIdeIS-t8xtT2F6NeZ39B`Q~c+8~PHw zDF-p^gW7Qz{v!02^V|FG;}rt8^Ba-5s@d}IQSh$0takx%?v;BZ{;kLJnSDAY+StKw zDD8zY+Q%-B=M>x~X`E<(9{1!30^~4N_pRZ%TGVdei&FgF_{5!2lY`n}YV17s8RxAO z{cYxZI8E}uaUj3we2DHarixv^^nN++ zc!764W44gT-H_*b?s>G&avhc@Z<$B^fAK6a+4H>iJp9dv^JpDH$+JNN^JyPXyednZo!BpR2XhFV`Y$7V-x26A~lgAmk|IETjRs4Y>#5|K$ec733Y{Gvq7e2jmwd znie?(ISDxfIS-kITuHOW=#EWR`n{{|(36Fvn=IRQtJ{BQ<C7~M#E{bp*HtXxYw T9VFaOR;?syS8O-UdWgy&T1%ee diff --git a/scripts/Units/armnanotcplat.bos b/scripts/Units/armnanotcplat.bos index f2e03c8fe8c..ea00c88862e 100644 --- a/scripts/Units/armnanotcplat.bos +++ b/scripts/Units/armnanotcplat.bos @@ -1,41 +1,201 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, aim, emitnano; -#define WATER_ROCK_UNITSIZE 5 -#include "../floatmotion.h" +static-var Static_Var_1, Static_Var_2, statechg_DesiredState, statechg_StateChanging; + +RockOnWaves() +{ + var rockDir, rockAng, rockSpeed; + rockDir = <-0.1>; + rockAng = <-0.1>; + while( TRUE ) + { + while( get ABS(rockAng) < <1.31> ) + { + rockSpeed = <1.45> - get ABS(rockAng); + turn base to x-axis rockAng speed rockSpeed*5; + turn base to z-axis rockAng speed rockSpeed*5; + wait-for-turn base around x-axis; + wait-for-turn base around z-axis; + rockAng = rockAng + rockDir; + } + rockDir = 0 - rockDir; + rockAng = rockAng + rockDir + rockDir; + } +} + #define BASEPIECE base #define HITSPEED <25.0> //how 'heavy' the unit is, on a scale of 1-10 #define UNITSIZE 1 #define MAXTILT 100 -#include "../unit_hitbyweaponid_and_smoke.h" + +#include "unit_hitbyweaponid_and_smoke.h" + +RockUnit(anglex, anglez) +{ + turn base to x-axis anglex speed <15.000000>; + turn base to z-axis <0> - anglez speed <15.000000>; + wait-for-turn base around z-axis; + wait-for-turn base around x-axis; + turn base to x-axis <0.000000> - anglex speed <12.000000>; + turn base to z-axis anglez speed <12.000000>; + wait-for-turn base around z-axis; + wait-for-turn base around x-axis; + turn base to x-axis anglex / <0.005495> speed <9.000000>; + turn base to z-axis <0> - (anglez / <0.005495>) speed <9.000000>; + wait-for-turn base around z-axis; + wait-for-turn base around x-axis; + turn base to x-axis <0.000000> speed <3.000000>; + turn base to z-axis <0.000000> speed <3.000000>; + sleep 150; +} + +Activatescr() +{ + sleep 1; + return (0); +} + +Deactivatescr() +{ + sleep 1; + return (0); +} + + +Go() +{ + call-script Activatescr(); + turn aim to y-axis Static_Var_1 speed <320.000000>; + wait-for-turn aim around y-axis; + set INBUILDSTANCE to 1; + return (0); +} + +Stop() +{ + set INBUILDSTANCE to 0; + call-script Deactivatescr(); + return (0); +} + +InitState() +{ + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; + return (0); +} + +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + call-script Go(); + currentstate = 0; + } + if( statechg_DesiredState == 1 ) + { + call-script Stop(); + currentstate = 1; + } + } + statechg_StateChanging = FALSE; + return (0); +} Create() { hide emitnano; - SLEEP_UNTIL_UNITFINISHED; - start-script FloatMotion(); + call-script InitState(); + Static_Var_1 = 0; + Static_Var_2 = 5000; + return (0); + while( get BUILD_PERCENT_LEFT ) + { + sleep 400; + } + start-script RockOnWaves(); } -StartBuilding(heading) +static-var Stunned; +ExecuteRestoreAfterDelay() { - show emitnano; - turn aim to y-axis heading speed <320.0>; - set INBUILDSTANCE to 1; + if (Stunned) { + return (1); + } + turn aim to y-axis <0.000000> speed <100.000000>; + wait-for-turn aim around y-axis; +} +SetStunned(State) +{ + Stunned = State; + if (!Stunned) { + start-script ExecuteRestoreAfterDelay(); + } +} +RestoreAfterDelay() +{ + sleep Static_Var_2; + start-script ExecuteRestoreAfterDelay(); +} + +Activate() +{ + start-script RequestState(0); + return (0); +} + +Deactivate() +{ + start-script RequestState(1); + return (0); +} + +StartBuilding(Func_Var_1) +{ + Static_Var_1 = Func_Var_1; + start-script RequestState(0); + return (0); } StopBuilding() { - set INBUILDSTANCE to 1; - hide emitnano; + start-script RequestState(1); + return (0); +} + +QueryNanoPiece(piecenum) +{ + piecenum = emitnano; + return (0); +} + +TargetHeading(Func_Var_1) +{ + Static_Var_1 = 0 - Func_Var_1; + return (0); } -QueryNanoPiece(pieceIndex) +SweetSpot(piecenum) { - pieceIndex = emitnano; + piecenum = aim; + return (0); } Killed(severity, corpsetype) diff --git a/scripts/Units/armnanotcplat.cob b/scripts/Units/armnanotcplat.cob index 1bc092dc27481fab2294f29b6eb49f1eaa188764..87e40d2ede3e38c3c0287720a7d49e6c431e9c4b 100644 GIT binary patch literal 3946 zcmbVPJ!~9R5FTGHXNSKmq6jI14hoPWgidsb#xaTPC=obzkW+wk%iT*@#on{edjU%+ zOcBXaQX~?B5=4W9XsGB2LV}haBpRTgiPA^HeBZn`d+(Mzb7rH@?`LMd`R2XZJ*6%p zCx9cs8vZme^4WV*=Dn5tl4C%Db^UB8S!74Zf-a zwadKM#e1h8N9y8e=e`^ExJCZhk9^Yd_j4Ol#&WOL8gl*g^k_ZGjoju-4HC}YbTX!T zK9-kvHX1vOryRSJ>isZgt3Kqd<{W1uo$0W%{zZ+TeU>jr-+7_HU!&vU_#>FhitLBBB$kKI2< z`V8y9Jz#CUYk6WlUp*H2hh8HmbzQlgj8b78`suf z=4<^$efmv9um6l-yRRxod>+Q9ZzBl#9y4z>wzMM$?b7z|ia?y%hWfqjAstcQEdBAA z-Ezcn%DL?0{tj_yQ+@0_El%be$*=G+KC8jj`h9GRe_xURSj59A{W;Qq?-{>l$~d0$ z_}lS(=*7EqL=REJ30@4o3;3%~9M9VHcfH+6UJ0=bwX=VAG0Jy9KPfSKhj$#`3AxK0 zpZjxL3VNQ-4$b3yO8v0oQ>6V}?tz1I<(OcvYNU)ZenQMNob+L7_8U`j zLKAb^+RlgHy!ei(Lwh3lvW7`qaSh}>$=Iep-}})$S})S42^WsL7^RKxTQXbr7bmo7 zFT=(;e{<+pjiD~?HN&`z(fG7}*!28Sx7A92{hbXO9|VndUI%fKp7H-j<6&YB(%zwn zp#4RByr_rYu=sorlZ$lZU{0&e&iXKSVDZz$RO=g8gYmJJ!|0*=qE1>iF94$uX*fF0l?;12LH!2i2l0lGjA z+yrg`_khoUFMuzBZ-DQBAA#S1zko+T9sg-L4x9o`1Fr##z$M@c@Gg)7E4|M3xAL|0 zhTE2C0J{Myti1tQNgZIgjYo z0xq)RwgzrHEZ*ol?w$M4bq0l7!G5pr&Ri{A|Eyb2cVyMUaggT@$^K=utWioNOZ&yb zAY1Qd`87>lE-npRf9K6K?=5Gp9&(J+Yq;r I6*;2h9|*-6ZvX%Q literal 2809 zcmbtWJ!lkB5T5(Vsi{`bLJ+xtg@xiF2$nI58Z>g6!ZvGe39I)L&P@>zv{1CN3>G3H zTH9G!iq=*ZHbOvCSRC5e>G!>T-`&f)q=*T_zWM!T=FL2=Zf5&HHPF4PSp{GI9h)}0 z0$K$f2Y(k|YgVI5RE;jupjnTqt!l(07 zwdxV`a6FUuv1qHl@SE43Nk1y=P56z zq;BbpbxY1v%J7w|?NB%G!kT&Ax);?g{(tM{oP~8WE_uz;tr-YP>XyE>w*9^(hu5y_ z&gV9-o9FPp#qYZAD8FycO<1?$&QsB4W_Zb&O$Ap3iB3OmYN9F@~>c*4r^IcStyVGw7pSDcAff2lIOv`UsQ0bP?{q zzBSy58%TX+8N?2X7S56A+#l4(MG&%LmT&|pl0>{ER@Vw_f%Fh<89HvzgzBY z#eHz!*gyI5%bBG8us+F4HLGW3I=YVY_A^YLz2MAl;y@l@-JBAaNA;XK)}pz6=j|!d zY=-eeKNr)_klshigrPjf7*X&pd%w>fuY#|Q{2gOAzj%2ykcZf(m>~M9U4HHDDR#TO zWaIe^clf8bTVP!DobSLE&)6-x@-M8{?N)md>;C4XcZQjyt0VMLZ#H>r?sfOcquz?5 z-hv!ur`hJ6hkXq7vgFT)Y;PB_bS_BdUS!yO6hQ5>2Q=Q$6kPkB7?d=ZDX#aQyC3-ue`SFyww zW6|svXa&I-w8Q8ANS&wq_fx?+)nJ=Fp0Co7PEMm&8?-~PTF4qH&`7r*VdBZ g`qj8UXs5|?VwclyH|f~T_)cPR+OwpWW_@VwFHAADp#T5? diff --git a/scripts/Units/armnukevader.bos b/scripts/Units/armnukevader.bos index 39bb10a1ded..70a9b3d7b19 100644 --- a/scripts/Units/armnukevader.bos +++ b/scripts/Units/armnukevader.bos @@ -1,29 +1,32 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece leg1, leg2, leg3, leg4, base, body; -static-var isMoving; +static-var bMoving; -#define SIGNAL_MOVE 1 +#define SIG_MOVE 1 walkscr() { - while( isMoving ) + while( bMoving ) { - if( isMoving ) + if( bMoving ) { - turn leg1 to z-axis <0.0> now; + turn leg1 to z-axis <0.000000> now; sleep 33; } } } -Movement() +MotionControl(Func_Var_1) { while( TRUE ) { - if( isMoving ) + Func_Var_1 = bMoving; + if( Func_Var_1 ) { call-script walkscr(); } @@ -38,16 +41,17 @@ Movement() Create() { hide base; - isMoving = FALSE; + bMoving = FALSE; } -#define BASEPIECE base -#define MAXTILT 0 -#include "../unit_hitbyweaponid_and_smoke.h" +#define SMOKEPIECE base +#include "smokeunit_thread_nohit.h" -StartMoving(reversing) + + +StartMoving() { - signal SIGNAL_MOVE; + signal SIG_MOVE; move leg1 to y-axis [0] speed [28]; move leg2 to y-axis [0] speed [28]; move base to y-axis [0] speed [28]; @@ -55,12 +59,12 @@ StartMoving(reversing) sleep 150; move leg3 to y-axis [0] speed [28]; move leg4 to y-axis [0] speed [28]; - isMoving = TRUE; + bMoving = TRUE; } StopMoving() { - set-signal-mask SIGNAL_MOVE; + set-signal-mask SIG_MOVE; stop-spin base around x-axis; turn base to x-axis <0> speed <38>; wait-for-turn base around x-axis; @@ -71,7 +75,7 @@ StopMoving() move base to y-axis [2.5] speed [18]; - isMoving = FALSE; + bMoving = FALSE; } AimWeapon1() @@ -89,31 +93,34 @@ FireWeapon1() emit-sfx 4097 from leg1; //Weapon2 detonates the crawling bomb once weapon1 fires } -QueryWeapon1(pieceIndex) +QueryWeapon1(piecenum) { - pieceIndex = base; + piecenum = base; } -AimFromWeapon1(pieceIndex) +AimFromWeapon1(piecenum) { - pieceIndex = base; + piecenum = base; } -QueryWeapon2(pieceIndex) +QueryWeapon2(piecenum) { - pieceIndex = base; + piecenum = base; } -AimFromWeapon2(pieceIndex) +AimFromWeapon2(piecenum) { - pieceIndex = base; + piecenum = base; } FireWeapon2() { } - +SweetSpot(piecenum) +{ + piecenum = leg1; +} Killed(severity, corpsetype) { diff --git a/scripts/Units/armnukevader.cob b/scripts/Units/armnukevader.cob index f21a9e6e8ba857119a51fb2d9512327d024dcbe8..2d661d1b743e7add968883da353f515800282222 100644 GIT binary patch delta 600 zcmZ9}K}Z`x6b9foyW?&GVn>1zsfb8X2*pM*jo#AaQm}>UqV-~Rm8Are-6Wkh+S2yY z((`t}lNX`a9@?G?JqXfcE1r99&-JWG|F@f741C#{H!uIZB!{{4fr2EWL2y6|A`4G` zUGx!EP<#V7u|II)!m9aZs}k>|vJ`h&#on{Gr%gvq@xi#0obwVfst|w5iG2LMY>w=H z>p7X9_QYtF4~u<@KjdL45aK5_q29~6o z(mOPnQ07N=duP54 z^5s;%v+ymYAam+mH*4;wSTaxDve+;m@!mAQ-P-G0Xr70cun#{Vi|l^526-5RNtlM) zumE@90RPAb_zYj+7*609{DCvLfQ(Bt1UFy?DsT^0U0S4dEVke=G@uR7pzAkwo@{sM zex&PBSc^j4i5gVv1ilW)YeqZ4N?6x)x2~&u4+Fmyh2}EzD(iKFKzpr7n-|&1e=wL= Ad;kCd literal 2465 zcmcguJ!n)x5T3idoQfdNfQrQ8MNvUgyj(2OnfMbF5tJx)l9${g9JxO(7bRd3P{BqE z3k6ZI)6UY;bc&swSgWKI5i3LdzTKU7d(VsMJos*QXXcxkot?cT5Rtt=3D_uz6e0PE zc8XMhSHLLtYmh-$42^NN6b@nG?`bHgeNBuXV^KFkQd|gSvSjp`-{n%sHPVV8=5Yu= z=3(k1%i)szqY&g&xOXx4IUQAkm@+G2;OTB{F>>jJ^o4Z z-&(;Gi&dsU}R3cr+#&_hIKl) zUhvGk4+-s^D3_9ROaF)1Xzlr)^|O(h`Qz@iH|zyx_6QcV2i#*$c?K@E=d|%GI=8>E z)Ob3Zy4TsDdlu8p&<-z;=AaMjpfou`z6hOVJ9`HluRzD|c1HN7hn>FY>6OcPWfpU;m{@=$Hwdt_&XbZOb&6p=&O+3;&*`anD50V%Po-|-$p>b>UU zn|I*+@;1(c#;5G}Tcy2~RXrOVCwud2ZLr|(yEeh3nR$TPo_)y5)s4-+`_gMOb#1}( z>lW$d^`2L4(BdBaezMemo)d4Z-MdsnWW$Uu;**x+w^DnAnSbY1e`%GWT{JS%=?|AEu$Np}|n`bP?`{j7Nvwl3*vXzZt`1kb$Fb*WZ7vLCT z-Tgr1AYLT!0ufl`+*T)6qo?c0at+pXaTo@ zJHUP50q_WT0z3n5CAGz+`L?da{sK zX6ntwRAxF!y8~{uv4C~6<(5;`y5){Zwk*qZwVkT^%5vIv@r}=PyO~iuTbcZ>&5u!* ei`7~!tw=3h7~@x&U*r5bDRaqEDs#=siu?gXwZwP; diff --git a/scripts/Units/armpb.bos b/scripts/Units/armpb.bos index 3dd1e7c873b..1d0e8e19eb3 100644 --- a/scripts/Units/armpb.bos +++ b/scripts/Units/armpb.bos @@ -1,51 +1,77 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, turret, dome, gun, barrel, flare, aimpoint; -static-var isOpen, restore_delay; +static-var OpenClosed, restore_delay, statechg_DesiredState, statechg_StateChanging; // Signal definitions -#define SIGNAL_AIM1 256 -#define SIGNAL_IDLE 8 +#define SIG_AIM 2 +#define SIG_RESTORE 8 -#include "../opencloseanim.h" - - -Open(){ +Go() +{ set ARMORED to 0; - turn dome to x-axis <0> speed <550.0>; + turn dome to x-axis <0> speed <550.000000>; wait-for-turn dome around x-axis; - move turret to y-axis [0] speed [50.0]; - move barrel to z-axis [0] speed [15.0]; + move turret to y-axis [0] speed [50.000000]; + move barrel to z-axis [0] speed [15.000000]; wait-for-move turret along y-axis; wait-for-move barrel along z-axis; - isOpen = 1; + OpenClosed = 1; } -Close(){ - isOpen = 0; - turn gun to x-axis <0.0> speed <90.0>; - move barrel to z-axis [-7] speed [15.0]; +Stop() +{ + OpenClosed = 0; + turn gun to x-axis <0.000000> speed <90.000000>; + move barrel to z-axis [-7] speed [15.000000]; //wait-for-turn gun around x-axis; //wait-for-move barrel along z-axis; - move turret to y-axis [-32] speed [50.0]; + move turret to y-axis [-32] speed [50.000000]; wait-for-move turret along y-axis; - turn dome to x-axis <135.0> speed <550.0>; + turn dome to x-axis <135.000000> speed <550.000000>; wait-for-turn dome around x-axis; set ARMORED to 1; } -static-var Stunned; +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState ) + { + call-script Stop(); + currentstate = 1; + } + else + { + call-script Go(); + currentstate = 0; + } + } + statechg_StateChanging = FALSE; +} +static-var Stunned; ExecuteRestoreAfterDelay() { if (Stunned) { return (1); } set-signal-mask 0; - start-script OpenCloseAnim(0); + start-script RequestState(1); } SetStunned(State) { @@ -56,8 +82,8 @@ SetStunned(State) } RestoreAfterDelay() { - signal SIGNAL_IDLE; - set-signal-mask SIGNAL_IDLE; + signal SIG_RESTORE; + set-signal-mask SIG_RESTORE; sleep restore_delay; start-script ExecuteRestoreAfterDelay(); } @@ -68,74 +94,91 @@ Create() hide flare; hide flare; restore_delay = 3000; - isOpen = 1; - OCA_intransition_wantOpen = 1; - SLEEP_UNTIL_UNITFINISHED; + OpenClosed = 1; + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; + while( get BUILD_PERCENT_LEFT ) + { + sleep 1000; + } // close and armor once construction is done // only if no target in range when done - set-signal-mask SIGNAL_AIM1; sleep 1000; - set-signal-mask 0; - start-script OpenCloseAnim(0); + if (statechg_DesiredState) + { + start-script RequestState(0); + start-script RequestState(1); + } + +// turn dome to x-axis <-135.032967> now; +// move gun to x-axis [1.500000] now; } -#define BASEPIECE base -#define MAXTILT 0 -#include "../unit_hitbyweaponid_and_smoke.h" +#define SMOKEPIECE base +#include "smokeunit_thread_nohit.h" + Activate() { - start-script OpenCloseAnim(1); + start-script RequestState(0); } Deactivate() { - start-script OpenCloseAnim(0); + start-script RequestState(1); } -AimWeapon1(heading, pitch) +SetMaxReloadTime(Func_Var_1) { - start-script OpenCloseAnim(1); - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; - while( !isOpen ) + //restore_delay = Func_Var_1 * 2; +} + +AimPrimary(heading, pitch) +{ + start-script RequestState(0); + signal SIG_AIM; + set-signal-mask SIG_AIM; + while( !OpenClosed ) { sleep 250; } - turn turret to y-axis heading speed <200.0>; - turn gun to x-axis <0.0> - pitch speed <200.0>; + turn turret to y-axis heading speed <200.000000>; + turn gun to x-axis <0.000000> - pitch speed <200.000000>; wait-for-turn turret around y-axis; wait-for-turn gun around x-axis; start-script RestoreAfterDelay(); return (1); } -FireWeapon1() +FirePrimary() { emit-sfx 1024 + 0 from flare; - move barrel to z-axis [-2.600000] speed [500.0]; + move barrel to z-axis [-2.600000] speed [500.000000]; sleep 50; - move barrel to z-axis [0.0] speed [6.0]; + move barrel to z-axis [0.000000] speed [6.000000]; } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - if (isOpen == 1) + if (OpenClosed == 1) { - pieceIndex = flare; + piecenum = flare; } else { - pieceIndex = aimpoint; + piecenum = aimpoint; } } +SweetSpot(piecenum) +{ + piecenum = turret; +} - -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = aimpoint; + piecenum = aimpoint; } Killed(severity, corpsetype) diff --git a/scripts/Units/armpb.cob b/scripts/Units/armpb.cob index c9b592c70a494fc796e3d8da88f84465ced96f32..3d34aeca359b89c23e57ee0e1f1d69f446d498c1 100644 GIT binary patch literal 3740 zcmb_f&x>1C6h2AQ%z(dM#f{+Nxz!3`RxSjcaU2UpXeWw-3+Fj=r#wyaGOsUf2N8l) z-Do%B&PBn6f?GxZf-YTkq3A*oMCeAOAeM@L-?{fBH!;cl&hKM`} zECDMgM4DLn+`d=jsry8(0;lnQ9cwMACl6uIl{S(tC)_vQuSGIR>Z-&aYQx_9tc>jv zXrWVRyay(94d~Q2t&Qvidy_LBeH$%bi;oY%xu({H-GuJ$({bIBpjCampXL7ZZ$Vvg z4zLpH`bl+GGi$LuV;Bc_UPIV)J_p7heT_dY1a(V_UVsMTX?1pbq=hb-h; zroQiU=^l9*L-V$3I2p5jWeXbmVm%qH?DLy@{A?J*IE>FM<R2b&w~W1seJ{Ao<&JritouBe^ofhE{{ z=(k2e%g^P}V4tZB-xc)S&dL+V(D;duaXQL5E8mL7K9P_&#)rAquXX5@eNIeJxn2wL zYBc-}w*nvVy%FT~DS6C~@e%Xa4t^R3=Z$lk|5n;3FWH8ek^bLZ;m?i4ZRBvh{Z*ugmWBoe!E89h26jYb?5uD;?D_x5yvs6 ze;be#x$MryTU3Le=S>t$f9ADwNnXASa^4#zALR)#`Obb9=@oi)bNd4|5<3Vo}6YkUu+@Tct%tHtEjYMs_u-$&`~zwmLCJjT;ed=~MyO(Ft+ zHv@m{h3E1(JTM&jWKOP!ITx14eApZ3bXb4mp1J6A(D^&a?*HJJbxiYk-2O-hY*WY-bWy&BjEW$+Evk)O}9627pr!aRZgC};PE1RxUWIHeBT_>w~ z_gtBGvvOZH^3vJ<{J@p__R_xWP(;6|XuVMuBagFrr-Qm)&n`Nt24(3g*(nh8!k`Bs T-aE3}$x0_#-t8B8uabWNRN55o literal 3526 zcma)9J&0UY6h1RMnM8E;CD@3CPXw!gFCj(1!kO$Eln`BA&`$Sd=WZCBKi<9xNoSE@ zBdOFzkp&AuEW{ra#73~Ovd~r(QA`&hjUl4nckVs!-TB##vmEZZ=l473o_inL5|N{z z!ys7^Im8vee%XhN2OQ3~LNwGXIqiaE@zG}cpJVaoDpK9yh}dweSHkJ z>=X4BhK*WB8B1W@8Uua2hyM8S%n0A^pq(Lm%`>1b#$kB5>R-^`VuFr;d)UiZ#~3&n z?dclqYK-lf7+Pzn>A7G>8Q%*#pVRlxVx?TN743=o1B0ZvQS<{b7kw-zajA}($t?KR z{#3J0`d$Ug^%_>jV7V4^ewEChk=erZuC}oa{aLg1z6&LD+Bq%5O$>exeJ@xu&jYVc z70Y7StX@Yz!#>}$Wx5%Rm`Upmd%^qi7Z}ECagRA=4P=>@D|M{J=JxwwPm#@Lg$MCt zKaCk?=%*-;<)9zLbq;+wd|sQq--BO+hBy6;@J`usBI1D%mZ!mehJG}4UM8ezpFouHuwlM-B5fm zqdj$ok2O;#slNkyZ@I?}Fdy=@yzSpxm{iztZW@mVh92`h_VI5uxbE!yv+%w1{Y4Jw zMcNgf#qT15AwK(M_0vZ&hxhK4P&4z|Z19XP1UbJGCinU3nA{(vXWn=&9)hc+{#|=J z#3vTU*M7lzk2cBSYW{6MuV+u0|Gi+(_Hl3a)<@eTomA(Ap2WDcp8?m`0hiim`{TNb zc*JSA499-BOmDbse-N&1<_Nfc4Y(LT?w7@(DeK30&ft1K>Ai{oQae_Iz%O z&5+c;6JlFWY;U>E-g4XCa-02pPZ;(bXbSoO^abcU(2pR#O;3P61@W7D2h>7<)1VEI z0}Vm^KjLT5Z=f5X=Bmgl=n>H4pi`g@=sf5pP!1Y^E`zRt-U7V~+5>$E`WW;H=u6Ny zpywxUv^E&;y6&hy)Sc*7p1$n1r=@$*?Uv)hb$3cvth+&eMK)czSx!eI*ONu%TH*52 z$us@(%$1j2J{gam?ZrD;&xiR%*V`P9UvtvkF8h~gzwUBlyZxbeJRxWMg){zzsVhRn x69SvF#kjIN*B=ak=0d*fq?{IoE2TFcI=MIuCT diff --git a/scripts/Units/armpeep.bos b/scripts/Units/armpeep.bos index 61dc3b66bfe..8d516252b90 100644 --- a/scripts/Units/armpeep.bos +++ b/scripts/Units/armpeep.bos @@ -1,36 +1,102 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base,wing1,wing2,jet1,jet2; +static-var statechg_DesiredState, statechg_StateChanging; + + #define BASEPIECE base #define HITSPEED <105.0> //how 'heavy' the unit is, on a scale of 1-10 #define UNITSIZE 1 #define MAXTILT 100 -#define BARRELROLLSPEEED <200> -#include "air_barrelroll.h" +InitState() +{ + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; + return (0); +} + +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + currentstate = 0; + } + if( statechg_DesiredState == 1 ) + { + currentstate = 1; + } + } + statechg_StateChanging = FALSE; + return (0); +} + +static-var maxSpeed, currentSpeed; +BarrelRoll() // remember to start-script BarrelRoll(); in Create()! +{ + currentSpeed = (get CURRENT_SPEED); + maxSpeed = (get MAX_SPEED); + + while (TRUE){ + sleep 2000; + currentSpeed = (get CURRENT_SPEED); + //get PRINT(maxSpeed, currentSpeed, Static_Var_1); + if( Rand( 1, 5 ) == 1 AND (maxSpeed < (currentSpeed+100) ) ) + { + turn base to z-axis <240.054945> speed <120.027473>; + wait-for-turn base around z-axis; + turn base to z-axis <120.027473> speed <180.043956>; + wait-for-turn base around z-axis; + turn base to z-axis <0.000000> speed <120.027473>; + } + } +} Create() { hide jet2; hide jet1; + call-script InitState(); start-script BarrelRoll(); + return (0); } Activate() { show jet2; show jet1; + start-script RequestState(0); + return (0); } Deactivate() { hide jet2; hide jet1; + start-script RequestState(1); + return (0); } +SweetSpot(piecenum) +{ + piecenum = base; + return (0); +} Killed(severity, corpsetype) { diff --git a/scripts/Units/armpeep.cob b/scripts/Units/armpeep.cob index 60bf34f5b9bf3ecb19932f08b08ae33a7f8b33ab..b196a1a23d84d530ff4f963d582496b05ecf2a24 100644 GIT binary patch literal 1873 zcmds2u}&L75FH=K5ka%*l1P!R2ptl}1x=b5kfJ~e3qx;XuaMCRh`B%+z5pSSDpgt{ zN{W>EgcSLR)ag>ed%HVkLAE72z|!;1&b)cEvpa@VM4kbYz_*G>ij|+QnaCyZ2bjbD zFV>1l3@DOT6GIO7T)C%T_tMCWT=bZUB{a+V$jpR@9P9U=522J_524Mx%j(u z{K~*4@9N79e;iNsC~=F2JKKPZS}w-B1cB?F|S&W?@g-iP?^S~nT7N`U7 zfseq4-Co%&+ohFt`{}bi2%DvLzi*56y`qrizGb-HDSL-BR%~0%=8?5!bAPXtwO&!! Yu57grtQ_@rw-?-ZO?GU#z^|HI11R2q7ytkO literal 1088 zcmcgrJxc>Y5S`rR60lm(#zMKqMl3E@*x2|H1W9u!Hdda=B9TMoJhZg(Ux=g={0(An zmmiTIk<#}rvzj{)3n2^dW_IW8?3)>`DI$Sl0_)bhFER!uz!natuo8NPXc*7*NDQ0C zi*Sa;vj&~>mO0e@xD6+2l>9Zuluw@H(+(Ij&62l5KMZg>%S-F{GoEk61V(NFywwGr zIg-%4*&l;`r{^P!1af*Rpv*}*pDa8#h!6Cu6HBs#k9X?^{o4P+-Y%q*F(2wZEhxl zdgpb-%&9tF;Zhs#FIq=`PRFO}U|oyQ!J7Yi>xKF-i~shXX^wys;0#Cs{--{Mv;-^z z>%a!E2}Hm)umkL;d2X}gn=F%q+@^( -#define TB_TILT_X <0.10> -#define TB_BANK_Z <0.10> // Do not define this if you dont want banking -#include "../tilt_bank_mobileunit.h" +#include "unit_hitbyweaponid_and_smoke.h" -Create() +RockUnit(anglex, anglez) { - hide flare; - restore_delay = 3000; - call-script TB_Init(); -} - -StartMoving(reversing) -{ - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; - - START_TILTBANK; + turn base to x-axis anglex speed <50.000000>; + turn base to z-axis <0> - anglez speed <50.000000>; + wait-for-turn base around z-axis; + wait-for-turn base around x-axis; + turn base to z-axis <0.000000> speed <20.000000>; + turn base to x-axis <0.000000> speed <20.000000>; } -StopMoving() +Create() { - signal SIGNAL_MOVE; - STOP_TILTBANK; + hide flare; + restore_delay = 3000; } -SetMaxReloadTime(reloadMS) +SetMaxReloadTime(Func_Var_1) { - restore_delay = reloadMS * 2; + restore_delay = Func_Var_1 * 2; } static-var Stunned; @@ -56,8 +46,8 @@ ExecuteRestoreAfterDelay() if (Stunned) { return (1); } - turn turret to y-axis <0.0> speed <60.0>; - turn sleeve to x-axis <0.0> speed <55.0>; + turn turret to y-axis <0.000000> speed <60.000000>; + turn sleeve to x-axis <0.000000> speed <55.000000>; } SetStunned(State) { @@ -72,37 +62,40 @@ RestoreAfterDelay() start-script ExecuteRestoreAfterDelay(); } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; - turn turret to y-axis heading speed <75.0>; - turn sleeve to x-axis <0.0> - pitch speed <64.0>; + signal SIG_AIM; + set-signal-mask SIG_AIM; + turn turret to y-axis heading speed <75.000000>; + turn sleeve to x-axis <0.000000> - pitch speed <64.000000>; wait-for-turn turret around y-axis; wait-for-turn sleeve around x-axis; start-script RestoreAfterDelay(); return (1); } -FireWeapon1() +FirePrimary() { emit-sfx 1024 + 0 from flare; - move barrel to z-axis [-2.700000] speed [1000.0]; + move barrel to z-axis [-2.700000] speed [1000.000000]; sleep 50; - move barrel to z-axis [0.0] speed [6.0]; + move barrel to z-axis [0.000000] speed [6.000000]; } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = flare; + piecenum = flare; } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = sleeve; + piecenum = sleeve; } - +SweetSpot(piecenum) +{ + piecenum = base; +} Killed(severity, corpsetype) { @@ -113,7 +106,7 @@ Killed(severity, corpsetype) explode turret type BITMAPONLY | NOHEATCLOUD; explode sleeve type BITMAPONLY | NOHEATCLOUD; explode barrel type FIRE | SMOKE | FALL | NOHEATCLOUD; - + //explode flare type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } if( severity <= 50 ) @@ -123,7 +116,7 @@ Killed(severity, corpsetype) explode turret type FIRE | SMOKE | FALL | NOHEATCLOUD; explode sleeve type FALL | NOHEATCLOUD; explode barrel type FIRE | SMOKE | FALL | NOHEATCLOUD; - + //explode flare type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) @@ -133,7 +126,7 @@ Killed(severity, corpsetype) explode turret type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode sleeve type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode barrel type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; - + //explode flare type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; @@ -141,6 +134,6 @@ Killed(severity, corpsetype) explode turret type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode sleeve type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode barrel type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; - + //explode flare type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/armpincer.cob b/scripts/Units/armpincer.cob index af9306cff3120095abd64f428b80330fa2abdf24..4ed0c0dc462f5267795cfb31d8bc29175f6ddfcc 100644 GIT binary patch literal 2955 zcmd5;J7^S96utY&MkDB02+?XlBq9o{pjb%~H7HStyJ|!%GG%lDvo<0fvCJtVj-&AAdyT z5%3Z?i}PDh@v~kUSr0!DXFw~C@+`%iC*wIUTg-ZlM>|s5+4$a&CvydF)X6|ZW(v?I zc8n***zP1)&7m=QJ~0-@&Oooe%&oSpL45HTO6#N#^;VXmwytfyi9hWHk*!~fC(C&6 z4<>Q@bMB;5KT`J2xiSuW;cQ-k@SNw_&)Zp&WuK(fO_Fgl3Y{#lvW$&IHeZZm(w=9X zGud8zw~w`yjB}<G+i7rYlvp6!!AaB>h^ zXZo(`e2!9wd2mJ>V42_E70i$oXiYSenfU&^b9U6}Jj5%+vxZFX4k>MtKCl;j^zLdN zt&6#z;d1uu-Cd)P>PUIk*y1O5%DxqB%If*$c(U}nd^n~&OW!@-Nk=oyXYbUU^xoa( zp}6;LHa;s$?v%b?&Z*zlZkR&Mei(ydF3yX&$ZwoUb zqJG_8eypAL3_xnH6)AUH#u&{noy?zxoHML;KPm(lx4V zka&CbHP8NCUzcFW`RKjSItIzbaE!s6r1a%{$?sUuA7I+P80bhZi0DrNM0;hrVz2b1X{ofuns%{Zd9Ym&a4Sq&4!fg%|&ysQH|2ln-wWF=NGN` zYG{JUNZCZUgVmC$HG|6CYTd~7RWsj?Ovx-o&CpCNL?*muYC(sV<*40g7zEj-oT%1k z!fHJTJ2F)bjq-QeChX_|HdA4B7<&1OAb8^ z-98p|pAp#FuQvhk>7){qRE6CKVdk`B+vu=hNwIissGqx=R& zr^mBKyW~}6F;-UQGn4dDr>?4AjFD=ZOM39!CwV;m-2J%{-`eA`C(&LxSj%D!o*Opa z7vf>!aUZnZw?~h9vArsi^Anxe(i`_#KdoKP$aST9q;6FQdusOHPfJKlpVL7#lfy0w zsTb7DJS;0`;wG)qmA4`b;~yo9y6u49{Z}Bjbko-6(hY zPO=*#;oIfT+3AVwZsIp8e7D8lDam6WGzavrCw>=r6K-)&gv9Mnsn zkDp!>z5OEfb}IQq=KDjXu|L`$`av1h`0$8FO~}ya*;?g2jC8UkPxPw!TI&0(jH|M^ z*EKtQ#m-m!?_QCi_L`h-?hEiHGPWqRk}+HHLt*hd_Bp;>?q~E>t7H4c{Tj(N)~`EV ztx1)SYKQh($%+3g{Kz}n&Zqb&>HX;YXtq0!&Tnts+tXV!&c%1Sd^eWgC;mZ=dQj7g zf#jc>(ZM%&82-qnA}58zvH0v|5ehb z&QWibUo~#5J;mKgaijjf#C5+O_iBpsf8wrSlj8oA;(9;bug5`^dcKBG{Vw-skNato z*XzZ$?%QoK`7gd*zwR6RmxLdLUxedI?n&WG;Tz#c;dkLL;jVB(4jva?5f+5^g!2Ob z&rb=j3U3HY!uvuHdcv0QvGBR@y>LzVRk$hqDcln73C%~$CWTCRLYNZX>=rYZ-wpZt zpg-HGKH0)xW%ZqYx3Dw$T7EHf7S{%=!Iow|n1#92?G-b5f7MbKPD~zRu?x!HUh{FchM7^z1?}9|qg#g>Wg@ EKjnK2g#Z8m diff --git a/scripts/Units/armplat.bos b/scripts/Units/armplat.bos index bd3ae44b9f9..064c38b13f1 100644 --- a/scripts/Units/armplat.bos +++ b/scripts/Units/armplat.bos @@ -1,19 +1,64 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" -#include "../factories_common.h" +#include "sfxtype.h" +#include "exptype.h" piece base, plat1,plat2,tower,nc1,nc2,towercover,nano2,beam1,beam2,beam3,beam4,nano1,nano3,nano4,nc3,nc4,nanotower3,nanotower4,pad,blink; -static-var activationState, spray; +static-var Static_Var_1, spray, statechg_DesiredState, statechg_StateChanging; static-var Stunned; // Signal definitions -#define SIGNAL_TURNON 4 +#define SIG_ACTIVATE 2 -#define WATER_ROCK_UNITSIZE 20 -// Otherwise it wont move up! -#define WATER_ROCK_FREQ_Y 0 -#include "../floatmotion.h" +activatescr() +{ + move base to y-axis [37] speed [17.5]; + + turn towercover to x-axis <-90> speed <90>; + turn plat1 to x-axis <90> speed <45>; + turn plat2 to x-axis <-90> speed <45>; + + + move nanotower3 to y-axis [4.5] speed [4.5]; + move nanotower4 to y-axis [4.5] speed [4.5]; + sleep 1000; + + move tower to y-axis [26] speed [26]; + + move nc1 to z-axis [-7.5] speed [7.5]; + move nc2 to z-axis [7.5] speed [7.5]; + + turn nc3 to z-axis <-90> speed <90>; + turn nc4 to z-axis <-90> speed <90>; + sleep 1000; + set ARMORED to 0; +} + +deactivatescr() +{ + move base to y-axis [0] speed [17.5]; + + move tower to y-axis [0] speed [26]; + turn plat1 to x-axis <0> speed <45>; + turn plat2 to x-axis <0> speed <45>; + + + turn nc3 to z-axis <0> speed <90>; + turn nc4 to z-axis <0> speed <90>; + sleep 1000; + + turn towercover to x-axis <0> speed <90>; + + move nc1 to z-axis [0] speed [7.5]; + move nc2 to z-axis [0] speed [7.5]; + + move nanotower3 to y-axis [0] speed [4.5]; + move nanotower4 to y-axis [0] speed [4.5]; + sleep 1000; + set ARMORED to 1; +} + #define BASEPIECE base #define HITSPEED <20.0> @@ -21,10 +66,11 @@ static-var Stunned; #define UNITSIZE 7 #define MAXTILT 100 -#include "../unit_hitbyweaponid_and_smoke.h" +#include "unit_hitbyweaponid_and_smoke.h" RadarOn() { + while( TRUE ) { if (!Stunned) { @@ -35,8 +81,99 @@ RadarOn() } sleep 2500; } + sleep 50; + start-script RadarOn(); +} +RadarOff() +{ + +} + +RockOnWaves() +{ + var rockDir, rockAng, rockSpeed; + rockDir = <-0.1>; + rockAng = <-0.1>; + while( TRUE ) + { + while( get ABS(rockAng) < <1.31> ) + { + rockSpeed = <1.45> - get ABS(rockAng); + turn base to x-axis rockAng speed rockSpeed*5; + turn base to z-axis rockAng speed rockSpeed*5; + wait-for-turn base around x-axis; + wait-for-turn base around z-axis; + rockAng = rockAng + rockDir; + } + rockDir = 0 - rockDir; + rockAng = rockAng + rockDir + rockDir; + } +} + + +OpenYard() +{ + set YARD_OPEN to 1; + while( !get YARD_OPEN ) + { + set BUGGER_OFF to 1; + sleep 1500; + set YARD_OPEN to 1; + } +} + +CloseYard() +{ + set YARD_OPEN to 0; + while( get YARD_OPEN ) + { + set BUGGER_OFF to 1; + sleep 1500; + set YARD_OPEN to 0; + } } +Go() +{ + + call-script activatescr(); + call-script OpenYard(); + set INBUILDSTANCE to 1; +} + +Stop() +{ + set INBUILDSTANCE to 0; + call-script CloseYard(); + call-script deactivatescr(); + +} + +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState ) + { + call-script Stop(); + currentstate = 1; + } + else + { + call-script Go(); + currentstate = 0; + } + } + statechg_StateChanging = FALSE; +} Create() { @@ -47,87 +184,61 @@ Create() hide beam2; set ARMORED to 1; - activationState = 0; + Static_Var_1 = 0; spray = 0; move base to y-axis [2.500000] now; - SLEEP_UNTIL_UNITFINISHED; - move base to y-axis [0.0] speed [5.0]; - start-script FloatMotion(); + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; + while( get BUILD_PERCENT_LEFT ) + { + sleep 1000; + } + move base to y-axis [0.000000] speed [5.000000]; + start-script RockOnWaves(); start-script RadarOn(); } -QueryNanoPiece(pieceIndex) +QueryNanoPiece(piecenum) { - spray = (spray + 1) % 3; - pieceIndex = beam1 + spray; + piecenum=beam1+spray; + spray=spray+1; + if (spray>3) spray=0; } Activate() { - if( activationState ) + if( Static_Var_1 ) { set ACTIVATION to 0; return (0); } show blink; set ACTIVATION to 100; - - signal SIGNAL_TURNON; - set-signal-mask SIGNAL_TURNON; - - move base to y-axis [37] speed [17.5]; - turn towercover to x-axis <-90> speed <90>; - turn plat1 to x-axis <90> speed <45>; - turn plat2 to x-axis <-90> speed <45>; - move nanotower3 to y-axis [4.5] speed [4.5]; - move nanotower4 to y-axis [4.5] speed [4.5]; - wait-for-turn towercover around x-axis; - - move tower to y-axis [26] speed [26]; - move nc1 to z-axis [-7.5] speed [7.5]; - move nc2 to z-axis [7.5] speed [7.5]; - wait-for-move tower along y-axis; - - turn nc3 to z-axis <-90> speed <90>; - turn nc4 to z-axis <-90> speed <90>; - wait-for-turn nc4 around z-axis; - - FACTORY_OPEN_BUILD; + signal SIG_ACTIVATE; + start-script RequestState(0); } Deactivate() { if( get ACTIVATION ) { - activationState = 1; + Static_Var_1 = 1; } - if( activationState ) + if( Static_Var_1 ) { + //signal 2; + //set-signal-mask 2; set ACTIVATION to 0; - activationState = 0; + //sleep 8000; + Static_Var_1 = 0; + //set ACTIVATION to 100; } hide blink; - signal SIGNAL_TURNON; - set-signal-mask SIGNAL_TURNON; - - move base to y-axis [0] speed [17.5]; - move tower to y-axis [0] speed [26]; - wait-for-move tower along y-axis; - turn plat1 to x-axis <0> speed <45>; - turn plat2 to x-axis <0> speed <45>; - turn nc3 to z-axis <0> speed <90>; - turn nc4 to z-axis <0> speed <90>; - wait-for-turn nc4 around z-axis; - - turn towercover to x-axis <0> speed <90>; - wait-for-turn towercover around x-axis; - - move nc1 to z-axis [0] speed [7.5]; - move nc2 to z-axis [0] speed [7.5]; - move nanotower3 to y-axis [0] speed [4.5]; - move nanotower4 to y-axis [0] speed [4.5]; - - FACTORY_CLOSE_BUILD; + signal SIG_ACTIVATE; + set-signal-mask SIG_ACTIVATE; + sleep 1000; + set-signal-mask 0; + start-script RequestState(1); } StartBuilding() @@ -136,7 +247,7 @@ StartBuilding() show beam2; show beam3; show beam4; - spin pad around y-axis speed <30> accelerate <1>; + spin pad around y-axis speed <30.005495>; } StopBuilding() @@ -145,14 +256,18 @@ StopBuilding() hide beam2; hide beam3; hide beam4; - stop-spin pad around y-axis decelerate <1>; + stop-spin pad around y-axis; } -QueryBuildInfo(pieceIndex) +QueryBuildInfo(piecenum) { - pieceIndex = pad; + piecenum = pad; } +SweetSpot(piecenum) +{ + piecenum = base; +} Killed(severity, corpsetype) { diff --git a/scripts/Units/armplat.cob b/scripts/Units/armplat.cob index 11681a6a05f77210648238d11c146a5f2ae1f3ef..41c4279ed2d92fcff0d6c9dc630028d5d54d4924 100644 GIT binary patch literal 8014 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 diff --git a/scripts/Units/armpnix.bos b/scripts/Units/armpnix.bos index 83a5647fb4f..37b19d19b9a 100644 --- a/scripts/Units/armpnix.bos +++ b/scripts/Units/armpnix.bos @@ -1,67 +1,120 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, wingl, wingr, thrusta, thrustb, drop, doorl, doorr, circle; +static-var Static_Var_1, statechg_DesiredState, statechg_StateChanging; + +activatescr() +{ + if( TRUE ) + { + move wingl to x-axis [-7.0000] speed [7]; + move wingr to x-axis [7.0000] speed [7]; + sleep 998; + } + sleep 44; +} + +deactivatescr() +{ + if( TRUE ) + { + move wingl to x-axis [0] speed [7]; + move wingr to x-axis [0] speed [7]; + move doorl to x-axis [0] speed [7]; + move doorr to x-axis [0] speed [7]; + sleep 998; + } + sleep 44; +} + + #define BASEPIECE base #define HITSPEED <105.0> //how 'heavy' the unit is, on a scale of 1-10 #define UNITSIZE 3 #define MAXTILT 100 +InitState() +{ + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; +} +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + call-script activatescr(); + currentstate = 0; + } + if( statechg_DesiredState == 1 ) + { + call-script deactivatescr(); + currentstate = 1; + } + } + statechg_StateChanging = FALSE; +} Create() { hide thrustb; hide drop; hide thrusta; + Static_Var_1 = 3000; + call-script InitState(); } Activate() { show thrustb; show thrusta; - - move wingl to x-axis [-7.0] speed [7]; - move wingr to x-axis [7.0] speed [7]; + start-script RequestState(0); } Deactivate() { hide thrustb; hide thrusta; - - move wingl to x-axis [0] speed [7]; - move wingr to x-axis [0] speed [7]; - move doorl to x-axis [0] speed [7]; - move doorr to x-axis [0] speed [7]; + start-script RequestState(1); } -AimWeapon1(heading, pitch) +AimWeaponX(heading, pitch) { - move doorl to x-axis [-5] speed [7]; - move doorr to x-axis [5] speed [7]; - return 1; + + move doorl to x-axis [-5] speed [7]; + move doorr to x-axis [5] speed [7]; + return 1; } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = drop; + piecenum = drop; } - -FireWeapon1() +SweetSpot(piecenum) +{ + piecenum = base; +} +FireWeaponPrimary() { - turn circle to y-axis <120> speed <300>; - wait-for-turn circle around y-axis; turn circle to y-axis <240> speed <300>; wait-for-turn circle around y-axis; - turn circle to y-axis <0> speed <300>; - wait-for-turn circle around y-axis; - sleep 500; - move doorl to x-axis [0] speed [7]; - move doorr to x-axis [0] speed [7]; + turn circle to y-axis <0> now; } Killed(severity, corpsetype) diff --git a/scripts/Units/armpnix.cob b/scripts/Units/armpnix.cob index 220d81429549d472c2c6fd1be2151c9aa119dcbf..e5305480317f0dc68b5b06aceef46922938f2ddc 100644 GIT binary patch literal 2724 zcmeHJziSjx5T3hSHt|RCniQhNHg*<=tsn+Nh=_RR3N0*dbN4Wdm)!YoFCn0i!cGMR zK`aCdD=SM2i~I*xVre7RYA1sFeecKJUfdP05riy!H*e;9GjHC^>~b{`ISL#CE>%Tl zAo;XlcnItPr=Wj?tf;E0STa%zkkm!yy!`f4lsNu3ZcfM{ynX2Ri3imyifhIXYrCNl zS$jC^ER2(9!BBdZN@s7Lk*n|@0<7Gnzj&+zSOIAFZcP5c)w3tvr2Hz1IF;SaeT+!0Vgr?^H1Qz8F@e3 zkB0NR=l!e=>yT^klXH<;_jYa#cL?!qOm$yGX6859PuN(~hWCdI zes;f#oDQYzys+QqU$)=(%*6n9KYOxth8DGY;>`8Zpm_+;CRVi+FM? z@0`!`mvD|n%`*lA!85Ew4A~p=BU^3`!`zWO#u%~d>oNk;#<-!E)MMzByO7eF;VnmZ z;DQ`;Ajh@qt6T4SJAG`PCGo;L6J!7WvshEwia6$4#<5RjT$q8PnCw%TAMeKc+1jI~ z`C6U^7i#&`*OK=-sAX~Q{#46$u9jbYE!ngGt(McgAOB)rIoAhu#9ND5VlC{4%zwB3 z<{LK6w}B&k99RM_1CN0hz$@Sl@D_Lvd;q=x{Gat1_yNox7FhsJ04ISua0XZbR)G$1 z6X*k5z-{0za36RCJOQ2oNjpool1vZUMmjpLUD!;sW(G=D^{t^Ec;&p&v@Lo+SsFRX zV!ClvC;i^$HMug>W~X7&jl}Fob6e}I+3#htoEq)61ny$m?dp!KB?B$n>E?~D{WX%U bo8cf!yj+ux>Gh@4>zS_oHPTK^yQ}3F35(1@ literal 1611 zcmdT^u}T9$5S^SRDmIIaSSSI(MvJJ8l@JUf*hEllEIgA%4^9&{7sY=Nzd$6V_!-uA zVrOqJHe#Xg-R~Q@eG5`z#YdO5^)69#U02jav&aNS4TU0;& zkTfa#Aacr6G^JWlQnfLV@4f*W^YkK0R9YtaF7=@c_`En#S5Bwy$DH`!)0~Mfn=`GK z_zIbNSs&-ZC&RA@u0Xc;=a^UTT$mL4b92S~IV+oov-C>I4BcAPS8kK~)eQs{MGdka z08@O^-MG%>_u`o1t9*|vQp$Dl#2L8s=9&0ho;XQ%!p_XId%}Ll=qu)xY!}oORGzUU z=Rirj1BuDSyG8rV+VKn=KkwI#XAiF3osa#y{&c50IA=ZHhwJCgvv=m-{g_r=TGnBFZ6oO`F&$|7{-6?1W*Rnfi2(^;6L^TxC8Ei z2jB%5#(+kEQD7XH1g3#`U;$VJD!`J_ex#*bi-JQc744^LIoRLSezS2fD{F0Sj#Fbf wFgn#&gD})}+3{Oij)H^TFn$|}_Ds7K`Bv^o-87m~Z!}C8zm3!aQwz1c0xWoY_W%F@ diff --git a/scripts/Units/armprowl.bos b/scripts/Units/armprowl.bos index 741d703686e..f25c331ad68 100644 --- a/scripts/Units/armprowl.bos +++ b/scripts/Units/armprowl.bos @@ -1,22 +1,24 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece pelvis, grill, lthigh, lleg, lshin, lfoot, rthigh, rleg, rshin, rfoot, aimy1, body, misturret, misflare, aimx1, rturret, rbarrel, rflare, lturret, lbarrel, lflare; -static-var isAiming, restore_delay, gun_1, wpn1_lasthead; +static-var bAiming, Static_Var_3, restore_delay, gun_1, wpn1_lasthead; // Signal definitions -#define SIGNAL_AIM1 256 -#define SIGNAL_AIM2 512 +#define SIG_AIM 2 +#define SIG_AIM_2 8 // For N:\animations\armprowl_walk.blend Created by https://github.com/Beherith/Skeletor_S3O V((0, 3, 5)) #define MOVESCALE 100 //Higher values are bigger, 100 is default // this animation uses the static-var animFramesPerKeyframe which contains how many frames each keyframe takes -static-var animSpeed, maxSpeed, animFramesPerKeyframe, isMoving; -#define SIGNAL_MOVE 1 +static-var animSpeed, maxSpeed, animFramesPerKeyframe, bMoving; +#define SIG_WALK 4 Walk() {// For N:\animations\armprowl_walk.blend Created by https://github.com/Beherith/Skeletor_S3O V((0, 3, 5)) - //set-signal-mask SIGNAL_MOVE; - if (isMoving) { //Frame:4 + //set-signal-mask SIG_WALK; + if (bMoving) { //Frame:4 turn body to y-axis <-2.062500> speed <61.875008> / animSpeed; //delta=-2.06 turn lfoot to x-axis <-21.185328> speed <706.519846> / animSpeed; //delta=23.55 turn lfoot to z-axis <-0.893611> speed <193.023339> / animSpeed; //delta=6.43 @@ -24,7 +26,7 @@ Walk() {// For N:\animations\armprowl_walk.blend Created by https://github.com/B turn lleg to x-axis <25.917110> speed <1454.366489> / animSpeed; //delta=-48.48 turn lleg to z-axis <0.297259> speed <66.726661> / animSpeed; //delta=-2.22 turn lleg to y-axis <-3.084276> speed <64.082447> / animSpeed; //delta=-2.14 - turn lshin to x-axis <-18.999991> speed <845.0> / animSpeed; //delta=28.17 + turn lshin to x-axis <-18.999991> speed <845.000857> / animSpeed; //delta=28.17 turn lshin to y-axis <-2.773383> speed <48.413298> / animSpeed; //delta=-1.61 turn lthigh to x-axis <14.220303> speed <65.179266> / animSpeed; //delta=-2.17 turn lthigh to z-axis <1.838824> speed <141.017424> / animSpeed; //delta=-4.70 @@ -32,7 +34,7 @@ Walk() {// For N:\animations\armprowl_walk.blend Created by https://github.com/B turn lturret to x-axis <-0.222222> speed <6.666672> / animSpeed; //delta=0.22 turn lturret to z-axis <-0.972000> speed <29.159999> / animSpeed; //delta=0.97 turn lturret to y-axis <0.972000> speed <29.159999> / animSpeed; //delta=0.97 - move pelvis to y-axis (([0.0] *MOVESCALE)/100) speed (([68.210335] *MOVESCALE)/100) / animSpeed; //delta=2.27 + move pelvis to y-axis (([0.000000] *MOVESCALE)/100) speed (([68.210335] *MOVESCALE)/100) / animSpeed; //delta=2.27 turn rfoot to x-axis <5.411629> speed <47.931190> / animSpeed; //delta=-1.60 turn rfoot to z-axis <-1.024435> speed <118.179403> / animSpeed; //delta=-3.94 turn rfoot to y-axis <-6.551430> speed <109.707971> / animSpeed; //delta=3.66 @@ -50,9 +52,9 @@ Walk() {// For N:\animations\armprowl_walk.blend Created by https://github.com/B turn rturret to y-axis <0.972000> speed <29.159999> / animSpeed; //delta=0.97 sleep ((33*animSpeed) -1); } - while(isMoving) { - if (isMoving) { //Frame:8 - turn body to y-axis <-3.0> speed <28.124994> / animSpeed; //delta=-0.94 + while(bMoving) { + if (bMoving) { //Frame:8 + turn body to y-axis <-3.000000> speed <28.124994> / animSpeed; //delta=-0.94 turn lfoot to x-axis <-13.784591> speed <222.022086> / animSpeed; //delta=-7.40 turn lfoot to z-axis <2.378387> speed <98.159945> / animSpeed; //delta=-3.27 turn lfoot to y-axis <9.495852> speed <33.776190> / animSpeed; //delta=1.13 @@ -65,11 +67,11 @@ Walk() {// For N:\animations\armprowl_walk.blend Created by https://github.com/B turn lthigh to x-axis <51.918044> speed <1130.932230> / animSpeed; //delta=-37.70 turn lthigh to z-axis <0.711056> speed <33.833053> / animSpeed; //delta=1.13 turn lthigh to y-axis <-2.973178> speed <9.672400> / animSpeed; //delta=-0.32 - turn lturret to x-axis <-1.0> speed <23.333328> / animSpeed; //delta=0.78 + turn lturret to x-axis <-1.000000> speed <23.333328> / animSpeed; //delta=0.78 turn lturret to z-axis <-0.594000> speed <11.339999> / animSpeed; //delta=-0.38 turn lturret to y-axis <0.594000> speed <11.339999> / animSpeed; //delta=-0.38 - move pelvis to x-axis (([1.0] *MOVESCALE)/100) speed (([30.0] *MOVESCALE)/100) / animSpeed; //delta=1.00 - move pelvis to y-axis (([-2.0] *MOVESCALE)/100) speed (([60.0] *MOVESCALE)/100) / animSpeed; //delta=-2.00 + move pelvis to x-axis (([1.000000] *MOVESCALE)/100) speed (([30.000000] *MOVESCALE)/100) / animSpeed; //delta=1.00 + move pelvis to y-axis (([-2.000000] *MOVESCALE)/100) speed (([60.000000] *MOVESCALE)/100) / animSpeed; //delta=-2.00 turn rfoot to x-axis <38.299562> speed <986.637974> / animSpeed; //delta=-32.89 turn rfoot to z-axis <6.403863> speed <222.848942> / animSpeed; //delta=-7.43 turn rfoot to y-axis <-10.426355> speed <116.247766> / animSpeed; //delta=-3.87 @@ -81,12 +83,12 @@ Walk() {// For N:\animations\armprowl_walk.blend Created by https://github.com/B turn rshin to y-axis <1.731376> speed <21.266158> / animSpeed; //delta=-0.71 turn rthigh to x-axis <-64.167619> speed <897.303569> / animSpeed; //delta=29.91 turn rthigh to y-axis <3.127693> speed <24.752228> / animSpeed; //delta=0.83 - turn rturret to x-axis <-1.0> speed <23.333328> / animSpeed; //delta=0.78 + turn rturret to x-axis <-1.000000> speed <23.333328> / animSpeed; //delta=0.78 turn rturret to z-axis <-0.594000> speed <11.339999> / animSpeed; //delta=-0.38 turn rturret to y-axis <0.594000> speed <11.339999> / animSpeed; //delta=-0.38 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:12 + if (bMoving) { //Frame:12 turn body to y-axis <-2.062500> speed <28.125001> / animSpeed; //delta=0.94 turn lfoot to x-axis <-47.462360> speed <1010.333048> / animSpeed; //delta=33.68 turn lfoot to z-axis <6.440486> speed <121.862969> / animSpeed; //delta=-4.06 @@ -99,12 +101,12 @@ Walk() {// For N:\animations\armprowl_walk.blend Created by https://github.com/B turn lthigh to x-axis <37.948207> speed <419.095114> / animSpeed; //delta=13.97 turn lthigh to z-axis <0.593988> speed <3.512022> / animSpeed; //delta=0.12 turn lthigh to y-axis <-2.580953> speed <11.766740> / animSpeed; //delta=0.39 - turn lturret to x-axis <2.0> speed <89.999999> / animSpeed; //delta=-3.00 + turn lturret to x-axis <2.000000> speed <89.999999> / animSpeed; //delta=-3.00 turn lturret to z-axis <-0.216000> speed <11.339999> / animSpeed; //delta=-0.38 turn lturret to y-axis <0.216000> speed <11.339999> / animSpeed; //delta=-0.38 move pelvis to x-axis (([0.687500] *MOVESCALE)/100) speed (([9.375000] *MOVESCALE)/100) / animSpeed; //delta=-0.31 - move pelvis to y-axis (([-4.0] *MOVESCALE)/100) speed (([60.0] *MOVESCALE)/100) / animSpeed; //delta=-2.00 - turn pelvis to x-axis <1.0> speed <29.999997> / animSpeed; //delta=-1.00 + move pelvis to y-axis (([-4.000000] *MOVESCALE)/100) speed (([60.000000] *MOVESCALE)/100) / animSpeed; //delta=-2.00 + turn pelvis to x-axis <1.000000> speed <29.999997> / animSpeed; //delta=-1.00 turn rfoot to x-axis <15.487937> speed <684.348738> / animSpeed; //delta=22.81 turn rfoot to z-axis <1.596604> speed <144.217769> / animSpeed; //delta=4.81 turn rfoot to y-axis <-8.412046> speed <60.429296> / animSpeed; //delta=2.01 @@ -117,13 +119,13 @@ Walk() {// For N:\animations\armprowl_walk.blend Created by https://github.com/B turn rthigh to x-axis <-55.634671> speed <255.988455> / animSpeed; //delta=-8.53 turn rthigh to z-axis <1.874812> speed <16.718065> / animSpeed; //delta=-0.56 turn rthigh to y-axis <2.785051> speed <10.279247> / animSpeed; //delta=-0.34 - turn rturret to x-axis <2.0> speed <89.999999> / animSpeed; //delta=-3.00 + turn rturret to x-axis <2.000000> speed <89.999999> / animSpeed; //delta=-3.00 turn rturret to z-axis <-0.216000> speed <11.339999> / animSpeed; //delta=-0.38 turn rturret to y-axis <0.216000> speed <11.339999> / animSpeed; //delta=-0.38 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:16 - turn body to y-axis <0.0> speed <61.875002> / animSpeed; //delta=2.06 + if (bMoving) { //Frame:16 + turn body to y-axis <0.000000> speed <61.875002> / animSpeed; //delta=2.06 turn lfoot to x-axis <-21.077202> speed <791.554721> / animSpeed; //delta=-26.39 turn lfoot to z-axis <1.784901> speed <139.667569> / animSpeed; //delta=4.66 turn lfoot to y-axis <8.551059> speed <79.739095> / animSpeed; //delta=-2.66 @@ -138,9 +140,9 @@ Walk() {// For N:\animations\armprowl_walk.blend Created by https://github.com/B turn lturret to x-axis <1.222222> speed <23.333336> / animSpeed; //delta=0.78 turn lturret to z-axis <-0.352000> speed <4.079999> / animSpeed; //delta=0.14 turn lturret to y-axis <0.352000> speed <4.079999> / animSpeed; //delta=0.14 - move pelvis to x-axis (([-0.0] *MOVESCALE)/100) speed (([20.625000] *MOVESCALE)/100) / animSpeed; //delta=-0.69 - move pelvis to y-axis (([-2.0] *MOVESCALE)/100) speed (([59.999993] *MOVESCALE)/100) / animSpeed; //delta=2.00 - turn pelvis to x-axis <-0.0> speed <29.999997> / animSpeed; //delta=1.00 + move pelvis to x-axis (([-0.000000] *MOVESCALE)/100) speed (([20.625000] *MOVESCALE)/100) / animSpeed; //delta=-0.69 + move pelvis to y-axis (([-2.000000] *MOVESCALE)/100) speed (([59.999993] *MOVESCALE)/100) / animSpeed; //delta=2.00 + turn pelvis to x-axis <-0.000000> speed <29.999997> / animSpeed; //delta=1.00 turn rfoot to x-axis <-18.376904> speed <1015.945235> / animSpeed; //delta=33.86 turn rfoot to z-axis <-1.232672> speed <84.878292> / animSpeed; //delta=2.83 turn rfoot to y-axis <-5.703881> speed <81.244934> / animSpeed; //delta=2.71 @@ -158,7 +160,7 @@ Walk() {// For N:\animations\armprowl_walk.blend Created by https://github.com/B turn rturret to y-axis <0.352000> speed <4.079999> / animSpeed; //delta=0.14 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:20 + if (bMoving) { //Frame:20 turn body to y-axis <2.062500> speed <61.875002> / animSpeed; //delta=2.06 turn lfoot to x-axis <20.766294> speed <1255.304878> / animSpeed; //delta=-41.84 turn lfoot to z-axis <-3.513748> speed <158.959458> / animSpeed; //delta=5.30 @@ -176,8 +178,8 @@ Walk() {// For N:\animations\armprowl_walk.blend Created by https://github.com/B turn lturret to z-axis <-0.500000> speed <4.440000> / animSpeed; //delta=0.15 turn lturret to y-axis <0.500000> speed <4.440000> / animSpeed; //delta=0.15 move pelvis to x-axis (([-0.687500] *MOVESCALE)/100) speed (([20.624998] *MOVESCALE)/100) / animSpeed; //delta=-0.69 - move pelvis to y-axis (([0.0] *MOVESCALE)/100) speed (([60.000007] *MOVESCALE)/100) / animSpeed; //delta=2.00 - turn pelvis to x-axis <1.0> speed <30.0> / animSpeed; //delta=-1.00 + move pelvis to y-axis (([0.000000] *MOVESCALE)/100) speed (([60.000007] *MOVESCALE)/100) / animSpeed; //delta=2.00 + turn pelvis to x-axis <1.000000> speed <30.000000> / animSpeed; //delta=-1.00 turn rfoot to x-axis <-2.672477> speed <471.132818> / animSpeed; //delta=-15.70 turn rfoot to z-axis <0.233570> speed <43.987269> / animSpeed; //delta=-1.47 turn rfoot to y-axis <-7.183757> speed <44.396285> / animSpeed; //delta=-1.48 @@ -195,8 +197,8 @@ Walk() {// For N:\animations\armprowl_walk.blend Created by https://github.com/B turn rturret to y-axis <0.500000> speed <4.440000> / animSpeed; //delta=0.15 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:24 - turn body to y-axis <3.0> speed <28.125001> / animSpeed; //delta=0.94 + if (bMoving) { //Frame:24 + turn body to y-axis <3.000000> speed <28.125001> / animSpeed; //delta=0.94 turn lfoot to x-axis <50.042802> speed <878.295238> / animSpeed; //delta=-29.28 turn lfoot to z-axis <-9.779845> speed <187.982906> / animSpeed; //delta=6.27 turn lfoot to y-axis <12.990723> speed <114.624132> / animSpeed; //delta=3.82 @@ -209,12 +211,12 @@ Walk() {// For N:\animations\armprowl_walk.blend Created by https://github.com/B turn lthigh to x-axis <-46.092084> speed <1141.875269> / animSpeed; //delta=38.06 turn lthigh to z-axis <-0.737277> speed <24.133367> / animSpeed; //delta=0.80 turn lthigh to y-axis <-3.459576> speed <44.855427> / animSpeed; //delta=-1.50 - turn lturret to x-axis <-1.0> speed <23.333334> / animSpeed; //delta=0.78 + turn lturret to x-axis <-1.000000> speed <23.333334> / animSpeed; //delta=0.78 turn lturret to z-axis <-0.642000> speed <4.260000> / animSpeed; //delta=0.14 turn lturret to y-axis <0.642000> speed <4.260000> / animSpeed; //delta=0.14 - move pelvis to x-axis (([-1.0] *MOVESCALE)/100) speed (([9.375002] *MOVESCALE)/100) / animSpeed; //delta=-0.31 - move pelvis to y-axis (([-2.0] *MOVESCALE)/100) speed (([60.0] *MOVESCALE)/100) / animSpeed; //delta=-2.00 - turn pelvis to x-axis <-0.0> speed <30.0> / animSpeed; //delta=1.00 + move pelvis to x-axis (([-1.000000] *MOVESCALE)/100) speed (([9.375002] *MOVESCALE)/100) / animSpeed; //delta=-0.31 + move pelvis to y-axis (([-2.000000] *MOVESCALE)/100) speed (([60.000000] *MOVESCALE)/100) / animSpeed; //delta=-2.00 + turn pelvis to x-axis <-0.000000> speed <30.000000> / animSpeed; //delta=1.00 turn rfoot to x-axis <-18.003694> speed <459.936516> / animSpeed; //delta=15.33 turn rfoot to z-axis <-3.482623> speed <111.485782> / animSpeed; //delta=3.72 turn rfoot to y-axis <-5.903048> speed <38.421274> / animSpeed; //delta=1.28 @@ -227,12 +229,12 @@ Walk() {// For N:\animations\armprowl_walk.blend Created by https://github.com/B turn rthigh to x-axis <48.066391> speed <333.861422> / animSpeed; //delta=-11.13 turn rthigh to z-axis <-0.439410> speed <27.299019> / animSpeed; //delta=-0.91 turn rthigh to y-axis <1.181917> speed <33.357597> / animSpeed; //delta=-1.11 - turn rturret to x-axis <-1.0> speed <23.333334> / animSpeed; //delta=0.78 + turn rturret to x-axis <-1.000000> speed <23.333334> / animSpeed; //delta=0.78 turn rturret to z-axis <-0.642000> speed <4.260000> / animSpeed; //delta=0.14 turn rturret to y-axis <0.642000> speed <4.260000> / animSpeed; //delta=0.14 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:28 + if (bMoving) { //Frame:28 turn body to y-axis <2.062500> speed <28.124994> / animSpeed; //delta=-0.94 turn lfoot to x-axis <42.093182> speed <238.488588> / animSpeed; //delta=7.95 turn lfoot to z-axis <-4.828842> speed <148.530092> / animSpeed; //delta=-4.95 @@ -245,11 +247,11 @@ Walk() {// For N:\animations\armprowl_walk.blend Created by https://github.com/B turn lshin to y-axis <-2.272148> speed <3.001990> / animSpeed; //delta=-0.10 turn lthigh to x-axis <-6.712767> speed <1181.379495> / animSpeed; //delta=-39.38 turn lthigh to y-axis <-2.170961> speed <38.658446> / animSpeed; //delta=1.29 - turn lturret to x-axis <2.0> speed <89.999999> / animSpeed; //delta=-3.00 + turn lturret to x-axis <2.000000> speed <89.999999> / animSpeed; //delta=-3.00 turn lturret to z-axis <-0.784000> speed <4.260000> / animSpeed; //delta=0.14 turn lturret to y-axis <0.784000> speed <4.260000> / animSpeed; //delta=0.14 - move pelvis to x-axis (([-0.500000] *MOVESCALE)/100) speed (([15.0] *MOVESCALE)/100) / animSpeed; //delta=0.50 - move pelvis to y-axis (([-4.0] *MOVESCALE)/100) speed (([60.0] *MOVESCALE)/100) / animSpeed; //delta=-2.00 + move pelvis to x-axis (([-0.500000] *MOVESCALE)/100) speed (([15.000000] *MOVESCALE)/100) / animSpeed; //delta=0.50 + move pelvis to y-axis (([-4.000000] *MOVESCALE)/100) speed (([60.000000] *MOVESCALE)/100) / animSpeed; //delta=-2.00 turn rfoot to x-axis <-30.836829> speed <384.994046> / animSpeed; //delta=12.83 turn rfoot to z-axis <-2.317162> speed <34.963811> / animSpeed; //delta=-1.17 turn rfoot to y-axis <-8.967804> speed <91.942662> / animSpeed; //delta=-3.06 @@ -262,13 +264,13 @@ Walk() {// For N:\animations\armprowl_walk.blend Created by https://github.com/B turn rthigh to x-axis <68.224977> speed <604.757585> / animSpeed; //delta=-20.16 turn rthigh to z-axis <-0.744019> speed <9.138248> / animSpeed; //delta=0.30 turn rthigh to y-axis <2.433981> speed <37.561916> / animSpeed; //delta=1.25 - turn rturret to x-axis <2.0> speed <89.999999> / animSpeed; //delta=-3.00 + turn rturret to x-axis <2.000000> speed <89.999999> / animSpeed; //delta=-3.00 turn rturret to z-axis <-0.784000> speed <4.260000> / animSpeed; //delta=0.14 turn rturret to y-axis <0.784000> speed <4.260000> / animSpeed; //delta=0.14 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:32 - turn body to y-axis <0.0> speed <61.875008> / animSpeed; //delta=-2.06 + if (bMoving) { //Frame:32 + turn body to y-axis <0.000000> speed <61.875008> / animSpeed; //delta=-2.06 turn lfoot to x-axis <-4.500590> speed <1397.813150> / animSpeed; //delta=46.59 turn lfoot to z-axis <0.439269> speed <158.043312> / animSpeed; //delta=-5.27 turn lfoot to y-axis <8.543117> speed <53.255933> / animSpeed; //delta=-1.78 @@ -281,8 +283,8 @@ Walk() {// For N:\animations\armprowl_walk.blend Created by https://github.com/B turn lturret to x-axis <1.222222> speed <23.333336> / animSpeed; //delta=0.78 turn lturret to z-axis <-0.896000> speed <3.360000> / animSpeed; //delta=0.11 turn lturret to y-axis <0.896000> speed <3.360000> / animSpeed; //delta=0.11 - move pelvis to x-axis (([0.0] *MOVESCALE)/100) speed (([15.0] *MOVESCALE)/100) / animSpeed; //delta=0.50 - move pelvis to y-axis (([-2.0] *MOVESCALE)/100) speed (([59.999993] *MOVESCALE)/100) / animSpeed; //delta=2.00 + move pelvis to x-axis (([0.000000] *MOVESCALE)/100) speed (([15.000000] *MOVESCALE)/100) / animSpeed; //delta=0.50 + move pelvis to y-axis (([-2.000000] *MOVESCALE)/100) speed (([59.999993] *MOVESCALE)/100) / animSpeed; //delta=2.00 turn rfoot to x-axis <-32.550923> speed <51.422821> / animSpeed; //delta=1.71 turn rfoot to z-axis <-1.735363> speed <17.453965> / animSpeed; //delta=-0.58 turn rfoot to y-axis <-5.311457> speed <109.690401> / animSpeed; //delta=3.66 @@ -300,7 +302,7 @@ Walk() {// For N:\animations\armprowl_walk.blend Created by https://github.com/B turn rturret to y-axis <0.896000> speed <3.360000> / animSpeed; //delta=0.11 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:36 + if (bMoving) { //Frame:36 turn body to y-axis <-2.062500> speed <61.875008> / animSpeed; //delta=-2.06 turn lfoot to x-axis <-21.185328> speed <500.542136> / animSpeed; //delta=16.68 turn lfoot to z-axis <-0.893611> speed <39.986385> / animSpeed; //delta=1.33 @@ -315,7 +317,7 @@ Walk() {// For N:\animations\armprowl_walk.blend Created by https://github.com/B turn lthigh to z-axis <1.838824> speed <58.221741> / animSpeed; //delta=-1.94 turn lthigh to y-axis <-2.650765> speed <14.649891> / animSpeed; //delta=-0.49 turn lturret to x-axis <-0.222222> speed <43.333335> / animSpeed; //delta=1.44 - move pelvis to y-axis (([0.0] *MOVESCALE)/100) speed (([60.000007] *MOVESCALE)/100) / animSpeed; //delta=2.00 + move pelvis to y-axis (([0.000000] *MOVESCALE)/100) speed (([60.000007] *MOVESCALE)/100) / animSpeed; //delta=2.00 turn rfoot to x-axis <5.411629> speed <1138.876564> / animSpeed; //delta=-37.96 turn rfoot to z-axis <-1.024435> speed <21.327857> / animSpeed; //delta=-0.71 turn rfoot to y-axis <-6.551430> speed <37.199191> / animSpeed; //delta=-1.24 @@ -333,12 +335,12 @@ Walk() {// For N:\animations\armprowl_walk.blend Created by https://github.com/B } } } -// Call this from StopMoving()! +// Call this from MotionControl()! StopWalking() { animSpeed = 10; // tune restore speed here, higher values are slower restore speeds - move pelvis to x-axis ([0.0]*MOVESCALE)/100 speed (([75.0]*MOVESCALE)/100) / animSpeed; + move pelvis to x-axis ([0.000000]*MOVESCALE)/100 speed (([75.000000]*MOVESCALE)/100) / animSpeed; move pelvis to y-axis ([-2.273678]*MOVESCALE)/100 speed (([170.525837]*MOVESCALE)/100) / animSpeed; - turn body to y-axis <0.0> speed <154.687520> / animSpeed; + turn body to y-axis <0.000000> speed <154.687520> / animSpeed; turn lfoot to x-axis <2.365334> speed <3494.532876> / animSpeed; turn lfoot to y-axis <11.576880> speed <286.560330> / animSpeed; turn lfoot to z-axis <5.540500> speed <482.558348> / animSpeed; @@ -349,12 +351,12 @@ StopWalking() { turn lshin to y-axis <-1.159607> speed <121.033244> / animSpeed; turn lshin to z-axis <-0.796120> speed <91.825213> / animSpeed; turn lthigh to x-axis <12.047661> speed <2953.448737> / animSpeed; - turn lthigh to y-axis <0.0> speed <199.352785> / animSpeed; + turn lthigh to y-axis <0.000000> speed <199.352785> / animSpeed; turn lthigh to z-axis <-2.861757> speed <352.543560> / animSpeed; - turn lturret to x-axis <0.0> speed <224.999998> / animSpeed; - turn lturret to y-axis <0.0> speed <72.899996> / animSpeed; - turn lturret to z-axis <0.0> speed <72.899996> / animSpeed; - turn pelvis to x-axis <0.0> speed <74.999999> / animSpeed; + turn lturret to x-axis <0.000000> speed <224.999998> / animSpeed; + turn lturret to y-axis <0.000000> speed <72.899996> / animSpeed; + turn lturret to z-axis <0.000000> speed <72.899996> / animSpeed; + turn pelvis to x-axis <0.000000> speed <74.999999> / animSpeed; turn rfoot to x-axis <3.813923> speed <2847.191409> / animSpeed; turn rfoot to y-axis <-10.208362> speed <290.619416> / animSpeed; turn rfoot to z-axis <-4.963748> speed <557.122354> / animSpeed; @@ -363,13 +365,13 @@ StopWalking() { turn rleg to z-axis <6.248057> speed <587.337241> / animSpeed; turn rshin to x-axis <5.572346> speed <5096.615527> / animSpeed; turn rshin to y-axis <0.446777> speed <149.510330> / animSpeed; - turn rshin to z-axis <0.0> speed <51.395592> / animSpeed; + turn rshin to z-axis <0.000000> speed <51.395592> / animSpeed; turn rthigh to x-axis <20.686268> speed <5526.462682> / animSpeed; turn rthigh to y-axis <0.250432> speed <153.913975> / animSpeed; turn rthigh to z-axis <0.300331> speed <132.477694> / animSpeed; - turn rturret to x-axis <0.0> speed <224.999998> / animSpeed; - turn rturret to y-axis <0.0> speed <72.899996> / animSpeed; - turn rturret to z-axis <0.0> speed <72.899996> / animSpeed; + turn rturret to x-axis <0.000000> speed <224.999998> / animSpeed; + turn rturret to y-axis <0.000000> speed <72.899996> / animSpeed; + turn rturret to z-axis <0.000000> speed <72.899996> / animSpeed; } // REMEMBER TO animspeed = 4 in Create() !! UnitSpeed(){ @@ -386,16 +388,16 @@ UnitSpeed(){ sleep 131; } } -StartMoving(reversing){ - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; - isMoving=TRUE; +StartMoving(){ + signal SIG_WALK; + set-signal-mask SIG_WALK; + bMoving=TRUE; start-script UnitSpeed(); start-script Walk(); } StopMoving(){ - signal SIGNAL_MOVE; - isMoving=FALSE; + signal SIG_WALK; + bMoving=FALSE; call-script StopWalking(); } @@ -407,7 +409,7 @@ StopMoving(){ #define UNITSIZE 10 #define MAXTILT 100 -#include "../unit_hitbyweaponid_and_smoke.h" +#include "unit_hitbyweaponid_and_smoke.h" Create() @@ -417,38 +419,39 @@ Create() hide aimx1; hide misflare; hide aimy1; - isMoving = FALSE; - isAiming = FALSE; + bMoving = FALSE; + bAiming = FALSE; + Static_Var_3 = 1; gun_1 = 0; restore_delay = 3000; animspeed = 3; } -SetMaxReloadTime(reloadMS) +SetMaxReloadTime(Func_Var_1) { - restore_delay = reloadMS; + restore_delay = Func_Var_1; } RestoreAfterDelay() { - set-signal-mask SIGNAL_AIM1; + set-signal-mask SIG_AIM; sleep restore_delay; - turn aimy1 to y-axis <0.0> speed <120.0>; - turn aimx1 to x-axis <0.0> speed <120.0>; - turn misturret to y-axis <0.0> speed <120.0>; - turn misturret to x-axis <0.0> speed <120.0>; - isAiming = FALSE; - wpn1_lasthead = 0xbadface; + turn aimy1 to y-axis <0.000000> speed <120.000000>; + turn aimx1 to x-axis <0.000000> speed <120.000000>; + turn misturret to y-axis <0.000000> speed <120.000000>; + turn misturret to x-axis <0.000000> speed <120.000000>; + bAiming = FALSE; + wpn1_lasthead = 1000000; } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; - isAiming = TRUE; - turn aimy1 to y-axis heading speed <140.0>; - turn aimx1 to x-axis <0.0> - pitch speed <85.0>; + signal SIG_AIM; + set-signal-mask SIG_AIM; + bAiming = TRUE; + turn aimy1 to y-axis heading speed <140.000000>; + turn aimx1 to x-axis <0.000000> - pitch speed <85.000000>; wait-for-turn aimy1 around y-axis; wait-for-turn aimx1 around x-axis; start-script RestoreAfterDelay(); @@ -458,74 +461,77 @@ AimWeapon1(heading, pitch) -AimWeapon2(heading, pitch) +AimSecondary(heading, pitch) { - signal SIGNAL_AIM2; - set-signal-mask SIGNAL_AIM2; - isAiming = TRUE; - turn misturret to y-axis (heading - wpn1_lasthead) speed <360.0>; - turn misturret to x-axis <0.0> - pitch speed <270.0>; + signal SIG_AIM_2; + set-signal-mask SIG_AIM_2; + bAiming = TRUE; + turn misturret to y-axis (heading - wpn1_lasthead) speed <360.000000>; + turn misturret to x-axis <0.000000> - pitch speed <270.000000>; wait-for-turn misturret around y-axis; wait-for-turn misturret around x-axis; start-script RestoreAfterDelay(); return (1); } -FireWeapon1() +FirePrimary() { if( gun_1 == 1 ) { - move lbarrel to z-axis [-2.0] speed [30.0]; + move lbarrel to z-axis [-2.000000] speed [30.000000]; emit-sfx 1024 + 0 from lflare; sleep 150; - move lbarrel to z-axis [0.0] speed [10.0]; + move lbarrel to z-axis [0.000000] speed [10.000000]; } if( gun_1 == 0 ) { - move rbarrel to z-axis [-2.0] speed [30.0]; + move rbarrel to z-axis [-2.000000] speed [30.000000]; emit-sfx 1024 + 0 from rflare; sleep 150; - move rbarrel to z-axis [0.0] speed [10.0]; + move rbarrel to z-axis [0.000000] speed [10.000000]; } if (gun_1 == 0) gun_1 = 1; else gun_1 = 0; } -FireWeapon2() +FireSecondary() { } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = aimx1; + piecenum = aimx1; } -AimFromWeapon2(pieceIndex) +AimFromSecondary(piecenum) { - pieceIndex = misturret; + piecenum = misturret; } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { if( gun_1 == 1 ) { - pieceIndex = lflare; + piecenum = lflare; } if( gun_1 == 0 ) { - pieceIndex = rflare; + piecenum = rflare; } } -QueryWeapon2(pieceIndex) +QuerySecondary(piecenum) { - pieceIndex = misflare; + piecenum = misflare; } - +SweetSpot(piecenum) +{ + piecenum = body; +} Killed(severity, corpsetype) { diff --git a/scripts/Units/armprowl.cob b/scripts/Units/armprowl.cob index 4183eb9170ca5cd1eb7c878f1683c287319d89fc..48cd780c6cf19be7c5e9acdb5b84f3e28ed470ef 100644 GIT binary patch literal 17678 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 diff --git a/scripts/Units/armpship.bos b/scripts/Units/armpship.bos index cbcec7dd585..02bc0cf1c65 100644 --- a/scripts/Units/armpship.bos +++ b/scripts/Units/armpship.bos @@ -1,32 +1,96 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, ground, wake1, wake2, turret1, sleeve1, barrel11, flare11, flare12, barrel12, turret2, sleeve2, barrel21, flare21, flare22, barrel22; -static-var gun_1, gun_2, restore_delay; +static-var gun_1, gun_2, restore_delay, Static_Var_7, Static_Var_8, aimDir, oldHead; // Signal definitions -#define SIGNAL_AIM1 256 -#define SIGNAL_AIM2 512 -#define SIGNAL_MOVE 1 +#define SIG_AIM 2 +#define SIG_AIM_2 4 +#define SIG_MOVE 4096 -#define RB_MASS 23 -#define RB_LENGTH 6 -#define RB_WIDTH 3 -#define RB_PITCH_SPEED 100 -#define RB_PITCH_ACCELERATION 20 -#define RB_ROLL_ACCELERATION 8 -#define RB_WAKE_PIECE wake1 -#define RB_WAKE_CEG 1024 + 0 -#define RB_IDLE_KICK 10000 -#define RB_BOWSPLASH_PIECE wake2 -#define RB_BOWSPLASH_CEG 1024 + 1 +#define BASEPIECE base +#define HITSPEED <25.0> +//how 'heavy' the unit is, on a scale of 1-10 +#define UNITSIZE 3 +#define MAXTILT 200 -#define RB_ROCKUNIT 60 +#include "unit_hitbyweaponid_and_smoke.h" + +SetDirection(heading) +{ + var spd; + spd = (get ABS(oldHead) - get ABS(heading)) / 2; + turn ground to y-axis heading speed spd; + turn base to y-axis 0-heading speed spd; + oldHead = heading; +} + +RockOnWaves() +{ + var rockDir, rockAng, rockSpeed; + rockDir = <-0.1>; + rockAng = <-0.1>; + while( TRUE ) + { + while( get ABS(rockAng) < <1.31> ) + { + rockSpeed = <1.45> - get ABS(rockAng); + turn ground to x-axis rockAng speed rockSpeed*4; + wait-for-turn ground around x-axis; + rockAng = rockAng + rockDir; + } + rockDir = 0 - rockDir; + rockAng = rockAng + rockDir + rockDir; + } +} + +ProjXPW(Func_Var_1, Func_Var_2) +{ + if( Func_Var_2 < -21840 ) + { + Static_Var_7 = Func_Var_1 * ( Func_Var_2 + 32760 ) / 10920; + } + else if( Func_Var_2 > 21840 ) + { + Static_Var_7 = Func_Var_1 * ( 32760 - Func_Var_2 ) / 10920; + } + else if( Func_Var_2 < -10920 ) + { + Static_Var_7 = 0 - Func_Var_1; + } + else if( Func_Var_2 > 10920 ) + { + Static_Var_7 = Func_Var_1; + } + else + { + Static_Var_7 = Func_Var_1 * Func_Var_2 / 10920; + } +} + +RockZ(Func_Var_1, Func_Var_2) +{ + signal 4096; + set-signal-mask 4096; + call-script ProjXPW(10920 / Func_Var_2,Func_Var_1); + Static_Var_8 = Static_Var_8 + Static_Var_7; + Static_Var_7 = get ABS(Static_Var_8); + while( Static_Var_7 > 91 ) + { + turn base to z-axis Static_Var_8 speed Static_Var_7 * <0.0125>; + wait-for-turn base around z-axis; + Static_Var_8 = Static_Var_8 * -1 / 2; + Static_Var_7 = get ABS(Static_Var_8); + } + turn base to z-axis <0.000000> speed <1.5>; +} -#include "../bar_ships_common.h" Create() { @@ -46,14 +110,16 @@ Create() gun_1 = flare11; gun_2 = flare21; restore_delay = 3000; - start-script InitRockBoat(); - SLEEP_UNTIL_UNITFINISHED; - start-script BoatPhysics(); + while( get BUILD_PERCENT_LEFT ) + { + sleep 500; + } + start-script RockOnWaves(); } -SetMaxReloadTime(reloadMS) +SetMaxReloadTime(Func_Var_1) { - restore_delay = reloadMS * 2; + restore_delay = Func_Var_1 * 2; } static-var Stunned; @@ -63,11 +129,11 @@ ExecuteRestoreAfterDelay() return (1); } set-signal-mask 0; - turn turret1 to y-axis <0.0> speed <180.0>; - turn sleeve1 to x-axis <0.0> speed <90.0>; + turn turret1 to y-axis <0.000000> speed <180.000000>; + turn sleeve1 to x-axis <0.000000> speed <90.000000>; - turn turret2 to y-axis <0.0> speed <180.0>; - turn sleeve2 to x-axis <0.0> speed <90.0>; + turn turret2 to y-axis <0.000000> speed <180.000000>; + turn sleeve2 to x-axis <0.000000> speed <90.000000>; } SetStunned(State) { @@ -82,93 +148,149 @@ RestoreAfterDelay() start-script ExecuteRestoreAfterDelay(); } +waveSplash() +{ + while( TRUE ) + { + turn base to x-axis <-3.0> speed <3.0>; + move base to y-axis [0.32] speed [0.25]; + wait-for-turn base around x-axis; + turn base to x-axis <0.0> speed <3.0>; + move base to y-axis [0.0] speed [0.25]; + wait-for-turn base around x-axis; + } +} -StartMoving(reversing) +StartMoving() { + signal SIG_MOVE; + set-signal-mask SIG_MOVE; + var waketime; + start-script waveSplash(); + var bowtime; + bowtime = 0; + while( TRUE ) + { + emit-sfx 1024 + 0 from wake1; + if (bowtime) emit-sfx 1024 + 1 from wake2; + bowtime = !bowtime; + waketime = (get CURRENT_SPEED) * 100 / get MAX_SPEED; + if( waketime < 50 ) waketime = 50; + sleep 10000 / waketime; + } } StopMoving() { - + signal SIG_MOVE; + turn base to x-axis <0.0> speed <3.0>; + move base to y-axis [0.0] speed [0.25]; } AimWeapon1(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; - turn turret1 to y-axis heading speed <180.0>; - turn sleeve1 to x-axis RB_AIMPITCHCORRECTION(heading) - pitch speed <90.0>; + signal SIG_AIM; + set-signal-mask SIG_AIM; + turn turret1 to y-axis heading speed <180.000000>; + turn sleeve1 to x-axis <0.000000> - pitch speed <90.000000>; wait-for-turn turret1 around y-axis; wait-for-turn sleeve1 around x-axis; + aimDir = heading; start-script RestoreAfterDelay(); return (1); } Shot1() { + start-script RockZ(-9,aimDir); if( gun_1 ) { - move barrel12 to z-axis [-2.0] now; - move barrel12 to z-axis [0.0] speed [3.0]; + move barrel12 to z-axis [-2.000000] now; + move barrel12 to z-axis [0.000000] speed [3.000000]; emit-sfx 1024 + 0 from flare12; } else { - move barrel11 to z-axis [-2.0] now; - move barrel11 to z-axis [0.0] speed [3.0]; + move barrel11 to z-axis [-2.000000] now; + move barrel11 to z-axis [0.000000] speed [3.000000]; emit-sfx 1024 + 0 from flare11; } gun_1 = !gun_1; } -AimFromWeapon1(pieceIndex) + +AimFromWeapon1(piecenum) { - pieceIndex = turret1; + piecenum = turret1; } -QueryWeapon1(pieceIndex) +QueryWeapon1(piecenum) { - pieceIndex = flare11 + gun_1; + piecenum = flare11 + gun_1; } AimWeapon2(heading, pitch) { - signal SIGNAL_AIM2; - set-signal-mask SIGNAL_AIM2; - turn turret2 to y-axis heading speed <180.0>; - turn sleeve2 to x-axis RB_AIMPITCHCORRECTION(heading) - pitch speed <90.0>; + signal SIG_AIM_2; + set-signal-mask SIG_AIM_2; + turn turret2 to y-axis heading speed <180.000000>; + turn sleeve2 to x-axis <0.000000> - pitch speed <90.000000>; wait-for-turn turret2 around y-axis; wait-for-turn sleeve2 around x-axis; + aimDir = heading; start-script RestoreAfterDelay(); return (1); } Shot2() { + start-script RockZ(-9,aimDir); if( gun_2 ) { - move barrel22 to z-axis [-2.0] now; - move barrel22 to z-axis [0.0] speed [3.0]; + move barrel22 to z-axis [-2.000000] now; + move barrel22 to z-axis [0.000000] speed [3.000000]; emit-sfx 1024 + 0 from flare22; } else { - move barrel21 to z-axis [-2.0] now; - move barrel21 to z-axis [0.0] speed [3.0]; + move barrel21 to z-axis [-2.000000] now; + move barrel21 to z-axis [0.000000] speed [3.000000]; emit-sfx 1024 + 0 from flare21; } gun_2 = !gun_2; } -AimFromWeapon2(pieceIndex) + + +AimFromWeapon2(piecenum) +{ + piecenum = turret2; +} + +QueryWeapon2(piecenum) +{ + piecenum = flare21 + gun_2; +} + +AimWeapon3(heading, pitch) +{ + return (1); +} + +AimFromWeapon3(piecenum) +{ + piecenum = base; +} + +QueryWeapon3(piecenum) { - pieceIndex = turret2; + piecenum = base; } -QueryWeapon2(pieceIndex) +SweetSpot(piecenum) { - pieceIndex = flare21 + gun_2; + piecenum = base; } Killed(severity, corpsetype) @@ -177,7 +299,11 @@ Killed(severity, corpsetype) { corpsetype = 1; explode barrel11 type BITMAPONLY | BITMAP1 | NOHEATCLOUD; + //explode barrel12 type BITMAPONLY | BITMAP1 | NOHEATCLOUD; + //explode base type BITMAPONLY | BITMAP3 | NOHEATCLOUD; explode turret1 type BITMAPONLY | BITMAP1 | NOHEATCLOUD; + //explode turret2 type BITMAPONLY | BITMAP2 | NOHEATCLOUD; + //explode wake1 type BITMAPONLY | BITMAP2 | NOHEATCLOUD; explode wake2 type BITMAPONLY | BITMAP3 | NOHEATCLOUD; return (corpsetype); } @@ -186,12 +312,15 @@ Killed(severity, corpsetype) corpsetype = 2; explode barrel11 type FALL | EXPLODE_ON_HIT | BITMAP1 | NOHEATCLOUD; explode barrel12 type FALL | EXPLODE_ON_HIT | BITMAP1 | NOHEATCLOUD; + //explode base type BITMAPONLY | BITMAP3 | NOHEATCLOUD; + //explode wake1 type FALL | EXPLODE_ON_HIT | BITMAP2 | NOHEATCLOUD; explode wake2 type FALL | EXPLODE_ON_HIT | BITMAP3 | NOHEATCLOUD; return (corpsetype); } corpsetype = 3; explode barrel11 type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP1 | NOHEATCLOUD; explode barrel12 type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP1 | NOHEATCLOUD; + //explode base type BITMAPONLY | BITMAP3 | NOHEATCLOUD; explode wake1 type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP2 | NOHEATCLOUD; explode wake2 type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP3 | NOHEATCLOUD; return corpsetype; diff --git a/scripts/Units/armpship.cob b/scripts/Units/armpship.cob index 03281faad8333227deca39b5806f2b62b20ee53f..c6b06239b53d1c863190676bdb2ef4a65f7b0c17 100644 GIT binary patch literal 5673 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 +//how 'heavy' the unit is, on a scale of 1-10 +#define UNITSIZE 1 +#define MAXTILT 200 + +#include "unit_hitbyweaponid_and_smoke.h" + +SetDirection(heading) +{ + var spd; + spd = (get ABS(oldHead) - get ABS(heading)) / 2; + turn ground to y-axis heading speed spd; + turn base to y-axis 0-heading speed spd; + oldHead = heading; +} Lights() { @@ -29,6 +37,39 @@ Lights() emit-sfx 1024 + 1 from blink; sleep 2500; } + sleep 50; + start-script Lights(); +} + +RockOnWaves() +{ + var rockDir, rockAng, rockSpeed; + rockDir = <-0.1>; + rockAng = <-0.1>; + while( TRUE ) + { + while( get ABS(rockAng) < <1.31> ) + { + rockSpeed = <1.45> - get ABS(rockAng); + turn ground to x-axis rockAng speed rockSpeed*5; + wait-for-turn ground around x-axis; + rockAng = rockAng + rockDir; + } + rockDir = 0 - rockDir; + rockAng = rockAng + rockDir + rockDir; + } +} + +Go() +{ + spin radar around y-axis speed <-50.043956> accelerate <2>; + return (0); +} + +Stop() +{ + spin radar around y-axis speed <0.000000>; + return (0); } Create() @@ -39,25 +80,29 @@ Create() hide ground; hide blink; gun_1 = flarel; + Static_Var_2 = 1; restore_delay = 3000; - start-script InitRockBoat(); - SLEEP_UNTIL_UNITFINISHED; - start-script BoatPhysics(); + while( get BUILD_PERCENT_LEFT ) + { + sleep 500; + } + start-script RockOnWaves(); + start-script Lights(); } Activate() { - spin radar around y-axis speed <-50.043956> accelerate <2>; + start-script Go(); } Deactivate() { - spin radar around y-axis speed <0.0>; + start-script Stop(); } -SetMaxReloadTime(reloadMS) +SetMaxReloadTime(Func_Var_1) { - restore_delay = reloadMS * 2; + restore_delay = Func_Var_1 * 2; } static-var Stunned; @@ -67,9 +112,9 @@ ExecuteRestoreAfterDelay() return (1); } set-signal-mask 0; - turn turretl to y-axis <0.0> speed <150.0>; - turn turretr to y-axis <0.0> speed <150.0>; - turn turretaa to y-axis <0.0> speed <150.0>; + turn turretl to y-axis <0.000000> speed <150.000000>; + turn turretr to y-axis <0.000000> speed <150.000000>; + turn turretaa to y-axis <0.000000> speed <150.000000>; wait-for-turn turretaa around y-axis; move turretaa to y-axis [0] speed [16]; sleep(150); @@ -87,22 +132,45 @@ RestoreAfterDelay() start-script ExecuteRestoreAfterDelay(); } - -StartMoving(reversing) +waveSplash() { + while( TRUE ) + { + turn base to x-axis <-3.0> speed <3.0>; + move base to y-axis [0.23] speed [0.23]; + wait-for-turn base around x-axis; + turn base to x-axis <0.0> speed <3.0>; + move base to y-axis [0.0] speed [0.23]; + wait-for-turn base around x-axis; + } +} +StartMoving() +{ + signal SIG_MOVE; + set-signal-mask SIG_MOVE; + var waketime; + start-script waveSplash(); + while( TRUE ) + { + emit-sfx 1024 + 0 from ground; + waketime = (get CURRENT_SPEED) * 100 / get MAX_SPEED; + if( waketime < 50 ) waketime = 50; + sleep 10000 / waketime; + } } StopMoving() { - + signal SIG_MOVE; + turn base to x-axis <0.0> speed <3.0>; + move base to y-axis [0.0] speed [0.23]; } -AimWeapon2(heading, pitch) +AimSecondary(heading, pitch) { - signal SIGNAL_AIM3; - set-signal-mask SIGNAL_AIM3; - aimDir2 = heading; + signal SIG_AIM_3; + set-signal-mask SIG_AIM_3; move turretaa to y-axis [2] speed [16]; turn turretaa to y-axis heading speed <300>; wait-for-turn turretaa around y-axis; @@ -110,48 +178,46 @@ AimWeapon2(heading, pitch) return(1); } -AimFromWeapon2(pieceIndex) +AimFromSecondary(piecenum) { - pieceIndex = turretaa; + piecenum = turretaa; } -QueryWeapon2(pieceIndex) +QuerySecondary(piecenum) { - pieceIndex = flareaa; + piecenum = flareaa; } -FireWeapon2() +AimPrimary(heading, pitch) { - sleep 100; - RB_RECOILBOAT(aimDir2, RB_RECOIL_ENERGY_2); -} - - -AimWeapon1(heading, pitch) -{ - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; - turn turretl to y-axis heading speed <300.0>; - turn turretr to y-axis heading speed <300.0>; + signal SIG_AIM; + set-signal-mask SIG_AIM; + turn turretl to y-axis heading speed <300.000000>; + turn turretr to y-axis heading speed <300.000000>; wait-for-turn turretl around y-axis; wait-for-turn turretr around y-axis; start-script RestoreAfterDelay(); return (1); } -FireWeapon1() +FirePrimary() { gun_1 = !gun_1; } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) +{ + piecenum = turretaa; +} + +QueryPrimary(piecenum) { - pieceIndex = turretaa; + piecenum = flarel + gun_1; } -QueryWeapon1(pieceIndex) +SweetSpot(piecenum) { - pieceIndex = flarel + gun_1; + piecenum = base; } Killed(severity, corpsetype) @@ -162,8 +228,11 @@ Killed(severity, corpsetype) explode ground type BITMAPONLY | NOHEATCLOUD; explode base type BITMAPONLY | NOHEATCLOUD; explode turretr type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flarer type BITMAPONLY | NOHEATCLOUD; explode turretaa type BITMAPONLY | NOHEATCLOUD; + //explode flareaa type BITMAPONLY | NOHEATCLOUD; explode turretl type BITMAPONLY | NOHEATCLOUD; + //explode flarel type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } if( severity <= 50 ) @@ -172,8 +241,11 @@ Killed(severity, corpsetype) explode ground type FIRE | SMOKE | FALL | NOHEATCLOUD; explode base type FIRE | SMOKE | FALL | NOHEATCLOUD; explode turretr type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flarer type FIRE | SMOKE | FALL | NOHEATCLOUD; explode turretaa type FALL | NOHEATCLOUD; + //explode flareaa type FALL | NOHEATCLOUD; explode turretl type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flarel type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) @@ -182,15 +254,21 @@ Killed(severity, corpsetype) explode ground type FIRE | SMOKE | FALL | NOHEATCLOUD; explode base type SMOKE | FALL | NOHEATCLOUD; explode turretr type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flarer type FIRE | SMOKE | FALL | NOHEATCLOUD; explode turretaa type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flareaa type SMOKE | FALL | NOHEATCLOUD; explode turretl type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flarel type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; explode ground type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode base type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode turretr type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flarer type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode turretaa type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flareaa type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode turretl type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode flarel type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/armpt.cob b/scripts/Units/armpt.cob index ddd1b237a9e5a45e0b064a4c083326f5f35036e7..00faec4279d1541553294bf97b6f358d1a3a8753 100644 GIT binary patch literal 4924 zcmd5=O=w(I6h2ADM6K25526HNtcYE7@lX_(O-yU07Gp-~LX^B@ZqqSu=Eawnq=TEF zcIQR}5fss)8$m(oLezx|e~L&~6CXztHFZ?U zw415VypHKgE}~J#Gjuvnl=SKKfiuBJ=UMY;P0Vu=cIH(d`fGlb64&fm&{t!ttzXht z>Taeu$NFw*T`Fl3%)9LuORZhwX&%O+A7?q-OCG|S$shO9hurSQ!p1^^QXe4}&hZ+? zg724HU>10$m%Pr+2z20=wee%)aDg1kozD8k=H{l(8vXQ{b(DEgPsi7z9IBmRHNHya zdxJ(l+fVuZV*|z^f2@yZK~5=|hkWu~ppLbOKMO8-Uuf@Yr*t+K&+Y+lcl&y1D}8)U z)zP=K;S9E{W1k%6>R^(2sE+ zK3nv4ve~QC_Jwn0ty-Jigcy9!ZGOz-cfLlJrCeLTb@v{<`)rV>j_fefm%00GtgFgq z-%$p}OzGOyzqi*1x(jWu(I323^~v7YN7>KY?w%ZC!{F&U?#CzGPhZE4d$+gqp}*w= z{M-*`KJW4Jr%RYW@Sx{M+kLM(A4*J?wb}isJoM8Twy262)>aXN_tS1)hxNl*GQaI- zDOls|?EM4|Zm^E7KJ6*h82(OlIo+Me`De^KsKoaZ*G;Z5OI#oJdcDv27|xx&H~n4J z^m(Y`-9ul-i0clS0x1I3Ed<+-f+0^m=5YL%i`*|19dBn-}&Eui( zgSv5kI;-JKbMCHZYAaYwxcwd{_Hz`mVBe z_2asy-@XsNKelGPYvH}v-^ai8N&hkyzYF5teDufSJ5*&SC*l0v&dqgq55y=!&w%@R z7JROIxeh6_nEPnV{r;%1F+caQaY{Qc*vGZy->=tU*Lar4igwX_GaHL z-&@!Brt_k`4N@a(AGELk!iDBrM_%PgxfrDGD{(Z>*q)=ao+IW6&wr3yTC@GVafS0% zUU(kLDSI4rUUs@)dEDv#eok3;KW{sYtsL%j|Nog=_NM2&?$^9e`uU{kY2Y2;8-V}L zxD_w$bHMY!N#H}^H1H|#6~Nz(HIT;d{0D&yco8@SybpW~oCD4S7l2=YKLGx}#}~l2 zz>mPsz(wFs;4eUK5*Y&`U>w*78~~<)IiL-6ftP?+fK$Lnz~{gj;0NFWumSuI{0)rU zEV2u@1sDhFz+NB*9smxtiplO#lPqN&X|%IN^JJ%0gxW`%(lEtTD>w5+3r>%=7LFIo zGLy|OKGr#!teRzcIFm+^Ey+W#yWcfHUCV6orTWxg~Y<9n#Xtf(=KI=4- zyeoJ(m}i0F@fDMIx7eriR-3K|(V(vVHhr|4^r5k4P~cKl$l+F+qR3-ulAF|t+=(QS hVkOT_fyF|et#q0)mn<8vOuft{Pf(@IrLE4Q`~yN~h64Zq literal 4919 zcmb`LU5Hgx6vx+mc+Cr5z&K1cMPhx95Yc&vKb+$Adhp8<8|)Ll{;rleNo7$ zhdz8M3N$5psOT+-o}!@M@-Z;-J$oqTAxbKn{=a?py0g9BF_C6i?vM3fYyH>SYwt5S zY-VdE*Gtw7o86$1pR<|SV{6Rbl{}#JR~iShLG79i*9Ws9jps zaGa0(!`E6A8^keFU(_o-IL^%dfjh2sibL=I&|lD+@s*x^EvvImM(zXH^AwWU;_EfC z$fuVJ_`jnMkKui#?Q4$Vc|e62oQLNHC$9^7_Bp2%hkc4m&k-DI+qEL2?_W@E_@EEa z-HEa4&fM=9d3zsuev||peZd~*;<~__8lJ9VJS=dC3y}ru@_kLqGB9MuRHID{J1D~_%=`)vSyca5*mYt=gz^4d_#4#&DUZUlcxPSY``g|pS2 z0dTsF?>f6WGYk0TZrDq=M2RU(I-+RM*(?*uwVX$tGzsveqdeTmPx;?$d z{#dXZ$V|1^=~(uXZvby<_+?+c^r`rD*Y$zG)9c4sqXQb^_8B=}Fme+xw*aQ*Iz#Sb zzx(&9ApeJ7uR9@obM$YAKEZnL^u1E9KZzuHG$I}jekR9BK)ksd?4`QUmsxc$E<_)= zAZCgSe(M!(NQdIF+^6@3=kB)4)e1edF2U&zQB%*Ip76gJ#+b+W4=O(KR%y%6&URGX z(6NVae1Wm77W#{+^Y)rLmKsh)+ca*Nix+uf@A+Yua@rPc!FXIStcm4ux^|%(qdu#+ zKkwWjuXibYPu1@)#{I!$KjpEW7m1*DtG*e1aF~E&Tn^`N2N1A?rl!ulYp=7U_xPKKdVU*u2afTaQQ6Vz%s;Cc_d4QKpx{eOrkCj6VNbP8xuq_gRVN%85N*#35fZ|450Mq#dcc~8R&3YD$rr=6bswtT;IA5FFGS0gyCmM?zr z7r5)3oCh|3w|lv=hDSd=x&}^F2WpajS6DCc_dJ$H|GVL~V1MOr$+i0OHsey~eH&{g>ENKVo~&r98r$9eMm3d3dim z50Aqeo5o#^$Fa!EdAR+RcuZmwd5|!1uutpZew@eaF^=Wk~ z$s3ZlB_|~xN%;SeGm;-9=Ow>OhHldTqe#|BZkOCAc|`KG-wz{e<&2rok)7UZEkjo1XoQ*lkL$<%||UUAGK}G yR!gk*wDL~Ts)kNA; + rockAng = <-0.1>; + while( TRUE ) + { + while( get ABS(rockAng) < <1.31> ) + { + rockSpeed = <1.45> - get ABS(rockAng); + turn base to x-axis rockAng speed rockSpeed*5; + turn base to z-axis rockAng speed rockSpeed*5; + wait-for-turn base around x-axis; + wait-for-turn base around z-axis; + rockAng = rockAng + rockDir; + } + rockDir = 0 - rockDir; + rockAng = rockAng + rockDir + rockDir; + } +} #define BASEPIECE base @@ -18,14 +37,18 @@ static-var restore_delay; //how 'heavy' the unit is, on a scale of 1-10 #define UNITSIZE 1 #define MAXTILT 200 -#define RECOIL_POWER -50000 -#include "../unit_hitbyweaponid_and_smoke.h" + +#include "unit_hitbyweaponid_and_smoke.h" Create() { restore_delay = 3000; - SLEEP_UNTIL_UNITFINISHED; - start-script FloatMotion(); + while( get BUILD_PERCENT_LEFT ) + { + sleep 400; + } + start-script RockOnWaves(); + return (0); } static-var Stunned; @@ -34,8 +57,8 @@ ExecuteRestoreAfterDelay() if (Stunned) { return (1); } - turn turret to y-axis <0.0> speed <90.021978>; - turn launcher to x-axis <0.0> speed <50.010989>; + turn turret to y-axis <0.000000> speed <90.021978>; + turn launcher to x-axis <0.000000> speed <50.010989>; turn doorl to y-axis <0> speed <270>; @@ -56,10 +79,10 @@ RestoreAfterDelay() start-script ExecuteRestoreAfterDelay(); } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; turn doorl to y-axis <135> speed <270>; turn doorr to y-axis <-135> speed <270>; @@ -69,25 +92,29 @@ AimWeapon1(heading, pitch) return (1); } -FireWeapon1() +FirePrimary() { emit-sfx 256 | 3 from flare; return (0); } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = launcher; + piecenum = launcher; return (0); } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = flare; + piecenum = flare; return (0); } - +SweetSpot(piecenum) +{ + piecenum = base; + return (0); +} Killed(severity, corpsetype) { diff --git a/scripts/Units/armptl.cob b/scripts/Units/armptl.cob index 900404da1134467282a6cd273a51ebc84a931490..e3bf10c70facda1f4c91427d9128507465057473 100644 GIT binary patch literal 3492 zcmbtXziU%b6h2MUwBWDjD2N0c1Q7{Nb&u-;@Cc$TN_N1`ud^<6oMcKg6QTX zPU7g`;HHyw@DC7IbuA7~D#Y(Q@1FGa`C1cAd%X9apWpe;y(tz&WG|#d85Y5>ex`Se z+=0A?9E0WqRw)+(lcAsxY;?QbLIpZ}(&r(6<|+%N!1?oitOdlGoo2?RSE&>O%|&G} z5-@(&`;8%xwtn+Sc{m`x0^(VhE8|D7N(DCjD8{lV2CDnzu+_Q7ot zam<;nmCm90{XD*UKkD-8oq(PkNhQf|c@;+hj2@f4tDim}dy#Mc4d9M;y}ppqzw>%5 zdLQhb*~%U;KIMb&mW@$Y_5MU)n5dGO3O$HoApE-pT|>kO>xLKZF~~@sDezeD<8nF zec-^AzOsNffcs2)x<}&YnRxB}0Cv3*?-~6(?GG~^%f5mD%=EW1A_1*D%z7^v%FQy-U zEY4QW-RkrcZ~W%PZ-?2q9wa8qJ7F$E@aIg50C5y@3UUo{3(|qSfV_gdfxLsPL->D+ zkB~2r4ahIZ@E(zakRy(=6CN3&qmFj=~Bx@ZL`hYa>%&ajO9YDUPsoe;hK}BdKfvW XhpooqvWp~cMUji8+H6L3{Wp@|ivj`c literal 3574 zcmbuCJ&0UY6vyw*Ovd2nv#?M^CTL-yI4dMr$xe)`F$C5uqFo$!ZgkA-yyfK$CY6Gb zG-9PAI`At?Fij0VAqo*I}+4tCY4+PtLEDuviI&`Sq#$1OCU8@`CKWkU9 zOa^Z7vSOn;oY`=mszo?b%-HH}3Hs#zraEG{tip5HlFTt$j(Ut((^|A6E_XBy%Gl_lCn&VQ<>e(_Kt~1=p3?tk4cJW-WtUQHBZ+H5SC~qY4H234+vGdRy@MW||tULYHZB-43z>vNH4Lb~ECy8%o#yj#4 zd%K(1^FbdrR(C)SV?Dhq`eLqJZY{C5JHjlWC&qgZF6x*AKIpD~v#6t|@~i8@cL|O* zVW}M=aB!d0BhHRIGu+eajd&8F)yVfApL&f!NI&+m(Hj-~0J>AXp8@n+)n2&&J#BjH zMT%9r_H=I#ooXW9l_%zNiB3JF-ub?r9Sk5V>_E^NG+}IpSkk)m&QN+fo5s%ihCP1! z>C@g~8-54uR6YIN0;m4UKP7&4OPC?_;zKP753W=%|Bs`8=wD*5?|$s4U1v^=a4#aR z%Mq9AR@`Zf%Yx6v$P1V93YU2K%U-yozY(r2aztGJMO@^g--@d^n1btFHrBuWaD5W> z@|V4EiLc`#c0IRZ5fc4}F}89`ubzlkZrLlh_+B2TVd;+bxBIX9!RB^;*1M+)-!Hv; z`n=zol>U@ISLTK9ohf~B%#ZpP+@>!#%gK1`2kv@hZ@68hT6OEg!fS8h^&+3Co}c(4 qLRxhvhNF?idZmBPyECJH;oYb|8E?Jj3s+8x!k2E4=fx=eU$|?AvjOe^ diff --git a/scripts/Units/armpw.bos b/scripts/Units/armpw.bos index 80568bd1f0e..00bde107453 100644 --- a/scripts/Units/armpw.bos +++ b/scripts/Units/armpw.bos @@ -1,16 +1,16 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" +#include "unitDefsTurretSpeeds.h" piece torso, ruparm, luparm, rfire, lfire, rloarm, lloarm, pelvis, rthigh, lthigh, lleg, rleg, rfoot, lfoot, rgun, lgun, aimx1, aimy1,head; -static-var isMoving, isAiming, gun_1, restore_delay, moveSpeed, currentSpeed, burst1 ; +static-var bMoving, bAiming, Static_Var_3, gun_1, restore_delay, moveSpeed, currentSpeed, burst1 ; -// Note, removed old deprecated unitDefsTurretSpeeds.h -#define Weapon1TurretX <300> -#define Weapon1TurretY <300> -#include "../weapon1control.h" +#include "weapon1control.h" // Signal definitions -#define SIGNAL_AIM1 256 +#define SIG_AIM 2 @@ -18,30 +18,30 @@ static-var isMoving, isAiming, gun_1, restore_delay, moveSpeed, currentSpeed, b // Using https://github.com/Beherith/Skeletor_S3O // this animation uses the static-var animFramesPerKeyframe which contains how many frames each keyframe takes static-var animSpeed, maxSpeed, animFramesPerKeyframe; -#define SIGNAL_MOVE 1 +#define SIG_MOVE 4 Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations\armpw_anim_walk.blend // (c) CC BY NC ND Beherith mysterme@gmail.com - set-signal-mask SIGNAL_MOVE; - if (isMoving) { //Frame:2 - turn head to z-axis <3.0> speed <90.0> / animSpeed; //delta=-3.00 - turn head to y-axis <2.0> speed <60.0> / animSpeed; //delta=2.00 + set-signal-mask SIG_MOVE; + if (bMoving) { //Frame:2 + turn head to z-axis <3.000000> speed <90.000003> / animSpeed; //delta=-3.00 + turn head to y-axis <2.000000> speed <60.000000> / animSpeed; //delta=2.00 turn lfoot to x-axis <12.256668> speed <329.120382> / animSpeed; //delta=-10.97 turn lleg to x-axis <55.487907> speed <1663.874735> / animSpeed; //delta=-55.46 turn lthigh to x-axis <-75.498889> speed <2243.955707> / animSpeed; //delta=74.80 turn lthigh to z-axis <5.429225> speed <413.464549> / animSpeed; //delta=-13.78 turn lthigh to y-axis <10.783420> speed <144.995533> / animSpeed; //delta=-4.83 - turn luparm to z-axis <-0.0> speed <362.999983> / animSpeed; //delta=-12.10 - turn pelvis to z-axis <-4.0> speed <119.999999> / animSpeed; //delta=4.00 - turn pelvis to y-axis <-7.0> speed <210.0> / animSpeed; //delta=-7.00 + turn luparm to z-axis <-0.000000> speed <362.999983> / animSpeed; //delta=-12.10 + turn pelvis to z-axis <-4.000000> speed <119.999999> / animSpeed; //delta=4.00 + turn pelvis to y-axis <-7.000000> speed <210.000002> / animSpeed; //delta=-7.00 turn rfoot to x-axis <-19.331519> speed <582.834224> / animSpeed; //delta=19.43 turn rleg to x-axis <1.582876> speed <42.294824> / animSpeed; //delta=-1.41 turn rthigh to x-axis <35.245494> speed <1049.542981> / animSpeed; //delta=-34.98 turn rthigh to z-axis <6.477473> speed <27.671231> / animSpeed; //delta=0.92 turn rthigh to y-axis <-4.832633> speed <133.010908> / animSpeed; //delta=4.43 - turn ruparm to z-axis <-0.0> speed <383.999971> / animSpeed; //delta=12.80 - turn torso to x-axis <2.0> speed <60.0> / animSpeed; //delta=-2.00 + turn ruparm to z-axis <-0.000000> speed <383.999971> / animSpeed; //delta=12.80 + turn torso to x-axis <2.000000> speed <60.000000> / animSpeed; //delta=-2.00 turn torso to y-axis <10.727512> speed <321.825366> / animSpeed; //delta=10.73 - if (!isAiming){ + if (!bAiming){ turn ruparm to x-axis <-10.149999> speed <304.499976> / animSpeed; //delta=10.15 turn luparm to x-axis <25.899997> speed <776.999912> / animSpeed; //delta=-25.90 turn lloarm to x-axis <32.099997> speed <752.999977> / animSpeed; //delta=25.10 @@ -49,28 +49,28 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations } sleep ((33*animSpeed) -1); } - while(isMoving) { - if (isMoving) { //Frame:4 - turn head to x-axis <-3.0> speed <90.0> / animSpeed; //delta=3.00 - turn head to z-axis <5.0> speed <59.999993> / animSpeed; //delta=-2.00 - turn head to y-axis <3.0> speed <30.0> / animSpeed; //delta=1.00 + while(bMoving) { + if (bMoving) { //Frame:4 + turn head to x-axis <-3.000000> speed <90.000003> / animSpeed; //delta=3.00 + turn head to z-axis <5.000000> speed <59.999993> / animSpeed; //delta=-2.00 + turn head to y-axis <3.000000> speed <30.000003> / animSpeed; //delta=1.00 turn lfoot to x-axis <10.476495> speed <53.405181> / animSpeed; //delta=1.78 turn lleg to x-axis <21.080718> speed <1032.215668> / animSpeed; //delta=34.41 - turn lthigh to x-axis <-67.798862> speed <231.0> / animSpeed; //delta=-7.70 + turn lthigh to x-axis <-67.798862> speed <231.000823> / animSpeed; //delta=-7.70 turn lthigh to z-axis <4.158150> speed <38.132242> / animSpeed; //delta=1.27 turn lthigh to y-axis <9.171007> speed <48.372390> / animSpeed; //delta=-1.61 - move pelvis to y-axis [-1.0] speed [30.0] / animSpeed; //delta=-1.00 - turn pelvis to z-axis <-6.0> speed <60.0> / animSpeed; //delta=2.00 - turn pelvis to y-axis <-10.0> speed <89.999990> / animSpeed; //delta=-3.00 + move pelvis to y-axis [-1.000000] speed [30.000000] / animSpeed; //delta=-1.00 + turn pelvis to z-axis <-6.000000> speed <60.000006> / animSpeed; //delta=2.00 + turn pelvis to y-axis <-10.000000> speed <89.999990> / animSpeed; //delta=-3.00 turn rfoot to x-axis <5.567715> speed <746.977005> / animSpeed; //delta=-24.90 turn rleg to x-axis <17.501352> speed <477.554274> / animSpeed; //delta=-15.92 turn rthigh to x-axis <49.563869> speed <429.551246> / animSpeed; //delta=-14.32 turn rthigh to z-axis <22.664569> speed <485.612875> / animSpeed; //delta=-16.19 turn rthigh to y-axis <-17.758362> speed <387.771875> / animSpeed; //delta=-12.93 - turn torso to x-axis <-0.0> speed <60.0> / animSpeed; //delta=2.00 + turn torso to x-axis <-0.000000> speed <60.000000> / animSpeed; //delta=2.00 turn torso to y-axis <16.091268> speed <160.912683> / animSpeed; //delta=5.36 - if (!isAiming){ + if (!bAiming){ turn lloarm to x-axis <39.699996> speed <227.999979> / animSpeed; //delta=-7.60 turn rloarm to x-axis <25.099998> speed <376.499963> / animSpeed; //delta=-12.55 turn ruparm to x-axis <-20.299998> speed <304.499976> / animSpeed; //delta=10.15 @@ -79,18 +79,18 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:6 - turn head to x-axis <-5.0> speed <59.999993> / animSpeed; //delta=2.00 - turn head to z-axis <3.0> speed <59.999993> / animSpeed; //delta=2.00 - turn head to y-axis <2.0> speed <30.0> / animSpeed; //delta=-1.00 + if (bMoving) { //Frame:6 + turn head to x-axis <-5.000000> speed <59.999993> / animSpeed; //delta=2.00 + turn head to z-axis <3.000000> speed <59.999993> / animSpeed; //delta=2.00 + turn head to y-axis <2.000000> speed <30.000003> / animSpeed; //delta=-1.00 turn lfoot to x-axis <30.079231> speed <588.082079> / animSpeed; //delta=-19.60 turn lleg to x-axis <-0.930112> speed <660.324905> / animSpeed; //delta=22.01 turn lthigh to x-axis <-36.977712> speed <924.634502> / animSpeed; //delta=-30.82 turn lthigh to z-axis <1.484005> speed <80.224353> / animSpeed; //delta=2.67 turn lthigh to y-axis <5.780735> speed <101.708146> / animSpeed; //delta=-3.39 - move pelvis to y-axis [-0.500000] speed [15.0] / animSpeed; //delta=0.50 - turn pelvis to z-axis <-4.0> speed <60.0> / animSpeed; //delta=-2.00 - turn pelvis to y-axis <-7.0> speed <89.999990> / animSpeed; //delta=3.00 + move pelvis to y-axis [-0.500000] speed [15.000000] / animSpeed; //delta=0.50 + turn pelvis to z-axis <-4.000000> speed <60.000006> / animSpeed; //delta=-2.00 + turn pelvis to y-axis <-7.000000> speed <89.999990> / animSpeed; //delta=3.00 turn rfoot to x-axis <-57.884173> speed <1903.556638> / animSpeed; //delta=63.45 turn rfoot to y-axis <-0.082820> speed <4.781901> / animSpeed; //delta=-0.16 turn rleg to x-axis <76.345163> speed <1765.314335> / animSpeed; //delta=-58.84 @@ -99,29 +99,29 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn rthigh to x-axis <19.099301> speed <913.937043> / animSpeed; //delta=30.46 turn rthigh to z-axis <7.116277> speed <466.448752> / animSpeed; //delta=15.55 turn rthigh to y-axis <-3.186299> speed <437.161897> / animSpeed; //delta=14.57 - turn torso to x-axis <5.0> speed <149.999996> / animSpeed; //delta=-5.00 + turn torso to x-axis <5.000000> speed <149.999996> / animSpeed; //delta=-5.00 turn torso to y-axis <10.727512> speed <160.912683> / animSpeed; //delta=-5.36 - if (!isAiming){ + if (!bAiming){ turn luparm to x-axis <17.499998> speed <524.999946> / animSpeed; //delta=17.50 turn lloarm to x-axis <19.849998> speed <595.499947> / animSpeed; //delta=19.85 turn ruparm to x-axis <-1.750000> speed <556.499942> / animSpeed; //delta=-18.55 - turn rloarm to x-axis <24.799997> speed <9.0> / animSpeed; //delta=0.30 + turn rloarm to x-axis <24.799997> speed <9.000021> / animSpeed; //delta=0.30 } sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:8 - turn head to x-axis <-3.0> speed <59.999993> / animSpeed; //delta=-2.00 - turn head to z-axis <-0.0> speed <90.0> / animSpeed; //delta=3.00 - turn head to y-axis <0.0> speed <60.0> / animSpeed; //delta=-2.00 + if (bMoving) { //Frame:8 + turn head to x-axis <-3.000000> speed <59.999993> / animSpeed; //delta=-2.00 + turn head to z-axis <-0.000000> speed <90.000003> / animSpeed; //delta=3.00 + turn head to y-axis <0.000000> speed <60.000000> / animSpeed; //delta=-2.00 turn lfoot to x-axis <-0.715686> speed <923.847503> / animSpeed; //delta=30.79 turn lleg to x-axis <-3.299997> speed <71.096558> / animSpeed; //delta=2.37 turn lthigh to x-axis <0.589691> speed <1127.022087> / animSpeed; //delta=-37.57 turn lthigh to z-axis <2.442635> speed <28.758905> / animSpeed; //delta=-0.96 turn lthigh to y-axis <3.543358> speed <67.121330> / animSpeed; //delta=-2.24 move pelvis to y-axis [-0.250000] speed [7.500000] / animSpeed; //delta=0.25 - turn pelvis to z-axis <-0.0> speed <119.999999> / animSpeed; //delta=-4.00 - turn pelvis to y-axis <0.0> speed <210.0> / animSpeed; //delta=7.00 + turn pelvis to z-axis <-0.000000> speed <119.999999> / animSpeed; //delta=-4.00 + turn pelvis to y-axis <0.000000> speed <210.000002> / animSpeed; //delta=7.00 turn rfoot to x-axis <-52.251634> speed <168.976182> / animSpeed; //delta=-5.63 turn rleg to x-axis <89.064069> speed <381.567152> / animSpeed; //delta=-12.72 turn rleg to z-axis <1.101128> speed <27.955427> / animSpeed; //delta=-0.93 @@ -129,39 +129,39 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn rthigh to x-axis <-31.951160> speed <1531.513834> / animSpeed; //delta=51.05 turn rthigh to z-axis <-3.531425> speed <319.431062> / animSpeed; //delta=10.65 turn rthigh to y-axis <-6.117383> speed <87.932523> / animSpeed; //delta=-2.93 - turn torso to x-axis <2.0> speed <89.999996> / animSpeed; //delta=3.00 - turn torso to y-axis <0.0> speed <321.825366> / animSpeed; //delta=-10.73 - if (!isAiming){ + turn torso to x-axis <2.000000> speed <89.999996> / animSpeed; //delta=3.00 + turn torso to y-axis <0.000000> speed <321.825366> / animSpeed; //delta=-10.73 + if (!bAiming){ turn ruparm to x-axis <16.799998> speed <556.499942> / animSpeed; //delta=-18.55 turn rloarm to x-axis <24.499998> speed <8.999970> / animSpeed; //delta=0.30 - turn luparm to x-axis <-0.0> speed <524.999946> / animSpeed; //delta=17.50 - turn lloarm to x-axis <-0.0> speed <595.499947> / animSpeed; //delta=19.85 + turn luparm to x-axis <-0.000000> speed <524.999946> / animSpeed; //delta=17.50 + turn lloarm to x-axis <-0.000000> speed <595.499947> / animSpeed; //delta=19.85 } sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:10 - turn head to x-axis <-0.0> speed <90.0> / animSpeed; //delta=-3.00 - turn head to z-axis <-3.0> speed <90.0> / animSpeed; //delta=3.00 - turn head to y-axis <-2.0> speed <60.0> / animSpeed; //delta=-2.00 + if (bMoving) { //Frame:10 + turn head to x-axis <-0.000000> speed <90.000003> / animSpeed; //delta=-3.00 + turn head to z-axis <-3.000000> speed <90.000003> / animSpeed; //delta=3.00 + turn head to y-axis <-2.000000> speed <60.000000> / animSpeed; //delta=-2.00 turn lfoot to x-axis <-20.656780> speed <598.232833> / animSpeed; //delta=19.94 turn lleg to x-axis <1.651201> speed <148.535938> / animSpeed; //delta=-4.95 turn lthigh to x-axis <35.930903> speed <1060.236370> / animSpeed; //delta=-35.34 turn lthigh to z-axis <-6.407436> speed <265.502129> / animSpeed; //delta=8.85 turn lthigh to y-axis <9.339118> speed <173.872819> / animSpeed; //delta=5.80 - move pelvis to y-axis [0.0] speed [7.500000] / animSpeed; //delta=0.25 - turn pelvis to z-axis <4.0> speed <119.999999> / animSpeed; //delta=-4.00 - turn pelvis to y-axis <7.0> speed <210.0> / animSpeed; //delta=7.00 + move pelvis to y-axis [0.000000] speed [7.500000] / animSpeed; //delta=0.25 + turn pelvis to z-axis <4.000000> speed <119.999999> / animSpeed; //delta=-4.00 + turn pelvis to y-axis <7.000000> speed <210.000002> / animSpeed; //delta=7.00 turn rfoot to x-axis <7.470142> speed <1791.653269> / animSpeed; //delta=-59.72 turn rleg to x-axis <57.621436> speed <943.278972> / animSpeed; //delta=31.44 turn rleg to z-axis <0.001965> speed <32.974877> / animSpeed; //delta=1.10 - turn rleg to y-axis <0.0> speed <32.675019> / animSpeed; //delta=1.09 + turn rleg to y-axis <0.000121> speed <32.675019> / animSpeed; //delta=1.09 turn rthigh to x-axis <-74.394844> speed <1273.310503> / animSpeed; //delta=42.44 turn rthigh to z-axis <-3.418305> speed <3.393609> / animSpeed; //delta=-0.11 turn rthigh to y-axis <-8.657335> speed <76.198555> / animSpeed; //delta=-2.54 turn torso to x-axis <1.500000> speed <14.999998> / animSpeed; //delta=0.50 turn torso to y-axis <-10.727512> speed <321.825366> / animSpeed; //delta=-10.73 - if (!isAiming){ + if (!bAiming){ turn lloarm to x-axis <12.549999> speed <376.499963> / animSpeed; //delta=-12.55 turn luparm to x-axis <-10.149999> speed <304.499976> / animSpeed; //delta=10.15 turn ruparm to x-axis <25.899997> speed <272.999980> / animSpeed; //delta=-9.10 @@ -170,26 +170,26 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:12 - turn head to x-axis <3.0> speed <90.0> / animSpeed; //delta=-3.00 - turn head to z-axis <-5.0> speed <59.999993> / animSpeed; //delta=2.00 - turn head to y-axis <-3.0> speed <30.0> / animSpeed; //delta=-1.00 + if (bMoving) { //Frame:12 + turn head to x-axis <3.000000> speed <90.000003> / animSpeed; //delta=-3.00 + turn head to z-axis <-5.000000> speed <59.999993> / animSpeed; //delta=2.00 + turn head to y-axis <-3.000000> speed <30.000003> / animSpeed; //delta=-1.00 turn lfoot to x-axis <3.949748> speed <738.195836> / animSpeed; //delta=-24.61 turn lleg to x-axis <17.815912> speed <484.941329> / animSpeed; //delta=-16.16 turn lthigh to x-axis <50.892016> speed <448.833382> / animSpeed; //delta=-14.96 turn lthigh to z-axis <-23.408452> speed <510.030473> / animSpeed; //delta=17.00 turn lthigh to y-axis <18.550493> speed <276.341249> / animSpeed; //delta=9.21 - move pelvis to y-axis [-1.0] speed [30.0] / animSpeed; //delta=-1.00 - turn pelvis to z-axis <6.0> speed <60.0> / animSpeed; //delta=-2.00 - turn pelvis to y-axis <10.0> speed <89.999990> / animSpeed; //delta=3.00 + move pelvis to y-axis [-1.000000] speed [30.000000] / animSpeed; //delta=-1.00 + turn pelvis to z-axis <6.000000> speed <60.000006> / animSpeed; //delta=-2.00 + turn pelvis to y-axis <10.000000> speed <89.999990> / animSpeed; //delta=3.00 turn rfoot to x-axis <6.339872> speed <33.908111> / animSpeed; //delta=1.13 turn rleg to x-axis <20.971160> speed <1099.508280> / animSpeed; //delta=36.65 turn rthigh to x-axis <-66.214873> speed <245.399135> / animSpeed; //delta=-8.18 turn rthigh to z-axis <-2.997774> speed <12.615908> / animSpeed; //delta=-0.42 turn rthigh to y-axis <-7.981488> speed <20.275391> / animSpeed; //delta=0.68 - turn torso to x-axis <1.0> speed <15.0> / animSpeed; //delta=0.50 + turn torso to x-axis <1.000000> speed <15.000001> / animSpeed; //delta=0.50 turn torso to y-axis <-16.091268> speed <160.912683> / animSpeed; //delta=-5.36 - if (!isAiming){ + if (!bAiming){ turn lloarm to x-axis <25.099998> speed <376.499963> / animSpeed; //delta=-12.55 turn luparm to x-axis <-20.299998> speed <304.499976> / animSpeed; //delta=10.15 turn rloarm to x-axis <39.699996> speed <227.999979> / animSpeed; //delta=-7.60 @@ -198,10 +198,10 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:14 - turn head to x-axis <5.0> speed <59.999993> / animSpeed; //delta=-2.00 - turn head to z-axis <-3.0> speed <59.999993> / animSpeed; //delta=-2.00 - turn head to y-axis <-2.0> speed <30.0> / animSpeed; //delta=1.00 + if (bMoving) { //Frame:14 + turn head to x-axis <5.000000> speed <59.999993> / animSpeed; //delta=-2.00 + turn head to z-axis <-3.000000> speed <59.999993> / animSpeed; //delta=-2.00 + turn head to y-axis <-2.000000> speed <30.000003> / animSpeed; //delta=1.00 turn lfoot to x-axis <-59.762174> speed <1911.357666> / animSpeed; //delta=63.71 turn lfoot to y-axis <0.094110> speed <5.007249> / animSpeed; //delta=0.17 turn lleg to x-axis <78.978727> speed <1834.884473> / animSpeed; //delta=-61.16 @@ -210,18 +210,18 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn lthigh to x-axis <19.294984> speed <947.910968> / animSpeed; //delta=31.60 turn lthigh to z-axis <-7.158915> speed <487.486097> / animSpeed; //delta=-16.25 turn lthigh to y-axis <3.165140> speed <461.560605> / animSpeed; //delta=-15.39 - move pelvis to y-axis [-0.500000] speed [15.0] / animSpeed; //delta=0.50 - turn pelvis to z-axis <4.0> speed <60.0> / animSpeed; //delta=2.00 - turn pelvis to y-axis <7.0> speed <89.999990> / animSpeed; //delta=-3.00 + move pelvis to y-axis [-0.500000] speed [15.000000] / animSpeed; //delta=0.50 + turn pelvis to z-axis <4.000000> speed <60.000006> / animSpeed; //delta=2.00 + turn pelvis to y-axis <7.000000> speed <89.999990> / animSpeed; //delta=-3.00 turn rfoot to x-axis <27.543472> speed <636.108012> / animSpeed; //delta=-21.20 turn rleg to x-axis <-1.292623> speed <667.913503> / animSpeed; //delta=22.26 turn rthigh to x-axis <-35.629473> speed <917.561978> / animSpeed; //delta=-30.59 turn rthigh to z-axis <-1.266893> speed <51.926444> / animSpeed; //delta=-1.73 turn rthigh to y-axis <-5.529112> speed <73.571293> / animSpeed; //delta=2.45 - turn torso to x-axis <-0.0> speed <30.0> / animSpeed; //delta=1.00 + turn torso to x-axis <-0.000000> speed <30.000000> / animSpeed; //delta=1.00 turn torso to y-axis <-10.727512> speed <160.912683> / animSpeed; //delta=5.36 - if (!isAiming){ - turn lloarm to x-axis <24.799997> speed <9.0> / animSpeed; //delta=0.30 + if (!bAiming){ + turn lloarm to x-axis <24.799997> speed <9.000021> / animSpeed; //delta=0.30 turn luparm to x-axis <-1.750000> speed <556.499942> / animSpeed; //delta=-18.55 turn rloarm to x-axis <19.849998> speed <595.499947> / animSpeed; //delta=19.85 turn ruparm to x-axis <17.499998> speed <524.999946> / animSpeed; //delta=17.50 @@ -229,10 +229,10 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:16 - turn head to x-axis <3.0> speed <59.999993> / animSpeed; //delta=2.00 - turn head to z-axis <-0.0> speed <90.0> / animSpeed; //delta=-3.00 - turn head to y-axis <0.0> speed <60.0> / animSpeed; //delta=2.00 + if (bMoving) { //Frame:16 + turn head to x-axis <3.000000> speed <59.999993> / animSpeed; //delta=2.00 + turn head to z-axis <-0.000000> speed <90.000003> / animSpeed; //delta=-3.00 + turn head to y-axis <0.000000> speed <60.000000> / animSpeed; //delta=2.00 turn lfoot to x-axis <-51.779046> speed <239.493856> / animSpeed; //delta=-7.98 turn lleg to x-axis <88.335472> speed <280.702333> / animSpeed; //delta=-9.36 turn lleg to z-axis <0.684763> speed <16.362339> / animSpeed; //delta=-0.55 @@ -241,46 +241,46 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn lthigh to z-axis <3.898757> speed <331.730173> / animSpeed; //delta=-11.06 turn lthigh to y-axis <6.508490> speed <100.300515> / animSpeed; //delta=3.34 move pelvis to y-axis [-0.250000] speed [7.500000] / animSpeed; //delta=0.25 - turn pelvis to z-axis <-0.0> speed <119.999999> / animSpeed; //delta=4.00 - turn pelvis to y-axis <0.0> speed <210.0> / animSpeed; //delta=-7.00 + turn pelvis to z-axis <-0.000000> speed <119.999999> / animSpeed; //delta=4.00 + turn pelvis to y-axis <0.000000> speed <210.000002> / animSpeed; //delta=-7.00 turn rfoot to x-axis <-0.696991> speed <847.213888> / animSpeed; //delta=28.24 turn rleg to x-axis <-3.374669> speed <62.461359> / animSpeed; //delta=2.08 turn rthigh to x-axis <0.603563> speed <1086.991103> / animSpeed; //delta=-36.23 turn rthigh to z-axis <-2.389635> speed <33.682264> / animSpeed; //delta=1.12 turn rthigh to y-axis <-3.644399> speed <56.541390> / animSpeed; //delta=1.88 - turn torso to x-axis <5.0> speed <149.999996> / animSpeed; //delta=-5.00 - turn torso to y-axis <0.0> speed <321.825366> / animSpeed; //delta=10.73 - if (!isAiming){ + turn torso to x-axis <5.000000> speed <149.999996> / animSpeed; //delta=-5.00 + turn torso to y-axis <0.000000> speed <321.825366> / animSpeed; //delta=10.73 + if (!bAiming){ turn lloarm to x-axis <24.499998> speed <8.999970> / animSpeed; //delta=0.30 turn luparm to x-axis <16.799998> speed <556.499942> / animSpeed; //delta=-18.55 - turn rloarm to x-axis <-0.0> speed <595.499947> / animSpeed; //delta=19.85 - turn ruparm to x-axis <-0.0> speed <524.999946> / animSpeed; //delta=17.50 + turn rloarm to x-axis <-0.000000> speed <595.499947> / animSpeed; //delta=19.85 + turn ruparm to x-axis <-0.000000> speed <524.999946> / animSpeed; //delta=17.50 } sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:18 - turn head to x-axis <-0.0> speed <90.0> / animSpeed; //delta=3.00 - turn head to z-axis <3.0> speed <90.0> / animSpeed; //delta=-3.00 - turn head to y-axis <2.0> speed <60.0> / animSpeed; //delta=2.00 + if (bMoving) { //Frame:18 + turn head to x-axis <-0.000000> speed <90.000003> / animSpeed; //delta=3.00 + turn head to z-axis <3.000000> speed <90.000003> / animSpeed; //delta=-3.00 + turn head to y-axis <2.000000> speed <60.000000> / animSpeed; //delta=2.00 turn lfoot to x-axis <12.256668> speed <1921.071411> / animSpeed; //delta=-64.04 turn lleg to x-axis <55.487907> speed <985.426943> / animSpeed; //delta=32.85 turn lleg to z-axis <0.001606> speed <20.494694> / animSpeed; //delta=0.68 - turn lleg to y-axis <0.0> speed <20.476971> / animSpeed; //delta=0.68 + turn lleg to y-axis <0.000549> speed <20.476971> / animSpeed; //delta=0.68 turn lthigh to x-axis <-75.498889> speed <1291.093344> / animSpeed; //delta=43.04 turn lthigh to z-axis <5.429225> speed <45.914021> / animSpeed; //delta=-1.53 turn lthigh to y-axis <10.783420> speed <128.247888> / animSpeed; //delta=4.27 - move pelvis to y-axis [0.0] speed [7.500000] / animSpeed; //delta=0.25 - turn pelvis to z-axis <-4.0> speed <119.999999> / animSpeed; //delta=4.00 - turn pelvis to y-axis <-7.0> speed <210.0> / animSpeed; //delta=-7.00 + move pelvis to y-axis [0.000000] speed [7.500000] / animSpeed; //delta=0.25 + turn pelvis to z-axis <-4.000000> speed <119.999999> / animSpeed; //delta=4.00 + turn pelvis to y-axis <-7.000000> speed <210.000002> / animSpeed; //delta=-7.00 turn rfoot to x-axis <-19.277005> speed <557.400427> / animSpeed; //delta=18.58 turn rleg to x-axis <1.482252> speed <145.707625> / animSpeed; //delta=-4.86 turn rthigh to x-axis <34.962809> speed <1030.777385> / animSpeed; //delta=-34.36 turn rthigh to z-axis <6.426709> speed <264.490305> / animSpeed; //delta=-8.82 turn rthigh to y-axis <-9.420859> speed <173.293788> / animSpeed; //delta=-5.78 - turn torso to x-axis <2.0> speed <89.999996> / animSpeed; //delta=3.00 + turn torso to x-axis <2.000000> speed <89.999996> / animSpeed; //delta=3.00 turn torso to y-axis <10.727512> speed <321.825366> / animSpeed; //delta=10.73 - if (!isAiming){ + if (!bAiming){ turn lloarm to x-axis <32.099997> speed <227.999979> / animSpeed; //delta=-7.60 turn luparm to x-axis <25.899997> speed <272.999980> / animSpeed; //delta=-9.10 turn rloarm to x-axis <12.549999> speed <376.499963> / animSpeed; //delta=-12.55 @@ -291,39 +291,39 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations } } } -// Call this from StopMoving()! +// Call this from MotionControl()! StopWalking() { - move pelvis to y-axis [0.0] speed [15.0]; - turn head to x-axis <0.0> speed <45.0>; - turn head to y-axis <0.0> speed <30.0>; - turn head to z-axis <0.0> speed <45.0>; + move pelvis to y-axis [0.000000] speed [15.000000]; + turn head to x-axis <0.000000> speed <45.000001>; + turn head to y-axis <0.000000> speed <30.000000>; + turn head to z-axis <0.000000> speed <45.000001>; turn lfoot to x-axis <1.285988> speed <1218.137537>; - turn lfoot to y-axis <0.0> speed <4.641746>; - turn lfoot to z-axis <0.0> speed <2.333080>; - turn lleg to x-axis <0.0> speed <957.859087>; - turn lleg to y-axis <0.0> speed <443.136521>; - turn lleg to z-axis <0.0> speed <443.190059>; + turn lfoot to y-axis <0.000000> speed <4.641746>; + turn lfoot to z-axis <0.000000> speed <2.333080>; + turn lleg to x-axis <0.000000> speed <957.859087>; + turn lleg to y-axis <0.000000> speed <443.136521>; + turn lleg to z-axis <0.000000> speed <443.190059>; turn lthigh to x-axis <-0.700366> speed <1115.464619>; turn lthigh to y-axis <15.616604> speed <421.052079>; turn lthigh to z-axis <-8.352927> speed <265.118120>; turn luparm to z-axis <-12.099999> speed <181.499991>; - turn pelvis to y-axis <0.0> speed <105.0>; - turn pelvis to z-axis <0.0> speed <60.0>; - turn rfoot to x-axis <0.0> speed <1208.987384>; - turn rfoot to y-axis <0.0> speed <4.135854>; - turn rfoot to z-axis <0.0> speed <1.879371>; + turn pelvis to y-axis <0.000000> speed <105.000001>; + turn pelvis to z-axis <0.000000> speed <60.000000>; + turn rfoot to x-axis <0.000000> speed <1208.987384>; + turn rfoot to y-axis <0.000000> speed <4.135854>; + turn rfoot to z-axis <0.000000> speed <1.879371>; turn rleg to x-axis <0.173049> speed <919.355902>; - turn rleg to y-axis <0.0> speed <22.340730>; - turn rleg to z-axis <0.0> speed <22.386888>; + turn rleg to y-axis <0.000000> speed <22.340730>; + turn rleg to z-axis <0.000000> speed <22.386888>; turn rthigh to x-axis <0.260728> speed <892.927654>; turn rthigh to y-axis <-9.266330> speed <214.327854>; turn rthigh to z-axis <7.399847> speed <263.336713>; - turn ruparm to x-axis <0.0> speed <278.249971>; - turn torso to x-axis <0.0> speed <74.999998>; - turn torso to y-axis <0.0> speed <160.912683>; - if (!isAiming){ + turn ruparm to x-axis <0.000000> speed <278.249971>; + turn torso to x-axis <0.000000> speed <74.999998>; + turn torso to y-axis <0.000000> speed <160.912683>; + if (!bAiming){ turn lloarm to x-axis <57.199996> speed <376.499988>; - turn luparm to x-axis <0.0> speed <388.499956>; + turn luparm to x-axis <0.000000> speed <388.499956>; turn rloarm to x-axis <51.399998> speed <582.749985>; turn ruparm to z-axis <12.799999> speed <191.999986>; } @@ -352,7 +352,7 @@ UnitSpeed(){ #define UNITSIZE 1 #define MAXTILT 100 -#include "../unit_hitbyweaponid_and_smoke.h" +#include "unit_hitbyweaponid_and_smoke.h" static-var Stunned; ExecuteRestoreAfterDelay() @@ -361,20 +361,20 @@ ExecuteRestoreAfterDelay() return (1); } //get PRINT(get RAND(1,1000)); - turn aimy1 to y-axis <0> speed <300.0>; - turn ruparm to x-axis <0> speed <300.0>; - turn ruparm to x-axis <0> speed <300.0>; - turn lloarm to x-axis <90> speed <300.0>; - turn rloarm to x-axis <90> speed <300.0>; + turn aimy1 to y-axis <0> speed <300.00>; + turn ruparm to x-axis <0> speed <300.000000>; + turn ruparm to x-axis <0> speed <300.000000>; + turn lloarm to x-axis <90> speed <300.000000>; + turn rloarm to x-axis <90> speed <300.000000>; start-script RestoreWeapon1(); call-script Weapon1Restored(); - isAiming = FALSE; + bAiming = FALSE; } static-var bAnimate; Animate() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations\armpw_anim_idle_pushup.blend - set-signal-mask (SIGNAL_AIM1 | SIGNAL_MOVE); + set-signal-mask (SIG_AIM | SIG_MOVE); if (RAND(1,100) > 10) return; // reduce probs to only 10% sleep 10000 + 100*RAND(1,200); // 10-30 secs //sleep 5000; @@ -921,9 +921,9 @@ Animate() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animati } if (bAnimate) { turn lfoot to x-axis <0.044668> speed <265.521937> ; - turn lfoot to z-axis <0.0> speed <2.792637> ; + turn lfoot to z-axis <0.000003> speed <2.792637> ; turn lleg to x-axis <-0.030954> speed <481.099261> ; - turn lleg to z-axis <-0.0> speed <2.860280> ; + turn lleg to z-axis <-0.000098> speed <2.860280> ; turn lleg to y-axis <0.001986> speed <1.075197> ; turn lloarm to x-axis <-0.017911> speed <251.188990> ; turn lloarm to y-axis <-0.001192> speed <4.195630> ; @@ -931,21 +931,21 @@ Animate() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animati turn luparm to x-axis <-0.146491> speed <263.080849> ; turn luparm to z-axis <0.001526> speed <1.368152> ; turn luparm to y-axis <0.001680> speed <3.700189> ; - move pelvis to z-axis [0.0] speed [2.090636] ; - move pelvis to y-axis [0.0] speed [17.979473] ; + move pelvis to z-axis [0.000000] speed [2.090636] ; + move pelvis to y-axis [0.000000] speed [17.979473] ; turn pelvis to x-axis <0.106443> speed <162.008393> ; - turn pelvis to z-axis <0.0> speed <1.275300> ; + turn pelvis to z-axis <0.000621> speed <1.275300> ; turn rfoot to x-axis <0.041923> speed <302.505215> ; - turn rfoot to z-axis <-0.0> speed <4.797614> ; - turn rfoot to y-axis <0.0> speed <3.182008> ; + turn rfoot to z-axis <-0.000000> speed <4.797614> ; + turn rfoot to y-axis <0.000002> speed <3.182008> ; turn rleg to x-axis <-0.030584> speed <511.192365> ; - turn rleg to z-axis <-0.0> speed <7.294778> ; + turn rleg to z-axis <-0.000901> speed <7.294778> ; turn rleg to y-axis <0.001259> speed <6.776268> ; turn rloarm to x-axis <-0.017415> speed <253.225771> ; - turn rloarm to z-axis <0.0> speed <15.273579> ; + turn rloarm to z-axis <0.000003> speed <15.273579> ; turn rloarm to y-axis <0.004522> speed <17.034926> ; turn rthigh to x-axis <-0.118862> speed <280.199673> ; - turn rthigh to z-axis <-0.0> speed <7.887418> ; + turn rthigh to z-axis <-0.000657> speed <7.887418> ; turn rthigh to y-axis <-0.002014> speed <5.793443> ; turn ruparm to x-axis <-0.144353> speed <260.436190> ; turn ruparm to z-axis <-0.006278> speed <1.480031> ; @@ -956,7 +956,7 @@ Animate() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animati start-script ExecuteRestoreAfterDelay(); bAnimate = FALSE; } -// Call this from StopMoving()! +// Call this from MotionControl()! StopAnimation() { if (bAnimate) { move pelvis to y-axis [0] speed [17.979473]; @@ -1011,8 +1011,9 @@ Create() turn rfire to x-axis <10> now; hide lfire; turn lfire to x-axis <10> now; - isMoving = FALSE; - isAiming = FALSE; + bMoving = FALSE; + bAiming = FALSE; + Static_Var_3 = 1; gun_1 = 0; restore_delay = 3000; animSpeed = 2; @@ -1022,48 +1023,51 @@ Create() call-script StopWalking(); // start in power stance! } -SetMaxReloadTime(reloadMS) +SetMaxReloadTime(Func_Var_1) { - restore_delay = reloadMS * 2; + restore_delay = Func_Var_1 * 2; } -StartMoving(reversing) +StartMoving() { - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; + signal SIG_MOVE; + set-signal-mask SIG_MOVE; start-script UnitSpeed(); call-script StopAnimation(); - isMoving = TRUE; + bMoving = TRUE; start-script Walk(); } StopMoving() { - isMoving = FALSE; - signal SIGNAL_MOVE; + bMoving = FALSE; + signal SIG_MOVE; call-script StopWalking(); start-script Animate(); } - +SweetSpot(piecenum) +{ + piecenum = torso; +} DrawWeapon1() { - isAiming = TRUE; - turn aimy1 to y-axis <0> speed <300.0>; - turn ruparm to x-axis <0> speed <300.0>; - turn ruparm to x-axis <0> speed <300.0>; - turn lloarm to x-axis <0> speed <300.0>; - turn rloarm to x-axis <0> speed <300.0>; + bAiming = TRUE; + turn aimy1 to y-axis <0> speed <300.00>; + turn ruparm to x-axis <0> speed <300.000000>; + turn ruparm to x-axis <0> speed <300.000000>; + turn lloarm to x-axis <0> speed <300.000000>; + turn rloarm to x-axis <0> speed <300.000000>; wait-for-turn lloarm around x-axis; wait-for-turn rloarm around x-axis; wait-for-turn luparm around x-axis; wait-for-turn ruparm around x-axis; - Weapon1Drawn(); + start-script Weapon1Drawn(); } @@ -1076,19 +1080,19 @@ SetStunned(State) } RestoreAfterDelay() { - set-signal-mask SIGNAL_AIM1; + set-signal-mask SIG_AIM; sleep restore_delay; start-script ExecuteRestoreAfterDelay(); } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = aimx1; + piecenum = aimx1; } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = rfire + gun_1; + piecenum = rfire + gun_1; } Shot1() @@ -1121,30 +1125,26 @@ Shot1() } } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; + signal SIG_AIM; + start-script Weapon1Control(); + + call-script StopAnimation(); + start-script RestoreAfterDelay(); + bAiming = TRUE; + start-script Weapon1SetWtdAim(heading, pitch); if (wpnReady1 == 0) { start-script DrawWeapon1(); } - set-signal-mask SIGNAL_AIM1; - start-script Weapon1Control(); - - // This is needed cause Weapon1Control() wont kick in till the next frame - canfire = ABSOLUTE_LESS_THAN(WRAPDELTA(heading - curHead1),(Weapon1TurretX / 30)); - - isAiming = TRUE; - - Weapon1SetWantedAim(heading, pitch); - start-script RestoreAfterDelay(); - return (canFire); + return (aim1); } // For C:\Users\PtaQ\Documents\GitHub\BAR\support\Animation_sources\death_anims\armpw_anim_death.blend Created by https://github.com/Beherith/Skeletor_S3O V((0, 3, 9)) //use call-script DeathAnim(); from Killed() DeathAnim() {// For C:\Users\PtaQ\Documents\GitHub\BAR\support\Animation_sources\death_anims\armpw_anim_death.blend Created by https://github.com/Beherith/Skeletor_S3O V((0, 3, 9)) - signal SIGNAL_AIM1; + signal SIG_AIM; call-script StopWalking(); turn aimy1 to y-axis <0> speed <120>; turn aimx1 to x-axis <0> speed <120>; @@ -1579,7 +1579,14 @@ Killed(severity, corpsetype) if( severity <= 50 ) { corpsetype = 2; + //explode lfire type FALL | BITMAP2 | NOHEATCLOUD; + //explode lloarm type FALL | BITMAP5 | NOHEATCLOUD; + //explode lthigh type FALL | BITMAP1 | NOHEATCLOUD; + //explode luparm type FALL | BITMAP2 | NOHEATCLOUD; // pelvis type FALL | BITMAP3 | NOHEATCLOUD; + //explode rfire type FALL | BITMAP4 | NOHEATCLOUD; + //explode rloarm type FALL | BITMAP2 | NOHEATCLOUD; + //explode rthigh type FALL | BITMAP3 | NOHEATCLOUD; explode ruparm type FALL | BITMAP4 | NOHEATCLOUD; explode torso type BITMAP5 | NOHEATCLOUD; return (corpsetype); @@ -1587,14 +1594,31 @@ Killed(severity, corpsetype) if( severity <= 99 ) { corpsetype = 3; + //explode lfoot type FALL | SMOKE | FIRE | BITMAP3 | NOHEATCLOUD; + //explode lleg type FALL | SMOKE | FIRE | BITMAP4 | NOHEATCLOUD; + //explode lloarm type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP5 | NOHEATCLOUD; + //explode lthigh type FALL | SMOKE | FIRE | BITMAP1 | NOHEATCLOUD; + //explode luparm type FALL | SMOKE | FIRE | BITMAP2 | NOHEATCLOUD; + //explode pelvis type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP3 | NOHEATCLOUD; + //explode rfoot type FALL | SMOKE | FIRE | BITMAP5 | NOHEATCLOUD; + //explode rleg type FALL | SMOKE | FIRE | BITMAP1 | NOHEATCLOUD; explode rloarm type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP2 | NOHEATCLOUD; + //explode rthigh type FALL | SMOKE | FIRE | BITMAP3 | NOHEATCLOUD; explode ruparm type FALL | SMOKE | FIRE | BITMAP4 | NOHEATCLOUD; explode torso type BITMAP5 | NOHEATCLOUD; return (corpsetype); } corpsetype = 3; + //explode lfoot type FALL | SMOKE | FIRE | BITMAP3 | NOHEATCLOUD; + //explode lleg type FALL | SMOKE | FIRE | BITMAP4 | NOHEATCLOUD; + //explode lloarm type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP5 | NOHEATCLOUD; + //explode lthigh type FALL | SMOKE | FIRE | BITMAP1 | NOHEATCLOUD; + //explode luparm type FALL | SMOKE | FIRE | BITMAP2 | NOHEATCLOUD; explode pelvis type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP3 | NOHEATCLOUD; + //explode rfoot type FALL | SMOKE | FIRE | BITMAP5 | NOHEATCLOUD; + //explode rleg type FALL | SMOKE | FIRE | BITMAP1 | NOHEATCLOUD; explode rloarm type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP2 | NOHEATCLOUD; + //explode rthigh type FALL | SMOKE | FIRE | BITMAP3 | NOHEATCLOUD; explode ruparm type FALL | SMOKE | FIRE | BITMAP4 | NOHEATCLOUD; explode torso type BITMAP5 | NOHEATCLOUD; return corpsetype; diff --git a/scripts/Units/armpw.cob b/scripts/Units/armpw.cob index aa05af091773a1b824b1a6df877a1808f0884e58..c988b7325541c774abac310aad16c513f3b577b0 100644 GIT binary patch literal 44461 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 @@ -14,12 +15,10 @@ static-var Stunned; #define UNITSIZE 3 #define MAXTILT 100 -#include "../unit_hitbyweaponid_and_smoke.h" +#include "unit_hitbyweaponid_and_smoke.h" Lights() { - signal SIGNAL_TURNON; - set-signal-mask SIGNAL_TURNON; while( TRUE ) { if (!Stunned) { @@ -27,38 +26,92 @@ Lights() } sleep 2500; } + sleep 50; + start-script Lights(); +} + +Go() +{ + spin dish around z-axis speed <180.010989>; + spin turret around y-axis speed <15.027473>; + return (0); +} + +Stop() +{ + spin dish around z-axis speed <0.000000>; + spin turret around y-axis speed <0.000000>; + return (0); +} + +InitState() +{ + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; + return (0); } SetStunned(State) { Stunned = State; if (Stunned) { - call-script Deactivate(); + call-script Stop(); } else { - call-script Activate(); + call-script Go(); } } +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + call-script Go(); + currentstate = 0; + } + if( statechg_DesiredState == 1 ) + { + call-script Stop(); + currentstate = 1; + } + } + statechg_StateChanging = FALSE; + return (0); +} + Create() { hide blink; + call-script InitState(); } Activate() { start-script Lights(); - spin dish around z-axis speed <180.010989>; - spin turret around y-axis speed <15.027473>; + start-script RequestState(0); + return (0); } Deactivate() { - signal SIGNAL_TURNON; - spin dish around z-axis speed <0.0>; - spin turret around y-axis speed <0.0>; + start-script RequestState(1); + return (0); } - +SweetSpot(piecenum) +{ + piecenum = base; + return (0); +} Killed(severity, corpsetype) { diff --git a/scripts/Units/armrad.cob b/scripts/Units/armrad.cob index 6727f0d9f1dfbb1e74ceb03a17c4b6227f83f544..7fab35d4440c079a23591a43a565fa790899bba4 100644 GIT binary patch literal 2676 zcmb`Jy=xRv6vgjul2uda*hK_c&`yihM$1G64Q>%!{6G}4Nd~hd?#5)ISg5HiZ4^YX zu(T5!|A1gA*jOr9T8UWN==r^QcXu*wK!dX!?tS<3y!+lvGHPafg;Akd&81YkzQ^pT z@Lo8k^(RTISCb;DiGDIyBp0F_k+jB0Vv{3DwNXu26Ne-&_>-~3W^2hrv`LuF)Z`t+ zQO_EA++nHS!)vlWCF0~%EOy~irx zb;~`6`8*HF-kB@;?1kApmtf7gSba3i5|w=-@tsDAGg^(dcCb}KE!5G*V5Y2n&ZzzR z@jUJqY|NRMV!sm@G$U)|_2Js*k%*&ygjlTiB>F1^e$UUrCTq#FXs?#+SEF4b@GRan zpU-}Lng=s_C6)f+u4slZ;2g0LW;6Nyc^hrC^LbcO%V#Z{-yI||gMH{+^mtA0Lw(}l z@KGY{ob}7R-v_CI1Ba)5d;UA#AvBKN%4diluKgKlW)mdTYsnaecr=fL(H8Ez zOkUsL4Qf(@Fy?+#O0fs#Vh%d7&W~JTxYyXrxqW}XM}C&q73{u2{oL22koHmL>^+Kk zg!+BF7V~`n&eijn$4SL_Ki`9|!%SxLdqw{mwe@WA54%sY?Ix}i>;1Wd!~Fj4(ZjzB zTYBkiif4}R0KxTqPH*B~=<9nVrmi(|L(*pTT}gKJ?^a!=vd?)Fgb%Ldp@%bw`bM-< zkGscNlUx4wg?BG<{1Q2a_(mR2-MZ4sJSc_jUwHg)?(>j{+$TgDK72ol^Zgfol-uc^ zn3?DLdFRw_?+ZXl3mzwN@%+z1vL}>|%O*Jzb0TGpi}?srjsP2jy(q mcC~dkRnkf?vkRT&WhKtF*HX*YS69=_7CLK-Hn-gAF4=D&;j(7{ literal 1982 zcmb7_J!@1^5Qb+r>kWPoj-7(wlEx;;VkKyi#1x7V11SWnY_iv6NwNvaji8MdrV~4@ zMAO*_Vr={YHunAmiwAR>1Ybeen`l|+OTI|7V!v|kdlF#{I-$Q?J^o#E^iSTW4V$iO~ z?B~`h@5r%&{u5ip;7`v!`w1Dz>Gw3KZfe*AkY+*8+=qqoPTUu6ty=8qg$`bO|I7y2 za6Q25?tC`Pf}Pz@_6BF|DLo+i%<-ic-`lSeJ)ZBTpM5ugql+=q4t=ZWJO>!+fX5tx z7vZ~H?%wxguL0aIcf`iCu$T1pir#&RcSUyQ%G|*3COqmRZ*#r!PM?-CA(_o-2~@<< zcFKA(>4+ac7^;W6;rxYBM3#X705yGt>uhmFEHpn_1u!6My4bxR`YM48>o} ziNqbw9p;TjbRmniaCR*G_Y)~v7T>(TEysK~RoX}uNqB67=7ZYf9v2S`wn6dy8{~5! z)_L&Fa<0pALWeK=;q~l*3B$22?0$Cp>tv@lVx#Zh!?+76&$a->iTJsBX1YEO)M1MhX_-7+r``6l@%f8+nc!+TN@jBVV&;glFhGl Hd&~9*SRIH# diff --git a/scripts/Units/armraz.bos b/scripts/Units/armraz.bos index 2aaac11fc99..e939582a371 100644 --- a/scripts/Units/armraz.bos +++ b/scripts/Units/armraz.bos @@ -1,14 +1,16 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece pelvis, rthigh, rleg, rfoot, rrfinger, rlfinger, lthigh, lleg, lfoot, llfinger,lrfinger, aimy1, torso, aimx1, ruparm, rblimb, rflimb, rcannon, rbarrel, rflare, luparm, lblimb, lflimb, lcannon, lbarrel, lflare; -static-var gun_1, isMoving, isAiming, wpn1_lasthead, animSpeed, maxSpeed, animFramesPerKeyframe, wpnheading, shotcount ; +static-var Static_Var_1, gun_1, bMoving, bAiming, wpn1_lasthead, animSpeed, maxSpeed, animFramesPerKeyframe, wpnheading, shotcount ; // Signal definitions -#define SIGNAL_MOVE 1 -#define SIGNAL_AIM1 256 -#define SIGNAL_AIM3 1024 +#define SIG_WALK 2 +#define SIG_AIM 4 +#define SIG_AIM_3 8 lua_UnitScriptDecal(lightIndex, xpos,zpos, heading) { @@ -17,7 +19,7 @@ lua_UnitScriptDecal(lightIndex, xpos,zpos, heading) Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptasz\Dropbox\BAR\Remoddeling\razorback animation.blend set-signal-mask 16; - if (isMoving) { //Frame:4 + if (bMoving) { //Frame:4 turn lfoot to x-axis <13.795659> speed <401.053563> / animSpeed; turn lfoot to z-axis <5.049406> speed <183.380055> / animSpeed; turn lfoot to y-axis <2.359221> speed <46.170261> / animSpeed; @@ -50,8 +52,8 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn torso to y-axis <-4.632961> speed <138.988839> / animSpeed; sleep ((33*animSpeed) -1); } - while(isMoving) { - if (isMoving) { //Frame:7 + while(bMoving) { + if (bMoving) { //Frame:7 turn lfoot to x-axis <1.914635> speed <356.430726> / animSpeed; turn lfoot to z-axis <-8.634297> speed <410.511090> / animSpeed; turn lfoot to y-axis <4.784126> speed <72.747150> / animSpeed; @@ -84,7 +86,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas move torso to y-axis [-1.504939] speed [45.148169] / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:10 + if (bMoving) { //Frame:10 turn lfoot to x-axis <23.369491> speed <643.645679> / animSpeed; turn lfoot to z-axis <-7.329066> speed <39.156937> / animSpeed; turn lfoot to y-axis <2.976039> speed <54.242598> / animSpeed; @@ -116,7 +118,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn torso to y-axis <-0.658030> speed <119.247933> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:13 + if (bMoving) { //Frame:13 call-script lua_UnitScriptDecal(1, (get PIECE_XZ(rfoot) & 0xffff0000) / 0x00010000 , (get PIECE_XZ(rfoot) & 0x0000ffff), get HEADING(0)); turn lfoot to x-axis <25.481728> speed <63.367131> / animSpeed; turn lfoot to z-axis <-4.475741> speed <85.599768> / animSpeed; @@ -125,15 +127,15 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn lleg to z-axis <-2.423213> speed <3.994137> / animSpeed; turn lleg to y-axis <-2.982743> speed <24.596909> / animSpeed; turn llfinger to x-axis <-3.815709> speed <98.817873> / animSpeed; - turn llfinger to z-axis <0.0> speed <56.343065> / animSpeed; - turn llfinger to y-axis <-0.0> speed <183.585827> / animSpeed; + turn llfinger to z-axis <0.000011> speed <56.343065> / animSpeed; + turn llfinger to y-axis <-0.000051> speed <183.585827> / animSpeed; turn lthigh to x-axis <-19.161746> speed <615.987613> / animSpeed; turn lthigh to z-axis <-1.188836> speed <75.805841> / animSpeed; turn lthigh to y-axis <-1.637319> speed <49.171475> / animSpeed; turn luparm to x-axis <1.914317> speed <104.414576> / animSpeed; turn luparm to z-axis <0.155189> speed <19.763890> / animSpeed; - move pelvis to z-axis [0.0] speed [41.748083] / animSpeed; - move pelvis to y-axis [0.0] speed [45.227087] / animSpeed; + move pelvis to z-axis [0.000000] speed [41.748083] / animSpeed; + move pelvis to y-axis [0.000000] speed [45.227087] / animSpeed; turn rfoot to x-axis <0.666694> speed <701.279818> / animSpeed; turn rfoot to z-axis <-1.115513> speed <43.264316> / animSpeed; turn rfoot to y-axis <0.765308> speed <50.930136> / animSpeed; @@ -150,7 +152,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn torso to y-axis <2.239125> speed <86.914666> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:16 + if (bMoving) { //Frame:16 turn lfoot to x-axis <36.766748> speed <338.550586> / animSpeed; turn lfoot to z-axis <4.676210> speed <274.558531> / animSpeed; turn lfoot to y-axis <-4.035164> speed <145.619242> / animSpeed; @@ -185,7 +187,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn torso to y-axis <5.136281> speed <86.914667> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:19 + if (bMoving) { //Frame:19 turn lfoot to x-axis <21.377696> speed <461.671542> / animSpeed; turn lfoot to z-axis <-1.579084> speed <187.658838> / animSpeed; turn lfoot to y-axis <0.194077> speed <126.877222> / animSpeed; @@ -218,7 +220,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn torso to y-axis <2.581869> speed <76.632347> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:22 + if (bMoving) { //Frame:22 turn lfoot to x-axis <-0.729659> speed <663.220673> / animSpeed; turn lfoot to z-axis <-1.350461> speed <6.858689> / animSpeed; turn lfoot to y-axis <0.637684> speed <13.308211> / animSpeed; @@ -232,7 +234,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn luparm to x-axis <-0.309604> speed <46.346869> / animSpeed; move pelvis to z-axis [-1.391603] speed [62.622126] / animSpeed; move pelvis to y-axis [-1.507570] speed [38.269079] / animSpeed; - turn rfoot to x-axis <-11.0> speed <639.077262> / animSpeed; + turn rfoot to x-axis <-11.000535> speed <639.077262> / animSpeed; turn rfoot to z-axis <2.044930> speed <223.305744> / animSpeed; turn rfoot to y-axis <-0.394570> speed <21.381413> / animSpeed; turn rleg to x-axis <-7.941788> speed <1195.680835> / animSpeed; @@ -250,7 +252,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn torso to y-axis <0.027457> speed <76.632360> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:25 + if (bMoving) { //Frame:25 call-script lua_UnitScriptDecal(1, (get PIECE_XZ(lfoot) & 0xffff0000) / 0x00010000 , (get PIECE_XZ(lfoot) & 0x0000ffff), get HEADING(0)); turn lfoot to x-axis <5.231117> speed <178.823299> / animSpeed; turn lfoot to z-axis <0.465443> speed <54.477127> / animSpeed; @@ -266,8 +268,8 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn lthigh to y-axis <1.243857> speed <40.252210> / animSpeed; turn luparm to x-axis <-3.729072> speed <102.584040> / animSpeed; turn luparm to z-axis <0.641401> speed <9.218541> / animSpeed; - move pelvis to z-axis [0.0] speed [41.748083] / animSpeed; - move pelvis to y-axis [0.0] speed [45.227087] / animSpeed; + move pelvis to z-axis [0.000000] speed [41.748083] / animSpeed; + move pelvis to y-axis [0.000000] speed [45.227087] / animSpeed; turn rfoot to x-axis <6.405970> speed <522.195172> / animSpeed; turn rfoot to z-axis <0.565067> speed <44.395878> / animSpeed; turn rfoot to y-axis <1.292561> speed <50.613905> / animSpeed; @@ -284,7 +286,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn torso to y-axis <-2.302752> speed <69.906280> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:28 + if (bMoving) { //Frame:28 turn lfoot to x-axis <13.795659> speed <256.936246> / animSpeed; turn lfoot to z-axis <5.049406> speed <137.518876> / animSpeed; turn lfoot to y-axis <2.359221> speed <4.584720> / animSpeed; @@ -308,15 +310,15 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn rleg to z-axis <2.777496> speed <38.894648> / animSpeed; turn rleg to y-axis <2.477287> speed <56.403892> / animSpeed; turn rrfinger to x-axis <-4.855897> speed <183.546276> / animSpeed; - turn rrfinger to z-axis <-0.0> speed <56.354646> / animSpeed; - turn rrfinger to y-axis <0.0> speed <185.344880> / animSpeed; + turn rrfinger to z-axis <-0.000016> speed <56.354646> / animSpeed; + turn rrfinger to y-axis <0.000233> speed <185.344880> / animSpeed; turn rthigh to x-axis <-16.221371> speed <508.848210> / animSpeed; turn rthigh to z-axis <1.513527> speed <21.328880> / animSpeed; turn rthigh to y-axis <1.198103> speed <40.086655> / animSpeed; turn ruparm to x-axis <1.914317> speed <104.414576> / animSpeed; turn ruparm to z-axis <0.155189> speed <19.763890> / animSpeed; move torso to z-axis [2.034146] speed [27.163264] / animSpeed; - move torso to y-axis [0.0] speed [45.148169] / animSpeed; + move torso to y-axis [0.000000] speed [45.148169] / animSpeed; turn torso to y-axis <-4.632961> speed <69.906280> / animSpeed; sleep ((33*animSpeed) -1); } @@ -324,39 +326,39 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas } StopWalking() { - move pelvis to y-axis [0.0] speed [16.235365]; - move pelvis to z-axis [0.0] speed [20.874042]; - move torso to y-axis [0.0] speed [25.641327]; + move pelvis to y-axis [0.000000] speed [16.235365]; + move pelvis to z-axis [0.000000] speed [20.874042]; + move torso to y-axis [0.000000] speed [25.641327]; move torso to z-axis [1.153447] speed [23.470916]; turn lfoot to x-axis <0.427207> speed <221.073558>; turn lfoot to y-axis <0.820212> speed <48.539747>; turn lfoot to z-axis <-1.063263> speed <136.837030>; - turn lleg to x-axis <0.0> speed <504.020269>; - turn lleg to y-axis <0.0> speed <60.052380>; - turn lleg to z-axis <0.0> speed <33.605021>; - turn llfinger to x-axis <0.0> speed <706.287912>; - turn llfinger to y-axis <0.0> speed <61.195276>; - turn llfinger to z-axis <0.0> speed <40.127550>; - turn lthigh to x-axis <0.0> speed <374.209051>; - turn lthigh to y-axis <0.0> speed <40.800109>; - turn lthigh to z-axis <0.0> speed <42.020465>; - turn luparm to x-axis <0.0> speed <59.702056>; - turn luparm to z-axis <0.0> speed <7.430537>; - turn rfoot to x-axis <0.0> speed <239.723043>; - turn rfoot to y-axis <0.0> speed <39.169459>; - turn rfoot to z-axis <0.0> speed <77.650433>; - turn rleg to x-axis <0.0> speed <398.560278>; - turn rleg to y-axis <0.0> speed <35.248233>; - turn rleg to z-axis <0.0> speed <31.520368>; - turn rrfinger to x-axis <0.0> speed <745.208899>; - turn rrfinger to y-axis <0.0> speed <61.781627>; - turn rrfinger to z-axis <0.0> speed <40.150657>; - turn rthigh to x-axis <0.0> speed <313.465349>; - turn rthigh to y-axis <0.0> speed <33.651485>; - turn rthigh to z-axis <0.0> speed <32.149379>; - turn ruparm to x-axis <0.0> speed <34.804859>; - turn ruparm to z-axis <0.0> speed <6.587963>; - turn torso to y-axis <0.0> speed <46.329613>; + turn lleg to x-axis <0.000000> speed <504.020269>; + turn lleg to y-axis <0.000000> speed <60.052380>; + turn lleg to z-axis <0.000000> speed <33.605021>; + turn llfinger to x-axis <0.000000> speed <706.287912>; + turn llfinger to y-axis <0.000000> speed <61.195276>; + turn llfinger to z-axis <0.000000> speed <40.127550>; + turn lthigh to x-axis <0.000000> speed <374.209051>; + turn lthigh to y-axis <0.000000> speed <40.800109>; + turn lthigh to z-axis <0.000000> speed <42.020465>; + turn luparm to x-axis <0.000000> speed <59.702056>; + turn luparm to z-axis <0.000000> speed <7.430537>; + turn rfoot to x-axis <0.000000> speed <239.723043>; + turn rfoot to y-axis <0.000000> speed <39.169459>; + turn rfoot to z-axis <0.000000> speed <77.650433>; + turn rleg to x-axis <0.000000> speed <398.560278>; + turn rleg to y-axis <0.000000> speed <35.248233>; + turn rleg to z-axis <0.000000> speed <31.520368>; + turn rrfinger to x-axis <0.000000> speed <745.208899>; + turn rrfinger to y-axis <0.000000> speed <61.781627>; + turn rrfinger to z-axis <0.000000> speed <40.150657>; + turn rthigh to x-axis <0.000000> speed <313.465349>; + turn rthigh to y-axis <0.000000> speed <33.651485>; + turn rthigh to z-axis <0.000000> speed <32.149379>; + turn ruparm to x-axis <0.000000> speed <34.804859>; + turn ruparm to z-axis <0.000000> speed <6.587963>; + turn torso to y-axis <0.000000> speed <46.329613>; } UnitSpeed(){ @@ -374,10 +376,10 @@ UnitSpeed(){ } } -StartMoving(reversing) +StartMoving() { signal 16; - isMoving = TRUE; + bMoving = TRUE; set-signal-mask 16; start-script UnitSpeed(); start-script Walk(); @@ -386,7 +388,7 @@ StartMoving(reversing) StopMoving() { signal 16; - isMoving = FALSE; + bMoving = FALSE; start-script StopWalking(); } @@ -404,8 +406,9 @@ Create() hide aimx1; hide aimy1; gun_1 = 0; - isMoving = FALSE; - isAiming = FALSE; + bMoving = FALSE; + bAiming = FALSE; + Static_Var_1 = 3500; wpnheading = 0; animSpeed = 6; shotcount = 0; @@ -417,59 +420,65 @@ lua_UnitScriptLight(lightIndex, count) } -RestoreAfterDelay() +SweetSpot(piecenum) { - sleep 3500; - set-signal-mask SIGNAL_AIM1; + piecenum = torso; +} + + +RestoreAfterDelay(Func_Var_1) +{ + set-signal-mask SIG_AIM; + sleep Static_Var_1; turn aimx1 to x-axis <0> speed <75>; turn aimy1 to y-axis <0> speed <75>; wait-for-turn aimy1 around y-axis; wait-for-turn aimx1 around x-axis; - isAiming = FALSE; + bAiming = FALSE; wpnheading = 0; } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = torso; + piecenum = torso; } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { if( gun_1 == 0 ) { - pieceIndex = rflare; + piecenum = rflare; } if( gun_1 == 1 ) { - pieceIndex = lflare; + piecenum = lflare; } if( gun_1 == 2 ) { - pieceIndex = rflare; + piecenum = rflare; } if( gun_1 == 3 ) { - pieceIndex = lflare; + piecenum = lflare; } } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - //get PRINT ( heading,isAiming,wpnheading,RAND(1,256) ) ; - signal SIGNAL_AIM1; - if (isAiming == 1) return; + //get PRINT ( heading,bAiming,wpnheading,RAND(1,256) ) ; + signal SIG_AIM; + if (bAiming == 1) return; turn aimy1 to y-axis heading speed <225.005495>; - turn aimx1 to x-axis <0.0> - pitch speed <75.005495>; + turn aimx1 to x-axis <0.000000> - pitch speed <75.005495>; spin rbarrel around z-axis speed <1000>; spin lbarrel around z-axis speed <1000>; //needed for luarules\gadgets\unit_continuous_aim.lua if ((get ABS(wpnheading - heading)) > 2000){ - isAiming = 1; + bAiming = 1; wait-for-turn aimy1 around y-axis; wait-for-turn aimx1 around x-axis; - isAiming = 0; + bAiming = 0; } wpnheading = heading; stop-spin rbarrel around z-axis decelerate <10>; @@ -479,7 +488,7 @@ AimWeapon1(heading, pitch) } -FireWeapon1() +FirePrimary() { turn aimy1 to x-axis <-1> now; turn aimy1 to x-axis <0> speed <5>; @@ -517,7 +526,9 @@ FireWeapon1() { move lbarrel to z-axis [-1.5] speed [1000]; //call-script lua_UnitScriptLight(1, shotcount); + show lflare; sleep 100; + hide lflare; move lbarrel to z-axis [0] speed [6]; gun_1 = 0; return (1); @@ -527,8 +538,8 @@ FireWeapon1() // For C:\Users\PtaQ\Documents\GitHub\BAR\support\Animation_sources\death_anims\armraz_anim_death.blend Created by https://github.com/Beherith/Skeletor_S3O V((0, 3, 9)) //use call-script DeathAnim(); from Killed() DeathAnim() {// For C:\Users\PtaQ\Documents\GitHub\BAR\support\Animation_sources\death_anims\armraz_anim_death.blend Created by https://github.com/Beherith/Skeletor_S3O V((0, 3, 9)) - signal SIGNAL_MOVE; - signal SIGNAL_AIM1; + signal SIG_WALK; + signal SIG_AIM; call-script StopWalking(); turn aimy1 to y-axis <0> speed <120>; turn aimx1 to x-axis <0> speed <120>; @@ -1396,7 +1407,7 @@ DeathAnim() {// For C:\Users\PtaQ\Documents\GitHub\BAR\support\Animation_sources turn lfoot to z-axis <-14.151072> speed <26.930522> ; turn lfoot to y-axis <1.592977> speed <17.643560> ; turn lthigh to z-axis <10.671731> speed <58.294102> ; - turn luparm to z-axis <-1.254718> speed <14.0> ; + turn luparm to z-axis <-1.254718> speed <14.000537> ; turn luparm to y-axis <-1.167999> speed <4.179983> ; turn luparm to x-axis <9.975384> speed <25.246479> ; turn luparm to z-axis <-71.890029> speed <133.695216> ; @@ -1769,9 +1780,9 @@ DeathAnim() {// For C:\Users\PtaQ\Documents\GitHub\BAR\support\Animation_sources sleep 32; } if (TRUE) { //Frame:79 - move lcannon to x-axis [0.0] speed [35.698417] ; - move lcannon to z-axis [0.0] speed [18.532535] ; - turn lcannon to y-axis <-0.089462> speed <2.0> ; + move lcannon to x-axis [0.000000] speed [35.698417] ; + move lcannon to z-axis [0.000000] speed [18.532535] ; + turn lcannon to y-axis <-0.089462> speed <2.000033> ; turn lcannon to x-axis <1.633240> speed <22.631975> ; turn lcannon to z-axis <1.155140> speed <9.355266> ; turn lcannon to y-axis <-5.125803> speed <114.593428> ; @@ -1874,6 +1885,22 @@ Killed(severity, corpsetype) explode lthigh type FALL | NOHEATCLOUD; explode lleg type FIRE | SMOKE | FALL | NOHEATCLOUD; explode lfoot type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode llfinger type FALL | NOHEATCLOUD; + //explode lrfinger type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode aimy1 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode aimx1 type FALL | NOHEATCLOUD; + //explode ruparm type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rblimb type FALL | NOHEATCLOUD; + //explode rflimb type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rcannon type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rbarrel type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rflare type FALL | NOHEATCLOUD; + //explode luparm type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lblimb type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lflimb type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lcannon type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lbarrel type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lflare type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) @@ -1888,6 +1915,19 @@ Killed(severity, corpsetype) explode lfoot type SMOKE | FALL | NOHEATCLOUD ; explode aimy1 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD ; explode torso type BITMAPONLY | NOHEATCLOUD ; + //explode aimx1 type EXPLODE_ON_HIT | SMOKE | FALL; + //explode ruparm type FIRE | SMOKE | FALL; + //explode rblimb type EXPLODE_ON_HIT | FIRE | SMOKE | FALL; + //explode rflimb type EXPLODE_ON_HIT | SMOKE | FALL; + //explode rcannon type EXPLODE_ON_HIT | FIRE | SMOKE | FALL; + //explode rbarrel type EXPLODE_ON_HIT | FIRE | SMOKE | FALL; + //explode rflare type EXPLODE_ON_HIT | FIRE | SMOKE | FALL; + //explode luparm type FIRE | SMOKE | FALL; + //explode lblimb type EXPLODE_ON_HIT | FIRE | SMOKE | FALL; + //explode lflimb type FIRE | SMOKE | FALL; + //explode lcannon type FIRE | SMOKE | FALL; + //explode lbarrel type EXPLODE_ON_HIT | FIRE | SMOKE | FALL; + //explode lflare type EXPLODE_ON_HIT | FIRE | SMOKE | FALL; return(corpsetype); } corpsetype = 3 ; @@ -1902,5 +1942,18 @@ Killed(severity, corpsetype) explode lfoot type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode aimy1 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode torso type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode aimx1 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode ruparm type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rblimb type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode rflimb type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rcannon type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode rbarrel type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode rflare type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode luparm type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lblimb type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode lflimb type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode lcannon type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lbarrel type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode lflare type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; return(corpsetype); } \ No newline at end of file diff --git a/scripts/Units/armraz.cob b/scripts/Units/armraz.cob index 21f6d520c2c9bfc383dc35b4708024c72713d5b4..7e0985629899d0d343aabe30d78c768a0f9fb757 100644 GIT binary patch literal 51538 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%0Aq_KfUD!BAV!fWId)4|dOVTVx(= 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 R9yi_NrV}@vxH1gf{{tXC2QdHu literal 50272 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 t0fYJoZ-2S2_u#=p21{@6^z^iW= @@ -14,101 +15,161 @@ static-var readyToBuild; #define UNITSIZE 5 #define MAXTILT 200 -#include "../unit_hitbyweaponid_and_smoke.h" - - -#define TB_BASE base -#define TB_TURNRATE <30.0> -#define TB_TILT_X <-0.32> -#define TB_BANK_Z <0.5> // Do not define this if you dont want banking -#define TB_WAKE_PIECE base -//#define TB_WAKE_FOAM 1024 + 0 -#include "../tilt_bank_submarine.h" +#include "unit_hitbyweaponid_and_smoke.h" Propcontrol() { - var currentSpeed; while(TRUE) { - currentSpeed = (get CURRENT_SPEED)*1000/TB_maxSpeed; - spin screw around z-axis speed <1.0>*currentSpeed accelerate <10.0>; - sleep 100; + currentSpeed = (get CURRENT_SPEED)*1000/moveSpeed; + spin screw around z-axis speed <1.000000>*currentSpeed accelerate <10.000000>; + sleep 33; } } -StartMoving(reversing) +activatescr() { - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; - move lfin to x-axis [-5.0] speed [4.0]; - move rfin to x-axis [5.0] speed [4.0]; - start-script Propcontrol(); - emit-sfx 1024 + 0 from base; - START_TILTBANK; + if( TRUE ) + { + move barrel to z-axis [2.000000] speed [2.000000]; + sleep 200; + } + if( TRUE ) + { + move ldoor to x-axis [-1.200000] speed [2.000000]; + move rdoor to x-axis [1.200000] speed [2.000000]; + sleep 300; + } } -StopMoving() +deactivatescr() { - signal SIGNAL_MOVE; - move lfin to x-axis [0.0] speed [4.0]; - move rfin to x-axis [0.0] speed [4.0]; - STOP_TILTBANK; - stop-spin screw around z-axis decelerate <10.0>; + if( TRUE ) + { + move ldoor to x-axis [0.000000] speed [2.000000]; + move rdoor to x-axis [0.000000] speed [2.000000]; + sleep 300; + } + if( TRUE ) + { + move barrel to z-axis [0.000000] speed [2.000000]; + sleep 200; + } } +StartMoving() +{ + signal SIG_MOVE; + set-signal-mask SIG_MOVE; + while( TRUE ) + { + move lfin to x-axis [-5.000000] speed [4.000000]; + move rfin to x-axis [5.000000] speed [4.000000]; + emit-sfx 1024 + 0 from base; + sleep 250; + } + return (0); +} -Create() +StopMoving() { - hide flare; - readyToBuild = FALSE; - call-script TB_Init(); + signal SIG_MOVE; + move lfin to x-axis [0.000000] speed [4.000000]; + move rfin to x-axis [0.000000] speed [4.000000]; + sleep 1000; + return (0); } -StartBuilding(heading) +Go() { - signal SIGNAL_BUILD; - set-signal-mask SIGNAL_BUILD; + call-script activatescr(); + set INBUILDSTANCE to 1; +} - if (!readyToBuild){ - move ldoor to x-axis [-1.200000] speed [2.0]; - move rdoor to x-axis [1.200000] speed [2.0]; - wait-for-move ldoor along x-axis; +Stop() +{ + set INBUILDSTANCE to 0; + call-script deactivatescr(); +} + +InitState() +{ + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; +} - move barrel to z-axis [2.0] speed [2.0]; - wait-for-move barrel along z-axis; - readyToBuild = TRUE; +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + call-script Go(); + currentstate = 0; + } + if( statechg_DesiredState == 1 ) + { + call-script Stop(); + currentstate = 1; + } } + statechg_StateChanging = FALSE; +} - set INBUILDSTANCE to 1; +Create() +{ + hide flare; + Static_Var_1 = 0; + moveSpeed = get MAX_SPEED; + start-script Propcontrol(); + call-script InitState(); +} + +Activate() +{ + start-script RequestState(0); +} + +Deactivate() +{ + start-script RequestState(1); +} +StartBuilding(Func_Var_1) +{ show flare; + Static_Var_1 = Func_Var_1; + start-script RequestState(0); } StopBuilding() { - signal SIGNAL_BUILD; - set-signal-mask SIGNAL_BUILD; hide flare; - - sleep 6000; - - set INBUILDSTANCE to 0; - readyToBuild = FALSE; - - move ldoor to x-axis [0] speed [2.0]; - move rdoor to x-axis [0] speed [2.0]; - wait-for-move ldoor along x-axis; - - move barrel to z-axis [0] speed [2.0]; - wait-for-move barrel along z-axis; + start-script RequestState(1); } -QueryNanoPiece(pieceIndex) +QueryNanoPiece(piecenum) { - pieceIndex = flare; + piecenum = flare; } +TargetHeading(Func_Var_1) +{ + Static_Var_1 = 0 - Func_Var_1; +} +SweetSpot(piecenum) +{ + piecenum = base; +} Killed(severity, corpsetype) { @@ -117,7 +178,11 @@ Killed(severity, corpsetype) corpsetype = 1 ; explode base type BITMAPONLY | NOHEATCLOUD; explode rfin type FIRE | SMOKE | NOHEATCLOUD; + //explode rdoor type BITMAPONLY | NOHEATCLOUD; + //explode lfin type BITMAPONLY | NOHEATCLOUD; explode barrel type BITMAPONLY | NOHEATCLOUD; + //explode flare type BITMAPONLY | NOHEATCLOUD; + //explode ldoor type BITMAPONLY | NOHEATCLOUD; explode screw type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } @@ -127,7 +192,10 @@ Killed(severity, corpsetype) explode base type BITMAPONLY | NOHEATCLOUD; explode rfin type FIRE | SMOKE | NOHEATCLOUD; explode rdoor type FIRE | SMOKE | NOHEATCLOUD; + //explode lfin type FIRE | SMOKE | FALL | NOHEATCLOUD; explode barrel type NOHEATCLOUD; + //explode flare type FALL | NOHEATCLOUD; + //explode ldoor type FIRE | SMOKE | FALL | NOHEATCLOUD; explode screw type FIRE | SMOKE | NOHEATCLOUD; return(corpsetype); } @@ -139,6 +207,8 @@ Killed(severity, corpsetype) explode rdoor type SMOKE | NOHEATCLOUD; explode lfin type EXPLODE_ON_HIT | FIRE | SMOKE | NOHEATCLOUD; explode barrel type EXPLODE_ON_HIT | FIRE | SMOKE | NOHEATCLOUD; + //explode flare type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode ldoor type SMOKE | FALL | NOHEATCLOUD; explode screw type FIRE | SMOKE | NOHEATCLOUD; return(corpsetype); } @@ -148,6 +218,8 @@ Killed(severity, corpsetype) explode rdoor type EXPLODE_ON_HIT | FIRE | SMOKE | NOHEATCLOUD; explode lfin type EXPLODE_ON_HIT | FIRE | SMOKE | NOHEATCLOUD; explode barrel type EXPLODE_ON_HIT | FIRE | SMOKE | NOHEATCLOUD; + //explode flare type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode ldoor type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode screw type EXPLODE_ON_HIT | FIRE | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/armrecl.cob b/scripts/Units/armrecl.cob index c6834abe98ad5f31c24c60e93efec09ad21b4282..6ee4cc603ed550d36c4644d001b83b56254a2dc8 100644 GIT binary patch literal 3778 zcmcgvO^6&t82xs3GKsE+3K%e8pk*%}0**!y#KXD@CM?S6Dk`FGJ5w75$LX=RH%kt} zpcgNKpooI_bMX{GJm|q(yd)kJ5j=RzMc6|QIf#cS>U&l7)zr4rS-sfHo2vSL-uF{g z-E3P#jsk~(I~PSd82RkpBy#`FB5wgFu>KsQWG$1TW$*{_0>(iY4`7t;qLGzF)9SVi zD1~+$X~$8_0V5k7b8C=MB)tx_GrMmo>w3FoOzBIRa&mp~i059QJoqxU=EEE$69ctq zp7f#K$&%6K^$*{fKkWs~&M%pBs=07%Q-HV{qbYuqo$_&HPuOpAu}1dnLkuxa)^8+bi&E?`aab!ydhs$k=<@q_OU%0DY6L=VqQU2ZQ|Z zM-$!i_kwRQ1DH^7LyuX-2!9h>bNb6*01 z=k$KxfA{BK^mF;tI8UC0F?6n;pgX|?!dbw~?LnH?a*f~FH1MmgiJzgE^IZ*`taDzi zju&Txc~LKuWIo;7$EPEAJM`su*AI7h;Ocv&I!IBAzC)c3$$J|Z8{Cttun2zFI0<`s zUyK9UoZN6K5+2+p`r_FeAA(wZfA0JqI|pz}hI`=_-k)6LasA8=xxT0^<*Iiw=;^;V zJ~Sa`a`0Sp)VjIWeQ+Eu2i(UDcLDrv53r9P!%6R1oukfAANn#5-%D=9n*8b;^}$Xy z{N4W%#;VgC^}X;7iBKQEhkR78F;YL8s^1U6?*_{7(2pYZ<9$63f%47m$p*eK!IvDg z;Ygn~PVg?F%7+Z=@cN@@v1G5VlLy&Cyea6FXP$-m^WQQ@Ss7iE)~IlUnwR zK`z?p_a$=oX5T-?)Ep$kdo<|{b*xvvm0UJ)(MEX~=NOGMe=c6Yp-OYneq}JBe2P&v zaEHyoxG$Vg=gtdsbvwQbD9ge)#i$&5Co+iYe(s$QKi50dmgelfxgqCwL(b&Vv(^+3 zCN9pu&3QjNp2L_odZP90=Xbr@`b;v^b~)6>Z%%B<1G{2^^$h65Z&u2sWzZ#y+E4$S%Wnk0QdX<;eBgNU__>8Pq z#UxB0F5F5^gBK>1mB;NX+jc7~9xN?o4+L6yD00FLgsa=b(LgEV;<0U8o_jPO7rmkF zTX`Zc&)Dje&AsK0wblBhsAO$88rgxom~UCx9Ob3Ov@GpNMuVa#rF6fe&EZ%|{-7qi GBYy)Hh#IE= literal 3569 zcma)(J>;e4Q#?H47EN zjT9GE6tZ;VLKh+^ZiJ$su5_br1d)I)3c3&kK?%DrOHk(SArX|9uTI;~o+S`IR6NvBl(1jF4`!f;22edJN*3>H7={|3CW zShYGyR_gF!Rmx{I;}KC;iSrn_rsElhEPN8@nwo@7F7QH8KuNHmjlUfLxfj&T zJgiDH30qF}qJi{3B`cJ_MK%dPJzHNZyCv89&S+i%2%zu3*V z$8G>e=05Wd{ZPmv1{m_-^cWQ{B6d0L-fvmI0PuR+5nEZVcCx%x$io(Yhoq;k^bPzc z8IL&L<}rA^P3oY>*gaRsVi)fyWYh!>5q{!rg^b#wCQf?%t{C*CpM6qMZJeq9=}q{@ zNP9qD$ic-4-cG099L|2%@10_Zb8UBb*K5yj3X@5!>=RsBYvd89?`u2dvvXO2w3FCe z-&HNj4gR0Ya-1=a&pE^UBz1y2s58ESvG3@8uVoYaUp*|`93PQ;)cx{I-7%-_sR4&L9SLt0?C6z_*dM;0I<%3)0v6=p^c}`o2*R;K# zX8-Q$h5An8j@+j@ZI*QL_m#hAzRQ7Q!E-;cD|a(;EZ-0CNj>t#ot#okF?ySm-sPO9 zxk!K0Jd-Z+yxm;D@eU{Piygd~PLUkXjBMq`d7$$hIBk=CMZ_L+T6;OYAF-2|syV*z zzJIxH=QS(dg4=GV@5j0n$+qR^ci;Z!^YeE(@tbsq`Pisu^x1#f3p4Q(&NoUpVtQQR zf+rR;iW<1H10lEefy&lytT*Q9zGmvNqBooO$&ubs=~EK*>43{%%eZ6*7CCjzt2uOg z*PMJroiX~2cHTm6-vYqDjnF2(w;ycBC8%(v|YvF!1-`U|(Pk!ay z-@owWL!ZmIhmhsCKjpYyUuXLL+y--txRHmyO?ltS_{bylx5{G!o1BMfNaW9~%KF0( zQ1oxYD6gnL?vclPSs%L>_r3C(7dvcmiT+CV9kD}yyRpN5wkNoKO!TqnFVQ{??S0Xg zqCZ6kmHZ>37esH1u8R1d<#Ex|qLZRiqL)Nt(U#~f(G}6Q=p)e=qOU|>i@q2ADEe9S ztLS&pAEKxF+a@gc(hmE?8)x=?%BF`;{51bZR@M2jt=`{Tkj9XtKH!_TWdy} z8>8X484c{jxZ8}6k6!5y&x#*yX7-7u?vCrEUA@>J^g=(mJbSTjE *animAmplitude)/100) speed ((<90.0> *animAmplitude)/100) / animSpeed; //delta=3.00 + set-signal-mask SIG_WALK; + if (bMoving) { //Frame:4 + turn head to x-axis ((<-3.000000> *animAmplitude)/100) speed ((<90.000009> *animAmplitude)/100) / animSpeed; //delta=3.00 turn lfoot to x-axis ((<-17.579662> *animAmplitude)/100) speed ((<527.389800> *animAmplitude)/100) / animSpeed; //delta=17.58 turn lhip to x-axis ((<-1.313085> *animAmplitude)/100) speed ((<39.392648> *animAmplitude)/100) / animSpeed; //delta=1.31 turn lleg to x-axis ((<21.121725> *animAmplitude)/100) speed ((<633.651822> *animAmplitude)/100) / animSpeed; //delta=-21.12 turn lleg to z-axis ((<0.235737> *animAmplitude)/100) speed ((<7.072109> *animAmplitude)/100) / animSpeed; //delta=-0.24 move pelvis to z-axis (((([1.699118] *MOVESCALE)/100) *animAmplitude)/100) speed (((([50.973555] *MOVESCALE)/100) *animAmplitude)/100) / animSpeed; //delta=1.70 - move pelvis to y-axis (((([2.0] *MOVESCALE)/100) *animAmplitude)/100) speed (((([60.0] *MOVESCALE)/100) *animAmplitude)/100) / animSpeed; //delta=2.00 + move pelvis to y-axis (((([2.000000] *MOVESCALE)/100) *animAmplitude)/100) speed (((([60.000000] *MOVESCALE)/100) *animAmplitude)/100) / animSpeed; //delta=2.00 turn rfoot to x-axis ((<6.535332> *animAmplitude)/100) speed ((<196.060012> *animAmplitude)/100) / animSpeed; //delta=-6.54 turn rhip to x-axis ((<-41.589753> *animAmplitude)/100) speed ((<1247.692676> *animAmplitude)/100) / animSpeed; //delta=41.59 turn rhip to z-axis ((<-0.393109> *animAmplitude)/100) speed ((<11.793276> *animAmplitude)/100) / animSpeed; //delta=0.39 @@ -28,8 +30,8 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn rleg to x-axis ((<-8.919102> *animAmplitude)/100) speed ((<267.572976> *animAmplitude)/100) / animSpeed; //delta=8.92 sleep ((33*animSpeed) -1); } - while(isMoving) { - if (isMoving) { //Frame:7 + while(bMoving) { + if (bMoving) { //Frame:7 turn head to x-axis ((<-1.295845> *animAmplitude)/100) speed ((<51.124667> *animAmplitude)/100) / animSpeed; //delta=-1.70 turn head to y-axis ((<-2.972861> *animAmplitude)/100) speed ((<89.185835> *animAmplitude)/100) / animSpeed; //delta=-2.97 turn lfoot to x-axis ((<-58.734866> *animAmplitude)/100) speed ((<1234.656123> *animAmplitude)/100) / animSpeed; //delta=41.16 @@ -51,8 +53,8 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn rleg to y-axis ((<0.050441> *animAmplitude)/100) speed ((<3.071866> *animAmplitude)/100) / animSpeed; //delta=0.10 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:10 - turn head to x-axis ((<6.0> *animAmplitude)/100) speed ((<218.875347> *animAmplitude)/100) / animSpeed; //delta=-7.30 + if (bMoving) { //Frame:10 + turn head to x-axis ((<6.000000> *animAmplitude)/100) speed ((<218.875347> *animAmplitude)/100) / animSpeed; //delta=-7.30 turn head to y-axis ((<-6.191199> *animAmplitude)/100) speed ((<96.550133> *animAmplitude)/100) / animSpeed; //delta=-3.22 turn lfoot to x-axis ((<-13.840104> *animAmplitude)/100) speed ((<1346.842877> *animAmplitude)/100) / animSpeed; //delta=-44.89 turn lhip to x-axis ((<24.276116> *animAmplitude)/100) speed ((<660.017706> *animAmplitude)/100) / animSpeed; //delta=-22.00 @@ -72,8 +74,8 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn rleg to y-axis ((<-0.515267> *animAmplitude)/100) speed ((<16.971234> *animAmplitude)/100) / animSpeed; //delta=-0.57 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:13 - turn head to x-axis ((<1.500000> *animAmplitude)/100) speed ((<135.0> *animAmplitude)/100) / animSpeed; //delta=4.50 + if (bMoving) { //Frame:13 + turn head to x-axis ((<1.500000> *animAmplitude)/100) speed ((<135.000010> *animAmplitude)/100) / animSpeed; //delta=4.50 turn head to y-axis ((<-3.095599> *animAmplitude)/100) speed ((<92.867990> *animAmplitude)/100) / animSpeed; //delta=3.10 turn lfoot to x-axis ((<-34.307340> *animAmplitude)/100) speed ((<614.017093> *animAmplitude)/100) / animSpeed; //delta=20.47 turn lhip to x-axis ((<26.787498> *animAmplitude)/100) speed ((<75.341460> *animAmplitude)/100) / animSpeed; //delta=-2.51 @@ -92,9 +94,9 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn rleg to y-axis ((<-0.050434> *animAmplitude)/100) speed ((<13.944980> *animAmplitude)/100) / animSpeed; //delta=0.46 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:16 - turn head to x-axis ((<-3.0> *animAmplitude)/100) speed ((<135.0> *animAmplitude)/100) / animSpeed; //delta=4.50 - turn head to y-axis ((<-0.0> *animAmplitude)/100) speed ((<92.867978> *animAmplitude)/100) / animSpeed; //delta=3.10 + if (bMoving) { //Frame:16 + turn head to x-axis ((<-3.000000> *animAmplitude)/100) speed ((<135.000004> *animAmplitude)/100) / animSpeed; //delta=4.50 + turn head to y-axis ((<-0.000000> *animAmplitude)/100) speed ((<92.867978> *animAmplitude)/100) / animSpeed; //delta=3.10 turn lfoot to x-axis ((<6.821116> *animAmplitude)/100) speed ((<1233.853687> *animAmplitude)/100) / animSpeed; //delta=-41.13 turn lhip to x-axis ((<-42.082308> *animAmplitude)/100) speed ((<2066.094197> *animAmplitude)/100) / animSpeed; //delta=68.87 turn lhip to z-axis ((<0.399687> *animAmplitude)/100) speed ((<12.481446> *animAmplitude)/100) / animSpeed; //delta=-0.42 @@ -102,8 +104,8 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn lleg to x-axis ((<-8.529861> *animAmplitude)/100) speed ((<281.938171> *animAmplitude)/100) / animSpeed; //delta=-9.40 turn lleg to z-axis ((<0.052684> *animAmplitude)/100) speed ((<12.535836> *animAmplitude)/100) / animSpeed; //delta=0.42 move pelvis to z-axis (((([1.600000] *MOVESCALE)/100) *animAmplitude)/100) speed (((([14.000001] *MOVESCALE)/100) *animAmplitude)/100) / animSpeed; //delta=0.47 - move pelvis to y-axis (((([2.0] *MOVESCALE)/100) *animAmplitude)/100) speed (((([20.000002] *MOVESCALE)/100) *animAmplitude)/100) / animSpeed; //delta=0.67 - turn pelvis to x-axis ((<-0.0> *animAmplitude)/100) speed ((<136.685033> *animAmplitude)/100) / animSpeed; //delta=4.56 + move pelvis to y-axis (((([2.000000] *MOVESCALE)/100) *animAmplitude)/100) speed (((([20.000002] *MOVESCALE)/100) *animAmplitude)/100) / animSpeed; //delta=0.67 + turn pelvis to x-axis ((<-0.000000> *animAmplitude)/100) speed ((<136.685033> *animAmplitude)/100) / animSpeed; //delta=4.56 turn rfoot to x-axis ((<-17.470241> *animAmplitude)/100) speed ((<921.324482> *animAmplitude)/100) / animSpeed; //delta=30.71 turn rhip to x-axis ((<-1.674077> *animAmplitude)/100) speed ((<1162.091663> *animAmplitude)/100) / animSpeed; //delta=-38.74 turn rhip to z-axis ((<0.002708> *animAmplitude)/100) speed ((<7.127289> *animAmplitude)/100) / animSpeed; //delta=-0.24 @@ -112,7 +114,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn rleg to z-axis ((<-0.142773> *animAmplitude)/100) speed ((<11.575982> *animAmplitude)/100) / animSpeed; //delta=0.39 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:19 + if (bMoving) { //Frame:19 turn head to x-axis ((<-0.682153> *animAmplitude)/100) speed ((<69.535415> *animAmplitude)/100) / animSpeed; //delta=-2.32 turn head to y-axis ((<2.911492> *animAmplitude)/100) speed ((<87.344764> *animAmplitude)/100) / animSpeed; //delta=2.91 turn lfoot to x-axis ((<30.658100> *animAmplitude)/100) speed ((<715.109511> *animAmplitude)/100) / animSpeed; //delta=-23.84 @@ -134,7 +136,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn rleg to y-axis ((<0.679486> *animAmplitude)/100) speed ((<22.604256> *animAmplitude)/100) / animSpeed; //delta=0.75 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:22 + if (bMoving) { //Frame:22 turn head to x-axis ((<5.999999> *animAmplitude)/100) speed ((<200.464574> *animAmplitude)/100) / animSpeed; //delta=-6.68 turn head to y-axis ((<5.761615> *animAmplitude)/100) speed ((<85.503674> *animAmplitude)/100) / animSpeed; //delta=2.85 turn lfoot to x-axis ((<6.361546> *animAmplitude)/100) speed ((<728.896602> *animAmplitude)/100) / animSpeed; //delta=24.30 @@ -155,7 +157,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn rleg to y-axis ((<0.012731> *animAmplitude)/100) speed ((<20.002626> *animAmplitude)/100) / animSpeed; //delta=-0.67 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:25 + if (bMoving) { //Frame:25 turn head to x-axis ((<1.500000> *animAmplitude)/100) speed ((<134.999969> *animAmplitude)/100) / animSpeed; //delta=4.50 turn head to y-axis ((<3.130808> *animAmplitude)/100) speed ((<78.924204> *animAmplitude)/100) / animSpeed; //delta=-2.63 turn lfoot to x-axis ((<13.001016> *animAmplitude)/100) speed ((<199.184081> *animAmplitude)/100) / animSpeed; //delta=-6.64 @@ -175,9 +177,9 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn rleg to y-axis ((<-0.170529> *animAmplitude)/100) speed ((<5.497813> *animAmplitude)/100) / animSpeed; //delta=-0.18 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:28 - turn head to x-axis ((<-3.0> *animAmplitude)/100) speed ((<135.0> *animAmplitude)/100) / animSpeed; //delta=4.50 - turn head to y-axis ((<-0.0> *animAmplitude)/100) speed ((<93.924234> *animAmplitude)/100) / animSpeed; //delta=-3.13 + if (bMoving) { //Frame:28 + turn head to x-axis ((<-3.000000> *animAmplitude)/100) speed ((<135.000020> *animAmplitude)/100) / animSpeed; //delta=4.50 + turn head to y-axis ((<-0.000000> *animAmplitude)/100) speed ((<93.924234> *animAmplitude)/100) / animSpeed; //delta=-3.13 turn lfoot to x-axis ((<-17.579662> *animAmplitude)/100) speed ((<917.420337> *animAmplitude)/100) / animSpeed; //delta=30.58 turn lhip to x-axis ((<-1.313085> *animAmplitude)/100) speed ((<1163.590327> *animAmplitude)/100) / animSpeed; //delta=-38.79 turn lhip to z-axis ((<-0.041390> *animAmplitude)/100) speed ((<6.769649> *animAmplitude)/100) / animSpeed; //delta=0.23 @@ -185,8 +187,8 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn lleg to x-axis ((<21.121725> *animAmplitude)/100) speed ((<33.099080> *animAmplitude)/100) / animSpeed; //delta=1.10 turn lleg to z-axis ((<0.235737> *animAmplitude)/100) speed ((<5.510430> *animAmplitude)/100) / animSpeed; //delta=-0.18 move pelvis to z-axis (((([1.699118] *MOVESCALE)/100) *animAmplitude)/100) speed (((([15.486778] *MOVESCALE)/100) *animAmplitude)/100) / animSpeed; //delta=0.52 - move pelvis to y-axis (((([2.0] *MOVESCALE)/100) *animAmplitude)/100) speed (((([20.000002] *MOVESCALE)/100) *animAmplitude)/100) / animSpeed; //delta=0.67 - turn pelvis to x-axis ((<-0.0> *animAmplitude)/100) speed ((<140.812563> *animAmplitude)/100) / animSpeed; //delta=4.69 + move pelvis to y-axis (((([2.000000] *MOVESCALE)/100) *animAmplitude)/100) speed (((([20.000002] *MOVESCALE)/100) *animAmplitude)/100) / animSpeed; //delta=0.67 + turn pelvis to x-axis ((<-0.000000> *animAmplitude)/100) speed ((<140.812563> *animAmplitude)/100) / animSpeed; //delta=4.69 turn rfoot to x-axis ((<6.535332> *animAmplitude)/100) speed ((<1228.785268> *animAmplitude)/100) / animSpeed; //delta=-40.96 turn rhip to x-axis ((<-41.589753> *animAmplitude)/100) speed ((<2063.813853> *animAmplitude)/100) / animSpeed; //delta=68.79 turn rhip to z-axis ((<-0.393109> *animAmplitude)/100) speed ((<9.177611> *animAmplitude)/100) / animSpeed; //delta=0.31 @@ -198,28 +200,28 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas } } } -// Call this from StopMoving()! +// Call this from MotionControl()! StopWalking() { animSpeed = 10; // tune restore speed here, higher values are slower restore speeds - move pelvis to y-axis ([0.0]*MOVESCALE)/100 speed (([200.0]*MOVESCALE)/100) / animSpeed; - move pelvis to z-axis ([0.0]*MOVESCALE)/100 speed (([169.911849]*MOVESCALE)/100) / animSpeed; - turn head to x-axis <0.0> speed <729.584489> / animSpeed; - turn head to y-axis <0.0> speed <321.833775> / animSpeed; - turn lfoot to x-axis <0.0> speed <4489.476255> / animSpeed; - turn lhip to x-axis <0.0> speed <6886.980656> / animSpeed; - turn lhip to y-axis <0.0> speed <356.606781> / animSpeed; - turn lhip to z-axis <0.0> speed <330.117315> / animSpeed; - turn lleg to x-axis <0.0> speed <6551.031655> / animSpeed; - turn lleg to y-axis <0.0> speed <79.064700> / animSpeed; - turn lleg to z-axis <0.0> speed <118.708448> / animSpeed; - turn pelvis to x-axis <0.0> speed <469.375210> / animSpeed; - turn rfoot to x-axis <0.0> speed <4444.481616> / animSpeed; - turn rhip to x-axis <0.0> speed <6879.379509> / animSpeed; - turn rhip to y-axis <0.0> speed <163.568123> / animSpeed; - turn rhip to z-axis <0.0> speed <167.665045> / animSpeed; - turn rleg to x-axis <0.0> speed <5994.845935> / animSpeed; - turn rleg to y-axis <0.0> speed <75.347520> / animSpeed; - turn rleg to z-axis <0.0> speed <126.287879> / animSpeed; + move pelvis to y-axis ([0.000000]*MOVESCALE)/100 speed (([200.000000]*MOVESCALE)/100) / animSpeed; + move pelvis to z-axis ([0.000000]*MOVESCALE)/100 speed (([169.911849]*MOVESCALE)/100) / animSpeed; + turn head to x-axis <0.000000> speed <729.584489> / animSpeed; + turn head to y-axis <0.000000> speed <321.833775> / animSpeed; + turn lfoot to x-axis <0.000000> speed <4489.476255> / animSpeed; + turn lhip to x-axis <0.000000> speed <6886.980656> / animSpeed; + turn lhip to y-axis <0.000000> speed <356.606781> / animSpeed; + turn lhip to z-axis <0.000000> speed <330.117315> / animSpeed; + turn lleg to x-axis <0.000000> speed <6551.031655> / animSpeed; + turn lleg to y-axis <0.000000> speed <79.064700> / animSpeed; + turn lleg to z-axis <0.000000> speed <118.708448> / animSpeed; + turn pelvis to x-axis <0.000000> speed <469.375210> / animSpeed; + turn rfoot to x-axis <0.000000> speed <4444.481616> / animSpeed; + turn rhip to x-axis <0.000000> speed <6879.379509> / animSpeed; + turn rhip to y-axis <0.000000> speed <163.568123> / animSpeed; + turn rhip to z-axis <0.000000> speed <167.665045> / animSpeed; + turn rleg to x-axis <0.000000> speed <5994.845935> / animSpeed; + turn rleg to y-axis <0.000000> speed <75.347520> / animSpeed; + turn rleg to z-axis <0.000000> speed <126.287879> / animSpeed; } // REMEMBER TO animspeed = 3 in Create() !! UnitSpeed(){ @@ -236,16 +238,16 @@ UnitSpeed(){ sleep 98; } } -StartMoving(reversing){ - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; - isMoving=TRUE; +StartMoving(){ + signal SIG_WALK; + set-signal-mask SIG_WALK; + bMoving=TRUE; start-script UnitSpeed(); start-script Walk(); } StopMoving(){ - signal SIGNAL_MOVE; - isMoving=FALSE; + signal SIG_WALK; + bMoving=FALSE; call-script StopWalking(); } @@ -256,14 +258,28 @@ StopMoving(){ #define UNITSIZE 1 #define MAXTILT 100 -#include "../unit_hitbyweaponid_and_smoke.h" +#include "unit_hitbyweaponid_and_smoke.h" + +Go() +{ + +} + +Stop() + +{ + set-signal-mask SIG_BUILD; + set INBUILDSTANCE to 0; + turn aimy1 to y-axis <0.000000> speed <160.000000>; +} + Create() { hide nano; hide aimy1; hide armhexl_emit; - isMoving = FALSE; + bMoving = FALSE; animspeed = 3; moveSpeed = get MAX_SPEED; animSpeed = 60; @@ -281,9 +297,9 @@ Deactivate() StartBuilding(heading, pitch) { show nano; - signal SIGNAL_BUILD; - set-signal-mask SIGNAL_BUILD; - turn aimy1 to y-axis heading speed <260.0>; + signal SIG_BUILD; + set-signal-mask SIG_BUILD; + turn aimy1 to y-axis heading speed <260.000000>; wait-for-turn aimy1 around y-axis; set INBUILDSTANCE to 1; show armhexl_emit; @@ -292,16 +308,22 @@ StartBuilding(heading, pitch) StopBuilding() { hide nano; - signal SIGNAL_BUILD; + signal SIG_BUILD; set INBUILDSTANCE to 0; hide armhexl_emit; - turn aimy1 to y-axis <0> speed <260.0>; + turn aimy1 to y-axis <0> speed <260.000000>; +} + + +SweetSpot(piecenum) +{ + piecenum = pelvis; } -QueryNanoPiece(pieceIndex) +QueryNanoPiece(piecenum) { - pieceIndex = nano; + piecenum = nano; } // For C:\Users\PtaQ\Documents\GitHub\BAR\support\Animation_sources\death_anims\armrectr_anim_death.blend Created by https://github.com/Beherith/Skeletor_S3O V((0, 3, 9)) @@ -316,7 +338,7 @@ DeathAnim() {// For C:\Users\PtaQ\Documents\GitHub\BAR\support\Animation_sources sleep 32; } if (TRUE) { //Frame:9 - turn head to x-axis <-8.400024> speed <252.0> ; + turn head to x-axis <-8.400024> speed <252.000734> ; turn head to y-axis <-1.479826> speed <44.394790> ; turn lfoot to x-axis <-9.250775> speed <277.523247> ; turn lfoot to z-axis <9.266316> speed <277.989485> ; @@ -340,7 +362,7 @@ DeathAnim() {// For C:\Users\PtaQ\Documents\GitHub\BAR\support\Animation_sources } if (TRUE) { //Frame:10 turn head to x-axis <-0.293216> speed <8.796485> ; - turn head to x-axis <-16.800049> speed <252.0> ; + turn head to x-axis <-16.800049> speed <252.000734> ; turn head to z-axis <-0.321498> speed <6.663692> ; turn head to y-axis <-2.959653> speed <44.394790> ; explode lfoot type FALL|SMOKE|FIRE|NOHEATCLOUD; @@ -767,7 +789,7 @@ DeathAnim() {// For C:\Users\PtaQ\Documents\GitHub\BAR\support\Animation_sources turn lleg to x-axis <-30.470341> speed <63.667369> ; turn lleg to z-axis <-6.880926> speed <549.160451> ; turn lleg to y-axis <54.521415> speed <88.729587> ; - turn rfoot to z-axis <0.0> speed <10.099777> ; + turn rfoot to z-axis <0.000863> speed <10.099777> ; turn rfoot to z-axis <0.049462> speed <90.417985> ; turn rfoot to y-axis <7.451339> speed <19.231525> ; turn rhip to z-axis <7.997991> speed <3.892696> ; @@ -818,6 +840,12 @@ Killed(severity, corpsetype) explode pelvis type FIRE | SMOKE | FALL | NOHEATCLOUD; explode head type FIRE | SMOKE | FALL | NOHEATCLOUD; explode nano type FALL | NOHEATCLOUD; + //explode lhip type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lleg type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lfoot type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rhip type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rleg type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rfoot type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) @@ -826,11 +854,23 @@ Killed(severity, corpsetype) explode pelvis type FIRE | SMOKE | FALL | NOHEATCLOUD; explode head type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode nano type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lhip type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lleg type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode lfoot type SMOKE | FALL | NOHEATCLOUD; + //explode rhip type SMOKE | FALL | NOHEATCLOUD; + //explode rleg type SMOKE | FALL | NOHEATCLOUD; + //explode rfoot type SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; explode pelvis type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode head type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode nano type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode lhip type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode lleg type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lfoot type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode rhip type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode rleg type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rfoot type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/armrectr.cob b/scripts/Units/armrectr.cob index 46a0b3451bd8b3e8e152523dd0af3909cdea1d60..acd377cd12ee0d8978ae976982b137d122e6e6b5 100644 GIT binary patch literal 31342 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 Kd2rqcSnwY$f`K&v delta 7195 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 *animAmplitude)/100) speed ((<90.0> *animAmplitude)/100) / animSpeed; //delta=3.00 + //set-signal-mask SIG_WALK; + if (bMoving) { //Frame:4 + turn head to x-axis ((<-3.000000> *animAmplitude)/100) speed ((<90.000009> *animAmplitude)/100) / animSpeed; //delta=3.00 turn lfoot to x-axis ((<-17.579662> *animAmplitude)/100) speed ((<527.389800> *animAmplitude)/100) / animSpeed; //delta=17.58 turn lhip to x-axis ((<-1.313085> *animAmplitude)/100) speed ((<39.392648> *animAmplitude)/100) / animSpeed; //delta=1.31 turn lleg to x-axis ((<21.121725> *animAmplitude)/100) speed ((<633.651822> *animAmplitude)/100) / animSpeed; //delta=-21.12 turn lleg to z-axis ((<0.235737> *animAmplitude)/100) speed ((<7.072109> *animAmplitude)/100) / animSpeed; //delta=-0.24 move pelvis to z-axis (((([1.699118] *MOVESCALE)/100) *animAmplitude)/100) speed (((([50.973555] *MOVESCALE)/100) *animAmplitude)/100) / animSpeed; //delta=1.70 - move pelvis to y-axis (((([2.0] *MOVESCALE)/100) *animAmplitude)/100) speed (((([60.0] *MOVESCALE)/100) *animAmplitude)/100) / animSpeed; //delta=2.00 + move pelvis to y-axis (((([2.000000] *MOVESCALE)/100) *animAmplitude)/100) speed (((([60.000000] *MOVESCALE)/100) *animAmplitude)/100) / animSpeed; //delta=2.00 turn rfoot to x-axis ((<6.535332> *animAmplitude)/100) speed ((<196.060012> *animAmplitude)/100) / animSpeed; //delta=-6.54 turn rhip to x-axis ((<-41.589753> *animAmplitude)/100) speed ((<1247.692676> *animAmplitude)/100) / animSpeed; //delta=41.59 turn rhip to z-axis ((<-0.393109> *animAmplitude)/100) speed ((<11.793276> *animAmplitude)/100) / animSpeed; //delta=0.39 @@ -31,8 +34,8 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn rleg to x-axis ((<-8.919102> *animAmplitude)/100) speed ((<267.572976> *animAmplitude)/100) / animSpeed; //delta=8.92 sleep ((33*animSpeed) -1); } - while(isMoving) { - if (isMoving) { //Frame:7 + while(bMoving) { + if (bMoving) { //Frame:7 turn head to x-axis ((<-1.295845> *animAmplitude)/100) speed ((<51.124667> *animAmplitude)/100) / animSpeed; //delta=-1.70 turn head to y-axis ((<-2.972861> *animAmplitude)/100) speed ((<89.185835> *animAmplitude)/100) / animSpeed; //delta=-2.97 turn lfoot to x-axis ((<-58.734866> *animAmplitude)/100) speed ((<1234.656123> *animAmplitude)/100) / animSpeed; //delta=41.16 @@ -54,8 +57,8 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn rleg to y-axis ((<0.050441> *animAmplitude)/100) speed ((<3.071866> *animAmplitude)/100) / animSpeed; //delta=0.10 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:10 - turn head to x-axis ((<6.0> *animAmplitude)/100) speed ((<218.875347> *animAmplitude)/100) / animSpeed; //delta=-7.30 + if (bMoving) { //Frame:10 + turn head to x-axis ((<6.000000> *animAmplitude)/100) speed ((<218.875347> *animAmplitude)/100) / animSpeed; //delta=-7.30 turn head to y-axis ((<-6.191199> *animAmplitude)/100) speed ((<96.550133> *animAmplitude)/100) / animSpeed; //delta=-3.22 turn lfoot to x-axis ((<-13.840104> *animAmplitude)/100) speed ((<1346.842877> *animAmplitude)/100) / animSpeed; //delta=-44.89 turn lhip to x-axis ((<24.276116> *animAmplitude)/100) speed ((<660.017706> *animAmplitude)/100) / animSpeed; //delta=-22.00 @@ -75,8 +78,8 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn rleg to y-axis ((<-0.515267> *animAmplitude)/100) speed ((<16.971234> *animAmplitude)/100) / animSpeed; //delta=-0.57 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:13 - turn head to x-axis ((<1.500000> *animAmplitude)/100) speed ((<135.0> *animAmplitude)/100) / animSpeed; //delta=4.50 + if (bMoving) { //Frame:13 + turn head to x-axis ((<1.500000> *animAmplitude)/100) speed ((<135.000010> *animAmplitude)/100) / animSpeed; //delta=4.50 turn head to y-axis ((<-3.095599> *animAmplitude)/100) speed ((<92.867990> *animAmplitude)/100) / animSpeed; //delta=3.10 turn lfoot to x-axis ((<-34.307340> *animAmplitude)/100) speed ((<614.017093> *animAmplitude)/100) / animSpeed; //delta=20.47 turn lhip to x-axis ((<26.787498> *animAmplitude)/100) speed ((<75.341460> *animAmplitude)/100) / animSpeed; //delta=-2.51 @@ -95,9 +98,9 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn rleg to y-axis ((<-0.050434> *animAmplitude)/100) speed ((<13.944980> *animAmplitude)/100) / animSpeed; //delta=0.46 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:16 - turn head to x-axis ((<-3.0> *animAmplitude)/100) speed ((<135.0> *animAmplitude)/100) / animSpeed; //delta=4.50 - turn head to y-axis ((<-0.0> *animAmplitude)/100) speed ((<92.867978> *animAmplitude)/100) / animSpeed; //delta=3.10 + if (bMoving) { //Frame:16 + turn head to x-axis ((<-3.000000> *animAmplitude)/100) speed ((<135.000004> *animAmplitude)/100) / animSpeed; //delta=4.50 + turn head to y-axis ((<-0.000000> *animAmplitude)/100) speed ((<92.867978> *animAmplitude)/100) / animSpeed; //delta=3.10 turn lfoot to x-axis ((<6.821116> *animAmplitude)/100) speed ((<1233.853687> *animAmplitude)/100) / animSpeed; //delta=-41.13 turn lhip to x-axis ((<-42.082308> *animAmplitude)/100) speed ((<2066.094197> *animAmplitude)/100) / animSpeed; //delta=68.87 turn lhip to z-axis ((<0.399687> *animAmplitude)/100) speed ((<12.481446> *animAmplitude)/100) / animSpeed; //delta=-0.42 @@ -105,8 +108,8 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn lleg to x-axis ((<-8.529861> *animAmplitude)/100) speed ((<281.938171> *animAmplitude)/100) / animSpeed; //delta=-9.40 turn lleg to z-axis ((<0.052684> *animAmplitude)/100) speed ((<12.535836> *animAmplitude)/100) / animSpeed; //delta=0.42 move pelvis to z-axis (((([1.600000] *MOVESCALE)/100) *animAmplitude)/100) speed (((([14.000001] *MOVESCALE)/100) *animAmplitude)/100) / animSpeed; //delta=0.47 - move pelvis to y-axis (((([2.0] *MOVESCALE)/100) *animAmplitude)/100) speed (((([20.000002] *MOVESCALE)/100) *animAmplitude)/100) / animSpeed; //delta=0.67 - turn pelvis to x-axis ((<-0.0> *animAmplitude)/100) speed ((<136.685033> *animAmplitude)/100) / animSpeed; //delta=4.56 + move pelvis to y-axis (((([2.000000] *MOVESCALE)/100) *animAmplitude)/100) speed (((([20.000002] *MOVESCALE)/100) *animAmplitude)/100) / animSpeed; //delta=0.67 + turn pelvis to x-axis ((<-0.000000> *animAmplitude)/100) speed ((<136.685033> *animAmplitude)/100) / animSpeed; //delta=4.56 turn rfoot to x-axis ((<-17.470241> *animAmplitude)/100) speed ((<921.324482> *animAmplitude)/100) / animSpeed; //delta=30.71 turn rhip to x-axis ((<-1.674077> *animAmplitude)/100) speed ((<1162.091663> *animAmplitude)/100) / animSpeed; //delta=-38.74 turn rhip to z-axis ((<0.002708> *animAmplitude)/100) speed ((<7.127289> *animAmplitude)/100) / animSpeed; //delta=-0.24 @@ -115,7 +118,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn rleg to z-axis ((<-0.142773> *animAmplitude)/100) speed ((<11.575982> *animAmplitude)/100) / animSpeed; //delta=0.39 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:19 + if (bMoving) { //Frame:19 turn head to x-axis ((<-0.682153> *animAmplitude)/100) speed ((<69.535415> *animAmplitude)/100) / animSpeed; //delta=-2.32 turn head to y-axis ((<2.911492> *animAmplitude)/100) speed ((<87.344764> *animAmplitude)/100) / animSpeed; //delta=2.91 turn lfoot to x-axis ((<30.658100> *animAmplitude)/100) speed ((<715.109511> *animAmplitude)/100) / animSpeed; //delta=-23.84 @@ -137,7 +140,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn rleg to y-axis ((<0.679486> *animAmplitude)/100) speed ((<22.604256> *animAmplitude)/100) / animSpeed; //delta=0.75 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:22 + if (bMoving) { //Frame:22 turn head to x-axis ((<5.999999> *animAmplitude)/100) speed ((<200.464574> *animAmplitude)/100) / animSpeed; //delta=-6.68 turn head to y-axis ((<5.761615> *animAmplitude)/100) speed ((<85.503674> *animAmplitude)/100) / animSpeed; //delta=2.85 turn lfoot to x-axis ((<6.361546> *animAmplitude)/100) speed ((<728.896602> *animAmplitude)/100) / animSpeed; //delta=24.30 @@ -158,7 +161,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn rleg to y-axis ((<0.012731> *animAmplitude)/100) speed ((<20.002626> *animAmplitude)/100) / animSpeed; //delta=-0.67 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:25 + if (bMoving) { //Frame:25 turn head to x-axis ((<1.500000> *animAmplitude)/100) speed ((<134.999969> *animAmplitude)/100) / animSpeed; //delta=4.50 turn head to y-axis ((<3.130808> *animAmplitude)/100) speed ((<78.924204> *animAmplitude)/100) / animSpeed; //delta=-2.63 turn lfoot to x-axis ((<13.001016> *animAmplitude)/100) speed ((<199.184081> *animAmplitude)/100) / animSpeed; //delta=-6.64 @@ -178,9 +181,9 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn rleg to y-axis ((<-0.170529> *animAmplitude)/100) speed ((<5.497813> *animAmplitude)/100) / animSpeed; //delta=-0.18 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:28 - turn head to x-axis ((<-3.0> *animAmplitude)/100) speed ((<135.0> *animAmplitude)/100) / animSpeed; //delta=4.50 - turn head to y-axis ((<-0.0> *animAmplitude)/100) speed ((<93.924234> *animAmplitude)/100) / animSpeed; //delta=-3.13 + if (bMoving) { //Frame:28 + turn head to x-axis ((<-3.000000> *animAmplitude)/100) speed ((<135.000020> *animAmplitude)/100) / animSpeed; //delta=4.50 + turn head to y-axis ((<-0.000000> *animAmplitude)/100) speed ((<93.924234> *animAmplitude)/100) / animSpeed; //delta=-3.13 turn lfoot to x-axis ((<-17.579662> *animAmplitude)/100) speed ((<917.420337> *animAmplitude)/100) / animSpeed; //delta=30.58 turn lhip to x-axis ((<-1.313085> *animAmplitude)/100) speed ((<1163.590327> *animAmplitude)/100) / animSpeed; //delta=-38.79 turn lhip to z-axis ((<-0.041390> *animAmplitude)/100) speed ((<6.769649> *animAmplitude)/100) / animSpeed; //delta=0.23 @@ -188,8 +191,8 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn lleg to x-axis ((<21.121725> *animAmplitude)/100) speed ((<33.099080> *animAmplitude)/100) / animSpeed; //delta=1.10 turn lleg to z-axis ((<0.235737> *animAmplitude)/100) speed ((<5.510430> *animAmplitude)/100) / animSpeed; //delta=-0.18 move pelvis to z-axis (((([1.699118] *MOVESCALE)/100) *animAmplitude)/100) speed (((([15.486778] *MOVESCALE)/100) *animAmplitude)/100) / animSpeed; //delta=0.52 - move pelvis to y-axis (((([2.0] *MOVESCALE)/100) *animAmplitude)/100) speed (((([20.000002] *MOVESCALE)/100) *animAmplitude)/100) / animSpeed; //delta=0.67 - turn pelvis to x-axis ((<-0.0> *animAmplitude)/100) speed ((<140.812563> *animAmplitude)/100) / animSpeed; //delta=4.69 + move pelvis to y-axis (((([2.000000] *MOVESCALE)/100) *animAmplitude)/100) speed (((([20.000002] *MOVESCALE)/100) *animAmplitude)/100) / animSpeed; //delta=0.67 + turn pelvis to x-axis ((<-0.000000> *animAmplitude)/100) speed ((<140.812563> *animAmplitude)/100) / animSpeed; //delta=4.69 turn rfoot to x-axis ((<6.535332> *animAmplitude)/100) speed ((<1228.785268> *animAmplitude)/100) / animSpeed; //delta=-40.96 turn rhip to x-axis ((<-41.589753> *animAmplitude)/100) speed ((<2063.813853> *animAmplitude)/100) / animSpeed; //delta=68.79 turn rhip to z-axis ((<-0.393109> *animAmplitude)/100) speed ((<9.177611> *animAmplitude)/100) / animSpeed; //delta=0.31 @@ -201,28 +204,28 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas } } } -// Call this from StopMoving()! +// Call this from MotionControl()! StopWalking() { animSpeed = 30; // tune restore speed here, higher values are slower restore speeds - move pelvis to y-axis ([0.0]*MOVESCALE)/100 speed (([200.0]*MOVESCALE)/100) / animSpeed; - move pelvis to z-axis ([0.0]*MOVESCALE)/100 speed (([169.911849]*MOVESCALE)/100) / animSpeed; - turn head to x-axis <0.0> speed <729.584489> / animSpeed; - turn head to y-axis <0.0> speed <321.833775> / animSpeed; - turn lfoot to x-axis <0.0> speed <4489.476255> / animSpeed; - turn lhip to x-axis <0.0> speed <6886.980656> / animSpeed; - turn lhip to y-axis <0.0> speed <356.606781> / animSpeed; - turn lhip to z-axis <0.0> speed <330.117315> / animSpeed; - turn lleg to x-axis <0.0> speed <6551.031655> / animSpeed; - turn lleg to y-axis <0.0> speed <79.064700> / animSpeed; - turn lleg to z-axis <0.0> speed <118.708448> / animSpeed; - turn pelvis to x-axis <0.0> speed <469.375210> / animSpeed; - turn rfoot to x-axis <0.0> speed <4444.481616> / animSpeed; - turn rhip to x-axis <0.0> speed <6879.379509> / animSpeed; - turn rhip to y-axis <0.0> speed <163.568123> / animSpeed; - turn rhip to z-axis <0.0> speed <167.665045> / animSpeed; - turn rleg to x-axis <0.0> speed <5994.845935> / animSpeed; - turn rleg to y-axis <0.0> speed <75.347520> / animSpeed; - turn rleg to z-axis <0.0> speed <126.287879> / animSpeed; + move pelvis to y-axis ([0.000000]*MOVESCALE)/100 speed (([200.000000]*MOVESCALE)/100) / animSpeed; + move pelvis to z-axis ([0.000000]*MOVESCALE)/100 speed (([169.911849]*MOVESCALE)/100) / animSpeed; + turn head to x-axis <0.000000> speed <729.584489> / animSpeed; + turn head to y-axis <0.000000> speed <321.833775> / animSpeed; + turn lfoot to x-axis <0.000000> speed <4489.476255> / animSpeed; + turn lhip to x-axis <0.000000> speed <6886.980656> / animSpeed; + turn lhip to y-axis <0.000000> speed <356.606781> / animSpeed; + turn lhip to z-axis <0.000000> speed <330.117315> / animSpeed; + turn lleg to x-axis <0.000000> speed <6551.031655> / animSpeed; + turn lleg to y-axis <0.000000> speed <79.064700> / animSpeed; + turn lleg to z-axis <0.000000> speed <118.708448> / animSpeed; + turn pelvis to x-axis <0.000000> speed <469.375210> / animSpeed; + turn rfoot to x-axis <0.000000> speed <4444.481616> / animSpeed; + turn rhip to x-axis <0.000000> speed <6879.379509> / animSpeed; + turn rhip to y-axis <0.000000> speed <163.568123> / animSpeed; + turn rhip to z-axis <0.000000> speed <167.665045> / animSpeed; + turn rleg to x-axis <0.000000> speed <5994.845935> / animSpeed; + turn rleg to y-axis <0.000000> speed <75.347520> / animSpeed; + turn rleg to z-axis <0.000000> speed <126.287879> / animSpeed; } // REMEMBER TO animspeed = 3 in Create() !! UnitSpeed(){ @@ -235,68 +238,142 @@ UnitSpeed(){ animSpeed = (maxSpeed * 3) / animSpeed; //get PRINT(maxSpeed, animFramesPerKeyframe, animSpeed); //how to print debug info from bos if (animSpeed<1) animSpeed=1; + if (animspeed>6) animSpeed = 6; sleep 98; } } - -StartMoving(reversing){ - signal SIGNAL_MOVE; - isMoving=TRUE; - set-signal-mask SIGNAL_MOVE; +StartMoving(){ + signal SIG_WALK; + bMoving=TRUE; + set-signal-mask SIG_WALK; start-script UnitSpeed(); start-script Walk(); } StopMoving(){ - signal SIGNAL_MOVE; - isMoving=FALSE; + signal SIG_WALK; + bMoving=FALSE; call-script StopWalking(); } + #define BASEPIECE pelvis #define HITSPEED <75.0> //how 'heavy' the unit is, on a scale of 1-10 #define UNITSIZE 1 #define MAXTILT 100 -#include "../unit_hitbyweaponid_and_smoke.h" + + +#include "unit_hitbyweaponid_and_smoke.h" + + +Go() +{ + +// turn luparm to x-axis <0.010989> speed <160.000000>; +// turn ruparm to x-axis <0.010989> speed <160.000000>; +} + +Stop() + +{ + set-signal-mask SIG_BUILD; + set INBUILDSTANCE to 0; + turn head to y-axis <0.000000> speed <160.000000>; +// turn luparm to x-axis <45.000000> speed <160.000000>; +// turn ruparm to x-axis <45.000000> speed <160.000000>; +// wait-for-turn head around y-axis; +} + +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState ) + { + call-script Stop(); + notBuilding = 1; + currentstate = 1; + } + else + { + call-script Go(); + notBuilding = 0; + currentstate = 0; + } + } + statechg_StateChanging = FALSE; +} Create() { - isMoving = FALSE; - hide nano; + bMoving = FALSE; + notBuilding = 1; + animspeed = 3; + nanoNozzle = 0; + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; moveSpeed = get MAX_SPEED; animSpeed = 60; + animAmplitude = 70; + //turn luparm to x-axis <45.010989> speed <45>; +// turn ruparm to x-axis <45.010989> speed <45>; } -StartBuilding(heading, pitch) +Activate() { - signal SIGNAL_BUILD; - set-signal-mask SIGNAL_BUILD; + start-script RequestState(0); +} + +Deactivate() +{ + start-script RequestState(1); +} - turn head to y-axis heading speed <260.0>; +StartBuilding(heading, pitch) +{ + start-script RequestState(0); + while( notBuilding ) sleep 100; + signal SIG_BUILD; + turn head to y-axis heading speed <260.000000>; wait-for-turn head around y-axis; - - show nano; set INBUILDSTANCE to 1; } StopBuilding() { - signal SIGNAL_BUILD; - set-signal-mask SIGNAL_BUILD; - - hide nano; + signal SIG_BUILD; + set-signal-mask SIG_BUILD; + sleep 1000; + set-signal-mask 0; + signal SIG_BUILD; + start-script RequestState(1); +} - sleep 6000; - - set INBUILDSTANCE to 0; - turn head to y-axis <0.0> speed <160.0>; +SweetSpot(piecenum) +{ + piecenum = pelvis; } -QueryNanoPiece(pieceIndex) +QueryNanoPiece(piecenum) { - pieceIndex = nano; + piecenum = head + nanoNozzle; //head was nano + nanoNozzle = !nanoNozzle; } +/* +TargetHeading(Func_Var_1) +{ + Static_Var_5 = 0 - Func_Var_1; +} +*/ Killed(severity, corpsetype) { @@ -306,6 +383,12 @@ Killed(severity, corpsetype) explode pelvis type BITMAPONLY | NOHEATCLOUD; explode head type BITMAPONLY | NOHEATCLOUD; explode nano type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lhip type BITMAPONLY | NOHEATCLOUD; + //explode lleg type BITMAPONLY | NOHEATCLOUD; + //explode lfoot type BITMAPONLY | NOHEATCLOUD; + //explode rhip type BITMAPONLY | NOHEATCLOUD; + //explode rleg type BITMAPONLY | NOHEATCLOUD; + //explode rfoot type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } if( severity <= 50 ) @@ -314,6 +397,12 @@ Killed(severity, corpsetype) explode pelvis type FIRE | SMOKE | FALL | NOHEATCLOUD; explode head type FIRE | SMOKE | FALL | NOHEATCLOUD; explode nano type FALL | NOHEATCLOUD; + //explode lhip type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lleg type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lfoot type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rhip type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rleg type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rfoot type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) @@ -322,11 +411,23 @@ Killed(severity, corpsetype) explode pelvis type FIRE | SMOKE | FALL | NOHEATCLOUD; explode head type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode nano type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lhip type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lleg type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode lfoot type SMOKE | FALL | NOHEATCLOUD; + //explode rhip type SMOKE | FALL | NOHEATCLOUD; + //explode rleg type SMOKE | FALL | NOHEATCLOUD; + //explode rfoot type SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; explode pelvis type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode head type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode nano type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode lhip type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode lleg type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lfoot type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode rhip type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode rleg type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rfoot type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/armrectrt4.cob b/scripts/Units/armrectrt4.cob index 47dd37e032b6c7b57fa0bff4c521852939683cb4..3c869fb95a9fe2a7fb286b666cfebd685f56053c 100644 GIT binary patch literal 18360 zcmd5^4UARA6`p06Who*Ls5DEc-G$m8#dH^2VxWL-31~nA@>gPltn3rEtn7jd1X|lQ zReoAjY(iYET70>VvZXTv4U_t0e2<-ttZu zw~vKeH7s4cg+~{DxQ7 z#qFF>uz7T-?VaaYkI>cWMUiFA{Kt-!Z>T*Y~0Sgn6jeER=X?#C6$TGe59T z)lgkfO;vi1(Bha=Ug%$vmEX_8XmUCClj*vh7qMCQjSh&rC}ZwAkT7=%mrviA9#a!u z33F-BUEi9T&chZcL*6URp9*8Zp1Wpe%rVbJ_$98y>a7R_pAO}iK%Ss44kX|TzatOy zO2&Qg(|#SugFV+yulLKk`c_ByC9d$WA2Vbs4_}S&KwROW_JVVhai84lk4c$pMc;?F z7m{(GSsKp`qVL76={$@J#EydBK!ZLQJJa7w&%Mjf^XoudJ2#B_W_p~Rd_Fvm$t@4+ zyB!Z)sqru{5)Z@`zl{jk=EiUD1YGf3{X&22xVSrq_-!M0rY8dL{OgTBG z=Wu%bz7ZM6xUCP4)S8z45ko6c8(dn z+`muZ^3W35i?VaUegu=x7cTB>_{1kmeTgfvxh`Xm085@IE@MK+L&kbz*316!{9$sz ztXXF#7v!urn%DX{bN%*}z0*a7v${6 z=i~y$T_`rSpCLnin=|&x{up_#vU9=yC)4NbA(4GuI~Tm3F}GeB;lW;S)MY%UT#)Y)-fF z)`%|TjR$e-$EV{Cf+KzYqp!6;4DJob)7J&h2lhINYv+PL-=98~Hsb|HNMAb_ypyq) z!}sMeT#5O48Sfz)6L2-h@Z01Y(#QUh$Ud%}3yuczvO7j&&w+L>xFireE^h3(inzi< zPL9c0$K>RgoOR5wHh=86Jj@Qvm&(a8fB$KEJRJXhcwE>yX5qEz`o0>8UycbLoOi~- ziM}!9@-P~0e6r+$xH8@z3UKD)B5g!*CC=t;O`mtxUl7K%bId=6`ej{xt0MEdonr1C+*CIR+S9oYNvU<*lY5ePCW=3~BplC-l9fHr>~2 zBDi+$y6>rUeLue^JVx!@wg0o}xT^#6FnJ)ZjHU4z&m4Oaa5cx^cUVU{zgzH!P@%D} zjrmp+$CdVy$pdkPhsKP#D&_CCgom8mwSBw)c}mtXqVLI*&0fx29#U{c z-<;g_NPsi)3wrgz@pj?*^xXBCBjIsj=dQbkr^nggkA~xn-14Bld?5A3q|5KI$ec}F z@!JCj({bPYxL=n1+Bs%)MvjR+)7d%Z(sTVfxIEBCA7`Sk#95<})nhx7V@BcK4SjO9 z-kS`&)UUT|;}{qjvQgV-V(9y~`(<6+@qs-_a%bn5y&KZU($^#V&UTJjG$~!*;Spck zIcC7rbX=tSAiu z3J>dl{;6c#{{QyRmmem_{6DOZUK#JtpRV85M&47}Ii`PLZSCUDiM*#|Eb!obw)upA zKh(vY64^7fbHN_`NR6}IkvOw+!J8Sle@(!Z_-zCqWqTvJ;5qEO=jMW(_a=K=(z&A_ zeLQpQYx|6^$8PYCyRz-(Z)B&Ex8u^LJYBVdC;}=HkZqwR6F` zjJ>^_?>XMii20Otf#iamIXmxrj^mCo=vC|2rW!&T_sJ zS(6dJk4NS}#)8Ddwv4||%K1*DI%7W~=R1*WGkCzCod);l?Hscfgrv?7u{~tsrsf!R z*{N^j7@KNZt^UqI?;kdmzKdhLD)p}_H-5Cd`L0U(+w{zXK{@gJkIg<5pXc}uUa1dU zoBY9Q*8SG38+~%p@2-{SoXVvRp1p<`-7wfI$9a_p`(5*X$sd*awddcTycL!cd*?R~ z^7gCyF#V1;YqCoHvQF$R&h+<7Iq7%jRi$UcN_Y^{2kqTG$IqYrO!&K@e*V}e58_?f z?blE1X5=ne8I}_}-rZLE)}xXgjCUUF_b&6dbv`-a@7cNje(iCofz6nh!XFJag_Olv_r-n?`hdW z?*iqYGV-jW4k9akYhKW&wAbIdT5^ z8CJ>MqT{KnG|!0cyv?@yUQaDJs@3m4SkG&H#y^zN*TyF{7VF7_zTW_ReQ|ml)qwj} z=>hZKO}O(f3ThA8dZGtC-#E8*fj;erI=e5in{^uB_~TZq&r1D`(%7YM zIz?BWwH|t;nD{YxcN@Ga8g8YJfcowhi9rJ{7{DZ>a>_dKhy)&T1Q@M4tq-VI={*NhB_^~ zd#S}g;)#9eB67eKJ86T?rLga9=qzNHO++ii|o{uUct`vik$>DR`j zZ}?m0Sdo{pCwkl5*?rl0iT1J&y`N}dPBMM)olqtH7$^E(h5PK^cVB#7#?q4lJ2l6#E16#^-6sa^rw^I$MYddbU+)5aC_bi`JzvO}AvXW^T{V>A z{7;56;!7M-rUAcs?!j5j=QBnhMzgMKFy|he{ZLWS|6ZL1?9)cJyLb@-YoY8%v(Vb!PVRaYZYDXA8 zQ+O6T&a}O2E4gs(Ia6#>CB7B^kYir^;wEH|uZ?R1``w4>^ zevR@x%4;YiK=>4t87SAH^q_1;`2orf6#hSA_Mp6o@+!(9lp`o7Q0gWtH3X#|<$RQj zP)4DQMVW*$6QvbpG0JL`TTs@a+>Y`cl+7sjqTG-20LmjMJ5lDeb}Uvix;wjg(Y|D% znzf|8dq!8W*oNBHW!+bGu3#-C%;gpB-7Tx;6kEGGm#7&xb}lZmg|cd|Y*UjvbqjS( zaq05nP2E81E~+mrEAn*tg6{SeyqH*Ql}p`K%kuV)HtFotkCnwD6zc3&)0Y>Qt-88( zN$0fo;)0@@(%#VlExU>xE81^Ti;AsnYT2UpF14(qxKJ&-p%X1S_#09SRfqn)1dUZ| K`;Dub)&Bq^CGA=O literal 10008 zcmbta3yf9O6+QD|gfhb8*DCm#!742_bw-hDTU!KTK?06^IwdBA=gf0_0jZxRC^5B7OKn<9LP`@rIzno}V$vp+XoIDi)*lTuMuSM{TIcS4XLHYaGn4j` zGw(V)efB>0y!)tj&RvZ5DYU{c=Ptr0kAqh`_W|1Hu5s=QxNgE{b*?h!JD1kv zHsYiL*GJIF`<3jNR+Zzu2mW*ZysLA$3J*?jt7<9&+_aApoZ95r9b-bi#pe^;5X0B} zm5^@(oq*jMgWFgY@?F7x!BIEuPMWef&^P4_dUN=PLvhX(1DsnABZ8yP5Cz*C-S`5-Wd9R>R(|E+;?@z zw}_h~*tIoK`=_ctpG4nS*~{46u7E$O?}Ga(#e+k4-xG8Ie%Rbz)*P-iZ$|bqLnHeEJih&Nlrhn`lr9PFzHM+C zm#&E2FXNd>eKxlnBRR_wP@LNRcci9tjr(77dlLqh%k9{HIhNa$O0C{+oRV)?WG_^p zNZ{< zr*;Qe!|y~e$h~8t86#`oF5#w59>lG|!#?E}+)4uAJ3o8_?qo|C|LL-avw7ZjJj69& zGfzI7=Z7Nuj$Voqoci7y*`psZIMsK3WRIC+27%A!`MSuw>zZcs{2>r$@%dGa*(Fv1h{A+d{kFWH8_d-R9x*_lYpi8%`$rY(1R)ddN4I;=xB+9^_ksL0NyV zVW;49KDOZ`i$l7nI8u|ZH-@%&2F8S1MJmVn?k-<{u0*8yvsw}J{km{ zeI~4#7~)PF98all%CF5^>7+LFAe5bqSxwr58lX83zy4a{x~?drP$TLWK#TUHk!PYbt3jYe`Un3?kib08t20xPV-#&EKcp#V@!&R z)PtMW_gj&VXH$*;jfitw-H`ll#Q5UZrizqD?0J0VoyB9n|5?8{)&E>gIA5MmYKiBx zd+bf4-`dU8-2Tw*XEZaP=quC1S6ztcZX{axBPx~yIMJehh^ zc|PKFUJDER$En@j*vv=gEmJ=So6E-!Dd`W!<>m3^<42o3h@0JAUZ2+{xEogYk5fNB z{7J5?ANG0jNaXqMMZsUfeO^lOIK)|spys)-Pe_kHVu&DErPWuCL22QmHxd?{YI zc%Qm`e;xY$$%SL6!8UT>)qsy9V|7$CxALCY@NL5?IE}*Bd_B<(m5X zR3A0@+Jzq&;t$NYk2^o9lb^l=7-BVVREO0}tj>w=$2wNokleF z+DB;T&?+b4|BRtsj5ZprIbT}l7Ib%X@}$__<`%UVyBBm83az-C@9Li0(Zjn$$my(N z_w=>Rg?wj6`|MU{uH4N0@_bvNb;0tEWd%2*tB~(5BqY;U6-%v3lV04ps?fD|UcSAf zsaR+!xH-jA306A`rJmwScW)uz>bmYNcDk-oq0M#O)6voGO1uWD&6WIhI|jRaarxRt F_g}WO5}p76 diff --git a/scripts/Units/armrl.bos b/scripts/Units/armrl.bos index 7c9aeb1c968..6a6b619c37c 100644 --- a/scripts/Units/armrl.bos +++ b/scripts/Units/armrl.bos @@ -1,5 +1,7 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, flare, turret, barrel, launcher, sleeve; @@ -7,7 +9,7 @@ static-var gun_1; static-var Stunned; // Signal definitions -#define SIGNAL_AIM1 256 +#define SIG_AIM 2 #define BASEPIECE base @@ -16,15 +18,18 @@ static-var Stunned; #define UNITSIZE 5 #define MAXTILT 100 -#include "../unit_hitbyweaponid_and_smoke.h" +#include "unit_hitbyweaponid_and_smoke.h" Create() { hide flare; gun_1 = flare; - SLEEP_UNTIL_UNITFINISHED; - turn launcher to x-axis <-25> speed <25.0>; + while( get BUILD_PERCENT_LEFT ) + { + sleep 400; + } + turn launcher to x-axis <-25> speed <25.00000>; spin turret around y-axis speed <25.0>; } Stop() @@ -37,7 +42,7 @@ ExecuteRestoreAfterDelay() if (Stunned) { return (1); } - turn launcher to x-axis <-25> speed <25.0>; + turn launcher to x-axis <-25> speed <25.00000>; spin turret around y-axis speed <25.0>; } SetStunned(State) @@ -55,26 +60,25 @@ RestoreAfterDelay() start-script ExecuteRestoreAfterDelay(); } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; - + signal SIG_AIM; + set-signal-mask SIG_AIM; stop-spin turret around y-axis; if( gun_1 == 1 ) { - turn sleeve to z-axis <0.0> speed <400.0>; + turn sleeve to z-axis <0.000000> speed <400.000000>; } if( gun_1 == 2 ) { - turn sleeve to z-axis <120.027473> speed <400.0>; + turn sleeve to z-axis <120.027473> speed <400.000000>; } if( gun_1 == 3 ) { - turn sleeve to z-axis <-120.027473> speed <400.0>; + turn sleeve to z-axis <-120.027473> speed <400.000000>; } - turn turret to y-axis heading speed <450.0>; - turn launcher to x-axis <0.0> - pitch speed <450.0>; + turn turret to y-axis heading speed <450.000000>; + turn launcher to x-axis <0.000000> - pitch speed <450.000000>; wait-for-turn sleeve around z-axis; wait-for-turn turret around y-axis; wait-for-turn launcher around x-axis; @@ -82,7 +86,7 @@ AimWeapon1(heading, pitch) return (1); } -FireWeapon1() +FirePrimary() { ++gun_1; if( gun_1 == 4 ) @@ -92,19 +96,23 @@ FireWeapon1() return (0); } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = turret; + piecenum = turret; return (0); } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = flare; + piecenum = flare; return (0); } - +SweetSpot(piecenum) +{ + piecenum = base; + return (0); +} Killed(severity, corpsetype) { diff --git a/scripts/Units/armrock.bos b/scripts/Units/armrock.bos index 28444b52650..59878bf26b6 100644 --- a/scripts/Units/armrock.bos +++ b/scripts/Units/armrock.bos @@ -1,13 +1,15 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece torso, lbarrel, lmisspod, rshield, pelvis, rfoot, lfoot, lthigh, rthigh, lleg, rleg, flare, exhaust,aimx1, aimy1, aimpoint; -static-var isMoving, isAiming, restore_delay, moveSpeed, currentSpeed, wpn1_lasthead; +static-var bMoving, bAiming, Static_Var_3, restore_delay, moveSpeed, currentSpeed, wpn1_lasthead; // Signal definitions -#define SIGNAL_AIM1 256 +#define SIG_AIM 2 #define BASEPIECE pelvis @@ -16,7 +18,7 @@ static-var isMoving, isAiming, restore_delay, moveSpeed, currentSpeed, wpn1_las #define UNITSIZE 1 #define MAXTILT 100 -#include "../unit_hitbyweaponid_and_smoke.h" +#include "unit_hitbyweaponid_and_smoke.h" lua_UnitScriptDecal(lightIndex, xpos,zpos, heading) { @@ -27,220 +29,220 @@ lua_UnitScriptDecal(lightIndex, xpos,zpos, heading) // Using https://github.com/Beherith/Skeletor_S3O // this animation uses the static-var animFramesPerKeyframe which contains how many frames each keyframe takes static-var animSpeed, maxSpeed, animFramesPerKeyframe; -#define SIGNAL_MOVE 1 +#define SIG_WALK 4 Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations\armrock_anim_walk.blend // (c) CC BY NC ND Beherith mysterme@gmail.com - set-signal-mask SIGNAL_MOVE; - if (isMoving) { //Frame:3 + set-signal-mask SIG_WALK; + if (bMoving) { //Frame:3 turn lfoot to x-axis <-18.289469> speed <236.911429> / animSpeed; //delta=7.90 - turn lfoot to z-axis <-0.0> speed <231.437786> / animSpeed; //delta=7.71 + turn lfoot to z-axis <-0.000304> speed <231.437786> / animSpeed; //delta=7.71 turn lfoot to y-axis <-0.001346> speed <131.303428> / animSpeed; //delta=4.38 turn lleg to x-axis <68.260446> speed <1164.563578> / animSpeed; //delta=-38.82 - turn lmisspod to x-axis <-7.0> speed <210.0> / animSpeed; //delta=7.00 + turn lmisspod to x-axis <-7.000000> speed <210.000002> / animSpeed; //delta=7.00 turn lthigh to x-axis <-58.093184> speed <1143.851917> / animSpeed; //delta=38.13 turn lthigh to z-axis <4.662218> speed <399.195789> / animSpeed; //delta=-13.31 turn lthigh to y-axis <7.585822> speed <455.204489> / animSpeed; //delta=-15.17 move pelvis to y-axis [-0.650608] speed [10.500000] / animSpeed; //delta=-0.35 - turn pelvis to z-axis <-3.0> speed <90.0> / animSpeed; //delta=3.00 - turn pelvis to y-axis <-4.0> speed <119.999999> / animSpeed; //delta=-4.00 + turn pelvis to z-axis <-3.000000> speed <90.000003> / animSpeed; //delta=3.00 + turn pelvis to y-axis <-4.000000> speed <119.999999> / animSpeed; //delta=-4.00 turn rfoot to x-axis <-28.805151> speed <499.100919> / animSpeed; //delta=16.64 - turn rfoot to z-axis <-0.0> speed <176.138327> / animSpeed; //delta=-5.87 + turn rfoot to z-axis <-0.000755> speed <176.138327> / animSpeed; //delta=-5.87 turn rfoot to y-axis <-0.002000> speed <189.702865> / animSpeed; //delta=-6.32 turn rleg to x-axis <3.679856> speed <664.498360> / animSpeed; //delta=22.15 - turn rshield to x-axis <7.0> speed <210.0> / animSpeed; //delta=-7.00 - turn rshield to z-axis <-2.0> speed <60.0> / animSpeed; //delta=2.00 + turn rshield to x-axis <7.000000> speed <210.000002> / animSpeed; //delta=-7.00 + turn rshield to z-axis <-2.000000> speed <60.000000> / animSpeed; //delta=2.00 turn rthigh to x-axis <25.880850> speed <1214.364416> / animSpeed; //delta=-40.48 turn rthigh to z-axis <3.513440> speed <191.290628> / animSpeed; //delta=6.38 turn rthigh to y-axis <1.848999> speed <626.742273> / animSpeed; //delta=20.89 - turn torso to x-axis <-2.0> speed <60.0> / animSpeed; //delta=2.00 + turn torso to x-axis <-2.000000> speed <60.000000> / animSpeed; //delta=2.00 sleep ((33*animSpeed) -1); } - while(isMoving) { - if (isMoving) { //Frame:6 + while(bMoving) { + if (bMoving) { //Frame:6 turn lfoot to x-axis <13.356174> speed <949.369281> / animSpeed; //delta=-31.65 turn lleg to x-axis <-6.873794> speed <2254.027189> / animSpeed; //delta=75.13 - turn lmisspod to x-axis <-10.0> speed <89.999990> / animSpeed; //delta=3.00 + turn lmisspod to x-axis <-10.000000> speed <89.999990> / animSpeed; //delta=3.00 turn lthigh to x-axis <-43.694469> speed <431.961449> / animSpeed; //delta=-14.40 turn lthigh to z-axis <4.780893> speed <3.560249> / animSpeed; //delta=-0.12 turn lthigh to y-axis <8.808002> speed <36.665386> / animSpeed; //delta=1.22 - move pelvis to y-axis [-1.650608] speed [30.0] / animSpeed; //delta=-1.00 - turn pelvis to z-axis <-5.0> speed <59.999993> / animSpeed; //delta=2.00 - turn pelvis to y-axis <-6.0> speed <60.0> / animSpeed; //delta=-2.00 + move pelvis to y-axis [-1.650608] speed [30.000000] / animSpeed; //delta=-1.00 + turn pelvis to z-axis <-5.000000> speed <59.999993> / animSpeed; //delta=2.00 + turn pelvis to y-axis <-6.000000> speed <60.000006> / animSpeed; //delta=-2.00 turn rfoot to x-axis <-31.488029> speed <80.486334> / animSpeed; //delta=2.68 turn rleg to x-axis <0.592613> speed <92.617284> / animSpeed; //delta=3.09 turn rshield to x-axis <9.999999> speed <89.999964> / animSpeed; //delta=-3.00 - turn rshield to z-axis <-3.0> speed <30.0> / animSpeed; //delta=1.00 - turn rthigh to x-axis <51.047526> speed <755.0> / animSpeed; //delta=-25.17 + turn rshield to z-axis <-3.000000> speed <30.000003> / animSpeed; //delta=1.00 + turn rthigh to x-axis <51.047526> speed <755.000266> / animSpeed; //delta=-25.17 turn rthigh to z-axis <8.254019> speed <142.217358> / animSpeed; //delta=-4.74 turn rthigh to y-axis <0.039498> speed <54.285034> / animSpeed; //delta=-1.81 - turn torso to x-axis <-3.0> speed <30.0> / animSpeed; //delta=1.00 + turn torso to x-axis <-3.000000> speed <30.000003> / animSpeed; //delta=1.00 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:9 + if (bMoving) { //Frame:9 turn lfoot to x-axis <27.902361> speed <436.385618> / animSpeed; //delta=-14.55 turn lleg to x-axis <4.628038> speed <345.054933> / animSpeed; //delta=-11.50 - turn lmisspod to x-axis <-7.0> speed <89.999990> / animSpeed; //delta=-3.00 + turn lmisspod to x-axis <-7.000000> speed <89.999990> / animSpeed; //delta=-3.00 turn lthigh to x-axis <-32.044918> speed <349.486505> / animSpeed; //delta=-11.65 turn lthigh to z-axis <3.320679> speed <43.806445> / animSpeed; //delta=1.46 turn lthigh to y-axis <5.600876> speed <96.213767> / animSpeed; //delta=-3.21 - move pelvis to y-axis [-1.150608] speed [15.0] / animSpeed; //delta=0.50 - turn pelvis to z-axis <-3.0> speed <59.999993> / animSpeed; //delta=-2.00 - turn pelvis to y-axis <-4.0> speed <60.0> / animSpeed; //delta=2.00 + move pelvis to y-axis [-1.150608] speed [15.000000] / animSpeed; //delta=0.50 + turn pelvis to z-axis <-3.000000> speed <59.999993> / animSpeed; //delta=-2.00 + turn pelvis to y-axis <-4.000000> speed <60.000006> / animSpeed; //delta=2.00 turn rfoot to x-axis <-75.625200> speed <1324.115123> / animSpeed; //delta=44.14 turn rleg to x-axis <84.723258> speed <2523.919335> / animSpeed; //delta=-84.13 - turn rshield to x-axis <7.0> speed <89.999964> / animSpeed; //delta=3.00 - turn rshield to z-axis <5.0> speed <239.999998> / animSpeed; //delta=-8.00 + turn rshield to x-axis <7.000000> speed <89.999964> / animSpeed; //delta=3.00 + turn rshield to z-axis <5.000000> speed <239.999998> / animSpeed; //delta=-8.00 turn rthigh to x-axis <12.283588> speed <1162.918134> / animSpeed; //delta=38.76 turn rthigh to z-axis <3.685951> speed <137.042030> / animSpeed; //delta=4.57 turn rthigh to y-axis <-0.249174> speed <8.660138> / animSpeed; //delta=-0.29 - turn torso to x-axis <5.0> speed <239.999998> / animSpeed; //delta=-8.00 + turn torso to x-axis <5.000000> speed <239.999998> / animSpeed; //delta=-8.00 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:12 + if (bMoving) { //Frame:12 turn lfoot to x-axis <-30.343047> speed <1747.362241> / animSpeed; //delta=58.25 turn lleg to x-axis <49.570900> speed <1348.285886> / animSpeed; //delta=-44.94 - turn lmisspod to x-axis <-0.0> speed <210.0> / animSpeed; //delta=-7.00 + turn lmisspod to x-axis <-0.000000> speed <210.000002> / animSpeed; //delta=-7.00 turn lthigh to x-axis <-18.886136> speed <394.763487> / animSpeed; //delta=-13.16 turn lthigh to z-axis <-0.149751> speed <104.112895> / animSpeed; //delta=3.47 turn lthigh to y-axis <-0.325139> speed <177.780448> / animSpeed; //delta=-5.93 move pelvis to y-axis [-0.900608] speed [7.500000] / animSpeed; //delta=0.25 - turn pelvis to z-axis <-0.0> speed <90.0> / animSpeed; //delta=-3.00 - turn pelvis to y-axis <0.0> speed <119.999999> / animSpeed; //delta=4.00 + turn pelvis to z-axis <-0.000000> speed <90.000003> / animSpeed; //delta=-3.00 + turn pelvis to y-axis <0.000000> speed <119.999999> / animSpeed; //delta=4.00 turn rfoot to x-axis <-53.657382> speed <659.034537> / animSpeed; //delta=-21.97 turn rleg to x-axis <81.192269> speed <105.929677> / animSpeed; //delta=3.53 - turn rshield to x-axis <-0.0> speed <210.0> / animSpeed; //delta=7.00 - turn rshield to z-axis <-0.0> speed <149.999996> / animSpeed; //delta=5.00 + turn rshield to x-axis <-0.000000> speed <210.000002> / animSpeed; //delta=7.00 + turn rshield to z-axis <-0.000000> speed <149.999996> / animSpeed; //delta=5.00 turn rthigh to x-axis <-26.410554> speed <1160.824254> / animSpeed; //delta=38.69 turn rthigh to z-axis <0.285743> speed <102.006243> / animSpeed; //delta=3.40 turn rthigh to y-axis <0.600055> speed <25.476845> / animSpeed; //delta=0.85 - turn torso to x-axis <-0.0> speed <149.999996> / animSpeed; //delta=5.00 + turn torso to x-axis <-0.000000> speed <149.999996> / animSpeed; //delta=5.00 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:15 + if (bMoving) { //Frame:15 turn lfoot to x-axis <-24.256969> speed <182.582329> / animSpeed; //delta=-6.09 turn lleg to x-axis <0.270792> speed <1479.003240> / animSpeed; //delta=49.30 - turn lmisspod to x-axis <7.0> speed <210.0> / animSpeed; //delta=-7.00 + turn lmisspod to x-axis <7.000000> speed <210.000002> / animSpeed; //delta=-7.00 turn lthigh to x-axis <27.398607> speed <1388.542283> / animSpeed; //delta=-46.28 turn lthigh to z-axis <-3.560288> speed <102.316106> / animSpeed; //delta=3.41 turn lthigh to y-axis <-1.849555> speed <45.732500> / animSpeed; //delta=-1.52 move pelvis to y-axis [-0.650608] speed [7.500000] / animSpeed; //delta=0.25 - turn pelvis to z-axis <3.0> speed <90.0> / animSpeed; //delta=-3.00 - turn pelvis to y-axis <4.0> speed <119.999999> / animSpeed; //delta=4.00 + turn pelvis to z-axis <3.000000> speed <90.000003> / animSpeed; //delta=-3.00 + turn pelvis to y-axis <4.000000> speed <119.999999> / animSpeed; //delta=4.00 turn rfoot to x-axis <-18.378451> speed <1058.367933> / animSpeed; //delta=-35.28 turn rleg to x-axis <65.700177> speed <464.762749> / animSpeed; //delta=15.49 - turn rshield to x-axis <-7.0> speed <210.0> / animSpeed; //delta=7.00 - turn rshield to z-axis <-2.0> speed <60.0> / animSpeed; //delta=2.00 + turn rshield to x-axis <-7.000000> speed <210.000002> / animSpeed; //delta=7.00 + turn rshield to z-axis <-2.000000> speed <60.000000> / animSpeed; //delta=2.00 turn rthigh to x-axis <-56.931061> speed <915.615221> / animSpeed; //delta=30.52 turn rthigh to z-axis <-5.158371> speed <163.323439> / animSpeed; //delta=5.44 turn rthigh to y-axis <-8.195709> speed <263.872900> / animSpeed; //delta=-8.80 - turn torso to x-axis <-2.0> speed <60.0> / animSpeed; //delta=2.00 + turn torso to x-axis <-2.000000> speed <60.000000> / animSpeed; //delta=2.00 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:18 + if (bMoving) { //Frame:18 turn lfoot to x-axis <-31.449900> speed <215.787908> / animSpeed; //delta=7.19 turn lleg to x-axis <0.528712> speed <7.737590> / animSpeed; //delta=-0.26 - turn lmisspod to x-axis <10.0> speed <89.999990> / animSpeed; //delta=-3.00 + turn lmisspod to x-axis <10.000000> speed <89.999990> / animSpeed; //delta=-3.00 turn lthigh to x-axis <51.072750> speed <710.224278> / animSpeed; //delta=-23.67 turn lthigh to z-axis <-8.258097> speed <140.934277> / animSpeed; //delta=4.70 turn lthigh to y-axis <-0.034676> speed <54.446381> / animSpeed; //delta=1.81 - move pelvis to y-axis [-1.650608] speed [30.0] / animSpeed; //delta=-1.00 - turn pelvis to z-axis <5.0> speed <59.999993> / animSpeed; //delta=-2.00 - turn pelvis to y-axis <6.0> speed <60.0> / animSpeed; //delta=2.00 + move pelvis to y-axis [-1.650608] speed [30.000000] / animSpeed; //delta=-1.00 + turn pelvis to z-axis <5.000000> speed <59.999993> / animSpeed; //delta=-2.00 + turn pelvis to y-axis <6.000000> speed <60.000006> / animSpeed; //delta=2.00 turn rfoot to x-axis <13.374550> speed <952.590040> / animSpeed; //delta=-31.75 turn rleg to x-axis <-6.912426> speed <2178.378076> / animSpeed; //delta=72.61 - turn rshield to x-axis <-10.0> speed <89.999990> / animSpeed; //delta=3.00 - turn rshield to z-axis <-3.0> speed <30.0> / animSpeed; //delta=1.00 + turn rshield to x-axis <-10.000000> speed <89.999990> / animSpeed; //delta=3.00 + turn rshield to z-axis <-3.000000> speed <30.000003> / animSpeed; //delta=1.00 turn rthigh to x-axis <-43.671628> speed <397.782977> / animSpeed; //delta=-13.26 turn rthigh to z-axis <-4.779621> speed <11.362519> / animSpeed; //delta=-0.38 turn rthigh to y-axis <-8.805893> speed <18.305530> / animSpeed; //delta=-0.61 - turn torso to x-axis <-3.0> speed <30.0> / animSpeed; //delta=1.00 + turn torso to x-axis <-3.000000> speed <30.000003> / animSpeed; //delta=1.00 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:21 + if (bMoving) { //Frame:21 turn lfoot to x-axis <-75.758956> speed <1329.271677> / animSpeed; //delta=44.31 turn lleg to x-axis <84.615368> speed <2522.599683> / animSpeed; //delta=-84.09 - turn lmisspod to x-axis <7.0> speed <89.999990> / animSpeed; //delta=3.00 + turn lmisspod to x-axis <7.000000> speed <89.999990> / animSpeed; //delta=3.00 turn lthigh to x-axis <12.405848> speed <1160.007039> / animSpeed; //delta=38.67 turn lthigh to z-axis <-3.687896> speed <137.106050> / animSpeed; //delta=-4.57 turn lthigh to y-axis <0.259163> speed <8.815159> / animSpeed; //delta=0.29 - move pelvis to y-axis [-1.150608] speed [15.0] / animSpeed; //delta=0.50 - turn pelvis to z-axis <3.0> speed <59.999993> / animSpeed; //delta=2.00 - turn pelvis to y-axis <4.0> speed <60.0> / animSpeed; //delta=-2.00 + move pelvis to y-axis [-1.150608] speed [15.000000] / animSpeed; //delta=0.50 + turn pelvis to z-axis <3.000000> speed <59.999993> / animSpeed; //delta=2.00 + turn pelvis to y-axis <4.000000> speed <60.000006> / animSpeed; //delta=-2.00 turn rfoot to x-axis <27.931316> speed <436.702966> / animSpeed; //delta=-14.56 turn rleg to x-axis <4.585707> speed <344.943976> / animSpeed; //delta=-11.50 - turn rshield to x-axis <-7.0> speed <89.999990> / animSpeed; //delta=-3.00 - turn rshield to z-axis <5.0> speed <239.999998> / animSpeed; //delta=-8.00 + turn rshield to x-axis <-7.000000> speed <89.999990> / animSpeed; //delta=-3.00 + turn rshield to z-axis <5.000000> speed <239.999998> / animSpeed; //delta=-8.00 turn rthigh to x-axis <-32.033423> speed <349.146156> / animSpeed; //delta=-11.64 turn rthigh to z-axis <-3.320490> speed <43.773929> / animSpeed; //delta=-1.46 turn rthigh to y-axis <-5.600386> speed <96.165204> / animSpeed; //delta=3.21 - turn torso to x-axis <5.0> speed <239.999998> / animSpeed; //delta=-8.00 + turn torso to x-axis <5.000000> speed <239.999998> / animSpeed; //delta=-8.00 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:24 + if (bMoving) { //Frame:24 turn lfoot to x-axis <-53.799549> speed <658.782196> / animSpeed; //delta=-21.96 turn lleg to x-axis <81.142033> speed <104.200068> / animSpeed; //delta=3.47 - turn lmisspod to x-axis <-0.0> speed <210.0> / animSpeed; //delta=7.00 + turn lmisspod to x-axis <-0.000000> speed <210.000002> / animSpeed; //delta=7.00 turn lthigh to x-axis <-26.285590> speed <1160.743163> / animSpeed; //delta=38.69 turn lthigh to z-axis <-0.285361> speed <102.076038> / animSpeed; //delta=-3.40 turn lthigh to y-axis <-0.599206> speed <25.751073> / animSpeed; //delta=-0.86 move pelvis to y-axis [-0.900608] speed [7.500000] / animSpeed; //delta=0.25 - turn pelvis to z-axis <-0.0> speed <90.0> / animSpeed; //delta=3.00 - turn pelvis to y-axis <0.0> speed <119.999999> / animSpeed; //delta=-4.00 + turn pelvis to z-axis <-0.000000> speed <90.000003> / animSpeed; //delta=3.00 + turn pelvis to y-axis <0.000000> speed <119.999999> / animSpeed; //delta=-4.00 turn rfoot to x-axis <-30.270627> speed <1746.058273> / animSpeed; //delta=58.20 turn rleg to x-axis <49.576604> speed <1349.726898> / animSpeed; //delta=-44.99 - turn rshield to x-axis <-0.0> speed <210.0> / animSpeed; //delta=-7.00 - turn rshield to z-axis <-0.0> speed <149.999996> / animSpeed; //delta=5.00 + turn rshield to x-axis <-0.000000> speed <210.000002> / animSpeed; //delta=-7.00 + turn rshield to z-axis <-0.000000> speed <149.999996> / animSpeed; //delta=5.00 turn rthigh to x-axis <-18.949569> speed <392.515621> / animSpeed; //delta=-13.08 turn rthigh to z-axis <0.149834> speed <104.109728> / animSpeed; //delta=-3.47 turn rthigh to y-axis <0.325372> speed <177.772739> / animSpeed; //delta=5.93 - turn torso to x-axis <-0.0> speed <149.999996> / animSpeed; //delta=5.00 + turn torso to x-axis <-0.000000> speed <149.999996> / animSpeed; //delta=5.00 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:27 + if (bMoving) { //Frame:27 turn lfoot to x-axis <-17.787281> speed <1080.368041> / animSpeed; //delta=-36.01 turn lleg to x-axis <71.994538> speed <274.424843> / animSpeed; //delta=9.15 - turn lmisspod to x-axis <-7.0> speed <210.0> / animSpeed; //delta=7.00 + turn lmisspod to x-axis <-7.000000> speed <210.000002> / animSpeed; //delta=7.00 turn lthigh to x-axis <-59.959970> speed <1010.231389> / animSpeed; //delta=33.67 turn lthigh to z-axis <4.447371> speed <141.981950> / animSpeed; //delta=-4.73 turn lthigh to y-axis <7.312032> speed <237.337142> / animSpeed; //delta=7.91 move pelvis to y-axis [-0.650608] speed [7.500000] / animSpeed; //delta=0.25 - turn pelvis to z-axis <-3.0> speed <90.0> / animSpeed; //delta=3.00 - turn pelvis to y-axis <-4.0> speed <119.999999> / animSpeed; //delta=-4.00 + turn pelvis to z-axis <-3.000000> speed <90.000003> / animSpeed; //delta=3.00 + turn pelvis to y-axis <-4.000000> speed <119.999999> / animSpeed; //delta=-4.00 turn rfoot to x-axis <-24.282332> speed <179.648848> / animSpeed; //delta=-5.99 turn rleg to x-axis <0.313001> speed <1477.908082> / animSpeed; //delta=49.26 - turn rshield to x-axis <7.0> speed <210.0> / animSpeed; //delta=-7.00 - turn rshield to z-axis <-2.0> speed <60.0> / animSpeed; //delta=2.00 + turn rshield to x-axis <7.000000> speed <210.000002> / animSpeed; //delta=-7.00 + turn rshield to z-axis <-2.000000> speed <60.000000> / animSpeed; //delta=2.00 turn rthigh to x-axis <27.381907> speed <1389.944299> / animSpeed; //delta=-46.33 turn rthigh to z-axis <3.559746> speed <102.297335> / animSpeed; //delta=-3.41 turn rthigh to y-axis <1.850602> speed <45.756909> / animSpeed; //delta=1.53 - turn torso to x-axis <-2.0> speed <60.0> / animSpeed; //delta=2.00 + turn torso to x-axis <-2.000000> speed <60.000000> / animSpeed; //delta=2.00 sleep ((33*animSpeed) -1); } } } -// Call this from StopMoving()! +// Call this from MotionControl()! StopWalking() { - move pelvis to y-axis [-0.300608] speed [10.0]; + move pelvis to y-axis [-0.300608] speed [10.000000]; turn lfoot to x-axis <-10.392421> speed <582.454080>; turn lfoot to y-axis <-4.378126> speed <43.767809>; turn lfoot to z-axis <7.714289> speed <77.145929>; turn lleg to x-axis <29.441660> speed <840.866561>; - turn lmisspod to x-axis <0.0> speed <70.0>; + turn lmisspod to x-axis <0.000000> speed <70.000001>; turn lthigh to x-axis <-19.964786> speed <462.847428>; turn lthigh to y-axis <22.759305> speed <151.734830>; turn lthigh to z-axis <-8.644308> speed <133.065263>; - turn pelvis to y-axis <0.0> speed <40.0>; - turn pelvis to z-axis <0.0> speed <30.0>; + turn pelvis to y-axis <0.000000> speed <40.000000>; + turn pelvis to z-axis <0.000000> speed <30.000001>; turn rfoot to x-axis <-12.168454> speed <582.019424>; turn rfoot to y-axis <6.321429> speed <63.234288>; turn rfoot to z-axis <-5.872033> speed <58.712776>; turn rleg to x-axis <25.829802> speed <841.306445>; - turn rshield to x-axis <0.0> speed <70.0>; - turn rshield to z-axis <0.0> speed <79.999999>; + turn rshield to x-axis <0.000000> speed <70.000001>; + turn rshield to z-axis <0.000000> speed <79.999999>; turn rthigh to x-axis <-14.597964> speed <463.314766>; turn rthigh to y-axis <-19.042410> speed <208.914091>; turn rthigh to z-axis <9.889795> speed <63.763543>; - turn torso to x-axis <0.0> speed <79.999999>; + turn torso to x-axis <0.000000> speed <79.999999>; } // REMEMBER TO animspeed = 3 in Create() !! UnitSpeed(){ @@ -257,15 +259,15 @@ UnitSpeed(){ sleep 98; } } -StartMoving(reversing){ - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; - isMoving=TRUE; +StartMoving(){ + signal SIG_WALK; + set-signal-mask SIG_WALK; + bMoving=TRUE; start-script Walk(); start-script UnitSpeed(); } StopMoving(){ - signal SIGNAL_MOVE; + signal SIG_WALK; call-script StopWalking(); } @@ -275,18 +277,22 @@ Create() hide flare; hide exhaust; hide aimy1; - isMoving = FALSE; - isAiming = FALSE; + bMoving = FALSE; + bAiming = FALSE; + Static_Var_3 = 1; restore_delay = 3000; animSpeed = 4; } -SetMaxReloadTime(reloadMS) +SetMaxReloadTime(Func_Var_1) { - restore_delay = reloadMS * 2; + restore_delay = Func_Var_1 * 2; } - +SweetSpot(piecenum) +{ + piecenum = torso; +} static-var Stunned; ExecuteRestoreAfterDelay() @@ -294,12 +300,12 @@ ExecuteRestoreAfterDelay() if (Stunned) { return (1); } - turn aimy1 to y-axis <0.0> speed <90.021978>; - turn aimx1 to x-axis <0.0> speed <90.010989>; + turn aimy1 to y-axis <0.000000> speed <90.021978>; + turn aimx1 to x-axis <0.000000> speed <90.010989>; wait-for-turn aimy1 around y-axis; wait-for-turn aimx1 around x-axis; - wpn1_lasthead = 0xbadface; - isAiming = FALSE; + wpn1_lasthead = 1000000; + bAiming = FALSE; } SetStunned(State) { @@ -310,32 +316,34 @@ SetStunned(State) } RestoreAfterDelay() { - set-signal-mask SIGNAL_AIM1; + set-signal-mask SIG_AIM; sleep restore_delay; start-script ExecuteRestoreAfterDelay(); } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = aimpoint; + piecenum = aimpoint; } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = lbarrel; + piecenum = lbarrel; } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - isAiming = TRUE; - + signal SIG_AIM; + bAiming = TRUE; + while( !Static_Var_3 ) + { + return(0); + } turn aimy1 to y-axis heading speed <130.027473>; turn aimx1 to x-axis <-90> - pitch speed <180.021978>; - - if ((wpn1_lasthead == 0xbadface) OR ABSOLUTE_GREATER_THAN(WRAPDELTA(heading - wpn1_lasthead), <7>)) + if (((get ABS(wpn1_lasthead - heading)) > 65536) OR(((get ABS(wpn1_lasthead - heading)) > 1300) AND ((get ABS(wpn1_lasthead - heading)) < 64236))) { - wpn1_lasthead = 0xbadface; + wpn1_lasthead = 1000000; wait-for-turn aimy1 around y-axis; wait-for-turn aimx1 around x-axis; } @@ -344,21 +352,21 @@ AimWeapon1(heading, pitch) return (1); } -FireWeapon1() +FirePrimary() { - move lbarrel to y-axis [1.500000] speed [25.0]; + move lbarrel to y-axis [1.500000] speed [25.000000]; turn torso to y-axis <7.5> speed <75>; wait-for-move lbarrel along y-axis; emit-sfx 1024 + 0 from exhaust; - move lbarrel to y-axis [0.0] speed [0.750000]; + move lbarrel to y-axis [0.000000] speed [0.750000]; turn torso to y-axis <0> speed <7.5>; } // For C:\Users\PtaQ\Documents\GitHub\BAR\support\Animation_sources\death_anims\armrock_anim_death.blend Created by https://github.com/Beherith/Skeletor_S3O V((0, 3, 9)) //use call-script DeathAnim(); from Killed() DeathAnim() {// For C:\Users\PtaQ\Documents\GitHub\BAR\support\Animation_sources\death_anims\armrock_anim_death.blend Created by https://github.com/Beherith/Skeletor_S3O V((0, 3, 9)) - signal SIGNAL_MOVE; - signal SIGNAL_AIM1; + signal SIG_WALK; + signal SIG_AIM; call-script StopWalking(); turn aimy1 to y-axis <0> speed <120>; turn aimx1 to x-axis <0> speed <120>; @@ -761,6 +769,14 @@ Killed(severity, corpsetype) explode rshield type FALL | NOHEATCLOUD; explode lmisspod type FIRE | SMOKE | FALL | NOHEATCLOUD; explode lbarrel type FALL | NOHEATCLOUD; + //explode exhaust type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rthigh type FALL | NOHEATCLOUD; + //explode rleg type FALL | NOHEATCLOUD; + //explode rfoot type FALL | NOHEATCLOUD; + //explode lthigh type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lleg type FALL | NOHEATCLOUD; + //explode lfoot type FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) @@ -771,6 +787,14 @@ Killed(severity, corpsetype) explode rshield type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; explode lmisspod type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode lbarrel type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode exhaust type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rthigh type SMOKE | FALL | NOHEATCLOUD; + //explode rleg type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rfoot type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lthigh type SMOKE | FALL | NOHEATCLOUD; + //explode lleg type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode lfoot type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; @@ -779,5 +803,13 @@ Killed(severity, corpsetype) explode rshield type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode lmisspod type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode lbarrel type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode exhaust type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rthigh type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode rleg type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rfoot type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode lthigh type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode lleg type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode lfoot type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/armrock.cob b/scripts/Units/armrock.cob index dde8d1ce6f78d80321fd20220ee913240936d305..e52004581a957079b55905b2ec9b6d62fd730f2d 100644 GIT binary patch literal 21087 zcmd5^36vJaweA_Vh#fV{l-^C2*$vLk*MRnKR@BON}y89n1 zM^SVlS_196Z=G&1h?wTXIGP24Zz=_%tQWgK0k`LGzItz$_;E{Lh8 zamul5jv;^afN^q+L(w3Qspn;k=1OyssOs~KF~t*m@|4Aan&418s~zi;){K1gfwo<} zOT0gB9KJpS#iZpu4j<6}h6KgVHwO+xz;0E??D>AbAizhu@F~VeTv4Nj9^~uTI<9Z&+nP59QT{JGahH+e8G zUH&7k&k+$X`PA-vHm5$%-{URgcIWK(aga~_ z8-7*1zGIH_`W$ve-~O3#ebG%$R%m0Ghp?0H>(qtB2FebjV!1hLZt4*||8ichwkQLzxqH?)(_Q+=qL8ZkY!j zv|Fb`JQus)_k4El%!E*BjN;#zz}z{uUYxHF13((p5}2rS6AUng9z(Uo_}C*2l<-dtTc`au-+7bQKoyR zIL6+_o{zp-Y!Cd_=oX9(5R6rX?a+PU>b-G&ou$?m+szus`L5t3fq&%VDdQN^H_rE? z_(wj?Wfava%aO!UwDs_?t(d3?+oAiy6;H?4$+OqQu{|QaTFk$$-F&}RC7;%#JpX8u$B|-t zD*~fTpKX<6KIDJqeX!WR?ZtTPXP*qih}~j4wC8aSf{!WSLA#IEiO;FoUwgY2+m#2z zbM#Nik;QiQHF3Vz44>vQDv4vKs4nat#-7JHk2oy0Lwg>}r*?1I6pwfNRv)ijw+Egd zk7GI3eCF9=ySzLTvpksRN5;qXIU@8~Z1?LDukTr3c>jn+9@KZ!d2xMbkO+Mi+YPY4 zNyT=a;nTd7=O5X5&~6j-rTQvZx9>!OD6{rDBO~+c)h~Ta7TeS7$LGN5G>n)k!nUp_ z7TYbi$8$Md?iUu@D+0NkCi`WJ?He-UaXcgYO!8?igV;XI{d`kdpDM!k7Q?4@^LNMZ z`MYHwRVVG%w}(hp63gq}VTBF%HF_Yy9E5HzK){h6l{m~fei>Q@L6o{ z+#9dqz-FG$V!M5I+-_6Jk;V41=5ao-xo7x;u>C9c+j=jz*bddEFBuRoJFQ{Yg>md$ z&qV=z7TeF%h(FiVmi@cMb|}yKTw}3a-hS4u+i%v3*JF=7{}8i0h?nDWk&1)+0@$up zGtT$o4{>al=byLg?KZ(hsoe_J?fru7YD?nlXEWIcT5RW}#qZ^(%0AGp+o7C?*6k&o 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 diff --git a/scripts/Units/armroy.bos b/scripts/Units/armroy.bos index 7cb9cf26d46..b92e3a57b9c 100644 --- a/scripts/Units/armroy.bos +++ b/scripts/Units/armroy.bos @@ -1,26 +1,94 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece flare1, flare2, base, turret, sleeve1, sleeve2, depthturret, depthflare, barrel1, barrel2, ground, wake, bow; -static-var gun_1, restore_delay, aimDir1, aimDir2; +static-var gun_1, restore_delay, aimDir, Static_Var_4, Static_Var_5, oldHead; // Signal definitions -#define SIGNAL_AIM1 256 +#define SIG_AIM 2 +#define SIG_MOVE 4 +#define SIG_ROCK 8 -#define RB_MASS 30 -#define RB_LENGTH 7 -#define RB_WIDTH 3 -#define RB_PITCH_SPEED 200 -#define RB_PITCH_ACCELERATION 10 -#define RB_ROLL_ACCELERATION 8 -#define RB_RECOIL_ENERGY_1 700 -#define RB_RECOIL_ENERGY_2 250 -#define RB_BOWSPLASH_PIECE bow +#define BASEPIECE base +#define HITSPEED <25.0> +//how 'heavy' the unit is, on a scale of 1-10 +#define UNITSIZE 5 +#define MAXTILT 200 -#include "../bar_ships_common.h" +#include "unit_hitbyweaponid_and_smoke.h" +ProjXPW(Func_Var_1, Func_Var_2) +{ + if( Func_Var_2 < -21840 ) + { + Static_Var_4 = Func_Var_1 * ( Func_Var_2 + 32760 ) / 10920; + } + else if( Func_Var_2 > 21840 ) + { + Static_Var_4 = Func_Var_1 * ( 32760 - Func_Var_2 ) / 10920; + } + else if( Func_Var_2 < -10920 ) + { + Static_Var_4 = 0 - Func_Var_1; + } + else if( Func_Var_2 > 10920 ) + { + Static_Var_4 = Func_Var_1; + } + else + { + Static_Var_4 = Func_Var_1 * Func_Var_2 / 10920; + } +} + +RockZ(Func_Var_1, Func_Var_2) +{ + signal SIG_ROCK; + set-signal-mask SIG_ROCK; + call-script ProjXPW(10920 / Func_Var_2,Func_Var_1); + Static_Var_5 = Static_Var_5 + Static_Var_4; + Static_Var_4 = get ABS(Static_Var_5); + while( Static_Var_4 > 91 ) + { + turn base to z-axis Static_Var_5 speed Static_Var_4 * <0.016484>; + wait-for-turn base around z-axis; + Static_Var_5 = Static_Var_5 * -1 / 2; + Static_Var_4 = get ABS(Static_Var_5); + } + turn base to z-axis <0.000000> speed <1.5>; +} + +SetDirection(heading) +{ + var spd; + spd = (get ABS(oldHead) - get ABS(heading)) / 2; + turn ground to y-axis heading speed spd; + turn base to y-axis 0-heading speed spd; + oldHead = heading; +} + +RockOnWaves() +{ + var rockDir, rockAng, rockSpeed; + rockDir = <-0.1>; + rockAng = <-0.1>; + while( TRUE ) + { + while( get ABS(rockAng) < <1.31> ) + { + rockSpeed = <1.45> - get ABS(rockAng); + turn ground to x-axis rockAng speed rockSpeed*4; + wait-for-turn ground around x-axis; + rockAng = rockAng + rockDir; + } + rockDir = 0 - rockDir; + rockAng = rockAng + rockDir + rockDir; + } +} Create() { @@ -34,14 +102,17 @@ Create() hide flare2; gun_1 = flare1; restore_delay = 3000; - start-script InitRockBoat(); - SLEEP_UNTIL_UNITFINISHED; - start-script BoatPhysics(); + Static_Var_5 = 0; + while( get BUILD_PERCENT_LEFT ) + { + sleep 500; + } + start-script RockOnWaves(); } -SetMaxReloadTime(reloadMS) +SetMaxReloadTime(Func_Var_1) { - restore_delay = reloadMS * 2; + restore_delay = Func_Var_1 * 2; } static-var Stunned; @@ -51,11 +122,11 @@ ExecuteRestoreAfterDelay() return (1); } set-signal-mask 0; - turn turret to y-axis <0.0> speed <35.0>; - turn sleeve1 to x-axis <0.0> speed <15.0>; - turn sleeve2 to x-axis <0.0> speed <15.0>; + turn turret to y-axis <0.000000> speed <35.000000>; + turn sleeve1 to x-axis <0.000000> speed <15.000000>; + turn sleeve2 to x-axis <0.000000> speed <15.000000>; - turn depthturret to y-axis <0.0> speed <35.0>; + turn depthturret to y-axis <0.000000> speed <35.000000>; } SetStunned(State) { @@ -70,85 +141,113 @@ RestoreAfterDelay() start-script ExecuteRestoreAfterDelay(); } +waveSplash() +{ + while( TRUE ) + { + turn base to x-axis <-3.0> speed <3.0>; + move base to y-axis [0.32] speed [0.32]; + wait-for-turn base around x-axis; + turn base to x-axis <0.0> speed <3.0>; + move base to y-axis [0.0] speed [0.32]; + wait-for-turn base around x-axis; + } +} -StartMoving(reversing) +StartMoving() { + signal SIG_MOVE; + set-signal-mask SIG_MOVE; + var waketime; + start-script waveSplash(); + var bowtime; + bowtime = 0; + while( TRUE ) + { + emit-sfx 1024 + 1 from wake; + if (bowtime) emit-sfx 1024 + 2 from bow; + bowtime = !bowtime; + waketime = (get CURRENT_SPEED) * 100 / get MAX_SPEED; + if( waketime < 50 ) waketime = 50; + sleep 12000 / waketime; + } } StopMoving() { + signal SIG_MOVE; + turn base to x-axis <0.0> speed <3.0>; + move base to y-axis [0.0] speed [0.32]; } -AimWeapon2(heading, pitch) +AimSecondary(heading, pitch) { - aimDir2 = heading; - turn depthturret to y-axis heading speed <180.0>; + + + turn depthturret to y-axis heading speed <180.000000>; wait-for-turn depthturret around y-axis; return (1); } -FireWeapon2() -{ - sleep 100; - RB_RECOILBOAT(aimDir2, RB_RECOIL_ENERGY_2); -} - - -AimFromWeapon2(pieceIndex) +AimFromSecondary(piecenum) { - pieceIndex = base; + piecenum = base; } -QueryWeapon2(pieceIndex) +QuerySecondary(piecenum) { - pieceIndex = depthflare; + piecenum = depthflare; } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; - turn turret to y-axis heading speed <100.0>; - turn sleeve1 to x-axis RB_AIMPITCHCORRECTION(heading) - pitch speed <40.0>; - turn sleeve2 to x-axis RB_AIMPITCHCORRECTION(heading) - pitch speed <40.0>; + signal SIG_AIM; + set-signal-mask SIG_AIM; + turn turret to y-axis heading speed <100.000000>; + turn sleeve1 to x-axis <0.000000> - pitch speed <40.000000>; + turn sleeve2 to x-axis <0.000000> - pitch speed <40.000000>; wait-for-turn turret around y-axis; wait-for-turn sleeve1 around x-axis; - aimDir1 = heading; + wait-for-turn sleeve2 around x-axis; + aimDir = heading; start-script RestoreAfterDelay(); return (1); } -FireWeapon1() +FirePrimary() { - RB_RECOILBOAT(aimDir1, RB_RECOIL_ENERGY_1); + start-script RockZ(-9,aimDir); if( gun_1 ) { emit-sfx 1024 + 0 from flare2; - move barrel2 to z-axis [-3.0] speed [500.0]; + move barrel2 to z-axis [-3.000000] speed [500.000000]; wait-for-move barrel2 along z-axis; - move barrel2 to z-axis [0.0] speed [3.0]; + move barrel2 to z-axis [0.000000] speed [3.000000]; } else { emit-sfx 1024 + 0 from flare1; - move barrel1 to z-axis [-3.0] speed [500.0]; + move barrel1 to z-axis [-3.000000] speed [500.000000]; wait-for-move barrel1 along z-axis; - move barrel1 to z-axis [0.0] speed [3.0]; + move barrel1 to z-axis [0.000000] speed [3.000000]; } gun_1 = !gun_1; } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = turret; + piecenum = turret; } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = flare1 + gun_1; + piecenum = flare1 + gun_1; } - +SweetSpot(piecenum) +{ + piecenum = base; +} Killed(severity, corpsetype) { @@ -162,6 +261,10 @@ Killed(severity, corpsetype) explode turret type BITMAPONLY | NOHEATCLOUD; explode sleeve2 type BITMAPONLY | NOHEATCLOUD; explode barrel2 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare2 type BITMAPONLY | NOHEATCLOUD; + //explode sleeve1 type BITMAPONLY | NOHEATCLOUD; + //explode barrel1 type BITMAPONLY | NOHEATCLOUD; + //explode flare1 type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } if( severity <= 50 ) @@ -173,6 +276,10 @@ Killed(severity, corpsetype) explode turret type FIRE | SMOKE | FALL | NOHEATCLOUD; explode sleeve2 type FALL | NOHEATCLOUD; explode barrel2 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare2 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode sleeve1 type FALL | NOHEATCLOUD; + //explode barrel1 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare1 type FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) @@ -185,6 +292,10 @@ Killed(severity, corpsetype) explode turret type FIRE | SMOKE | FALL | NOHEATCLOUD; explode sleeve2 type FIRE | SMOKE | FALL | NOHEATCLOUD; explode barrel2 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare2 type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode sleeve1 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode barrel1 type SMOKE | FALL | NOHEATCLOUD; + //explode flare1 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; @@ -195,5 +306,9 @@ Killed(severity, corpsetype) explode turret type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode sleeve2 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode barrel2 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode flare2 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode sleeve1 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode barrel1 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode flare1 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/armroy.cob b/scripts/Units/armroy.cob index 1bb82aca2c8d8b53f4bf8747eb1a2f7e62ab8bd9..41ca61d0377158c36072fec84005815ab958225a 100644 GIT binary patch literal 5969 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 accelerate <8>; + turn wingl to z-axis <60> speed <60>; + turn wingr to z-axis <-60> speed <60>; + turn finl to z-axis <60> speed <60>; + turn finr to z-axis <-60> speed <60>; + + wait-for-turn wingl around z-axis; + return (0); + // Build by COBBLER Ver4.0 Copyright @1998 DIGITAL CONCEPT SOFTWARE (MANU@inext.fr) / http://www.annihilationcenter.com/DCS/ +} + +Stop() +{ + + stop-spin fan around x-axis decelerate <8>; + turn wingl to z-axis <0> speed <60>; + turn wingr to z-axis <0> speed <60>; + turn finl to z-axis <0> speed <60>; + turn finr to z-axis <0> speed <60>; + + wait-for-turn wingl around z-axis; + return (0); +} #define BASEPIECE base #define HITSPEED <105.0> @@ -13,61 +40,178 @@ static-var gun_1; #define UNITSIZE 2 #define MAXTILT 100 -#include "../unit_hitbyweaponid_and_smoke.h" +#include "unit_hitbyweaponid_and_smoke.h" #define IDLEHOVERSCALE 32 #define IDLEHOVERSPEED 60 #define IDLEBASEPIECE base #include "idlehover.h" + +InitState() +{ + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; + return (0); +} + +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + call-script Go(); + currentstate = 0; + } + if( statechg_DesiredState == 1 ) + { + call-script Stop(); + currentstate = 1; + } + } + statechg_StateChanging = FALSE; + return (0); +} + Create() { hide flare1; hide flare2; + Static_Var_1 = 0; gun_1 = base; - SLEEP_UNTIL_UNITFINISHED; + bMoving = FALSE; + call-script InitState(); + while( get BUILD_PERCENT_LEFT ) + { + sleep 400; + } start-script IdleHover(); } -Activate() +static-var Stunned; +ExecuteRestoreAfterDelay() { - spin fan around x-axis speed <200> accelerate <8>; - turn wingl to z-axis <60> speed <60>; - turn wingr to z-axis <-60> speed <60>; - turn finl to z-axis <60> speed <60>; - turn finr to z-axis <-60> speed <60>; + if (Stunned) { + return (1); + } + set-signal-mask 0; +} +SetStunned(State) +{ + Stunned = State; + if (!Stunned) { + start-script ExecuteRestoreAfterDelay(); + } +} +RestoreAfterDelay() +{ + sleep 0; + start-script ExecuteRestoreAfterDelay(); +} + +MotionControl() +{ + +} +Activate() +{ + start-script RequestState(0); + return (0); } Deactivate() { - stop-spin fan around x-axis decelerate <8>; - turn wingl to z-axis <0> speed <60>; - turn wingr to z-axis <0> speed <60>; - turn finl to z-axis <0> speed <60>; - turn finr to z-axis <0> speed <60>; + start-script RequestState(1); + return (0); } -AimWeapon1(heading, pitch) +setSFXoccupy(Func_Var_1) +{ + Static_Var_1 = Func_Var_1; + return (0); +} + +StartMoving() +{ + bMoving = TRUE; + return (0); +} + +StopMoving() +{ + bMoving = FALSE; + return (0); +} + +AimPrimary(heading, pitch) { return (1); } -FireWeapon1() +FirePrimary() { - gun_1 = !gun_1; + + if( gun_1 == 0 ) + { + show flare1; + sleep 150; + hide flare1; + gun_1 = 1; + // start-script RestoreAfterDelay(); + return (0); + } + if( gun_1 == 1 ) + { + show flare2; + sleep 150; + hide flare2; + gun_1 = 0; + //start-script RestoreAfterDelay(); + return (0); + } } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = flare1 + gun_1; + if( gun_1 == 0 ) + { + piecenum = flare1; + } + if( gun_1 == 1 ) + { + piecenum = flare2; + } + return (0); } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = flare1 + gun_1; + if( gun_1 == 0 ) + { + piecenum = flare1; + } + if( gun_1 == 1 ) + { + piecenum = flare2; + } + return (0); } +SweetSpot(piecenum) +{ + piecenum = base; + return (0); +} Killed(severity, corpsetype) { diff --git a/scripts/Units/armsaber.cob b/scripts/Units/armsaber.cob index 0e2868505ecf56826c96d2389026df07ba90b982..fc6d64a2cc7bcfc7e57c0d5c711a40dd18ab127f 100644 GIT binary patch literal 5889 zcmdUzO=w(I6vuC;X{xruQ>wL#>g+^maqOxKk?DuEtrW%vX;+eI@~VT=d2upn8xYLK zrP7t+2iS#J5fnjC+=$YJy68qL=tkWrL5kH)cP0LR_uezPnY^i)E`+9>oO{pr{hxE+ zd+C^S?mp3NqMaL@+bqt{Z(E$J-{ahQ(GKmu5?_~9vQK0Kue~N=&1D-g)(^4|9$x0I z>aul`R|a&)e_UEZhkQ_nKf3iLI`bQgIz?X*Ut;GPfzhuqQYJr0xc`e7V z{KM=l9vn=-n^>F?%>EMV=c$f)j8TCD9Nk_P5xZ}qtm$Q%xo9_5t7N(gnpgQn?Ai8X z#~yv3$iN<(G}kT!!p+q}Z0hXSkf}cX!^C>N81?Hg{5$l<)yK0dQC=C4e;nmv&hSWQ zkX(166BgieT}xzsesnG>;GD=XbB!=lo0JC`>H1h?<6%A}qi$vbj?MBpG^g6HnA6y& zv@Tm)4r+Txj?^^+N7M$#erajxW!JFz zlS90RxU963Kz77P&u8^8KXzth3y;g5I%a|#pVW3xp4xMEtDPpKb!gj`dmOKl@?+ z_?VsH_gJ(yZqFgJvl+B`^H{`r_(DO*g^b$G#?=GH68m}c@3<;=G@SQ-6k3C)&u7o8 z`m&$D(^fI^M8BtU3T5(AI zeBA2FcZlgn#Ub@e;~Ea89~FlmG}D~3k3+1NbNA0*3+HF=>(-wBnICrs+`(;8LxJ4S zMmjT^6MN2|Ah@3SJiFggK=Admsk`=u_BJnl++!Tvgl2daYnj^lc`C6pd|W-`@$*q) zr?fsEIF{xu=_7Wl@j2c43q70_GeQqyth~r51jk=H16%$jcNLhqc(Ir zzdqOD=n31w7=!Wg!IwOP&v*0f>t#n>ZZfA{PXJuiH%a_4z2!*#e9T7h z`y={!nS2ck^J9iC%EsbR<0?!h_4XmJxVr-7fw2_`?9W@Qc@O2K+^UadhNV+nAFfWUZeVK06w~+AQ>}j9uyX-6&G(xY*{W?ME zN$fu|a+7DJ|H_#DoN@kMjWKO*(wHVAO<7E8A6Dy|ic3Ar2(#>CXm53;HM|#X$!E4H zwl~W2=?HngTtgnqJFJd$4zS(E!Kz_Kx9Vad<7{?+*;loPFNnKIy(hAb{d-xJXi#Uk zm+8P0dji1y^I0)jhv#8fFGz2>{JcwFm1r=RJxj`Tg3H^N>8y`sI)8rU3q1~hyDF5A z<^Lv%c(o#4#Jbh+8U=sD(Xd_sj5r5|W0~$oI8G5G;&>_INS<2_M?1g25OI#zGSi0X zD1ES8#z)OL*bnZ~|AG0<*1MK_f3vX-|C{wUKjUdHxC`8m!DrPV{+K-^YKT4({Uh2c zqjwebL(x^y-753}(IcYWk?P_HMGet0(X*l{5%0naqOV2YiTHofi=uBumqovbu86LQ z+`Z1-DcU01DcUVMEIKY~irS)i(JP{JqPImCM4yQ+iY|#Ri+&dUD*9dYr|7Ean&`Ud z$-+(aiWzsX)!RFNEN{*f9XD~Rcp-nL)9R(tL(}fibUQy-oX)%Mkdza>W-oU~^B3px z*|^!)&5=EEHlLd7V2@ DTOX)i literal 4107 zcmcJSy^CB`7{<@e%uZB9uXYy7V56wW-BcDLvoVB339Ja3GP9YxVaV+4GFhWyp~a>U zL97HpB!!4*p%FX(0ksr^Vj-dyu@D!u&}w{s=bmTg>@ZQ+kX_zA?|DC;_v7A~ZG{kS z72PEIuo=R#PJX_8?V=HlLTE@QsPV*xdsNAWJ39Q0Bgc#_anOH` zQ@2?(%37A|h!Kh!&k?aRjKYz{h&fVCCzBmA$HecwC-!5Fb(GE6ljtuDp%Y>a#)gk` zl20LHor`^E{@773zPn;MFX|))y>ZO>GnDm=Y%9}$wasntr)KwlRZ4PtPK$7Z;VK5H z7u3u=LQ&7ezMP?4iZy+3=M2|;&lc%$b*=2AdqXeS*}bH1ao3(w1FUU-otNkK)Nbr7 z&3;U?IJ0>5ez60{ZqXTcPJG;zj%(-y@0;Vtew3-lvZvSNe^7vl^{B3#pCV_EWXro8 zOq|nvspl^!pk=n@{=;N4;q1uAabS^!ZXJ(%+*BB0_VarW_foyrFFBdRykFc&J>jVN zLI1E$e7GMZZtfT3c4qI;X}nTg%Cnbhi-}T?$T^P@4Dp?F9kqFHbBqUxoBQRp#XWGZ zRGatsAanDs5trHzIyd(-$4G7eHSSlMgXfdi#w;x7-RkFr&j{pkr*h2NFMlqq<6PG7 zx{&~4&wGkzphG+u)xl;XzX2T$v*2d^`KzteZb*yi8uE~Xxy1VrldOBAT@ zT(M8dM@Nj0|Hn$eS-vh=8R~h6MfUy!vookZ!n$A9ow}m;x^&3rb=aUI_q@)2%*8sf z`*4NsVm#6A8hETDrsEo`b&K#=w+N3vcj*Z|U^dJ)`dnHr@_9rVv+KxKHq38oTj;%8 z&Sv+2ZHet?kQ{drs8fFzxnIQ@C%M4O{Sr3Cq3PcE?!EFIyx7036MKJ;u-?zR@ANW{ z@19#vez3Z4IqvxVC*gi3;f`~=fw*0laqkKrbsD$t|AhMtJ_+}3!cDvz+3$DADV)ab zI*i-;dECtAda*h7wRXXJWAokE-b~o%u_5L?d0F(k=)4?W6I~Wv5q&56QS__mPZ9s$ zZivRBmqo9N-VnVddRO$3=rhrmqHjdsi+&RQBKl4Ahv+X6pCmj9#|Jw{UVOIdZEuZE z^z&Od+S}}%t@=-IZk?;biTI{YXLbe`V2)Njv#W#6I?_rwHW*jt zB|bLZnyQ|9t{SI|E8)q(a9H)jdhdJ{o*#_P4&&c(*cgn4{1G?ojjNUVI2<;5qwqI_ CsvFV( diff --git a/scripts/Units/armsam.bos b/scripts/Units/armsam.bos index 7e69c269b49..eb95bfe1069 100644 --- a/scripts/Units/armsam.bos +++ b/scripts/Units/armsam.bos @@ -1,41 +1,36 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece flare1, flare2, base, turret, lwheel,rwheel, mlauncher; static-var restore_delay, gun_1; // Signal definitions -#define SIGNAL_MOVE 1 -#define SIGNAL_AIM1 256 +#define SIG_AIM 4 #define BASEPIECE base #define HITSPEED <75.0> //how 'heavy' the unit is, on a scale of 1-10 #define UNITSIZE 1 #define MAXTILT 100 -#define RECOIL_POWER 5000 -#include "../unit_hitbyweaponid_and_smoke.h" - -#define TB_BASE base -#define TB_TURNRATE <15.0> -#define TB_TILT_X <0.10> -#define TB_BANK_Z <0.10> // Do not define this if you dont want banking -#include "../tilt_bank_mobileunit.h" +#include "unit_hitbyweaponid_and_smoke.h" Create() { + hide flare1; + hide flare2; hide flare1; hide flare2; gun_1 = flare1; restore_delay = 3000; - call-script TB_Init(); } -SetMaxReloadTime(reloadMS) +SetMaxReloadTime(Func_Var_1) { - restore_delay = reloadMS * 2; + restore_delay = Func_Var_1 * 2; } static-var Stunned; @@ -44,7 +39,7 @@ ExecuteRestoreAfterDelay() if (Stunned) { return (1); } - turn turret to y-axis <0.0> speed <90.021978>; + turn turret to y-axis <0.000000> speed <90.021978>; } SetStunned(State) { @@ -59,49 +54,59 @@ RestoreAfterDelay() start-script ExecuteRestoreAfterDelay(); } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; turn turret to y-axis heading speed <250.060440>; wait-for-turn turret around y-axis; start-script RestoreAfterDelay(); return (1); } -FireWeapon1() +FirePrimary() { + if( gun_1 == 0 ) + { + show flare1; + sleep 150; + hide flare1; + } + if( gun_1 == 1 ) + { + show flare2; + sleep 150; + hide flare2; + } gun_1 = !gun_1; return (0); } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = mlauncher; + piecenum = mlauncher; } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = gun_1; + piecenum = gun_1; } - -StartMoving(reversing) +SweetSpot(piecenum) +{ + piecenum = base; +} +StartMoving() { spin lwheel around x-axis speed <150> accelerate <15>; spin rwheel around x-axis speed <150> accelerate <15>; - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; - START_TILTBANK; } StopMoving() { stop-spin rwheel around x-axis; stop-spin lwheel around x-axis; - signal SIGNAL_MOVE; - STOP_TILTBANK; } Killed(severity, corpsetype) { @@ -110,6 +115,8 @@ Killed(severity, corpsetype) corpsetype = 1 ; explode base type BITMAPONLY | NOHEATCLOUD; explode turret type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare1 type BITMAPONLY | NOHEATCLOUD; + //explode flare2 type BITMAPONLY | NOHEATCLOUD; explode rwheel type BITMAPONLY | NOHEATCLOUD; explode lwheel type BITMAPONLY | NOHEATCLOUD; return(corpsetype); @@ -119,6 +126,8 @@ Killed(severity, corpsetype) corpsetype = 2 ; explode base type BITMAPONLY | NOHEATCLOUD; explode turret type FALL | NOHEATCLOUD; + //explode flare1 type FALL | NOHEATCLOUD; + //explode flare2 type FIRE | SMOKE | FALL | NOHEATCLOUD; explode rwheel type FIRE | SMOKE | FALL | NOHEATCLOUD; explode lwheel type FALL | NOHEATCLOUD; return(corpsetype); @@ -128,6 +137,8 @@ Killed(severity, corpsetype) corpsetype = 3 ; explode base type FIRE | SMOKE | FALL | NOHEATCLOUD; explode turret type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare1 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare2 type FIRE | SMOKE | FALL | NOHEATCLOUD; explode rwheel type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode lwheel type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); @@ -135,6 +146,8 @@ Killed(severity, corpsetype) corpsetype = 3 ; explode base type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode turret type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare1 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare2 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode rwheel type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode lwheel type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; return corpsetype; diff --git a/scripts/Units/armsam.cob b/scripts/Units/armsam.cob index 7234b3d28b08bd6ee95b7d48862462ec756a12fd..b93cc6c1fe9db5649bbfd095a0e0bd82509b5f82 100644 GIT binary patch literal 2939 zcmb_dJ!lj`6n?oR7mWxjSZKFuC0d*Tv6D;GV35d}i^f7EYi^qh3`>@C3T6__1Rop4wMk# zZQN_0x$NZk^LP;G*k}5L^+u>bkEG=ClWT`Z1djO8Md$n2+xzJF-OWMD#ptQm7rOM9 zy&l5y4DXuuXAf=Y2k*}-ELq>)74*bh@ zcxVgj$gF*3@N(c5(4lKjU#eM)cJ5bqxjpr2*STvw>h0Y^j~UzT%kz;7&;HftvGs9w zo3k9`j>YS;^tgb2;86Dl2X_^nb!Y^7Qiw<6JHmchbjc&M=NTjT7`I zoGH_5Pg$>st-d$hhjz`ek)8gWeJ?w0ukrn*e6awhlDNKN*~`{zZuGN!%6L2N!o{l2 z&c^4nI@~FpV|YLJ(-^zHy+L!BmpvkH?O%*N^~;bli|<7=)cFRH1Z_LKjcZ#Qe%&$l z9>5;^m}MWsd^`jFV=tE>wHEV{Gx=~nA%FV~^ZdVf{@VBd;m_O~@!ZVWlz*>$|KdN# zGkN}pL7ZIJr?CH<;lZ;rhe~@%{46#zqpikkAGR9b-K$>x*lKQ#Q@NeJA#dK-?z^ABG;1J bM)G!+nOquoZy3{%%!y_rX}9KXm`r{HM^frG literal 3366 zcmai0O=whC6h4`ZGo{w{*&k4-Ft~9eG7+TPOiZOg1L-88gu@J1KOPO^b^{11+TAckVrt>#Ji1j`!YkzVn@*d+sw; z5qTX_hx}6UE4H$_TjV>)Cgd>AZ@z+m8kHoLiKLS3CAd*dWVx0QLS2Wtg<8UWm3!E^ zZ*kw;rPzbmR-r>k^`S`?wr#{uKvivej3l*WQb8in=$qC$%S*gEU0*vfSuHUqTtr z*5~_9;$FNzajciVH?ZaU30872zHydUY5F@dETB7LV+{RSv-Q3OBV+Px{VLbY95x6D zycwY~L|+@ogJu?t(~(T;R+?}%aU zajkYY@oF`(w_k+b9tfPY+5E6l#^n64A1ot|Po2#ZZN&RK^6yY*Y|OWSwAQ~lII}M{ zbNU`je&iy*ayC5w#&tMiu9?%*E#w9t?l-Rk958VXdatnC%A9RBlS9~tn6z6h%u8|0 z{=0P*2gbPf^0PVriQ(3}jJ_G>YxiRLQ?Gdi&d*DnjL#TlPWHuo$w?04ma+0JbA}EC zE~@lxE{mU4tgM50n&@xm`}qHeXX>Sa_oka|ti5r@rimPSM|i{LXS~F+&KiN3ub)Cb zj76K`rXz0jOY49+=HR?qJjNj3i1)6)i(g5KZ^%nn_>29CRVDi}24inR{m8W*^5gzv zzkl?-@40eCxuTn+yvdJo&>y+1R_364`b2T< zY;o;ej?0|O+=d;;{bh)?6E|T;Ab6tk08&Sj_d#w!?m>QlJcK-k{08|OvIVIl@N1A` zkh2i}9exmU1o94K7IF%58gdrWgM13P3HciGE#ybY&ydHE-ywfM{(}4iso?LaI^g;msXw2B=<`%ONafHRhP?u5j7Mt diff --git a/scripts/Units/armsat.bos b/scripts/Units/armsat.bos index 34920ea445b..0b007027dd6 100644 --- a/scripts/Units/armsat.bos +++ b/scripts/Units/armsat.bos @@ -1,11 +1,36 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, wingr, wingl, dish, thrust; + +static-var maxSpeed, currentSpeed; +BarrelRoll() // remember to start-script BarrelRoll(); in Create()! +{ + currentSpeed = (get CURRENT_SPEED); + maxSpeed = (get MAX_SPEED); + + while (TRUE){ + sleep 2000; + currentSpeed = (get CURRENT_SPEED); + //get PRINT(maxSpeed, currentSpeed, Static_Var_1); + if( Rand( 1, 5 ) == 1 AND (maxSpeed < (currentSpeed+100) ) ) + { + turn base to z-axis <240.054945> speed <120.027473>; + wait-for-turn base around z-axis; + turn base to z-axis <120.027473> speed <180.043956>; + wait-for-turn base around z-axis; + turn base to z-axis <0.000000> speed <120.027473>; + } + } +} + Create() { hide thrust; + //start-script BarrelRoll(); } #define BASEPIECE base @@ -14,7 +39,8 @@ Create() #define UNITSIZE 1 #define MAXTILT 100 -#include "../unit_hitbyweaponid_and_smoke.h" +#include "unit_hitbyweaponid_and_smoke.h" + Activate() { @@ -47,7 +73,10 @@ Deactivate() stop-spin dish around y-axis; } - +SweetSpot(piecenum) +{ + piecenum = base; +} Killed(severity, corpsetype) { diff --git a/scripts/Units/armsat.cob b/scripts/Units/armsat.cob index a6969853f6992cb03fdffc470a5d370f7c3be989..64849cc25c32cfad30faadd633a7e2a8d3fd1ddb 100644 GIT binary patch literal 2848 zcmb_eO=}Zj5T0z(v{jH-uwW13{s0fbKVYpzEfonZ(Q9L~+Qrz!bhUW0M}L3^FCGQ0 z-n@D8qUZjC;z>aSMew8;pJ(=+?RJ}#Mh#5o-Dkd@nVolOMMNecV~|IINEw>HD@R1S zkjIcSczzCDa)CQVV_0#OTHs1J5?jb&JQAZ#maFcff8HL)p;mIka#$|%5LZz@%~2o2 zQ{V_wn_o-)%1+#vlP(0c=72GOqmk+tTL41QShR+`rR+?<{=;4WgZwNXQ|$4ZsXB~B zYpShY1rM+w96Z=<}w>phQqJ@27LA zrG9t4A2G|xTqiH3xmnXJIrTOPUhx=YA!vnQVA_U~vr zhYhNAmO+@C-3ju{IOxWwymY_8|D(5;==d$&X~F(|_IOahUwIrVn@4^JS?f4$m<4z0 zCyvCpE9{GR&32TK)YF}sL>>CETs8|=P4^R+?GrV9sG+a}*i$ImXR9Oi-TU%n8V+wI zoiC28v&9SMG3Fx{eCYQLGmaKZAO7ff?MLdTaUT198VBT4ZXRPS{qd;xTi>s@v3}8J zJeaF!%k#z~7+COUKDLYwaW^4@vUUuP5UpDS%TUvINq)|bxN z+l+(F%5o0sOXrTbL4E1`z0Gne_n9I6gy}t|kKLneKK`C_uWiq0;~Ghr?&}Un5F;1H zDSdK-nm^=$9KJ4zIn)1$V9r6oO zJ}NQ+IR-fanTE_Zd%dW=*lD-rLN972kz9_G*$3C7X1B8@OLscAqsCgCgnIMwBq$uNmhIJ))V;yE#}Li literal 2282 zcmb7`Eo>BF5QgV|dL^jEf#MtnaRGyDp$QNW4G^$BdYkq_|I!{19HJ-^B!L7`0S1Wx zfkD-QK!G77m?B6pO;D8gnf<1>ELWOtGM(?6d1vOG+1cirW;QMvlQimPHEEtRhs>@? zRwO5NUzfHS%bHTPte#1kO}8>@>s%6iNAR_qna#BPjIEdOoXLTo^Caiam}5`q*pv+u zKD12_ec0gF>?B{-${G$btINk34F>HlVbqr4BR+VPIfDhW>z`<3^-f_c`@B|G@HwCG zQsSr@)f}m(D+x#4$Vr`}NRJMV&>-A?`{ckL-XaEzIQrI*;-4?0G^*v+`dZUD#TInxe(F4>|6 z7&{N#VoxI$3=gr_w+o!dCEM@gI;aM=ax8e6H2Z(+SACvOcyd*J zd*vjC2RuEM<2+yTRdeEtoDpvmI(4+2Qo#kE&vWMQc~Zw`vqxV(-{gy2!NKR8e8GWS z<($Oul>73zE6(#JU*tqv@|9EVWN4$au{~NgnkKlO_9<$^~Jhl=K z;t#?j>IRQT speed <25.000000>; + turn doorr to z-axis <0.000000> speed <25.000000>; + wait-for-turn doorr around z-axis; +} + + + #define BASEPIECE base #define HITSPEED <105.0> //how 'heavy' the unit is, on a scale of 1-10 #define UNITSIZE 4 #define MAXTILT 100 -#include "../unit_hitbyweaponid_and_smoke.h" +#include "unit_hitbyweaponid_and_smoke.h" + +InitState() +{ + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; +} + +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + call-script Go(); + currentstate = 0; + } + if( statechg_DesiredState == 1 ) + { + call-script Stop(); + currentstate = 1; + } + } + statechg_StateChanging = FALSE; +} + + +MotionControl() +{ + +} Create() { @@ -17,13 +75,19 @@ Create() hide thrustc; hide thrustb; hide thrusta; + Static_Var_1 = 0; + bMoving = FALSE; + call-script InitState(); + start-script MotionControl(); } + Activate() { show thrustc; show thrustb; show thrusta; + start-script RequestState(0); } Deactivate() @@ -31,25 +95,39 @@ Deactivate() hide thrustc; hide thrustb; hide thrusta; + start-script RequestState(1); } -QueryWeapon1(pieceIndex) +setSFXoccupy(Func_Var_1) { - pieceIndex = drop; + Static_Var_1 = Func_Var_1; } -AimWeapon1() +StartMoving() { - turn doorl to z-axis <-90.0> speed <25.0>; - turn doorr to z-axis <90.0> speed <25.0>; + bMoving = TRUE; } -FireWeapon1(){ - sleep 500; - turn doorl to z-axis <0.0> speed <25.0>; - turn doorr to z-axis <0.0> speed <25.0>; +StopMoving() +{ + bMoving = FALSE; } +QueryPrimary(piecenum) +{ + piecenum = drop; +} + +AimPrimary() +{ + turn doorl to z-axis <-90.000000> speed <25.000000>; + turn doorr to z-axis <90.000000> speed <25.000000>; +} + +SweetSpot(piecenum) +{ + piecenum = base; +} Killed(severity, corpsetype) { diff --git a/scripts/Units/armsb.cob b/scripts/Units/armsb.cob index d8c16eeba6b3f1c9375a780833dfe21ec88945c7..5f0080b6b03fba8a3699948be7a8679c61208ec4 100644 GIT binary patch literal 3291 zcmc&$J!n%=6h2AQw4lS&Mcm$^f`|qe!NvZlZPh|F6djW$4-HN7;>$}*whGRoZi;g^ z5fnk3L`1ll!#`N$w2wnj5v% zmpus140C#B#?Wqbjx>F3iQSB+KY1~6&YDZ@h0>fKb+yK@`osJ*A0;^<-^|4`lC$R! zX&pajIHrl`r=)F)3(MUdtE(7YChaR%u)QL`a!;2ux4okWj*i^Z$E|ge3h*X{Bscp^ zd+^X7{?SG6{E4+^==eRk8=1&^&#XS%r|()lgeV{G46+tRTm)Q@pEp=i$6292J0RE8 zQ6raoF7%cWd+`D8w!(|Mw#&*nKWr`YQ}YaQm-T>2*9W^$`9_wE_ko0&WG{Szjw z!G7EvjB)cb#xTnm_`3aRY-+cCNjW+95jd-@pOXVj&sl64Jx|q1aay7 zwXj<4wtJ{riQ@Tix!$^NI!tr Yh`OD)V&$ThRjGwx)G+@?Qj2iB-=m55H2?qr literal 2227 zcmcIlziSjx5T4uH+=*B`tzx%W2!hBZy(AYy@CV|FgKF!7d1*-=wl9XC7(IP z)5N|)oUfrhT~r)xmXmd!o&TPz@1s%mGx71@Ac^=Mj2mMZ%aW{TdVK6Ko;dc)*mWGK zH=vn=?OM)JEsgSx3=8OQu_1=>?Ad1Dgp)PxoyPGdhiw9M7VMetA+CHAi=~!E#rO2$ z$dK3Q%*Oc`YQ6I9Y&M()cXmhpG4I$@_Q0dfoU!c1_Vxpgmd|$6?zS6*)8=#P4s8WC zt3eETQ2QE=e-XCJA#C;(--51N}{XfZPzH#~NyCanlsCnOn7FYMX#QS5tvqtFW zj)eEoc8p`vn@?@XC;`u~***xw3 zuX%FT`{nXbx&18{>t*z9nf4UqHRLnoE2NHjap@)@Cm^SJ#{cT$kZH&aWC3ysat*Q! zDIj+s8<4w@`;bSFr;z86SCF&$VD9$SEM4i}Jl6?tGN1O+<*ak1*T0d;nIcOEnKavj z{1y-MS!&12YgwTgrlgto%4AcrkQbSqFXY{B){&)jHIu>hVr_Mhs$NpvmQKH4bp2-` Joua=Y-vBPvtRDaX diff --git a/scripts/Units/armscab.bos b/scripts/Units/armscab.bos index 1feacae2c53..1a8abbb10a1 100644 --- a/scripts/Units/armscab.bos +++ b/scripts/Units/armscab.bos @@ -1,17 +1,19 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece body, rthigh, lthigh, rbleg, lbleg, rbfoot, lbfoot, rmfoot, lmfoot, rfleg, lfleg, rffoot, lffoot, turret, ldoor, rdoor, flare, rmleg, lmleg, aimy1, unstocked, stocked; -static-var isOpen, isMoving, animSpeed, maxSpeed, animFramesPerKeyframe, missiles_stockpiled; +static-var Static_Var_1, Static_Var_2, bMoving, statechg_DesiredState, statechg_StateChanging, animSpeed, maxSpeed, animFramesPerKeyframe, isAiming, missiles_stockpiled; // Signal definitions -#define SIGNAL_AIM1 256 -#define SIGNAL_MOVE 1 +#define SIG_AIM 2 +#define SIG_WALK 4 Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptasz\Documents\GitHub\support\Animation_sources\armscab_anim_walk.blend - //set-signal-mask SIGNAL_MOVE; - if (isMoving) { //Frame:5 + //set-signal-mask SIG_WALK; + if (bMoving) { //Frame:5 turn lbfoot to x-axis <-16.810781> speed <504.323427> / animSpeed; //delta=16.81 turn lbleg to x-axis <4.239536> speed <127.186080> / animSpeed; //delta=-4.24 turn lffoot to x-axis <24.059106> speed <721.773171> / animSpeed; //delta=-24.06 @@ -28,17 +30,17 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn rthigh to x-axis <7.316307> speed <219.489222> / animSpeed; //delta=-7.32 sleep ((33*animSpeed) -1); } - while(isMoving) { - if (isMoving) { //Frame:9 - move body to y-axis [-0.500000] speed [15.0] / animSpeed; //delta=-0.50 - turn body to x-axis <0.500000> speed <15.0> / animSpeed; //delta=-0.50 + while(bMoving) { + if (bMoving) { //Frame:9 + move body to y-axis [-0.500000] speed [15.000000] / animSpeed; //delta=-0.50 + turn body to x-axis <0.500000> speed <15.000000> / animSpeed; //delta=-0.50 turn lbfoot to x-axis <15.807634> speed <978.552460> / animSpeed; //delta=-32.62 turn lbleg to x-axis <-11.567358> speed <474.206826> / animSpeed; //delta=15.81 turn lffoot to x-axis <36.887649> speed <384.856298> / animSpeed; //delta=-12.83 turn lfleg to x-axis <19.156848> speed <398.386066> / animSpeed; //delta=-13.28 turn lmfoot to x-axis <-36.279612> speed <2139.983644> / animSpeed; //delta=71.33 turn lmleg to x-axis <17.662758> speed <1089.582700> / animSpeed; //delta=-36.32 - turn lthigh to x-axis <-0.0> speed <92.692156> / animSpeed; //delta=-3.09 + turn lthigh to x-axis <-0.000000> speed <92.692156> / animSpeed; //delta=-3.09 turn rbfoot to x-axis <-20.755519> speed <288.909062> / animSpeed; //delta=-9.63 turn rbleg to x-axis <-43.677759> speed <778.901539> / animSpeed; //delta=25.96 turn rffoot to x-axis <-54.201185> speed <752.482897> / animSpeed; //delta=25.08 @@ -47,15 +49,15 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn rmleg to x-axis <9.141675> speed <572.687209> / animSpeed; //delta=-19.09 turn rthigh to x-axis <6.275950> speed <31.210720> / animSpeed; //delta=1.04 - if ( !isOpen){ - turn turret to x-axis <-0.0> speed <81.110861> / animSpeed; //delta=-2.70 - turn turret to z-axis <-0.0> speed <93.617241> / animSpeed; //delta=3.12 + if ( !isAiming){ + turn turret to x-axis <-0.000000> speed <81.110861> / animSpeed; //delta=-2.70 + turn turret to z-axis <-0.000000> speed <93.617241> / animSpeed; //delta=3.12 } sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:13 - move body to y-axis [-1.0] speed [15.0] / animSpeed; //delta=-0.50 - turn body to x-axis <1.0> speed <15.0> / animSpeed; //delta=-0.50 + if (bMoving) { //Frame:13 + move body to y-axis [-1.000000] speed [15.000000] / animSpeed; //delta=-0.50 + turn body to x-axis <1.000000> speed <15.000000> / animSpeed; //delta=-0.50 turn lbfoot to x-axis <38.357359> speed <676.491732> / animSpeed; //delta=-22.55 turn lbleg to x-axis <-15.802425> speed <127.051994> / animSpeed; //delta=4.24 turn lffoot to x-axis <36.093366> speed <23.828481> / animSpeed; //delta=0.79 @@ -71,15 +73,15 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn rmleg to x-axis <32.608682> speed <704.010206> / animSpeed; //delta=-23.47 turn rthigh to x-axis <4.174644> speed <63.039193> / animSpeed; //delta=2.10 - if ( !isOpen){ + if ( !isAiming){ turn turret to x-axis <-2.017011> speed <60.510330> / animSpeed; //delta=2.02 turn turret to z-axis <-1.390131> speed <41.703917> / animSpeed; //delta=1.39 } sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:17 - move body to y-axis [-0.500000] speed [15.0] / animSpeed; //delta=0.50 - turn body to x-axis <0.500000> speed <15.0> / animSpeed; //delta=0.50 + if (bMoving) { //Frame:17 + move body to y-axis [-0.500000] speed [15.000000] / animSpeed; //delta=0.50 + turn body to x-axis <0.500000> speed <15.000000> / animSpeed; //delta=0.50 turn lbfoot to x-axis <-18.520813> speed <1706.345145> / animSpeed; //delta=56.88 turn lbleg to x-axis <0.156567> speed <478.769749> / animSpeed; //delta=-15.96 turn lfleg to x-axis <3.851279> speed <910.464801> / animSpeed; //delta=30.35 @@ -94,15 +96,15 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn rmleg to x-axis <-15.954352> speed <1456.891030> / animSpeed; //delta=48.56 turn rthigh to x-axis <-1.470755> speed <169.361952> / animSpeed; //delta=5.65 - if ( !isOpen){ + if ( !isAiming){ turn turret to x-axis <-4.034022> speed <60.510330> / animSpeed; //delta=2.02 turn turret to z-axis <-2.780261> speed <41.703917> / animSpeed; //delta=1.39 } sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:21 - move body to y-axis [0.0] speed [15.0] / animSpeed; //delta=0.50 - turn body to x-axis <-0.0> speed <15.0> / animSpeed; //delta=0.50 + if (bMoving) { //Frame:21 + move body to y-axis [0.000000] speed [15.000000] / animSpeed; //delta=0.50 + turn body to x-axis <-0.000000> speed <15.000000> / animSpeed; //delta=0.50 turn lbfoot to x-axis <-30.385821> speed <355.950254> / animSpeed; //delta=11.87 turn lbleg to x-axis <-17.714374> speed <536.128226> / animSpeed; //delta=17.87 turn lffoot to x-axis <-29.118421> speed <1956.353633> / animSpeed; //delta=65.21 @@ -118,15 +120,15 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn rmleg to x-axis <-18.656665> speed <81.069394> / animSpeed; //delta=2.70 turn rthigh to x-axis <-3.089739> speed <48.569513> / animSpeed; //delta=1.62 - if ( !isOpen){ + if ( !isAiming){ turn turret to x-axis <-2.017011> speed <60.510330> / animSpeed; //delta=-2.02 turn turret to z-axis <-1.390131> speed <41.703917> / animSpeed; //delta=-1.39 } sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:25 - move body to y-axis [-0.500000] speed [15.0] / animSpeed; //delta=-0.50 - turn body to x-axis <0.500000> speed <15.0> / animSpeed; //delta=-0.50 + if (bMoving) { //Frame:25 + move body to y-axis [-0.500000] speed [15.000000] / animSpeed; //delta=-0.50 + turn body to x-axis <0.500000> speed <15.000000> / animSpeed; //delta=-0.50 turn lbfoot to x-axis <-20.755519> speed <288.909062> / animSpeed; //delta=-9.63 turn lbleg to x-axis <-43.677759> speed <778.901539> / animSpeed; //delta=25.96 turn lffoot to x-axis <-66.776779> speed <1129.750718> / animSpeed; //delta=37.66 @@ -140,17 +142,17 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn rfleg to x-axis <22.917663> speed <511.210512> / animSpeed; //delta=-17.04 turn rmfoot to x-axis <-36.279612> speed <2139.983644> / animSpeed; //delta=71.33 turn rmleg to x-axis <17.662758> speed <1089.582700> / animSpeed; //delta=-36.32 - turn rthigh to x-axis <-0.0> speed <92.692156> / animSpeed; //delta=-3.09 + turn rthigh to x-axis <-0.000000> speed <92.692156> / animSpeed; //delta=-3.09 - if ( !isOpen){ - turn turret to x-axis <-0.0> speed <60.510330> / animSpeed; //delta=-2.02 - turn turret to z-axis <-0.0> speed <41.703917> / animSpeed; //delta=-1.39 + if ( !isAiming){ + turn turret to x-axis <-0.000000> speed <60.510330> / animSpeed; //delta=-2.02 + turn turret to z-axis <-0.000000> speed <41.703917> / animSpeed; //delta=-1.39 } sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:29 - move body to y-axis [-1.0] speed [15.0] / animSpeed; //delta=-0.50 - turn body to x-axis <1.0> speed <15.0> / animSpeed; //delta=-0.50 + if (bMoving) { //Frame:29 + move body to y-axis [-1.000000] speed [15.000000] / animSpeed; //delta=-0.50 + turn body to x-axis <1.000000> speed <15.000000> / animSpeed; //delta=-0.50 turn lbfoot to x-axis <-11.631450> speed <273.722068> / animSpeed; //delta=-9.12 turn lbleg to x-axis <-43.984707> speed <9.208461> / animSpeed; //delta=0.31 turn lffoot to x-axis <-16.474404> speed <1509.071233> / animSpeed; //delta=-50.30 @@ -166,15 +168,15 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn rmleg to x-axis <-0.747325> speed <552.302502> / animSpeed; //delta=18.41 turn rthigh to x-axis <-1.272229> speed <38.166877> / animSpeed; //delta=1.27 - if ( !isOpen){ + if ( !isAiming){ turn turret to x-axis <-2.401554> speed <72.046628> / animSpeed; //delta=2.40 turn turret to z-axis <1.966945> speed <59.008359> / animSpeed; //delta=-1.97 } sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:33 - move body to y-axis [-0.500000] speed [15.0] / animSpeed; //delta=0.50 - turn body to x-axis <0.500000> speed <15.0> / animSpeed; //delta=0.50 + if (bMoving) { //Frame:33 + move body to y-axis [-0.500000] speed [15.000000] / animSpeed; //delta=0.50 + turn body to x-axis <0.500000> speed <15.000000> / animSpeed; //delta=0.50 turn lbfoot to x-axis <-27.895452> speed <487.920062> / animSpeed; //delta=16.26 turn lbleg to x-axis <-10.754211> speed <996.914903> / animSpeed; //delta=-33.23 turn lffoot to x-axis <11.098386> speed <827.183720> / animSpeed; //delta=-27.57 @@ -190,15 +192,15 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn rmleg to x-axis <-12.641930> speed <356.838135> / animSpeed; //delta=11.89 turn rthigh to x-axis <3.235851> speed <135.242407> / animSpeed; //delta=-4.51 - if ( !isOpen){ + if ( !isAiming){ turn turret to x-axis <-4.803109> speed <72.046628> / animSpeed; //delta=2.40 turn turret to z-axis <3.933891> speed <59.008359> / animSpeed; //delta=-1.97 } sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:37 - move body to y-axis [0.0] speed [15.0] / animSpeed; //delta=0.50 - turn body to x-axis <-0.0> speed <15.0> / animSpeed; //delta=0.50 + if (bMoving) { //Frame:37 + move body to y-axis [0.000000] speed [15.000000] / animSpeed; //delta=0.50 + turn body to x-axis <-0.000000> speed <15.000000> / animSpeed; //delta=0.50 turn lbfoot to x-axis <-16.810781> speed <332.540139> / animSpeed; //delta=-11.08 turn lbleg to x-axis <4.239536> speed <449.812396> / animSpeed; //delta=-14.99 turn lffoot to x-axis <24.059106> speed <388.821581> / animSpeed; //delta=-12.96 @@ -214,7 +216,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn rmleg to x-axis <-9.947898> speed <80.820945> / animSpeed; //delta=-2.69 turn rthigh to x-axis <7.316307> speed <122.413692> / animSpeed; //delta=-4.08 - if ( !isOpen){ + if ( !isAiming){ turn turret to x-axis <-2.703695> speed <62.982395> / animSpeed; //delta=-2.10 turn turret to z-axis <3.120575> speed <24.399476> / animSpeed; //delta=0.81 } @@ -222,25 +224,25 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas } } } -// Call this from StopMoving()! +// Call this from MotionControl()! StopWalking() { - move body to y-axis [0.0] speed [3.750000]; - turn body to x-axis <0.0> speed <3.750000>; - turn lbfoot to x-axis <0.0> speed <426.586286>; - turn lbleg to x-axis <0.0> speed <249.228726>; - turn lffoot to x-axis <0.0> speed <489.088408>; - turn lfleg to x-axis <0.0> speed <227.616200>; + move body to y-axis [0.000000] speed [3.750000]; + turn body to x-axis <0.000000> speed <3.750000>; + turn lbfoot to x-axis <0.000000> speed <426.586286>; + turn lbleg to x-axis <0.000000> speed <249.228726>; + turn lffoot to x-axis <0.000000> speed <489.088408>; + turn lfleg to x-axis <0.000000> speed <227.616200>; turn lmfoot to x-axis <42.174386> speed <534.995911>; turn lmleg to x-axis <-13.647429> speed <364.222757>; - turn lthigh to x-axis <0.0> speed <42.340488>; - turn rbfoot to x-axis <0.0> speed <426.586286>; - turn rbleg to x-axis <0.0> speed <249.228726>; - turn rffoot to x-axis <0.0> speed <489.367669>; - turn rfleg to x-axis <0.0> speed <177.346252>; + turn lthigh to x-axis <0.000000> speed <42.340488>; + turn rbfoot to x-axis <0.000000> speed <426.586286>; + turn rbleg to x-axis <0.000000> speed <249.228726>; + turn rffoot to x-axis <0.000000> speed <489.367669>; + turn rfleg to x-axis <0.000000> speed <177.346252>; turn rmfoot to x-axis <42.174386> speed <534.995911>; turn rmleg to x-axis <-13.647429> speed <364.222757>; - turn rthigh to x-axis <0.0> speed <54.872305>; - if ( !isOpen){ + turn rthigh to x-axis <0.000000> speed <54.872305>; + if ( !isAiming){ turn turret to x-axis <-2.703695> speed <20.277715>; turn turret to z-axis <3.120575> speed <23.404310>; } @@ -260,17 +262,17 @@ UnitSpeed(){ sleep 131; } } -StartMoving(reversing){ - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; - isMoving=TRUE; +StartMoving(){ + signal SIG_WALK; + set-signal-mask SIG_WALK; + bMoving=TRUE; start-script Walk(); start-script UnitSpeed(); } StopMoving(){ - signal SIGNAL_MOVE; - isMoving=FALSE; + signal SIG_WALK; + bMoving=FALSE; call-script StopWalking(); } @@ -280,8 +282,106 @@ StopMoving(){ #define UNITSIZE 6 #define MAXTILT 100 -#include "../unit_hitbyweaponid_and_smoke.h" +#include "unit_hitbyweaponid_and_smoke.h" +activatescr() +{ + + if( TRUE ) + { + turn turret to x-axis <0> speed <200>; + turn turret to z-axis <0> speed <200>; + turn turret to x-axis <10> speed <30>; + turn turret to x-axis <30> speed <60>; + turn turret to x-axis <60> speed <100>; + turn turret to x-axis <80> speed <60>; + turn turret to x-axis <90> speed <30>; + sleep 250; + } + if( TRUE ) + { + turn ldoor to y-axis <-25> speed <30>; + turn rdoor to y-axis <25> speed <30>; + sleep 250; + } + return (0); + + } + + +deactivatescr() +{ + + if( TRUE ) + { + turn ldoor to y-axis <0> speed <10>; + turn rdoor to y-axis <0> speed <10>; + sleep 250; + } + if( TRUE ) + { + turn turret to x-axis <80> speed <30>; + turn turret to x-axis <60> speed <60>; + turn turret to x-axis <30> speed <100>; + turn turret to x-axis <20> speed <60>; + turn turret to x-axis <0> speed <30>; + sleep 250; + } + sleep 200; + return (0); +} + + + +Go() +{ + call-script activatescr(); + wait-for-turn turret around x-axis; + Static_Var_1 = 1; + return (0); +} + +Stop() +{ + Static_Var_1 = 0; + call-script deactivatescr(); + isAiming = FALSE; + return (0); +} + +InitState() +{ + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; + return (0); +} + +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + call-script Go(); + currentstate = 0; + } + if( statechg_DesiredState == 1 ) + { + call-script Stop(); + currentstate = 1; + } + } + statechg_StateChanging = FALSE; + return (0); +} Create() { @@ -290,13 +390,16 @@ Create() missiles_stockpiled = 0; hide stocked; show unstocked; - isMoving = FALSE; - - isOpen = FALSE; + bMoving = FALSE; + Static_Var_1 = 0; + Static_Var_2 = 3000; + isAiming = FALSE; + call-script InitState(); animspeed = 4; return (0); } + static-var Stunned; ExecuteRestoreAfterDelay() { @@ -304,15 +407,8 @@ ExecuteRestoreAfterDelay() return (1); } set-signal-mask 0; - - isOpen = FALSE; - turn turret to x-axis <0> speed <30>; - wait-for-turn turret around x-axis; - - turn ldoor to y-axis <0> speed <30>; - turn rdoor to y-axis <0> speed <30>; + start-script RequestState(1); } - SetStunned(State) { Stunned = State; @@ -322,52 +418,66 @@ SetStunned(State) } RestoreAfterDelay() { - sleep 3000; + sleep Static_Var_2; start-script ExecuteRestoreAfterDelay(); } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; - if( !isOpen ) + start-script RequestState(0); + signal SIG_AIM; + set-signal-mask SIG_AIM; + isAiming = TRUE; + while( !Static_Var_1 ) { - turn turret to x-axis <90> speed <90>; - wait-for-turn turret around x-axis; - - turn ldoor to y-axis <-25> speed <30>; - turn rdoor to y-axis <25> speed <30>; - wait-for-move ldoor along y-axis; - isOpen = TRUE; + sleep 100; } + start-script RestoreAfterDelay(); return (1); } -FireWeapon1() +FirePrimary() { emit-sfx 1024 + 0 from flare; + return (0); } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = flare; + piecenum = flare; + return (0); +} + +SweetSpot(piecenum) +{ + piecenum = body; + return (0); +} + +stocked_no() +{ + hide stocked; + show unstocked; +} + +stocked_yes() +{ + show stocked; + hide unstocked; } SetStockpile(num_stockpiled) { - //get PRINT(get GAME_FRAME, num_stockpiled); if (num_stockpiled == 0) { - - hide stocked; - show unstocked; + start-script stocked_no(); + sleep 100; missiles_stockpiled = 0; } if (num_stockpiled >= 1) { - - show stocked; - hide unstocked; + start-script stocked_yes(); + sleep 100; missiles_stockpiled = 1; } } @@ -381,7 +491,19 @@ Killed(severity, corpsetype) explode rthigh type BITMAPONLY | NOHEATCLOUD; explode rbleg type BITMAPONLY | NOHEATCLOUD; explode rbfoot type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rmfoot type BITMAPONLY | NOHEATCLOUD; + //explode lthigh type BITMAPONLY | NOHEATCLOUD; + //explode lbleg type BITMAPONLY | NOHEATCLOUD; + //explode lbfoot type BITMAPONLY | NOHEATCLOUD; + //explode lmfoot type BITMAPONLY | NOHEATCLOUD; + //explode rfleg type BITMAPONLY | NOHEATCLOUD; + //explode rffoot type BITMAPONLY | NOHEATCLOUD; + //explode turret type BITMAPONLY | NOHEATCLOUD; + //explode rdoor type BITMAPONLY | NOHEATCLOUD; explode ldoor type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare type BITMAPONLY | NOHEATCLOUD; + //explode lfleg type BITMAPONLY | NOHEATCLOUD; + //explode lffoot type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } if( severity <= 50 ) @@ -389,8 +511,21 @@ Killed(severity, corpsetype) corpsetype = 2 ; explode body type BITMAPONLY | NOHEATCLOUD; explode rthigh type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rbleg type FALL | NOHEATCLOUD; explode rbfoot type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rmfoot type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lthigh type FALL | NOHEATCLOUD; + //explode lbleg type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lbfoot type FALL | NOHEATCLOUD; + //explode lmfoot type FIRE | SMOKE | FALL | NOHEATCLOUD; explode rfleg type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rffoot type FALL | NOHEATCLOUD; + //explode turret type FALL | NOHEATCLOUD; + //explode rdoor type FALL | NOHEATCLOUD; + //explode ldoor type FALL | NOHEATCLOUD; + //explode flare type FALL | NOHEATCLOUD; + //explode lfleg type FALL | NOHEATCLOUD; + //explode lffoot type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) @@ -401,6 +536,18 @@ Killed(severity, corpsetype) explode rbleg type FIRE | SMOKE | FALL | NOHEATCLOUD; explode rbfoot type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; explode rmfoot type SMOKE | FALL | NOHEATCLOUD; + //explode lthigh type SMOKE | FALL | NOHEATCLOUD; + //explode lbleg type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lbfoot type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lmfoot type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rfleg type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rffoot type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode turret type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rdoor type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode ldoor type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode lfleg type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lffoot type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; @@ -411,5 +558,15 @@ Killed(severity, corpsetype) explode rmfoot type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode lthigh type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode lbleg type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode lbfoot type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lmfoot type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode rfleg type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rffoot type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode turret type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rdoor type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode ldoor type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode flare type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lfleg type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lffoot type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/armscab.cob b/scripts/Units/armscab.cob index 355b8ec3c555201b7bfdc823576e99ab76a82328..d2cf6117e3ed9623a7429506d7e9f8351a569391 100644 GIT binary patch literal 12539 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 Ro6WU#Utzl1y|dz}`7gC+G8g~= literal 10828 zcmcgye~{Hx6~AwHStt-5@k0Z%bw!b6;GsAXGw7m_8YtM(pzue#u-}Ds-|kzVZ;dT& z7}J4Cv}s0BW;ChDvZk3B8ErJvjIf+2s?pKOX{byyiQ1&vNr*n5d+&LB_ItnYf-uvU zIeXvt-gD16_uS9t{&94IzA4oE!9UzMKA`m8SRCs8;+WI3V}mZoJ85e; zj?TY0y-~{Efq^i88{ctyOb;L08`~4wTmH7w8|&1p-se6a#`m*#ogSvwKD2kkeWBjr zW;7#zqm|y9*M)k29dhE*BcZ4^0g97EW{aG=>*W5A_~7!|7=ZCxfGcaa{U_^Q$quv#~zV`w|^u94Eps zw5*=SaI!zl-(`c&ug36mv%>tnbI|E&3=d5W^*-~e)6*DUH5BIMK|c<>&ol%$dC8v@G%wm#h50?3$wJ;VFRs}Vu8Yt3{A#?vzBjbDi;PX- zefP19TzY(JykF23>Rs#ovf#s<{~n86nim%xa&xHh{_Ngx9BchqLGJ@^H-~z6`Sn=i zeF8w8_WR)syceDf^)AMFm3h&4e|~H@Z{PAf(|F&wDYSRQW40FFU-MYY!h5qnAD#&B zjfxk{|9i#zcaUWE$;3M+^Cb2Gsxfc2#2?z5kbx&T%WAyOygkH;oMkoMU+E3cGjf*I z`@kay!g-Lhtmeh`86lqJEUWi{{)|0Z&a#>pqgRK17jw@G&jDKwxOG^`M=u_fbtwAbIKG%r58CtSBz@C!fSQ}ZHrpVGXD z-KR7!V)v<9yqM!Lx!{s8=4I-9MC=p0M`ne3_)5}_?Nsj#$6~xVjr}5aj@G=0ouf4` zCM^%~{yHZL^Qw7q=ZY{#`;NMOMe`zdj@G=0ouf4`V&`bhi`aci^CEVi(!5v)1~c8=D( zh~2w1FJkvD&5K>7+V?KKU+jG?%%9x5^nMY$cWGY4?p>M}v3pl7UOeS7`NHgQE+=Q~ z7dOITdTm&63cN5a!@q$6`S`J{(f;;jo~!p9$>0P0IR2mwJY+XMth;J%ZbX~LePQ>= zej4jftR2};CSm zjmx)EW6)Tfg5R@r&NTkgW6+pOk3r+Ce&$GMmxz&%qy|%lwk-!*RL%u#I($fic~2424SWYq>6ahrmnD61EP~rFDl7;#tMS0T?q_ZK_2GWyM|`j!&Y!DZo8henfxT`pyWVh3>=f)yHG!c?JG@w za;jZoW;69!vOmYmcfm00>5DwK+(o`$mht#D@oP5wGX(0j%~c4ZssoP5IUnCHRX?*m zt%q&PNSx`m395}@*nBiGdu}ZB&v>hG?{sr9iW@N27`+d(JNq++?{o7mVEwM4BkPbI z4}om4kg;uwg@TV48Ayt;bMw{`oHB zGn`;xP~$~%$1$;9W1C&2U2<#3ZtGo6Kh0#e)y5jJsQcP@T3p{=_60sIPGLiEDq~>Z zVSkSMoC9r-S7X!U?A`D4&Hfw*OZMN162GQZaW3!ab}nVq$A1U1`r=>SnP>WDKjuZp zVfpIgc-+T99>wAiyAp@Ir~NWbwfwGUEZ*-+-Y>_Y{fb?xa(rLm2jnB|SH^#@Z z`FC`!rcxDFk6LiRv@1o<1J zj5TWypmEGO-i#4O#EtnaTRpG~f7`oy Q2IiUmUJP@6HzJYpe_FV;!2kdN diff --git a/scripts/Units/armsd.bos b/scripts/Units/armsd.bos index beeee343cdc..010e70c0d4a 100644 --- a/scripts/Units/armsd.bos +++ b/scripts/Units/armsd.bos @@ -1,35 +1,36 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, spinner, fan; +static-var Static_Var_1, Static_Var_2, Static_Var_3; static-var Stunned; Create() { - spin spinner around y-axis speed <50.0>; - spin fan around y-axis speed <200.0>; + spin spinner around y-axis speed <50.00000>; + spin fan around y-axis speed <200.00000>; return (0); } - -#define BASEPIECE base -#define MAXTILT 0 -#include "../unit_hitbyweaponid_and_smoke.h" +#define SMOKEPIECE base +#include "smokeunit_thread_nohit.h" Activate() { - spin spinner around y-axis speed <50.0>; - spin fan around y-axis speed <200.0>; + spin spinner around y-axis speed <50.00000>; + spin fan around y-axis speed <200.00000>; return (0); } Deactivate() { - spin spinner around y-axis speed <0.0>; - spin fan around y-axis speed <0.0>; + spin spinner around y-axis speed <0.000000>; + spin fan around y-axis speed <0.000000>; return (0); } @@ -44,7 +45,11 @@ SetStunned(State) } - +SweetSpot(piecenum) +{ + piecenum = base; + return (0); +} Killed(severity, corpsetype) { diff --git a/scripts/Units/armsd.cob b/scripts/Units/armsd.cob index 55d3dcd36d9e36734470cd3dd14c985c70c99ee9..e6b7af528fbcc37f41baca873615e9ec28d8adfd 100644 GIT binary patch literal 1426 zcmc&!yGjE=6usHRXgS*1E!YSOE+RHIK0(kT8iF7QS#^XZaT9b^v@teT68r)|u=Gp( z5(^7I!E@%3gvE&1xN^96&VApRSQ3#jpa{$rL`ER_y_dk_Fb&M&yZ~8HfufD_VG2ql z3L#=JV2ire7UXPFDJuyB#dyX@y{vZWgEPvBge4V3wni|JZWF0ICad<`3|6xBSkwave!Om=V&;N>3g#);`t2H}DZal{8$BuP_ z*_B+>`J;3rGy^g8)_EDZ1*KS&S}fnGVsO=CcCQnxD~_7Lby_&}8pme24Eih=C`T<(0P33G~UQsTejI3>rTe>LymNqh2%E*qihpk{4T{ znODAgEZ!BWdise^D)v>!#a>fS4-*cbb5h5(Q-^Df@07RVOk%!ju&%`(yf$*kzvct^6HHoE9if*bqx9R?6dDF$esR9v+AaXp8(P<=$ZGh zP`!!gqAhR4o_2Kb+NWnWD@N)BpLUotvtVZ%GB{_PwWsue=`$xrFTS^XGM&$N)6eXD zJuh;m9r}^-@cA9&QOD$tz&FBox!S$IDNddCyV?<3?1cT~Z`S;t3*RNhnJaSx|25%p z`*#x)>~Vh&$aN0%QNJl3i@U9Z=lO4n*Udb^GKH9<_qjrU-A-snhyJLStH~GVE7vq1 z`|q5@&XU`$=6PSa_@Lk&(42RrEi6p>@pHr_{Pg?A87JOniI*Pd@xD*@%;Q}KlXzbz zUcLkKct0G$OK-=`g_7U*8^c|3dxeyJ?n?3d&I_{C^c4(#r5 UWku?7v02*Y`cS?Nds2+-AGx7;8vp @@ -13,52 +17,131 @@ piece lwing, rwing, base, thrustm, lthrust, rthrust; #define UNITSIZE 2 #define MAXTILT 100 -#include "../unit_hitbyweaponid_and_smoke.h" +#include "unit_hitbyweaponid_and_smoke.h" + +activatescr() +{ + if( TRUE ) + { + turn rwing to z-axis <-85> speed <37.554945>; + turn lwing to z-axis <85> speed <37.225275>; + sleep 1397; + } + sleep 55; + return (0); +} + +deactivatescr() +{ + if( TRUE ) + { + + turn rwing to z-axis <0> speed <37.554945>; + turn lwing to z-axis <0> speed <37.225275>; + sleep 1397; + } + sleep 66; + return (0); +} + #define IDLEHOVERSCALE 32 #define IDLEHOVERSPEED 60 #define IDLEBASEPIECE base #include "idlehover.h" + +InitState() +{ + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; + return (0); +} + +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + call-script activatescr(); + currentstate = 0; + } + if( statechg_DesiredState == 1 ) + { + call-script deactivatescr(); + currentstate = 1; + } + } + statechg_StateChanging = FALSE; + return (0); +} + Create() { hide lthrust; hide rthrust; hide thrustm; - SLEEP_UNTIL_UNITFINISHED; + gun_3 = lwing; + call-script InitState(); + while( get BUILD_PERCENT_LEFT ) + { + sleep 400; + } start-script IdleHover(); } Activate() { - show lthrust; - show rthrust; show thrustm; - turn rwing to z-axis <-85> speed <37>; - turn lwing to z-axis <85> speed <37>; + start-script RequestState(0); + return (0); } Deactivate() { - hide lthrust; - hide rthrust; hide thrustm; - turn rwing to z-axis <0> speed <37>; - turn lwing to z-axis <0> speed <37>; + start-script RequestState(1); + return (0); } -AimWeapon1(heading,pitch) +StartMoving() { - return(1); + signal SIG_MOVE; + set-signal-mask SIG_MOVE; + } -QueryWeapon1(pieceIndex) +StopMoving() { - pieceIndex = base; + signal SIG_MOVE; + return (0); } +QueryPrimary(piecenum) +{ + piecenum = base; + return (0); +} +FirePrimary() +{ + return (0); +} +SweetSpot(piecenum) +{ + piecenum = base; + return (0); +} Killed(severity, corpsetype) { diff --git a/scripts/Units/armseap.cob b/scripts/Units/armseap.cob index 405680ef64a30ad8e1e219612ad60381c9634cc1..3f8bed0f04da5fd14d8c491e8b10f7479db556f2 100644 GIT binary patch literal 4496 zcmcJTOK4<86oyY8)8h-g3W5(t8U%Hr(9Fh-BXJa&j0mkk1wlzCxr~iTI(9mVS%}Sm z;4+8{7d~(!2)c142rd+KBO-{qSfEmB=_cub-JDd_dHmI_UFaY2M+I<=4mWGYp87KBNLO)D z)FRK)Q8zuoh|h2zIum`c<$0LnM-7*f?ejaM&)eS&2Btm?ILWq`Y?}{DA)Ee&z5-|G zgcgaG$Jv^E#_Dwv;;G6m{=iBFb4HpFl&y)?9*C%W+ zSfj`P6bhXa^Wr|uQ;)5P7<9y8r_VSuIQO#~3EOYy9alE?X@t?~EK?^nn3XUm_X zz(wkZ4+TOjI%;9r}%T7M%Hh?`EyN!)M5+9swth3wKqK?j5=3cJ>IjC&8Hl zm$)3)IqQC!y3@Zh+_<+#p++o$E> zCp9bktawQElBU{!BkrGds9S5!&*OMz;2qw6QB$A~y^)@g&@<{2zhhSbZ_KD?YDHgw z@DT1LJ!`LP?fp{mo^S}$EgouMn)`)*8sq2u*h0(``eTfr(gr+u9GiE{IacSF<0U`O z>v-4X&3Ja+oRc{PhrOwm{9OdkUMD8j)pMJC{oO%r;S9v-`wHSrJSN8&#V3YXd`9ng z&tKW)7y4#7zVClfklTj!N848b)@!jQP2KJ}^0YU+RrifaXmfZ@$iN|uOXiw=Ij0C{Y2~?0M_Gqy`asY z%g=~)J>~3cv}N4|#mTCdDF~nNjL613o>!dbF@#UTb8hR&r?1g-!7()lj>UUkfB1c! z>OV;J!=v}uq<=eEcz(XVQaM-?lf76`H|Fth_Jx=Y^Lk|#t zSWo$W^O&RTeVX&3oEIe@NxqX@mi#MuQ^^k`KTH0Q{3EGp!#7KAlbn*&CHG7CKfxE0 zuO&Z9E=his{3-cQa-%M;TP1f%?vftJAY5 g+w1G)nyv2<+6{kKTHB@dUheK}_cm-jPOO{8D?E2d1k^$c zixjbukTgN;B7#ji1+|rQHVT3%EEcpB#{ci$d*Wg0Mn)Sr_IrOwyC3;`0?798|H$x(S^7$HWg>2$I~=9u{1dUJQKp^mB>dJ_DVgOwKY^4#$8n8Xug zsB^JzNPtD%@6)B17=d>tqa=3><>IF4( z9#+INabLJqOQEK3o^A4K_iT|4SFe?s^xn`5W_Bm(d+ar*)WFhvjxV+N-2S4arv&2Lty0dc2V&!m!*DQCaGN7z^Dz5WrCb7=d8nbZxZ&-|c& zMI0aYkAj=~1>CZEL+5x^GebM6wh$=wh?wmh$sy$T7`4%xMYZi0_d&IVIq+VoHt>k^ zDCZX5)5oaIW9B*1v;E@!s&nx3$5;~dIOn0_Z4J3m{u3w1BB!{29MVccw9bG!TECOeNy z-{<|#<0d<)L)`dnjXmkgIrIP}-@!Aw-K@n!U&W~doBVIOkChCv(*#fby+nfgTPxI^ ze8eK|YQhx{xZ;lc_VW?z>JNIaON(!O@^{?^51DkpdH-1Nm9zT?+XrB~4t^hYsrN@j zt&|$#r9HO1k%)KoF!}h*qI(XbGJU({=y>>p%l-y7#liXA{VMHYxxQ^rABpAp<#EIJ zKE>_G5FF3DjpMbqzn6mJ2f2FCpRzF6MJJ)52m%PoSlv?vN%x> ye7Q1Ok4Q)DoeT9O!5+1@M&ofkwDE_djdL~$zt;xawM{>mT-ctj+c++4lKB5H;qaya diff --git a/scripts/Units/armseer.bos b/scripts/Units/armseer.bos index df52e3fe33d..f51dd523605 100644 --- a/scripts/Units/armseer.bos +++ b/scripts/Units/armseer.bos @@ -1,12 +1,13 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, dish, turret, eye, fwheel, rwheel; static-var Stunned; -#define SIGNAL_MOVE 1 -#define SIGNAL_TURNON 4 +#define SIG_ACTIVATE 2 @@ -15,15 +16,8 @@ static-var Stunned; //how 'heavy' the unit is, on a scale of 1-10 #define UNITSIZE 2 #define MAXTILT 100 -#include "../unit_hitbyweaponid_and_smoke.h" - - -#define TB_BASE base -#define TB_TURNRATE <20.0> -#define TB_TILT_X <0.15> -#define TB_BANK_Z <0.15> // Do not define this if you dont want banking -#include "../tilt_bank_mobileunit.h" +#include "unit_hitbyweaponid_and_smoke.h" Lights() { @@ -36,30 +30,27 @@ Lights() Create() { - call-script TB_Init(); + dont-cache dish; + dont-shade dish; + return (0); } -StartMoving(reversing) +StartMoving() { - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; spin fwheel around x-axis speed <50> accelerate <10>; spin rwheel around x-axis speed <50> accelerate <10>; - START_TILTBANK; } StopMoving() { stop-spin fwheel around x-axis; stop-spin rwheel around x-axis; - signal SIGNAL_MOVE; - STOP_TILTBANK; } Activate() { - signal SIGNAL_TURNON; - set-signal-mask SIGNAL_TURNON; + signal SIG_ACTIVATE; + set-signal-mask SIG_ACTIVATE; spin dish around y-axis speed <100.021978> accelerate <10>; start-script Lights(); return (0); @@ -67,8 +58,8 @@ Activate() Deactivate() { - signal SIGNAL_TURNON; - set-signal-mask SIGNAL_TURNON; + signal SIG_ACTIVATE; + set-signal-mask SIG_ACTIVATE; stop-spin dish around y-axis decelerate <10>; wait-for-turn dish around y-axis; return (0); @@ -84,7 +75,11 @@ SetStunned(State) } } - +SweetSpot(piecenum) +{ + piecenum = base; + return (0); +} Killed(severity, corpsetype) { @@ -93,7 +88,9 @@ Killed(severity, corpsetype) corpsetype = 1 ; explode base type BITMAPONLY | NOHEATCLOUD; explode fwheel type BITMAPONLY | NOHEATCLOUD; + //explode rwheel type BITMAPONLY | NOHEATCLOUD; explode turret type BITMAPONLY | NOHEATCLOUD; + //explode eye type FIRE | SMOKE | FALL | NOHEATCLOUD; explode dish type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } @@ -104,6 +101,7 @@ Killed(severity, corpsetype) explode fwheel type FIRE | SMOKE | FALL | NOHEATCLOUD; explode rwheel type FALL | NOHEATCLOUD; explode turret type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode eye type FIRE | SMOKE | FALL | NOHEATCLOUD; explode dish type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } @@ -114,6 +112,7 @@ Killed(severity, corpsetype) explode fwheel type FIRE | SMOKE | FALL | NOHEATCLOUD; explode rwheel type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; explode turret type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode eye type SMOKE | FALL | NOHEATCLOUD; explode dish type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } @@ -122,6 +121,7 @@ Killed(severity, corpsetype) explode fwheel type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode rwheel type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode turret type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode eye type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode dish type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/armseer.cob b/scripts/Units/armseer.cob index f9592de2386131befba72a53e3ea28a2551a2ecc..c2b47c40450ba80a34b648c73c67a71a57029ebd 100644 GIT binary patch literal 2680 zcmb7GziU%b6h2AQRHevu(^4TI;-V5nkWSWGP*F=El!}Xu&29T^O=9}m(m}`{;HDsg zgQJt9e}IUKtD6pv4i4hx=J(xuPjVacYF^ThbKd!Vzk42ONkk@rGO$n-!Jqpyj*7eh zJ_6@q`35PKqKQ#7_`+O(Yy|1@t7ArH$4s$WG-I$cj*@YdV#bZEl+DRtqe&La@b=?a zPpUrd3{>r*HTgVs&etx$uepNW8p|1^B8H`OPUg_>Y>{+x{gd0zXS|@Y%ZqfXtoI50 zXx+h{!+e@Y$+MGJ=JPD%<`o2=OMI@B9G6siPD=Xbs05BW!B%&+f~!TfRP{A`vjv{% z>(vkU@ielLXU4?+F3|vvr0VN)*4`WjGvdn-z2E1-Utr)be-AQSHZOy{IAFgQ><~Rp z;(cSU6ZC-(a`YA|ZEja^E>55`F-#Wy{=5%y^eG==%ARZ3bayBj(?1991s~nrxDV~} z#@GK0m2(I$3+L2bxMs18^Y!vGY6<4**T7DplmofsXVJeG zdLO(ynt9KZ+<^;7P(BXS!=7D^d@g2SZrWU(&_|zj_w`xl;4bPc^qpdI#qYpo=*9V& zPsx}{kX=Yw!MkH7T+b{YS18NJyU6mnzUW8EdE+_VdmH9_hXB@Ktx@OXz|1+q+BgGs z&Z&Ag=scUwuQK*=-*kq9c^j7hzun4{a~N+~eYC#Hyj&0R#dA$OAXjdWYCcWgbiQcLTd^loc6X|6+WwS#(XHBENupSN{Y yYc{Q=JI$tTNNvyJq1{U5cCxhv!^8Tvl}56?A?Z%1V^gvFR@U}5tlg517k>fc!nn}@ literal 3050 zcmai$PiS0K6vj^`(g9_b<3LR55P+ z(`8nrv>O-h6x@px|9~68g$s9DNOu7@T?p~}-Fwf>okvIlhkNcl=X~co=brl}Z8JM1 z=}5kAnH|&0-{X^J&m^xsC((XUt94sNE;B`|IE{0+UD$G`cwQ=J1J15=3iLL*?CA68 zy<@@mWvOkQ&1l7j$*xRnoMCJC;%Y^w5WVo%l5JKRD?Y5jARqSFh<6@2XMDlI{tH2K zvqh^H&vF|WRzyAvQYRe6Bf|(eQcahWA7_q9+)L-CxrRD=v!N#;UL34zp$6whjOQeu zAVZx8$4=t$qh4aSrLume6%2agn9bFC@s8YAu1EUjKEzYA_kLbRa{4_T#2XH~IHX=s zGxuRdyc3UQwcbpq>8BGDUd^5zWFypTWhT8h^n#h)OZGN<%_%jYde4ca7N6T+r8=I^ zrtiVe;{s-yp+8a_XP$#Nc#Lxtya=D=ID7vj`wWhIaYk&eQ|zYmR(9^O;GLJ9zS1}R zzf1lc``f&Pu9~R>Uc_C^&U_X*!iRgnhrRbQe_PGoej;x8pT$3Y1N^?JH1tRJO+UO3 zo}V+ne{A@NIq1fB6Z8}dPioKk`rCa&!MQEWVIvN#(0Q$v@OSSjP;&_Xy?xc881!d% zCq6lcaIdoa3TL0|BF!~5VfR|#75tXtU9V_EjyGSJ=KN%Te?Q!1`bGflv3@VkpYy;g zVcuzAlAjz+Oz&anMNcTnZ&|C)(20b_5%*8dpg)ZKzj8ZCG^>vBSZ_99==^+O~lrWmMJg?6fy>pJF@LtkG_Wb6A zeo4)FjrFkOpubhxpxRos`sQd<)>hsw?Zb~&%W~aDarqwrHQ2@g diff --git a/scripts/Units/armsehak.bos b/scripts/Units/armsehak.bos index a43fa295977..b2f39ed4d58 100644 --- a/scripts/Units/armsehak.bos +++ b/scripts/Units/armsehak.bos @@ -1,10 +1,56 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, fanfr, fanfl, fanbr, fanbl, cowlfr, cowlfl, cowlbr, cowlbl, dish, turret, wing1, wingr; +static-var Static_Var_1, statechg_DesiredState, statechg_StateChanging; + // Signal definitions -#define SIGNAL_MOVE 1 +#define SIG_MOVE 2 + + +activatescr() +{ + if( TRUE ) + { + spin fanfr around y-axis speed <200> accelerate <10>; + turn cowlfr to x-axis <15> speed <5>; // plus X turns it forward + spin fanfl around y-axis speed <200> accelerate <10>; + turn cowlfl to x-axis <15> speed <5>; // plus X turns it forward + spin fanbr around y-axis speed <200> accelerate <10>; + turn cowlbr to x-axis <15> speed <5>; // plus X turns it forward + spin fanbl around y-axis speed <200> accelerate <10>; + turn cowlbl to x-axis <15> speed <5>; // plus X turns it forward + + sleep 675; + } + if( TRUE ) + { + turn turret to x-axis <-180> speed <180>; + + sleep 681; + } + if( TRUE ) + { + spin dish around y-axis speed <60> accelerate <1>; + sleep 679; + } + + if( TRUE ) + { + turn wing1 to z-axis <-90> speed <30>; + turn wingr to z-axis <90> speed <30>; + sleep 679; + } + + sleep 679; + return (0); + // Build by COBBLER Ver4.0 Copyright @1998 DIGITAL CONCEPT SOFTWARE (MANU@inext.fr) / http://www.annihilationcenter.com/DCS/ +} + + #define BASEPIECE base #define HITSPEED <105.0> @@ -12,66 +58,141 @@ piece base, fanfr, fanfl, fanbr, fanbl, cowlfr, cowlfl, cowlbr, cowlbl, dish, t #define UNITSIZE 4 #define MAXTILT 100 +deactivatescr() +{ + + if( TRUE ) + { + turn wing1 to z-axis <0> speed <30>; + turn wingr to z-axis <0> speed <30>; + sleep 679; + } + if( TRUE ) + { + stop-spin dish around y-axis decelerate <1>; + sleep 679; + } + if( TRUE ) + { + turn turret to x-axis <0> speed <180>; + + sleep 681; + } + + if( TRUE ) + { + stop-spin fanfr around y-axis decelerate <10>; + turn cowlfr to x-axis <0> speed <5>; // plus X turns it forward + stop-spin fanfl around y-axis decelerate <10>; + turn cowlfl to x-axis <0> speed <5>; // plus X turns it forward + stop-spin fanbr around y-axis decelerate <10>; + turn cowlbr to x-axis <0> speed <5>; // plus X turns it forward + stop-spin fanbl around y-axis decelerate <10>; + turn cowlbl to x-axis <0> speed <5>; // plus X turns it forward + + sleep 675; + } + sleep 679; + return (0); +} + +InitState() +{ + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; + return (0); +} -#include "air_barrelroll.h" +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + call-script activatescr(); + currentstate = 0; + } + if( statechg_DesiredState == 1 ) + { + call-script deactivatescr(); + currentstate = 1; + } + } + statechg_StateChanging = FALSE; + return (0); +} + +static-var maxSpeed, currentSpeed; +BarrelRoll() // remember to start-script BarrelRoll(); in Create()! +{ + currentSpeed = (get CURRENT_SPEED); + maxSpeed = (get MAX_SPEED); + + while (TRUE){ + sleep 2000; + currentSpeed = (get CURRENT_SPEED); + //get PRINT(maxSpeed, currentSpeed, Static_Var_1); + if( Rand( 1, 5 ) == 1 AND (maxSpeed < (currentSpeed+100) ) ) + { + turn base to z-axis <240.054945> speed <120.027473>; + wait-for-turn base around z-axis; + turn base to z-axis <120.027473> speed <180.043956>; + wait-for-turn base around z-axis; + turn base to z-axis <0.000000> speed <120.027473>; + } + } +} Create() { + call-script InitState(); start-script BarrelRoll(); + return (0); } Activate() { - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; - spin fanfr around y-axis speed <200> accelerate <10>; - turn cowlfr to x-axis <15> speed <5>; // plus X turns it forward - spin fanfl around y-axis speed <200> accelerate <10>; - turn cowlfl to x-axis <15> speed <5>; // plus X turns it forward - spin fanbr around y-axis speed <200> accelerate <10>; - turn cowlbr to x-axis <15> speed <5>; // plus X turns it forward - spin fanbl around y-axis speed <200> accelerate <10>; - turn cowlbl to x-axis <15> speed <5>; // plus X turns it forward - - sleep 675; - - turn turret to x-axis <-180> speed <180>; - - sleep 681; - - spin dish around y-axis speed <60> accelerate <1>; - sleep 679; - - turn wing1 to z-axis <-90> speed <30>; - turn wingr to z-axis <90> speed <30>; + start-script RequestState(0); + return (0); } Deactivate() { - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; - - turn wing1 to z-axis <0> speed <30>; - turn wingr to z-axis <0> speed <30>; - sleep 679; + start-script RequestState(1); + return (0); +} - stop-spin dish around y-axis decelerate <1>; - sleep 679; +StartMoving() +{ + signal SIG_MOVE; + set-signal-mask SIG_MOVE; +} - turn turret to x-axis <0> speed <180>; +StopMoving() +{ + signal SIG_MOVE; + return (0); +} - sleep 681; +setSFXoccupy(Func_Var_1) +{ + Static_Var_1 = Func_Var_1; + return (0); +} - stop-spin fanfr around y-axis decelerate <10>; - turn cowlfr to x-axis <0> speed <5>; // plus X turns it forward - stop-spin fanfl around y-axis decelerate <10>; - turn cowlfl to x-axis <0> speed <5>; // plus X turns it forward - stop-spin fanbr around y-axis decelerate <10>; - turn cowlbr to x-axis <0> speed <5>; // plus X turns it forward - stop-spin fanbl around y-axis decelerate <10>; - turn cowlbl to x-axis <0> speed <5>; // plus X turns it forward - +SweetSpot(piecenum) +{ + piecenum = base; + return (0); } diff --git a/scripts/Units/armsehak.cob b/scripts/Units/armsehak.cob index 238fc8caa0f1dae81e38d358772436549155f31e..bb67aa66172bd1c552b485db040fd16411c4be9f 100644 GIT binary patch literal 4073 zcmeHKJ7^S96un6{lc-Ur5fv4t5W!EerdEs}LjEHQunC%eh z#F}4ui^xOZBX9_O&sLE(x7}@{a?Ej$fso(b718Vr1X(e9+E6!xc%+LPA@Ic2*hzlv z^hxn^Am^9lhZL!PD9wCHewh}2-7&v;7M5*u8AJCzKwt3RZ$z}azO=;sahv?8TS)M` zV0AAoeR2Q`oY@BQR`xi-uWWVaw?(ltucLgMAUEfRe5(7&#-Ns-m@XbOzJ`g&ptEdm zw;^Kv8qe4uUQ#aArRCD|x^H80-_rN{{XVkxdcJg9$@zY=ew<0>F=uLJI*VXUtmavy zy*bMi`{o&>ebVe{{N~xCebUUSecH^m>Q^Qk%_RH9IONS9EYIGG2OW@sj5^-kA0Xfw zKIWWaK8#11#-lI!_N=AWR`WOX)=tJcUFJCmC)H_rZ1?yKPEH1ZS2Q!uh^LH*jW1>B*kD|%w^^a zr>^y}e(s5JNi}DIIo%EyucIsF=xk~>*T_f|Yhe*Ko|v;TJw#NxX|I>;J4E|db{dbq z%j|GwM{G``Gjroa^Fo2^n0mQvK1a%^kKY9&LyX4WTjqIY@5 zx4qkrA!a`~%YWnEaRwOATvB`2{>L3$ZQeho7o)^~Zm=gDvSO5WzAo~Qk`taYDx z)oZ{P;2Y43$NV~Q6SxE11LlBv;3@DN;QyXGfPFv~I0~Er&H?0`Gwjz-Qnqkjsa~S}ydf`HB?$ICplk7!HR}$&i0}%CB1HM6Oct zgP~Fo$jORN^>G_QPBr`mj+JnrR4Yzi#JW_r%c>s^pB^pc^Hb%kGCb{rEtf*+F9v~M yknvpAmx4f25T3j2ZDLe-LKK7uhn-@v+SqAgf}klp#PsgnZS-JC!e%v%koykLBTcn)YLU98LR0)O%ZfKeh`8{ayrhwfawO@9#4oro}t3IS zfSMfP+Us5gygMf=-{?aX?8(uVaA?q6qGb`!a6Ry_i4E^lyr7wlH>h zKIS2F9x#5`1FGZu z;lCmFelw5LG~%7-`@D< -#define TB_TILT_X <-0.32> -#define TB_BANK_Z <0.5> // Do not define this if you dont want banking -#define TB_WAKE_PIECE lprop -#define TB_WAKE_PIECE2 rprop -#include "../tilt_bank_submarine.h" +#include "unit_hitbyweaponid_and_smoke.h" +TurnControl() +{ + var lastHeading, currHeading, diffHeading; + lastHeading = GET HEADING; + while (TRUE) + { + currHeading = GET HEADING; + diffHeading = currHeading - lastHeading; + // Set values for tilt + turnClock = 1; + turnCounter = 1; + if (diffHeading >= 500) + { + turnClock = <2>; + } + if (diffHeading <= -500) + { + turnCounter = <2>; + } + lastHeading = currHeading; + sleep 100; + } +} Propcontrol() { - var currentSpeed; while(TRUE) { - currentSpeed = (get CURRENT_SPEED)*1000/TB_maxSpeed; - spin lprop around z-axis speed (<-1.0> * currentSpeed ) accelerate <10.0>; - spin rprop around z-axis speed (<1.0> * currentSpeed ) accelerate <10.0>; - spin bprop around z-axis speed <1.0>*currentSpeed accelerate <10.0>; + currentSpeed = (get CURRENT_SPEED)*1000/moveSpeed; + spin lprop around z-axis speed (<-1.000000> * currentSpeed ) * turnCounter accelerate <10.000000>; + spin rprop around z-axis speed (<1.000000> * currentSpeed ) * turnClock accelerate <10.000000>; + spin bprop around z-axis speed <1.000000>*currentSpeed accelerate <10.000000>; sleep 100; } } @@ -45,38 +60,45 @@ Propcontrol() Create() { gun_1 = lturret; - call-script TB_Init(); + moveSpeed = get MAX_SPEED; + start-script Propcontrol(); + start-script TurnControl(); } -StartMoving(reversing) +StartMoving() { - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; + signal SIG_MOVE; + set-signal-mask SIG_MOVE; - START_TILTBANK; - start-script Propcontrol(); + while( TRUE ) + { + emit-sfx 256 | 3 from lprop; + emit-sfx 256 | 3 from rprop; + emit-sfx 256 | 3 from bprop; + sleep 250; + } } StopMoving() { - signal SIGNAL_MOVE; - STOP_TILTBANK; - stop-spin lprop around z-axis decelerate <10.0>; - stop-spin rprop around z-axis decelerate <10.0>; - stop-spin bprop around z-axis decelerate <10.0>; + signal SIG_MOVE; + set-signal-mask SIG_MOVE; } -FireWeapon1() +FirePrimary() { gun_1 = !gun_1; } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = gun_1; + piecenum = gun_1; } - +SweetSpot(piecenum) +{ + piecenum = base; +} static-var Stunned; ExecuteRestoreAfterDelay() @@ -102,10 +124,10 @@ RestoreAfterDelay() start-script ExecuteRestoreAfterDelay(); } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; move rturret to x-axis [9] speed [30]; move lturret to x-axis [-9] speed [30]; @@ -114,9 +136,9 @@ AimWeapon1(heading, pitch) return (1); } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = lturret; + piecenum = lturret; } Killed(severity, corpsetype) { diff --git a/scripts/Units/armserp.cob b/scripts/Units/armserp.cob index ff9f249a7ee759832a2570d1c4dab686ad16eb3b..168935f545d682a7a7d7c1ce752280ae4534aaf6 100644 GIT binary patch literal 3547 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 diff --git a/scripts/Units/armsfig.bos b/scripts/Units/armsfig.bos index 68f98fb6047..89f8d97a147 100644 --- a/scripts/Units/armsfig.bos +++ b/scripts/Units/armsfig.bos @@ -1,12 +1,46 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, wingl, wingr, fanl, fanr, turretl, turretr, flarel, flarer, thrust; -static-var gun_1; +static-var Static_Var_1, Static_Var_2, Static_Var_3, statechg_DesiredState, statechg_StateChanging, gun_1; // Signal definitions -#define SIGNAL_MOVE 1 +#define SIG_MOVE 2 + + +activatescr() +{ + if( TRUE ) + { + + spin fanl around y-axis speed <200> accelerate <8>; + spin fanr around y-axis speed <-200> accelerate <8>; + turn wingl to z-axis <90> speed <90.000000>; + turn wingr to z-axis <-90> speed <90.000000>; + sleep 690; + } + sleep 10; + return (0); + // Build by COBBLER Ver4.0 Copyright @1998 DIGITAL CONCEPT SOFTWARE (MANU@inext.fr) / http://www.annihilationcenter.com/DCS/ +} + +deactivatescr() +{ + if( TRUE ) + { + + stop-spin fanl around y-axis decelerate <8>; + stop-spin fanr around y-axis decelerate <8>; + turn wingl to z-axis <0> speed <90.000000>; + turn wingr to z-axis <0> speed <90.000000>; + sleep 990; + } + sleep 10; + return (0); +} #define BASEPIECE base #define HITSPEED <105.0> @@ -15,81 +49,136 @@ static-var gun_1; #define MAXTILT 100 -#define BARRELROLLSPEEED <200> -#include "air_barrelroll.h" +InitState() +{ + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; + return (0); +} +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + call-script activatescr(); + currentstate = 0; + } + if( statechg_DesiredState == 1 ) + { + call-script deactivatescr(); + currentstate = 1; + } + } + statechg_StateChanging = FALSE; + return (0); +} + +static-var maxSpeed, currentSpeed; +BarrelRoll() // remember to start-script BarrelRoll(); in Create()! +{ + currentSpeed = (get CURRENT_SPEED); + maxSpeed = (get MAX_SPEED); + + while (TRUE){ + sleep 2000; + currentSpeed = (get CURRENT_SPEED); + //get PRINT(maxSpeed, currentSpeed, Static_Var_1); + if( Rand( 1, 5 ) == 1 AND (maxSpeed < (currentSpeed+100) ) ) + { + turn base to z-axis <240.054945> speed <120.027473>; + wait-for-turn base around z-axis; + turn base to z-axis <120.027473> speed <180.043956>; + wait-for-turn base around z-axis; + turn base to z-axis <0.000000> speed <120.027473>; + } + } +} Create() { hide flarel; hide flarer; hide thrust; gun_1=0; + call-script InitState(); start-script BarrelRoll(); - + return (0); } Activate() { - show thrust; - spin fanl around y-axis speed <200> accelerate <8>; - spin fanr around y-axis speed <-200> accelerate <8>; - turn wingl to z-axis <90> speed <90.0>; - turn wingr to z-axis <-90> speed <90.0>; - + show thrust; + start-script RequestState(0); + return (0); } Deactivate() { hide thrust; - stop-spin fanl around y-axis decelerate <8>; - stop-spin fanr around y-axis decelerate <8>; - turn wingl to z-axis <0> speed <90.0>; - turn wingr to z-axis <0> speed <90.0>; + start-script RequestState(1); + return (0); } -StartMoving(reversing) +StartMoving() { - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; + signal SIG_MOVE; + set-signal-mask SIG_MOVE; } StopMoving() { - signal SIGNAL_MOVE; - + signal SIG_MOVE; + return (0); } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { return (1); } -FireWeapon1() +FirePrimary() { - + return (0); } -AimWeapon2(heading, pitch) +AimSecondary(heading, pitch) { return (1); } -FireWeapon2() +FireSecondary() { - + return (0); } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = flarel; - + piecenum = flarel; + return (0); } -QueryWeapon2(pieceIndex) +QuerySecondary(piecenum) { - pieceIndex = flarer; - + piecenum = flarer; + return (0); +} + + + +SweetSpot(piecenum) +{ + piecenum = base; + return (0); } Killed(severity, corpsetype) diff --git a/scripts/Units/armsfig.cob b/scripts/Units/armsfig.cob index 07aca7b43b54f8f842bed4dab0d0874952e8c216..f43112e6595cac01504c7fc9df0e001227f641cf 100644 GIT binary patch literal 3217 zcmds3OK1~O6unK;)T+oJqPQpwein*C6kLj}Kh&bM4H1Mck|xs{m?r6D(ozr%CN#)TO{TF^4EV#s>3#2>d+)pNygQ|75!nmu1XfZa zJ7D?q7LI+pM5cff*x!fkb5c$p$wJ0C48#4)fyibb!I2fGpZ+dxZGK~eTsp>mJs0KC ziYulrjyE-xORpji9R13@;v(DU@ND+1Yc6FxWBl6V6}YrV8Tqj{`nKxH)Jo_{IkrKt z{(D~fCwfX}Q;|N%VIA(x`F79##RUhX;Uh<_XJAsX9HVh8hduDlT93JmNo6B{cW#@v zc~Tf~c+OMSu(_;>Ei{d|2VA@8&;BT{XT`*L* zx|uuT4NXr>bTZM5#p28ij&IIooSC`qxY!xgF)5CHnltOs_i5IxXw5Wz<9Lkv^?P6q za|Z6Z>E8HO7_%Kuj_=2rW8Ln2?y1>!JoA!xp0D2+YaL{;8_mWuG)*6S*O}+u#h$hW zD+SKeV7oULu5M1>l0oF6H|{t0j{Z(W>lS#eM}N{;)H;dNZ^^YWEm*C|bCdEoUrC&P zKdy~w!D>x2TM3#N-N5PF$8|o<8dm2oR%hPpSLp1b4)4-})jn0vUf$q;(78kntj>8{ zh`R92ez(pp&gg!Fzolm{Z{Ev1|0yk7|B#kjy{l^0i_YDD8*oKA2HXH{0n5NT@EJ%W zcn@#@7zPdjM}gzON#G1{7PtiPf8EExGOz-?23CPLz#8xlSO-1<-+-arBKv_Oz$st^ zxCTrBH-RZ&8khxqAO!9J_kf2$u@qJoilNsi1yc6nyQ|eomnObPadTE7huHB|5u_ zrWY(}oY{1^+@j}&xq2;>v5N0|WtlEEJXyq zdHX5XYtWW)xhlWp4H+>tBOL&_#z1F`=DBiRdQN|_HC3JM-4Fy<$FIBV{C-|R2glQR z&z)n%&2|2At&APr2Qd=EHuNmiwsN!A zqb=}ktHY%qSN2FBJqxu3AK(WY^=gAC;(E}UnMX$c%uU^9Ic@_KGO~HSf?MK*XZwcZq?t;mKUG(>9@z3@cU}OrhOd) zk#X&vM*rTI=GDHm&zx<{ImHX=NOZVH=m!8w#?u&QwzqK!*ch2T^)vjlu zwQDc^v&OWifQ!H#;1TcycnZ7#UIMRxH^6(~Gr<3+BfxQB7?=Rg12K>Rw}E@W17Hz& z1}p=wfw#a%;1lo__y&9jegHp#6LFp=+1YlM$;mv4i$q4Ji*$~{SQ4u^Rm6F5x;>Y+ zuF6!=?l^HYy>TIlJMGp{8Bg;> speed <90.000000>; + turn wingr to z-axis <-90> speed <90.000000>; + sleep 690; + } + sleep 10; + return (0); + // Build by COBBLER Ver4.0 Copyright @1998 DIGITAL CONCEPT SOFTWARE (MANU@inext.fr) / http://www.annihilationcenter.com/DCS/ +} + +deactivatescr() +{ + if( TRUE ) + { + turn wingl to z-axis <0> speed <90.000000>; + turn wingr to z-axis <0> speed <90.000000>; + sleep 990; + } + sleep 10; + return (0); +} + #define BASEPIECE base #define HITSPEED <105.0> //how 'heavy' the unit is, on a scale of 1-10 @@ -16,10 +44,60 @@ static-var gun_1; #define MAXTILT 100 +InitState() +{ + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; + return (0); +} -#define BARRELROLLSPEEED <200> -#include "air_barrelroll.h" +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + call-script activatescr(); + currentstate = 0; + } + if( statechg_DesiredState == 1 ) + { + call-script deactivatescr(); + currentstate = 1; + } + } + statechg_StateChanging = FALSE; + return (0); +} +static-var maxSpeed, currentSpeed; +BarrelRoll() // remember to start-script BarrelRoll(); in Create()! +{ + currentSpeed = (get CURRENT_SPEED); + maxSpeed = (get MAX_SPEED); + + while (TRUE){ + sleep 2000; + currentSpeed = (get CURRENT_SPEED); + //get PRINT(maxSpeed, currentSpeed, Static_Var_1); + if( Rand( 1, 5 ) == 1 AND (maxSpeed < (currentSpeed+100) ) ) + { + turn base to z-axis <240.054945> speed <120.027473>; + wait-for-turn base around z-axis; + turn base to z-axis <120.027473> speed <180.043956>; + wait-for-turn base around z-axis; + turn base to z-axis <0.000000> speed <120.027473>; + } + } +} Create() { hide flarel; @@ -28,54 +106,77 @@ Create() hide misflarel; hide misflarer; gun_1=0; + call-script InitState(); start-script BarrelRoll(); + return (0); } Activate() { show thrust; - turn wingl to z-axis <90> speed <90.0>; - turn wingr to z-axis <-90> speed <90.0>; + start-script RequestState(0); + return (0); } Deactivate() { hide thrust; - turn wingl to z-axis <0> speed <90.0>; - turn wingr to z-axis <0> speed <90.0>; + start-script RequestState(1); + return (0); } -AimWeapon1(heading, pitch) +StartMoving() { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_MOVE; + set-signal-mask SIG_MOVE; + +} - turn turretmisl to x-axis 0-pitch speed <720.0>; - turn turretmisl to y-axis heading speed <360.0>; - turn turretmisr to x-axis 0-pitch speed <720.0>; - turn turretmisr to y-axis heading speed <360.0>; +StopMoving() +{ + signal SIG_MOVE; + return (0); +} + +AimPrimary(heading, pitch) +{ + signal SIG_AIM; + set-signal-mask SIG_AIM; + + turn turretmisl to x-axis 0-pitch speed <720.000000>; + turn turretmisl to y-axis heading speed <360.000000>; + turn turretmisr to x-axis 0-pitch speed <720.000000>; + turn turretmisr to y-axis heading speed <360.000000>; wait-for-turn turretmisl around x-axis; wait-for-turn turretmisl around y-axis; return (1); } -FireWeapon1() +FirePrimary() { sleep 1000; gun_1 = !gun_1; + return (0); } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - - if (gun_1 == 0) { - pieceIndex = misflarel; - }else{ - pieceIndex = misflarer; + if (gun_1 == 0) + { + piecenum = misflarel; + } + if (gun_1 == 1) + { + piecenum = misflarer; } + return (0); } - +SweetSpot(piecenum) +{ + piecenum = base; + return (0); +} Killed(severity, corpsetype) { diff --git a/scripts/Units/armsfig2.cob b/scripts/Units/armsfig2.cob index 91a25014b37725b3a612e0131674f4563c8a692a..02f69b8af28c7ed231b35df93cbcbbaddaeeb8fd 100644 GIT binary patch literal 3063 zcmdT`J7^S96n*>2#;E8tf+E5+b{30;HiE{8B2ihh1i?ZwNk$!*&91Yvi7CXbf@L}z z3$aog(ZWu!un-YUZ6P*_jgZ1hl=YnZ-rY==Oi)N+7S6uUIrsDKyKj@SF=j8Y8@N|A zW(P)oF6_h_cmo{4`Ul2>SM&-brz+k)3|#*@xi%W#2oE>wxbo{>j~w@vd%;Py;L!(M z_vf6NT1ECXRux;>Sfa^^rCc`FrxJGmB38Lt^eAO4`r*2qSu-!=g9FOYkYg<_VJK#7 zvOcnBQGc|hrU?H$lFd9@{ z^W(XBCi>;5F=s_r@{EVNv}|qOVUKo`lXiUa6dULtO4%pq+Wwrn9ty4c&2;LIF4pN# zvt?}2hj8qhDI<5z(e@28B#E`WIgGn9HmsxYxKqiITCZYlGdk(Xn)TI>2OaxMYe!Sj zAqIU?M~?nB(vg>#E&C2--nDa@>78day07npKIELvhs>Ri&%HvwHtc=L#mAlb$VeR7 z99Mg5Z$mk1>3cIDBb)djC-HFS8jJTY{poxQU$f`^#sXCf(ra=b57Bp3dpFEOLP4v) z30hyfZ~Lzfht%?(`5wu!XH{$CS?x8aWiP09FpjSCc;=$NDbyZdK;Qa*?))>R{x(qK zW6iOP(M<9E3`?GQoaXLBK4{0j$g`9B=fq==y+F>Z&tY~|T` z=KtmF|I)XEZ;MxV5I6>m0!zRL;482S`~*rc8UaoK=YRl+0RDez@T0c}*bf{As=#sJ z6fh240j7Zlum~&x%fNl$0q_WT3_Jr~0Y?^z97{lk{S9KAO9Md9&rFqfw)lM2#R> zG-snE)cNI3m@Mj|z7U3Kz12+3cofIsteFnlp;>^ZSiTc;Jr0n99TJn?Ogin1l+^t6<3L-A|+{`=Q@67C7AR_yKL%^ek2tN9BLXjMJ z44j5!2UOZkM>Jg1EzznSxMl`SmQAsG;^JXyol_XZEBk)VV(<16+ODL7x3hSV>={ok zhK^Tcezog_s7V~tkp`Z&JY}CLKL}zzLF9cMeEnlOVZ07*>+Qc?sQgG-JNsgHG+nSW z8c|2N>A;G{Lhk8Us@o%$>2{4(+XZ1Ed8qSKe!Jp7j2h#6+8m{g`5_PevPnu4C)vIT^i>y-eRjBJ!YOy92#bijjrY}Y&o0FPxHXN&1NF6cJUQ+ z!k=@t_kug}*2_6}lTUmxW8X{b0d>b<%lCjg9->gnSTFsp{vmDLtkz4too&W;wmq=3 z_NHdfJ+1q5HuW=GQ$K4Rz8>yXz3#KHwYtywx^;h|->>@#W8hx@vhL+t-CbWd@BKga zo3r@S+O~PWzt~fo(ey4b&1K*gkOL2aXTS^K9l-yQm%tm~J@66u0(=J!;K%eZa1=NW zoCHn*5pW)u2d)6uf!n|;Fdr91l3nX%nOrK8xJ+bjxlA|6EF`h9bLra6B+h&5XJj!g z663E9l48>iOKFxRE7FboiQG@uS2O)C -#define HOVER_ROCKBASE ground -#define HOVER_WOBBLE_PERIOD 30 -#define HOVER_WOBBLE_AMPLITUDE [0.5] -#define HOVER_WAKEPIECE wake -#define HOVER_IDLE_SFX 1024 + 2 -#define HOVER_WAKE_SFX_1 1024 + 0 -#define HOVER_WAKE_SFX_2 1024 + 1 -#include "../bar_hovercraft_common.h" +#define SIG_AIM 2 +#define SIG_MOVE 4 +#define SIG_IDLE 8 + +WobbleUnit() +{ + while( TRUE ) + { + if( Wobble_status) + { + if( get GROUND_WATER_HEIGHT(get UNIT_XZ) < 0 ) //Over Water + { + move base to y-axis [0.000000] speed [0.50000]; + } + else + { + move base to y-axis [1.000000] speed [0.50000]; + } + } + else + { + if( get GROUND_WATER_HEIGHT(get UNIT_XZ) < 0 ) //Over Water + { + move base to y-axis [-1.000000] speed [0.50000]; + } + else + { + move base to y-axis [0.000000] speed [0.50000]; + } + } + Wobble_status = !Wobble_status; + sleep 260; + } +} + +BankControl() +{ + var lastHeading, currHeading, diffHeading; + lastHeading = GET HEADING; + while (TRUE) + { + currHeading = GET HEADING; + diffHeading = currHeading - lastHeading; + // Set values for tilt + + //Remove Extreme values + if ( diffHeading > 1500 ) diffHeading = 1500; + if ( diffHeading < -1500 ) diffHeading = -1500; + //get PRINT(diffHeading); + turn base to z-axis 1.0 * diffHeading speed <23>; + + lastHeading = currHeading; + sleep 67; + } +} #define BASEPIECE base @@ -28,20 +71,63 @@ static-var restore_delay; #define UNITSIZE 2 #define MAXTILT 100 -#include "../unit_hitbyweaponid_and_smoke.h" +#include "unit_hitbyweaponid_and_smoke.h" + +HoverIdle() +{ + signal SIG_IDLE; + set-signal-mask SIG_IDLE; + while( TRUE ) + { + emit-sfx 1024 + 2 from wake; + sleep 1750; + } + //return (1); +} + +StartMoving() +{ + spin fan around z-axis speed <1400> accelerate <100>; + signal SIG_MOVE; + set-signal-mask SIG_MOVE; + signal SIG_IDLE; + var waketime; + while( TRUE ) + { + emit-sfx 1024 + 0 from wake; + waketime = (get CURRENT_SPEED) * 100 / get MAX_SPEED; + if( waketime < 30 ) waketime = 30; + sleep 15000 / waketime; + } +} + +StopMoving() +{ + stop-spin fan around z-axis decelerate <50>; + signal SIG_MOVE; + signal SIG_IDLE; + start-script HoverIdle(); + return (0); +} Create() { hide wake; hide flare; + hide flare; restore_delay = 3000; - SLEEP_UNTIL_UNITFINISHED; - start-script HoverCraftMotion(); + while( get BUILD_PERCENT_LEFT ) + { + sleep 400; + } + start-script BankControl(); + start-script WobbleUnit(); } -SetMaxReloadTime(reloadMS) +SetMaxReloadTime(Func_Var_1) { - restore_delay = reloadMS * 2; + restore_delay = Func_Var_1 * 2; + return (0); } static-var Stunned; @@ -51,8 +137,8 @@ ExecuteRestoreAfterDelay() return (1); } set-signal-mask 0; - turn turret to y-axis <0.0> speed <200.0>; - turn gun to x-axis <0.0> speed <100.0>; + turn turret to y-axis <0.000000> speed <200.000000>; + turn gun to x-axis <0.000000> speed <100.000000>; } SetStunned(State) { @@ -67,34 +153,41 @@ RestoreAfterDelay() start-script ExecuteRestoreAfterDelay(); } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; - turn turret to y-axis heading speed <200.0>; - turn gun to x-axis <0.0> - pitch speed <100.0>; + signal SIG_AIM; + set-signal-mask SIG_AIM; + turn turret to y-axis heading speed <200.000000>; + turn gun to x-axis <0.000000> - pitch speed <100.000000>; wait-for-turn turret around y-axis; wait-for-turn turret around x-axis; start-script RestoreAfterDelay(); return (1); } -FireWeapon1() +FirePrimary() { emit-sfx 1024 + 0 from flare; + return (0); } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = turret; + piecenum = turret; + return (0); } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = flare; + piecenum = flare; + return (0); } - +SweetSpot(piecenum) +{ + piecenum = base; + return (0); +} Killed(severity, corpsetype) { @@ -104,8 +197,10 @@ Killed(severity, corpsetype) explode base type BITMAPONLY | NOHEATCLOUD; explode turret type BITMAPONLY | NOHEATCLOUD; explode gun type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare type BITMAPONLY | NOHEATCLOUD; explode tail type BITMAPONLY | NOHEATCLOUD; explode fan type BITMAPONLY | NOHEATCLOUD; + //explode wake type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } if( severity <= 50 ) @@ -114,8 +209,10 @@ Killed(severity, corpsetype) explode base type BITMAPONLY | NOHEATCLOUD; explode turret type FIRE | SMOKE | FALL | NOHEATCLOUD; explode gun type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare type FIRE | SMOKE | FALL | NOHEATCLOUD; explode tail type FIRE | SMOKE | FALL | NOHEATCLOUD; explode fan type FALL | NOHEATCLOUD; + //explode wake type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) @@ -124,15 +221,19 @@ Killed(severity, corpsetype) explode base type FIRE | SMOKE | FALL | NOHEATCLOUD; explode turret type SMOKE | FALL | NOHEATCLOUD; explode gun type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; explode tail type FIRE | SMOKE | FALL | NOHEATCLOUD; explode fan type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode wake type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; explode base type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode turret type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode gun type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode tail type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode fan type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode wake type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/armsh.cob b/scripts/Units/armsh.cob index 18182b7b1832e21fa2b0dfd969b8fadbe83f0d3f..9fb1de1100b17256059d3a63490aca113ffea97c 100644 GIT binary patch literal 4082 zcmbtXO^6&-5U!b>o%o*)<`9+0;LkzaLn|UG9yYsf%n~D;ooI*`w>R@PG&?grbb69q z$YD+qM8u0A0YMKQgDE$AUP<4m-v0}y_$L3nOQPsLTy!7ef9h5 zb(5Ni+z;9V8qA2yg7Y_bpU4*IYtS5?uYgygYE+?dtscD&R>O1EKR*dh`>UScNqwUh zQAe@NB_7!%nvEFq5ycHgc!}_jdj6TOM^8{@%z83n4ZcNHEss&C# zEyMYIG#k}oH!Id&V>59jVn2|Evyl}%H_)3WVpj>k9INnGte(Lo?;B!hLneDpVPQAf_$Kl89-H~R~Lj=9R%$Npvi4*QnJQm0tPdjr|XwFbtJcn1BrGt`*YjvO=- zzi4r89*NgcRh|du64u}H*kPV|*C*E4_DRn8$lc;Z}Y}))*DQ#2RR049#g}pHpkm8EFllYWz|S2N}nI4_cJ{ojL0D zyf@>{|6$twu6*KSQ>R$g_`wUo{18Wby{NS?2F{AucOHd2Ke@+YUpNQ-7SfL)?44P2 za}{vcv*W~kez!Yo>iHb*%@4ko_h^jWyY5@c$U|m-kX77~v%&2c-9erW=f}OGZ;0hS z+H=A_T!)c18{hYD}osaC&2QfBZ!@Xm*C%$7D&)U3fi$zWMSi#k8 z?JF+7`2D6X>`Ctf0YA!aznnaPUE^_{lj89%O|sed4dSxa^0&gi|9x-2_}+B3 zx6<1*_1{j<)8x@vaE_eGfPMQj*=-i5iSx6V!?5YgnR8Ec7Sq(haE!sTC7*PzIv3^4 z!FttKJx=r7RoSh_bseb8mlSD;@(S3xxty&rTCv;bNL9S5BPB_RHP@*3zL(9B+udqEF@ z9tS-IdJ(h;Isxi{wm@%#-UodQx(xaP^bP1c(D$I9KvzJ2fUbi61f9&**W2c`Zd%Af z(%oFlx<#I~0kC(@3Qr7d&1Uzk;Mw#agGXrnOsOQxM{6WJ{K-L7fL&BjA%XC+TN zNxm(I)7+>G_2E1lnvVBPzOA@VzxCE literal 4372 zcma)9&ud&&6uy~Er)q^h#YKu$<_~Z&aV3J%*jOVPh)IgL%WLK(4xP-D*EgE1%%b8C zqzgfXq7wWE1Q$g_1VM^!+=z%Siwng~7P=6H>Gz#`zn432GEGuW?vHc6bG~!#x%Z`Y z=iF(?J&<3fojZY%KW}66J1P?A9>dVYIF;1!+qrtHmP}!c*EK4d&v!%!Q-Y zgt+E(;?_<;8cA=0o^gcbNdFro-SW7L(cWRUL;M_I5HIn#^?j z#N^sFo#&5fnG0;GVvI*PY1Zu=ZgSq5wz=^=H*IHD$2R?`4qVfhKd*y&d=U1l`nXTT zjlRT0Y15>UaJ!g?IMP@9 zNm!1)?|i+iKZ76R%i7@|d(d+k4jD&y#=)JknyRkGt>yg+%RYMu23(KyZs5s1>R3DF ztUha0aMmB-RoX52zN*8{_UL3E-4=W*p7qfZ&$*Gvb}F)U=f*icNIr+eVlIqTi||}u zg1u`^CG^!I7JJ-sON~VDh4z>)+}K^LwfvmAwNt(pROw9rrXhI5{cC#GA9us%_!Z;L zcgxo)#9m%CR&PDiRaf$FT7ltO6cX3IM%Z2vl12wZA zt<*@qj>Bt`ub89ibsd+cdPXDoC`aWb41MTaCSl^3!oPyeqv}%a5n=9@zc9*;@!~#? z`x#HQy}!I$zriW_w}U$mh&G z)vT;R(lCGWDIVg>(f$ET|KHOe`h<5-XP}&YO#i-6dBCwT;=^KuoE{E#+>=k@ZqJNz zWenXZ!?RbT@0>7-sr%{ZWH%wTLd|PS%1l|I1uh#4^9igRtc#FAaE!eZ)gfpvijlUy! zZk(#-v}G>p+mC`hxA=DfxyAltocT z*sn$VaqP!Q5OvizX*c3+cX`c!CmlwpEQc@g{b5dol2d%Qe+u|T#=}|gJNE;DxO24U zPh1DxHSN=sd}9CHA{V{`Rx6yxUm=d=30>)P*Uwwmqd2%TR)4sm-OO{NI`bKH45c?r zbs`tql=1icS=~>k$jkmd!nEWNxMB;rpav6c^xhbbiChVJa319$9_}uA(8g-f^mkl2 zp%cp7H76}{vi~<=%J_x_Z{tERdWdHc=cM<7X~(^ZWmz-Y6E{g;J?}HbHhn#};aFUV zCnv7=Xp@{ATicmJ|8dZhc5JV|nfHR8=Tz1SxvH+j*gXh5ZUi36V-gR=oy0?W@wj#j z9_zFTJiZP*=s&K9{EF9m!LN9H8rG_Z?8O6D!|GYB2kTIcC0~m5;SsT9uUJ}FW6{l7 zIQ19>0v3FLFg zSCCtfpCPv)e?s;l|3LnO)bMyUAg3UF$QJsqW%>C$-6$6OMW^3$%l-As7kiz;Ep&=! zc3#fXEB)T{?Re$p)2(zfYp-neFK6z2o~1?RR*~;9r+u8b{$d&s;Ic^Q>^2gPwam1=Aw!blpbUb9VsS?ku1H diff --git a/scripts/Units/armshltx.bos b/scripts/Units/armshltx.bos index 10e13e1d2c6..99f0b34e4cb 100644 --- a/scripts/Units/armshltx.bos +++ b/scripts/Units/armshltx.bos @@ -1,16 +1,112 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" -#include "../factories_common.h" +#include "sfxtype.h" +#include "exptype.h" piece base, pad, head1, head2, head3, head4, head5, nano1, nano2, nano3, nano4, nano5, blink1a, blink1b, blink1c, blink2a, blink2b, blink2c; -static-var spray; +static-var spray, statechg_DesiredState, statechg_StateChanging; // Signal definitions -#define SIGNAL_TURNON 4 +#define SIG_ACTIVATE 2 + +activatescr() +{ + if( TRUE ) + { + turn head1 to y-axis <-15> speed <45>; + turn head2 to y-axis <15> speed <45>; + turn head3 to y-axis <-10> speed <45>; + turn head4 to y-axis <10> speed <45>; + wait-for-turn head1 around y-axis; + } + sleep 11; +} + +deactivatescr() +{ + if( TRUE ) + { + turn head1 to y-axis [0] speed <45>; + turn head2 to y-axis [0] speed <45>; + turn head3 to y-axis [0] speed <45>; + turn head4 to y-axis [0] speed <45>; + wait-for-turn head1 around y-axis; + } + sleep 7; +} + +OpenYard() +{ + set YARD_OPEN to 1; + while( !get YARD_OPEN ) + { + set BUGGER_OFF to 1; + sleep 1500; + set YARD_OPEN to 1; + } +} + +CloseYard() +{ + set YARD_OPEN to 0; + while( get YARD_OPEN ) + { + set BUGGER_OFF to 1; + sleep 1500; + set YARD_OPEN to 0; + } +} + +Go() +{ + call-script activatescr(); + call-script OpenYard(); + set INBUILDSTANCE to 1; +} + +Stop() +{ + set INBUILDSTANCE to 0; + call-script CloseYard(); + call-script deactivatescr(); +} + +InitState() +{ + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; +} + +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + call-script Go(); + currentstate = 0; + } + if( statechg_DesiredState == 1 ) + { + call-script Stop(); + currentstate = 1; + } + } + statechg_StateChanging = FALSE; +} + Create() { hide pad; @@ -20,18 +116,41 @@ Create() hide nano3; hide nano2; spray = base; + call-script InitState(); } +#define SMOKEPIECE base +#include "smokeunit_thread_nohit.h" -#define BASEPIECE base -#define MAXTILT 0 -#include "../unit_hitbyweaponid_and_smoke.h" - -QueryNanoPiece(pieceIndex) +QueryNanoPiece(piecenum) { - spray = (spray + 1) % 5; - pieceIndex = nano1 + spray; + if( spray == 0 ) + { + piecenum = nano1; + } + if( spray == 1 ) + { + piecenum = nano2; + } + if( spray == 2 ) + { + piecenum = nano3; + } + if( spray == 3 ) + { + piecenum = nano4; + } + if( spray == 4 ) + { + piecenum = nano5; + } + spray = spray+1; + if( spray >4 ) + { + spray = 0; + } + } StartBuilding() @@ -53,38 +172,28 @@ StopBuilding() } Activate() { - signal SIGNAL_TURNON; - set-signal-mask SIGNAL_TURNON; - - turn head1 to y-axis <-15> speed <45>; - turn head2 to y-axis <15> speed <45>; - turn head3 to y-axis <-10> speed <45>; - turn head4 to y-axis <10> speed <45>; - wait-for-turn head1 around y-axis; - - FACTORY_OPEN_BUILD; + signal SIG_ACTIVATE; + start-script RequestState(0); } Deactivate() { - signal SIGNAL_TURNON; - set-signal-mask SIGNAL_TURNON; - sleep 5000; - - turn head1 to y-axis [0] speed <45>; - turn head2 to y-axis [0] speed <45>; - turn head3 to y-axis [0] speed <45>; - turn head4 to y-axis [0] speed <45>; - wait-for-turn head1 around y-axis; - - FACTORY_CLOSE_BUILD; + signal SIG_ACTIVATE; + set-signal-mask SIG_ACTIVATE; + sleep 5000; + set-signal-mask 0; + start-script RequestState(1); } -QueryBuildInfo(pieceIndex) +QueryBuildInfo(piecenum) { - pieceIndex = pad; + piecenum = pad; } +SweetSpot(piecenum) +{ + piecenum = base; +} Killed(severity, corpsetype) { diff --git a/scripts/Units/armshltx.cob b/scripts/Units/armshltx.cob index c64d8a8b75858c62fbc9d70b54f3d80e9b339b7e..3890dded83c6654eb51389dfc3aeba75b7ef7006 100644 GIT binary patch literal 5020 zcmcgwJ%}7-7=G_3dr?tF1yK+jun0nmy-i|ep%=jmhVzm$hFI;~?j&xq?yh%pk%+~L z76BtzC}O2pD2SB`R$^l#+Spm7un^6-v94?pKmTW zFCupXcLAs7Mev{g#&?Q*2iyzAK}gzIXQJ6?hT3)`dJqfW|9l{<&-`}%y2KLAQeMz~ zd@BUd&6VhWx)%JHx9E5OLh##XI*E`mXLlR+(ww0*;#O80x@R2LcpOWDl6thzROTB&$RhG4)bN^t1`?%V!(gcv*-LVzV@ncc2(N^T(2_J$yl6Ac*l%w z%UHV2&3(QZdg?m9>%4Qe62lLehfM2gH=?f)2yYs%7$eUsk4InDG267Y;5*TqowUPD zx8dVDuTfTm?nmf&R=ixp19L9Q!$@gP*U&f-CbvJagqtm$Pv)4mTuOJEE^^D*;&qg=zJ#|YIG(%4gn0=zM zox9Gw$_d10p1i-tj)H$Hm#-{WOXJQ(ewSdb^=S=(A>n)$Z`tC_&~RIV4*flD^4Ws? z4wEyD^9Y~SaL>_?GX*_o%yW5vog3%Oj^QU~j~ZbnH`w#;1#Uz9w>TFq4rl89U{1GX ze9!rc*>c`xwt9DrgICO!94WKaS()uSW=o!x+3Nhv_5-se7t3s+7W`$2oQL_dXq;x? z!RHo-=5D*wWAtp*c#f6l<-777tKJ8!tlKZM>KHe6DA>Dm`uTckMnJ$DzmPQD8p4pC^V1 z7<#_Br8tI~1CRXX;&N~iOx z$j9$sm7jAcHk&b4uhakT#SqbdjMa7IQ&mizC+v0hg>RvL-)ug!Xdq+oT%7NJHJ>^& z^|{sY@p;zq@j1Ki7(MXb`kd>;^ZD2DabA?w;Jm04&-qfv$9Yu8XE%Oz*hk~nhsH17 z(`osY?>*;1e%ARGIDgnv_aEDy-x=5MHIL6~ul~+E_n+o$Zd+$Y&PP9QRX?1A`5fN2 zX=-zx-Ym~Q;pWX^7x_re{GXgF>s?j9{VZiZ)AV~c{#E5Ha*jNzGh?sS*SvpKPUl}8 zpMQ&sWjUwmt#fp*{{Ag3^RMbtk-HqtL%>O32)quw3w#883j7Y-4yO~qdEg7+Yv6m} zDzFV)0|Z6z|Ize;mw;D+H-I;Rw}JP7Pk_&WFM)4>AAp~MUx7b>1^k=x9v}t|00)64 z@G$TQummgvE5Oshvp^d-3-o~uco}#NxB|QdB%Q2xG0D=+&W3c;{M%EbbZ{ow=*rRl za5L526GK_ch9fyP=w)jeyyRs1!dALzFGn|0%GRDAUPw>DM3#Hm(xuaBG8zu##8$d- zX(bs9S9@s(Mp?3vEp7Gs-QM7wMxDGoW+lnvlX`-;S{xgkMHMfmX|^^RX7XgO-%q=; zo@}NvO1kn~nsgWS+0y4BeIC~55g8!=qCQ*tJfzRV`aB}*{odfhVq)vMt(~y8Ox`ki Ht0R8_NYifb literal 3287 zcmb7GJ!n%=6uxO={6(I15*0HFI;7EpW1|j=B9WpF4)!&9*3dMmHB|%!K?Mb=lSNRZ zPNIvWleky}7s1)VLD11bQ4rMcJMVt=`bb(@dfvI`e&?KfzH@)tymM|nWB{_z=Nx|R zXBd-B$bHCe%zUKNsEcw$q1SoMY1*s3UhDN5=v>qn(ae`pE!$NKkt<>@5MrC?T+Byq zv=HsUkaKm;!Jp$i$G|zRa9mntzC#%1F~{175pvak80Uzw4y!*ZME&LjzQ8!9CPr-# zeAo+Oj8`3D&Ge-Y@ox+s?vMIP>0F4}T2Wfh3GWYu8nH%@!`ASeMgePG<)poD$ z;(6LQr{ut)dQOa7bZ$RjsC+t`vUN7-zL?XWq0hmb)}RmTptdz4-UyxL^z8lcc#e)= z(=+0R3(+q>-xtg)mifxS*;n?B{tMop)4I!Cji%~g-#K2zIqXCD2Jo$rzxGG5)RwdA z-xO%RB@Wu&7HE5Wp!xQ24Z;=^yh9cPTklc$UWG9n+kQ<2Z_KrH{2PxD@sr>G{BgKb zcAxy3!k#fPFrF*6kN(0w{Y>MSKZ|W+6A)+p!4NO&fBE?yGZ*7ragFtobM`*Yr~BCf zNT1D^&ic+VG4_k|*<9SiGd|YV&#c2`*iXjx>dh@K>hp`Q#r5cuux@=4)~!#%mg`gM zm+8}JA$qyO9w`rd^mK_>^-cclm5np+LU=zzoNq^X$F>kGru#a8gQoptJjyV8o<7m) z#e4S9+tyQL6Ry9#vaPQH&O5>U!tGoKHjieA7c#c)o#NFC*}M{AJnJV{YM!f*x4kW% zch&P|JuBg@K8Uw$@s=&#H&_SyDBi-wTef)1U%Z8jw`}p2y%g^nYw)~hJ#X&gQoJ8A z26bz{?|56hg^Rar@t*bmy?861cq?AKh4rs`xB7mdU5E0(lK7z+o$7Cu9h61@ad19>V{jKSRDlavPl62-yzV1=$CwK#oFA zL&hNEkO|0n$R)^C$aTnV$X&=i$OFh@$P>tO$P36T$Q#Hz$bso3?j-I|qqG0=sU)6i zw+`1s%N>j-zMzccjs5CUrL!Ur5|kTzBV^xISp#vVHg1cdvbiTnnoX+P7@qJ@(ye b-yt{FY_ui@W3R`&uBE!{=gWS+TyuW`gm?ha diff --git a/scripts/Units/armshockwave.bos b/scripts/Units/armshockwave.bos index 2b39c13053d..393ebb5b330 100644 --- a/scripts/Units/armshockwave.bos +++ b/scripts/Units/armshockwave.bos @@ -1,38 +1,97 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" //piece base, column, turret, barrel1, barrel2, flare1, flare2; piece base, pins, clock, shaft, emp, flare, aimy; -static-var resourceRate, restore_delay, Stunned; +static-var meatspin, Static_Var_1, restore_delay, Static_Var_3, Static_Var_4, Static_Var_5, + Static_Var_7, Static_Var_8, statechg_DesiredState, statechg_StateChanging, + Stunned; // Signal definitions -#define SIGNAL_AIM1 256 +#define SIG_AIM 2 + + +Go() +{ + if (Stunned) { + return (0); + } + //spin column around y-axis speed Static_Var_3 accelerate Static_Var_4; + spin clock around y-axis speed meatspin accelerate <0.500000>; +} + +Stop() +{ + //stop-spin column around y-axis decelerate Static_Var_5; + stop-spin clock around y-axis decelerate <1.000000>; + wait-for-turn clock around y-axis; +} + +InitState() +{ + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; +} + +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + call-script Go(); + currentstate = 0; + } + if( statechg_DesiredState == 1 ) + { + call-script Stop(); + currentstate = 1; + } + } + statechg_StateChanging = FALSE; +} Create() { hide flare; - resourceRate = 500; + meatspin = 500; + + Static_Var_3 = 0; + Static_Var_4 = 91; + Static_Var_5 = 182; + Static_Var_7 = 0; + Static_Var_8 = 0; + Static_Var_1 = 1; + call-script InitState(); } - -#define BASEPIECE base -#define MAXTILT 0 -#include "../unit_hitbyweaponid_and_smoke.h" +#define SMOKEPIECE base +#include "smokeunit_thread_nohit.h" Activate() { - spin clock around y-axis speed resourceRate accelerate <0.500000>; + start-script RequestState(0); } Deactivate() { - stop-spin clock around y-axis decelerate <1.0>; + start-script RequestState(1); } -SetMaxReloadTime(reloadMS) +SetMaxReloadTime(Func_Var_1) { - restore_delay = reloadMS * 8; + restore_delay = Func_Var_1 * 8; } ExecuteRestoreAfterDelay() @@ -41,68 +100,71 @@ ExecuteRestoreAfterDelay() return (1); } set-signal-mask 0; - spin clock around y-axis speed resourceRate accelerate <0.500000>; - turn shaft to y-axis <0> speed <60>; - turn emp to x-axis <0> speed <70>; + turn shaft to x-axis <0> speed <30>; + start-script RequestState(1); } - SetStunned(State) { Stunned = State; if (!Stunned) { start-script ExecuteRestoreAfterDelay(); } - if (Stunned) { - call-script Deactivate(); + if (State) { + call-script Stop(); }else{ - call-script Activate(); + if (statechg_DesiredState == 0) { + call-script Go(); + } } } - RestoreAfterDelay() { sleep restore_delay; start-script ExecuteRestoreAfterDelay(); } -SetSpeed(windOrMetal) +SetSpeed(Func_Var_1) +{ + meatspin = Func_Var_1 * 2; +} + +SweetSpot(piecenum) { - resourceRate = windOrMetal * 2; - if (resourceRate > 0) call-script Activate(); // Because SetSpeed is called after Activate + piecenum = base; } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - if ( resourceRate == 0 ) // only allow attacking when extracting + if ( meatspin == 0 ) // only allow attacking when extracting { return (0); } + - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; turn shaft to y-axis heading speed <60>; - turn emp to x-axis <0.0> - pitch speed <70>; + turn emp to x-axis <0.000000> - pitch speed <70>; wait-for-turn shaft around y-axis; wait-for-turn emp around x-axis; - start-script RestoreAfterDelay(); return (1); } -FireWeapon1() +FirePrimary() { emit-sfx 1024 + 0 from flare; } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = flare; + piecenum = flare; } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = aimy; + piecenum = aimy; } diff --git a/scripts/Units/armshockwave.cob b/scripts/Units/armshockwave.cob index 41f4823b511f494b447c004522920c3b211e1aa5..6363256a99d9f3379b18925806093499b2d575ca 100644 GIT binary patch literal 3505 zcmb_fO^6gn6n;C7<4+>Apa;Q2<0TLhnTX&aLUwii2@+X%6d@AWcC00hGt*;luR6E6 zcoWf!AVd%a5zHYFNFc`$$Sr3NArQz#Q1B3lc=G#R*Bfh_8JX1#d{n*v_r9uXcIzUt z1K0$-sEK@tmA_{nh#Z7)9ry(DBdqnP7Hy?*sS(kC1~NriXhhtf!5C`Vylq!1}bY$NgApK}?v#dba$GVJv-W$WMJW zc4UVi?Xt8nVjYLA*{nxdC~arx7o$J_GrQFY<20v_Yx_9WVb3`2$@eC+jcC^E={lB^ zC5bkApMMcdANpDkls9-;&kl0k%RD36EgquE4R1Hu?g4wFzxIoHd7k`PEjuI1+i8gF z%H7?-hw->}Yhr9}^8A;#u}8*}LvHPy=zEBYX371}*ix6MZbt7Yx8v%BIW&J%=J?g; zpl)2feN5Qg5J|Jl&-q7v=xy}x!RLG8?K51}?A8hXAAWzSr#hVEh4`vIY9XCB6nv-2H>eDY0^Bi7Y-9@JvL_D$K1 zq^zU4G0Ujtu-u>C8T1j0)@JHa%oP2w2i6Ai7&fw3*_!wt<+stj|@H5}=Gqbm8XO7`Zo`zVh7rO^`4ti<)`A&20#*M{K z6JvARH;OX*srF_(#V}WGR?pUH>Q=dB&h_wTwL*?2_5OeJI!#UEbv=C=$LonPUt7c8 z-sK#4{QTQtH}DbA0d4|+1Fr!7?XeZu3G4+<0bc_S=mK|u2f$n+9)+PO{Cv)v0y-f4GOKjV6#aGGIMc2ua z3#ZerlOtDMd$n+jNSWnsZn<#zyz3+bfoH2&?e*LRlpJU5JD6Hm9Q^uOA#-VWAy2zW zK9Hkn?reW*)#U>d;Bz$3Mt&#KP6s*8Co4|+X>Uc^oveLPR=!P^3vu1PEO(OJNs@L4 F@)}o{2;@ zwt>uXk@JwVSY=7VK`f~-9sW+imP<3#%3NhS2qg=h2l}3(Et?5tDF{zvOI?XN_;YV- z!p?nx`rM%PJ%?=ux&f@T(InG*HtImb@}Q4|f%WA!?c%u7hb#5;L7SpEm50xnzVu;! z_9^*+Fr7AG;S%KlaPmb!@pl#>!aM*POkp-#XCJ?rcXFtR4)!+4X! zcRILPuxFl!gvps`ELX{;Y)_jIlzZ>Y4ze+{>+kL`WzK?k_OG*NDC3^82X4ukD}C9E z-rG-3M-{&ja`W^1aW-d|+@UYdk2k~<>#Alz~Kw5Qit z=DPqp=gPU!f6Mt(t>5MyY+2Fja*})(5d40)e@BP>!FJv?zwR;mqAq7cYJM);9qpKV z7Dn3WqkOoPhsnFqkK4<$US51R_6!ipeA{FH+w2)Q8`JAMrku%>-&~hlCz<;siQzrr z+sR+o4(>CwWdr+OT4O#4=bi4LdW^Mw@+`cZ{%m^ZsBeV6!_2{2-5B@gH2c)mcW+

      Dyz8}HUuDbNn}yDuIqY}scn%|wI>z_osXPwjwT^i9rMy(`$D_y?$K#^o!TkMrbQps= zIS$TDwtn*U;UY?xEQCyz5T!(Q{yK+%kxu~pMw3l8kEW`VK8F&xu z0s)GS0HeTFU=dgX+Q19oHSiYL0{Fk#8Q>C70B!?|z%tMRHh`zVE8q?A0r&`f2EGD6 zfF0luunVM5pgwRCxZX5TY-F+=Ut3!=QKMeFS@I+{OR^ diff --git a/scripts/Units/armsilo.bos b/scripts/Units/armsilo.bos index 1c7138384a0..67d9b29e190 100644 --- a/scripts/Units/armsilo.bos +++ b/scripts/Units/armsilo.bos @@ -1,4 +1,22 @@ -#include "../recoil_common_includes.h" +// * Header Info * +// VersionSignature 4 +// NumberOfScripts 17 +// NumberOfPieces 5 +// LengthOfScripts 2f7 +// NumberOfStaticVars 4 +// UKZero 0 +// OffsetToScriptCodeIndexArray c08 +// OffsetToScriptNameOffsetArray c4c +// OffsetToPieceNameOffsetArray c90 +// OffsetToScriptCode 2c +// OffsetToNameArray ca4 + +// OffsetToFirstName ca4 + +#define TA // This is a TA script + +#include "sfxtype.h" +#include "exptype.h" piece base, door1, door2, flare, light1, light2, light3, light4; @@ -11,13 +29,11 @@ static-var silo_state; // 3 = closing, fired missile // 4 = closing, no missile fired - -#define BASEPIECE base -#define MAXTILT 0 -#include "../unit_hitbyweaponid_and_smoke.h" +#define SMOKEPIECE base +#include "smokeunit_thread_nohit.h" // Signal definitions -#define SIGNAL_AIM1 256 +#define SIG_AIM 2 Create() { @@ -77,7 +93,7 @@ CloseSiloDoors() CloseSilo_Fired() { silo_state = 3; - signal SIGNAL_AIM1; // kill any OpenSilo threads + signal SIG_AIM; // kill any OpenSilo threads start-script CloseSiloDoors(); } @@ -92,10 +108,10 @@ RestoreAfterDelay() return (0); } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; start-script OpenSilo(); start-script RestoreAfterDelay(); if (silo_state == 2) @@ -105,7 +121,7 @@ AimWeapon1(heading, pitch) return (0); } -FireWeapon1() +FirePrimary() { shotcount = shotcount + 1; call-script lua_UnitScriptLight(1, shotcount); @@ -114,13 +130,17 @@ FireWeapon1() return (0); } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = flare; + piecenum = flare; return (0); } - +SweetSpot(piecenum) +{ + piecenum = base; + return (0); +} Killed(severity, corpsetype) { diff --git a/scripts/Units/armsilo.cob b/scripts/Units/armsilo.cob index 839113acaedc0cc5575e5ec969e7f4389b69f229..863be858e892ccba666498fe555af0abeac67bce 100644 GIT binary patch literal 2687 zcmcImO=}ZT6un84RE5I05_dra1x3>8NYt+#z6;i-H4vYNKTUZX z&pcC9REnDW6pqw|s>^9E9{bhtb7=m+6O)UimXKr zU>fz7XGauiJLH96*!7xAX*45rGr@u3j}w%!eP zvO7zh8ACmFYR6uYpRaR1QZDIynA`E`XCo)wC+i2Hd+*)@&e(lpd@jyT_x2n*TT_22hJ(R6)2U6;IZ-UWoJP(ZFcbzt#&9}guJ66w_LHXQF%J63nKTi9F zj`7@ipTB-rE&mUeKXd(0{=@X_`Whx?P`@jjf$g`1umIcw z`1jH~;63mO_yT+degH-MA9M^j0h|La0at-}U=dgX?gJ~pI`9N|2Gll^$I;ErIFq?J zn`$pbVKdp3=`;$nNE%z=GHtb$G;U_|@!F$It~aC2THHuvx{^Mpl}HPz#-$r#%{-VP+%*7ZwGr+(gns zLI^i4BKsFXix#e1wUAaqLA&hx&b?>6OzP0U*SYtc@0|0U`|f*|7Ln7y3E+B4Bn`{o z=t+?k;3IGm`>(K)O+_I(qEysNayA{wOeX5VlD-ms;EEouro^KoG*;AhD1)! zkmu9Ixk8@y@H5@=Jo>CA`&>QaG@4eOBiE^CqWRDuSS*?e_(s@Wc6aZ)k9Ux`=kACMW};p1PX&Ib6T{t#;oUYTG;w9E$pG^nR9xzCkLwHenc5} zM%XsB_~*xZyjRCPhgYb>JkDypkE&_k=dgcsz3Q~+b7NoV;@>L%!v1;=ya#xvKltAI zY@oSSKmGJ+9N!x13w^Asu`KQ@xU5aSKGQ>D)WmzlU)am;KF>IO=amRuHa99azcptW z%(^-F_sMiJ-!yKL6LmLpHvGOdZn}-HI!r(Mhkf;X;rsR>(dPZ1zNW+a+Wxq{v()bU z=6qi}uhw};rLMPJV1A3+zFlADwyV9~rnbdfXJXnVU>o=e^gvuMFab1xr@%U}4SWH1 z0RErq8}I}84g3N6@Etk_TmS}uF<=Uq1**UkU8Fo>+=&UQ%9eCgn1c9~SGe alu$RX|MtsVxmbf9D#$z2@62UquE<|p=+969 diff --git a/scripts/Units/armsjam.bos b/scripts/Units/armsjam.bos index 60dbbb02e28..44e71a2ea60 100644 --- a/scripts/Units/armsjam.bos +++ b/scripts/Units/armsjam.bos @@ -1,43 +1,88 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, fork1, fork2, ground; -static-var oldHead; +static-var Static_Var_1, oldHead; static-var recently_damaged, desired_activation; // Signal definitions -#define SIGNAL_MOVE 1 -#define SIGNAL_TURNON 4 -#define SIGNAL_OFF 8 - - -#define RB_MASS 30 -#define RB_LENGTH 6 -#define RB_WIDTH 3 -#define RB_PITCH_SPEED 200 -#define RB_PITCH_ACCELERATION 10 -#define RB_ROLL_ACCELERATION 6 -#define RB_WAKE_PIECE ground -#define RB_WAKE_PERIOD 6 -#define RB_WAKE_CEG 1024 + 0 -#define RB_ONHIT start-script OffOnHit(); -#include "../bar_ships_common.h" +#define SIG_MOVE 4 +#define SIG_ACTIVATE 2 +#define SIG_OFF 8 + + +SetDirection(heading) +{ + var spd; + spd = (get ABS(oldHead) - get ABS(heading)) / 2; + turn ground to y-axis heading speed spd; + turn base to y-axis 0-heading speed spd; + oldHead = heading; +} + +RockOnWaves() +{ + var rockDir, rockAng, rockSpeed; + rockDir = <-0.1>; + rockAng = <-0.1>; + while( TRUE ) + { + while( get ABS(rockAng) < <1.31> ) + { + rockSpeed = <1.45> - get ABS(rockAng); + turn ground to x-axis rockAng speed rockSpeed*4; + wait-for-turn ground around x-axis; + rockAng = rockAng + rockDir; + } + rockDir = 0 - rockDir; + rockAng = rockAng + rockDir + rockDir; + } +} + +SmokeUnit(healthpercent, sleeptime, smoketype) +{ + while( get BUILD_PERCENT_LEFT ) + { + sleep 500; + } + start-script RockOnWaves(); + while( TRUE ) + { + healthpercent = get HEALTH; + if( healthpercent < 66 ) + { + smoketype = 258; + if( Rand( 1, 66 ) < healthpercent ) + { + smoketype = 257; + } + emit-sfx smoketype from base; + } + sleeptime = healthpercent * 50; + if( sleeptime < 200 ) + { + sleeptime = 200; + } + sleep sleeptime; + } +} Create() { hide ground; recently_damaged = 0; desired_activation = 1; - start-script InitRockBoat(); - SLEEP_UNTIL_UNITFINISHED; - start-script BoatPhysics(); + start-script SmokeUnit(); + Static_Var_1 = 0; } Activate() { - signal SIGNAL_TURNON; - set-signal-mask SIGNAL_TURNON; + signal SIG_ACTIVATE; + set-signal-mask SIG_ACTIVATE; desired_activation = 1; // if we are in this function, the unit is already on // implied set ACTIVATION to 1; @@ -69,8 +114,8 @@ Deactivate() //set desired state if deactivated and not recently damaged desired_activation = 0; } - signal SIGNAL_TURNON; - set-signal-mask SIGNAL_TURNON; + signal SIG_ACTIVATE; + set-signal-mask SIG_ACTIVATE; stop-spin fork1 around z-axis; stop-spin fork2 around z-axis; } @@ -88,21 +133,58 @@ SetStunned(State) OffOnHit() { - signal SIGNAL_OFF; - set-signal-mask SIGNAL_OFF; - recently_damaged = 1; - set ACTIVATION to 0; // turn off unit - sleep 8000; //hardcoded time to stay off after being hit - recently_damaged = 0; - set ACTIVATION to desired_activation; +signal SIG_OFF; +set-signal-mask SIG_OFF; +recently_damaged = 1; +set ACTIVATION to 0; // turn off unit +sleep 8000; //hardcoded time to stay off after being hit +recently_damaged = 0; +set ACTIVATION to desired_activation; +} + +HitByWeapon(anglex, anglez) +{ + start-script OffOnHit(); } -StartMoving(reversing) +waveSplash() { + while( TRUE ) + { + turn base to x-axis <-3.0> speed <3.0>; + move base to y-axis [0.35] speed [0.23]; + wait-for-turn base around x-axis; + turn base to x-axis <0.0> speed <3.0>; + move base to y-axis [0.0] speed [0.23]; + wait-for-turn base around x-axis; + } +} + +StartMoving() +{ + signal SIG_MOVE; + set-signal-mask SIG_MOVE; + var waketime; + start-script waveSplash(); + while( TRUE ) + { + emit-sfx 1024 + 0 from ground; + waketime = (get CURRENT_SPEED) * 100 / get MAX_SPEED; + if( waketime < 50 ) waketime = 50; + sleep 14000 / waketime; + } } StopMoving() { + signal SIG_MOVE; + turn base to x-axis <0.0> speed <3.0>; + move base to y-axis [0.0] speed [0.23]; +} + +SweetSpot(piecenum) +{ + piecenum = base; } Killed(severity, corpsetype) diff --git a/scripts/Units/armsjam.cob b/scripts/Units/armsjam.cob index 5a418b409f14d032586000be51ed2dcf1a45b485..219d2d13244e0e06809acb08f03370c5c4b5a1a7 100644 GIT binary patch literal 3253 zcmbuB!E0Pq6vj^`lcds8p373Ck3x4Xj$L%&#%XO)ENy~ATSSnI$x9s*XNJj3is&LP zx+{f3skpG92z4d;Hz?@djUoj44-^sIh-Lcy?z?B^@iJ2yJK^M>d+s^k`Odj#Zc;b1 z!;-q>x0>0URz9~5n*AjCPjXWGLx=P$ttH4zQcG@XTh}_HmA#fdt2OE)-`W%(kHy#0 z+2Ai4X3g28)+q3aC68lRYRN45qOHtf>@zDoD|nS+>k)I5cWGXJMO|Loqv3E!ZiR)K zeD8T!ZFxSq9na~7b9CJ5>b-bGY%-S+|4EEr5Fq}~ibJ2^N1w>cN<4RH4V~#HaEyJz zZ0amMT#(WEk9=azsqs^=&X%xjLa$#0FxB0wANQm0-w7T`nc?>wG&+k(4#|9sKz+v_Jzmkd%rqI9TIQ!AYJp26<$3EP% zdKUP}=JA{X<9qPXgI~X-?-Y6&FLWiw27XILZw_k%2DTAydLZDE%X6S|e)J6~4NapK z=UqL+UOsb-RU9=JWiFU3ayb>bVDdgZtv>v$xt9yJNgQ||_#q5@<_<1l{xpx5DN22x z!-0?Hw-q^Ygm1W;3H>>Mf4qaBSMI?30Zz5g&0{jEFK&lh*?(Hz(Yq(k3*^_wF}&yG z+o%3Y>l^BVSZC(lza zJgPN02XMK6e4d4m-_4}>X>(Prd%rn7m#^jcX*sKR4hKC6c1QA1@{i=0oSKrWl3c>O z_dv2M`AhPzg#XQtNKQyzmYk8iCV5M8Me?5HL&=upGs!Km3v*WT`}tS@%2wYRfPYkkyP&#rVkxxGHf+IePY<+F`)K5M(G=vKbf?PjaCxVE;~ zeN*m|b01&J+I<1u5LBzb(cb*PT6uerU+Qgly4R)m`mWx{gwgNicCoXuA)NQyo0+Zk R2J5ec->2>RptsdswI_t@-$Vca literal 3908 zcmb`K&ug4z5XUE*&9?PN`-&$e>I#aNg4*$v6I*dA;T z5sQdNPep^C1dn=`;$I*Lf(H+R1{CbUL#ayqe&&5<_vv<9i@0U-JkQK`X1+7eyzg$S zW_G`%DtTwz>|U*Wo;Yasn&bn?VV$pN9V;pYwrZnN2zt{Qf9%_7J*m~|)dF4d)BqbX ztWhn9Gm-GXIoF2H`?9mm)(WeOgQTjsaImkE0dZ-;c zIr}(az!7UdK=lzHdI83H>YV#vCtut2)mcI$L=j!0vLX#1!A?kwH|tVJ_hRN--iw z%$3ytIY-n16>`vys0&Wf7wqV{ryPfWj?3>69A;aXD46@#RU0vw18kExtMBaN8KZ9O z^ginII~9((K$qK`H$B`ba~u=c^FrjBqHE!NS!Bn4pV)(&gz5rF#7N(-Ys)1d(2GCcK9=E_)ojvSYhhLD@lhc z{|?}t>i^Jdmc9_b{<$&cJfnZyH8!Bmd&J89f>9X9P=ohecgXWNs<-b6@_)pQzLRpe z#`x}d09#$(SE}_Fk))2Lz!$aR0DFDl6El95VsvLbC+KpU&uCFTBY&oN_>(`!d5%Vj ztLcIwZ^Vo_i9Up{&;N+NVTaaDI6Y7FH~PSQ#P5e`_9=fu`N>DEagR1za>Is>*u?UF zs4pHX;rson3zx9;^R48Y=k>jKQK#IUFDrgIrVDt)l!v$maL zp28vJxqy>=Q1QXXH<}&x-n)%#e`(N%$jLqCT;d)-OZmd)aqIg%Zk~fZxh7xKrePin zTEQi^q0epf2D{ILYRb6?s%N0Qm#c{js^E>^?dk((Q@3(KM}8#u#d99_Nql}=!G)E% z{0Rs3ndibky5n8xh(UkA0Vgn zlo$UzZ^Y#tiO)99S)Q=pDbFH4DbGsEL%ciX*}+G7SjhWfI!ArC%L{fm_Q%N=J@${% znT2!MBX-z_YXbkc=}P%-#ow7Ufi;|)?&B4);GP> z?j1k>YOA@??aVCMiROB9rL{D_-d%0k3!ANGuVvGVz4kdaCtA(e&bNB=y|bN8YspS8 xFQ4uxip}?$o4r%rbM4NG_T7!NJ=tDc6YNZLt7XgG&DA6R_o%IGcF%T}>>u~h2_gUh diff --git a/scripts/Units/armsnipe.bos b/scripts/Units/armsnipe.bos index 0f4dfdbcaf1..a921a780cfb 100644 --- a/scripts/Units/armsnipe.bos +++ b/scripts/Units/armsnipe.bos @@ -1,19 +1,22 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece flare, torso, head, pelvis, rthigh, rleg, lleg, lthigh, ruparm, luparm, lloarm, lhand, rloarm, gun1, gun2, barrel1, barrel2, laser, rhand, rfoot, lfoot, aimy1; -static-var GunOpen, isOpening, isMoving, restore_delay, laser_persist, wpn1_lasthead, animSpeed, maxSpeed, animFramesPerKeyframe,isAiming, shotcount; +static-var GunOpen, bMoving, restore_delay, laser_persist, wpn1_lasthead, animSpeed, maxSpeed, + statechg_DesiredState, statechg_StateChanging, animFramesPerKeyframe,isAiming, shotcount; // Signal definitions -#define SIGNAL_AIM1 256 -#define SIGNAL_MOVE 1 +#define SIG_AIM 4 +#define SIG_WALK 8 Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptasz\Documents\GitHub\support\Animation_sources\armsnipe_anim_walk.blend - //set-signal-mask SIGNAL_MOVE; - if (isMoving) { //Frame:7 + //set-signal-mask SIG_WALK; + if (bMoving) { //Frame:7 turn lfoot to z-axis <0.512782> speed <15.380441> / animSpeed; //delta=-0.51 turn lfoot to y-axis <3.894376> speed <116.598709> / animSpeed; //delta=3.89 turn lleg to x-axis <29.722104> speed <915.018353> / animSpeed; //delta=-30.50 @@ -23,14 +26,17 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn lthigh to z-axis <-0.598564> speed <132.587151> / animSpeed; //delta=-4.42 turn rfoot to x-axis <13.128795> speed <298.804520> / animSpeed; //delta=-9.96 turn rleg to x-axis <44.237581> speed <1312.881951> / animSpeed; //delta=-43.76 - turn rleg to y-axis <-0.0> speed <102.941243> / animSpeed; //delta=3.43 + turn rleg to y-axis <-0.000000> speed <102.941243> / animSpeed; //delta=3.43 turn rthigh to x-axis <-48.626664> speed <1370.269275> / animSpeed; //delta=45.68 - turn rthigh to z-axis <0.0> speed <67.532454> / animSpeed; //delta=2.25 - turn rthigh to y-axis <-0.0> speed <109.581724> / animSpeed; //delta=3.65 + turn rthigh to z-axis <0.000000> speed <67.532454> / animSpeed; //delta=2.25 + turn rthigh to y-axis <-0.000000> speed <109.581724> / animSpeed; //delta=3.65 if ( !isAiming){ + turn barrel1 to x-axis <3.390389> speed <101.711681> / animSpeed; //delta=-3.39 + turn barrel2 to x-axis <3.390390> speed <101.711694> / animSpeed; //delta=-3.39 turn gun1 to x-axis <0.772685> speed <23.180562> / animSpeed; //delta=-0.77 turn gun1 to z-axis <-0.186720> speed <5.601599> / animSpeed; //delta=0.19 + turn gun2 to x-axis <0.673410> speed <20.202314> / animSpeed; //delta=-0.67 turn lfoot to x-axis <-14.996667> speed <406.337338> / animSpeed; //delta=13.54 turn lloarm to x-axis <-4.641770> speed <171.263980> / animSpeed; //delta=-5.71 turn lloarm to z-axis <0.430938> speed <79.918349> / animSpeed; //delta=-2.66 @@ -49,8 +55,8 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas } sleep ((33*animSpeed) -1); } - while(isMoving) { - if (isMoving) { //Frame:13 + while(bMoving) { + if (bMoving) { //Frame:13 turn lfoot to x-axis <-25.413896> speed <312.516859> / animSpeed; //delta=10.42 turn lfoot to z-axis <-0.445629> speed <28.752316> / animSpeed; //delta=0.96 @@ -60,10 +66,10 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn lleg to y-axis <2.369235> speed <4.787186> / animSpeed; //delta=0.16 turn lthigh to x-axis <11.458365> speed <574.016816> / animSpeed; //delta=-19.13 turn lthigh to z-axis <-0.719652> speed <3.632654> / animSpeed; //delta=0.12 - move pelvis to y-axis [-1.0] speed [30.0] / animSpeed; //delta=-1.00 - turn pelvis to x-axis <2.0> speed <60.0> / animSpeed; //delta=-2.00 - turn pelvis to z-axis <-1.500000> speed <45.0> / animSpeed; //delta=1.50 - turn pelvis to y-axis <3.500000> speed <105.0> / animSpeed; //delta=3.50 + move pelvis to y-axis [-1.000000] speed [30.000000] / animSpeed; //delta=-1.00 + turn pelvis to x-axis <2.000000> speed <60.000000> / animSpeed; //delta=-2.00 + turn pelvis to z-axis <-1.500000> speed <45.000001> / animSpeed; //delta=1.50 + turn pelvis to y-axis <3.500000> speed <105.000001> / animSpeed; //delta=3.50 turn rfoot to x-axis <33.621504> speed <614.781263> / animSpeed; //delta=-20.49 turn rleg to x-axis <9.752621> speed <1034.548827> / animSpeed; //delta=34.48 turn rleg to z-axis <0.242875> speed <7.286238> / animSpeed; //delta=-0.24 @@ -73,9 +79,15 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn rthigh to y-axis <1.219738> speed <36.592132> / animSpeed; //delta=1.22 turn torso to y-axis <-6.499999> speed <194.999984> / animSpeed; //delta=-6.50 if ( !isAiming){ + turn barrel1 to x-axis <-5.630120> speed <270.615275> / animSpeed; //delta=9.02 + turn barrel1 to z-axis <-0.193339> speed <5.824963> / animSpeed; //delta=0.19 + turn barrel1 to y-axis <-0.569963> speed <16.425985> / animSpeed; //delta=-0.55 + turn barrel2 to x-axis <-5.630900> speed <270.638699> / animSpeed; //delta=9.02 turn gun1 to x-axis <-3.756958> speed <135.889301> / animSpeed; //delta=4.53 turn gun1 to z-axis <0.770919> speed <28.729173> / animSpeed; //delta=-0.96 turn gun1 to y-axis <0.113303> speed <3.533130> / animSpeed; //delta=0.12 + turn gun2 to x-axis <0.442452> speed <6.928740> / animSpeed; //delta=0.23 + turn gun2 to z-axis <-0.591486> speed <17.331937> / animSpeed; //delta=0.58 turn head to x-axis <0.149911> speed <4.497341> / animSpeed; //delta=-0.15 turn head to z-axis <0.454847> speed <13.645397> / animSpeed; //delta=-0.45 turn head to y-axis <3.797744> speed <113.932332> / animSpeed; //delta=3.80 @@ -96,7 +108,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas } sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:19 + if (bMoving) { //Frame:19 turn lfoot to x-axis <-16.596899> speed <264.509919> / animSpeed; //delta=-8.82 turn lfoot to z-axis <0.203890> speed <19.485555> / animSpeed; //delta=-0.65 turn lfoot to y-axis <1.397846> speed <101.219277> / animSpeed; //delta=3.37 @@ -105,10 +117,10 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn lleg to y-axis <-14.112176> speed <494.442318> / animSpeed; //delta=-16.48 turn lthigh to x-axis <5.170478> speed <188.636626> / animSpeed; //delta=6.29 turn lthigh to z-axis <-1.434540> speed <21.446646> / animSpeed; //delta=0.71 - move pelvis to y-axis [-2.0] speed [30.0] / animSpeed; //delta=-1.00 - turn pelvis to x-axis <4.0> speed <60.0> / animSpeed; //delta=-2.00 - turn pelvis to z-axis <-3.0> speed <45.0> / animSpeed; //delta=1.50 - turn pelvis to y-axis <7.0> speed <105.0> / animSpeed; //delta=3.50 + move pelvis to y-axis [-2.000000] speed [30.000000] / animSpeed; //delta=-1.00 + turn pelvis to x-axis <4.000000> speed <60.000000> / animSpeed; //delta=-2.00 + turn pelvis to z-axis <-3.000000> speed <45.000001> / animSpeed; //delta=1.50 + turn pelvis to y-axis <7.000000> speed <105.000001> / animSpeed; //delta=3.50 turn rfoot to x-axis <-9.171305> speed <1283.784256> / animSpeed; //delta=42.79 turn rfoot to z-axis <3.966612> speed <118.998636> / animSpeed; //delta=-3.97 turn rfoot to y-axis <0.967915> speed <29.053107> / animSpeed; //delta=0.97 @@ -118,11 +130,19 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn rthigh to x-axis <-50.450707> speed <407.012236> / animSpeed; //delta=13.57 turn rthigh to z-axis <-4.080012> speed <245.144258> / animSpeed; //delta=8.17 turn rthigh to y-axis <-15.206740> speed <492.794332> / animSpeed; //delta=-16.43 - turn torso to y-axis <-13.0> speed <195.0> / animSpeed; //delta=-6.50 + turn torso to y-axis <-13.000000> speed <195.000010> / animSpeed; //delta=-6.50 if ( !isAiming){ + + turn barrel1 to x-axis <-11.611252> speed <179.433979> / animSpeed; //delta=5.98 + turn barrel1 to z-axis <-1.618243> speed <42.747115> / animSpeed; //delta=1.42 + turn barrel1 to y-axis <-1.475694> speed <27.171940> / animSpeed; //delta=-0.91 + turn barrel2 to x-axis <-11.638214> speed <180.219408> / animSpeed; //delta=6.01 turn gun1 to x-axis <-0.539146> speed <96.534344> / animSpeed; //delta=-3.22 turn gun1 to z-axis <0.081834> speed <20.672543> / animSpeed; //delta=0.69 turn gun1 to y-axis <1.102181> speed <29.666348> / animSpeed; //delta=0.99 + turn gun2 to x-axis <5.577628> speed <154.055269> / animSpeed; //delta=-5.14 + turn gun2 to z-axis <-2.876676> speed <68.555711> / animSpeed; //delta=2.29 + turn gun2 to y-axis <0.852103> speed <27.406577> / animSpeed; //delta=0.91 turn head to x-axis <0.299823> speed <4.497341> / animSpeed; //delta=-0.15 turn head to z-axis <0.909693> speed <13.645397> / animSpeed; //delta=-0.45 turn head to y-axis <7.595489> speed <113.932332> / animSpeed; //delta=3.80 @@ -145,7 +165,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas } sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:25 + if (bMoving) { //Frame:25 turn lfoot to x-axis <-18.268236> speed <50.140111> / animSpeed; //delta=1.67 turn lfoot to z-axis <-0.847099> speed <31.529676> / animSpeed; //delta=1.05 turn lfoot to y-axis <-5.264983> speed <199.884862> / animSpeed; //delta=-6.66 @@ -154,10 +174,10 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn lleg to y-axis <-4.479607> speed <288.977065> / animSpeed; //delta=9.63 turn lthigh to x-axis <-34.764836> speed <1198.059432> / animSpeed; //delta=39.94 turn lthigh to z-axis <-0.727132> speed <21.222241> / animSpeed; //delta=-0.71 - move pelvis to y-axis [-1.0] speed [30.0] / animSpeed; //delta=1.00 - turn pelvis to x-axis <2.0> speed <60.0> / animSpeed; //delta=2.00 - turn pelvis to z-axis <-1.500000> speed <45.0> / animSpeed; //delta=-1.50 - turn pelvis to y-axis <3.500000> speed <105.0> / animSpeed; //delta=-3.50 + move pelvis to y-axis [-1.000000] speed [30.000000] / animSpeed; //delta=1.00 + turn pelvis to x-axis <2.000000> speed <60.000000> / animSpeed; //delta=2.00 + turn pelvis to z-axis <-1.500000> speed <45.000001> / animSpeed; //delta=-1.50 + turn pelvis to y-axis <3.500000> speed <105.000001> / animSpeed; //delta=-3.50 turn rfoot to x-axis <-9.845369> speed <20.221936> / animSpeed; //delta=0.67 turn rfoot to z-axis <2.750744> speed <36.476053> / animSpeed; //delta=1.22 turn rfoot to y-axis <4.111048> speed <94.293977> / animSpeed; //delta=3.14 @@ -170,9 +190,16 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn torso to y-axis <-6.500000> speed <194.999984> / animSpeed; //delta=6.50 if ( !isAiming){ + turn barrel1 to x-axis <-2.327621> speed <278.508946> / animSpeed; //delta=-9.28 + turn barrel1 to z-axis <-0.046336> speed <47.157196> / animSpeed; //delta=-1.57 + turn barrel1 to y-axis <-0.263626> speed <36.362059> / animSpeed; //delta=1.21 + turn barrel2 to x-axis <-2.327759> speed <279.313636> / animSpeed; //delta=-9.31 turn gun1 to x-axis <-1.433233> speed <26.822583> / animSpeed; //delta=0.89 turn gun1 to z-axis <0.451129> speed <11.078842> / animSpeed; //delta=-0.37 turn gun1 to y-axis <0.014526> speed <32.629653> / animSpeed; //delta=-1.09 + turn gun2 to x-axis <0.205402> speed <161.166783> / animSpeed; //delta=5.37 + turn gun2 to z-axis <-0.220633> speed <79.681295> / animSpeed; //delta=-2.66 + turn gun2 to y-axis <-0.044172> speed <26.888231> / animSpeed; //delta=-0.90 turn head to x-axis <0.149911> speed <4.497341> / animSpeed; //delta=0.15 turn head to z-axis <0.454847> speed <13.645397> / animSpeed; //delta=0.45 turn head to y-axis <3.797744> speed <113.932332> / animSpeed; //delta=-3.80 @@ -194,19 +221,19 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas } sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:31 + if (bMoving) { //Frame:31 turn lfoot to x-axis <10.978441> speed <877.400287> / animSpeed; //delta=-29.25 - turn lfoot to z-axis <-0.0> speed <25.412977> / animSpeed; //delta=-0.85 - turn lfoot to y-axis <0.0> speed <157.949491> / animSpeed; //delta=5.26 + turn lfoot to z-axis <-0.000000> speed <25.412977> / animSpeed; //delta=-0.85 + turn lfoot to y-axis <0.000000> speed <157.949491> / animSpeed; //delta=5.26 turn lleg to x-axis <35.591993> speed <1138.154924> / animSpeed; //delta=37.94 - turn lleg to z-axis <0.0> speed <100.429420> / animSpeed; //delta=3.35 - turn lleg to y-axis <-0.0> speed <134.388207> / animSpeed; //delta=4.48 + turn lleg to z-axis <0.000000> speed <100.429420> / animSpeed; //delta=3.35 + turn lleg to y-axis <-0.000000> speed <134.388207> / animSpeed; //delta=4.48 turn lthigh to x-axis <-43.052783> speed <248.638386> / animSpeed; //delta=8.29 - turn lthigh to z-axis <0.0> speed <21.813967> / animSpeed; //delta=-0.73 - move pelvis to y-axis [0.0] speed [30.0] / animSpeed; //delta=1.00 - turn pelvis to x-axis <-0.0> speed <60.0> / animSpeed; //delta=2.00 - turn pelvis to z-axis <-0.0> speed <45.0> / animSpeed; //delta=-1.50 - turn pelvis to y-axis <0.0> speed <105.0> / animSpeed; //delta=-3.50 + turn lthigh to z-axis <0.000000> speed <21.813967> / animSpeed; //delta=-0.73 + move pelvis to y-axis [0.000000] speed [30.000000] / animSpeed; //delta=1.00 + turn pelvis to x-axis <-0.000000> speed <60.000000> / animSpeed; //delta=2.00 + turn pelvis to z-axis <-0.000000> speed <45.000001> / animSpeed; //delta=-1.50 + turn pelvis to y-axis <0.000000> speed <105.000001> / animSpeed; //delta=-3.50 turn rfoot to x-axis <-14.289296> speed <133.317805> / animSpeed; //delta=4.44 turn rfoot to z-axis <6.608219> speed <115.724258> / animSpeed; //delta=-3.86 turn rfoot to y-axis <2.334051> speed <53.309912> / animSpeed; //delta=-1.78 @@ -216,20 +243,25 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn rthigh to x-axis <-4.373579> speed <896.685650> / animSpeed; //delta=-29.89 turn rthigh to z-axis <-1.234394> speed <66.011564> / animSpeed; //delta=-2.20 turn rthigh to y-axis <-12.939601> speed <28.450487> / animSpeed; //delta=0.95 - turn torso to y-axis <0.0> speed <195.0> / animSpeed; //delta=6.50 + turn torso to y-axis <0.000000> speed <195.000010> / animSpeed; //delta=6.50 if ( !isAiming){ + turn barrel1 to x-axis <-0.459245> speed <56.051289> / animSpeed; //delta=-1.87 + turn barrel1 to y-axis <0.006478> speed <8.103106> / animSpeed; //delta=0.27 + turn barrel2 to x-axis <-0.459245> speed <56.055420> / animSpeed; //delta=-1.87 turn gun1 to x-axis <-0.370413> speed <31.884599> / animSpeed; //delta=-1.06 turn gun1 to z-axis <0.020843> speed <12.908589> / animSpeed; //delta=0.43 - turn head to x-axis <-0.0> speed <4.497341> / animSpeed; //delta=0.15 - turn head to z-axis <-0.0> speed <13.645397> / animSpeed; //delta=0.45 - turn head to y-axis <0.0> speed <113.932332> / animSpeed; //delta=-3.80 - turn lloarm to x-axis <-0.0> speed <453.992395> / animSpeed; //delta=-15.13 - turn lloarm to z-axis <-0.0> speed <10.838461> / animSpeed; //delta=-0.36 - turn lloarm to y-axis <0.0> speed <36.575413> / animSpeed; //delta=1.22 - turn luparm to x-axis <-0.0> speed <350.862446> / animSpeed; //delta=-11.70 - turn luparm to z-axis <-0.0> speed <35.727850> / animSpeed; //delta=1.19 - turn luparm to y-axis <0.0> speed <41.707241> / animSpeed; //delta=-1.39 + turn gun2 to x-axis <0.036691> speed <5.061330> / animSpeed; //delta=0.17 + turn gun2 to z-axis <0.004016> speed <6.739481> / animSpeed; //delta=-0.22 + turn head to x-axis <-0.000000> speed <4.497341> / animSpeed; //delta=0.15 + turn head to z-axis <-0.000000> speed <13.645397> / animSpeed; //delta=0.45 + turn head to y-axis <0.000000> speed <113.932332> / animSpeed; //delta=-3.80 + turn lloarm to x-axis <-0.000000> speed <453.992395> / animSpeed; //delta=-15.13 + turn lloarm to z-axis <-0.000000> speed <10.838461> / animSpeed; //delta=-0.36 + turn lloarm to y-axis <0.000000> speed <36.575413> / animSpeed; //delta=1.22 + turn luparm to x-axis <-0.000000> speed <350.862446> / animSpeed; //delta=-11.70 + turn luparm to z-axis <-0.000000> speed <35.727850> / animSpeed; //delta=1.19 + turn luparm to y-axis <0.000000> speed <41.707241> / animSpeed; //delta=-1.39 turn rhand to x-axis <6.792656> speed <749.183250> / animSpeed; //delta=24.97 turn rhand to z-axis <0.015923> speed <116.078584> / animSpeed; //delta=-3.87 turn rhand to y-axis <0.014759> speed <32.412003> / animSpeed; //delta=-1.08 @@ -242,16 +274,16 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas } sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:37 + if (bMoving) { //Frame:37 turn lfoot to x-axis <33.703135> speed <681.740826> / animSpeed; //delta=-22.72 turn lleg to x-axis <9.826661> speed <772.959941> / animSpeed; //delta=25.77 turn lleg to y-axis <-0.768371> speed <23.051141> / animSpeed; //delta=-0.77 turn lthigh to x-axis <-37.010900> speed <181.256487> / animSpeed; //delta=-6.04 turn lthigh to z-axis <-3.857090> speed <115.712694> / animSpeed; //delta=3.86 - move pelvis to y-axis [-1.0] speed [30.0] / animSpeed; //delta=-1.00 - turn pelvis to x-axis <2.0> speed <60.0> / animSpeed; //delta=-2.00 - turn pelvis to z-axis <1.500000> speed <45.0> / animSpeed; //delta=-1.50 - turn pelvis to y-axis <-3.500000> speed <105.0> / animSpeed; //delta=-3.50 + move pelvis to y-axis [-1.000000] speed [30.000000] / animSpeed; //delta=-1.00 + turn pelvis to x-axis <2.000000> speed <60.000000> / animSpeed; //delta=-2.00 + turn pelvis to z-axis <1.500000> speed <45.000001> / animSpeed; //delta=-1.50 + turn pelvis to y-axis <-3.500000> speed <105.000001> / animSpeed; //delta=-3.50 turn rleg to x-axis <13.615654> speed <311.618297> / animSpeed; //delta=10.39 turn rleg to z-axis <-0.739954> speed <60.363539> / animSpeed; //delta=-2.01 turn rleg to y-axis <6.192377> speed <201.037197> / animSpeed; //delta=-6.70 @@ -259,8 +291,11 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn rthigh to y-axis <-1.161903> speed <353.330948> / animSpeed; //delta=11.78 turn torso to y-axis <6.499999> speed <194.999984> / animSpeed; //delta=6.50 if ( !isAiming){ - + + turn barrel1 to x-axis <-2.922355> speed <73.893304> / animSpeed; //delta=2.46 + turn barrel2 to x-axis <-2.922354> speed <73.893272> / animSpeed; //delta=2.46 turn gun1 to x-axis <-1.209430> speed <25.170528> / animSpeed; //delta=0.84 + turn gun2 to x-axis <-0.301957> speed <10.159448> / animSpeed; //delta=0.34 turn head to x-axis <0.179201> speed <5.376042> / animSpeed; //delta=-0.18 turn head to z-axis <-0.537202> speed <16.116073> / animSpeed; //delta=0.54 turn head to y-axis <-4.506600> speed <135.197994> / animSpeed; //delta=-4.51 @@ -288,7 +323,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas } sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:43 + if (bMoving) { //Frame:43 turn lfoot to x-axis <-6.579613> speed <1208.482420> / animSpeed; //delta=40.28 turn lfoot to y-axis <-1.559277> speed <46.827453> / animSpeed; //delta=-1.56 turn lleg to x-axis <55.684326> speed <1375.729941> / animSpeed; //delta=-45.86 @@ -296,10 +331,10 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn lleg to y-axis <1.342106> speed <63.314325> / animSpeed; //delta=2.11 turn lthigh to x-axis <-50.797029> speed <413.583869> / animSpeed; //delta=13.79 turn lthigh to z-axis <-7.220541> speed <100.903546> / animSpeed; //delta=3.36 - move pelvis to y-axis [-2.0] speed [30.0] / animSpeed; //delta=-1.00 - turn pelvis to x-axis <4.0> speed <60.0> / animSpeed; //delta=-2.00 - turn pelvis to z-axis <3.0> speed <45.0> / animSpeed; //delta=-1.50 - turn pelvis to y-axis <-7.0> speed <105.0> / animSpeed; //delta=-3.50 + move pelvis to y-axis [-2.000000] speed [30.000000] / animSpeed; //delta=-1.00 + turn pelvis to x-axis <4.000000> speed <60.000000> / animSpeed; //delta=-2.00 + turn pelvis to z-axis <3.000000> speed <45.000001> / animSpeed; //delta=-1.50 + turn pelvis to y-axis <-7.000000> speed <105.000001> / animSpeed; //delta=-3.50 turn rfoot to x-axis <-18.492869> speed <195.781994> / animSpeed; //delta=-6.53 turn rfoot to z-axis <-3.862481> speed <453.898112> / animSpeed; //delta=15.13 turn rfoot to y-axis <-2.796150> speed <202.361637> / animSpeed; //delta=-6.75 @@ -309,11 +344,16 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn rthigh to x-axis <7.107231> speed <147.246704> / animSpeed; //delta=4.91 turn rthigh to z-axis <0.673230> speed <56.420867> / animSpeed; //delta=-1.88 turn rthigh to y-axis <-1.901550> speed <22.189418> / animSpeed; //delta=-0.74 - turn torso to y-axis <13.0> speed <195.0> / animSpeed; //delta=6.50 + turn torso to y-axis <13.000000> speed <195.000010> / animSpeed; //delta=6.50 if ( !isAiming){ + turn barrel1 to x-axis <0.464361> speed <101.601462> / animSpeed; //delta=-3.39 + turn barrel1 to y-axis <-0.212902> speed <8.180721> / animSpeed; //delta=-0.27 + turn barrel2 to x-axis <0.464360> speed <101.601429> / animSpeed; //delta=-3.39 turn gun1 to x-axis <-0.077355> speed <33.962247> / animSpeed; //delta=-1.13 turn gun1 to z-axis <0.247506> speed <4.164802> / animSpeed; //delta=-0.14 + turn gun2 to x-axis <0.179033> speed <14.429705> / animSpeed; //delta=-0.48 + turn gun2 to z-axis <-0.132123> speed <5.087933> / animSpeed; //delta=0.17 turn head to x-axis <0.358403> speed <5.376043> / animSpeed; //delta=-0.18 turn head to z-axis <-1.074405> speed <16.116073> / animSpeed; //delta=0.54 turn head to y-axis <-9.013200> speed <135.197994> / animSpeed; //delta=-4.51 @@ -338,7 +378,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas } sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:49 + if (bMoving) { //Frame:49 turn lfoot to x-axis <-10.698930> speed <123.579535> / animSpeed; //delta=4.12 turn lfoot to z-axis <-0.220558> speed <3.928134> / animSpeed; //delta=0.13 turn lfoot to y-axis <-2.355096> speed <23.874582> / animSpeed; //delta=-0.80 @@ -347,10 +387,10 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn lleg to y-axis <1.523756> speed <5.449498> / animSpeed; //delta=0.18 turn lthigh to x-axis <-43.467068> speed <219.898828> / animSpeed; //delta=-7.33 turn lthigh to z-axis <-4.377032> speed <85.305281> / animSpeed; //delta=-2.84 - move pelvis to y-axis [-1.0] speed [30.0] / animSpeed; //delta=1.00 - turn pelvis to x-axis <2.0> speed <60.0> / animSpeed; //delta=2.00 - turn pelvis to z-axis <1.500000> speed <45.0> / animSpeed; //delta=1.50 - turn pelvis to y-axis <-3.500000> speed <105.0> / animSpeed; //delta=3.50 + move pelvis to y-axis [-1.000000] speed [30.000000] / animSpeed; //delta=1.00 + turn pelvis to x-axis <2.000000> speed <60.000000> / animSpeed; //delta=2.00 + turn pelvis to z-axis <1.500000> speed <45.000001> / animSpeed; //delta=1.50 + turn pelvis to y-axis <-3.500000> speed <105.000001> / animSpeed; //delta=3.50 turn rfoot to x-axis <-23.454866> speed <148.859926> / animSpeed; //delta=4.96 turn rfoot to z-axis <7.020841> speed <326.499648> / animSpeed; //delta=-10.88 turn rfoot to y-axis <1.631661> speed <132.834317> / animSpeed; //delta=4.43 @@ -364,8 +404,11 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas if ( !isAiming){ + turn barrel1 to x-axis <0.337242> speed <3.813559> / animSpeed; //delta=0.13 + turn barrel2 to x-axis <0.337238> speed <3.813651> / animSpeed; //delta=0.13 turn gun1 to x-axis <-0.924425> speed <25.412091> / animSpeed; //delta=0.85 turn gun1 to z-axis <0.127139> speed <3.611005> / animSpeed; //delta=0.12 + turn gun2 to x-axis <0.546855> speed <11.034666> / animSpeed; //delta=-0.37 turn head to x-axis <0.179201> speed <5.376042> / animSpeed; //delta=0.18 turn head to z-axis <-0.537202> speed <16.116073> / animSpeed; //delta=-0.54 turn head to y-axis <-4.506600> speed <135.197994> / animSpeed; //delta=4.51 @@ -389,39 +432,42 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas } sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:55 + if (bMoving) { //Frame:55 turn lfoot to x-axis <-14.996667> speed <128.932106> / animSpeed; //delta=4.30 - turn lfoot to z-axis <0.512782> speed <22.0> / animSpeed; //delta=-0.73 + turn lfoot to z-axis <0.512782> speed <22.000190> / animSpeed; //delta=-0.73 turn lfoot to y-axis <3.894376> speed <187.484172> / animSpeed; //delta=6.25 turn lleg to x-axis <29.722104> speed <856.481236> / animSpeed; //delta=28.55 turn lleg to z-axis <-0.586410> speed <7.888822> / animSpeed; //delta=-0.26 turn lleg to y-axis <2.209662> speed <20.577179> / animSpeed; //delta=0.69 turn lthigh to x-axis <-7.675528> speed <1073.746181> / animSpeed; //delta=-35.79 turn lthigh to z-axis <-0.598564> speed <113.354052> / animSpeed; //delta=-3.78 - move pelvis to y-axis [0.0] speed [30.0] / animSpeed; //delta=1.00 - turn pelvis to x-axis <-0.0> speed <60.0> / animSpeed; //delta=2.00 - turn pelvis to z-axis <-0.0> speed <45.0> / animSpeed; //delta=1.50 - turn pelvis to y-axis <0.0> speed <105.0> / animSpeed; //delta=3.50 + move pelvis to y-axis [0.000000] speed [30.000000] / animSpeed; //delta=1.00 + turn pelvis to x-axis <-0.000000> speed <60.000000> / animSpeed; //delta=2.00 + turn pelvis to z-axis <-0.000000> speed <45.000001> / animSpeed; //delta=1.50 + turn pelvis to y-axis <0.000000> speed <105.000001> / animSpeed; //delta=3.50 turn rfoot to x-axis <10.978441> speed <1032.999202> / animSpeed; //delta=-34.43 - turn rfoot to z-axis <-0.0> speed <210.625233> / animSpeed; //delta=7.02 - turn rfoot to y-axis <-0.0> speed <48.949821> / animSpeed; //delta=-1.63 + turn rfoot to z-axis <-0.000000> speed <210.625233> / animSpeed; //delta=7.02 + turn rfoot to y-axis <-0.000000> speed <48.949821> / animSpeed; //delta=-1.63 turn rleg to x-axis <35.591993> speed <1218.023263> / animSpeed; //delta=40.60 - turn rleg to z-axis <0.0> speed <237.660231> / animSpeed; //delta=-7.92 - turn rleg to y-axis <-0.0> speed <302.837397> / animSpeed; //delta=-10.09 + turn rleg to z-axis <0.000000> speed <237.660231> / animSpeed; //delta=-7.92 + turn rleg to y-axis <-0.000000> speed <302.837397> / animSpeed; //delta=-10.09 turn rthigh to x-axis <-43.052783> speed <207.276741> / animSpeed; //delta=6.91 - turn rthigh to z-axis <0.0> speed <31.112494> / animSpeed; //delta=-1.04 - turn rthigh to y-axis <0.0> speed <76.299843> / animSpeed; //delta=2.54 - turn torso to y-axis <0.0> speed <195.0> / animSpeed; //delta=-6.50 + turn rthigh to z-axis <0.000000> speed <31.112494> / animSpeed; //delta=-1.04 + turn rthigh to y-axis <0.000000> speed <76.299843> / animSpeed; //delta=2.54 + turn torso to y-axis <0.000000> speed <195.000010> / animSpeed; //delta=-6.50 if ( !isAiming){ + turn barrel1 to x-axis <3.390389> speed <91.594418> / animSpeed; //delta=-3.05 + turn barrel2 to x-axis <3.390390> speed <91.594544> / animSpeed; //delta=-3.05 turn gun1 to x-axis <0.772685> speed <50.913313> / animSpeed; //delta=-1.70 turn gun1 to z-axis <-0.186720> speed <9.415771> / animSpeed; //delta=0.31 - turn head to x-axis <-0.0> speed <5.376043> / animSpeed; //delta=0.18 - turn head to z-axis <-0.0> speed <16.116073> / animSpeed; //delta=-0.54 - turn head to y-axis <0.0> speed <135.197994> / animSpeed; //delta=4.51 - turn lhand to x-axis <-0.0> speed <140.229722> / animSpeed; //delta=4.67 - turn lhand to z-axis <-0.0> speed <11.925466> / animSpeed; //delta=0.40 - turn lhand to y-axis <0.0> speed <3.614628> / animSpeed; //delta=-0.12 + turn gun2 to x-axis <0.673410> speed <3.796660> / animSpeed; //delta=-0.13 + turn head to x-axis <-0.000000> speed <5.376043> / animSpeed; //delta=0.18 + turn head to z-axis <-0.000000> speed <16.116073> / animSpeed; //delta=-0.54 + turn head to y-axis <0.000000> speed <135.197994> / animSpeed; //delta=4.51 + turn lhand to x-axis <-0.000000> speed <140.229722> / animSpeed; //delta=4.67 + turn lhand to z-axis <-0.000000> speed <11.925466> / animSpeed; //delta=0.40 + turn lhand to y-axis <0.000000> speed <3.614628> / animSpeed; //delta=-0.12 turn lloarm to x-axis <-4.641770> speed <326.307549> / animSpeed; //delta=-10.88 turn lloarm to z-axis <0.430938> speed <48.444831> / animSpeed; //delta=-1.61 turn lloarm to y-axis <0.205069> speed <37.692650> / animSpeed; //delta=1.26 @@ -441,63 +487,63 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas } } } -// Call this from StopMoving()! +// Call this from MotionControl()! StopWalking() { - move pelvis to y-axis [0.0] speed [5.0]; + move pelvis to y-axis [0.000000] speed [5.000000]; turn lfoot to x-axis <-1.452089> speed <201.413737>; - turn lfoot to y-axis <0.0> speed <33.314144>; - turn lfoot to z-axis <0.0> speed <5.254946>; + turn lfoot to y-axis <0.000000> speed <33.314144>; + turn lfoot to z-axis <0.000000> speed <5.254946>; turn lleg to x-axis <-0.778507> speed <229.288323>; turn lleg to y-axis <7.708279> speed <82.407053>; - turn lleg to z-axis <0.0> speed <36.675504>; + turn lleg to z-axis <0.000000> speed <36.675504>; turn lthigh to x-axis <-1.559563> speed <199.676572>; turn lthigh to z-axis <-5.018135> speed <22.097859>; - turn pelvis to x-axis <0.0> speed <10.0>; - turn pelvis to y-axis <0.0> speed <17.500000>; - turn pelvis to z-axis <0.0> speed <7.500000>; + turn pelvis to x-axis <0.000000> speed <10.000000>; + turn pelvis to y-axis <0.000000> speed <17.500000>; + turn pelvis to z-axis <0.000000> speed <7.500000>; turn rfoot to x-axis <3.168644> speed <213.964043>; - turn rfoot to y-axis <0.0> speed <33.726939>; - turn rfoot to z-axis <0.0> speed <75.649685>; + turn rfoot to y-axis <0.000000> speed <33.726939>; + turn rfoot to z-axis <0.000000> speed <75.649685>; turn rleg to x-axis <0.474850> speed <225.563898>; turn rleg to y-axis <-3.431375> speed <60.359862>; - turn rleg to z-axis <0.0> speed <39.610039>; + turn rleg to z-axis <0.000000> speed <39.610039>; turn rthigh to x-axis <-2.951022> speed <228.378212>; turn rthigh to y-axis <-3.652724> speed <82.132389>; turn rthigh to z-axis <2.251082> speed <40.857376>; - turn torso to y-axis <0.0> speed <32.500002>; + turn torso to y-axis <0.000000> speed <32.500002>; if ( !isAiming){ - turn barrel1 to x-axis <0.0> speed <46.418158>; - turn barrel1 to y-axis <0.0> speed <6.060343>; - turn barrel1 to z-axis <0.0> speed <7.859533>; - turn barrel2 to x-axis <0.0> speed <46.552273>; - turn gun1 to x-axis <0.0> speed <22.648217>; - turn gun1 to y-axis <0.0> speed <5.438276>; - turn gun1 to z-axis <0.0> speed <4.788196>; - turn gun2 to x-axis <0.0> speed <26.861131>; - turn gun2 to y-axis <0.0> speed <4.567763>; - turn gun2 to z-axis <0.0> speed <13.280216>; - turn head to x-axis <0.0> speed <0.896007>; - turn head to y-axis <0.0> speed <22.532999>; - turn head to z-axis <0.0> speed <2.686012>; - turn lhand to x-axis <0.0> speed <23.371620>; - turn lhand to y-axis <0.0> speed <0.602438>; - turn lhand to z-axis <0.0> speed <1.987578>; + turn barrel1 to x-axis <0.000000> speed <46.418158>; + turn barrel1 to y-axis <0.000000> speed <6.060343>; + turn barrel1 to z-axis <0.000000> speed <7.859533>; + turn barrel2 to x-axis <0.000000> speed <46.552273>; + turn gun1 to x-axis <0.000000> speed <22.648217>; + turn gun1 to y-axis <0.000000> speed <5.438276>; + turn gun1 to z-axis <0.000000> speed <4.788196>; + turn gun2 to x-axis <0.000000> speed <26.861131>; + turn gun2 to y-axis <0.000000> speed <4.567763>; + turn gun2 to z-axis <0.000000> speed <13.280216>; + turn head to x-axis <0.000000> speed <0.896007>; + turn head to y-axis <0.000000> speed <22.532999>; + turn head to z-axis <0.000000> speed <2.686012>; + turn lhand to x-axis <0.000000> speed <23.371620>; + turn lhand to y-axis <0.000000> speed <0.602438>; + turn lhand to z-axis <0.000000> speed <1.987578>; turn lloarm to x-axis <-10.350569> speed <75.665399>; - turn lloarm to y-axis <0.0> speed <6.282108>; + turn lloarm to y-axis <0.000000> speed <6.282108>; turn lloarm to z-axis <-2.233007> speed <13.319725>; - turn luparm to x-axis <0.0> speed <107.432310>; - turn luparm to y-axis <0.0> speed <6.951207>; - turn luparm to z-axis <0.0> speed <7.894356>; - turn rhand to x-axis <0.0> speed <124.863875>; - turn rhand to y-axis <0.0> speed <6.225055>; - turn rhand to z-axis <0.0> speed <19.346431>; - turn rloarm to x-axis <0.0> speed <54.374180>; - turn rloarm to y-axis <0.0> speed <16.608403>; - turn rloarm to z-axis <0.0> speed <8.119724>; - turn ruparm to x-axis <0.0> speed <52.757000>; - turn ruparm to y-axis <0.0> speed <5.520916>; - turn ruparm to z-axis <0.0> speed <9.367907>; + turn luparm to x-axis <0.000000> speed <107.432310>; + turn luparm to y-axis <0.000000> speed <6.951207>; + turn luparm to z-axis <0.000000> speed <7.894356>; + turn rhand to x-axis <0.000000> speed <124.863875>; + turn rhand to y-axis <0.000000> speed <6.225055>; + turn rhand to z-axis <0.000000> speed <19.346431>; + turn rloarm to x-axis <0.000000> speed <54.374180>; + turn rloarm to y-axis <0.000000> speed <16.608403>; + turn rloarm to z-axis <0.000000> speed <8.119724>; + turn ruparm to x-axis <0.000000> speed <52.757000>; + turn ruparm to y-axis <0.000000> speed <5.520916>; + turn ruparm to z-axis <0.000000> speed <9.367907>; } } // REMEMBER TO animspeed = 6 in Create() !! @@ -515,232 +561,235 @@ UnitSpeed(){ sleep 197; } } -StartMoving(reversing){ - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; - isMoving=TRUE; +StartMoving(){ + signal SIG_WALK; + set-signal-mask SIG_WALK; + bMoving=TRUE; start-script Walk(); start-script UnitSpeed(); } StopMoving(){ - signal SIGNAL_MOVE; - isMoving=FALSE; + signal SIG_WALK; + bMoving=FALSE; call-script StopWalking(); } -static-var gunProgress; + OpenGun() { - if (GunOpen) return (0); - if (isOpening) return (0); - isOpening = 1; - if (gunProgress < 1){ - gunProgress = 1; - turn gun1 to x-axis <0.0> speed <22.648217>; - turn gun1 to y-axis <0.0> speed <5.438276>; - turn gun1 to z-axis <0.0> speed <4.788196>; - turn head to x-axis <0.0> speed <0.896007>; - turn head to y-axis <0.0> speed <22.532999>; - turn head to z-axis <0.0> speed <2.686012>; - turn lhand to x-axis <0.0> speed <23.371620>; - turn lhand to y-axis <0.0> speed <0.602438>; - turn lhand to z-axis <0.0> speed <1.987578>; - turn lloarm to x-axis <-10.350569> speed <75.665399>; - turn lloarm to y-axis <0.0> speed <6.282108>; - turn lloarm to z-axis <-2.233007> speed <13.319725>; - turn luparm to x-axis <0.0> speed <107.432310>; - turn luparm to y-axis <0.0> speed <6.951207>; - turn luparm to z-axis <0.0> speed <7.894356>; - turn rhand to x-axis <0.0> speed <124.863875>; - turn rhand to y-axis <0.0> speed <6.225055>; - turn rhand to z-axis <0.0> speed <19.346431>; - turn rloarm to x-axis <0.0> speed <54.374180>; - turn rloarm to y-axis <0.0> speed <16.608403>; - turn rloarm to z-axis <0.0> speed <8.119724>; - turn ruparm to x-axis <0.0> speed <52.757000>; - turn ruparm to y-axis <0.0> speed <5.520916>; - turn ruparm to z-axis <0.0> speed <9.367907>; - - turn torso to x-axis <-3.0> speed <13.0>; - turn ruparm to x-axis <17.0> speed <67.0>; - turn rloarm to x-axis <-65.010989> speed <252.0>; - sleep 260; - } - - - if (gunProgress < 2){ - gunProgress = 2; - turn torso to x-axis <-8.0> speed <18.0>; - turn ruparm to x-axis <-11.0> speed <104.0>; - turn head to x-axis <-8.0> speed <30.0>; - turn rloarm to x-axis <-97.021978> speed <113.0>; - sleep 280; - } - - if (gunProgress < 3){ - gunProgress = 3; - turn torso to x-axis <-2.0> speed <24.0>; - turn ruparm to x-axis <-46.010989> speed <132.0>; - turn head to x-axis <-4.0> speed <13.0>; - turn luparm to x-axis <-60.010989> speed <233.0>; - turn lloarm to z-axis <24.005495> speed <96.0>; - turn rloarm to x-axis <-59.010989> speed <147.0>; - sleep 260; - } - - - if (gunProgress < 4){ - gunProgress = 4; - move luparm to y-axis [-0.400000] speed [1.0]; - move lloarm to y-axis [-0.450000] speed [1.0]; - move gun1 to z-axis [0.750000] speed [3.0]; - turn torso to x-axis <-1.0> speed <5.0>; - turn ruparm to x-axis <-66.010989> speed <86.0>; - turn head to x-axis <-1.0> speed <13.0>; - turn luparm to x-axis <-89.016484> speed <120.0>; - turn lloarm to z-axis <34.005495> speed <39.0>; - turn rloarm to x-axis <-23.005495> speed <149.0>; - sleep 240; - } - - - if (gunProgress < 5){ - gunProgress = 5; - move luparm to y-axis [-0.450000] speed [0.0]; - move lloarm to y-axis [-0.450000] speed [0.0]; - turn luparm to x-axis <-90.021978> speed <3.0>; - turn lloarm to z-axis <35.005495> speed <7.0>; - sleep 98; - } - - if (gunProgress < 6){ - gunProgress = 6; - turn gun2 to x-axis <-45.010989> speed <416.0>; - sleep 108; - } - - if (gunProgress < 7){ - gunProgress = 7; - turn gun2 to x-axis <180.043956> speed <2813.0>; - sleep 48; - } - - if (gunProgress < 8){ - gunProgress = 8; - - move barrel1 to y-axis [1.5] speed [46.0]; - sleep 78; - } - - - if (gunProgress < 9){ - gunProgress = 9; - - move barrel2 to y-axis [1.5] speed [4.0]; - sleep 18; - } - - GunOpen = TRUE; - isOpening = 0; + turn barrel1 to x-axis <0.000000> speed <46.418158>; + turn barrel1 to y-axis <0.000000> speed <6.060343>; + turn barrel1 to z-axis <0.000000> speed <7.859533>; + turn barrel2 to x-axis <0.000000> speed <46.552273>; + turn gun1 to x-axis <0.000000> speed <22.648217>; + turn gun1 to y-axis <0.000000> speed <5.438276>; + turn gun1 to z-axis <0.000000> speed <4.788196>; + turn gun2 to x-axis <0.000000> speed <26.861131>; + turn gun2 to y-axis <0.000000> speed <4.567763>; + turn gun2 to z-axis <0.000000> speed <13.280216>; + turn head to x-axis <0.000000> speed <0.896007>; + turn head to y-axis <0.000000> speed <22.532999>; + turn head to z-axis <0.000000> speed <2.686012>; + turn lhand to x-axis <0.000000> speed <23.371620>; + turn lhand to y-axis <0.000000> speed <0.602438>; + turn lhand to z-axis <0.000000> speed <1.987578>; + turn lloarm to x-axis <-10.350569> speed <75.665399>; + turn lloarm to y-axis <0.000000> speed <6.282108>; + turn lloarm to z-axis <-2.233007> speed <13.319725>; + turn luparm to x-axis <0.000000> speed <107.432310>; + turn luparm to y-axis <0.000000> speed <6.951207>; + turn luparm to z-axis <0.000000> speed <7.894356>; + turn rhand to x-axis <0.000000> speed <124.863875>; + turn rhand to y-axis <0.000000> speed <6.225055>; + turn rhand to z-axis <0.000000> speed <19.346431>; + turn rloarm to x-axis <0.000000> speed <54.374180>; + turn rloarm to y-axis <0.000000> speed <16.608403>; + turn rloarm to z-axis <0.000000> speed <8.119724>; + turn ruparm to x-axis <0.000000> speed <52.757000>; + turn ruparm to y-axis <0.000000> speed <5.520916>; + turn ruparm to z-axis <0.000000> speed <9.367907>; + + + move head to y-axis [0.000000] now; + move lloarm to y-axis [0.000000] now; + move flare to z-axis [-0.100000] speed [0.352313]; + turn torso to x-axis <0.000000> now; + turn torso to x-axis <-3.000000> speed <13.000000>; + turn ruparm to x-axis <0.000000> now; + turn ruparm to x-axis <17.000000> speed <67.000000>; + turn rloarm to x-axis <0.000000> now; + turn rloarm to x-axis <-65.010989> speed <252.000000>; + sleep 260; + turn torso to x-axis <-8.000000> speed <18.000000>; + turn ruparm to x-axis <-11.000000> speed <104.000000>; + turn head to x-axis <-8.000000> speed <30.000000>; + turn rloarm to x-axis <-97.021978> speed <113.000000>; + sleep 280; + //move gun1 to y-axis [-1.139996] speed [4.000000]; + turn torso to x-axis <-2.000000> speed <24.000000>; + turn ruparm to x-axis <-46.010989> speed <132.000000>; + turn head to x-axis <-4.000000> speed <13.000000>; + //turn leftshoulder to y-axis <-10.000000> speed <40.000000>; + turn luparm to x-axis <-60.010989> speed <233.000000>; + turn lloarm to z-axis <24.005495> speed <96.000000>; + //turn lhand to z-axis <24.005495> speed <93.000000>; + turn rloarm to x-axis <-59.010989> speed <147.000000>; + //turn gun1 to x-axis <-45.010989> speed <173.000000>; + sleep 260; + //move leftshoulder to z-axis [1.800000] speed [7.000000]; + move luparm to y-axis [-0.400000] speed [1.000000]; + move lloarm to y-axis [-0.450000] speed [1.000000]; + move gun1 to z-axis [0.750000] speed [3.000000]; + turn torso to x-axis <-1.000000> speed <5.000000>; + turn ruparm to x-axis <-66.010989> speed <86.000000>; + turn head to x-axis <-1.000000> speed <13.000000>; + //turn leftshoulder to y-axis <-27.005495> speed <68.000000>; + turn luparm to x-axis <-89.016484> speed <120.000000>; + turn lloarm to z-axis <34.005495> speed <39.000000>; + //turn lhand to z-axis <27.005495> speed <13.000000>; + turn rloarm to x-axis <-23.005495> speed <149.000000>; + //turn gun1 to x-axis <-90.021978> speed <187.000000>; + sleep 240; + //move leftshoulder to z-axis [1.850000] speed [0.000000]; + move luparm to y-axis [-0.450000] speed [0.000000]; + move lloarm to y-axis [-0.450000] speed [0.000000]; + //turn leftshoulder to y-axis <-27.005495> speed <3.000000>;s + turn luparm to x-axis <-90.021978> speed <3.000000>; + turn lloarm to z-axis <35.005495> speed <7.000000>; + //turn lhand to z-axis <43.005495> speed <161.000000>; + sleep 98; + turn gun2 to x-axis <-45.010989> speed <416.000000>; + sleep 108; + turn gun2 to x-axis <180.043956> speed <2813.000000>; + sleep 48; + move barrel1 to y-axis [1.5] speed [46.000000]; + sleep 78; + move barrel2 to y-axis [1.5] speed [4.000000]; + sleep 18; } FoldGun() { - GunOpen = FALSE; hide laser; + move head to y-axis [0.000000] now; + //move leftshoulder to z-axis [1.850000] now; + //move leftshoulder to z-axis [1.050000] speed [3.000000]; + move luparm to y-axis [-0.450000] now; + move lloarm to y-axis [-0.450000] now; + move gun1 to y-axis [-1.139996] now; + move gun1 to z-axis [0.750000] now; + move barrel2 to y-axis [-0.00000] speed [2.000000]; + turn torso to x-axis <-1.049451> speed <4.189341>; + turn ruparm to x-axis <-66.802198> now; + turn ruparm to x-axis <-40.005495> speed <130.000000>; + turn head to x-axis <-1.747253> speed <6.974921>; + //turn leftshoulder to y-axis <-27.423077> now; + //turn leftshoulder to y-axis <-6.000000> speed <105.000000>; + turn luparm to x-axis <-90.021978> now; + turn luparm to x-axis <-59.010989> speed <152.000000>; + turn lloarm to z-axis <35.153846> now; + turn lloarm to z-axis <19.000000> speed <79.000000>; + turn lhand to z-axis <43.236264> now; + turn lhand to z-axis <26.005495> speed <84.000000>; + turn rloarm to x-axis <-23.203297> speed <92.626065>; + turn gun1 to x-axis <-90.021978> speed <389.849789>; + turn gun2 to x-axis <180.043956> speed <718.723857>; + sleep 200; + //move leftshoulder to z-axis [0.000000] speed [5.000000]; + move lloarm to y-axis [0.000000] speed [2.000000]; + move barrel1 to y-axis [0.000000] speed [3.000000]; + turn ruparm to x-axis <-29.005495> speed <54.000000>; + //turn leftshoulder to y-axis <0.000000> speed <31.000000>; + turn luparm to x-axis <-40.005495> speed <93.000000>; + turn lloarm to z-axis <10.000000> speed <45.000000>; + turn lhand to z-axis <13.000000> speed <66.000000>; + sleep 200; + move luparm to y-axis [0.000000] speed [2.000000]; + move lloarm to y-axis [0.000000] speed [0.000000]; + turn ruparm to x-axis <-48.010989> speed <94.000000>; + turn luparm to x-axis <-25.005495> speed <75.000000>; + turn lloarm to z-axis <0.000000> speed <50.000000>; + turn lhand to z-axis <0.000000> speed <65.000000>; + turn gun2 to x-axis <-90.021978> speed <450.000000>; + sleep 200; + turn ruparm to x-axis <-13.000000> speed <175.000000>; + turn luparm to x-axis <-1.000000> speed <123.000000>; + turn lloarm to x-axis <-24.005495> speed <121.000000>; + turn gun2 to x-axis <0.000000> speed <450.000000>; + sleep 200; + move gun1 to y-axis [0.000000] speed [5.000000]; + turn ruparm to x-axis <0.000000> speed <68.000000>; + turn luparm to x-axis <-1.000000> speed <0.000000>; + turn lloarm to x-axis <-11.000000> speed <63.000000>; + turn rloarm to x-axis <-26.005495> speed <15.000000>; + turn gun1 to x-axis <-20.000000> speed <348.000000>; + sleep 200; + move gun1 to y-axis [0.000000] speed [0.000000]; + move gun1 to z-axis [0.000000] speed [3.000000]; + turn luparm to x-axis <0.000000> speed <5.000000>; + turn lloarm to x-axis <0.000000> speed <58.000000>; + turn rloarm to x-axis <-4.000000> speed <107.000000>; + turn gun1 to x-axis <20.000000> speed <203.000000>; + sleep 200; + turn rloarm to x-axis <0.000000> speed <24.000000>; + turn gun1 to x-axis <0.000000> speed <101.000000>; + sleep 200; +} - - if (gunProgress > 6){ - gunProgress = 6; - move barrel2 to y-axis [-0.0] speed [2.0]; - turn torso to x-axis <-1.049451> speed <4.189341>; - turn ruparm to x-axis <-40.005495> speed <130.0>; - turn head to x-axis <-1.747253> speed <6.974921>; - turn luparm to x-axis <-59.010989> speed <152.0>; - turn lloarm to z-axis <19.0> speed <79.0>; - turn lhand to z-axis <26.005495> speed <84.0>; - turn rloarm to x-axis <-23.203297> speed <92.626065>; - turn gun1 to x-axis <-90.021978> speed <389.849789>; - turn gun2 to x-axis <180.043956> speed <718.723857>; - wait-for-turn rloarm around x-axis; - } - - - if (gunProgress > 5){ - gunProgress = 5; - - move lloarm to y-axis [0.0] speed [2.0]; - move barrel1 to y-axis [0.0] speed [3.0]; - turn ruparm to x-axis <-29.005495> speed <54.0>; - turn luparm to x-axis <-40.005495> speed <93.0>; - turn lloarm to z-axis <10.0> speed <45.0>; - turn lhand to z-axis <13.0> speed <66.0>; - sleep 200; - } - - - if (gunProgress > 4){ - gunProgress = 4; - move luparm to y-axis [0.0] speed [2.0]; - move lloarm to y-axis [0.0] speed [0.0]; - turn ruparm to x-axis <-48.010989> speed <94.0>; - turn luparm to x-axis <-25.005495> speed <75.0>; - turn lloarm to z-axis <0.0> speed <50.0>; - turn lhand to z-axis <0.0> speed <65.0>; - turn gun2 to x-axis <-90.021978> speed <450.0>; - sleep 200; - } - - - if (gunProgress > 3){ - gunProgress = 3; - turn ruparm to x-axis <-13.0> speed <175.0>; - turn luparm to x-axis <-1.0> speed <123.0>; - turn lloarm to x-axis <-24.005495> speed <121.0>; - turn gun2 to x-axis <0.0> speed <450.0>; - sleep 200; - } - - - if (gunProgress > 2){ - gunProgress = 1; - move gun1 to y-axis [0.0] speed [5.0]; - turn ruparm to x-axis <0.0> speed <68.0>; - turn luparm to x-axis <-1.0> speed <0.0>; - turn lloarm to x-axis <-11.0> speed <63.0>; - turn rloarm to x-axis <-26.005495> speed <15.0>; - turn gun1 to x-axis <-20.0> speed <348.0>; - sleep 200; - } - - if (gunProgress > 1){ - gunProgress = 1; - move gun1 to y-axis [0.0] speed [0.0]; - move gun1 to z-axis [0.0] speed [3.0]; - turn luparm to x-axis <0.0> speed <5.0>; - turn lloarm to x-axis <0.0> speed <58.0>; - turn rloarm to x-axis <-4.0> speed <107.0>; - turn gun1 to x-axis <20.0> speed <203.0>; - sleep 200; +Go() +{ + if( !GunOpen ) + { + call-script OpenGun(); + GunOpen = 1; } +} - if (gunProgress > 0){ - gunProgress = 0; - turn rloarm to x-axis <0.0> speed <24.0>; - turn gun1 to x-axis <0.0> speed <101.0>; - sleep 200; +Stop() +{ + if( GunOpen ) + { + GunOpen = 0; + call-script FoldGun(); + isAiming = FALSE; } - - isAiming = FALSE; } + #define BASEPIECE pelvis #define HITSPEED <55.0> //how 'heavy' the unit is, on a scale of 1-10 #define UNITSIZE 2 #define MAXTILT 100 -#include "../unit_hitbyweaponid_and_smoke.h" +#include "unit_hitbyweaponid_and_smoke.h" + + +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState ) + { + call-script Stop(); + currentstate = 1; + } + else + { + call-script Go(); + currentstate = 0; + } + } + statechg_StateChanging = FALSE; +} Create() @@ -749,15 +798,15 @@ Create() hide laser; hide aimy1; isAiming = FALSE; - isMoving = FALSE; + bMoving = FALSE; GunOpen = 0; - isOpening = 0; - gunProgress = 0; laser_persist = 3000; // miliseconds to hide laser after losing aim hide flare; animSpeed = 5; turn flare to x-axis <-90> now; restore_delay = 5000; + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; } lua_UnitScriptLight(lightIndex, count) @@ -771,12 +820,11 @@ ExecuteRestoreAfterDelay() if (Stunned) { return (1); } - - set-signal-mask SIGNAL_AIM1; - turn aimy1 to y-axis <0.0> speed <200.0>; + set-signal-mask 0; + turn aimy1 to y-axis <0.000000> speed <200.000000>; wait-for-turn aimy1 around y-axis; - wpn1_lasthead = 0xbadface; - start-script FoldGun(); + wpn1_lasthead = 1000000; + start-script RequestState(1); } SetStunned(State) { @@ -787,23 +835,18 @@ SetStunned(State) } RestoreAfterDelay() { - set-signal-mask SIGNAL_AIM1; + set-signal-mask SIG_AIM; sleep (laser_persist); hide laser; sleep (restore_delay - laser_persist); start-script ExecuteRestoreAfterDelay(); } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - // How do we prevent opening twice? - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; isAiming = TRUE; - start-script OpenGun(); - - + start-script RequestState(0); start-script RestoreAfterDelay(); - while( !GunOpen ) { return(0); @@ -813,11 +856,11 @@ AimWeapon1(heading, pitch) if ((GET WEAPON_RELOADSTATE(1) - GET GAME_FRAME ) < 90){ // GET WEAPON_RELOADSTATE(1) gives the frame weapon 1 can fire on show laser; } - turn aimy1 to y-axis heading speed <210.0>; - turn rloarm to x-axis <-23.005495> speed <50.0>; - if ((wpn1_lasthead == 0xbadface) OR ABSOLUTE_GREATER_THAN(WRAPDELTA(heading - wpn1_lasthead), <7>)) + turn aimy1 to y-axis heading speed <210.000000>; + turn rloarm to x-axis <-23.005495> speed <50.000000>; + if (((get ABS(wpn1_lasthead - heading)) > 65536) OR(((get ABS(wpn1_lasthead - heading)) > 1300) AND ((get ABS(wpn1_lasthead - heading)) < 64236))) { - wpn1_lasthead = 0xbadface; + wpn1_lasthead = 1000000; wait-for-turn aimy1 around y-axis; wait-for-turn rloarm around x-axis; } @@ -825,35 +868,38 @@ AimWeapon1(heading, pitch) return (1); } -FireWeapon1() +FirePrimary() { hide laser; shotcount = shotcount + 1; emit-sfx 1024 + 0 from flare; call-script lua_UnitScriptLight(1, shotcount); - turn rloarm to x-axis <-45.010989> speed <200.0>; + turn rloarm to x-axis <-45.010989> speed <200.000000>; sleep 50; - turn rloarm to x-axis <-23.005495> speed <50.0>; + turn rloarm to x-axis <-23.005495> speed <50.000000>; } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = aimy1; + piecenum = aimy1; } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { if( GunOpen ) { - pieceIndex = flare; + piecenum = flare; } else { - pieceIndex = aimy1; //no aiming from ankle height + piecenum = aimy1; //no aiming from ankle height } } - +SweetSpot(piecenum) +{ + piecenum = torso; +} Killed(severity, corpsetype) { @@ -861,8 +907,24 @@ Killed(severity, corpsetype) { corpsetype = 1 ; explode pelvis type BITMAPONLY | NOHEATCLOUD; + //explode rthigh type BITMAPONLY | NOHEATCLOUD; + //explode rleg type BITMAPONLY | NOHEATCLOUD; + //explode rfoot type BITMAPONLY | NOHEATCLOUD; + //explode lthigh type BITMAPONLY | NOHEATCLOUD; + //explode lleg type BITMAPONLY | NOHEATCLOUD; + //explode lfoot type BITMAPONLY | NOHEATCLOUD; + //explode torso type BITMAPONLY | NOHEATCLOUD; + //explode luparm type BITMAPONLY | NOHEATCLOUD; + //explode lloarm type BITMAPONLY | NOHEATCLOUD; + //explode lhand type BITMAPONLY | NOHEATCLOUD; + //explode ruparm type BITMAPONLY | NOHEATCLOUD; + //explode rloarm type BITMAPONLY | NOHEATCLOUD; + //explode rhand type BITMAPONLY | NOHEATCLOUD; + //explode gun1 type BITMAPONLY | NOHEATCLOUD; explode gun2 type BITMAPONLY | NOHEATCLOUD; explode barrel1 type BITMAPONLY | NOHEATCLOUD; + //explode barrel2 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare type BITMAPONLY | NOHEATCLOUD; explode head type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } @@ -870,7 +932,22 @@ Killed(severity, corpsetype) { corpsetype = 2 ; explode pelvis type BITMAPONLY | NOHEATCLOUD; + //explode rthigh type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rleg type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rfoot type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lthigh type FALL | NOHEATCLOUD; + //explode lleg type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lfoot type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode torso type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode luparm type FALL | NOHEATCLOUD; + //explode lloarm type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lhand type FALL | NOHEATCLOUD; + //explode ruparm type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rloarm type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rhand type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode gun1 type FIRE | SMOKE | FALL | NOHEATCLOUD; explode gun2 type FALL | NOHEATCLOUD; + //explode barrel1 type FIRE | SMOKE | FALL | NOHEATCLOUD; explode barrel2 type FIRE | SMOKE | FALL | NOHEATCLOUD; explode flare type FIRE | SMOKE | FALL | NOHEATCLOUD; explode head type FALL | NOHEATCLOUD; @@ -881,7 +958,21 @@ Killed(severity, corpsetype) corpsetype = 3 ; explode pelvis type FIRE | SMOKE | FALL | NOHEATCLOUD; explode rthigh type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rleg type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rfoot type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lthigh type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lleg type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode lfoot type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode torso type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode luparm type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode lloarm type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lhand type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode ruparm type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rloarm type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rhand type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode gun1 type SMOKE | FALL | NOHEATCLOUD; explode gun2 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode barrel1 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode barrel2 type FIRE | SMOKE | FALL | NOHEATCLOUD; explode flare type FIRE | SMOKE | FALL | NOHEATCLOUD; explode head type SMOKE | FALL | NOHEATCLOUD; @@ -890,6 +981,19 @@ Killed(severity, corpsetype) corpsetype = 3 ; explode pelvis type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode rthigh type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rleg type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rfoot type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode lthigh type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode lleg type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lfoot type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode torso type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode luparm type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lloarm type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode lhand type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode ruparm type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode rloarm type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rhand type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode gun1 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode gun2 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode barrel1 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode barrel2 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; diff --git a/scripts/Units/armsnipe.cob b/scripts/Units/armsnipe.cob index ef29b0cd4b2d32c0a7f9febc36903b5a8a29483c..d77a9356f1f73d7ae12a8d74395cc072b2aeb338 100644 GIT binary patch literal 26942 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 literal 24510 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 speed <60.0>; - turn dish3 to x-axis <90.016484> speed <60.0>; - turn dish2 to z-axis <-90.016484> speed <60.0>; - turn dish4 to z-axis <90.016484> speed <60.0>; + if( Static_Var_1 ) + { + set ACTIVATION to 0; + return (0); + } + turn dish1 to x-axis <-90.016484> speed <60.000000>; + turn dish3 to x-axis <90.016484> speed <60.000000>; + turn dish2 to z-axis <-90.016484> speed <60.000000>; + turn dish4 to z-axis <90.016484> speed <60.000000>; wait-for-turn dish1 around x-axis; wait-for-turn dish2 around x-axis; wait-for-turn dish3 around z-axis; @@ -38,16 +54,14 @@ Open() show emit; set ARMORED to 0; set YARD_OPEN to 0; - set ACTIVATION to 100; } -Close() +Stop() { - set ACTIVATION to 0; - turn dish1 to x-axis <0.0> speed <120.0>; - turn dish3 to x-axis <0.0> speed <120.0>; - turn dish2 to z-axis <0.0> speed <120.0>; - turn dish4 to z-axis <0.0> speed <120.0>; + turn dish1 to x-axis <0.000000> speed <120.000000>; + turn dish3 to x-axis <0.000000> speed <120.000000>; + turn dish2 to z-axis <0.000000> speed <120.000000>; + turn dish4 to z-axis <0.000000> speed <120.000000>; wait-for-turn dish1 around x-axis; wait-for-turn dish2 around x-axis; wait-for-turn dish3 around z-axis; @@ -57,42 +71,76 @@ Close() set YARD_OPEN to 1; } +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState ) + { + call-script Stop(); + currentstate = 1; + } + else + { + call-script Go(); + currentstate = 0; + } + } + statechg_StateChanging = FALSE; +} + +Create() +{ + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; + start-script SmokeUnit(); + Static_Var_1 = 0; +} + Activate() { - if( recentlyHit ) + if( Static_Var_1 ) { - set ACTIVATION to 0; // dont open it while hit, feedback it - wantOpen = 1; + set ACTIVATION to 0; return (0); } - call-script Open(); + start-script RequestState(0); } Deactivate() { - call-script Close(); + start-script RequestState(1); } HitByWeapon(anglex, anglez) { - - if (!recentlyHit){ - start-script Close(); - recentlyHit = 1; - wantOpen = get ACTIVATION; + if( get ACTIVATION ) + { + Static_Var_1 = 1; } - // Signal after Close() so as not to interrupt it - signal SIGNAL_TURNON; - set-signal-mask SIGNAL_TURNON; - - sleep 8000; - recentlyHit = 0; - if (wantOpen){ - start-script Open(); + if( Static_Var_1 ) + { + signal 2; + set-signal-mask 2; + set ACTIVATION to 0; + sleep 8000; + Static_Var_1 = 0; + set ACTIVATION to 100; } } - +SweetSpot(piecenum) +{ + piecenum = base; +} Killed(severity, corpsetype) { diff --git a/scripts/Units/armsolar.cob b/scripts/Units/armsolar.cob index 3100eea8c2951530c46e383e99b36d4414b5e198..0383a77c372d7da13ec951e4994d2b00f836e272 100644 GIT binary patch literal 2801 zcmcguJ!=$E6utZ57zE)dB3L`Z5q%EnYy78dD5)^pyxJNumM1SX&ZXWyNB&;5Mw4O8c1oF3QW|O}L2T{MGM_@;pCs=r2EISI!3YQO(xFTFK?g9GkScdaign z*5h-vXPpDxq!}1iXJzz%7lO`%tJQ}yCX>OZ{C?K)K8?o`N;*I1tG4k4C}7k5n&!uT zb!K@#?tz^LGO`c*FuNx+wsJCl6Vrg6`Hs2Oy0|`$PSIJr>#ezz`lddA_m;Q$z2$AJ zi(nmjTUKk?-rBo+v$M(d=IgXKy%+X0Qi=WE!lGxh9!<`a`mlD!qK&=Km+$`BB3FGg zyW>eay(hmtU*_GRQy64>sd+Rm@8&PZvAsYhhbo`5?di2fp@!U7;yqB9jFol1A?>M`?6N9vWD~~3# z$k)7Z51zjg05x1u|#xpehsRpgVO56{R=;1%#0sH2eMz%0-J?g3qZ{|BD~ zFMyZ8Yv3*L4)_3k1U7*$z!vZo*ap4>KY-S1|6#ne)=T7SUs_3jAh+W6$MG;}C7mRe zOOIkM7rROC35CmXN5yNsWO3tm+!^%Or1dn8lh&Z0$c^60O1v!hJHuF(d&38F_P1ew M=k4!ViC2;C57x}IFf(%N&dNd{gPIq4+s1Y?nFbB1pDmSG*j0_Y{|dM zz>q`hxWwlOek@hKHz$2e^l>_sRD4eY&wSHMFu>Ph93Iv%pT+U+djFcw;@DSxAGiUf z>BHO9_RMXZir+=YVQ0O=VbzdyR(o-17aQ}F-y<>bxV8S7Uv0tPz2RfLZD$XfzIqRu zKI$h}zv-*)wBH`A{M!TVVWS6io8ANSf=Tx89kcN{=-Tc6v~i|(_z*8?QoSSI$@0=( z@58nooD|=YaVP$J`9T6^upVPI>0)l4ImdM!?3s-G-0S|a-*=9}o?(_k9s3?wSM%V$ ze;A9JHe<%+98e=+-z0rU$WOiAV@P6}__u&Ld7hBtX0#7HzX)e)tNWXLn~6!_>#QSQ zwL(u_hkma?$8yl2bCvB~hv_mMb~YVP_n>2yoStjl75xKYUb>bSg5+ftF+_HsF1czCnON5gfw eQug~rPj2Vn_R5X5v-&%yzvuM#ycC0SEPnwQe}G;9 diff --git a/scripts/Units/armsonar.bos b/scripts/Units/armsonar.bos index 90b98294acc..b3f22d489c1 100644 --- a/scripts/Units/armsonar.bos +++ b/scripts/Units/armsonar.bos @@ -1,26 +1,93 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, dish; +static-var statechg_DesiredState, statechg_StateChanging; static-var Stunned; + +Go() +{ + spin dish around y-axis speed <20.010989>; + return (0); + // Build by COBBLER Ver4.0 Copyright @1998 DIGITAL CONCEPT SOFTWARE (MANU@inext.fr) / http://www.annihilationcenter.com/DCS/ +} +Stop() +{ + spin dish around y-axis speed <0.000000>; + return (0); +} +SetStunned(State) +{ + Stunned = State; + if (Stunned) { + call-script Stop(); + } else { + call-script Go(); + } +} + +InitState() +{ + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; + return (0); +} + +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + call-script Go(); + currentstate = 0; + } + if( statechg_DesiredState == 1 ) + { + call-script Stop(); + currentstate = 1; + } + } + statechg_StateChanging = FALSE; + return (0); +} + Create() { + call-script InitState(); + return (0); } Activate() { - spin dish around y-axis speed <20.010989>; + start-script RequestState(0); + return (0); } Deactivate() { - spin dish around y-axis speed <0.0>; + start-script RequestState(1); + return (0); } - +SweetSpot(piecenum) +{ + piecenum = base; + return (0); +} Killed(severity, corpsetype) { diff --git a/scripts/Units/armsonar.cob b/scripts/Units/armsonar.cob index 3153bca2d6f29abb43bef47408706a0c8cbe807e..5b365a5c3192c9753232110e7599b0de16613ce9 100644 GIT binary patch literal 1388 zcmb7EyGjF55FO)Y6%oBf8Y`E8pkNUc1PdXeD56C)rA=NJ4TL<*My({3rKMkzZ?W=Q z#B*-$m?dm9E*xfd9_P%RyKEpLD?kRwFNiF{@)-pppFofm*~R-R?1IS{=4cPs;1tB5 zMI3xiN});Cv3^#aL>Y9AIfDW`lm?8jrxKbxZ3I4AKE=>%(IQ5}N3~R!wd6|X_&z-& zwF&Aue&`j^l$P=b!E+x6A)%WDU>NLr`;*`Nz2`8&b}v8p%F4cWK<$ z@qI1^pS<+7kGs3_ah9gCVV=&&tPnsITwbtKNm~kGTyN zMdP!Le0}mftciSl2rHFEBWCG`J3@#xLs-qZe#G3Y&`s*?vCiv#z-2GLL*3tBdK6~O zGA#Azb64sQz0Vnco1@M;KgSnb^6*ZQbNok(bmaI?&-8q0GjKP`t7n|&>^e_c|GfJm z2me_)U>n#6o`DzO6?g;Q0sgbrfgG?2>;MPA5pV`v1Ghj8xC72RQjR-aDciUl587?p zkc)N`el@moV|xSJ_b(?8ma*e{+dVz(%6qS6WRC?*jPK9^3D{Y7KQ2U&5*g&^08WgMdGs*F+_76`YcmsUN zqeqKLRMD~wb speed <114.096974> / animSpeed; //delta=3.80 turn leg1a to z-axis <-0.253780> speed <7.613403> / animSpeed; //delta=0.25 turn leg1a to y-axis <-54.068167> speed <422.045141> / animSpeed; //delta=-14.07 @@ -55,10 +69,10 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn leg6b to y-axis <-4.614504> speed <138.435119> / animSpeed; //delta=-4.61 sleep ((33*animSpeed) -1); } - while(isMoving) { - if (isMoving) { //Frame:7 - turn base to z-axis <1.0> speed <30.0> / animSpeed; //delta=-1.00 - turn base to y-axis <-1.500000> speed <45.0> / animSpeed; //delta=-1.50 + while(bMoving) { + if (bMoving) { //Frame:7 + turn base to z-axis <1.000000> speed <30.000000> / animSpeed; //delta=-1.00 + turn base to y-axis <-1.500000> speed <45.000001> / animSpeed; //delta=-1.50 turn leg1a to x-axis <-13.792899> speed <299.689982> / animSpeed; //delta=9.99 turn leg1a to z-axis <37.025694> speed <1118.384221> / animSpeed; //delta=-37.28 turn leg1a to y-axis <-69.391874> speed <459.711210> / animSpeed; //delta=-15.32 @@ -97,9 +111,9 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn leg6b to y-axis <-2.411006> speed <66.104953> / animSpeed; //delta=2.20 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:10 - turn base to z-axis <2.0> speed <30.0> / animSpeed; //delta=-1.00 - turn base to y-axis <-3.0> speed <45.0> / animSpeed; //delta=-1.50 + if (bMoving) { //Frame:10 + turn base to z-axis <2.000000> speed <30.000000> / animSpeed; //delta=-1.00 + turn base to y-axis <-3.000000> speed <45.000001> / animSpeed; //delta=-1.50 turn leg1a to x-axis <7.199865> speed <629.782894> / animSpeed; //delta=-20.99 turn leg1a to z-axis <18.035842> speed <569.695560> / animSpeed; //delta=18.99 turn leg1a to y-axis <-62.167924> speed <216.718487> / animSpeed; //delta=7.22 @@ -138,7 +152,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn leg6b to y-axis <-2.869579> speed <13.757213> / animSpeed; //delta=-0.46 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:13 + if (bMoving) { //Frame:13 turn base to x-axis <-4.301008> speed <129.030243> / animSpeed; //delta=4.30 turn base to z-axis <0.887162> speed <33.385138> / animSpeed; //delta=1.11 turn base to y-axis <-1.504237> speed <44.872886> / animSpeed; //delta=1.50 @@ -179,10 +193,10 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn leg6b to y-axis <-3.523957> speed <19.631340> / animSpeed; //delta=-0.65 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:16 - turn base to x-axis <-0.0> speed <129.030243> / animSpeed; //delta=-4.30 - turn base to z-axis <-0.0> speed <26.614862> / animSpeed; //delta=0.89 - turn base to y-axis <0.0> speed <45.127116> / animSpeed; //delta=1.50 + if (bMoving) { //Frame:16 + turn base to x-axis <-0.000000> speed <129.030243> / animSpeed; //delta=-4.30 + turn base to z-axis <-0.000000> speed <26.614862> / animSpeed; //delta=0.89 + turn base to y-axis <0.000000> speed <45.127116> / animSpeed; //delta=1.50 turn leg1a to x-axis <4.548910> speed <146.284864> / animSpeed; //delta=4.88 turn leg1a to z-axis <-8.298538> speed <575.074180> / animSpeed; //delta=19.17 turn leg1a to y-axis <-33.635868> speed <481.765720> / animSpeed; //delta=16.06 @@ -220,9 +234,9 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn leg6b to y-axis <-1.527276> speed <59.900444> / animSpeed; //delta=2.00 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:19 - turn base to z-axis <-1.0> speed <30.0> / animSpeed; //delta=1.00 - turn base to y-axis <1.500000> speed <45.0> / animSpeed; //delta=1.50 + if (bMoving) { //Frame:19 + turn base to z-axis <-1.000000> speed <30.000000> / animSpeed; //delta=1.00 + turn base to y-axis <1.500000> speed <45.000001> / animSpeed; //delta=1.50 turn leg1a to x-axis <1.870687> speed <80.346685> / animSpeed; //delta=2.68 turn leg1a to z-axis <-10.925008> speed <78.794095> / animSpeed; //delta=2.63 turn leg1a to y-axis <-19.998831> speed <409.111085> / animSpeed; //delta=13.64 @@ -261,9 +275,9 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn leg6b to y-axis <-9.202802> speed <230.265791> / animSpeed; //delta=-7.68 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:22 - turn base to z-axis <-2.0> speed <30.0> / animSpeed; //delta=1.00 - turn base to y-axis <3.0> speed <45.0> / animSpeed; //delta=1.50 + if (bMoving) { //Frame:22 + turn base to z-axis <-2.000000> speed <30.000000> / animSpeed; //delta=1.00 + turn base to y-axis <3.000000> speed <45.000001> / animSpeed; //delta=1.50 turn leg1a to x-axis <2.282489> speed <12.354064> / animSpeed; //delta=-0.41 turn leg1a to z-axis <-16.639857> speed <171.445475> / animSpeed; //delta=5.71 turn leg1a to y-axis <-25.666143> speed <170.019357> / animSpeed; //delta=-5.67 @@ -302,10 +316,10 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn leg6b to y-axis <-3.205238> speed <179.926918> / animSpeed; //delta=6.00 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:25 + if (bMoving) { //Frame:25 turn base to x-axis <-4.300000> speed <128.999994> / animSpeed; //delta=4.30 - turn base to z-axis <-1.0> speed <30.0> / animSpeed; //delta=-1.00 - turn base to y-axis <1.500000> speed <45.0> / animSpeed; //delta=-1.50 + turn base to z-axis <-1.000000> speed <30.000000> / animSpeed; //delta=-1.00 + turn base to y-axis <1.500000> speed <45.000001> / animSpeed; //delta=-1.50 turn leg1a to x-axis <2.018192> speed <7.928902> / animSpeed; //delta=0.26 turn leg1a to z-axis <-13.542274> speed <92.927490> / animSpeed; //delta=-3.10 turn leg1a to y-axis <-39.134696> speed <404.056574> / animSpeed; //delta=-13.47 @@ -343,10 +357,10 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn leg6b to y-axis <-4.743830> speed <46.157744> / animSpeed; //delta=-1.54 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:28 - turn base to x-axis <-0.0> speed <128.999994> / animSpeed; //delta=-4.30 - turn base to z-axis <0.0> speed <30.0> / animSpeed; //delta=-1.00 - turn base to y-axis <-0.0> speed <45.0> / animSpeed; //delta=-1.50 + if (bMoving) { //Frame:28 + turn base to x-axis <-0.000000> speed <128.999994> / animSpeed; //delta=-4.30 + turn base to z-axis <0.000000> speed <30.000000> / animSpeed; //delta=-1.00 + turn base to y-axis <-0.000000> speed <45.000001> / animSpeed; //delta=-1.50 turn leg1a to x-axis <-3.803232> speed <174.642746> / animSpeed; //delta=5.82 turn leg1a to z-axis <-0.253780> speed <398.654820> / animSpeed; //delta=-13.29 turn leg1a to y-axis <-54.068167> speed <448.004129> / animSpeed; //delta=-14.93 @@ -386,47 +400,47 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas } } } -// Call this from StopMoving()! +// Call this from MotionControl()! StopWalking() { - turn base to x-axis <0.0> speed <43.010081>; - turn base to y-axis <0.0> speed <15.042372>; - turn base to z-axis <0.0> speed <11.128379>; - turn leg1a to x-axis <0.0> speed <209.927631>; + turn base to x-axis <0.000000> speed <43.010081>; + turn base to y-axis <0.000000> speed <15.042372>; + turn base to z-axis <0.000000> speed <11.128379>; + turn leg1a to x-axis <0.000000> speed <209.927631>; turn leg1a to y-axis <-39.999995> speed <160.588573>; - turn leg1a to z-axis <0.0> speed <372.794740>; - turn leg1b to x-axis <0.0> speed <188.448744>; - turn leg1b to y-axis <0.0> speed <76.755264>; - turn leg1b to z-axis <0.0> speed <412.314136>; - turn leg2a to x-axis <0.0> speed <78.794420>; - turn leg2a to y-axis <0.0> speed <187.467365>; - turn leg2a to z-axis <0.0> speed <172.221480>; - turn leg2b to x-axis <0.0> speed <66.892444>; - turn leg2b to y-axis <0.0> speed <44.553781>; - turn leg2b to z-axis <0.0> speed <222.231423>; - turn leg3a to x-axis <0.0> speed <122.026047>; + turn leg1a to z-axis <0.000000> speed <372.794740>; + turn leg1b to x-axis <0.000000> speed <188.448744>; + turn leg1b to y-axis <0.000000> speed <76.755264>; + turn leg1b to z-axis <0.000000> speed <412.314136>; + turn leg2a to x-axis <0.000000> speed <78.794420>; + turn leg2a to y-axis <0.000000> speed <187.467365>; + turn leg2a to z-axis <0.000000> speed <172.221480>; + turn leg2b to x-axis <0.000000> speed <66.892444>; + turn leg2b to y-axis <0.000000> speed <44.553781>; + turn leg2b to z-axis <0.000000> speed <222.231423>; + turn leg3a to x-axis <0.000000> speed <122.026047>; turn leg3a to y-axis <40.254816> speed <190.863481>; - turn leg3a to z-axis <0.0> speed <353.850451>; + turn leg3a to z-axis <0.000000> speed <353.850451>; turn leg3b to x-axis <3.844526> speed <94.801493>; turn leg3b to y-axis <-0.522445> speed <65.463685>; turn leg3b to z-axis <5.401364> speed <507.599869>; - turn leg4a to x-axis <0.0> speed <122.026047>; + turn leg4a to x-axis <0.000000> speed <122.026047>; turn leg4a to y-axis <-39.999995> speed <190.863481>; - turn leg4a to z-axis <0.0> speed <353.850443>; - turn leg4b to x-axis <0.0> speed <94.801493>; - turn leg4b to y-axis <0.0> speed <65.463685>; - turn leg4b to z-axis <0.0> speed <507.599869>; - turn leg5a to x-axis <0.0> speed <74.112964>; - turn leg5a to y-axis <0.0> speed <187.467374>; - turn leg5a to z-axis <0.0> speed <172.221479>; - turn leg5b to x-axis <0.0> speed <85.298980>; - turn leg5b to y-axis <0.0> speed <55.189055>; - turn leg5b to z-axis <0.0> speed <329.698798>; - turn leg6a to x-axis <0.0> speed <209.927631>; + turn leg4a to z-axis <0.000000> speed <353.850443>; + turn leg4b to x-axis <0.000000> speed <94.801493>; + turn leg4b to y-axis <0.000000> speed <65.463685>; + turn leg4b to z-axis <0.000000> speed <507.599869>; + turn leg5a to x-axis <0.000000> speed <74.112964>; + turn leg5a to y-axis <0.000000> speed <187.467374>; + turn leg5a to z-axis <0.000000> speed <172.221479>; + turn leg5b to x-axis <0.000000> speed <85.298980>; + turn leg5b to y-axis <0.000000> speed <55.189055>; + turn leg5b to z-axis <0.000000> speed <329.698798>; + turn leg6a to x-axis <0.000000> speed <209.927631>; turn leg6a to y-axis <39.999999> speed <160.588505>; - turn leg6a to z-axis <0.0> speed <372.794706>; - turn leg6b to x-axis <0.0> speed <188.448744>; - turn leg6b to y-axis <0.0> speed <76.755264>; - turn leg6b to z-axis <0.0> speed <412.314136>; + turn leg6a to z-axis <0.000000> speed <372.794706>; + turn leg6b to x-axis <0.000000> speed <188.448744>; + turn leg6b to y-axis <0.000000> speed <76.755264>; + turn leg6b to z-axis <0.000000> speed <412.314136>; } // REMEMBER TO animspeed = 3 in Create() !! UnitSpeed(){ @@ -443,14 +457,14 @@ UnitSpeed(){ sleep 98; } } -StartMoving(reversing){ - signal SIGNAL_MOVE; - isMoving=TRUE; +StartMoving(){ + signal SIG_WALK; + bMoving=TRUE; start-script Walk(); } StopMoving(){ - \signal SIGNAL_MOVE; - isMoving=FALSE; + \signal SIG_WALK; + bMoving=FALSE; call-script StopWalking(); } @@ -459,11 +473,109 @@ StopMoving(){ //how 'heavy' the unit is, on a scale of 1-10 #define UNITSIZE 2 #define MAXTILT 100 -#include "../unit_hitbyweaponid_and_smoke.h" +HitByWeapon(anglex, anglez, damage) // angle[x|z] is always [-500;500], damage is multiplied by 100 +{ + var amount;//, speedz, speedx; + amount = damage / (100 * UNITSIZE); + if (amount < 3 ) return (0); + if (amount > MAXTILT) amount = MAXTILT; + //get PRINT(anglex, anglez, amount, damage); + //speedz = HITSPEED * get ABS(anglez) / 500; //nevermind this, the random error this produces actually looks better than the accurate version + turn BASEPIECE to z-axis (anglez * amount) / 100 speed HITSPEED; + turn BASEPIECE to x-axis <0> - (anglex * amount) /100 speed HITSPEED; + wait-for-turn BASEPIECE around z-axis; + wait-for-turn BASEPIECE around x-axis; + turn BASEPIECE to z-axis <0.000000> speed HITSPEED / 4; + turn BASEPIECE to x-axis <0.000000> speed HITSPEED / 4; +} +HitByWeaponId(anglex, anglez, weaponid, dmg) //weaponID is always 0,lasers and flamers give angles of 0 +{ + start-script HitByWeapon(dmg, anglez,anglex); //I dont know why param order must be switched, and this also runs a frame later :( + return (100); //return damage percent +} + +SmokeUnit(healthpercent, sleeptime, smoketype) +{ + while( get BUILD_PERCENT_LEFT ) + { + sleep 400; + } + start-script UnitSpeed(); + while( TRUE ) + { + healthpercent = get HEALTH; + if( healthpercent < 66 ) + { + smoketype = 256 | 2; + if( Rand( 1, 66 ) < healthpercent ) + { + smoketype = 256 | 1; + } + emit-sfx smoketype from base; + } + sleeptime = healthpercent * 50; + if( sleeptime < 200 ) + { + sleeptime = 200; + } + sleep sleeptime; + } +} +Go() +{ + call-script Activatescr(); + turn turret to y-axis Static_Var_1 speed <100.000000>; + wait-for-turn turret around y-axis; + set INBUILDSTANCE to 1; + return (0); +} + +Stop() +{ + set INBUILDSTANCE to 0; + call-script Deactivatescr(); + return (0); +} + +InitState() +{ + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; + return (0); +} + +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState ) + { + call-script Stop(); + notBuilding = 1; + currentstate = 1; + } + else + { + call-script Go(); + notBuilding = 0; + currentstate = 0; + } + } + statechg_StateChanging = FALSE; +} Create() { + call-script InitState(); hide flare; hide emplight; notBuilding = 1; @@ -472,7 +584,11 @@ Create() maxreloadtime=0; open=FALSE; firing=FALSE; - SLEEP_UNTIL_UNITFINISHED; + while(get BUILD_PERCENT_LEFT) + { + sleep 250; + } + start-script SmokeUnit(); restore_delay=2000; } @@ -481,9 +597,11 @@ SetMaxReloadTime(t) restore_delay=5000; } -QueryWeapon1(pieceIndex) + + +QueryPrimary(piecenum) { - pieceIndex=flare; + piecenum=flare; } FireEmp() @@ -493,7 +611,7 @@ FireEmp() hide emplight; } -FireWeapon1() +FirePrimary() { emit-sfx 1024 + 0 from flare; start-script FireEmp(); @@ -503,9 +621,10 @@ FireWeapon1() StartBuilding(heading, pitch) { show flare; - signal SIGNAL_BUILD; - set INBUILDSTANCE to 1; - turn turret to y-axis heading speed <100.0>; + start-script RequestState(0); + while( notBuilding ) sleep 100; + signal SIG_BUILD; + turn turret to y-axis heading speed <100.000000>; wait-for-turn turret around y-axis; set INBUILDSTANCE to 1; } @@ -513,16 +632,23 @@ StartBuilding(heading, pitch) StopBuilding() { hide flare; - signal SIGNAL_BUILD; - set-signal-mask SIGNAL_BUILD; + signal SIG_BUILD; + set-signal-mask SIG_BUILD; sleep 1000; - set INBUILDSTANCE to 0; - turn turret to y-axis <0> speed <100.0>; + set-signal-mask 0; + signal SIG_BUILD; +} + + +SweetSpot(piecenum) +{ + piecenum = turret; } -QueryNanoPiece(pieceIndex) + +QueryNanoPiece(piecenum) { - pieceIndex=flare; + piecenum=flare; } static-var Stunned; @@ -531,11 +657,11 @@ ExecuteRestoreAfterDelay() if (Stunned) { return (1); } - turn turret to y-axis <0.0> speed <150.0>; - //turn turret to x-axis <0.0> speed <150.0>; + turn turret to y-axis <0.000000> speed <150.000000>; + //turn turret to x-axis <0.000000> speed <150.000000>; wait-for-turn turret around y-axis; //wait-for-turn turret around x-axis; - wpn1_lasthead = 0xbadface; + wpn1_lasthead = 1000000; open=FALSE; firing=FALSE; } @@ -548,29 +674,31 @@ SetStunned(State) } RestoreAfterDelay() { - set-signal-mask SIGNAL_AIM1; + set-signal-mask SIG_AIM; sleep restore_delay; start-script ExecuteRestoreAfterDelay(); } Activate() { + start-script RequestState(0); return (0); } Deactivate() { + start-script RequestState(1); return (0); } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - turn turret to y-axis heading speed <150.0>; - turn turret to x-axis <0.0> - pitch speed <100.0>; - if ((wpn1_lasthead == 0xbadface) OR ABSOLUTE_GREATER_THAN(WRAPDELTA(heading - wpn1_lasthead), <7>)) + signal SIG_AIM; + turn turret to y-axis heading speed <150.000000>; + turn turret to x-axis <0.000000> - pitch speed <100.000000>; + if (((get ABS(wpn1_lasthead - heading)) > 65536) OR(((get ABS(wpn1_lasthead - heading)) > 1300) AND ((get ABS(wpn1_lasthead - heading)) < 64236))) { - wpn1_lasthead = 0xbadface; + wpn1_lasthead = 1000000; wait-for-turn turret around y-axis; wait-for-turn turret around x-axis; } @@ -580,9 +708,9 @@ AimWeapon1(heading, pitch) } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = turret; + piecenum = turret; } @@ -595,6 +723,18 @@ Killed(severity, corpsetype) explode turret type BITMAPONLY | NOHEATCLOUD; explode barrel type FIRE | SMOKE | FALL | NOHEATCLOUD; explode flare type BITMAPONLY | NOHEATCLOUD; + //explode leg6a type BITMAPONLY | NOHEATCLOUD; + //explode leg6b type BITMAPONLY | NOHEATCLOUD; + //explode leg4a type BITMAPONLY | NOHEATCLOUD; + //explode leg4b type BITMAPONLY | NOHEATCLOUD; + //explode leg2a type BITMAPONLY | NOHEATCLOUD; + //explode leg2b type BITMAPONLY | NOHEATCLOUD; + //explode leg1a type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg1b type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg3a type BITMAPONLY | NOHEATCLOUD; + //explode leg3b type BITMAPONLY | NOHEATCLOUD; + //explode leg5a type BITMAPONLY | NOHEATCLOUD; + //explode leg5b type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } if( severity <= 50 ) @@ -604,6 +744,18 @@ Killed(severity, corpsetype) explode turret type FALL | NOHEATCLOUD; explode barrel type FALL | NOHEATCLOUD; explode flare type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg6a type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg6b type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg4a type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg4b type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg2a type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg2b type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg1a type FALL | NOHEATCLOUD; + //explode leg1b type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg3a type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg3b type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg5a type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg5b type FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) @@ -614,6 +766,17 @@ Killed(severity, corpsetype) explode barrel type SMOKE | FALL | NOHEATCLOUD; explode flare type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; explode leg6a type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg6b type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode leg4a type SMOKE | FALL | NOHEATCLOUD; + //explode leg4b type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg2a type SMOKE | FALL | NOHEATCLOUD; + //explode leg2b type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg1a type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg1b type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg3a type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg3b type SMOKE | FALL | NOHEATCLOUD; + //explode leg5a type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg5b type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; @@ -622,5 +785,16 @@ Killed(severity, corpsetype) explode barrel type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode flare type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode leg6a type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode leg6b type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode leg4a type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg4b type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg2a type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg2b type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg1a type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg1b type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode leg3a type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode leg3b type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode leg5a type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg5b type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/armspid.cob b/scripts/Units/armspid.cob index ee4e365b5670fb4d4301fdb1e60827dee486732e..48f532eb3fb46ad0c8e641c4305853e6f430226c 100644 GIT binary patch literal 20059 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 pT%Q`Qr-kcj;rg_2eOkCaJzSr@IB6`e=$w+2R+d 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 diff --git a/scripts/Units/armsptk.bos b/scripts/Units/armsptk.bos index 21b22a7e408..d6884c38945 100644 --- a/scripts/Units/armsptk.bos +++ b/scripts/Units/armsptk.bos @@ -1,5 +1,7 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" // One sixth of the full cycle duration, in millisecond @@ -9,19 +11,19 @@ piece flare1, flare2, flare3 ,base, turret, leg1a, leg1b, leg1c, leg2a, leg2b, leg2c, leg3a, leg3b, leg3c, leg4a, leg4b, leg4c, leg5a, leg5b, leg5c, leg6a, leg6b, leg6c, aimy1; -static-var fire_count, firing, open, maxreloadtime, restore_delay, animSpeed, maxSpeed, animFramesPerKeyframe, isMoving; +static-var fire_count, firing, open, maxreloadtime, restore_delay, animSpeed, maxSpeed, animFramesPerKeyframe, bMoving; -#define SIGNAL_AIM1 256 -#define SIGNAL_SHOOT1 16 -#define SIGNAL_MOVE 1 +#define SIG_AIM 2 +#define SIG_FIRE1 4 +#define SIG_WALK 8 #define SMOKEPIECE1 body Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptasz\Documents\GitHub\support\Animation_sources\armsptk_anim_walk.blend - //set-signal-mask SIGNAL_MOVE; - if (isMoving) { //Frame:5 - move base to y-axis [-0.333333] speed [10.0] / animSpeed; //delta=-0.33 + //set-signal-mask SIG_WALK; + if (bMoving) { //Frame:5 + move base to y-axis [-0.333333] speed [10.000000] / animSpeed; //delta=-0.33 turn base to z-axis <-0.666667> speed <19.999999> / animSpeed; //delta=0.67 - turn base to y-axis <-1.0> speed <30.0> / animSpeed; //delta=-1.00 + turn base to y-axis <-1.000000> speed <30.000000> / animSpeed; //delta=-1.00 turn leg1a to x-axis <-0.497652> speed <14.929556> / animSpeed; //delta=0.50 turn leg1a to z-axis <-0.423916> speed <12.717471> / animSpeed; //delta=0.42 turn leg1a to y-axis <-70.310159> speed <609.304749> / animSpeed; //delta=-20.31 @@ -49,14 +51,14 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn leg6c to z-axis <-22.361993> speed <670.859797> / animSpeed; //delta=22.36 sleep ((33*animSpeed) -1); } - while(isMoving) { - if (isMoving) { //Frame:9 + while(bMoving) { + if (bMoving) { //Frame:9 move base to y-axis [-0.666667] speed [9.999999] / animSpeed; //delta=-0.33 - turn base to x-axis <1.500000> speed <45.0> / animSpeed; //delta=-1.50 + turn base to x-axis <1.500000> speed <45.000001> / animSpeed; //delta=-1.50 turn base to z-axis <-2.333333> speed <49.999999> / animSpeed; //delta=1.67 - turn base to y-axis <-2.0> speed <30.0> / animSpeed; //delta=-1.00 - turn leg1a to x-axis <0.0> speed <14.929565> / animSpeed; //delta=-0.50 - turn leg1a to z-axis <-0.0> speed <12.717468> / animSpeed; //delta=-0.42 + turn base to y-axis <-2.000000> speed <30.000006> / animSpeed; //delta=-1.00 + turn leg1a to x-axis <0.000000> speed <14.929565> / animSpeed; //delta=-0.50 + turn leg1a to z-axis <-0.000000> speed <12.717468> / animSpeed; //delta=-0.42 turn leg1a to y-axis <-68.248083> speed <61.862253> / animSpeed; //delta=2.06 turn leg1b to x-axis <-0.056438> speed <15.722873> / animSpeed; //delta=0.52 turn leg1b to z-axis <45.940214> speed <1808.670890> / animSpeed; //delta=-60.29 @@ -81,11 +83,11 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn leg6c to z-axis <-37.673753> speed <459.352778> / animSpeed; //delta=15.31 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:13 - move base to y-axis [-1.0] speed [10.000001] / animSpeed; //delta=-0.33 - turn base to x-axis <3.0> speed <45.0> / animSpeed; //delta=-1.50 - turn base to z-axis <-4.0> speed <50.0> / animSpeed; //delta=1.67 - turn base to y-axis <-3.0> speed <29.999997> / animSpeed; //delta=-1.00 + if (bMoving) { //Frame:13 + move base to y-axis [-1.000000] speed [10.000001] / animSpeed; //delta=-0.33 + turn base to x-axis <3.000000> speed <45.000001> / animSpeed; //delta=-1.50 + turn base to z-axis <-4.000000> speed <50.000001> / animSpeed; //delta=1.67 + turn base to y-axis <-3.000000> speed <29.999997> / animSpeed; //delta=-1.00 turn leg1a to y-axis <-62.638879> speed <168.276122> / animSpeed; //delta=5.61 turn leg1b to x-axis <1.330461> speed <41.606987> / animSpeed; //delta=-1.39 turn leg1b to z-axis <16.050149> speed <896.701966> / animSpeed; //delta=29.89 @@ -110,11 +112,11 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn leg6c to z-axis <-53.850417> speed <485.299933> / animSpeed; //delta=16.18 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:17 - move base to y-axis [-0.500000] speed [15.0] / animSpeed; //delta=0.50 - turn base to x-axis <1.500000> speed <45.0> / animSpeed; //delta=1.50 - turn base to z-axis <-2.0> speed <60.0> / animSpeed; //delta=-2.00 - turn base to y-axis <-1.500000> speed <45.0> / animSpeed; //delta=1.50 + if (bMoving) { //Frame:17 + move base to y-axis [-0.500000] speed [15.000000] / animSpeed; //delta=0.50 + turn base to x-axis <1.500000> speed <45.000001> / animSpeed; //delta=1.50 + turn base to z-axis <-2.000000> speed <60.000000> / animSpeed; //delta=-2.00 + turn base to y-axis <-1.500000> speed <45.000001> / animSpeed; //delta=1.50 turn leg1a to y-axis <-58.180405> speed <133.754228> / animSpeed; //delta=4.46 turn leg1b to x-axis <0.568837> speed <22.848737> / animSpeed; //delta=0.76 turn leg1b to z-axis <-7.481733> speed <705.956451> / animSpeed; //delta=23.53 @@ -140,13 +142,13 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn turret to x-axis <4.999999> speed <149.999985> / animSpeed; //delta=-5.00 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:21 - move base to y-axis [0.0] speed [15.0] / animSpeed; //delta=0.50 - turn base to x-axis <-0.0> speed <45.0> / animSpeed; //delta=1.50 - turn base to z-axis <-0.0> speed <60.0> / animSpeed; //delta=-2.00 - turn base to y-axis <0.0> speed <45.0> / animSpeed; //delta=1.50 + if (bMoving) { //Frame:21 + move base to y-axis [0.000000] speed [15.000000] / animSpeed; //delta=0.50 + turn base to x-axis <-0.000000> speed <45.000001> / animSpeed; //delta=1.50 + turn base to z-axis <-0.000000> speed <60.000000> / animSpeed; //delta=-2.00 + turn base to y-axis <0.000000> speed <45.000001> / animSpeed; //delta=1.50 turn leg1a to y-axis <-60.316397> speed <64.079742> / animSpeed; //delta=-2.14 - turn leg1b to x-axis <-0.0> speed <17.065099> / animSpeed; //delta=0.57 + turn leg1b to x-axis <-0.000000> speed <17.065099> / animSpeed; //delta=0.57 turn leg1b to z-axis <-14.458944> speed <209.316321> / animSpeed; //delta=6.98 turn leg1b to y-axis <1.407502> speed <133.642824> / animSpeed; //delta=4.45 turn leg1c to z-axis <22.361993> speed <377.473521> / animSpeed; //delta=-12.58 @@ -168,14 +170,14 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn leg6b to z-axis <14.348814> speed <586.945340> / animSpeed; //delta=19.56 turn leg6b to y-axis <-1.060665> speed <3.133379> / animSpeed; //delta=0.10 turn leg6c to z-axis <9.201177> speed <945.773673> / animSpeed; //delta=-31.53 - turn turret to x-axis <-0.0> speed <149.999983> / animSpeed; //delta=5.00 + turn turret to x-axis <-0.000000> speed <149.999983> / animSpeed; //delta=5.00 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:25 - move base to y-axis [-0.500000] speed [15.0] / animSpeed; //delta=-0.50 - turn base to x-axis <1.500000> speed <45.0> / animSpeed; //delta=-1.50 - turn base to z-axis <2.0> speed <60.0> / animSpeed; //delta=-2.00 - turn base to y-axis <1.500000> speed <45.0> / animSpeed; //delta=1.50 + if (bMoving) { //Frame:25 + move base to y-axis [-0.500000] speed [15.000000] / animSpeed; //delta=-0.50 + turn base to x-axis <1.500000> speed <45.000001> / animSpeed; //delta=-1.50 + turn base to z-axis <2.000000> speed <60.000000> / animSpeed; //delta=-2.00 + turn base to y-axis <1.500000> speed <45.000001> / animSpeed; //delta=1.50 turn leg1a to y-axis <-52.637748> speed <230.359468> / animSpeed; //delta=7.68 turn leg1b to x-axis <5.243050> speed <157.291487> / animSpeed; //delta=-5.24 turn leg1b to z-axis <-24.969587> speed <315.319303> / animSpeed; //delta=10.51 @@ -193,8 +195,8 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn leg5a to y-axis <-1.833574> speed <446.686662> / animSpeed; //delta=-14.89 turn leg5b to z-axis <-16.725815> speed <11.167001> / animSpeed; //delta=-0.37 turn leg5c to z-axis <24.327416> speed <9.042897> / animSpeed; //delta=-0.30 - turn leg6a to x-axis <-0.0> speed <14.929552> / animSpeed; //delta=-0.50 - turn leg6a to z-axis <0.0> speed <12.717464> / animSpeed; //delta=0.42 + turn leg6a to x-axis <-0.000000> speed <14.929552> / animSpeed; //delta=-0.50 + turn leg6a to z-axis <0.000000> speed <12.717464> / animSpeed; //delta=0.42 turn leg6a to y-axis <68.248083> speed <61.862253> / animSpeed; //delta=-2.06 turn leg6b to x-axis <-0.056438> speed <15.722870> / animSpeed; //delta=0.52 turn leg6b to z-axis <-45.940211> speed <1808.670736> / animSpeed; //delta=60.29 @@ -202,11 +204,11 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn leg6c to z-axis <72.103445> speed <1887.068032> / animSpeed; //delta=-62.90 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:29 - move base to y-axis [-1.0] speed [15.0] / animSpeed; //delta=-0.50 - turn base to x-axis <3.0> speed <45.0> / animSpeed; //delta=-1.50 - turn base to z-axis <4.0> speed <60.0> / animSpeed; //delta=-2.00 - turn base to y-axis <3.0> speed <45.0> / animSpeed; //delta=1.50 + if (bMoving) { //Frame:29 + move base to y-axis [-1.000000] speed [15.000000] / animSpeed; //delta=-0.50 + turn base to x-axis <3.000000> speed <45.000001> / animSpeed; //delta=-1.50 + turn base to z-axis <4.000000> speed <60.000000> / animSpeed; //delta=-2.00 + turn base to y-axis <3.000000> speed <45.000001> / animSpeed; //delta=1.50 turn leg1a to y-axis <-28.377959> speed <727.793659> / animSpeed; //delta=24.26 turn leg1b to x-axis <0.206362> speed <151.100630> / animSpeed; //delta=5.04 turn leg1b to z-axis <-39.588640> speed <438.571603> / animSpeed; //delta=14.62 @@ -231,11 +233,11 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn leg6c to z-axis <28.495590> speed <1308.235651> / animSpeed; //delta=43.61 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:33 + if (bMoving) { //Frame:33 move base to y-axis [-0.666667] speed [9.999999] / animSpeed; //delta=0.33 - turn base to x-axis <1.500000> speed <45.0> / animSpeed; //delta=1.50 + turn base to x-axis <1.500000> speed <45.000001> / animSpeed; //delta=1.50 turn base to z-axis <1.666667> speed <69.999998> / animSpeed; //delta=2.33 - turn base to y-axis <1.0> speed <60.0> / animSpeed; //delta=-2.00 + turn base to y-axis <1.000000> speed <60.000000> / animSpeed; //delta=-2.00 turn leg1a to x-axis <-0.248826> speed <7.464766> / animSpeed; //delta=0.25 turn leg1a to z-axis <-0.211958> speed <6.358730> / animSpeed; //delta=0.21 turn leg1a to y-axis <-49.344063> speed <628.983122> / animSpeed; //delta=-20.97 @@ -261,11 +263,11 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn turret to x-axis <4.999999> speed <149.999972> / animSpeed; //delta=-5.00 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:37 - move base to y-axis [-0.333333] speed [10.0] / animSpeed; //delta=0.33 - turn base to x-axis <-0.0> speed <45.0> / animSpeed; //delta=1.50 - turn base to z-axis <-0.666667> speed <70.0> / animSpeed; //delta=2.33 - turn base to y-axis <-1.0> speed <60.0> / animSpeed; //delta=-2.00 + if (bMoving) { //Frame:37 + move base to y-axis [-0.333333] speed [10.000000] / animSpeed; //delta=0.33 + turn base to x-axis <-0.000000> speed <45.000001> / animSpeed; //delta=1.50 + turn base to z-axis <-0.666667> speed <70.000000> / animSpeed; //delta=2.33 + turn base to y-axis <-1.000000> speed <60.000003> / animSpeed; //delta=-2.00 turn leg1a to x-axis <-0.497652> speed <7.464782> / animSpeed; //delta=0.25 turn leg1a to z-axis <-0.423916> speed <6.358741> / animSpeed; //delta=0.21 turn leg1a to y-axis <-70.310159> speed <628.982866> / animSpeed; //delta=-20.97 @@ -285,52 +287,52 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn leg5b to z-axis <15.328698> speed <1175.054338> / animSpeed; //delta=-39.17 turn leg5c to z-axis <3.021825> speed <916.146720> / animSpeed; //delta=30.54 turn leg6a to y-axis <60.316397> speed <64.079742> / animSpeed; //delta=2.14 - turn leg6b to x-axis <0.0> speed <17.065095> / animSpeed; //delta=0.57 + turn leg6b to x-axis <0.000000> speed <17.065095> / animSpeed; //delta=0.57 turn leg6b to z-axis <14.458945> speed <209.316372> / animSpeed; //delta=-6.98 turn leg6b to y-axis <-1.407501> speed <133.642875> / animSpeed; //delta=-4.45 turn leg6c to z-axis <-22.361993> speed <377.473572> / animSpeed; //delta=12.58 - turn turret to x-axis <0.0> speed <149.999970> / animSpeed; //delta=5.00 + turn turret to x-axis <0.000000> speed <149.999970> / animSpeed; //delta=5.00 sleep ((33*animSpeed) -1); } } } -// Call this from StopMoving()! +// Call this from MotionControl()! StopWalking() { - move base to y-axis [0.0] speed [3.750000]; - turn base to x-axis <0.0> speed <11.250000>; - turn base to y-axis <0.0> speed <15.0>; - turn base to z-axis <0.0> speed <17.500000>; - turn leg1a to x-axis <0.0> speed <3.732391>; - turn leg1a to y-axis <-50.0> speed <181.948415>; - turn leg1a to z-axis <0.0> speed <3.179368>; - turn leg1b to x-axis <0.0> speed <39.322872>; + move base to y-axis [0.000000] speed [3.750000]; + turn base to x-axis <0.000000> speed <11.250000>; + turn base to y-axis <0.000000> speed <15.000001>; + turn base to z-axis <0.000000> speed <17.500000>; + turn leg1a to x-axis <0.000000> speed <3.732391>; + turn leg1a to y-axis <-50.000000> speed <181.948415>; + turn leg1a to z-axis <0.000000> speed <3.179368>; + turn leg1b to x-axis <0.000000> speed <39.322872>; turn leg1b to y-axis <0.874715> speed <33.410706>; - turn leg1b to z-axis <0.0> speed <452.167722>; - turn leg1c to z-axis <0.0> speed <471.766989>; - turn leg2a to y-axis <0.0> speed <188.882083>; + turn leg1b to z-axis <0.000000> speed <452.167722>; + turn leg1c to z-axis <0.000000> speed <471.766989>; + turn leg2a to y-axis <0.000000> speed <188.882083>; turn leg2b to x-axis <1.613454> speed <-1.344545>; turn leg2b to y-axis <3.032982> speed <-2.527485>; - turn leg2b to z-axis <0.0> speed <293.763597>; - turn leg2c to z-axis <0.0> speed <229.036694>; - turn leg3a to y-axis <50.0> speed <101.531966>; - turn leg3b to z-axis <0.0> speed <419.641265>; - turn leg3c to z-axis <0.0> speed <625.382161>; - turn leg4a to y-axis <-50.0> speed <161.281218>; - turn leg4b to z-axis <0.0> speed <364.780402>; - turn leg4c to z-axis <0.0> speed <422.385336>; - turn leg5a to y-axis <0.0> speed <188.882096>; - turn leg5b to x-axis <0.0> speed <12.100902>; - turn leg5b to y-axis <0.0> speed <22.747365>; - turn leg5b to z-axis <0.0> speed <293.763585>; - turn leg5c to z-axis <0.0> speed <229.036680>; - turn leg6a to x-axis <0.0> speed <3.732388>; - turn leg6a to y-axis <50.0> speed <181.948440>; - turn leg6a to z-axis <0.0> speed <3.179366>; - turn leg6b to x-axis <0.0> speed <39.322868>; - turn leg6b to y-axis <0.0> speed <33.410719>; - turn leg6b to z-axis <0.0> speed <452.167684>; - turn leg6c to z-axis <0.0> speed <471.767008>; - turn turret to x-axis <0.0> speed <37.499996>; + turn leg2b to z-axis <0.000000> speed <293.763597>; + turn leg2c to z-axis <0.000000> speed <229.036694>; + turn leg3a to y-axis <50.000000> speed <101.531966>; + turn leg3b to z-axis <0.000000> speed <419.641265>; + turn leg3c to z-axis <0.000000> speed <625.382161>; + turn leg4a to y-axis <-50.000000> speed <161.281218>; + turn leg4b to z-axis <0.000000> speed <364.780402>; + turn leg4c to z-axis <0.000000> speed <422.385336>; + turn leg5a to y-axis <0.000000> speed <188.882096>; + turn leg5b to x-axis <0.000000> speed <12.100902>; + turn leg5b to y-axis <0.000000> speed <22.747365>; + turn leg5b to z-axis <0.000000> speed <293.763585>; + turn leg5c to z-axis <0.000000> speed <229.036680>; + turn leg6a to x-axis <0.000000> speed <3.732388>; + turn leg6a to y-axis <50.000000> speed <181.948440>; + turn leg6a to z-axis <0.000000> speed <3.179366>; + turn leg6b to x-axis <0.000000> speed <39.322868>; + turn leg6b to y-axis <0.000000> speed <33.410719>; + turn leg6b to z-axis <0.000000> speed <452.167684>; + turn leg6c to z-axis <0.000000> speed <471.767008>; + turn turret to x-axis <0.000000> speed <37.499996>; } // REMEMBER TO animspeed = 4 in Create() !! UnitSpeed(){ @@ -347,26 +349,74 @@ UnitSpeed(){ sleep 131; } } -StartMoving(reversing){ - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; - isMoving=TRUE; +StartMoving(){ + signal SIG_WALK; + set-signal-mask SIG_WALK; + bMoving=TRUE; start-script UnitSpeed(); start-script Walk(); } StopMoving(){ - signal SIGNAL_MOVE; - isMoving=FALSE; + signal SIG_WALK; + bMoving=FALSE; call-script StopWalking(); } + +SmokeUnit(healthpercent, sleeptime, smoketype) +{ + while( get BUILD_PERCENT_LEFT ) + { + sleep 400; + } + while( TRUE ) + { + healthpercent = get HEALTH; + if( healthpercent < 66 ) + { + smoketype = 256 | 2; + if( Rand( 1, 66 ) < healthpercent ) + { + smoketype = 256 | 1; + } + emit-sfx smoketype from base; + } + sleeptime = healthpercent * 50; + if( sleeptime < 200 ) + { + sleeptime = 200; + } + sleep sleeptime; + } +} + #define BASEPIECE base #define HITSPEED <55.0> //how 'heavy' the unit is, on a scale of 1-10 #define UNITSIZE 5 #define MAXTILT 100 -#include "../unit_hitbyweaponid_and_smoke.h" +HitByWeapon(anglex, anglez, damage) // angle[x|z] is always [-500;500], damage is multiplied by 100 +{ + var amount;//, speedz, speedx; + amount = damage / (100 * UNITSIZE); + if (amount < 3 ) return (0); + if (amount > MAXTILT) amount = MAXTILT; + //get PRINT(anglex, anglez, amount, damage); + //speedz = HITSPEED * get ABS(anglez) / 500; //nevermind this, the random error this produces actually looks better than the accurate version + turn BASEPIECE to z-axis (anglez * amount) / 100 speed HITSPEED; + turn BASEPIECE to x-axis <0> - (anglex * amount) /100 speed HITSPEED; + wait-for-turn BASEPIECE around z-axis; + wait-for-turn BASEPIECE around x-axis; + turn BASEPIECE to z-axis <0.000000> speed HITSPEED / 4; + turn BASEPIECE to x-axis <0.000000> speed HITSPEED / 4; +} +HitByWeaponId(anglex, anglez, weaponid, dmg) //weaponID is always 0,lasers and flamers give angles of 0 +{ + start-script HitByWeapon(dmg, anglez,anglex); //I dont know why param order must be switched, and this also runs a frame later :( + return (100); //return damage percent +} + Create() { @@ -379,7 +429,11 @@ Create() maxreloadtime=0; open=FALSE; firing=FALSE; - SLEEP_UNTIL_UNITFINISHED; + while(get BUILD_PERCENT_LEFT) + { + sleep 250; + } + start-script SmokeUnit(); restore_delay=2000; } @@ -389,10 +443,10 @@ SetMaxReloadTime(t) } -FireWeapon1() +FirePrimary() { - //signal SIGNAL_SHOOT1; - //set-signal-mask SIGNAL_SHOOT1; + //signal SIG_FIRE1; + //set-signal-mask SIG_FIRE1; //++fire_count; //if(fire_count>=3) //{ @@ -405,8 +459,8 @@ FireWeapon1() Shot1(zero) { - signal SIGNAL_SHOOT1; - set-signal-mask SIGNAL_SHOOT1; + signal SIG_FIRE1; + set-signal-mask SIG_FIRE1; if(fire_count==0) { emit-sfx 1024+0 from flare1; @@ -428,19 +482,19 @@ Shot1(zero) return(1); } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { if(fire_count==0) { - pieceIndex=flare1; + piecenum=flare1; } if(fire_count==1) { - pieceIndex=flare2; + piecenum=flare2; } if(fire_count==2) { - pieceIndex=flare3; + piecenum=flare3; } } @@ -467,7 +521,10 @@ QueryWeapon1(pieceIndex) - +SweetSpot(piecenum) +{ + piecenum = turret; +} static-var Stunned; @@ -477,8 +534,8 @@ ExecuteRestoreAfterDelay() return (1); } set-signal-mask 0; - turn turret to y-axis <0.0> speed <150.0>; - turn turret to x-axis <0.0> speed <150.0>; + turn turret to y-axis <0.000000> speed <150.000000>; + turn turret to x-axis <0.000000> speed <150.000000>; wait-for-turn turret around y-axis; wait-for-turn turret around x-axis; open=FALSE; @@ -497,12 +554,12 @@ RestoreAfterDelay() start-script ExecuteRestoreAfterDelay(); } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; - turn turret to y-axis heading speed <150.0>; - turn turret to x-axis 0 - pitch speed <150.0>; + signal SIG_AIM; + set-signal-mask SIG_AIM; + turn turret to y-axis heading speed <150.000000>; + turn turret to x-axis 0 - pitch speed <150.000000>; wait-for-turn turret around y-axis; wait-for-turn turret around x-axis; start-script RestoreAfterDelay(); @@ -510,9 +567,9 @@ AimWeapon1(heading, pitch) } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = flare2; + piecenum = flare2; } @@ -525,6 +582,25 @@ Killed(severity, corpsetype) explode leg1a type FIRE | SMOKE | FALL | NOHEATCLOUD; explode leg1b type FIRE | SMOKE | FALL | NOHEATCLOUD; explode leg1c type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg6a type BITMAPONLY | NOHEATCLOUD; + //explode leg6b type BITMAPONLY | NOHEATCLOUD; + //explode leg6c type BITMAPONLY | NOHEATCLOUD; + //explode turret type BITMAPONLY | NOHEATCLOUD; + //explode flare2 type BITMAPONLY | NOHEATCLOUD; + //explode flare3 type BITMAPONLY | NOHEATCLOUD; + //explode flare1 type BITMAPONLY | NOHEATCLOUD; + //explode leg2a type BITMAPONLY | NOHEATCLOUD; + //explode leg2b type BITMAPONLY | NOHEATCLOUD; + //explode leg2c type BITMAPONLY | NOHEATCLOUD; + //explode leg3a type BITMAPONLY | NOHEATCLOUD; + //explode leg3b type BITMAPONLY | NOHEATCLOUD; + //explode leg3c type BITMAPONLY | NOHEATCLOUD; + //explode leg4a type BITMAPONLY | NOHEATCLOUD; + //explode leg4b type BITMAPONLY | NOHEATCLOUD; + //explode leg4c type BITMAPONLY | NOHEATCLOUD; + //explode leg5a type BITMAPONLY | NOHEATCLOUD; + //explode leg5b type BITMAPONLY | NOHEATCLOUD; + //explode leg5c type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } if( severity <= 50 ) @@ -535,6 +611,24 @@ Killed(severity, corpsetype) explode leg1b type FALL | NOHEATCLOUD; explode leg1c type FIRE | SMOKE | FALL | NOHEATCLOUD; explode leg6a type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg6b type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg6c type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode turret type FALL | NOHEATCLOUD; + //explode flare2 type FALL | NOHEATCLOUD; + //explode flare3 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare1 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg2a type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg2b type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg2c type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg3a type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg3b type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg3c type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg4a type FALL | NOHEATCLOUD; + //explode leg4b type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg4c type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg5a type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg5b type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg5c type FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) @@ -545,6 +639,24 @@ Killed(severity, corpsetype) explode leg1b type SMOKE | FALL | NOHEATCLOUD; explode leg1c type FIRE | SMOKE | FALL | NOHEATCLOUD; explode leg6a type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode leg6b type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg6c type SMOKE | FALL | NOHEATCLOUD; + //explode turret type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare2 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare3 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare1 type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode leg2a type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg2b type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg2c type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg3a type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode leg3b type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg3c type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg4a type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg4b type SMOKE | FALL | NOHEATCLOUD; + //explode leg4c type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg5a type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode leg5b type SMOKE | FALL | NOHEATCLOUD; + //explode leg5c type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; @@ -555,5 +667,21 @@ Killed(severity, corpsetype) explode leg6a type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode leg6b type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode leg6c type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode turret type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare2 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode flare3 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare1 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg2a type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg2b type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg2c type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode leg3a type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode leg3b type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode leg3c type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode leg4a type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode leg4b type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg4c type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg5a type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode leg5b type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg5c type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/armsptk.cob b/scripts/Units/armsptk.cob index 8a3f47ff06e52f4f9e0876cf38a6ea4370d54b52..6b0e927ba2bb01d1189a3b25a08bcba0478505dd 100644 GIT binary patch literal 15645 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 speed <152.252460> / animSpeed; //delta=-5.08 turn lleg to x-axis <3.801859> speed <114.055762> / animSpeed; //delta=-3.80 turn lloarm to x-axis <-20.127842> speed <603.835253> / animSpeed; //delta=20.13 turn lthigh to x-axis <1.381165> speed <41.434963> / animSpeed; //delta=-1.38 turn luparm to x-axis <-48.075567> speed <1442.267014> / animSpeed; //delta=48.08 - move pelvis to y-axis [1.0] speed [30.0] / animSpeed; //delta=1.00 + move pelvis to y-axis [1.000000] speed [30.000000] / animSpeed; //delta=1.00 turn rfoot to x-axis <38.441937> speed <1153.258150> / animSpeed; //delta=-38.44 turn rleg to x-axis <-20.403898> speed <612.116970> / animSpeed; //delta=20.40 turn rloarm to x-axis <-20.127842> speed <603.835253> / animSpeed; //delta=20.13 @@ -26,8 +28,8 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn ruparm to x-axis <-48.075567> speed <1442.267014> / animSpeed; //delta=48.08 sleep ((33*animSpeed) -1); } - while(isMoving) { - if (isMoving) { //Frame:11 + while(bMoving) { + if (bMoving) { //Frame:11 turn lfoot to x-axis <-26.802374> speed <956.323690> / animSpeed; //delta=31.88 turn lleg to x-axis <30.649077> speed <805.416552> / animSpeed; //delta=-26.85 turn lloarm to x-axis <-26.411187> speed <188.500363> / animSpeed; //delta=6.28 @@ -40,50 +42,50 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn ruparm to x-axis <-23.803551> speed <728.160491> / animSpeed; //delta=-24.27 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:16 + if (bMoving) { //Frame:16 turn lfoot to x-axis <-3.083141> speed <711.577014> / animSpeed; //delta=-23.72 turn lleg to x-axis <39.252213> speed <258.094066> / animSpeed; //delta=-8.60 turn lloarm to x-axis <-32.694531> speed <188.500312> / animSpeed; //delta=6.28 turn lthigh to x-axis <17.473740> speed <259.500564> / animSpeed; //delta=-8.65 turn luparm to x-axis <-26.282139> speed <326.901443> / animSpeed; //delta=-10.90 - move pelvis to y-axis [-3.0] speed [10.741589] / animSpeed; //delta=-0.36 + move pelvis to y-axis [-3.000000] speed [10.741589] / animSpeed; //delta=-0.36 turn pelvis to x-axis <6.883710> speed <206.511303> / animSpeed; //delta=-6.88 - turn pelvis to y-axis <-3.0> speed <90.0> / animSpeed; //delta=-3.00 + turn pelvis to y-axis <-3.000000> speed <90.000003> / animSpeed; //delta=-3.00 turn rfoot to x-axis <59.960667> speed <537.369743> / animSpeed; //delta=-17.91 turn rleg to x-axis <-35.068110> speed <49.986432> / animSpeed; //delta=1.67 turn rthigh to x-axis <-22.842466> speed <217.481812> / animSpeed; //delta=7.25 turn ruparm to x-axis <0.468467> speed <728.160542> / animSpeed; //delta=-24.27 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:21 + if (bMoving) { //Frame:21 turn lfoot to x-axis <-4.202834> speed <33.590789> / animSpeed; //delta=1.12 turn lleg to x-axis <55.237533> speed <479.559603> / animSpeed; //delta=-15.99 turn lloarm to x-axis <-26.411187> speed <188.500312> / animSpeed; //delta=-6.28 turn lthigh to x-axis <-21.514502> speed <1169.647236> / animSpeed; //delta=38.99 turn luparm to x-axis <-37.178854> speed <326.901443> / animSpeed; //delta=10.90 - move pelvis to y-axis [-2.0] speed [30.0] / animSpeed; //delta=1.00 - turn pelvis to x-axis <-0.0> speed <206.511303> / animSpeed; //delta=6.88 - turn pelvis to y-axis <0.0> speed <90.0> / animSpeed; //delta=3.00 + move pelvis to y-axis [-2.000000] speed [30.000000] / animSpeed; //delta=1.00 + turn pelvis to x-axis <-0.000000> speed <206.511303> / animSpeed; //delta=6.88 + turn pelvis to y-axis <0.000000> speed <90.000003> / animSpeed; //delta=3.00 turn rfoot to x-axis <23.487142> speed <1094.205731> / animSpeed; //delta=36.47 turn rleg to x-axis <-2.106186> speed <988.857742> / animSpeed; //delta=-32.96 turn rthigh to x-axis <-17.530632> speed <159.355041> / animSpeed; //delta=-5.31 turn ruparm to x-axis <-23.803549> speed <728.160491> / animSpeed; //delta=24.27 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:26 + if (bMoving) { //Frame:26 turn lfoot to x-axis <41.071276> speed <1358.223299> / animSpeed; //delta=-45.27 turn lleg to x-axis <-21.227658> speed <2293.955711> / animSpeed; //delta=76.47 turn lloarm to x-axis <-20.127842> speed <188.500363> / animSpeed; //delta=-6.28 turn lthigh to x-axis <-23.298371> speed <53.516086> / animSpeed; //delta=1.78 turn luparm to x-axis <-48.075567> speed <326.901391> / animSpeed; //delta=10.90 - move pelvis to y-axis [1.0] speed [90.0] / animSpeed; //delta=3.00 + move pelvis to y-axis [1.000000] speed [90.000000] / animSpeed; //delta=3.00 turn rfoot to x-axis <5.149202> speed <550.138197> / animSpeed; //delta=18.34 turn rleg to x-axis <3.566030> speed <170.166460> / animSpeed; //delta=-5.67 turn rthigh to x-axis <1.540787> speed <572.142569> / animSpeed; //delta=-19.07 turn ruparm to x-axis <-48.075567> speed <728.160542> / animSpeed; //delta=24.27 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:31 + if (bMoving) { //Frame:31 turn lfoot to x-axis <48.827018> speed <232.672238> / animSpeed; //delta=-7.76 turn lleg to x-axis <-35.057274> speed <414.888503> / animSpeed; //delta=13.83 turn lloarm to x-axis <-26.411187> speed <188.500363> / animSpeed; //delta=6.28 @@ -97,15 +99,15 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn ruparm to x-axis <-37.178854> speed <326.901391> / animSpeed; //delta=-10.90 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:36 + if (bMoving) { //Frame:36 turn lfoot to x-axis <64.560396> speed <472.001350> / animSpeed; //delta=-15.73 turn lleg to x-axis <-36.735462> speed <50.345632> / animSpeed; //delta=1.68 turn lloarm to x-axis <-32.694531> speed <188.500312> / animSpeed; //delta=6.28 turn lthigh to x-axis <-22.219645> speed <225.877259> / animSpeed; //delta=7.53 turn luparm to x-axis <0.468467> speed <728.160542> / animSpeed; //delta=-24.27 - move pelvis to y-axis [-3.0] speed [20.323784] / animSpeed; //delta=-0.68 + move pelvis to y-axis [-3.000000] speed [20.323784] / animSpeed; //delta=-0.68 turn pelvis to x-axis <6.883710> speed <206.511303> / animSpeed; //delta=-6.88 - turn pelvis to y-axis <3.0> speed <90.0> / animSpeed; //delta=3.00 + turn pelvis to y-axis <3.000000> speed <90.000003> / animSpeed; //delta=3.00 turn rfoot to x-axis <-1.779679> speed <647.176306> / animSpeed; //delta=-21.57 turn rleg to x-axis <37.875749> speed <274.018105> / animSpeed; //delta=-9.13 turn rloarm to x-axis <-32.694531> speed <188.500312> / animSpeed; //delta=6.28 @@ -113,15 +115,15 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn ruparm to x-axis <-26.282139> speed <326.901443> / animSpeed; //delta=-10.90 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:41 + if (bMoving) { //Frame:41 turn lfoot to x-axis <24.477861> speed <1202.476045> / animSpeed; //delta=40.08 turn lleg to x-axis <-2.148724> speed <1037.602132> / animSpeed; //delta=-34.59 turn lloarm to x-axis <-26.411187> speed <188.500312> / animSpeed; //delta=-6.28 turn lthigh to x-axis <-17.636732> speed <137.487405> / animSpeed; //delta=-4.58 turn luparm to x-axis <-23.803549> speed <728.160491> / animSpeed; //delta=24.27 - move pelvis to y-axis [-2.0] speed [30.0] / animSpeed; //delta=1.00 - turn pelvis to x-axis <-0.0> speed <206.511303> / animSpeed; //delta=6.88 - turn pelvis to y-axis <0.0> speed <90.0> / animSpeed; //delta=-3.00 + move pelvis to y-axis [-2.000000] speed [30.000000] / animSpeed; //delta=1.00 + turn pelvis to x-axis <-0.000000> speed <206.511303> / animSpeed; //delta=6.88 + turn pelvis to y-axis <0.000000> speed <90.000003> / animSpeed; //delta=-3.00 turn rfoot to x-axis <-3.378524> speed <47.965377> / animSpeed; //delta=1.60 turn rleg to x-axis <54.104647> speed <486.866949> / animSpeed; //delta=-16.23 turn rloarm to x-axis <-26.411187> speed <188.500312> / animSpeed; //delta=-6.28 @@ -129,13 +131,13 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn ruparm to x-axis <-37.178854> speed <326.901443> / animSpeed; //delta=10.90 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:46 + if (bMoving) { //Frame:46 turn lfoot to x-axis <5.075082> speed <582.083376> / animSpeed; //delta=19.40 turn lleg to x-axis <3.801859> speed <178.517493> / animSpeed; //delta=-5.95 turn lloarm to x-axis <-20.127842> speed <188.500363> / animSpeed; //delta=-6.28 turn lthigh to x-axis <1.381165> speed <570.536916> / animSpeed; //delta=-19.02 turn luparm to x-axis <-48.075567> speed <728.160542> / animSpeed; //delta=24.27 - move pelvis to y-axis [1.0] speed [90.0] / animSpeed; //delta=3.00 + move pelvis to y-axis [1.000000] speed [90.000000] / animSpeed; //delta=3.00 turn rfoot to x-axis <38.441937> speed <1254.613846> / animSpeed; //delta=-41.82 turn rleg to x-axis <-20.403898> speed <2235.256331> / animSpeed; //delta=74.51 turn rloarm to x-axis <-20.127842> speed <188.500363> / animSpeed; //delta=-6.28 @@ -145,21 +147,21 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas } } } -// Call this from StopMoving()! +// Call this from MotionControl()! StopWalking() { - move pelvis to y-axis [0.0] speed [21.851682]; - turn lfoot to x-axis <0.0> speed <271.644660>; - turn lleg to x-axis <0.0> speed <458.791142>; - turn lloarm to x-axis <0.0> speed <120.767051>; - turn lthigh to x-axis <0.0> speed <233.929447>; - turn luparm to x-axis <0.0> speed <288.453403>; - turn pelvis to x-axis <0.0> speed <41.302261>; - turn pelvis to y-axis <0.0> speed <18.0>; - turn rfoot to x-axis <0.0> speed <250.922769>; - turn rleg to x-axis <0.0> speed <447.051266>; - turn rloarm to x-axis <0.0> speed <120.767051>; - turn rthigh to x-axis <0.0> speed <230.799277>; - turn ruparm to x-axis <0.0> speed <288.453403>; + move pelvis to y-axis [0.000000] speed [21.851682]; + turn lfoot to x-axis <0.000000> speed <271.644660>; + turn lleg to x-axis <0.000000> speed <458.791142>; + turn lloarm to x-axis <0.000000> speed <120.767051>; + turn lthigh to x-axis <0.000000> speed <233.929447>; + turn luparm to x-axis <0.000000> speed <288.453403>; + turn pelvis to x-axis <0.000000> speed <41.302261>; + turn pelvis to y-axis <0.000000> speed <18.000001>; + turn rfoot to x-axis <0.000000> speed <250.922769>; + turn rleg to x-axis <0.000000> speed <447.051266>; + turn rloarm to x-axis <0.000000> speed <120.767051>; + turn rthigh to x-axis <0.000000> speed <230.799277>; + turn ruparm to x-axis <0.000000> speed <288.453403>; } // REMEMBER TO animspeed = 5 in Create() !! UnitSpeed(){ @@ -172,52 +174,79 @@ UnitSpeed(){ animSpeed = (maxSpeed * 5) / animSpeed; //get PRINT(maxSpeed, animFramesPerKeyframe, animSpeed); //how to print debug info from bos if (animSpeed<2) animSpeed=2; - if (animSpeed>10) animSpeed = 10; + if (animspeed>10) animSpeed = 10; sleep 164; } } -StartMoving(reversing){ - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; - isMoving=TRUE; +StartMoving(){ + signal SIG_WALK; + set-signal-mask SIG_WALK; + bMoving=TRUE; start-script Walk(); start-script UnitSpeed(); } StopMoving(){ - signal SIGNAL_MOVE; - isMoving=FALSE; + signal SIG_WALK; + bMoving=FALSE; call-script StopWalking(); } -#define SMOKE_PIECE pelvis -#include "../damagedsmoke.h" + +SmokeUnit(healthpercent, sleeptime, smoketype) +{ + while( get BUILD_PERCENT_LEFT ) + { + sleep 400; + } + while( TRUE ) + { + healthpercent = get HEALTH; + if( healthpercent < 66 ) + { + smoketype = 256 | 2; + if( Rand( 1, 66 ) < healthpercent ) + { + smoketype = 256 | 1; + } + emit-sfx smoketype from pelvis; + } + sleeptime = healthpercent * 50; + if( sleeptime < 200 ) + { + sleeptime = 200; + } + sleep sleeptime; + } + return (0); +} Create() { hide aimy1; - isMoving = FALSE; - buildDelay = 1; - animSpeed = 5; - isCloaked = 0; - SLEEP_UNTIL_UNITFINISHED; - start-script DamagedSmoke(); + bMoving = FALSE; + Static_Var_3 = 1; + animspeed = 5; + Static_Var_4 = 3000; + start-script SmokeUnit(); + Static_Var_5 = 0; + return (0); } Activate() { - if( isCloaked ) + if( Static_Var_5 ) { set ACTIVATION to 0; return (0); } - signal SIGNAL_TURNON; - set-signal-mask SIGNAL_TURNON; + signal SIG_ACTIVATE; + set-signal-mask SIG_ACTIVATE; return (0); } -QueryNanoPiece(pieceIndex) +QueryNanoPiece(piecenum) { - pieceIndex = body; + piecenum = body; } @@ -225,18 +254,18 @@ QueryNanoPiece(pieceIndex) Reload() { sleep 5000; - buildDelay = 1; + Static_Var_3 = 1; } -StartBuilding(heading) +StartBuilding(Func_Var_1) { - while( !buildDelay ) + while( !Static_Var_3 ) { sleep 100; } - buildDelay = 0; + Static_Var_3 = 0; set INBUILDSTANCE to 1; start-script Reload(); } @@ -248,36 +277,40 @@ StopBuilding() Deactivate() { - signal SIGNAL_TURNON; - set-signal-mask SIGNAL_TURNON; + signal SIG_ACTIVATE; + set-signal-mask SIG_ACTIVATE; return (0); } HitByWeapon(anglex, anglez) { - turn pelvis to z-axis anglez speed <105.0>; - turn pelvis to x-axis <0> - anglex speed <105.0>; + turn pelvis to z-axis anglez speed <105.000000>; + turn pelvis to x-axis <0> - anglex speed <105.000000>; wait-for-turn pelvis around z-axis; wait-for-turn pelvis around x-axis; - turn pelvis to z-axis <0.0> speed <30.0>; - turn pelvis to x-axis <0.0> speed <30.0>; + turn pelvis to z-axis <0.000000> speed <30.000000>; + turn pelvis to x-axis <0.000000> speed <30.000000>; if( get ACTIVATION ) { - isCloaked = 1; + Static_Var_5 = 1; } - if( isCloaked ) + if( Static_Var_5 ) { - signal SIGNAL_TURNON; - set-signal-mask SIGNAL_TURNON; + signal SIG_ACTIVATE; + set-signal-mask SIG_ACTIVATE; set ACTIVATION to 0; sleep 8000; - isCloaked = 0; + Static_Var_5 = 0; set ACTIVATION to 100; } return (0); } - +SweetSpot(piecenum) +{ + piecenum = pelvis; + return (0); +} Killed(severity, corpsetype) { @@ -285,9 +318,17 @@ Killed(severity, corpsetype) { corpsetype = 1 ; explode pelvis type BITMAPONLY | NOHEATCLOUD; + //explode lthigh type BITMAPONLY | NOHEATCLOUD; + //explode lleg type BITMAPONLY | NOHEATCLOUD; + //explode lfoot type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rthigh type BITMAPONLY | NOHEATCLOUD; explode rleg type BITMAPONLY | NOHEATCLOUD; explode rfoot type BITMAPONLY | NOHEATCLOUD; explode body type BITMAPONLY | NOHEATCLOUD; + //explode luparm type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lloarm type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode ruparm type BITMAPONLY | NOHEATCLOUD; + //explode rloarm type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } if( severity <= 50 ) @@ -295,9 +336,16 @@ Killed(severity, corpsetype) corpsetype = 2 ; explode pelvis type FALL | NOHEATCLOUD; explode lthigh type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lleg type FALL | NOHEATCLOUD; + //explode lfoot type FALL | NOHEATCLOUD; + //explode rthigh type FIRE | SMOKE | FALL | NOHEATCLOUD; explode rleg type FIRE | SMOKE | FALL | NOHEATCLOUD; explode rfoot type FALL | NOHEATCLOUD; explode body type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode luparm type FALL | NOHEATCLOUD; + //explode lloarm type FALL | NOHEATCLOUD; + //explode ruparm type FALL | NOHEATCLOUD; + //explode rloarm type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) @@ -305,16 +353,30 @@ Killed(severity, corpsetype) corpsetype = 3 ; explode pelvis type FIRE | SMOKE | FALL | NOHEATCLOUD; explode lthigh type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lleg type SMOKE | FALL | NOHEATCLOUD; + //explode lfoot type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rthigh type FIRE | SMOKE | FALL | NOHEATCLOUD; explode rleg type SMOKE | FALL | NOHEATCLOUD; explode rfoot type SMOKE | FALL | NOHEATCLOUD; explode body type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode luparm type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lloarm type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode ruparm type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode rloarm type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; explode pelvis type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode lthigh type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode lleg type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode lfoot type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rthigh type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode rleg type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode rfoot type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode body type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode luparm type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lloarm type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode ruparm type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rloarm type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/armspy.cob b/scripts/Units/armspy.cob index 6c951de5b1c4ebc9807ed93066914d4e6c59742a..4837d1efd68d9a16ba964853b33d049aa55d42f4 100644 GIT binary patch literal 8115 zcmc&(X>3(R6rQ$^9g`=vvMBJt2#G>c5HuJGi=YNXwjv2`eU?Xg_O-9pE;Ixvi9v9Q zNP;Me@B<-A`a_7y56}QHQG^h~4+%sgn`|N|5)p;^eRF5%^qy&7+ep0O^v*qV=IrOp zydk2LiUMu{)O1n`|Mb(jpHhzjmIHsA?j>O?1?)K@DZd*1cLDxZ31$2|@v$PzS-zUE{G?1>dLs!*T^81_fpv!XTp3aI0 zeg}UD_;qvWl$}anpW_x zR!O-h7(B!ffAvGZ{4++<{b>9`BDhccughZTzYX_bGL#c5?vng^oRT@QZmp!-UNiu7nPO<|Xm4HrY-0Grhf>$i1_nB~F}yrT>Y8hMRi+sF z>Uxc5?|AdFtZQFSv-_Oe>+h^D5-}{Rm%aYzbF#kXncQ(>c&V49OXtcM`t~+!uX|Qo zuvPlG8xPi@Shv*2+8gUCBpvH@lF&J9d-ikzdrk<|8|<*?B>pa-O}FkeZVAC|GwO@{&RDur>9o# z=8v;hWTwKsPnFpRl#>`B?{=iM6U;P#0vM`hjA8XslK9a}feQ*ZpXGQVTin)8#JI|Js(9IL^8*P7h1{&RDuWQ2^{e)F4?Db9!f zyBU3FiOHRV>!eM-`+&2HrH_2~0lvENofFormU4af0lwU^`>We`lxp2M;nG6sbKiYH zY@|FF`R)T+ve%9Ew^OA5eD?vqSX+DB(kIl|#ycOKNYgs%yPi&m^K?#WTo+6>#^#z^aI{63iHsPWDiTk}_Sj;s%;#)bi-S#!kY1(LqDDMNi8+ziX zgQcYoRyPHic0FagbfmXBA{#W%0fwj6+u>x~TJ!nD>G)<0avSgJx5<@FKe z5M_ODZQ{3;1@=vHWIGxK=e6F5HRt)byja`zoAT%xUGIp)0i&;9<6COc@GtA*hebM#s6tVLj{N zoWT+0@}d2fzk(gif46^;-qw$$)wp)rZ0+7OsWB&1%;XOkQy0$hO*uBFR1E#g&}sSb zik{~mGv<)%3UJ?S*V{FWL349it3vJ%oo?h|45;v& ztqb2A`%-f}b&f-h_Alzg)l>Hgqvv7Ar>>rscO7Je^`yd-tIrLvfn(B>F08+eNn6%f zn|(T1TwD0Hgn?r6?GnR2MTGOe$C>zk7q_FG%+4EvCFzYM0w03*=U9|aTuHUstm4gr1w zoCQQslidM%fFeK%fd4WRtSHKlO1E4edTu(qhz!1PFzy!cFz#KpvFdvWx zR09?QmI9UmUI)Adcn7c^unABPm>o}*sF{`Nat@MZ#cEbrvT|m5A~6@(ctz!ubTzT0 zu*1@HNrF`B;fh4OGNHy5RVJ%Bm|m5rsC^<{mY$YO6eZM*L@FIOY{pk5Q*$k&8y^!A zal7`hWaaqU*@<|0x=hWiNhF{{x>8L}rc%(PJdvtSzNAu>^OME%RfTz_62+=wUK(T| hDpn~yd_Fz57T@W3MX9PVuc~r>rGi&HSz0?x{R;&n$PoYl literal 7384 zcmc&(Yiv|S6rOEMc^X#%MFc6BKw`iYfhY+IR3HSbydi<0taK?W+wNMnNJDr<0%DM; z5uyl)iC_rw10iAzgoyZuM^N}-G-x6S0*a!d2nzUpbLX_vdoFElG+sE|J2Pj_>pOF1 zb|^5$+zPq{bfC}}{I$=ZyN#I-+6C&3p0jut#Pi~Ia7JN#0X|}AKavjm^EogiKhD1O zY!sQe$YS3e<22u{ynwF-=i(vXsO>SU$CtO`=NmUDuT{Wi`Kr5Wd4F;od@+x2daOXn zJN8u|udT;t%sq+^78w)AA3T&v`%d@ES9}u@8|p0}BOdbg*{S_lH!*Qs~% z>SQ?VfB7M>$;W=(AkBBMBXya$kA41f&n72t;02BSo{gGs1Qmv`pM6&Iy?k0@->alT z`LT7{wHsmVzkf{2JB>V~ULX5`9W_=%&jxyZ>>t{u<(UUbt7wyZt+z6C2lQzKSb#2{sF^Cc4&4>0ibzMi-^y_L} zN9BZ7)`Xn!`Di2UJJ(wKv6I;q%87z~dR;HQu5)7aGa8STzXp8&b)A?41@vjdC)%fe zuJ-wL;=~h$Y8{?)7&ev@QTu$mp4#`UTMv!pMD#vCRoMp*O}N%~U7>S(D~ops!>jYP zeJcqH`21SGf323+i4K6TF$~3z=C12A4#TH6Yg>2s2yE~%{Jp2PwS%iwjbRwIU%wWy zcdY(Ruj{CqCi|RU>$_~9sW7bEu510tC-wT8<#Na0uP=4de3=d!!-mc${#kAQdpgc- zTWYKus$<&MP9&z(*YYo#ZDoQ3K{ zRPM;RsJXdQ0LPd+rzY!KUw&I)gI_1!{YI~w8W*F+awn=z>`Ula&U5=5ap6PzqH-sy zPW)f{e`nOx+TT|0cg*YV{N(3OkEuGxp2dFGl-!Z{`MEQvzsBu|`_0J|=fn6#<&OL= zYHscgOY?|NE&+0o{d?F-$Nbo(gC zH#>&<<=2khBVu*)Fy_~b6W9otr!vp~-8g1T{V~5Tv_DdR%*S&&&Z@plD;xi??=XIM zhQ}zEeP!6o{V{+29)GyL5B_;C?1PV8$G7Xt^w(zC2OlGAvy1y^Hi`=31;u&x?twNk zhHTq6+O(B*h;NQl58F1@xbxwC9ZsqBWY~D(ey=Z>IEP1k(L?{Fu5rxr##_V<_}e*t z_R$9672Tp!=2N%NM}Dyp*&=$Oidrzn9c~QAoI8|bE=CI+e+l*Pz{A8PcvduT!m|71LG;Q13h;be*=qvN+O{b@nlb!B06o8oX#Yc3~ z4(5}^0&{n`xuVxH7qyD}{QS1D%?5bc?#=F1$B9W^HN0$YL{>4lAiGT6s>alW4iC2ss?ICEZ| z4MBbk>4r|=A^jp(^zdyl3&oZ(BS|dCcNavNq5$utXDf3_bZ;V0yk+g0mbTP3Y10SF zl(x-Dv~4_qy|34s{~KVwbeV4&fI&WV|6eW>TiJW2>`+@_ai) z4q53RuJo;4V#g}i7CWRZcC2>eVLK=*tV?8b3dh&FxuQ$PMVE|=E*TH&qL^i1Itl8J z1vnBk3G^IjGw4Ime$Zji8PJcQ%b?+i3GdD?fUbb@yWs!eK%GIoK=*?l1dRZdf~J9H zgXV%3gO-C{1icD+1GEXW1+)#c1N1&O(kb0 z&G=+GlW>wss#EDQkyYCmmQ2Xpk*Qos&6H#!o2fLTQ|UBJ$R^YCQgcl@H#=26+f=z% qI$3V2W@R!t1EzA5wx3UB%4*QgB&sS*m3viZ*-8hmM5>~uulXD98lx5f diff --git a/scripts/Units/armstil.bos b/scripts/Units/armstil.bos index 728a1ddf0a0..e713a9dd370 100644 --- a/scripts/Units/armstil.bos +++ b/scripts/Units/armstil.bos @@ -1,9 +1,11 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece wingl, wingr, finl, finr, base, thrusta, thrustb, doorr, doorl, bombr1,bombr2,bombl1, bombl2, cowl, fan, arml, armr; -static-var inAileronRoll, gun_3; +static-var Static_Var_1, gun_3; #define BASEPIECE base @@ -14,15 +16,15 @@ static-var inAileronRoll, gun_3; MoveRate2() { - if( Rand( 1, 10 ) == 1 AND ( !inAileronRoll ) ) + if( Rand( 1, 10 ) == 1 AND ( !Static_Var_1 ) ) { - inAileronRoll = 1; - turn base to z-axis <240.0> speed <120.0>; + Static_Var_1 = 1; + turn base to z-axis <240.000000> speed <120.000000>; wait-for-turn base around z-axis; - turn base to z-axis <120.0> speed <180.0>; + turn base to z-axis <120.000000> speed <180.000000>; wait-for-turn base around z-axis; - turn base to z-axis <0.0> speed <120.0>; - inAileronRoll = 0; + turn base to z-axis <0.000000> speed <120.000000>; + Static_Var_1 = 0; } } @@ -31,7 +33,7 @@ Create() hide thrusta; hide thrustb; gun_3=0; - inAileronRoll = 0; + Static_Var_1 = 0; } Activate() @@ -58,18 +60,22 @@ Deactivate() } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = fan; + piecenum = fan; } -FireWeapon1() +FirePrimary(Func_Var_1) { + sleep 5; sleep 1000; } - +SweetSpot(piecenum) +{ + piecenum = base; +} Killed(severity, corpsetype) { diff --git a/scripts/Units/armstil.cob b/scripts/Units/armstil.cob index 6ca1ce246ed7bc4712e7aa203d8792cede299cc2..3c3efa72cebca17670b8578fcde87d10622a1b4f 100644 GIT binary patch literal 3397 zcmeHKziSjh6n=NPOEgAZ8^J={!cL3L5inq3Bx0k&X|S-%-euK=y}K~E_K0p^l#-^{!p^WK|p=aPzu90E=NJ7p34 z+Rx04$a&y8B~~6omV$Cn!kBWJRzW4uHK|uID+gSbt!f~v!181;i>caFqFm2;{dT^- zwGD$1ks$2eh^S-Q?L5fsXkTQf@nE&jjxo42xHsogpG1BVR5^y6gc!8dI;kG%TX(*Y z>N|fdj}bkBQzQYVqH(@o%5{{i15aBo_f%cw)$T5J^kFZkd(Q-;lI`=4Gy7v4g^C}| z+gFqNS!2W>^c#$yapQ&2d8;p_=B9b8ZZL1V#vX^@4C-Jn%F*8W59{qYxH>;gKYTI0$nd&LKIj*&L%i9*54h4=KwNfdo^Qf3yv;MA?T_ot|}wrC}Xw z@cBXI)$u%hewIU?Tv&_GPtPcHHhoB~f$zJ|@3_;kiL{|D{Wxatb=-Gj_6t{oH{Ou~ z9go?U$5eq%a|@kKA5v@Mz2u8|7&`KUedD__$dww`99P~ruCRyXY*C-t6W@M+i!0in zan7!&wgV33XWPdaE5C|3)TEu`&>b|7ydcL9I5he$)q6;#?|%88?xa7(8GX0ym!-Sk z$GI;^ao>G6&iB};eSPQtt9R4y^bjU)OKe&hA4YxxxwQF| literal 2251 zcmdT_J!@1!6urCdZv1vEt=w8H-YynmqakV|!Ws}e@$F{RhcEl$WV1mmw6stW#54w3 z&?=psjSw4uMXc+#xj)nF0<2A1WeMNd8{IxDIRp z$DucOi&RY2AjHeP3^FyNHtE!%RSnHDsvB7Vt~E>xs>alk(oel}xwMbg5YR*=2){Qf z>Y8z%@0D?k|6ZKdL)2ItYtR($O*w6~%=Ue2E~WOSeXB3-+uO)-6ElNzkc(=vb^q$8@8d3L;f!i$9>G7_7+&A_sCnMOoKc35&|4`6ZgMa^o zf8T^oO5*x_qp?m>Vx8|X*7rasckGjM5%bulE$}#v0OqlO-p}N@_!i^3zl%rZVRFC! ziN{{VC2>FutB_@AA*A91Do|LM2Owod>v zKn6Slo&nDR{$D-@w188VY@CJAbyaV0? z7mJ~tO$W9uGtNTFbZ?Lixj1W6U0zzU?#>mPE)@NioX?!q^@S|Y?VK!U{TsReI=P

      ; + turn base to z-axis <0> - anglez speed <50.000000>; + wait-for-turn base around z-axis; + wait-for-turn base around x-axis; + turn base to z-axis <0.000000> speed <20.000000>; + turn base to x-axis <0.000000> speed <20.000000>; +} #define BASEPIECE base -#define HITSPEED <55.0> +#define HITSPEED <65.0> //how 'heavy' the unit is, on a scale of 1-10 #define UNITSIZE 3 #define MAXTILT 100 -#define RECOIL_POWER 50000 -#include "../unit_hitbyweaponid_and_smoke.h" - -#define TB_BASE base -#define TB_TURNRATE <15.0> -#define TB_TILT_X <0.10> -#define TB_BANK_Z <0.10> // Do not define this if you dont want banking -#include "../tilt_bank_mobileunit.h" - -StartMoving(reversing) -{ - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; - - START_TILTBANK; -} -StopMoving() -{ - signal SIGNAL_MOVE; - STOP_TILTBANK; -} +#include "unit_hitbyweaponid_and_smoke.h" -static-var prevheading, prevpitch; Create() { - prevheading = 0; - prevpitch = 0; - turn turret to y-axis <0.0> speed <90.021978>; - turn sleeve to x-axis <0.0> speed <50.010989>; hide smoke2; hide smoke1; hide flare; restore_delay = 3000; - call-script TB_Init(); +} +StartMoving() +{ + turn base to x-axis <-7> speed <7>; + move base to y-axis [1] speed [1]; + sleep 1000; + turn base to x-axis <0> speed <14>; + move base to y-axis [0] speed [2]; + } -SetMaxReloadTime(reloadMS) + +SetMaxReloadTime(Func_Var_1) { - restore_delay = reloadMS * 2; + restore_delay = Func_Var_1 * 2; } static-var Stunned; - ExecuteRestoreAfterDelay() { if (Stunned) { return (1); } - turn turret to y-axis <0.0> speed <90.021978>; - turn sleeve to x-axis <0.0> speed <50.010989>; - + turn turret to y-axis <0.000000> speed <90.021978>; + turn sleeve to x-axis <0.000000> speed <50.010989>; } SetStunned(State) { @@ -85,62 +77,40 @@ RestoreAfterDelay() start-script ExecuteRestoreAfterDelay(); } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; turn turret to y-axis heading speed <90.0>; - turn sleeve to x-axis <0.0> - pitch speed <50.0>; + turn sleeve to x-axis <0.000000> - pitch speed <50.0>; wait-for-turn turret around y-axis; wait-for-turn sleeve around x-axis; start-script RestoreAfterDelay(); return (1); } - -/* -AimWeapon1(heading, pitch) -{ - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; - var gf; - gf = get GAME_FRAME; - turn turret to y-axis heading speed <90.0>; - turn sleeve to x-axis <0.0> - pitch speed <50.0>; - var sleepx, sleepy; - sleepy = get ABS(WRAPDELTA(heading- prevheading))/ <90.0> ; - sleepx = get ABS(WRAPDELTA(pitch- prevpitch))/ <90.0> ; - - dbg(1, sleepy, (get GAME_FRAME) - gf); - wait-for-turn turret around y-axis; - dbg(2, sleepx, (get (GAME_FRAME) - gf)); - wait-for-turn sleeve around x-axis; - dbg(3, get (GAME_FRAME) - gf); - prevheading = heading; - prevpitch = pitch; - start-script RestoreAfterDelay(); - return (1); -}*/ - -FireWeapon1() +FirePrimary() { emit-sfx 1024 + 0 from flare; - move barrel to z-axis [-2.400000] speed [500.0]; + move barrel to z-axis [-2.400000] speed [500.000000]; wait-for-move barrel along z-axis; - move barrel to z-axis [0.0] speed [3.0]; + move barrel to z-axis [0.000000] speed [3.000000]; } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = sleeve; + piecenum = sleeve; } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = flare; + piecenum = flare; } - +SweetSpot(piecenum) +{ + piecenum = base; +} Killed(severity, corpsetype) { @@ -151,7 +121,7 @@ Killed(severity, corpsetype) explode turret type BITMAPONLY | NOHEATCLOUD; explode sleeve type BITMAPONLY | NOHEATCLOUD; explode barrel type FIRE | SMOKE | FALL | NOHEATCLOUD; - + //explode flare type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } if( severity <= 50 ) @@ -161,7 +131,7 @@ Killed(severity, corpsetype) explode turret type FIRE | SMOKE | FALL | NOHEATCLOUD; explode sleeve type FALL | NOHEATCLOUD; explode barrel type FALL | NOHEATCLOUD; - + //explode flare type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) @@ -171,7 +141,7 @@ Killed(severity, corpsetype) explode turret type FIRE | SMOKE | FALL | NOHEATCLOUD; explode sleeve type FIRE | SMOKE | FALL | NOHEATCLOUD; explode barrel type SMOKE | FALL | NOHEATCLOUD; - + //explode flare type SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; @@ -179,6 +149,6 @@ Killed(severity, corpsetype) explode turret type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode sleeve type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode barrel type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; - + //explode flare type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/armstump.cob b/scripts/Units/armstump.cob index 93a65bf7c84c5ca48ca9bccc6641e4d3a38525fe..9858aac31e25ba6ff607f824fad5b2ebc5eceb54 100644 GIT binary patch literal 3065 zcmb7GJ7^S96urBN8$TdpVIdX{2o_>w4I)+=;|E0|F{`A_n0?Bc{e;P^CSbAJ*r6k|fG`^nnIIe7*e;TVq)9@X!XDK|Nd?MKh`0JM+l6 z{ToxsXFp~+8{M>?jO8pxNsb{`@Ta|aJTt1Ke;w}1mK82x`@m7!r3!){Ne8Ma4vZ1^w|#mHK&KL_rbqw`hIMp z4fEiP-s8ynycfJbWT2d=lCkvue8!P}wCOw~zmQ_`o^N6tRe=GT!)bO;?~ z&PlEN4EKOFsAdc$x$*oPgQd*J&=JqR-NCnxPkhTFL?mvX+fz1?Q-8STgcVRQIgSfBCDnh(?6 zon%7nir-QG{CN6WC1$gnkKUnXuQTZ`Y~PLa{P&=@bIjE5gWqGVsrN&_x!M!I3mU_7 zOP>p{F8gDSw%O4M?}W}vWFbSJdw2gWa{pYp`Y-NAI?eNbH>+kXJg(K5(2ED{+U%kX=pWI(ByQ6Pse|~+v3#+*o+H1FX^3z-mcjjGE zUzO}x{g#W-Uc1GthG*ygS#l?E6?g-D2Yvxtabb4=2Y^$+1aJko1KbB50Z#z_@3{`x z3~U1ifxW;ma2mJ>)Pd{3ZQud$6nGB22HpbifDgb&;0y2#_z8^Hrl!wUONksWB_s0_ zCYq^LrBJC&n@;VCq8yG*lo%-_QJjp{E|sbmq+pWKXl~q;YfWhd9@WT8)TfR oC33PTzrmXducmTQ=sBky&;%l!`s_A2*=xy8r+H literal 3599 zcma)9O=w(I6h8BliShRpyU`*HD7XnasjH&kBu$H@RAUkm-DF-ew_(g=CQjazc2$wO zDM3(BP(->?P;k+et8Rqu1ksJS6G4hdDYSx!62I@u~%D)trQG)L&^&48oMVlvO;Pw%aj`K3|OnW#T%kh*9O zRvUfjODOXhAMZQzCyxEn_X0%n_rMv0?OMztmxjM1!veZ5HpbAOJ=^SOVPsCbr*U<& zhHC_bS+Hl`ha~<^%$HmmCGF|z)TplF%*NU1YQ4rgOx?nF-nNUM&Btmn9sQ{*?w0DY z3pQ)cmT%wy1jerNjJ@YfDB2y;#@X0A_yeNVXS;4^+cm=Tm|-XXigcEP7}i0qITF4w zdmDb2CqjKC0&n=8lV&ZM3i@)SH($m(47kn#_dxtlArIB|)@|RCu)8N|3vZtyKe$U1Ee;xXGf&oHq+c8cwi@TR{bk>@5wE*f z_it6@;LAFRi|e)T#R{Bbo9=$WkFoT2z$L`Lb{>w{eb#hi7q!8M^55r2n79V^!aT-V zv+XbMz`kv?TQ9^buI2aP100y+tNZuXd>s!!?>l^#7}|X8UaWrVwXP8Ji$YB1XO3b_ zo1xC4fhYmj0_S_@o;??0QDyI!v9yOR|2IbEcf7pcF0odPmDG|N1o|?b>abtM*!#sJ zp0mqi6u#r*Y|NG8Lr&^A*NMo+v)0J^nvoB3=&SdO77JiF!o(hKNi2`_d%B=?AO09`gfqQ3VrNE_rSSn|9IO1Tz)6q zFgU9X@T+;-h{o520~Cme=f-cZa|+{nED> z`}2S$qy6J>w%B&I*oH6mL^tl>^PnrBA3+CkVb6fR0bK?C2AV?PgP>{93!r15w?OZL zE`mM;@&6bl1bYN@2=o+a26O~82YMOw2B-yk8*~x$5$H?MWzZGS_n==uzk+@T{Rz4W z`Ug~c82`Tkb%*K7(f;bZTOF>;OPy@)-0Lpg>i15x!(Pv|<#yw2XVcd>BgZ=fXEM~s2mRdi>d*~BFEeto l)9oVGYP#*@bT=J1$%cc0%b)@4%68YeGfuYI)nU(O -#define TB_TILT_X <-0.32> -#define TB_BANK_Z <0.5> // Do not define this if you dont want banking -#define TB_WAKE_PIECE base -#define TB_WAKE_FOAM 1024 + 1 -#include "../tilt_bank_submarine.h" - +#include "unit_hitbyweaponid_and_smoke.h" Propcontrol() { - var currentSpeed; - while(1) + while(TRUE) { - currentSpeed = (get CURRENT_SPEED)*1000/TB_maxSpeed; - spin prop around z-axis speed <1.0>*currentSpeed accelerate <10.0>; + currentSpeed = (get CURRENT_SPEED)*1000/moveSpeed; + spin prop around z-axis speed <1.000000>*currentSpeed accelerate <10.000000>; sleep 100; } } @@ -42,37 +34,48 @@ Create() hide flare; hide flare; restore_delay = 3000; - call-script TB_Init(); + moveSpeed = get MAX_SPEED; + start-script Propcontrol(); return (0); } -StartMoving(reversing) +StartMoving() { - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; - START_TILTBANK; - start-script Propcontrol(); + signal SIG_MOVE; + set-signal-mask SIG_MOVE; + while( TRUE ) + { + emit-sfx 1024 + 0 from base; + sleep 250; + emit-sfx 1024 + 0 from base; + emit-sfx 1024 + 1 from base; + sleep 250; + } + return (0); } StopMoving() { - signal SIGNAL_MOVE; - STOP_TILTBANK; - stop-spin prop around z-axis decelerate <10.0>; + signal SIG_MOVE; + return (0); } -FireWeapon1() +FirePrimary() { return (0); } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = flare; + piecenum = flare; return (0); } - +SweetSpot(piecenum) +{ + piecenum = base; + return (0); +} static-var Stunned; @@ -99,15 +102,15 @@ RestoreAfterDelay() start-script ExecuteRestoreAfterDelay(); } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = aimpoint; + piecenum = aimpoint; } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; move doorr to x-axis [-2] speed [10]; move doorl to x-axis [2] speed [10]; @@ -125,6 +128,7 @@ Killed(severity, corpsetype) explode prop type FIRE | SMOKE | NOHEATCLOUD; explode doorl type BITMAPONLY | NOHEATCLOUD; explode doorr type BITMAPONLY | NOHEATCLOUD; + //explode flare type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } if( severity <= 50 ) @@ -134,6 +138,7 @@ Killed(severity, corpsetype) explode prop type FIRE | SMOKE | NOHEATCLOUD; explode doorl type NOHEATCLOUD; explode doorr type FIRE | SMOKE | NOHEATCLOUD; + //explode flare type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) @@ -143,6 +148,7 @@ Killed(severity, corpsetype) explode prop type FIRE | SMOKE | NOHEATCLOUD; explode doorl type FIRE | SMOKE | NOHEATCLOUD; explode doorr type FIRE | SMOKE | NOHEATCLOUD; + //explode flare type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; @@ -150,5 +156,6 @@ Killed(severity, corpsetype) explode prop type EXPLODE_ON_HIT | FIRE | NOHEATCLOUD; explode doorl type EXPLODE_ON_HIT | FIRE | NOHEATCLOUD; explode doorr type EXPLODE_ON_HIT | FIRE | NOHEATCLOUD; + //explode flare type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/armsub.cob b/scripts/Units/armsub.cob index 86a843dc1ccffad83d25c0b7024699ffe1ab96dd..5542a72e85437d4e79fd9a5b571ec775c6c8c498 100644 GIT binary patch literal 2869 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 e@07W{*13{fw -#define TB_TILT_X <-0.32> -#define TB_BANK_Z <0.5> // Do not define this if you dont want banking -#define TB_WAKE_PIECE base -#define TB_WAKE_FOAM 1024 + 1 -#include "../tilt_bank_submarine.h" - +#include "unit_hitbyweaponid_and_smoke.h" Propcontrol() { - var currentSpeed; - while(1) + while(TRUE) { - currentSpeed = (get CURRENT_SPEED)*1000/TB_maxSpeed; - spin prop around z-axis speed <1.0>*currentSpeed accelerate <10.0>; + currentSpeed = (get CURRENT_SPEED)*1000/moveSpeed; + spin prop around z-axis speed <1.000000>*currentSpeed accelerate <10.000000>; sleep 100; } } @@ -41,42 +32,53 @@ Propcontrol() Create() { hide flare; + moveSpeed = get MAX_SPEED; start-script Propcontrol(); - call-script TB_Init(); + return (0); } -StartMoving(reversing) +StartMoving() { - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; - START_TILTBANK; - start-script Propcontrol(); + signal SIG_MOVE; + set-signal-mask SIG_MOVE; + while( TRUE ) + { + emit-sfx 1024 + 0 from base; + sleep 250; + emit-sfx 1024 + 0 from base; + emit-sfx 1024 + 1 from base; + sleep 250; + } + return (0); } StopMoving() { - signal SIGNAL_MOVE; - STOP_TILTBANK; - stop-spin prop around z-axis decelerate <10.0>; + signal SIG_MOVE; + return (0); } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { return(1); } -FireWeapon1() +FirePrimary() { return (0); } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = flare; + piecenum = flare; return (0); } - +SweetSpot(piecenum) +{ + piecenum = base; + return (0); +} Killed(severity, corpsetype) { @@ -87,6 +89,7 @@ Killed(severity, corpsetype) explode doorr type FIRE | SMOKE | FALL | NOHEATCLOUD; explode doorl type BITMAPONLY | NOHEATCLOUD; explode prop type BITMAPONLY | NOHEATCLOUD; + //explode flare type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } if( severity <= 50 ) @@ -96,6 +99,7 @@ Killed(severity, corpsetype) explode doorr type NOHEATCLOUD; explode doorl type NOHEATCLOUD; explode prop type FIRE | SMOKE | NOHEATCLOUD; + //explode flare type FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) @@ -105,6 +109,7 @@ Killed(severity, corpsetype) explode doorr type FIRE | SMOKE | NOHEATCLOUD; explode doorl type EXPLODE_ON_HIT | SMOKE | NOHEATCLOUD; explode prop type EXPLODE_ON_HIT | SMOKE | NOHEATCLOUD; + //explode flare type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; @@ -112,5 +117,6 @@ Killed(severity, corpsetype) explode doorr type EXPLODE_ON_HIT | FIRE | NOHEATCLOUD; explode doorl type EXPLODE_ON_HIT | FIRE | NOHEATCLOUD; explode prop type EXPLODE_ON_HIT | FIRE | SMOKE | NOHEATCLOUD; + //explode flare type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/armsubk.cob b/scripts/Units/armsubk.cob index b001db910de39e12dfca755c8cdb08d962c21bf3..2414fae0d69019d97aeddd16ec43366f44935aa4 100644 GIT binary patch literal 2279 zcmb7FziSjx5T5&yi-pKbr9#953md^h`~zYHi3H)~lvqjD+$xKk+jHHhSBO^%mVzSK z*xA@xXcxrB#zL$tL>sY6Wnty_y`8yxtVxU)zRbM&`MsHUNmE4j12e$Snn(kZpHH(Q z&3z)LffG0{K}x&sLew38V6H*-RkDtB8cr4(uHLCT)?*wc<9vNL<7Bnv4yg@7q}zgb z8pnFlDdUbowH{WJ=l64EZP1?dU~h{h2Wg9ADdWi;`n@fXp4VTw(|pDYD*L=Zr^kCJ!iTv>;A;cT8k@QkvUd(+R7DrZDV-y#*AQLeVg+iJcR)n;e9Bc5%} zR44UyANKN~o&*QsANnVVhy_~D~ecM|tzXN!4nAs*mnB!yl zURK3(rfr!<^kxs=4|gL4e!?8;tSv*_-Sly(+kFl|@i}~Wx-*`CGf(#}6<@7#wpjB1 zg*0D}`QSb2s~l*y_isD)Tr@WHGneKZxrZ6tF5gI`_hxVAQ!=Kl zattY}c>8X4vPUY6;h#qOsB;vik5y;RZuM;6ZN#%in8$kL%>3$i*MA?C|3d^Ym$mlF zf6STzH#-}j?e6DebPl_5TVrkI_Ex#s?sl66(|C`6^|l(uHQd3NMU!?kQs z;0*`aqgj*H$fD`YuI a)3`6!qT8|bvnUF8oov#yu` literal 3009 zcma);ziVVw6vxjblUZ>Uo`tXrDx-xWh|I=6z)2J}EDKpTV4+~f%rgu-nVB6&L7Uye zSlDT`NR(LESgFNUf?%;=XJKV+kuso&UHpFTJ7;q99Clqed+$Bxd%ow#J@-wTX7;dT zMRKrYc1|n*4jwf7Rnk0f_MFZav|4+q$fZ#%6^{UJHw)Wt6%T2Pu8(fBRj_Zem!16@ z`_4+jKBa9_I)zL=m~8XZ2EHLxvr}QLXeBH#X^LfE!EiX57=Fyx}_n;Ju(`?!$`e zPQsVfI*nA*w0W9Wy=RMTxX$y|-9>M>3ugA%?V?R{N)2qI=lD`f% z%8mU$H%082G~b>xzQl|EJx&7c>V3t$V^8xTpP2vR8Q~UiMD9`djauCi=S|{p=h?R; zeCZ{){5v3;d0n)ey5jzF9I*H{f8w#1arSx4v57~uML)vt_5we8*q{l{!?~+t%d^l^aescT$`kTME$MgdS#~o3SH&oR-v2-8gjlG}r)!X^Hp2xPP0lR*0(%iCd zwIZuf=XUkY z*w6)|qu!Wx&WB)%bMreo@H4pF9`kYNc6v*!)Ia5#$6W>Ead$l~{`ZP|3m@eXapN3u zZ@c|oad*IY+)U0DEV3PyX0@lMUgxqc~bJMguhdtmaIx%l)Nh0l)NR`k&GoDN%ke5NxqVNBl%YH zo#c+>N6Bl0+4_fXl)cG#w9(H`_Hu8pw_EnF?TxROwzdBD#%M6Jt-)}%-Wy%F&FOfu zGak*RK diff --git a/scripts/Units/armsy.bos b/scripts/Units/armsy.bos index 66c63b60b0a..c92e9fba935 100644 --- a/scripts/Units/armsy.bos +++ b/scripts/Units/armsy.bos @@ -1,19 +1,65 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" -#include "../factories_common.h" +#include "sfxtype.h" +#include "exptype.h" piece base,pad, nc1,nc2,nc3,nc4,nt1,nt2,nt3,nt4,nano1,nano2,nano3,nano4,beam1,beam2,beam3,beam4; -static-var spray; +static-var spray, statechg_DesiredState, statechg_StateChanging; // Signal definitions -#define SIGNAL_BUILD 2 -#define SIGNAL_TURNON 4 +#define SIG_ACTIVATE 2 -#define WATER_ROCK_UNITSIZE 27 -#define WATER_ROCK_AMPLITUDE <1.2> -#include "../floatmotion.h" +activatescr() +{ + move nt1 to y-axis [5] speed [10]; + move nt2 to y-axis [5] speed [10]; + move nt3 to y-axis [5] speed [10]; + move nt4 to y-axis [5] speed [10]; + sleep 500; + turn nc1 to z-axis <90> speed <180>; + turn nc2 to z-axis <90> speed <180>; + turn nc3 to z-axis <-90> speed <180>; + turn nc4 to z-axis <-90> speed <180>; + sleep 500; +} + +deactivatescr() +{ + + turn nc1 to z-axis <0> speed <180>; + turn nc2 to z-axis <0> speed <180>; + turn nc3 to z-axis <0> speed <180>; + turn nc4 to z-axis <0> speed <180>; + sleep 500; + move nt1 to y-axis [0] speed [10]; + move nt2 to y-axis [0] speed [10]; + move nt3 to y-axis [0] speed [10]; + move nt4 to y-axis [0] speed [10]; + sleep 500; +} + +RockOnWaves() +{ + var rockDir, rockAng, rockSpeed; + rockDir = <-0.1>; + rockAng = <-0.1>; + while( TRUE ) + { + while( get ABS(rockAng) < <1.11> ) + { + rockSpeed = <1.45> - get ABS(rockAng); + turn base to x-axis rockAng speed rockSpeed*1.5; + turn base to z-axis rockAng speed rockSpeed*1.5; + wait-for-turn base around x-axis; + wait-for-turn base around z-axis; + rockAng = rockAng + rockDir; + } + rockDir = 0 - rockDir; + rockAng = rockAng + rockDir + rockDir; + } +} #define BASEPIECE base @@ -21,7 +67,78 @@ static-var spray; //how 'heavy' the unit is, on a scale of 1-10 #define UNITSIZE 15 #define MAXTILT 100 -#include "../unit_hitbyweaponid_and_smoke.h" + +#include "unit_hitbyweaponid_and_smoke.h" + +OpenYard() +{ + set YARD_OPEN to 1; + while( !get YARD_OPEN ) + { + set BUGGER_OFF to 1; + sleep 1500; + set YARD_OPEN to 1; + } +} + +CloseYard() +{ + set YARD_OPEN to 0; + while( get YARD_OPEN ) + { + set BUGGER_OFF to 1; + sleep 1500; + set YARD_OPEN to 0; + } +} + +Go() +{ + + call-script activatescr(); + call-script OpenYard(); + set INBUILDSTANCE to 1; +} + +Stop() +{ + set INBUILDSTANCE to 0; + call-script CloseYard(); + call-script deactivatescr(); + +} + +InitState() +{ + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; +} + +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + call-script Go(); + currentstate = 0; + } + if( statechg_DesiredState == 1 ) + { + call-script Stop(); + currentstate = 1; + } + } + statechg_StateChanging = FALSE; +} Create() { @@ -30,15 +147,19 @@ Create() hide beam4; hide beam2; hide pad; - + //move base to y-axis [25] now; spray = 0; - SLEEP_UNTIL_UNITFINISHED; - start-script FloatMotion(); + call-script InitState(); + while( get BUILD_PERCENT_LEFT ) + { + sleep 400; + } + start-script RockOnWaves(); } -QueryNanoPiece(pieceIndex) +QueryNanoPiece(piecenum) { - pieceIndex=beam1+spray; + piecenum=beam1+spray; spray=spray+1; if (spray>3) spray=0; } @@ -61,46 +182,27 @@ StopBuilding() Activate() { - signal SIGNAL_TURNON; - set-signal-mask SIGNAL_TURNON; - move nt1 to y-axis [5] speed [10]; - move nt2 to y-axis [5] speed [10]; - move nt3 to y-axis [5] speed [10]; - move nt4 to y-axis [5] speed [10]; - wait-for-move nt1 along y-axis; - turn nc1 to z-axis <90> speed <180>; - turn nc2 to z-axis <90> speed <180>; - turn nc3 to z-axis <-90> speed <180>; - turn nc4 to z-axis <-90> speed <180>; - wait-for-turn nc1 around z-axis; - - FACTORY_OPEN_BUILD; + signal SIG_ACTIVATE; + start-script RequestState(0); } Deactivate() { - signal SIGNAL_TURNON; - set-signal-mask SIGNAL_TURNON; - - sleep 5000; - - turn nc1 to z-axis <0> speed <180>; - turn nc2 to z-axis <0> speed <180>; - turn nc3 to z-axis <0> speed <180>; - turn nc4 to z-axis <0> speed <180>; - wait-for-turn nc1 around z-axis; - move nt1 to y-axis [0] speed [10]; - move nt2 to y-axis [0] speed [10]; - move nt3 to y-axis [0] speed [10]; - move nt4 to y-axis [0] speed [10]; - wait-for-move nt1 along y-axis; + signal SIG_ACTIVATE; + set-signal-mask SIG_ACTIVATE; + sleep 5000; + set-signal-mask 0; + start-script RequestState(1); +} - FACTORY_CLOSE_BUILD; +QueryBuildInfo(piecenum) +{ + piecenum = pad; } -QueryBuildInfo(pieceIndex) +SweetSpot(piecenum) { - pieceIndex = pad; + piecenum = base; } Killed(severity, corpsetype) diff --git a/scripts/Units/armsy.cob b/scripts/Units/armsy.cob index a2705a15ee4abab401fd83d5725549dee78b8030..2ab174e14ca75f5660119f00f860c1714cfdc06f 100644 GIT binary patch literal 6946 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 BM;ZVC diff --git a/scripts/Units/armtarg.bos b/scripts/Units/armtarg.bos index 0b638c6115f..ae6bc57c3bb 100644 --- a/scripts/Units/armtarg.bos +++ b/scripts/Units/armtarg.bos @@ -1,28 +1,102 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base; +static-var statechg_DesiredState, statechg_StateChanging; +activatescr() +{ + + sleep 1109; +} + +deactivatescr() +{ + + sleep 1220; + set ARMORED to 1; +} + +SmokeUnit(healthpercent, sleeptime, smoketype) +{ + while( get BUILD_PERCENT_LEFT ) + { + sleep 500; + } + while( TRUE ) + { + healthpercent = get HEALTH; + if( healthpercent < 66 ) + { + smoketype = 258; + if( Rand( 1, 66 ) < healthpercent ) + { + smoketype = 257; + } + emit-sfx smoketype from base; + } + sleeptime = healthpercent * 50; + if( sleeptime < 200 ) + { + sleeptime = 200; + } + sleep sleeptime; + } +} + +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState ) + { + call-script deactivatescr(); + currentstate = 1; + } + else + { + call-script activatescr(); + currentstate = 0; + } + } + statechg_StateChanging = FALSE; +} + Create() { + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; + start-script SmokeUnit(); } Activate() { - set ARMORED to 0; + start-script RequestState(0); } Deactivate() { - sleep 1220; - set ARMORED to 1; + start-script RequestState(1); } HitByWeapon(anglex, anglez) { - SLEEP_UNTIL_UNITFINISHED; + while( get BUILD_PERCENT_LEFT ) + { + sleep 500; + } signal 2; set-signal-mask 2; set ACTIVATION to 0; @@ -30,6 +104,11 @@ HitByWeapon(anglex, anglez) set ACTIVATION to 1; } +SweetSpot(piecenum) +{ + piecenum = base; +} + Killed(severity, corpsetype) { if( severity <= 25 ) diff --git a/scripts/Units/armtarg.cob b/scripts/Units/armtarg.cob index d12698d973f386c72dcebcd7590ad3d2ede86957..5d37a00e11ec864bc9b7fa0f9c4c73c42d2234ce 100644 GIT binary patch literal 1462 zcmbtUv2GJV5FMY-mxzXqlm-cfD^gNe`2yp(utbA6LW)Spj|XGmOHnIE^O~)s?}wUA#!Ss=wy>lx;@-gJ{5ri{okz zd3(&QS6x4BpD|j-t{L2>U#e}TxZRk@NRzfI^o^??0xP|Op5Qot(V2RRNH?CjVDOL z-KM_AT|dA1PPA{%4OyjqXrFoq$bCdoTAbUR=TlqfPEP9mOIYbtjhKz{xnoA5rn}c( z^C85j!9D(uW{gV#(o}SrRp5@@l{?yVu^Lf(xktFSY d-dr5o?qocYY;J9yO~$!A?+=IeM2@>NEBAwzZIb{1 literal 631 zcmb7C&1%9x82l1r6nfc05j{0{_7HmNFsY-8L*XlR3mf_Ukp_%J@0GwViD z52Ar#=lh#)c8Mn4*@ksc87L~@AJQLZxenXky75S(*C)8wl4gNG<|{`GQ? zT=Yr+U4UATrtT^E^i>y}xhaRBBayG#HU~Q*`N@aje<#k?OHa`=lGaCAzvjcW_oPmT zdxE<0GqKv7bwl{I@gAqBhIt##8g0B$Rp*60R%Zc9ZTh}fC#mSfR(otFrw(mO5f4*g$W|>~eGTvx80u+!e AVgLXD diff --git a/scripts/Units/armthor.bos b/scripts/Units/armthor.bos index e30336ca499..9cef688f168 100644 --- a/scripts/Units/armthor.bos +++ b/scripts/Units/armthor.bos @@ -1,5 +1,7 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, turret, sleeve, rtbarrel, ltbarrel, lempslv, lempbarrel, rempslv, rempbarrel, rlauncher, llauncher, flare1, flare2, flare3, flare4, flare5, flare7, spark_emit1, spark_emit2; @@ -8,12 +10,12 @@ static-var moveSpeed, currentSpeed, animSpeed, restore_delay, currentBarrel, cu static-var last_lempslv_heading,last_rempslv_heading,last_tesla_heading,last_tesla_pitch; -#define SIGNAL_MOVE 1 -#define SIGNAL_AIM1 2 -#define SIGNAL_AIM2 512 -#define SIGNAL_AIM3 1024 -#define SIGNAL_AIM4 2048 -#define SIGNAL_AIM5 4096 +#define SIG_MOVE 1 +#define SIG_AIM_1 2 +#define SIG_AIM_2 4 //rlauncher +#define SIG_AIM_3 8 +#define SIG_AIM_4 16 +#define SIG_AIM_5 32 //llauncher UnitSpeed() { @@ -31,14 +33,8 @@ UnitSpeed() //how 'heavy' the unit is, on a scale of 1-10 #define UNITSIZE 10 #define MAXTILT 100 -#include "../unit_hitbyweaponid_and_smoke.h" - -#define TB_BASE base -#define TB_TURNRATE <8.0> -#define TB_TILT_X <0.15> -#define TB_BANK_Z <0.05> // Do not define this if you dont want banking -#include "../tilt_bank_mobileunit.h" +#include "unit_hitbyweaponid_and_smoke.h" Create() { @@ -60,21 +56,18 @@ Create() last_rempslv_heading = -1000000; last_tesla_heading = -1000000; last_tesla_pitch = -1000000; - call-script TB_Init(); } -StartMoving(reversing) +StartMoving() { - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; + signal SIG_MOVE; + set-signal-mask SIG_MOVE; start-script UnitSpeed(); - START_TILTBANK; } StopMoving() { - signal SIGNAL_MOVE; - STOP_TILTBANK; + signal SIG_MOVE; } SetMaxReloadTime(time) @@ -89,25 +82,25 @@ static-var Stunned; RestoreAfterDelay_tesla() { - set-signal-mask SIGNAL_AIM1; //ensures restore animation is killed if this weapon is aimed + set-signal-mask SIG_AIM_1; //ensures restore animation is killed if this weapon is aimed sleep restore_delay; //large negative values to let wait-for-turn happen on first target last_tesla_heading = -1000000; last_tesla_pitch = -1000000; - turn turret to y-axis <0.0> speed <45>; - turn sleeve to x-axis <0.0> speed <15.0>; + turn turret to y-axis <0.000000> speed <45>; + turn sleeve to x-axis <0.000000> speed <15.000000>; } RestoreAfterDelay_EMP_missile() { - set-signal-mask SIGNAL_AIM2; //ensures restore animation is killed if this weapon is aimed + set-signal-mask SIG_AIM_2; //ensures restore animation is killed if this weapon is aimed sleep 6000; // allows the emp missile to be deployed for 6 seconds, can be adjusted for balance reasons turn rlauncher to x-axis <0> speed <30>; } RestoreAfterDelay_lEMP() { - set-signal-mask SIGNAL_AIM3; //ensures restore animation is killed if this weapon is aimed + set-signal-mask SIG_AIM_3; //ensures restore animation is killed if this weapon is aimed sleep restore_delay; //large negative values to let wait-for-turn happen on first target last_lempslv_heading = -1000000; @@ -116,7 +109,7 @@ RestoreAfterDelay_lEMP() RestoreAfterDelay_rEMP() { - set-signal-mask SIGNAL_AIM4; //ensures restore animation is killed if this weapon is aimed + set-signal-mask SIG_AIM_4; //ensures restore animation is killed if this weapon is aimed sleep restore_delay; //large negative values to let wait-for-turn happen on first target last_lempslv_heading = -1000000; @@ -135,16 +128,19 @@ SetStunned(State) } } - +SweetSpot(piecenum) +{ + piecenum = base; +} //Weapon 1: Double Heavy Tesla Cannon //=================================== AimWeapon1(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; - turn turret to y-axis heading speed <45.0>; - turn sleeve to x-axis <0.0> - pitch speed <15.0>; + signal SIG_AIM_1; + set-signal-mask SIG_AIM_1; + turn turret to y-axis heading speed <45.000000>; + turn sleeve to x-axis <0.000000> - pitch speed <15.000000>; wait-for-turn turret around y-axis; wait-for-turn sleeve around x-axis; last_tesla_heading = heading; @@ -159,8 +155,8 @@ Rock_Main_Cannon() turn base to x-axis <0> - (GET KCOS(last_tesla_heading)) speed <50.005495>; wait-for-turn base around z-axis; wait-for-turn base around x-axis; - turn base to z-axis <0.0> speed <20.0>; - turn base to x-axis <0.0> speed <20.0>; + turn base to z-axis <0.000000> speed <20.000000>; + turn base to x-axis <0.000000> speed <20.000000>; } FireSparks1() @@ -185,14 +181,14 @@ FireWeapon1() if( currentBarrel == 0 ) { //show spark_emit2; - move ltbarrel to z-axis [-2.400000] speed [500.0]; + move ltbarrel to z-axis [-2.400000] speed [500.000000]; spin ltbarrel around z-axis speed <360> accelerate <120>; emit-sfx 1024 + 0 from flare2; start-script FireSparks2(); sleep 100; //hide spark_emit2; wait-for-move ltbarrel along z-axis; - move ltbarrel to z-axis [0.0] speed [3.0]; + move ltbarrel to z-axis [0.000000] speed [3.000000]; wait-for-move ltbarrel along z-axis; stop-spin ltbarrel around z-axis decelerate <15>; @@ -200,29 +196,29 @@ FireWeapon1() if( currentBarrel == 1 ) { //show spark_emit1; - move rtbarrel to z-axis [-2.400000] speed [500.0]; + move rtbarrel to z-axis [-2.400000] speed [500.000000]; spin rtbarrel around z-axis speed <360> accelerate <120>; emit-sfx 1024 + 0 from flare1; start-script FireSparks1(); sleep 100; //hide spark_emit1; wait-for-move rtbarrel along z-axis; - move rtbarrel to z-axis [0.0] speed [3.0]; + move rtbarrel to z-axis [0.000000] speed [3.000000]; wait-for-move rtbarrel along z-axis; stop-spin rtbarrel around z-axis decelerate <15>; } currentBarrel = !currentBarrel; } -AimFromWeapon1(pieceIndex) +AimFromWeapon1(piecenum) { - pieceIndex = sleeve; + piecenum = sleeve; } -QueryWeapon1(pieceIndex) +QueryWeapon1(piecenum) { - if (currentBarrel) pieceIndex = flare1; - if (!currentBarrel) pieceIndex = flare2; + if (currentBarrel) piecenum = flare1; + if (!currentBarrel) piecenum = flare2; } //Weapon 2: EMP Missile Launcher @@ -232,30 +228,30 @@ QueryWeapon1(pieceIndex) //separated out to make sure signals work correctly retract_rlauncher() { - signal SIGNAL_AIM2; - set-signal-mask SIGNAL_AIM2; - turn rlauncher to x-axis <0.0> speed <60.0>; + signal SIG_AIM_2; + set-signal-mask SIG_AIM_2; + turn rlauncher to x-axis <0.000000> speed <60.000000>; } retract_llauncher() { - signal SIGNAL_AIM5; - set-signal-mask SIGNAL_AIM5; - turn llauncher to x-axis <0.0> speed <60.0>; + signal SIG_AIM_5; + set-signal-mask SIG_AIM_5; + turn llauncher to x-axis <0.000000> speed <60.000000>; } deploy_rlauncher() { - signal SIGNAL_AIM2; - set-signal-mask SIGNAL_AIM2; - turn rlauncher to x-axis <0.0> - <90.0> speed <60.0>; + signal SIG_AIM_2; + set-signal-mask SIG_AIM_2; + turn rlauncher to x-axis <0.000000> - <90.0> speed <60.000000>; } deploy_llauncher() { - signal SIGNAL_AIM5; - set-signal-mask SIGNAL_AIM5; - turn llauncher to x-axis <0.0> - <90.0> speed <60.0>; + signal SIG_AIM_5; + set-signal-mask SIG_AIM_5; + turn llauncher to x-axis <0.000000> - <90.0> speed <60.000000>; } //called from gadget unit_stockpile_script.lua @@ -290,17 +286,17 @@ AimWeapon2(heading, pitch) { if (missiles_stockpiled == 2) { - signal SIGNAL_AIM5; - set-signal-mask SIGNAL_AIM5; - turn llauncher to x-axis <0.0> - <90.0> speed <60.0>; + signal SIG_AIM_5; + set-signal-mask SIG_AIM_5; + turn llauncher to x-axis <0.000000> - <90.0> speed <60.000000>; wait-for-turn llauncher around x-axis; return (1); } if (missiles_stockpiled == 1) { - signal SIGNAL_AIM2; - set-signal-mask SIGNAL_AIM2; - turn rlauncher to x-axis <0.0> - <90.0> speed <60.0>; + signal SIG_AIM_2; + set-signal-mask SIG_AIM_2; + turn rlauncher to x-axis <0.000000> - <90.0> speed <60.000000>; wait-for-turn rlauncher around x-axis; return (1); } @@ -318,27 +314,27 @@ FireWeapon2() } } -AimFromWeapon2(pieceIndex) +AimFromWeapon2(piecenum) { if (missiles_stockpiled == 2) { - pieceIndex = flare3; + piecenum = flare3; } else { - pieceIndex = flare4; + piecenum = flare4; } } -QueryWeapon2(pieceIndex) +QueryWeapon2(piecenum) { if (missiles_stockpiled == 2) { - pieceIndex = flare3; + piecenum = flare3; } else { - pieceIndex = flare4; + piecenum = flare4; } } @@ -346,8 +342,8 @@ QueryWeapon2(pieceIndex) //=================================== AimWeapon3(heading, pitch) { - signal SIGNAL_AIM3; - set-signal-mask SIGNAL_AIM3; + signal SIG_AIM_3; + set-signal-mask SIG_AIM_3; // logic to restrict turret rotation due to unitdef maxangledif // maxangledif=180 = 0 to 180 degrees = 0 to 32,768 @@ -375,30 +371,30 @@ AimWeapon3(heading, pitch) FireWeapon3() { - move lempbarrel to z-axis [-1.0] speed [100.0]; + move lempbarrel to z-axis [-1.00000] speed [100.000000]; emit-sfx 1024 + 0 from flare5; sleep 100; wait-for-move lempbarrel along z-axis; - move lempbarrel to z-axis [0.0] speed [3.0]; + move lempbarrel to z-axis [0.000000] speed [3.000000]; wait-for-move lempbarrel along z-axis; } -AimFromWeapon3(pieceIndex) +AimFromWeapon3(piecenum) { - pieceIndex = lempslv; + piecenum = lempslv; } -QueryWeapon3(pieceIndex) +QueryWeapon3(piecenum) { - pieceIndex = flare5; + piecenum = flare5; } //Weapon 3: Right EMP //=================================== AimWeapon4(heading, pitch) { - signal SIGNAL_AIM4; - set-signal-mask SIGNAL_AIM4; + signal SIG_AIM_4; + set-signal-mask SIG_AIM_4; // logic to restrict turret rotation due to unitdef maxangledif // maxangledif=180 = -180 to 0 degrees = -32,768 to 0 @@ -427,22 +423,22 @@ AimWeapon4(heading, pitch) FireWeapon4() { - move rempbarrel to z-axis [-2.400000] speed [100.0]; + move rempbarrel to z-axis [-2.400000] speed [100.000000]; emit-sfx 1024 + 0 from flare7; sleep 100; wait-for-move rempbarrel along z-axis; - move rempbarrel to z-axis [1.0] speed [3.0]; + move rempbarrel to z-axis [1.000000] speed [3.000000]; wait-for-move rempbarrel along z-axis; } -AimFromWeapon4(pieceIndex) +AimFromWeapon4(piecenum) { - pieceIndex = rempslv; + piecenum = rempslv; } -QueryWeapon4(pieceIndex) +QueryWeapon4(piecenum) { - pieceIndex = flare7; + piecenum = flare7; } Killed(severity, corpsetype) @@ -455,6 +451,7 @@ Killed(severity, corpsetype) explode sleeve type BITMAPONLY | NOHEATCLOUD; explode ltbarrel type FIRE | SMOKE | FALL | NOHEATCLOUD; explode rtbarrel type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } if( severity <= 50 ) @@ -465,6 +462,7 @@ Killed(severity, corpsetype) explode sleeve type FIRE | SMOKE | FALL | NOHEATCLOUD; explode ltbarrel type FALL | NOHEATCLOUD; explode rtbarrel type FALL | NOHEATCLOUD; + //explode flare type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) @@ -475,6 +473,7 @@ Killed(severity, corpsetype) explode sleeve type SMOKE | FALL | NOHEATCLOUD; explode ltbarrel type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode rtbarrel type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare type SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; @@ -483,5 +482,6 @@ Killed(severity, corpsetype) explode sleeve type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode ltbarrel type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode rtbarrel type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/armthor.cob b/scripts/Units/armthor.cob index deb018e05a3f6fac724b5596b19f98c60017f6eb..6c3cf1e35ce4c46ecabee2acdbe8c5cd6a4bd977 100644 GIT binary patch literal 7034 zcmb_gZHQD=7(TnMquJMJpC-{jkr@)RACh9AtF{%kH0>z;2->~w9CPsQ%yj3jX1^Aq zPskrZKl-8~sIVfauplxMiZXvl2qHvKU|{)UgM@yR+w+`r-aBWmGsEuMz{5G`J@5OT z_v^g(?Di<7RsvT6UoTYZa*X`tuT$z6u<6%xzADT8+0_1sNd(KK9#qA+>a?`NfVu1 zpTEiKrtc!lvxS#7sGKtPi=C9=K17U+jK;1DWE=A2Q_yVqy*a013r7=woGWLvJHH*D z=;J6cr!M-)oPLKPIR~}DcyNpUbL8G8PF(EXaL zIDviydQD;y6Duj%@6DCTSxCs(Vua23`tDq}B=-eu9x`rw>?tC}~TLSH~UNan8-zhQtL=1yWseiLuhk8iW^Ci^&td8AKLXW~aY zyZyVaa=5(^HGrN2a4xYGdy?~n=KMAH6larOL(i78w_VdLPaF74%QMERgYA-&e>Qls zum_)u#8#@1_?tk_L!UW^I^l=t^Yg&ivt}7%Q@d~4JMswwhWr{oD2TcE%DL(Hj?O#A zU-}GLOYe}i^f%f;n#n=U#@ftX+@;SO<%mtYJhG;^r*gJ$OHSFhMTT>sOAXR@`XusP z8^1iiX`j(uu=c%hbHh*Wu}3j>Qj0W$bbnNN^e1N<>9m79X}63C)2=V$Y}0o^=6(sI@h8{S zq?;YSA>YugQhe+sYGY&H_s9Bc{du>IKkRAk{PFi%`D5-J{IQq%LVud%Q~t;v{gFBS z6@P>#{wVYW-i_v5*?vwr`q1uqCwUL~XFP^8$e*Lun(gIg-Xizp^K&QhW}lTgd8DWLXZms4@6NoKdf}OV?X)`6 z_wzM(W~-jTH)%Ut4|I^@8#WzlUypzO7fuh)lKaay{#TApT|%F&&f{%#o|uJBd1IJ& zjLW;c&HVa?S-2zizMOG-4Xt2nh2InFpd?(G_g^1aMUduxr_FKsBFKKe``5kDINqsM5 z??OH(LVP5~w7p$!c^=Pgw=X)(_sr$V%yB;@7KtA&W<}q(HhJ>jzmg~BUv#oRi{A9u zDo-_+C($cL5NA+dt31hj#@ONbTHROrPaS@qnq-nZ;S{`&WRH20x%lMg z$VCg^ufhlXfpbHoqQgr4(D^-`E2;}v&*yCG@E>h&*bftSJ5e>DJoYBvpGj%Fkks} zylCruVlr2|B|h`DTjXS%>-qn8+*n$xfTw{UfIqp0lWTzWz!0E;N#Hr)b>JXy2>1iI z4UY5ycL5&(p8>~!pMbN#46qD|83Fhv`w%z+oCMe$dVzJoAn*k6D)2V&KEVIc9|Dd7 zCxBmpGr&1Oq4_NZRsr__j{uXv6!1Lo67UZ2F>nYt3Y-Fd1O5h<;2-rXfYrb{U<*(H zMu8C63p@$D2)qFt01g7*06zk!fS-ZWz**oNa3094fL*|H;1=KxU@fo#7y^cYZNS68 z4xj>Tuax6rP3w}nw;XTU_mB>1)ru-kRCjA``PBPLYICH6SgT?jMDcKSPr33a=GB@^ zbvztAKBB{FP})|W&}u~2<7%V_cg8x}qQhX{XsqjD(1L#VaA9jatwxU%bA2oN zNN!lsr#vgno;9}LGrYf9q~8}Ydsbw?6B%e08Sq60)YftsBCtDxx>oUI1lLtP)OwFr zQM@C-I#gjY(G#_LxJQK;-CpEK9EFs`s1b{uVG!wFWrjXG^xI*;4r}air>Zk=qk5to J_j>a_^&d1&d{_Vg literal 7228 zcmbuEU5K1l8OP6VHruGJnYOkXZE>VhwSF+W*`k8bZ2EzH{du@nr2Qj|g=;!UBw5Q{gKf+9+8l*JD$*1GSBYb3tgS`|-iWymp^%8>0<8&kN(mn4h=5Zt1)8OMu<$SC$ zrmZLk&uoI@-ya;sihpWZViX2f5A9*t&|x1@{Mk5Occ_mX@uGWLQ^vTckUxSznVx}Ih7HVR;z8309k9pq^S2bsD%-#sb z*u&T%7xe4_O;}r>5(8V7bM}bE`t~oHdK?<9H*HPNr+VII?4h@#9z64b9ym%L{&ZU} zhqG`^#5aZDcDzD#Hm{BR>4cy9o|icJwzK?t^aI<@CTEbdOC0ak6dXqq-qn!@3z=(@ z^|<@M`VL6s_SuLry~nKHoPB)S`9ml5Z@olJ>>-bTR}bgL_k?-{InD%fc6Jc6JMb$~ zPWSxzspw$~`^0PZFFh(n^&yzHcZ5wk%-?);D3fCFb=AI&V77j*eMIxo{wK z@4%tI;1SjsAO~@j9`wpY|Z4@R}NlE3GGM!;T#5 z*(m=reIQta9sP?hZSSzwXKrMz>tSU5j>`I-TD$sexC`PQEbDb_`+9Z5x6RK_>AR@! zj+fJaklF1FQ6n!eJ(b#F2R+Zz9a8nPn?2;|nbJmm^jk7+4_~Fcd~$XT7kqzCbbq9I zP4W4C#ZKS(ep8R2XSpAjTlUlMniEbRd&Kgr3Q%Iwp7&9~>G#=?Z{}USrRY!Qt2d15 zgMnXZGv?OONSDEGeebKDKN^z)ckd$V|>ihWX@=o$97H>sz$!CDnD9p=Wj z9wRpDWBROpJi=^of!W($4*0%x%PiD6?O9PCwXeN+4^wS_%m zWAO3CIct1;MweiTL%A`zNqeTp=bO9huv`QeA42*@XT$&zL!-`PrPHXX8O!0=%;7h+gwh3nm$-6`ZE{xCi*}8oBlZe z=^Z@GOX#gPDO_!~cB2Oy=6r(qA!|KudeoG6irstg(_X!rg3F%%91wn*PqK&JID4eW z&ToB;J^gvX|El=VGkb>D-a6!fzOgq}>f;Xi@bbIVxSC_`$~50058(}Ae$w20+5F)A z3VH!QXlg86DKjcn#7vIb@_7qd6B5VI{l8R~&-chM;>gQC{#lD?8{?2kb^08(7 zYCR^|{LTcMPyQD+?G4~0TjrO!&RW{9;;2VM|6ho9Jx}q1le^U9oz7(XPI^p&VCStf zlnMWq!iL3Zqx~J?mn5zce7*uEc{00Zhu+05=f~bW*s*#Co6YD$_l3SK{wzwx?_pQ< z=558gsnNbqBXX6y-S)WKZ616{KlT7?@J^~H`}m!-U)F}VWjEf5@ttY$mp)^jZji&0 zH=#D^o6~B8S+i;X{uQgVRoc{Big{X_d4d$z?3x{FgI#KqzCp*;#@-knhxv`Q;fld$ zTALBMvNp1;`r00~v3ZF02;+TgQaXc4sVDEA`%#Y!)wc$98P2n~iw!R#Wj zzlu1#d}DGx&PG3mC>IsOUGMn`H2lqMwK^ ziT21~UG#C$7eo(;+M=(E&WT>N^LDm~A zb+%gVhcxeWZJH03vPX{OMJH>nwl;HjB<~M8y?pV(LEgJ7FS3(sgS=m4WB7M3Ew631 z`u$chPOH%N7^NQUm3*)=IMHq^s>Rl3h-uCp=^Wo!TgqDPwL7zRyVG{}w0ikUH|uTm z=aTunpPQ2O@9A|)8(%t+_hORfTrVH=vg3obUXh(>AAdOSm7JpFH1lrJIhlw=#!$k8 z6|^pKmT*%P^RR~~=3Roq?**_26W|9&RSu>qelMsjBq|G|DhsK~g1fI(6iVl@te?BV ziJn4t{UXn|a@QLi%d{?BQBLyBZok-ag~qtoi!4TCl{p&b;=v;8<#Wyt^I -#define HOVER_ROCKBASE ground -#define HOVER_WOBBLE_PERIOD 85 -#define HOVER_WOBBLE_AMPLITUDE [1.2] -#define HOVER_WAKEPIECE wake -#define HOVER_IDLE_SFX 1024 + 2 -#define HOVER_WAKE_SFX_1 1024 + 0 -#define HOVER_WAKE_SFX_2 1024 + 1 -#include "../bar_hovercraft_common.h" +#define SIG_MOVE 2 +#define SIG_IDLE 4 + +WobbleUnit() +{ + while( TRUE ) + { + if( Wobble_status) + { + if( get GROUND_WATER_HEIGHT(get UNIT_XZ) < 0 ) //Over Water + { + move base to y-axis [1.250000] speed [0.50000]; + } + else + { + move base to y-axis [2.500000] speed [0.50000]; + } + } + else + { + if( get GROUND_WATER_HEIGHT(get UNIT_XZ) < 0 ) //Over Water + { + move base to y-axis [0.250000] speed [0.50000]; + } + else + { + move base to y-axis [1.500000] speed [0.50000]; + } + } + Wobble_status = !Wobble_status; + //get PRINT (get GROUND_WATER_HEIGHT(get UNIT_XZ)); + sleep 260; + } +} + +BankControl() +{ + var lastHeading, currHeading, diffHeading; + lastHeading = GET HEADING; + while (TRUE) + { + currHeading = GET HEADING; + diffHeading = currHeading - lastHeading; + // Set values for tilt + + //Remove Extreme values + if ( diffHeading > 1250 ) diffHeading = 1250; + if ( diffHeading < -1250 ) diffHeading = -1250; + turn base to z-axis 1.0 * diffHeading speed <7>; + + lastHeading = currHeading; + sleep 67; + } +} #define BASEPIECE base #define HITSPEED <25.0> @@ -27,47 +70,211 @@ piece ground, base, turret1, wake, weight, turret2, doorr, doorl, boom2, boom3, #define UNITSIZE 8 #define MAXTILT 100 -#include "../unit_hitbyweaponid_and_smoke.h" +#include "unit_hitbyweaponid_and_smoke.h" Create() { hide wake; hide link; - SLEEP_UNTIL_UNITFINISHED; - start-script HoverCraftMotion(); + while( get BUILD_PERCENT_LEFT ) + { + sleep 400; + } + start-script BankControl(); + start-script WobbleUnit(); +} + +HoverIdle() +{ + signal SIG_IDLE; + set-signal-mask SIG_IDLE; + while( TRUE ) + { + emit-sfx 1024 + 2 from wake; + sleep 1750; + } +} + +StartMoving() +{ + signal SIG_MOVE; + set-signal-mask SIG_MOVE; + signal SIG_IDLE; + var waketime; + var bowtime; + while( TRUE ) + { + emit-sfx 1024 + 0 from wake; + if (bowtime) emit-sfx 1024 + 1 from wake; + bowtime = !bowtime; + waketime = (get CURRENT_SPEED) * 100 / get MAX_SPEED; + if( waketime < 30 ) waketime = 30; + sleep 15000 / waketime; + } +} + +StopMoving() +{ + signal SIG_MOVE; + signal SIG_IDLE; + start-script HoverIdle(); + return (0); +} + +SweetSpot(piecenum) +{ + piecenum = base; } StartDoorOpen() { signal 4; set-signal-mask 4; - turn doorr to z-axis <-90.0> speed <100.0>; - turn doorl to z-axis <90.0> speed <100.0>; + turn doorr to z-axis <-90.000000> speed <100.000000>; + turn doorl to z-axis <90.000000> speed <100.000000>; wait-for-turn doorr around z-axis; wait-for-turn doorl around z-axis; sleep 5000; - turn doorr to z-axis <0.0> speed <100.0>; - turn doorl to z-axis <0.0> speed <100.0>; + turn doorr to z-axis <0.000000> speed <100.000000>; + turn doorl to z-axis <0.000000> speed <100.000000>; wait-for-turn doorr around z-axis; wait-for-turn doorr around z-axis; } +BoomCalc(posxz, posy) +{ + var Func_Var_3, Func_Var_4, Func_Var_5; + Func_Var_3 = get PIECE_XZ(turret1) - posxz; + Func_Var_4 = posy - get PIECE_Y(turret1) + [5.000000]; + Func_Var_5 = get XZ_HYPOT(Func_Var_3); + TurretToUnitDistance = get HYPOT(Func_Var_5,Func_Var_4) - [15.000000]; + TurretToUnitAngleY = get XZ_ATAN(Func_Var_3); + TurretToUnitAngleX = get ATAN(Func_Var_4,Func_Var_5); + bInDistance = TurretToUnitDistance < [220.000000]; //MAX distance at which a unit is picked up/put down +// get PRINT(1,bInDistance,TurretToUnitDistance/65000); +// get PRINT(1,TurretToUnitAngleX/182, TurretToUnitAngleY/182); +} + +BoomExtend() +{ + start-script StartDoorOpen(); + turn turret1 to y-axis TurretToUnitAngleY speed <200.000000>; + wait-for-turn turret1 around y-axis; + turn turret2 to x-axis <0.000000> - TurretToUnitAngleX speed <280.000000>; + turn weight to x-axis TurretToUnitAngleX speed <280.000000>; + wait-for-turn turret2 around x-axis; + move boom2 to z-axis TurretToUnitDistance / 8 speed [60.000000]; + move boom3 to z-axis TurretToUnitDistance / 8 speed [60.000000]; + move boom4 to z-axis TurretToUnitDistance / 8 speed [60.000000]; + move boom5 to z-axis TurretToUnitDistance / 8 speed [60.000000]; + move boom6 to z-axis TurretToUnitDistance / 8 speed [60.000000]; + move boom7 to z-axis TurretToUnitDistance / 8 speed [60.000000]; + move boom8 to z-axis TurretToUnitDistance / 8 speed [60.000000]; + move boom9 to z-axis TurretToUnitDistance / 8 speed [60.000000]; + + wait-for-move boom2 along z-axis; + wait-for-move boom3 along z-axis; + wait-for-move boom4 along z-axis; + wait-for-move boom5 along z-axis; + wait-for-move boom6 along z-axis; + wait-for-move boom7 along z-axis; + wait-for-move boom8 along z-axis; + wait-for-move boom9 along z-axis; +} + +BoomReset() +{ + turn turret2 to x-axis <0.000000> speed <60.000000>; + + turn weight to x-axis <0.000000> speed <60.000000>; + + wait-for-turn turret2 around x-axis; + turn turret1 to y-axis <0.000000> speed <200.000000>; + move boom2 to z-axis [0.000000] speed [50.000000]; + move boom3 to z-axis [0.000000] speed [50.000000]; + move boom4 to z-axis [0.000000] speed [50.000000]; + move boom5 to z-axis [0.000000] speed [50.000000]; + move boom6 to z-axis [0.000000] speed [50.000000]; + move boom7 to z-axis [0.000000] speed [50.000000]; + move boom8 to z-axis [0.000000] speed [50.000000]; + move boom9 to z-axis [0.000000] speed [50.000000]; + wait-for-turn turret1 around y-axis; + wait-for-move boom2 along z-axis; + wait-for-move boom3 along z-axis; + wait-for-move boom4 along z-axis; + wait-for-move boom5 along z-axis; + wait-for-move boom6 along z-axis; + wait-for-move boom7 along z-axis; + wait-for-move boom8 along z-axis; + wait-for-move boom9 along z-axis; +} + +BoomToPad() +{ + start-script StartDoorOpen(); + turn turret2 to x-axis <0.000000> speed <60.000000>; + + turn weight to x-axis <0.000000> speed <60.000000>; + + wait-for-turn boom1 around x-axis; + turn turret1 to y-axis <0.000000> speed <200.000000>; + move boom2 to z-axis [0.000000] speed [60.000000]; + move boom3 to z-axis [0.000000] speed [60.000000]; + move boom4 to z-axis [0.000000] speed [60.000000]; + move boom5 to z-axis [0.000000] speed [60.000000]; + move boom6 to z-axis [0.000000] speed [60.000000]; + move boom7 to z-axis [0.000000] speed [60.000000]; + move boom8 to z-axis [0.000000] speed [60.000000]; + move boom9 to z-axis [0.000000] speed [60.000000]; + wait-for-turn turret1 around y-axis; + wait-for-turn turret2 around x-axis; + wait-for-move boom2 along z-axis; + wait-for-move boom3 along z-axis; + wait-for-move boom4 along z-axis; + wait-for-move boom5 along z-axis; + wait-for-move boom6 along z-axis; + wait-for-move boom7 along z-axis; + wait-for-move boom8 along z-axis; + wait-for-move boom9 along z-axis; + turn turret2 to x-axis <30.000000> speed <60.000000>; + + turn weight to x-axis <-30.000000> speed <60.000000>; + wait-for-turn turret2 around x-axis; +} TransportPickup(unitid) { - set BUSY to 1; - attach-unit unitid to link; - set BUSY to 0; + call-script BoomCalc(get UNIT_XZ(unitid),get UNIT_Y(unitid) + get UNIT_HEIGHT(unitid)); + if( bInDistance AND get UNKNOWN_UNIT_VALUE(74)(unitid) == get UNKNOWN_UNIT_VALUE(74)(get UNKNOWN_UNIT_VALUE(71)) ) + { + set BUSY to 1; + call-script BoomExtend(); + move link to y-axis [0.000000] - get UNIT_HEIGHT(unitid) now; + attach-unit unitid to link; + call-script BoomToPad(); + attach-unit unitid to 0 - 1; + call-script BoomReset(); + set BUSY to 0; + } } TransportDrop(unitid, position) { - set BUSY to 1; - drop-unit unitid; - set BUSY to 0; + call-script BoomCalc(position,get GROUND_HEIGHT(position) + get UNIT_HEIGHT(unitid)); + if( bInDistance ) + { + set BUSY to 1; + call-script BoomToPad(); + //move link to y-axis [0.000000] - get UNIT_HEIGHT(unitid) now; + attach-unit unitid to link; + call-script BoomExtend(); + drop-unit unitid; + call-script BoomReset(); + set BUSY to 0; + } } Killed(severity, corpsetype) @@ -81,6 +288,17 @@ Killed(severity, corpsetype) explode turret1 type BITMAPONLY | NOHEATCLOUD; explode turret2 type BITMAPONLY | NOHEATCLOUD; explode weight type BITMAPONLY | NOHEATCLOUD; + //explode boom1 type BITMAPONLY | NOHEATCLOUD; + //explode boom2 type BITMAPONLY | NOHEATCLOUD; + //explode boom3 type BITMAPONLY | NOHEATCLOUD; + //explode boom4 type BITMAPONLY | NOHEATCLOUD; + //explode boom5 type BITMAPONLY | NOHEATCLOUD; + //explode boom6 type BITMAPONLY | NOHEATCLOUD; + //explode boom7 type BITMAPONLY | NOHEATCLOUD; + //explode boom8 type BITMAPONLY | NOHEATCLOUD; + //explode boom9 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode link type BITMAPONLY | NOHEATCLOUD; + //explode wake type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } if( severity <= 50 ) @@ -92,6 +310,17 @@ Killed(severity, corpsetype) explode turret1 type FALL | NOHEATCLOUD; explode turret2 type FIRE | SMOKE | FALL | NOHEATCLOUD; explode weight type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode boom1 type FALL | NOHEATCLOUD; + //explode boom2 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode boom3 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode boom4 type FALL | NOHEATCLOUD; + //explode boom5 type FALL | NOHEATCLOUD; + //explode boom6 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode boom7 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode boom8 type FALL | NOHEATCLOUD; + //explode boom9 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode link type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode wake type FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) @@ -103,6 +332,17 @@ Killed(severity, corpsetype) explode turret1 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode turret2 type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; explode weight type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode boom1 type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode boom2 type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode boom3 type SMOKE | FALL | NOHEATCLOUD; + //explode boom4 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode boom5 type SMOKE | FALL | NOHEATCLOUD; + //explode boom6 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode boom7 type SMOKE | FALL | NOHEATCLOUD; + //explode boom8 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode boom9 type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode link type SMOKE | FALL | NOHEATCLOUD; + //explode wake type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; @@ -112,5 +352,16 @@ Killed(severity, corpsetype) explode turret1 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode turret2 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode weight type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode boom1 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode boom2 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode boom3 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode boom4 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode boom5 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode boom6 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode boom7 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode boom8 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode boom9 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode link type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode wake type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/armthovr.cob b/scripts/Units/armthovr.cob index bd0e3eeead4184bba0a499afe0b0b5fc689c8a8a..b76cd6a0d420f725f8dfe7e7e63502cdea7fec25 100644 GIT binary patch literal 6616 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 diff --git a/scripts/Units/armthund.bos b/scripts/Units/armthund.bos index b8782d32739..923be67a14a 100644 --- a/scripts/Units/armthund.bos +++ b/scripts/Units/armthund.bos @@ -1,14 +1,81 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, engines, enginec, wingl, wingr, doorl, doorr, thrustc, thrust1, thrust2, thrust3, thrust4; +static-var statechg_DesiredState, statechg_StateChanging; + +activatescr() +{ + if( TRUE ) + { + turn enginec to x-axis <90.021978> speed <62.000000>; + turn engines to x-axis <90> speed <30.000000>; + turn wingl to z-axis <-135> speed <90.000000>; + turn wingr to z-axis <135> speed <90.000000>; + sleep 1457; + } + sleep 6; + return (0); + // Build by COBBLER Ver4.0 Copyright @1998 DIGITAL CONCEPT SOFTWARE (MANU@inext.fr) / http://www.annihilationcenter.com/DCS/ +} + +deactivatescr() +{ + if( TRUE ) + { + turn enginec to x-axis <0> speed <62.000000>; + + turn engines to x-axis <0> speed <30.000000>; + turn wingl to z-axis <0> speed <90.000000>; + turn wingr to z-axis <0> speed <90.000000>; + sleep 1446; + } + sleep 4; +} + + #define BASEPIECE base #define HITSPEED <105.0> //how 'heavy' the unit is, on a scale of 1-10 #define UNITSIZE 1 #define MAXTILT 100 + +InitState() +{ + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; +} + +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + call-script activatescr(); + currentstate = 0; + } + if( statechg_DesiredState == 1 ) + { + call-script deactivatescr(); + currentstate = 1; + } + } + statechg_StateChanging = FALSE; +} + Create() { hide thrust4; @@ -16,12 +83,12 @@ Create() hide thrust2; hide thrust1; hide thrustc; - turn thrust1 to x-axis <-90> now; turn thrust2 to x-axis <-90> now; turn thrust3 to x-axis <-90> now; turn thrust4 to x-axis <-90> now; turn thrustc to x-axis <-90> now; + call-script InitState(); } Activate() @@ -31,11 +98,7 @@ Activate() show thrust2; show thrust1; show thrustc; - - turn enginec to x-axis <90> speed <62.0>; - turn engines to x-axis <90> speed <30.0>; - turn wingl to z-axis <-135> speed <90.0>; - turn wingr to z-axis <135> speed <90.0>; + start-script RequestState(0); } Deactivate() @@ -45,30 +108,29 @@ Deactivate() hide thrust2; hide thrust1; hide thrustc; - - turn enginec to x-axis <0> speed <62.0>; - turn engines to x-axis <0> speed <30.0>; - turn wingl to z-axis <0> speed <90.0>; - turn wingr to z-axis <0> speed <90.0>; + start-script RequestState(1); } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = base; + piecenum = base; } -AimWeapon1(heading, pitch) + +AimPrimary(heading, pitch) { turn doorl to z-axis <-60> speed <120>; turn doorr to z-axis <60> speed <120>; } +SweetSpot(piecenum) +{ + piecenum = base; +} -FireWeapon1() +FirePrimary() { - sleep 1000; - turn doorl to z-axis <0> speed <120>; - turn doorr to z-axis <0> speed <120>; + sleep 11; } Killed(severity, corpsetype) diff --git a/scripts/Units/armthund.cob b/scripts/Units/armthund.cob index 187f5c369f216c6c9355e7522ba829393bf05c27..f300f497c205f02ea8bcc7bebdfd169f615d5fe4 100644 GIT binary patch literal 3214 zcmeHJziSjh6n?o}PK_3$C@5Gg2%=(fMjIP7C;?IAOd@7~P&=6m~Q-kZ%;MP!@D%Zdp8 z^mAaV$P92FI1JAV*dbSOLu8vZw-1K%ogit~PQnq1Gd+FNyK?Tk=Tz%;^l?q?@!A@7 z!|+o}pK;%=<}s@Q_k0AC`jAsChBoF<8a4G>j_2XxI?GYll;mjKpd5`Gl%sKBj!%Oe z=`YK%TCX_L%#oIJKHuitk3`^rD%RM(ZemR(&`=v{IObZ5M=jS>>bbwDUFW?{nj?-i ze#97F`!jydJz&5H`T39W_KZ-cc{g(1L$6aG#+Iw;dQR z*n^%$PS4ce<50(5xBle1JtU*NckW_?^l_ioFPul1)2_fubJ*cz*Z0Q(xx6oi^$he* zVqH;VdyKqh1=iwOts=OJI-UW2gE*dD8OQfY8OI#UIPSlU<37tc_Foyt9xdZoE7pY1 zWqrf?jM3-o^U>Fb=eSXy!Ts>3>(dVEGlRmg#`=G(p4YRi=9H29AMTIc+h4ik|MI=s zs7?7h=x@LCcpnY|lfV_=3Gf<7kxSZ#Kq_KI=C7n(@E7w~6SmN$n o(vADxwq+^l&UN$~S@n8pN550aZlnwStnKX)Z^yhn>g_T40k75tEdT%j literal 1943 zcmds2Jx?1!5FH!iKtgdvqKM8#pooxSNV*gVf}o(lNFdTg!8ulNl4D0_6QCj;9TZR@ z3OXqH3H*Sx{08zHA|&$O+zwh!7b#6BIP2Y;kDb|>**&=;B2R!J;JAdBe~zjm7r;+o z47MAvtV;BZe(+PzgPsRGGgm1pN0rOlTe*}-?Kzvqk%4fc!e5{M$kL#F!m_n@|v#&p-dxAFK z_Xrj+j{Q9LzT=?p*!Qj9K>gv)d!IGnKK<|W=9xa$-Z;WhU;)?$egKES8NmOcK75Qr zz)Rp2@CJAfOapVk0>xarcJ71#XM zX^+cP^3}xIBy}dwC#{xSlP}G#6W3l(+OF$4maU|{-qLp}Yn@Ko(swGojdZiyi#?Bf Lp78wE^E>$igblJ- diff --git a/scripts/Units/armtide.bos b/scripts/Units/armtide.bos index 4a7ed33cc37..d48fd21ec1b 100644 --- a/scripts/Units/armtide.bos +++ b/scripts/Units/armtide.bos @@ -1,11 +1,33 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, wheel; +static-var statechg_DesiredState, statechg_StateChanging, Static_Var_3; + +RockOnWaves() +{ + var rockDir, rockAng, rockSpeed; + rockDir = <-0.1>; + rockAng = <-0.1>; + while( TRUE ) + { + while( get ABS(rockAng) < <1.31> ) + { + rockSpeed = <1.45> - get ABS(rockAng); + turn base to x-axis rockAng speed rockSpeed*5; + turn base to z-axis rockAng speed rockSpeed*5; + wait-for-turn base around x-axis; + wait-for-turn base around z-axis; + rockAng = rockAng + rockDir; + } + rockDir = 0 - rockDir; + rockAng = rockAng + rockDir + rockDir; + } +} -#define WATER_ROCK_UNITSIZE 7 -#include "../floatmotion.h" #define BASEPIECE base #define HITSPEED <25.0> @@ -13,24 +35,77 @@ piece base, wheel; #define UNITSIZE 1 #define MAXTILT 100 -#include "../unit_hitbyweaponid_and_smoke.h" +#include "unit_hitbyweaponid_and_smoke.h" + +Go() +{ + dont-cache wheel; + spin wheel around z-axis speed <35.005495>; +} + +Stop() +{ + spin wheel around z-axis speed <0.000000>; + cache wheel; +} + +InitState() +{ + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; +} + +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + call-script Go(); + currentstate = 0; + } + if( statechg_DesiredState == 1 ) + { + call-script Stop(); + currentstate = 1; + } + } + statechg_StateChanging = FALSE; +} Create() { - SLEEP_UNTIL_UNITFINISHED; - start-script FloatMotion(); + dont-shade wheel; + call-script InitState(); + while( get BUILD_PERCENT_LEFT ) + { + sleep 400; + } + start-script RockOnWaves(); } Activate() { - spin wheel around z-axis speed <35.005495>; + start-script RequestState(0); } Deactivate() { - spin wheel around z-axis speed <0.0>; + start-script RequestState(1); } +SweetSpot(piecenum) +{ + piecenum = base; +} Killed(severity, corpsetype) { diff --git a/scripts/Units/armtide.cob b/scripts/Units/armtide.cob index 36439b9bdf2c85ed72ad391aded33431333c70a6..85753b63a9bc408f099f45c7f95e35b7088114ac 100644 GIT binary patch literal 2578 zcmbVOziU)M5T1LvT;eZWI|Y$vD;5t6D~lKf4I+jd60pjdtmH_{o#vS!HdkmNT8NFd zf?%hmjSvg5^bb%3QLF^9vavY7Z{N(z-s6xnFHB~4eth%o%x*|sMD{@v$SM4)L-RYl zOJo*u7jhi?htQHH&ZOoN_p{&cCmC$`;(bl`)UwcUUibH)6XcnnZsx^WvbqacG`exe z{5g%AL?V5o;z&B?$d6}ZU25i!LrVr9egel-0tcE$i6f4HB~|!zZFPuAoWfUd2z90! zZa<86<}yZkGTu0qK3DJ@hP5ZclG#Q%8=Da^?959V8+hRCGF9*z)0))eMQwfWsf{M$ z6VKv^Cs{F{2Us$fwj|q*d4FK=JOLZEEtVWadv83MQ|*t{<;(_ixARHIW>TFGb8g^b z8*a7cFdyN{cZ%7TxgFzs;w1lwQvqD>&Ua7a&LX+ zvc%VS@IA5(t9OD)oNZR%lWWPtfunM>`TkKq&mzC{4d9OU)t*%BZ`BSJc-lQP%~}{= z=m*~|n?+l=E9fB^44$>PKSwl<<*Xm#aNmf9&*o3fnC)|54%i!})sY@<0_>~}74)}* zSY(CW?izjUcN`aNQJi!Ku`J%WGT!pZJ+8}G>kZFNANz6z3p)dIVvH(&sH5lL%(<`T z5}O#-A6d|MiD2^?N0}{rcL^ zQ`T<~8z1B2yYoyj9uXY(nYd55#=T%XKdWIq3r6@S=o{jvjrqg;oRi_%+p>K;N9#R( zhlrOJ{rn7Y+E~MS!F`H7bq`t=@HX8)BOtusq3Gg5n}1wWviZf`cFkKAVRI)27s*xL4d9og514 zf8pSytDA$1P>_xR#Zf(<`|e3@<7M@ZSP`roBY3ZGiPz#_(ir^`gKwjC3V~Vr;VNOZF;rZbKS+<7InkN z?``s)>vqL^GdFSF=68{cwBn>yckGtEo!qGVeYJh!U(RJ|n4m!niPd~Va zZ^NfE9(!2hFomebF~)c3NTrq*7;$yy`=UDXhUWxhb%5bLtrp88&KazITl{^rzww=q z<%)dHX^?S_8e`H&sHqij_+^JI&IfH0HkK=Tn}5qe!XCyp786@cEbia7RehWB9^2b& zs0}`BXNYe;Cr`c!F_w6f7?TYfWBfNoYqs9E^^$z;oyuy)-!_2o-J(x?x7auOXSSTo zB>45(I4`T&dRBIa=_v0o!^rf4ncY$bS>5_MB`&P>oI7fu!Dt`XtiFvCopA_SJUzZNQ_p-Hdm4819$wr@dzX zzrpKHVZu*br}3Oy{NIpDG2c^g_}C3+I~vz;41A;5!KOYku}F#jaUyT(DQ@5BJ7TiO z1w8e}etmC(-wVMnGc?Wbs}N_J-(@ht@Acr<&+wFdU+m(S+Wuwxau-|F-<3{jvTu}l z$DclNky*`)zsr6oCHjZLL8aqLO{LRH=anuh%`08*^|QfJf6(o(%GK^*{^_keTkEeb yc4A2uvX$(9-nqHbf0)aq^*kHo(q0~PAHyu; + rockAng = <-0.1>; + while( TRUE ) + { + while( get ABS(rockAng) < <1.31> ) + { + rockSpeed = <1.45> - get ABS(rockAng); + turn base to x-axis rockAng speed rockSpeed*5; + turn base to z-axis rockAng speed rockSpeed*5; + wait-for-turn base around x-axis; + wait-for-turn base around z-axis; + rockAng = rockAng + rockDir; + } + rockDir = 0 - rockDir; + rockAng = rockAng + rockDir + rockDir; + } +} -#define WATER_ROCK_UNITSIZE 5 -// Otherwise it wont move up! -//#define WATER_ROCK_FREQ_Y 0 -#include "../floatmotion.h" #define BASEPIECE base #define HITSPEED <25.0> //how 'heavy' the unit is, on a scale of 1-10 #define UNITSIZE 3 -#define MAXTILT 200 -#define RECOIL_POWER -50000 -#include "../unit_hitbyweaponid_and_smoke.h" +#define MAXTILT 100 + +#include "unit_hitbyweaponid_and_smoke.h" Create() { hide flare; restore_delay = 3000; - SLEEP_UNTIL_UNITFINISHED; - start-script FloatMotion(); + while( get BUILD_PERCENT_LEFT ) + { + sleep 400; + } + start-script RockOnWaves(); } static-var Stunned; @@ -37,8 +58,8 @@ ExecuteRestoreAfterDelay() if (Stunned) { return (1); } - turn turret to y-axis <0.0> speed <90.021978>; - turn launcher to x-axis <0.0> speed <50.010989>; + turn turret to y-axis <0.000000> speed <90.021978>; + turn launcher to x-axis <0.000000> speed <50.010989>; turn doorl to y-axis <0> speed <270>; @@ -59,10 +80,10 @@ RestoreAfterDelay() start-script ExecuteRestoreAfterDelay(); } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; turn doorl to y-axis <135> speed <270>; turn doorr to y-axis <-135> speed <270>; @@ -72,25 +93,29 @@ AimWeapon1(heading, pitch) return (1); } -FireWeapon1() +FirePrimary() { emit-sfx 256 | 3 from flare; return (0); } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = launcher; + piecenum = launcher; return (0); } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = flare; + piecenum = flare; return (0); } - +SweetSpot(piecenum) +{ + piecenum = base; + return (0); +} Killed(severity, corpsetype) { diff --git a/scripts/Units/armtl.cob b/scripts/Units/armtl.cob index e8a50c84630c39b75879b7453d5b9a4e82d3d4be..bf0164ec4a514d021fc1a5b47d4fd6b21b55aab0 100644 GIT binary patch literal 3500 zcmbtXJ!n%=6h2L3EY_dr=pq4~L@+psQ|rGdSX-rT_Ssx*Xqwd57d49nv5SJZx^)t9 zbP^F12M1>-Cqdjq9K=C~_L=erVoa+xUw&YzdT3y3p2&5TQPsT2dvMP;xl zVEm-_8$lp#{pOMKa6o(o#Ir6r<2Qjz1vdOB##JNW3|nf7{t%sa55%4AFIoqt&LrcCmh>Jc0Y`{ zUR=$at(j+II>TYJ#Ss9b$7b*9m(RyuOgWWUZ z>;dc3dGOt`G3u(`p9l;SRWgy>pWWV%Hk*e8xNqu|%+&5FeOCLx9&on1YjtD>HvxLq zevU`NoJ^I)cNk98J)|>cCg{CF8MW!p5A7=8{_6yJKyN2~EZuoO)Nd^1k9)1SV5aTC zp0zgXjkfQv*4nsV=FPM5yGv`LV%iVt-cD>j?3;CZxL1;S-(UjtsNaJS6+1Zlpf5$8 z$2vageQO_!N&hN$64`qCc^SDdi!@fVl~%f4+N>wy_;e_>-_#8Gwr!rozF9#g*mWMj zu6^J@PG6b9Tfn`hJ>4Vm^Gv+{x^~vEJuvq!I+v6AZ$V+|EWhC^!-e_| zxMB}B_wH>Os;o`t0slN3d!v7z&FV2ZeMZ1pk23dUa>vU89J;@C@^OFcm3i&&1V!f4 z?d*L-Efq>ZwEZvx7AJCtnWea+dKw|F?@L#OgBirjpj7V-u;}O`Z=*r-ao@J zNG+zb-EOqk|Cwcargmrgxl7g$eK*2pGya=jcCO5so!!4;wK?X+6QA|n@iO0v%``8j zpZQpvaqivf^b>FM&5K_Tv(0*tnC#pMa}I<*XHo=+eV{Q=4b%qR0X+dd1HAyf0lfq9 z{}vxXUqC-V#cd*^puM02pmESy&?V3{Pz<^aS_a(%Jp?@ht$-ebCY!VK=Ni-D4Ywqx zYVncwv(`O`RFTbPJy3t`lj6Sc^h4E2eq*)yGQxu|WnshbWN7n`x1snzSqdL>+PaN+F+1lXiCay zj3WBXaWli`Fy+ywi7n$$L?4f9hR;D7L?70W`s|3j&$rUbHo<$8QGRP5Hrc$dX>$v{ z-D$i(!jbVlsri8&=TScEG&ADxJi*6Uv{hfYhT20O?rHyVv=RS2onow=+#{Cq)K}(J zd}~`c54cFCev?;!zT)A`s9XAa-I5c^to*`ikExqyVeL@2&P8>L|G#x}&eFOWm%L`_ zgZ&W9s9XBZX!^V*hu0I=9p*OF&3$^_;-9$gESxvzCaqg>k5kc^%dFeVUPx-NrIx?1 zx`SMai`Rko+HhBJ9X!?^Ww587{h*%v1@1dLyzMi{!zpAs>Zr1%iHcRSu4bX zjJS!HD{WMV!G`ClT7)CTOk2Gzhv=N#-&DsKmIXX7!)}5RIg%JYN35wE?I`0NQXak; z^buCdHUHip7%bky)JHk#OBdyR)OX@fJDtsCY#Bp$hWQn6 zvwFV(CGqNG45oBDO~U8(6Vx-t7YC+we%7My{*7rJ zdn>=X&i_t<9updLjFQocs-Fam)pVX;`taq|+WlwvM0Xre+4CcvTmbj#K z>Ahj;>5PIM_l@@S+fL6I>Md>k--7MX)2j%a`YZni<7ZF#8KPdiuO;D$E7i;YO7!>r zOYHSG0PR?Nip$@Ri0gL5rMeY&BgW;zyq6;{T*@n4;^i-U;gbGwxK^1X;`%q@Vm|g; zaTSNA#PvBh=-+m@zKMGI%U-y|*Ksj+J-1>pB=uj$*vc)vdLmxAWv|@g>$w^B9%w%t zzXe?b-3RSN;Fmy0LGOS{&^qWN(5E2&uhId%3VI8)3|ax51ziGt2KpNG9q0$pP0-Jv z+o0b-zk~h;-32`WEe?vjI#E>pVrXyntJl`wbNPj0c)XW#cB)uC|L(9~*|B^rKkItS zYsGnIM@yGi&R+k}t&S>p%3Z9A(k+~+TzSk5@^xEw)p9i&4qeY4RW9_`LaHOS*e{*- z5HFU+Saovb$_VL*z1<%S5bOQ?qO&uDymU6mN5j=~uC!`Ymaej1QIrG!v$X#J{#XMD diff --git a/scripts/Units/armtship.bos b/scripts/Units/armtship.bos index 299fa1d251b..6db626cf73a 100644 --- a/scripts/Units/armtship.bos +++ b/scripts/Units/armtship.bos @@ -1,23 +1,42 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, turret, arm1, arm2, arm3, link, door1, door2, door3, magnet, arm4, arm5, arm6, arm7, ground, wake; -// Signal definitions -#define SIGNAL_MOVE 1 +static-var Static_Var_1, TurretToUnitDistance, TurretToUnitAngleY, TurretToUnitAngleX, bInDistance; +// Signal definitions +#define SIG_MOVE 2 -#define RB_MASS 40 -#define RB_LENGTH 8 -#define RB_WIDTH 3 -#define RB_PITCH_ACCELERATION 10 -#define RB_ROLL_ACCELERATION 8 -#define RB_WAKE_PIECE wake -#define RB_WAKE_CEG 1024 + 1 -#include "../bar_ships_common.h" +#define BASEPIECE base +#define HITSPEED <25.0> +//how 'heavy' the unit is, on a scale of 1-10 +#define UNITSIZE 7 +#define MAXTILT 100 +#include "unit_hitbyweaponid_and_smoke.h" +RockOnWaves() +{ + var rockDir, rockAng, rockSpeed; + rockDir = <-0.1>; + rockAng = <-0.1>; + while( TRUE ) + { + while( get ABS(rockAng) < <1.31> ) + { + rockSpeed = <1.45> - get ABS(rockAng); + turn ground to x-axis rockAng speed rockSpeed*3; + wait-for-turn ground around x-axis; + rockAng = rockAng + rockDir; + } + rockDir = 0 - rockDir; + rockAng = rockAng + rockDir + rockDir; + } +} Create() @@ -25,22 +44,52 @@ Create() hide wake; hide link; hide ground; - start-script InitRockBoat(); - SLEEP_UNTIL_UNITFINISHED; - start-script BoatPhysics(); + while( get BUILD_PERCENT_LEFT ) + { + sleep 500; + } + start-script RockOnWaves(); } - - -StartMoving(reversing) +waveSplash() { + while( TRUE ) + { + turn base to x-axis <-3.0> speed <3.0>; + move base to y-axis [0.35] speed [0.25]; + wait-for-turn base around x-axis; + turn base to x-axis <0.0> speed <3.0>; + move base to y-axis [0.0] speed [0.25]; + wait-for-turn base around x-axis; + } +} +StartMoving() +{ + signal SIG_MOVE; + set-signal-mask SIG_MOVE; + var waketime; + start-script waveSplash(); + while( TRUE ) + { + emit-sfx 1024 + 1 from wake; + waketime = (get CURRENT_SPEED) * 100 / get MAX_SPEED; + if( waketime < 50 ) waketime = 50; + sleep 10000 / waketime; + } } StopMoving() { + signal SIG_MOVE; + turn base to x-axis <0.0> speed <3.0>; + move base to y-axis [0.0] speed [0.25]; } +SweetSpot(piecenum) +{ + piecenum = base; +} StartDoorOpen() { @@ -53,18 +102,119 @@ StartDoorOpen() move door2 to z-axis [0] speed [30]; } +BoomCalc(posxz, posy) +{ + var Func_Var_3, Func_Var_4, Func_Var_5; + Func_Var_3 = get PIECE_XZ(turret) - posxz; + Func_Var_4 = posy - get PIECE_Y(turret) + [5.000000]; + Func_Var_5 = get XZ_HYPOT(Func_Var_3); + TurretToUnitDistance = get HYPOT(Func_Var_5,Func_Var_4) - [15.000000]; + TurretToUnitAngleY = get XZ_ATAN(Func_Var_3); + TurretToUnitAngleX = get ATAN(Func_Var_4,Func_Var_5); + bInDistance = TurretToUnitDistance < [220.000000]; //MAX distance at which a unit is picked up/put down + //get PRINT(1,bInDistance,TurretToUnitDistance/65000); + //get PRINT(1,TurretToUnitAngleX/182, TurretToUnitAngleY/182); +} + +BoomExtend() +{ + start-script StartDoorOpen(); + turn arm1 to x-axis TurretToUnitAngleX speed <280.000000>; + wait-for-turn arm1 around x-axis; + turn turret to y-axis TurretToUnitAngleY - <180.0> speed <200.000000>; + wait-for-turn turret around y-axis; + move arm2 to z-axis -1*TurretToUnitDistance / 6 speed [60.000000]; + move arm3 to z-axis -1*TurretToUnitDistance / 6 speed [60.000000]; + move arm4 to z-axis -1*TurretToUnitDistance / 6 speed [60.000000]; + move arm5 to z-axis -1*TurretToUnitDistance / 6 speed [60.000000]; + move arm6 to z-axis -1*TurretToUnitDistance / 6 speed [60.000000]; + move arm7 to z-axis -1*TurretToUnitDistance / 6 speed [60.000000]; + + wait-for-move arm2 along z-axis; + wait-for-move arm3 along z-axis; + wait-for-move arm4 along z-axis; + wait-for-move arm5 along z-axis; + wait-for-move arm6 along z-axis; + wait-for-move arm7 along z-axis; +} + +BoomReset() +{ + turn arm1 to x-axis <0.000000> speed <60.000000>; + + wait-for-turn arm1 around x-axis; + turn turret to y-axis <0.000000> speed <200.000000>; + move arm2 to z-axis [0.000000] speed [50.000000]; + move arm3 to z-axis [0.000000] speed [50.000000]; + move arm4 to z-axis [0.000000] speed [50.000000]; + move arm5 to z-axis [0.000000] speed [50.000000]; + move arm6 to z-axis [0.000000] speed [50.000000]; + move arm7 to z-axis [0.000000] speed [50.000000]; + wait-for-turn turret around y-axis; + wait-for-move arm2 along z-axis; + wait-for-move arm3 along z-axis; + wait-for-move arm4 along z-axis; + wait-for-move arm5 along z-axis; + wait-for-move arm6 along z-axis; + wait-for-move arm7 along z-axis; +} + +BoomToPad() +{ + start-script StartDoorOpen(); + turn arm1 to x-axis <0.000000> speed <60.000000>; + + wait-for-turn arm1 around x-axis; + turn turret to y-axis <0.000000> speed <200.000000>; + move arm2 to z-axis [0.000000] speed [60.000000]; + move arm3 to z-axis [0.000000] speed [60.000000]; + move arm4 to z-axis [0.000000] speed [60.000000]; + move arm5 to z-axis [0.000000] speed [60.000000]; + move arm6 to z-axis [0.000000] speed [60.000000]; + move arm7 to z-axis [0.000000] speed [60.000000]; + wait-for-turn turret around y-axis; + wait-for-turn arm1 around x-axis; + wait-for-move arm2 along z-axis; + wait-for-move arm3 along z-axis; + wait-for-move arm4 along z-axis; + wait-for-move arm5 along z-axis; + wait-for-move arm6 along z-axis; + wait-for-move arm7 along z-axis; + turn arm1 to x-axis <-30.000000> speed <60.000000>; + + wait-for-turn arm1 around x-axis; +} + TransportPickup(unitid) { - set BUSY to 1; - attach-unit unitid to link; - set BUSY to 0; + call-script BoomCalc(get UNIT_XZ(unitid),get UNIT_Y(unitid) + get UNIT_HEIGHT(unitid)); + if( bInDistance AND get UNKNOWN_UNIT_VALUE(74)(unitid) == get UNKNOWN_UNIT_VALUE(74)(get UNKNOWN_UNIT_VALUE(71)) ) + { + set BUSY to 1; + call-script BoomExtend(); + move link to y-axis [0.000000] - get UNIT_HEIGHT(unitid) now; + attach-unit unitid to link; + call-script BoomToPad(); + attach-unit unitid to base; + call-script BoomReset(); + set BUSY to 0; + } } TransportDrop(unitid, position) { - set BUSY to 1; - drop-unit unitid; - set BUSY to 0; + call-script BoomCalc(position,get GROUND_HEIGHT(position) + get UNIT_HEIGHT(unitid)); + if( bInDistance ) + { + set BUSY to 1; + call-script BoomToPad(); + //move link to y-axis [0.000000] - get UNIT_HEIGHT(unitid) now; + attach-unit unitid to link; + call-script BoomExtend(); + drop-unit unitid; + call-script BoomReset(); + set BUSY to 0; + } } Killed(severity, corpsetype) @@ -78,6 +228,15 @@ Killed(severity, corpsetype) explode door2 type BITMAPONLY | NOHEATCLOUD; explode door3 type BITMAPONLY | NOHEATCLOUD; explode turret type BITMAPONLY | NOHEATCLOUD; + //explode arm1 type BITMAPONLY | NOHEATCLOUD; + //explode arm2 type BITMAPONLY | NOHEATCLOUD; + //explode arm3 type BITMAPONLY | NOHEATCLOUD; + //explode arm4 type BITMAPONLY | NOHEATCLOUD; + //explode arm5 type BITMAPONLY | NOHEATCLOUD; + //explode arm6 type BITMAPONLY | NOHEATCLOUD; + //explode arm7 type BITMAPONLY | NOHEATCLOUD; + //explode magnet type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode link type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } if( severity <= 50 ) @@ -88,6 +247,15 @@ Killed(severity, corpsetype) explode door2 type FIRE | SMOKE | FALL | NOHEATCLOUD; explode door3 type FIRE | SMOKE | FALL | NOHEATCLOUD; explode turret type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode arm1 type FALL | NOHEATCLOUD; + //explode arm2 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode arm3 type FALL | NOHEATCLOUD; + //explode arm4 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode arm5 type FALL | NOHEATCLOUD; + //explode arm6 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode arm7 type FALL | NOHEATCLOUD; + //explode magnet type FALL | NOHEATCLOUD; + //explode link type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) @@ -99,6 +267,15 @@ Killed(severity, corpsetype) explode door2 type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; explode door3 type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; explode turret type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode arm1 type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode arm2 type SMOKE | FALL | NOHEATCLOUD; + //explode arm3 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode arm4 type SMOKE | FALL | NOHEATCLOUD; + //explode arm5 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode arm6 type SMOKE | FALL | NOHEATCLOUD; + //explode arm7 type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode magnet type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode link type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; @@ -108,5 +285,14 @@ Killed(severity, corpsetype) explode door2 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode door3 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode turret type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode arm1 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode arm2 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode arm3 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode arm4 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode arm5 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode arm6 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode arm7 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode magnet type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode link type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/armtship.cob b/scripts/Units/armtship.cob index 5a5c22fe3f9588446e882a6fd5643109cfb36539..e08ca163db708406b859676d8380dfb327c454e5 100644 GIT binary patch literal 6039 zcmb_gO=w(I6h4!mN&M||;ZKFiU>8!UFiq5MM2DoJwn#%0iA5-RW}fMoWZw8PX%rOW zLR}~d6%@s#NEf1AX&0`#(3J%@f*@{O2t|s53lU}fzH{%HxtY9aXJTGBbI-l!|2y~I zd6N+lxdjw~7Dq*j82MbdRpcK~j?rI8u+JM5B=`6r(%*8kc0I2x&);{-o^m_Jg$;=9BYpkT`7$kee-In=W&Zl9ncx zCv7OFd)nBjd2O@p*i%p7S@i>+Ed9MO((&6JGf!rA99cVYr61NpY(B)mIotyG5yg_M zh{l< zUXS4n4~dEnYpgME_ManlI(48gcqj|wgn4oON~_f}yuvwsan6zX-U){D*DsGt z^G9Ev@wRsZ7_R^PZ>uFGzhBL+;$$D4#6sj`Y7b9X(TBF?Ll=7ZP+1Qj%zM)3qk2A9 z_DmWsZ{;`Lox%DP7l^}}-t|5Tyg+dFh#}?sF!KD6*K_0Vykmad?rl!3m(@Au)G z-Z$66eIMP^vC+HN_u=$4>e&fq%!xUMcPFP|KAc;x^&a*3DG&UdkGm8Xk>6VE>o|RY z@?`vOGuee3FhPA=^|02{hm(aqu+q*yyi@G1qb~geKA+F_k@tl4sr#Ip9c${x5A9t& z*in%?<2*ZDy9p!XSpAr8%Sm%7yYDR8aL>_(cylygp{?C>BG5*B-p`izjo$8BF==Bu zyc;Z*#dbAy@?}igFdw34@kD+?-J>dF&Ss~34Cm}RtnuM`^sTeiy9MW*@%15so~2&- z9j9mc{q-t@s8e90aj6R%<6X>$GzPv_T9%)^*Xa9M1@`!3Z1XG9pN;kcc7w#Zeg|=Q zJO<58`#oT8x-VfPr9vAI@>VB#%b&dEMc(3(H$M&+_?vO}!?}A6E5^8bpWC)UZ{6C2 zv}N1+wpC_%=h;~uc`~ajPiA%I$*k^h4-yaCTjVV#@|FX6i%H&MkT;($p2L#gQ{nm9 z9bDa>M+BUq{PSQktHI^8)y`_llUa>u?!`Q~V z9DxS*wSB*^AG{-pk;%J9yPp-KK6MqdK6LpVBc)<{Pw}o}pP0kZ0dk`*Z63pD?>1!f zYLOZICTO_d1;3&J)Zv}Vk$13^#x*C_z$f(4cU`>S&%5_k`V2AVyPElwvWvyN!Y9<@ zyjzd^jStr?XI((fZC&4A_LzVAy@HWV4(H}49Ie-V*V&_g{H=2UjSTY)vCXSD4;Sl! z;UX1>*G_P-I`@((x&A-rbJQM{J6M&V!rV78$^yS@$J)O+N?7WaQH^VPGV4>G%--+v zWcJRMC$l}Jn4;f?4|CA>bYI^WzCPXod@rUxb+{KeG6w4-&vR$|rsu=DDW_g2v)Tsn zXEhIEV^|Dgb2W?>S)a#f6dR9q>0Mm@e;AeEwi_dc;+nk+^@F+LI*5(oI*83~;F^b> z<-mT~p6aJ=`(3|N`);hm_`UXbH`e{wbYmUb^i!wdo>ynDJiGTZYn=yu47v!~2L=A$ z;1uXA=u^<=pdUbwAkf#KJ=o+K=rZUa0`Y&kZ-d?keF8cU`U-RrbP4n$=oio*pua(* zx5Ec$FX#a1Fz8{>H0UVkIA{)Z5_Aew1w9XHfHpucgI)u@0eTB`7W8U4F_)M}U(^(QX6WPFIwy_egotD{VoHd_J&(!Km;M0b& z8%fffZKO@7a3oE$FQ;KOW@AVOh%3btJP9FDLRJ9Fu?d literal 3925 zcmb`Kv2UAY5XLWwn?^w40|tatD$@Zn0CExv5({a`&?>5k(n<^(vBClq6JkQ}7l6bc&<-6sfRv#qJiq(ibKaP=%|NR2y?6J#chBATzMtKS znLQ*aB+FxF2c`M@^^nTc zNeCmv&?U!``+j?Z+qLcOZS(^vpV!sw$PFiE!z`(Z33fu7I5h`2 zVZcS)(#)9!80V=R`5tmoFP=L%ncg>fw!|&39cKZY&sfg~+&>u(Ke(7D>A=iVSe)o5 z&Lp_t!#;3T78#CsI`!Me<$UL8gRfb^&h?8 z8qr7O;CVz}aEiGQ#~E{5jLI_?;K6DP;6 zdm|j@0$(2UI?QmhtTCe+x!cr6gS(t; zIQR@|CC7-H{WX%~J(r)M@;%0^Y<9f(Ak8IaR(1bQPb;aX_ivSV^6KLP=qa;5G@EXQOAxecWrdp9%7R;J{6x7Udp0`%w#*{B=Mb4OQ z^d5WfHY?)Hbr()|h?z$3==jZWoOP=Iyy{bL=ME{hP;w&%H*%8;j1}XalV$LZnFf{_ zE~mYDU0;hAeX>9LV_(i`KJ5h)b-`d$E9wmP`Dsk?qU8Q&aEH9!OTJg<{q5u*&HOo! zX@E7(WqCiQGA`cdx$+%n(!4j(`uXN_LGcH#{5*Y_a-61S%DXNfv&6;UaDVPhz2Ktvm+_Tt!;H%{x%ro-5v9HdW!w{pcdj()(@O~cg<18@*MK`bBVhYXUTi3 zPG}lC?}qp;@;$W)uN!#x37^k`ocGIXv-{7Jb9s`2)$+WUE-!WA%=tuPZ%SKn(4TQ` z*{!#S%MY4le*ug98`|%>zaP8|UH}{Wt*toI3O7W;2cGM1h)QpFsb;-AqA0$6Xev|wzxgq&m zaz`?vA5IgJLz2fNPe=|+j!GsaFG!9_UXi>inUkE7ETG%1{$gioo2sHRyMjj_FS*iwfWZSYO`VI>+4PHZ}fW2zSVnc uQ+!PGF=MN(_KG!>ZOT8V{d2~|rd@(x1b2*&m-u+umV2FzcEjGQi|N1Pb|TjR diff --git a/scripts/Units/armuwadves.bos b/scripts/Units/armuwadves.bos index 91ef4d70442..7e4a56946b3 100644 --- a/scripts/Units/armuwadves.bos +++ b/scripts/Units/armuwadves.bos @@ -1,5 +1,7 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base ; @@ -7,7 +9,10 @@ Create() { } - +SweetSpot(piecenum) +{ + piecenum = base; +} Killed(severity, corpsetype) { diff --git a/scripts/Units/armuwadves.cob b/scripts/Units/armuwadves.cob index 9f20c008581784144a3699a9c224d806eb33b05f..94d55edd3fcf89c9de3a32cf9b63b08376c7a152 100644 GIT binary patch literal 461 zcmZQ!U|?VdVn!g20%91L0u)#P#A|?92Pn7!NHYpB34rAT*aR39m;_*aCIg5#jL!g- z2dM!;kRFhnB#5EFD!`DyCZGfr0~*T!(hs6RY80S!1CVA&U>0ByUOmiR;WCjzEro_x-Br|=WW`e?qR5L+tAx9s`dXPSDAO?l|b|5|o#3z8*xhOTU dB$Xk!JTxFElT!80dO_k0K=Y8zF#?G}&CvuhLHa;$B-NZ` wBy+5x<}ed!4#-Yo)q<=6sRe~mJP@Y=v2#&sVo554cV0ByUOmiR;WCjzEro_x-Br|=WW`e?qR5L+tAx9s`dXPSDAO?l|b|5|o#3z8*xhOTU dB$Xk!JTxFElT!80dO_k0K=Y8zF#?G}&CvuhLHa;$B-NZ` wBy+5x<}ed!4#-Yo)q<=6sRe~mJP@Y=v2#&sVo554cV5ZZiQ!2 z(blvKlfKycJgZG}lukZ}&2O?CE1HA8QF=>E7!?eAcC`-bFagxHf6cd}`8+oDF4=4_ zt3CDmL;n1HI78;n&;3Z_u-F+>ktTUuWh?6=RUgy4{>304Ie32gnTGRi&%%nt_~at6IeU@KxU3-slUko1^EB-1Uv(8 zzz6UJ6pA8cU>aCIOX4(<>S_Bp*=aRX*=VMfi`^vdv|F-PPn+lVxR)epwbM>zvw3oo RG~_VuCemflq8!C7`2m+KTb}>` literal 1654 zcmai!J!=$U5Xa~4HWv_-$HGEUxY9z%DhPrIiCP$fC@2axy5=@=%~bgMni=VY*`Yh>t$nJ%a^<{};i_z0@rmTicgwrKX>Iju$ib z(8lE&KGPG&VT+v9xpwORUa4s7~-lO09wk6_Z`VZWhgoU*~E zcc16?ylVo`GdDOd?+5az&b++qU_5W-dGnpl>G$msdFko6*!M@oVm>LlF8YL`UM`6E zwl9fph*m|9L{CK0ByUOmiR;WCjzEro_x-Br|=WW`e?qR5L+tAx9s`dXPSDAO?l|b|5|o#3z8*xhOTU dB$Xk!JTxFElT!80dO_k0K=Y8zF#?G}&CvuhLHa;$B-NZ` wBy+5x<}ed!4#-Yo)q<=6sRe~mJP@Y=v2#&sVo554cV; - spin fan2 around y-axis speed <25>; -} - -Start() +Create() { spin fan1 around y-axis speed <25>; spin fan2 around y-axis speed <25>; @@ -20,8 +17,8 @@ Start() } Stop() { - spin fan1 around y-axis speed <0.0>; - spin fan2 around y-axis speed <0.0>; + spin fan1 around y-axis speed <0.0000>; + spin fan2 around y-axis speed <0.0000>; return (0); } @@ -86,11 +83,15 @@ SetStunned(State) if (Stunned) { call-script Stop(); } else { - call-script Start(); + call-script Create(); } } - +SweetSpot(piecenum) +{ + piecenum = base; + return (0); +} Killed(severity, corpsetype) { diff --git a/scripts/Units/armuwfus.cob b/scripts/Units/armuwfus.cob index 5d5ba06a25078cbea865045606a37c28152ce3fc..020535b9f62eb1b2d5eabc0d57c8729122f54b2d 100644 GIT binary patch literal 3188 zcmd5;J!@1!6usGf*%(YQR(_!HhzJ%IFY8BPWw3}KLSQSaWKEus5cY-mG?lPFAiu?5 zU~QekGNq-3SlYyM?wc#)Fq?f(2pDo_=G~8T&)hpRY$hTD$TH+xPXzz^_xY;GSIBqB z18Cfe$b#!R8aaQthD9N6iQis_=`Y)r$R?Wu7h=$V7KYhoVKAp`58N^qS-?xv-*|{gGz_x9U02hj(4_9y~lQ@R^JFniKc) z78g0*1p4z27>16$3vP=D~##YZM`Jzwkjp@4JS?w)0#IxF`Y*zb}&1#>r zT~zxW?#0)B3&dD^a=6Ue+y2{}eXD(!`dSUT#26==+i+s!5#kAS0^*$9pE2s5771JiC#o64oKk=Ce<7aXH-_8VE$e-b> zkQI>2A@?Ett$rPH8*&d)K%PR@AsdiakP+lHWD8P4_8}GI`B6EpOBvPGp{(!Jdmr?x ztVi|x$)wzs(Q%27!>X2-dj|(l>{iv$nvM^3e5~V8$0s^Ik~iabrMw+a);J91Hz=*n ACIA2c literal 2152 zcmb_dv1$}i6urAU*{oRjEQCY^7t@MNHpV86!6JnSfd#=vTsI>G!mg|nzd*ZSB~~K& z2L=DY%0jHI#1GKcCZ2QW9eoZHmjxH@dvoX9cg{U;=FMhi)sLJvv55D$ww+fq^JCV8<-l(o^Vc!wl;YaMm!quyA^{QOG zs(#U4sn5UPD+r#uvmm&P;D7Wv#0A7f#2VrnViU22*hcIi?jVMUdx-mpG2+&&7?p($ z%h9aFIDKr}<8uG0-z&;tc{rIAdv<&O-~iL!bUIu2al^+=9|u0(@bS7m96c%Q(P*;H HVPL-iCOesm diff --git a/scripts/Units/armuwgeo.bos b/scripts/Units/armuwgeo.bos index 3835a031a18..c181c9da504 100644 --- a/scripts/Units/armuwgeo.bos +++ b/scripts/Units/armuwgeo.bos @@ -1,5 +1,7 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece smoke1,base,fan; @@ -19,16 +21,20 @@ Activate() Create() { - SLEEP_UNTIL_UNITFINISHED; + while( get BUILD_PERCENT_LEFT ) + { + sleep 1000; + } } +#define SMOKEPIECE base +#include "smokeunit_thread_nohit.h" -#define BASEPIECE base -#define MAXTILT 0 -#include "../unit_hitbyweaponid_and_smoke.h" - - +SweetSpot(piecenum) +{ + piecenum = base; +} Killed(severity, corpsetype) { diff --git a/scripts/Units/armuwgeo.cob b/scripts/Units/armuwgeo.cob index 04a3887e62f4e7ddf0367f5e840724b4237c4f6d..ebc931496c4c3f20adaca0c439dee8368ad9a38f 100644 GIT binary patch literal 1287 zcmb7EF-yZ>5WS>n>Lj0w;2>lch3F(sS{K1ZsN!g28zETRVxv+7aS(rj;3D`ZTm@G* zSN#Fv*iCT|-}~}?5^B{dJnnLL@7~=d)e{jPC;;P*hzrZVGf(6SxB;f|d|?nl#UnB$%WJ;!0cI=RYIx-N8-Ec&Ws`!KiWE7pzC4^Ri4 zDY%TiaCpNBObkYIByhj+7IHOSheyY5O%AJQT^IFqUFgzMzf31A>Y3I}EYdMY zYttR1lkcJXtE|VC>A~0_y*V}vaZl__eLKIN12?pN#q>Kc{TvqJ9q8R~->!+feewK# z>^<^#KQ}xWePb%x8M0Wm#|0kje0G0PzW!!d$6QwLEBl_<$L`#pXN}#Bxe1bkOzRe| z)gs@{6PWlZtWP^lD5Ry*Iez z@>3sHZ^Ur)w}svR(*AFM{oBV(`X!qF)Z}jLHLNZv0Wbrc0GGfu!2db-zyt6EJOe%8 z75D%OMUkainjA)HEX(^bO=YjO8*em|R92F-+}(_$cB?6sqc~10?N%zQNuv?hrNgpW M*^WA~>_koZ1nlQri~s-t literal 1654 zcmai!&uSDw5XNhFCzD%fy(tQNQ^dnWP;$(wh!TaM2fgW-oyg*D5|Tynt~c=!#P`w% z@ZdqvlLztp^>j^|%_c4s_4oU#x~F;zGb<$n$wAMoFU{}Aidmt=CCPR9SEYNQAIPCM z)?`!`s2428(DtGX7n5&=jGxwF{-n6qkL6n^f`vh_suygt46CVzlx>%RUgxlfsuTAW znZzDJk}#K3Oe$h*s5vuPw&->a5>@l8t&I|UvO!Nn7@9&(8+N$;& zc`Y=HHST+DUPFvC``wRHPybHK&J5po3etJv?sFHR{U(k@vy;?+lGDwxaA(VMK)ZT< zJHH#gMSN2-$QSt9Q_g_NeWA&57T?=nDMrY5Gw087ku&Yk--ILPJ-{(X*F$gC@xFU& zX}%tXdh;mW^Z69-XK}~EcY`|JtH0%Ma`QR;P2`vhV216^-%R|_GcOwa7ikNtCw#(i zQRi<2vzsOHZY5s!;VfQump-V|cy~x9-a7HdojGIPk6@PYGUxxWpHIOO=D+fq 0) call-script Activate(); // Because SetSpeed is called after Activate + Static_Var_1 = Func_Var_1 * 20; } Killed(severity, corpsetype) diff --git a/scripts/Units/armuwmex.cob b/scripts/Units/armuwmex.cob index 7c8edbb686dfc31effbe925e64e02b079b14a54a..f27faed1bd949be0134a146bc47b900e27d1bed9 100644 GIT binary patch literal 1690 zcmd5+Jxd%>6urB%j*{vXTBMsYg~A|#AXpfbhzLQPE)m(y<`sjwyKyHU<=RKQVXu+| znx4&`cm{jo`RrjYIZbeR?qu(M9X!^hJ>z)JK3uDrM%k%r@5#%cFZ`@-XT*IvGxY6+ zKFz^5t=1=NsapwoQXkw&TXffUCOPCX{up{VpYe5w^=^LGcO#=<5u+@O)#7=Shrnjr zKDF-Bde@<@+(Er>^+)5~bAOkCmr%@~vF5)VmNy)q^(=6hva@tIkDO&(z89vG`(xf> zdw1-vnV%;iPh7k&ri{yZG5;lNS$*Gka5;n8?5-GRAwPnZcH+d%-s_-4&RnR`uixQB zb&o=xJ$7Fia^%G|?v}cAFL=LWjmxN+#(5CftNgs?GtNMnoXIxko}zJ@p2xIzDI)B5 zJ!p^rr_W70^-QCW&u%;ByFved_diX~^ z03U!Z&;xz|C%`Fi4qO16eJQH`K(=~iRaBkI%dY?O)el3ke(afh+pWrPbT)j)+~T|U gRWaySQqX$;S+>i=LzqvUp_k#H?DhPy_@lCte}XY`00000 literal 833 zcmb7CJxc>Y5S{zTiP%gL1S<~&u@GFv(jpSEu@TZ)MD+_;xl|@>6e~3TA zA7Cj~zPGoVgh2c_c+AZ1n|W`COGTswB)|(00sP)#k$2z|I7FS2&=*B1k;aN3scB-U ziJN`E!wj|P zhTA3QJ^PwG)-zvo=k)Bfp||Y+gdDH)fRufXZ~m?mbbrzrF6lgZodoee?^&lq&%e#0 zCU+Hf6Y5pZq-_HGz%g(M@Za46+Q2Sw02~3Qz!}h;*rK*_KCH`oCKt8{Y0uWZ%Gz7G WDn}!PK{2&5t;+G(PQ>1owR{5>={ynu diff --git a/scripts/Units/armuwmme.bos b/scripts/Units/armuwmme.bos index 1907d21fcde..8ce7f049800 100644 --- a/scripts/Units/armuwmme.bos +++ b/scripts/Units/armuwmme.bos @@ -1,24 +1,30 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, turret, arm, head1, head2, claw1, claw2; -static-var resourceRate; +static-var Static_Var_1, Static_Var_2, Static_Var_3, Static_Var_4, Static_Var_5, + Static_Var_6, Static_Var_7, statechg_DesiredState, statechg_StateChanging; static-var Stunned; // Signal definitions -#define SIGNAL_TURNON 4 +#define SIG_ACTIVATE 2 +#define SIG_WORK 4 -DoWork() +Go() { if (Stunned) { return(0); } + signal SIG_WORK; + set-signal-mask SIG_WORK; - spin claw1 around z-axis speed resourceRate accelerate resourceRate/100.0; - spin claw2 around z-axis speed -1*resourceRate accelerate resourceRate/100.0; - spin turret around y-axis speed resourceRate/3 accelerate resourceRate/300.0; + spin claw1 around z-axis speed Static_Var_1 accelerate Static_Var_1/100.0; + spin claw2 around z-axis speed -1*Static_Var_1 accelerate Static_Var_1/100.0; + spin turret around y-axis speed Static_Var_1/3 accelerate Static_Var_1/300.0; while(TRUE){ turn arm to z-axis <90> speed <45>; move head1 to x-axis [-12] speed [6]; @@ -33,55 +39,93 @@ DoWork() } } -EmitBubbles(){ - while( TRUE ) - { - emit-sfx 259 from claw1; - emit-sfx 259 from claw2; - sleep 250; - } +Stop() +{ + stop-spin claw1 around z-axis decelerate Static_Var_1/100.0; + stop-spin claw2 around z-axis decelerate Static_Var_1/100.0; + stop-spin turret around y-axis decelerate Static_Var_1/300.0; + turn arm to z-axis <0> speed <45>; + move head1 to x-axis [0] speed [6]; + move head2 to y-axis [0] speed [6]; + sleep 3000; } SetStunned(State) { Stunned = State; if (Stunned) { - call-script Deactivate(); + call-script Stop(); } else { - call-script Activate(); + call-script Go(); + } +} + +InitState() +{ + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; +} + +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + start-script Go(); + currentstate = 0; + } + if( statechg_DesiredState == 1 ) + { + signal SIG_WORK; + start-script Stop(); + currentstate = 1; + } } + statechg_StateChanging = FALSE; } Create() { - resourceRate = 0; + Static_Var_1 = 0; + call-script InitState(); } Activate() { - signal SIGNAL_TURNON; - set-signal-mask SIGNAL_TURNON; - start-script DoWork(); - start-script EmitBubbles(); + start-script RequestState(0); + signal SIG_ACTIVATE; + set-signal-mask SIG_ACTIVATE; + while( TRUE ) + { + emit-sfx 259 from claw1; + emit-sfx 259 from claw2; + sleep 250; + } } Deactivate() { - signal SIGNAL_TURNON; - stop-spin claw1 around z-axis decelerate resourceRate/100.0; - stop-spin claw2 around z-axis decelerate resourceRate/100.0; - stop-spin turret around y-axis decelerate resourceRate/300.0; - turn arm to z-axis <0> speed <45>; - move head1 to x-axis [0] speed [6]; - move head2 to y-axis [0] speed [6]; + start-script RequestState(1); + signal SIG_ACTIVATE; } +SweetSpot(piecenum) +{ + piecenum = base; +} - -SetSpeed(windOrMetal) +SetSpeed(Func_Var_1) { - resourceRate = windOrMetal * 4; - if (resourceRate > 0) call-script Activate(); // Because SetSpeed is called after Activate + Static_Var_1 = Func_Var_1 * 4; } Killed(severity, corpsetype) diff --git a/scripts/Units/armuwmme.cob b/scripts/Units/armuwmme.cob index 76fe88085f9e8c37523cd514dc628adac1e5a1d9..e616c496ddfba6e5d40c992374c1266f2247ad8e 100644 GIT binary patch literal 3063 zcmcguJBw366h3+EU0=wwTX{>76_QkTMigY(W-bQ1R=T==-^`pi+)cs_J}!JYGv~~C%y-Vcq%0zbfo0%vQREOLpIt1D z!*CH;#l8<&Hbrxg#%5%AzJNWqvJn}s%Ut(^^*A#0p_=wK7xmIaClxVEP$8|2O>=mT z>peUgLn9APS>`5~ zk2cQCONg+ZFowPd8lOJ&<(VSlQ=j#n*m2I@p}Az3=SSfCyMAZ;2phV!?|zy?W9nUH z!})!O8+Du`zNd^~b9%k4&(}#F-*`QbPvb}HqK#+BxqaubRGV^Q?Z_9-FyAr#UfA{6 zeLEZvkvV|{r=h=kd|LEaH>x%c9(CuJC^Us}Et$JpBCao-CR_+n+`Kv%TWDUj^<0 zkAP=D8N+@QI0>8r>cBd{|Gz`vCU6Vb0qy|zfcwA`;5qODcm=!$-U9D{55Onj3vhl* z8tGPF8cEtnN4;LsmbG37>sFe`h2;7u8T!rHK|vZVS0KVvDS@40F9r5Bk;puJWY*mK(2<2Z0F27dbeCa*sClKvlz)XRE2r*b`so0#Fx zv7PwZ%Ue?$6~U9mDtU2c3$2 zXU)mFvu?i6y@%$w7JF>sY+SGK_c_PRT%MKslf1q&U&DO9f2^nT*+bdayQjSSF9_@N z9_yWBP8Ycnd!4(V}ZtX;EIas6VNN%VfYifc@_P2f#Pr4B&U= z7&rk=f$zW>@EbS>I{47s1nvNLfjQs-@DNzsc(IYcmgj53;_0~GAK5KgvBgR;USGGF zJj-obSa~uihHq#r+Eh)>+O(LnG#rgE^wTXX#W>GxA!)uQFKwDFxZkb}M(NuH_uG|! Di@SyL diff --git a/scripts/Units/armuwmmm.bos b/scripts/Units/armuwmmm.bos index 1e8230e36d2..24f6b1bf37a 100644 --- a/scripts/Units/armuwmmm.bos +++ b/scripts/Units/armuwmmm.bos @@ -1,17 +1,34 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, cover1, cover2, light1, light2; static-var Active; -#define WATER_ROCK_UNITSIZE 15 -#include "../floatmotion.h" -#define BASEPIECE base -#define MAXTILT 100 -#define UNITSIZE 10 -#include "../unit_hitbyweaponid_and_smoke.h" +RockOnWaves() +{ + var rockDir, rockAng, rockSpeed; + rockDir = <-0.1>; + rockAng = <-0.1>; + while( TRUE ) + { + while( get ABS(rockAng) < <1.31> ) + { + rockSpeed = <1.45> - get ABS(rockAng); + turn base to x-axis rockAng speed rockSpeed*5; + turn base to z-axis rockAng speed rockSpeed*5; + wait-for-turn base around x-axis; + wait-for-turn base around z-axis; + rockAng = rockAng + rockDir; + } + rockDir = 0 - rockDir; + rockAng = rockAng + rockDir + rockDir; + } +} + MMStatus(State) { @@ -27,14 +44,21 @@ MMStatus(State) hide light1; hide light2; } + //get PRINT(Active); } Create() { - SLEEP_UNTIL_UNITFINISHED; - start-script FloatMotion(); } +#define SMOKEPIECE base +#include "smokeunit_thread_nohit.h" + + +SweetSpot(piecenum) +{ + piecenum = base; +} Killed(severity, corpsetype) { diff --git a/scripts/Units/armuwmmm.cob b/scripts/Units/armuwmmm.cob index e56abb9e71eb0a9cf56f0812e4761f096382b0c3..44e573a33321a64c6ddb572f8d34acd5d18bf102 100644 GIT binary patch literal 1972 zcmcgtziU%b6h3)4COY305$GP|X{LZ;2Bo&bsunK%=h$N8wq)=wSRp2u2 z9Xe%+Gc;V{epFSJ7M!~8x+eX^iGjCu&ny{Y`q^Nij(kMB6L9#yonqHzeiFo$2b(2urx@2(l%G1`KE z*d5DhJ=@*hgui|3jkXI6&O)s#C}Oo3Z+tSiP(Oo|9%klR%9}bKD9=P2&-xDV<2kG8 zXYtJV<8teMA(lRiZ>;YY`QDCv)jvNS-#W)-yx7lTFLl4;IQ9{1Gkq30@^|;YX8Nyh zve*;*KMiljGe(yqzW-5sF@vw|lI_B>_@mxwkt@^f0IwpxLjDFSfd6}U01pg-Dewe1 z0GL1wlmNwIDdQTGS$uKnI-XJvPI~i<6>Hkld(Y4B{J8g~6%iQ(4S*g+BKY;6 zD?3Fp&{NO}NS3flEpjCnx%0HBRa_KDj$6t}{2@!5J>0})Z^M|BQAD2-H+_7LQm#G~ zY(t+ib$xseP_8~zY(pQ`MBd{~SKS(TpQXy*uqIdbHLY#HcC0twAvn_iVZje<7sv1< zt~lo5c_y#1Xls4pn%AD=a8LUOYGeFCI%zDX$XJF`T#0M(r6&12;9@fCH+k#Ny}dB# zQ@81hb(@^2^uxDYWsABw3#sLG+gz+}o-1vv4uK8lX|-4$ zVa~L*x8)lRgZmrmJeJGzIR%i-9DxzU@EBUtnA%asJ7hSgclYK>xt)LSj~qnrVd!I+ z#G{Mh{_eZ!Pdl5^Pr!8ZDDj_B>?(rclnjt zQ*3wH>{$oJ#!x1e{RkDwLMD(EZdJ7^vB160~2 zvIBIk-AS@~Cu?=)_ g#a6qWHsxBfn95A&cDgW0ByUOmiR;WCjzEro_x-Br|=WW`e?qR5L+tAx9s`dXPSDAO?l|b|5|o#3z8*xhOTU dB$Xk!JTxFElT!80dO_k0K=Y8zF#?G}&CvuhLHa;$B-NZ` wBy+5x<}ed!4#-Yo)q<=6sRe~mJP@Y=v2#&sVo554cV now; + sleep 33; + } + } +} + +MotionControl(Func_Var_1) +{ + while( TRUE ) + { + Func_Var_1 = bMoving; + if( Func_Var_1 ) + { + call-script walkscr(); + } + else + { + sleep 100; + } + } +} #define BASEPIECE base #define HITSPEED <60.0> @@ -14,19 +43,23 @@ static-var isMoving; #define UNITSIZE 1 #define MAXTILT 100 -#include "../unit_hitbyweaponid_and_smoke.h" +#include "unit_hitbyweaponid_and_smoke.h" Create() { hide base; - isMoving = FALSE; - SLEEP_UNTIL_UNITFINISHED; + bMoving = FALSE; + while( get BUILD_PERCENT_LEFT ) + { + sleep 500; + } + start-script MotionControl(); } -StartMoving(reversing) +StartMoving() { - signal SIGNAL_MOVE; + signal SIG_MOVE; move leg1 to y-axis [0] speed [28]; move leg2 to y-axis [0] speed [28]; move base to y-axis [0] speed [28]; @@ -34,12 +67,12 @@ StartMoving(reversing) sleep 150; move leg3 to y-axis [0] speed [28]; move leg4 to y-axis [0] speed [28]; - isMoving = TRUE; + bMoving = TRUE; } StopMoving() { - set-signal-mask SIGNAL_MOVE; + set-signal-mask SIG_MOVE; stop-spin base around x-axis; turn base to x-axis <0> speed <270>; wait-for-turn base around x-axis; @@ -50,7 +83,7 @@ StopMoving() move base to y-axis [2.5] speed [18]; - isMoving = FALSE; + bMoving = FALSE; } AimWeapon1() @@ -68,31 +101,34 @@ FireWeapon1() emit-sfx 4097 from leg1; //Weapon2 detonates the crawling bomb once weapon1 fires } -QueryWeapon1(pieceIndex) +QueryWeapon1(piecenum) { - pieceIndex = base; + piecenum = base; } -AimFromWeapon1(pieceIndex) +AimFromWeapon1(piecenum) { - pieceIndex = base; + piecenum = base; } -QueryWeapon2(pieceIndex) +QueryWeapon2(piecenum) { - pieceIndex = base; + piecenum = base; } -AimFromWeapon2(pieceIndex) +AimFromWeapon2(piecenum) { - pieceIndex = base; + piecenum = base; } FireWeapon2() { } - +SweetSpot(piecenum) +{ + piecenum = leg1; +} Killed(severity, corpsetype) { diff --git a/scripts/Units/armvader.cob b/scripts/Units/armvader.cob index 0c316fc20de0ae313c54b49d6ec36c4cbabf52e0..2be20c03b436ea1bc4c73a7edf16213d8d75359e 100644 GIT binary patch literal 2389 zcmcgtJ!lj`6n=L(FHxISP*5z+MnMEOr(h$JABai_oE~DEOKyov&f8wS$^o(=5?2(gQ(@{|WnwU6h(RP$1zu?J8+1SrGGf$2C%m zK$p2xx9Hn^Mb(A>IO8f-hf`{vz(9>A*DlXNXQN469_CU|Q|luyt-&8aodX_o55Uei zj`VXBZ=Ouf}TUEO@nem>=K)ZS7@&+t9WTr;0kaGHK^&Ge1Y=i44V#gw*& zu@y`YI4yxkP5QXjK69GtyYqOJvGvPWB?&#^{UBF$O&uO@oXg?#)}3B~fm`+*c-P)J zdogEUadr%8PxP+o9p6VE`oa722~*a=d%=CN0uSO%zB?1gdxTNXHlLe)P>sCL^v7v1Cfg4z&Do@TTh_h7KGK_C zYcrfm*O!0S__Z}XSpM+~U9r6f$@Zn!*V~s~U$*YNX77HL2P^Vr`^j4Wy5H=%>YNpC zxw>)Y)X07VsITvz-P8Z^_shl7cB+N%q`vdy9%69CzH{qnJZ~9AeRe#aX+Iuo*~v$l1HdWZ91l|B^zy|OU_yT+degb=UiyQ`y0X}dRI0uXZ6Tl=;0~Q;t`Gwh7 zrlKT_+T&3>iKCWW43n{?YeAzEwWWR|nh&nF!z63H)Rgf!Xe5EulSZ6OMYqEC9OhBS zO-I8UmOm`%v?>!}9H{y7%^-F;Ow2?arId`XN`BXu)u>8+F$j`+CrV^8Y_)=>w1T-| UKB|12=HraaG!_DxiJD9D8#T7fUjP6A literal 2304 zcmcgtKWLLt5WoB}iU>ZP6dZ!1h3n=~~aA)53HF%>EZ859QxH#_Pe zDBaY}MMs@n#6?|1u!BQH5ky3PzxUoH?~94uTKMJe-Tm&~-F^3HUPSf+1>i$QBn!#E z`#VM60|$1A9K|_;lw#I|$e66zM{+T5WT{~GK&7ol+kC-L&r^q=`V94GhvgoInuiTn z+8DZIe&{2gzI^1Qn1a#Tvhd~Lqa=qCLdfBnzOat4W^$Ql;4kM)HgdMm#~fl@J+q!q z6Z;BzwpZU%#q(&>oV@4Jk#w!Lk0@tnV&hSR6vfU;Yhw&!c_r^tIX-q6PagYa>pa~_N=p?fs=RYcN$kWYuF^g&w@P*XJOno(O61}GPb9U z-NU*@XEx5qQ0}(@6emT zrgxCTIwQ+3nsZ@6V9fcRM2Gg4y);Y+%<|<}1O^xpHpgKk8}xGeeyxo(@o(Ac*jl>>IJn;TJK6jF z2U8iDOWJ4anh+P(Es~B)_p3fwabGx3*7x6j@m>bKtImr1zHZEgIl>)a{&2sy%kO48 ztcCA9d=Cd%NYTBiXBe#Z#acOMaw$jOuzg29?xm08e7B0b$Xq_|t&ih38yCk~Ci$4= z81NYQ1{9EM8n^~r2YSFQ;0~}3+yfp08vy@jPXlLxMc@K(30MVsz-?e1cmO;FUI4Fw zcfd#BGw=oY3j6?m0jC??*|o*E+D=x^)WVaTsm-Aaz*l1Y&==+?$+ speed <20.639998> / animSpeed; //delta=-0.69 turn base to y-axis <-1.675000> speed <50.249989> / animSpeed; //delta=-1.67 @@ -49,13 +51,13 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn turret to y-axis <1.675000> speed <50.249989> / animSpeed; //delta=1.67 sleep ((33*animSpeed) -1); } - while(isMoving) { - if (isMoving) { //Frame:9 + while(bMoving) { + if (bMoving) { //Frame:9 call-script lua_UnitScriptDecal(1, (get PIECE_XZ(lffoot) & 0xffff0000) / 0x00010000 , (get PIECE_XZ(lffoot) & 0x0000ffff), get HEADING(0)); //lffoot call-script lua_UnitScriptDecal(2, (get PIECE_XZ(rbankle) & 0xffff0000) / 0x00010000 , (get PIECE_XZ(rbankle) & 0x0000ffff), get HEADING(0)); //lbankle move base to y-axis [0.056000] speed [22.319999] / animSpeed; //delta=0.74 turn base to x-axis <-0.056000> speed <22.320001> / animSpeed; //delta=0.74 - turn base to y-axis <-1.274999> speed <12.0> / animSpeed; //delta=0.40 + turn base to y-axis <-1.274999> speed <12.000010> / animSpeed; //delta=0.40 turn lbankle to x-axis <-2.959815> speed <227.410145> / animSpeed; //delta=-7.58 turn lbhip to y-axis <-39.353241> speed <221.798611> / animSpeed; //delta=-7.39 turn lbleg to x-axis <-9.521305> speed <626.830972> / animSpeed; //delta=20.89 @@ -76,7 +78,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn turret to y-axis <1.529005> speed <4.379849> / animSpeed; //delta=-0.15 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:12 + if (bMoving) { //Frame:12 move base to y-axis [0.944000] speed [26.640000] / animSpeed; //delta=0.89 turn base to x-axis <-0.944000> speed <26.639998> / animSpeed; //delta=0.89 turn base to y-axis <-0.537499> speed <22.125001> / animSpeed; //delta=0.74 @@ -100,7 +102,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn turret to y-axis <1.194753> speed <10.027555> / animSpeed; //delta=-0.33 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:15 + if (bMoving) { //Frame:15 move base to y-axis [1.688000] speed [22.320002] / animSpeed; //delta=0.74 turn base to x-axis <-1.688000> speed <22.319997> / animSpeed; //delta=0.74 turn base to y-axis <0.800000> speed <40.124991> / animSpeed; //delta=1.34 @@ -124,10 +126,10 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn turret to y-axis <-0.306625> speed <45.041341> / animSpeed; //delta=-1.50 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:18 - move base to y-axis [2.0] speed [9.359998] / animSpeed; //delta=0.31 - turn base to x-axis <-2.0> speed <9.360002> / animSpeed; //delta=0.31 - turn base to y-axis <3.0> speed <65.999990> / animSpeed; //delta=2.20 + if (bMoving) { //Frame:18 + move base to y-axis [2.000000] speed [9.359998] / animSpeed; //delta=0.31 + turn base to x-axis <-2.000000> speed <9.360002> / animSpeed; //delta=0.31 + turn base to y-axis <3.000000> speed <65.999990> / animSpeed; //delta=2.20 turn lbankle to x-axis <30.845397> speed <525.767395> / animSpeed; //delta=-17.53 turn lbhip to y-axis <-89.575650> speed <577.413128> / animSpeed; //delta=-19.25 turn lbthigh to x-axis <5.863149> speed <351.381306> / animSpeed; //delta=11.71 @@ -143,13 +145,13 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn rfhip to y-axis <-44.345847> speed <47.530125> / animSpeed; //delta=1.58 turn rfleg to x-axis <-14.057728> speed <469.364703> / animSpeed; //delta=15.65 turn rfthigh to x-axis <9.757757> speed <417.608767> / animSpeed; //delta=-13.92 - turn turret to y-axis <-3.0> speed <80.801246> / animSpeed; //delta=-2.69 + turn turret to y-axis <-3.000000> speed <80.801246> / animSpeed; //delta=-2.69 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:21 - move base to y-axis [0.500000] speed [45.0] / animSpeed; //delta=-1.50 - turn base to x-axis <-0.500000> speed <45.0> / animSpeed; //delta=-1.50 - turn base to y-axis <5.0> speed <59.999993> / animSpeed; //delta=2.00 + if (bMoving) { //Frame:21 + move base to y-axis [0.500000] speed [45.000000] / animSpeed; //delta=-1.50 + turn base to x-axis <-0.500000> speed <45.000000> / animSpeed; //delta=-1.50 + turn base to y-axis <5.000000> speed <59.999993> / animSpeed; //delta=2.00 turn lbankle to x-axis <32.222964> speed <41.327016> / animSpeed; //delta=-1.38 turn lbhip to y-axis <-99.992631> speed <312.509432> / animSpeed; //delta=-10.42 turn lbleg to x-axis <-36.365471> speed <12.314626> / animSpeed; //delta=-0.41 @@ -166,14 +168,14 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn rfhip to y-axis <-45.191247> speed <25.361995> / animSpeed; //delta=-0.85 turn rfleg to x-axis <-19.628039> speed <167.109338> / animSpeed; //delta=5.57 turn rfthigh to x-axis <10.402458> speed <19.341047> / animSpeed; //delta=-0.64 - turn turret to x-axis <-0.500000> speed <45.0> / animSpeed; //delta=1.50 - turn turret to y-axis <-5.0> speed <59.999993> / animSpeed; //delta=-2.00 + turn turret to x-axis <-0.500000> speed <45.000000> / animSpeed; //delta=1.50 + turn turret to y-axis <-5.000000> speed <59.999993> / animSpeed; //delta=-2.00 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:24 - move base to y-axis [-0.500000] speed [30.0] / animSpeed; //delta=-1.00 - turn base to x-axis <0.500000> speed <30.0> / animSpeed; //delta=-1.00 - turn base to y-axis <3.0> speed <59.999993> / animSpeed; //delta=-2.00 + if (bMoving) { //Frame:24 + move base to y-axis [-0.500000] speed [30.000000] / animSpeed; //delta=-1.00 + turn base to x-axis <0.500000> speed <30.000005> / animSpeed; //delta=-1.00 + turn base to y-axis <3.000000> speed <59.999993> / animSpeed; //delta=-2.00 turn lbankle to x-axis <27.483083> speed <142.196445> / animSpeed; //delta=4.74 turn lbhip to y-axis <-84.427360> speed <466.958109> / animSpeed; //delta=15.57 turn lbleg to x-axis <-37.339944> speed <29.234200> / animSpeed; //delta=0.97 @@ -190,16 +192,16 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn rfhip to y-axis <-45.704214> speed <15.389031> / animSpeed; //delta=-0.51 turn rfleg to x-axis <-7.262835> speed <370.956137> / animSpeed; //delta=-12.37 turn rfthigh to x-axis <1.067874> speed <280.037530> / animSpeed; //delta=9.33 - turn turret to x-axis <-1.500000> speed <30.0> / animSpeed; //delta=1.00 - turn turret to y-axis <-3.0> speed <59.999993> / animSpeed; //delta=2.00 + turn turret to x-axis <-1.500000> speed <30.000008> / animSpeed; //delta=1.00 + turn turret to y-axis <-3.000000> speed <59.999993> / animSpeed; //delta=2.00 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:27 + if (bMoving) { //Frame:27 call-script lua_UnitScriptDecal(1, (get PIECE_XZ(rffoot) & 0xffff0000) / 0x00010000 , (get PIECE_XZ(rffoot) & 0x0000ffff), get HEADING(0)); //lffoot call-script lua_UnitScriptDecal(2, (get PIECE_XZ(lbankle) & 0xffff0000) / 0x00010000 , (get PIECE_XZ(lbankle) & 0x0000ffff), get HEADING(0)); //lbankle - move base to y-axis [-1.0] speed [15.0] / animSpeed; //delta=-0.50 - turn base to x-axis <1.0> speed <14.999995> / animSpeed; //delta=-0.50 - turn base to y-axis <2.0> speed <30.0> / animSpeed; //delta=-1.00 + move base to y-axis [-1.000000] speed [15.000000] / animSpeed; //delta=-0.50 + turn base to x-axis <1.000000> speed <14.999995> / animSpeed; //delta=-0.50 + turn base to y-axis <2.000000> speed <30.000003> / animSpeed; //delta=-1.00 turn lbankle to x-axis <22.482131> speed <150.028554> / animSpeed; //delta=5.00 turn lbhip to y-axis <-71.144377> speed <398.489492> / animSpeed; //delta=13.28 turn lbleg to x-axis <-34.562687> speed <83.317721> / animSpeed; //delta=-2.78 @@ -216,11 +218,11 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn rfhip to y-axis <-48.048130> speed <70.317481> / animSpeed; //delta=-2.34 turn rfleg to x-axis <2.869435> speed <303.968079> / animSpeed; //delta=-10.13 turn rfthigh to x-axis <-5.290615> speed <190.754671> / animSpeed; //delta=6.36 - turn turret to x-axis <-2.0> speed <14.999992> / animSpeed; //delta=0.50 - turn turret to y-axis <-2.0> speed <30.0> / animSpeed; //delta=1.00 + turn turret to x-axis <-2.000000> speed <14.999992> / animSpeed; //delta=0.50 + turn turret to y-axis <-2.000000> speed <30.000003> / animSpeed; //delta=1.00 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:30 + if (bMoving) { //Frame:30 move base to y-axis [-0.688000] speed [9.360001] / animSpeed; //delta=0.31 turn base to x-axis <0.688000> speed <9.360002> / animSpeed; //delta=0.31 turn base to y-axis <1.675000> speed <9.750011> / animSpeed; //delta=-0.33 @@ -244,10 +246,10 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn turret to y-axis <-1.675000> speed <9.750011> / animSpeed; //delta=0.33 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:33 + if (bMoving) { //Frame:33 move base to y-axis [0.056000] speed [22.319999] / animSpeed; //delta=0.74 turn base to x-axis <-0.056000> speed <22.320001> / animSpeed; //delta=0.74 - turn base to y-axis <1.274999> speed <12.0> / animSpeed; //delta=-0.40 + turn base to y-axis <1.274999> speed <12.000010> / animSpeed; //delta=-0.40 turn lbankle to x-axis <14.192582> speed <130.215482> / animSpeed; //delta=4.34 turn lbhip to y-axis <-52.007266> speed <260.836933> / animSpeed; //delta=8.69 turn lbleg to x-axis <-20.561584> speed <241.139453> / animSpeed; //delta=-8.04 @@ -268,7 +270,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn turret to y-axis <-1.529005> speed <4.379849> / animSpeed; //delta=0.15 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:36 + if (bMoving) { //Frame:36 move base to y-axis [0.944000] speed [26.640000] / animSpeed; //delta=0.89 turn base to x-axis <-0.944000> speed <26.639998> / animSpeed; //delta=0.89 turn base to y-axis <0.537499> speed <22.125001> / animSpeed; //delta=-0.74 @@ -292,7 +294,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn turret to y-axis <-1.194753> speed <10.027555> / animSpeed; //delta=0.33 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:39 + if (bMoving) { //Frame:39 move base to y-axis [1.688000] speed [22.320002] / animSpeed; //delta=0.74 turn base to x-axis <-1.688000> speed <22.319997> / animSpeed; //delta=0.74 turn base to y-axis <-0.800000> speed <40.124991> / animSpeed; //delta=-1.34 @@ -316,10 +318,10 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn turret to y-axis <0.306625> speed <45.041328> / animSpeed; //delta=1.50 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:42 - move base to y-axis [2.0] speed [9.359998] / animSpeed; //delta=0.31 - turn base to x-axis <-2.0> speed <9.360002> / animSpeed; //delta=0.31 - turn base to y-axis <-3.0> speed <65.999990> / animSpeed; //delta=-2.20 + if (bMoving) { //Frame:42 + move base to y-axis [2.000000] speed [9.359998] / animSpeed; //delta=0.31 + turn base to x-axis <-2.000000> speed <9.360002> / animSpeed; //delta=0.31 + turn base to y-axis <-3.000000> speed <65.999990> / animSpeed; //delta=-2.20 turn lbankle to x-axis <-3.943020> speed <235.387456> / animSpeed; //delta=7.85 turn lbhip to y-axis <-30.398597> speed <211.127943> / animSpeed; //delta=7.04 turn lbleg to x-axis <12.471154> speed <377.394551> / animSpeed; //delta=-12.58 @@ -336,13 +338,13 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn rfhip to y-axis <-68.983715> speed <109.342586> / animSpeed; //delta=-3.64 turn rfleg to x-axis <28.614360> speed <108.158539> / animSpeed; //delta=-3.61 turn rfthigh to x-axis <3.524175> speed <40.140221> / animSpeed; //delta=-1.34 - turn turret to y-axis <3.0> speed <80.801258> / animSpeed; //delta=2.69 + turn turret to y-axis <3.000000> speed <80.801258> / animSpeed; //delta=2.69 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:45 - move base to y-axis [0.500000] speed [45.0] / animSpeed; //delta=-1.50 - turn base to x-axis <-0.500000> speed <45.0> / animSpeed; //delta=-1.50 - turn base to y-axis <-5.0> speed <59.999993> / animSpeed; //delta=-2.00 + if (bMoving) { //Frame:45 + move base to y-axis [0.500000] speed [45.000000] / animSpeed; //delta=-1.50 + turn base to x-axis <-0.500000> speed <45.000000> / animSpeed; //delta=-1.50 + turn base to y-axis <-5.000000> speed <59.999993> / animSpeed; //delta=-2.00 turn lbankle to x-axis <-14.106928> speed <304.917266> / animSpeed; //delta=10.16 turn lbhip to y-axis <-24.801542> speed <167.911646> / animSpeed; //delta=5.60 turn lbleg to x-axis <25.831412> speed <400.807744> / animSpeed; //delta=-13.36 @@ -359,14 +361,14 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn rfhip to y-axis <-72.873617> speed <116.697060> / animSpeed; //delta=-3.89 turn rfleg to x-axis <34.599904> speed <179.566322> / animSpeed; //delta=-5.99 turn rfthigh to x-axis <-4.637291> speed <244.844000> / animSpeed; //delta=8.16 - turn turret to x-axis <-0.500000> speed <45.0> / animSpeed; //delta=1.50 - turn turret to y-axis <5.0> speed <59.999993> / animSpeed; //delta=2.00 + turn turret to x-axis <-0.500000> speed <45.000000> / animSpeed; //delta=1.50 + turn turret to y-axis <5.000000> speed <59.999993> / animSpeed; //delta=2.00 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:48 - move base to y-axis [-0.500000] speed [30.0] / animSpeed; //delta=-1.00 - turn base to x-axis <0.500000> speed <30.0> / animSpeed; //delta=-1.00 - turn base to y-axis <-3.0> speed <59.999993> / animSpeed; //delta=2.00 + if (bMoving) { //Frame:48 + move base to y-axis [-0.500000] speed [30.000000] / animSpeed; //delta=-1.00 + turn base to x-axis <0.500000> speed <30.000005> / animSpeed; //delta=-1.00 + turn base to y-axis <-3.000000> speed <59.999993> / animSpeed; //delta=2.00 turn lbankle to x-axis <-22.559579> speed <253.579507> / animSpeed; //delta=8.45 turn lbhip to y-axis <-25.266699> speed <13.954691> / animSpeed; //delta=-0.47 turn lbleg to x-axis <40.701319> speed <446.097225> / animSpeed; //delta=-14.87 @@ -383,14 +385,14 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn rfhip to y-axis <-83.307080> speed <313.003869> / animSpeed; //delta=-10.43 turn rfleg to x-axis <36.622706> speed <60.684045> / animSpeed; //delta=-2.02 turn rfthigh to x-axis <-10.929092> speed <188.754011> / animSpeed; //delta=6.29 - turn turret to x-axis <-1.500000> speed <30.0> / animSpeed; //delta=1.00 - turn turret to y-axis <3.0> speed <59.999993> / animSpeed; //delta=-2.00 + turn turret to x-axis <-1.500000> speed <30.000008> / animSpeed; //delta=1.00 + turn turret to y-axis <3.000000> speed <59.999993> / animSpeed; //delta=-2.00 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:51 - move base to y-axis [-1.0] speed [15.0] / animSpeed; //delta=-0.50 - turn base to x-axis <1.0> speed <14.999995> / animSpeed; //delta=-0.50 - turn base to y-axis <-2.0> speed <30.0> / animSpeed; //delta=1.00 + if (bMoving) { //Frame:51 + move base to y-axis [-1.000000] speed [15.000000] / animSpeed; //delta=-0.50 + turn base to x-axis <1.000000> speed <14.999995> / animSpeed; //delta=-0.50 + turn base to y-axis <-2.000000> speed <30.000003> / animSpeed; //delta=1.00 turn lbankle to x-axis <-18.707398> speed <115.565418> / animSpeed; //delta=-3.85 turn lbhip to y-axis <-27.872327> speed <78.168851> / animSpeed; //delta=-2.61 turn lbleg to x-axis <30.782399> speed <297.567607> / animSpeed; //delta=9.92 @@ -407,11 +409,11 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn rfhip to y-axis <-81.211345> speed <62.872028> / animSpeed; //delta=2.10 turn rfleg to x-axis <37.844200> speed <36.644819> / animSpeed; //delta=-1.22 turn rfthigh to x-axis <-20.236980> speed <279.236643> / animSpeed; //delta=9.31 - turn turret to x-axis <-2.0> speed <14.999992> / animSpeed; //delta=0.50 - turn turret to y-axis <2.0> speed <30.0> / animSpeed; //delta=-1.00 + turn turret to x-axis <-2.000000> speed <14.999992> / animSpeed; //delta=0.50 + turn turret to y-axis <2.000000> speed <30.000003> / animSpeed; //delta=-1.00 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:54 + if (bMoving) { //Frame:54 move base to y-axis [-0.688000] speed [9.360001] / animSpeed; //delta=0.31 turn base to x-axis <0.688000> speed <9.360002> / animSpeed; //delta=0.31 turn base to y-axis <-1.675000> speed <9.750011> / animSpeed; //delta=0.33 @@ -437,20 +439,20 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations } } } -// Call this from StopMoving()! +// Call this from MotionControl()! StopWalking() { - move base to y-axis [0.0] speed [15.0]; - turn base to x-axis <0.0> speed <15.0>; - turn base to y-axis <0.0> speed <21.999997>; + move base to y-axis [0.000000] speed [15.000000]; + turn base to x-axis <0.000000> speed <15.000000>; + turn base to y-axis <0.000000> speed <21.999997>; turn lbankle to x-axis <-0.265586> speed <175.255798>; turn lbhip to y-axis <-40.907523> speed <192.471043>; turn lbleg to x-axis <-0.104884> speed <208.943657>; - turn lbthigh to x-axis <0.0> speed <132.565269>; + turn lbthigh to x-axis <0.000000> speed <132.565269>; turn lffoot to x-axis <-0.380651> speed <133.424377>; turn lfhip to y-axis <40.806282> speed <116.165262>; turn lfleg to x-axis <1.642277> speed <157.253733>; turn lfthigh to x-axis <-0.748974> speed <144.100151>; - turn rbankle to x-axis <0.0> speed <162.658482>; + turn rbankle to x-axis <0.000000> speed <162.658482>; turn rbhip to y-axis <41.407571> speed <201.360124>; turn rbleg to x-axis <1.295611> speed <273.976704>; turn rbthigh to x-axis <-0.262145> speed <129.521438>; @@ -458,8 +460,8 @@ StopWalking() { turn rfhip to y-axis <-43.061327> speed <288.098848>; turn rfleg to x-axis <-3.927708> speed <393.866350>; turn rfthigh to x-axis <1.861482> speed <260.433881>; - turn turret to x-axis <0.0> speed <16.879999>; - turn turret to y-axis <0.0> speed <26.933753>; + turn turret to x-axis <0.000000> speed <16.879999>; + turn turret to y-axis <0.000000> speed <26.933753>; } // REMEMBER TO animspeed = 11 in Create() !! UnitSpeed(){ @@ -476,17 +478,17 @@ UnitSpeed(){ } } -StartMoving(reversing){ - isMoving=TRUE; - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; +StartMoving(){ + bMoving=TRUE; + signal SIG_WALK; + set-signal-mask SIG_WALK; start-script UnitSpeed(); start-script Walk(); } StopMoving(){ - signal SIGNAL_MOVE; - isMoving = FALSE; + signal SIG_WALK; + bMoving = FALSE; call-script StopWalking(); } @@ -511,7 +513,7 @@ Steering(heading) #define UNITSIZE 10 #define MAXTILT 100 -#include "../unit_hitbyweaponid_and_smoke.h" +#include "unit_hitbyweaponid_and_smoke.h" RockUnit(anglex, anglez) { @@ -524,7 +526,8 @@ Create() hide aimx1; hide aimy1; hide flare; - isMoving = FALSE; + dont-cache flare; + bMoving = FALSE; bSteering = FALSE; oldHeading = get HEADING; animSpeed = 3; @@ -542,7 +545,7 @@ Create() Activate() { - signal SIGNAL_AIM1; + signal SIG_AIM; trajectoryMode = HIGH_TRAJECTORY; // set last heading values to large negative, ensure first aim waits for the turn last_primary_heading = -1000000; @@ -551,14 +554,17 @@ Activate() Deactivate() { - signal SIGNAL_AIM1; + signal SIG_AIM; trajectoryMode = LOW_TRAJECTORY; // set last heading values to large negative, ensure first aim waits for the turn last_primary_heading = -1000000; last_primary_pitch = -1000000; } - +SweetSpot(piecenum) +{ + piecenum = base; +} static-var Stunned; ExecuteRestoreAfterDelay() @@ -568,14 +574,14 @@ ExecuteRestoreAfterDelay() return (1); } set-signal-mask 0; - turn aimy1 to y-axis <0.0> speed <36.0>; - turn aimx1 to x-axis <0.0> speed <30.0>; + turn aimy1 to y-axis <0.000000> speed <36.000000>; + turn aimx1 to x-axis <0.000000> speed <30.000000>; // set last heading values to large negative, ensure first aim waits for the turn last_primary_heading = -1000000; last_primary_pitch = -1000000; wait-for-turn aimy1 around y-axis; wait-for-turn aimx1 around x-axis; - wpn1_lasthead = 0xbadface; + wpn1_lasthead = 1000000; } SetStunned(State) @@ -588,7 +594,7 @@ SetStunned(State) RestoreAfterDelay() { - set-signal-mask SIGNAL_AIM1; + set-signal-mask SIG_AIM; sleep 8000; start-script ExecuteRestoreAfterDelay(); } @@ -601,33 +607,33 @@ fireCommon() move sleeve to z-axis [-0.5] speed [12]; sleep 751; move sleeve to z-axis [0] speed [0.5]; - move barrel to z-axis [0.0] speed [4.0]; + move barrel to z-axis [0.000000] speed [4.000000]; } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = turret; + piecenum = turret; } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = flare; + piecenum = flare; } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { if (trajectoryMode == HIGH_TRAJECTORY) { return(0); } - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; // values in <> are degrees per second // otherwise angles are in COB angular unit (cau) - There are 65536 cau in a circle // In general, 6 cau per frame ~= 1 degree per second - turn aimy1 to y-axis heading speed <30.0>; - turn aimx1 to x-axis <0.0> - pitch speed <45.0>; + turn aimy1 to y-axis heading speed <30.000000>; + turn aimx1 to x-axis <0.000000> - pitch speed <45.000000>; if ( (get ABS(last_primary_heading - heading)>180) OR (get ABS(last_primary_pitch - pitch)>270) ) { // seems to take 3 frames for wait-for-turn to process @@ -649,35 +655,35 @@ AimWeapon1(heading, pitch) return (1); } -FireWeapon1() +FirePrimary() { call-script fireCommon(); } -AimFromWeapon2(pieceIndex) +AimFromSecondary(piecenum) { - pieceIndex = turret; + piecenum = turret; } -QueryWeapon2(pieceIndex) +QuerySecondary(piecenum) { - pieceIndex = flare; + piecenum = flare; } -AimWeapon2(heading, pitch) +AimSecondary(heading, pitch) { if (trajectoryMode == LOW_TRAJECTORY) { return(0); } - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; // values in <> are degrees per second // otherwise angles are in COB angular unit (cau) - There are 65536 cau in a circle // In general, 6 cau per frame ~= 1 degree per second - turn aimy1 to y-axis heading speed <30.0>; - turn aimx1 to x-axis <0.0> - pitch speed <45.0>; + turn aimy1 to y-axis heading speed <30.000000>; + turn aimx1 to x-axis <0.000000> - pitch speed <45.000000>; if ( (get ABS(last_primary_heading - heading)>180) OR (get ABS(last_primary_pitch - pitch)>270) ) { // seems to take 3 frames for wait-for-turn to process @@ -699,7 +705,7 @@ AimWeapon2(heading, pitch) return (1); } -FireWeapon2() +FireSecondary() { call-script fireCommon(); } diff --git a/scripts/Units/armvang.cob b/scripts/Units/armvang.cob index 273012da1098497172ec3465c45b083aeb7d8225..7c2339d90c20e7a5ef2139333624b5e2f8157fdf 100644 GIT binary patch literal 22285 zcmds93z${Kkv=mZh>A{Df;`k6f*1iMGoYxeQ9wi!6_63|4a0De3747iG6+bB1Mz`z ziK|9MSAvB2DaKdU_k#@*1zka9jiOPJ-~%F2a8V2*vj5**eWy6pz>H)3_S?hPoO4hA zT~%FOe|4We_fGR9Ne)Cg0Og}LNzxi;9;?feWbj!@vIymHd_Hg}{wppl(xspXpLq;! zQN-&)Ue~oKY98*7Y*F-A++y8p^V=l6zb7$$nmPRHLEE<{MfgVy3+nILH!-+r1QdH5 zFNu4+v&Fsq732vn$m{&3#m)G;$9dzuyjTCz;!gdm$I&N2-ttc^?z`+1^zKLFaL~Ti z9WCz9tOO2SbO&)8?y|TJUwFOyDBQyfEp8}$KzXfj3ie%bT!Hc5{d;>HPduo1+Wl7E z+$~=3ULNLf>(90Ft`d0&7k5zJCHGp~qVA}Mec!<;*f;#tLStXRVFV5-R=fACe zFSqdW{z>5~Dy+OVfAjKOtWh`Yn>fbe)-Ch6J%|z9-lsM*_8rw8mFP!HoOn=PZFej0 zrH{Qln#qH>s#JkufBqD{TXHC&eusO`8jz zIfl5Pmob=b7d|)C_J+xTq9)qD{>--ZV<-L_#$=GnfvaTPbgtZt0Z0%FK)Zu|oC!ca z7DQe&Hv(&^hp_4i-0n$p!t;Iq>Pb zt=`H{yacV@IJ^=fK}Y;`GOn9N6=_R^AMW(*lU)!T39mw0D5_H1-MSQ&i7+CIj|LE zQufOE9qQW%R~CE%K`HKSgk$rv1vgZ23N4(xCn9~Ht8l^AQzEfAkVy=E(%f6Hx8+KQ zH~rXX?)9E*ale=O4ko#S{k`IG+mDID0nNSA2}c*?IL6A`*wyz#bFa%NiyOh9 zMt?Q;`kiBOKahD*b8qo^7WX2974kIqrq8puzQrD=xp(kVi@Qy7m*!sQVHP*Mz{}Iz z8z1p=J0xq`r@6Q95-ab=GQOI78@{l(&9dIo+`B6>Zr5z`diDBaY+Ea@54u77*c~2> zmrf9#j{7%QDL7&s4(B{>H{4q%+>6b7#ScJYihHqnFRYbl3J=Re{H8?v+$qTzkn~ntR!sE$%2h|4^^yUg!5M z?gY`Rxwrakiz}Dhpt*NuWIVQf>HVjgP7vp zoiIEvTX4Tp&(l!tvao>}ea2UZoKhgT=BZ)=Lz3I1F+>k|nZ1lYM(iW??yR3yY zr*6E=;)cl@R&%Nl`x)u}b|``I7#q#0pPyuLuW_>kIL)c!PqerWVxQ*J+p{gMP+~`O zYH$SiJ>+ug)tuV1mGxg6Dg;h*s&=&1yQi#mHK(>eU~#Ktd^M;3tCPiDy4rH;fitXq zg)%>CPQ7=S#cd#&&=1Y2i;uN>SBd`$0C%O4T)7@efLuwEBTP&rbr723%2)qvZMZ|N z{m{b6yR)0c{StE``{Xc!D?iBM*2!2qpx_Q)WpN)qX1Ve-1}YufhkoF3dY-C@=slDP z5%y_LHILv1%DksJ^kz&*q^}np3-q=K{cakRP#l&dGdBoGXpw-o-G)bMIhdYf=Yarnq-j zPiq+UFA^YsB_LEN+dAjpkna z85Z|j*_YPbJN+Yz+y6K?17oeZch%7rS9!3X=HTO26Q)&BVM7Z}vOB)9(Wxrl? zukBJRZ!v>2#l2WOZ;0#<$GF$jdG9_LOs)jp(tduXUpy!6xuJWi4U+*yP25xE(uB4K z+sWCc+TJi3O}9Ns_A@b;BsS+Qh{Wb2P|sN6i3j@}i=`|FS8!pR7yQJ==2k8YfC~aC z?~IN%*0alP&N~iyCe59ywH~L}8@b4H`>PBT=+!x|sF#&De7%>ab6!zTiyMpeA?4|u z_ixA_#y+g!h|@W5!)l8gyV2{#5V(VWx&BOxs}h{fdG{V;alHwEUcKI^dd=d7$}@(} zd4-o-T(8J_W70s2YgXX((%n4Rk8PzE_xjtuzg(WM32_}>x46CJnSi|GLEN0HEbatZ zAL#W)ES|%&CUx?lyjVPIT(GYb@cHrG&2#ZAIDoRdMxKjf@1tYS#nWgY#*il-l=m?@ zn72WmpG#<<;CM;gv1eJ_5q!`EE(j#yFnrii~jqFJk53#t8k^SIlzq7cfW!yCP zwso<%EwV1r+>6C?*kff(@z_~BhwoPq=L+Jq6Rz`dzZ>pl;aAFz?FWC;??KnGBN#)T zf~_~4uWS{L9>CxNPIIs3af@pic^6Y18Jkg`*m*DZ{&24B4QcK*?{D>PllN(wdy7A} zxUF4%KNz~9za4*Vaerv%aeCfci(H-`L-ETa5$>IHyTx5Adq|pl@6NNhU(55o=H9(e zSWZ15F{``1) zt+_YyNh|L&$su~)n>WMaK9u=Kb8k><%az%f8`xjXy{a0En;^MHbFcIPtM@HB4)Qej z-kEQ48S$Uy-rP|Z_xs3q5Q@qz?kD0u&AoR{x45~&6+Q1Y_&^Lki9F-y=`kP4qHC%oww%R`@<~m1sNO7 zyByYwkUJsm1Lp&vBZ2qX*g8epu#P&Anm0Ebd6j+nRfqKWFvMmfWSex9Kt~ zZ*))370ta*pRw}R$n&!1-e*-7*OeVeac}lr7Plnw9mo?ew76L-?7X*bfW<9k2cTDT zuVW;)<m8)7)#yd(fjHj`Aqhl}2)JyKwK@cn=!(<7jfQ_3S&XFMG*549&gvH(A_h zBzX2+bMK6OY>b8PqG|5U8Dr&*khPlT-i&{@xKD%wntL}DTioCAUWoQ-?mart+BZwS zU!%Dp#TeR!J;s?p+Z14#(sZy?vT{r7$+XW(v>g@|_FKz3V@=xZbjF ztmnP5lPqqgjGLbKo;t(gK9ld5=)IQrBJ*mPvm#r=}o2)AGhd zI7R-Xag(IKno~XhWO3IF@P5&pDuXlA@_rNHRR2hSS422f2qLECeIW0=G^aKXvACX* z@ANN-?2+Bl&i6xe>O1#Yc@IaPlMc7`9Z6?{%bI%+M(q1rgnLQkdFmNi z!)orm@`lxWh;UxdXDd&(xXyGO?9<%a|9I<{!s9LXCU&&)9*e9ck37%f-jduv>hoY+ z)qvk=?wuG}OJ2Fk;+8&R*OG^Hx42dvpe!|?m0oFa$4PFbnLKD;?43YE--w%uAyNBc%TXXMvESl3}SR!Mn=e=34Slk-EFA}H zBiy@UiN(#4Jt)n+ro6Wc@1YCOZC4t(=A4RvB=^3J_jchu2TaY|S{hj!#C}KGW4QHY z?02M_=hzsF{f=}vUfia~@Xs_1v7_g`>muJtj{T1G`A80l{f>0<9kw5_-;oZ&zDnA@ z*zZX9EU~!Q??|g7Yx~&mNI#rt<;8wSIs|ii+P>KDNDn&3;$pueJ!+}N#ePTn4)R4> zZ|rxZozJqk*zZW2^4>1Ihi(k_l0Nmn-DbFj-+1#oD}D~dz0`N}?#4nVUx)Z~?eHJ( z%@_WQ_n9;7yG*P>;&rc zoYLleUx)2Gw@0Mskr!U@b)blAr{|6p%Y0qMU+jF*tX+ZYdvDpF($7YR;+-h{g6$Y5 zQ_l+tCU@3R9qlB92k&)((djzY=kLki4mgbsiklZTFDdkE0JP=OfuFg4CYQK22xqqE zb_YMZ^)>b^_;&@8qGmhDaJJy@5M*E-+tAHH5B(B2$~uQF+M_4|zK`H}k2VCXTb}?+ z+Y;yu?WtSihz~XnG-hP5`?fNZv-U_m4XCiHRNjrGvZ?at-E~&%a8;sv+7sH46?Bv0RPlE9VH$m2Qq zoU+`QAf7Hja?I-~M)Z{I*caCMG4hiuQYLWlFYKSKtUsS_f!8swsbI=oPs@DU)j7)rvz?qMf z{M=T~jK`$T*M~MCx9HCyZbSYcCis{(@H2BK?b7oR_Xv_jJ3dR^!##Q2(|hf=z2Wca zXX4R^`nL3I&@}+p)YXFb;L}A5H*V)=#7&A^Mu64UU{jdj9QlDFC3hfHHnIBnC`}6&{UGf6@!kEF5)E#--^cYFM z`tbd733A^q@CgPrFQW+g0Nf6->ug7RU*BGEo89kP7{dXVU=igo@|zdNNvPYviy)&; z>q=Za1sr;+?7&J$$-rgaKh#6JVq+d+f--kjPYit;;?4C@a?31<6RHbwqGR4&i*Feh zA@?S!nBg9K@M*|H?r+?r;^zvep)Jl|I6J+?^>a{=5zgWF3l9;9IhOZ>4Dwg&3T@Ko zAY)&495RwRA6GBAxQfSY=x4|qK@UGuFXPMQa$du~)On@5_J4n88m@V-eyr>L6YQg1 zoNG94Zu|t#xnWaeT>Q9^Gc9)5hoaiRCCVmlXR#1$+F5-%R=jNQuXg&`Ky$A~<;wr3 zv2rdS<}k{!{Ps=73db$PM*6&~Sov9GTpAK99P3~^^y3QDlZ#3bqxCjdeID zBau6cTISbc#kfT|bvTE*Fb5aoR=O_aBMM-hTN^+ouU+1e>pIj2dEwcs7`M{$c4Z^w z5g%*k@-FIv&$Lf^qFwMw7i(l?4QKjO!2M5m-w;R*?6%T>q5V27yZP0b#l$P4E_u`xFPWs{JcBap}sM) zgU>@7`Z3tu5Zi+Pzi#{VSkPaM@%Pu&n;r+<@12cZ7>Ah7owZ4iNkjDfUmFvK1p8ix z#co@4U@Xd1l$j`hKsgYLj*%!=qFjUWGRhj1Pf@-^>56s3u_z~_T#PaWWje}c6!-lV z)KqTGe@Aj(3N*HHd~vI*rY zl-9$NqytJ9lv0#_C}*Nvh>}H_fHE27GL$P&{uSj0lv_~dq1=gbAId{0PoXSEc^>5@ zl$9uNqwssG>rpnLY(Xi&JDip%*@@*NhE`S9mQ~~`Yij#vD$29T@bc`qq^!2Oh8LAp z7bOl*lgW(6-SS-R8P%8YE)n_5OeV*Br&iYXn=(98UQ=C_l#Q<*mtj+V_eZ0XA=MS* z-0hQcney69(zl|v@)BP3&ya0ef<$%Jesb4e!2 zjTu{6ga2#CR$ep~=WOO8{6D4|9nQL{tW;%PRaUA-u~l}IZKe;r)|5Hkn{{@fG1KR)q literal 21602 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 Kg8wI#CI1VN(9pU7 diff --git a/scripts/Units/armveil.bos b/scripts/Units/armveil.bos index 70598b4c4cd..445b388e613 100644 --- a/scripts/Units/armveil.bos +++ b/scripts/Units/armveil.bos @@ -1,42 +1,96 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, turret, dish; +static-var statechg_DesiredState, statechg_StateChanging; static-var Stunned; + +Go() +{ + spin dish around y-axis speed <60.010989>; + spin turret around y-axis speed <120.027473>; + return (0); +} +Stop() +{ + spin dish around y-axis speed <0.000000>; + spin turret around y-axis speed <0.000000>; + return (0); +} SetStunned(State) { Stunned = State; if (Stunned) { - call-script Deactivate(); + call-script Stop(); } else { - call-script Activate(); + call-script Go(); } } -Create() +InitState() { + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; + return (0); } +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + call-script Go(); + currentstate = 0; + } + if( statechg_DesiredState == 1 ) + { + call-script Stop(); + currentstate = 1; + } + } + statechg_StateChanging = FALSE; + return (0); +} + +Create() +{ + call-script InitState(); + return (0); +} -#define BASEPIECE base -#define MAXTILT 0 -#include "../unit_hitbyweaponid_and_smoke.h" +#define SMOKEPIECE base +#include "smokeunit_thread_nohit.h" Activate() { - spin dish around y-axis speed <60.010989>; - spin turret around y-axis speed <120.027473>; + start-script RequestState(0); + return (0); } Deactivate() { - spin dish around y-axis speed <0.0>; - spin turret around y-axis speed <0.0>; + start-script RequestState(1); + return (0); } - +SweetSpot(piecenum) +{ + piecenum = base; + return (0); +} Killed(severity, corpsetype) { diff --git a/scripts/Units/armveil.cob b/scripts/Units/armveil.cob index f0a002c6d1a5dba9073d6e5070f8bee3a54291fe..666b6eb222ece0d717bd93ca3d30ee7c2b08af0d 100644 GIT binary patch literal 1961 zcmb_dyNVP+6ur|s_8J(Jp;==n12!tAx~rgzuq-yCAPC#;7TUN@k25_kilUJw8km`w zsbJ_Im>Gy*=obiPYiQ;;cKL z$N>8RWY0u~Hp=(Mut>#3+y@z~=M~n{33U$wB`v4z;y$ND`p}UrRs53eJ6M z7_=FilrljsN`7Z!bCMD|3VvFL)oF z55KxDKP%;9{a=FJ-LV7}p?}6`|MXp@BK5Vs!;-q(>3Z|K!x~&ZoCD9K8Sl7_kN*(j zscXx1!tpK{Nj*3Fp4Z?`*w-h4?^Ce%=(s2TPGCNtgFaf&zX*B=(R+57YxK@}e8ZCY zsG^-`#J*~s@8f&Wk$&F0i4C5o`)dFCeF^OBTYGYj$U$G~y6n8$%BM5aee?b|XMTiy ziLZ44a?PQ4i2DRClusaK6Eio}&pJ&}*|sch;fC z^-v>o?6=1MRmT?l2z5LNb@0shTSo%l#lCe`D&1hieEw!`1ZuviU95@A>0oH&kz;)mzFa;h0&w!V}E8sQo2Dng4 zR+VGPY?W2B(a3Jg+Ni)fudH0QcV~7QHs>amy6jGQ+YaF(7mI53{#Bcg%aN>XRmDA; i&)Zy=*{%iYxUA$-v9kl>8~M~qHJeOqCELaHmiz{We~5zs literal 1801 zcmb7_ziSjx5Xa~4HhW?rPY^_G7VIR&Vx?V9BSdV3BdCqI<`z9nE^^sO>|-TZiiL=U zm5rT$frWPd1A>(ZHVPJkh|cG|H=FNQPJ3roAl8MLxm7dCjj!0KEzbm=O zj>=<|MLj=PEk)PyM?5Q|j%T@^yF&zu+yV8!rQ99HP~SrENXPJ(a+lh0r$Q{`W)AKX znvZV;Pt47*i_G&3u*(IHJ)>r(SRE&+w-jjIK+j1u0}jA=1OsX);JTk)iqAer*-M%Sg-#6%AVhe&(|KL5PxUZ z8#&}sl3dgCbNBMWF)z8hYNGF}w))1|)>4K$GAuN0jGYaeV(>Au?S2qza<+X*Yi9U9 z0f>HP=03!QJF#4}lpR0QLp{v;XzgrXjMN!k@6L9^UGQf6Y7oyj>pNuzOxrmzX0dns zK~3Ycw`pg48^C9r@eO@Wd{zSteV}~}#}^Um+uQpQ;~jus!W$9&W`9M0H}P98e5W+d zUfCP?w-JxqzD-Q9FHWjaO873K&tj{qA?Eu`Vr>ra`*B!o9*2FKY468KD8je5qDi(V z_U1XX=VxGC-`^E+JKOj3B*wwRjc(tM-%+e{E!H9bPj&u accelerate <30>; + spin wheel2 around x-axis speed <120> accelerate <30>; + sleep 431; +} + +deactivatescr() +{ + set ARMORED to 1; + + stop-spin wheel1 around x-axis decelerate <30>; + stop-spin wheel2 around x-axis decelerate <30>; + sleep 734; +} + + +OpenYard() +{ + set YARD_OPEN to 1; + while( !get YARD_OPEN ) + { + set BUGGER_OFF to 1; + sleep 1500; + set YARD_OPEN to 1; + } +} + +CloseYard() +{ + set YARD_OPEN to 0; + while( get YARD_OPEN ) + { + set BUGGER_OFF to 1; + sleep 1500; + set YARD_OPEN to 0; + } +} + +Go() +{ + call-script activatescr(); + call-script OpenYard(); + set INBUILDSTANCE to 1; +} + +Stop() +{ + set INBUILDSTANCE to 0; + call-script CloseYard(); + call-script deactivatescr(); +} + +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState ) + { + call-script Stop(); + currentstate = 1; + } + else + { + call-script Go(); + currentstate = 0; + } + } + statechg_StateChanging = FALSE; +} + Create() { hide pad; hide nano; hide cagelight_emit; - + + Static_Var_2 = 0; + Static_Var_1 = 0; set ARMORED to 1; + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; } +#define SMOKEPIECE base +#include "smokeunit_thread_nohit.h" -#define BASEPIECE base -#define MAXTILT 0 -#include "../unit_hitbyweaponid_and_smoke.h" - -QueryNanoPiece(pieceIndex) +QueryNanoPiece(piecenum) { - pieceIndex = nano; + piecenum = nano; } Activate() { - signal SIGNAL_TURNON; - set-signal-mask SIGNAL_TURNON; - - set ARMORED to 0; - spin wheel1 around x-axis speed <120> accelerate <1>; - spin wheel2 around x-axis speed <120> accelerate <1>; - - FACTORY_OPEN_BUILD; - + signal SIG_ACTIVATE; + start-script RequestState(0); } Deactivate() { - signal SIGNAL_TURNON; - set-signal-mask SIGNAL_TURNON; + signal SIG_ACTIVATE; + set-signal-mask SIG_ACTIVATE; sleep 5000; - - set ARMORED to 1; - - stop-spin wheel1 around x-axis decelerate <1>; - stop-spin wheel2 around x-axis decelerate <1>; - - FACTORY_CLOSE_BUILD; + set-signal-mask 0; + start-script RequestState(1); } -StartBuilding(heading) +StartBuilding(Func_Var_1) { show nano; show cagelight_emit; - spin cagelight_emit around y-axis speed <200> accelerate <1>; + spin cagelight_emit around y-axis speed <200>; + spin pad around y-axis speed <0.000000>; return (0); } StopBuilding() { hide nano; + stop-spin pad around y-axis; hide cagelight_emit; - stop-spin cagelight_emit around y-axis decelerate <1>; + turn cagelight_emit to y-axis <0> speed <1000>; return (0); } -QueryBuildInfo(pieceIndex) +QueryBuildInfo(piecenum) { - pieceIndex = pad; + piecenum = pad; } +SweetSpot(piecenum) +{ + piecenum = base; +} Killed(severity, corpsetype) { diff --git a/scripts/Units/armvp.cob b/scripts/Units/armvp.cob index ca9f53cc1e7866367cc10c934d55371a8317468d..2ce56ebd954ca0113ad7c6eef21906ce3dbf5a72 100644 GIT binary patch literal 3407 zcmcImOGs2v82%l{QRsDhxTr-8M2jAT8c0i1K|{zXlOCJqHgnRUab_B?iL?VatLxZrb;K=bnE&UPo~P2R_d^|NH;We=ep)*mI?gWV-_HZ*<49+$3Z@60}=oEKBOrp6*i{?b~b&E6!!? zUUN|G=a7M|u_^OouAzr!G1(()^d*>oUpI|9jPf>CF4w2AEx660!3#*%?daMAf- z5pjK}os~JR8aa`#2nB1}Z9a{|d^zW9WymL4K!4bi2L2eIr6+s0N>``qtqgTCmfj)v zmNOSa{UnPS0MdwWZS$Gn1(YeAX_M~34lDEWteh|wb@ZVxZBjT>p7d?#VP|W|$M^Kb z^X0vL#+h~M>}szXmwc@_8-G?P@@-z@to3S*dS?BS7gvYGxp3}G_^?j(VGJDYx!FuB z7d}r-^MYr_Jj`I6SM>bH#ifWo>`U|dT+{X(5>aP+hd+C!pYl!JAO$@!ziDS5TG__? z)I9d?!H4f}V+XPSAunIETzxifd!X+L=C(dtgPkZhGcMj~7q5+m>k`is?(~e4rxJ3X z8|A|1uHX5w4C*;&oB50T7}n!8a$kqrx}0BFVx%WY2(l2aT;giyZnW~>__8szFrt5Cz zRXJJm%tm~J;49ti$EQC3_JyvfoH%g;2rQ0SOHdn zZ@_opH}Dro9}qbRbOR@VlfWt9EYJ(|0|P)*!vy; literal 2624 zcmb7GzfTlF6n=Lc2dL3eY0&0kLu0W}QBVL-K z1auMl8o11faenY#g24O0N~UZEJ$L?EzoCr~saK8EAO}R>Y5HmvBXd=A4kB#{ZNO8m zP==rKB;}~rVIznY*l41UT`mdX36dpsC=M2#SatKnz5>2b7aPSzPaxwlu=m#D|>#Kofrsfn9G zdt(e^31vOy-D7v-iQ~MCU4uye2%I@MuI4OqiSjd2ETI3zh8V_kX5IZHoUEzm)U9v! z@Qnb!3(m~*5R;#Y#*#}^ax<+%(cX(Y>*izV4jyNxyWuW)XMcNtg*xsjXP~G%XDnyY zd;1xp=F_{Wy50@KX>&RK9r_a3v<5NkgWT0Hd?NHN=XdYB_m>FV&hLm!RLw7MF9&vw zWxi4PxmWIu_;(&pvp&nj@%az?Q9pgI|4#56KgeZ$M>wp1N4$Z;nEG`H5l+xKb6e5p z@_PIk&pC$pT(r4&%4WWUaX6X#EX?E~c7p@>yHU)=xrco$VZ~UO+%9PU*Q}3O)aTc^ z!}^>}Cic%uTemq0-#6!6)vO$GM$N++;{#%KZpCv}C;MkX>i!!5uHOJXuV@`eoTalv z+!Kp$26GE|7{|H0;%oUkiM#7|-}D_F-r*tUujO~(qn}aZ$=S~)F{aPWME!-=dH+H` z&mz>z1zq>F2|M$-I><*}e6HQI<@@>p0P`{*=Q?a(Ys`x}+L!jNeW|W}DgL0o8qDeY z8bTuW#XTIQucyp$KwrEP^lM+L7yCL)?N>gRo|WpllMV0Jov2@Ht6r?lFn&tLL2p5P zcMgE2K@UOCKrcaCApRbD0(uVG0=)*k2Ymp20(}K-gZ_Z3$M72qbP6;GIuE)48U~Gk zE-l$OvvN7jrdDs*xYKUUB%vnL@nSr0li9`gT`SjC?9%GhxYe$wwqa$mk)`(-K5b(a zXR~-In_5YmN!ps1*{t2!QCzgsW?FaJawTmxZ6dehWh are degrees per second // otherwise angles are in COB angular unit (cau) - There are 65536 cau in a circle // In general, 6 cau per frame ~= 1 degree per second - turn turret to y-axis heading speed <15.0>; - turn neck to x-axis <0.0> - pitch speed <6.0>; + turn turret to y-axis heading speed <15.000000>; + turn neck to x-axis <0.000000> - pitch speed <6.000000>; // only wait-for-turn if it takes more than 3 frames to finish the turn if ( (get ABS(last_primary_heading - heading)>270) OR (get ABS(last_primary_pitch - pitch)>108) ) { @@ -67,9 +136,11 @@ AimWeapon1(heading, pitch) return (1); } -FireWeapon1() +FirePrimary() { emit-sfx 1024 + 0 from flare; + start-script RequestState(1); + shooting = 1; //make spindle turn faster as unit gains XP and decreases reload time //GET WEAPON_RELOADSTATE is in frames, we need seconds (factor of 30) @@ -86,58 +157,58 @@ FireWeapon1() if( gun_1 == 1 ) { shotcount = shotcount + 1; - move barrel01 to z-axis [-15.0] now; - move housing01 to z-axis [-6.0] now; - move spindle to z-axis [-2.0] now; - //move back to z-axis [-6.0] now; + move barrel01 to z-axis [-15.000000] now; + move housing01 to z-axis [-6.000000] now; + move spindle to z-axis [-2.000000] now; + //move back to z-axis [-6.000000] now; call-script lua_UnitScriptLight(1, shotcount); - move barrel01 to z-axis [0.0] speed [8.0]; - move housing01 to z-axis [0.0] speed [1.500000]; - move spindle to z-axis [0.0] speed [11.0]; - //move back to z-axis [4.0] speed [10.0]; - turn spindle to z-axis <90.0> speed <1>*spin_speed; + move barrel01 to z-axis [0.000000] speed [8.000000]; + move housing01 to z-axis [0.000000] speed [1.500000]; + move spindle to z-axis [0.000000] speed [11.000000]; + //move back to z-axis [4.000000] speed [10.000000]; + turn spindle to z-axis <90.000000> speed <1>*spin_speed; } if( gun_1 == 2 ) { shotcount = shotcount + 1; - move barrel02 to z-axis [-15.0] now; - move housing02 to z-axis [-6.0] now; - move spindle to z-axis [-2.0] now; - //move back to z-axis [-6.0] now; + move barrel02 to z-axis [-15.000000] now; + move housing02 to z-axis [-6.000000] now; + move spindle to z-axis [-2.000000] now; + //move back to z-axis [-6.000000] now; call-script lua_UnitScriptLight(2, shotcount); - move barrel02 to z-axis [0.0] speed [8.0]; - move housing02 to z-axis [0.0] speed [1.500000]; - move spindle to z-axis [0.0] speed [11.0]; - //move back to z-axis [4.0] speed [10.0]; - turn spindle to z-axis <180.0> speed <1>*spin_speed; + move barrel02 to z-axis [0.000000] speed [8.000000]; + move housing02 to z-axis [0.000000] speed [1.500000]; + move spindle to z-axis [0.000000] speed [11.000000]; + //move back to z-axis [4.000000] speed [10.000000]; + turn spindle to z-axis <180.000000> speed <1>*spin_speed; } if( gun_1 == 3 ) { shotcount = shotcount + 1; - move barrel03 to z-axis [-15.0] now; - move housing03 to z-axis [-6.0] now; - move spindle to z-axis [-2.0] now; - //move back to z-axis [-6.0] now; + move barrel03 to z-axis [-15.000000] now; + move housing03 to z-axis [-6.000000] now; + move spindle to z-axis [-2.000000] now; + //move back to z-axis [-6.000000] now; call-script lua_UnitScriptLight(3, shotcount); - move barrel03 to z-axis [0.0] speed [8.0]; - move housing03 to z-axis [0.0] speed [1.500000]; - move spindle to z-axis [0.0] speed [11.0]; - //move back to z-axis [4.0] speed [10.0]; - turn spindle to z-axis <270.0> speed <1>*spin_speed; + move barrel03 to z-axis [0.000000] speed [8.000000]; + move housing03 to z-axis [0.000000] speed [1.500000]; + move spindle to z-axis [0.000000] speed [11.000000]; + //move back to z-axis [4.000000] speed [10.000000]; + turn spindle to z-axis <270.000000> speed <1>*spin_speed; } if( gun_1 == 4 ) { shotcount = shotcount + 1; - move barrel04 to z-axis [-15.0] now; - move housing04 to z-axis [-6.0] now; - move spindle to z-axis [-2.0] now; - //move back to z-axis [-6.0] now; + move barrel04 to z-axis [-15.000000] now; + move housing04 to z-axis [-6.000000] now; + move spindle to z-axis [-2.000000] now; + //move back to z-axis [-6.000000] now; call-script lua_UnitScriptLight(4, shotcount); - move barrel04 to z-axis [0.0] speed [8.0]; - move housing04 to z-axis [0.0] speed [1.500000]; - move spindle to z-axis [0.0] speed [11.0]; - //move back to z-axis [4.0] speed [10.0]; - turn spindle to z-axis <0.0> speed <1>*spin_speed; + move barrel04 to z-axis [0.000000] speed [8.000000]; + move housing04 to z-axis [0.000000] speed [1.500000]; + move spindle to z-axis [0.000000] speed [11.000000]; + //move back to z-axis [4.000000] speed [10.000000]; + turn spindle to z-axis <0.000000> speed <1>*spin_speed; } ++gun_1; if( gun_1 == 5 ) @@ -146,25 +217,41 @@ FireWeapon1() } // After 1 second, last_primary_heading and last_primary_pitch should be reset - signal SIGNAL_SHOOT1; - set-signal-mask SIGNAL_SHOOT1; + signal SIG_FIRE; + set-signal-mask SIG_FIRE; sleep 1000; last_primary_heading = -1000000; last_primary_pitch = -1000000; } -QueryWeapon1(pieceIndex) +TargetCleared(Func_Var_1) { - pieceIndex = flare; + if( Func_Var_1 == 1 ) + { + signal SIG_AIM; + stop-spin turret around y-axis; + stop-spin neck around x-axis; + call-script deactivatescr(); + shooting = 0; + } + //move back to z-axis [4.000000] speed [4.000000]; } -AimFromWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = spindle; + piecenum = flare; } +AimFromPrimary(piecenum) +{ + piecenum = spindle; +} +SweetSpot(piecenum) +{ + piecenum = base; +} Killed(severity, corpsetype) { diff --git a/scripts/Units/armvulc.cob b/scripts/Units/armvulc.cob index 01bb6de987751896effef0efeeee3911b3dd11f5..f6326dcac06dc99c144cf332901337cd4ea872dc 100644 GIT binary patch literal 6078 zcmbVQO=w(I6h29&lW1%ERQy}0qw7+}v@TqTX&c&#BB`T@f|%*#HGOoF8Q;8EgNTDz zp&+hB5TqMHy09Q(5wYOHl{=RzxRK(jN*5w+i->?TYB6w^ZY%*7kUU&Nx)g075^OHq!aoSON9DlkD zrMlf$Y;V8;?a&Wp{&aS$ZhiIp>l@@x2kRNE87n%*{H&kiJ~Bd#&(%!hGBIP1>$@pb zs~CKL#8hSI{|;~M*O9fTAb84}SfEdwX-aEJ-VtupEzZAT%Dtx98=j9*eta9oeq?Q2 zb2hj)%HOQ9Jr(KMQG87trekf4;_Tga_9iHJ9jA~#)O*t9#?jyR@liZ{{PsCLV+Xji z=kgfZJRWv(G_UzfREs*N@cv*-F2>vOb8ix^D2m}{&Wo1QiG!?mdeFw?hz{*3;D#SGW?01JtL0s4ph zfn0z$d9`UBVhrY`|ZznEV3= z&VGL) z$II*O&hdPI-@rHXVa|%>&1W!2U#gssh3R*P#gkZ!iv_U>u`vCKeOsr^SWsT=Z-+(B zet<>ZPdP09eXke`;;(Pv+a<7IABR}*t{d)c#)7`a#Uf`vz#{Lb92PfzKoA9eLHreq z?@D07z8mIk&j|00;ofE}=xbaoa`po(@_x!;fe;F@;2Gw<#yf#i#>$a>&e|wWKO;%K zLsXV)gQa_4%-p>%*VqJg`~GkBony}v{n+mpy{pxi`oHD;6Kiq)IF-5l+ogMY_wy{8 z9Klduj9>3(Bkz2xPyOald5w*0bI(AZdZYNjGz6RN_j^mtL&4aPA{-F)+6Sc*BRc@SfslBB7l*^?ZfSCE5D5Gu=mRLm-_PSU(_=ytD~XJj4Di>tB0$r~bnp_x%@PraeB&XOT|W@8kHPE&s0NwZ*@;JPz6qdI~fTx&XQi z;{OAu(Kt2G0nmBS9}E&8&473rKM3OAbw2`q3i=Fm5p)T31#}hk3+Q*yU!a?y=?6sa z1w95j0D2m99P|RH0eTg*2ueUH=pE1pppQYHfG&bAfxZS^0X17$@>Vm8d#zNKVt;kK zBaN)nm1kFztdT)PUX0&di+gTyG>y5}UTePbG9_AR(#@Vvmd|9;Sm~UNxhW@-?8y2n zakJZ5g?2CNr19a?S)9(t?dG~1PF5DuWTly|%dsSlb^cN_U5>M(?YNo7OLB58PS=$M zjbmwNpw&1R$62G>$>h1D-G=a~W-pf0Z752%mZour9SrUI6FQmI$w8eQk~5vPUb4Cj cA)U<*W(NneL(=Oet4r-zR^!%LXyc#%0SMi$RsaA1 literal 4402 zcmb7HO=w(I6h1SVPOFXe=|WHtW+N4`FiArxxG>RB6bn|1=tk_Ac}<_4%!HST+J%@! zEiOtof-BL2u0%mMZbT|>x)KE4Roy7XofW$%QX0SS-uu0|@1@gZ5>D0@-`Rrb^pFlT3k3*hI@aKdjH7dheOX}P;u9v?C)Ass$*t-tnM!W8O zXmb_&l##~yeE;3GP0Edmyer7Cc6MAXvE&}?D>hiOW6i``r~#x};=NdRAMIO>#7;Dm zLtts&?XARVoUm)M!0^PdL&sjZ(uOM*XTyEr zpgL49SN97W#wU(8Kb6$m*aaKw7{d}@PY>*<#%3vo%Mp5dE7);QG3j?0L%`UomAR}v z_cEE zHz;FH*#lYD%#}L!qPhJy>~Tx88OM+PT+A>-w}Kz{ltXnCITAh*nq@zG`$By+7JSXm zh|M>X`@?=c+Ltfm&BC0x5;xla3NfyendmB9jlzb1W_d4oTU5KF`(ZlR|F^lto^e-0 z+$hKAcaJbOoTHn2m@@Ao(yCVWL^o^s8J{MPAL==)?89M-)hS>n-|DKlC8j*jI0o;= zI9JtIvSRQ~a5J&t&*^Q(WJD~kUht|_=b}4Vc_=e4?>4v67kxN?%&N=D=5X%ZqkJB? zaeXJUb#_6<;`Cfq>pAk6ZDL4U7oT{}PbI8@&lho|S)o7X`}z~cZYpCPo=^I@UY*}R zoAwo+TG)*CFbmk@dvCON%kA;Ks6E!A_|`(tkmiuv7Yx{Ec3aEWuAE~b3S63cSS6_djaO0Pa8H(2+W zK9^Wy==0OiC-dE@&x`ayU*pdEe9#MrkAo~6E(BRPNEQyNTR2EB928$TNG}|u7Y@=_ zao{;`*XxI&R`sf0G~1HZtL)XQWc4b0^(tAtN>;Cu)vMyESIO#Ca|1?j79sspKkAe<>p3c+GFty%#=e3vm+3@&Mo~;g#X3M9B_DnW>>deb&XLZnj zwi`>f*jec;r`_W#gVU+Kn63>6dAe|NnC6RVuXDy0vK8+(V@I+)75~C|numBZv^kOw z3cKgBUN7z1>z%dKPWC!^YQyzBPlwpS(reF%nH6(T%$%JXtgmJLWf+N@Ex3aPH)m_B QS-;y$t)DKPhByBF4_@?1?f?J) diff --git a/scripts/Units/armwar.bos b/scripts/Units/armwar.bos index 04bcf2e4c07..0378bc16cd9 100644 --- a/scripts/Units/armwar.bos +++ b/scripts/Units/armwar.bos @@ -1,13 +1,15 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece torso,rflare, lflare , pelvis, lthigh, rthigh, luparm, ruparm, rarm, larm, rleg, rfoot, lleg, lfoot, aimy1, aimx1; -static-var isMoving, isAiming, restore_delay, gun_1, wpn1_lasthead; +static-var bMoving, bAiming, Static_Var_3, restore_delay, gun_1, wpn1_lasthead; // Signal definitions -#define SIGNAL_AIM1 256 +#define SIG_AIM 2 #define BASEPIECE pelvis @@ -15,7 +17,7 @@ static-var isMoving, isAiming, restore_delay, gun_1, wpn1_lasthead; //how 'heavy' the unit is, on a scale of 1-10 #define UNITSIZE 3 #define MAXTILT 100 -#include "../unit_hitbyweaponid_and_smoke.h" +#include "unit_hitbyweaponid_and_smoke.h" lua_UnitScriptDecal(lightIndex, xpos,zpos, heading) { @@ -27,11 +29,11 @@ lua_UnitScriptDecal(lightIndex, xpos,zpos, heading) // Using https://github.com/Beherith/Skeletor_S3O // this animation uses the static-var animFramesPerKeyframe which contains how many frames each keyframe takes static-var animSpeed, maxSpeed, animFramesPerKeyframe; -#define SIGNAL_MOVE 1 +#define SIG_WALK 4 Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations\armwar_anim_walk.blend // (c) CC BY NC ND Beherith mysterme@gmail.com - set-signal-mask SIGNAL_MOVE; - if (isMoving) { //Frame:6 + set-signal-mask SIG_WALK; + if (bMoving) { //Frame:6 turn larm to x-axis <-17.134373> speed <514.031192> / animSpeed; //delta=17.13 turn lfoot to x-axis <5.854170> speed <127.681961> / animSpeed; //delta=-4.26 turn lfoot to z-axis <0.001105> speed <174.034157> / animSpeed; //delta=5.80 @@ -40,10 +42,10 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn lthigh to x-axis <-42.979181> speed <1266.258892> / animSpeed; //delta=42.21 turn lthigh to z-axis <11.761602> speed <537.898080> / animSpeed; //delta=-17.93 turn luparm to x-axis <17.493749> speed <524.812458> / animSpeed; //delta=-17.49 - turn luparm to z-axis <0.0> speed <212.999987> / animSpeed; //delta=-7.10 + turn luparm to z-axis <0.000000> speed <212.999987> / animSpeed; //delta=-7.10 turn luparm to y-axis <1.375000> speed <41.249997> / animSpeed; //delta=1.37 - turn pelvis to z-axis <-3.0> speed <90.0> / animSpeed; //delta=3.00 - turn pelvis to y-axis <-7.0> speed <210.0> / animSpeed; //delta=-7.00 + turn pelvis to z-axis <-3.000000> speed <90.000003> / animSpeed; //delta=3.00 + turn pelvis to y-axis <-7.000000> speed <210.000002> / animSpeed; //delta=-7.00 turn rarm to x-axis <22.489496> speed <674.684874> / animSpeed; //delta=-22.49 turn rfoot to x-axis <-12.169493> speed <419.942373> / animSpeed; //delta=14.00 turn rfoot to z-axis <-3.014340> speed <86.659464> / animSpeed; //delta=-2.89 @@ -53,12 +55,12 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn rthigh to z-axis <4.232133> speed <41.816023> / animSpeed; //delta=1.39 turn rthigh to y-axis <-16.777164> speed <40.495611> / animSpeed; //delta=-1.35 turn ruparm to x-axis <-22.787495> speed <683.624857> / animSpeed; //delta=22.79 - turn ruparm to z-axis <-0.0> speed <203.999979> / animSpeed; //delta=6.80 + turn ruparm to z-axis <-0.000000> speed <203.999979> / animSpeed; //delta=6.80 turn ruparm to y-axis <8.199999> speed <245.999969> / animSpeed; //delta=8.20 sleep ((33*animSpeed) -1); } - while(isMoving) { - if (isMoving) { //Frame:10 + while(bMoving) { + if (bMoving) { //Frame:10 turn larm to x-axis <-23.413887> speed <188.385411> / animSpeed; //delta=6.28 turn lfoot to x-axis <10.248314> speed <131.824324> / animSpeed; //delta=-4.39 turn lfoot to y-axis <5.001051> speed <22.652322> / animSpeed; //delta=0.76 @@ -69,8 +71,8 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn luparm to x-axis <23.500000> speed <180.187545> / animSpeed; //delta=-6.01 turn luparm to y-axis <6.400000> speed <150.749989> / animSpeed; //delta=5.02 move pelvis to y-axis [-1.080000] speed [32.399998] / animSpeed; //delta=-1.08 - turn pelvis to z-axis <-0.0> speed <90.0> / animSpeed; //delta=-3.00 - turn pelvis to y-axis <-10.0> speed <90.0> / animSpeed; //delta=-3.00 + turn pelvis to z-axis <-0.000000> speed <90.000003> / animSpeed; //delta=-3.00 + turn pelvis to y-axis <-10.000001> speed <90.000015> / animSpeed; //delta=-3.00 turn rarm to x-axis <33.599999> speed <333.315093> / animSpeed; //delta=-11.11 turn rfoot to x-axis <-18.983353> speed <204.415797> / animSpeed; //delta=6.81 turn rfoot to z-axis <-0.007030> speed <90.219281> / animSpeed; //delta=-3.01 @@ -79,11 +81,11 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn rthigh to z-axis <39.694122> speed <1063.859687> / animSpeed; //delta=-35.46 turn rthigh to y-axis <-51.356807> speed <1037.389280> / animSpeed; //delta=-34.58 turn ruparm to x-axis <-34.499996> speed <351.375018> / animSpeed; //delta=11.71 - turn ruparm to y-axis <12.799999> speed <138.0> / animSpeed; //delta=4.60 + turn ruparm to y-axis <12.799999> speed <138.000002> / animSpeed; //delta=4.60 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:14 + if (bMoving) { //Frame:14 call-script lua_UnitScriptDecal(1, (get PIECE_XZ(lfoot) & 0xffff0000) / 0x00010000 , (get PIECE_XZ(lfoot) & 0x0000ffff), get HEADING(0)); turn larm to x-axis <-16.707549> speed <201.190120> / animSpeed; //delta=-6.71 @@ -94,10 +96,10 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn lthigh to z-axis <4.762540> speed <24.244939> / animSpeed; //delta=0.81 turn lthigh to y-axis <13.572397> speed <13.939118> / animSpeed; //delta=0.46 turn luparm to x-axis <17.087501> speed <192.374976> / animSpeed; //delta=6.41 - turn luparm to y-axis <5.0> speed <41.999990> / animSpeed; //delta=-1.40 + turn luparm to y-axis <5.000000> speed <41.999990> / animSpeed; //delta=-1.40 move pelvis to y-axis [-0.509000] speed [17.130001] / animSpeed; //delta=0.57 - turn pelvis to z-axis <3.0> speed <90.0> / animSpeed; //delta=-3.00 - turn pelvis to y-axis <-7.0> speed <90.0> / animSpeed; //delta=3.00 + turn pelvis to z-axis <3.000000> speed <90.000003> / animSpeed; //delta=-3.00 + turn pelvis to y-axis <-7.000000> speed <90.000015> / animSpeed; //delta=3.00 turn rarm to x-axis <21.984374> speed <348.468738> / animSpeed; //delta=11.62 turn rfoot to x-axis <-39.468999> speed <614.569391> / animSpeed; //delta=20.49 turn rfoot to y-axis <-2.090762> speed <30.843046> / animSpeed; //delta=-1.03 @@ -109,7 +111,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn ruparm to y-axis <10.175000> speed <78.749964> / animSpeed; //delta=-2.62 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:18 + if (bMoving) { //Frame:18 turn larm to x-axis <0.688889> speed <521.893166> / animSpeed; //delta=-17.40 turn lfoot to x-axis <-7.949016> speed <1112.577702> / animSpeed; //delta=37.09 turn lfoot to y-axis <3.881794> speed <42.386916> / animSpeed; //delta=-1.41 @@ -117,10 +119,10 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn lthigh to x-axis <-7.430781> speed <509.711140> / animSpeed; //delta=-16.99 turn lthigh to z-axis <3.245164> speed <45.521288> / animSpeed; //delta=1.52 turn luparm to x-axis <-0.199998> speed <518.624972> / animSpeed; //delta=17.29 - turn luparm to y-axis <0.0> speed <149.999996> / animSpeed; //delta=-5.00 + turn luparm to y-axis <0.000000> speed <149.999996> / animSpeed; //delta=-5.00 move pelvis to y-axis [-0.243000] speed [7.980000] / animSpeed; //delta=0.27 - turn pelvis to z-axis <5.0> speed <59.999993> / animSpeed; //delta=-2.00 - turn pelvis to y-axis <0.0> speed <210.0> / animSpeed; //delta=7.00 + turn pelvis to z-axis <5.000000> speed <59.999993> / animSpeed; //delta=-2.00 + turn pelvis to y-axis <0.000000> speed <210.000002> / animSpeed; //delta=7.00 turn rarm to x-axis <-0.299999> speed <668.531198> / animSpeed; //delta=22.28 turn rfoot to x-axis <-17.900679> speed <647.049604> / animSpeed; //delta=-21.57 turn rfoot to y-axis <-3.164010> speed <32.197424> / animSpeed; //delta=-1.07 @@ -132,7 +134,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn ruparm to y-axis <4.400000> speed <173.250002> / animSpeed; //delta=-5.78 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:22 + if (bMoving) { //Frame:22 turn larm to x-axis <22.489496> speed <654.018190> / animSpeed; //delta=-21.80 turn lfoot to x-axis <-9.306533> speed <40.725515> / animSpeed; //delta=1.36 turn lfoot to y-axis <2.469710> speed <42.362526> / animSpeed; //delta=-1.41 @@ -142,9 +144,9 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn lthigh to y-axis <18.581820> speed <149.611213> / animSpeed; //delta=4.99 turn luparm to x-axis <-22.787495> speed <677.624912> / animSpeed; //delta=22.59 turn luparm to y-axis <-8.199999> speed <245.999969> / animSpeed; //delta=-8.20 - move pelvis to y-axis [0.0] speed [7.289996] / animSpeed; //delta=0.24 - turn pelvis to z-axis <3.0> speed <59.999993> / animSpeed; //delta=2.00 - turn pelvis to y-axis <7.0> speed <210.0> / animSpeed; //delta=7.00 + move pelvis to y-axis [0.000000] speed [7.289996] / animSpeed; //delta=0.24 + turn pelvis to z-axis <3.000000> speed <59.999993> / animSpeed; //delta=2.00 + turn pelvis to y-axis <7.000000> speed <210.000002> / animSpeed; //delta=7.00 turn rarm to x-axis <-17.134373> speed <505.031222> / animSpeed; //delta=16.83 turn rfoot to x-axis <6.225505> speed <723.785537> / animSpeed; //delta=-24.13 turn rfoot to y-axis <-4.246402> speed <32.471774> / animSpeed; //delta=-1.08 @@ -156,7 +158,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn ruparm to y-axis <-1.375000> speed <173.250002> / animSpeed; //delta=-5.78 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:26 + if (bMoving) { //Frame:26 turn larm to x-axis <33.599999> speed <333.315093> / animSpeed; //delta=-11.11 turn lfoot to x-axis <-18.952197> speed <289.369920> / animSpeed; //delta=9.65 turn lfoot to y-axis <1.062793> speed <42.207492> / animSpeed; //delta=-1.41 @@ -165,9 +167,9 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn lthigh to z-axis <-40.189677> speed <1097.573855> / animSpeed; //delta=36.59 turn lthigh to y-axis <53.220236> speed <1039.152494> / animSpeed; //delta=34.64 turn luparm to x-axis <-34.499996> speed <351.375018> / animSpeed; //delta=11.71 - turn luparm to y-axis <-12.799999> speed <138.0> / animSpeed; //delta=-4.60 + turn luparm to y-axis <-12.799999> speed <138.000002> / animSpeed; //delta=-4.60 move pelvis to y-axis [-1.080000] speed [32.399998] / animSpeed; //delta=-1.08 - turn pelvis to z-axis <-0.0> speed <90.0> / animSpeed; //delta=3.00 + turn pelvis to z-axis <-0.000000> speed <90.000003> / animSpeed; //delta=3.00 turn pelvis to y-axis <9.999999> speed <89.999964> / animSpeed; //delta=3.00 turn rarm to x-axis <-23.413887> speed <188.385411> / animSpeed; //delta=6.28 turn rfoot to x-axis <11.229584> speed <150.122363> / animSpeed; //delta=-5.00 @@ -180,7 +182,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn ruparm to y-axis <-6.400000> speed <150.749989> / animSpeed; //delta=-5.02 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:30 + if (bMoving) { //Frame:30 call-script lua_UnitScriptDecal(2, (get PIECE_XZ(rfoot) & 0xffff0000) / 0x00010000 , (get PIECE_XZ(rfoot) & 0x0000ffff), get HEADING(0)); turn larm to x-axis <21.984374> speed <348.468738> / animSpeed; //delta=11.62 turn lfoot to x-axis <-39.359109> speed <612.207341> / animSpeed; //delta=20.41 @@ -192,8 +194,8 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn luparm to x-axis <-22.793748> speed <351.187427> / animSpeed; //delta=-11.71 turn luparm to y-axis <-10.175000> speed <78.749964> / animSpeed; //delta=2.62 move pelvis to y-axis [-0.509000] speed [17.130001] / animSpeed; //delta=0.57 - turn pelvis to z-axis <-3.0> speed <90.0> / animSpeed; //delta=3.00 - turn pelvis to y-axis <7.0> speed <89.999964> / animSpeed; //delta=-3.00 + turn pelvis to z-axis <-3.000000> speed <90.000003> / animSpeed; //delta=3.00 + turn pelvis to y-axis <7.000000> speed <89.999964> / animSpeed; //delta=-3.00 turn rarm to x-axis <-16.707549> speed <201.190120> / animSpeed; //delta=-6.71 turn rfoot to x-axis <29.656039> speed <552.793659> / animSpeed; //delta=-18.43 turn rfoot to y-axis <-5.294995> speed <8.805130> / animSpeed; //delta=-0.29 @@ -202,10 +204,10 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn rthigh to z-axis <-3.705405> speed <7.600617> / animSpeed; //delta=-0.25 turn rthigh to y-axis <-12.229969> speed <15.065972> / animSpeed; //delta=-0.50 turn ruparm to x-axis <17.087501> speed <192.374976> / animSpeed; //delta=6.41 - turn ruparm to y-axis <-5.0> speed <41.999990> / animSpeed; //delta=1.40 + turn ruparm to y-axis <-5.000000> speed <41.999990> / animSpeed; //delta=1.40 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:34 + if (bMoving) { //Frame:34 turn larm to x-axis <-0.299999> speed <668.531198> / animSpeed; //delta=22.28 turn lfoot to x-axis <-17.562921> speed <653.885616> / animSpeed; //delta=-21.80 turn lfoot to y-axis <3.163811> speed <32.184048> / animSpeed; //delta=1.07 @@ -216,8 +218,8 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn luparm to x-axis <-0.099999> speed <680.812476> / animSpeed; //delta=-22.69 turn luparm to y-axis <-4.400000> speed <173.250002> / animSpeed; //delta=5.78 move pelvis to y-axis [-0.243000] speed [7.980000] / animSpeed; //delta=0.27 - turn pelvis to z-axis <-5.0> speed <59.999993> / animSpeed; //delta=2.00 - turn pelvis to y-axis <0.0> speed <210.0> / animSpeed; //delta=-7.00 + turn pelvis to z-axis <-5.000000> speed <59.999993> / animSpeed; //delta=2.00 + turn pelvis to y-axis <0.000000> speed <210.000002> / animSpeed; //delta=-7.00 turn rarm to x-axis <0.688889> speed <521.893166> / animSpeed; //delta=-17.40 turn rfoot to x-axis <-8.039787> speed <1130.874805> / animSpeed; //delta=37.70 turn rleg to x-axis <13.914479> speed <729.619445> / animSpeed; //delta=-24.32 @@ -225,10 +227,10 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn rthigh to z-axis <-3.286871> speed <12.555992> / animSpeed; //delta=-0.42 turn rthigh to y-axis <-12.123547> speed <3.192635> / animSpeed; //delta=0.11 turn ruparm to x-axis <-0.199998> speed <518.624972> / animSpeed; //delta=17.29 - turn ruparm to y-axis <-0.0> speed <149.999996> / animSpeed; //delta=5.00 + turn ruparm to y-axis <-0.000000> speed <149.999996> / animSpeed; //delta=5.00 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:38 + if (bMoving) { //Frame:38 turn larm to x-axis <-17.134373> speed <505.031222> / animSpeed; //delta=16.83 turn lfoot to x-axis <5.854170> speed <702.512729> / animSpeed; //delta=-23.42 turn lfoot to y-axis <4.245974> speed <32.464897> / animSpeed; //delta=1.08 @@ -238,9 +240,9 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn lthigh to y-axis <17.139709> speed <77.675848> / animSpeed; //delta=2.59 turn luparm to x-axis <17.493749> speed <527.812430> / animSpeed; //delta=-17.59 turn luparm to y-axis <1.375000> speed <173.250002> / animSpeed; //delta=5.78 - move pelvis to y-axis [0.0] speed [7.289996] / animSpeed; //delta=0.24 - turn pelvis to z-axis <-3.0> speed <59.999993> / animSpeed; //delta=-2.00 - turn pelvis to y-axis <-7.0> speed <210.0> / animSpeed; //delta=-7.00 + move pelvis to y-axis [0.000000] speed [7.289996] / animSpeed; //delta=0.24 + turn pelvis to z-axis <-3.000000> speed <59.999993> / animSpeed; //delta=-2.00 + turn pelvis to y-axis <-7.000000> speed <210.000002> / animSpeed; //delta=-7.00 turn rarm to x-axis <22.489496> speed <654.018190> / animSpeed; //delta=-21.80 turn rfoot to x-axis <-12.188812> speed <124.470721> / animSpeed; //delta=4.15 turn rleg to x-axis <-19.740643> speed <1009.653683> / animSpeed; //delta=33.66 @@ -253,10 +255,10 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations } } } -// Call this from StopMoving()! +// Call this from MotionControl()! StopWalking() { - move pelvis to y-axis [0.0] speed [8.099999]; - turn larm to x-axis <0.0> speed <167.132799>; + move pelvis to y-axis [0.000000] speed [8.099999]; + turn larm to x-axis <0.000000> speed <167.132799>; turn lfoot to x-axis <1.598104> speed <278.144425>; turn lfoot to y-axis <-0.159378> speed <33.040143>; turn lfoot to z-axis <5.802244> speed <43.508539>; @@ -264,12 +266,12 @@ StopWalking() { turn lthigh to x-axis <-0.770551> speed <472.570770>; turn lthigh to y-axis <17.054521> speed <259.788123>; turn lthigh to z-axis <-6.168334> speed <274.393464>; - turn luparm to x-axis <0.0> speed <170.203119>; - turn luparm to y-axis <0.0> speed <61.499992>; + turn luparm to x-axis <0.000000> speed <170.203119>; + turn luparm to y-axis <0.000000> speed <61.499992>; turn luparm to z-axis <-7.100000> speed <53.249997>; - turn pelvis to y-axis <0.0> speed <52.500000>; - turn pelvis to z-axis <0.0> speed <22.500001>; - turn rarm to x-axis <0.0> speed <168.671218>; + turn pelvis to y-axis <0.000000> speed <52.500000>; + turn pelvis to z-axis <0.000000> speed <22.500001>; + turn rarm to x-axis <0.000000> speed <168.671218>; turn rfoot to x-axis <1.828586> speed <282.718701>; turn rfoot to y-axis <0.186230> speed <8.953254>; turn rfoot to z-axis <-5.902988> speed <22.554820>; @@ -277,8 +279,8 @@ StopWalking() { turn rthigh to x-axis <-1.052800> speed <479.971297>; turn rthigh to y-axis <-15.427311> speed <259.347320>; turn rthigh to z-axis <5.626000> speed <265.964922>; - turn ruparm to x-axis <0.0> speed <170.906214>; - turn ruparm to y-axis <0.0> speed <61.499992>; + turn ruparm to x-axis <0.000000> speed <170.906214>; + turn ruparm to y-axis <0.000000> speed <61.499992>; turn ruparm to z-axis <6.799999> speed <50.999995>; } // REMEMBER TO animspeed = 4 in Create() !! @@ -296,16 +298,16 @@ UnitSpeed(){ sleep 131; } } -StartMoving(reversing){ - signal SIGNAL_MOVE; - isMoving=TRUE; - set-signal-mask SIGNAL_MOVE; +StartMoving(){ + signal SIG_WALK; + bMoving=TRUE; + set-signal-mask SIG_WALK; start-script UnitSpeed(); start-script Walk(); } StopMoving(){ - signal SIGNAL_MOVE; - isMoving=FALSE; + signal SIG_WALK; + bMoving=FALSE; call-script StopWalking(); } @@ -318,19 +320,23 @@ Create() hide aimy1; hide rflare; hide lflare; - isMoving = FALSE; - isAiming = FALSE; + bMoving = FALSE; + bAiming = FALSE; + Static_Var_3 = 1; restore_delay = 3000; gun_1 = rflare; animSpeed = 4; } -SetMaxReloadTime(reloadMS) +SetMaxReloadTime(Func_Var_1) { - restore_delay = reloadMS * 2; + restore_delay = Func_Var_1 * 2; } - +SweetSpot(piecenum) +{ + piecenum = torso; +} static-var Stunned; ExecuteRestoreAfterDelay() @@ -338,12 +344,12 @@ ExecuteRestoreAfterDelay() if (Stunned) { return (1); } - turn aimy1 to y-axis <0.0> speed <90.0>; - turn aimx1 to x-axis <0.0> speed <45.0>; + turn aimy1 to y-axis <0.000000> speed <90.000000>; + turn aimx1 to x-axis <0.000000> speed <45.000000>; wait-for-turn aimy1 around y-axis; wait-for-turn aimx1 around x-axis; - wpn1_lasthead = 0xbadface; - isAiming = FALSE; + wpn1_lasthead = 1000000; + bAiming = FALSE; } SetStunned(State) { @@ -354,36 +360,51 @@ SetStunned(State) } RestoreAfterDelay() { - set-signal-mask SIGNAL_AIM1; + set-signal-mask SIG_AIM; sleep restore_delay; start-script ExecuteRestoreAfterDelay(); } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = aimx1; + piecenum = aimx1; } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = rflare + gun_1; + piecenum = rflare + gun_1; } -FireWeapon1() +FirePrimary() { + if( gun_1 ) + { + show lflare; + sleep 100; + hide lflare; + } + else + { + show rflare; + sleep 100; + hide rflare; + } gun_1 = !gun_1; } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - isAiming = TRUE; - - turn aimy1 to y-axis heading speed <200.0>; - turn aimx1 to x-axis <0.0> - pitch speed <200.0>; - if ((wpn1_lasthead == 0xbadface) OR ABSOLUTE_GREATER_THAN(WRAPDELTA(heading - wpn1_lasthead), <7>)) + signal SIG_AIM; + bAiming = TRUE; + while( !Static_Var_3 ) + { + return(0); + } + turn aimy1 to y-axis heading speed <200.000000>; + turn aimx1 to x-axis <0.000000> - pitch speed <200.000000>; + if (((get ABS(wpn1_lasthead - heading)) > 65536) OR(((get ABS(wpn1_lasthead - heading)) > 1300) AND ((get ABS(wpn1_lasthead - heading)) < 64236))) { - wpn1_lasthead = 0xbadface; + wpn1_lasthead = 1000000; wait-for-turn aimy1 around y-axis; wait-for-turn aimx1 around x-axis; } @@ -401,8 +422,16 @@ Killed(severity, corpsetype) explode rthigh type BITMAPONLY | NOHEATCLOUD; explode rleg type BITMAPONLY | NOHEATCLOUD; explode rfoot type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lthigh type BITMAPONLY | NOHEATCLOUD; + //explode lleg type BITMAPONLY | NOHEATCLOUD; explode lfoot type BITMAPONLY | NOHEATCLOUD; explode torso type BITMAPONLY | NOHEATCLOUD; + //explode luparm type BITMAPONLY | NOHEATCLOUD; + //explode larm type BITMAPONLY | NOHEATCLOUD; + //explode lflare type BITMAPONLY | NOHEATCLOUD; + //explode ruparm type BITMAPONLY | NOHEATCLOUD; + //explode rarm type BITMAPONLY | NOHEATCLOUD; + //explode rflare type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } if( severity <= 50 ) @@ -412,8 +441,16 @@ Killed(severity, corpsetype) explode rthigh type FIRE | SMOKE | FALL | NOHEATCLOUD; explode rleg type FALL | NOHEATCLOUD; explode rfoot type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lthigh type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lleg type FIRE | SMOKE | FALL | NOHEATCLOUD; explode lfoot type FALL | NOHEATCLOUD; explode torso type FALL | NOHEATCLOUD; + //explode luparm type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode larm type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lflare type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode ruparm type FALL | NOHEATCLOUD; + //explode rarm type FALL | NOHEATCLOUD; + //explode rflare type FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) @@ -423,8 +460,16 @@ Killed(severity, corpsetype) explode rthigh type FIRE | SMOKE | FALL | NOHEATCLOUD; explode rleg type FIRE | SMOKE | FALL | NOHEATCLOUD; explode rfoot type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode lthigh type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode lleg type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode lfoot type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; explode torso type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode luparm type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode larm type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lflare type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode ruparm type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode rarm type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rflare type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; @@ -432,7 +477,15 @@ Killed(severity, corpsetype) explode rthigh type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode rleg type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode rfoot type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lthigh type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lleg type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode lfoot type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode torso type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode luparm type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode larm type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lflare type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode ruparm type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode rarm type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rflare type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/armwar.cob b/scripts/Units/armwar.cob index 035e8e79ddcd3b879f894d6edc68b1410a5118dd..754a7ee8a63bebb0c62bdf03d1cd053b1305ec11 100644 GIT binary patch literal 13447 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 V9So;~2QRbvmU#pD_r`(I{{ZWRvQhv5 literal 12616 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 diff --git a/scripts/Units/armwin.bos b/scripts/Units/armwin.bos index 60f02f99209..6ad174497a1 100644 --- a/scripts/Units/armwin.bos +++ b/scripts/Units/armwin.bos @@ -1,5 +1,7 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, blades, turbine, emit; @@ -25,22 +27,32 @@ Go() //It is measured in Spring angles per frame-second (sa/f*s); in other words, //the speed of the piece will increase by that amount every frame, not every second. There are 30 frames per second. //spin [piece] around [axis] speed [angular speed] accelerate [angular acceleration]; + } +BuildMe() +{ + while( get BUILD_PERCENT_LEFT ) + { + sleep 400; + } + Built = 1; + call-script Go(); +} + + Create() { WindSpeed = 800; WindDirection = 0; LastDirection = 0; Built = 0; - SLEEP_UNTIL_UNITFINISHED; - Built = 1; - call-script Go(); + start-script BuildMe(); } -SetSpeed(windOrMetal) //called every 15s (450 frames) +SetSpeed(windSpd) //called every 15s (450 frames) { - WindSpeed = 0 - windOrMetal; //invert if desired + WindSpeed = 0 - windSpd; //invert if desired if (!Stunned) { if(Built) { @@ -49,7 +61,7 @@ SetSpeed(windOrMetal) //called every 15s (450 frames) } } -SetDirection(windDir, windStrength) //called every 15s (450 frames) +SetDirection(windDir) //called every 15s (450 frames) { LastDirection = WindDirection; WindDirection = windDir + <180>; @@ -75,12 +87,62 @@ SetStunned(State) call-script Stop(); set ACTIVATION to 0; }else{ + //if (statechg_DesiredState == 0) { call-script Go(); + set ACTIVATION to 100; + //} } } +/* +InitState() +{ + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; +} +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + call-script Go(); + currentstate = 0; + } + if( statechg_DesiredState == 1 ) + { + call-script Stop(); + currentstate = 1; + } + } + statechg_StateChanging = FALSE; +} + +SweetSpot(piecenum) +{ + piecenum = base; +} + +Activate() +{ + start-script RequestState(0); +} + +Deactivate() +{ + start-script RequestState(1); +} +*/ Killed(severity, corpsetype) { if( severity <= 25 ) diff --git a/scripts/Units/armwin.cob b/scripts/Units/armwin.cob index 7c6162fd163beb8dfc2533aa5a36ccc5584408a4..c0ecb391574ffbd8d427255b1ad4a3acbdd6d197 100644 GIT binary patch literal 1688 zcmcIkJx?1!5FMY*K{=F(qG*2r#fe{V0+dKWkx-nD#x`DwL;e7BmeOG<>C!|>87WH1 zFGxd)#Ggr%f`XFw_IAw4!pIa@dY;|+d^59lOGGw+7I4-OS%c)~KMtCTWWW~gIiwtj zHX$0CC|rZQv1SWA!O|nFJgeFMF^Derk(n<9#j;1r8WpQ^GaL%eY z@-lzM2iuZ*>+qGlIp-%%0zd2HFU;gjH_0UQNB+i34pQZLlXi!G!TUqB|6mgKpQoBf z9aXI?3G)({R(Ych0<*00ISiD3R9P+FjTiO2*SXB|Dss>PAB$yP?!oRhAI{V2uutw= z{#0|E;Yb~K%f5JLym9DL?>6Q+tp;PPPx7-`j19Zcs%G$ku3qyO{OdJ&Up6P{JiNO% zTx9?Pb{a4Gu--6B6 zMg0s?I!zT_pT7eK74ys>&1P@FLA7XOPWDR4{aD}h+osM{TwcS0y0EWoH7+E@82(R? z3(sMf@jQ!q@;8ppiFu0q5pzfG?;>};(^cn4&M(cE`Jcn7KBHCV`B=;<`&gVU$C(44 zffL{>@Ef=UZUFwz?*jY4C*Tk`28O^F-~#vtdWG(1pl>G3ikE~!hHa{fkQ#$KwAqN zD-rw-SJ?O+EEHScXoRR>;K$oH^L8d7XVc@UmNUkrK(!!aJXD{16rR8<=)gOF+X^HD zic7?nGtK0V%|YOO9JRKE>!u_&-N3uDM{OBXne|b0=q6B2_hm6@OSCZ?{^|_nkmlvu z_9pK%n+JCCW*6uI^;u~qF+QWLn{<&azf}DQ-f+q)b#H541}^WdXd?HYul-&%HT2)G z3%!Hk-^0{nScfvXagAbBwN-TYY2|;!OW*tx)X%Tay@bWwIeGCD>qjsr;2d0mN8s>p ZQZNG=pa9EY6|8|S*Z@1K$Fdo=KL8c1Hg*62 diff --git a/scripts/Units/armyork.bos b/scripts/Units/armyork.bos index d22b7e4e33b..012668c22f7 100644 --- a/scripts/Units/armyork.bos +++ b/scripts/Units/armyork.bos @@ -1,5 +1,7 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece flare1, flare2, flare3, flare4, turret, base, fwheel, brwheel, blwheel,sleeve1,sleeve2, barrel1,barrel2,barrel3,barrel4; @@ -7,8 +9,9 @@ piece flare1, flare2, flare3, flare4, turret, base, fwheel, brwheel, static-var restore_delay, gun_3; // Signal definitions -#define SIGNAL_MOVE 1 -#define SIGNAL_AIM3 1024 +#define SIG_AIM_3 2 + + #define BASEPIECE base @@ -16,23 +19,15 @@ static-var restore_delay, gun_3; //how 'heavy' the unit is, on a scale of 1-10 #define UNITSIZE 5 #define MAXTILT 100 -#define RECOIL_POWER 10000 -#include "../unit_hitbyweaponid_and_smoke.h" -#define TB_BASE base -#define TB_TURNRATE <15.0> -#define TB_TILT_X <0.15> -#define TB_BANK_Z <0.15> // Do not define this if you dont want banking -#include "../tilt_bank_mobileunit.h" +#include "unit_hitbyweaponid_and_smoke.h" + -StartMoving(reversing) +StartMoving() { spin fwheel around x-axis speed <150.032967>; spin blwheel around x-axis speed <150.032967>; spin brwheel around x-axis speed <150.032967>; - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; - START_TILTBANK; } StopMoving() @@ -40,8 +35,6 @@ StopMoving() stop-spin fwheel around x-axis; stop-spin blwheel around x-axis; stop-spin brwheel around x-axis; - signal SIGNAL_MOVE; - STOP_TILTBANK; } Create() @@ -56,9 +49,12 @@ Create() hide flare4; gun_3 = 0; restore_delay = 5000; - call-script TB_Init(); } +SetMaxReloadTime(Func_Var_1) +{ + restore_delay = 5000; +} static-var Stunned; ExecuteRestoreAfterDelay() @@ -67,9 +63,9 @@ ExecuteRestoreAfterDelay() return (1); } set-signal-mask 0; - turn turret to y-axis <0.0> speed <600.0>; - turn sleeve1 to x-axis <0.0> speed <600.0>; - turn sleeve2 to x-axis <0.0> speed <600.0>; + turn turret to y-axis <0.000000> speed <600.000000>; + turn sleeve1 to x-axis <0.000000> speed <600.000000>; + turn sleeve2 to x-axis <0.000000> speed <600.000000>; wait-for-turn turret around y-axis; wait-for-turn sleeve1 around x-axis; } @@ -86,48 +82,48 @@ RestoreAfterDelay() start-script ExecuteRestoreAfterDelay(); } -AimWeapon2(heading, pitch) +AimSecondary(heading, pitch) { - signal SIGNAL_AIM3; - set-signal-mask SIGNAL_AIM3; - turn turret to y-axis heading speed <650.0>; - turn sleeve1 to x-axis <0.0> - pitch speed <600.0>; - turn sleeve2 to x-axis <0.0> - pitch speed <600.0>; + signal SIG_AIM_3; + set-signal-mask SIG_AIM_3; + turn turret to y-axis heading speed <650.000000>; + turn sleeve1 to x-axis <0.000000> - pitch speed <600.000000>; + turn sleeve2 to x-axis <0.000000> - pitch speed <600.000000>; wait-for-turn turret around y-axis; wait-for-turn sleeve2 around x-axis; start-script RestoreAfterDelay(); return (1); } -FireWeapon2() +FireSecondary() { if( gun_3 == 0 ) { emit-sfx 1024 + 0 from flare1; - move barrel1 to z-axis [-10.0] now; + move barrel1 to z-axis [-10.000000] now; sleep 100; - move barrel1 to z-axis [0.0] speed [37.500000]; + move barrel1 to z-axis [0.000000] speed [37.500000]; } if( gun_3 == 1 ) { emit-sfx 1024 + 0 from flare2; - move barrel2 to z-axis [-10.0] now; + move barrel2 to z-axis [-10.000000] now; sleep 100; - move barrel2 to z-axis [0.0] speed [37.500000]; + move barrel2 to z-axis [0.000000] speed [37.500000]; } if( gun_3 == 2 ) { emit-sfx 1024 + 0 from flare3; - move barrel3 to z-axis [-10.0] now; + move barrel3 to z-axis [-10.000000] now; sleep 100; - move barrel3 to z-axis [0.0] speed [37.500000]; + move barrel3 to z-axis [0.000000] speed [37.500000]; } if( gun_3 == 3 ) { emit-sfx 1024 + 0 from flare4; - move barrel4 to z-axis [-10.0] now; + move barrel4 to z-axis [-10.000000] now; sleep 100; - move barrel4 to z-axis [0.0] speed [37.500000]; + move barrel4 to z-axis [0.000000] speed [37.500000]; } sleep 50; ++gun_3; @@ -137,31 +133,34 @@ FireWeapon2() } } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = turret; + piecenum = turret; } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = turret; + piecenum = turret; } -AimFromWeapon2(pieceIndex) +AimFromSecondary(piecenum) { - pieceIndex = turret; + piecenum = turret; } -QueryWeapon2(pieceIndex) +QuerySecondary(piecenum) { - if (gun_3 == 0) pieceIndex = flare1; - if (gun_3 == 1) pieceIndex = flare2; - if (gun_3 == 2) pieceIndex = flare3; - if (gun_3 == 3) pieceIndex = flare4; + if (gun_3 == 0) piecenum = flare1; + if (gun_3 == 1) piecenum = flare2; + if (gun_3 == 2) piecenum = flare3; + if (gun_3 == 3) piecenum = flare4; } - +SweetSpot(piecenum) +{ + piecenum = base; +} Killed(severity, corpsetype) { @@ -170,8 +169,19 @@ Killed(severity, corpsetype) corpsetype = 1 ; explode base type BITMAPONLY | NOHEATCLOUD; explode brwheel type BITMAPONLY | NOHEATCLOUD; + //explode blwheel type BITMAPONLY | NOHEATCLOUD; explode fwheel type BITMAPONLY | NOHEATCLOUD; explode turret type BITMAPONLY | NOHEATCLOUD; + //explode sleeve1 type BITMAPONLY | NOHEATCLOUD; + //explode barrel3 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare3 type BITMAPONLY | NOHEATCLOUD; + //explode barrel4 type BITMAPONLY | NOHEATCLOUD; + //explode flare4 type BITMAPONLY | NOHEATCLOUD; + //explode sleeve2 type BITMAPONLY | NOHEATCLOUD; + //explode barrel1 type BITMAPONLY | NOHEATCLOUD; + //explode flare1 type BITMAPONLY | NOHEATCLOUD; + //explode barrel2 type BITMAPONLY | NOHEATCLOUD; + //explode flare2 type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } if( severity <= 50 ) @@ -179,9 +189,19 @@ Killed(severity, corpsetype) corpsetype = 2 ; explode base type BITMAPONLY | NOHEATCLOUD; explode brwheel type FALL | NOHEATCLOUD; + //explode blwheel type FIRE | SMOKE | FALL | NOHEATCLOUD; explode fwheel type FIRE | SMOKE | FALL | NOHEATCLOUD; explode turret type FIRE | SMOKE | FALL | NOHEATCLOUD; explode sleeve1 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode barrel3 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare3 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode barrel4 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare4 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode sleeve2 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode barrel1 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare1 type FALL | NOHEATCLOUD; + //explode barrel2 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare2 type FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) @@ -193,6 +213,15 @@ Killed(severity, corpsetype) explode fwheel type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; explode turret type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; explode sleeve1 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode barrel3 type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode flare3 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode barrel4 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare4 type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode sleeve2 type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode barrel1 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare1 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode barrel2 type SMOKE | FALL | NOHEATCLOUD; + //explode flare2 type SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; @@ -202,5 +231,14 @@ Killed(severity, corpsetype) explode fwheel type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode turret type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode sleeve1 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode barrel3 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode flare3 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode barrel4 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare4 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode sleeve2 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode barrel1 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare1 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode barrel2 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode flare2 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/armyork.cob b/scripts/Units/armyork.cob index 2045a7de6c30070d751e762a9a1eaed48940548e..3339f69f5cc323114d7c8ac6e5c9ef4e8923050f 100644 GIT binary patch literal 4176 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 diff --git a/scripts/Units/armzapper.bos b/scripts/Units/armzapper.bos index 70d66ef0db7..8fe9c5b6472 100644 --- a/scripts/Units/armzapper.bos +++ b/scripts/Units/armzapper.bos @@ -1,18 +1,21 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, lfwheel, rfwheel, lbwheel, rbwheel, gun, flare; -static-var restore_delay, moveSpeed, wheelSpeed, gun_2, oldHeading, wpn1_lasthead; +static-var restore_delay, moveSpeed, wheelSpeed, Static_Var_1, gun_2, statechg_DesiredState, statechg_StateChanging, + oldHeading, wpn1_lasthead; // Signal definitions -#define SIGNAL_MOVE 1 -#define SIGNAL_AIM1 256 +#define SIG_MOVE 2 +#define SIG_AIM 4 Steering(heading, steer, currentSpeed) { - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; + signal SIG_MOVE; + set-signal-mask SIG_MOVE; while(1) { heading = get HEADING; @@ -37,9 +40,9 @@ Steering(heading, steer, currentSpeed) // currentSpeed = (get CURRENT_SPEED)*20/moveSpeed; // wheelSpeed = currentSpeed * 40; //original speed 7 // if (currentSpeed<1) currentSpeed=1; // prevent infinite timing -// spin lfwheel around x-axis speed (<1> * wheelSpeed); //(<1.0> * wheelSpeed ) * 2 accelerate <5.0> * currentSpeed; -// spin rfwheel around x-axis speed (<1> * wheelSpeed); //(<0.5.0> * wheelSpeed ) * 2 accelerate <5.0> * currentSpeed; -// spin bwheels around x-axis speed (<0.7> * wheelSpeed); //(<0.5.0> * wheelSpeed ) * 2 accelerate <5.0> * currentSpeed; +// spin lfwheel around x-axis speed (<1> * wheelSpeed); //(<1.000000> * wheelSpeed ) * 2 accelerate <5.000000> * currentSpeed; +// spin rfwheel around x-axis speed (<1> * wheelSpeed); //(<0.5.000000> * wheelSpeed ) * 2 accelerate <5.000000> * currentSpeed; +// spin bwheels around x-axis speed (<0.7> * wheelSpeed); //(<0.5.000000> * wheelSpeed ) * 2 accelerate <5.000000> * currentSpeed; // sleep 50; //200 // } // } @@ -52,23 +55,33 @@ Steering(heading, steer, currentSpeed) #define UNITSIZE 1 #define MAXTILT 100 -#include "../unit_hitbyweaponid_and_smoke.h" +#include "unit_hitbyweaponid_and_smoke.h" Create() { hide flare; + Static_Var_1 = 0; oldheading = get HEADING; + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; + hide flare; } +//Create() +//{ +// restore_delay = 3000; +// moveSpeed = get MAX_SPEED; +// start-script SmokeUnit(); +// return (0); +//} - -StartMoving(reversing) +StartMoving() { start-script Steering(); } StopMoving() { - signal SIGNAL_MOVE; + signal SIG_MOVE; stop-spin rfwheel around x-axis; stop-spin lfwheel around x-axis; stop-spin lbwheel around x-axis; @@ -79,9 +92,9 @@ StopMoving() //following block returns weapon in straight position after firing -SetMaxReloadTime(reloadMS) +SetMaxReloadTime(Func_Var_1) { - restore_delay = reloadMS * 2; + restore_delay = Func_Var_1 * 2; return (0); } @@ -91,10 +104,10 @@ ExecuteRestoreAfterDelay() if (Stunned) { return (1); } - turn gun to y-axis <0.0> speed <90.0>; - turn gun to x-axis <0.0> speed <50.0>; + turn gun to y-axis <0.000000> speed <90.000000>; + turn gun to x-axis <0.000000> speed <50.000000>; wait-for-turn gun around y-axis; - wpn1_lasthead = 0xbadface; + wpn1_lasthead = 1000000; } SetStunned(State) { @@ -113,15 +126,15 @@ RestoreAfterDelay() -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; - turn gun to y-axis heading speed <300.0>; - turn gun to x-axis <0.0> - pitch speed <300.0>; - if ((wpn1_lasthead == 0xbadface) OR ABSOLUTE_GREATER_THAN(WRAPDELTA(heading - wpn1_lasthead), <7>)) + signal SIG_AIM; + set-signal-mask SIG_AIM; + turn gun to y-axis heading speed <300.000000>; + turn gun to x-axis <0.000000> - pitch speed <300.000000>; + if (((get ABS(wpn1_lasthead - heading)) > 65536) OR(((get ABS(wpn1_lasthead - heading)) > 1300) AND ((get ABS(wpn1_lasthead - heading)) < 64236))) { - wpn1_lasthead = 0xbadface; + wpn1_lasthead = 1000000; wait-for-turn gun around y-axis; } wpn1_lasthead = heading; @@ -129,24 +142,28 @@ AimWeapon1(heading, pitch) return (1); } -FireWeapon1() +FirePrimary() { return (0); } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = gun; + piecenum = gun; return (0); } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = flare; + piecenum = flare; return (0); } - +SweetSpot(piecenum) +{ + piecenum = base; + return (0); +} Killed(severity, corpsetype) { diff --git a/scripts/Units/armzapper.cob b/scripts/Units/armzapper.cob index ffcf35df246da982fea6d437053df4b3131ed91b..a6286e0c89acc278074b6cef06f32b6eb0d78926 100644 GIT binary patch literal 3937 zcmd5gXH}lrx^{th2C|K#!n|r^1%~)=W$g{v9 zU~OLHX;6L-j*2`2de4Zwir?>oO4>>cb4e>{QE}W!s`JF3=g42}Bm)r2R`@$@C#^2* z@xf9lI0@rQI=|ziJFj~5LEFDR^7`sC6^+>>Q+}}fVZqx!um0QWf1PLer{Cqkm)?9r z9&=+o%#D;f$1mZKEF`SuLc}v&>VRF@NZ02_-ZYuk&>%zW^_ynbj$}(bcc~S6*bP1G zb&{tbGJCn&sb*y}i)&*qsH-`le)fTNF%RmIQm%Q09(-K$AM4SdbbYTr4|?R8Px?A} z%KK(av$c7sJ!gR#Lo7A}+E`7rQJLk1yeZqU-La>hK&txDnMccov`q%$T8yUnO?u{! z)Ot=|+E?t&5ge*GQ|1QL@wZnnms_}mg{y?gJ*#40+7T+7b2fSA& zf*+kB>S6}F_t^L4RM2C%suv0RKwtQnx9u)Jgx|K$7DrYk>449CK-8z{*n7n| ze4nUeaq+C|vZ0T6C?1il5n2NsdwbHGX9Mc`$C|I<0(1K>XJDewjG74RMK z0Qd#?4R{Fr4J<5*90OheUI9)6XMuCTCE!iqI`9tAFP$p}!<%w>P%dp>ciDI}l>X-E zmV0|RC}Zv$>+)LRveLmOE6OXQJ2dN;qp=-bc_q8I;_^|p{?=gA$?Nyr+E(dS-0gBy zxbqvOD=xS^+m^m7`{mYf=+ lRLb%o&*Ak(cH2q5arZsvaw!7MZ-n20-rO3>MxGT;{slKA60!gQ literal 3198 zcmai0L5Lhx5Urh=^hP82MFdTVG(_-{!$k0ugR|=<*|3DHI}2U{rjz-*8SI@IJH5I& zWe@S71U;!BAp|@dauCF$DBjG?vlkCJ<`{yY?^XZm`RU!+^iurls#jI7>i^%f9T9Pm zdC2{i$YHE}{&`X4ts^1>$Vt5KVwJSzOy*q6%@H_BT&?d$`sKt8;ihkmxU}P1UBu&Q z!NwI9*P)WOH3!OzblZw!ZpJ>jS>d%-Dvp?0KDCFq2ZyTo<9KIn<{D5(e(Ed1F1@z1 zn#@gZS_A9r=U{M$oS>H_sEnhHeHeymEJnH&KiY_G`m~1`zBa*l_KVXQ1>Yh;U82Ga z!A1SO#Jv#3%W6{ZRlH}fFdp+@Pdfpxa{-=NHCLF|0khwKja+uqjv}QieY?W zA9a?uZ#Grw?fquarZ~9kc-VAb8#bL;Yzuo9_hx5_d;y*21eOz=rxAO5C-khf;bZN8 z-;3}mrp)+||U99I3xN9!% z*$j;CM_S!)B|fS8Qhm45m;aicUupD6pVj0{bv9}B{a`(`1Hpk{4U%4&1b){ zk8UCZ?kjUX{tvnFEu+rgS;IW#rt%xNTg@QB1`@;EoRij#W?a{*eTl=r5Be}pIb&Yb z)d=10HFL%HtLf*NpXFx`tIgbRFgUF^uLRDl&3LZF+`}qvzCMTcZu7Huo>}7WU?sj8 z&$|%kSSJg^kh|OFqwTNZ*(Ja(guL z1KI0b7;aTePRZF};Z2A6Y%#7~A8h*~Fg_(K!#qc>E7^4~`Nn70yw9ZwYknoXhjnv% KBpZ2Fc=;dnX!tPz diff --git a/scripts/Units/armzeus.bos b/scripts/Units/armzeus.bos index 1de10cc36de..f39644bdbc6 100644 --- a/scripts/Units/armzeus.bos +++ b/scripts/Units/armzeus.bos @@ -1,13 +1,13 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece torso, backpack, pelvis, flare, rthigh, lthigh, lleg, rleg, ruparm, luparm, lloarm, rloarm, gunstatic, gunhand, spark_emit, gun_emit, static_emit, lfoot, rfoot, aimy1, aimx1; -static-var isMoving, isAiming, restore_delay, moveSpeed, gunDrawn, currentSpeed, animspeed, wpnheading; +static-var bMoving, bAiming, restore_delay, statechg_DesiredState, statechg_StateChanging, moveSpeed, gunDrawn, currentSpeed, animspeed, wpnheading, isAiming; // Signal definitions -#define SIGNAL_AIM1 256 - -#include "../opencloseanim.h" +#define SIG_AIM 2 static-var maxSpeed, animFramesPerKeyframe; @@ -17,9 +17,9 @@ lua_UnitScriptDecal(lightIndex, xpos,zpos, heading) } -#define SIGNAL_MOVE 1 +#define SIG_WALK 4 Walk() { - if (isMoving) { //Frame:4 + if (bMoving) { //Frame:4 turn lfoot to x-axis <-7.199620> speed <215.988613> / animSpeed; turn lfoot to z-axis <-0.750735> speed <22.522041> / animSpeed; turn lfoot to y-axis <0.403230> speed <12.096901> / animSpeed; @@ -47,8 +47,8 @@ Walk() { } sleep 98; } - while(isMoving) { - if (isMoving) { //Frame:7 + while(bMoving) { + if (bMoving) { //Frame:7 call-script lua_UnitScriptDecal(1, (get PIECE_XZ(lfoot) & 0xffff0000) / 0x00010000 , (get PIECE_XZ(lfoot) & 0x0000ffff), get HEADING(0)); turn lfoot to x-axis <-4.079282> speed <93.610146> / animSpeed; turn lleg to x-axis <-7.424414> speed <144.010039> / animSpeed; @@ -81,7 +81,7 @@ Walk() { } sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:10 + if (bMoving) { //Frame:10 turn lfoot to x-axis <-14.208429> speed <303.874412> / animSpeed; turn lfoot to z-axis <4.170078> speed <147.502117> / animSpeed; turn lfoot to y-axis <-7.653428> speed <242.923822> / animSpeed; @@ -117,7 +117,7 @@ Walk() { } sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:13 + if (bMoving) { //Frame:13 turn lfoot to x-axis <-7.861976> speed <190.393589> / animSpeed; turn lfoot to y-axis <-8.110533> speed <13.713159> / animSpeed; turn lleg to x-axis <74.686479> speed <1071.366022> / animSpeed; @@ -151,7 +151,7 @@ Walk() { } sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:16 + if (bMoving) { //Frame:16 turn lfoot to x-axis <21.690702> speed <886.580343> / animSpeed; turn lfoot to z-axis <4.351855> speed <7.986288> / animSpeed; turn lfoot to y-axis <-10.283250> speed <65.181520> / animSpeed; @@ -161,8 +161,8 @@ Walk() { turn lthigh to x-axis <-30.535242> speed <278.800092> / animSpeed; turn lthigh to z-axis <-1.402269> speed <156.024920> / animSpeed; turn lthigh to y-axis <1.049882> speed <102.833834> / animSpeed; - move pelvis to y-axis [0.0] speed [28.830757] / animSpeed; - turn pelvis to y-axis <-0.0> speed <225.875005> / animSpeed; + move pelvis to y-axis [0.000000] speed [28.830757] / animSpeed; + turn pelvis to y-axis <-0.000000> speed <225.875005> / animSpeed; turn rfoot to x-axis <-7.207572> speed <169.113988> / animSpeed; turn rleg to x-axis <-12.230308> speed <748.058523> / animSpeed; turn rleg to z-axis <3.697749> speed <36.374747> / animSpeed; @@ -183,7 +183,7 @@ Walk() { } sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:19 + if (bMoving) { //Frame:19 call-script lua_UnitScriptDecal(1, (get PIECE_XZ(rfoot) & 0xffff0000) / 0x00010000 , (get PIECE_XZ(rfoot) & 0x0000ffff), get HEADING(0)); turn lfoot to x-axis <52.965576> speed <938.246233> / animSpeed; turn lfoot to z-axis <-1.237152> speed <167.670216> / animSpeed; @@ -217,7 +217,7 @@ Walk() { } sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:22 + if (bMoving) { //Frame:22 turn lfoot to x-axis <13.164725> speed <1194.025530> / animSpeed; turn lfoot to z-axis <-0.766866> speed <14.108585> / animSpeed; turn lfoot to y-axis <0.668069> speed <24.324133> / animSpeed; @@ -254,7 +254,7 @@ Walk() { } sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:25 + if (bMoving) { //Frame:25 turn lfoot to x-axis <-4.676950> speed <535.250263> / animSpeed; turn lfoot to y-axis <0.434839> speed <6.996926> / animSpeed; turn lleg to x-axis <12.861630> speed <489.757092> / animSpeed; @@ -289,15 +289,15 @@ Walk() { } sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:28 + if (bMoving) { //Frame:28 turn lfoot to x-axis <-7.199620> speed <75.680105> / animSpeed; turn lleg to x-axis <-12.224749> speed <752.591369> / animSpeed; turn lleg to z-axis <3.692376> speed <47.585604> / animSpeed; turn lleg to y-axis <0.019436> speed <11.168048> / animSpeed; turn lthigh to x-axis <19.141667> speed <1038.542284> / animSpeed; turn lthigh to z-axis <-1.780384> speed <95.504220> / animSpeed; - move pelvis to y-axis [0.0] speed [37.715424] / animSpeed; - turn pelvis to y-axis <0.0> speed <230.452341> / animSpeed; + move pelvis to y-axis [0.000000] speed [37.715424] / animSpeed; + turn pelvis to y-axis <0.000000> speed <230.452341> / animSpeed; turn rfoot to x-axis <22.048074> speed <976.632084> / animSpeed; turn rfoot to z-axis <-0.414806> speed <135.835599> / animSpeed; turn rfoot to y-axis <0.349097> speed <248.201906> / animSpeed; @@ -317,7 +317,7 @@ Walk() { if ( !isAiming){ turn ruparm to x-axis <0.990709> speed <170.349543> / animSpeed; turn ruparm to z-axis <0.216153> speed <10.660935> / animSpeed; - turn ruparm to y-axis <-0.0> speed <19.926841> / animSpeed; + turn ruparm to y-axis <-0.000356> speed <19.926841> / animSpeed; turn rloarm to x-axis <2.378045> speed <15.949390> / animSpeed; turn rloarm to z-axis <2.347062> speed <7.945896> / animSpeed; } @@ -325,42 +325,42 @@ Walk() { } } } -// Call this from StopMoving()! +// Call this from MotionControl()! StopWalking() { - move pelvis to y-axis [0.0] speed [19.143617]; - turn lfoot to x-axis <0.0> speed <398.008510>; - turn lfoot to y-axis <0.0> speed <117.621241>; - turn lfoot to z-axis <0.0> speed <55.890072>; - turn lleg to x-axis <0.0> speed <529.368023>; - turn lleg to y-axis <0.0> speed <156.850585>; - turn lleg to z-axis <0.0> speed <138.756447>; - turn lthigh to x-axis <0.0> speed <625.783469>; - turn lthigh to y-axis <0.0> speed <85.529648>; - turn lthigh to z-axis <0.0> speed <74.684548>; - turn pelvis to y-axis <0.0> speed <76.817447>; - turn rfoot to x-axis <0.0> speed <325.544028>; - turn rfoot to y-axis <0.0> speed <83.001625>; - turn rfoot to z-axis <0.0> speed <48.948067>; - turn rleg to x-axis <0.0> speed <550.686871>; - turn rleg to y-axis <0.0> speed <207.811687>; - turn rleg to z-axis <0.0> speed <160.527892>; - turn rthigh to x-axis <0.0> speed <630.557139>; - turn rthigh to y-axis <0.0> speed <48.952954>; - turn rthigh to z-axis <0.0> speed <69.814160>; - turn luparm to x-axis <0.0> speed <118.421794>; - turn luparm to y-axis <0.0> speed <1.069061>; - turn luparm to z-axis <0.0> speed <16.270322>; + move pelvis to y-axis [0.000000] speed [19.143617]; + turn lfoot to x-axis <0.000000> speed <398.008510>; + turn lfoot to y-axis <0.000000> speed <117.621241>; + turn lfoot to z-axis <0.000000> speed <55.890072>; + turn lleg to x-axis <0.000000> speed <529.368023>; + turn lleg to y-axis <0.000000> speed <156.850585>; + turn lleg to z-axis <0.000000> speed <138.756447>; + turn lthigh to x-axis <0.000000> speed <625.783469>; + turn lthigh to y-axis <0.000000> speed <85.529648>; + turn lthigh to z-axis <0.000000> speed <74.684548>; + turn pelvis to y-axis <0.000000> speed <76.817447>; + turn rfoot to x-axis <0.000000> speed <325.544028>; + turn rfoot to y-axis <0.000000> speed <83.001625>; + turn rfoot to z-axis <0.000000> speed <48.948067>; + turn rleg to x-axis <0.000000> speed <550.686871>; + turn rleg to y-axis <0.000000> speed <207.811687>; + turn rleg to z-axis <0.000000> speed <160.527892>; + turn rthigh to x-axis <0.000000> speed <630.557139>; + turn rthigh to y-axis <0.000000> speed <48.952954>; + turn rthigh to z-axis <0.000000> speed <69.814160>; + turn luparm to x-axis <0.000000> speed <118.421794>; + turn luparm to y-axis <0.000000> speed <1.069061>; + turn luparm to z-axis <0.000000> speed <16.270322>; if ( !isAiming){ - turn ruparm to x-axis <0.0> speed <56.783183>; - turn ruparm to y-axis <0.0> speed <8.459177>; - turn ruparm to z-axis <0.0> speed <3.553645>; - turn rloarm to x-axis <0.0> speed <94.858781>; - turn rloarm to y-axis <0.0> speed <10.549088>; - turn rloarm to z-axis <0.0> speed <23.470615>; - move torso to x-axis [0.0] speed [25.713165]; - move torso to y-axis [0.0] speed [25.713620]; - move torso to z-axis [0.0] speed [28.538611]; + turn ruparm to x-axis <0.000000> speed <56.783183>; + turn ruparm to y-axis <0.000000> speed <8.459177>; + turn ruparm to z-axis <0.000000> speed <3.553645>; + turn rloarm to x-axis <0.000000> speed <94.858781>; + turn rloarm to y-axis <0.000000> speed <10.549088>; + turn rloarm to z-axis <0.000000> speed <23.470615>; + move torso to x-axis [0.000000] speed [25.713165]; + move torso to y-axis [0.000000] speed [25.713620]; + move torso to z-axis [0.000000] speed [28.538611]; } } @@ -379,16 +379,16 @@ UnitSpeed(){ sleep 98; } } -StartMoving(reversing){ - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; - isMoving=TRUE; +StartMoving(){ + signal SIG_WALK; + set-signal-mask SIG_WALK; + bMoving=TRUE; start-script UnitSpeed(); start-script Walk(); } StopMoving(){ - signal SIGNAL_MOVE; - isMoving=FALSE; + signal SIG_WALK; + bMoving=FALSE; call-script StopWalking(); } @@ -399,20 +399,20 @@ StopMoving(){ #define UNITSIZE 5 #define MAXTILT 100 -#include "../unit_hitbyweaponid_and_smoke.h" +#include "unit_hitbyweaponid_and_smoke.h" -Open() +drawgun() { - //turn ruparm to x-axis <0.0> speed <56.783183>; - //turn ruparm to y-axis <0.0> speed <8.459177>; - //turn ruparm to z-axis <0.0> speed <3.553645>; - //turn rloarm to x-axis <0.0> speed <94.858781>; - //turn rloarm to y-axis <0.0> speed <10.549088>; - //turn rloarm to z-axis <0.0> speed <23.470615>; - //turn luparm to x-axis <0.0> speed <118.421794>; - //turn luparm to y-axis <0.0> speed <1.069061>; - //turn luparm to z-axis <0.0> speed <16.270322>; + //turn ruparm to x-axis <0.000000> speed <56.783183>; + //turn ruparm to y-axis <0.000000> speed <8.459177>; + //turn ruparm to z-axis <0.000000> speed <3.553645>; + //turn rloarm to x-axis <0.000000> speed <94.858781>; + //turn rloarm to y-axis <0.000000> speed <10.549088>; + //turn rloarm to z-axis <0.000000> speed <23.470615>; + //turn luparm to x-axis <0.000000> speed <118.421794>; + //turn luparm to y-axis <0.000000> speed <1.069061>; + //turn luparm to z-axis <0.000000> speed <16.270322>; var drawspeed; drawspeed = 5; @@ -453,7 +453,7 @@ Open() hide gunstatic; show gunhand; - //turn luparm to x-axis <0> speed <360>; //90 arm bleibt beim schie�ssen nun unten + //turn luparm to x-axis <0> speed <360>; //90 arm bleibt beim schie�ssen nun unten turn ruparm to x-axis <-60> speed <360>; //-179* 720 sleep 125; turn ruparm to x-axis <-10> speed <360>; //0* ****** arm position when shooting (only ruparm, rloarm is in aiming) @@ -464,7 +464,7 @@ Open() } -Close() +holstgun() { var drawspeed; @@ -498,12 +498,40 @@ Close() } +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState ) + { + call-script holstgun(); + currentstate = 1; + } + else + { + call-script drawgun(); + currentstate = 0; + } + sleep 32; + } + statechg_StateChanging = FALSE; +} + + Sparks() { while( TRUE ) { - while( !isAiming ) + while( !bAiming ) { sleep 100; } @@ -533,16 +561,21 @@ Create() isAiming = FALSE; animspeed = 3; wpnheading = 0; - isMoving = FALSE; + bMoving = FALSE; restore_delay = 7000; + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; gunDrawn = 0; moveSpeed = get MAX_SPEED; - isAiming = FALSE; + bAiming = FALSE; start-script Sparks(); } - +SweetSpot(piecenum) +{ + piecenum = torso; +} static-var Stunned; ExecuteRestoreAfterDelay() @@ -552,21 +585,21 @@ ExecuteRestoreAfterDelay() hide static_emit; return (1); } - call-script OpenCloseAnim(0); + call-script RequestState(1); hide gun_emit; show static_emit; - turn aimy1 to y-axis <0.0> speed <90>; - turn aimx1 to x-axis <0.0> speed <45>; + turn aimy1 to y-axis <0.000000> speed <90>; + turn aimx1 to x-axis <0.000000> speed <45>; turn torso to y-axis <0> speed <45>; isAiming = FALSE; - turn luparm to x-axis <0.0> speed <118.421794>; - turn luparm to y-axis <0.0> speed <1.069061>; - turn luparm to z-axis <0.0> speed <16.270322>; + turn luparm to x-axis <0.000000> speed <118.421794>; + turn luparm to y-axis <0.000000> speed <1.069061>; + turn luparm to z-axis <0.000000> speed <16.270322>; wpnheading = 0; - isAiming = 0; + bAiming = 0; } SetStunned(State) { @@ -579,28 +612,28 @@ SetStunned(State) } RestoreAfterDelay() { - set-signal-mask SIGNAL_AIM1; + set-signal-mask SIG_AIM; sleep restore_delay; start-script ExecuteRestoreAfterDelay(); } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - start-script OpenCloseAnim(1); - signal SIGNAL_AIM1; + start-script RequestState(0); + signal SIG_AIM; isAiming = TRUE; - if (isAiming == 1) return 0; + if (bAiming == 1) return 0; turn aimy1 to y-axis heading speed <225.005495>; - turn aimx1 to x-axis <0.0> - pitch speed <75.005495>; + turn aimx1 to x-axis <0.000000> - pitch speed <75.005495>; if (!gunDrawn ) return 0; //needed for luarules\gadgets\unit_continuous_aim.lua if ((get ABS(wpnheading - heading)) > 2000){ - isAiming = 1; + bAiming = 1; wait-for-turn aimy1 around y-axis; wait-for-turn aimx1 around x-axis; - isAiming = 0; + bAiming = 0; } wpnheading = heading; start-script RestoreAfterDelay(); @@ -608,17 +641,17 @@ AimWeapon1(heading, pitch) } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = rloarm; + piecenum = rloarm; } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = flare; + piecenum = flare; } -FireWeapon1() +FirePrimary() { show gun_emit; hide static_emit; @@ -628,8 +661,8 @@ FireWeapon1() // For C:\Users\ptasz\Documents\GitHub\support\Animation_sources\death_anims\armzeus_anim_death.blend Created by https://github.com/Beherith/Skeletor_S3O V((0, 3, 9)) //use call-script DeathAnim(); from Killed() DeathAnim() {// For C:\Users\ptasz\Documents\GitHub\support\Animation_sources\death_anims\armzeus_anim_death.blend Created by https://github.com/Beherith/Skeletor_S3O V((0, 3, 9)) - signal SIGNAL_MOVE; - signal SIGNAL_AIM1; + signal SIG_WALK; + signal SIG_AIM; call-script StopWalking(); turn aimy1 to y-axis <0> speed <120>; turn aimx1 to x-axis <0> speed <120>; @@ -833,7 +866,7 @@ DeathAnim() {// For C:\Users\ptasz\Documents\GitHub\support\Animation_sources\de turn backpack to x-axis <1.987363> speed <29.128363> ; turn backpack to z-axis <3.674573> speed <2.642227> ; turn backpack to y-axis <7.323191> speed <7.220146> ; - turn lfoot to x-axis <38.436599> speed <8.0> ; + turn lfoot to x-axis <38.436599> speed <8.000798> ; turn lleg to x-axis <13.713488> speed <5.993017> ; turn lloarm to x-axis <-8.642851> speed <32.222147> ; turn lloarm to z-axis <1.728834> speed <8.676587> ; @@ -1291,7 +1324,7 @@ DeathAnim() {// For C:\Users\ptasz\Documents\GitHub\support\Animation_sources\de turn lfoot to x-axis <37.780085> speed <26.655804> ; turn lleg to x-axis <12.239941> speed <11.479747> ; turn lleg to z-axis <1.573461> speed <3.219257> ; - turn lleg to y-axis <-1.0> speed <2.360124> ; + turn lleg to y-axis <-1.000906> speed <2.360124> ; turn lthigh to x-axis <43.511594> speed <40.068827> ; turn lthigh to z-axis <7.708693> speed <23.254984> ; turn lthigh to y-axis <-4.645130> speed <17.100015> ; @@ -1687,7 +1720,7 @@ DeathAnim() {// For C:\Users\ptasz\Documents\GitHub\support\Animation_sources\de move torso to z-axis [2.295931] speed [44.257425] ; move torso to y-axis [-0.159389] speed [12.022943] ; turn torso to x-axis <0.104721> speed <1.672227> ; - turn torso to x-axis <6.0> speed <95.811558> ; + turn torso to x-axis <6.000051> speed <95.811558> ; turn torso to z-axis <-0.166935> speed <28.875303> ; turn torso to y-axis <3.781670> speed <2.892352> ; sleep 65; @@ -1793,8 +1826,20 @@ Killed(severity, corpsetype) corpsetype = 2 ; explode pelvis type BITMAPONLY | NOHEATCLOUD; explode torso type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode gunstatic type FIRE | SMOKE | FALL | NOHEATCLOUD; explode ruparm type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rloarm type FIRE | SMOKE | FALL | NOHEATCLOUD; explode gunhand type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode emit_spark type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode luparm type FALL | NOHEATCLOUD; + //explode lloarm type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lthigh type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lleg type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lfoot type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rthigh type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rleg type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rfoot type FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) @@ -1805,6 +1850,17 @@ Killed(severity, corpsetype) explode gunstatic type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode ruparm type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode rloarm type SMOKE | FALL | NOHEATCLOUD; + //explode gunhand type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare type SMOKE | FALL | NOHEATCLOUD; + //explode emit_spark type SMOKE | FALL | NOHEATCLOUD; + //explode luparm type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lloarm type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lthigh type SMOKE | FALL | NOHEATCLOUD; + //explode lleg type SMOKE | FALL | NOHEATCLOUD; + //explode lfoot type SMOKE | FALL | NOHEATCLOUD; + //explode rthigh type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rleg type SMOKE | FALL | NOHEATCLOUD; + //explode rfoot type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; @@ -1813,5 +1869,16 @@ Killed(severity, corpsetype) explode gunstatic type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode ruparm type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode rloarm type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode gunhand type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode flare type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode emit_spark type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode luparm type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lloarm type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lthigh type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lleg type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lfoot type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode rthigh type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rleg type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rfoot type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/armzeus.cob b/scripts/Units/armzeus.cob index 5394feba2f5cdc51c1d0bae462a2b99e3ef309a4..39958682e3167efd1b476ed722256629fe1b34b8 100644 GIT binary patch literal 47603 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%0AD})yVyfFRhXHst1@{(Dy#!8ElGh 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 LWkvr_*s}6J>MoeP literal 47131 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 VRmO(@2Mj;vgbo$`Ke0pQe*q%Db0Yu% diff --git a/scripts/Units/cob_set.txt b/scripts/Units/cob_set.txt new file mode 100644 index 00000000000..2c6e9c0d6f4 --- /dev/null +++ b/scripts/Units/cob_set.txt @@ -0,0 +1,9000 @@ +Binary file armah.cob matches +armalab.bos: set YARD_OPEN to 1; +armalab.bos: set BUGGER_OFF to 1; +armalab.bos: set YARD_OPEN to 1; +armalab.bos: set BUGGER_OFF to 0; +armalab.bos: set YARD_OPEN to 0; +armalab.bos: set BUGGER_OFF to 1; +armalab.bos: set YARD_OPEN to 0; +armalab.bos: set BUGGER_OFF to 0; +armalab.bos: set INBUILDSTANCE to 1; +armalab.bos: set INBUILDSTANCE to 0; +armalab.bos: set-signal-mask SIG_ACTIVATE; +armalab.bos: set-signal-mask 0; +armalab.bos:Killed(severity, corpsetype) +armalab.bos: corpsetype = 1 ; +armalab.bos: return(corpsetype); +armalab.bos: corpsetype = 2 ; +armalab.bos: return(corpsetype); +armalab.bos: corpsetype = 3 ; +armalab.bos: return(corpsetype); +armalab.bos: corpsetype = 3 ; +armalab.bos: return corpsetype; +armamb.bos: set ARMORED to 0; +armamb.bos: set ARMORED to 1; +armamb.bos: set-signal-mask 0; +armamb.bos:SetStunned(State) +armamb.bos: set-signal-mask SIG_AIM; +armamb.bos: set-signal-mask 2; +armamb.bos:/*SetMaxReloadTime(Func_Var_1) +armamb.bos:Killed(severity, corpsetype) +armamb.bos: corpsetype = 1 ; +armamb.bos: return(corpsetype); +armamb.bos: corpsetype = 2 ; +armamb.bos: return(corpsetype); +armamb.bos: corpsetype = 3 ; +armamb.bos: return(corpsetype); +armamb.bos: corpsetype = 3 ; +armamb.bos: return corpsetype; +Binary file armamb.cob matches +armamd.bos:// OffsetToScriptCodeIndexArray f64 +armamd.bos:// OffsetToScriptNameOffsetArray fa8 +armamd.bos:// OffsetToPieceNameOffsetArray fec +armamd.bos:// OffsetToScriptCode 2c +armamd.bos:// OffsetToNameArray 1010 +armamd.bos:// OffsetToFirstName 1010 +armamd.bos:SetMaxReloadTime(Func_Var_1) +armamd.bos:/* 1d4:*/ set-signal-mask SIG_AIM; +armamd.bos:Killed(severity, corpsetype) +armamd.bos:/* 271:*/ corpsetype = 1; +armamd.bos:/* 2b4:*/ return (corpsetype); +armamd.bos:/* 2be:*/ corpsetype = 2; +armamd.bos:/* 301:*/ return (corpsetype); +armamd.bos:/* 30b:*/ corpsetype = 3; +armamd.bos:/* 369:*/ return (corpsetype); +armamd.bos:/* 36c:*/ corpsetype = 3; +armamd.bos:/* 3cd:*/ return (corpsetype); +Binary file armamd.cob matches +armamex.bos: set ARMORED to 0; +armamex.bos: set ARMORED to 1; +armamex.bos:SetStunned(State) +armamex.bos:SetSpeed(Func_Var_1) +armamex.bos: set-signal-mask 2; +armamex.bos: set ACTIVATION to 0; +armamex.bos: set ACTIVATION to 100; +armamex.bos:Killed(severity, corpsetype) +armamex.bos: corpsetype = 1 ; +armamex.bos: return(corpsetype); +armamex.bos: corpsetype = 2 ; +armamex.bos: return(corpsetype); +armamex.bos: corpsetype = 3 ; +armamex.bos: return(corpsetype); +armamex.bos: corpsetype = 3 ; +armamex.bos: return corpsetype; +Binary file armamex.cob matches +armamph.bos: set-signal-mask SIG_MOVE; +armamph.bos:setSFXoccupy(Func_Var_1) +armamph.bos:SetMaxReloadTime(Func_Var_1) +armamph.bos: set-signal-mask 0; +armamph.bos:SetStunned(State) +armamph.bos: set-signal-mask SIG_AIM; +armamph.bos:Killed(severity, corpsetype) +armamph.bos: corpsetype = 1 ; +armamph.bos: return(corpsetype); +armamph.bos: corpsetype = 2 ; +armamph.bos: return(corpsetype); +armamph.bos: corpsetype = 3 ; +armamph.bos: return(corpsetype); +armamph.bos: corpsetype = 3 ; +armamph.bos: return corpsetype; +Binary file armamph.cob matches +armamsub.bos: set YARD_OPEN to 1; +armamsub.bos: set BUGGER_OFF to 1; +armamsub.bos: set YARD_OPEN to 1; +armamsub.bos: set BUGGER_OFF to 0; +armamsub.bos: set YARD_OPEN to 0; +armamsub.bos: set BUGGER_OFF to 1; +armamsub.bos: set YARD_OPEN to 0; +armamsub.bos: set BUGGER_OFF to 0; +armamsub.bos: set INBUILDSTANCE to 1; +armamsub.bos: set INBUILDSTANCE to 0; +armamsub.bos: set-signal-mask SIG_ACTIVATE; +armamsub.bos: set-signal-mask 0; +armamsub.bos:Killed(severity, corpsetype) +armamsub.bos: corpsetype = 1 ; +armamsub.bos: return(corpsetype); +armamsub.bos: corpsetype = 2 ; +armamsub.bos: return(corpsetype); +armamsub.bos: corpsetype = 3 ; +armamsub.bos: return(corpsetype); +armamsub.bos: corpsetype = 3 ; +armamsub.bos: return corpsetype; +armanac.bos: // Set values for tilt +armanac.bos: set-signal-mask SIG_MOVE; +armanac.bos:setSFXoccupy(Func_Var_1) +armanac.bos:SetMaxReloadTime(Func_Var_1) +armanac.bos:SetStunned(State) +armanac.bos: set-signal-mask SIG_AIM; +armanac.bos:Killed(severity, corpsetype) +armanac.bos: corpsetype = 1 ; +armanac.bos: return(corpsetype); +armanac.bos: corpsetype = 2 ; +armanac.bos: return(corpsetype); +armanac.bos: corpsetype = 3 ; +armanac.bos: return(corpsetype); +armanac.bos: corpsetype = 3 ; +armanac.bos: return corpsetype; +Binary file armanac.cob matches +armanni.bos: set ARMORED to 0; +armanni.bos: set ARMORED to 1; +armanni.bos:SetMaxReloadTime(Func_Var_1) +armanni.bos: set-signal-mask SIG_AIM; +armanni.bos:Killed(severity, corpsetype) +armanni.bos: corpsetype = 1 ; +armanni.bos: return(corpsetype); +armanni.bos: corpsetype = 2 ; +armanni.bos: return(corpsetype); +armanni.bos: corpsetype = 3 ; +armanni.bos: return(corpsetype); +armanni.bos: corpsetype = 3 ; +armanni.bos: return corpsetype; +Binary file armanni.cob matches +armap.bos: set YARD_OPEN to 1; +armap.bos: set BUGGER_OFF to 1; +armap.bos: set YARD_OPEN to 1; +armap.bos: set BUGGER_OFF to 0; +armap.bos: set YARD_OPEN to 0; +armap.bos: set BUGGER_OFF to 1; +armap.bos: set YARD_OPEN to 0; +armap.bos: set BUGGER_OFF to 0; +armap.bos: set INBUILDSTANCE to 1; +armap.bos: set INBUILDSTANCE to 0; +armap.bos: set-signal-mask SIG_ACTIVATE; +armap.bos: set-signal-mask 0; +armap.bos:Killed(severity, corpsetype) +armap.bos: corpsetype = 1 ; +armap.bos: return(corpsetype); +armap.bos: corpsetype = 2 ; +armap.bos: return(corpsetype); +armap.bos: corpsetype = 3 ; +armap.bos: return(corpsetype); +armap.bos: corpsetype = 3 ; +armap.bos: return corpsetype; +armarad.bos:Killed(severity, corpsetype) +armarad.bos: corpsetype = 1 ; +armarad.bos: return(corpsetype); +armarad.bos: corpsetype = 2 ; +armarad.bos: return(corpsetype); +armarad.bos: corpsetype = 3 ; +armarad.bos: return(corpsetype); +armarad.bos: corpsetype = 3 ; +armarad.bos: return corpsetype; +armart.bos:SetMaxReloadTime(Func_Var_1) +armart.bos:SetStunned(State) +armart.bos: set-signal-mask SIG_AIM; +armart.bos:Killed(severity, corpsetype) +armart.bos: corpsetype = 1 ; +armart.bos: return(corpsetype); +armart.bos: corpsetype = 2 ; +armart.bos: return(corpsetype); +armart.bos: corpsetype = 3 ; +armart.bos: return(corpsetype); +armart.bos: corpsetype = 3 ; +armart.bos: return corpsetype; +Binary file armart.cob matches +armaser.bos:SetStunned(State) +armaser.bos: //set-signal-mask SIG_WALK; +armaser.bos: set ACTIVATION to 0; +armaser.bos: set-signal-mask SIG_ACTIVATE; +armaser.bos: set-signal-mask SIG_ACTIVATE; +armaser.bos: set-signal-mask 4; +armaser.bos: set ACTIVATION to 0; +armaser.bos: set ACTIVATION to 100; +armaser.bos:Killed(severity, corpsetype) +armaser.bos: corpsetype = 1 ; +armaser.bos: return(corpsetype); +armaser.bos: corpsetype = 2 ; +armaser.bos: return(corpsetype); +armaser.bos: corpsetype = 3 ; +armaser.bos: return(corpsetype); +armaser.bos: corpsetype = 3 ; +armaser.bos: return corpsetype; +Binary file armaser.cob matches +armason.bos:Killed(severity, corpsetype) +armason.bos: corpsetype = 1 ; +armason.bos: return(corpsetype); +armason.bos: corpsetype = 2 ; +armason.bos: return(corpsetype); +armason.bos: corpsetype = 3 ; +armason.bos: return(corpsetype); +armason.bos: corpsetype = 3 ; +armason.bos: return corpsetype; +armasp.bos:Killed(severity, corpsetype) +armasp.bos: corpsetype = 1 ; +armasp.bos: return(corpsetype); +armasp.bos: corpsetype = 2 ; +armasp.bos: return(corpsetype); +armasp.bos: corpsetype = 3 ; +armasp.bos: return(corpsetype); +armasp.bos: corpsetype = 3 ; +armasp.bos: return corpsetype; +armasy.bos: set YARD_OPEN to 1; +armasy.bos: set BUGGER_OFF to 1; +armasy.bos: set YARD_OPEN to 1; +armasy.bos: set BUGGER_OFF to 0; +armasy.bos: set YARD_OPEN to 0; +armasy.bos: set BUGGER_OFF to 1; +armasy.bos: set YARD_OPEN to 0; +armasy.bos: set BUGGER_OFF to 0; +armasy.bos: set INBUILDSTANCE to 1; +armasy.bos: set INBUILDSTANCE to 0; +armasy.bos: set-signal-mask SIG_ACTIVATE; +armasy.bos: set-signal-mask 0; +armasy.bos:Killed(severity, corpsetype) +armasy.bos: corpsetype = 1 ; +armasy.bos: return(corpsetype); +armasy.bos: corpsetype = 2 ; +armasy.bos: return(corpsetype); +armasy.bos: corpsetype = 3 ; +armasy.bos: return(corpsetype); +armasy.bos: corpsetype = 3 ; +armasy.bos: return corpsetype; +armatl.bos:SetStunned(State) +armatl.bos: set-signal-mask SIG_AIM; +armatl.bos:Killed(severity, corpsetype) +armatl.bos: corpsetype = 1 ; +armatl.bos: return(corpsetype); +armatl.bos: corpsetype = 2 ; +armatl.bos: return(corpsetype); +armatl.bos: corpsetype = 3 ; +armatl.bos: return(corpsetype); +armatl.bos: corpsetype = 3 ; +armatl.bos: return corpsetype; +Binary file armatl.cob matches +armatlas.bos:SetSFXOccupy(terraintype){ +armatlas.bos:Killed(severity, corpsetype) +armatlas.bos: corpsetype = 1; +armatlas.bos: return (corpsetype); +armatlas.bos: corpsetype = 2; +armatlas.bos: return (corpsetype); +armatlas.bos: corpsetype = 3; +armatlas.bos: return (corpsetype); +armatlas.bos: corpsetype = 3; +armatlas.bos: return corpsetype; +armavp.bos: set YARD_OPEN to 1; +armavp.bos: set BUGGER_OFF to 1; +armavp.bos: set YARD_OPEN to 1; +armavp.bos: set BUGGER_OFF to 0; +armavp.bos: set YARD_OPEN to 0; +armavp.bos: set BUGGER_OFF to 1; +armavp.bos: set YARD_OPEN to 0; +armavp.bos: set BUGGER_OFF to 0; +armavp.bos: set INBUILDSTANCE to 1; +armavp.bos: set INBUILDSTANCE to 0; +armavp.bos: set-signal-mask SIG_ACTIVATE; +armavp.bos: set-signal-mask 0; +armavp.bos:Killed(severity, corpsetype) +armavp.bos: corpsetype = 1 ; +armavp.bos: return(corpsetype); +armavp.bos: corpsetype = 2 ; +armavp.bos: return(corpsetype); +armavp.bos: corpsetype = 3 ; +armavp.bos: return(corpsetype); +armavp.bos: corpsetype = 3 ; +armavp.bos: return corpsetype; +armawac.bos:Killed(severity, corpsetype) +armawac.bos: corpsetype = 1 ; +armawac.bos: return(corpsetype); +armawac.bos: corpsetype = 2 ; +armawac.bos: return(corpsetype); +armawac.bos: corpsetype = 3 ; +armawac.bos: return(corpsetype); +armawac.bos: corpsetype = 3 ; +armawac.bos: return corpsetype; +armbanth.bos:SetMaxReloadTime(Func_Var_1) +armbanth.bos:SetStunned(State) +armbanth.bos: set-signal-mask SIG_AIM; +armbanth.bos:Killed(severity, corpsetype) +armbanth.bos: corpsetype = 1 ; +armbanth.bos: return(corpsetype); +armbanth.bos: corpsetype = 2 ; +armbanth.bos: return(corpsetype); +armbanth.bos: corpsetype = 3 ; +armbanth.bos: return(corpsetype); +armbanth.bos: corpsetype = 3 ; +armbanth.bos: return corpsetype; +Binary file armbanth.cob matches +armbats.bos:SetDirection(heading) +armbats.bos:SetMaxReloadTime(Func_Var_1) +armbats.bos: set-signal-mask SIG_MOVE; +armbats.bos: set-signal-mask SIG_AIM; +armbats.bos: set-signal-mask SIG_AIM_2; +armbats.bos:Killed(severity, corpsetype) +armbats.bos: corpsetype = 1 ; +armbats.bos: return(corpsetype); +armbats.bos: corpsetype = 2 ; +armbats.bos: return(corpsetype); +armbats.bos: corpsetype = 3 ; +armbats.bos: return(corpsetype); +armbats.bos: corpsetype = 3 ; +armbats.bos: return corpsetype; +Binary file armbats.cob matches +armbeamer.bos: set-signal-mask SIG_AIM; +armbeamer.bos:Killed(severity, corpsetype) +armbeamer.bos: corpsetype = 1 ; +armbeamer.bos: return(corpsetype); +armbeamer.bos: corpsetype = 2 ; +armbeamer.bos: return(corpsetype); +armbeamer.bos: corpsetype = 3 ; +armbeamer.bos: return(corpsetype); +armbeamer.bos: corpsetype = 3 ; +armbeamer.bos: return corpsetype; +armbeaver.bos: set INBUILDSTANCE to 0; +armbeaver.bos: set INBUILDSTANCE to 1; +armbeaver.bos: set-signal-mask SIG_BUILD; +armbeaver.bos: set-signal-mask 0; +armbeaver.bos:Killed(severity, corpsetype) +armbeaver.bos: corpsetype = 1 ; +armbeaver.bos: return(corpsetype); +armbeaver.bos: corpsetype = 2 ; +armbeaver.bos: return(corpsetype); +armbeaver.bos: corpsetype = 3 ; +armbeaver.bos: return(corpsetype); +armbeaver.bos: corpsetype = 3 ; +armbeaver.bos: return corpsetype; +armblade.bos: set-signal-mask SIG_MOVE; +armblade.bos: set-signal-mask SIG_MOVE; +armblade.bos: set-signal-mask SIG_MOVE; +armblade.bos:Killed(severity, corpsetype) +armblade.bos: corpsetype = 1 ; +armblade.bos: return(corpsetype); +armblade.bos: corpsetype = 2 ; +armblade.bos: return(corpsetype); +armblade.bos: corpsetype = 3 ; +armblade.bos: return(corpsetype); +armblade.bos: corpsetype = 3 ; +armblade.bos: return corpsetype; +armbrawl.bos:SetStunned(State) +armbrawl.bos: set-signal-mask SIG_AIM; +armbrawl.bos:Killed(severity, corpsetype) +armbrawl.bos: corpsetype = 1 ; +armbrawl.bos: return(corpsetype); +armbrawl.bos: corpsetype = 2 ; +armbrawl.bos: return(corpsetype); +armbrawl.bos: corpsetype = 3 ; +armbrawl.bos: return(corpsetype); +armbrawl.bos: corpsetype = 3 ; +armbrawl.bos: return corpsetype; +Binary file armbrawl.cob matches +armbrtha.bos: set-signal-mask SIG_AIM; +armbrtha.bos:Killed(severity, corpsetype) +armbrtha.bos: corpsetype = 1 ; +armbrtha.bos: return(corpsetype); +armbrtha.bos: corpsetype = 2 ; +armbrtha.bos: return(corpsetype); +armbrtha.bos: corpsetype = 3 ; +armbrtha.bos: return(corpsetype); +armbrtha.bos: corpsetype = 3 ; +armbrtha.bos: return corpsetype; +armbull.bos:setSFXoccupy(state) +armbull.bos:SetMaxReloadTime(Func_Var_1) +armbull.bos: set-signal-mask 0; +armbull.bos:SetStunned(State) +armbull.bos: set-signal-mask SIG_AIM; +armbull.bos:Killed(severity, corpsetype) +armbull.bos: corpsetype = 1 ; +armbull.bos: return(corpsetype); +armbull.bos: corpsetype = 2 ; +armbull.bos: return(corpsetype); +armbull.bos: corpsetype = 3 ; +armbull.bos: return(corpsetype); +armbull.bos: corpsetype = 3 ; +armbull.bos: return corpsetype; +Binary file armbull.cob matches +armca.bos: set INBUILDSTANCE to 1; +armca.bos: set-signal-mask SIG_BUILD; +armca.bos: set-signal-mask 0; +armca.bos: set INBUILDSTANCE to 0; +armca.bos:Killed(severity, corpsetype) +armca.bos: corpsetype = 1 ; +armca.bos: return(corpsetype); +armca.bos: corpsetype = 2 ; +armca.bos: return(corpsetype); +armca.bos: corpsetype = 3 ; +armca.bos: return(corpsetype); +armca.bos: corpsetype = 3 ; +armca.bos: return corpsetype; +armcarry.bos:SetDirection(heading) +armcarry.bos: set-signal-mask 0; +armcarry.bos:SetStunned(State) +armcarry.bos: set-signal-mask SIG_MOVE; +armcarry.bos: set-signal-mask SIG_AIM_2; +armcarry.bos:Killed(severity, corpsetype) +armcarry.bos: corpsetype = 1 ; +armcarry.bos: return(corpsetype); +armcarry.bos: corpsetype = 2 ; +armcarry.bos: return(corpsetype); +armcarry.bos: corpsetype = 3 ; +armcarry.bos: return(corpsetype); +armcarry.bos: corpsetype = 3 ; +armcarry.bos: return corpsetype; +Binary file armcarry.cob matches +armch.bos: // Set values for tilt +armch.bos: set INBUILDSTANCE to 0; +armch.bos: set-signal-mask SIG_MOVE; +armch.bos:setSFXoccupy(state) +armch.bos: set INBUILDSTANCE to 1; +armch.bos: set-signal-mask SIG_BUILD; +armch.bos: set-signal-mask 0; +armch.bos:Killed(severity, corpsetype) +armch.bos: corpsetype = 1 ; +armch.bos: return(corpsetype); +armch.bos: corpsetype = 2 ; +armch.bos: return(corpsetype); +armch.bos: corpsetype = 3 ; +armch.bos: return(corpsetype); +armch.bos: corpsetype = 3 ; +armch.bos: return corpsetype; +Binary file armch.cob matches +armcir.bos:SetStunned(State) +armcir.bos: set-signal-mask SIG_AIM; +armcir.bos:Killed(severity, corpsetype) +armcir.bos: corpsetype = 1 ; +armcir.bos: return(corpsetype); +armcir.bos: corpsetype = 2 ; +armcir.bos: return(corpsetype); +armcir.bos: corpsetype = 3 ; +armcir.bos: return(corpsetype); +armcir.bos: corpsetype = 3 ; +armcir.bos: return corpsetype; +Binary file armcir.cob matches +armck.bos: set-signal-mask SIG_WALK; +armck.bos: set INBUILDSTANCE to 0; +armck.bos: set INBUILDSTANCE to 1; +armck.bos: set-signal-mask SIG_BUILD; +armck.bos: set-signal-mask 0; +armck.bos:Killed(severity, corpsetype) +armck.bos: corpsetype = 1 ; +armck.bos: return(corpsetype); +armck.bos: corpsetype = 2 ; +armck.bos: return(corpsetype); +armck.bos: corpsetype = 3 ; +armck.bos: return(corpsetype); +armck.bos: corpsetype = 3 ; +armck.bos: return corpsetype; +armckfus.bos: set ARMORED to 1; +armckfus.bos: set ARMORED to 0; +armckfus.bos:Killed(severity, corpsetype) +armckfus.bos: corpsetype = 1 ; +armckfus.bos: return(corpsetype); +armckfus.bos: corpsetype = 2 ; +armckfus.bos: return(corpsetype); +armckfus.bos: corpsetype = 3 ; +armckfus.bos: return(corpsetype); +armckfus.bos: corpsetype = 3 ; +armckfus.bos: return corpsetype; +armclaw.bos: set ARMORED to 0; +armclaw.bos: set ARMORED to 1; +armclaw.bos: set-signal-mask 0; +armclaw.bos:SetStunned(State) +armclaw.bos:SetMaxReloadTime(Func_Var_1) +armclaw.bos: set-signal-mask SIG_AIM; +armclaw.bos:Killed(severity, corpsetype) +armclaw.bos: corpsetype = 1 ; +armclaw.bos: return(corpsetype); +armclaw.bos: corpsetype = 2 ; +armclaw.bos: return(corpsetype); +armclaw.bos: corpsetype = 3 ; +armclaw.bos: return(corpsetype); +armclaw.bos: corpsetype = 3 ; +armclaw.bos: return corpsetype; +Binary file armclaw.cob matches +armcom.bos: set-signal-mask SIG_WALK; +armcom.bos: set-signal-mask SIG_AIM; +armcom.bos: set-signal-mask SIG_AIM; +armcom.bos: set-signal-mask SIG_AIM; +armcom.bos: set-signal-mask SIG_AIM; +armcom.bos: set-signal-mask SIG_AIM; +armcom.bos: //set-signal-mask SIG_AIM; +armcom.bos: set INBUILDSTANCE to 1; +armcom.bos: set-signal-mask SIG_AIM; +armcom.bos: set INBUILDSTANCE to 0; +armcom.bos: set-signal-mask SIG_AIM; +armcom.bos:Killed( severity, corpsetype ) +armcom.bos: corpsetype = 1; +armcom.bos: return(corpsetype); +armcom_lus.lua: SetSignalMask(SIG_AIM) +armcom_lus.lua: SetSignalMask(SIG_AIM) +armcom_lus.lua: SetSignalMask(SIG_AIM) +armcom_lus.lua: Spring.UnitScript.SetUnitValue(COB.INBUILDSTANCE, true) +armcom_lus.lua: Spring.UnitScript.SetUnitValue(COB.INBUILDSTANCE, false) +armcom_lus.lua: SetSignalMask(SIG_AIM) +armcom_lus.lua: SetSignalMask(SIG_AIM) +armcomboss.bos: set-signal-mask SIG_WALK; +armcomboss.bos: set-signal-mask SIG_AIM; +armcomboss.bos: set-signal-mask SIG_AIM; +armcomboss.bos: set-signal-mask SIG_AIM; +armcomboss.bos: set-signal-mask SIG_AIM; +armcomboss.bos: set-signal-mask SIG_AIM; +armcomboss.bos: //set-signal-mask SIG_AIM; +armcomboss.bos: set INBUILDSTANCE to 1; +armcomboss.bos: set-signal-mask SIG_AIM; +armcomboss.bos: set INBUILDSTANCE to 0; +armcomboss.bos: set-signal-mask SIG_AIM; +armcomboss.bos:Killed( severity, corpsetype ) +armcomboss.bos: corpsetype = 1; +armcomboss.bos: return(corpsetype); +armconsul.bos: set INBUILDSTANCE to 1; +armconsul.bos: set INBUILDSTANCE to 0; +armconsul.bos:Killed(severity, corpsetype) +armconsul.bos: corpsetype = 1 ; +armconsul.bos: return(corpsetype); +armconsul.bos: corpsetype = 2 ; +armconsul.bos: return(corpsetype); +armconsul.bos: corpsetype = 3 ; +armconsul.bos: return(corpsetype); +armconsul.bos: corpsetype = 3 ; +armconsul.bos: return corpsetype; +armcroc.bos:SetMaxReloadTime(Func_Var_1) +armcroc.bos:SetStunned(State) +armcroc.bos: set-signal-mask SIG_AIM; +armcroc.bos:Killed(severity, corpsetype) +armcroc.bos: corpsetype = 1 ; +armcroc.bos: return(corpsetype); +armcroc.bos: corpsetype = 2 ; +armcroc.bos: return(corpsetype); +armcroc.bos: corpsetype = 3 ; +armcroc.bos: return(corpsetype); +armcroc.bos: corpsetype = 3 ; +armcroc.bos: return corpsetype; +Binary file armcroc.cob matches +armcrus.bos:SetDirection(heading) +armcrus.bos: set-signal-mask 16; +armcrus.bos:SetMaxReloadTime(Func_Var_1) +armcrus.bos: set-signal-mask 0; +armcrus.bos:SetStunned(State) +armcrus.bos: set-signal-mask 0; +armcrus.bos: set-signal-mask SIG_MOVE; +armcrus.bos: set-signal-mask SIG_AIM_2; +armcrus.bos: set-signal-mask SIG_AIM; +armcrus.bos:Killed(severity, corpsetype) +armcrus.bos: corpsetype = 1 ; +armcrus.bos: return(corpsetype); +armcrus.bos: corpsetype = 2 ; +armcrus.bos: return(corpsetype); +armcrus.bos: corpsetype = 3 ; +armcrus.bos: return(corpsetype); +armcrus.bos: corpsetype = 3 ; +armcrus.bos: return corpsetype; +Binary file armcrus.cob matches +armcs.bos: set INBUILDSTANCE to 0; +armcs.bos:SetDirection(heading) +armcs.bos: set-signal-mask SIG_MOVE; +armcs.bos: set INBUILDSTANCE to 1; +armcs.bos: set-signal-mask SIG_BUILD; +armcs.bos: set-signal-mask 0; +armcs.bos:Killed(severity, corpsetype) +armcs.bos: corpsetype = 1 ; +armcs.bos: return(corpsetype); +armcs.bos: corpsetype = 2 ; +armcs.bos: return(corpsetype); +armcs.bos: corpsetype = 3 ; +armcs.bos: return(corpsetype); +armcs.bos: corpsetype = 3 ; +armcs.bos: return corpsetype; +Binary file armcs.cob matches +armcsa.bos: set-signal-mask SIG_MOVE; +armcsa.bos: set INBUILDSTANCE to 1; +armcsa.bos: set INBUILDSTANCE to 0; +armcsa.bos:Killed(severity, corpsetype) +armcsa.bos: corpsetype = 1 ; +armcsa.bos: return(corpsetype); +armcsa.bos: corpsetype = 2 ; +armcsa.bos: return(corpsetype); +armcsa.bos: corpsetype = 3 ; +armcsa.bos: return(corpsetype); +armcsa.bos: corpsetype = 3 ; +armcsa.bos: return corpsetype; +armcv.bos: set INBUILDSTANCE to 0; +armcv.bos: set INBUILDSTANCE to 1; +armcv.bos: set-signal-mask SIG_BUILD; +armcv.bos: set-signal-mask 0; +armcv.bos:Killed(severity, corpsetype) +armcv.bos: corpsetype = 1 ; +armcv.bos: return(corpsetype); +armcv.bos: corpsetype = 2 ; +armcv.bos: return(corpsetype); +armcv.bos: corpsetype = 3 ; +armcv.bos: return(corpsetype); +armcv.bos: corpsetype = 3 ; +armcv.bos: return corpsetype; +armdecade.bos:SetDirection(heading) +armdecade.bos:SetMaxReloadTime(Func_Var_1) +armdecade.bos:SetStunned(State) +armdecade.bos: set-signal-mask SIG_MOVE; +armdecade.bos: set-signal-mask SIG_AIM; +armdecade.bos: set-signal-mask SIG_AIM_2; +armdecade.bos:Killed(severity, corpsetype) +armdecade.bos: corpsetype = 1 ; +armdecade.bos: return(corpsetype); +armdecade.bos: corpsetype = 2 ; +armdecade.bos: return(corpsetype); +armdecade.bos: corpsetype = 3 ; +armdecade.bos: return(corpsetype); +armdecade.bos: corpsetype = 3 ; +armdecade.bos: return corpsetype; +Binary file armdecade.cob matches +armdecom.lua: Spring.SetUnitNanoPieces( unitID, {nano} ) +armdecom.lua: SetSignalMask(SIG_AIM) +armdecom.lua:Spring.SetUnitNanoPieces( unitID, {nano} ) +armdecom.lua: SetUnitValue(COB.INBUILDSTANCE, 1) +armdecom.lua: SetUnitValue(COB.INBUILDSTANCE, 0) +armdecom.lua: -- reset parts +armdf.bos: set ARMORED to 1; +armdf.bos: set ARMORED to 0; +armdf.bos:Killed(severity, corpsetype) +armdf.bos: corpsetype = 1; +armdf.bos: return (corpsetype); +armdf.bos: corpsetype = 2; +armdf.bos: return (corpsetype); +armdf.bos: corpsetype = 3; +armdf.bos: return (corpsetype); +armdf.bos: corpsetype = 3; +armdf.bos: return (corpsetype); +armdfly.bos:Killed(severity, corpsetype) +armdfly.bos: corpsetype = 1; +armdfly.bos: return (corpsetype); +armdfly.bos: corpsetype = 2; +armdfly.bos: return (corpsetype); +armdfly.bos: corpsetype = 3; +armdfly.bos: return (corpsetype); +armdfly.bos: corpsetype = 3; +armdfly.bos: return corpsetype; +armdl.bos: set-signal-mask SIG_AIM; +armdl.bos:Killed(severity, corpsetype) +armdl.bos: corpsetype = 1 ; +armdl.bos: return(corpsetype); +armdl.bos: corpsetype = 2 ; +armdl.bos: return(corpsetype); +armdl.bos: corpsetype = 3 ; +armdl.bos: return(corpsetype); +armdl.bos: corpsetype = 3 ; +armdl.bos: return corpsetype; +armemp.bos:SetMaxReloadTime(Func_Var_1) +armemp.bos: set-signal-mask 0; +armemp.bos:SetStunned(State) +armemp.bos: set-signal-mask SIG_AIM; +armemp.bos:Killed(severity, corpsetype) +armemp.bos: corpsetype = 1 ; +armemp.bos: return(corpsetype); +armemp.bos: corpsetype = 2 ; +armemp.bos: return(corpsetype); +armemp.bos: corpsetype = 3 ; +armemp.bos: return(corpsetype); +armemp.bos: corpsetype = 3 ; +armemp.bos: return corpsetype; +Binary file armemp.cob matches +armepoch.bos:SetDirection(heading) +armepoch.bos: set ARMORED to 1; +armepoch.bos:SetMaxReloadTime(Func_Var_1) +armepoch.bos:SetStunned(State) +armepoch.bos: set-signal-mask SIG_MOVE; +armepoch.bos: set-signal-mask 2; +armepoch.bos: set-signal-mask 4; +armepoch.bos: set-signal-mask 8; +armepoch.bos: set-signal-mask 16; +armepoch.bos: set-signal-mask 32; +armepoch.bos: set-signal-mask 64; +armepoch.bos: set-signal-mask 128; +armepoch.bos:Killed(severity, corpsetype) +armepoch.bos: corpsetype = 1 ; +armepoch.bos: return(corpsetype); +armepoch.bos: corpsetype = 2 ; +armepoch.bos: return(corpsetype); +armepoch.bos: corpsetype = 3 ; +armepoch.bos: return(corpsetype); +armepoch.bos: corpsetype = 3 ; +armepoch.bos: return corpsetype; +Binary file armepoch.cob matches +armestor.bos:Killed(severity, corpsetype) +armestor.bos: corpsetype = 1 ; +armestor.bos: return(corpsetype); +armestor.bos: corpsetype = 2 ; +armestor.bos: return(corpsetype); +armestor.bos: corpsetype = 3 ; +armestor.bos: return(corpsetype); +armestor.bos: corpsetype = 3 ; +armestor.bos: return corpsetype; +armeyes.bos:Killed(severity, corpsetype) +armeyes.bos: corpsetype = 1 ; +armeyes.bos: return(corpsetype); +armeyes.bos: corpsetype = 2 ; +armeyes.bos: return(corpsetype); +armeyes.bos: corpsetype = 3 ; +armeyes.bos: return(corpsetype); +armeyes.bos: corpsetype = 3 ; +armeyes.bos: return corpsetype; +armfark.bos: set INBUILDSTANCE to 0; +armfark.bos: set-signal-mask SIG_BUILD; +armfark.bos: set INBUILDSTANCE to 1; +armfark.bos: set-signal-mask SIG_BUILD; +armfark.bos:Killed(severity, corpsetype) +armfark.bos: corpsetype = 1 ; +armfark.bos: return(corpsetype); +armfark.bos: corpsetype = 2 ; +armfark.bos: return(corpsetype); +armfark.bos: corpsetype = 3 ; +armfark.bos: return(corpsetype); +armfark.bos: corpsetype = 3 ; +armfark.bos: return corpsetype; +armfast.bos:SetMaxReloadTime(Func_Var_1) +armfast.bos:SetStunned(State) +armfast.bos: set-signal-mask SIG_AIM; +armfast.bos:Killed(severity, corpsetype) +armfast.bos: corpsetype = 1 ; +armfast.bos: return(corpsetype); +armfast.bos: corpsetype = 2 ; +armfast.bos: return(corpsetype); +armfast.bos: corpsetype = 3 ; +armfast.bos: return(corpsetype); +armfast.bos: corpsetype = 3 ; +armfast.bos: return corpsetype; +Binary file armfast.cob matches +armfatf.bos:Killed(severity, corpsetype) +armfatf.bos: corpsetype = 1 ; +armfatf.bos: return(corpsetype); +armfatf.bos: corpsetype = 2 ; +armfatf.bos: return(corpsetype); +armfatf.bos: corpsetype = 3 ; +armfatf.bos: return(corpsetype); +armfatf.bos: corpsetype = 3 ; +armfatf.bos: return corpsetype; +armfav.bos: set-signal-mask SIG_MOVE; +armfav.bos:SetMaxReloadTime(Func_Var_1) +armfav.bos:SetStunned(State) +armfav.bos: set-signal-mask SIG_AIM; +armfav.bos:Killed(severity, corpsetype) +armfav.bos: corpsetype = 1 ; +armfav.bos: return(corpsetype); +armfav.bos: corpsetype = 2 ; +armfav.bos: return(corpsetype); +armfav.bos: corpsetype = 3 ; +armfav.bos: return(corpsetype); +armfav.bos: corpsetype = 3 ; +armfav.bos: return corpsetype; +Binary file armfav.cob matches +armfboy.bos: //set-signal-mask SIG_WALK; +armfboy.bos:SetMaxReloadTime(Func_Var_1) +armfboy.bos:SetStunned(State) +armfboy.bos: set-signal-mask SIG_AIM; +armfboy.bos:Killed(severity, corpsetype) +armfboy.bos: corpsetype = 1 ; +armfboy.bos: return(corpsetype); +armfboy.bos: corpsetype = 2 ; +armfboy.bos: return(corpsetype); +armfboy.bos: corpsetype = 3 ; +armfboy.bos: return(corpsetype); +armfboy.bos: corpsetype = 3 ; +armfboy.bos: return corpsetype; +Binary file armfboy.cob matches +armferret.bos: set ARMORED to 0; +armferret.bos: set ARMORED to 1; +armferret.bos: set-signal-mask 0; +armferret.bos:SetStunned(State) +armferret.bos: set-signal-mask SIG_AIM; +armferret.bos:SetMaxReloadTime(Func_Var_1) +armferret.bos: set-signal-mask SIG_AIM; +armferret.bos:Killed(severity, corpsetype) +armferret.bos: corpsetype = 1 ; +armferret.bos: return(corpsetype); +armferret.bos: corpsetype = 2 ; +armferret.bos: return(corpsetype); +armferret.bos: corpsetype = 3 ; +armferret.bos: return(corpsetype); +armferret.bos: corpsetype = 3 ; +armferret.bos: return corpsetype; +Binary file armferret.cob matches +armfflak.bos:SetStunned(State) +armfflak.bos: set-signal-mask SIG_AIM; +armfflak.bos:Killed(severity, corpsetype) +armfflak.bos: corpsetype = 1 ; +armfflak.bos: return(corpsetype); +armfflak.bos: corpsetype = 2 ; +armfflak.bos: return(corpsetype); +armfflak.bos: corpsetype = 3 ; +armfflak.bos: return(corpsetype); +armfflak.bos: corpsetype = 3 ; +armfflak.bos: return corpsetype; +Binary file armfflak.cob matches +armfgate.bos:Killed(severity, corpsetype) +armfgate.bos: corpsetype = 1 ; +armfgate.bos: return(corpsetype); +armfgate.bos: corpsetype = 2 ; +armfgate.bos: return(corpsetype); +armfgate.bos: corpsetype = 3 ; +armfgate.bos: return(corpsetype); +armfgate.bos: corpsetype = 3 ; +armfgate.bos: return corpsetype; +armfhlt.bos: set-signal-mask SIG_AIM; +armfhlt.bos:Killed(severity, corpsetype) +armfhlt.bos: corpsetype = 1 ; +armfhlt.bos: return(corpsetype); +armfhlt.bos: corpsetype = 2 ; +armfhlt.bos: return(corpsetype); +armfhlt.bos: corpsetype = 3 ; +armfhlt.bos: return(corpsetype); +armfhlt.bos: corpsetype = 3 ; +armfhlt.bos: return corpsetype; +armfhp.bos: set YARD_OPEN to 1; +armfhp.bos: set BUGGER_OFF to 1; +armfhp.bos: set YARD_OPEN to 1; +armfhp.bos: set BUGGER_OFF to 0; +armfhp.bos: set YARD_OPEN to 0; +armfhp.bos: set BUGGER_OFF to 1; +armfhp.bos: set YARD_OPEN to 0; +armfhp.bos: set BUGGER_OFF to 0; +armfhp.bos: set INBUILDSTANCE to 1; +armfhp.bos: set INBUILDSTANCE to 0; +armfhp.bos: set-signal-mask SIG_ACTIVATE; +armfhp.bos: set-signal-mask 0; +armfhp.bos:Killed(severity, corpsetype) +armfhp.bos: corpsetype = 1 ; +armfhp.bos: return(corpsetype); +armfhp.bos: corpsetype = 2 ; +armfhp.bos: return(corpsetype); +armfhp.bos: corpsetype = 3 ; +armfhp.bos: return(corpsetype); +armfhp.bos: corpsetype = 3 ; +armfhp.bos: return corpsetype; +armfido.bos: //set-signal-mask SIG_WALK; +armfido.bos: set-signal-mask 0; +armfido.bos:SetStunned(State) +armfido.bos: set-signal-mask SIG_AIM; +armfido.bos:SetMaxReloadTime(Func_Var_1) +armfido.bos:Killed(severity, corpsetype) +armfido.bos: corpsetype = 1; +armfido.bos: return (corpsetype); +armfido.bos: corpsetype = 2; +armfido.bos: return (corpsetype); +armfido.bos: corpsetype = 3; +armfido.bos: return (corpsetype); +armfido.bos: corpsetype = 3; +armfido.bos: return corpsetype; +Binary file armfido.cob matches +armfig.bos:Killed(severity, corpsetype) +armfig.bos: corpsetype = 1 ; +armfig.bos: return(corpsetype); +armfig.bos: corpsetype = 2 ; +armfig.bos: return(corpsetype); +armfig.bos: corpsetype = 3 ; +armfig.bos: return(corpsetype); +armfig.bos: corpsetype = 3 ; +armfig.bos: return corpsetype; +armflak.bos:SetStunned(State) +armflak.bos: set-signal-mask SIG_AIM; +armflak.bos:Killed(severity, corpsetype) +armflak.bos: corpsetype = 1 ; +armflak.bos: return(corpsetype); +armflak.bos: corpsetype = 2 ; +armflak.bos: return(corpsetype); +armflak.bos: corpsetype = 3 ; +armflak.bos: return(corpsetype); +armflak.bos: corpsetype = 3 ; +armflak.bos: return corpsetype; +Binary file armflak.cob matches +armflash.bos:SetMaxReloadTime(Func_Var_1) +armflash.bos:SetStunned(State) +armflash.bos: set-signal-mask SIG_AIM; +armflash.bos:Killed(severity, corpsetype) +armflash.bos: corpsetype = 1 ; +armflash.bos: return(corpsetype); +armflash.bos: corpsetype = 2 ; +armflash.bos: return(corpsetype); +armflash.bos: corpsetype = 3 ; +armflash.bos: return(corpsetype); +armflash.bos: corpsetype = 3 ; +armflash.bos: return corpsetype; +Binary file armflash.cob matches +armflea.bos: set-signal-mask SIG_WALK; +armflea.bos:SetMaxReloadTime(Func_Var_1) +armflea.bos:SetStunned(State) +armflea.bos: set-signal-mask SIG_AIM; +armflea.bos:Killed(severity, corpsetype) +armflea.bos: corpsetype = 1 ; +armflea.bos: return(corpsetype); +armflea.bos: corpsetype = 2 ; +armflea.bos: return(corpsetype); +armflea.bos: corpsetype = 3 ; +armflea.bos: return(corpsetype); +armflea.bos: corpsetype = 3 ; +armflea.bos: return corpsetype; +Binary file armflea.cob matches +armfmkr.bos:Killed(severity, corpsetype) +armfmkr.bos: corpsetype = 1 ; +armfmkr.bos: return(corpsetype); +armfmkr.bos: corpsetype = 2 ; +armfmkr.bos: return(corpsetype); +armfmkr.bos: corpsetype = 3 ; +armfmkr.bos: return(corpsetype); +armfmkr.bos: corpsetype = 3 ; +armfmkr.bos: return corpsetype; +armfrad.bos:Killed(severity, corpsetype) +armfrad.bos: corpsetype = 1 ; +armfrad.bos: return(corpsetype); +armfrad.bos: corpsetype = 2 ; +armfrad.bos: return(corpsetype); +armfrad.bos: corpsetype = 3 ; +armfrad.bos: return(corpsetype); +armfrad.bos: corpsetype = 3 ; +armfrad.bos: return corpsetype; +armfrock.bos: set-signal-mask SIG_AIM; +armfrock.bos:Killed(severity, corpsetype) +armfrock.bos: corpsetype = 1; +armfrock.bos: return (corpsetype); +armfrock.bos: corpsetype = 2; +armfrock.bos: return (corpsetype); +armfrock.bos: corpsetype = 3; +armfrock.bos: return (corpsetype); +armfrock.bos: corpsetype = 3; +armfrock.bos: return (corpsetype); +armfrt.bos:SetStunned(State) +armfrt.bos: set-signal-mask SIG_AIM; +armfrt.bos:Killed(severity, corpsetype) +armfrt.bos: corpsetype = 1 ; +armfrt.bos: return(corpsetype); +armfrt.bos: corpsetype = 2 ; +armfrt.bos: return(corpsetype); +armfrt.bos: corpsetype = 3 ; +armfrt.bos: return(corpsetype); +armfrt.bos: corpsetype = 3 ; +armfrt.bos: return corpsetype; +Binary file armfrt.cob matches +armfus.bos: set ARMORED to 1; +armfus.bos: set ARMORED to 0; +armfus.bos:Killed(severity, corpsetype) +armfus.bos: corpsetype = 1 ; +armfus.bos: return(corpsetype); +armfus.bos: corpsetype = 2 ; +armfus.bos: return(corpsetype); +armfus.bos: corpsetype = 3 ; +armfus.bos: return(corpsetype); +armfus.bos: corpsetype = 3 ; +armfus.bos: return corpsetype; +armgate.bos:Killed(severity, corpsetype) +armgate.bos: corpsetype = 1 ; +armgate.bos: return(corpsetype); +armgate.bos: corpsetype = 2 ; +armgate.bos: return(corpsetype); +armgate.bos: corpsetype = 3 ; +armgate.bos: return(corpsetype); +armgate.bos: corpsetype = 3 ; +armgate.bos: return corpsetype; +armgeo.bos:Killed(severity, corpsetype) +armgeo.bos: corpsetype = 1 ; +armgeo.bos: return(corpsetype); +armgeo.bos: corpsetype = 2 ; +armgeo.bos: return(corpsetype); +armgeo.bos: corpsetype = 3 ; +armgeo.bos: return(corpsetype); +armgeo.bos: corpsetype = 3 ; +armgeo.bos: return corpsetype; +armgmm.bos: set-signal-mask 2; +armgmm.bos: set ARMORED to 0; +armgmm.bos: set ARMORED to 1; +armgmm.bos:Killed(severity, corpsetype) +armgmm.bos: corpsetype = 1 ; +armgmm.bos: return(corpsetype); +armgmm.bos: corpsetype = 2 ; +armgmm.bos: return(corpsetype); +armgmm.bos: corpsetype = 3 ; +armgmm.bos: return(corpsetype); +armgmm.bos: corpsetype = 3 ; +armgmm.bos: return corpsetype; +armgplat.bos:SetMaxReloadTime(Func_Var_1) +armgplat.bos:SetStunned(State) +armgplat.bos: set-signal-mask SIG_AIM; +armgplat.bos:Killed(severity, corpsetype) +armgplat.bos: corpsetype = 1 ; +armgplat.bos: return(corpsetype); +armgplat.bos: corpsetype = 2 ; +armgplat.bos: return(corpsetype); +armgplat.bos: corpsetype = 3 ; +armgplat.bos: return(corpsetype); +armgplat.bos: corpsetype = 3 ; +armgplat.bos: return corpsetype; +Binary file armgplat.cob matches +armgremlin.bos:SetMaxReloadTime(Func_Var_1) +armgremlin.bos: set-signal-mask 0; +armgremlin.bos:SetStunned(State) +armgremlin.bos: set-signal-mask SIG_AIM; +armgremlin.bos:Killed(severity, corpsetype) +armgremlin.bos: corpsetype = 1 ; +armgremlin.bos: return(corpsetype); +armgremlin.bos: corpsetype = 2 ; +armgremlin.bos: return(corpsetype); +armgremlin.bos: corpsetype = 3 ; +armgremlin.bos: return(corpsetype); +armgremlin.bos: corpsetype = 3 ; +armgremlin.bos: return corpsetype; +Binary file armgremlin.cob matches +armguard.bos:Killed(severity, corpsetype) +armguard.bos: corpsetype = 1 ; +armguard.bos: return(corpsetype); +armguard.bos: corpsetype = 2 ; +armguard.bos: return(corpsetype); +armguard.bos: corpsetype = 3 ; +armguard.bos: return(corpsetype); +armguard.bos: corpsetype = 3 ; +armguard.bos: return corpsetype; +armham.bos: set-signal-mask SIG_WALK; +armham.bos:SetMaxReloadTime(Func_Var_1) +armham.bos: set-signal-mask 0; +armham.bos:SetStunned(State) +armham.bos: set-signal-mask SIG_AIM; +armham.bos:Killed(severity, corpsetype) +armham.bos: corpsetype = 1 ; +armham.bos: return(corpsetype); +armham.bos: corpsetype = 2 ; +armham.bos: return(corpsetype); +armham.bos: corpsetype = 3 ; +armham.bos: return(corpsetype); +armham.bos: corpsetype = 3 ; +armham.bos: return corpsetype; +Binary file armham.cob matches +armhawk.bos:Killed(severity, corpsetype) +armhawk.bos: corpsetype = 1 ; +armhawk.bos: return(corpsetype); +armhawk.bos: corpsetype = 2 ; +armhawk.bos: return(corpsetype); +armhawk.bos: corpsetype = 3 ; +armhawk.bos: return(corpsetype); +armhawk.bos: corpsetype = 3 ; +armhawk.bos: return corpsetype; +armhlt.bos: set-signal-mask SIG_AIM; +armhlt.bos:Killed(severity, corpsetype) +armhlt.bos: corpsetype = 1 ; +armhlt.bos: return(corpsetype); +armhlt.bos: corpsetype = 2 ; +armhlt.bos: return(corpsetype); +armhlt.bos: corpsetype = 3 ; +armhlt.bos: return(corpsetype); +armhlt.bos: corpsetype = 3 ; +armhlt.bos: return corpsetype; +armhp.bos: set YARD_OPEN to 1; +armhp.bos: set BUGGER_OFF to 1; +armhp.bos: set YARD_OPEN to 1; +armhp.bos: set BUGGER_OFF to 0; +armhp.bos: set YARD_OPEN to 0; +armhp.bos: set BUGGER_OFF to 1; +armhp.bos: set YARD_OPEN to 0; +armhp.bos: set BUGGER_OFF to 0; +armhp.bos: set INBUILDSTANCE to 1; +armhp.bos: set INBUILDSTANCE to 0; +armhp.bos: set-signal-mask SIG_ACTIVATE; +armhp.bos: set-signal-mask 0; +armhp.bos:Killed(severity, corpsetype) +armhp.bos: corpsetype = 1 ; +armhp.bos: return(corpsetype); +armhp.bos: corpsetype = 2 ; +armhp.bos: return(corpsetype); +armhp.bos: corpsetype = 3 ; +armhp.bos: return(corpsetype); +armhp.bos: corpsetype = 3 ; +armhp.bos: return corpsetype; +armjam.bos: // Set values for tilt +armjam.bos: // Set Values for differential system +armjam.bos: set ACTIVATION to 0; +armjam.bos: set-signal-mask 2; +armjam.bos: set ACTIVATION to 0; +armjam.bos: set ACTIVATION to 100; +armjam.bos:Killed(severity, corpsetype) +armjam.bos: corpsetype = 1 ; +armjam.bos: return(corpsetype); +armjam.bos: corpsetype = 2 ; +armjam.bos: return(corpsetype); +armjam.bos: corpsetype = 3 ; +armjam.bos: return(corpsetype); +armjam.bos: corpsetype = 3 ; +armjam.bos: return corpsetype; +armjamt.bos:Killed(severity, corpsetype) +armjamt.bos: corpsetype = 1 ; +armjamt.bos: return(corpsetype); +armjamt.bos: corpsetype = 2 ; +armjamt.bos: return(corpsetype); +armjamt.bos: corpsetype = 3 ; +armjamt.bos: return(corpsetype); +armjamt.bos: corpsetype = 3 ; +armjamt.bos: return corpsetype; +armjanus.bos:SetMaxReloadTime(Func_Var_1) +armjanus.bos:SetStunned(State) +armjanus.bos: set-signal-mask SIG_AIM; +armjanus.bos: set-signal-mask SIG_AIM_2; +armjanus.bos:Killed(severity, corpsetype) +armjanus.bos: corpsetype = 1 ; +armjanus.bos: return(corpsetype); +armjanus.bos: corpsetype = 2 ; +armjanus.bos: return(corpsetype); +armjanus.bos: corpsetype = 3 ; +armjanus.bos: return(corpsetype); +armjanus.bos: corpsetype = 3 ; +armjanus.bos: return corpsetype; +Binary file armjanus.cob matches +armjeth.bos: set-signal-mask SIG_WALK; +armjeth.bos:SetMaxReloadTime(Func_Var_1) +armjeth.bos: set-signal-mask 0; +armjeth.bos:SetStunned(State) +armjeth.bos: set-signal-mask SIG_AIM_3; +armjeth.bos:Killed(severity, corpsetype) +armjeth.bos: corpsetype = 1 ; +armjeth.bos: return(corpsetype); +armjeth.bos: corpsetype = 2 ; +armjeth.bos: return(corpsetype); +armjeth.bos: corpsetype = 3 ; +armjeth.bos: return(corpsetype); +armjeth.bos: corpsetype = 3 ; +armjeth.bos: return corpsetype; +Binary file armjeth.cob matches +armjuno.bos:SetMaxReloadTime(Func_Var_1) +armjuno.bos: set-signal-mask 0; +armjuno.bos:SetStunned(State) +armjuno.bos: set-signal-mask SIG_AIM; +armjuno.bos:Killed(severity, corpsetype) +armjuno.bos: corpsetype = 1 ; +armjuno.bos: return(corpsetype); +armjuno.bos: corpsetype = 2 ; +armjuno.bos: return(corpsetype); +armjuno.bos: corpsetype = 3 ; +armjuno.bos: return(corpsetype); +armjuno.bos: corpsetype = 3 ; +armjuno.bos: return corpsetype; +Binary file armjuno.cob matches +armkam.bos:SetStunned(State) +armkam.bos: set-signal-mask SIG_MOVE; +armkam.bos: set-signal-mask SIG_MOVE; +armkam.bos: set-signal-mask SIG_MOVE; +armkam.bos: set-signal-mask SIG_MOVE; +armkam.bos: set-signal-mask SIG_MOVE; +armkam.bos: set-signal-mask SIG_MOVE; +armkam.bos:Killed(severity, corpsetype) +armkam.bos: corpsetype = 1 ; +armkam.bos: return(corpsetype); +armkam.bos: corpsetype = 2 ; +armkam.bos: return(corpsetype); +armkam.bos: corpsetype = 3 ; +armkam.bos: return(corpsetype); +armkam.bos: corpsetype = 3 ; +armkam.bos: return(corpsetype); +armkam.bos: return corpsetype; +Binary file armkam.cob matches +armlab.bos: set YARD_OPEN to 1; +armlab.bos: set BUGGER_OFF to 1; +armlab.bos: set YARD_OPEN to 1; +armlab.bos: set BUGGER_OFF to 0; +armlab.bos: set YARD_OPEN to 0; +armlab.bos: set BUGGER_OFF to 1; +armlab.bos: set YARD_OPEN to 0; +armlab.bos: set BUGGER_OFF to 0; +armlab.bos: set INBUILDSTANCE to 1; +armlab.bos: set INBUILDSTANCE to 0; +armlab.bos: set-signal-mask SIG_ACTIVATE; +armlab.bos: set-signal-mask 0; +armlab.bos:Killed(severity, corpsetype) +armlab.bos: corpsetype = 1 ; +armlab.bos: return(corpsetype); +armlab.bos: corpsetype = 2 ; +armlab.bos: return(corpsetype); +armlab.bos: corpsetype = 3 ; +armlab.bos: return(corpsetype); +armlab.bos: corpsetype = 3 ; +armlab.bos: return corpsetype; +armlance.bos:Killed(severity, corpsetype) +armlance.bos: corpsetype = 1 ; +armlance.bos: return(corpsetype); +armlance.bos: corpsetype = 2 ; +armlance.bos: return(corpsetype); +armlance.bos: corpsetype = 3 ; +armlance.bos: return(corpsetype); +armlance.bos: corpsetype = 3 ; +armlance.bos: return corpsetype; +armlatnk.bos:SetMaxReloadTime(Func_Var_1) +armlatnk.bos: set-signal-mask 0; +armlatnk.bos:SetStunned(State) +armlatnk.bos: set-signal-mask SIG_AIM; +armlatnk.bos: set-signal-mask SIG_AIM_3; +armlatnk.bos:Killed(severity, corpsetype) +armlatnk.bos: corpsetype = 1 ; +armlatnk.bos: return(corpsetype); +armlatnk.bos: corpsetype = 2 ; +armlatnk.bos: return(corpsetype); +armlatnk.bos: corpsetype = 3 ; +armlatnk.bos: return(corpsetype); +armlatnk.bos: corpsetype = 3 ; +armlatnk.bos: return corpsetype; +Binary file armlatnk.cob matches +armliche.bos:Killed(severity, corpsetype) +armliche.bos: corpsetype = 1; +armliche.bos: return (corpsetype); +armliche.bos: corpsetype = 2; +armliche.bos: return (corpsetype); +armliche.bos: corpsetype = 3; +armliche.bos: return (corpsetype); +armliche.bos: corpsetype = 3; +armliche.bos: return corpsetype; +armllt.bos: set-signal-mask SIG_AIM; +armllt.bos:Killed(severity, corpsetype) +armllt.bos: corpsetype = 1 ; +armllt.bos: return(corpsetype); +armllt.bos: corpsetype = 2 ; +armllt.bos: return(corpsetype); +armllt.bos: corpsetype = 3 ; +armllt.bos: return(corpsetype); +armllt.bos: corpsetype = 3 ; +armllt.bos: return corpsetype; +armlun.bos: set-signal-mask SIG_MOVE; +armlun.bos:setSFXoccupy(state) +armlun.bos:SetMaxReloadTime(Func_Var_1) +armlun.bos:SetStunned(State) +armlun.bos: set-signal-mask SIG_AIM; +armlun.bos: set-signal-mask SIG_AIM_2; +armlun.bos:Killed(severity, corpsetype) +armlun.bos: corpsetype = 2; +armlun.bos: return (corpsetype); +armlun.bos: corpsetype = 3; +armlun.bos: return (corpsetype); +armlun.bos: corpsetype = 2; +armlun.bos: return (corpsetype); +armlun.bos: corpsetype = 3; +armlun.bos: return (corpsetype); +armlun.bos: corpsetype = 1; +armlun.bos: return (corpsetype); +armlun.bos: corpsetype = 2; +armlun.bos: return (corpsetype); +armlun.bos: corpsetype = 3; +armlun.bos: return (corpsetype); +armlun.bos: corpsetype = 3; +armlun.bos: return (corpsetype); +Binary file armlun.cob matches +armmakr.bos:Killed(severity, corpsetype) +armmakr.bos: corpsetype = 1 ; +armmakr.bos: return(corpsetype); +armmakr.bos: corpsetype = 2 ; +armmakr.bos: return(corpsetype); +armmakr.bos: corpsetype = 3 ; +armmakr.bos: return(corpsetype); +armmakr.bos: corpsetype = 3 ; +armmakr.bos: return corpsetype; +armmanni.bos:SetMaxReloadTime(Func_Var_1) +armmanni.bos:SetStunned(State) +armmanni.bos: set-signal-mask SIG_AIM; +armmanni.bos:Killed(severity, corpsetype) +armmanni.bos: corpsetype = 1 ; +armmanni.bos: return(corpsetype); +armmanni.bos: corpsetype = 2 ; +armmanni.bos: return(corpsetype); +armmanni.bos: corpsetype = 3 ; +armmanni.bos: return(corpsetype); +armmanni.bos: corpsetype = 3 ; +armmanni.bos: return corpsetype; +Binary file armmanni.cob matches +armmar.bos:SetMaxReloadTime(Func_Var_1) +armmar.bos:SetStunned(State) +armmar.bos: set-signal-mask SIG_AIM; +armmar.bos:Killed(severity, corpsetype) +armmar.bos: corpsetype = 1 ; +armmar.bos: return(corpsetype); +armmar.bos: corpsetype = 2 ; +armmar.bos: return(corpsetype); +armmar.bos: corpsetype = 3 ; +armmar.bos: return(corpsetype); +armmar.bos: corpsetype = 3 ; +armmar.bos: return corpsetype; +Binary file armmar.cob matches +fgrep: armmar_lus: Is a directory +armmar_lus.lua:include("units/"..unitName.."_lus/setup.lua") +armmar_lus.lua: InitialPiecesSetup() +armmar_lus.lua: SetSignalMask(2) +armmar_lus.lua: SetWantedAim(weaponID, heading, pitch) +armmark.bos: set-signal-mask SIG_WALK; //you might need this +armmark.bos: set-signal-mask SIG_ACTIVATE; +armmark.bos: set-signal-mask SIG_ACTIVATE; +armmark.bos:SetStunned(State) +armmark.bos:Killed(severity, corpsetype) +armmark.bos: corpsetype = 1 ; +armmark.bos: return(corpsetype); +armmark.bos: corpsetype = 2 ; +armmark.bos: return(corpsetype); +armmark.bos: corpsetype = 3 ; +armmark.bos: return(corpsetype); +armmark.bos: corpsetype = 3 ; +armmark.bos: return corpsetype; +Binary file armmark.cob matches +armmart.bos:SetMaxReloadTime(Func_Var_1) +armmart.bos:SetStunned(State) +armmart.bos: set-signal-mask SIG_AIM; +armmart.bos:Killed(severity, corpsetype) +armmart.bos: corpsetype = 1 ; +armmart.bos: return(corpsetype); +armmart.bos: corpsetype = 2 ; +armmart.bos: return(corpsetype); +armmart.bos: corpsetype = 3 ; +armmart.bos: return(corpsetype); +armmart.bos: corpsetype = 3 ; +armmart.bos: return corpsetype; +Binary file armmart.cob matches +armmav.bos: //set-signal-mask SIG_WALK; +armmav.bos:SetMaxReloadTime(Func_Var_1) +armmav.bos: set-signal-mask 0; +armmav.bos:SetStunned(State) +armmav.bos: set-signal-mask SIG_AIM; +armmav.bos:Killed(severity, corpsetype) +armmav.bos: corpsetype = 1 ; +armmav.bos: return(corpsetype); +armmav.bos: corpsetype = 2 ; +armmav.bos: return(corpsetype); +armmav.bos: corpsetype = 3 ; +armmav.bos: return(corpsetype); +armmav.bos: corpsetype = 3 ; +armmav.bos: return corpsetype; +Binary file armmav.cob matches +armmercury.bos:SetStunned(State) +armmercury.bos: set-signal-mask SIG_AIM; +armmercury.bos: set DELAY_UNIT_VAR to 0; +armmercury.bos:Killed(severity, corpsetype) +armmercury.bos: corpsetype = 1 ; +armmercury.bos: return(corpsetype); +armmercury.bos: corpsetype = 2 ; +armmercury.bos: return(corpsetype); +armmercury.bos: corpsetype = 3 ; +armmercury.bos: return(corpsetype); +armmercury.bos: corpsetype = 3 ; +armmercury.bos: return corpsetype; +Binary file armmercury.cob matches +armmerl.bos: set ARMORED to 1; +armmerl.bos: set ARMORED to 0; +armmerl.bos: set ARMORED to 0; +armmerl.bos:SetMaxReloadTime(Func_Var_1) +armmerl.bos: set-signal-mask 0; +armmerl.bos:SetStunned(State) +armmerl.bos: set-signal-mask SIG_RESTORE; +armmerl.bos: set-signal-mask SIG_AIM; +armmerl.bos:Killed(severity, corpsetype) +armmerl.bos: corpsetype = 1 ; +armmerl.bos: return(corpsetype); +armmerl.bos: corpsetype = 2 ; +armmerl.bos: return(corpsetype); +armmerl.bos: corpsetype = 3 ; +armmerl.bos: return(corpsetype); +armmerl.bos: corpsetype = 3 ; +armmerl.bos: return corpsetype; +Binary file armmerl.cob matches +armmex.bos:SetStunned(State) +armmex.bos:SetSpeed(Func_Var_1) +armmex.bos:Killed(severity, corpsetype) +armmex.bos: corpsetype = 1 ; +armmex.bos: return(corpsetype); +armmex.bos: corpsetype = 2 ; +armmex.bos: return(corpsetype); +armmex.bos: corpsetype = 3 ; +armmex.bos: return(corpsetype); +armmex.bos: corpsetype = 3 ; +armmex.bos: return corpsetype; +Binary file armmex.cob matches +armmh.bos: // Set values for tilt +armmh.bos: set-signal-mask SIG_MOVE; +armmh.bos:setSFXoccupy(Func_Var_1) +armmh.bos:SetMaxReloadTime(Func_Var_1) +armmh.bos: set-signal-mask 0; +armmh.bos:SetStunned(State) +armmh.bos: set-signal-mask SIG_RESTORE; +armmh.bos: set-signal-mask SIG_AIM; +armmh.bos:Killed(severity, corpsetype) +armmh.bos: corpsetype = 1 ; +armmh.bos: return(corpsetype); +armmh.bos: corpsetype = 2 ; +armmh.bos: return(corpsetype); +armmh.bos: corpsetype = 3 ; +armmh.bos: return(corpsetype); +armmh.bos: corpsetype = 3 ; +armmh.bos: return corpsetype; +Binary file armmh.cob matches +armmls.bos:SetDirection(heading) +armmls.bos: set INBUILDSTANCE to 1; +armmls.bos: set INBUILDSTANCE to 0; +armmls.bos: set-signal-mask SIG_MOVE; +armmls.bos:Killed(severity, corpsetype) +armmls.bos: corpsetype = 1 ; +armmls.bos: return(corpsetype); +armmls.bos: corpsetype = 2 ; +armmls.bos: return(corpsetype); +armmls.bos: corpsetype = 3 ; +armmls.bos: return(corpsetype); +armmls.bos: corpsetype = 3 ; +armmls.bos: return corpsetype; +Binary file armmls.cob matches +armmlv.bos: set-signal-mask SIG_MOVE; +armmlv.bos: set INBUILDSTANCE to 1; +armmlv.bos: set-signal-mask SIG_BUILD; +armmlv.bos: set-signal-mask 0; +armmlv.bos: set INBUILDSTANCE to 0; +armmlv.bos:Killed(severity, corpsetype) +armmlv.bos: corpsetype = 1 ; +armmlv.bos: return(corpsetype); +armmlv.bos: corpsetype = 2 ; +armmlv.bos: return(corpsetype); +armmlv.bos: corpsetype = 3 ; +armmlv.bos: return(corpsetype); +armmlv.bos: corpsetype = 3 ; +armmlv.bos: return corpsetype; +armmmkr.bos: set ARMORED to 0; //Not needed as MM in BAR have no damage modif +yer tag set +armmmkr.bos: set ARMORED to 1; +armmmkr.bos:Killed(severity, corpsetype) +armmmkr.bos: corpsetype = 1 ; +armmmkr.bos: return(corpsetype); +armmmkr.bos: corpsetype = 2 ; +armmmkr.bos: return(corpsetype); +armmmkr.bos: corpsetype = 3 ; +armmmkr.bos: return(corpsetype); +armmmkr.bos: corpsetype = 3 ; +armmmkr.bos: return corpsetype; +armmoho.bos:SetStunned(State) +armmoho.bos:SetSpeed(Func_Var_1) +armmoho.bos:Killed(severity, corpsetype) +armmoho.bos: corpsetype = 1 ; +armmoho.bos: return(corpsetype); +armmoho.bos: corpsetype = 2 ; +armmoho.bos: return(corpsetype); +armmoho.bos: corpsetype = 3 ; +armmoho.bos: return(corpsetype); +armmoho.bos: corpsetype = 3 ; +armmoho.bos: return corpsetype; +Binary file armmoho.cob matches +armmship.bos:SetDirection(heading) +armmship.bos:SetMaxReloadTime(Func_Var_1) +armmship.bos:SetStunned(State) +armmship.bos: set-signal-mask SIG_MOVE; +armmship.bos: set-signal-mask SIG_AIM; +armmship.bos: set-signal-mask SIG_AIM_3; +armmship.bos:Killed(severity, corpsetype) +armmship.bos: corpsetype = 1 ; +armmship.bos: return(corpsetype); +armmship.bos: corpsetype = 2 ; +armmship.bos: return(corpsetype); +armmship.bos: corpsetype = 3 ; +armmship.bos: return(corpsetype); +armmship.bos: corpsetype = 3 ; +armmship.bos: return corpsetype; +Binary file armmship.cob matches +armmstor.bos:Killed(severity, corpsetype) +armmstor.bos: corpsetype = 1 ; +armmstor.bos: return(corpsetype); +armmstor.bos: corpsetype = 2 ; +armmstor.bos: return(corpsetype); +armmstor.bos: corpsetype = 3 ; +armmstor.bos: return(corpsetype); +armmstor.bos: corpsetype = 3 ; +armmstor.bos: return corpsetype; +armnanotc.bos: set INBUILDSTANCE to 1; +armnanotc.bos: set INBUILDSTANCE to 0; +armnanotc.bos:SetStunned(State) +armnanotc.bos:Killed(severity, corpsetype) +armnanotc.bos: corpsetype = 1 ; +armnanotc.bos: return(corpsetype); +armnanotc.bos: corpsetype = 2 ; +armnanotc.bos: return(corpsetype); +armnanotc.bos: corpsetype = 3 ; +armnanotc.bos: return(corpsetype); +armnanotc.bos: corpsetype = 3 ; +armnanotc.bos: return corpsetype; +Binary file armnanotc.cob matches +armnanotcplat.bos: set INBUILDSTANCE to 1; +armnanotcplat.bos: set INBUILDSTANCE to 0; +armnanotcplat.bos:SetStunned(State) +armnanotcplat.bos:Killed(severity, corpsetype) +armnanotcplat.bos: corpsetype = 1 ; +armnanotcplat.bos: return(corpsetype); +armnanotcplat.bos: corpsetype = 2 ; +armnanotcplat.bos: return(corpsetype); +armnanotcplat.bos: corpsetype = 3 ; +armnanotcplat.bos: return(corpsetype); +armnanotcplat.bos: corpsetype = 3 ; +armnanotcplat.bos: return corpsetype; +Binary file armnanotcplat.cob matches +armnukevader.bos: set-signal-mask SIG_MOVE; +armnukevader.bos:Killed(severity, corpsetype) +armnukevader.bos: corpsetype = 1 ; +armnukevader.bos: return(corpsetype); +armnukevader.bos: corpsetype = 2 ; +armnukevader.bos: return(corpsetype); +armnukevader.bos: corpsetype = 3 ; +armnukevader.bos: return(corpsetype); +armnukevader.bos: corpsetype = 3 ; +armnukevader.bos: return corpsetype; +armpb.bos: set ARMORED to 0; +armpb.bos: set ARMORED to 1; +armpb.bos: set-signal-mask 0; +armpb.bos:SetStunned(State) +armpb.bos: set-signal-mask SIG_RESTORE; +armpb.bos:SetMaxReloadTime(Func_Var_1) +armpb.bos: set-signal-mask SIG_AIM; +armpb.bos:Killed(severity, corpsetype) +armpb.bos: corpsetype = 1 ; +armpb.bos: return(corpsetype); +armpb.bos: corpsetype = 2 ; +armpb.bos: return(corpsetype); +armpb.bos: corpsetype = 3 ; +armpb.bos: return(corpsetype); +armpb.bos: corpsetype = 3 ; +armpb.bos: return corpsetype; +Binary file armpb.cob matches +armpeep.bos:Killed(severity, corpsetype) +armpeep.bos: corpsetype = 1 ; +armpeep.bos: return(corpsetype); +armpeep.bos: corpsetype = 2 ; +armpeep.bos: return(corpsetype); +armpeep.bos: corpsetype = 3 ; +armpeep.bos: return(corpsetype); +armpeep.bos: corpsetype = 3 ; +armpeep.bos: return corpsetype; +armpincer.bos:SetMaxReloadTime(Func_Var_1) +armpincer.bos:SetStunned(State) +armpincer.bos: set-signal-mask SIG_AIM; +armpincer.bos:Killed(severity, corpsetype) +armpincer.bos: corpsetype = 1 ; +armpincer.bos: return(corpsetype); +armpincer.bos: corpsetype = 2 ; +armpincer.bos: return(corpsetype); +armpincer.bos: corpsetype = 3 ; +armpincer.bos: return(corpsetype); +armpincer.bos: corpsetype = 3 ; +armpincer.bos: return corpsetype; +Binary file armpincer.cob matches +armplat.bos: set ARMORED to 0; +armplat.bos: set ARMORED to 1; +armplat.bos: set YARD_OPEN to 1; +armplat.bos: set BUGGER_OFF to 1; +armplat.bos: set YARD_OPEN to 1; +armplat.bos: set BUGGER_OFF to 0; +armplat.bos: set YARD_OPEN to 0; +armplat.bos: set BUGGER_OFF to 1; +armplat.bos: set YARD_OPEN to 0; +armplat.bos: set BUGGER_OFF to 0; +armplat.bos: set INBUILDSTANCE to 1; +armplat.bos: set INBUILDSTANCE to 0; +armplat.bos: set ARMORED to 1; +armplat.bos: set-signal-mask SIG_ACTIVATE; +armplat.bos: set-signal-mask 0; +armplat.bos:Killed(severity, corpsetype) +armplat.bos: corpsetype = 1 ; +armplat.bos: return(corpsetype); +armplat.bos: corpsetype = 2 ; +armplat.bos: return(corpsetype); +armplat.bos: corpsetype = 3 ; +armplat.bos: return(corpsetype); +armplat.bos: corpsetype = 3 ; +armplat.bos: return corpsetype; +armpnix.bos:Killed(severity, corpsetype) +armpnix.bos: corpsetype = 1 ; +armpnix.bos: return(corpsetype); +armpnix.bos: corpsetype = 2 ; +armpnix.bos: return(corpsetype); +armpnix.bos: corpsetype = 3 ; +armpnix.bos: return(corpsetype); +armpnix.bos: corpsetype = 3 ; +armpnix.bos: return corpsetype; +armpship.bos:SetDirection(heading) +armpship.bos: set-signal-mask 4096; +armpship.bos:SetMaxReloadTime(Func_Var_1) +armpship.bos: set-signal-mask 0; +armpship.bos:SetStunned(State) +armpship.bos: set-signal-mask SIG_MOVE; +armpship.bos: set-signal-mask SIG_AIM; +armpship.bos: set-signal-mask SIG_AIM_2; +armpship.bos:Killed(severity, corpsetype) +armpship.bos: corpsetype = 1; +armpship.bos: return (corpsetype); +armpship.bos: corpsetype = 2; +armpship.bos: return (corpsetype); +armpship.bos: corpsetype = 3; +armpship.bos: return corpsetype; +Binary file armpship.cob matches +armpt.bos:SetDirection(heading) +armpt.bos:SetMaxReloadTime(Func_Var_1) +armpt.bos: set-signal-mask 0; +armpt.bos:SetStunned(State) +armpt.bos: set-signal-mask SIG_MOVE; +armpt.bos: set-signal-mask SIG_AIM_3; +armpt.bos: set-signal-mask SIG_AIM; +armpt.bos:Killed(severity, corpsetype) +armpt.bos: corpsetype = 1 ; +armpt.bos: return(corpsetype); +armpt.bos: corpsetype = 2 ; +armpt.bos: return(corpsetype); +armpt.bos: corpsetype = 3 ; +armpt.bos: return(corpsetype); +armpt.bos: corpsetype = 3 ; +armpt.bos: return corpsetype; +Binary file armpt.cob matches +armptl.bos:SetStunned(State) +armptl.bos: set-signal-mask SIG_AIM; +armptl.bos:Killed(severity, corpsetype) +armptl.bos: corpsetype = 1 ; +armptl.bos: return(corpsetype); +armptl.bos: corpsetype = 2 ; +armptl.bos: return(corpsetype); +armptl.bos: corpsetype = 3 ; +armptl.bos: return(corpsetype); +armptl.bos: corpsetype = 3 ; +armptl.bos: return corpsetype; +Binary file armptl.cob matches +armpw.bos: set-signal-mask SIG_MOVE; +armpw.bos: set-signal-mask (SIG_AIM | SIG_MOVE); +armpw.bos: bAnimate = TRUE; // this sets animation started, so that + StopAnimate knows that it should restore state quickly +armpw.bos: start-script InitialSetup1(); +armpw.bos:SetMaxReloadTime(Func_Var_1) +armpw.bos:SetStunned(State) +armpw.bos: set-signal-mask SIG_AIM; +armpw.bos: start-script Weapon1SetWtdAim(heading, pitch); +armpw.bos:Killed(severity, corpsetype) +armpw.bos: corpsetype = 1; +armpw.bos: return (corpsetype); +armpw.bos: corpsetype = 2; +armpw.bos: return (corpsetype); +armpw.bos: corpsetype = 3; +armpw.bos: return (corpsetype); +armpw.bos: corpsetype = 3; +armpw.bos: return corpsetype; +Binary file armpw.cob matches +armrad.bos:Killed(severity, corpsetype) +armrad.bos: corpsetype = 1 ; +armrad.bos: return(corpsetype); +armrad.bos: corpsetype = 2 ; +armrad.bos: return(corpsetype); +armrad.bos: corpsetype = 3 ; +armrad.bos: return(corpsetype); +armrad.bos: corpsetype = 3 ; +armrad.bos: return corpsetype; +armraz.bos: set-signal-mask 16; +armraz.bos: set-signal-mask SIG_AIM; +armraz.bos:Killed(severity, corpsetype) +armraz.bos: corpsetype = 1 ; +armraz.bos: corpsetype = 2 ; +armraz.bos: corpsetype = 3 ; +armraz.bos: corpsetype = 3 ; +armrecl.bos: set INBUILDSTANCE to 1; +armrecl.bos: set INBUILDSTANCE to 0; +armrecl.bos:Killed(severity, corpsetype) +armrecl.bos: corpsetype = 1 ; +armrecl.bos: return(corpsetype); +armrecl.bos: corpsetype = 2 ; +armrecl.bos: return(corpsetype); +armrecl.bos: corpsetype = 3 ; +armrecl.bos: return(corpsetype); +armrecl.bos: corpsetype = 3 ; +armrecl.bos: return corpsetype; +armrectr.bos: //set-signal-mask SIG_WALK; +armrectr.bos: set-signal-mask SIG_BUILD; +armrectr.bos: set INBUILDSTANCE to 0; +armrectr.bos: set INBUILDSTANCE to 1; +armrectr.bos: set-signal-mask SIG_BUILD; +armrectr.bos: set-signal-mask 0; +armrectr.bos:Killed(severity, corpsetype) +armrectr.bos: corpsetype = 1 ; +armrectr.bos: return(corpsetype); +armrectr.bos: corpsetype = 2 ; +armrectr.bos: return(corpsetype); +armrectr.bos: corpsetype = 3 ; +armrectr.bos: return(corpsetype); +armrectr.bos: corpsetype = 3 ; +armrectr.bos: return corpsetype; +armrectrt4.bos: //set-signal-mask SIG_WALK; +armrectrt4.bos: set-signal-mask SIG_BUILD; +armrectrt4.bos: set INBUILDSTANCE to 0; +armrectrt4.bos: set INBUILDSTANCE to 1; +armrectrt4.bos: set-signal-mask SIG_BUILD; +armrectrt4.bos: set-signal-mask 0; +armrectrt4.bos:Killed(severity, corpsetype) +armrectrt4.bos: corpsetype = 1 ; +armrectrt4.bos: return(corpsetype); +armrectrt4.bos: corpsetype = 2 ; +armrectrt4.bos: return(corpsetype); +armrectrt4.bos: corpsetype = 3 ; +armrectrt4.bos: return(corpsetype); +armrectrt4.bos: corpsetype = 3 ; +armrectrt4.bos: return corpsetype; +armrl.bos:SetStunned(State) +armrl.bos: set-signal-mask SIG_AIM; +armrl.bos:Killed(severity, corpsetype) +armrl.bos: corpsetype = 1 ; +armrl.bos: return(corpsetype); +armrl.bos: corpsetype = 2 ; +armrl.bos: return(corpsetype); +armrl.bos: corpsetype = 3 ; +armrl.bos: return(corpsetype); +armrl.bos: corpsetype = 3 ; +armrl.bos: return corpsetype; +Binary file armrl.cob matches +armrock.bos: set-signal-mask SIG_WALK; +armrock.bos:SetMaxReloadTime(Func_Var_1) +armrock.bos:SetStunned(State) +armrock.bos: set-signal-mask SIG_AIM; +armrock.bos:Killed(severity, corpsetype) +armrock.bos: corpsetype = 1 ; +armrock.bos: return(corpsetype); +armrock.bos: corpsetype = 2 ; +armrock.bos: return(corpsetype); +armrock.bos: corpsetype = 3 ; +armrock.bos: return(corpsetype); +armrock.bos: corpsetype = 3 ; +armrock.bos: return corpsetype; +Binary file armrock.cob matches +armroy.bos: set-signal-mask SIG_ROCK; +armroy.bos:SetDirection(heading) +armroy.bos:SetMaxReloadTime(Func_Var_1) +armroy.bos: set-signal-mask 0; +armroy.bos:SetStunned(State) +armroy.bos: set-signal-mask SIG_MOVE; +armroy.bos: set-signal-mask SIG_AIM; +armroy.bos:Killed(severity, corpsetype) +armroy.bos: corpsetype = 1 ; +armroy.bos: return(corpsetype); +armroy.bos: corpsetype = 2 ; +armroy.bos: return(corpsetype); +armroy.bos: corpsetype = 3 ; +armroy.bos: return(corpsetype); +armroy.bos: corpsetype = 3 ; +armroy.bos: return corpsetype; +Binary file armroy.cob matches +armsaber.bos: set-signal-mask 0; +armsaber.bos:SetStunned(State) +armsaber.bos:setSFXoccupy(Func_Var_1) +armsaber.bos:Killed(severity, corpsetype) +armsaber.bos: corpsetype = 1 ; +armsaber.bos: return(corpsetype); +armsaber.bos: corpsetype = 2 ; +armsaber.bos: return(corpsetype); +armsaber.bos: corpsetype = 3 ; +armsaber.bos: return(corpsetype); +armsaber.bos: corpsetype = 3 ; +armsaber.bos: return corpsetype; +Binary file armsaber.cob matches +armsam.bos:SetMaxReloadTime(Func_Var_1) +armsam.bos:SetStunned(State) +armsam.bos: set-signal-mask SIG_AIM; +armsam.bos:Killed(severity, corpsetype) +armsam.bos: corpsetype = 1 ; +armsam.bos: return(corpsetype); +armsam.bos: corpsetype = 2 ; +armsam.bos: return(corpsetype); +armsam.bos: corpsetype = 3 ; +armsam.bos: return(corpsetype); +armsam.bos: corpsetype = 3 ; +armsam.bos: return corpsetype; +Binary file armsam.cob matches +armsb.bos:setSFXoccupy(Func_Var_1) +armsb.bos:Killed(severity, corpsetype) +armsb.bos: corpsetype = 1 ; +armsb.bos: return(corpsetype); +armsb.bos: corpsetype = 2 ; +armsb.bos: return(corpsetype); +armsb.bos: corpsetype = 3 ; +armsb.bos: return(corpsetype); +armsb.bos: corpsetype = 3 ; +armsb.bos: return corpsetype; +Binary file armsb.cob matches +armscab.bos: //set-signal-mask SIG_WALK; +armscab.bos: set-signal-mask 0; +armscab.bos:SetStunned(State) +armscab.bos: set-signal-mask SIG_AIM; +armscab.bos:Killed(severity, corpsetype) +armscab.bos: corpsetype = 1 ; +armscab.bos: return(corpsetype); +armscab.bos: corpsetype = 2 ; +armscab.bos: return(corpsetype); +armscab.bos: corpsetype = 3 ; +armscab.bos: return(corpsetype); +armscab.bos: corpsetype = 3 ; +armscab.bos: return corpsetype; +Binary file armscab.cob matches +armsd.bos:Killed(severity, corpsetype) +armsd.bos: corpsetype = 1 ; +armsd.bos: return(corpsetype); +armsd.bos: corpsetype = 2 ; +armsd.bos: return(corpsetype); +armsd.bos: corpsetype = 3 ; +armsd.bos: return(corpsetype); +armsd.bos: corpsetype = 3 ; +armsd.bos: return corpsetype; +armseap.bos: set-signal-mask SIG_MOVE; +armseap.bos:Killed(severity, corpsetype) +armseap.bos: corpsetype = 1 ; +armseap.bos: return(corpsetype); +armseap.bos: corpsetype = 2 ; +armseap.bos: return(corpsetype); +armseap.bos: corpsetype = 3 ; +armseap.bos: return(corpsetype); +armseap.bos: corpsetype = 3 ; +armseap.bos: return corpsetype; +armseer.bos: set-signal-mask SIG_ACTIVATE; +armseer.bos: set-signal-mask SIG_ACTIVATE; +armseer.bos:SetStunned(State) +armseer.bos:Killed(severity, corpsetype) +armseer.bos: corpsetype = 1 ; +armseer.bos: return(corpsetype); +armseer.bos: corpsetype = 2 ; +armseer.bos: return(corpsetype); +armseer.bos: corpsetype = 3 ; +armseer.bos: return(corpsetype); +armseer.bos: corpsetype = 3 ; +armseer.bos: return corpsetype; +Binary file armseer.cob matches +armsehak.bos: set-signal-mask SIG_MOVE; +armsehak.bos:setSFXoccupy(Func_Var_1) +armsehak.bos:Killed(severity, corpsetype) +armsehak.bos: corpsetype = 1 ; +armsehak.bos: return(corpsetype); +armsehak.bos: corpsetype = 2 ; +armsehak.bos: return(corpsetype); +armsehak.bos: corpsetype = 3 ; +armsehak.bos: return(corpsetype); +armsehak.bos: corpsetype = 3 ; +armsehak.bos: return corpsetype; +Binary file armsehak.cob matches +armserp.bos: // Set values for tilt +armserp.bos: set-signal-mask SIG_MOVE; +armserp.bos: set-signal-mask SIG_MOVE; +armserp.bos:SetStunned(State) +armserp.bos: set-signal-mask SIG_AIM; +armserp.bos:Killed(severity, corpsetype) +armserp.bos: corpsetype = 1 ; +armserp.bos: return(corpsetype); +armserp.bos: corpsetype = 2 ; +armserp.bos: return(corpsetype); +armserp.bos: corpsetype = 3 ; +armserp.bos: return(corpsetype); +armserp.bos: corpsetype = 3 ; +armserp.bos: return corpsetype; +Binary file armserp.cob matches +armsfig.bos: set-signal-mask SIG_MOVE; +armsfig.bos:Killed(severity, corpsetype) +armsfig.bos: corpsetype = 1 ; +armsfig.bos: return(corpsetype); +armsfig.bos: corpsetype = 2 ; +armsfig.bos: return(corpsetype); +armsfig.bos: corpsetype = 3 ; +armsfig.bos: return(corpsetype); +armsfig.bos: corpsetype = 3 ; +armsfig.bos: return corpsetype; +armsh.bos: // Set values for tilt +armsh.bos: set-signal-mask SIG_MOVE; +armsh.bos:setSFXoccupy(Func_Var_1) +armsh.bos:SetMaxReloadTime(Func_Var_1) +armsh.bos: set-signal-mask 0; +armsh.bos:SetStunned(State) +armsh.bos: set-signal-mask SIG_AIM; +armsh.bos:Killed(severity, corpsetype) +armsh.bos: corpsetype = 1 ; +armsh.bos: return(corpsetype); +armsh.bos: corpsetype = 2 ; +armsh.bos: return(corpsetype); +armsh.bos: corpsetype = 3 ; +armsh.bos: return(corpsetype); +armsh.bos: corpsetype = 3 ; +armsh.bos: return corpsetype; +Binary file armsh.cob matches +armshltx.bos: set YARD_OPEN to 1; +armshltx.bos: set BUGGER_OFF to 1; +armshltx.bos: set YARD_OPEN to 1; +armshltx.bos: set BUGGER_OFF to 0; +armshltx.bos: set YARD_OPEN to 0; +armshltx.bos: set BUGGER_OFF to 1; +armshltx.bos: set YARD_OPEN to 0; +armshltx.bos: set BUGGER_OFF to 0; +armshltx.bos: set INBUILDSTANCE to 1; +armshltx.bos: set INBUILDSTANCE to 0; +armshltx.bos: set-signal-mask SIG_ACTIVATE; +armshltx.bos: set-signal-mask 0; +armshltx.bos:Killed(severity, corpsetype) +armshltx.bos: corpsetype = 1 ; +armshltx.bos: return(corpsetype); +armshltx.bos: corpsetype = 2 ; +armshltx.bos: return(corpsetype); +armshltx.bos: corpsetype = 3 ; +armshltx.bos: return(corpsetype); +armshltx.bos: corpsetype = 3 ; +armshltx.bos: return corpsetype; +armsilo.bos:// OffsetToScriptCodeIndexArray c08 +armsilo.bos:// OffsetToScriptNameOffsetArray c4c +armsilo.bos:// OffsetToPieceNameOffsetArray c90 +armsilo.bos:// OffsetToScriptCode 2c +armsilo.bos:// OffsetToNameArray ca4 +armsilo.bos:// OffsetToFirstName ca4 +armsilo.bos:SetMaxReloadTime(Func_Var_1) +armsilo.bos:/* 217:*/ set-signal-mask 0; +armsilo.bos:/* 22c:*/ set-signal-mask SIG_AIM; +armsilo.bos:Killed(severity, corpsetype) +armsilo.bos: corpsetype = 1 ; +armsilo.bos: return(corpsetype); +armsilo.bos: corpsetype = 2 ; +armsilo.bos: return(corpsetype); +armsilo.bos: corpsetype = 3 ; +armsilo.bos: return(corpsetype); +armsilo.bos: corpsetype = 3 ; +armsilo.bos: return corpsetype; +Binary file armsilo.cob matches +armsjam.bos:SetDirection(heading) +armsjam.bos: set ACTIVATION to 0; +armsjam.bos: set-signal-mask 4; +armsjam.bos: set ACTIVATION to 0; +armsjam.bos: set ACTIVATION to 100; +armsjam.bos: set-signal-mask SIG_MOVE; +armsjam.bos:Killed(severity, corpsetype) +armsjam.bos: corpsetype = 1 ; +armsjam.bos: return(corpsetype); +armsjam.bos: corpsetype = 2 ; +armsjam.bos: return(corpsetype); +armsjam.bos: corpsetype = 3 ; +armsjam.bos: return(corpsetype); +armsjam.bos: corpsetype = 3 ; +armsjam.bos: return corpsetype; +Binary file armsjam.cob matches +armsnipe.bos: //set-signal-mask SIG_WALK; +armsnipe.bos:SetMaxReloadTime(Func_Var_1) +armsnipe.bos: set-signal-mask 0; +armsnipe.bos:SetStunned(State) +armsnipe.bos: set-signal-mask SIG_AIM; +armsnipe.bos:Killed(severity, corpsetype) +armsnipe.bos: corpsetype = 1 ; +armsnipe.bos: return(corpsetype); +armsnipe.bos: corpsetype = 2 ; +armsnipe.bos: return(corpsetype); +armsnipe.bos: corpsetype = 3 ; +armsnipe.bos: return(corpsetype); +armsnipe.bos: corpsetype = 3 ; +armsnipe.bos: return corpsetype; +Binary file armsnipe.cob matches +armsolar.bos: set YARD_OPEN to 1; +armsolar.bos: set BUGGER_OFF to 1; +armsolar.bos: set YARD_OPEN to 1; +armsolar.bos: set BUGGER_OFF to 0; +armsolar.bos: set YARD_OPEN to 0; +armsolar.bos: set BUGGER_OFF to 1; +armsolar.bos: set YARD_OPEN to 0; +armsolar.bos: set BUGGER_OFF to 0; +armsolar.bos: set ACTIVATION to 0; +armsolar.bos: set ARMORED to 0; +armsolar.bos: set YARD_OPEN to 0; +armsolar.bos: set ARMORED to 1; +armsolar.bos: set YARD_OPEN to 1; +armsolar.bos: set ACTIVATION to 0; +armsolar.bos: set-signal-mask 2; +armsolar.bos: set ACTIVATION to 0; +armsolar.bos: set ACTIVATION to 100; +armsolar.bos:Killed(severity, corpsetype) +armsolar.bos: corpsetype = 1 ; +armsolar.bos: return(corpsetype); +armsolar.bos: corpsetype = 2 ; +armsolar.bos: return(corpsetype); +armsolar.bos: corpsetype = 3 ; +armsolar.bos: return(corpsetype); +armsolar.bos: corpsetype = 3 ; +armsolar.bos: return corpsetype; +armsonar.bos:Killed(severity, corpsetype) +armsonar.bos: corpsetype = 1 ; +armsonar.bos: return(corpsetype); +armsonar.bos: corpsetype = 2 ; +armsonar.bos: return(corpsetype); +armsonar.bos: corpsetype = 3 ; +armsonar.bos: return(corpsetype); +armsonar.bos: corpsetype = 3 ; +armsonar.bos: return corpsetype; +armspid.bos: //set-signal-mask SIG_WALK; +armspid.bos:SetMaxReloadTime(t) +armspid.bos:SetStunned(State) +armspid.bos: set-signal-mask SIG_AIM; +armspid.bos:Killed(severity, corpsetype) +armspid.bos: corpsetype = 1 ; +armspid.bos: return(corpsetype); +armspid.bos: corpsetype = 2 ; +armspid.bos: return(corpsetype); +armspid.bos: corpsetype = 3 ; +armspid.bos: return(corpsetype); +armspid.bos: corpsetype = 3 ; +armspid.bos: return corpsetype; +Binary file armspid.cob matches +armsptk.bos: //set-signal-mask SIG_WALK; +armsptk.bos:SetMaxReloadTime(t) +armsptk.bos: set-signal-mask SIG_FIRE1; +armsptk.bos: set-signal-mask 0; +armsptk.bos:SetStunned(State) +armsptk.bos: set-signal-mask SIG_AIM; +armsptk.bos:Killed(severity, corpsetype) +armsptk.bos: corpsetype = 1 ; +armsptk.bos: return(corpsetype); +armsptk.bos: corpsetype = 2 ; +armsptk.bos: return(corpsetype); +armsptk.bos: corpsetype = 3 ; +armsptk.bos: return(corpsetype); +armsptk.bos: corpsetype = 3 ; +armsptk.bos: return corpsetype; +Binary file armsptk.cob matches +armspy.bos: //set-signal-mask SIG_WALK; +armspy.bos: set ACTIVATION to 0; +armspy.bos: set-signal-mask SIG_ACTIVATE; +armspy.bos: set INBUILDSTANCE to 1; +armspy.bos: set INBUILDSTANCE to 0; +armspy.bos: set-signal-mask SIG_ACTIVATE; +armspy.bos: set-signal-mask 4; +armspy.bos: set ACTIVATION to 0; +armspy.bos: set ACTIVATION to 100; +armspy.bos:Killed(severity, corpsetype) +armspy.bos: corpsetype = 1 ; +armspy.bos: return(corpsetype); +armspy.bos: corpsetype = 2 ; +armspy.bos: return(corpsetype); +armspy.bos: corpsetype = 3 ; +armspy.bos: return(corpsetype); +armspy.bos: corpsetype = 3 ; +armspy.bos: return corpsetype; +armstil.bos:Killed(severity, corpsetype) +armstil.bos: corpsetype = 1 ; +armstil.bos: return(corpsetype); +armstil.bos: corpsetype = 2 ; +armstil.bos: return(corpsetype); +armstil.bos: corpsetype = 3 ; +armstil.bos: return(corpsetype); +armstil.bos: corpsetype = 3 ; +armstil.bos: return corpsetype; +armstump.bos:SetMaxReloadTime(Func_Var_1) +armstump.bos:SetStunned(State) +armstump.bos: set-signal-mask SIG_AIM; +armstump.bos:Killed(severity, corpsetype) +armstump.bos: corpsetype = 1 ; +armstump.bos: return(corpsetype); +armstump.bos: corpsetype = 2 ; +armstump.bos: return(corpsetype); +armstump.bos: corpsetype = 3 ; +armstump.bos: return(corpsetype); +armstump.bos: corpsetype = 3 ; +armstump.bos: return corpsetype; +Binary file armstump.cob matches +armsub.bos: set-signal-mask SIG_MOVE; +armsub.bos:SetStunned(State) +armsub.bos: set-signal-mask SIG_AIM; +armsub.bos:Killed(severity, corpsetype) +armsub.bos: corpsetype = 1 ; +armsub.bos: return(corpsetype); +armsub.bos: corpsetype = 2 ; +armsub.bos: return(corpsetype); +armsub.bos: corpsetype = 3 ; +armsub.bos: return(corpsetype); +armsub.bos: corpsetype = 3 ; +armsub.bos: return corpsetype; +Binary file armsub.cob matches +armsubk.bos: set-signal-mask SIG_MOVE; +armsubk.bos:Killed(severity, corpsetype) +armsubk.bos: corpsetype = 1 ; +armsubk.bos: return(corpsetype); +armsubk.bos: corpsetype = 2 ; +armsubk.bos: return(corpsetype); +armsubk.bos: corpsetype = 3 ; +armsubk.bos: return(corpsetype); +armsubk.bos: corpsetype = 3 ; +armsubk.bos: return corpsetype; +armsy.bos: set YARD_OPEN to 1; +armsy.bos: set BUGGER_OFF to 1; +armsy.bos: set YARD_OPEN to 1; +armsy.bos: set BUGGER_OFF to 0; +armsy.bos: set YARD_OPEN to 0; +armsy.bos: set BUGGER_OFF to 1; +armsy.bos: set YARD_OPEN to 0; +armsy.bos: set BUGGER_OFF to 0; +armsy.bos: set INBUILDSTANCE to 1; +armsy.bos: set INBUILDSTANCE to 0; +armsy.bos: set-signal-mask SIG_ACTIVATE; +armsy.bos: set-signal-mask 0; +armsy.bos:Killed(severity, corpsetype) +armsy.bos: corpsetype = 1 ; +armsy.bos: return(corpsetype); +armsy.bos: corpsetype = 2 ; +armsy.bos: return(corpsetype); +armsy.bos: corpsetype = 3 ; +armsy.bos: return(corpsetype); +armsy.bos: corpsetype = 3 ; +armsy.bos: return corpsetype; +armtarg.bos: set ARMORED to 1; +armtarg.bos: set-signal-mask 2; +armtarg.bos: set ACTIVATION to 0; +armtarg.bos: set ACTIVATION to 1; +armtarg.bos:Killed(severity, corpsetype) +armtarg.bos: corpsetype = 1 ; +armtarg.bos: return(corpsetype); +armtarg.bos: corpsetype = 2 ; +armtarg.bos: return(corpsetype); +armtarg.bos: corpsetype = 3 ; +armtarg.bos: return(corpsetype); +armtarg.bos: corpsetype = 3 ; +armtarg.bos: return corpsetype; +armthovr.bos: // Set values for tilt +armthovr.bos: set-signal-mask SIG_MOVE; +armthovr.bos:setSFXoccupy(Func_Var_1) +armthovr.bos: set-signal-mask 4; +armthovr.bos:BoomReset() +armthovr.bos: set BUSY to 1; +armthovr.bos: call-script BoomReset(); +armthovr.bos: set BUSY to 0; +armthovr.bos: set BUSY to 1; +armthovr.bos: call-script BoomReset(); +armthovr.bos: set BUSY to 0; +armthovr.bos:Killed(severity, corpsetype) +armthovr.bos: corpsetype = 1 ; +armthovr.bos: return(corpsetype); +armthovr.bos: corpsetype = 2 ; +armthovr.bos: return(corpsetype); +armthovr.bos: corpsetype = 3 ; +armthovr.bos: return(corpsetype); +armthovr.bos: corpsetype = 3 ; +armthovr.bos: return corpsetype; +Binary file armthovr.cob matches +armthund.bos:Killed(severity, corpsetype) +armthund.bos: corpsetype = 1 ; +armthund.bos: return(corpsetype); +armthund.bos: corpsetype = 2 ; +armthund.bos: return(corpsetype); +armthund.bos: corpsetype = 3 ; +armthund.bos: return(corpsetype); +armthund.bos: corpsetype = 3 ; +armthund.bos: return corpsetype; +armtide.bos:Killed(severity, corpsetype) +armtide.bos: corpsetype = 1 ; +armtide.bos: return(corpsetype); +armtide.bos: corpsetype = 2 ; +armtide.bos: return(corpsetype); +armtide.bos: corpsetype = 3 ; +armtide.bos: return(corpsetype); +armtide.bos: corpsetype = 3 ; +armtide.bos: return corpsetype; +armtl.bos:SetStunned(State) +armtl.bos: set-signal-mask SIG_AIM; +armtl.bos:Killed(severity, corpsetype) +armtl.bos: corpsetype = 1 ; +armtl.bos: return(corpsetype); +armtl.bos: corpsetype = 2 ; +armtl.bos: return(corpsetype); +armtl.bos: corpsetype = 3 ; +armtl.bos: return(corpsetype); +armtl.bos: corpsetype = 3 ; +armtl.bos: return corpsetype; +Binary file armtl.cob matches +armtship.bos: set-signal-mask SIG_MOVE; +armtship.bos: set-signal-mask 4; +armtship.bos:BoomReset() +armtship.bos: set BUSY to 1; +armtship.bos: call-script BoomReset(); +armtship.bos: set BUSY to 0; +armtship.bos: set BUSY to 1; +armtship.bos: call-script BoomReset(); +armtship.bos: set BUSY to 0; +armtship.bos:Killed(severity, corpsetype) +armtship.bos: corpsetype = 1 ; +armtship.bos: return(corpsetype); +armtship.bos: corpsetype = 2 ; +armtship.bos: return(corpsetype); +armtship.bos: corpsetype = 3 ; +armtship.bos: return(corpsetype); +armtship.bos: corpsetype = 3 ; +armtship.bos: return corpsetype; +Binary file armtship.cob matches +armuwadves.bos:Killed(severity, corpsetype) +armuwadves.bos: corpsetype = 1 ; +armuwadves.bos: return(corpsetype); +armuwadves.bos: corpsetype = 2 ; +armuwadves.bos: return(corpsetype); +armuwadves.bos: corpsetype = 3 ; +armuwadves.bos: return(corpsetype); +armuwadves.bos: corpsetype = 3 ; +armuwadves.bos: return corpsetype; +armuwadvms.bos:Killed(severity, corpsetype) +armuwadvms.bos: corpsetype = 1 ; +armuwadvms.bos: return(corpsetype); +armuwadvms.bos: corpsetype = 2 ; +armuwadvms.bos: return(corpsetype); +armuwadvms.bos: corpsetype = 3 ; +armuwadvms.bos: return(corpsetype); +armuwadvms.bos: corpsetype = 3 ; +armuwadvms.bos: return corpsetype; +armuwes.bos:Killed(severity, corpsetype) +armuwes.bos: corpsetype = 1 ; +armuwes.bos: return(corpsetype); +armuwes.bos: corpsetype = 2 ; +armuwes.bos: return(corpsetype); +armuwes.bos: corpsetype = 3 ; +armuwes.bos: return(corpsetype); +armuwes.bos: corpsetype = 3 ; +armuwes.bos: return corpsetype; +armuwfus.bos:Killed(severity, corpsetype) +armuwfus.bos: corpsetype = 1 ; +armuwfus.bos: return(corpsetype); +armuwfus.bos: corpsetype = 2 ; +armuwfus.bos: return(corpsetype); +armuwfus.bos: corpsetype = 3 ; +armuwfus.bos: return(corpsetype); +armuwfus.bos: corpsetype = 3 ; +armuwfus.bos: return corpsetype; +armuwmex.bos: set-signal-mask SIG_ACTIVATE; +armuwmex.bos:SetSpeed(Func_Var_1) +armuwmex.bos:Killed(severity, corpsetype) +armuwmex.bos: corpsetype = 1 ; +armuwmex.bos: return(corpsetype); +armuwmex.bos: corpsetype = 2 ; +armuwmex.bos: return(corpsetype); +armuwmex.bos: corpsetype = 3 ; +armuwmex.bos: return(corpsetype); +armuwmex.bos: corpsetype = 3 ; +armuwmex.bos: return corpsetype; +Binary file armuwmex.cob matches +armuwmme.bos: set-signal-mask SIG_WORK; +armuwmme.bos: set-signal-mask SIG_ACTIVATE; +armuwmme.bos:SetSpeed(Func_Var_1) +armuwmme.bos:Killed(severity, corpsetype) +armuwmme.bos: corpsetype = 1 ; +armuwmme.bos: return(corpsetype); +armuwmme.bos: corpsetype = 2 ; +armuwmme.bos: return(corpsetype); +armuwmme.bos: corpsetype = 3 ; +armuwmme.bos: return(corpsetype); +armuwmme.bos: corpsetype = 3 ; +armuwmme.bos: return corpsetype; +Binary file armuwmme.cob matches +armuwmmm.bos:Killed(severity, corpsetype) +armuwmmm.bos: corpsetype = 1 ; +armuwmmm.bos: return(corpsetype); +armuwmmm.bos: corpsetype = 2 ; +armuwmmm.bos: return(corpsetype); +armuwmmm.bos: corpsetype = 3 ; +armuwmmm.bos: return(corpsetype); +armuwmmm.bos: corpsetype = 3 ; +armuwmmm.bos: return corpsetype; +armuwms.bos:Killed(severity, corpsetype) +armuwms.bos: corpsetype = 1 ; +armuwms.bos: return(corpsetype); +armuwms.bos: corpsetype = 2 ; +armuwms.bos: return(corpsetype); +armuwms.bos: corpsetype = 3 ; +armuwms.bos: return(corpsetype); +armuwms.bos: corpsetype = 3 ; +armuwms.bos: return corpsetype; +armvader.bos: set-signal-mask SIG_MOVE; +armvader.bos:Killed(severity, corpsetype) +armvader.bos: corpsetype = 1 ; +armvader.bos: return(corpsetype); +armvader.bos: corpsetype = 2 ; +armvader.bos: return(corpsetype); +armvader.bos: corpsetype = 3 ; +armvader.bos: return(corpsetype); +armvader.bos: corpsetype = 3 ; +armvader.bos: return corpsetype; +armvang.bos: set-signal-mask SIG_WALK; +armvang.bos:SetStunned(State) +armvang.bos: set-signal-mask SIG_AIM; +armvang.bos:Killed(severity, corpsetype) +armvang.bos: corpsetype = 1 ; +armvang.bos: return(corpsetype); +armvang.bos: corpsetype = 2 ; +armvang.bos: return(corpsetype); +armvang.bos: corpsetype = 3 ; +armvang.bos: return(corpsetype); +armvang.bos: corpsetype = 3 ; +armvang.bos: return corpsetype; +Binary file armvang.cob matches +armveil.bos:Killed(severity, corpsetype) +armveil.bos: corpsetype = 1 ; +armveil.bos: return(corpsetype); +armveil.bos: corpsetype = 2 ; +armveil.bos: return(corpsetype); +armveil.bos: corpsetype = 3 ; +armveil.bos: return(corpsetype); +armveil.bos: corpsetype = 3 ; +armveil.bos: return corpsetype; +armvp.bos: set ARMORED to 0; +armvp.bos: set ARMORED to 1; +armvp.bos: set YARD_OPEN to 1; +armvp.bos: set BUGGER_OFF to 1; +armvp.bos: set YARD_OPEN to 1; +armvp.bos: set BUGGER_OFF to 0; +armvp.bos: set YARD_OPEN to 0; +armvp.bos: set BUGGER_OFF to 1; +armvp.bos: set YARD_OPEN to 0; +armvp.bos: set BUGGER_OFF to 0; +armvp.bos: set INBUILDSTANCE to 1; +armvp.bos: set INBUILDSTANCE to 0; +armvp.bos: set ARMORED to 1; +armvp.bos: set-signal-mask SIG_ACTIVATE; +armvp.bos: set-signal-mask 0; +armvp.bos:Killed(severity, corpsetype) +armvp.bos: corpsetype = 1 ; +armvp.bos: return(corpsetype); +armvp.bos: corpsetype = 2 ; +armvp.bos: return(corpsetype); +armvp.bos: corpsetype = 3 ; +armvp.bos: return(corpsetype); +armvp.bos: corpsetype = 3 ; +armvp.bos: return corpsetype; +armvulc.bos: set-signal-mask SIG_AIM; +armvulc.bos:Killed(severity, corpsetype) +armvulc.bos: corpsetype = 1 ; +armvulc.bos: return(corpsetype); +armvulc.bos: corpsetype = 2 ; +armvulc.bos: return(corpsetype); +armvulc.bos: corpsetype = 3 ; +armvulc.bos: return(corpsetype); +armvulc.bos: corpsetype = 3 ; +armvulc.bos: return corpsetype; +armwar.bos: set-signal-mask SIG_WALK; +armwar.bos:SetMaxReloadTime(Func_Var_1) +armwar.bos:SetStunned(State) +armwar.bos: set-signal-mask SIG_AIM; +armwar.bos:Killed(severity, corpsetype) +armwar.bos: corpsetype = 1 ; +armwar.bos: return(corpsetype); +armwar.bos: corpsetype = 2 ; +armwar.bos: return(corpsetype); +armwar.bos: corpsetype = 3 ; +armwar.bos: return(corpsetype); +armwar.bos: corpsetype = 3 ; +armwar.bos: return corpsetype; +Binary file armwar.cob matches +armwin.bos:SetSpeed(windSpd) //called every 450 frames +armwin.bos: set ACTIVATION to 100; +armwin.bos:SetDirection(windDir) //called every 450 frames +armwin.bos:SetStunned(State) +armwin.bos: set ACTIVATION to 0; +armwin.bos: set ACTIVATION to 100; +armwin.bos:Killed(severity, corpsetype) +armwin.bos: corpsetype = 1 ; +armwin.bos: return(corpsetype); +armwin.bos: corpsetype = 2 ; +armwin.bos: return(corpsetype); +armwin.bos: corpsetype = 3 ; +armwin.bos: return(corpsetype); +armwin.bos: corpsetype = 3 ; +armwin.bos: return corpsetype; +Binary file armwin.cob matches +armyork.bos:SetMaxReloadTime(Func_Var_1) +armyork.bos: set-signal-mask 0; +armyork.bos:SetStunned(State) +armyork.bos: set-signal-mask SIG_AIM_3; +armyork.bos:Killed(severity, corpsetype) +armyork.bos: corpsetype = 1 ; +armyork.bos: return(corpsetype); +armyork.bos: corpsetype = 2 ; +armyork.bos: return(corpsetype); +armyork.bos: corpsetype = 3 ; +armyork.bos: return(corpsetype); +armyork.bos: corpsetype = 3 ; +armyork.bos: return corpsetype; +Binary file armyork.cob matches +armzeus.bos:SetStunned(State) +armzeus.bos: set-signal-mask SIG_AIM; +armzeus.bos:Killed(severity, corpsetype) +armzeus.bos: corpsetype = 1 ; +armzeus.bos: return(corpsetype); +armzeus.bos: corpsetype = 2 ; +armzeus.bos: return(corpsetype); +armzeus.bos: corpsetype = 3 ; +armzeus.bos: return(corpsetype); +armzeus.bos: corpsetype = 3 ; +armzeus.bos: return corpsetype; +Binary file armzeus.cob matches +Binary file cob_file.pyc matches +constants.h:** EXPtype.h -- Explosion Type information and GET/SET constants for + scripts +constants.h:#define ACTIVATION 1 // set or get +constants.h:#define STANDINGMOVEORDERS 2 // set or get +constants.h:#define STANDINGFIREORDERS 3 // set or get +constants.h:#define INBUILDSTANCE 5 // set or get +constants.h:#define BUSY 6 // set or get (used by misc. special + case missions like transport ships) +constants.h:#define YARD_OPEN 18 // set or get (change which plots we + occupy when building opens and closes) +constants.h:#define BUGGER_OFF 19 // set or get (ask other units to cl +ear the area) +constants.h:#define ARMORED 20 // set or get +constants.h:#define UPRIGHT 79 // set or get +constants.h:#define LOS_RADIUS 85 // set or get +constants.h:#define AIR_LOS_RADIUS 86 // set or get +constants.h:#define RADAR_RADIUS 87 // set or get +constants.h:#define JAMMER_RADIUS 88 // set or get +constants.h:#define SONAR_RADIUS 89 // set or get +constants.h:#define SONAR_JAM_RADIUS 90 // set or get +constants.h:#define SEISMIC_RADIUS 91 // set or get +constants.h:#define CURRENT_FUEL 93 // set or get +constants.h:#define SHIELD_POWER 95 // set or get +constants.h:#define STEALTH 96 // set or get +constants.h:#define CRASHING 97 // set or get, returns whether +aircraft isCrashing state +constants.h:#define CHANGE_TARGET 98 // set, the value it's set to d +etermines the affected weapon +constants.h:#define CEG_DAMAGE 99 // set +constants.h:#define ALPHA_THRESHOLD 103 // set or get +constants.h:#define SET_WEAPON_UNIT_TARGET 106 // get (fake set) +constants.h:#define SET_WEAPON_GROUND_TARGET 107 // get (fake set) +constants.h:#define SONAR_STEALTH 108 // set or get +constants.h:// Indices for SET, GET, and GET_UNIT_VALUE for LUA return values +constants.h:#define FLANK_B_MODE 120 // set or get +constants.h:#define FLANK_B_DIR 121 // set or get, set is through get fo +r multiple args +constants.h:#define FLANK_B_MOBILITY_ADD 122 // set or get +constants.h:#define FLANK_B_MAX_DAMAGE 123 // set or get +constants.h:#define FLANK_B_MIN_DAMAGE 124 // set or get +constants.h:#define WEAPON_RELOADSTATE 125 // get (with fake set) get WEAPON_R +ELOADSTATE(weaponNum) for GET +constants.h:#define WEAPON_RELOADTIME 126 // get (with fake set) get WEAPON_R +ELOADSTATE(-weaponNum,val) for SET +constants.h:#define WEAPON_ACCURACY 127 // get (with fake set) +constants.h:#define WEAPON_SPRAY 128 // get (with fake set) +constants.h:#define WEAPON_RANGE 129 // get (with fake set) +constants.h:#define WEAPON_PROJECTILE_SPEED 130 // get (with fake set) +constants.h:#define WEAPON_STOCKPILE_COUNT 139 // get (with fake set) +constants.h:#define ENERGY_MAKE 140 // set or get (100*E production) + +constants.h:#define METAL_MAKE 141 // set or get (100*M production) + +coraak.bos: set-signal-mask SIG_WALK; +coraak.bos: set-signal-mask 0; +coraak.bos: set-signal-mask 2; +coraak.bos: set-signal-mask 4; +coraak.bos: set-signal-mask 8; +coraak.bos: set-signal-mask 16; +coraak.bos: set-signal-mask 32; +coraak.bos: set-signal-mask 64; +coraak.bos: set-signal-mask 128; +coraak.bos: set-signal-mask 256; +coraak.bos: set-signal-mask 512; +coraak.bos:Killed(severity, corpsetype) +coraak.bos: corpsetype = 1; +coraak.bos: return (corpsetype); +coraak.bos: corpsetype = 2; +coraak.bos: return (corpsetype); +coraak.bos: corpsetype = 3; +coraak.bos: return (corpsetype); +coraak.bos: corpsetype = 3; +coraak.bos: return corpsetype; +coraak.lua_old: SetSignalMask(SIG_WALK) +coraak.lua_old:local function ResetLegs() +coraak.lua_old: ResetLegs() +coraak.lua_old: SetSignalMask( SIG_AIM2) +coraak.lua_old: SetSignalMask(math.pow(2,num)) +coraak.lua_old: -- SetSignalMask( ) +coraap.bos: set YARD_OPEN to 1; +coraap.bos: set BUGGER_OFF to 1; +coraap.bos: set YARD_OPEN to 1; +coraap.bos: set BUGGER_OFF to 0; +coraap.bos: set YARD_OPEN to 0; +coraap.bos: set BUGGER_OFF to 1; +coraap.bos: set YARD_OPEN to 0; +coraap.bos: set BUGGER_OFF to 0; +coraap.bos: set INBUILDSTANCE to 1; +coraap.bos: set INBUILDSTANCE to 0; +coraap.bos: set-signal-mask SIG_ACTIVATE; +coraap.bos: set-signal-mask 0; +coraap.bos:Killed(severity, corpsetype) +coraap.bos: corpsetype = 1 ; +coraap.bos: return(corpsetype); +coraap.bos: corpsetype = 2 ; +coraap.bos: return(corpsetype); +coraap.bos: corpsetype = 3 ; +coraap.bos: return(corpsetype); +coraap.bos: corpsetype = 3 ; +coraap.bos: return corpsetype; +coraca.bos: set INBUILDSTANCE to 1; +coraca.bos: set INBUILDSTANCE to 0; +coraca.bos:Killed(severity, corpsetype) +coraca.bos: corpsetype = 1 ; +coraca.bos: return(corpsetype); +coraca.bos: corpsetype = 2 ; +coraca.bos: return(corpsetype); +coraca.bos: corpsetype = 3 ; +coraca.bos: return(corpsetype); +coraca.bos: corpsetype = 3 ; +coraca.bos: return corpsetype; +corack.bos: set-signal-mask SIG_WALK; +corack.bos: set INBUILDSTANCE to 0; +corack.bos: set INBUILDSTANCE to 1; +corack.bos: set-signal-mask SIG_BUILD; +corack.bos: set-signal-mask 0; +corack.bos:Killed(severity, corpsetype) +corack.bos: corpsetype = 1 ; +corack.bos: return(corpsetype); +corack.bos: corpsetype = 2 ; +corack.bos: return(corpsetype); +corack.bos: corpsetype = 3 ; +corack.bos: return(corpsetype); +corack.bos: corpsetype = 3 ; +corack.bos: return corpsetype; +coracsub.bos: set INBUILDSTANCE to 0; +coracsub.bos: set-signal-mask SIG_MOVE; +coracsub.bos: set INBUILDSTANCE to 1; +coracsub.bos: set-signal-mask SIG_BUILD; +coracsub.bos: set-signal-mask 0; +coracsub.bos:Killed(severity, corpsetype) +coracsub.bos: corpsetype = 1 ; +coracsub.bos: return(corpsetype); +coracsub.bos: corpsetype = 2 ; +coracsub.bos: return(corpsetype); +coracsub.bos: corpsetype = 3 ; +coracsub.bos: return(corpsetype); +coracsub.bos: corpsetype = 3 ; +coracsub.bos: return corpsetype; +coracv.bos: set INBUILDSTANCE to 0; +coracv.bos:setSFXoccupy(state) +coracv.bos: set INBUILDSTANCE to 1; +coracv.bos: set-signal-mask SIG_BUILD; +coracv.bos: set-signal-mask 0; +coracv.bos:Killed(severity, corpsetype) +coracv.bos: corpsetype = 1 ; +coracv.bos: return(corpsetype); +coracv.bos: corpsetype = 2 ; +coracv.bos: return(corpsetype); +coracv.bos: corpsetype = 3 ; +coracv.bos: return(corpsetype); +coracv.bos: corpsetype = 3 ; +coracv.bos: return corpsetype; +Binary file coracv.cob matches +coradvsol.bos:// OffsetToScriptCodeIndexArray 54c +coradvsol.bos:// OffsetToScriptNameOffsetArray 568 +coradvsol.bos:// OffsetToPieceNameOffsetArray 584 +coradvsol.bos:// OffsetToScriptCode 2c +coradvsol.bos:// OffsetToNameArray 59c +coradvsol.bos:// OffsetToFirstName 59c +coradvsol.bos:/* 57:*/ set ARMORED to 0; +coradvsol.bos:/* 5f:*/ set ARMORED to 1; +coradvsol.bos:/* 78:*/ set-signal-mask 2; +coradvsol.bos:/* 7d:*/ set ACTIVATION to 0; +coradvsol.bos:/* 85:*/ set ACTIVATION to 100; +coradvsol.bos:Killed(severity, corpsetype) +coradvsol.bos: corpsetype = 1 ; +coradvsol.bos: return(corpsetype); +coradvsol.bos: corpsetype = 2 ; +coradvsol.bos: return(corpsetype); +coradvsol.bos: corpsetype = 3 ; +coradvsol.bos: return(corpsetype); +coradvsol.bos: corpsetype = 3 ; +coradvsol.bos: return corpsetype; +corafus.bos:// OffsetToScriptCodeIndexArray 730 +corafus.bos:// OffsetToScriptNameOffsetArray 758 +corafus.bos:// OffsetToPieceNameOffsetArray 780 +corafus.bos:// OffsetToScriptCode 2c +corafus.bos:// OffsetToNameArray 794 +corafus.bos:// OffsetToFirstName 794 +corafus.bos:/* b0:*/ set ARMORED to 1; +corafus.bos:/* ba:*/ set ARMORED to 0; +corafus.bos:Killed(severity, corpsetype) +corafus.bos:/* 133:*/ corpsetype = 1; +corafus.bos:/* 14c:*/ return (corpsetype); +corafus.bos:/* 156:*/ corpsetype = 2; +corafus.bos:/* 16f:*/ return (corpsetype); +corafus.bos:/* 179:*/ corpsetype = 3; +corafus.bos:/* 19b:*/ return (corpsetype); +corafus.bos:/* 19e:*/ corpsetype = 3; +corafus.bos:/* 1c0:*/ return (corpsetype); +corageo.lua: return 1 -- corpsetype +corageo.lua: return 2 -- corpsetype +corageo.lua: return 3 -- corpsetype +corah.bos: // Set values for tilt +corah.bos: set-signal-mask SIG_MOVE; +corah.bos:setSFXoccupy(Func_Var_1) +corah.bos:SetStunned(State) +corah.bos: set-signal-mask 2; +corah.bos:Killed(severity, corpsetype) +corah.bos: corpsetype = 1 ; +corah.bos: return(corpsetype); +corah.bos: corpsetype = 2 ; +corah.bos: return(corpsetype); +corah.bos: corpsetype = 3 ; +corah.bos: return(corpsetype); +corah.bos: corpsetype = 3 ; +corah.bos: return corpsetype; +Binary file corah.cob matches +corak.bos: set-signal-mask SIG_WALK; +corak.bos: set-signal-mask SIG_WALK | SIG_AIM; //you might need this +corak.bos:SetStunned(State) +corak.bos: set-signal-mask SIG_AIM; +corak.bos:Killed(severity, corpsetype) +corak.bos: corpsetype = 1 ; +corak.bos: return(corpsetype); +corak.bos: corpsetype = 2 ; +corak.bos: return(corpsetype); +corak.bos: corpsetype = 3 ; +corak.bos: return(corpsetype); +corak.bos: corpsetype = 3 ; +corak.bos: return corpsetype; +Binary file corak.cob matches +coralab.lua: UnitScript.SetSignalMask(SIG_OPENCLOSE); +coralab.lua: UnitScript.SetUnitValue(COB.INBUILDSTANCE, 1); +coralab.lua: UnitScript.SetSignalMask(SIG_OPENCLOSE); +coralab.lua: UnitScript.SetUnitValue(COB.INBUILDSTANCE, 0); +coralab.lua: UnitScript.SetSignalMask(SIG_ACTIVATE); +coralab.lua: UnitScript.SetSignalMask(SIG_BUILD); +coralab.lua: local corpsetype; +coralab.lua: corpsetype = 1; +coralab.lua: return corpsetype; +coralab.lua: corpsetype = 2; +coralab.lua: return corpsetype; +coralab.lua: corpsetype = 3; +coralab.lua: return corpsetype; +coralab.lua: corpsetype = 1; +coralab.lua: return corpsetype; +coramph.bos: set-signal-mask SIG_MOVE; +coramph.bos:SetMaxReloadTime(Func_Var_1) +coramph.bos:SetStunned(State) +coramph.bos: set-signal-mask SIG_AIM; +coramph.bos:Killed(severity, corpsetype) +coramph.bos: corpsetype = 1 ; +coramph.bos: return(corpsetype); +coramph.bos: corpsetype = 2 ; +coramph.bos: return(corpsetype); +coramph.bos: corpsetype = 3 ; +coramph.bos: return(corpsetype); +coramph.bos: corpsetype = 3 ; +coramph.bos: return corpsetype; +Binary file coramph.cob matches +coramsub.bos:// OffsetToScriptCodeIndexArray bc0 +coramsub.bos:// OffsetToScriptNameOffsetArray c00 +coramsub.bos:// OffsetToPieceNameOffsetArray c40 +coramsub.bos:// OffsetToScriptCode 2c +coramsub.bos:// OffsetToNameArray c78 +coramsub.bos:// OffsetToFirstName c78 +coramsub.bos:/* 87:*/ set YARD_OPEN to 1; +coramsub.bos:/* 92:*/ set BUGGER_OFF to 1; +coramsub.bos:/* 9a:*/ set YARD_OPEN to 1; +coramsub.bos:/* a1:*/ set BUGGER_OFF to 0; +coramsub.bos:/* a9:*/ set YARD_OPEN to 0; +coramsub.bos:/* b3:*/ set BUGGER_OFF to 1; +coramsub.bos:/* bb:*/ set YARD_OPEN to 0; +coramsub.bos:/* c2:*/ set BUGGER_OFF to 0; +coramsub.bos:/* d0:*/ set INBUILDSTANCE to 1; +coramsub.bos:/* d8:*/ set INBUILDSTANCE to 0; +coramsub.bos:/* 176:*/ set-signal-mask SIG_ACTIVATE; +coramsub.bos:/* 181:*/ set-signal-mask 0; +coramsub.bos:Killed(severity, corpsetype) +coramsub.bos: corpsetype = 1 ; +coramsub.bos: return(corpsetype); +coramsub.bos: corpsetype = 2 ; +coramsub.bos: return(corpsetype); +coramsub.bos: corpsetype = 3 ; +coramsub.bos: return(corpsetype); +coramsub.bos: corpsetype = 3 ; +coramsub.bos: return corpsetype; +corap.bos:// OffsetToScriptCodeIndexArray 11f0 +corap.bos:// OffsetToScriptNameOffsetArray 123c +corap.bos:// OffsetToPieceNameOffsetArray 1288 +corap.bos:// OffsetToScriptCode 2c +corap.bos:// OffsetToNameArray 12ac +corap.bos:// OffsetToFirstName 12ac +corap.bos:/* 17e:*/ set YARD_OPEN to 1; +corap.bos:/* 189:*/ set BUGGER_OFF to 1; +corap.bos:/* 191:*/ set YARD_OPEN to 1; +corap.bos:/* 198:*/ set BUGGER_OFF to 0; +corap.bos:/* 1a0:*/ set YARD_OPEN to 0; +corap.bos:/* 1aa:*/ set BUGGER_OFF to 1; +corap.bos:/* 1b2:*/ set YARD_OPEN to 0; +corap.bos:/* 1b9:*/ set BUGGER_OFF to 0; +corap.bos:/* 1d5:*/ set INBUILDSTANCE to 1; +corap.bos:/* 1dd:*/ set INBUILDSTANCE to 0; +corap.bos:/* 2af:*/ set-signal-mask SIG_ACTIVATE; +corap.bos:/* 2ba:*/ set-signal-mask 0; +corap.bos:Killed(severity, corpsetype) +corap.bos: corpsetype = 1 ; +corap.bos: return(corpsetype); +corap.bos: corpsetype = 2 ; +corap.bos: return(corpsetype); +corap.bos: corpsetype = 3 ; +corap.bos: return(corpsetype); +corap.bos: corpsetype = 3 ; +corap.bos: return corpsetype; +corape.bos://SetMaxReloadTime(Func_Var_1) +corape.bos://SetStunned(State) +corape.bos: set-signal-mask SIG_AIM; +corape.bos: set-signal-mask 0; +corape.bos: set-signal-mask SIG_AIM; +corape.bos:Killed(severity, corpsetype) +corape.bos: corpsetype = 1 ; +corape.bos: return(corpsetype); +corape.bos: corpsetype = 2 ; +corape.bos: return(corpsetype); +corape.bos: corpsetype = 3 ; +corape.bos: return(corpsetype); +corape.bos: corpsetype = 3 ; +corape.bos: return corpsetype; +corarad.bos:// OffsetToScriptCodeIndexArray 624 +corarad.bos:// OffsetToScriptNameOffsetArray 64c +corarad.bos:// OffsetToPieceNameOffsetArray 674 +corarad.bos:// OffsetToScriptCode 2c +corarad.bos:// OffsetToNameArray 680 +corarad.bos:// OffsetToFirstName 680 +corarad.bos:Killed(severity, corpsetype) +corarad.bos: corpsetype = 1 ; +corarad.bos: return(corpsetype); +corarad.bos: corpsetype = 2 ; +corarad.bos: return(corpsetype); +corarad.bos: corpsetype = 3 ; +corarad.bos: return(corpsetype); +corarad.bos: corpsetype = 3 ; +corarad.bos: return corpsetype; +corarch.bos:SetMaxReloadTime(Func_Var_1) +corarch.bos: set-signal-mask 0; +corarch.bos:SetStunned(State) +corarch.bos: set-signal-mask SIG_MOVE; +corarch.bos: set-signal-mask SIG_AIM_2; +corarch.bos: set-signal-mask SIG_AIM_3; +corarch.bos:Killed(severity, corpsetype) +corarch.bos: corpsetype = 1 ; +corarch.bos: return(corpsetype); +corarch.bos: corpsetype = 2 ; +corarch.bos: return(corpsetype); +corarch.bos: corpsetype = 3 ; +corarch.bos: return(corpsetype); +corarch.bos: corpsetype = 3 ; +corarch.bos: return corpsetype; +Binary file corarch.cob matches +corason.bos:Killed(severity, corpsetype) +corason.bos: corpsetype = 1 ; +corason.bos: return(corpsetype); +corason.bos: corpsetype = 2 ; +corason.bos: return(corpsetype); +corason.bos: corpsetype = 3 ; +corason.bos: return(corpsetype); +corason.bos: corpsetype = 3 ; +corason.bos: return corpsetype; +corasp.bos:// OffsetToScriptCodeIndexArray a94 +corasp.bos:// OffsetToScriptNameOffsetArray aac +corasp.bos:// OffsetToPieceNameOffsetArray ac4 +corasp.bos:// OffsetToScriptCode 2c +corasp.bos:// OffsetToNameArray b04 +corasp.bos:// OffsetToFirstName b04 +corasp.bos:Killed(severity, corpsetype) +corasp.bos: corpsetype = 1 ; +corasp.bos: return(corpsetype); +corasp.bos: corpsetype = 2 ; +corasp.bos: return(corpsetype); +corasp.bos: corpsetype = 3 ; +corasp.bos: return(corpsetype); +corasp.bos: corpsetype = 3 ; +corasp.bos: return corpsetype; +corasy.bos: set YARD_OPEN to 1; +corasy.bos: set BUGGER_OFF to 1; +corasy.bos: set YARD_OPEN to 1; +corasy.bos: set BUGGER_OFF to 0; +corasy.bos: set YARD_OPEN to 0; +corasy.bos: set BUGGER_OFF to 1; +corasy.bos: set YARD_OPEN to 0; +corasy.bos: set BUGGER_OFF to 0; +corasy.bos: set INBUILDSTANCE to 1; +corasy.bos: set INBUILDSTANCE to 0; +corasy.bos: set-signal-mask SIG_ACTIVATE; +corasy.bos: set-signal-mask 0; +corasy.bos:Killed(severity, corpsetype) +corasy.bos: corpsetype = 1 ; +corasy.bos: return(corpsetype); +corasy.bos: corpsetype = 2 ; +corasy.bos: return(corpsetype); +corasy.bos: corpsetype = 3 ; +corasy.bos: return(corpsetype); +corasy.bos: corpsetype = 3 ; +corasy.bos: return corpsetype; +corasye.bos: set YARD_OPEN to 1; +corasye.bos: set BUGGER_OFF to 1; +corasye.bos: set YARD_OPEN to 1; +corasye.bos: set BUGGER_OFF to 0; +corasye.bos: set YARD_OPEN to 0; +corasye.bos: set BUGGER_OFF to 1; +corasye.bos: set YARD_OPEN to 0; +corasye.bos: set BUGGER_OFF to 0; +corasye.bos: set INBUILDSTANCE to 1; +corasye.bos: set INBUILDSTANCE to 0; +corasye.bos: set-signal-mask SIG_ACTIVATE; +corasye.bos: set-signal-mask 0; +corasye.bos:Killed(severity, corpsetype) +corasye.bos: corpsetype = 1; +corasye.bos: return (corpsetype); +corasye.bos: corpsetype = 2; +corasye.bos: return (corpsetype); +corasye.bos: corpsetype = 3; +corasye.bos: return (corpsetype); +corasye.bos: corpsetype = 3; +corasye.bos: return (corpsetype); +coratl.bos: set-signal-mask SIG_AIM; +coratl.bos:Killed(severity, corpsetype) +coratl.bos: corpsetype = 1 ; +coratl.bos: return(corpsetype); +coratl.bos: corpsetype = 2 ; +coratl.bos: return(corpsetype); +coratl.bos: corpsetype = 3 ; +coratl.bos: return(corpsetype); +coratl.bos: corpsetype = 3 ; +coratl.bos: return corpsetype; +coravp.bos: set YARD_OPEN to 1; +coravp.bos: set BUGGER_OFF to 1; +coravp.bos: set YARD_OPEN to 1; +coravp.bos: set BUGGER_OFF to 0; +coravp.bos: set YARD_OPEN to 0; +coravp.bos: set BUGGER_OFF to 1; +coravp.bos: set YARD_OPEN to 0; +coravp.bos: set BUGGER_OFF to 0; +coravp.bos: set INBUILDSTANCE to 1; +coravp.bos: set INBUILDSTANCE to 0; +coravp.bos: set-signal-mask SIG_ACTIVATE; +coravp.bos: set-signal-mask 0; +coravp.bos:Killed(severity, corpsetype) +coravp.bos: corpsetype = 1 ; +coravp.bos: return(corpsetype); +coravp.bos: corpsetype = 2 ; +coravp.bos: return(corpsetype); +coravp.bos: corpsetype = 3 ; +coravp.bos: return(corpsetype); +coravp.bos: corpsetype = 3 ; +coravp.bos: return corpsetype; +corawac.bos:Killed(severity, corpsetype) +corawac.bos: corpsetype = 1 ; +corawac.bos: return(corpsetype); +corawac.bos: corpsetype = 2 ; +corawac.bos: return(corpsetype); +corawac.bos: corpsetype = 3 ; +corawac.bos: return(corpsetype); +corawac.bos: corpsetype = 3 ; +corawac.bos: return corpsetype; +corban.bos:setSFXoccupy(state) +corban.bos:SetMaxReloadTime(Func_Var_1) +corban.bos:SetStunned(State) +corban.bos: set-signal-mask SIG_AIM; +corban.bos:Killed(severity, corpsetype) +corban.bos: corpsetype = 1 ; +corban.bos: return(corpsetype); +corban.bos: corpsetype = 2 ; +corban.bos: return(corpsetype); +corban.bos: corpsetype = 3 ; +corban.bos: return(corpsetype); +corban.bos: corpsetype = 3 ; +corban.bos: return corpsetype; +Binary file corban.cob matches +corbats.bos: set-signal-mask 16; +corbats.bos:SetMaxReloadTime(Func_Var_1) +corbats.bos:SetStunned(State) +corbats.bos: set-signal-mask SIG_AIM; +corbats.bos: set-signal-mask 0; +corbats.bos: set-signal-mask SIG_MOVE; +corbats.bos: set-signal-mask SIG_AIM_2; +corbats.bos:Killed(severity, corpsetype) +corbats.bos: corpsetype = 1 ; +corbats.bos: return(corpsetype); +corbats.bos: corpsetype = 2 ; +corbats.bos: return(corpsetype); +corbats.bos: corpsetype = 3 ; +corbats.bos: return(corpsetype); +corbats.bos: corpsetype = 3 ; +corbats.bos: return corpsetype; +Binary file corbats.cob matches +corbhmth.bos: set-signal-mask 4; +corbhmth.bos: set ACTIVATION to 100; +corbhmth.bos: set ACTIVATION to 0; +corbhmth.bos: set-signal-mask 0; +corbhmth.bos:ResetFiretube() +corbhmth.bos: set-signal-mask SIG_AIM; +corbhmth.bos: set-signal-mask SIG_AIM; +corbhmth.bos: start-script ResetFiretube(); +corbhmth.bos: set-signal-mask SIG_AIM; +corbhmth.bos:Killed(severity, corpsetype) +corbhmth.bos: corpsetype = 1 ; +corbhmth.bos: return(corpsetype); +corbhmth.bos: corpsetype = 2 ; +corbhmth.bos: return(corpsetype); +corbhmth.bos: corpsetype = 3 ; +corbhmth.bos: return(corpsetype); +corbhmth.bos: corpsetype = 3 ; +corbhmth.bos: return corpsetype; +Binary file corbhmth.cob matches +corblackhy.bos: set-signal-mask 16; +corblackhy.bos: set ARMORED to 1; +corblackhy.bos:SetMaxReloadTime(Func_Var_1) +corblackhy.bos:SetStunned(State) +corblackhy.bos: set-signal-mask SIG_MOVE; +corblackhy.bos: set-signal-mask SIG_AIM; +corblackhy.bos: set-signal-mask 2; +corblackhy.bos: set-signal-mask 4; +corblackhy.bos: set-signal-mask 8; +corblackhy.bos: set-signal-mask 16; +corblackhy.bos: set-signal-mask 32; +corblackhy.bos: set-signal-mask 64; +corblackhy.bos:Killed(severity, corpsetype) +corblackhy.bos: corpsetype = 1 ; +corblackhy.bos: return(corpsetype); +corblackhy.bos: corpsetype = 2 ; +corblackhy.bos: return(corpsetype); +corblackhy.bos: corpsetype = 3 ; +corblackhy.bos: return(corpsetype); +corblackhy.bos: corpsetype = 3 ; +corblackhy.bos: return corpsetype; +Binary file corblackhy.cob matches +corbuzz.lua: SetSignalMask( SIG_AIM) +corbuzz.lua: return 1 -- corpsetype +corbuzz.lua: return 2 -- corpsetype +corbuzz.lua: return 3 -- corpsetype +corbw.bos: set-signal-mask SIG_AIM; +corbw.bos: set UNKNOWN_UNIT_VALUE(82) to 0 - 1500 + get UNK +NOWN_UNIT_VALUE(82); +corbw.bos: set UNKNOWN_UNIT_VALUE(82) to 1500 + get UNKNOWN +_UNIT_VALUE(82); +corbw.bos:Killed(severity, corpsetype) +corbw.bos: corpsetype = 1 ; +corbw.bos: return(corpsetype); +corbw.bos: corpsetype = 2 ; +corbw.bos: return(corpsetype); +corbw.bos: corpsetype = 3 ; +corbw.bos: return(corpsetype); +corbw.bos: corpsetype = 3 ; +corbw.bos: return corpsetype; +corca.bos: set INBUILDSTANCE to 1; +corca.bos: set INBUILDSTANCE to 0; +corca.bos:Killed(severity, corpsetype) +corca.bos: corpsetype = 1 ; +corca.bos: return(corpsetype); +corca.bos: corpsetype = 2 ; +corca.bos: return(corpsetype); +corca.bos: corpsetype = 3 ; +corca.bos: return(corpsetype); +corca.bos: corpsetype = 3 ; +corca.bos: return corpsetype; +corcan.bos: set-signal-mask SIG_WALK; +corcan.bos:SetMaxReloadTime(Func_Var_1) +corcan.bos:SetStunned(State) +corcan.bos: set-signal-mask SIG_AIM; +corcan.bos:Killed(severity, corpsetype) +corcan.bos: corpsetype = 1 ; +corcan.bos: return(corpsetype); +corcan.bos: corpsetype = 2 ; +corcan.bos: return(corpsetype); +corcan.bos: corpsetype = 3 ; +corcan.bos: return(corpsetype); +corcan.bos: corpsetype = 3 ; +corcan.bos: return corpsetype; +Binary file corcan.cob matches +corcarry.bos: set-signal-mask SIG_MOVE; +corcarry.bos: set-signal-mask 0; +corcarry.bos:SetStunned(State) +corcarry.bos: set-signal-mask SIG_AIM; +corcarry.bos:Killed(severity, corpsetype) +corcarry.bos: corpsetype = 1 ; +corcarry.bos: return(corpsetype); +corcarry.bos: corpsetype = 2 ; +corcarry.bos: return(corpsetype); +corcarry.bos: corpsetype = 3 ; +corcarry.bos: return(corpsetype); +corcarry.bos: corpsetype = 3 ; +corcarry.bos: return corpsetype; +Binary file corcarry.cob matches +corcat.bos: set-signal-mask SIG_WALK; +corcat.bos:SetStunned(State) +corcat.bos: set-signal-mask SIG_AIM; +corcat.bos:Killed(severity, corpsetype) +corcat.bos: corpsetype = 1 ; +corcat.bos: return(corpsetype); +corcat.bos: corpsetype = 2 ; +corcat.bos: return(corpsetype); +corcat.bos: corpsetype = 3 ; +corcat.bos: return(corpsetype); +corcat.bos: corpsetype = 3 ; +corcat.bos: return corpsetype; +Binary file corcat.cob matches +corch.bos: set INBUILDSTANCE to 0; +corch.bos: // Set values for tilt +corch.bos: set-signal-mask SIG_MOVE; +corch.bos:setSFXoccupy(state) +corch.bos: set INBUILDSTANCE to 1; +corch.bos: set-signal-mask SIG_BUILD; +corch.bos: set-signal-mask 0; +corch.bos:Killed(severity, corpsetype) +corch.bos: corpsetype = 1 ; +corch.bos: return(corpsetype); +corch.bos: corpsetype = 2 ; +corch.bos: return(corpsetype); +corch.bos: corpsetype = 3 ; +corch.bos: return(corpsetype); +corch.bos: corpsetype = 3 ; +corch.bos: return corpsetype; +Binary file corch.cob matches +corck.bos: set-signal-mask SIG_WALK; +corck.bos: set INBUILDSTANCE to 0; +corck.bos: set INBUILDSTANCE to 1; +corck.bos: set-signal-mask SIG_BUILD; +corck.bos: set-signal-mask 0; +corck.bos:Killed(severity, corpsetype) +corck.bos: corpsetype = 1 ; +corck.bos: return(corpsetype); +corck.bos: corpsetype = 2 ; +corck.bos: return(corpsetype); +corck.bos: corpsetype = 3 ; +corck.bos: return(corpsetype); +corck.bos: corpsetype = 3 ; +corck.bos: return corpsetype; +corcom.bos: set-signal-mask SIG_WALK; +corcom.bos: set-signal-mask SIG_AIM; +corcom.bos: set-signal-mask SIG_AIM; +corcom.bos: set-signal-mask SIG_AIM; +corcom.bos: set-signal-mask SIG_AIM; +corcom.bos: //set-signal-mask SIG_AIM; +corcom.bos: set INBUILDSTANCE to 1; +corcom.bos: set-signal-mask SIG_AIM; +corcom.bos: set INBUILDSTANCE to 0; +corcom.bos: set-signal-mask SIG_AIM; +corcom.bos:Killed( severity, corpsetype ) +corcom.bos: corpsetype = 1; +corcom.bos: return(corpsetype); +corcom_lus.lua: SetSignalMask(SIG_WALK) +corcom_lus.lua: SetSignalMask(SIG_AIM) +corcom_lus.lua: SetSignalMask(SIG_AIM) +corcom_lus.lua: SetSignalMask(SIG_AIM) +corcom_lus.lua: Spring.UnitScript.SetUnitValue(COB.INBUILDSTANCE, true) +corcom_lus.lua: Spring.UnitScript.SetUnitValue(COB.INBUILDSTANCE, false) +corcom_lus.lua: SetSignalMask(SIG_AIM) +corcom_lus.lua: SetSignalMask(SIG_AIM) +corcomboss.bos: set-signal-mask SIG_WALK; +corcomboss.bos: set-signal-mask SIG_AIM; +corcomboss.bos: set-signal-mask SIG_AIM; +corcomboss.bos: set-signal-mask SIG_AIM; +corcomboss.bos: set-signal-mask SIG_AIM; +corcomboss.bos: //set-signal-mask SIG_AIM; +corcomboss.bos: set INBUILDSTANCE to 1; +corcomboss.bos: set-signal-mask SIG_AIM; +corcomboss.bos: set INBUILDSTANCE to 0; +corcomboss.bos: set-signal-mask SIG_AIM; +corcomboss.bos:Killed( severity, corpsetype ) +corcomboss.bos: corpsetype = 1; +corcomboss.bos: return(corpsetype); +corcrash.bos: set-signal-mask SIG_WALK; +corcrash.bos:SetMaxReloadTime(Func_Var_1) +corcrash.bos:SetStunned(State) +corcrash.bos: set-signal-mask SIG_AIM_3; +corcrash.bos:Killed(severity, corpsetype) +corcrash.bos: corpsetype = 1 ; +corcrash.bos: return(corpsetype); +corcrash.bos: corpsetype = 2 ; +corcrash.bos: return(corpsetype); +corcrash.bos: corpsetype = 3 ; +corcrash.bos: return(corpsetype); +corcrash.bos: corpsetype = 3 ; +corcrash.bos: return corpsetype; +Binary file corcrash.cob matches +corcrus.bos:SetMaxReloadTime(Func_Var_1) +corcrus.bos: set-signal-mask 0; +corcrus.bos:SetStunned(State) +corcrus.bos: set-signal-mask 0; +corcrus.bos: set-signal-mask SIG_MOVE; +corcrus.bos: set-signal-mask SIG_AIM_2; +corcrus.bos: set-signal-mask SIG_AIM; +corcrus.bos:Killed(severity, corpsetype) +corcrus.bos: corpsetype = 1 ; +corcrus.bos: return(corpsetype); +corcrus.bos: corpsetype = 2 ; +corcrus.bos: return(corpsetype); +corcrus.bos: corpsetype = 3 ; +corcrus.bos: return(corpsetype); +corcrus.bos: corpsetype = 3 ; +corcrus.bos: return corpsetype; +Binary file corcrus.cob matches +corcrw.bos:SetMaxReloadTime(Func_Var_1) +corcrw.bos:SetStunned(State) +corcrw.bos: set-signal-mask SIG_AIM; +corcrw.bos: set-signal-mask SIG_AIM_2; +corcrw.bos: set-signal-mask SIG_AIM_3; +corcrw.bos:Killed(severity, corpsetype) +corcrw.bos: corpsetype = 1 ; +corcrw.bos: return(corpsetype); +corcrw.bos: corpsetype = 2 ; +corcrw.bos: return(corpsetype); +corcrw.bos: corpsetype = 3 ; +corcrw.bos: return(corpsetype); +corcrw.bos: corpsetype = 3 ; +corcrw.bos: return corpsetype; +Binary file corcrw.cob matches +corcs.bos: set-signal-mask SIG_MOVE; +corcs.bos: set INBUILDSTANCE to 1; +corcs.bos: set INBUILDSTANCE to 0; +corcs.bos:Killed(severity, corpsetype) +corcs.bos: corpsetype = 1 ; +corcs.bos: return(corpsetype); +corcs.bos: corpsetype = 2 ; +corcs.bos: return(corpsetype); +corcs.bos: corpsetype = 3 ; +corcs.bos: return(corpsetype); +corcs.bos: corpsetype = 3 ; +corcs.bos: return corpsetype; +corcsa.bos: set INBUILDSTANCE to 1; +corcsa.bos: set INBUILDSTANCE to 0; +corcsa.bos:Killed(severity, corpsetype) +corcsa.bos: corpsetype = 1 ; +corcsa.bos: return(corpsetype); +corcsa.bos: corpsetype = 2 ; +corcsa.bos: return(corpsetype); +corcsa.bos: corpsetype = 3 ; +corcsa.bos: return(corpsetype); +corcsa.bos: corpsetype = 3 ; +corcsa.bos: return corpsetype; +corcut.bos: set-signal-mask 0; +corcut.bos:SetStunned(State) +corcut.bos:setSFXoccupy(Func_Var_1) +corcut.bos:Killed(severity, corpsetype) +corcut.bos: corpsetype = 1 ; +corcut.bos: return(corpsetype); +corcut.bos: corpsetype = 2 ; +corcut.bos: return(corpsetype); +corcut.bos: corpsetype = 3 ; +corcut.bos: return(corpsetype); +corcut.bos: corpsetype = 3 ; +corcut.bos: return corpsetype; +Binary file corcut.cob matches +corcv.bos: set INBUILDSTANCE to 0; +corcv.bos: set INBUILDSTANCE to 1; +corcv.bos: set-signal-mask SIG_BUILD; +corcv.bos: set-signal-mask 0; +corcv.bos:Killed(severity, corpsetype) +corcv.bos: corpsetype = 1 ; +corcv.bos: return(corpsetype); +corcv.bos: corpsetype = 2 ; +corcv.bos: return(corpsetype); +corcv.bos: corpsetype = 3 ; +corcv.bos: return(corpsetype); +corcv.bos: corpsetype = 3 ; +corcv.bos: return corpsetype; +cordl.bos:// OffsetToScriptCodeIndexArray 77c +cordl.bos:// OffsetToScriptNameOffsetArray 79c +cordl.bos:// OffsetToPieceNameOffsetArray 7bc +cordl.bos:// OffsetToScriptCode 2c +cordl.bos:// OffsetToNameArray 7cc +cordl.bos:// OffsetToFirstName 7cc +cordl.bos:/* 95:*/ set-signal-mask SIG_AIM; +cordl.bos:Killed(severity, corpsetype) +cordl.bos: corpsetype = 1 ; +cordl.bos: return(corpsetype); +cordl.bos: corpsetype = 2 ; +cordl.bos: return(corpsetype); +cordl.bos: corpsetype = 3 ; +cordl.bos: return(corpsetype); +cordl.bos: corpsetype = 3 ; +cordl.bos: return corpsetype; +cordoom.bos: set ARMORED to 0; +cordoom.bos: set ARMORED to 1; +cordoom.bos:SetMaxReloadTime(Func_Var_1) +cordoom.bos: set-signal-mask SIG_AIM; +cordoom.bos: set-signal-mask SIG_AIM_2; +cordoom.bos: set-signal-mask SIG_AIM; +cordoom.bos: set-signal-mask SIG_AIM_2; +cordoom.bos: set-signal-mask SIG_AIM_3; +cordoom.bos:Killed(severity, corpsetype) +cordoom.bos: corpsetype = 1 ; +cordoom.bos: return(corpsetype); +cordoom.bos: corpsetype = 2 ; +cordoom.bos: return(corpsetype); +cordoom.bos: corpsetype = 3 ; +cordoom.bos: return(corpsetype); +cordoom.bos: corpsetype = 3 ; +cordoom.bos: return corpsetype; +Binary file cordoom.cob matches +cordrag.bos:// OffsetToScriptCodeIndexArray 38 +cordrag.bos:// OffsetToScriptNameOffsetArray 3c +cordrag.bos:// OffsetToPieceNameOffsetArray 40 +cordrag.bos:// OffsetToScriptCode 2c +cordrag.bos:// OffsetToNameArray 40 +cordrag.bos:// OffsetToFirstName 40 +corenaa.bos:SetMaxReloadTime(Func_Var_1) +corenaa.bos:SetStunned(State) +corenaa.bos: set-signal-mask SIG_AIM; +corenaa.bos:Killed(severity, corpsetype) +corenaa.bos: corpsetype = 1 ; +corenaa.bos: return(corpsetype); +corenaa.bos: corpsetype = 2 ; +corenaa.bos: return(corpsetype); +corenaa.bos: corpsetype = 3 ; +corenaa.bos: return(corpsetype); +corenaa.bos: corpsetype = 3 ; +corenaa.bos: return corpsetype; +Binary file corenaa.cob matches +corerad.bos:SetStunned(State) +corerad.bos: set-signal-mask SIG_AIM; +corerad.bos: set CHANGE_TARGET to 1; +corerad.bos:Killed(severity, corpsetype) +corerad.bos: corpsetype = 1 ; +corerad.bos: return(corpsetype); +corerad.bos: corpsetype = 2 ; +corerad.bos: return(corpsetype); +corerad.bos: corpsetype = 3 ; +corerad.bos: return(corpsetype); +corerad.bos: corpsetype = 3 ; +corerad.bos: return corpsetype; +Binary file corerad.cob matches +corestor.bos:// OffsetToScriptCodeIndexArray 3e8 +corestor.bos:// OffsetToScriptNameOffsetArray 3f8 +corestor.bos:// OffsetToPieceNameOffsetArray 408 +corestor.bos:// OffsetToScriptCode 2c +corestor.bos:// OffsetToNameArray 414 +corestor.bos:// OffsetToFirstName 414 +corestor.bos:Killed(severity, corpsetype) +corestor.bos: corpsetype = 1 ; +corestor.bos: return(corpsetype); +corestor.bos: corpsetype = 2 ; +corestor.bos: return(corpsetype); +corestor.bos: corpsetype = 3 ; +corestor.bos: return(corpsetype); +corestor.bos: corpsetype = 3 ; +corestor.bos: return corpsetype; +coresupp.bos:SetMaxReloadTime(Func_Var_1) +coresupp.bos:SetStunned(State) +coresupp.bos: set-signal-mask SIG_MOVE; +coresupp.bos: set-signal-mask SIG_AIM; +coresupp.bos: set-signal-mask SIG_AIM_2; +coresupp.bos:Killed(severity, corpsetype) +coresupp.bos: corpsetype = 1 ; +coresupp.bos: return(corpsetype); +coresupp.bos: corpsetype = 2 ; +coresupp.bos: return(corpsetype); +coresupp.bos: corpsetype = 3 ; +coresupp.bos: return(corpsetype); +coresupp.bos: corpsetype = 3 ; +coresupp.bos: return corpsetype; +Binary file coresupp.cob matches +coreter.bos: set ACTIVATION to 0; +coreter.bos:SetStunned(State) +coreter.bos: set-signal-mask 2; +coreter.bos: set ACTIVATION to 0; +coreter.bos: set ACTIVATION to 100; +coreter.bos:Killed(severity, corpsetype) +coreter.bos: corpsetype = 1 ; +coreter.bos: return(corpsetype); +coreter.bos: corpsetype = 2 ; +coreter.bos: return(corpsetype); +coreter.bos: corpsetype = 3 ; +coreter.bos: return(corpsetype); +coreter.bos: corpsetype = 3 ; +coreter.bos: return corpsetype; +Binary file coreter.cob matches +corexp.bos:SetMaxReloadTime(Func_Var_1) +corexp.bos: set-signal-mask 0; +corexp.bos:SetStunned(State) +corexp.bos:SetSpeed(Func_Var_1) +corexp.bos: set-signal-mask SIG_AIM; +corexp.bos:Killed(severity, corpsetype) +corexp.bos: corpsetype = 1 ; +corexp.bos: return(corpsetype); +corexp.bos: corpsetype = 2 ; +corexp.bos: return(corpsetype); +corexp.bos: corpsetype = 3 ; +corexp.bos: return(corpsetype); +corexp.bos: corpsetype = 3 ; +corexp.bos: return corpsetype; +Binary file corexp.cob matches +coreyes.bos:Killed(severity, corpsetype) +coreyes.bos: corpsetype = 3; +coreyes.bos: return (corpsetype); +corfast.bos: set-signal-mask SIG_BUILD; +corfast.bos: set INBUILDSTANCE to 1; +corfast.bos: set-signal-mask SIG_BUILD; +corfast.bos: set INBUILDSTANCE to 0; +corfast.bos:Killed(severity, corpsetype) +corfast.bos: corpsetype = 1 ; +corfast.bos: return(corpsetype); +corfast.bos: corpsetype = 2 ; +corfast.bos: return(corpsetype); +corfast.bos: corpsetype = 3 ; +corfast.bos: return(corpsetype); +corfast.bos: corpsetype = 3 ; +corfast.bos: return corpsetype; +corfatf.bos:Killed(severity, corpsetype) +corfatf.bos: corpsetype = 1 ; +corfatf.bos: return(corpsetype); +corfatf.bos: corpsetype = 2 ; +corfatf.bos: return(corpsetype); +corfatf.bos: corpsetype = 3 ; +corfatf.bos: return(corpsetype); +corfatf.bos: corpsetype = 3 ; +corfatf.bos: return corpsetype; +corfav.bos:SetMaxReloadTime(Func_Var_1) +corfav.bos:SetStunned(State) +corfav.bos: set-signal-mask SIG_AIM; +corfav.bos:Killed(severity, corpsetype) +corfav.bos: corpsetype = 1 ; +corfav.bos: return(corpsetype); +corfav.bos: corpsetype = 2 ; +corfav.bos: return(corpsetype); +corfav.bos: corpsetype = 3 ; +corfav.bos: return(corpsetype); +corfav.bos: corpsetype = 3 ; +corfav.bos: return corpsetype; +Binary file corfav.cob matches +corfgate.bos:Killed(severity, corpsetype) +corfgate.bos: corpsetype = 1 ; +corfgate.bos: return(corpsetype); +corfgate.bos: corpsetype = 2 ; +corfgate.bos: return(corpsetype); +corfgate.bos: corpsetype = 3 ; +corfgate.bos: return(corpsetype); +corfgate.bos: corpsetype = 3 ; +corfgate.bos: return corpsetype; +corfhlt.bos: set-signal-mask SIG_AIM; +corfhlt.bos:Killed(severity, corpsetype) +corfhlt.bos: corpsetype = 1 ; +corfhlt.bos: return(corpsetype); +corfhlt.bos: corpsetype = 2 ; +corfhlt.bos: return(corpsetype); +corfhlt.bos: corpsetype = 3 ; +corfhlt.bos: return(corpsetype); +corfhlt.bos: corpsetype = 3 ; +corfhlt.bos: return corpsetype; +corfhp.bos:// OffsetToScriptCodeIndexArray 11e4 +corfhp.bos:// OffsetToScriptNameOffsetArray 1230 +corfhp.bos:// OffsetToPieceNameOffsetArray 127c +corfhp.bos:// OffsetToScriptCode 2c +corfhp.bos:// OffsetToNameArray 12a4 +corfhp.bos:// OffsetToFirstName 12a4 +corfhp.bos:/* 162:*/ set YARD_OPEN to 1; +corfhp.bos:/* 16d:*/ set BUGGER_OFF to 1; +corfhp.bos:/* 175:*/ set YARD_OPEN to 1; +corfhp.bos:/* 17c:*/ set BUGGER_OFF to 0; +corfhp.bos:/* 184:*/ set YARD_OPEN to 0; +corfhp.bos:/* 18e:*/ set BUGGER_OFF to 1; +corfhp.bos:/* 196:*/ set YARD_OPEN to 0; +corfhp.bos:/* 19d:*/ set BUGGER_OFF to 0; +corfhp.bos:/* 1bb:*/ set INBUILDSTANCE to 1; +corfhp.bos:/* 1c3:*/ set INBUILDSTANCE to 0; +corfhp.bos:/* 28c:*/ set-signal-mask SIG_ACTIVATE; +corfhp.bos:/* 297:*/ set-signal-mask 0; +corfhp.bos:Killed(severity, corpsetype) +corfhp.bos: corpsetype = 1 ; +corfhp.bos: return(corpsetype); +corfhp.bos: corpsetype = 2 ; +corfhp.bos: return(corpsetype); +corfhp.bos: corpsetype = 3 ; +corfhp.bos: return(corpsetype); +corfhp.bos: corpsetype = 3 ; +corfhp.bos: return corpsetype; +corfink.bos:Killed(severity, corpsetype) +corfink.bos: corpsetype = 1 ; +corfink.bos: return(corpsetype); +corfink.bos: corpsetype = 2 ; +corfink.bos: return(corpsetype); +corfink.bos: corpsetype = 3 ; +corfink.bos: return(corpsetype); +corfink.bos: corpsetype = 3 ; +corfink.bos: return corpsetype; +corflak.bos:SetStunned(State) +corflak.bos: set-signal-mask SIG_AIM; +corflak.bos:Killed(severity, corpsetype) +corflak.bos: corpsetype = 1 ; +corflak.bos: return(corpsetype); +corflak.bos: corpsetype = 2 ; +corflak.bos: return(corpsetype); +corflak.bos: corpsetype = 3 ; +corflak.bos: return(corpsetype); +corflak.bos: corpsetype = 3 ; +corflak.bos: return corpsetype; +Binary file corflak.cob matches +corfmd.bos:SetMaxReloadTime(Func_Var_1) +corfmd.bos:/* 1d4:*/ set-signal-mask SIG_AIM; +corfmd.bos:Killed(severity, corpsetype) +corfmd.bos: corpsetype = 1 ; +corfmd.bos: return(corpsetype); +corfmd.bos: corpsetype = 2 ; +corfmd.bos: return(corpsetype); +corfmd.bos: corpsetype = 3 ; +corfmd.bos: return(corpsetype); +corfmd.bos: corpsetype = 3 ; +corfmd.bos: return corpsetype; +Binary file corfmd.cob matches +corfmkr.bos: set ACTIVATION to 1; +corfmkr.bos: set ACTIVATION to 0; +corfmkr.bos:Killed(severity, corpsetype) +corfmkr.bos: corpsetype = 1 ; +corfmkr.bos: return(corpsetype); +corfmkr.bos: corpsetype = 2 ; +corfmkr.bos: return(corpsetype); +corfmkr.bos: corpsetype = 3 ; +corfmkr.bos: return(corpsetype); +corfmkr.bos: corpsetype = 3 ; +corfmkr.bos: return corpsetype; +corfrad.bos:Killed(severity, corpsetype) +corfrad.bos: corpsetype = 1 ; +corfrad.bos: return(corpsetype); +corfrad.bos: corpsetype = 2 ; +corfrad.bos: return(corpsetype); +corfrad.bos: corpsetype = 3 ; +corfrad.bos: return(corpsetype); +corfrad.bos: corpsetype = 3 ; +corfrad.bos: return corpsetype; +corfrock.bos:SetStunned(State) +corfrock.bos: set-signal-mask SIG_AIM; +corfrock.bos:Killed(severity, corpsetype) +corfrock.bos: corpsetype = 1; +corfrock.bos: return (corpsetype); +corfrock.bos: corpsetype = 2; +corfrock.bos: return (corpsetype); +corfrock.bos: corpsetype = 3; +corfrock.bos: return (corpsetype); +corfrock.bos: corpsetype = 3; +corfrock.bos: return (corpsetype); +Binary file corfrock.cob matches +corfrt.bos:SetStunned(State) +corfrt.bos: set-signal-mask SIG_AIM; +corfrt.bos:Killed(severity, corpsetype) +corfrt.bos: corpsetype = 1 ; +corfrt.bos: return(corpsetype); +corfrt.bos: corpsetype = 2 ; +corfrt.bos: return(corpsetype); +corfrt.bos: corpsetype = 3 ; +corfrt.bos: return(corpsetype); +corfrt.bos: corpsetype = 3 ; +corfrt.bos: return corpsetype; +Binary file corfrt.cob matches +corfus.bos:// OffsetToScriptCodeIndexArray 52c +corfus.bos:// OffsetToScriptNameOffsetArray 53c +corfus.bos:// OffsetToPieceNameOffsetArray 54c +corfus.bos:// OffsetToScriptCode 2c +corfus.bos:// OffsetToNameArray 564 +corfus.bos:// OffsetToFirstName 564 +corfus.bos:Killed(severity, corpsetype) +corfus.bos: corpsetype = 1 ; +corfus.bos: return(corpsetype); +corfus.bos: corpsetype = 2 ; +corfus.bos: return(corpsetype); +corfus.bos: corpsetype = 3 ; +corfus.bos: return(corpsetype); +corfus.bos: corpsetype = 3 ; +corfus.bos: return corpsetype; +corgant.bos: set YARD_OPEN to 1; +corgant.bos: set BUGGER_OFF to 1; +corgant.bos: set YARD_OPEN to 1; +corgant.bos: set BUGGER_OFF to 0; +corgant.bos: set YARD_OPEN to 0; +corgant.bos: set BUGGER_OFF to 1; +corgant.bos: set YARD_OPEN to 0; +corgant.bos: set BUGGER_OFF to 0; +corgant.bos: set INBUILDSTANCE to 1; +corgant.bos: set INBUILDSTANCE to 0; +corgant.bos: set-signal-mask SIG_ACTIVATE; +corgant.bos: set-signal-mask 0; +corgant.bos:Killed(severity, corpsetype) +corgant.bos: corpsetype = 1 ; +corgant.bos: return(corpsetype); +corgant.bos: corpsetype = 2 ; +corgant.bos: return(corpsetype); +corgant.bos: corpsetype = 3 ; +corgant.bos: return(corpsetype); +corgant.bos: corpsetype = 3 ; +corgant.bos: return corpsetype; +corgarp.bos:SetMaxReloadTime(Func_Var_1) +corgarp.bos:SetStunned(State) +corgarp.bos: set-signal-mask SIG_AIM; +corgarp.bos:Killed(severity, corpsetype) +corgarp.bos: corpsetype = 1 ; +corgarp.bos: return(corpsetype); +corgarp.bos: corpsetype = 2 ; +corgarp.bos: return(corpsetype); +corgarp.bos: corpsetype = 3 ; +corgarp.bos: return(corpsetype); +corgarp.bos: corpsetype = 3 ; +corgarp.bos: return corpsetype; +Binary file corgarp.cob matches +corgate.bos:Killed(severity, corpsetype) +corgate.bos: corpsetype = 1 ; +corgate.bos: return(corpsetype); +corgate.bos: corpsetype = 2 ; +corgate.bos: return(corpsetype); +corgate.bos: corpsetype = 3 ; +corgate.bos: return(corpsetype); +corgate.bos: corpsetype = 3 ; +corgate.bos: return corpsetype; +corgator.bos:SetMaxReloadTime(Func_Var_1) +corgator.bos:SetStunned(State) +corgator.bos: set-signal-mask SIG_AIM; +corgator.bos:Killed(severity, corpsetype) +corgator.bos: corpsetype = 1 ; +corgator.bos: return(corpsetype); +corgator.bos: corpsetype = 2 ; +corgator.bos: return(corpsetype); +corgator.bos: corpsetype = 3 ; +corgator.bos: return(corpsetype); +corgator.bos: corpsetype = 3 ; +corgator.bos: return corpsetype; +Binary file corgator.cob matches +corgeo.lua: return 1 -- corpsetype +corgeo.lua: return 2 -- corpsetype +corgeo.lua: return 3 -- corpsetype +corgol.bos:SetMaxReloadTime(Func_Var_1) +corgol.bos:SetStunned(State) +corgol.bos: set-signal-mask SIG_AIM; +corgol.bos:Killed(severity, corpsetype) +corgol.bos: corpsetype = 1 ; +corgol.bos: return(corpsetype); +corgol.bos: corpsetype = 2 ; +corgol.bos: return(corpsetype); +corgol.bos: corpsetype = 3 ; +corgol.bos: return(corpsetype); +corgol.bos: corpsetype = 3 ; +corgol.bos: return corpsetype; +Binary file corgol.cob matches +corgplat.bos: set-signal-mask SIG_AIM; +corgplat.bos:Killed(severity, corpsetype) +corgplat.bos: corpsetype = 1 ; +corgplat.bos: return(corpsetype); +corgplat.bos: corpsetype = 2 ; +corgplat.bos: return(corpsetype); +corgplat.bos: corpsetype = 3 ; +corgplat.bos: return(corpsetype); +corgplat.bos: corpsetype = 3 ; +corgplat.bos: return corpsetype; +corhal.bos: // Set values for tilt +corhal.bos: set-signal-mask SIG_MOVE; +corhal.bos:setSFXoccupy(Func_Var_1) +corhal.bos:SetMaxReloadTime(Func_Var_1) +corhal.bos:SetStunned(State) +corhal.bos: set-signal-mask SIG_AIM; +corhal.bos:Killed(severity, corpsetype) +corhal.bos: corpsetype = 1 ; +corhal.bos: return(corpsetype); +corhal.bos: corpsetype = 2 ; +corhal.bos: return(corpsetype); +corhal.bos: corpsetype = 3 ; +corhal.bos: return(corpsetype); +corhal.bos: corpsetype = 3 ; +corhal.bos: return corpsetype; +Binary file corhal.cob matches +corhllt.bos:SetMaxReloadTime(Func_Var_1) +corhllt.bos: set-signal-mask SIG_AIM; +corhllt.bos: set-signal-mask SIG_AIM_2; +corhllt.bos:Killed(severity, corpsetype) +corhllt.bos: corpsetype = 1 ; +corhllt.bos: return(corpsetype); +corhllt.bos: corpsetype = 2 ; +corhllt.bos: return(corpsetype); +corhllt.bos: corpsetype = 3 ; +corhllt.bos: return(corpsetype); +corhllt.bos: corpsetype = 3 ; +corhllt.bos: return corpsetype; +Binary file corhllt.cob matches +corhlt.bos: set-signal-mask SIG_AIM; +corhlt.bos: set-signal-mask SIG_AIM; +corhlt.bos:Killed(severity, corpsetype) +corhlt.bos: corpsetype = 1 ; +corhlt.bos: return(corpsetype); +corhlt.bos: corpsetype = 2 ; +corhlt.bos: return(corpsetype); +corhlt.bos: corpsetype = 3 ; +corhlt.bos: return(corpsetype); +corhlt.bos: corpsetype = 3 ; +corhlt.bos: return corpsetype; +corhp.bos:// OffsetToScriptCodeIndexArray 11e4 +corhp.bos:// OffsetToScriptNameOffsetArray 1230 +corhp.bos:// OffsetToPieceNameOffsetArray 127c +corhp.bos:// OffsetToScriptCode 2c +corhp.bos:// OffsetToNameArray 12a4 +corhp.bos:// OffsetToFirstName 12a4 +corhp.bos:/* 162:*/ set YARD_OPEN to 1; +corhp.bos:/* 16d:*/ set BUGGER_OFF to 1; +corhp.bos:/* 175:*/ set YARD_OPEN to 1; +corhp.bos:/* 17c:*/ set BUGGER_OFF to 0; +corhp.bos:/* 184:*/ set YARD_OPEN to 0; +corhp.bos:/* 18e:*/ set BUGGER_OFF to 1; +corhp.bos:/* 196:*/ set YARD_OPEN to 0; +corhp.bos:/* 19d:*/ set BUGGER_OFF to 0; +corhp.bos:/* 1bb:*/ set INBUILDSTANCE to 1; +corhp.bos:/* 1c3:*/ set INBUILDSTANCE to 0; +corhp.bos:/* 28c:*/ set-signal-mask SIG_ACTIVATE; +corhp.bos:/* 297:*/ set-signal-mask 0; +corhp.bos:Killed(severity, corpsetype) +corhp.bos: corpsetype = 1 ; +corhp.bos: return(corpsetype); +corhp.bos: corpsetype = 2 ; +corhp.bos: return(corpsetype); +corhp.bos: corpsetype = 3 ; +corhp.bos: return(corpsetype); +corhp.bos: corpsetype = 3 ; +corhp.bos: return corpsetype; +corhrk.bos: //set-signal-mask SIG_WALK; +corhrk.bos:SetMaxReloadTime(Func_Var_1) +corhrk.bos:SetStunned(State) +corhrk.bos: set-signal-mask SIG_AIM; +corhrk.bos:Killed(severity, corpsetype) +corhrk.bos: corpsetype = 1 ; +corhrk.bos: return(corpsetype); +corhrk.bos: corpsetype = 2 ; +corhrk.bos: return(corpsetype); +corhrk.bos: corpsetype = 3 ; +corhrk.bos: return(corpsetype); +corhrk.bos: corpsetype = 3 ; +corhrk.bos: return corpsetype; +Binary file corhrk.cob matches +corhunt.bos:Killed(severity, corpsetype) +corhunt.bos: corpsetype = 1 ; +corhunt.bos: return(corpsetype); +corhunt.bos: corpsetype = 2 ; +corhunt.bos: return(corpsetype); +corhunt.bos: corpsetype = 3 ; +corhunt.bos: return(corpsetype); +corhunt.bos: corpsetype = 3 ; +corhunt.bos: return corpsetype; +corhurc.bos:Killed(severity, corpsetype) +corhurc.bos: corpsetype = 1 ; +corhurc.bos: return(corpsetype); +corhurc.bos: corpsetype = 2 ; +corhurc.bos: return(corpsetype); +corhurc.bos: corpsetype = 3 ; +corhurc.bos: return(corpsetype); +corhurc.bos: corpsetype = 3 ; +corhurc.bos: return corpsetype; +corint.bos: set-signal-mask SIG_AIM; +corint.bos:Killed(severity, corpsetype) +corint.bos: corpsetype = 1 ; +corint.bos: return(corpsetype); +corint.bos: corpsetype = 2 ; +corint.bos: return(corpsetype); +corint.bos: corpsetype = 3 ; +corint.bos: return(corpsetype); +corint.bos: corpsetype = 3 ; +corint.bos: return corpsetype; +corintr.bos: set ARMORED to 1; +corintr.bos: set-signal-mask SIG_MOVE; +corintr.bos:BoomReset() +corintr.bos: set-signal-mask 2; +corintr.bos: set BUSY to 1; +corintr.bos: call-script BoomReset(); +corintr.bos: set BUSY to 0; +corintr.bos: set BUSY to 1; +corintr.bos: start-script BoomReset(); +corintr.bos: set BUSY to 0; +corintr.bos:Killed(severity, corpsetype) +corintr.bos: corpsetype = 1 ; +corintr.bos: return(corpsetype); +corintr.bos: corpsetype = 2 ; +corintr.bos: return(corpsetype); +corintr.bos: corpsetype = 3 ; +corintr.bos: return(corpsetype); +corintr.bos: corpsetype = 3 ; +corintr.bos: return corpsetype; +Binary file corintr.cob matches +corjamt.bos:// OffsetToScriptCodeIndexArray 744 +corjamt.bos:// OffsetToScriptNameOffsetArray 76c +corjamt.bos:// OffsetToPieceNameOffsetArray 794 +corjamt.bos:// OffsetToScriptCode 2c +corjamt.bos:// OffsetToNameArray 7a8 +corjamt.bos:// OffsetToFirstName 7a8 +corjamt.bos:Killed(severity, corpsetype) +corjamt.bos: corpsetype = 1 ; +corjamt.bos: return(corpsetype); +corjamt.bos: corpsetype = 2 ; +corjamt.bos: return(corpsetype); +corjamt.bos: corpsetype = 3 ; +corjamt.bos: return(corpsetype); +corjamt.bos: corpsetype = 3 ; +corjamt.bos: return corpsetype; +corjugg.bos: set-signal-mask SIG_WALK; +corjugg.bos:SetMaxReloadTime(Func_Var_1) +corjugg.bos: set-signal-mask 4 | 8 | 16 | 32; +corjugg.bos: set-signal-mask 4; +corjugg.bos: set-signal-mask 8; +corjugg.bos: set CHANGE_TARGET to 2; +corjugg.bos: set-signal-mask 16; +corjugg.bos: set CHANGE_TARGET to 3; +corjugg.bos: set-signal-mask 32; +corjugg.bos: set CHANGE_TARGET to 4; +corjugg.bos:Killed(severity, corpsetype) +corjugg.bos: corpsetype = 1; +corjugg.bos: return (corpsetype); +corjugg.bos: corpsetype = 2; +corjugg.bos: return (corpsetype); +corjugg.bos: corpsetype = 3; +corjugg.bos: return (corpsetype); +corjugg.bos: corpsetype = 3; +corjugg.bos: return corpsetype; +Binary file corjugg.cob matches +corjugg.lua_old: SetSignalMask( SIG_walk ) +corjugg.lua_old: SetSignalMask( SIG_stop ) +corjugg.lua_old: SetSignalMask( SIG_aim1 ) +corjugg.lua_old: SetSignalMask( SIG_aim2 ) +corjugg.lua_old: SetSignalMask( SIG_aim3 ) +corjugg.lua_old: SetSignalMask( SIG_aim4 ) +corjuno.bos:// OffsetToScriptCodeIndexArray d80 +corjuno.bos:// OffsetToScriptNameOffsetArray dc4 +corjuno.bos:// OffsetToPieceNameOffsetArray e08 +corjuno.bos:// OffsetToScriptCode 2c +corjuno.bos:// OffsetToNameArray e4c +corjuno.bos:// OffsetToFirstName e4c +corjuno.bos:SetMaxReloadTime(Func_Var_1) +corjuno.bos:/* 1f1:*/ set-signal-mask 0; +corjuno.bos:/* 206:*/ set-signal-mask SIG_AIM; +corjuno.bos:Killed(severity, corpsetype) +corjuno.bos: corpsetype = 1 ; +corjuno.bos: return(corpsetype); +corjuno.bos: corpsetype = 2 ; +corjuno.bos: return(corpsetype); +corjuno.bos: corpsetype = 3 ; +corjuno.bos: return(corpsetype); +corjuno.bos: corpsetype = 3 ; +corjuno.bos: return corpsetype; +Binary file corjuno.cob matches +corkarg.bos: //set-signal-mask SIG_WALK; +corkarg.bos: set-signal-mask SIG_AIM; +corkarg.bos:Killed(severity, corpsetype) +corkarg.bos: corpsetype = 1 ; +corkarg.bos: corpsetype = 2 ; +corkarg.bos: corpsetype = 3 ; +corkarg.bos: corpsetype = 3 ; +corkarg.lua_old: SetSignalMask(SIG_WALK) +corkarg.lua_old: SetSignalMask(SIG_RESTORE) +corkarg.lua_old: SetSignalMask(SIG_AIM) +corkorg.bos: set-signal-mask SIG_WALK; +corkorg.bos: set ARMORED to 1; +corkorg.bos:SetMaxReloadTime(Func_Var_1) +corkorg.bos:setSFXoccupy(Func_Var_1) +corkorg.bos: set-signal-mask SIG_HEAD; //sets what signals kill the current t +hread +corkorg.bos: set-signal-mask SIG_BODY; +corkorg.bos: set-signal-mask SIG_FOOTSTOMP_L; +corkorg.bos: set-signal-mask SIG_FOOTSTOMP_R; +corkorg.bos:Killed(severity, corpsetype) +corkorg.bos: corpsetype = 1 ; +corkorg.bos: return(corpsetype); +corkorg.bos: corpsetype = 2 ; +corkorg.bos: return(corpsetype); +corkorg.bos: corpsetype = 3 ; +corkorg.bos: return(corpsetype); +corkorg.bos: corpsetype = 3 ; +corkorg.bos: return corpsetype; +Binary file corkorg.cob matches +corlab.lua: UnitScript.SetSignalMask(SIG_OPENCLOSE); +corlab.lua: UnitScript.SetUnitValue(COB.INBUILDSTANCE, 1); +corlab.lua: UnitScript.SetSignalMask(SIG_OPENCLOSE); +corlab.lua: UnitScript.SetUnitValue(COB.INBUILDSTANCE, 0); +corlab.lua: UnitScript.SetSignalMask(SIG_ACTIVATE); +corlab.lua: SetSignalMask(SIG_CRANE1); +corlab.lua: SetSignalMask(SIG_CRANE2); +corlab.lua: local corpsetype; +corlab.lua: corpsetype = 1; +corlab.lua: return corpsetype; +corlab.lua: corpsetype = 2; +corlab.lua: return corpsetype; +corlab.lua: corpsetype = 3; +corlab.lua: return corpsetype; +corlab.lua: corpsetype = 3; +corlab.lua: return corpsetype; +corlevlr.bos:SetMaxReloadTime(Func_Var_1) +corlevlr.bos:SetStunned(State) +corlevlr.bos: set-signal-mask SIG_AIM; +corlevlr.bos:Killed(severity, corpsetype) +corlevlr.bos: corpsetype = 1 ; +corlevlr.bos: return(corpsetype); +corlevlr.bos: corpsetype = 2 ; +corlevlr.bos: return(corpsetype); +corlevlr.bos: corpsetype = 3 ; +corlevlr.bos: return(corpsetype); +corlevlr.bos: corpsetype = 3 ; +corlevlr.bos: return corpsetype; +Binary file corlevlr.cob matches +corllt.bos: set-signal-mask SIG_AIM; +corllt.bos:Killed(severity, corpsetype) +corllt.bos: corpsetype = 1 ; +corllt.bos: return(corpsetype); +corllt.bos: corpsetype = 2 ; +corllt.bos: return(corpsetype); +corllt.bos: corpsetype = 3 ; +corllt.bos: return(corpsetype); +corllt.bos: corpsetype = 3 ; +corllt.bos: return corpsetype; +cormabm.bos: set-signal-mask 0; +cormabm.bos:SetStunned(State) +cormabm.bos: set-signal-mask SIG_AIM; +cormabm.bos:Killed(severity, corpsetype) +cormabm.bos: corpsetype = 1 ; +cormabm.bos: return(corpsetype); +cormabm.bos: corpsetype = 2 ; +cormabm.bos: return(corpsetype); +cormabm.bos: corpsetype = 3 ; +cormabm.bos: return(corpsetype); +cormabm.bos: corpsetype = 3 ; +cormabm.bos: return corpsetype; +Binary file cormabm.cob matches +cormadsam.lua: SetSignalMask(SIG_AIM) +cormadsam.lua: return 1 -- corpsetype +cormadsam.lua: return 2 -- corpsetype +cormadsam.lua: return 3 -- corpsetype +cormakr.bos: set ACTIVATION to 1; +cormakr.bos: set ACTIVATION to 0; +cormakr.bos:Killed(severity, corpsetype) +cormakr.bos: corpsetype = 1 ; +cormakr.bos: return(corpsetype); +cormakr.bos: corpsetype = 2 ; +cormakr.bos: return(corpsetype); +cormakr.bos: corpsetype = 3 ; +cormakr.bos: return(corpsetype); +cormakr.bos: corpsetype = 3 ; +cormakr.bos: return corpsetype; +cormando.bos: set-signal-mask SIG_WALK; +cormando.bos: set INBUILDSTANCE to 0; +cormando.bos: set INBUILDSTANCE to 1; +cormando.bos: set-signal-mask SIG_BUILD; +cormando.bos: set-signal-mask 0; +cormando.bos:Killed(severity, corpsetype) +cormando.bos: corpsetype = 1 ; +cormando.bos: return(corpsetype); +cormando.bos: corpsetype = 2 ; +cormando.bos: return(corpsetype); +cormando.bos: corpsetype = 3 ; +cormando.bos: return(corpsetype); +cormando.bos: corpsetype = 3 ; +cormando.bos: return corpsetype; +cormart.bos:SetMaxReloadTime(Func_Var_1) +cormart.bos:SetStunned(State) +cormart.bos: set-signal-mask SIG_AIM; +cormart.bos:Killed(severity, corpsetype) +cormart.bos: corpsetype = 1 ; +cormart.bos: return(corpsetype); +cormart.bos: corpsetype = 2 ; +cormart.bos: return(corpsetype); +cormart.bos: corpsetype = 3 ; +cormart.bos: return(corpsetype); +cormart.bos: corpsetype = 3 ; +cormart.bos: return corpsetype; +Binary file cormart.cob matches +cormaw.bos: set ARMORED to 0; +cormaw.bos: set ARMORED to 1; +cormaw.bos:SetMaxReloadTime(Func_Var_1) +cormaw.bos: set-signal-mask 0; +cormaw.bos:SetStunned(State) +cormaw.bos: set-signal-mask SIG_AIM; +cormaw.bos:Killed(severity, corpsetype) +cormaw.bos: corpsetype = 1 ; +cormaw.bos: return(corpsetype); +cormaw.bos: corpsetype = 2 ; +cormaw.bos: return(corpsetype); +cormaw.bos: corpsetype = 3 ; +cormaw.bos: return(corpsetype); +cormaw.bos: corpsetype = 3 ; +cormaw.bos: return corpsetype; +Binary file cormaw.cob matches +cormex.bos: set ARMORED to 0; +cormex.bos: set ARMORED to 1; +cormex.bos:SetStunned(State) +cormex.bos:SetSpeed(Func_Var_1) +cormex.bos:Killed(severity, corpsetype) +cormex.bos: corpsetype = 1 ; +cormex.bos: return(corpsetype); +cormex.bos: corpsetype = 2 ; +cormex.bos: return(corpsetype); +cormex.bos: corpsetype = 3 ; +cormex.bos: return(corpsetype); +cormex.bos: corpsetype = 3 ; +cormex.bos: return corpsetype; +Binary file cormex.cob matches +cormexp.bos: set ARMORED to 0; +cormexp.bos: set ARMORED to 1; +cormexp.bos: set ACTIVATION to 100; +cormexp.bos: set ACTIVATION to 0; +cormexp.bos: set ARMORED to 0; +cormexp.bos: set-signal-mask 0; +cormexp.bos:SetStunned(State) +cormexp.bos:SetMaxReloadTime(Func_Var_1) +cormexp.bos: set-signal-mask SIG_AIM; +cormexp.bos: set-signal-mask 8; +cormexp.bos: set-signal-mask SIG_AIM_2; +cormexp.bos:SetSpeed(Func_Var_1) +cormexp.bos:Killed(severity, corpsetype) +cormexp.bos: corpsetype = 1 ; +cormexp.bos: return(corpsetype); +cormexp.bos: corpsetype = 2 ; +cormexp.bos: return(corpsetype); +cormexp.bos: corpsetype = 3 ; +cormexp.bos: return(corpsetype); +cormexp.bos: corpsetype = 3 ; +cormexp.bos: return corpsetype; +Binary file cormexp.cob matches +cormh.bos: // Set values for tilt +cormh.bos:SetMaxReloadTime(Func_Var_1) +cormh.bos: set-signal-mask 0; +cormh.bos:SetStunned(State) +cormh.bos: set-signal-mask SIG_RESTORE; +cormh.bos: set-signal-mask SIG_MOVE; +cormh.bos:setSFXoccupy(Func_Var_1) +cormh.bos: set-signal-mask SIG_AIM; +cormh.bos:Killed(severity, corpsetype) +cormh.bos: corpsetype = 1 ; +cormh.bos: return(corpsetype); +cormh.bos: corpsetype = 2 ; +cormh.bos: return(corpsetype); +cormh.bos: corpsetype = 3 ; +cormh.bos: return(corpsetype); +cormh.bos: corpsetype = 3 ; +cormh.bos: return corpsetype; +Binary file cormh.cob matches +cormist.bos:SetMaxReloadTime(Func_Var_1) +cormist.bos:SetStunned(State) +cormist.bos: set-signal-mask SIG_AIM; +cormist.bos:Killed(severity, corpsetype) +cormist.bos: corpsetype = 1 ; +cormist.bos: return(corpsetype); +cormist.bos: corpsetype = 2 ; +cormist.bos: return(corpsetype); +cormist.bos: corpsetype = 3 ; +cormist.bos: return(corpsetype); +cormist.bos: corpsetype = 3 ; +cormist.bos: return corpsetype; +Binary file cormist.cob matches +cormls.bos: set INBUILDSTANCE to 1; +cormls.bos: set INBUILDSTANCE to 0; +cormls.bos: set-signal-mask SIG_MOVE; +cormls.bos:Killed(severity, corpsetype) +cormls.bos: corpsetype = 1 ; +cormls.bos: return(corpsetype); +cormls.bos: corpsetype = 2 ; +cormls.bos: return(corpsetype); +cormls.bos: corpsetype = 3 ; +cormls.bos: return(corpsetype); +cormls.bos: corpsetype = 3 ; +cormls.bos: return corpsetype; +cormlv.bos: set INBUILDSTANCE to 0; +cormlv.bos: set INBUILDSTANCE to 1; +cormlv.bos: set-signal-mask SIG_BUILD; +cormlv.bos: set-signal-mask 0; +cormlv.bos:Killed(severity, corpsetype) +cormlv.bos: corpsetype = 1 ; +cormlv.bos: return(corpsetype); +cormlv.bos: corpsetype = 2 ; +cormlv.bos: return(corpsetype); +cormlv.bos: corpsetype = 3 ; +cormlv.bos: return(corpsetype); +cormlv.bos: corpsetype = 3 ; +cormlv.bos: return corpsetype; +cormmkr.bos: set ARMORED to 0; //Not needed as MM in BAR have no damage modi +fyer tag set +cormmkr.bos: set ARMORED to 1; +cormmkr.bos:Killed(severity, corpsetype) +cormmkr.bos: corpsetype = 1 ; +cormmkr.bos: return(corpsetype); +cormmkr.bos: corpsetype = 2 ; +cormmkr.bos: return(corpsetype); +cormmkr.bos: corpsetype = 3 ; +cormmkr.bos: return(corpsetype); +cormmkr.bos: corpsetype = 3 ; +cormmkr.bos: return corpsetype; +cormoho.bos: set ARMORED to 0; +cormoho.bos: set ARMORED to 1; +cormoho.bos:SetStunned(State) +cormoho.bos: set ARMORED to 1; +cormoho.bos:SetSpeed(Func_Var_1) +cormoho.bos:Killed(severity, corpsetype) +cormoho.bos: corpsetype = 1 ; +cormoho.bos: return(corpsetype); +cormoho.bos: corpsetype = 2 ; +cormoho.bos: return(corpsetype); +cormoho.bos: corpsetype = 3 ; +cormoho.bos: return(corpsetype); +cormoho.bos: corpsetype = 3 ; +cormoho.bos: return corpsetype; +Binary file cormoho.cob matches +cormort.bos: set-signal-mask SIG_WALK; +cormort.bos:SetMaxReloadTime(Func_Var_1) +cormort.bos:SetStunned(State) +cormort.bos: set-signal-mask SIG_AIM; +cormort.bos:Killed(severity, corpsetype) +cormort.bos: corpsetype = 1 ; +cormort.bos: return(corpsetype); +cormort.bos: corpsetype = 2 ; +cormort.bos: return(corpsetype); +cormort.bos: corpsetype = 3 ; +cormort.bos: return(corpsetype); +cormort.bos: corpsetype = 3 ; +cormort.bos: return corpsetype; +Binary file cormort.cob matches +cormship.bos:SetMaxReloadTime(Func_Var_1) +cormship.bos:SetStunned(State) +cormship.bos: set-signal-mask SIG_MOVE; +cormship.bos: set-signal-mask SIG_AIM; +cormship.bos: set-signal-mask SIG_AIM_3; +cormship.bos:Killed(severity, corpsetype) +cormship.bos: corpsetype = 1 ; +cormship.bos: return(corpsetype); +cormship.bos: corpsetype = 2 ; +cormship.bos: return(corpsetype); +cormship.bos: corpsetype = 3 ; +cormship.bos: return(corpsetype); +cormship.bos: corpsetype = 3 ; +cormship.bos: return corpsetype; +Binary file cormship.cob matches +cormstor.bos:// OffsetToScriptCodeIndexArray 2f8 +cormstor.bos:// OffsetToScriptNameOffsetArray 308 +cormstor.bos:// OffsetToPieceNameOffsetArray 318 +cormstor.bos:// OffsetToScriptCode 2c +cormstor.bos:// OffsetToNameArray 31c +cormstor.bos:// OffsetToFirstName 31c +cormstor.bos:Killed(severity, corpsetype) +cormstor.bos: corpsetype = 1 ; +cormstor.bos: return(corpsetype); +cormstor.bos: corpsetype = 2 ; +cormstor.bos: return(corpsetype); +cormstor.bos: corpsetype = 3 ; +cormstor.bos: return(corpsetype); +cormstor.bos: corpsetype = 3 ; +cormstor.bos: return corpsetype; +cormuskrat.bos: set INBUILDSTANCE to 1; +cormuskrat.bos: set INBUILDSTANCE to 0; +cormuskrat.bos: set INBUILDSTANCE to 1; +cormuskrat.bos: set-signal-mask SIG_BUILD; +cormuskrat.bos: set-signal-mask 0; +cormuskrat.bos:Killed(severity, corpsetype) +cormuskrat.bos: corpsetype = 1 ; +cormuskrat.bos: return(corpsetype); +cormuskrat.bos: corpsetype = 2 ; +cormuskrat.bos: return(corpsetype); +cormuskrat.bos: corpsetype = 3 ; +cormuskrat.bos: return(corpsetype); +cormuskrat.bos: corpsetype = 3 ; +cormuskrat.bos: return corpsetype; +cornanotc.bos: set INBUILDSTANCE to 1; +cornanotc.bos: set INBUILDSTANCE to 0; +cornanotc.bos:SetStunned(State) +cornanotc.bos:Killed(severity, corpsetype) +cornanotc.bos: corpsetype = 1 ; +cornanotc.bos: return(corpsetype); +cornanotc.bos: corpsetype = 2 ; +cornanotc.bos: return(corpsetype); +cornanotc.bos: corpsetype = 3 ; +cornanotc.bos: return(corpsetype); +cornanotc.bos: corpsetype = 3 ; +cornanotc.bos: return corpsetype; +Binary file cornanotc.cob matches +cornanotcplat.bos: set INBUILDSTANCE to 1; +cornanotcplat.bos: set INBUILDSTANCE to 0; +cornanotcplat.bos:SetStunned(State) +cornanotcplat.bos:Killed(severity, corpsetype) +cornanotcplat.bos: corpsetype = 1 ; +cornanotcplat.bos: return(corpsetype); +cornanotcplat.bos: corpsetype = 2 ; +cornanotcplat.bos: return(corpsetype); +cornanotcplat.bos: corpsetype = 3 ; +cornanotcplat.bos: return(corpsetype); +cornanotcplat.bos: corpsetype = 3 ; +cornanotcplat.bos: return corpsetype; +Binary file cornanotcplat.cob matches +cornecro.bos: set-signal-mask SIG_WALK; +cornecro.bos: set INBUILDSTANCE to 0; +cornecro.bos: set-signal-mask SIG_BUILD; +cornecro.bos: set INBUILDSTANCE to 1; +cornecro.bos: set-signal-mask SIG_BUILD; +cornecro.bos:Killed(severity, corpsetype) +cornecro.bos: corpsetype = 1 ; +cornecro.bos: return(corpsetype); +cornecro.bos: corpsetype = 2 ; +cornecro.bos: return(corpsetype); +cornecro.bos: corpsetype = 3 ; +cornecro.bos: return(corpsetype); +cornecro.bos: corpsetype = 3 ; +cornecro.bos: return corpsetype; +corparrow.bos:setSFXoccupy(state) +corparrow.bos:SetMaxReloadTime(Func_Var_1) +corparrow.bos:SetStunned(State) +corparrow.bos: set-signal-mask SIG_AIM; +corparrow.bos:Killed(severity, corpsetype) +corparrow.bos: corpsetype = 1 ; +corparrow.bos: return(corpsetype); +corparrow.bos: corpsetype = 2 ; +corparrow.bos: return(corpsetype); +corparrow.bos: corpsetype = 3 ; +corparrow.bos: return(corpsetype); +corparrow.bos: corpsetype = 3 ; +corparrow.bos: return corpsetype; +Binary file corparrow.cob matches +corplat.bos: set ARMORED to 0; +corplat.bos: set ARMORED to 1; +corplat.bos: set YARD_OPEN to 1; +corplat.bos: set BUGGER_OFF to 1; +corplat.bos: set YARD_OPEN to 1; +corplat.bos: set BUGGER_OFF to 0; +corplat.bos: set YARD_OPEN to 0; +corplat.bos: set BUGGER_OFF to 1; +corplat.bos: set YARD_OPEN to 0; +corplat.bos: set BUGGER_OFF to 0; +corplat.bos: set INBUILDSTANCE to 1; +corplat.bos: set INBUILDSTANCE to 0; +corplat.bos: set ARMORED to 1; +corplat.bos: set-signal-mask SIG_ACTIVATE; +corplat.bos: set-signal-mask 0; +corplat.bos:Killed(severity, corpsetype) +corplat.bos: corpsetype = 1 ; +corplat.bos: return(corpsetype); +corplat.bos: corpsetype = 2 ; +corplat.bos: return(corpsetype); +corplat.bos: corpsetype = 3 ; +corplat.bos: return(corpsetype); +corplat.bos: corpsetype = 3 ; +corplat.bos: return corpsetype; +corpship.bos:SetDirection(heading) +corpship.bos: set-signal-mask 4096; +corpship.bos:SetMaxReloadTime(Func_Var_1) +corpship.bos:SetStunned(State) +corpship.bos: set-signal-mask 0; +corpship.bos: set-signal-mask SIG_MOVE; +corpship.bos: set-signal-mask SIG_AIM; +corpship.bos:Killed(severity, corpsetype) +corpship.bos: corpsetype = 1; +corpship.bos: return (corpsetype); +corpship.bos: corpsetype = 2; +corpship.bos: return (corpsetype); +corpship.bos: corpsetype = 3; +corpship.bos: return corpsetype; +Binary file corpship.cob matches +corpt.bos:SetMaxReloadTime(Func_Var_1) +corpt.bos: set-signal-mask 0; +corpt.bos:SetStunned(State) +corpt.bos: set-signal-mask SIG_MOVE; +corpt.bos: set-signal-mask SIG_AIM_3; +corpt.bos: set-signal-mask SIG_AIM; +corpt.bos:Killed(severity, corpsetype) +corpt.bos: corpsetype = 1 ; +corpt.bos: return(corpsetype); +corpt.bos: corpsetype = 2 ; +corpt.bos: return(corpsetype); +corpt.bos: corpsetype = 3 ; +corpt.bos: return(corpsetype); +corpt.bos: corpsetype = 3 ; +corpt.bos: return corpsetype; +Binary file corpt.cob matches +corptl.bos: set-signal-mask SIG_AIM; +corptl.bos:Killed(severity, corpsetype) +corptl.bos: corpsetype = 1; +corptl.bos: return (corpsetype); +corptl.bos: corpsetype = 2; +corptl.bos: return (corpsetype); +corptl.bos: corpsetype = 3; +corptl.bos: return (corpsetype); +corptl.bos: corpsetype = 3; +corptl.bos: return corpsetype; +corpun.lua: SetSignalMask(SIG_AIM) +corpun.lua: return 1 -- corpsetype +corpun.lua: return 2 -- corpsetype +corpun.lua: return 3 -- corpsetype +corpyro.bos: //set-signal-mask SIG_WALK; +corpyro.bos:SetMaxReloadTime(Func_Var_1) +corpyro.bos:SetStunned(State) +corpyro.bos: set-signal-mask SIG_AIM; +corpyro.bos:Killed(severity, corpsetype) +corpyro.bos: corpsetype = 1 ; +corpyro.bos: return(corpsetype); +corpyro.bos: corpsetype = 2 ; +corpyro.bos: return(corpsetype); +corpyro.bos: corpsetype = 3 ; +corpyro.bos: return(corpsetype); +corpyro.bos: corpsetype = 3 ; +corpyro.bos: return corpsetype; +Binary file corpyro.cob matches +corrad.bos:// OffsetToScriptCodeIndexArray 54c +corrad.bos:// OffsetToScriptNameOffsetArray 574 +corrad.bos:// OffsetToPieceNameOffsetArray 59c +corrad.bos:// OffsetToScriptCode 2c +corrad.bos:// OffsetToNameArray 5a4 +corrad.bos:// OffsetToFirstName 5a4 +corrad.bos:Killed(severity, corpsetype) +corrad.bos: corpsetype = 1 ; +corrad.bos: return(corpsetype); +corrad.bos: corpsetype = 2 ; +corrad.bos: return(corpsetype); +corrad.bos: corpsetype = 3 ; +corrad.bos: return(corpsetype); +corrad.bos: corpsetype = 3 ; +corrad.bos: return corpsetype; +corraid.bos:SetMaxReloadTime(Func_Var_1) +corraid.bos: set-signal-mask 0; +corraid.bos:SetStunned(State) +corraid.bos: set-signal-mask SIG_AIM; +corraid.bos:Killed(severity, corpsetype) +corraid.bos: corpsetype = 1 ; +corraid.bos: return(corpsetype); +corraid.bos: corpsetype = 2 ; +corraid.bos: return(corpsetype); +corraid.bos: corpsetype = 3 ; +corraid.bos: return(corpsetype); +corraid.bos: corpsetype = 3 ; +corraid.bos: return corpsetype; +Binary file corraid.cob matches +correap.bos:setSFXoccupy(state) +correap.bos:SetMaxReloadTime(Func_Var_1) +correap.bos:SetStunned(State) +correap.bos: set-signal-mask SIG_AIM; +correap.bos:Killed(severity, corpsetype) +correap.bos: corpsetype = 1 ; +correap.bos: return(corpsetype); +correap.bos: corpsetype = 2 ; +correap.bos: return(corpsetype); +correap.bos: corpsetype = 3 ; +correap.bos: return(corpsetype); +correap.bos: corpsetype = 3 ; +correap.bos: return corpsetype; +Binary file correap.cob matches +correcl.bos: set-signal-mask SIG_MOVE; +correcl.bos: set INBUILDSTANCE to 1; +correcl.bos: set INBUILDSTANCE to 0; +correcl.bos:Killed(severity, corpsetype) +correcl.bos: corpsetype = 1 ; +correcl.bos: return(corpsetype); +correcl.bos: corpsetype = 2 ; +correcl.bos: return(corpsetype); +correcl.bos: corpsetype = 3 ; +correcl.bos: return(corpsetype); +correcl.bos: corpsetype = 3 ; +correcl.bos: return corpsetype; +corrl.bos:// OffsetToScriptCodeIndexArray 9cc +corrl.bos:// OffsetToScriptNameOffsetArray 9ec +corrl.bos:// OffsetToPieceNameOffsetArray a0c +corrl.bos:// OffsetToScriptCode 2c +corrl.bos:// OffsetToNameArray a2c +corrl.bos:// OffsetToFirstName a2c +corrl.bos:SetStunned(State) +corrl.bos:Killed(severity, corpsetype) +corrl.bos: corpsetype = 1 ; +corrl.bos: return(corpsetype); +corrl.bos: corpsetype = 2 ; +corrl.bos: return(corpsetype); +corrl.bos: corpsetype = 3 ; +corrl.bos: return(corpsetype); +corrl.bos: corpsetype = 3 ; +corrl.bos: return corpsetype; +Binary file corrl.cob matches +corroach.bos:Killed(severity, corpsetype) +corroach.bos: corpsetype = 1 ; +corroach.bos: return(corpsetype); +corroach.bos: corpsetype = 2 ; +corroach.bos: return(corpsetype); +corroach.bos: corpsetype = 3 ; +corroach.bos: return(corpsetype); +corroach.bos: corpsetype = 3 ; +corroach.bos: return corpsetype; +corroy.bos:SetMaxReloadTime(Func_Var_1) +corroy.bos:SetStunned(State) +corroy.bos: set-signal-mask SIG_MOVE; +corroy.bos: set-signal-mask 2; +corroy.bos: set-signal-mask 4; +corroy.bos:Killed(severity, corpsetype) +corroy.bos: corpsetype = 1 ; +corroy.bos: return(corpsetype); +corroy.bos: corpsetype = 2 ; +corroy.bos: return(corpsetype); +corroy.bos: corpsetype = 3 ; +corroy.bos: return(corpsetype); +corroy.bos: corpsetype = 3 ; +corroy.bos: return corpsetype; +Binary file corroy.cob matches +corsb.bos:setSFXoccupy(Func_Var_1) +corsb.bos:Killed(severity, corpsetype) +corsb.bos: corpsetype = 1 ; +corsb.bos: return(corpsetype); +corsb.bos: corpsetype = 2 ; +corsb.bos: return(corpsetype); +corsb.bos: corpsetype = 3 ; +corsb.bos: return(corpsetype); +corsb.bos: corpsetype = 3 ; +corsb.bos: return corpsetype; +Binary file corsb.cob matches +corscreamer.bos:SetStunned(State) +corscreamer.bos: set-signal-mask SIG_AIM; +corscreamer.bos:Killed(severity, corpsetype) +corscreamer.bos: corpsetype = 1 ; +corscreamer.bos: return(corpsetype); +corscreamer.bos: corpsetype = 2 ; +corscreamer.bos: return(corpsetype); +corscreamer.bos: corpsetype = 3 ; +corscreamer.bos: return(corpsetype); +corscreamer.bos: corpsetype = 3 ; +corscreamer.bos: return corpsetype; +Binary file corscreamer.cob matches +corsd.bos:// OffsetToScriptCodeIndexArray 43c +corsd.bos:// OffsetToScriptNameOffsetArray 44c +corsd.bos:// OffsetToPieceNameOffsetArray 45c +corsd.bos:// OffsetToScriptCode 2c +corsd.bos:// OffsetToNameArray 460 +corsd.bos:// OffsetToFirstName 460 +corsd.bos:Killed(severity, corpsetype) +corsd.bos: corpsetype = 1 ; +corsd.bos: return(corpsetype); +corsd.bos: corpsetype = 2 ; +corsd.bos: return(corpsetype); +corsd.bos: corpsetype = 3 ; +corsd.bos: return(corpsetype); +corsd.bos: corpsetype = 3 ; +corsd.bos: return corpsetype; +corseah.bos: set-signal-mask 8; +corseah.bos: set-signal-mask 8; +corseah.bos: set-signal-mask 8; +corseah.bos:Killed(severity, corpsetype) +corseah.bos: corpsetype = 1 ; +corseah.bos: return(corpsetype); +corseah.bos: corpsetype = 2 ; +corseah.bos: return(corpsetype); +corseah.bos: corpsetype = 3 ; +corseah.bos: return(corpsetype); +corseah.bos: corpsetype = 3 ; +corseah.bos: return corpsetype; +corseal.bos:setSFXoccupy(state) +corseal.bos:SetMaxReloadTime(Func_Var_1) +corseal.bos:SetStunned(State) +corseal.bos: set-signal-mask SIG_AIM; +corseal.bos:Killed(severity, corpsetype) +corseal.bos: corpsetype = 1 ; +corseal.bos: return(corpsetype); +corseal.bos: corpsetype = 2 ; +corseal.bos: return(corpsetype); +corseal.bos: corpsetype = 3 ; +corseal.bos: return(corpsetype); +corseal.bos: corpsetype = 3 ; +corseal.bos: return corpsetype; +Binary file corseal.cob matches +corseap.bos:Killed(severity, corpsetype) +corseap.bos: corpsetype = 1 ; +corseap.bos: return(corpsetype); +corseap.bos: corpsetype = 2 ; +corseap.bos: return(corpsetype); +corseap.bos: corpsetype = 3 ; +corseap.bos: return(corpsetype); +corseap.bos: corpsetype = 3 ; +corseap.bos: return corpsetype; +corsent.bos:SetMaxReloadTime(Func_Var_1) +corsent.bos: set-signal-mask 0; +corsent.bos:SetStunned(State) +corsent.bos: set-signal-mask SIG_AIM_3; +corsent.bos:Killed(severity, corpsetype) +corsent.bos: corpsetype = 1 ; +corsent.bos: return(corpsetype); +corsent.bos: corpsetype = 2 ; +corsent.bos: return(corpsetype); +corsent.bos: corpsetype = 3 ; +corsent.bos: return(corpsetype); +corsent.bos: corpsetype = 3 ; +corsent.bos: return corpsetype; +Binary file corsent.cob matches +corsfig.bos: set-signal-mask SIG_MOVE; +corsfig.bos:Killed(severity, corpsetype) +corsfig.bos: corpsetype = 1 ; +corsfig.bos: return(corpsetype); +corsfig.bos: corpsetype = 2 ; +corsfig.bos: return(corpsetype); +corsfig.bos: corpsetype = 3 ; +corsfig.bos: return(corpsetype); +corsfig.bos: corpsetype = 3 ; +corsfig.bos: return corpsetype; +corsh.bos: // Set values for tilt +corsh.bos: set-signal-mask SIG_MOVE; +corsh.bos:setSFXoccupy(Func_Var_1) +corsh.bos:SetMaxReloadTime(Func_Var_1) +corsh.bos:SetStunned(State) +corsh.bos: set-signal-mask SIG_AIM; +corsh.bos:Killed(severity, corpsetype) +corsh.bos: corpsetype = 1 ; +corsh.bos: return(corpsetype); +corsh.bos: corpsetype = 2 ; +corsh.bos: return(corpsetype); +corsh.bos: corpsetype = 3 ; +corsh.bos: return(corpsetype); +corsh.bos: corpsetype = 3 ; +corsh.bos: return corpsetype; +Binary file corsh.cob matches +corshad.bos:Killed(severity, corpsetype) +corshad.bos: corpsetype = 1 ; +corshad.bos: return(corpsetype); +corshad.bos: corpsetype = 2 ; +corshad.bos: return(corpsetype); +corshad.bos: corpsetype = 3 ; +corshad.bos: return(corpsetype); +corshad.bos: corpsetype = 3 ; +corshad.bos: return corpsetype; +corshark.bos: set-signal-mask SIG_MOVE; +corshark.bos:Killed(severity, corpsetype) +corshark.bos: corpsetype = 1 ; +corshark.bos: return(corpsetype); +corshark.bos: corpsetype = 2 ; +corshark.bos: return(corpsetype); +corshark.bos: corpsetype = 3 ; +corshark.bos: return(corpsetype); +corshark.bos: corpsetype = 3 ; +corshark.bos: return corpsetype; +corshiva.bos: set ARMORED to 1; +corshiva.bos:SetMaxReloadTime(maxtime_ms) //this is called by engine immediately + after Create(), and returns the longest of all weapon reload times in ms +corshiva.bos: set ARMORED to 0; +corshiva.bos: set ARMORED to 1; +corshiva.bos: set-signal-mask SIG_AIM; +corshiva.bos: set-signal-mask SIG_AIM; +corshiva.bos: set-signal-mask SIG_AIM_3; +corshiva.bos:Killed(severity, corpsetype) +Binary file corshiva.cob matches +corshiva.lua_old: SetSignalMask( SIG_walk ) +corshiva.lua_old: UnitScript.SetUnitValue(COB.ARMO +RED, 1); +corshiva.lua_old: UnitScript.SetUnitValue(COB.ARMO +RED, 0); +corshiva.lua_old: SetSignalMask( SIG_swim ) +corshiva.lua_old: SetSignalMask( SIG_wake ) +corshiva.lua_old: SetSignalMask( SIG_stop ) +corshiva.lua_old: SetSignalMask( SIG_stop ) +corshiva.lua_old: SetSignalMask( SIG_open ) +corshiva.lua_old: SetSignalMask( SIG_aim1 ) +corshiva.lua_old: SetSignalMask( SIG_aim3 ) +corshroud.bos:// OffsetToScriptCodeIndexArray 898 +corshroud.bos:// OffsetToScriptNameOffsetArray 8c4 +corshroud.bos:// OffsetToPieceNameOffsetArray 8f0 +corshroud.bos:// OffsetToScriptCode 2c +corshroud.bos:// OffsetToNameArray 904 +corshroud.bos:// OffsetToFirstName 904 +corshroud.bos:/* 80:*/ set ACTIVATION to 0; +corshroud.bos:/* 133:*/ set-signal-mask 2; +corshroud.bos:/* 138:*/ set ACTIVATION to 0; +corshroud.bos:/* 144:*/ set ACTIVATION to 100; +corshroud.bos:Killed(severity, corpsetype) +corshroud.bos: corpsetype = 1 ; +corshroud.bos: return(corpsetype); +corshroud.bos: corpsetype = 2 ; +corshroud.bos: return(corpsetype); +corshroud.bos: corpsetype = 3 ; +corshroud.bos: return(corpsetype); +corshroud.bos: corpsetype = 3 ; +corshroud.bos: return corpsetype; +corsilo.bos:// OffsetToScriptCodeIndexArray c08 +corsilo.bos:// OffsetToScriptNameOffsetArray c4c +corsilo.bos:// OffsetToPieceNameOffsetArray c90 +corsilo.bos:// OffsetToScriptCode 2c +corsilo.bos:// OffsetToNameArray ca4 +corsilo.bos:// OffsetToFirstName ca4 +corsilo.bos:SetMaxReloadTime(Func_Var_1) +corsilo.bos:/* 217:*/ set-signal-mask 0; +corsilo.bos:/* 22c:*/ set-signal-mask SIG_AIM; +corsilo.bos:Killed(severity, corpsetype) +corsilo.bos: corpsetype = 1 ; +corsilo.bos: return(corpsetype); +corsilo.bos: corpsetype = 2 ; +corsilo.bos: return(corpsetype); +corsilo.bos: corpsetype = 3 ; +corsilo.bos: return(corpsetype); +corsilo.bos: corpsetype = 3 ; +corsilo.bos: return corpsetype; +Binary file corsilo.cob matches +corsjam.bos: set ACTIVATION to 0; +corsjam.bos: set-signal-mask 4; +corsjam.bos: set ACTIVATION to 0; +corsjam.bos: set ACTIVATION to 100; +corsjam.bos: set-signal-mask SIG_MOVE; +corsjam.bos:Killed(severity, corpsetype) +corsjam.bos: corpsetype = 1 ; +corsjam.bos: return(corpsetype); +corsjam.bos: corpsetype = 2 ; +corsjam.bos: return(corpsetype); +corsjam.bos: corpsetype = 3 ; +corsjam.bos: return(corpsetype); +corsjam.bos: corpsetype = 3 ; +corsjam.bos: return corpsetype; +corsktl.bos:Killed(severity, corpsetype) +corsktl.bos: corpsetype = 1 ; +corsktl.bos: return(corpsetype); +corsktl.bos: corpsetype = 2 ; +corsktl.bos: return(corpsetype); +corsktl.bos: corpsetype = 3 ; +corsktl.bos: return(corpsetype); +corsktl.bos: corpsetype = 3 ; +corsktl.bos: return corpsetype; +corsnap.bos: // Set values for tilt +corsnap.bos: set-signal-mask SIG_MOVE; +corsnap.bos:setSFXoccupy(Func_Var_1) +corsnap.bos:SetMaxReloadTime(Func_Var_1) +corsnap.bos:SetStunned(State) +corsnap.bos: set-signal-mask SIG_AIM; +corsnap.bos:Killed(severity, corpsetype) +corsnap.bos: corpsetype = 1 ; +corsnap.bos: return(corpsetype); +corsnap.bos: corpsetype = 2 ; +corsnap.bos: return(corpsetype); +corsnap.bos: corpsetype = 3 ; +corsnap.bos: return(corpsetype); +corsnap.bos: corpsetype = 3 ; +corsnap.bos: return corpsetype; +Binary file corsnap.cob matches +corsok.bos: set-signal-mask SIG_MOVE; +corsok.bos:setSFXoccupy(state) +corsok.bos:SetStunned(State) +corsok.bos: set-signal-mask SIG_AIM; +corsok.bos: set-signal-mask SIG_AIM_3; +corsok.bos:Killed(severity, corpsetype) +corsok.bos: corpsetype = 1; +corsok.bos: return (corpsetype); +corsok.bos: corpsetype = 2; +corsok.bos: return (corpsetype); +corsok.bos: corpsetype = 3; +corsok.bos: return (corpsetype); +corsok.bos: corpsetype = 3; +corsok.bos: return (corpsetype); +Binary file corsok.cob matches +corsolar.bos: set YARD_OPEN to 1; +corsolar.bos: set BUGGER_OFF to 1; +corsolar.bos: set YARD_OPEN to 1; +corsolar.bos: set BUGGER_OFF to 0; +corsolar.bos: set YARD_OPEN to 0; +corsolar.bos: set BUGGER_OFF to 1; +corsolar.bos: set YARD_OPEN to 0; +corsolar.bos: set BUGGER_OFF to 0; +corsolar.bos: set ACTIVATION to 100; +corsolar.bos: set ACTIVATION to 0; +corsolar.bos: set ARMORED to 0; +corsolar.bos: set ARMORED to 1; +corsolar.bos: set-signal-mask 2; +corsolar.bos: set ACTIVATION to 0; +corsolar.bos: set ACTIVATION to 100; +corsolar.bos:Killed(severity, corpsetype) +corsolar.bos: corpsetype = 1 ; +corsolar.bos: return(corpsetype); +corsolar.bos: corpsetype = 2 ; +corsolar.bos: return(corpsetype); +corsolar.bos: corpsetype = 3 ; +corsolar.bos: return(corpsetype); +corsolar.bos: corpsetype = 3 ; +corsolar.bos: return corpsetype; +corsonar.bos:// OffsetToScriptCodeIndexArray 42c +corsonar.bos:// OffsetToScriptNameOffsetArray 450 +corsonar.bos:// OffsetToPieceNameOffsetArray 474 +corsonar.bos:// OffsetToScriptCode 2c +corsonar.bos:// OffsetToNameArray 47c +corsonar.bos:// OffsetToFirstName 47c +corsonar.bos:Killed(severity, corpsetype) +corsonar.bos: corpsetype = 1 ; +corsonar.bos: return(corpsetype); +corsonar.bos: corpsetype = 2 ; +corsonar.bos: return(corpsetype); +corsonar.bos: corpsetype = 3 ; +corsonar.bos: return(corpsetype); +corsonar.bos: corpsetype = 3 ; +corsonar.bos: return corpsetype; +corspec.bos: set-signal-mask SIG_WALK; +corspec.bos: set ACTIVATION to 0; +corspec.bos: set-signal-mask SIG_ACTIVATE; +corspec.bos: set-signal-mask SIG_ACTIVATE; +corspec.bos: set-signal-mask 4; +corspec.bos: set ACTIVATION to 0; +corspec.bos: set ACTIVATION to 100; +corspec.bos:SetStunned(State) +corspec.bos:Killed(severity, corpsetype) +corspec.bos: corpsetype = 1 ; +corspec.bos: return(corpsetype); +corspec.bos: corpsetype = 2 ; +corspec.bos: return(corpsetype); +corspec.bos: corpsetype = 3 ; +corspec.bos: return(corpsetype); +corspec.bos: corpsetype = 3 ; +corspec.bos: return corpsetype; +Binary file corspec.cob matches +corspy.bos: //set-signal-mask SIG_WALK; +corspy.bos: set INBUILDSTANCE to 1; +corspy.bos: set INBUILDSTANCE to 0; +corspy.bos:setSFXoccupy(Func_Var_1) +corspy.bos:Killed(severity, corpsetype) +corspy.bos: corpsetype = 1 ; +corspy.bos: return(corpsetype); +corspy.bos: corpsetype = 2 ; +corspy.bos: return(corpsetype); +corspy.bos: corpsetype = 3 ; +corspy.bos: return(corpsetype); +corspy.bos: corpsetype = 3 ; +corspy.bos: return corpsetype; +Binary file corspy.cob matches +corssub.bos: set-signal-mask SIG_MOVE; +corssub.bos:Killed(severity, corpsetype) +corssub.bos: corpsetype = 1 ; +corssub.bos: return(corpsetype); +corssub.bos: corpsetype = 2 ; +corssub.bos: return(corpsetype); +corssub.bos: corpsetype = 3 ; +corssub.bos: return(corpsetype); +corssub.bos: corpsetype = 3 ; +corssub.bos: return corpsetype; +corstorm.bos: set-signal-mask SIG_WALK; if (bMoving) { //Frame:4 +corstorm.bos: set-signal-mask SIG_MOVE; +corstorm.bos:SetStunned(State) +corstorm.bos: set-signal-mask SIG_AIM; +corstorm.bos:Killed(severity, corpsetype) +corstorm.bos: corpsetype = 1 ; +corstorm.bos: return(corpsetype); +corstorm.bos: corpsetype = 2 ; +corstorm.bos: return(corpsetype); +corstorm.bos: corpsetype = 3 ; +corstorm.bos: return(corpsetype); +corstorm.bos: corpsetype = 3 ; +corstorm.bos: return corpsetype; +Binary file corstorm.cob matches +corsub.bos: set-signal-mask SIG_MOVE; +corsub.bos:Killed(severity, corpsetype) +corsub.bos: corpsetype = 1 ; +corsub.bos: return(corpsetype); +corsub.bos: corpsetype = 2 ; +corsub.bos: return(corpsetype); +corsub.bos: corpsetype = 3 ; +corsub.bos: return(corpsetype); +corsub.bos: corpsetype = 3 ; +corsub.bos: return corpsetype; +corsumo.bos: set-signal-mask SIG_WALK; +corsumo.bos:SetMaxReloadTime(Func_Var_1) +corsumo.bos: set-signal-mask SIG_AIM; +corsumo.bos:Killed(severity, corpsetype) +corsumo.bos: corpsetype = 1; +corsumo.bos: return (corpsetype); +corsumo.bos: corpsetype = 2; +corsumo.bos: return (corpsetype); +corsumo.bos: corpsetype = 3; +corsumo.bos: return (corpsetype); +corsumo.bos: corpsetype = 3; +corsumo.bos: return (corpsetype); +Binary file corsumo.cob matches +corsumo.lua_old: SetSignalMask(SIG_WALK) +corsumo.lua_old: SetSignalMask(SIG_RESTORE) +corsumo.lua_old: SetSignalMask(SIG_AIM) +corsy.bos: set YARD_OPEN to 1; +corsy.bos: set BUGGER_OFF to 1; +corsy.bos: set YARD_OPEN to 1; +corsy.bos: set BUGGER_OFF to 0; +corsy.bos: set YARD_OPEN to 0; +corsy.bos: set BUGGER_OFF to 1; +corsy.bos: set YARD_OPEN to 0; +corsy.bos: set BUGGER_OFF to 0; +corsy.bos: set INBUILDSTANCE to 1; +corsy.bos: set INBUILDSTANCE to 0; +corsy.bos: set-signal-mask SIG_ACTIVATE; +corsy.bos: set-signal-mask 0; +corsy.bos:Killed(severity, corpsetype) +corsy.bos: corpsetype = 1 ; +corsy.bos: return(corpsetype); +corsy.bos: corpsetype = 2 ; +corsy.bos: return(corpsetype); +corsy.bos: corpsetype = 3 ; +corsy.bos: return(corpsetype); +corsy.bos: corpsetype = 3 ; +corsy.bos: return corpsetype; +cortarg.bos:// OffsetToScriptCodeIndexArray d6c +cortarg.bos:// OffsetToScriptNameOffsetArray d98 +cortarg.bos:// OffsetToPieceNameOffsetArray dc4 +cortarg.bos:// OffsetToScriptCode 2c +cortarg.bos:// OffsetToNameArray dec +cortarg.bos:// OffsetToFirstName dec +cortarg.bos:/* 1a1:*/ set-signal-mask 2; +cortarg.bos:/* 1a6:*/ set ACTIVATION to 0; +cortarg.bos:/* 1ae:*/ set ACTIVATION to 1; +cortarg.bos:Killed(severity, corpsetype) +cortarg.bos: corpsetype = 1 ; +cortarg.bos: return(corpsetype); +cortarg.bos: corpsetype = 2 ; +cortarg.bos: return(corpsetype); +cortarg.bos: corpsetype = 3 ; +cortarg.bos: return(corpsetype); +cortarg.bos: corpsetype = 3 ; +cortarg.bos: return corpsetype; +cortermite.bos: set-signal-mask SIG_MOVE; +cortermite.bos: set-signal-mask SIG_MOVE; +cortermite.bos:SetMaxReloadTime(Func_Var_1) +cortermite.bos:SetStunned(State) +cortermite.bos: set-signal-mask SIG_AIM; +cortermite.bos:Killed(severity, corpsetype) +cortermite.bos: corpsetype = 1 ; +cortermite.bos: return(corpsetype); +cortermite.bos: corpsetype = 2 ; +cortermite.bos: return(corpsetype); +cortermite.bos: corpsetype = 3 ; +cortermite.bos: return(corpsetype); +cortermite.bos: corpsetype = 3 ; +cortermite.bos: return corpsetype; +Binary file cortermite.cob matches +corthovr.bos: // Set values for tilt +corthovr.bos: set-signal-mask SIG_MOVE; +corthovr.bos:setSFXoccupy(Func_Var_1) +corthovr.bos: set-signal-mask 4; +corthovr.bos:BoomReset() +corthovr.bos: set BUSY to 1; +corthovr.bos: call-script BoomReset(); +corthovr.bos: set BUSY to 0; +corthovr.bos: set BUSY to 1; +corthovr.bos: call-script BoomReset(); +corthovr.bos: set BUSY to 0; +corthovr.bos:Killed(severity, corpsetype) +corthovr.bos: corpsetype = 1 ; +corthovr.bos: return(corpsetype); +corthovr.bos: corpsetype = 2 ; +corthovr.bos: return(corpsetype); +corthovr.bos: corpsetype = 3 ; +corthovr.bos: return(corpsetype); +corthovr.bos: corpsetype = 3 ; +corthovr.bos: return corpsetype; +Binary file corthovr.cob matches +corthud.bos: set-signal-mask SIG_WALK; +corthud.bos:SetStunned(State) +corthud.bos: set-signal-mask SIG_AIM; +corthud.bos:Killed(severity, corpsetype) +corthud.bos: corpsetype = 1 ; +corthud.bos: return(corpsetype); +corthud.bos: corpsetype = 2 ; +corthud.bos: return(corpsetype); +corthud.bos: corpsetype = 3 ; +corthud.bos: return(corpsetype); +corthud.bos: corpsetype = 3 ; +corthud.bos: return corpsetype; +Binary file corthud.cob matches +cortide.bos:Killed(severity, corpsetype) +cortide.bos: corpsetype = 1 ; +cortide.bos: return(corpsetype); +cortide.bos: corpsetype = 2 ; +cortide.bos: return(corpsetype); +cortide.bos: corpsetype = 3 ; +cortide.bos: return(corpsetype); +cortide.bos: corpsetype = 3 ; +cortide.bos: return corpsetype; +cortitan.bos:Killed(severity, corpsetype) +cortitan.bos: corpsetype = 1 ; +cortitan.bos: return(corpsetype); +cortitan.bos: corpsetype = 2 ; +cortitan.bos: return(corpsetype); +cortitan.bos: corpsetype = 3 ; +cortitan.bos: return(corpsetype); +cortitan.bos: corpsetype = 3 ; +cortitan.bos: return corpsetype; +cortl.bos: set-signal-mask SIG_AIM; +cortl.bos:Killed(severity, corpsetype) +cortl.bos: corpsetype = 1 ; +cortl.bos: return(corpsetype); +cortl.bos: corpsetype = 2 ; +cortl.bos: return(corpsetype); +cortl.bos: corpsetype = 3 ; +cortl.bos: return(corpsetype); +cortl.bos: corpsetype = 3 ; +cortl.bos: return corpsetype; +cortoast.bos: set ARMORED to 0; +cortoast.bos: set ARMORED to 1; +cortoast.bos: set-signal-mask 0; +cortoast.bos:SetStunned(State) +cortoast.bos: set-signal-mask SIG_AIM; +cortoast.bos: set-signal-mask 2; +cortoast.bos:/*SetMaxReloadTime(Func_Var_1) +cortoast.bos:Killed(severity, corpsetype) +cortoast.bos: corpsetype = 1 ; +cortoast.bos: return(corpsetype); +cortoast.bos: corpsetype = 2 ; +cortoast.bos: return(corpsetype); +cortoast.bos: corpsetype = 3 ; +cortoast.bos: return(corpsetype); +cortoast.bos: corpsetype = 3 ; +cortoast.bos: return corpsetype; +Binary file cortoast.cob matches +cortrem.bos:SetStunned(State) +cortrem.bos: set-signal-mask SIG_AIM; +cortrem.bos:Killed(severity, corpsetype) +cortrem.bos: corpsetype = 1 ; +cortrem.bos: return(corpsetype); +cortrem.bos: corpsetype = 2 ; +cortrem.bos: return(corpsetype); +cortrem.bos: corpsetype = 3 ; +cortrem.bos: return(corpsetype); +cortrem.bos: corpsetype = 3 ; +cortrem.bos: return corpsetype; +Binary file cortrem.cob matches +cortron.bos:// OffsetToScriptCodeIndexArray c08 +cortron.bos:// OffsetToScriptNameOffsetArray c4c +cortron.bos:// OffsetToPieceNameOffsetArray c90 +cortron.bos:// OffsetToScriptCode 2c +cortron.bos:// OffsetToNameArray ca4 +cortron.bos:// OffsetToFirstName ca4 +cortron.bos:SetMaxReloadTime(Func_Var_1) +cortron.bos:/* 217:*/ set-signal-mask 0; +cortron.bos:/* 22c:*/ set-signal-mask SIG_AIM; +cortron.bos:Killed(severity, corpsetype) +cortron.bos: corpsetype = 1 ; +cortron.bos: return(corpsetype); +cortron.bos: corpsetype = 2 ; +cortron.bos: return(corpsetype); +cortron.bos: corpsetype = 3 ; +cortron.bos: return(corpsetype); +cortron.bos: corpsetype = 3 ; +cortron.bos: return corpsetype; +Binary file cortron.cob matches +cortship.bos:SetDirection(heading) +cortship.bos: set-signal-mask SIG_MOVE; +cortship.bos: set-signal-mask 4; +cortship.bos:BoomReset() +cortship.bos: set BUSY to 1; +cortship.bos: call-script BoomReset(); +cortship.bos: set BUSY to 0; +cortship.bos: set BUSY to 1; +cortship.bos: call-script BoomReset(); +cortship.bos: set BUSY to 0; +cortship.bos:Killed(severity, corpsetype) +cortship.bos: corpsetype = 1 ; +cortship.bos: return(corpsetype); +cortship.bos: corpsetype = 2 ; +cortship.bos: return(corpsetype); +cortship.bos: corpsetype = 3 ; +cortship.bos: return(corpsetype); +cortship.bos: corpsetype = 3 ; +cortship.bos: return corpsetype; +Binary file cortship.cob matches +coruwadves.bos:// OffsetToScriptCodeIndexArray 5b0 +coruwadves.bos:// OffsetToScriptNameOffsetArray 5c0 +coruwadves.bos:// OffsetToPieceNameOffsetArray 5d0 +coruwadves.bos:// OffsetToScriptCode 2c +coruwadves.bos:// OffsetToNameArray 5e4 +coruwadves.bos:// OffsetToFirstName 5e4 +coruwadves.bos:Killed(severity, corpsetype) +coruwadves.bos: corpsetype = 1 ; +coruwadves.bos: return(corpsetype); +coruwadves.bos: corpsetype = 2 ; +coruwadves.bos: return(corpsetype); +coruwadves.bos: corpsetype = 3 ; +coruwadves.bos: return(corpsetype); +coruwadves.bos: corpsetype = 3 ; +coruwadves.bos: return corpsetype; +coruwadvms.bos:// OffsetToScriptCodeIndexArray 420 +coruwadvms.bos:// OffsetToScriptNameOffsetArray 430 +coruwadvms.bos:// OffsetToPieceNameOffsetArray 440 +coruwadvms.bos:// OffsetToScriptCode 2c +coruwadvms.bos:// OffsetToNameArray 448 +coruwadvms.bos:// OffsetToFirstName 448 +coruwadvms.bos:Killed(severity, corpsetype) +coruwadvms.bos: corpsetype = 1 ; +coruwadvms.bos: return(corpsetype); +coruwadvms.bos: corpsetype = 2 ; +coruwadvms.bos: return(corpsetype); +coruwadvms.bos: corpsetype = 3 ; +coruwadvms.bos: return(corpsetype); +coruwadvms.bos: corpsetype = 3 ; +coruwadvms.bos: return corpsetype; +coruwes.bos:// OffsetToScriptCodeIndexArray 2f4 +coruwes.bos:// OffsetToScriptNameOffsetArray 304 +coruwes.bos:// OffsetToPieceNameOffsetArray 314 +coruwes.bos:// OffsetToScriptCode 2c +coruwes.bos:// OffsetToNameArray 31c +coruwes.bos:// OffsetToFirstName 31c +coruwes.bos:Killed(severity, corpsetype) +coruwes.bos: corpsetype = 1 ; +coruwes.bos: return(corpsetype); +coruwes.bos: corpsetype = 2 ; +coruwes.bos: return(corpsetype); +coruwes.bos: corpsetype = 3 ; +coruwes.bos: return(corpsetype); +coruwes.bos: corpsetype = 3 ; +coruwes.bos: return corpsetype; +coruwfus.bos:// OffsetToScriptCodeIndexArray 1f0 +coruwfus.bos:// OffsetToScriptNameOffsetArray 200 +coruwfus.bos:// OffsetToPieceNameOffsetArray 210 +coruwfus.bos:// OffsetToScriptCode 2c +coruwfus.bos:// OffsetToNameArray 218 +coruwfus.bos:// OffsetToFirstName 218 +coruwfus.bos:Killed(severity, corpsetype) +coruwfus.bos: corpsetype = 1 ; +coruwfus.bos: return(corpsetype); +coruwfus.bos: corpsetype = 2 ; +coruwfus.bos: return(corpsetype); +coruwfus.bos: corpsetype = 3 ; +coruwfus.bos: return(corpsetype); +coruwfus.bos: corpsetype = 3 ; +coruwfus.bos: return corpsetype; +coruwmex.bos: set-signal-mask SIG_ACTIVATE; +coruwmex.bos:SetSpeed(Func_Var_1) +coruwmex.bos:Killed(severity, corpsetype) +coruwmex.bos: corpsetype = 1 ; +coruwmex.bos: return(corpsetype); +coruwmex.bos: corpsetype = 2 ; +coruwmex.bos: return(corpsetype); +coruwmex.bos: corpsetype = 3 ; +coruwmex.bos: return(corpsetype); +coruwmex.bos: corpsetype = 3 ; +coruwmex.bos: return corpsetype; +Binary file coruwmex.cob matches +coruwmme.bos: set ARMORED to 0; +coruwmme.bos: set ARMORED to 1; +coruwmme.bos: set ARMORED to 1; +coruwmme.bos: set-signal-mask SIG_ACTIVATE; +coruwmme.bos:SetSpeed(Func_Var_1) +coruwmme.bos:Killed(severity, corpsetype) +coruwmme.bos: corpsetype = 1 ; +coruwmme.bos: return(corpsetype); +coruwmme.bos: corpsetype = 2 ; +coruwmme.bos: return(corpsetype); +coruwmme.bos: corpsetype = 3 ; +coruwmme.bos: return(corpsetype); +coruwmme.bos: corpsetype = 3 ; +coruwmme.bos: return corpsetype; +Binary file coruwmme.cob matches +coruwmmm.bos:Killed(severity, corpsetype) +coruwmmm.bos: corpsetype = 1; +coruwmmm.bos: return (corpsetype); +coruwmmm.bos: corpsetype = 2; +coruwmmm.bos: return (corpsetype); +coruwmmm.bos: corpsetype = 3; +coruwmmm.bos: return (corpsetype); +coruwmmm.bos: corpsetype = 3; +coruwmmm.bos: return (corpsetype); +coruwms.bos:// OffsetToScriptCodeIndexArray 2ec +coruwms.bos:// OffsetToScriptNameOffsetArray 2fc +coruwms.bos:// OffsetToPieceNameOffsetArray 30c +coruwms.bos:// OffsetToScriptCode 2c +coruwms.bos:// OffsetToNameArray 310 +coruwms.bos:// OffsetToFirstName 310 +coruwms.bos:Killed(severity, corpsetype) +coruwms.bos: corpsetype = 1 ; +coruwms.bos: return(corpsetype); +coruwms.bos: corpsetype = 2 ; +coruwms.bos: return(corpsetype); +coruwms.bos: corpsetype = 3 ; +coruwms.bos: return(corpsetype); +coruwms.bos: corpsetype = 3 ; +coruwms.bos: return corpsetype; +corvalk.bos: set-signal-mask 8; +corvalk.bos: set-signal-mask 8; +corvalk.bos: set-signal-mask 8; +corvalk.bos:Killed(severity, corpsetype) +corvalk.bos: corpsetype = 1 ; +corvalk.bos: return(corpsetype); +corvalk.bos: corpsetype = 2 ; +corvalk.bos: return(corpsetype); +corvalk.bos: corpsetype = 3 ; +corvalk.bos: return(corpsetype); +corvalk.bos: corpsetype = 3 ; +corvalk.bos: return corpsetype; +corvamp.bos:Killed(severity, corpsetype) +corvamp.bos: corpsetype = 1 ; +corvamp.bos: return(corpsetype); +corvamp.bos: corpsetype = 2 ; +corvamp.bos: return(corpsetype); +corvamp.bos: corpsetype = 3 ; +corvamp.bos: return(corpsetype); +corvamp.bos: corpsetype = 3 ; +corvamp.bos: return corpsetype; +corveng.bos:Killed(severity, corpsetype) +corveng.bos: corpsetype = 1 ; +corveng.bos: return(corpsetype); +corveng.bos: corpsetype = 2 ; +corveng.bos: return(corpsetype); +corveng.bos: corpsetype = 3 ; +corveng.bos: return(corpsetype); +corveng.bos: corpsetype = 3 ; +corveng.bos: return corpsetype; +corvipe.lua: UnitScript.SetSignalMask(SIG_OPENCLOSE + SIG_AIM); +corvipe.lua: UnitScript.SetUnitValue(COB.ARMORED, 1); +corvipe.lua: UnitScript.SetSignalMask(SIG_OPENCLOSE); +corvipe.lua: UnitScript.SetUnitValue(COB.ARMORED, 0); +corvipe.lua: UnitScript.SetSignalMask(SIG_AIM); +corvipe.lua: local corpsetype; +corvipe.lua: if (not is_open) then corpsetype = 1; end +corvipe.lua: if (is_open) then corpsetype = 2; end +corvipe.lua: return corpsetype; +corvipe.lua: if (not is_open) then corpsetype = 2; end +corvipe.lua: if (is_open) then corpsetype = 3; end +corvipe.lua: return corpsetype; +corvipe.lua: if (not is_open) then corpsetype = 3; end +corvipe.lua: if (is_open) then corpsetype = 3; end +corvipe.lua: return corpsetype; +corvipe.lua: corpsetype = 3; +corvipe.lua: return corpsetype; +corvoyr.bos: set-signal-mask SIG_WALK; +corvoyr.bos: set-signal-mask SIG_ACTIVATE; +corvoyr.bos: set-signal-mask SIG_ACTIVATE; +corvoyr.bos:SetStunned(State) +corvoyr.bos:Killed(severity, corpsetype) +corvoyr.bos: corpsetype = 1 ; +corvoyr.bos: return(corpsetype); +corvoyr.bos: corpsetype = 2 ; +corvoyr.bos: return(corpsetype); +corvoyr.bos: corpsetype = 3 ; +corvoyr.bos: return(corpsetype); +corvoyr.bos: corpsetype = 3 ; +corvoyr.bos: return corpsetype; +Binary file corvoyr.cob matches +corvp.bos: set YARD_OPEN to 1; +corvp.bos: set BUGGER_OFF to 1; +corvp.bos: set YARD_OPEN to 1; +corvp.bos: set BUGGER_OFF to 0; +corvp.bos: set YARD_OPEN to 0; +corvp.bos: set BUGGER_OFF to 1; +corvp.bos: set YARD_OPEN to 0; +corvp.bos: set BUGGER_OFF to 0; +corvp.bos: set INBUILDSTANCE to 1; +corvp.bos: set INBUILDSTANCE to 0; +corvp.bos: set-signal-mask SIG_ACTIVATE; +corvp.bos: set-signal-mask 0; +corvp.bos:Killed(severity, corpsetype) +corvp.bos: corpsetype = 1 ; +corvp.bos: return(corpsetype); +corvp.bos: corpsetype = 2 ; +corvp.bos: return(corpsetype); +corvp.bos: corpsetype = 3 ; +corvp.bos: return(corpsetype); +corvp.bos: corpsetype = 3 ; +corvp.bos: return corpsetype; +corvp.lua: UnitScript.SetSignalMask(SIG_OPENCLOSE); +corvp.lua: UnitScript.SetUnitValue(COB.INBUILDSTANCE, 1); +corvp.lua: UnitScript.SetSignalMask(SIG_OPENCLOSE); +corvp.lua: UnitScript.SetUnitValue(COB.INBUILDSTANCE, 0); +corvp.lua: UnitScript.SetSignalMask(SIG_ACTIVATE); +corvp.lua: local corpsetype; +corvp.lua: corpsetype = 1; +corvp.lua: return corpsetype; +corvp.lua: corpsetype = 2; +corvp.lua: return corpsetype; +corvp.lua: corpsetype = 3; +corvp.lua: return corpsetype; +corvp.lua: corpsetype = 3; +corvp.lua: return corpsetype; +corvrad.bos: set-signal-mask SIG_ACTIVATE; +corvrad.bos: set-signal-mask SIG_ACTIVATE; +corvrad.bos:SetStunned(State) +corvrad.bos:Killed(severity, corpsetype) +corvrad.bos: corpsetype = 1 ; +corvrad.bos: return(corpsetype); +corvrad.bos: corpsetype = 2 ; +corvrad.bos: return(corpsetype); +corvrad.bos: corpsetype = 3 ; +corvrad.bos: return(corpsetype); +corvrad.bos: corpsetype = 3 ; +corvrad.bos: return corpsetype; +Binary file corvrad.cob matches +corvroc.bos:SetMaxReloadTime(Func_Var_1) +corvroc.bos: set-signal-mask 0; +corvroc.bos:SetStunned(State) +corvroc.bos: set-signal-mask SIG_RESTORE; +corvroc.bos: set-signal-mask SIG_AIM; +corvroc.bos:Killed(severity, corpsetype) +corvroc.bos: corpsetype = 1 ; +corvroc.bos: return(corpsetype); +corvroc.bos: corpsetype = 2 ; +corvroc.bos: return(corpsetype); +corvroc.bos: corpsetype = 3 ; +corvroc.bos: return(corpsetype); +corvroc.bos: corpsetype = 3 ; +corvroc.bos: return corpsetype; +Binary file corvroc.cob matches +corwin.bos:SetSpeed(windSpd) //called every 450 frames +corwin.bos: set ACTIVATION to 100; +corwin.bos:SetDirection(windDir) //called every 450 frames +corwin.bos:SetStunned(State) +corwin.bos: set ACTIVATION to 0; +corwin.bos: set ACTIVATION to 100; +corwin.bos:Killed(severity, corpsetype) +corwin.bos: corpsetype = 1 ; +corwin.bos: return(corpsetype); +corwin.bos: corpsetype = 2 ; +corwin.bos: return(corpsetype); +corwin.bos: corpsetype = 3 ; +corwin.bos: return(corpsetype); +corwin.bos: corpsetype = 3 ; +corwin.bos: return corpsetype; +Binary file corwin.cob matches +corwolv.bos:SetMaxReloadTime(Func_Var_1) +corwolv.bos:SetStunned(State) +corwolv.bos: set-signal-mask SIG_AIM; +corwolv.bos:Killed(severity, corpsetype) +corwolv.bos: corpsetype = 1 ; +corwolv.bos: return(corpsetype); +corwolv.bos: corpsetype = 2 ; +corwolv.bos: return(corpsetype); +corwolv.bos: corpsetype = 3 ; +corwolv.bos: return(corpsetype); +corwolv.bos: corpsetype = 3 ; +corwolv.bos: return corpsetype; +Binary file corwolv.cob matches +exptype.h:** EXPtype.h -- Explosion Type information and GET/SET constants for s +cripts +exptype.h:#define ACTIVATION 1 // set or get +exptype.h:#define STANDINGMOVEORDERS 2 // set or get +exptype.h:#define STANDINGFIREORDERS 3 // set or get +exptype.h:#define INBUILDSTANCE 5 // set or get +exptype.h:#define BUSY 6 // set or get (used by misc. special c +ase missions like transport ships) +exptype.h:#define YARD_OPEN 18 // set or get (change which plots we o +ccupy when building opens and closes) +exptype.h:#define BUGGER_OFF 19 // set or get (ask other units to clea +r the area) +exptype.h:#define ARMORED 20 // set or get +exptype.h:#define UPRIGHT 79 // set or get +exptype.h:#define LOS_RADIUS 85 // set or get +exptype.h:#define AIR_LOS_RADIUS 86 // set or get +exptype.h:#define RADAR_RADIUS 87 // set or get +exptype.h:#define JAMMER_RADIUS 88 // set or get +exptype.h:#define SONAR_RADIUS 89 // set or get +exptype.h:#define SONAR_JAM_RADIUS 90 // set or get +exptype.h:#define SEISMIC_RADIUS 91 // set or get +exptype.h:#define CURRENT_FUEL 93 // set or get +exptype.h:#define SHIELD_POWER 95 // set or get +exptype.h:#define STEALTH 96 // set or get +exptype.h:#define CRASHING 97 // set or get, returns whether ai +rcraft isCrashing state +exptype.h:#define CHANGE_TARGET 98 // set, the value it's set to det +ermines the affected weapon +exptype.h:#define CEG_DAMAGE 99 // set +exptype.h:#define ALPHA_THRESHOLD 103 // set or get +exptype.h:#define SET_WEAPON_UNIT_TARGET 106 // get (fake set) +exptype.h:#define SET_WEAPON_GROUND_TARGET 107 // get (fake set) +exptype.h:#define SONAR_STEALTH 108 // set or get +exptype.h:// Indices for SET, GET, and GET_UNIT_VALUE for LUA return values +exptype.h:#define FLANK_B_MODE 120 // set or get +exptype.h:#define FLANK_B_DIR 121 // set or get, set is through get fo +r multiple args +exptype.h:#define FLANK_B_MOBILITY_ADD 122 // set or get +exptype.h:#define FLANK_B_MAX_DAMAGE 123 // set or get +exptype.h:#define FLANK_B_MIN_DAMAGE 124 // set or get +exptype.h:#define WEAPON_RELOADSTATE 125 // get (with fake set) get WEAPON_R +ELOADSTATE(weaponNum) for GET +exptype.h:#define WEAPON_RELOADTIME 126 // get (with fake set) get WEAPON_R +ELOADSTATE(-weaponNum,val) for SET +exptype.h:#define WEAPON_ACCURACY 127 // get (with fake set) +exptype.h:#define WEAPON_SPRAY 128 // get (with fake set) +exptype.h:#define WEAPON_RANGE 129 // get (with fake set) +exptype.h:#define WEAPON_PROJECTILE_SPEED 130 // get (with fake set) +exptype.h:#define WEAPON_STOCKPILE_COUNT 139 // get (with fake set) +exptype.h:#define ENERGY_MAKE 140 // set or get (100*E production) +exptype.h:#define METAL_MAKE 141 // set or get (100*M production) +Binary file fgrep.exe matches +LICENSE:organization, or substantially all assets of one, or subdividing an +meteor.bos: //set UNKNOWN_UNIT_VALUE(76) to 1; +meteor.bos: set ARMORED to 0; +meteor.bos: //set UNKNOWN_UNIT_VALUE(76) to 0; +meteor.bos:Killed(severity, corpsetype) +fgrep: New folder: Is a directory +roost.bos: set ARMORED to 0; +roost.bos:Killed(severity, corpsetype) +fgrep: scavboss: Is a directory +fgrep: scavbuildings: Is a directory +standard_commands_gpl.h:// Indices for set/get value +standard_commands_gpl.h:#define ACTIVATION 1 // set or get +standard_commands_gpl.h:#define STANDINGMOVEORDERS 2 // set or get +standard_commands_gpl.h:#define STANDINGFIREORDERS 3 // set or get +standard_commands_gpl.h:#define INBUILDSTANCE 5 // set or get +standard_commands_gpl.h:#define BUSY 6 // set or get (u +sed by misc. special case missions like transport ships) +standard_commands_gpl.h:#define YARD_OPEN 18 // set o +r get (change which plots we occupy when building opens and closes) +standard_commands_gpl.h:#define BUGGER_OFF 19 // set or get (a +sk other units to clear the area) +standard_commands_gpl.h:#define ARMORED 20 // SET or GET. +Turns on the Armored state. +standard_commands_gpl.h:#define CURRENT_SPEED 29 // SET only, if +I'm reading the code right. Gives us a new speed for the next frame ONLY. +standard_commands_gpl.h:#define VETERAN_LEVEL 32 // SET or GET. +Can make units super-accurate, or keep them inaccurate. +standard_commands_gpl.h:#define MAX_SPEED 75 // SET o +nly. Alters MaxVelocity for the given unit. +teleport.bos:Killed(severity, corpsetype) +unitDefsTurretSpeeds.h:/* unitDefsTurretSpeeds.h -- sets turret speed via unitDe +fs (through lua gadget Spring.CallCOBScript()) +unitDefsTurretSpeeds.h:SetWeapon1TurretSpeed(var1,var2) +unitDefsTurretSpeeds.h:SetWeapon2TurretSpeed(var1,var2) +unitDefsTurretSpeeds.h:SetWeapon3TurretSpeed(var1,var2) +unitDefsTurretSpeeds.h:SetWeapon4TurretSpeed(var1,var2) +unitDefsTurretSpeeds.h:SetWeapon5TurretSpeed(var1,var2) +unitDefsTurretSpeeds.h:SetWeapon6TurretSpeed(var1,var2) +unitDefsTurretSpeeds.h:SetWeapon7TurretSpeed(var1,var2) +unitDefsTurretSpeeds.h:SetWeapon8TurretSpeed(var1,var2) +unitDefsTurretSpeeds.h:SetWeapon9TurretSpeed(var1,var2) +unitDefsTurretSpeeds.h:SetWeapon10TurretSpeed(var1,var2) +weapon1control.h: start-script InitialSetup1(); +weapon1control.h: start-script Weapon1SetWtdAim(heading, pitch); +weapon1control.h:SetStunned(State) +weapon1control.h:- Weapon1Control moves the aim pieces depending on turretSpeeds +, sets pitch = 1 when pitch reached and head = 1 when head reached +weapon1control.h:- Weapon1Drawn allows unit to fire by setting wpnReady1 = 1 +weapon1control.h:InitialSetup1() +weapon1control.h:Weapon1SetWtdAim(pitch, heading) +yard.h: set YARD_OPEN to TRUE; +yard.h: set BUGGER_OFF to TRUE; +yard.h: set YARD_OPEN to TRUE; +yard.h: set BUGGER_OFF to FALSE; +yard.h: set YARD_OPEN to FALSE; +yard.h: set BUGGER_OFF to TRUE; +yard.h: set YARD_OPEN to FALSE; +yard.h: set BUGGER_OFF to FALSE; + +C:\Users\Peti\Documents\my games\Spring\games\Beyond-All-Reason.sdd\scripts\Unit +s> + +C:\Users\Peti\Documents\my games\Spring\games\Beyond-All-Reason.sdd\scripts\Unit +s>fgrep -i " SET " * +armah.bos: // Set values for tilt +armanac.bos: // Set values for tilt +armch.bos: // Set values for tilt +armjam.bos: // Set values for tilt +armjam.bos: // Set Values for differential system +fgrep: armmar_lus: Is a directory +armmh.bos: // Set values for tilt +armserp.bos: // Set values for tilt +armsh.bos: // Set values for tilt +armthovr.bos: // Set values for tilt +constants.h:#define ACTIVATION 1 // set or get +constants.h:#define STANDINGMOVEORDERS 2 // set or get +constants.h:#define STANDINGFIREORDERS 3 // set or get +constants.h:#define INBUILDSTANCE 5 // set or get +constants.h:#define BUSY 6 // set or get (used by misc. special + case missions like transport ships) +constants.h:#define YARD_OPEN 18 // set or get (change which plots we + occupy when building opens and closes) +constants.h:#define BUGGER_OFF 19 // set or get (ask other units to cl +ear the area) +constants.h:#define ARMORED 20 // set or get +constants.h:#define UPRIGHT 79 // set or get +constants.h:#define LOS_RADIUS 85 // set or get +constants.h:#define AIR_LOS_RADIUS 86 // set or get +constants.h:#define RADAR_RADIUS 87 // set or get +constants.h:#define JAMMER_RADIUS 88 // set or get +constants.h:#define SONAR_RADIUS 89 // set or get +constants.h:#define SONAR_JAM_RADIUS 90 // set or get +constants.h:#define SEISMIC_RADIUS 91 // set or get +constants.h:#define CURRENT_FUEL 93 // set or get +constants.h:#define SHIELD_POWER 95 // set or get +constants.h:#define STEALTH 96 // set or get +constants.h:#define CRASHING 97 // set or get, returns whether +aircraft isCrashing state +constants.h:#define CHANGE_TARGET 98 // set, the value it's set to d +etermines the affected weapon +constants.h:#define ALPHA_THRESHOLD 103 // set or get +constants.h:#define SONAR_STEALTH 108 // set or get +constants.h:#define FLANK_B_MODE 120 // set or get +constants.h:#define FLANK_B_DIR 121 // set or get, set is through get fo +r multiple args +constants.h:#define FLANK_B_MOBILITY_ADD 122 // set or get +constants.h:#define FLANK_B_MAX_DAMAGE 123 // set or get +constants.h:#define FLANK_B_MIN_DAMAGE 124 // set or get +constants.h:#define ENERGY_MAKE 140 // set or get (100*E production) + +constants.h:#define METAL_MAKE 141 // set or get (100*M production) + +corah.bos: // Set values for tilt +corch.bos: // Set values for tilt +corhal.bos: // Set values for tilt +cormh.bos: // Set values for tilt +corsh.bos: // Set values for tilt +corsnap.bos: // Set values for tilt +corthovr.bos: // Set values for tilt +exptype.h:#define ACTIVATION 1 // set or get +exptype.h:#define STANDINGMOVEORDERS 2 // set or get +exptype.h:#define STANDINGFIREORDERS 3 // set or get +exptype.h:#define INBUILDSTANCE 5 // set or get +exptype.h:#define BUSY 6 // set or get (used by misc. special c +ase missions like transport ships) +exptype.h:#define YARD_OPEN 18 // set or get (change which plots we o +ccupy when building opens and closes) +exptype.h:#define BUGGER_OFF 19 // set or get (ask other units to clea +r the area) +exptype.h:#define ARMORED 20 // set or get +exptype.h:#define UPRIGHT 79 // set or get +exptype.h:#define LOS_RADIUS 85 // set or get +exptype.h:#define AIR_LOS_RADIUS 86 // set or get +exptype.h:#define RADAR_RADIUS 87 // set or get +exptype.h:#define JAMMER_RADIUS 88 // set or get +exptype.h:#define SONAR_RADIUS 89 // set or get +exptype.h:#define SONAR_JAM_RADIUS 90 // set or get +exptype.h:#define SEISMIC_RADIUS 91 // set or get +exptype.h:#define CURRENT_FUEL 93 // set or get +exptype.h:#define SHIELD_POWER 95 // set or get +exptype.h:#define STEALTH 96 // set or get +exptype.h:#define CRASHING 97 // set or get, returns whether ai +rcraft isCrashing state +exptype.h:#define CHANGE_TARGET 98 // set, the value it's set to det +ermines the affected weapon +exptype.h:#define ALPHA_THRESHOLD 103 // set or get +exptype.h:#define SONAR_STEALTH 108 // set or get +exptype.h:#define FLANK_B_MODE 120 // set or get +exptype.h:#define FLANK_B_DIR 121 // set or get, set is through get fo +r multiple args +exptype.h:#define FLANK_B_MOBILITY_ADD 122 // set or get +exptype.h:#define FLANK_B_MAX_DAMAGE 123 // set or get +exptype.h:#define FLANK_B_MIN_DAMAGE 124 // set or get +exptype.h:#define ENERGY_MAKE 140 // set or get (100*E production) +exptype.h:#define METAL_MAKE 141 // set or get (100*M production) +fgrep: New folder: Is a directory +fgrep: scavboss: Is a directory +fgrep: scavbuildings: Is a directory +standard_commands_gpl.h:#define ACTIVATION 1 // set or get +standard_commands_gpl.h:#define STANDINGMOVEORDERS 2 // set or get +standard_commands_gpl.h:#define STANDINGFIREORDERS 3 // set or get +standard_commands_gpl.h:#define INBUILDSTANCE 5 // set or get +standard_commands_gpl.h:#define BUSY 6 // set or get (u +sed by misc. special case missions like transport ships) +standard_commands_gpl.h:#define YARD_OPEN 18 // set o +r get (change which plots we occupy when building opens and closes) +standard_commands_gpl.h:#define BUGGER_OFF 19 // set or get (a +sk other units to clear the area) +standard_commands_gpl.h:#define ARMORED 20 // SET or GET. +Turns on the Armored state. +standard_commands_gpl.h:#define CURRENT_SPEED 29 // SET only, if +I'm reading the code right. Gives us a new speed for the next frame ONLY. +standard_commands_gpl.h:#define VETERAN_LEVEL 32 // SET or GET. +Can make units super-accurate, or keep them inaccurate. +standard_commands_gpl.h:#define MAX_SPEED 75 // SET o +nly. Alters MaxVelocity for the given unit. + +C:\Users\Peti\Documents\my games\Spring\games\Beyond-All-Reason.sdd\scripts\Unit +s>fgrep -i "SET " * +armaap.bos: set YARD_OPEN to 1; +armaap.bos: set BUGGER_OFF to 1; +armaap.bos: set YARD_OPEN to 1; +armaap.bos: set BUGGER_OFF to 0; +armaap.bos: set YARD_OPEN to 0; +armaap.bos: set BUGGER_OFF to 1; +armaap.bos: set YARD_OPEN to 0; +armaap.bos: set BUGGER_OFF to 0; +armaap.bos: set INBUILDSTANCE to 1; +armaap.bos: set INBUILDSTANCE to 0; +armaca.bos: set INBUILDSTANCE to 1; +armaca.bos: set INBUILDSTANCE to 0; +armack.bos: set INBUILDSTANCE to 0; +armack.bos: set INBUILDSTANCE to 1; +armacsub.bos: set INBUILDSTANCE to 0; +armacsub.bos: set INBUILDSTANCE to 1; +armacv.bos: set INBUILDSTANCE to 0; +armacv.bos: set INBUILDSTANCE to 1; +armadvsol.bos: set ARMORED to 0; +armadvsol.bos: set ARMORED to 1; +armafus.bos: set ARMORED to 1; +armafus.bos: set ARMORED to 0; +armah.bos: // Set values for tilt +armalab.bos: set YARD_OPEN to 1; +armalab.bos: set BUGGER_OFF to 1; +armalab.bos: set YARD_OPEN to 1; +armalab.bos: set BUGGER_OFF to 0; +armalab.bos: set YARD_OPEN to 0; +armalab.bos: set BUGGER_OFF to 1; +armalab.bos: set YARD_OPEN to 0; +armalab.bos: set BUGGER_OFF to 0; +armalab.bos: set INBUILDSTANCE to 1; +armalab.bos: set INBUILDSTANCE to 0; +armamb.bos: set ARMORED to 0; +armamb.bos: set ARMORED to 1; +armamex.bos: set ARMORED to 0; +armamex.bos: set ARMORED to 1; +armamex.bos: set ACTIVATION to 0; +armamex.bos: set ACTIVATION to 100; +armamsub.bos: set YARD_OPEN to 1; +armamsub.bos: set BUGGER_OFF to 1; +armamsub.bos: set YARD_OPEN to 1; +armamsub.bos: set BUGGER_OFF to 0; +armamsub.bos: set YARD_OPEN to 0; +armamsub.bos: set BUGGER_OFF to 1; +armamsub.bos: set YARD_OPEN to 0; +armamsub.bos: set BUGGER_OFF to 0; +armamsub.bos: set INBUILDSTANCE to 1; +armamsub.bos: set INBUILDSTANCE to 0; +armanac.bos: // Set values for tilt +armanni.bos: set ARMORED to 0; +armanni.bos: set ARMORED to 1; +armap.bos: set YARD_OPEN to 1; +armap.bos: set BUGGER_OFF to 1; +armap.bos: set YARD_OPEN to 1; +armap.bos: set BUGGER_OFF to 0; +armap.bos: set YARD_OPEN to 0; +armap.bos: set BUGGER_OFF to 1; +armap.bos: set YARD_OPEN to 0; +armap.bos: set BUGGER_OFF to 0; +armap.bos: set INBUILDSTANCE to 1; +armap.bos: set INBUILDSTANCE to 0; +armaser.bos: set ACTIVATION to 0; +armaser.bos: set ACTIVATION to 0; +armaser.bos: set ACTIVATION to 100; +armasy.bos: set YARD_OPEN to 1; +armasy.bos: set BUGGER_OFF to 1; +armasy.bos: set YARD_OPEN to 1; +armasy.bos: set BUGGER_OFF to 0; +armasy.bos: set YARD_OPEN to 0; +armasy.bos: set BUGGER_OFF to 1; +armasy.bos: set YARD_OPEN to 0; +armasy.bos: set BUGGER_OFF to 0; +armasy.bos: set INBUILDSTANCE to 1; +armasy.bos: set INBUILDSTANCE to 0; +armavp.bos: set YARD_OPEN to 1; +armavp.bos: set BUGGER_OFF to 1; +armavp.bos: set YARD_OPEN to 1; +armavp.bos: set BUGGER_OFF to 0; +armavp.bos: set YARD_OPEN to 0; +armavp.bos: set BUGGER_OFF to 1; +armavp.bos: set YARD_OPEN to 0; +armavp.bos: set BUGGER_OFF to 0; +armavp.bos: set INBUILDSTANCE to 1; +armavp.bos: set INBUILDSTANCE to 0; +armbeaver.bos: set INBUILDSTANCE to 0; +armbeaver.bos: set INBUILDSTANCE to 1; +armca.bos: set INBUILDSTANCE to 1; +armca.bos: set INBUILDSTANCE to 0; +armch.bos: // Set values for tilt +armch.bos: set INBUILDSTANCE to 0; +armch.bos: set INBUILDSTANCE to 1; +armck.bos: set INBUILDSTANCE to 0; +armck.bos: set INBUILDSTANCE to 1; +armckfus.bos: set ARMORED to 1; +armckfus.bos: set ARMORED to 0; +armclaw.bos: set ARMORED to 0; +armclaw.bos: set ARMORED to 1; +armcom.bos: set INBUILDSTANCE to 1; +armcom.bos: set INBUILDSTANCE to 0; +armcomboss.bos: set INBUILDSTANCE to 1; +armcomboss.bos: set INBUILDSTANCE to 0; +armconsul.bos: set INBUILDSTANCE to 1; +armconsul.bos: set INBUILDSTANCE to 0; +armcs.bos: set INBUILDSTANCE to 0; +armcs.bos: set INBUILDSTANCE to 1; +armcsa.bos: set INBUILDSTANCE to 1; +armcsa.bos: set INBUILDSTANCE to 0; +armcv.bos: set INBUILDSTANCE to 0; +armcv.bos: set INBUILDSTANCE to 1; +armdecom.lua: -- reset parts +armdf.bos: set ARMORED to 1; +armdf.bos: set ARMORED to 0; +armepoch.bos: set ARMORED to 1; +armfark.bos: set INBUILDSTANCE to 0; +armfark.bos: set INBUILDSTANCE to 1; +armferret.bos: set ARMORED to 0; +armferret.bos: set ARMORED to 1; +armfhp.bos: set YARD_OPEN to 1; +armfhp.bos: set BUGGER_OFF to 1; +armfhp.bos: set YARD_OPEN to 1; +armfhp.bos: set BUGGER_OFF to 0; +armfhp.bos: set YARD_OPEN to 0; +armfhp.bos: set BUGGER_OFF to 1; +armfhp.bos: set YARD_OPEN to 0; +armfhp.bos: set BUGGER_OFF to 0; +armfhp.bos: set INBUILDSTANCE to 1; +armfhp.bos: set INBUILDSTANCE to 0; +armfus.bos: set ARMORED to 1; +armfus.bos: set ARMORED to 0; +armgmm.bos: set ARMORED to 0; +armgmm.bos: set ARMORED to 1; +armhp.bos: set YARD_OPEN to 1; +armhp.bos: set BUGGER_OFF to 1; +armhp.bos: set YARD_OPEN to 1; +armhp.bos: set BUGGER_OFF to 0; +armhp.bos: set YARD_OPEN to 0; +armhp.bos: set BUGGER_OFF to 1; +armhp.bos: set YARD_OPEN to 0; +armhp.bos: set BUGGER_OFF to 0; +armhp.bos: set INBUILDSTANCE to 1; +armhp.bos: set INBUILDSTANCE to 0; +armjam.bos: // Set values for tilt +armjam.bos: // Set Values for differential system +armjam.bos: set ACTIVATION to 0; +armjam.bos: set ACTIVATION to 0; +armjam.bos: set ACTIVATION to 100; +armlab.bos: set YARD_OPEN to 1; +armlab.bos: set BUGGER_OFF to 1; +armlab.bos: set YARD_OPEN to 1; +armlab.bos: set BUGGER_OFF to 0; +armlab.bos: set YARD_OPEN to 0; +armlab.bos: set BUGGER_OFF to 1; +armlab.bos: set YARD_OPEN to 0; +armlab.bos: set BUGGER_OFF to 0; +armlab.bos: set INBUILDSTANCE to 1; +armlab.bos: set INBUILDSTANCE to 0; +fgrep: armmar_lus: Is a directory +armmercury.bos: set DELAY_UNIT_VAR to 0; +armmerl.bos: set ARMORED to 1; +armmerl.bos: set ARMORED to 0; +armmerl.bos: set ARMORED to 0; +armmh.bos: // Set values for tilt +armmls.bos: set INBUILDSTANCE to 1; +armmls.bos: set INBUILDSTANCE to 0; +armmlv.bos: set INBUILDSTANCE to 1; +armmlv.bos: set INBUILDSTANCE to 0; +armmmkr.bos: set ARMORED to 0; //Not needed as MM in BAR have no damage modif +yer tag set +armmmkr.bos: set ARMORED to 1; +armnanotc.bos: set INBUILDSTANCE to 1; +armnanotc.bos: set INBUILDSTANCE to 0; +armnanotcplat.bos: set INBUILDSTANCE to 1; +armnanotcplat.bos: set INBUILDSTANCE to 0; +armpb.bos: set ARMORED to 0; +armpb.bos: set ARMORED to 1; +armplat.bos: set ARMORED to 0; +armplat.bos: set ARMORED to 1; +armplat.bos: set YARD_OPEN to 1; +armplat.bos: set BUGGER_OFF to 1; +armplat.bos: set YARD_OPEN to 1; +armplat.bos: set BUGGER_OFF to 0; +armplat.bos: set YARD_OPEN to 0; +armplat.bos: set BUGGER_OFF to 1; +armplat.bos: set YARD_OPEN to 0; +armplat.bos: set BUGGER_OFF to 0; +armplat.bos: set INBUILDSTANCE to 1; +armplat.bos: set INBUILDSTANCE to 0; +armplat.bos: set ARMORED to 1; +armrecl.bos: set INBUILDSTANCE to 1; +armrecl.bos: set INBUILDSTANCE to 0; +armrectr.bos: set INBUILDSTANCE to 0; +armrectr.bos: set INBUILDSTANCE to 1; +armrectrt4.bos: set INBUILDSTANCE to 0; +armrectrt4.bos: set INBUILDSTANCE to 1; +armserp.bos: // Set values for tilt +armsh.bos: // Set values for tilt +armshltx.bos: set YARD_OPEN to 1; +armshltx.bos: set BUGGER_OFF to 1; +armshltx.bos: set YARD_OPEN to 1; +armshltx.bos: set BUGGER_OFF to 0; +armshltx.bos: set YARD_OPEN to 0; +armshltx.bos: set BUGGER_OFF to 1; +armshltx.bos: set YARD_OPEN to 0; +armshltx.bos: set BUGGER_OFF to 0; +armshltx.bos: set INBUILDSTANCE to 1; +armshltx.bos: set INBUILDSTANCE to 0; +armsjam.bos: set ACTIVATION to 0; +armsjam.bos: set ACTIVATION to 0; +armsjam.bos: set ACTIVATION to 100; +armsolar.bos: set YARD_OPEN to 1; +armsolar.bos: set BUGGER_OFF to 1; +armsolar.bos: set YARD_OPEN to 1; +armsolar.bos: set BUGGER_OFF to 0; +armsolar.bos: set YARD_OPEN to 0; +armsolar.bos: set BUGGER_OFF to 1; +armsolar.bos: set YARD_OPEN to 0; +armsolar.bos: set BUGGER_OFF to 0; +armsolar.bos: set ACTIVATION to 0; +armsolar.bos: set ARMORED to 0; +armsolar.bos: set YARD_OPEN to 0; +armsolar.bos: set ARMORED to 1; +armsolar.bos: set YARD_OPEN to 1; +armsolar.bos: set ACTIVATION to 0; +armsolar.bos: set ACTIVATION to 0; +armsolar.bos: set ACTIVATION to 100; +armspy.bos: set ACTIVATION to 0; +armspy.bos: set INBUILDSTANCE to 1; +armspy.bos: set INBUILDSTANCE to 0; +armspy.bos: set ACTIVATION to 0; +armspy.bos: set ACTIVATION to 100; +armsy.bos: set YARD_OPEN to 1; +armsy.bos: set BUGGER_OFF to 1; +armsy.bos: set YARD_OPEN to 1; +armsy.bos: set BUGGER_OFF to 0; +armsy.bos: set YARD_OPEN to 0; +armsy.bos: set BUGGER_OFF to 1; +armsy.bos: set YARD_OPEN to 0; +armsy.bos: set BUGGER_OFF to 0; +armsy.bos: set INBUILDSTANCE to 1; +armsy.bos: set INBUILDSTANCE to 0; +armtarg.bos: set ARMORED to 1; +armtarg.bos: set ACTIVATION to 0; +armtarg.bos: set ACTIVATION to 1; +armthovr.bos: // Set values for tilt +armthovr.bos: set BUSY to 1; +armthovr.bos: set BUSY to 0; +armthovr.bos: set BUSY to 1; +armthovr.bos: set BUSY to 0; +armtship.bos: set BUSY to 1; +armtship.bos: set BUSY to 0; +armtship.bos: set BUSY to 1; +armtship.bos: set BUSY to 0; +armvp.bos: set ARMORED to 0; +armvp.bos: set ARMORED to 1; +armvp.bos: set YARD_OPEN to 1; +armvp.bos: set BUGGER_OFF to 1; +armvp.bos: set YARD_OPEN to 1; +armvp.bos: set BUGGER_OFF to 0; +armvp.bos: set YARD_OPEN to 0; +armvp.bos: set BUGGER_OFF to 1; +armvp.bos: set YARD_OPEN to 0; +armvp.bos: set BUGGER_OFF to 0; +armvp.bos: set INBUILDSTANCE to 1; +armvp.bos: set INBUILDSTANCE to 0; +armvp.bos: set ARMORED to 1; +armwin.bos: set ACTIVATION to 100; +armwin.bos: set ACTIVATION to 0; +armwin.bos: set ACTIVATION to 100; +constants.h:** EXPtype.h -- Explosion Type information and GET/SET constants for + scripts +constants.h:#define ACTIVATION 1 // set or get +constants.h:#define STANDINGMOVEORDERS 2 // set or get +constants.h:#define STANDINGFIREORDERS 3 // set or get +constants.h:#define INBUILDSTANCE 5 // set or get +constants.h:#define BUSY 6 // set or get (used by misc. special + case missions like transport ships) +constants.h:#define YARD_OPEN 18 // set or get (change which plots we + occupy when building opens and closes) +constants.h:#define BUGGER_OFF 19 // set or get (ask other units to cl +ear the area) +constants.h:#define ARMORED 20 // set or get +constants.h:#define UPRIGHT 79 // set or get +constants.h:#define LOS_RADIUS 85 // set or get +constants.h:#define AIR_LOS_RADIUS 86 // set or get +constants.h:#define RADAR_RADIUS 87 // set or get +constants.h:#define JAMMER_RADIUS 88 // set or get +constants.h:#define SONAR_RADIUS 89 // set or get +constants.h:#define SONAR_JAM_RADIUS 90 // set or get +constants.h:#define SEISMIC_RADIUS 91 // set or get +constants.h:#define CURRENT_FUEL 93 // set or get +constants.h:#define SHIELD_POWER 95 // set or get +constants.h:#define STEALTH 96 // set or get +constants.h:#define CRASHING 97 // set or get, returns whether +aircraft isCrashing state +constants.h:#define CHANGE_TARGET 98 // set, the value it's set to d +etermines the affected weapon +constants.h:#define ALPHA_THRESHOLD 103 // set or get +constants.h:#define SONAR_STEALTH 108 // set or get +constants.h:#define FLANK_B_MODE 120 // set or get +constants.h:#define FLANK_B_DIR 121 // set or get, set is through get fo +r multiple args +constants.h:#define FLANK_B_MOBILITY_ADD 122 // set or get +constants.h:#define FLANK_B_MAX_DAMAGE 123 // set or get +constants.h:#define FLANK_B_MIN_DAMAGE 124 // set or get +constants.h:#define ENERGY_MAKE 140 // set or get (100*E production) + +constants.h:#define METAL_MAKE 141 // set or get (100*M production) + +coraap.bos: set YARD_OPEN to 1; +coraap.bos: set BUGGER_OFF to 1; +coraap.bos: set YARD_OPEN to 1; +coraap.bos: set BUGGER_OFF to 0; +coraap.bos: set YARD_OPEN to 0; +coraap.bos: set BUGGER_OFF to 1; +coraap.bos: set YARD_OPEN to 0; +coraap.bos: set BUGGER_OFF to 0; +coraap.bos: set INBUILDSTANCE to 1; +coraap.bos: set INBUILDSTANCE to 0; +coraca.bos: set INBUILDSTANCE to 1; +coraca.bos: set INBUILDSTANCE to 0; +corack.bos: set INBUILDSTANCE to 0; +corack.bos: set INBUILDSTANCE to 1; +coracsub.bos: set INBUILDSTANCE to 0; +coracsub.bos: set INBUILDSTANCE to 1; +coracv.bos: set INBUILDSTANCE to 0; +coracv.bos: set INBUILDSTANCE to 1; +coradvsol.bos:/* 57:*/ set ARMORED to 0; +coradvsol.bos:/* 5f:*/ set ARMORED to 1; +coradvsol.bos:/* 7d:*/ set ACTIVATION to 0; +coradvsol.bos:/* 85:*/ set ACTIVATION to 100; +corafus.bos:/* b0:*/ set ARMORED to 1; +corafus.bos:/* ba:*/ set ARMORED to 0; +corah.bos: // Set values for tilt +coramsub.bos:/* 87:*/ set YARD_OPEN to 1; +coramsub.bos:/* 92:*/ set BUGGER_OFF to 1; +coramsub.bos:/* 9a:*/ set YARD_OPEN to 1; +coramsub.bos:/* a1:*/ set BUGGER_OFF to 0; +coramsub.bos:/* a9:*/ set YARD_OPEN to 0; +coramsub.bos:/* b3:*/ set BUGGER_OFF to 1; +coramsub.bos:/* bb:*/ set YARD_OPEN to 0; +coramsub.bos:/* c2:*/ set BUGGER_OFF to 0; +coramsub.bos:/* d0:*/ set INBUILDSTANCE to 1; +coramsub.bos:/* d8:*/ set INBUILDSTANCE to 0; +corap.bos:/* 17e:*/ set YARD_OPEN to 1; +corap.bos:/* 189:*/ set BUGGER_OFF to 1; +corap.bos:/* 191:*/ set YARD_OPEN to 1; +corap.bos:/* 198:*/ set BUGGER_OFF to 0; +corap.bos:/* 1a0:*/ set YARD_OPEN to 0; +corap.bos:/* 1aa:*/ set BUGGER_OFF to 1; +corap.bos:/* 1b2:*/ set YARD_OPEN to 0; +corap.bos:/* 1b9:*/ set BUGGER_OFF to 0; +corap.bos:/* 1d5:*/ set INBUILDSTANCE to 1; +corap.bos:/* 1dd:*/ set INBUILDSTANCE to 0; +corasy.bos: set YARD_OPEN to 1; +corasy.bos: set BUGGER_OFF to 1; +corasy.bos: set YARD_OPEN to 1; +corasy.bos: set BUGGER_OFF to 0; +corasy.bos: set YARD_OPEN to 0; +corasy.bos: set BUGGER_OFF to 1; +corasy.bos: set YARD_OPEN to 0; +corasy.bos: set BUGGER_OFF to 0; +corasy.bos: set INBUILDSTANCE to 1; +corasy.bos: set INBUILDSTANCE to 0; +corasye.bos: set YARD_OPEN to 1; +corasye.bos: set BUGGER_OFF to 1; +corasye.bos: set YARD_OPEN to 1; +corasye.bos: set BUGGER_OFF to 0; +corasye.bos: set YARD_OPEN to 0; +corasye.bos: set BUGGER_OFF to 1; +corasye.bos: set YARD_OPEN to 0; +corasye.bos: set BUGGER_OFF to 0; +corasye.bos: set INBUILDSTANCE to 1; +corasye.bos: set INBUILDSTANCE to 0; +coravp.bos: set YARD_OPEN to 1; +coravp.bos: set BUGGER_OFF to 1; +coravp.bos: set YARD_OPEN to 1; +coravp.bos: set BUGGER_OFF to 0; +coravp.bos: set YARD_OPEN to 0; +coravp.bos: set BUGGER_OFF to 1; +coravp.bos: set YARD_OPEN to 0; +coravp.bos: set BUGGER_OFF to 0; +coravp.bos: set INBUILDSTANCE to 1; +coravp.bos: set INBUILDSTANCE to 0; +corbhmth.bos: set ACTIVATION to 100; +corbhmth.bos: set ACTIVATION to 0; +corblackhy.bos: set ARMORED to 1; +corbw.bos: set UNKNOWN_UNIT_VALUE(82) to 0 - 1500 + get UNK +NOWN_UNIT_VALUE(82); +corbw.bos: set UNKNOWN_UNIT_VALUE(82) to 1500 + get UNKNOWN +_UNIT_VALUE(82); +corca.bos: set INBUILDSTANCE to 1; +corca.bos: set INBUILDSTANCE to 0; +corch.bos: set INBUILDSTANCE to 0; +corch.bos: // Set values for tilt +corch.bos: set INBUILDSTANCE to 1; +corck.bos: set INBUILDSTANCE to 0; +corck.bos: set INBUILDSTANCE to 1; +corcom.bos: set INBUILDSTANCE to 1; +corcom.bos: set INBUILDSTANCE to 0; +corcomboss.bos: set INBUILDSTANCE to 1; +corcomboss.bos: set INBUILDSTANCE to 0; +corcs.bos: set INBUILDSTANCE to 1; +corcs.bos: set INBUILDSTANCE to 0; +corcsa.bos: set INBUILDSTANCE to 1; +corcsa.bos: set INBUILDSTANCE to 0; +corcv.bos: set INBUILDSTANCE to 0; +corcv.bos: set INBUILDSTANCE to 1; +cordoom.bos: set ARMORED to 0; +cordoom.bos: set ARMORED to 1; +corerad.bos: set CHANGE_TARGET to 1; +coreter.bos: set ACTIVATION to 0; +coreter.bos: set ACTIVATION to 0; +coreter.bos: set ACTIVATION to 100; +corfast.bos: set INBUILDSTANCE to 1; +corfast.bos: set INBUILDSTANCE to 0; +corfhp.bos:/* 162:*/ set YARD_OPEN to 1; +corfhp.bos:/* 16d:*/ set BUGGER_OFF to 1; +corfhp.bos:/* 175:*/ set YARD_OPEN to 1; +corfhp.bos:/* 17c:*/ set BUGGER_OFF to 0; +corfhp.bos:/* 184:*/ set YARD_OPEN to 0; +corfhp.bos:/* 18e:*/ set BUGGER_OFF to 1; +corfhp.bos:/* 196:*/ set YARD_OPEN to 0; +corfhp.bos:/* 19d:*/ set BUGGER_OFF to 0; +corfhp.bos:/* 1bb:*/ set INBUILDSTANCE to 1; +corfhp.bos:/* 1c3:*/ set INBUILDSTANCE to 0; +corfmkr.bos: set ACTIVATION to 1; +corfmkr.bos: set ACTIVATION to 0; +corgant.bos: set YARD_OPEN to 1; +corgant.bos: set BUGGER_OFF to 1; +corgant.bos: set YARD_OPEN to 1; +corgant.bos: set BUGGER_OFF to 0; +corgant.bos: set YARD_OPEN to 0; +corgant.bos: set BUGGER_OFF to 1; +corgant.bos: set YARD_OPEN to 0; +corgant.bos: set BUGGER_OFF to 0; +corgant.bos: set INBUILDSTANCE to 1; +corgant.bos: set INBUILDSTANCE to 0; +corhal.bos: // Set values for tilt +corhp.bos:/* 162:*/ set YARD_OPEN to 1; +corhp.bos:/* 16d:*/ set BUGGER_OFF to 1; +corhp.bos:/* 175:*/ set YARD_OPEN to 1; +corhp.bos:/* 17c:*/ set BUGGER_OFF to 0; +corhp.bos:/* 184:*/ set YARD_OPEN to 0; +corhp.bos:/* 18e:*/ set BUGGER_OFF to 1; +corhp.bos:/* 196:*/ set YARD_OPEN to 0; +corhp.bos:/* 19d:*/ set BUGGER_OFF to 0; +corhp.bos:/* 1bb:*/ set INBUILDSTANCE to 1; +corhp.bos:/* 1c3:*/ set INBUILDSTANCE to 0; +corintr.bos: set ARMORED to 1; +corintr.bos: set BUSY to 1; +corintr.bos: set BUSY to 0; +corintr.bos: set BUSY to 1; +corintr.bos: set BUSY to 0; +corjugg.bos: set CHANGE_TARGET to 2; +corjugg.bos: set CHANGE_TARGET to 3; +corjugg.bos: set CHANGE_TARGET to 4; +corkorg.bos: set ARMORED to 1; +cormakr.bos: set ACTIVATION to 1; +cormakr.bos: set ACTIVATION to 0; +cormando.bos: set INBUILDSTANCE to 0; +cormando.bos: set INBUILDSTANCE to 1; +cormaw.bos: set ARMORED to 0; +cormaw.bos: set ARMORED to 1; +cormex.bos: set ARMORED to 0; +cormex.bos: set ARMORED to 1; +cormexp.bos: set ARMORED to 0; +cormexp.bos: set ARMORED to 1; +cormexp.bos: set ACTIVATION to 100; +cormexp.bos: set ACTIVATION to 0; +cormexp.bos: set ARMORED to 0; +cormh.bos: // Set values for tilt +cormls.bos: set INBUILDSTANCE to 1; +cormls.bos: set INBUILDSTANCE to 0; +cormlv.bos: set INBUILDSTANCE to 0; +cormlv.bos: set INBUILDSTANCE to 1; +cormmkr.bos: set ARMORED to 0; //Not needed as MM in BAR have no damage modi +fyer tag set +cormmkr.bos: set ARMORED to 1; +cormoho.bos: set ARMORED to 0; +cormoho.bos: set ARMORED to 1; +cormoho.bos: set ARMORED to 1; +cormuskrat.bos: set INBUILDSTANCE to 1; +cormuskrat.bos: set INBUILDSTANCE to 0; +cormuskrat.bos: set INBUILDSTANCE to 1; +cornanotc.bos: set INBUILDSTANCE to 1; +cornanotc.bos: set INBUILDSTANCE to 0; +cornanotcplat.bos: set INBUILDSTANCE to 1; +cornanotcplat.bos: set INBUILDSTANCE to 0; +cornecro.bos: set INBUILDSTANCE to 0; +cornecro.bos: set INBUILDSTANCE to 1; +corplat.bos: set ARMORED to 0; +corplat.bos: set ARMORED to 1; +corplat.bos: set YARD_OPEN to 1; +corplat.bos: set BUGGER_OFF to 1; +corplat.bos: set YARD_OPEN to 1; +corplat.bos: set BUGGER_OFF to 0; +corplat.bos: set YARD_OPEN to 0; +corplat.bos: set BUGGER_OFF to 1; +corplat.bos: set YARD_OPEN to 0; +corplat.bos: set BUGGER_OFF to 0; +corplat.bos: set INBUILDSTANCE to 1; +corplat.bos: set INBUILDSTANCE to 0; +corplat.bos: set ARMORED to 1; +correcl.bos: set INBUILDSTANCE to 1; +correcl.bos: set INBUILDSTANCE to 0; +corsh.bos: // Set values for tilt +corshiva.bos: set ARMORED to 1; +corshiva.bos: set ARMORED to 0; +corshiva.bos: set ARMORED to 1; +corshroud.bos:/* 80:*/ set ACTIVATION to 0; +corshroud.bos:/* 138:*/ set ACTIVATION to 0; +corshroud.bos:/* 144:*/ set ACTIVATION to 100; +corsjam.bos: set ACTIVATION to 0; +corsjam.bos: set ACTIVATION to 0; +corsjam.bos: set ACTIVATION to 100; +corsnap.bos: // Set values for tilt +corsolar.bos: set YARD_OPEN to 1; +corsolar.bos: set BUGGER_OFF to 1; +corsolar.bos: set YARD_OPEN to 1; +corsolar.bos: set BUGGER_OFF to 0; +corsolar.bos: set YARD_OPEN to 0; +corsolar.bos: set BUGGER_OFF to 1; +corsolar.bos: set YARD_OPEN to 0; +corsolar.bos: set BUGGER_OFF to 0; +corsolar.bos: set ACTIVATION to 100; +corsolar.bos: set ACTIVATION to 0; +corsolar.bos: set ARMORED to 0; +corsolar.bos: set ARMORED to 1; +corsolar.bos: set ACTIVATION to 0; +corsolar.bos: set ACTIVATION to 100; +corspec.bos: set ACTIVATION to 0; +corspec.bos: set ACTIVATION to 0; +corspec.bos: set ACTIVATION to 100; +corspy.bos: set INBUILDSTANCE to 1; +corspy.bos: set INBUILDSTANCE to 0; +corsy.bos: set YARD_OPEN to 1; +corsy.bos: set BUGGER_OFF to 1; +corsy.bos: set YARD_OPEN to 1; +corsy.bos: set BUGGER_OFF to 0; +corsy.bos: set YARD_OPEN to 0; +corsy.bos: set BUGGER_OFF to 1; +corsy.bos: set YARD_OPEN to 0; +corsy.bos: set BUGGER_OFF to 0; +corsy.bos: set INBUILDSTANCE to 1; +corsy.bos: set INBUILDSTANCE to 0; +cortarg.bos:/* 1a6:*/ set ACTIVATION to 0; +cortarg.bos:/* 1ae:*/ set ACTIVATION to 1; +corthovr.bos: // Set values for tilt +corthovr.bos: set BUSY to 1; +corthovr.bos: set BUSY to 0; +corthovr.bos: set BUSY to 1; +corthovr.bos: set BUSY to 0; +cortoast.bos: set ARMORED to 0; +cortoast.bos: set ARMORED to 1; +cortship.bos: set BUSY to 1; +cortship.bos: set BUSY to 0; +cortship.bos: set BUSY to 1; +cortship.bos: set BUSY to 0; +coruwmme.bos: set ARMORED to 0; +coruwmme.bos: set ARMORED to 1; +coruwmme.bos: set ARMORED to 1; +corvp.bos: set YARD_OPEN to 1; +corvp.bos: set BUGGER_OFF to 1; +corvp.bos: set YARD_OPEN to 1; +corvp.bos: set BUGGER_OFF to 0; +corvp.bos: set YARD_OPEN to 0; +corvp.bos: set BUGGER_OFF to 1; +corvp.bos: set YARD_OPEN to 0; +corvp.bos: set BUGGER_OFF to 0; +corvp.bos: set INBUILDSTANCE to 1; +corvp.bos: set INBUILDSTANCE to 0; +corwin.bos: set ACTIVATION to 100; +corwin.bos: set ACTIVATION to 0; +corwin.bos: set ACTIVATION to 100; +exptype.h:** EXPtype.h -- Explosion Type information and GET/SET constants for s +cripts +exptype.h:#define ACTIVATION 1 // set or get +exptype.h:#define STANDINGMOVEORDERS 2 // set or get +exptype.h:#define STANDINGFIREORDERS 3 // set or get +exptype.h:#define INBUILDSTANCE 5 // set or get +exptype.h:#define BUSY 6 // set or get (used by misc. special c +ase missions like transport ships) +exptype.h:#define YARD_OPEN 18 // set or get (change which plots we o +ccupy when building opens and closes) +exptype.h:#define BUGGER_OFF 19 // set or get (ask other units to clea +r the area) +exptype.h:#define ARMORED 20 // set or get +exptype.h:#define UPRIGHT 79 // set or get +exptype.h:#define LOS_RADIUS 85 // set or get +exptype.h:#define AIR_LOS_RADIUS 86 // set or get +exptype.h:#define RADAR_RADIUS 87 // set or get +exptype.h:#define JAMMER_RADIUS 88 // set or get +exptype.h:#define SONAR_RADIUS 89 // set or get +exptype.h:#define SONAR_JAM_RADIUS 90 // set or get +exptype.h:#define SEISMIC_RADIUS 91 // set or get +exptype.h:#define CURRENT_FUEL 93 // set or get +exptype.h:#define SHIELD_POWER 95 // set or get +exptype.h:#define STEALTH 96 // set or get +exptype.h:#define CRASHING 97 // set or get, returns whether ai +rcraft isCrashing state +exptype.h:#define CHANGE_TARGET 98 // set, the value it's set to det +ermines the affected weapon +exptype.h:#define ALPHA_THRESHOLD 103 // set or get +exptype.h:#define SONAR_STEALTH 108 // set or get +exptype.h:#define FLANK_B_MODE 120 // set or get +exptype.h:#define FLANK_B_DIR 121 // set or get, set is through get fo +r multiple args +exptype.h:#define FLANK_B_MOBILITY_ADD 122 // set or get +exptype.h:#define FLANK_B_MAX_DAMAGE 123 // set or get +exptype.h:#define FLANK_B_MIN_DAMAGE 124 // set or get +exptype.h:#define ENERGY_MAKE 140 // set or get (100*E production) +exptype.h:#define METAL_MAKE 141 // set or get (100*M production) +Binary file fgrep.exe matches +meteor.bos: //set UNKNOWN_UNIT_VALUE(76) to 1; +meteor.bos: set ARMORED to 0; +meteor.bos: //set UNKNOWN_UNIT_VALUE(76) to 0; +fgrep: New folder: Is a directory +roost.bos: set ARMORED to 0; +fgrep: scavboss: Is a directory +fgrep: scavbuildings: Is a directory +standard_commands_gpl.h:#define ACTIVATION 1 // set or get +standard_commands_gpl.h:#define STANDINGMOVEORDERS 2 // set or get +standard_commands_gpl.h:#define STANDINGFIREORDERS 3 // set or get +standard_commands_gpl.h:#define INBUILDSTANCE 5 // set or get +standard_commands_gpl.h:#define BUSY 6 // set or get (u +sed by misc. special case missions like transport ships) +standard_commands_gpl.h:#define YARD_OPEN 18 // set o +r get (change which plots we occupy when building opens and closes) +standard_commands_gpl.h:#define BUGGER_OFF 19 // set or get (a +sk other units to clear the area) +standard_commands_gpl.h:#define ARMORED 20 // SET or GET. +Turns on the Armored state. +standard_commands_gpl.h:#define CURRENT_SPEED 29 // SET only, if +I'm reading the code right. Gives us a new speed for the next frame ONLY. +standard_commands_gpl.h:#define VETERAN_LEVEL 32 // SET or GET. +Can make units super-accurate, or keep them inaccurate. +standard_commands_gpl.h:#define MAX_SPEED 75 // SET o +nly. Alters MaxVelocity for the given unit. +yard.h: set YARD_OPEN to TRUE; +yard.h: set BUGGER_OFF to TRUE; +yard.h: set YARD_OPEN to TRUE; +yard.h: set BUGGER_OFF to FALSE; +yard.h: set YARD_OPEN to FALSE; +yard.h: set BUGGER_OFF to TRUE; +yard.h: set YARD_OPEN to FALSE; +yard.h: set BUGGER_OFF to FALSE; + +C:\Users\Peti\Documents\my games\Spring\games\Beyond-All-Reason.sdd\scripts\Unit +s>fgrep -i "SET.*to" * +fgrep: armmar_lus: Is a directory +fgrep: New folder: Is a directory +fgrep: scavboss: Is a directory +fgrep: scavbuildings: Is a directory + +C:\Users\Peti\Documents\my games\Spring\games\Beyond-All-Reason.sdd\scripts\Unit +s>fgrep -i SET.*to * +fgrep: armmar_lus: Is a directory +fgrep: New folder: Is a directory +fgrep: scavboss: Is a directory +fgrep: scavbuildings: Is a directory + +C:\Users\Peti\Documents\my games\Spring\games\Beyond-All-Reason.sdd\scripts\Unit +s>fgrep -i set.*to * +fgrep: armmar_lus: Is a directory +fgrep: New folder: Is a directory +fgrep: scavboss: Is a directory +fgrep: scavbuildings: Is a directory + +C:\Users\Peti\Documents\my games\Spring\games\Beyond-All-Reason.sdd\scripts\Unit +s>fgrep +Usage: fgrep [OPTION]... PATTERN [FILE]... +Try `fgrep --help' for more information. + +C:\Users\Peti\Documents\my games\Spring\games\Beyond-All-Reason.sdd\scripts\Unit +s>man fgrep +'man' is not recognized as an internal or external command, +operable program or batch file. + +C:\Users\Peti\Documents\my games\Spring\games\Beyond-All-Reason.sdd\scripts\Unit +s>fgrep --help +Usage: fgrep [OPTION]... PATTERN [FILE] ... +Search for PATTERN in each FILE or standard input. + +Regexp selection and interpretation: + -E, --extended-regexp PATTERN is an extended regular expression + -F, --fixed-regexp PATTERN is a fixed string separated by newlines + -G, --basic-regexp PATTERN is a basic regular expression + -e, --regexp=PATTERN use PATTERN as a regular expression + -f, --file=FILE obtain PATTERN from FILE + -i, --ignore-case ignore case distinctions + -w, --word-regexp force PATTERN to match only whole words + -x, --line-regexp force PATTERN to match only whole lines + +Miscellaneous: + -s, --no-messages suppress error messages + -v, --revert-match select non-matching lines + -V, --version print version information and exit + --help display this help and exit + +Output control: + -b, --byte-offset print the byte offset with output lines + -n, --line-number print line number with output lines + -H, --with-filename print the filename for each match + -h, --no-filename suppress the prefixing filename on output + -q, --quiet, --silent suppress all normal output + -a, --text do not suppress binary output + -d, --directories=ACTION how to handle directories + ACTION is 'read', 'recurse', or 'skip'. + -r, --recursive equivalent to --directories=recurse. + -L, --files-without-match only print FILE names containing no match + -l, --files-with-matches only print FILE names containing matches + -c, --count only print a count of matching lines per FILE + +Context control: + -B, --before-context=NUM print NUM lines of leading context + -A, --after-context=NUM print NUM lines of trailing context + -C, --context[=NUM] print NUM (default 2) lines of output context + unless overriden by -A or -B + -NUM same as --context=NUM + -U, --binary do not strip CR characters at EOL (MSDOS) + -u, --unix-byte-offsets report offsets as if CRs were not there (MSDOS) + +If no -[GEF], then `egrep' assumes -E, `fgrep' -F, else -G. +With no FILE, or when FILE is -, read standard input. If less than +two FILEs given, assume -h. Exit with 0 if matches, with 1 if none. +Exit with 2 if syntax errors or system errors. + +Report bugs to . + +C:\Users\Peti\Documents\my games\Spring\games\Beyond-All-Reason.sdd\scripts\Unit +s>fgrep -i -e set.*to * +fgrep: armmar_lus: Is a directory +fgrep: New folder: Is a directory +fgrep: scavboss: Is a directory +fgrep: scavbuildings: Is a directory + +C:\Users\Peti\Documents\my games\Spring\games\Beyond-All-Reason.sdd\scripts\Unit +s>fgrep -i -E set.*to * +Binary file armaak.cob matches +armaap.bos: set YARD_OPEN to 1; +armaap.bos: set BUGGER_OFF to 1; +armaap.bos: set YARD_OPEN to 1; +armaap.bos: set BUGGER_OFF to 0; +armaap.bos: set YARD_OPEN to 0; +armaap.bos: set BUGGER_OFF to 1; +armaap.bos: set YARD_OPEN to 0; +armaap.bos: set BUGGER_OFF to 0; +armaap.bos: set INBUILDSTANCE to 1; +armaap.bos: set INBUILDSTANCE to 0; +Binary file armaas.cob matches +armaca.bos: set INBUILDSTANCE to 1; +armaca.bos: set INBUILDSTANCE to 0; +armack.bos: set INBUILDSTANCE to 0; +armack.bos: set INBUILDSTANCE to 1; +armacsub.bos: set INBUILDSTANCE to 0; +armacsub.bos: set INBUILDSTANCE to 1; +armacv.bos: set INBUILDSTANCE to 0; +armacv.bos: set INBUILDSTANCE to 1; +Binary file armacv.cob matches +armadvsol.bos: set ARMORED to 0; +armadvsol.bos: set ARMORED to 1; +armafus.bos: set ARMORED to 1; +armafus.bos: set ARMORED to 0; +Binary file armah.cob matches +armalab.bos: set YARD_OPEN to 1; +armalab.bos: set BUGGER_OFF to 1; +armalab.bos: set YARD_OPEN to 1; +armalab.bos: set BUGGER_OFF to 0; +armalab.bos: set YARD_OPEN to 0; +armalab.bos: set BUGGER_OFF to 1; +armalab.bos: set YARD_OPEN to 0; +armalab.bos: set BUGGER_OFF to 0; +armalab.bos: set INBUILDSTANCE to 1; +armalab.bos: set INBUILDSTANCE to 0; +armamb.bos: set ARMORED to 0; +armamb.bos: set ARMORED to 1; +Binary file armamb.cob matches +armamd.bos:// OffsetToScriptCodeIndexArray f64 +armamd.bos:// OffsetToScriptNameOffsetArray fa8 +armamd.bos:// OffsetToPieceNameOffsetArray fec +armamd.bos:// OffsetToScriptCode 2c +armamd.bos:// OffsetToNameArray 1010 +armamd.bos:// OffsetToFirstName 1010 +armamex.bos: set ARMORED to 0; +armamex.bos: set ARMORED to 1; +armamex.bos: set ACTIVATION to 0; +armamex.bos: set ACTIVATION to 100; +Binary file armamph.cob matches +armamsub.bos: set YARD_OPEN to 1; +armamsub.bos: set BUGGER_OFF to 1; +armamsub.bos: set YARD_OPEN to 1; +armamsub.bos: set BUGGER_OFF to 0; +armamsub.bos: set YARD_OPEN to 0; +armamsub.bos: set BUGGER_OFF to 1; +armamsub.bos: set YARD_OPEN to 0; +armamsub.bos: set BUGGER_OFF to 0; +armamsub.bos: set INBUILDSTANCE to 1; +armamsub.bos: set INBUILDSTANCE to 0; +Binary file armanac.cob matches +armanni.bos: set ARMORED to 0; +armanni.bos: set ARMORED to 1; +armap.bos: set YARD_OPEN to 1; +armap.bos: set BUGGER_OFF to 1; +armap.bos: set YARD_OPEN to 1; +armap.bos: set BUGGER_OFF to 0; +armap.bos: set YARD_OPEN to 0; +armap.bos: set BUGGER_OFF to 1; +armap.bos: set YARD_OPEN to 0; +armap.bos: set BUGGER_OFF to 0; +armap.bos: set INBUILDSTANCE to 1; +armap.bos: set INBUILDSTANCE to 0; +Binary file armart.cob matches +armaser.bos: set ACTIVATION to 0; +armaser.bos: set ACTIVATION to 0; +armaser.bos: set ACTIVATION to 100; +Binary file armaser.cob matches +armasy.bos: set YARD_OPEN to 1; +armasy.bos: set BUGGER_OFF to 1; +armasy.bos: set YARD_OPEN to 1; +armasy.bos: set BUGGER_OFF to 0; +armasy.bos: set YARD_OPEN to 0; +armasy.bos: set BUGGER_OFF to 1; +armasy.bos: set YARD_OPEN to 0; +armasy.bos: set BUGGER_OFF to 0; +armasy.bos: set INBUILDSTANCE to 1; +armasy.bos: set INBUILDSTANCE to 0; +Binary file armatl.cob matches +armavp.bos: set YARD_OPEN to 1; +armavp.bos: set BUGGER_OFF to 1; +armavp.bos: set YARD_OPEN to 1; +armavp.bos: set BUGGER_OFF to 0; +armavp.bos: set YARD_OPEN to 0; +armavp.bos: set BUGGER_OFF to 1; +armavp.bos: set YARD_OPEN to 0; +armavp.bos: set BUGGER_OFF to 0; +armavp.bos: set INBUILDSTANCE to 1; +armavp.bos: set INBUILDSTANCE to 0; +Binary file armbanth.cob matches +Binary file armbats.cob matches +armbeaver.bos: set INBUILDSTANCE to 0; +armbeaver.bos: set INBUILDSTANCE to 1; +Binary file armbrawl.cob matches +Binary file armbull.cob matches +armca.bos: set INBUILDSTANCE to 1; +armca.bos: set INBUILDSTANCE to 0; +Binary file armcarry.cob matches +armch.bos: set INBUILDSTANCE to 0; +armch.bos: set INBUILDSTANCE to 1; +Binary file armch.cob matches +Binary file armcir.cob matches +armck.bos: set INBUILDSTANCE to 0; +armck.bos: set INBUILDSTANCE to 1; +armckfus.bos: set ARMORED to 1; +armckfus.bos: set ARMORED to 0; +armclaw.bos: set ARMORED to 0; +armclaw.bos: set ARMORED to 1; +Binary file armclaw.cob matches +armcom.bos: set INBUILDSTANCE to 1; +armcom.bos: set INBUILDSTANCE to 0; +armcomboss.bos: set INBUILDSTANCE to 1; +armcomboss.bos: set INBUILDSTANCE to 0; +armconsul.bos: set INBUILDSTANCE to 1; +armconsul.bos: set INBUILDSTANCE to 0; +Binary file armcroc.cob matches +Binary file armcrus.cob matches +armcs.bos: set INBUILDSTANCE to 0; +armcs.bos: set INBUILDSTANCE to 1; +Binary file armcs.cob matches +armcsa.bos: set INBUILDSTANCE to 1; +armcsa.bos: set INBUILDSTANCE to 0; +armcv.bos: set INBUILDSTANCE to 0; +armcv.bos: set INBUILDSTANCE to 1; +Binary file armdecade.cob matches +armdf.bos: set ARMORED to 1; +armdf.bos: set ARMORED to 0; +Binary file armemp.cob matches +armepoch.bos: set ARMORED to 1; +Binary file armepoch.cob matches +armfark.bos: set INBUILDSTANCE to 0; +armfark.bos: set INBUILDSTANCE to 1; +Binary file armfast.cob matches +Binary file armfav.cob matches +Binary file armfboy.cob matches +armferret.bos: set ARMORED to 0; +armferret.bos: set ARMORED to 1; +Binary file armferret.cob matches +Binary file armfflak.cob matches +armfhp.bos: set YARD_OPEN to 1; +armfhp.bos: set BUGGER_OFF to 1; +armfhp.bos: set YARD_OPEN to 1; +armfhp.bos: set BUGGER_OFF to 0; +armfhp.bos: set YARD_OPEN to 0; +armfhp.bos: set BUGGER_OFF to 1; +armfhp.bos: set YARD_OPEN to 0; +armfhp.bos: set BUGGER_OFF to 0; +armfhp.bos: set INBUILDSTANCE to 1; +armfhp.bos: set INBUILDSTANCE to 0; +Binary file armfido.cob matches +Binary file armflak.cob matches +Binary file armflash.cob matches +Binary file armflea.cob matches +Binary file armfrt.cob matches +armfus.bos: set ARMORED to 1; +armfus.bos: set ARMORED to 0; +armgmm.bos: set ARMORED to 0; +armgmm.bos: set ARMORED to 1; +Binary file armgplat.cob matches +Binary file armgremlin.cob matches +Binary file armham.cob matches +armhp.bos: set YARD_OPEN to 1; +armhp.bos: set BUGGER_OFF to 1; +armhp.bos: set YARD_OPEN to 1; +armhp.bos: set BUGGER_OFF to 0; +armhp.bos: set YARD_OPEN to 0; +armhp.bos: set BUGGER_OFF to 1; +armhp.bos: set YARD_OPEN to 0; +armhp.bos: set BUGGER_OFF to 0; +armhp.bos: set INBUILDSTANCE to 1; +armhp.bos: set INBUILDSTANCE to 0; +armjam.bos: set ACTIVATION to 0; +armjam.bos: set ACTIVATION to 0; +armjam.bos: set ACTIVATION to 100; +Binary file armjanus.cob matches +Binary file armjeth.cob matches +Binary file armjuno.cob matches +Binary file armkam.cob matches +armlab.bos: set YARD_OPEN to 1; +armlab.bos: set BUGGER_OFF to 1; +armlab.bos: set YARD_OPEN to 1; +armlab.bos: set BUGGER_OFF to 0; +armlab.bos: set YARD_OPEN to 0; +armlab.bos: set BUGGER_OFF to 1; +armlab.bos: set YARD_OPEN to 0; +armlab.bos: set BUGGER_OFF to 0; +armlab.bos: set INBUILDSTANCE to 1; +armlab.bos: set INBUILDSTANCE to 0; +Binary file armlatnk.cob matches +Binary file armlun.cob matches +Binary file armmanni.cob matches +Binary file armmar.cob matches +fgrep: armmar_lus: Is a directory +Binary file armmark.cob matches +Binary file armmart.cob matches +Binary file armmav.cob matches +armmercury.bos: set DELAY_UNIT_VAR to 0; +Binary file armmercury.cob matches +armmerl.bos: set ARMORED to 1; +armmerl.bos: set ARMORED to 0; +armmerl.bos: set ARMORED to 0; +armmerl.bos: set-signal-mask SIG_RESTORE; +Binary file armmerl.cob matches +armmh.bos: set-signal-mask SIG_RESTORE; +Binary file armmh.cob matches +armmls.bos: set INBUILDSTANCE to 1; +armmls.bos: set INBUILDSTANCE to 0; +Binary file armmls.cob matches +armmlv.bos: set INBUILDSTANCE to 1; +armmlv.bos: set INBUILDSTANCE to 0; +armmmkr.bos: set ARMORED to 0; //Not needed as MM in BAR have no damage modif +yer tag set +armmmkr.bos: set ARMORED to 1; +Binary file armmship.cob matches +armnanotc.bos: set INBUILDSTANCE to 1; +armnanotc.bos: set INBUILDSTANCE to 0; +Binary file armnanotc.cob matches +armnanotcplat.bos: set INBUILDSTANCE to 1; +armnanotcplat.bos: set INBUILDSTANCE to 0; +Binary file armnanotcplat.cob matches +armpb.bos: set ARMORED to 0; +armpb.bos: set ARMORED to 1; +armpb.bos: set-signal-mask SIG_RESTORE; +Binary file armpb.cob matches +Binary file armpincer.cob matches +armplat.bos: set ARMORED to 0; +armplat.bos: set ARMORED to 1; +armplat.bos: set YARD_OPEN to 1; +armplat.bos: set BUGGER_OFF to 1; +armplat.bos: set YARD_OPEN to 1; +armplat.bos: set BUGGER_OFF to 0; +armplat.bos: set YARD_OPEN to 0; +armplat.bos: set BUGGER_OFF to 1; +armplat.bos: set YARD_OPEN to 0; +armplat.bos: set BUGGER_OFF to 0; +armplat.bos: set INBUILDSTANCE to 1; +armplat.bos: set INBUILDSTANCE to 0; +armplat.bos: set ARMORED to 1; +Binary file armpship.cob matches +Binary file armpt.cob matches +Binary file armptl.cob matches +armpw.bos: bAnimate = TRUE; // this sets animation started, so that + StopAnimate knows that it should restore state quickly +Binary file armpw.cob matches +armrecl.bos: set INBUILDSTANCE to 1; +armrecl.bos: set INBUILDSTANCE to 0; +armrectr.bos: set INBUILDSTANCE to 0; +armrectr.bos: set INBUILDSTANCE to 1; +armrectrt4.bos: set INBUILDSTANCE to 0; +armrectrt4.bos: set INBUILDSTANCE to 1; +Binary file armrl.cob matches +Binary file armrock.cob matches +Binary file armroy.cob matches +Binary file armsaber.cob matches +Binary file armsam.cob matches +Binary file armsb.cob matches +Binary file armscab.cob matches +Binary file armserp.cob matches +Binary file armsh.cob matches +armshltx.bos: set YARD_OPEN to 1; +armshltx.bos: set BUGGER_OFF to 1; +armshltx.bos: set YARD_OPEN to 1; +armshltx.bos: set BUGGER_OFF to 0; +armshltx.bos: set YARD_OPEN to 0; +armshltx.bos: set BUGGER_OFF to 1; +armshltx.bos: set YARD_OPEN to 0; +armshltx.bos: set BUGGER_OFF to 0; +armshltx.bos: set INBUILDSTANCE to 1; +armshltx.bos: set INBUILDSTANCE to 0; +armsilo.bos:// OffsetToScriptCodeIndexArray c08 +armsilo.bos:// OffsetToScriptNameOffsetArray c4c +armsilo.bos:// OffsetToPieceNameOffsetArray c90 +armsilo.bos:// OffsetToScriptCode 2c +armsilo.bos:// OffsetToNameArray ca4 +armsilo.bos:// OffsetToFirstName ca4 +Binary file armsilo.cob matches +armsjam.bos: set ACTIVATION to 0; +armsjam.bos: set ACTIVATION to 0; +armsjam.bos: set ACTIVATION to 100; +Binary file armsjam.cob matches +Binary file armsnipe.cob matches +armsolar.bos: set YARD_OPEN to 1; +armsolar.bos: set BUGGER_OFF to 1; +armsolar.bos: set YARD_OPEN to 1; +armsolar.bos: set BUGGER_OFF to 0; +armsolar.bos: set YARD_OPEN to 0; +armsolar.bos: set BUGGER_OFF to 1; +armsolar.bos: set YARD_OPEN to 0; +armsolar.bos: set BUGGER_OFF to 0; +armsolar.bos: set ACTIVATION to 0; +armsolar.bos: set ARMORED to 0; +armsolar.bos: set YARD_OPEN to 0; +armsolar.bos: set ARMORED to 1; +armsolar.bos: set YARD_OPEN to 1; +armsolar.bos: set ACTIVATION to 0; +armsolar.bos: set ACTIVATION to 0; +armsolar.bos: set ACTIVATION to 100; +Binary file armspid.cob matches +Binary file armsptk.cob matches +armspy.bos: set ACTIVATION to 0; +armspy.bos: set INBUILDSTANCE to 1; +armspy.bos: set INBUILDSTANCE to 0; +armspy.bos: set ACTIVATION to 0; +armspy.bos: set ACTIVATION to 100; +Binary file armstump.cob matches +Binary file armsub.cob matches +armsy.bos: set YARD_OPEN to 1; +armsy.bos: set BUGGER_OFF to 1; +armsy.bos: set YARD_OPEN to 1; +armsy.bos: set BUGGER_OFF to 0; +armsy.bos: set YARD_OPEN to 0; +armsy.bos: set BUGGER_OFF to 1; +armsy.bos: set YARD_OPEN to 0; +armsy.bos: set BUGGER_OFF to 0; +armsy.bos: set INBUILDSTANCE to 1; +armsy.bos: set INBUILDSTANCE to 0; +armtarg.bos: set ARMORED to 1; +armtarg.bos: set ACTIVATION to 0; +armtarg.bos: set ACTIVATION to 1; +armthovr.bos: set BUSY to 1; +armthovr.bos: set BUSY to 0; +armthovr.bos: set BUSY to 1; +armthovr.bos: set BUSY to 0; +Binary file armthovr.cob matches +Binary file armtl.cob matches +armtship.bos: set BUSY to 1; +armtship.bos: set BUSY to 0; +armtship.bos: set BUSY to 1; +armtship.bos: set BUSY to 0; +Binary file armtship.cob matches +Binary file armvang.cob matches +armvp.bos: set ARMORED to 0; +armvp.bos: set ARMORED to 1; +armvp.bos: set YARD_OPEN to 1; +armvp.bos: set BUGGER_OFF to 1; +armvp.bos: set YARD_OPEN to 1; +armvp.bos: set BUGGER_OFF to 0; +armvp.bos: set YARD_OPEN to 0; +armvp.bos: set BUGGER_OFF to 1; +armvp.bos: set YARD_OPEN to 0; +armvp.bos: set BUGGER_OFF to 0; +armvp.bos: set INBUILDSTANCE to 1; +armvp.bos: set INBUILDSTANCE to 0; +armvp.bos: set ARMORED to 1; +Binary file armwar.cob matches +armwin.bos: set ACTIVATION to 100; +armwin.bos: set ACTIVATION to 0; +armwin.bos: set ACTIVATION to 100; +Binary file armwin.cob matches +Binary file armyork.cob matches +Binary file armzeus.cob matches +Binary file cob_file.pyc matches +constants.h:#define BUGGER_OFF 19 // set or get (ask other units to cl +ear the area) +constants.h:#define CHANGE_TARGET 98 // set, the value it's set to d +etermines the affected weapon +coraap.bos: set YARD_OPEN to 1; +coraap.bos: set BUGGER_OFF to 1; +coraap.bos: set YARD_OPEN to 1; +coraap.bos: set BUGGER_OFF to 0; +coraap.bos: set YARD_OPEN to 0; +coraap.bos: set BUGGER_OFF to 1; +coraap.bos: set YARD_OPEN to 0; +coraap.bos: set BUGGER_OFF to 0; +coraap.bos: set INBUILDSTANCE to 1; +coraap.bos: set INBUILDSTANCE to 0; +coraca.bos: set INBUILDSTANCE to 1; +coraca.bos: set INBUILDSTANCE to 0; +corack.bos: set INBUILDSTANCE to 0; +corack.bos: set INBUILDSTANCE to 1; +coracsub.bos: set INBUILDSTANCE to 0; +coracsub.bos: set INBUILDSTANCE to 1; +coracv.bos: set INBUILDSTANCE to 0; +coracv.bos: set INBUILDSTANCE to 1; +Binary file coracv.cob matches +coradvsol.bos:// OffsetToScriptCodeIndexArray 54c +coradvsol.bos:// OffsetToScriptNameOffsetArray 568 +coradvsol.bos:// OffsetToPieceNameOffsetArray 584 +coradvsol.bos:// OffsetToScriptCode 2c +coradvsol.bos:// OffsetToNameArray 59c +coradvsol.bos:// OffsetToFirstName 59c +coradvsol.bos:/* 57:*/ set ARMORED to 0; +coradvsol.bos:/* 5f:*/ set ARMORED to 1; +coradvsol.bos:/* 7d:*/ set ACTIVATION to 0; +coradvsol.bos:/* 85:*/ set ACTIVATION to 100; +corafus.bos:// OffsetToScriptCodeIndexArray 730 +corafus.bos:// OffsetToScriptNameOffsetArray 758 +corafus.bos:// OffsetToPieceNameOffsetArray 780 +corafus.bos:// OffsetToScriptCode 2c +corafus.bos:// OffsetToNameArray 794 +corafus.bos:// OffsetToFirstName 794 +corafus.bos:/* b0:*/ set ARMORED to 1; +corafus.bos:/* ba:*/ set ARMORED to 0; +Binary file corah.cob matches +Binary file corak.cob matches +Binary file coramph.cob matches +coramsub.bos:// OffsetToScriptCodeIndexArray bc0 +coramsub.bos:// OffsetToScriptNameOffsetArray c00 +coramsub.bos:// OffsetToPieceNameOffsetArray c40 +coramsub.bos:// OffsetToScriptCode 2c +coramsub.bos:// OffsetToNameArray c78 +coramsub.bos:// OffsetToFirstName c78 +coramsub.bos:/* 87:*/ set YARD_OPEN to 1; +coramsub.bos:/* 92:*/ set BUGGER_OFF to 1; +coramsub.bos:/* 9a:*/ set YARD_OPEN to 1; +coramsub.bos:/* a1:*/ set BUGGER_OFF to 0; +coramsub.bos:/* a9:*/ set YARD_OPEN to 0; +coramsub.bos:/* b3:*/ set BUGGER_OFF to 1; +coramsub.bos:/* bb:*/ set YARD_OPEN to 0; +coramsub.bos:/* c2:*/ set BUGGER_OFF to 0; +coramsub.bos:/* d0:*/ set INBUILDSTANCE to 1; +coramsub.bos:/* d8:*/ set INBUILDSTANCE to 0; +corap.bos:// OffsetToScriptCodeIndexArray 11f0 +corap.bos:// OffsetToScriptNameOffsetArray 123c +corap.bos:// OffsetToPieceNameOffsetArray 1288 +corap.bos:// OffsetToScriptCode 2c +corap.bos:// OffsetToNameArray 12ac +corap.bos:// OffsetToFirstName 12ac +corap.bos:/* 17e:*/ set YARD_OPEN to 1; +corap.bos:/* 189:*/ set BUGGER_OFF to 1; +corap.bos:/* 191:*/ set YARD_OPEN to 1; +corap.bos:/* 198:*/ set BUGGER_OFF to 0; +corap.bos:/* 1a0:*/ set YARD_OPEN to 0; +corap.bos:/* 1aa:*/ set BUGGER_OFF to 1; +corap.bos:/* 1b2:*/ set YARD_OPEN to 0; +corap.bos:/* 1b9:*/ set BUGGER_OFF to 0; +corap.bos:/* 1d5:*/ set INBUILDSTANCE to 1; +corap.bos:/* 1dd:*/ set INBUILDSTANCE to 0; +corarad.bos:// OffsetToScriptCodeIndexArray 624 +corarad.bos:// OffsetToScriptNameOffsetArray 64c +corarad.bos:// OffsetToPieceNameOffsetArray 674 +corarad.bos:// OffsetToScriptCode 2c +corarad.bos:// OffsetToNameArray 680 +corarad.bos:// OffsetToFirstName 680 +Binary file corarch.cob matches +corasp.bos:// OffsetToScriptCodeIndexArray a94 +corasp.bos:// OffsetToScriptNameOffsetArray aac +corasp.bos:// OffsetToPieceNameOffsetArray ac4 +corasp.bos:// OffsetToScriptCode 2c +corasp.bos:// OffsetToNameArray b04 +corasp.bos:// OffsetToFirstName b04 +corasy.bos: set YARD_OPEN to 1; +corasy.bos: set BUGGER_OFF to 1; +corasy.bos: set YARD_OPEN to 1; +corasy.bos: set BUGGER_OFF to 0; +corasy.bos: set YARD_OPEN to 0; +corasy.bos: set BUGGER_OFF to 1; +corasy.bos: set YARD_OPEN to 0; +corasy.bos: set BUGGER_OFF to 0; +corasy.bos: set INBUILDSTANCE to 1; +corasy.bos: set INBUILDSTANCE to 0; +corasye.bos: set YARD_OPEN to 1; +corasye.bos: set BUGGER_OFF to 1; +corasye.bos: set YARD_OPEN to 1; +corasye.bos: set BUGGER_OFF to 0; +corasye.bos: set YARD_OPEN to 0; +corasye.bos: set BUGGER_OFF to 1; +corasye.bos: set YARD_OPEN to 0; +corasye.bos: set BUGGER_OFF to 0; +corasye.bos: set INBUILDSTANCE to 1; +corasye.bos: set INBUILDSTANCE to 0; +coravp.bos: set YARD_OPEN to 1; +coravp.bos: set BUGGER_OFF to 1; +coravp.bos: set YARD_OPEN to 1; +coravp.bos: set BUGGER_OFF to 0; +coravp.bos: set YARD_OPEN to 0; +coravp.bos: set BUGGER_OFF to 1; +coravp.bos: set YARD_OPEN to 0; +coravp.bos: set BUGGER_OFF to 0; +coravp.bos: set INBUILDSTANCE to 1; +coravp.bos: set INBUILDSTANCE to 0; +Binary file corban.cob matches +Binary file corbats.cob matches +corbhmth.bos: set ACTIVATION to 100; +corbhmth.bos: set ACTIVATION to 0; +corblackhy.bos: set ARMORED to 1; +Binary file corblackhy.cob matches +corbw.bos: set UNKNOWN_UNIT_VALUE(82) to 0 - 1500 + get UNK +NOWN_UNIT_VALUE(82); +corbw.bos: set UNKNOWN_UNIT_VALUE(82) to 1500 + get UNKNOWN +_UNIT_VALUE(82); +corca.bos: set INBUILDSTANCE to 1; +corca.bos: set INBUILDSTANCE to 0; +Binary file corcan.cob matches +Binary file corcarry.cob matches +Binary file corcat.cob matches +corch.bos: set INBUILDSTANCE to 0; +corch.bos: set INBUILDSTANCE to 1; +Binary file corch.cob matches +corck.bos: set INBUILDSTANCE to 0; +corck.bos: set INBUILDSTANCE to 1; +corcom.bos: set INBUILDSTANCE to 1; +corcom.bos: set INBUILDSTANCE to 0; +corcomboss.bos: set INBUILDSTANCE to 1; +corcomboss.bos: set INBUILDSTANCE to 0; +Binary file corcrash.cob matches +Binary file corcrus.cob matches +Binary file corcrw.cob matches +corcs.bos: set INBUILDSTANCE to 1; +corcs.bos: set INBUILDSTANCE to 0; +corcsa.bos: set INBUILDSTANCE to 1; +corcsa.bos: set INBUILDSTANCE to 0; +Binary file corcut.cob matches +corcv.bos: set INBUILDSTANCE to 0; +corcv.bos: set INBUILDSTANCE to 1; +cordl.bos:// OffsetToScriptCodeIndexArray 77c +cordl.bos:// OffsetToScriptNameOffsetArray 79c +cordl.bos:// OffsetToPieceNameOffsetArray 7bc +cordl.bos:// OffsetToScriptCode 2c +cordl.bos:// OffsetToNameArray 7cc +cordl.bos:// OffsetToFirstName 7cc +cordoom.bos: set ARMORED to 0; +cordoom.bos: set ARMORED to 1; +cordrag.bos:// OffsetToScriptCodeIndexArray 38 +cordrag.bos:// OffsetToScriptNameOffsetArray 3c +cordrag.bos:// OffsetToPieceNameOffsetArray 40 +cordrag.bos:// OffsetToScriptCode 2c +cordrag.bos:// OffsetToNameArray 40 +cordrag.bos:// OffsetToFirstName 40 +Binary file corenaa.cob matches +corerad.bos: set CHANGE_TARGET to 1; +Binary file corerad.cob matches +corestor.bos:// OffsetToScriptCodeIndexArray 3e8 +corestor.bos:// OffsetToScriptNameOffsetArray 3f8 +corestor.bos:// OffsetToPieceNameOffsetArray 408 +corestor.bos:// OffsetToScriptCode 2c +corestor.bos:// OffsetToNameArray 414 +corestor.bos:// OffsetToFirstName 414 +Binary file coresupp.cob matches +coreter.bos: set ACTIVATION to 0; +coreter.bos: set ACTIVATION to 0; +coreter.bos: set ACTIVATION to 100; +Binary file corexp.cob matches +corfast.bos: set INBUILDSTANCE to 1; +corfast.bos: set INBUILDSTANCE to 0; +Binary file corfav.cob matches +corfhp.bos:// OffsetToScriptCodeIndexArray 11e4 +corfhp.bos:// OffsetToScriptNameOffsetArray 1230 +corfhp.bos:// OffsetToPieceNameOffsetArray 127c +corfhp.bos:// OffsetToScriptCode 2c +corfhp.bos:// OffsetToNameArray 12a4 +corfhp.bos:// OffsetToFirstName 12a4 +corfhp.bos:/* 162:*/ set YARD_OPEN to 1; +corfhp.bos:/* 16d:*/ set BUGGER_OFF to 1; +corfhp.bos:/* 175:*/ set YARD_OPEN to 1; +corfhp.bos:/* 17c:*/ set BUGGER_OFF to 0; +corfhp.bos:/* 184:*/ set YARD_OPEN to 0; +corfhp.bos:/* 18e:*/ set BUGGER_OFF to 1; +corfhp.bos:/* 196:*/ set YARD_OPEN to 0; +corfhp.bos:/* 19d:*/ set BUGGER_OFF to 0; +corfhp.bos:/* 1bb:*/ set INBUILDSTANCE to 1; +corfhp.bos:/* 1c3:*/ set INBUILDSTANCE to 0; +Binary file corflak.cob matches +corfmkr.bos: set ACTIVATION to 1; +corfmkr.bos: set ACTIVATION to 0; +Binary file corfrock.cob matches +Binary file corfrt.cob matches +corfus.bos:// OffsetToScriptCodeIndexArray 52c +corfus.bos:// OffsetToScriptNameOffsetArray 53c +corfus.bos:// OffsetToPieceNameOffsetArray 54c +corfus.bos:// OffsetToScriptCode 2c +corfus.bos:// OffsetToNameArray 564 +corfus.bos:// OffsetToFirstName 564 +corgant.bos: set YARD_OPEN to 1; +corgant.bos: set BUGGER_OFF to 1; +corgant.bos: set YARD_OPEN to 1; +corgant.bos: set BUGGER_OFF to 0; +corgant.bos: set YARD_OPEN to 0; +corgant.bos: set BUGGER_OFF to 1; +corgant.bos: set YARD_OPEN to 0; +corgant.bos: set BUGGER_OFF to 0; +corgant.bos: set INBUILDSTANCE to 1; +corgant.bos: set INBUILDSTANCE to 0; +Binary file corgarp.cob matches +Binary file corgator.cob matches +Binary file corgol.cob matches +Binary file corhal.cob matches +corhp.bos:// OffsetToScriptCodeIndexArray 11e4 +corhp.bos:// OffsetToScriptNameOffsetArray 1230 +corhp.bos:// OffsetToPieceNameOffsetArray 127c +corhp.bos:// OffsetToScriptCode 2c +corhp.bos:// OffsetToNameArray 12a4 +corhp.bos:// OffsetToFirstName 12a4 +corhp.bos:/* 162:*/ set YARD_OPEN to 1; +corhp.bos:/* 16d:*/ set BUGGER_OFF to 1; +corhp.bos:/* 175:*/ set YARD_OPEN to 1; +corhp.bos:/* 17c:*/ set BUGGER_OFF to 0; +corhp.bos:/* 184:*/ set YARD_OPEN to 0; +corhp.bos:/* 18e:*/ set BUGGER_OFF to 1; +corhp.bos:/* 196:*/ set YARD_OPEN to 0; +corhp.bos:/* 19d:*/ set BUGGER_OFF to 0; +corhp.bos:/* 1bb:*/ set INBUILDSTANCE to 1; +corhp.bos:/* 1c3:*/ set INBUILDSTANCE to 0; +Binary file corhrk.cob matches +corintr.bos: set ARMORED to 1; +corintr.bos: set BUSY to 1; +corintr.bos: set BUSY to 0; +corintr.bos: set BUSY to 1; +corintr.bos: set BUSY to 0; +corjamt.bos:// OffsetToScriptCodeIndexArray 744 +corjamt.bos:// OffsetToScriptNameOffsetArray 76c +corjamt.bos:// OffsetToPieceNameOffsetArray 794 +corjamt.bos:// OffsetToScriptCode 2c +corjamt.bos:// OffsetToNameArray 7a8 +corjamt.bos:// OffsetToFirstName 7a8 +corjugg.bos: set CHANGE_TARGET to 2; +corjugg.bos: set CHANGE_TARGET to 3; +corjugg.bos: set CHANGE_TARGET to 4; +Binary file corjugg.cob matches +corjugg.lua_old: SetSignalMask( SIG_stop ) +corjuno.bos:// OffsetToScriptCodeIndexArray d80 +corjuno.bos:// OffsetToScriptNameOffsetArray dc4 +corjuno.bos:// OffsetToPieceNameOffsetArray e08 +corjuno.bos:// OffsetToScriptCode 2c +corjuno.bos:// OffsetToNameArray e4c +corjuno.bos:// OffsetToFirstName e4c +Binary file corjuno.cob matches +corkarg.lua_old: SetSignalMask(SIG_RESTORE) +corkorg.bos: set ARMORED to 1; +corkorg.bos: set-signal-mask SIG_FOOTSTOMP_L; +corkorg.bos: set-signal-mask SIG_FOOTSTOMP_R; +Binary file corkorg.cob matches +Binary file corlevlr.cob matches +Binary file cormabm.cob matches +cormakr.bos: set ACTIVATION to 1; +cormakr.bos: set ACTIVATION to 0; +cormando.bos: set INBUILDSTANCE to 0; +cormando.bos: set INBUILDSTANCE to 1; +Binary file cormart.cob matches +cormaw.bos: set ARMORED to 0; +cormaw.bos: set ARMORED to 1; +Binary file cormaw.cob matches +cormex.bos: set ARMORED to 0; +cormex.bos: set ARMORED to 1; +cormexp.bos: set ARMORED to 0; +cormexp.bos: set ARMORED to 1; +cormexp.bos: set ACTIVATION to 100; +cormexp.bos: set ACTIVATION to 0; +cormexp.bos: set ARMORED to 0; +Binary file cormexp.cob matches +cormh.bos: set-signal-mask SIG_RESTORE; +Binary file cormh.cob matches +Binary file cormist.cob matches +cormls.bos: set INBUILDSTANCE to 1; +cormls.bos: set INBUILDSTANCE to 0; +cormlv.bos: set INBUILDSTANCE to 0; +cormlv.bos: set INBUILDSTANCE to 1; +cormmkr.bos: set ARMORED to 0; //Not needed as MM in BAR have no damage modi +fyer tag set +cormmkr.bos: set ARMORED to 1; +cormoho.bos: set ARMORED to 0; +cormoho.bos: set ARMORED to 1; +cormoho.bos: set ARMORED to 1; +Binary file cormort.cob matches +Binary file cormship.cob matches +cormstor.bos:// OffsetToScriptCodeIndexArray 2f8 +cormstor.bos:// OffsetToScriptNameOffsetArray 308 +cormstor.bos:// OffsetToPieceNameOffsetArray 318 +cormstor.bos:// OffsetToScriptCode 2c +cormstor.bos:// OffsetToNameArray 31c +cormstor.bos:// OffsetToFirstName 31c +cormuskrat.bos: set INBUILDSTANCE to 1; +cormuskrat.bos: set INBUILDSTANCE to 0; +cormuskrat.bos: set INBUILDSTANCE to 1; +cornanotc.bos: set INBUILDSTANCE to 1; +cornanotc.bos: set INBUILDSTANCE to 0; +Binary file cornanotc.cob matches +cornanotcplat.bos: set INBUILDSTANCE to 1; +cornanotcplat.bos: set INBUILDSTANCE to 0; +Binary file cornanotcplat.cob matches +cornecro.bos: set INBUILDSTANCE to 0; +cornecro.bos: set INBUILDSTANCE to 1; +Binary file corparrow.cob matches +corplat.bos: set ARMORED to 0; +corplat.bos: set ARMORED to 1; +corplat.bos: set YARD_OPEN to 1; +corplat.bos: set BUGGER_OFF to 1; +corplat.bos: set YARD_OPEN to 1; +corplat.bos: set BUGGER_OFF to 0; +corplat.bos: set YARD_OPEN to 0; +corplat.bos: set BUGGER_OFF to 1; +corplat.bos: set YARD_OPEN to 0; +corplat.bos: set BUGGER_OFF to 0; +corplat.bos: set INBUILDSTANCE to 1; +corplat.bos: set INBUILDSTANCE to 0; +corplat.bos: set ARMORED to 1; +Binary file corpship.cob matches +Binary file corpt.cob matches +Binary file corpyro.cob matches +corrad.bos:// OffsetToScriptCodeIndexArray 54c +corrad.bos:// OffsetToScriptNameOffsetArray 574 +corrad.bos:// OffsetToPieceNameOffsetArray 59c +corrad.bos:// OffsetToScriptCode 2c +corrad.bos:// OffsetToNameArray 5a4 +corrad.bos:// OffsetToFirstName 5a4 +Binary file corraid.cob matches +Binary file correap.cob matches +correcl.bos: set INBUILDSTANCE to 1; +correcl.bos: set INBUILDSTANCE to 0; +corrl.bos:// OffsetToScriptCodeIndexArray 9cc +corrl.bos:// OffsetToScriptNameOffsetArray 9ec +corrl.bos:// OffsetToPieceNameOffsetArray a0c +corrl.bos:// OffsetToScriptCode 2c +corrl.bos:// OffsetToNameArray a2c +corrl.bos:// OffsetToFirstName a2c +Binary file corrl.cob matches +Binary file corroy.cob matches +Binary file corsb.cob matches +Binary file corscreamer.cob matches +corsd.bos:// OffsetToScriptCodeIndexArray 43c +corsd.bos:// OffsetToScriptNameOffsetArray 44c +corsd.bos:// OffsetToPieceNameOffsetArray 45c +corsd.bos:// OffsetToScriptCode 2c +corsd.bos:// OffsetToNameArray 460 +corsd.bos:// OffsetToFirstName 460 +Binary file corseal.cob matches +Binary file corsent.cob matches +Binary file corsh.cob matches +corshiva.bos: set ARMORED to 1; +corshiva.bos: set ARMORED to 0; +corshiva.bos: set ARMORED to 1; +Binary file corshiva.cob matches +corshiva.lua_old: SetSignalMask( SIG_stop ) +corshiva.lua_old: SetSignalMask( SIG_stop ) +corshroud.bos:// OffsetToScriptCodeIndexArray 898 +corshroud.bos:// OffsetToScriptNameOffsetArray 8c4 +corshroud.bos:// OffsetToPieceNameOffsetArray 8f0 +corshroud.bos:// OffsetToScriptCode 2c +corshroud.bos:// OffsetToNameArray 904 +corshroud.bos:// OffsetToFirstName 904 +corshroud.bos:/* 80:*/ set ACTIVATION to 0; +corshroud.bos:/* 138:*/ set ACTIVATION to 0; +corshroud.bos:/* 144:*/ set ACTIVATION to 100; +corsilo.bos:// OffsetToScriptCodeIndexArray c08 +corsilo.bos:// OffsetToScriptNameOffsetArray c4c +corsilo.bos:// OffsetToPieceNameOffsetArray c90 +corsilo.bos:// OffsetToScriptCode 2c +corsilo.bos:// OffsetToNameArray ca4 +corsilo.bos:// OffsetToFirstName ca4 +Binary file corsilo.cob matches +corsjam.bos: set ACTIVATION to 0; +corsjam.bos: set ACTIVATION to 0; +corsjam.bos: set ACTIVATION to 100; +Binary file corsnap.cob matches +Binary file corsok.cob matches +corsolar.bos: set YARD_OPEN to 1; +corsolar.bos: set BUGGER_OFF to 1; +corsolar.bos: set YARD_OPEN to 1; +corsolar.bos: set BUGGER_OFF to 0; +corsolar.bos: set YARD_OPEN to 0; +corsolar.bos: set BUGGER_OFF to 1; +corsolar.bos: set YARD_OPEN to 0; +corsolar.bos: set BUGGER_OFF to 0; +corsolar.bos: set ACTIVATION to 100; +corsolar.bos: set ACTIVATION to 0; +corsolar.bos: set ARMORED to 0; +corsolar.bos: set ARMORED to 1; +corsolar.bos: set ACTIVATION to 0; +corsolar.bos: set ACTIVATION to 100; +corsonar.bos:// OffsetToScriptCodeIndexArray 42c +corsonar.bos:// OffsetToScriptNameOffsetArray 450 +corsonar.bos:// OffsetToPieceNameOffsetArray 474 +corsonar.bos:// OffsetToScriptCode 2c +corsonar.bos:// OffsetToNameArray 47c +corsonar.bos:// OffsetToFirstName 47c +corspec.bos: set ACTIVATION to 0; +corspec.bos: set ACTIVATION to 0; +corspec.bos: set ACTIVATION to 100; +Binary file corspec.cob matches +corspy.bos: set INBUILDSTANCE to 1; +corspy.bos: set INBUILDSTANCE to 0; +Binary file corstorm.cob matches +Binary file corsumo.cob matches +corsumo.lua_old: SetSignalMask(SIG_RESTORE) +corsy.bos: set YARD_OPEN to 1; +corsy.bos: set BUGGER_OFF to 1; +corsy.bos: set YARD_OPEN to 1; +corsy.bos: set BUGGER_OFF to 0; +corsy.bos: set YARD_OPEN to 0; +corsy.bos: set BUGGER_OFF to 1; +corsy.bos: set YARD_OPEN to 0; +corsy.bos: set BUGGER_OFF to 0; +corsy.bos: set INBUILDSTANCE to 1; +corsy.bos: set INBUILDSTANCE to 0; +cortarg.bos:// OffsetToScriptCodeIndexArray d6c +cortarg.bos:// OffsetToScriptNameOffsetArray d98 +cortarg.bos:// OffsetToPieceNameOffsetArray dc4 +cortarg.bos:// OffsetToScriptCode 2c +cortarg.bos:// OffsetToNameArray dec +cortarg.bos:// OffsetToFirstName dec +cortarg.bos:/* 1a6:*/ set ACTIVATION to 0; +cortarg.bos:/* 1ae:*/ set ACTIVATION to 1; +Binary file cortermite.cob matches +corthovr.bos: set BUSY to 1; +corthovr.bos: set BUSY to 0; +corthovr.bos: set BUSY to 1; +corthovr.bos: set BUSY to 0; +Binary file corthovr.cob matches +Binary file corthud.cob matches +cortoast.bos: set ARMORED to 0; +cortoast.bos: set ARMORED to 1; +Binary file cortoast.cob matches +Binary file cortrem.cob matches +cortron.bos:// OffsetToScriptCodeIndexArray c08 +cortron.bos:// OffsetToScriptNameOffsetArray c4c +cortron.bos:// OffsetToPieceNameOffsetArray c90 +cortron.bos:// OffsetToScriptCode 2c +cortron.bos:// OffsetToNameArray ca4 +cortron.bos:// OffsetToFirstName ca4 +Binary file cortron.cob matches +cortship.bos: set BUSY to 1; +cortship.bos: set BUSY to 0; +cortship.bos: set BUSY to 1; +cortship.bos: set BUSY to 0; +Binary file cortship.cob matches +coruwadves.bos:// OffsetToScriptCodeIndexArray 5b0 +coruwadves.bos:// OffsetToScriptNameOffsetArray 5c0 +coruwadves.bos:// OffsetToPieceNameOffsetArray 5d0 +coruwadves.bos:// OffsetToScriptCode 2c +coruwadves.bos:// OffsetToNameArray 5e4 +coruwadves.bos:// OffsetToFirstName 5e4 +coruwadvms.bos:// OffsetToScriptCodeIndexArray 420 +coruwadvms.bos:// OffsetToScriptNameOffsetArray 430 +coruwadvms.bos:// OffsetToPieceNameOffsetArray 440 +coruwadvms.bos:// OffsetToScriptCode 2c +coruwadvms.bos:// OffsetToNameArray 448 +coruwadvms.bos:// OffsetToFirstName 448 +coruwes.bos:// OffsetToScriptCodeIndexArray 2f4 +coruwes.bos:// OffsetToScriptNameOffsetArray 304 +coruwes.bos:// OffsetToPieceNameOffsetArray 314 +coruwes.bos:// OffsetToScriptCode 2c +coruwes.bos:// OffsetToNameArray 31c +coruwes.bos:// OffsetToFirstName 31c +coruwfus.bos:// OffsetToScriptCodeIndexArray 1f0 +coruwfus.bos:// OffsetToScriptNameOffsetArray 200 +coruwfus.bos:// OffsetToPieceNameOffsetArray 210 +coruwfus.bos:// OffsetToScriptCode 2c +coruwfus.bos:// OffsetToNameArray 218 +coruwfus.bos:// OffsetToFirstName 218 +coruwmme.bos: set ARMORED to 0; +coruwmme.bos: set ARMORED to 1; +coruwmme.bos: set ARMORED to 1; +coruwms.bos:// OffsetToScriptCodeIndexArray 2ec +coruwms.bos:// OffsetToScriptNameOffsetArray 2fc +coruwms.bos:// OffsetToPieceNameOffsetArray 30c +coruwms.bos:// OffsetToScriptCode 2c +coruwms.bos:// OffsetToNameArray 310 +coruwms.bos:// OffsetToFirstName 310 +Binary file corvoyr.cob matches +corvp.bos: set YARD_OPEN to 1; +corvp.bos: set BUGGER_OFF to 1; +corvp.bos: set YARD_OPEN to 1; +corvp.bos: set BUGGER_OFF to 0; +corvp.bos: set YARD_OPEN to 0; +corvp.bos: set BUGGER_OFF to 1; +corvp.bos: set YARD_OPEN to 0; +corvp.bos: set BUGGER_OFF to 0; +corvp.bos: set INBUILDSTANCE to 1; +corvp.bos: set INBUILDSTANCE to 0; +corvroc.bos: set-signal-mask SIG_RESTORE; +Binary file corvroc.cob matches +corwin.bos: set ACTIVATION to 100; +corwin.bos: set ACTIVATION to 0; +corwin.bos: set ACTIVATION to 100; +Binary file corwin.cob matches +Binary file corwolv.cob matches +exptype.h:#define BUGGER_OFF 19 // set or get (ask other units to clea +r the area) +exptype.h:#define CHANGE_TARGET 98 // set, the value it's set to det +ermines the affected weapon +Binary file fgrep.exe matches +meteor.bos: //set UNKNOWN_UNIT_VALUE(76) to 1; +meteor.bos: set ARMORED to 0; +meteor.bos: //set UNKNOWN_UNIT_VALUE(76) to 0; +fgrep: New folder: Is a directory +roost.bos: set ARMORED to 0; +fgrep: scavboss: Is a directory +fgrep: scavbuildings: Is a directory +standard_commands_gpl.h:#define BUGGER_OFF 19 // set or get (a +sk other units to clear the area) +yard.h: set YARD_OPEN to TRUE; +yard.h: set BUGGER_OFF to TRUE; +yard.h: set YARD_OPEN to TRUE; +yard.h: set BUGGER_OFF to FALSE; +yard.h: set YARD_OPEN to FALSE; +yard.h: set BUGGER_OFF to TRUE; +yard.h: set YARD_OPEN to FALSE; +yard.h: set BUGGER_OFF to FALSE; + +C:\Users\Peti\Documents\my games\Spring\games\Beyond-All-Reason.sdd\scripts\Unit +s>fgrep -i -E set.*to.*; * +armaap.bos: set YARD_OPEN to 1; +armaap.bos: set BUGGER_OFF to 1; +armaap.bos: set YARD_OPEN to 1; +armaap.bos: set BUGGER_OFF to 0; +armaap.bos: set YARD_OPEN to 0; +armaap.bos: set BUGGER_OFF to 1; +armaap.bos: set YARD_OPEN to 0; +armaap.bos: set BUGGER_OFF to 0; +armaap.bos: set INBUILDSTANCE to 1; +armaap.bos: set INBUILDSTANCE to 0; +armaca.bos: set INBUILDSTANCE to 1; +armaca.bos: set INBUILDSTANCE to 0; +armack.bos: set INBUILDSTANCE to 0; +armack.bos: set INBUILDSTANCE to 1; +armacsub.bos: set INBUILDSTANCE to 0; +armacsub.bos: set INBUILDSTANCE to 1; +armacv.bos: set INBUILDSTANCE to 0; +armacv.bos: set INBUILDSTANCE to 1; +armadvsol.bos: set ARMORED to 0; +armadvsol.bos: set ARMORED to 1; +armafus.bos: set ARMORED to 1; +armafus.bos: set ARMORED to 0; +armalab.bos: set YARD_OPEN to 1; +armalab.bos: set BUGGER_OFF to 1; +armalab.bos: set YARD_OPEN to 1; +armalab.bos: set BUGGER_OFF to 0; +armalab.bos: set YARD_OPEN to 0; +armalab.bos: set BUGGER_OFF to 1; +armalab.bos: set YARD_OPEN to 0; +armalab.bos: set BUGGER_OFF to 0; +armalab.bos: set INBUILDSTANCE to 1; +armalab.bos: set INBUILDSTANCE to 0; +armamb.bos: set ARMORED to 0; +armamb.bos: set ARMORED to 1; +armamex.bos: set ARMORED to 0; +armamex.bos: set ARMORED to 1; +armamex.bos: set ACTIVATION to 0; +armamex.bos: set ACTIVATION to 100; +armamsub.bos: set YARD_OPEN to 1; +armamsub.bos: set BUGGER_OFF to 1; +armamsub.bos: set YARD_OPEN to 1; +armamsub.bos: set BUGGER_OFF to 0; +armamsub.bos: set YARD_OPEN to 0; +armamsub.bos: set BUGGER_OFF to 1; +armamsub.bos: set YARD_OPEN to 0; +armamsub.bos: set BUGGER_OFF to 0; +armamsub.bos: set INBUILDSTANCE to 1; +armamsub.bos: set INBUILDSTANCE to 0; +armanni.bos: set ARMORED to 0; +armanni.bos: set ARMORED to 1; +armap.bos: set YARD_OPEN to 1; +armap.bos: set BUGGER_OFF to 1; +armap.bos: set YARD_OPEN to 1; +armap.bos: set BUGGER_OFF to 0; +armap.bos: set YARD_OPEN to 0; +armap.bos: set BUGGER_OFF to 1; +armap.bos: set YARD_OPEN to 0; +armap.bos: set BUGGER_OFF to 0; +armap.bos: set INBUILDSTANCE to 1; +armap.bos: set INBUILDSTANCE to 0; +armaser.bos: set ACTIVATION to 0; +armaser.bos: set ACTIVATION to 0; +armaser.bos: set ACTIVATION to 100; +armasy.bos: set YARD_OPEN to 1; +armasy.bos: set BUGGER_OFF to 1; +armasy.bos: set YARD_OPEN to 1; +armasy.bos: set BUGGER_OFF to 0; +armasy.bos: set YARD_OPEN to 0; +armasy.bos: set BUGGER_OFF to 1; +armasy.bos: set YARD_OPEN to 0; +armasy.bos: set BUGGER_OFF to 0; +armasy.bos: set INBUILDSTANCE to 1; +armasy.bos: set INBUILDSTANCE to 0; +armavp.bos: set YARD_OPEN to 1; +armavp.bos: set BUGGER_OFF to 1; +armavp.bos: set YARD_OPEN to 1; +armavp.bos: set BUGGER_OFF to 0; +armavp.bos: set YARD_OPEN to 0; +armavp.bos: set BUGGER_OFF to 1; +armavp.bos: set YARD_OPEN to 0; +armavp.bos: set BUGGER_OFF to 0; +armavp.bos: set INBUILDSTANCE to 1; +armavp.bos: set INBUILDSTANCE to 0; +armbeaver.bos: set INBUILDSTANCE to 0; +armbeaver.bos: set INBUILDSTANCE to 1; +armca.bos: set INBUILDSTANCE to 1; +armca.bos: set INBUILDSTANCE to 0; +armch.bos: set INBUILDSTANCE to 0; +armch.bos: set INBUILDSTANCE to 1; +armck.bos: set INBUILDSTANCE to 0; +armck.bos: set INBUILDSTANCE to 1; +armckfus.bos: set ARMORED to 1; +armckfus.bos: set ARMORED to 0; +armclaw.bos: set ARMORED to 0; +armclaw.bos: set ARMORED to 1; +armcom.bos: set INBUILDSTANCE to 1; +armcom.bos: set INBUILDSTANCE to 0; +armcomboss.bos: set INBUILDSTANCE to 1; +armcomboss.bos: set INBUILDSTANCE to 0; +armconsul.bos: set INBUILDSTANCE to 1; +armconsul.bos: set INBUILDSTANCE to 0; +armcs.bos: set INBUILDSTANCE to 0; +armcs.bos: set INBUILDSTANCE to 1; +armcsa.bos: set INBUILDSTANCE to 1; +armcsa.bos: set INBUILDSTANCE to 0; +armcv.bos: set INBUILDSTANCE to 0; +armcv.bos: set INBUILDSTANCE to 1; +armdf.bos: set ARMORED to 1; +armdf.bos: set ARMORED to 0; +armepoch.bos: set ARMORED to 1; +armfark.bos: set INBUILDSTANCE to 0; +armfark.bos: set INBUILDSTANCE to 1; +armferret.bos: set ARMORED to 0; +armferret.bos: set ARMORED to 1; +armfhp.bos: set YARD_OPEN to 1; +armfhp.bos: set BUGGER_OFF to 1; +armfhp.bos: set YARD_OPEN to 1; +armfhp.bos: set BUGGER_OFF to 0; +armfhp.bos: set YARD_OPEN to 0; +armfhp.bos: set BUGGER_OFF to 1; +armfhp.bos: set YARD_OPEN to 0; +armfhp.bos: set BUGGER_OFF to 0; +armfhp.bos: set INBUILDSTANCE to 1; +armfhp.bos: set INBUILDSTANCE to 0; +armfus.bos: set ARMORED to 1; +armfus.bos: set ARMORED to 0; +armgmm.bos: set ARMORED to 0; +armgmm.bos: set ARMORED to 1; +armhp.bos: set YARD_OPEN to 1; +armhp.bos: set BUGGER_OFF to 1; +armhp.bos: set YARD_OPEN to 1; +armhp.bos: set BUGGER_OFF to 0; +armhp.bos: set YARD_OPEN to 0; +armhp.bos: set BUGGER_OFF to 1; +armhp.bos: set YARD_OPEN to 0; +armhp.bos: set BUGGER_OFF to 0; +armhp.bos: set INBUILDSTANCE to 1; +armhp.bos: set INBUILDSTANCE to 0; +armjam.bos: set ACTIVATION to 0; +armjam.bos: set ACTIVATION to 0; +armjam.bos: set ACTIVATION to 100; +armlab.bos: set YARD_OPEN to 1; +armlab.bos: set BUGGER_OFF to 1; +armlab.bos: set YARD_OPEN to 1; +armlab.bos: set BUGGER_OFF to 0; +armlab.bos: set YARD_OPEN to 0; +armlab.bos: set BUGGER_OFF to 1; +armlab.bos: set YARD_OPEN to 0; +armlab.bos: set BUGGER_OFF to 0; +armlab.bos: set INBUILDSTANCE to 1; +armlab.bos: set INBUILDSTANCE to 0; +fgrep: armmar_lus: Is a directory +armmercury.bos: set DELAY_UNIT_VAR to 0; +armmerl.bos: set ARMORED to 1; +armmerl.bos: set ARMORED to 0; +armmerl.bos: set ARMORED to 0; +armmerl.bos: set-signal-mask SIG_RESTORE; +armmh.bos: set-signal-mask SIG_RESTORE; +armmls.bos: set INBUILDSTANCE to 1; +armmls.bos: set INBUILDSTANCE to 0; +armmlv.bos: set INBUILDSTANCE to 1; +armmlv.bos: set INBUILDSTANCE to 0; +armmmkr.bos: set ARMORED to 0; //Not needed as MM in BAR have no damage modif +yer tag set +armmmkr.bos: set ARMORED to 1; +armnanotc.bos: set INBUILDSTANCE to 1; +armnanotc.bos: set INBUILDSTANCE to 0; +armnanotcplat.bos: set INBUILDSTANCE to 1; +armnanotcplat.bos: set INBUILDSTANCE to 0; +armpb.bos: set ARMORED to 0; +armpb.bos: set ARMORED to 1; +armpb.bos: set-signal-mask SIG_RESTORE; +armplat.bos: set ARMORED to 0; +armplat.bos: set ARMORED to 1; +armplat.bos: set YARD_OPEN to 1; +armplat.bos: set BUGGER_OFF to 1; +armplat.bos: set YARD_OPEN to 1; +armplat.bos: set BUGGER_OFF to 0; +armplat.bos: set YARD_OPEN to 0; +armplat.bos: set BUGGER_OFF to 1; +armplat.bos: set YARD_OPEN to 0; +armplat.bos: set BUGGER_OFF to 0; +armplat.bos: set INBUILDSTANCE to 1; +armplat.bos: set INBUILDSTANCE to 0; +armplat.bos: set ARMORED to 1; +armrecl.bos: set INBUILDSTANCE to 1; +armrecl.bos: set INBUILDSTANCE to 0; +armrectr.bos: set INBUILDSTANCE to 0; +armrectr.bos: set INBUILDSTANCE to 1; +armrectrt4.bos: set INBUILDSTANCE to 0; +armrectrt4.bos: set INBUILDSTANCE to 1; +armshltx.bos: set YARD_OPEN to 1; +armshltx.bos: set BUGGER_OFF to 1; +armshltx.bos: set YARD_OPEN to 1; +armshltx.bos: set BUGGER_OFF to 0; +armshltx.bos: set YARD_OPEN to 0; +armshltx.bos: set BUGGER_OFF to 1; +armshltx.bos: set YARD_OPEN to 0; +armshltx.bos: set BUGGER_OFF to 0; +armshltx.bos: set INBUILDSTANCE to 1; +armshltx.bos: set INBUILDSTANCE to 0; +armsjam.bos: set ACTIVATION to 0; +armsjam.bos: set ACTIVATION to 0; +armsjam.bos: set ACTIVATION to 100; +armsolar.bos: set YARD_OPEN to 1; +armsolar.bos: set BUGGER_OFF to 1; +armsolar.bos: set YARD_OPEN to 1; +armsolar.bos: set BUGGER_OFF to 0; +armsolar.bos: set YARD_OPEN to 0; +armsolar.bos: set BUGGER_OFF to 1; +armsolar.bos: set YARD_OPEN to 0; +armsolar.bos: set BUGGER_OFF to 0; +armsolar.bos: set ACTIVATION to 0; +armsolar.bos: set ARMORED to 0; +armsolar.bos: set YARD_OPEN to 0; +armsolar.bos: set ARMORED to 1; +armsolar.bos: set YARD_OPEN to 1; +armsolar.bos: set ACTIVATION to 0; +armsolar.bos: set ACTIVATION to 0; +armsolar.bos: set ACTIVATION to 100; +armspy.bos: set ACTIVATION to 0; +armspy.bos: set INBUILDSTANCE to 1; +armspy.bos: set INBUILDSTANCE to 0; +armspy.bos: set ACTIVATION to 0; +armspy.bos: set ACTIVATION to 100; +armsy.bos: set YARD_OPEN to 1; +armsy.bos: set BUGGER_OFF to 1; +armsy.bos: set YARD_OPEN to 1; +armsy.bos: set BUGGER_OFF to 0; +armsy.bos: set YARD_OPEN to 0; +armsy.bos: set BUGGER_OFF to 1; +armsy.bos: set YARD_OPEN to 0; +armsy.bos: set BUGGER_OFF to 0; +armsy.bos: set INBUILDSTANCE to 1; +armsy.bos: set INBUILDSTANCE to 0; +armtarg.bos: set ARMORED to 1; +armtarg.bos: set ACTIVATION to 0; +armtarg.bos: set ACTIVATION to 1; +armthovr.bos: set BUSY to 1; +armthovr.bos: set BUSY to 0; +armthovr.bos: set BUSY to 1; +armthovr.bos: set BUSY to 0; +armtship.bos: set BUSY to 1; +armtship.bos: set BUSY to 0; +armtship.bos: set BUSY to 1; +armtship.bos: set BUSY to 0; +armvp.bos: set ARMORED to 0; +armvp.bos: set ARMORED to 1; +armvp.bos: set YARD_OPEN to 1; +armvp.bos: set BUGGER_OFF to 1; +armvp.bos: set YARD_OPEN to 1; +armvp.bos: set BUGGER_OFF to 0; +armvp.bos: set YARD_OPEN to 0; +armvp.bos: set BUGGER_OFF to 1; +armvp.bos: set YARD_OPEN to 0; +armvp.bos: set BUGGER_OFF to 0; +armvp.bos: set INBUILDSTANCE to 1; +armvp.bos: set INBUILDSTANCE to 0; +armvp.bos: set ARMORED to 1; +armwin.bos: set ACTIVATION to 100; +armwin.bos: set ACTIVATION to 0; +armwin.bos: set ACTIVATION to 100; +coraap.bos: set YARD_OPEN to 1; +coraap.bos: set BUGGER_OFF to 1; +coraap.bos: set YARD_OPEN to 1; +coraap.bos: set BUGGER_OFF to 0; +coraap.bos: set YARD_OPEN to 0; +coraap.bos: set BUGGER_OFF to 1; +coraap.bos: set YARD_OPEN to 0; +coraap.bos: set BUGGER_OFF to 0; +coraap.bos: set INBUILDSTANCE to 1; +coraap.bos: set INBUILDSTANCE to 0; +coraca.bos: set INBUILDSTANCE to 1; +coraca.bos: set INBUILDSTANCE to 0; +corack.bos: set INBUILDSTANCE to 0; +corack.bos: set INBUILDSTANCE to 1; +coracsub.bos: set INBUILDSTANCE to 0; +coracsub.bos: set INBUILDSTANCE to 1; +coracv.bos: set INBUILDSTANCE to 0; +coracv.bos: set INBUILDSTANCE to 1; +coradvsol.bos:/* 57:*/ set ARMORED to 0; +coradvsol.bos:/* 5f:*/ set ARMORED to 1; +coradvsol.bos:/* 7d:*/ set ACTIVATION to 0; +coradvsol.bos:/* 85:*/ set ACTIVATION to 100; +corafus.bos:/* b0:*/ set ARMORED to 1; +corafus.bos:/* ba:*/ set ARMORED to 0; +coramsub.bos:/* 87:*/ set YARD_OPEN to 1; +coramsub.bos:/* 92:*/ set BUGGER_OFF to 1; +coramsub.bos:/* 9a:*/ set YARD_OPEN to 1; +coramsub.bos:/* a1:*/ set BUGGER_OFF to 0; +coramsub.bos:/* a9:*/ set YARD_OPEN to 0; +coramsub.bos:/* b3:*/ set BUGGER_OFF to 1; +coramsub.bos:/* bb:*/ set YARD_OPEN to 0; +coramsub.bos:/* c2:*/ set BUGGER_OFF to 0; +coramsub.bos:/* d0:*/ set INBUILDSTANCE to 1; +coramsub.bos:/* d8:*/ set INBUILDSTANCE to 0; +corap.bos:/* 17e:*/ set YARD_OPEN to 1; +corap.bos:/* 189:*/ set BUGGER_OFF to 1; +corap.bos:/* 191:*/ set YARD_OPEN to 1; +corap.bos:/* 198:*/ set BUGGER_OFF to 0; +corap.bos:/* 1a0:*/ set YARD_OPEN to 0; +corap.bos:/* 1aa:*/ set BUGGER_OFF to 1; +corap.bos:/* 1b2:*/ set YARD_OPEN to 0; +corap.bos:/* 1b9:*/ set BUGGER_OFF to 0; +corap.bos:/* 1d5:*/ set INBUILDSTANCE to 1; +corap.bos:/* 1dd:*/ set INBUILDSTANCE to 0; +corasy.bos: set YARD_OPEN to 1; +corasy.bos: set BUGGER_OFF to 1; +corasy.bos: set YARD_OPEN to 1; +corasy.bos: set BUGGER_OFF to 0; +corasy.bos: set YARD_OPEN to 0; +corasy.bos: set BUGGER_OFF to 1; +corasy.bos: set YARD_OPEN to 0; +corasy.bos: set BUGGER_OFF to 0; +corasy.bos: set INBUILDSTANCE to 1; +corasy.bos: set INBUILDSTANCE to 0; +corasye.bos: set YARD_OPEN to 1; +corasye.bos: set BUGGER_OFF to 1; +corasye.bos: set YARD_OPEN to 1; +corasye.bos: set BUGGER_OFF to 0; +corasye.bos: set YARD_OPEN to 0; +corasye.bos: set BUGGER_OFF to 1; +corasye.bos: set YARD_OPEN to 0; +corasye.bos: set BUGGER_OFF to 0; +corasye.bos: set INBUILDSTANCE to 1; +corasye.bos: set INBUILDSTANCE to 0; +coravp.bos: set YARD_OPEN to 1; +coravp.bos: set BUGGER_OFF to 1; +coravp.bos: set YARD_OPEN to 1; +coravp.bos: set BUGGER_OFF to 0; +coravp.bos: set YARD_OPEN to 0; +coravp.bos: set BUGGER_OFF to 1; +coravp.bos: set YARD_OPEN to 0; +coravp.bos: set BUGGER_OFF to 0; +coravp.bos: set INBUILDSTANCE to 1; +coravp.bos: set INBUILDSTANCE to 0; +corbhmth.bos: set ACTIVATION to 100; +corbhmth.bos: set ACTIVATION to 0; +corblackhy.bos: set ARMORED to 1; +corbw.bos: set UNKNOWN_UNIT_VALUE(82) to 0 - 1500 + get UNK +NOWN_UNIT_VALUE(82); +corbw.bos: set UNKNOWN_UNIT_VALUE(82) to 1500 + get UNKNOWN +_UNIT_VALUE(82); +corca.bos: set INBUILDSTANCE to 1; +corca.bos: set INBUILDSTANCE to 0; +corch.bos: set INBUILDSTANCE to 0; +corch.bos: set INBUILDSTANCE to 1; +corck.bos: set INBUILDSTANCE to 0; +corck.bos: set INBUILDSTANCE to 1; +corcom.bos: set INBUILDSTANCE to 1; +corcom.bos: set INBUILDSTANCE to 0; +corcomboss.bos: set INBUILDSTANCE to 1; +corcomboss.bos: set INBUILDSTANCE to 0; +corcs.bos: set INBUILDSTANCE to 1; +corcs.bos: set INBUILDSTANCE to 0; +corcsa.bos: set INBUILDSTANCE to 1; +corcsa.bos: set INBUILDSTANCE to 0; +corcv.bos: set INBUILDSTANCE to 0; +corcv.bos: set INBUILDSTANCE to 1; +cordoom.bos: set ARMORED to 0; +cordoom.bos: set ARMORED to 1; +corerad.bos: set CHANGE_TARGET to 1; +coreter.bos: set ACTIVATION to 0; +coreter.bos: set ACTIVATION to 0; +coreter.bos: set ACTIVATION to 100; +corfast.bos: set INBUILDSTANCE to 1; +corfast.bos: set INBUILDSTANCE to 0; +corfhp.bos:/* 162:*/ set YARD_OPEN to 1; +corfhp.bos:/* 16d:*/ set BUGGER_OFF to 1; +corfhp.bos:/* 175:*/ set YARD_OPEN to 1; +corfhp.bos:/* 17c:*/ set BUGGER_OFF to 0; +corfhp.bos:/* 184:*/ set YARD_OPEN to 0; +corfhp.bos:/* 18e:*/ set BUGGER_OFF to 1; +corfhp.bos:/* 196:*/ set YARD_OPEN to 0; +corfhp.bos:/* 19d:*/ set BUGGER_OFF to 0; +corfhp.bos:/* 1bb:*/ set INBUILDSTANCE to 1; +corfhp.bos:/* 1c3:*/ set INBUILDSTANCE to 0; +corfmkr.bos: set ACTIVATION to 1; +corfmkr.bos: set ACTIVATION to 0; +corgant.bos: set YARD_OPEN to 1; +corgant.bos: set BUGGER_OFF to 1; +corgant.bos: set YARD_OPEN to 1; +corgant.bos: set BUGGER_OFF to 0; +corgant.bos: set YARD_OPEN to 0; +corgant.bos: set BUGGER_OFF to 1; +corgant.bos: set YARD_OPEN to 0; +corgant.bos: set BUGGER_OFF to 0; +corgant.bos: set INBUILDSTANCE to 1; +corgant.bos: set INBUILDSTANCE to 0; +corhp.bos:/* 162:*/ set YARD_OPEN to 1; +corhp.bos:/* 16d:*/ set BUGGER_OFF to 1; +corhp.bos:/* 175:*/ set YARD_OPEN to 1; +corhp.bos:/* 17c:*/ set BUGGER_OFF to 0; +corhp.bos:/* 184:*/ set YARD_OPEN to 0; +corhp.bos:/* 18e:*/ set BUGGER_OFF to 1; +corhp.bos:/* 196:*/ set YARD_OPEN to 0; +corhp.bos:/* 19d:*/ set BUGGER_OFF to 0; +corhp.bos:/* 1bb:*/ set INBUILDSTANCE to 1; +corhp.bos:/* 1c3:*/ set INBUILDSTANCE to 0; +corintr.bos: set ARMORED to 1; +corintr.bos: set BUSY to 1; +corintr.bos: set BUSY to 0; +corintr.bos: set BUSY to 1; +corintr.bos: set BUSY to 0; +corjugg.bos: set CHANGE_TARGET to 2; +corjugg.bos: set CHANGE_TARGET to 3; +corjugg.bos: set CHANGE_TARGET to 4; +corkorg.bos: set ARMORED to 1; +corkorg.bos: set-signal-mask SIG_FOOTSTOMP_L; +corkorg.bos: set-signal-mask SIG_FOOTSTOMP_R; +cormakr.bos: set ACTIVATION to 1; +cormakr.bos: set ACTIVATION to 0; +cormando.bos: set INBUILDSTANCE to 0; +cormando.bos: set INBUILDSTANCE to 1; +cormaw.bos: set ARMORED to 0; +cormaw.bos: set ARMORED to 1; +cormex.bos: set ARMORED to 0; +cormex.bos: set ARMORED to 1; +cormexp.bos: set ARMORED to 0; +cormexp.bos: set ARMORED to 1; +cormexp.bos: set ACTIVATION to 100; +cormexp.bos: set ACTIVATION to 0; +cormexp.bos: set ARMORED to 0; +cormh.bos: set-signal-mask SIG_RESTORE; +cormls.bos: set INBUILDSTANCE to 1; +cormls.bos: set INBUILDSTANCE to 0; +cormlv.bos: set INBUILDSTANCE to 0; +cormlv.bos: set INBUILDSTANCE to 1; +cormmkr.bos: set ARMORED to 0; //Not needed as MM in BAR have no damage modi +fyer tag set +cormmkr.bos: set ARMORED to 1; +cormoho.bos: set ARMORED to 0; +cormoho.bos: set ARMORED to 1; +cormoho.bos: set ARMORED to 1; +cormuskrat.bos: set INBUILDSTANCE to 1; +cormuskrat.bos: set INBUILDSTANCE to 0; +cormuskrat.bos: set INBUILDSTANCE to 1; +cornanotc.bos: set INBUILDSTANCE to 1; +cornanotc.bos: set INBUILDSTANCE to 0; +cornanotcplat.bos: set INBUILDSTANCE to 1; +cornanotcplat.bos: set INBUILDSTANCE to 0; +cornecro.bos: set INBUILDSTANCE to 0; +cornecro.bos: set INBUILDSTANCE to 1; +corplat.bos: set ARMORED to 0; +corplat.bos: set ARMORED to 1; +corplat.bos: set YARD_OPEN to 1; +corplat.bos: set BUGGER_OFF to 1; +corplat.bos: set YARD_OPEN to 1; +corplat.bos: set BUGGER_OFF to 0; +corplat.bos: set YARD_OPEN to 0; +corplat.bos: set BUGGER_OFF to 1; +corplat.bos: set YARD_OPEN to 0; +corplat.bos: set BUGGER_OFF to 0; +corplat.bos: set INBUILDSTANCE to 1; +corplat.bos: set INBUILDSTANCE to 0; +corplat.bos: set ARMORED to 1; +correcl.bos: set INBUILDSTANCE to 1; +correcl.bos: set INBUILDSTANCE to 0; +corshiva.bos: set ARMORED to 1; +corshiva.bos: set ARMORED to 0; +corshiva.bos: set ARMORED to 1; +corshroud.bos:/* 80:*/ set ACTIVATION to 0; +corshroud.bos:/* 138:*/ set ACTIVATION to 0; +corshroud.bos:/* 144:*/ set ACTIVATION to 100; +corsjam.bos: set ACTIVATION to 0; +corsjam.bos: set ACTIVATION to 0; +corsjam.bos: set ACTIVATION to 100; +corsolar.bos: set YARD_OPEN to 1; +corsolar.bos: set BUGGER_OFF to 1; +corsolar.bos: set YARD_OPEN to 1; +corsolar.bos: set BUGGER_OFF to 0; +corsolar.bos: set YARD_OPEN to 0; +corsolar.bos: set BUGGER_OFF to 1; +corsolar.bos: set YARD_OPEN to 0; +corsolar.bos: set BUGGER_OFF to 0; +corsolar.bos: set ACTIVATION to 100; +corsolar.bos: set ACTIVATION to 0; +corsolar.bos: set ARMORED to 0; +corsolar.bos: set ARMORED to 1; +corsolar.bos: set ACTIVATION to 0; +corsolar.bos: set ACTIVATION to 100; +corspec.bos: set ACTIVATION to 0; +corspec.bos: set ACTIVATION to 0; +corspec.bos: set ACTIVATION to 100; +corspy.bos: set INBUILDSTANCE to 1; +corspy.bos: set INBUILDSTANCE to 0; +corsy.bos: set YARD_OPEN to 1; +corsy.bos: set BUGGER_OFF to 1; +corsy.bos: set YARD_OPEN to 1; +corsy.bos: set BUGGER_OFF to 0; +corsy.bos: set YARD_OPEN to 0; +corsy.bos: set BUGGER_OFF to 1; +corsy.bos: set YARD_OPEN to 0; +corsy.bos: set BUGGER_OFF to 0; +corsy.bos: set INBUILDSTANCE to 1; +corsy.bos: set INBUILDSTANCE to 0; +cortarg.bos:/* 1a6:*/ set ACTIVATION to 0; +cortarg.bos:/* 1ae:*/ set ACTIVATION to 1; +corthovr.bos: set BUSY to 1; +corthovr.bos: set BUSY to 0; +corthovr.bos: set BUSY to 1; +corthovr.bos: set BUSY to 0; +cortoast.bos: set ARMORED to 0; +cortoast.bos: set ARMORED to 1; +cortship.bos: set BUSY to 1; +cortship.bos: set BUSY to 0; +cortship.bos: set BUSY to 1; +cortship.bos: set BUSY to 0; +coruwmme.bos: set ARMORED to 0; +coruwmme.bos: set ARMORED to 1; +coruwmme.bos: set ARMORED to 1; +corvp.bos: set YARD_OPEN to 1; +corvp.bos: set BUGGER_OFF to 1; +corvp.bos: set YARD_OPEN to 1; +corvp.bos: set BUGGER_OFF to 0; +corvp.bos: set YARD_OPEN to 0; +corvp.bos: set BUGGER_OFF to 1; +corvp.bos: set YARD_OPEN to 0; +corvp.bos: set BUGGER_OFF to 0; +corvp.bos: set INBUILDSTANCE to 1; +corvp.bos: set INBUILDSTANCE to 0; +corvroc.bos: set-signal-mask SIG_RESTORE; +corwin.bos: set ACTIVATION to 100; +corwin.bos: set ACTIVATION to 0; +corwin.bos: set ACTIVATION to 100; +meteor.bos: //set UNKNOWN_UNIT_VALUE(76) to 1; +meteor.bos: set ARMORED to 0; +meteor.bos: //set UNKNOWN_UNIT_VALUE(76) to 0; +fgrep: New folder: Is a directory +roost.bos: set ARMORED to 0; +fgrep: scavboss: Is a directory +fgrep: scavbuildings: Is a directory +yard.h: set YARD_OPEN to TRUE; +yard.h: set BUGGER_OFF to TRUE; +yard.h: set YARD_OPEN to TRUE; +yard.h: set BUGGER_OFF to FALSE; +yard.h: set YARD_OPEN to FALSE; +yard.h: set BUGGER_OFF to TRUE; +yard.h: set YARD_OPEN to FALSE; +yard.h: set BUGGER_OFF to FALSE; + +C:\Users\Peti\Documents\my games\Spring\games\Beyond-All-Reason.sdd\scripts\Unit +s>fgrep -i -E set.+to * +Binary file armaak.cob matches +armaap.bos: set YARD_OPEN to 1; +armaap.bos: set BUGGER_OFF to 1; +armaap.bos: set YARD_OPEN to 1; +armaap.bos: set BUGGER_OFF to 0; +armaap.bos: set YARD_OPEN to 0; +armaap.bos: set BUGGER_OFF to 1; +armaap.bos: set YARD_OPEN to 0; +armaap.bos: set BUGGER_OFF to 0; +armaap.bos: set INBUILDSTANCE to 1; +armaap.bos: set INBUILDSTANCE to 0; +Binary file armaas.cob matches +armaca.bos: set INBUILDSTANCE to 1; +armaca.bos: set INBUILDSTANCE to 0; +armack.bos: set INBUILDSTANCE to 0; +armack.bos: set INBUILDSTANCE to 1; +armacsub.bos: set INBUILDSTANCE to 0; +armacsub.bos: set INBUILDSTANCE to 1; +armacv.bos: set INBUILDSTANCE to 0; +armacv.bos: set INBUILDSTANCE to 1; +Binary file armacv.cob matches +armadvsol.bos: set ARMORED to 0; +armadvsol.bos: set ARMORED to 1; +armafus.bos: set ARMORED to 1; +armafus.bos: set ARMORED to 0; +Binary file armah.cob matches +armalab.bos: set YARD_OPEN to 1; +armalab.bos: set BUGGER_OFF to 1; +armalab.bos: set YARD_OPEN to 1; +armalab.bos: set BUGGER_OFF to 0; +armalab.bos: set YARD_OPEN to 0; +armalab.bos: set BUGGER_OFF to 1; +armalab.bos: set YARD_OPEN to 0; +armalab.bos: set BUGGER_OFF to 0; +armalab.bos: set INBUILDSTANCE to 1; +armalab.bos: set INBUILDSTANCE to 0; +armamb.bos: set ARMORED to 0; +armamb.bos: set ARMORED to 1; +Binary file armamb.cob matches +armamex.bos: set ARMORED to 0; +armamex.bos: set ARMORED to 1; +armamex.bos: set ACTIVATION to 0; +armamex.bos: set ACTIVATION to 100; +Binary file armamph.cob matches +armamsub.bos: set YARD_OPEN to 1; +armamsub.bos: set BUGGER_OFF to 1; +armamsub.bos: set YARD_OPEN to 1; +armamsub.bos: set BUGGER_OFF to 0; +armamsub.bos: set YARD_OPEN to 0; +armamsub.bos: set BUGGER_OFF to 1; +armamsub.bos: set YARD_OPEN to 0; +armamsub.bos: set BUGGER_OFF to 0; +armamsub.bos: set INBUILDSTANCE to 1; +armamsub.bos: set INBUILDSTANCE to 0; +Binary file armanac.cob matches +armanni.bos: set ARMORED to 0; +armanni.bos: set ARMORED to 1; +armap.bos: set YARD_OPEN to 1; +armap.bos: set BUGGER_OFF to 1; +armap.bos: set YARD_OPEN to 1; +armap.bos: set BUGGER_OFF to 0; +armap.bos: set YARD_OPEN to 0; +armap.bos: set BUGGER_OFF to 1; +armap.bos: set YARD_OPEN to 0; +armap.bos: set BUGGER_OFF to 0; +armap.bos: set INBUILDSTANCE to 1; +armap.bos: set INBUILDSTANCE to 0; +Binary file armart.cob matches +armaser.bos: set ACTIVATION to 0; +armaser.bos: set ACTIVATION to 0; +armaser.bos: set ACTIVATION to 100; +Binary file armaser.cob matches +armasy.bos: set YARD_OPEN to 1; +armasy.bos: set BUGGER_OFF to 1; +armasy.bos: set YARD_OPEN to 1; +armasy.bos: set BUGGER_OFF to 0; +armasy.bos: set YARD_OPEN to 0; +armasy.bos: set BUGGER_OFF to 1; +armasy.bos: set YARD_OPEN to 0; +armasy.bos: set BUGGER_OFF to 0; +armasy.bos: set INBUILDSTANCE to 1; +armasy.bos: set INBUILDSTANCE to 0; +Binary file armatl.cob matches +armavp.bos: set YARD_OPEN to 1; +armavp.bos: set BUGGER_OFF to 1; +armavp.bos: set YARD_OPEN to 1; +armavp.bos: set BUGGER_OFF to 0; +armavp.bos: set YARD_OPEN to 0; +armavp.bos: set BUGGER_OFF to 1; +armavp.bos: set YARD_OPEN to 0; +armavp.bos: set BUGGER_OFF to 0; +armavp.bos: set INBUILDSTANCE to 1; +armavp.bos: set INBUILDSTANCE to 0; +Binary file armbanth.cob matches +Binary file armbats.cob matches +armbeaver.bos: set INBUILDSTANCE to 0; +armbeaver.bos: set INBUILDSTANCE to 1; +Binary file armbrawl.cob matches +Binary file armbull.cob matches +armca.bos: set INBUILDSTANCE to 1; +armca.bos: set INBUILDSTANCE to 0; +Binary file armcarry.cob matches +armch.bos: set INBUILDSTANCE to 0; +armch.bos: set INBUILDSTANCE to 1; +Binary file armch.cob matches +Binary file armcir.cob matches +armck.bos: set INBUILDSTANCE to 0; +armck.bos: set INBUILDSTANCE to 1; +armckfus.bos: set ARMORED to 1; +armckfus.bos: set ARMORED to 0; +armclaw.bos: set ARMORED to 0; +armclaw.bos: set ARMORED to 1; +Binary file armclaw.cob matches +armcom.bos: set INBUILDSTANCE to 1; +armcom.bos: set INBUILDSTANCE to 0; +armcomboss.bos: set INBUILDSTANCE to 1; +armcomboss.bos: set INBUILDSTANCE to 0; +armconsul.bos: set INBUILDSTANCE to 1; +armconsul.bos: set INBUILDSTANCE to 0; +Binary file armcroc.cob matches +Binary file armcrus.cob matches +armcs.bos: set INBUILDSTANCE to 0; +armcs.bos: set INBUILDSTANCE to 1; +Binary file armcs.cob matches +armcsa.bos: set INBUILDSTANCE to 1; +armcsa.bos: set INBUILDSTANCE to 0; +armcv.bos: set INBUILDSTANCE to 0; +armcv.bos: set INBUILDSTANCE to 1; +Binary file armdecade.cob matches +armdf.bos: set ARMORED to 1; +armdf.bos: set ARMORED to 0; +Binary file armemp.cob matches +armepoch.bos: set ARMORED to 1; +Binary file armepoch.cob matches +armfark.bos: set INBUILDSTANCE to 0; +armfark.bos: set INBUILDSTANCE to 1; +Binary file armfast.cob matches +Binary file armfav.cob matches +Binary file armfboy.cob matches +armferret.bos: set ARMORED to 0; +armferret.bos: set ARMORED to 1; +Binary file armferret.cob matches +Binary file armfflak.cob matches +armfhp.bos: set YARD_OPEN to 1; +armfhp.bos: set BUGGER_OFF to 1; +armfhp.bos: set YARD_OPEN to 1; +armfhp.bos: set BUGGER_OFF to 0; +armfhp.bos: set YARD_OPEN to 0; +armfhp.bos: set BUGGER_OFF to 1; +armfhp.bos: set YARD_OPEN to 0; +armfhp.bos: set BUGGER_OFF to 0; +armfhp.bos: set INBUILDSTANCE to 1; +armfhp.bos: set INBUILDSTANCE to 0; +Binary file armfido.cob matches +Binary file armflak.cob matches +Binary file armflash.cob matches +Binary file armflea.cob matches +Binary file armfrt.cob matches +armfus.bos: set ARMORED to 1; +armfus.bos: set ARMORED to 0; +armgmm.bos: set ARMORED to 0; +armgmm.bos: set ARMORED to 1; +Binary file armgplat.cob matches +Binary file armgremlin.cob matches +Binary file armham.cob matches +armhp.bos: set YARD_OPEN to 1; +armhp.bos: set BUGGER_OFF to 1; +armhp.bos: set YARD_OPEN to 1; +armhp.bos: set BUGGER_OFF to 0; +armhp.bos: set YARD_OPEN to 0; +armhp.bos: set BUGGER_OFF to 1; +armhp.bos: set YARD_OPEN to 0; +armhp.bos: set BUGGER_OFF to 0; +armhp.bos: set INBUILDSTANCE to 1; +armhp.bos: set INBUILDSTANCE to 0; +armjam.bos: set ACTIVATION to 0; +armjam.bos: set ACTIVATION to 0; +armjam.bos: set ACTIVATION to 100; +Binary file armjanus.cob matches +Binary file armjeth.cob matches +Binary file armjuno.cob matches +Binary file armkam.cob matches +armlab.bos: set YARD_OPEN to 1; +armlab.bos: set BUGGER_OFF to 1; +armlab.bos: set YARD_OPEN to 1; +armlab.bos: set BUGGER_OFF to 0; +armlab.bos: set YARD_OPEN to 0; +armlab.bos: set BUGGER_OFF to 1; +armlab.bos: set YARD_OPEN to 0; +armlab.bos: set BUGGER_OFF to 0; +armlab.bos: set INBUILDSTANCE to 1; +armlab.bos: set INBUILDSTANCE to 0; +Binary file armlatnk.cob matches +Binary file armlun.cob matches +Binary file armmanni.cob matches +Binary file armmar.cob matches +fgrep: armmar_lus: Is a directory +Binary file armmark.cob matches +Binary file armmart.cob matches +Binary file armmav.cob matches +armmercury.bos: set DELAY_UNIT_VAR to 0; +Binary file armmercury.cob matches +armmerl.bos: set ARMORED to 1; +armmerl.bos: set ARMORED to 0; +armmerl.bos: set ARMORED to 0; +armmerl.bos: set-signal-mask SIG_RESTORE; +Binary file armmerl.cob matches +armmh.bos: set-signal-mask SIG_RESTORE; +Binary file armmh.cob matches +armmls.bos: set INBUILDSTANCE to 1; +armmls.bos: set INBUILDSTANCE to 0; +Binary file armmls.cob matches +armmlv.bos: set INBUILDSTANCE to 1; +armmlv.bos: set INBUILDSTANCE to 0; +armmmkr.bos: set ARMORED to 0; //Not needed as MM in BAR have no damage modif +yer tag set +armmmkr.bos: set ARMORED to 1; +Binary file armmship.cob matches +armnanotc.bos: set INBUILDSTANCE to 1; +armnanotc.bos: set INBUILDSTANCE to 0; +Binary file armnanotc.cob matches +armnanotcplat.bos: set INBUILDSTANCE to 1; +armnanotcplat.bos: set INBUILDSTANCE to 0; +Binary file armnanotcplat.cob matches +armpb.bos: set ARMORED to 0; +armpb.bos: set ARMORED to 1; +armpb.bos: set-signal-mask SIG_RESTORE; +Binary file armpb.cob matches +Binary file armpincer.cob matches +armplat.bos: set ARMORED to 0; +armplat.bos: set ARMORED to 1; +armplat.bos: set YARD_OPEN to 1; +armplat.bos: set BUGGER_OFF to 1; +armplat.bos: set YARD_OPEN to 1; +armplat.bos: set BUGGER_OFF to 0; +armplat.bos: set YARD_OPEN to 0; +armplat.bos: set BUGGER_OFF to 1; +armplat.bos: set YARD_OPEN to 0; +armplat.bos: set BUGGER_OFF to 0; +armplat.bos: set INBUILDSTANCE to 1; +armplat.bos: set INBUILDSTANCE to 0; +armplat.bos: set ARMORED to 1; +Binary file armpship.cob matches +Binary file armpt.cob matches +Binary file armptl.cob matches +armpw.bos: bAnimate = TRUE; // this sets animation started, so that + StopAnimate knows that it should restore state quickly +Binary file armpw.cob matches +armrecl.bos: set INBUILDSTANCE to 1; +armrecl.bos: set INBUILDSTANCE to 0; +armrectr.bos: set INBUILDSTANCE to 0; +armrectr.bos: set INBUILDSTANCE to 1; +armrectrt4.bos: set INBUILDSTANCE to 0; +armrectrt4.bos: set INBUILDSTANCE to 1; +Binary file armrl.cob matches +Binary file armrock.cob matches +Binary file armroy.cob matches +Binary file armsaber.cob matches +Binary file armsam.cob matches +Binary file armsb.cob matches +Binary file armscab.cob matches +Binary file armserp.cob matches +Binary file armsh.cob matches +armshltx.bos: set YARD_OPEN to 1; +armshltx.bos: set BUGGER_OFF to 1; +armshltx.bos: set YARD_OPEN to 1; +armshltx.bos: set BUGGER_OFF to 0; +armshltx.bos: set YARD_OPEN to 0; +armshltx.bos: set BUGGER_OFF to 1; +armshltx.bos: set YARD_OPEN to 0; +armshltx.bos: set BUGGER_OFF to 0; +armshltx.bos: set INBUILDSTANCE to 1; +armshltx.bos: set INBUILDSTANCE to 0; +Binary file armsilo.cob matches +armsjam.bos: set ACTIVATION to 0; +armsjam.bos: set ACTIVATION to 0; +armsjam.bos: set ACTIVATION to 100; +Binary file armsjam.cob matches +Binary file armsnipe.cob matches +armsolar.bos: set YARD_OPEN to 1; +armsolar.bos: set BUGGER_OFF to 1; +armsolar.bos: set YARD_OPEN to 1; +armsolar.bos: set BUGGER_OFF to 0; +armsolar.bos: set YARD_OPEN to 0; +armsolar.bos: set BUGGER_OFF to 1; +armsolar.bos: set YARD_OPEN to 0; +armsolar.bos: set BUGGER_OFF to 0; +armsolar.bos: set ACTIVATION to 0; +armsolar.bos: set ARMORED to 0; +armsolar.bos: set YARD_OPEN to 0; +armsolar.bos: set ARMORED to 1; +armsolar.bos: set YARD_OPEN to 1; +armsolar.bos: set ACTIVATION to 0; +armsolar.bos: set ACTIVATION to 0; +armsolar.bos: set ACTIVATION to 100; +Binary file armspid.cob matches +Binary file armsptk.cob matches +armspy.bos: set ACTIVATION to 0; +armspy.bos: set INBUILDSTANCE to 1; +armspy.bos: set INBUILDSTANCE to 0; +armspy.bos: set ACTIVATION to 0; +armspy.bos: set ACTIVATION to 100; +Binary file armstump.cob matches +Binary file armsub.cob matches +armsy.bos: set YARD_OPEN to 1; +armsy.bos: set BUGGER_OFF to 1; +armsy.bos: set YARD_OPEN to 1; +armsy.bos: set BUGGER_OFF to 0; +armsy.bos: set YARD_OPEN to 0; +armsy.bos: set BUGGER_OFF to 1; +armsy.bos: set YARD_OPEN to 0; +armsy.bos: set BUGGER_OFF to 0; +armsy.bos: set INBUILDSTANCE to 1; +armsy.bos: set INBUILDSTANCE to 0; +armtarg.bos: set ARMORED to 1; +armtarg.bos: set ACTIVATION to 0; +armtarg.bos: set ACTIVATION to 1; +armthovr.bos: set BUSY to 1; +armthovr.bos: set BUSY to 0; +armthovr.bos: set BUSY to 1; +armthovr.bos: set BUSY to 0; +Binary file armthovr.cob matches +Binary file armtl.cob matches +armtship.bos: set BUSY to 1; +armtship.bos: set BUSY to 0; +armtship.bos: set BUSY to 1; +armtship.bos: set BUSY to 0; +Binary file armtship.cob matches +Binary file armvang.cob matches +armvp.bos: set ARMORED to 0; +armvp.bos: set ARMORED to 1; +armvp.bos: set YARD_OPEN to 1; +armvp.bos: set BUGGER_OFF to 1; +armvp.bos: set YARD_OPEN to 1; +armvp.bos: set BUGGER_OFF to 0; +armvp.bos: set YARD_OPEN to 0; +armvp.bos: set BUGGER_OFF to 1; +armvp.bos: set YARD_OPEN to 0; +armvp.bos: set BUGGER_OFF to 0; +armvp.bos: set INBUILDSTANCE to 1; +armvp.bos: set INBUILDSTANCE to 0; +armvp.bos: set ARMORED to 1; +Binary file armwar.cob matches +armwin.bos: set ACTIVATION to 100; +armwin.bos: set ACTIVATION to 0; +armwin.bos: set ACTIVATION to 100; +Binary file armwin.cob matches +Binary file armyork.cob matches +Binary file armzeus.cob matches +Binary file cob_file.pyc matches +constants.h:#define BUGGER_OFF 19 // set or get (ask other units to cl +ear the area) +constants.h:#define CHANGE_TARGET 98 // set, the value it's set to d +etermines the affected weapon +coraap.bos: set YARD_OPEN to 1; +coraap.bos: set BUGGER_OFF to 1; +coraap.bos: set YARD_OPEN to 1; +coraap.bos: set BUGGER_OFF to 0; +coraap.bos: set YARD_OPEN to 0; +coraap.bos: set BUGGER_OFF to 1; +coraap.bos: set YARD_OPEN to 0; +coraap.bos: set BUGGER_OFF to 0; +coraap.bos: set INBUILDSTANCE to 1; +coraap.bos: set INBUILDSTANCE to 0; +coraca.bos: set INBUILDSTANCE to 1; +coraca.bos: set INBUILDSTANCE to 0; +corack.bos: set INBUILDSTANCE to 0; +corack.bos: set INBUILDSTANCE to 1; +coracsub.bos: set INBUILDSTANCE to 0; +coracsub.bos: set INBUILDSTANCE to 1; +coracv.bos: set INBUILDSTANCE to 0; +coracv.bos: set INBUILDSTANCE to 1; +Binary file coracv.cob matches +coradvsol.bos:/* 57:*/ set ARMORED to 0; +coradvsol.bos:/* 5f:*/ set ARMORED to 1; +coradvsol.bos:/* 7d:*/ set ACTIVATION to 0; +coradvsol.bos:/* 85:*/ set ACTIVATION to 100; +corafus.bos:/* b0:*/ set ARMORED to 1; +corafus.bos:/* ba:*/ set ARMORED to 0; +Binary file corah.cob matches +Binary file corak.cob matches +Binary file coramph.cob matches +coramsub.bos:/* 87:*/ set YARD_OPEN to 1; +coramsub.bos:/* 92:*/ set BUGGER_OFF to 1; +coramsub.bos:/* 9a:*/ set YARD_OPEN to 1; +coramsub.bos:/* a1:*/ set BUGGER_OFF to 0; +coramsub.bos:/* a9:*/ set YARD_OPEN to 0; +coramsub.bos:/* b3:*/ set BUGGER_OFF to 1; +coramsub.bos:/* bb:*/ set YARD_OPEN to 0; +coramsub.bos:/* c2:*/ set BUGGER_OFF to 0; +coramsub.bos:/* d0:*/ set INBUILDSTANCE to 1; +coramsub.bos:/* d8:*/ set INBUILDSTANCE to 0; +corap.bos:/* 17e:*/ set YARD_OPEN to 1; +corap.bos:/* 189:*/ set BUGGER_OFF to 1; +corap.bos:/* 191:*/ set YARD_OPEN to 1; +corap.bos:/* 198:*/ set BUGGER_OFF to 0; +corap.bos:/* 1a0:*/ set YARD_OPEN to 0; +corap.bos:/* 1aa:*/ set BUGGER_OFF to 1; +corap.bos:/* 1b2:*/ set YARD_OPEN to 0; +corap.bos:/* 1b9:*/ set BUGGER_OFF to 0; +corap.bos:/* 1d5:*/ set INBUILDSTANCE to 1; +corap.bos:/* 1dd:*/ set INBUILDSTANCE to 0; +Binary file corarch.cob matches +corasy.bos: set YARD_OPEN to 1; +corasy.bos: set BUGGER_OFF to 1; +corasy.bos: set YARD_OPEN to 1; +corasy.bos: set BUGGER_OFF to 0; +corasy.bos: set YARD_OPEN to 0; +corasy.bos: set BUGGER_OFF to 1; +corasy.bos: set YARD_OPEN to 0; +corasy.bos: set BUGGER_OFF to 0; +corasy.bos: set INBUILDSTANCE to 1; +corasy.bos: set INBUILDSTANCE to 0; +corasye.bos: set YARD_OPEN to 1; +corasye.bos: set BUGGER_OFF to 1; +corasye.bos: set YARD_OPEN to 1; +corasye.bos: set BUGGER_OFF to 0; +corasye.bos: set YARD_OPEN to 0; +corasye.bos: set BUGGER_OFF to 1; +corasye.bos: set YARD_OPEN to 0; +corasye.bos: set BUGGER_OFF to 0; +corasye.bos: set INBUILDSTANCE to 1; +corasye.bos: set INBUILDSTANCE to 0; +coravp.bos: set YARD_OPEN to 1; +coravp.bos: set BUGGER_OFF to 1; +coravp.bos: set YARD_OPEN to 1; +coravp.bos: set BUGGER_OFF to 0; +coravp.bos: set YARD_OPEN to 0; +coravp.bos: set BUGGER_OFF to 1; +coravp.bos: set YARD_OPEN to 0; +coravp.bos: set BUGGER_OFF to 0; +coravp.bos: set INBUILDSTANCE to 1; +coravp.bos: set INBUILDSTANCE to 0; +Binary file corban.cob matches +Binary file corbats.cob matches +corbhmth.bos: set ACTIVATION to 100; +corbhmth.bos: set ACTIVATION to 0; +corblackhy.bos: set ARMORED to 1; +Binary file corblackhy.cob matches +corbw.bos: set UNKNOWN_UNIT_VALUE(82) to 0 - 1500 + get UNK +NOWN_UNIT_VALUE(82); +corbw.bos: set UNKNOWN_UNIT_VALUE(82) to 1500 + get UNKNOWN +_UNIT_VALUE(82); +corca.bos: set INBUILDSTANCE to 1; +corca.bos: set INBUILDSTANCE to 0; +Binary file corcan.cob matches +Binary file corcarry.cob matches +Binary file corcat.cob matches +corch.bos: set INBUILDSTANCE to 0; +corch.bos: set INBUILDSTANCE to 1; +Binary file corch.cob matches +corck.bos: set INBUILDSTANCE to 0; +corck.bos: set INBUILDSTANCE to 1; +corcom.bos: set INBUILDSTANCE to 1; +corcom.bos: set INBUILDSTANCE to 0; +corcomboss.bos: set INBUILDSTANCE to 1; +corcomboss.bos: set INBUILDSTANCE to 0; +Binary file corcrash.cob matches +Binary file corcrus.cob matches +Binary file corcrw.cob matches +corcs.bos: set INBUILDSTANCE to 1; +corcs.bos: set INBUILDSTANCE to 0; +corcsa.bos: set INBUILDSTANCE to 1; +corcsa.bos: set INBUILDSTANCE to 0; +Binary file corcut.cob matches +corcv.bos: set INBUILDSTANCE to 0; +corcv.bos: set INBUILDSTANCE to 1; +cordoom.bos: set ARMORED to 0; +cordoom.bos: set ARMORED to 1; +Binary file corenaa.cob matches +corerad.bos: set CHANGE_TARGET to 1; +Binary file corerad.cob matches +Binary file coresupp.cob matches +coreter.bos: set ACTIVATION to 0; +coreter.bos: set ACTIVATION to 0; +coreter.bos: set ACTIVATION to 100; +Binary file corexp.cob matches +corfast.bos: set INBUILDSTANCE to 1; +corfast.bos: set INBUILDSTANCE to 0; +Binary file corfav.cob matches +corfhp.bos:/* 162:*/ set YARD_OPEN to 1; +corfhp.bos:/* 16d:*/ set BUGGER_OFF to 1; +corfhp.bos:/* 175:*/ set YARD_OPEN to 1; +corfhp.bos:/* 17c:*/ set BUGGER_OFF to 0; +corfhp.bos:/* 184:*/ set YARD_OPEN to 0; +corfhp.bos:/* 18e:*/ set BUGGER_OFF to 1; +corfhp.bos:/* 196:*/ set YARD_OPEN to 0; +corfhp.bos:/* 19d:*/ set BUGGER_OFF to 0; +corfhp.bos:/* 1bb:*/ set INBUILDSTANCE to 1; +corfhp.bos:/* 1c3:*/ set INBUILDSTANCE to 0; +Binary file corflak.cob matches +corfmkr.bos: set ACTIVATION to 1; +corfmkr.bos: set ACTIVATION to 0; +Binary file corfrock.cob matches +Binary file corfrt.cob matches +corgant.bos: set YARD_OPEN to 1; +corgant.bos: set BUGGER_OFF to 1; +corgant.bos: set YARD_OPEN to 1; +corgant.bos: set BUGGER_OFF to 0; +corgant.bos: set YARD_OPEN to 0; +corgant.bos: set BUGGER_OFF to 1; +corgant.bos: set YARD_OPEN to 0; +corgant.bos: set BUGGER_OFF to 0; +corgant.bos: set INBUILDSTANCE to 1; +corgant.bos: set INBUILDSTANCE to 0; +Binary file corgarp.cob matches +Binary file corgator.cob matches +Binary file corgol.cob matches +Binary file corhal.cob matches +corhp.bos:/* 162:*/ set YARD_OPEN to 1; +corhp.bos:/* 16d:*/ set BUGGER_OFF to 1; +corhp.bos:/* 175:*/ set YARD_OPEN to 1; +corhp.bos:/* 17c:*/ set BUGGER_OFF to 0; +corhp.bos:/* 184:*/ set YARD_OPEN to 0; +corhp.bos:/* 18e:*/ set BUGGER_OFF to 1; +corhp.bos:/* 196:*/ set YARD_OPEN to 0; +corhp.bos:/* 19d:*/ set BUGGER_OFF to 0; +corhp.bos:/* 1bb:*/ set INBUILDSTANCE to 1; +corhp.bos:/* 1c3:*/ set INBUILDSTANCE to 0; +Binary file corhrk.cob matches +corintr.bos: set ARMORED to 1; +corintr.bos: set BUSY to 1; +corintr.bos: set BUSY to 0; +corintr.bos: set BUSY to 1; +corintr.bos: set BUSY to 0; +corjugg.bos: set CHANGE_TARGET to 2; +corjugg.bos: set CHANGE_TARGET to 3; +corjugg.bos: set CHANGE_TARGET to 4; +Binary file corjugg.cob matches +corjugg.lua_old: SetSignalMask( SIG_stop ) +Binary file corjuno.cob matches +corkarg.lua_old: SetSignalMask(SIG_RESTORE) +corkorg.bos: set ARMORED to 1; +corkorg.bos: set-signal-mask SIG_FOOTSTOMP_L; +corkorg.bos: set-signal-mask SIG_FOOTSTOMP_R; +Binary file corkorg.cob matches +Binary file corlevlr.cob matches +Binary file cormabm.cob matches +cormakr.bos: set ACTIVATION to 1; +cormakr.bos: set ACTIVATION to 0; +cormando.bos: set INBUILDSTANCE to 0; +cormando.bos: set INBUILDSTANCE to 1; +Binary file cormart.cob matches +cormaw.bos: set ARMORED to 0; +cormaw.bos: set ARMORED to 1; +Binary file cormaw.cob matches +cormex.bos: set ARMORED to 0; +cormex.bos: set ARMORED to 1; +cormexp.bos: set ARMORED to 0; +cormexp.bos: set ARMORED to 1; +cormexp.bos: set ACTIVATION to 100; +cormexp.bos: set ACTIVATION to 0; +cormexp.bos: set ARMORED to 0; +Binary file cormexp.cob matches +cormh.bos: set-signal-mask SIG_RESTORE; +Binary file cormh.cob matches +Binary file cormist.cob matches +cormls.bos: set INBUILDSTANCE to 1; +cormls.bos: set INBUILDSTANCE to 0; +cormlv.bos: set INBUILDSTANCE to 0; +cormlv.bos: set INBUILDSTANCE to 1; +cormmkr.bos: set ARMORED to 0; //Not needed as MM in BAR have no damage modi +fyer tag set +cormmkr.bos: set ARMORED to 1; +cormoho.bos: set ARMORED to 0; +cormoho.bos: set ARMORED to 1; +cormoho.bos: set ARMORED to 1; +Binary file cormort.cob matches +Binary file cormship.cob matches +cormuskrat.bos: set INBUILDSTANCE to 1; +cormuskrat.bos: set INBUILDSTANCE to 0; +cormuskrat.bos: set INBUILDSTANCE to 1; +cornanotc.bos: set INBUILDSTANCE to 1; +cornanotc.bos: set INBUILDSTANCE to 0; +Binary file cornanotc.cob matches +cornanotcplat.bos: set INBUILDSTANCE to 1; +cornanotcplat.bos: set INBUILDSTANCE to 0; +Binary file cornanotcplat.cob matches +cornecro.bos: set INBUILDSTANCE to 0; +cornecro.bos: set INBUILDSTANCE to 1; +Binary file corparrow.cob matches +corplat.bos: set ARMORED to 0; +corplat.bos: set ARMORED to 1; +corplat.bos: set YARD_OPEN to 1; +corplat.bos: set BUGGER_OFF to 1; +corplat.bos: set YARD_OPEN to 1; +corplat.bos: set BUGGER_OFF to 0; +corplat.bos: set YARD_OPEN to 0; +corplat.bos: set BUGGER_OFF to 1; +corplat.bos: set YARD_OPEN to 0; +corplat.bos: set BUGGER_OFF to 0; +corplat.bos: set INBUILDSTANCE to 1; +corplat.bos: set INBUILDSTANCE to 0; +corplat.bos: set ARMORED to 1; +Binary file corpship.cob matches +Binary file corpt.cob matches +Binary file corpyro.cob matches +Binary file corraid.cob matches +Binary file correap.cob matches +correcl.bos: set INBUILDSTANCE to 1; +correcl.bos: set INBUILDSTANCE to 0; +Binary file corrl.cob matches +Binary file corroy.cob matches +Binary file corsb.cob matches +Binary file corscreamer.cob matches +Binary file corseal.cob matches +Binary file corsent.cob matches +Binary file corsh.cob matches +corshiva.bos: set ARMORED to 1; +corshiva.bos: set ARMORED to 0; +corshiva.bos: set ARMORED to 1; +Binary file corshiva.cob matches +corshiva.lua_old: SetSignalMask( SIG_stop ) +corshiva.lua_old: SetSignalMask( SIG_stop ) +corshroud.bos:/* 80:*/ set ACTIVATION to 0; +corshroud.bos:/* 138:*/ set ACTIVATION to 0; +corshroud.bos:/* 144:*/ set ACTIVATION to 100; +Binary file corsilo.cob matches +corsjam.bos: set ACTIVATION to 0; +corsjam.bos: set ACTIVATION to 0; +corsjam.bos: set ACTIVATION to 100; +Binary file corsnap.cob matches +Binary file corsok.cob matches +corsolar.bos: set YARD_OPEN to 1; +corsolar.bos: set BUGGER_OFF to 1; +corsolar.bos: set YARD_OPEN to 1; +corsolar.bos: set BUGGER_OFF to 0; +corsolar.bos: set YARD_OPEN to 0; +corsolar.bos: set BUGGER_OFF to 1; +corsolar.bos: set YARD_OPEN to 0; +corsolar.bos: set BUGGER_OFF to 0; +corsolar.bos: set ACTIVATION to 100; +corsolar.bos: set ACTIVATION to 0; +corsolar.bos: set ARMORED to 0; +corsolar.bos: set ARMORED to 1; +corsolar.bos: set ACTIVATION to 0; +corsolar.bos: set ACTIVATION to 100; +corspec.bos: set ACTIVATION to 0; +corspec.bos: set ACTIVATION to 0; +corspec.bos: set ACTIVATION to 100; +Binary file corspec.cob matches +corspy.bos: set INBUILDSTANCE to 1; +corspy.bos: set INBUILDSTANCE to 0; +Binary file corstorm.cob matches +Binary file corsumo.cob matches +corsumo.lua_old: SetSignalMask(SIG_RESTORE) +corsy.bos: set YARD_OPEN to 1; +corsy.bos: set BUGGER_OFF to 1; +corsy.bos: set YARD_OPEN to 1; +corsy.bos: set BUGGER_OFF to 0; +corsy.bos: set YARD_OPEN to 0; +corsy.bos: set BUGGER_OFF to 1; +corsy.bos: set YARD_OPEN to 0; +corsy.bos: set BUGGER_OFF to 0; +corsy.bos: set INBUILDSTANCE to 1; +corsy.bos: set INBUILDSTANCE to 0; +cortarg.bos:/* 1a6:*/ set ACTIVATION to 0; +cortarg.bos:/* 1ae:*/ set ACTIVATION to 1; +Binary file cortermite.cob matches +corthovr.bos: set BUSY to 1; +corthovr.bos: set BUSY to 0; +corthovr.bos: set BUSY to 1; +corthovr.bos: set BUSY to 0; +Binary file corthovr.cob matches +Binary file corthud.cob matches +cortoast.bos: set ARMORED to 0; +cortoast.bos: set ARMORED to 1; +Binary file cortoast.cob matches +Binary file cortrem.cob matches +Binary file cortron.cob matches +cortship.bos: set BUSY to 1; +cortship.bos: set BUSY to 0; +cortship.bos: set BUSY to 1; +cortship.bos: set BUSY to 0; +Binary file cortship.cob matches +coruwmme.bos: set ARMORED to 0; +coruwmme.bos: set ARMORED to 1; +coruwmme.bos: set ARMORED to 1; +Binary file corvoyr.cob matches +corvp.bos: set YARD_OPEN to 1; +corvp.bos: set BUGGER_OFF to 1; +corvp.bos: set YARD_OPEN to 1; +corvp.bos: set BUGGER_OFF to 0; +corvp.bos: set YARD_OPEN to 0; +corvp.bos: set BUGGER_OFF to 1; +corvp.bos: set YARD_OPEN to 0; +corvp.bos: set BUGGER_OFF to 0; +corvp.bos: set INBUILDSTANCE to 1; +corvp.bos: set INBUILDSTANCE to 0; +corvroc.bos: set-signal-mask SIG_RESTORE; +Binary file corvroc.cob matches +corwin.bos: set ACTIVATION to 100; +corwin.bos: set ACTIVATION to 0; +corwin.bos: set ACTIVATION to 100; +Binary file corwin.cob matches +Binary file corwolv.cob matches +exptype.h:#define BUGGER_OFF 19 // set or get (ask other units to clea +r the area) +exptype.h:#define CHANGE_TARGET 98 // set, the value it's set to det +ermines the affected weapon +Binary file fgrep.exe matches +meteor.bos: //set UNKNOWN_UNIT_VALUE(76) to 1; +meteor.bos: set ARMORED to 0; +meteor.bos: //set UNKNOWN_UNIT_VALUE(76) to 0; +fgrep: New folder: Is a directory +roost.bos: set ARMORED to 0; +fgrep: scavboss: Is a directory +fgrep: scavbuildings: Is a directory +standard_commands_gpl.h:#define BUGGER_OFF 19 // set or get (a +sk other units to clear the area) +yard.h: set YARD_OPEN to TRUE; +yard.h: set BUGGER_OFF to TRUE; +yard.h: set YARD_OPEN to TRUE; +yard.h: set BUGGER_OFF to FALSE; +yard.h: set YARD_OPEN to FALSE; +yard.h: set BUGGER_OFF to TRUE; +yard.h: set YARD_OPEN to FALSE; +yard.h: set BUGGER_OFF to FALSE; + +C:\Users\Peti\Documents\my games\Spring\games\Beyond-All-Reason.sdd\scripts\Unit +s>fgrep -i -E set.+to * > COB_SET.txt +fgrep: armmar_lus: Is a directory +^C +C:\Users\Peti\Documents\my games\Spring\games\Beyond-All-Reason.sdd\scripts\Unit +s>fgrep --help +Usage: fgrep [OPTION]... PATTERN [FILE] ... +Search for PATTERN in each FILE or standard input. + +Regexp selection and interpretation: + -E, --extended-regexp PATTERN is an extended regular expression + -F, --fixed-regexp PATTERN is a fixed string separated by newlines + -G, --basic-regexp PATTERN is a basic regular expression + -e, --regexp=PATTERN use PATTERN as a regular expression + -f, --file=FILE obtain PATTERN from FILE + -i, --ignore-case ignore case distinctions + -w, --word-regexp force PATTERN to match only whole words + -x, --line-regexp force PATTERN to match only whole lines + +Miscellaneous: + -s, --no-messages suppress error messages + -v, --revert-match select non-matching lines + -V, --version print version information and exit + --help display this help and exit + +Output control: + -b, --byte-offset print the byte offset with output lines + -n, --line-number print line number with output lines + -H, --with-filename print the filename for each match + -h, --no-filename suppress the prefixing filename on output + -q, --quiet, --silent suppress all normal output + -a, --text do not suppress binary output + -d, --directories=ACTION how to handle directories + ACTION is 'read', 'recurse', or 'skip'. + -r, --recursive equivalent to --directories=recurse. + -L, --files-without-match only print FILE names containing no match + -l, --files-with-matches only print FILE names containing matches + -c, --count only print a count of matching lines per FILE + +Context control: + -B, --before-context=NUM print NUM lines of leading context + -A, --after-context=NUM print NUM lines of trailing context + -C, --context[=NUM] print NUM (default 2) lines of output context + unless overriden by -A or -B + -NUM same as --context=NUM + -U, --binary do not strip CR characters at EOL (MSDOS) + -u, --unix-byte-offsets report offsets as if CRs were not there (MSDOS) + +If no -[GEF], then `egrep' assumes -E, `fgrep' -F, else -G. +With no FILE, or when FILE is -, read standard input. If less than +two FILEs given, assume -h. Exit with 0 if matches, with 1 if none. +Exit with 2 if syntax errors or system errors. + +Report bugs to . + +C:\Users\Peti\Documents\my games\Spring\games\Beyond-All-Reason.sdd\scripts\Unit +s>fgrep -i -E set.+to * +Binary file armaak.cob matches +armaap.bos: set YARD_OPEN to 1; +armaap.bos: set BUGGER_OFF to 1; +armaap.bos: set YARD_OPEN to 1; +armaap.bos: set BUGGER_OFF to 0; +armaap.bos: set YARD_OPEN to 0; +armaap.bos: set BUGGER_OFF to 1; +armaap.bos: set YARD_OPEN to 0; +armaap.bos: set BUGGER_OFF to 0; +armaap.bos: set INBUILDSTANCE to 1; +armaap.bos: set INBUILDSTANCE to 0; +Binary file armaas.cob matches +armaca.bos: set INBUILDSTANCE to 1; +armaca.bos: set INBUILDSTANCE to 0; +armack.bos: set INBUILDSTANCE to 0; +armack.bos: set INBUILDSTANCE to 1; +armacsub.bos: set INBUILDSTANCE to 0; +armacsub.bos: set INBUILDSTANCE to 1; +armacv.bos: set INBUILDSTANCE to 0; +armacv.bos: set INBUILDSTANCE to 1; +Binary file armacv.cob matches +armadvsol.bos: set ARMORED to 0; +armadvsol.bos: set ARMORED to 1; +armafus.bos: set ARMORED to 1; +armafus.bos: set ARMORED to 0; +Binary file armah.cob matches +armalab.bos: set YARD_OPEN to 1; +armalab.bos: set BUGGER_OFF to 1; +armalab.bos: set YARD_OPEN to 1; +armalab.bos: set BUGGER_OFF to 0; +armalab.bos: set YARD_OPEN to 0; +armalab.bos: set BUGGER_OFF to 1; +armalab.bos: set YARD_OPEN to 0; +armalab.bos: set BUGGER_OFF to 0; +armalab.bos: set INBUILDSTANCE to 1; +armalab.bos: set INBUILDSTANCE to 0; +armamb.bos: set ARMORED to 0; +armamb.bos: set ARMORED to 1; +Binary file armamb.cob matches +armamex.bos: set ARMORED to 0; +armamex.bos: set ARMORED to 1; +armamex.bos: set ACTIVATION to 0; +armamex.bos: set ACTIVATION to 100; +Binary file armamph.cob matches +armamsub.bos: set YARD_OPEN to 1; +armamsub.bos: set BUGGER_OFF to 1; +armamsub.bos: set YARD_OPEN to 1; +armamsub.bos: set BUGGER_OFF to 0; +armamsub.bos: set YARD_OPEN to 0; +armamsub.bos: set BUGGER_OFF to 1; +armamsub.bos: set YARD_OPEN to 0; +armamsub.bos: set BUGGER_OFF to 0; +armamsub.bos: set INBUILDSTANCE to 1; +armamsub.bos: set INBUILDSTANCE to 0; +Binary file armanac.cob matches +armanni.bos: set ARMORED to 0; +armanni.bos: set ARMORED to 1; +armap.bos: set YARD_OPEN to 1; +armap.bos: set BUGGER_OFF to 1; +armap.bos: set YARD_OPEN to 1; +armap.bos: set BUGGER_OFF to 0; +armap.bos: set YARD_OPEN to 0; +armap.bos: set BUGGER_OFF to 1; +armap.bos: set YARD_OPEN to 0; +armap.bos: set BUGGER_OFF to 0; +armap.bos: set INBUILDSTANCE to 1; +armap.bos: set INBUILDSTANCE to 0; +Binary file armart.cob matches +armaser.bos: set ACTIVATION to 0; +armaser.bos: set ACTIVATION to 0; +armaser.bos: set ACTIVATION to 100; +Binary file armaser.cob matches +armasy.bos: set YARD_OPEN to 1; +armasy.bos: set BUGGER_OFF to 1; +armasy.bos: set YARD_OPEN to 1; +armasy.bos: set BUGGER_OFF to 0; +armasy.bos: set YARD_OPEN to 0; +armasy.bos: set BUGGER_OFF to 1; +armasy.bos: set YARD_OPEN to 0; +armasy.bos: set BUGGER_OFF to 0; +armasy.bos: set INBUILDSTANCE to 1; +armasy.bos: set INBUILDSTANCE to 0; +Binary file armatl.cob matches +armavp.bos: set YARD_OPEN to 1; +armavp.bos: set BUGGER_OFF to 1; +armavp.bos: set YARD_OPEN to 1; +armavp.bos: set BUGGER_OFF to 0; +armavp.bos: set YARD_OPEN to 0; +armavp.bos: set BUGGER_OFF to 1; +armavp.bos: set YARD_OPEN to 0; +armavp.bos: set BUGGER_OFF to 0; +armavp.bos: set INBUILDSTANCE to 1; +armavp.bos: set INBUILDSTANCE to 0; +Binary file armbanth.cob matches +Binary file armbats.cob matches +armbeaver.bos: set INBUILDSTANCE to 0; +armbeaver.bos: set INBUILDSTANCE to 1; +Binary file armbrawl.cob matches +Binary file armbull.cob matches +armca.bos: set INBUILDSTANCE to 1; +armca.bos: set INBUILDSTANCE to 0; +Binary file armcarry.cob matches +armch.bos: set INBUILDSTANCE to 0; +armch.bos: set INBUILDSTANCE to 1; +Binary file armch.cob matches +Binary file armcir.cob matches +armck.bos: set INBUILDSTANCE to 0; +armck.bos: set INBUILDSTANCE to 1; +armckfus.bos: set ARMORED to 1; +armckfus.bos: set ARMORED to 0; +armclaw.bos: set ARMORED to 0; +armclaw.bos: set ARMORED to 1; +Binary file armclaw.cob matches +armcom.bos: set INBUILDSTANCE to 1; +armcom.bos: set INBUILDSTANCE to 0; +armcomboss.bos: set INBUILDSTANCE to 1; +armcomboss.bos: set INBUILDSTANCE to 0; +armconsul.bos: set INBUILDSTANCE to 1; +armconsul.bos: set INBUILDSTANCE to 0; +Binary file armcroc.cob matches +Binary file armcrus.cob matches +armcs.bos: set INBUILDSTANCE to 0; +armcs.bos: set INBUILDSTANCE to 1; +Binary file armcs.cob matches +armcsa.bos: set INBUILDSTANCE to 1; +armcsa.bos: set INBUILDSTANCE to 0; +armcv.bos: set INBUILDSTANCE to 0; +armcv.bos: set INBUILDSTANCE to 1; +Binary file armdecade.cob matches +armdf.bos: set ARMORED to 1; +armdf.bos: set ARMORED to 0; +Binary file armemp.cob matches +armepoch.bos: set ARMORED to 1; +Binary file armepoch.cob matches +armfark.bos: set INBUILDSTANCE to 0; +armfark.bos: set INBUILDSTANCE to 1; +Binary file armfast.cob matches +Binary file armfav.cob matches +Binary file armfboy.cob matches +armferret.bos: set ARMORED to 0; +armferret.bos: set ARMORED to 1; +Binary file armferret.cob matches +Binary file armfflak.cob matches +armfhp.bos: set YARD_OPEN to 1; +armfhp.bos: set BUGGER_OFF to 1; +armfhp.bos: set YARD_OPEN to 1; +armfhp.bos: set BUGGER_OFF to 0; +armfhp.bos: set YARD_OPEN to 0; +armfhp.bos: set BUGGER_OFF to 1; +armfhp.bos: set YARD_OPEN to 0; +armfhp.bos: set BUGGER_OFF to 0; +armfhp.bos: set INBUILDSTANCE to 1; +armfhp.bos: set INBUILDSTANCE to 0; +Binary file armfido.cob matches +Binary file armflak.cob matches +Binary file armflash.cob matches +Binary file armflea.cob matches +Binary file armfrt.cob matches +armfus.bos: set ARMORED to 1; +armfus.bos: set ARMORED to 0; +armgmm.bos: set ARMORED to 0; +armgmm.bos: set ARMORED to 1; +Binary file armgplat.cob matches +Binary file armgremlin.cob matches +Binary file armham.cob matches +armhp.bos: set YARD_OPEN to 1; +armhp.bos: set BUGGER_OFF to 1; +armhp.bos: set YARD_OPEN to 1; +armhp.bos: set BUGGER_OFF to 0; +armhp.bos: set YARD_OPEN to 0; +armhp.bos: set BUGGER_OFF to 1; +armhp.bos: set YARD_OPEN to 0; +armhp.bos: set BUGGER_OFF to 0; +armhp.bos: set INBUILDSTANCE to 1; +armhp.bos: set INBUILDSTANCE to 0; +armjam.bos: set ACTIVATION to 0; +armjam.bos: set ACTIVATION to 0; +armjam.bos: set ACTIVATION to 100; +Binary file armjanus.cob matches +Binary file armjeth.cob matches +Binary file armjuno.cob matches +Binary file armkam.cob matches +armlab.bos: set YARD_OPEN to 1; +armlab.bos: set BUGGER_OFF to 1; +armlab.bos: set YARD_OPEN to 1; +armlab.bos: set BUGGER_OFF to 0; +armlab.bos: set YARD_OPEN to 0; +armlab.bos: set BUGGER_OFF to 1; +armlab.bos: set YARD_OPEN to 0; +armlab.bos: set BUGGER_OFF to 0; +armlab.bos: set INBUILDSTANCE to 1; +armlab.bos: set INBUILDSTANCE to 0; +Binary file armlatnk.cob matches +Binary file armlun.cob matches +Binary file armmanni.cob matches +Binary file armmar.cob matches +fgrep: armmar_lus: Is a directory +Binary file armmark.cob matches +Binary file armmart.cob matches +Binary file armmav.cob matches +armmercury.bos: set DELAY_UNIT_VAR to 0; +Binary file armmercury.cob matches +armmerl.bos: set ARMORED to 1; +armmerl.bos: set ARMORED to 0; +armmerl.bos: set ARMORED to 0; +armmerl.bos: set-signal-mask SIG_RESTORE; +Binary file armmerl.cob matches +armmh.bos: set-signal-mask SIG_RESTORE; +Binary file armmh.cob matches +armmls.bos: set INBUILDSTANCE to 1; +armmls.bos: set INBUILDSTANCE to 0; +Binary file armmls.cob matches +armmlv.bos: set INBUILDSTANCE to 1; +armmlv.bos: set INBUILDSTANCE to 0; +armmmkr.bos: set ARMORED to 0; //Not needed as MM in BAR have no damage modif +yer tag set +armmmkr.bos: set ARMORED to 1; +Binary file armmship.cob matches +armnanotc.bos: set INBUILDSTANCE to 1; +armnanotc.bos: set INBUILDSTANCE to 0; +Binary file armnanotc.cob matches +armnanotcplat.bos: set INBUILDSTANCE to 1; +armnanotcplat.bos: set INBUILDSTANCE to 0; +Binary file armnanotcplat.cob matches +armpb.bos: set ARMORED to 0; +armpb.bos: set ARMORED to 1; +armpb.bos: set-signal-mask SIG_RESTORE; +Binary file armpb.cob matches +Binary file armpincer.cob matches +armplat.bos: set ARMORED to 0; +armplat.bos: set ARMORED to 1; +armplat.bos: set YARD_OPEN to 1; +armplat.bos: set BUGGER_OFF to 1; +armplat.bos: set YARD_OPEN to 1; +armplat.bos: set BUGGER_OFF to 0; +armplat.bos: set YARD_OPEN to 0; +armplat.bos: set BUGGER_OFF to 1; +armplat.bos: set YARD_OPEN to 0; +armplat.bos: set BUGGER_OFF to 0; +armplat.bos: set INBUILDSTANCE to 1; +armplat.bos: set INBUILDSTANCE to 0; +armplat.bos: set ARMORED to 1; +Binary file armpship.cob matches +Binary file armpt.cob matches +Binary file armptl.cob matches +armpw.bos: bAnimate = TRUE; // this sets animation started, so that + StopAnimate knows that it should restore state quickly +Binary file armpw.cob matches +armrecl.bos: set INBUILDSTANCE to 1; +armrecl.bos: set INBUILDSTANCE to 0; +armrectr.bos: set INBUILDSTANCE to 0; +armrectr.bos: set INBUILDSTANCE to 1; +armrectrt4.bos: set INBUILDSTANCE to 0; +armrectrt4.bos: set INBUILDSTANCE to 1; +Binary file armrl.cob matches +Binary file armrock.cob matches +Binary file armroy.cob matches +Binary file armsaber.cob matches +Binary file armsam.cob matches +Binary file armsb.cob matches +Binary file armscab.cob matches +Binary file armserp.cob matches +Binary file armsh.cob matches +armshltx.bos: set YARD_OPEN to 1; +armshltx.bos: set BUGGER_OFF to 1; +armshltx.bos: set YARD_OPEN to 1; +armshltx.bos: set BUGGER_OFF to 0; +armshltx.bos: set YARD_OPEN to 0; +armshltx.bos: set BUGGER_OFF to 1; +armshltx.bos: set YARD_OPEN to 0; +armshltx.bos: set BUGGER_OFF to 0; +armshltx.bos: set INBUILDSTANCE to 1; +armshltx.bos: set INBUILDSTANCE to 0; +Binary file armsilo.cob matches +armsjam.bos: set ACTIVATION to 0; +armsjam.bos: set ACTIVATION to 0; +armsjam.bos: set ACTIVATION to 100; +Binary file armsjam.cob matches +Binary file armsnipe.cob matches +armsolar.bos: set YARD_OPEN to 1; +armsolar.bos: set BUGGER_OFF to 1; +armsolar.bos: set YARD_OPEN to 1; +armsolar.bos: set BUGGER_OFF to 0; +armsolar.bos: set YARD_OPEN to 0; +armsolar.bos: set BUGGER_OFF to 1; +armsolar.bos: set YARD_OPEN to 0; +armsolar.bos: set BUGGER_OFF to 0; +armsolar.bos: set ACTIVATION to 0; +armsolar.bos: set ARMORED to 0; +armsolar.bos: set YARD_OPEN to 0; +armsolar.bos: set ARMORED to 1; +armsolar.bos: set YARD_OPEN to 1; +armsolar.bos: set ACTIVATION to 0; +armsolar.bos: set ACTIVATION to 0; +armsolar.bos: set ACTIVATION to 100; +Binary file armspid.cob matches +Binary file armsptk.cob matches +armspy.bos: set ACTIVATION to 0; +armspy.bos: set INBUILDSTANCE to 1; +armspy.bos: set INBUILDSTANCE to 0; +armspy.bos: set ACTIVATION to 0; +armspy.bos: set ACTIVATION to 100; +Binary file armstump.cob matches +Binary file armsub.cob matches +armsy.bos: set YARD_OPEN to 1; +armsy.bos: set BUGGER_OFF to 1; +armsy.bos: set YARD_OPEN to 1; +armsy.bos: set BUGGER_OFF to 0; +armsy.bos: set YARD_OPEN to 0; +armsy.bos: set BUGGER_OFF to 1; +armsy.bos: set YARD_OPEN to 0; +armsy.bos: set BUGGER_OFF to 0; +armsy.bos: set INBUILDSTANCE to 1; +armsy.bos: set INBUILDSTANCE to 0; +armtarg.bos: set ARMORED to 1; +armtarg.bos: set ACTIVATION to 0; +armtarg.bos: set ACTIVATION to 1; +armthovr.bos: set BUSY to 1; +armthovr.bos: set BUSY to 0; +armthovr.bos: set BUSY to 1; +armthovr.bos: set BUSY to 0; +Binary file armthovr.cob matches +Binary file armtl.cob matches +armtship.bos: set BUSY to 1; +armtship.bos: set BUSY to 0; +armtship.bos: set BUSY to 1; +armtship.bos: set BUSY to 0; +Binary file armtship.cob matches +Binary file armvang.cob matches +armvp.bos: set ARMORED to 0; +armvp.bos: set ARMORED to 1; +armvp.bos: set YARD_OPEN to 1; +armvp.bos: set BUGGER_OFF to 1; +armvp.bos: set YARD_OPEN to 1; +armvp.bos: set BUGGER_OFF to 0; +armvp.bos: set YARD_OPEN to 0; +armvp.bos: set BUGGER_OFF to 1; +armvp.bos: set YARD_OPEN to 0; +armvp.bos: set BUGGER_OFF to 0; +armvp.bos: set INBUILDSTANCE to 1; +armvp.bos: set INBUILDSTANCE to 0; +armvp.bos: set ARMORED to 1; +Binary file armwar.cob matches +armwin.bos: set ACTIVATION to 100; +armwin.bos: set ACTIVATION to 0; +armwin.bos: set ACTIVATION to 100; +Binary file armwin.cob matches +Binary file armyork.cob matches +Binary file armzeus.cob matches +Binary file cob_file.pyc matches +constants.h:#define BUGGER_OFF 19 // set or get (ask other units to cl +ear the area) +constants.h:#define CHANGE_TARGET 98 // set, the value it's set to d +etermines the affected weapon +coraap.bos: set YARD_OPEN to 1; +coraap.bos: set BUGGER_OFF to 1; +coraap.bos: set YARD_OPEN to 1; +coraap.bos: set BUGGER_OFF to 0; +coraap.bos: set YARD_OPEN to 0; +coraap.bos: set BUGGER_OFF to 1; +coraap.bos: set YARD_OPEN to 0; +coraap.bos: set BUGGER_OFF to 0; +coraap.bos: set INBUILDSTANCE to 1; +coraap.bos: set INBUILDSTANCE to 0; +coraca.bos: set INBUILDSTANCE to 1; +coraca.bos: set INBUILDSTANCE to 0; +corack.bos: set INBUILDSTANCE to 0; +corack.bos: set INBUILDSTANCE to 1; +coracsub.bos: set INBUILDSTANCE to 0; +coracsub.bos: set INBUILDSTANCE to 1; +coracv.bos: set INBUILDSTANCE to 0; +coracv.bos: set INBUILDSTANCE to 1; +Binary file coracv.cob matches +coradvsol.bos:/* 57:*/ set ARMORED to 0; +coradvsol.bos:/* 5f:*/ set ARMORED to 1; +coradvsol.bos:/* 7d:*/ set ACTIVATION to 0; +coradvsol.bos:/* 85:*/ set ACTIVATION to 100; +corafus.bos:/* b0:*/ set ARMORED to 1; +corafus.bos:/* ba:*/ set ARMORED to 0; +Binary file corah.cob matches +Binary file corak.cob matches +Binary file coramph.cob matches +coramsub.bos:/* 87:*/ set YARD_OPEN to 1; +coramsub.bos:/* 92:*/ set BUGGER_OFF to 1; +coramsub.bos:/* 9a:*/ set YARD_OPEN to 1; +coramsub.bos:/* a1:*/ set BUGGER_OFF to 0; +coramsub.bos:/* a9:*/ set YARD_OPEN to 0; +coramsub.bos:/* b3:*/ set BUGGER_OFF to 1; +coramsub.bos:/* bb:*/ set YARD_OPEN to 0; +coramsub.bos:/* c2:*/ set BUGGER_OFF to 0; +coramsub.bos:/* d0:*/ set INBUILDSTANCE to 1; +coramsub.bos:/* d8:*/ set INBUILDSTANCE to 0; +corap.bos:/* 17e:*/ set YARD_OPEN to 1; +corap.bos:/* 189:*/ set BUGGER_OFF to 1; +corap.bos:/* 191:*/ set YARD_OPEN to 1; +corap.bos:/* 198:*/ set BUGGER_OFF to 0; +corap.bos:/* 1a0:*/ set YARD_OPEN to 0; +corap.bos:/* 1aa:*/ set BUGGER_OFF to 1; +corap.bos:/* 1b2:*/ set YARD_OPEN to 0; +corap.bos:/* 1b9:*/ set BUGGER_OFF to 0; +corap.bos:/* 1d5:*/ set INBUILDSTANCE to 1; +corap.bos:/* 1dd:*/ set INBUILDSTANCE to 0; +Binary file corarch.cob matches +corasy.bos: set YARD_OPEN to 1; +corasy.bos: set BUGGER_OFF to 1; +corasy.bos: set YARD_OPEN to 1; +corasy.bos: set BUGGER_OFF to 0; +corasy.bos: set YARD_OPEN to 0; +corasy.bos: set BUGGER_OFF to 1; +corasy.bos: set YARD_OPEN to 0; +corasy.bos: set BUGGER_OFF to 0; +corasy.bos: set INBUILDSTANCE to 1; +corasy.bos: set INBUILDSTANCE to 0; +corasye.bos: set YARD_OPEN to 1; +corasye.bos: set BUGGER_OFF to 1; +corasye.bos: set YARD_OPEN to 1; +corasye.bos: set BUGGER_OFF to 0; +corasye.bos: set YARD_OPEN to 0; +corasye.bos: set BUGGER_OFF to 1; +corasye.bos: set YARD_OPEN to 0; +corasye.bos: set BUGGER_OFF to 0; +corasye.bos: set INBUILDSTANCE to 1; +corasye.bos: set INBUILDSTANCE to 0; +coravp.bos: set YARD_OPEN to 1; +coravp.bos: set BUGGER_OFF to 1; +coravp.bos: set YARD_OPEN to 1; +coravp.bos: set BUGGER_OFF to 0; +coravp.bos: set YARD_OPEN to 0; +coravp.bos: set BUGGER_OFF to 1; +coravp.bos: set YARD_OPEN to 0; +coravp.bos: set BUGGER_OFF to 0; +coravp.bos: set INBUILDSTANCE to 1; +coravp.bos: set INBUILDSTANCE to 0; +Binary file corban.cob matches +Binary file corbats.cob matches +corbhmth.bos: set ACTIVATION to 100; +corbhmth.bos: set ACTIVATION to 0; +corblackhy.bos: set ARMORED to 1; +Binary file corblackhy.cob matches +corbw.bos: set UNKNOWN_UNIT_VALUE(82) to 0 - 1500 + get UNK +NOWN_UNIT_VALUE(82); +corbw.bos: set UNKNOWN_UNIT_VALUE(82) to 1500 + get UNKNOWN +_UNIT_VALUE(82); +corca.bos: set INBUILDSTANCE to 1; +corca.bos: set INBUILDSTANCE to 0; +Binary file corcan.cob matches +Binary file corcarry.cob matches +Binary file corcat.cob matches +corch.bos: set INBUILDSTANCE to 0; +corch.bos: set INBUILDSTANCE to 1; +Binary file corch.cob matches +corck.bos: set INBUILDSTANCE to 0; +corck.bos: set INBUILDSTANCE to 1; +corcom.bos: set INBUILDSTANCE to 1; +corcom.bos: set INBUILDSTANCE to 0; +corcomboss.bos: set INBUILDSTANCE to 1; +corcomboss.bos: set INBUILDSTANCE to 0; +Binary file corcrash.cob matches +Binary file corcrus.cob matches +Binary file corcrw.cob matches +corcs.bos: set INBUILDSTANCE to 1; +corcs.bos: set INBUILDSTANCE to 0; +corcsa.bos: set INBUILDSTANCE to 1; +corcsa.bos: set INBUILDSTANCE to 0; +Binary file corcut.cob matches +corcv.bos: set INBUILDSTANCE to 0; +corcv.bos: set INBUILDSTANCE to 1; +cordoom.bos: set ARMORED to 0; +cordoom.bos: set ARMORED to 1; +Binary file corenaa.cob matches +corerad.bos: set CHANGE_TARGET to 1; +Binary file corerad.cob matches +Binary file coresupp.cob matches +coreter.bos: set ACTIVATION to 0; +coreter.bos: set ACTIVATION to 0; +coreter.bos: set ACTIVATION to 100; +Binary file corexp.cob matches +corfast.bos: set INBUILDSTANCE to 1; +corfast.bos: set INBUILDSTANCE to 0; +Binary file corfav.cob matches +corfhp.bos:/* 162:*/ set YARD_OPEN to 1; +corfhp.bos:/* 16d:*/ set BUGGER_OFF to 1; +corfhp.bos:/* 175:*/ set YARD_OPEN to 1; +corfhp.bos:/* 17c:*/ set BUGGER_OFF to 0; +corfhp.bos:/* 184:*/ set YARD_OPEN to 0; +corfhp.bos:/* 18e:*/ set BUGGER_OFF to 1; +corfhp.bos:/* 196:*/ set YARD_OPEN to 0; +corfhp.bos:/* 19d:*/ set BUGGER_OFF to 0; +corfhp.bos:/* 1bb:*/ set INBUILDSTANCE to 1; +corfhp.bos:/* 1c3:*/ set INBUILDSTANCE to 0; +Binary file corflak.cob matches +corfmkr.bos: set ACTIVATION to 1; +corfmkr.bos: set ACTIVATION to 0; +Binary file corfrock.cob matches +Binary file corfrt.cob matches +corgant.bos: set YARD_OPEN to 1; +corgant.bos: set BUGGER_OFF to 1; +corgant.bos: set YARD_OPEN to 1; +corgant.bos: set BUGGER_OFF to 0; +corgant.bos: set YARD_OPEN to 0; +corgant.bos: set BUGGER_OFF to 1; +corgant.bos: set YARD_OPEN to 0; +corgant.bos: set BUGGER_OFF to 0; +corgant.bos: set INBUILDSTANCE to 1; +corgant.bos: set INBUILDSTANCE to 0; +Binary file corgarp.cob matches +Binary file corgator.cob matches +Binary file corgol.cob matches +Binary file corhal.cob matches +corhp.bos:/* 162:*/ set YARD_OPEN to 1; +corhp.bos:/* 16d:*/ set BUGGER_OFF to 1; +corhp.bos:/* 175:*/ set YARD_OPEN to 1; +corhp.bos:/* 17c:*/ set BUGGER_OFF to 0; +corhp.bos:/* 184:*/ set YARD_OPEN to 0; +corhp.bos:/* 18e:*/ set BUGGER_OFF to 1; +corhp.bos:/* 196:*/ set YARD_OPEN to 0; +corhp.bos:/* 19d:*/ set BUGGER_OFF to 0; +corhp.bos:/* 1bb:*/ set INBUILDSTANCE to 1; +corhp.bos:/* 1c3:*/ set INBUILDSTANCE to 0; +Binary file corhrk.cob matches +corintr.bos: set ARMORED to 1; +corintr.bos: set BUSY to 1; +corintr.bos: set BUSY to 0; +corintr.bos: set BUSY to 1; +corintr.bos: set BUSY to 0; +corjugg.bos: set CHANGE_TARGET to 2; +corjugg.bos: set CHANGE_TARGET to 3; +corjugg.bos: set CHANGE_TARGET to 4; +Binary file corjugg.cob matches +corjugg.lua_old: SetSignalMask( SIG_stop ) +Binary file corjuno.cob matches +corkarg.lua_old: SetSignalMask(SIG_RESTORE) +corkorg.bos: set ARMORED to 1; +corkorg.bos: set-signal-mask SIG_FOOTSTOMP_L; +corkorg.bos: set-signal-mask SIG_FOOTSTOMP_R; +Binary file corkorg.cob matches +Binary file corlevlr.cob matches +Binary file cormabm.cob matches +cormakr.bos: set ACTIVATION to 1; +cormakr.bos: set ACTIVATION to 0; +cormando.bos: set INBUILDSTANCE to 0; +cormando.bos: set INBUILDSTANCE to 1; +Binary file cormart.cob matches +cormaw.bos: set ARMORED to 0; +cormaw.bos: set ARMORED to 1; +Binary file cormaw.cob matches +cormex.bos: set ARMORED to 0; +cormex.bos: set ARMORED to 1; +cormexp.bos: set ARMORED to 0; +cormexp.bos: set ARMORED to 1; +cormexp.bos: set ACTIVATION to 100; +cormexp.bos: set ACTIVATION to 0; +cormexp.bos: set ARMORED to 0; +Binary file cormexp.cob matches +cormh.bos: set-signal-mask SIG_RESTORE; +Binary file cormh.cob matches +Binary file cormist.cob matches +cormls.bos: set INBUILDSTANCE to 1; +cormls.bos: set INBUILDSTANCE to 0; +cormlv.bos: set INBUILDSTANCE to 0; +cormlv.bos: set INBUILDSTANCE to 1; +cormmkr.bos: set ARMORED to 0; //Not needed as MM in BAR have no damage modi +fyer tag set +cormmkr.bos: set ARMORED to 1; +cormoho.bos: set ARMORED to 0; +cormoho.bos: set ARMORED to 1; +cormoho.bos: set ARMORED to 1; +Binary file cormort.cob matches +Binary file cormship.cob matches +cormuskrat.bos: set INBUILDSTANCE to 1; +cormuskrat.bos: set INBUILDSTANCE to 0; +cormuskrat.bos: set INBUILDSTANCE to 1; +cornanotc.bos: set INBUILDSTANCE to 1; +cornanotc.bos: set INBUILDSTANCE to 0; +Binary file cornanotc.cob matches +cornanotcplat.bos: set INBUILDSTANCE to 1; +cornanotcplat.bos: set INBUILDSTANCE to 0; +Binary file cornanotcplat.cob matches +cornecro.bos: set INBUILDSTANCE to 0; +cornecro.bos: set INBUILDSTANCE to 1; +Binary file corparrow.cob matches +corplat.bos: set ARMORED to 0; +corplat.bos: set ARMORED to 1; +corplat.bos: set YARD_OPEN to 1; +corplat.bos: set BUGGER_OFF to 1; +corplat.bos: set YARD_OPEN to 1; +corplat.bos: set BUGGER_OFF to 0; +corplat.bos: set YARD_OPEN to 0; +corplat.bos: set BUGGER_OFF to 1; +corplat.bos: set YARD_OPEN to 0; +corplat.bos: set BUGGER_OFF to 0; +corplat.bos: set INBUILDSTANCE to 1; +corplat.bos: set INBUILDSTANCE to 0; +corplat.bos: set ARMORED to 1; +Binary file corpship.cob matches +Binary file corpt.cob matches +Binary file corpyro.cob matches +Binary file corraid.cob matches +Binary file correap.cob matches +correcl.bos: set INBUILDSTANCE to 1; +correcl.bos: set INBUILDSTANCE to 0; +Binary file corrl.cob matches +Binary file corroy.cob matches +Binary file corsb.cob matches +Binary file corscreamer.cob matches +Binary file corseal.cob matches +Binary file corsent.cob matches +Binary file corsh.cob matches +corshiva.bos: set ARMORED to 1; +corshiva.bos: set ARMORED to 0; +corshiva.bos: set ARMORED to 1; +Binary file corshiva.cob matches +corshiva.lua_old: SetSignalMask( SIG_stop ) +corshiva.lua_old: SetSignalMask( SIG_stop ) +corshroud.bos:/* 80:*/ set ACTIVATION to 0; +corshroud.bos:/* 138:*/ set ACTIVATION to 0; +corshroud.bos:/* 144:*/ set ACTIVATION to 100; +Binary file corsilo.cob matches +corsjam.bos: set ACTIVATION to 0; +corsjam.bos: set ACTIVATION to 0; +corsjam.bos: set ACTIVATION to 100; +Binary file corsnap.cob matches +Binary file corsok.cob matches +corsolar.bos: set YARD_OPEN to 1; +corsolar.bos: set BUGGER_OFF to 1; +corsolar.bos: set YARD_OPEN to 1; +corsolar.bos: set BUGGER_OFF to 0; +corsolar.bos: set YARD_OPEN to 0; +corsolar.bos: set BUGGER_OFF to 1; +corsolar.bos: set YARD_OPEN to 0; +corsolar.bos: set BUGGER_OFF to 0; +corsolar.bos: set ACTIVATION to 100; +corsolar.bos: set ACTIVATION to 0; +corsolar.bos: set ARMORED to 0; +corsolar.bos: set ARMORED to 1; +corsolar.bos: set ACTIVATION to 0; +corsolar.bos: set ACTIVATION to 100; +corspec.bos: set ACTIVATION to 0; +corspec.bos: set ACTIVATION to 0; +corspec.bos: set ACTIVATION to 100; +Binary file corspec.cob matches +corspy.bos: set INBUILDSTANCE to 1; +corspy.bos: set INBUILDSTANCE to 0; +Binary file corstorm.cob matches +Binary file corsumo.cob matches +corsumo.lua_old: SetSignalMask(SIG_RESTORE) +corsy.bos: set YARD_OPEN to 1; +corsy.bos: set BUGGER_OFF to 1; +corsy.bos: set YARD_OPEN to 1; +corsy.bos: set BUGGER_OFF to 0; +corsy.bos: set YARD_OPEN to 0; +corsy.bos: set BUGGER_OFF to 1; +corsy.bos: set YARD_OPEN to 0; +corsy.bos: set BUGGER_OFF to 0; +corsy.bos: set INBUILDSTANCE to 1; +corsy.bos: set INBUILDSTANCE to 0; +cortarg.bos:/* 1a6:*/ set ACTIVATION to 0; +cortarg.bos:/* 1ae:*/ set ACTIVATION to 1; +Binary file cortermite.cob matches +corthovr.bos: set BUSY to 1; +corthovr.bos: set BUSY to 0; +corthovr.bos: set BUSY to 1; +corthovr.bos: set BUSY to 0; +Binary file corthovr.cob matches +Binary file corthud.cob matches +cortoast.bos: set ARMORED to 0; +cortoast.bos: set ARMORED to 1; +Binary file cortoast.cob matches +Binary file cortrem.cob matches +Binary file cortron.cob matches +cortship.bos: set BUSY to 1; +cortship.bos: set BUSY to 0; +cortship.bos: set BUSY to 1; +cortship.bos: set BUSY to 0; +Binary file cortship.cob matches +coruwmme.bos: set ARMORED to 0; +coruwmme.bos: set ARMORED to 1; +coruwmme.bos: set ARMORED to 1; +Binary file corvoyr.cob matches +corvp.bos: set YARD_OPEN to 1; +corvp.bos: set BUGGER_OFF to 1; +corvp.bos: set YARD_OPEN to 1; +corvp.bos: set BUGGER_OFF to 0; +corvp.bos: set YARD_OPEN to 0; +corvp.bos: set BUGGER_OFF to 1; +corvp.bos: set YARD_OPEN to 0; +corvp.bos: set BUGGER_OFF to 0; +corvp.bos: set INBUILDSTANCE to 1; +corvp.bos: set INBUILDSTANCE to 0; +corvroc.bos: set-signal-mask SIG_RESTORE; +Binary file corvroc.cob matches +corwin.bos: set ACTIVATION to 100; +corwin.bos: set ACTIVATION to 0; +corwin.bos: set ACTIVATION to 100; +Binary file corwin.cob matches +Binary file corwolv.cob matches +exptype.h:#define BUGGER_OFF 19 // set or get (ask other units to clea +r the area) +exptype.h:#define CHANGE_TARGET 98 // set, the value it's set to det +ermines the affected weapon +Binary file fgrep.exe matches +meteor.bos: //set UNKNOWN_UNIT_VALUE(76) to 1; +meteor.bos: set ARMORED to 0; +meteor.bos: //set UNKNOWN_UNIT_VALUE(76) to 0; +fgrep: New folder: Is a directory +roost.bos: set ARMORED to 0; +fgrep: scavboss: Is a directory +fgrep: scavbuildings: Is a directory +standard_commands_gpl.h:#define BUGGER_OFF 19 // set or get (a +sk other units to clear the area) +yard.h: set YARD_OPEN to TRUE; +yard.h: set BUGGER_OFF to TRUE; +yard.h: set YARD_OPEN to TRUE; +yard.h: set BUGGER_OFF to FALSE; +yard.h: set YARD_OPEN to FALSE; +yard.h: set BUGGER_OFF to TRUE; +yard.h: set YARD_OPEN to FALSE; +yard.h: set BUGGER_OFF to FALSE; + +C:\Users\Peti\Documents\my games\Spring\games\Beyond-All-Reason.sdd\scripts\Unit +s> + +C:\Users\Peti\Documents\my games\Spring\games\Beyond-All-Reason.sdd\scripts\Unit +s> \ No newline at end of file diff --git a/scripts/Units/constants.h b/scripts/Units/constants.h new file mode 100644 index 00000000000..932fb4f47f0 --- /dev/null +++ b/scripts/Units/constants.h @@ -0,0 +1,192 @@ +/* +** EXPtype.h -- Explosion Type information and GET/SET constants for scripts +** +** This Script contains constants compatible only with Spring RTS engine +** not for use with Total Annihilation or TA:Kindgoms +*/ + +#ifndef CONSTANTS_H_ +#define CONSTANTS_H_ + +// Indices for emit-sfx +#ifndef __SFXTYPE_H_ +#define SFXTYPE_VTOL 0 +//#define SFXTYPE_THRUST 1 +#define SFXTYPE_WAKE1 2 +#define SFXTYPE_WAKE2 3 // same as SFX_WAKE +#define SFXTYPE_REVERSEWAKE1 4 +#define SFXTYPE_REVERSEWAKE2 5 // same as SFX_REVERSE_WAKE + +#define SFXTYPE_WHITESMOKE 257 +#define SFXTYPE_BLACKSMOKE 258 +#define SFXTYPE_SUBBUBBLES 259 +#endif + +#define SHATTER 1 // The piece will shatter instead of remaining whole +#define EXPLODE_ON_HIT 2 // The piece will explode when it hits the ground +#define FALL 4 // The piece will fall due to gravity instead of just flying off +#define SMOKE 8 // A smoke trail will follow the piece through the air +#define FIRE 16 // A fire trail will follow the piece through the air +#define BITMAPONLY 32 // The piece will not fly off or shatter or anything. Only a bitmap explosion will be rendered. +#define NOCEGTRAIL 64 // Disables the cegtrail for the specific piece (defined in the unit fbi) +#define BITMAP 10000001 + +// Bitmap Explosion Types +#define BITMAP1 256 +#define BITMAP2 512 +#define BITMAP3 1024 +#define BITMAP4 2048 +#define BITMAP5 4096 +#define BITMAPNUKE 8192 +#define BITMAPMASK 16128 // Mask of the possible bitmap bits + +#define EXPTYPE_SMALLEXPLOSION 256 +#define EXPTYPE_MEDIUMEXPLOSION 512 +#define EXPTYPE_LARGEEXPLOSION 1024 +#define EXPTYPE_XLARGEEXPLOSION 2048 +#define EXPTYPE_BLOODEXPLOSION 4096 + +//Customized effects (in FBI/TDF/LUA) +// Explosion generators +#define UNIT_SFX0 1024 +#define UNIT_SFX1 1025 +#define UNIT_SFX2 1026 +#define UNIT_SFX3 1027 +#define UNIT_SFX4 1028 +#define UNIT_SFX5 1029 +#define UNIT_SFX6 1030 +#define UNIT_SFX7 1031 +#define UNIT_SFX8 1032 +#define UNIT_SFX9 1033 + +// Weapons +#define FIRE_W1 2048 +#define FIRE_W2 2049 +#define FIRE_W3 2050 +#define FIRE_W4 2051 +#define FIRE_W5 2052 +#define FIRE_W6 2053 +#define FIRE_W7 2054 +#define FIRE_W8 2055 +#define FIRE_W9 2056 + +#define DETO_W1 4096 +#define DETO_W2 4097 +#define DETO_W3 4098 +#define DETO_W4 4099 +#define DETO_W5 4100 +#define DETO_W6 4101 +#define DETO_W7 4102 +#define DETO_W8 4103 +#define DETO_W9 4104 + + +// COB constants +#define ACTIVATION 1 // set or get +#define STANDINGMOVEORDERS 2 // set or get +#define STANDINGFIREORDERS 3 // set or get +#define HEALTH 4 // get (0-100%) +#define INBUILDSTANCE 5 // set or get +#define BUSY 6 // set or get (used by misc. special case missions like transport ships) +#define PIECE_XZ 7 // get +#define PIECE_Y 8 // get +#define UNIT_XZ 9 // get +#define UNIT_Y 10 // get +#define UNIT_HEIGHT 11 // get +#define XZ_ATAN 12 // get atan of packed x,z coords +#define XZ_HYPOT 13 // get hypot of packed x,z coords +#define ATAN 14 // get ordinary two-parameter atan +#define HYPOT 15 // get ordinary two-parameter hypot +#define GROUND_HEIGHT 16 // get land height, 0 if below water +#define BUILD_PERCENT_LEFT 17 // get 0 = unit is built and ready, 1-100 = How much is left to build +#define YARD_OPEN 18 // set or get (change which plots we occupy when building opens and closes) +#define BUGGER_OFF 19 // set or get (ask other units to clear the area) +#define ARMORED 20 // set or get + +#define IN_WATER 28 +#define CURRENT_SPEED 29 +#define VETERAN_LEVEL 32 +#define ON_ROAD 34 + +#define MAX_ID 70 +#define MY_ID 71 +#define UNIT_TEAM 72 +#define UNIT_BUILD_PERCENT_LEFT 73 +#define UNIT_ALLIED 74 +#define MAX_SPEED 75 +#define CLOAKED 76 +#define WANT_CLOAK 77 +#define GROUND_WATER_HEIGHT 78 // get land height, negative if below water +#define UPRIGHT 79 // set or get +#define POW 80 // get +#define PRINT 81 // get, so multiple args can be passed +#define HEADING 82 // get +#define TARGET_ID 83 // get +#define LAST_ATTACKER_ID 84 // get +#define LOS_RADIUS 85 // set or get +#define AIR_LOS_RADIUS 86 // set or get +#define RADAR_RADIUS 87 // set or get +#define JAMMER_RADIUS 88 // set or get +#define SONAR_RADIUS 89 // set or get +#define SONAR_JAM_RADIUS 90 // set or get +#define SEISMIC_RADIUS 91 // set or get +#define DO_SEISMIC_PING 92 // get +#define CURRENT_FUEL 93 // set or get +#define TRANSPORT_ID 94 // get +#define SHIELD_POWER 95 // set or get +#define STEALTH 96 // set or get +#define CRASHING 97 // set or get, returns whether aircraft isCrashing state +#define CHANGE_TARGET 98 // set, the value it's set to determines the affected weapon +#define CEG_DAMAGE 99 // set +#define COB_ID 100 // get +#define PLAY_SOUND 101 // get, so multiple args can be passed +#define KILL_UNIT 102 // get KILL_UNIT(unitId, SelfDestruct=true, Reclaimed=false) +#define ALPHA_THRESHOLD 103 // set or get +#define SET_WEAPON_UNIT_TARGET 106 // get (fake set) +#define SET_WEAPON_GROUND_TARGET 107 // get (fake set) +#define SONAR_STEALTH 108 // set or get +#define REVERSING 109 // get + +// Indices for SET, GET, and GET_UNIT_VALUE for LUA return values +#define LUA0 110 // (LUA0 returns the lua call status, 0 or 1) +#define LUA1 111 +#define LUA2 112 +#define LUA3 113 +#define LUA4 114 +#define LUA5 115 +#define LUA6 116 +#define LUA7 117 +#define LUA8 118 +#define LUA9 119 + +#define FLANK_B_MODE 120 // set or get +#define FLANK_B_DIR 121 // set or get, set is through get for multiple args +#define FLANK_B_MOBILITY_ADD 122 // set or get +#define FLANK_B_MAX_DAMAGE 123 // set or get +#define FLANK_B_MIN_DAMAGE 124 // set or get +#define WEAPON_RELOADSTATE 125 // get (with fake set) get WEAPON_RELOADSTATE(weaponNum) for GET +#define WEAPON_RELOADTIME 126 // get (with fake set) get WEAPON_RELOADSTATE(-weaponNum,val) for SET +#define WEAPON_ACCURACY 127 // get (with fake set) +#define WEAPON_SPRAY 128 // get (with fake set) +#define WEAPON_RANGE 129 // get (with fake set) +#define WEAPON_PROJECTILE_SPEED 130 // get (with fake set) +#define WEAPON_STOCKPILE_COUNT 139 // get (with fake set) + + +#define MIN 131 // get +#define MAX 132 // get +#define ABS 133 // get +#define GAME_FRAME 134 // get +#define KSIN 135 // get, kiloSine 1024*sin(x) as COB uses only integers +#define KCOS 136 // get, kiloCosine 1024*cos(x) + +#define KTAN 137 // get, kiloTangent 1024*tan(x) carefull with angles close to 90 deg. might cause overflow +#define SQRT 138 // get, square root (floored to integer) + +#define ENERGY_MAKE 140 // set or get (100*E production) + +#define METAL_MAKE 141 // set or get (100*M production) + +// NOTE: shared variables use codes [1024 - 5119] + +#endif \ No newline at end of file diff --git a/scripts/Units/coraak.bos b/scripts/Units/coraak.bos index 511c6c078e8..41a1a00644d 100644 --- a/scripts/Units/coraak.bos +++ b/scripts/Units/coraak.bos @@ -1,29 +1,31 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece pelvis, lfleg, rfleg, lbleg, rbleg, lbfoot, lffoot, rbfoot, rffoot, torso, flakgun, flareflak, flare1, flare2, flare3, flare4, aimy1, aimx1, aimx2; -static-var isMoving; +static-var bMoving, Static_Var_2; static-var animSpeed, maxSpeed, animFramesPerKeyframe; -#define SIGNAL_MOVE 1 +#define SIG_WALK 1 Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations\coraak_anim_walk.blend - set-signal-mask SIGNAL_MOVE; - if (isMoving) { //Frame:5 + set-signal-mask SIG_WALK; + if (bMoving) { //Frame:5 turn lbfoot to x-axis <19.449998> speed <583.499953> / animSpeed; //delta=-19.45 turn lbleg to x-axis <-10.149999> speed <304.499976> / animSpeed; //delta=10.15 - turn lbleg to y-axis <0.0> speed <168.0> / animSpeed; //delta=-5.60 + turn lbleg to y-axis <0.000000> speed <168.000012> / animSpeed; //delta=-5.60 turn lffoot to x-axis <-41.749992> speed <1252.499770> / animSpeed; //delta=41.75 turn lfleg to x-axis <7.749997> speed <232.499913> / animSpeed; //delta=-7.75 - turn lfleg to y-axis <0.0> speed <452.999985> / animSpeed; //delta=-15.10 + turn lfleg to y-axis <0.000000> speed <452.999985> / animSpeed; //delta=-15.10 move pelvis to x-axis [-0.270000] speed [8.099999] / animSpeed; //delta=-0.27 - move pelvis to z-axis [-1.0] speed [29.999998] / animSpeed; //delta=-1.00 + move pelvis to z-axis [-1.000000] speed [29.999998] / animSpeed; //delta=-1.00 move pelvis to y-axis [0.330000] speed [9.899999] / animSpeed; //delta=0.33 turn pelvis to x-axis <3.250000> speed <97.499992> / animSpeed; //delta=-3.25 turn pelvis to z-axis <3.743052> speed <112.291550> / animSpeed; //delta=-3.74 turn rbfoot to x-axis <-40.799998> speed <1223.999952> / animSpeed; //delta=40.80 turn rbleg to x-axis <29.199998> speed <875.999936> / animSpeed; //delta=-29.20 - turn rbleg to y-axis <0.0> speed <122.999959> / animSpeed; //delta=4.10 + turn rbleg to y-axis <0.000000> speed <122.999959> / animSpeed; //delta=4.10 turn rffoot to x-axis <29.017642> speed <870.529261> / animSpeed; //delta=-29.02 turn rffoot to z-axis <0.437783> speed <13.133476> / animSpeed; //delta=-0.44 turn rffoot to y-axis <-3.208612> speed <96.258353> / animSpeed; //delta=-3.21 @@ -32,15 +34,15 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn rfleg to y-axis <-3.507352> speed <347.779423> / animSpeed; //delta=11.59 sleep ((33*animSpeed) -1); } - while(isMoving) { - if (isMoving) { //Frame:10 - turn lbfoot to x-axis <83.0> speed <1906.500287> / animSpeed; //delta=-63.55 + while(bMoving) { + if (bMoving) { //Frame:10 + turn lbfoot to x-axis <83.000008> speed <1906.500287> / animSpeed; //delta=-63.55 turn lbleg to x-axis <-47.999995> speed <1135.499859> / animSpeed; //delta=37.85 turn lffoot to x-axis <-77.799994> speed <1081.500042> / animSpeed; //delta=36.05 turn lfleg to x-axis <45.199996> speed <1123.499968> / animSpeed; //delta=-37.45 - move pelvis to x-axis [0.030000] speed [9.0] / animSpeed; //delta=0.30 - move pelvis to z-axis [0.0] speed [29.999998] / animSpeed; //delta=1.00 - turn pelvis to x-axis <-0.0> speed <97.499992> / animSpeed; //delta=3.25 + move pelvis to x-axis [0.030000] speed [9.000000] / animSpeed; //delta=0.30 + move pelvis to z-axis [0.000000] speed [29.999998] / animSpeed; //delta=1.00 + turn pelvis to x-axis <-0.000000> speed <97.499992> / animSpeed; //delta=3.25 turn pelvis to z-axis <1.120324> speed <78.681833> / animSpeed; //delta=2.62 turn rbfoot to x-axis <-35.150001> speed <169.499921> / animSpeed; //delta=-5.65 turn rbleg to x-axis <-25.750003> speed <1648.500017> / animSpeed; //delta=54.95 @@ -52,7 +54,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn rfleg to y-axis <-7.014704> speed <105.220563> / animSpeed; //delta=-3.51 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:15 + if (bMoving) { //Frame:15 turn lbfoot to x-axis <1.168085> speed <2454.957688> / animSpeed; //delta=81.83 turn lbleg to x-axis <13.068085> speed <1832.042380> / animSpeed; //delta=-61.07 turn lffoot to x-axis <-42.996174> speed <1044.114592> / animSpeed; //delta=-34.80 @@ -67,38 +69,38 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn rffoot to z-axis <0.437783> speed <13.133476> / animSpeed; //delta=0.44 turn rffoot to y-axis <-3.208612> speed <96.258353> / animSpeed; //delta=3.21 turn rfleg to x-axis <-23.999997> speed <1703.838636> / animSpeed; //delta=56.79 - turn rfleg to z-axis <-0.0> speed <33.687037> / animSpeed; //delta=1.12 - turn rfleg to y-axis <0.0> speed <210.441125> / animSpeed; //delta=7.01 + turn rfleg to z-axis <-0.000000> speed <33.687037> / animSpeed; //delta=1.12 + turn rfleg to y-axis <0.000000> speed <210.441125> / animSpeed; //delta=7.01 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:20 + if (bMoving) { //Frame:20 turn lbfoot to x-axis <-15.599998> speed <503.042504> / animSpeed; //delta=16.77 turn lbleg to x-axis <28.699997> speed <468.957373> / animSpeed; //delta=-15.63 - turn lffoot to x-axis <-0.0> speed <1289.885220> / animSpeed; //delta=-43.00 - turn lfleg to x-axis <-0.0> speed <699.957376> / animSpeed; //delta=23.33 + turn lffoot to x-axis <-0.000000> speed <1289.885220> / animSpeed; //delta=-43.00 + turn lfleg to x-axis <-0.000000> speed <699.957376> / animSpeed; //delta=23.33 move pelvis to x-axis [0.630000] speed [6.299999] / animSpeed; //delta=0.21 move pelvis to z-axis [-1.795625] speed [5.231252] / animSpeed; //delta=0.17 turn pelvis to x-axis <6.799999> speed <101.999983> / animSpeed; //delta=-3.40 turn pelvis to z-axis <-5.899999> speed <50.902681> / animSpeed; //delta=1.70 - turn rbfoot to x-axis <-17.799999> speed <591.0> / animSpeed; //delta=-19.70 - turn rbleg to x-axis <6.900000> speed <231.0> / animSpeed; //delta=-7.70 - turn rffoot to x-axis <-0.0> speed <1439.058396> / animSpeed; //delta=47.97 - turn rffoot to z-axis <-0.0> speed <13.133476> / animSpeed; //delta=0.44 - turn rffoot to y-axis <0.0> speed <96.258366> / animSpeed; //delta=3.21 + turn rbfoot to x-axis <-17.799999> speed <591.000013> / animSpeed; //delta=-19.70 + turn rbleg to x-axis <6.900000> speed <231.000041> / animSpeed; //delta=-7.70 + turn rffoot to x-axis <-0.000000> speed <1439.058396> / animSpeed; //delta=47.97 + turn rffoot to z-axis <-0.000000> speed <13.133476> / animSpeed; //delta=0.44 + turn rffoot to y-axis <0.000000> speed <96.258366> / animSpeed; //delta=3.21 turn rfleg to x-axis <-20.399999> speed <107.999942> / animSpeed; //delta=-3.60 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:25 - turn lbfoot to x-axis <-40.799998> speed <756.0> / animSpeed; //delta=25.20 - turn lbleg to x-axis <29.199998> speed <15.0> / animSpeed; //delta=-0.50 + if (bMoving) { //Frame:25 + turn lbfoot to x-axis <-40.799998> speed <756.000001> / animSpeed; //delta=25.20 + turn lbleg to x-axis <29.199998> speed <15.000017> / animSpeed; //delta=-0.50 turn lffoot to x-axis <29.017642> speed <870.529261> / animSpeed; //delta=-29.02 turn lffoot to z-axis <0.437783> speed <13.133476> / animSpeed; //delta=-0.44 turn lffoot to y-axis <-3.208612> speed <96.258353> / animSpeed; //delta=-3.21 turn lfleg to x-axis <-6.202686> speed <186.080581> / animSpeed; //delta=6.20 turn lfleg to z-axis <0.561451> speed <16.843519> / animSpeed; //delta=-0.56 turn lfleg to y-axis <-3.507352> speed <105.220563> / animSpeed; //delta=-3.51 - move pelvis to x-axis [0.330000] speed [9.0] / animSpeed; //delta=-0.30 - move pelvis to z-axis [-1.0] speed [23.868747] / animSpeed; //delta=0.80 + move pelvis to x-axis [0.330000] speed [9.000000] / animSpeed; //delta=-0.30 + move pelvis to z-axis [-1.000000] speed [23.868747] / animSpeed; //delta=0.80 turn pelvis to x-axis <3.399999> speed <101.999983> / animSpeed; //delta=3.40 turn pelvis to z-axis <-4.260209> speed <49.193703> / animSpeed; //delta=-1.64 turn rbfoot to x-axis <19.449998> speed <1117.499920> / animSpeed; //delta=-37.25 @@ -107,7 +109,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn rfleg to x-axis <7.749997> speed <844.499889> / animSpeed; //delta=-28.15 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:30 + if (bMoving) { //Frame:30 turn lbfoot to x-axis <-35.150001> speed <169.499921> / animSpeed; //delta=-5.65 turn lbleg to x-axis <-25.750003> speed <1648.500017> / animSpeed; //delta=54.95 turn lffoot to x-axis <30.441880> speed <42.727136> / animSpeed; //delta=-1.42 @@ -116,25 +118,25 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn lfleg to x-axis <32.794624> speed <1169.919300> / animSpeed; //delta=-39.00 turn lfleg to z-axis <1.122901> speed <16.843519> / animSpeed; //delta=-0.56 turn lfleg to y-axis <-7.014704> speed <105.220563> / animSpeed; //delta=-3.51 - move pelvis to x-axis [0.030000] speed [9.0] / animSpeed; //delta=-0.30 - move pelvis to z-axis [0.0] speed [29.999998] / animSpeed; //delta=1.00 - turn pelvis to x-axis <-0.0> speed <101.999983> / animSpeed; //delta=3.40 - turn pelvis to z-axis <-0.0> speed <127.806278> / animSpeed; //delta=-4.26 - turn rbfoot to x-axis <83.0> speed <1906.500287> / animSpeed; //delta=-63.55 + move pelvis to x-axis [0.030000] speed [9.000000] / animSpeed; //delta=-0.30 + move pelvis to z-axis [0.000000] speed [29.999998] / animSpeed; //delta=1.00 + turn pelvis to x-axis <-0.000000> speed <101.999983> / animSpeed; //delta=3.40 + turn pelvis to z-axis <-0.000000> speed <127.806278> / animSpeed; //delta=-4.26 + turn rbfoot to x-axis <83.000008> speed <1906.500287> / animSpeed; //delta=-63.55 turn rbleg to x-axis <-47.999995> speed <1135.499859> / animSpeed; //delta=37.85 turn rffoot to x-axis <-77.799994> speed <1081.500042> / animSpeed; //delta=36.05 turn rfleg to x-axis <45.199996> speed <1123.499968> / animSpeed; //delta=-37.45 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:35 + if (bMoving) { //Frame:35 turn lbfoot to x-axis <-37.499999> speed <70.499949> / animSpeed; //delta=2.35 turn lbleg to x-axis <-0.800002> speed <748.500030> / animSpeed; //delta=-24.95 turn lffoot to x-axis <47.968613> speed <525.801998> / animSpeed; //delta=-17.53 turn lffoot to z-axis <0.437783> speed <13.133476> / animSpeed; //delta=0.44 turn lffoot to y-axis <-3.208612> speed <96.258353> / animSpeed; //delta=3.21 turn lfleg to x-axis <-23.999997> speed <1703.838636> / animSpeed; //delta=56.79 - turn lfleg to z-axis <-0.0> speed <33.687037> / animSpeed; //delta=1.12 - turn lfleg to y-axis <0.0> speed <210.441125> / animSpeed; //delta=7.01 + turn lfleg to z-axis <-0.000000> speed <33.687037> / animSpeed; //delta=1.12 + turn lfleg to y-axis <0.000000> speed <210.441125> / animSpeed; //delta=7.01 move pelvis to x-axis [-0.270000] speed [8.999999] / animSpeed; //delta=-0.30 move pelvis to z-axis [-1.970000] speed [59.099997] / animSpeed; //delta=-1.97 turn pelvis to x-axis <3.249999> speed <97.499979> / animSpeed; //delta=-3.25 @@ -145,12 +147,12 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn rfleg to x-axis <23.331913> speed <656.042504> / animSpeed; //delta=21.87 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:40 - turn lbfoot to x-axis <-17.799999> speed <591.0> / animSpeed; //delta=-19.70 - turn lbleg to x-axis <6.900000> speed <231.0> / animSpeed; //delta=-7.70 - turn lffoot to x-axis <-0.0> speed <1439.058396> / animSpeed; //delta=47.97 - turn lffoot to z-axis <-0.0> speed <13.133476> / animSpeed; //delta=0.44 - turn lffoot to y-axis <0.0> speed <96.258366> / animSpeed; //delta=3.21 + if (bMoving) { //Frame:40 + turn lbfoot to x-axis <-17.799999> speed <591.000013> / animSpeed; //delta=-19.70 + turn lbleg to x-axis <6.900000> speed <231.000041> / animSpeed; //delta=-7.70 + turn lffoot to x-axis <-0.000000> speed <1439.058396> / animSpeed; //delta=47.97 + turn lffoot to z-axis <-0.000000> speed <13.133476> / animSpeed; //delta=0.44 + turn lffoot to y-axis <0.000000> speed <96.258366> / animSpeed; //delta=3.21 turn lfleg to x-axis <-20.399999> speed <107.999942> / animSpeed; //delta=-3.60 move pelvis to x-axis [-0.570000] speed [8.999999] / animSpeed; //delta=-0.30 move pelvis to z-axis [-1.795625] speed [5.231252] / animSpeed; //delta=0.17 @@ -158,21 +160,21 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn pelvis to z-axis <5.400000> speed <52.055301> / animSpeed; //delta=-1.74 turn rbfoot to x-axis <-15.599998> speed <503.042504> / animSpeed; //delta=16.77 turn rbleg to x-axis <28.699997> speed <468.957373> / animSpeed; //delta=-15.63 - turn rffoot to x-axis <-0.0> speed <1289.885220> / animSpeed; //delta=-43.00 - turn rfleg to x-axis <-0.0> speed <699.957376> / animSpeed; //delta=23.33 + turn rffoot to x-axis <-0.000000> speed <1289.885220> / animSpeed; //delta=-43.00 + turn rfleg to x-axis <-0.000000> speed <699.957376> / animSpeed; //delta=23.33 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:45 + if (bMoving) { //Frame:45 turn lbfoot to x-axis <19.449998> speed <1117.499920> / animSpeed; //delta=-37.25 turn lbleg to x-axis <-10.149999> speed <511.499966> / animSpeed; //delta=17.05 turn lffoot to x-axis <-41.749992> speed <1252.499770> / animSpeed; //delta=41.75 turn lfleg to x-axis <7.749997> speed <844.499889> / animSpeed; //delta=-28.15 - move pelvis to x-axis [-0.270000] speed [9.0] / animSpeed; //delta=0.30 - move pelvis to z-axis [-1.0] speed [23.868747] / animSpeed; //delta=0.80 + move pelvis to x-axis [-0.270000] speed [9.000000] / animSpeed; //delta=0.30 + move pelvis to z-axis [-1.000000] speed [23.868747] / animSpeed; //delta=0.80 turn pelvis to x-axis <3.250000> speed <97.499979> / animSpeed; //delta=3.25 turn pelvis to z-axis <3.654281> speed <52.371547> / animSpeed; //delta=1.75 - turn rbfoot to x-axis <-40.799998> speed <756.0> / animSpeed; //delta=25.20 - turn rbleg to x-axis <29.199998> speed <15.0> / animSpeed; //delta=-0.50 + turn rbfoot to x-axis <-40.799998> speed <756.000001> / animSpeed; //delta=25.20 + turn rbleg to x-axis <29.199998> speed <15.000017> / animSpeed; //delta=-0.50 turn rffoot to x-axis <29.017642> speed <870.529261> / animSpeed; //delta=-29.02 turn rffoot to z-axis <0.437783> speed <13.133476> / animSpeed; //delta=-0.44 turn rffoot to y-axis <-3.208612> speed <96.258353> / animSpeed; //delta=-3.21 @@ -184,31 +186,31 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations } } -// Call this from StopMoving()! +// Call this from MotionControl()! StopWalking() { - move pelvis to x-axis [0.0] speed [2.340000]; - move pelvis to y-axis [0.0] speed [1.980000]; - move pelvis to z-axis [0.0] speed [11.819999]; - turn lbfoot to x-axis <0.0> speed <490.991538>; - turn lbleg to x-axis <0.0> speed <366.408476>; + move pelvis to x-axis [0.000000] speed [2.340000]; + move pelvis to y-axis [0.000000] speed [1.980000]; + move pelvis to z-axis [0.000000] speed [11.819999]; + turn lbfoot to x-axis <0.000000> speed <490.991538>; + turn lbleg to x-axis <0.000000> speed <366.408476>; turn lbleg to y-axis <5.600000> speed <33.600002>; - turn lffoot to x-axis <0.0> speed <287.811679>; - turn lffoot to y-axis <0.0> speed <19.251673>; - turn lffoot to z-axis <0.0> speed <2.626695>; - turn lfleg to x-axis <0.0> speed <340.767727>; + turn lffoot to x-axis <0.000000> speed <287.811679>; + turn lffoot to y-axis <0.000000> speed <19.251673>; + turn lffoot to z-axis <0.000000> speed <2.626695>; + turn lfleg to x-axis <0.000000> speed <340.767727>; turn lfleg to y-axis <15.100000> speed <90.599997>; - turn lfleg to z-axis <0.0> speed <6.737407>; - turn pelvis to x-axis <0.0> speed <20.399997>; - turn pelvis to z-axis <0.0> speed <17.699998>; - turn rbfoot to x-axis <0.0> speed <490.991538>; - turn rbleg to x-axis <0.0> speed <366.408476>; + turn lfleg to z-axis <0.000000> speed <6.737407>; + turn pelvis to x-axis <0.000000> speed <20.399997>; + turn pelvis to z-axis <0.000000> speed <17.699998>; + turn rbfoot to x-axis <0.000000> speed <490.991538>; + turn rbleg to x-axis <0.000000> speed <366.408476>; turn rbleg to y-axis <-4.099999> speed <24.599992>; - turn rffoot to x-axis <0.0> speed <287.811679>; - turn rffoot to y-axis <0.0> speed <19.251673>; - turn rffoot to z-axis <0.0> speed <2.626695>; - turn rfleg to x-axis <0.0> speed <340.767727>; + turn rffoot to x-axis <0.000000> speed <287.811679>; + turn rffoot to y-axis <0.000000> speed <19.251673>; + turn rffoot to z-axis <0.000000> speed <2.626695>; + turn rfleg to x-axis <0.000000> speed <340.767727>; turn rfleg to y-axis <-15.100000> speed <69.555885>; - turn rfleg to z-axis <0.0> speed <6.737407>; + turn rfleg to z-axis <0.000000> speed <6.737407>; } // REMEMBER TO animspeed = 5 in Create() !! UnitSpeed(){ @@ -225,16 +227,16 @@ UnitSpeed(){ sleep 164; } } -StartMoving(reversing){ - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; - isMoving=TRUE; +StartMoving(){ + signal SIG_WALK; + set-signal-mask SIG_WALK; + bMoving=TRUE; start-script UnitSpeed(); start-script Walk(); } StopMoving(){ - signal SIGNAL_MOVE; - isMoving=FALSE; + signal SIG_WALK; + bMoving=FALSE; call-script StopWalking(); } @@ -249,14 +251,20 @@ Create() hide aimy1; hide aimx1; animSpeed = 5; - isMoving = FALSE; + bMoving = FALSE; + turn aimx1 to x-axis <-15> speed <50>; turn aimx2 to x-axis <-5> speed <50>; } +#define SMOKEPIECE pelvis +#include "smokeunit_thread_nohit.h" + -#define BASEPIECE pelvis -#include "../unit_hitbyweaponid_and_smoke.h" +SweetSpot(piecenum) +{ + piecenum = torso; +} RestoreAfterDelay() { @@ -268,24 +276,24 @@ RestoreAfterDelay() turn aimx2 to x-axis <-5> speed <50>; } -QueryWeapon1(pieceIndex) +QueryWeapon1(piecenum) { - pieceIndex = flare1; + piecenum = flare1; } -AimFromWeapon1(pieceIndex) +AimFromWeapon1(piecenum) { - pieceIndex = flakgun; + piecenum = flakgun; } -QueryWeapon2(pieceIndex) +QueryWeapon2(piecenum) { - pieceIndex = flare1; + piecenum = flare1; } -AimFromWeapon2(pieceIndex) +AimFromWeapon2(piecenum) { - pieceIndex = flakgun; + piecenum = flakgun; } AimWeapon2(heading, pitch) @@ -304,14 +312,14 @@ FireWeapon2() { } -QueryWeapon3(pieceIndex) +QueryWeapon3(piecenum) { - pieceIndex = flare2; + piecenum = flare2; } -AimFromWeapon3(pieceIndex) +AimFromWeapon3(piecenum) { - pieceIndex = flakgun; + piecenum = flakgun; } AimWeapon3(heading, pitch) @@ -330,14 +338,14 @@ FireWeapon3() { } -QueryWeapon4(pieceIndex) +QueryWeapon4(piecenum) { - pieceIndex = flare3; + piecenum = flare3; } -AimFromWeapon4(pieceIndex) +AimFromWeapon4(piecenum) { - pieceIndex = flakgun; + piecenum = flakgun; } AimWeapon4(heading, pitch) @@ -356,14 +364,14 @@ FireWeapon4() { } -QueryWeapon5(pieceIndex) +QueryWeapon5(piecenum) { - pieceIndex = flare4; + piecenum = flare4; } -AimFromWeapon5(pieceIndex) +AimFromWeapon5(piecenum) { - pieceIndex = flakgun; + piecenum = flakgun; } AimWeapon5(heading, pitch) @@ -378,14 +386,14 @@ AimWeapon5(heading, pitch) return (1); } -QueryWeapon6(pieceIndex) +QueryWeapon6(piecenum) { - pieceIndex = flareflak; + piecenum = flareflak; } -AimFromWeapon6(pieceIndex) +AimFromWeapon6(piecenum) { - pieceIndex = flakgun; + piecenum = flakgun; } AimWeapon6(heading, pitch) diff --git a/scripts/Units/coraak.lua_old b/scripts/Units/coraak.lua_old index d9c617a71b3..ef66195ea16 100644 --- a/scripts/Units/coraak.lua_old +++ b/scripts/Units/coraak.lua_old @@ -25,10 +25,10 @@ local sfxExplode = SFX.EXPLODE local restore_delay = 3000 local pelvis_speed = 100 -local SIGNAL_MOVE = 1 -local SIGNAL_AIM11 = 2 -local SIGNAL_AIM2 = 4 -local SIGNAL_IDLE = 8 +local SIG_WALK = 1 +local SIG_AIM1 = 2 +local SIG_AIM2 = 4 +local SIG_RESTORE = 8 local SPEED = 1.9 @@ -41,8 +41,8 @@ local gun_1 = 1 -- four-stroke tetrapedal walkscript local function Walk() - Signal(SIGNAL_MOVE) - SetSignalMask(SIGNAL_MOVE) + Signal(SIG_WALK) + SetSignalMask(SIG_WALK) while true do local speedmult = (1 - (Spring.GetUnitRulesParam(unitID,"slowState") or 0))*SPEED @@ -123,7 +123,7 @@ end function script.StopMoving() --Spring.Echo("Stopped moving") - Signal(SIGNAL_MOVE) + Signal(SIG_WALK) ResetLegs() end @@ -135,8 +135,8 @@ end function script.AimWeapon(num, heading, pitch) --Spring.Echo('Aimweapon',num) if num == 1 then - Signal( SIGNAL_AIM2) - SetSignalMask( SIGNAL_AIM2) + Signal( SIG_AIM2) + SetSignalMask( SIG_AIM2) Turn( torso , y_axis, heading, math.rad(360) ) WaitForTurn(torso, y_axis) StartThread(RestoreAfterDelay) @@ -149,7 +149,7 @@ function script.AimWeapon(num, heading, pitch) StartThread(RestoreAfterDelay) return true -- elseif num == 10 then - -- Signal( SIGNAL_AIM2) + -- Signal( SIG_AIM2) -- SetSignalMask( ) -- Turn( torso , y_axis, heading, math.rad(360) ) -- Turn( flakgun, x_axis, -pitch, math.rad(180) ) diff --git a/scripts/Units/coraap.bos b/scripts/Units/coraap.bos index 6f7467c5648..79aaf81ea16 100644 --- a/scripts/Units/coraap.bos +++ b/scripts/Units/coraap.bos @@ -1,14 +1,16 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" -#include "../factories_common.h" +#include "sfxtype.h" +#include "exptype.h" -piece base, pad, dishbase1, dishbase2, dish1, dish2, nano1, nano2, nano3, nano4, nano5, nano6, nano7, nano8, none, blink1, blink2; +piece base, pad, dishbase1,dishbase2, dish1, dish2, nano1, nano2, nano3, nano4, nano5, nano6, nano7, nano8, none, blink1, blink2; -static-var spray; +static-var spray, unitviewer, statechg_DesiredState, statechg_StateChanging; static-var Stunned; // Signal definitions -#define SIGNAL_TURNON 4 +#define SIG_ACTIVATE 2 + Lights() { @@ -24,6 +26,56 @@ Lights() start-script Lights(); } +activatescr() +{ + sleep 26; +} + +deactivatescr() +{ + //sleep 25; +} + +OpenYard() +{ + set YARD_OPEN to 1; + while( !get YARD_OPEN ) + { + set BUGGER_OFF to 1; + sleep 1500; + set YARD_OPEN to 1; + } +} + +CloseYard() +{ + set YARD_OPEN to 0; + while( get YARD_OPEN ) + { + set BUGGER_OFF to 1; + sleep 1500; + set YARD_OPEN to 0; + } +} + +Go() +{ + call-script activatescr(); + call-script OpenYard(); + //spin dish1 around z-axis speed <150.0>; + //spin dish2 around z-axis speed <150.0>; + set INBUILDSTANCE to 1; +} + +Stop() +{ + set INBUILDSTANCE to 0; + call-script CloseYard(); + //spin dish1 around z-axis speed <0.0>; + //spin dish2 around z-axis speed <0.0>; + call-script deactivatescr(); +} + DishSpin() { show blink1; @@ -31,7 +83,6 @@ DishSpin() spin dish1 around z-axis speed <150>; spin dish2 around z-axis speed <150>; } - DishStopSpin() { hide blink1; @@ -42,14 +93,48 @@ DishStopSpin() SetStunned(State) { - Stunned = State; + Stunned = State; if (Stunned) { call-script DishStopSpin(); + //call-script Stop(); } else { call-script DishSpin(); + //call-script Go(); } } +InitState() +{ + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; +} + +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + call-script Go(); + currentstate = 0; + } + if( statechg_DesiredState == 1 ) + { + call-script Stop(); + currentstate = 1; + } + } + statechg_StateChanging = FALSE; +} + Create() { hide nano1; @@ -64,9 +149,13 @@ Create() hide dishbase1; hide none; - spray = 0; - - SLEEP_UNTIL_UNITFINISHED; + unitviewer = FALSE; + spray = base; + call-script InitState(); + while( get BUILD_PERCENT_LEFT ) + { + sleep 1000; + } start-script Lights(); turn dishbase1 to x-axis <45> speed <100>; turn dishbase2 to x-axis <-45> speed <100>; @@ -76,32 +165,76 @@ Create() spin dish2 around z-axis speed <150.0>; } +#define SMOKEPIECE base +#include "smokeunit_thread_nohit.h" + +QueryNanoPiece(piecenum) +{ + if( spray == 0 ) + { + piecenum = nano1; + + } + if( spray == 1 ) + { + piecenum = nano2; + + } + if( spray == 2 ) + { + piecenum = nano3; + + } + if( spray == 3 ) + { + piecenum = nano4; + + } + if( spray == 4 ) + { + piecenum = nano5; + + } + if( spray == 5 ) + { + piecenum = nano6; + + } + if( spray == 6 ) + { + piecenum = nano7; + + } + if( spray == 7 ) + { + piecenum = nano8; + + } -#define BASEPIECE base -#define MAXTILT 0 -#include "../unit_hitbyweaponid_and_smoke.h" + spray = spray+1; + if( spray==8){ + spray=0; + } +} -QueryNanoPiece(pieceIndex) +Demo() { - spray = (spray + 1) % 8; - pieceIndex = nano1 + spray; + unitviewer = TRUE; } Activate() { - signal SIGNAL_TURNON; - set-signal-mask SIGNAL_TURNON; - - FACTORY_OPEN_BUILD; + signal SIG_ACTIVATE; + start-script RequestState(0); } Deactivate() { - signal SIGNAL_TURNON; - set-signal-mask SIGNAL_TURNON; - sleep 5000; - - FACTORY_CLOSE_BUILD; + signal SIG_ACTIVATE; + set-signal-mask SIG_ACTIVATE; + sleep 5000; + set-signal-mask 0; + start-script RequestState(1); } StartBuilding() @@ -114,7 +247,7 @@ StartBuilding() show nano6; show nano7; show nano8; - spin pad around y-axis speed <10> accelerate <1>; + spin pad around y-axis speed <10.005495>; } StopBuilding() @@ -127,12 +260,17 @@ StopBuilding() hide nano6; hide nano7; hide nano8; - stop-spin pad around y-axis decelerate <1>; + stop-spin pad around y-axis; +} + +QueryBuildInfo(piecenum) +{ + piecenum = pad; } -QueryBuildInfo(pieceIndex) +SweetSpot(piecenum) { - pieceIndex = pad; + piecenum = base; } Killed(severity, corpsetype) diff --git a/scripts/Units/coraap.cob b/scripts/Units/coraap.cob index c9bf0965fc934a2a87a92d50dd7e516a69042114..5fc7d283b8ec26765485a99c99c205cf11f353c4 100644 GIT binary patch literal 6128 zcmbtYO=w(I6h2AQNlmprm1q^kap9_h(`fx!D6y@y#j3GEs=JwHUfZ$hn=vz~bRi7r zLP61uR9saQ6hTlFu?mV%5vd>w>PAJnvY^m~(1l?9zH`r+yguGb=Ouw}?!D*#o}W8I z#zbT@a24>xdXWlN{=GCQ@)xl8T9MmueiiFTG#ZVNS+7JlVj07EjOUZ8TFl_Uyc1Bj_L;G zlP1-%$YXxcWUk4P{T2CeyIEU|v1U402C=xD(y~60qXrm^X;^=5hyETmU8UjfQpNrC zfDi1~*`D?pdiL(hwwyU%X^4~hT1yhJA5})Mp&Dx}Xkxl32+N_Skd+Fn1l(Y;Wh{GT+8w}bb%okpUI-tpj)MLhDSvss zrqnLJLr^37hPd8EW6&uJ@rl{{!0e4s@H{flKh*YPqmO3j>D>4%rgQg|>8TyugL86m z{=z-JH#wRg+#S87{R^7sU*9~`h<0dmnI7!?Zgw~?o{zLF?TgLkIg{l~<;k+=T=pN6 z<=o}TYVVreC6ncB=E-XPOm+fJcn8i|o~*t%COc`eobfzaeIrb^YO;I>@?`ZLG1)C9 z%UtKlYR>RGgmr<4zL8uRx4uJW=RUKeGA6rRpYU6QwrGcImIrl_PLSi4Zwc>uDOuI) z2fY{g!@zo-CdBCB4*B*3-^U?$_P*jA?q%;Q&iW2w)%O*vzOPuBGrtGdo0!;|g!`p< z+PC$!z2ojjrVH$2E-1shdL0Kkm_5EFelFruCjHi24_i_VvsFctr|o-Pst_T)k5%e; zYohVNY*sbGg9Vnlt$J7?_Sg#@;=dg&!x)$-Y_X=WR{fqRxC#ojX$Le`uuTqZ* z;;MayoN=%3g6;d@yAJ6^zVy4VAV$6&tflro>YuKwelJ*E&sbd<8~eiRQzpjM=yD$b<$v3hN}C9O;x-p8J+Vdm5OINfKAAsdhPZW-Hdv&aefgT!FY-zHT6)lDC(q|FdCJZdXW~|1i(xm`Ca?hXf!BcdfG>b=flU~K7H|sq z5tv3GyMTSbL7)%34x9wu1^7SQ6Tn-*hrnmRY2X{+JK!haEbupQ0T{zSbT;d)zO`r=r3p@|J2)qoO0Nw=N0p15b0!{&60$&4XfFFQgfZu?#z&T)V>(Jp| zR~mD@*0Dw}?#?YpGftl#?ZnBGjfJM{m~VGu-R)}2Y_HvsovrTS*-k478&LEx8~0{= zi%AkUWlz$=9%f}<{PbenwZo2un6%lW?IZEy5Ru)j-uC1B<3^{Q$YYD~!tqBMNqeRh z&&9GcKH8QCEIOP#G(^x?=xtwY%{N=gA&qBnP!oFElN>~>&%_9+)9%Sbt@(L`b)eCW zrPF9i6BpoN>tHvfyKtV81YvB|&#=Ek_jl^&HvPOyKkwGhdn9Qmu^gChB}cY~WlH`B D!Gg9~ literal 3938 zcmbVP&ud&&6uvW=rfL24v>;Z5&c=WJ`esNbN_C@P zK|zWLEeIk}`VVv?D7dRTcXi{+x^vfp;-=8}ednHUdh?jnAEjr`J-^TS?tS;RjS#|p zp!-3uO@x5I_UE&ELihHgJ2EGTYECwy`;zbySb_8?A`f2q$24g2BznjD6Z4VDLH@&>6N^s(wL;NVWfV) z^Shki?Ht=@cH2|Kl>)ehCQ&eJ%o;DgmaP8haAlC<$l}D(5a8KXZot< zpA4Rz$m*@AOKpaC7W?@FZtMrl=1TpnhR<}%{ist;#vR3>VT^jUd0G>OiN&LbfIVh< z^~M<0WUSf1$H(4|ryu8K>_=FVp95EY<*f41ihCqqrm6Z!mT&4q9cLEyb6!*XG_G&v z`<)Js1!v}d;Ixl&v2WXpR?TKQ4`I|t1+#Is9X;|cbZod6ym!CGg83ShaZWh{m%^Mj z&Z2Ysp8Hd!vpMPq`O`Sd>1XI%Qb#oy2es9=8kv0&@tk?w1&^!I@kTr&y!*d!eLc~q zwd0!rEP)&SSKOa{+uaBpSdF6kAnsiAj;vuH()*3ymHf3oiY4Fiy$_Oa|AV-G04}3C z%_*xxo!y!K2L9qb9vI_$kq-uDVUB7p&UeLQ=~k@+)j#(4F^g96TU@o*rO9jphnY40 zZJ)}+KCj)3-ZF4|%fRg|1Ls@DT;Do>gb7+9 zo;}xr8Af5r>wsGw@c;5=s!o{QC4V#CO@P7fNS56(C+z%2)3bb#PR)21f9}{To}BSp z^vU*)&a>pIofxM6oH3Q{>?iq%ZE7dRsZ6X>nV6@tu-}57{qY{8{Y#g5N2LC|>r$C# zf>>}4eq$*v_KiC(KRYhW&-+Dlt4>uG4zdde$-;qe2>TWel7)l(g@a__AXzv_-VF!Y zg@fcf;jqFU9fyYzNc$YOp!Y$afG&W( z0bK@t5Bd>w6?6@B9rPFICTJV95C3sH06GXd1bP(oIA|Jl1oRB(7-$jnGU!#%8=&LG z>Z##ISSU75bp}Nl7sLL*gib!}3^&U%?}cOQd3TtH=ZfL{*%Ntp&@UHzsT3BvXS%C- zuXCnX!X>k+0-oZe>`!!|;W?t7T`{T_4VG7HhqtTn!zR90?X}(qj2m zKfF+^t)YYE?nWL4-CpRSR|?ak)r_s8JQGUPownb&e$v*5?e{7BecFDH*zeI$_RBmh MuNCF#>Bwfn-%3#}X8-^I diff --git a/scripts/Units/coraca.bos b/scripts/Units/coraca.bos index 735334e8ba2..3057158e77c 100644 --- a/scripts/Units/coraca.bos +++ b/scripts/Units/coraca.bos @@ -1,7 +1,29 @@ -#include "../recoil_common_includes.h" +#define TA // This is a TA script + +#include "sfxtype.h" +#include "exptype.h" piece base, duct1, fan1, duct2, fan2, door1, door2, support, beam, nano, thrust; +static-var Static_Var_1, Static_Var_2; + + +activatescr() +{ + spin fan1 around y-axis speed <-720> accelerate <720>; + spin fan2 around y-axis speed <720> accelerate <720>; + sleep 1457; + return (0); +} + +deactivatescr() +{ + stop-spin fan1 around y-axis decelerate <720>; + stop-spin fan2 around y-axis decelerate <720>; + sleep 1455; + return (0); +} + #define BASEPIECE base #define HITSPEED <105.0> //how 'heavy' the unit is, on a scale of 1-10 @@ -13,26 +35,58 @@ piece base, duct1, fan1, duct2, fan2, door1, door2, support, beam, nano, thrust #define IDLEBASEPIECE base #include "idlehover.h" +RequestState(requestedstate, currentstate) +{ + if( Static_Var_2 ) + { + Static_Var_1 = requestedstate; + return (0); + } + Static_Var_2 = 1; + currentstate = Static_Var_1; + Static_Var_1 = requestedstate; + while( Static_Var_1 != currentstate ) + { + if( Static_Var_1 ) + { + call-script deactivatescr(); + currentstate = 1; + } + else + { + call-script activatescr(); + currentstate = 0; + } + } + Static_Var_2 = 0; + return (0); +} + Create() { hide nano; hide thrust; - SLEEP_UNTIL_UNITFINISHED; + Static_Var_1 = 1; + Static_Var_2 = 0; + while( get BUILD_PERCENT_LEFT ) + { + sleep 500; + } start-script IdleHover(); } Activate() { show thrust; - spin fan1 around y-axis speed <-720> accelerate <720>; - spin fan2 around y-axis speed <720> accelerate <720>; + start-script RequestState(0); + return (0); } Deactivate() { hide thrust; - stop-spin fan1 around y-axis decelerate <720>; - stop-spin fan2 around y-axis decelerate <720>; + start-script RequestState(1); + return (0); } StartBuilding() @@ -57,12 +111,17 @@ StopBuilding() return (0); } -QueryNanoPiece(pieceIndex) +QueryNanoPiece(piecenum) { - pieceIndex = nano; + piecenum = nano; return (0); } +SweetSpot(piecenum) +{ + piecenum = base; + return (0); +} Killed(severity, corpsetype) { diff --git a/scripts/Units/coraca.cob b/scripts/Units/coraca.cob index 0aa6024a94b9700fc71749224ee3ac77f441b91e..cdaeacc82e1973cc33c0b6f357bd44fe8efc5505 100644 GIT binary patch literal 4623 zcmeI0zl&p46vt0yGTHG5_!OH3l~*hXqL7_>apI3+MUc_46r4=*)IfF;lb4mPOuPO5 z1uBRjEEX1mh>brw3oX>fMG#ahEYw0|z4!e3o*(zVVe4jg zr|1sRxw_dIaef~rX1|E;yW8wx?JtVgl8xlXtQL4`H)qzgWJ9tV6v@y*CUgI_S1e`!Sux_SY-yEtRhdA_kc3ppm?zMO}Mv)|(qiL)~-7QEOS%9)@FhpCMWfDAU$N@LxzsyvF4Ue zj?bo#N(hc&agI%_yLcY!$JhxHb=DgWyv&^L!tW9c%aNImLDb1}pAI8OP=1h+k%pUaaaDyV$SS z!2O2a$*=c#RlnH9eu+b^9uX%;#Ou@{whMmKq7I9G*{@Rv_lsTZ*X!W&b?fk@hK)Su zbtv%?W}bhum;?3!xAy*agm~Kfefv=ZgI<`M@{WX=(d_%Xc^Go2CDv*rZ_5F7;5}n5 z-_oA?TPv!2=?4{6^VD3;>sX-&zSv)wj|x5V^1jde9qU!}u`+I{=W*!^dZ*$>btW!# zqdwH+A;&Dv_r<>r_`xrA`ap}gKOBcVS(M)-ba~GLmo1{jHyb(U_zrUMB1Z8}e6Nkm zi2Dt~RNp+5^&=*0_Y3|TrA|;Nby&wbpGe2?I!51zoDVDs-zst5Esx`PT{pJXr(M|U z;eF%Njm~diDeL+>>!cB87*+QX;_V&BL53bJ!Q_PA0-mLM@&|rw|Jp5h{o~opQcL`A z6J&qBSjgbWw#E1%OFk?3wKoepX2|E%W&Ia)C_C&=CfEO^SW2b=sCV{4iEKIJl5e`Sgxm%I}UV^rzM|?yUcr->Ij{wxXZ|K znVru_TIx*2-Hu)@vkP}&36}U$YGt{Rn=hGJM@3=s^8#$ z>%C+Q?-iXBy{pIjC()J~beHI?XjhbpE{P^0{tx4M(V?g>x+0p2u8OXS-Vj|EeI)u^ z^o8gv(YK=SL_dgr7X2#vLv&NLd5_t)sNKnXm)m(Z?u@LP#k;4v{p{l4ayGK(vR5bB zIN#5uXHSeW*kh%gJvlcrDU9;RC%t~Rcl5G$gW-Jh>?9jqd8U0d*z0AT%=TZ)vV4Cy z$nEJ~zn^vOuszPKJL%--?WOk7`LNt!xnteIV59^6yJO?Ya5xy{c9^v<*^%5?{>o@F G&h2k?AxXvn literal 3298 zcmd5;J!n%=6h2AQSgXTxbWq;rBJ!HaK{Wm#ia$gOPKu_T0~zsx#ynmoO922?#+G4iO2|K3*>87 zWC$alE)82nLdb5YCoxKx4OWv(031&?$_9Ci{(O_0XXtP-AKZkJg+Kl1uQ*{peg_R< zE?}-;7xZ8_V0;rQZJQm=80Kb9j>LLBD5ar*7^p45M1TUbH6o&D{m7p=I9d!!Gz`n4 zZDv1gtfOV^%|zdq$!8qc=k9&ykfzBA3)|1zdGkHUsSI>vZ7umdA=bPhZ7IHnJ&tQ$Lf&JbH zH^!%NTWj8xxG}!pD{#|w*0XQy&qlcEZ^W;WJzHzu57-Cg;O`sDQhN^Ebe%8w0n^Si zN`Lm%oHd*;i85wBVXzF&Xg;`srqG}F5Pu`rFxNfqpD&k(E`#S$iuN3`x4Irx_0yiK zAL~r>qg~HH>bl-}_5GHu>-=EXh||%+u{N_T7CHjiEm|GoB;o^BB?bevHm_Uv;iM)4Be4cz|%mlfR!&_g4J}*VBDc zoPF@)^}m4PJb&b7_6&S|o&{jabH?#x{?&NSG6r=kPvxOJb*?<;o&Ue&Sz!%sKVLeY z?9*yImB*j*eCT-p?fvB5|BlN&SIhs-g=Nm*pw2-SAkQJ6AzAF%D1`s(&qB^aCLvcL zw;*>Q_aToU3y>#}r;rzrSCBW5caZmxkC0E0=je{!Z1x38ZrH=3ndT#4mGtzM6-GEtt2rP`?^V=`H8j2X2+ iwIJ1Ivke2j3o_MdwVLfjCgSoHX&{Ltm)o7GM1BF}XY*tL diff --git a/scripts/Units/corack.bos b/scripts/Units/corack.bos index 3bae7cd5020..79be30b7691 100644 --- a/scripts/Units/corack.bos +++ b/scripts/Units/corack.bos @@ -1,93 +1,95 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" -#define SIGNAL_BUILD 2 +#define SIG_BUILD 4 piece rnano, lnano, torso, lforeleg, rforeleg, rhindleg, lhindleg, lbeamcase, rbeamcase, pelvis, rbeamhinge, lbeamhinge, aimy1, cagelight, cagelight_emit, cagelight2, cagelight_emit2 ; -static-var isMoving, nanoNozzle, readyToBuild; +static-var bMoving, notBuilding, nanoNozzle, statechg_DesiredState, statechg_StateChanging; static-var animSpeed, maxSpeed, animFramesPerKeyframe; -#define SIGNAL_MOVE 1 +#define SIG_WALK 2 Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\animation\corack_anim_walk.blend - set-signal-mask SIGNAL_MOVE; - if (isMoving) { //Frame:5 - turn lforeleg to y-axis <-0.0> speed <473.999948> / animSpeed; - turn lhindleg to y-axis <-0.0> speed <1388.999837> / animSpeed; + set-signal-mask SIG_WALK; + if (bMoving) { //Frame:5 + turn lforeleg to y-axis <-0.000000> speed <473.999948> / animSpeed; + turn lhindleg to y-axis <-0.000000> speed <1388.999837> / animSpeed; move pelvis to y-axis [1.038649] speed [31.159472] / animSpeed; turn pelvis to z-axis <5.100000> speed <152.999994> / animSpeed; turn rbeamcase to z-axis <-1.200000> speed <35.999997> / animSpeed; - turn rforeleg to y-axis <-0.0> speed <569.999948> / animSpeed; - turn rhindleg to y-axis <-0.0> speed <1292.999889> / animSpeed; + turn rforeleg to y-axis <-0.000000> speed <569.999948> / animSpeed; + turn rhindleg to y-axis <-0.000000> speed <1292.999889> / animSpeed; turn torso to z-axis <4.700000> speed <140.999988> / animSpeed; sleep 164; } - while(isMoving) { - if (isMoving) { //Frame:10 + while(bMoving) { + if (bMoving) { //Frame:10 turn lbeamhinge to z-axis <-7.299999> speed <218.999984> / animSpeed; move lforeleg to z-axis [-5.490000] speed [164.699993] / animSpeed; - move pelvis to y-axis [0.0] speed [31.159472] / animSpeed; - turn pelvis to z-axis <-0.0> speed <152.999994> / animSpeed; + move pelvis to y-axis [0.000000] speed [31.159472] / animSpeed; + turn pelvis to z-axis <-0.000000> speed <152.999994> / animSpeed; turn rbeamcase to z-axis <1.550000> speed <82.499991> / animSpeed; move rforeleg to z-axis [5.490000] speed [164.699993] / animSpeed; turn torso to x-axis <9.699999> speed <290.999971> / animSpeed; turn torso to z-axis <-5.600000> speed <308.999974> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:15 + if (bMoving) { //Frame:15 turn lbeamhinge to z-axis <0.300000> speed <227.999979> / animSpeed; - move lforeleg to z-axis [0.0] speed [164.699993] / animSpeed; + move lforeleg to z-axis [0.000000] speed [164.699993] / animSpeed; move pelvis to x-axis [0.424902] speed [12.747057] / animSpeed; move pelvis to y-axis [1.133072] speed [33.992153] / animSpeed; turn pelvis to z-axis <-5.899999> speed <176.999981> / animSpeed; turn rbeamcase to z-axis <-0.700000> speed <67.499992> / animSpeed; move rforeleg to z-axis [-0.090000] speed [167.399998] / animSpeed; - turn torso to x-axis <-0.0> speed <290.999971> / animSpeed; + turn torso to x-axis <-0.000000> speed <290.999971> / animSpeed; turn torso to z-axis <-1.189813> speed <132.305590> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:20 + if (bMoving) { //Frame:20 turn lbeamhinge to z-axis <-5.800000> speed <182.999991> / animSpeed; move lforeleg to z-axis [5.620000] speed [168.599997] / animSpeed; - move pelvis to x-axis [0.0] speed [12.747057] / animSpeed; - move pelvis to y-axis [0.0] speed [33.992153] / animSpeed; - turn pelvis to z-axis <-0.0> speed <176.999981> / animSpeed; + move pelvis to x-axis [0.000000] speed [12.747057] / animSpeed; + move pelvis to y-axis [0.000000] speed [33.992153] / animSpeed; + turn pelvis to z-axis <-0.000000> speed <176.999981> / animSpeed; turn rbeamcase to z-axis <-8.999999> speed <248.999984> / animSpeed; move rforeleg to z-axis [-5.510000] speed [162.599988] / animSpeed; turn torso to x-axis <8.649999> speed <259.499975> / animSpeed; turn torso to z-axis <4.048148> speed <157.138839> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:25 - turn lbeamhinge to z-axis <-0.0> speed <173.999983> / animSpeed; - move lforeleg to z-axis [0.0] speed [168.599997] / animSpeed; + if (bMoving) { //Frame:25 + turn lbeamhinge to z-axis <-0.000000> speed <173.999983> / animSpeed; + move lforeleg to z-axis [0.000000] speed [168.599997] / animSpeed; move pelvis to y-axis [1.038649] speed [31.159472] / animSpeed; turn pelvis to z-axis <5.100000> speed <152.999994> / animSpeed; turn rbeamcase to z-axis <-1.300000> speed <230.999977> / animSpeed; - move rforeleg to z-axis [0.0] speed [165.299993] / animSpeed; - turn torso to x-axis <-0.0> speed <259.499975> / animSpeed; + move rforeleg to z-axis [0.000000] speed [165.299993] / animSpeed; + turn torso to x-axis <-0.000000> speed <259.499975> / animSpeed; turn torso to z-axis <4.600000> speed <16.555546> / animSpeed; sleep ((33*animSpeed) -1); } } } -// Call this from StopMoving()! +// Call this from MotionControl()! StopWalking() { - move lforeleg to z-axis [0.0] speed [33.719999]; - move pelvis to x-axis [0.0] speed [2.549411]; - move pelvis to y-axis [0.0] speed [6.798431]; - move rforeleg to z-axis [0.0] speed [33.480000]; - turn lbeamhinge to z-axis <0.0> speed <45.599996>; + move lforeleg to z-axis [0.000000] speed [33.719999]; + move pelvis to x-axis [0.000000] speed [2.549411]; + move pelvis to y-axis [0.000000] speed [6.798431]; + move rforeleg to z-axis [0.000000] speed [33.480000]; + turn lbeamhinge to z-axis <0.000000> speed <45.599996>; turn lforeleg to y-axis <15.799998> speed <94.799990>; turn lhindleg to y-axis <-46.299995> speed <277.799967>; - turn pelvis to z-axis <0.0> speed <35.399996>; - turn rbeamcase to z-axis <0.0> speed <49.799997>; + turn pelvis to z-axis <0.000000> speed <35.399996>; + turn rbeamcase to z-axis <0.000000> speed <49.799997>; turn rforeleg to y-axis <-18.999998> speed <113.999990>; turn rhindleg to y-axis <43.099996> speed <258.599978>; - turn torso to x-axis <0.0> speed <58.199994>; - turn torso to z-axis <0.0> speed <61.799995>; + turn torso to x-axis <0.000000> speed <58.199994>; + turn torso to z-axis <0.000000> speed <61.799995>; } // REMEMBER TO animspeed = 5 in Create() !! UnitSpeed(){ @@ -104,27 +106,88 @@ UnitSpeed(){ sleep 164; } } -StartMoving(reversing){ - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; - isMoving=TRUE; +StartMoving(){ + signal SIG_WALK; + set-signal-mask SIG_WALK; + bMoving=TRUE; start-script UnitSpeed(); start-script Walk(); } StopMoving(){ - signal SIGNAL_MOVE; - isMoving=FALSE; + signal SIG_WALK; + bMoving=FALSE; call-script StopWalking(); } +Go() +{ + turn lbeamcase to y-axis <-90> speed <180>; + turn rbeamcase to y-axis <90> speed <180>; + wait-for-turn lbeamcase around y-axis; + + turn lbeamhinge to x-axis <175> speed <360>; + + turn rbeamhinge to x-axis <175> speed <360>; + wait-for-turn rbeamhinge around x-axis; + sleep 520; +} + +Stop() +{ + set INBUILDSTANCE to 0; + hide cagelight_emit; + hide cagelight_emit2; + + turn lbeamhinge to x-axis <0> speed <360>; + turn rbeamhinge to x-axis <0> speed <360>; + wait-for-turn rbeamhinge around x-axis; + + turn lbeamcase to y-axis <0> speed <180>; + turn rbeamcase to y-axis <0> speed <180>; + wait-for-turn lbeamcase around y-axis; + + + + turn torso to y-axis <0.000000> speed <160.000000>; + wait-for-turn torso around y-axis; +} + #define BASEPIECE pelvis #define HITSPEED <55.0> //how 'heavy' the unit is, on a scale of 1-10 #define UNITSIZE 4 #define MAXTILT 100 -#include "../unit_hitbyweaponid_and_smoke.h" +#include "unit_hitbyweaponid_and_smoke.h" + +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState ) + { + call-script Stop(); + notBuilding = 1; + currentstate = 1; + } + else + { + call-script Go(); + notBuilding = 0; + currentstate = 0; + } + } + statechg_StateChanging = FALSE; +} Create() @@ -134,37 +197,34 @@ Create() hide aimy1; hide cagelight_emit; hide cagelight_emit2; - isMoving = FALSE; + bMoving = FALSE; nanoNozzle = 0; - readyToBuild = 1; - animSpeed = 5; + notBuilding = 1; + animSpeed = 8; + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; } -StartBuilding(heading, pitch) +Activate() { - signal SIGNAL_BUILD; - set-signal-mask SIGNAL_BUILD; - - if(!readyToBuild){ - turn lbeamcase to y-axis <-90> speed <180>; - turn rbeamcase to y-axis <90> speed <180>; - wait-for-turn lbeamcase around y-axis; - - turn lbeamhinge to x-axis <175> speed <360>; - turn rbeamhinge to x-axis <175> speed <360>; - wait-for-turn rbeamhinge around x-axis; - - readyToBuild = TRUE; - } + start-script RequestState(0); +} +Deactivate() +{ + start-script RequestState(1); +} + +StartBuilding(heading, pitch) +{ show rnano; show lnano; - - turn aimy1 to y-axis heading speed <160.0>; + start-script RequestState(0); + while( notBuilding ) sleep 100; + signal SIG_BUILD; + turn aimy1 to y-axis heading speed <160.000000>; wait-for-turn aimy1 around y-axis; - set INBUILDSTANCE to 1; - show cagelight_emit; show cagelight_emit2; spin cagelight_emit around y-axis speed <450>; @@ -173,40 +233,38 @@ StartBuilding(heading, pitch) StopBuilding() { - signal SIGNAL_BUILD; - set-signal-mask SIGNAL_BUILD; - hide rnano; hide lnano; + signal SIG_BUILD; + set-signal-mask SIG_BUILD; hide cagelight_emit; hide cagelight_emit2; - sleep 6000; - - set INBUILDSTANCE to 0; - readyToBuild = FALSE; - - turn aimy1 to y-axis <0> speed <160.0>; - wait-for-turn aimy1 around y-axis; - - turn lbeamhinge to x-axis <0> speed <360>; - turn rbeamhinge to x-axis <0> speed <360>; - wait-for-turn rbeamhinge around x-axis; - - turn lbeamcase to y-axis <0> speed <180>; - turn rbeamcase to y-axis <0> speed <180>; - wait-for-turn lbeamcase around y-axis; + set-signal-mask 0; + signal SIG_BUILD; + turn aimy1 to y-axis <0> speed <160.000000>; + start-script RequestState(1); } -QueryNanoPiece(pieceIndex) +QueryNanoPiece(piecenum) { - pieceIndex = nanoNozzle; + piecenum = nanoNozzle; nanoNozzle = !nanoNozzle; } +/* +TargetHeading(Func_Var_1) +{ + Static_Var_1 = 0 - Func_Var_1; +} +*/ +SweetSpot(piecenum) +{ + piecenum = torso; +} Killed(severity, corpsetype) { @@ -216,7 +274,15 @@ Killed(severity, corpsetype) explode pelvis type BITMAPONLY | NOHEATCLOUD; explode lforeleg type BITMAPONLY | NOHEATCLOUD; explode lhindleg type BITMAPONLY | NOHEATCLOUD; + //explode rforeleg type BITMAPONLY | NOHEATCLOUD; + //explode rhindleg type BITMAPONLY | NOHEATCLOUD; explode torso type BITMAPONLY | NOHEATCLOUD; + //explode lbeamhinge type BITMAPONLY | NOHEATCLOUD; + //explode lbeamcase type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lnano type BITMAPONLY | NOHEATCLOUD; + //explode rbeamhinge type BITMAPONLY | NOHEATCLOUD; + //explode rbeamcase type BITMAPONLY | NOHEATCLOUD; + //explode rnano type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } if( severity <= 50 ) @@ -224,8 +290,16 @@ Killed(severity, corpsetype) corpsetype = 2 ; explode pelvis type FALL | NOHEATCLOUD; explode lforeleg type FALL | NOHEATCLOUD; + //explode lhindleg type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rforeleg type FIRE | SMOKE | FALL | NOHEATCLOUD; explode rhindleg type FALL | NOHEATCLOUD; explode torso type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lbeamhinge type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lbeamcase type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lnano type FALL | NOHEATCLOUD; + //explode rbeamhinge type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rbeamcase type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rnano type FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) @@ -234,15 +308,29 @@ Killed(severity, corpsetype) explode pelvis type SMOKE | FALL | NOHEATCLOUD; explode lforeleg type SMOKE | FALL | NOHEATCLOUD; explode lhindleg type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rforeleg type FIRE | SMOKE | FALL | NOHEATCLOUD; explode rhindleg type SMOKE | FALL | NOHEATCLOUD; explode torso type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lbeamhinge type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode lbeamcase type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lnano type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rbeamhinge type SMOKE | FALL | NOHEATCLOUD; + //explode rbeamcase type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode rnano type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; explode pelvis type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode lforeleg type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode lhindleg type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rforeleg type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode rhindleg type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode torso type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode lbeamhinge type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode lbeamcase type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lnano type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rbeamhinge type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode rbeamcase type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rnano type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/corack.cob b/scripts/Units/corack.cob index d1bbc134200cc5e65ff39e2d4cceba5e45395c45..08cad516e6c6c8e9d843601c5d749263520cf6d5 100644 GIT binary patch literal 6538 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 - (anglex * amount) /100 speed HITSPEED; wait-for-turn BASEPIECE around z-axis; wait-for-turn BASEPIECE around x-axis; - turn BASEPIECE to z-axis <0.0> speed HITSPEED / 4; - turn BASEPIECE to x-axis <0.0> speed HITSPEED / 4; + turn BASEPIECE to z-axis <0.000000> speed HITSPEED / 4; + turn BASEPIECE to x-axis <0.000000> speed HITSPEED / 4; } HitByWeaponId(anglex, anglez, weaponid, dmg) //weaponID is always 0,lasers and flamers give angles of 0 { @@ -36,87 +38,132 @@ HitByWeaponId(anglex, anglez, weaponid, dmg) //weaponID is always 0,lasers and f return (100); //return damage percent } +activatescr() +{ + turn door1 to z-axis <0.000000> now; + turn door1 to z-axis <-175> speed <209.241758>; + turn door2 to z-axis <0.000000> now; + turn door2 to z-axis <175> speed <208.917582>; + sleep 1089; + move neck to y-axis [12] speed [20]; + sleep 916; +} -#define TB_BASE base -#define TB_TURNRATE <30.0> -#define TB_TILT_X <-0.32> -#define TB_BANK_Z <0.5> // Do not define this if you dont want banking -#define TB_WAKE_PIECE wake1 -#define TB_WAKE_PIECE2 wake2 -#include "../tilt_bank_submarine.h" - +deactivatescr() +{ + set INBUILDSTANCE to 0; + turn gun to y-axis <0.000000> speed <160.038462>; + wait-for-turn neck around y-axis; + move neck to y-axis [0] speed [20]; + sleep 760; + turn door1 to z-axis <0.000000> speed <185.258242>; + turn door2 to z-axis <0.000000> speed <184.972527>; + sleep 1230; +} -StartMoving(reversing) +StartMoving() { - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; - START_TILTBANK; + signal SIG_MOVE; + set-signal-mask SIG_MOVE; + while( TRUE ) + { + emit-sfx 259 from wake1; + emit-sfx 259 from wake2; + sleep 250; + } } StopMoving() { - signal SIGNAL_MOVE; - STOP_TILTBANK; + signal SIG_MOVE; } +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState ) + { + call-script deactivatescr(); + notBuilding = 1; + currentstate = 1; + } + else + { + call-script activatescr(); + notBuilding = 0; + currentstate = 0; + } + } + statechg_StateChanging = FALSE; +} Create() { hide wake1; hide wake2; hide flare; - readyToBuild = FALSE; - call-script TB_Init(); + notBuilding = 1; + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; +} + +Activate() +{ + start-script RequestState(0); +} + +Deactivate() +{ + start-script RequestState(1); } StartBuilding(heading, pitch) { - signal SIGNAL_BUILD; - set-signal-mask SIGNAL_BUILD; - if (!readyToBuild){ - turn door1 to z-axis <-175> speed <209.241758>; - turn door2 to z-axis <175> speed <208.917582>; - wait-for-turn door1 around z-axis; - - move neck to y-axis [12] speed [20]; - wait-for-move neck along y-axis; - - readyToBuild = TRUE; - } + show flare; + start-script RequestState(0); + while( notBuilding ) sleep 100; + signal SIG_BUILD; turn gun to y-axis heading speed <160.038462>; wait-for-turn gun around y-axis; - - show flare; set INBUILDSTANCE to 1; } StopBuilding() { - signal SIGNAL_BUILD; - set-signal-mask SIGNAL_BUILD; - hide flare; - + hide flare; + signal SIG_BUILD; + set-signal-mask SIG_BUILD; sleep 6000; - - readyToBuild = FALSE; - set INBUILDSTANCE to 0; - - turn gun to y-axis <0.0> speed <160.038462>; - wait-for-turn neck around y-axis; - - move neck to y-axis [0] speed [20]; - wait-for-move neck along y-axis; - - turn door1 to z-axis <0.0> speed <185.258242>; - turn door2 to z-axis <0.0> speed <184.972527>; + set-signal-mask 0; + signal SIG_BUILD; + start-script RequestState(1); } -QueryNanoPiece(pieceIndex) +QueryNanoPiece(piecenum) { - pieceIndex = flare; + piecenum = flare; } +/* +TargetHeading(Func_Var_1) +{ + Static_Var_1 = 0 - Func_Var_1; +} +*/ +SweetSpot(piecenum) +{ + piecenum = base; +} Killed(severity, corpsetype) { @@ -128,6 +175,9 @@ Killed(severity, corpsetype) explode door1 type BITMAPONLY | NOHEATCLOUD; explode neck type BITMAPONLY | NOHEATCLOUD; explode gun type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare type BITMAPONLY | NOHEATCLOUD; + //explode wake1 type BITMAPONLY | NOHEATCLOUD; + //explode wake2 type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } if( severity <= 50 ) @@ -138,6 +188,9 @@ Killed(severity, corpsetype) explode door1 type FIRE | SMOKE | FALL | NOHEATCLOUD; explode neck type FIRE | SMOKE | FALL | NOHEATCLOUD; explode gun type FALL | NOHEATCLOUD; + //explode flare type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode wake1 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode wake2 type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) @@ -148,6 +201,9 @@ Killed(severity, corpsetype) explode door1 type FIRE | SMOKE | FALL | NOHEATCLOUD; explode neck type FIRE | SMOKE | FALL | NOHEATCLOUD; explode gun type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode wake1 type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode wake2 type SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; @@ -156,5 +212,8 @@ Killed(severity, corpsetype) explode door1 type FIRE | SMOKE | FALL | NOHEATCLOUD; explode neck type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode gun type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode flare type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode wake1 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode wake2 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/coracsub.cob b/scripts/Units/coracsub.cob index c6fbfc6348d1b093303936a9415d99aa2dda70ef..968e9def2faf1b604c72489591a8053f33ae4233 100644 GIT binary patch literal 3114 zcmds3J!n%=6h2MTwEkcps8|u?iJ*%^+R4G8tsNA9s1|Wi$uqf@v^7c7*Or1qpyK4< zP+fF$adQ$n`ZMSxI5-I6;4V4{ih}j~?z`vpHa3-PV#}9v&;PmSo|85wB7HzF@Gv8i z1?A7mR*|njVVlSi@MEA7W&$6X0KX7-ftDS${)KEHL)jox$OPnRM@l=Z54r;>=7WAG z13`j3v}<;+C@Um(2XUk?Wg3(G(H%+bF3O#+Ah*`T8YGkeYSB9BL%o%G)YkQf@0vgD z1(B_vcji%RAMyqcq3{&sd6kCZ*}`^~f7lT`0*Z3EciNBhk8pnqD&Q?a#aAD%5I zb>CZBU1g1|M|E@+*mrxfTh4y+286Kpb;EQnbh%u+Tz|I1cIJ^27 zE3Gr^wQ*j~_%aE4Xan#K{Fow|kGl2wzVkvZ-;<^F@%;NXTXg>2Uaz|w;<=g`TIxxE z?YWtpZH<`icTn?ASqi>Lx+lu(JN;lB)F?xFJKt#^HpoL$eZ zMr$mVLLGhROP>2=DR{7{Z>o28QcQL+gt6+FcPE|0e6rU#GABjM1CsKZhxgp?d~EH` zhPJ*BdEe(Jc)gF_L3!JgV$x#)Wp7EDrd>UZp?aEc6f=z<x5KHc51 zwOVNI+q0KehF)GlFy<^%;AY~2lW`1n-nbk3))KDY4c!yQ(Y>-Yy1il;?HA>=^JCj{ zGnwW39vHa&p_@3lZ*OC7a(~9B4d0R>$dl?EE8kA9-+6SQ?Oq;It_o%FA@M||ghu@9V6ox#8DfX+lGKCOM=cw7dq19ySvzXDY z1GB(wU>SG-@PFA$z$7pa+yw3b_kl;iV_*e%0lWb|0H1(wz%L++e{Hq^eZX#DA8-IT z1e~bEBa0VJRIgS2^U1PArMNO5#b&nDkh1Z)@i=P4XKM46>V%BPwYoc=H#2i)HikAf za=c+khFuUDO(Vbs?jv)R>9Ph$nR9cdv3NGB*2XHPWMq87n0UNii{(^hdfJrbYBX!) f+H}+~vJg#~0sA>9ViTFvu3Yx&9b|$n}mRvNCXi? zo0vw62;x5wtS!{W(mx;;DbuOd`h7EVZYJ0G0F9hIGw1Qmcg~r)m=}@VkbcOOtVj?PM)54F~3V+~^Qr~R~bBA;iE(-GxOzJM$&X}cKMh(jC4 zr*VoyQ^-SWVZSwxnsXb#B8`)WD-Uedwx5xkg}qRi1$oiVIMs}oDL3brSQ594i=i>x zzw36poU8a*G9@|7V=^wRRe7kk+&!O-CG3pjw%Ns*;KuxKO91vU>>uwBIWw2%Q8Vrc zeNo=#Y_Je;qhE9M4w_@|?SP@&weHUdBd*r1=S;#L)=hlPRbF~On9n?|i*J~9>HNYt zhDpiw{43*-n`82(*c!rEixbx7^Lh{;=CKXjk3vfU?_{*s-0?P=^ll|QTkg(U&dY8c z&X0D+rtd1bSvicTY^~_x$Y|{o&kg+Pa(DGQb)8cGc;%6}%Df=6zS*54`Ut2LT_y z=N1pAgmEJKeJy(gUrW=AIC7ULldO3bZCVHS?{B&9E<=gm2W9hspR7w;ec<_uBT>Jt zm8rZNwC_}R*vHmE#1=A1UdTnUEuP0FKjJ#uc79r;^K1Qx{7wC@SGMDYJ-nClX|I#> zc}M(w*(1J7@=E*l+poSuTtsf>-;v08&8OymoiU~_!PC9=MEB$y#@iks|2gc;=gjo& zb0+%Mm@~o{&*Lx#MH}a(- speed <1000>; + turn cagelight_emit2 to y-axis <0> speed <1000>; + sleep 70; +} + +Smoke() +{ + while( TRUE ) + { + animSpeed = (get CURRENT_SPEED)*20/moveSpeed; + if (animSpeed<4) animSpeed=4; + animSpeed = 1800 / animSpeed; + + if( terrain == 4 ) + { + emit-sfx 1024 + 0 from smoke1; + emit-sfx 1024 + 0 from smoke2; + } -#define VD_PIECE1 smoke1 -#define VD_PIECE2 smoke2 -#define VD_AMPHIBIOUS -#define VD_DIRTCEG 1024 + 0 -#include "../vehicle_dirt_cegs.h" + sleep animSpeed; + } +} #define BASEPIECE base #define HITSPEED <55.0> //how 'heavy' the unit is, on a scale of 1-10 #define UNITSIZE 3 #define MAXTILT 100 -#include "../unit_hitbyweaponid_and_smoke.h" + +#include "unit_hitbyweaponid_and_smoke.h" -#define TB_BASE base -#define TB_TURNRATE <12.0> -#define TB_TILT_X <0.10> -#define TB_BANK_Z <0.10> // Do not define this if you dont want banking -#include "../tilt_bank_mobileunit.h" +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState ) + { + call-script deactivatescr(); + notBuilding = 1; + currentstate = 1; + } + else + { + call-script activatescr(); + notBuilding = 0; + currentstate = 0; + } + } + statechg_StateChanging = FALSE; +} Create() { @@ -37,44 +88,52 @@ Create() hide nano2; hide cagelight_emit; hide cagelight_emit2; - call-script TB_Init(); + bMoving = FALSE; + moveSpeed = get (MAX_SPEED); + animSpeed = 100; + notBuilding = 1; + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; } -StartMoving(reversing) +setSFXoccupy(state) { - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; - start-script Vehicle_Dirt_Ceg(); - START_TILTBANK; + terrain = state; +} + +StartMoving() +{ + signal SIG_MOVE; + set-signal-mask SIG_MOVE; + start-script Smoke(); } StopMoving() { - signal SIGNAL_MOVE; - STOP_TILTBANK; + signal SIG_MOVE; } Activate() { + start-script RequestState(0); } Deactivate() { + start-script RequestState(1); } StartBuilding(heading, pitch) { - signal SIGNAL_BUILD; - set-signal-mask SIGNAL_BUILD; - - turn gun to y-axis heading speed <160>; - wait-for-turn gun around y-axis; - - set INBUILDSTANCE to 1; - show nano1; show nano2; + start-script RequestState(0); + while( notBuilding ) sleep 100; + signal SIG_BUILD; + turn gun to y-axis heading speed <160.038462>; + wait-for-turn gun around y-axis; + set INBUILDSTANCE to 1; show cagelight_emit; show cagelight_emit2; spin cagelight_emit around y-axis speed <400>; @@ -83,28 +142,43 @@ StartBuilding(heading, pitch) StopBuilding() { - signal SIGNAL_BUILD; - set-signal-mask SIGNAL_BUILD; - hide nano1; hide nano2; + signal SIG_BUILD; + set-signal-mask SIG_BUILD; hide cagelight_emit; hide cagelight_emit2; turn cagelight_emit to y-axis <0> speed <1000>; turn cagelight_emit2 to y-axis <0> speed <1000>; - sleep 6000; - - turn gun to y-axis <0> speed <160>; - set INBUILDSTANCE to 0; + set-signal-mask 0; + signal SIG_BUILD; + start-script RequestState(1); } -QueryNanoPiece(pieceIndex) +QueryNanoPiece(piecenum) { - pieceIndex = nano1 + nanob; + if (nanob){ + piecenum = nano1; + + } + else{ + piecenum = nano2; + } nanob= !nanob; } +/* +TargetHeading(Func_Var_1) +{ + Static_Var_1 = 0 - Func_Var_1; +} +*/ + +SweetSpot(piecenum) +{ + piecenum = base; +} Killed(severity, corpsetype) { @@ -114,7 +188,7 @@ Killed(severity, corpsetype) explode base type BITMAPONLY | NOHEATCLOUD; explode gun type FIRE | SMOKE | FALL | NOHEATCLOUD; explode nano1 type FIRE | SMOKE | FALL | NOHEATCLOUD; - + //explode nano2 type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } if( severity <= 50 ) @@ -123,7 +197,7 @@ Killed(severity, corpsetype) explode base type BITMAPONLY | NOHEATCLOUD; explode gun type FALL | NOHEATCLOUD; explode nano1 type FIRE | SMOKE | FALL | NOHEATCLOUD; - + //explode nano2 type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) @@ -132,13 +206,13 @@ Killed(severity, corpsetype) explode base type BITMAPONLY | NOHEATCLOUD; explode gun type SMOKE | FALL | NOHEATCLOUD; explode nano1 type SMOKE | FALL | NOHEATCLOUD; - + //explode nano2 type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; explode base type BITMAPONLY | NOHEATCLOUD; explode gun type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode nano1 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; - + //explode nano2 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/coracv.cob b/scripts/Units/coracv.cob index f15d9981ba32968c6ae561407acd5294e85161a8..5b015651c559e1005330c1eb1234a3bca87d4692 100644 GIT binary patch literal 3554 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 rl{~C(55ho}Nq-P= diff --git a/scripts/Units/coradvsol.bos b/scripts/Units/coradvsol.bos index 6c28ffaa58e..bfd8b4cd977 100644 --- a/scripts/Units/coradvsol.bos +++ b/scripts/Units/coradvsol.bos @@ -1,18 +1,19 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, fan, emit; +#define SMOKEPIECE base +#include "smokeunit_thread_nohit.h" -#define BASEPIECE base -#define MAXTILT 0 -#include "../unit_hitbyweaponid_and_smoke.h" Activate() { show emit; - spin fan around y-axis speed <-70.0> accelerate <15.0>; + spin fan around y-axis speed <-70.0000> accelerate <15.0>; } Deactivate() @@ -21,7 +22,10 @@ Deactivate() stop-spin fan around y-axis decelerate <0.2>; } - +SweetSpot(piecenum) +{ + piecenum =base; +} Killed(severity, corpsetype) { diff --git a/scripts/Units/coradvsol.cob b/scripts/Units/coradvsol.cob index bc4af74602eb18bea810e2ca81d40faca4ff3c16..7d97741d020ad7669db68c650dea9addd4c0903e 100644 GIT binary patch literal 1205 zcmcgsJxjw-6un7f6sPB?QwH4}f~$gU=}^$2P(%=f#QKC_zo4NaF2&W|RX0H#{0sg8 ze}g~4e^AePc}X#}P!|h_cXRH&=bd+7QcpyDpaM7!fR(?{6KMhwu#4v|Rta3?D1Zf# zuWDHM%#;M4azj@!bir|DuFfD_QLNvxTx>YUXfgC`AN8f>qifc0v{lx>WBbX?+iQ+$Qyc>dIy&E^=J`$Zk&iRIa2bir{gzZ2%3 zt&b0+*~=OIw~r3JSsz~r>4V?VvOYM6zsz8se*SKlA=^1Fnklv`W<{-Kddl}ejRtTI zB)|x`1Ni?i2JV3e;1PHRUVt~?9ccFk*ZQQNq|!{%`t7NXhl9S$E)_q;iyWyZTZt;*plCxG%bg_8;EgR$Bl7 literal 1576 zcmbu9J&RLO5QZl=cjE^lN366lev~2?8!ar7WeY_X0v0wFd)-_mxY-p9g1y^`rPUVJ zc8Y&O5GxCRfXJ4M+Q;`f_sr&ciCP#k%$%8b=Dag!lHAOClCI=l$4uY&*;_GtFZn3B zEYBBd>t~@Uosfl7p!<2Sjb1n*6W9lQUTA5dR5y&<$Bp`G-;@1~!9H-O`dHPa4#ZutBTFz`UfI|9E5-{pGu zzNUBw;6c43Ht2=@Ber z5;X>Y!1cvn(&Tame82AJy!d+G%mMnGUxNup;_Nx^r89AAq1*F~J*K+XQeF1!f9q~? zSE{?7>c(CC3*Q&yh<}?ey|i;*B`k`#pWC^_uSniXen{q$V*>GC{7v#*GM60HANXm> zS;;xcMaj*{Z1vgQs(ie&eQVr2*;+X*A6DZ#)160^4L4_#r{%1&wW@UU_GD|T8r%Ky ONo5bpZL6k}nf(H;8f#nt diff --git a/scripts/Units/corafus.bos b/scripts/Units/corafus.bos index 8fc40622c47..71348a9ae14 100644 --- a/scripts/Units/corafus.bos +++ b/scripts/Units/corafus.bos @@ -1,17 +1,31 @@ // OffsetToFirstName 794 +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, emit; +static-var statechg_DesiredState, statechg_StateChanging; static-var Stunned; - +InitState() +{ + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; + return (0); +} Create() { + call-script InitState(); + while( get BUILD_PERCENT_LEFT ) + { + sleep 1000; + } + return (0); } SetStunned(State) @@ -19,29 +33,73 @@ SetStunned(State) Stunned = State; if (Stunned) { hide emit; - set ACTIVATION to 0; } else { show emit; - set ACTIVATION to 100; } } -#define BASEPIECE base -#define MAXTILT 0 -#include "../unit_hitbyweaponid_and_smoke.h" +#define SMOKEPIECE base +#include "smokeunit_thread_nohit.h" -Activate() +Go() { set ARMORED to 1; + return (0); } -Deactivate() +Stop() { set ARMORED to 0; + return (0); } +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + call-script Go(); + currentstate = 0; + } + if( statechg_DesiredState == 1 ) + { + call-script Stop(); + currentstate = 1; + } + } + statechg_StateChanging = FALSE; + return (0); +} + +Activate() +{ + start-script RequestState(0); + return (0); +} + +Deactivate() +{ + start-script RequestState(1); + return (0); +} + +SweetSpot(piecenum) +{ + piecenum = base; + return (0); +} + Killed(severity, corpsetype) { if( severity <= 25 ) diff --git a/scripts/Units/corafus.cob b/scripts/Units/corafus.cob index 09276abffedd5b857f4109d2ca7d7ea9c0a908ea..4474ed171f401efa5ea4059be1e9c5023ce95b11 100644 GIT binary patch literal 1458 zcmZ`(J!=$E6umQ-R9h^2*z!6+fHWDqT##0M^JW_HaalG-95R%rru zR@zwQPxu2Q*jdI-J6q3r@7-}6b_Wjc-H&rW&dzKiA{T%dSc*gvoP56FlFWm;5E#18@I72WA70^O0BKpzZd=JaO)OXfMWAn48bLS=T~->3or^ z#VdE__>zH-eY<>D+j#yaQncT+UUyg{pEJ}!=WJ&%Zey=wsP{6|i@4Bl@iFW_3jVm~ zza9KIoUW|h{Vfi9adzZh%p*kxeviZ8WBGP>lX?w83`g7Ja_})0-`#&!oSJG4eGkuV z1MmYl1AYO20RFc<1U7(Yz!p#e6JQ^B3%m!8fsepv;0y4$8a72!HdY?Iwmb?8d#|eO z3n_N$SM~`K~0`0Z#Tnz(pPP%*W!&ut#RGR`fxNt My{&TBirqoIzoUO_*#H0l literal 1574 zcmai!zi!k(5XQ$o$3zscAX0!LVQ8VSQc>PP3J?OFbV9T-ISZY*yC5(~bSa?a8F&;* zI-unVu0$da!2H%T7spAIVl=Ze-#7of>r6y8RZ^7~NvqYA!wr#dD&JM^>-mT3B&30u zjPoExs;Bmxm8LzumxnEIdlEEd`Z+pdKw?cz!PIGw1m9Pr6w~EOcV1RfWeP+`|y5!U+kIq5#-?@ zq*?n&5G<_bx8ZYBS9ZhtG4udvK-A?Y&Y%%0b*ua8;Zomo_O+B*Ec2*4P8n55Zcf&5Yvscw1o^dYP88GP?O^jLm-mc7t%kO44 zf0q|?+8z35Jbdg4K0NwZ*9g1_yJyB5Sbqt?zwI62-Ci<(+VMM=d^;4-y|Op(zpV~# z?l71e<|76F1ALhMc=Yw+{-(M$ZvrgZH?w2?k(+s=*8H)Sy&>T1UX3?2UVM)i@b*by zyywP?cjgQpb -#define HOVER_ROCKBASE ground -#define HOVER_WOBBLE_PERIOD 42 -#define HOVER_WOBBLE_AMPLITUDE [0.7] -#define HOVER_WAKEPIECE wake -#define HOVER_IDLE_SFX 1024 + 2 -#define HOVER_WAKE_SFX_1 1024 + 0 -#define HOVER_WAKE_SFX_2 1024 + 1 -#include "../bar_hovercraft_common.h" +#define SIG_MOVE 4 +#define SIG_IDLE 2 + +WobbleUnit() +{ + while( TRUE ) + { + if( Wobble_status) + { + if( get GROUND_WATER_HEIGHT(get UNIT_XZ) < 0 ) //Over Water + { + move base to y-axis [0.000000] speed [0.50000]; + } + else + { + move base to y-axis [1.000000] speed [0.50000]; + } + } + else + { + if( get GROUND_WATER_HEIGHT(get UNIT_XZ) < 0 ) //Over Water + { + move base to y-axis [-1.000000] speed [0.50000]; + } + else + { + move base to y-axis [2.000000] speed [0.50000]; + } + } + Wobble_status = !Wobble_status; + sleep 260; + } +} + +BankControl() +{ + var lastHeading, currHeading, diffHeading; + lastHeading = GET HEADING; + while (TRUE) + { + currHeading = GET HEADING; + diffHeading = currHeading - lastHeading; + // Set values for tilt + + //Remove Extreme values + if ( diffHeading > 1500 ) diffHeading = 1500; + if ( diffHeading < -1500 ) diffHeading = -1500; + //get PRINT(diffHeading); + turn base to z-axis 1.0 * diffHeading speed <23>; + + lastHeading = currHeading; + sleep 67; + } +} #define BASEPIECE base #define HITSPEED <35.0> @@ -26,9 +70,45 @@ static-var gunStatus, sleeveOpen, isidle; #define UNITSIZE 2 #define MAXTILT 100 #define SMOKEPIECE base -#include "../unit_hitbyweaponid_and_smoke.h" +#include "unit_hitbyweaponid_and_smoke.h" + +HoverIdle() +{ + signal SIG_IDLE; + set-signal-mask SIG_IDLE; + while( TRUE ) + { + emit-sfx 1024 + 2 from wake; + sleep 1750; + } + //return (1); +} +StartMoving() +{ + signal SIG_MOVE; + set-signal-mask SIG_MOVE; + signal SIG_IDLE; + var waketime; + var bowtime; + while( TRUE ) + { + emit-sfx 1024 + 0 from wake; + if (bowtime) emit-sfx 1024 + 1 from wake; + bowtime = !bowtime; + waketime = (get CURRENT_SPEED) * 100 / get MAX_SPEED; + if( waketime < 30 ) waketime = 30; + sleep 15000 / waketime; + } +} +StopMoving() +{ + signal SIG_MOVE; + signal SIG_IDLE; + start-script HoverIdle(); + return (0); +} Create() @@ -36,12 +116,18 @@ Create() hide flare2; hide flare1; hide wake; - gunStatus = 1; - sleeveOpen = 0; + Static_Var_7 = 1; + Static_Var_2 = 1; + Static_Var_4 = 5000; + Static_Var_8 = 0; spin fan around z-axis speed <300>; - turn sleeve to x-axis <-20.0> speed <25.0>; - SLEEP_UNTIL_UNITFINISHED; - start-script HoverCraftMotion(); + turn sleeve to x-axis <-20.000000> speed <25.000000>; + while( get BUILD_PERCENT_LEFT ) + { + sleep 400; + } + start-script BankControl(); + start-script WobbleUnit(); } static-var Stunned; @@ -50,13 +136,12 @@ ExecuteRestoreAfterDelay() if (Stunned) { return (1); } - turn turret to y-axis <0.0> speed <250.0>; + turn turret to y-axis <0.000000> speed <250.000000>; wait-for-turn turret around y-axis; - turn sleeve to x-axis <-20.0> speed <25.0>; + turn sleeve to x-axis <-20.000000> speed <25.000000>; wait-for-turn sleeve around x-axis; - sleeveOpen = 0; + Static_Var_8 = 0; } - SetStunned(State) { Stunned = State; @@ -66,7 +151,7 @@ SetStunned(State) } RestoreAfterDelay() { - sleep 5000; + sleep Static_Var_4; start-script ExecuteRestoreAfterDelay(); } @@ -74,14 +159,14 @@ AimWeapon2(heading, pitch) { signal 2; set-signal-mask 2; - if( sleeveOpen == 0 ) + if( Static_Var_8 == 0 ) { - turn sleeve to x-axis <-77.0> speed <150.0>; + turn sleeve to x-axis <-77.000000> speed <150.000000>; wait-for-turn sleeve around x-axis; } - sleeveOpen = 1; - turn turret to y-axis heading speed <250.0>; - turn sleeve to x-axis <0> -pitch speed <150.0>; + Static_Var_8 = 1; + turn turret to y-axis heading speed <250.000000>; + turn sleeve to x-axis <0> -pitch speed <150.000000>; wait-for-turn turret around y-axis; wait-for-turn sleeve around x-axis; start-script RestoreAfterDelay(); @@ -90,51 +175,55 @@ AimWeapon2(heading, pitch) FireWeapon2() { - ++gunStatus; - if( gunStatus == 3 ) + ++Static_Var_2; + if( Static_Var_2 == 3 ) { - gunStatus = 1; + Static_Var_2 = 1; } return (0); } -AimFromWeapon2(pieceIndex) +AimFromWeapon2(Func_Var_1) { - pieceIndex = turret; + Func_Var_1 = turret; return (0); } -QueryWeapon2(pieceIndex) +QueryWeapon2(Func_Var_1) { - if( gunStatus == 1 ) + if( Static_Var_2 == 1 ) { - pieceIndex = flare1; + Func_Var_1 = flare1; } - if( gunStatus == 2 ) + if( Static_Var_2 == 2 ) { - pieceIndex = flare1; + Func_Var_1 = flare1; } return (0); } -AimFromWeapon1(pieceIndex) +AimFromWeapon1(Func_Var_1) { - pieceIndex = turret; + Func_Var_1 = turret; } -QueryWeapon1(pieceIndex) +QueryWeapon1(Func_Var_1) { - if( gunStatus == 1 ) + if( Static_Var_2 == 1 ) { - pieceIndex = flare1; + Func_Var_1 = flare1; } - if( gunStatus == 2 ) + if( Static_Var_2 == 2 ) { - pieceIndex = flare1; + Func_Var_1 = flare1; } } - +SweetSpot(piecenum) +{ + piecenum = base; + return (0); +} Killed(severity, corpsetype) { @@ -144,6 +233,12 @@ Killed(severity, corpsetype) explode base type BITMAPONLY | NOHEATCLOUD; explode turret type BITMAPONLY | NOHEATCLOUD; explode sleeve type BITMAPONLY | NOHEATCLOUD; + //explode barrel1 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare1 type BITMAPONLY | NOHEATCLOUD; + //explode barrel2 type BITMAPONLY | NOHEATCLOUD; + //explode flare2 type BITMAPONLY | NOHEATCLOUD; + //explode wake type BITMAPONLY | NOHEATCLOUD; + //explode fan type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } if( severity <= 50 ) @@ -152,6 +247,11 @@ Killed(severity, corpsetype) explode base type BITMAPONLY | NOHEATCLOUD; explode turret type FIRE | SMOKE | FALL | NOHEATCLOUD; explode sleeve type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode barrel1 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare1 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode barrel2 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare2 type FALL | NOHEATCLOUD; + //explode wake type FIRE | SMOKE | FALL | NOHEATCLOUD; explode fan type FALL | NOHEATCLOUD; return(corpsetype); } @@ -162,6 +262,10 @@ Killed(severity, corpsetype) explode turret type FIRE | SMOKE | FALL | NOHEATCLOUD; explode sleeve type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode barrel1 type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode flare1 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode barrel2 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare2 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode wake type FIRE | SMOKE | FALL | NOHEATCLOUD; explode fan type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } @@ -170,6 +274,10 @@ Killed(severity, corpsetype) explode turret type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode sleeve type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode barrel1 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode flare1 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode barrel2 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare2 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode wake type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode fan type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/corah.cob b/scripts/Units/corah.cob index 98d54dde4f7df05be421ed9fc6c9e24d2898a592..74c8d0ebe2e539085b691f81d9aad2dceb07829d 100644 GIT binary patch literal 4431 zcmbtXO=w(I6uvW=r2c??MFlNYMiI2MiZ_*YN zM-X)3!etNyp&~9s5G;bYD2P(A3pcval^b1JuqfTs@4NS$H+NoVN=6e-&w1y3=l7ob zURpE8+yS~7^uw4jw}SKMh26${0{RDZ5YPJ}V=7TKs?fMR5j_u9!}BhAJ^)Vpap8<- z>a~bEie+x%p3Ow#5o6x3xNZ+`BK%U%e~wH<`zbSKS23`ZFi#8S|I{*jU7l;#hUMwi zQthjyn9qmfQ7!hfV(m3H6IUYk1F4veS;TW4y$KO}f&k313V+4w8N4sPA%?ap{FKwj z)W@7Zs&h7S#{P92LhNV%TA*XDGWLP1?B8SG7A$p&WxSVAA-U#e3=@x`AAg1#)7g=O zX5wcY&d(ze9aZIda4zmwFss6gJV$(=SYy{GIpdRS?dL^D72`9W;uufoaRDNIsbi0d z`R%U$`MTKXQLzR!g#A)aA993pbtxb0+w&*RAhN>;GDXHaG|`J&&N;}Ye&jk^#^HJJ z{yheP&ow>=JI5JOMcXt5*_qvfPn@n&+;#3c??3T0>6|GR@nx6x201xrV#0h=RB(r4 zA0KcR!_^V-hDi>I7fZYffq(kF<2`#s^wpC7io^peW}^3xob~RZ4fEiPW+jf>73>cy z=E4kO)9V8}iD%t6&BHp}o^MRJnw;GAGW}UwCONA-K=ghS z82x_6p6L6=3I-b2Z*d+H*PXq@)qFY+Vl~$n8Yjr5y|9+|#9kR>$NP|H%~*_i4{MQc z#VTdFPsc>hJ2hxG?xkJM{Zq+Donje#`-xz-yqnk~?n77WXAGQUc@9PII5WN``9q8o zfH%uHO+J7-JGjo9eeukxr;k1p&gXY-_jcycn8Y)lK9kS?1VwDzH&(IVVHs(=cp2~G zy74<9e&L>8mi~AS+Vk&}(GQvXfvlqDLmg+THup`E9^aH6wRXjj>-lKB@Xm$yFt)G7&u?2|^Ny%* zh;@BR9p?sMnK#VyU+eg4KUrb zvy456b`|GUhl-dkxY};yhZMb?!d~bOGKTxsN-YPl2-G=zyt7(Z6n*#}WG$54_eA8b z=vlwkIEoKz(U|06JpMnV`2LjoI?24!*Xz<3_dJ~OD0MI#^N-@A{b~>N)fw$%Uh1cO zCqC?vb&ldwo+JIsv(k8@_Q00IdPeoX(F}*}nbxX2%sI@bJhz?rl;_4?Uj%&s`U~_p zihmi@0euPj26Pp)4}~2BJqk)eZ-L$geGK{xbP@C;i2wh75cDwUFlYg^1WG{bpfjL1 zK--{mp!1*$pi7`%K!1S#2G#IK!fl{CL3=^>fgS?IphKX;pgGV}prv$WrDdOMH*+(c zwAW_RcAljzGvCao&o0?yBW;_;db;Kjfp%fl%%@v6TUc#b)5w!7eYOrtwn-D%CQakCMYfGJH^-W-7Ba3Ro7Uu=EVH@UY+1Wyp~6#ZQuvfP)k-ou O=^37qwmF@wS@SO`JXL}K literal 4785 zcmbW5O=w(I6vuBS=~xx<`2n_CbvA;C!b^1FN}9HoiWFi?5y3^K$x9iV%!J8HYe8u7 z1EoS2f)z`VR$RES3l)N(2!cr6h#L`vZbZPRm#cFP=_8>#;AIn8 zP4+BJ2RC1I#H#AXB*Nw)bXkZ|k1|B~d8{$k4up+hccWhq=Ab^}5!cPuv+Y_`F`}!< zrWU#FadD0D%*}2Q)wA{pJ($cFPW%Nx=fUq#A{%DAp{o3Q*IquJlIK<<8=nH#zIIn&`-X5V( z=ftoD-+)bS{kVBQkDar(%>ovay&ipRzs>hIU?(2+q}=6UCbmXDI5v-96l;F;Q>|kj z(^uz-x-CYSyO8s~B#y^R@AQWm3|KZc$YcKG(F5nt#^%e%&BHvKFLQRM4A>9MZp4WU zot-@}Y|iQxKR=7YWxa7TVXh`*=Vb)B>OAH&AAW9zbFOD*JC@kGotrVH~KPBCsipe->+bSYtnXbI_r(GhN3}IMVs`divk+SDxRd z{yugd`jq+uxtBZf_x({<3FLb$EKlg*vGu`+#9~Hz`o?A~=6_vS68{tnxvA^4o{e6v zYhc0N$57Awj8=MNv91T#s8}gR>(?1Iqo7wMGfkg34||81FPys-`^R+`81`zJ-uLN zzl>)#!Cv1HoEu9p!?C3no7;DiS>U^1aDKyVn4gaszkS|M@>mYT(aYg)`S>hEzfYpy z7=ZO|^SJenS&Q;oB2O_-dCcmi`o=ryRD#<-%d;+gcZ&1r;l%A-Pe^J*3^q7>63Xk*#x-`M@Ts!{SP5ON+4rsCr@7Y?F!iuq2;U<+C|Y%RyjrGpuzuqX z38{I6jonw+g552L8vXiI=moX)(z|JBvoB`N!x_ zKdBjx{{?Z~5S#Y?d=tIg`}3ePwfP~2zk_0)KVu#{mr;4n$Gn!u_T(WZ?=*1PzhQ{O zxu<#Okj1=r=@Q1z`qGi!>(MzINM5je>iOz{Giar#5B-+B(L?Q4>GrkCT_>I`n#-N`Q}gN0?P)GGj}-FV7c0E7xQkja=Nt?GEBL>t!`m!iT8FpJ=HU-MK>au zas#?am*^(l)2+otsO^e=Z{R=ofK diff --git a/scripts/Units/corak.bos b/scripts/Units/corak.bos index ebbabf4fe7e..9c9fc8aaa21 100644 --- a/scripts/Units/corak.bos +++ b/scripts/Units/corak.bos @@ -1,119 +1,23 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" +#include "unitDefsTurretSpeeds.h" piece torso, ruparm, luparm, rfire, lfire, rloarm, lloarm, pelvis, rleg, rfoot, lleg, lfoot, lthigh, rthigh,lknee,rknee, aimy1, aimx1; -static-var isMoving, isAiming, Static_Var_Weapon1Control, gun_1, moveSpeed, currentSpeed, wpnheading ; +static-var bMoving, bAiming, Static_Var_3, gun_1, moveSpeed, currentSpeed, wpnheading ; - -#define DEBUG -#include "../debug.h" -// ================== STEERING CONTROL ================== - -#define WRAPDELTA(angle) (((angle + 98280) % 65520) - 32760) - -#define VS_BASE pelvis -#define VS_TURNRATE <30> -#define VS_TILT_Z <0.01> - -static-var VS_prevHeading; - -#define BOTLEAN VS_currHeading = get HEADING;\ - VS_deltaHeading = ((((VS_currHeading - VS_deltaHeading + 98280) % 65520) - 32760) ) / VS_FRAMES;\ - VS_deltaHeading = (VS_deltaHeading *(get CURRENT_SPEED) / (VS_maxSpeed)) ;\ - turn VS_BASE to z-axis VS_deltaHeading * ( 1 * VS_TILT_Z) speed VS_TURNRATE;\ - VS_prevHeading = VS_currHeading; - -#define STOPBOTLEAN VS_prevHeading = get HEADING;\ - turn VS_BASE to z-axis <0> speed VS_TURNRATE; \ - - -#define VS_TILT_X <60.01> -#define VS_ACCURACY 1000 -#define VS_FRAMES 2 -#define VS_CANREVERSE 0 - -static-var VS_prevSpeed, VS_maxSpeed, VS_pelvis_X; - -VS_Init(){ - VS_maxSpeed = get MAX_SPEED; - VS_prevHeading = get HEADING; - VS_prevSpeed = 0; -} - -#define START_VEHICLESTEERING VS_prevHeading = get HEADING; \ - VS_prevSpeed = 0; \ - start-script VehicleSteering(reversing); - -#define STOP_VEHICLESTEERING VS_prevHeading = get HEADING; \ - VS_prevSpeed = 0; \ - turn VS_BASE to z-axis <0> speed VS_TURNRATE; \ - turn VS_BASE to x-axis <0> speed VS_TURNRATE; - -//static-var VS_currSpeed, VS_currHeading, deltaSpeed, deltaHeading; - -#define BOTLEAN VS_currHeading = get HEADING;\ - VS_deltaHeading = ((((VS_currHeading - VS_deltaHeading + 98280) % 65520) - 32760) ) / VS_FRAMES;\ - VS_deltaHeading = (VS_deltaHeading *(get CURRENT_SPEED) / (VS_maxSpeed)) ;\ - turn VS_BASE to z-axis VS_deltaHeading * ( 1 * VS_TILT_Z) speed VS_TURNRATE;\ - VS_prevHeading = VS_currHeading; - - -VehicleSteering(reversing) -{ - // Could probably get away with half as many local vars... - var VS_currHeading; - var VS_deltaHeading; - var VS_prevSpeed; - var VS_currSpeed; - - while(1) - { - // get current - VS_currHeading = get HEADING; - - // calc deltas - VS_deltaHeading = ((((VS_currHeading - VS_deltaHeading + 98280) % 65520) - 32760) ) / VS_FRAMES; - - // adjust heading with speed - VS_deltaHeading = (VS_deltaHeading *(get CURRENT_SPEED) / (VS_maxSpeed)) ; - - // perform the turn op - //turn VS_BASE to z-axis VS_deltaHeading * ( 1 * VS_TILT_Z) speed VS_TURNRATE; - - // Store the old heading - VS_prevHeading = VS_currHeading; - - - VS_currSpeed = (get CURRENT_SPEED); - - - //dbg((VS_currSpeed - VS_prevSpeed) * VS_TILT_X / (VS_maxSpeed) / <1>); - - VS_pelvis_X = (VS_currSpeed - VS_prevSpeed) * VS_TILT_X / (VS_maxSpeed); - - VS_prevSpeed = VS_currSpeed; - // sleep as needed - sleep (32 * VS_FRAMES); - } -} - -// ================== STEERING CONTROL ================== - - -// Note, removed old deprecated unitDefsTurretSpeeds.h -#define Weapon1TurretX <300> -#define Weapon1TurretY <300> -#include "../weapon1control.h" +#include "weapon1control.h" // Signal definitions -#define SIGNAL_AIM1 256 +#define SIG_AIM 4 static-var animSpeed, maxSpeed, animFramesPerKeyframe; -#define SIGNAL_MOVE 1 +#define SIG_WALK 2 Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations\corak_anim_walk_v2.blend - set-signal-mask SIGNAL_MOVE; - if (isMoving) { //Frame:2 + set-signal-mask SIG_WALK; + if (bMoving) { //Frame:2 turn lfoot to x-axis <-40.243512> speed <1273.943828> / animSpeed; //delta=42.46 turn lfoot to z-axis <-7.440659> speed <223.219252> / animSpeed; //delta=7.44 turn lfoot to y-axis <-5.865953> speed <727.995439> / animSpeed; //delta=-24.27 @@ -130,8 +34,8 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn luparm to x-axis <-15.533187> speed <362.612128> / animSpeed; //delta=12.09 turn luparm to z-axis <-4.025448> speed <134.371865> / animSpeed; //delta=-4.48 turn luparm to y-axis <-1.012513> speed <204.477528> / animSpeed; //delta=-6.82 - turn pelvis to x-axis VS_pelvis_X + <-2.390000> speed <71.699998> / animSpeed; //delta=2.39 - turn pelvis to y-axis <3.0> speed <90.0> / animSpeed; //delta=3.00 + turn pelvis to x-axis <-2.390000> speed <71.699998> / animSpeed; //delta=2.39 + turn pelvis to y-axis <3.000000> speed <90.000003> / animSpeed; //delta=3.00 turn rfoot to x-axis <39.611634> speed <1130.819000> / animSpeed; //delta=-37.69 turn rfoot to y-axis <-9.393908> speed <282.235463> / animSpeed; //delta=9.41 turn rknee to x-axis <5.383341> speed <241.075747> / animSpeed; //delta=-8.04 @@ -150,8 +54,8 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn torso to y-axis <-6.060918> speed <182.948716> / animSpeed; //delta=-6.10 sleep ((33*animSpeed) -1); } - while(isMoving) { - if (isMoving) { //Frame:4 + while(bMoving) { + if (bMoving) { //Frame:4 turn lfoot to x-axis <-30.657758> speed <287.572616> / animSpeed; //delta=-9.59 turn lfoot to z-axis <-1.578026> speed <175.878977> / animSpeed; //delta=-5.86 turn lfoot to y-axis <-3.384192> speed <74.452829> / animSpeed; //delta=2.48 @@ -168,8 +72,8 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn luparm to z-axis <-9.569086> speed <166.309155> / animSpeed; //delta=5.54 turn luparm to y-axis <-6.279474> speed <158.008808> / animSpeed; //delta=-5.27 move pelvis to y-axis [-0.520000] speed [15.599999] / animSpeed; //delta=-0.52 - turn pelvis to x-axis VS_pelvis_X + <-0.0> speed <71.699998> / animSpeed; //delta=-2.39 - turn pelvis to y-axis <5.0> speed <59.999993> / animSpeed; //delta=2.00 + turn pelvis to x-axis <-0.000000> speed <71.699998> / animSpeed; //delta=-2.39 + turn pelvis to y-axis <5.000000> speed <59.999993> / animSpeed; //delta=2.00 turn rfoot to x-axis <24.484406> speed <453.816842> / animSpeed; //delta=15.13 turn rfoot to y-axis <-0.003345> speed <281.716910> / animSpeed; //delta=9.39 turn rknee to x-axis <-25.170605> speed <916.618362> / animSpeed; //delta=30.55 @@ -188,7 +92,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn torso to y-axis <-8.679222> speed <78.549118> / animSpeed; //delta=-2.62 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:6 + if (bMoving) { //Frame:6 turn lfoot to x-axis <-39.010424> speed <250.579970> / animSpeed; //delta=8.35 turn lfoot to z-axis <-0.002108> speed <47.277535> / animSpeed; //delta=-1.58 turn lfoot to y-axis <-0.006890> speed <101.319038> / animSpeed; //delta=3.38 @@ -206,7 +110,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn luparm to z-axis <-4.950884> speed <138.546089> / animSpeed; //delta=-4.62 turn luparm to y-axis <-1.486378> speed <143.792862> / animSpeed; //delta=4.79 move pelvis to y-axis [-0.990000] speed [14.100001] / animSpeed; //delta=-0.47 - turn pelvis to x-axis VS_pelvis_X + <6.740000> speed <202.199998> / animSpeed; //delta=-6.74 + turn pelvis to x-axis <6.740000> speed <202.199998> / animSpeed; //delta=-6.74 turn pelvis to y-axis <2.970000> speed <60.900003> / animSpeed; //delta=-2.03 turn rfoot to x-axis <37.153043> speed <380.059097> / animSpeed; //delta=-12.67 turn rfoot to z-axis <8.934135> speed <268.003689> / animSpeed; //delta=-8.93 @@ -226,7 +130,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn torso to y-axis <-5.940345> speed <82.166318> / animSpeed; //delta=2.74 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:8 + if (bMoving) { //Frame:8 turn lfoot to x-axis <2.496757> speed <1245.215437> / animSpeed; //delta=-41.51 turn lknee to x-axis <23.683565> speed <24.894810> / animSpeed; //delta=-0.83 turn lknee to z-axis <-0.307654> speed <26.354925> / animSpeed; //delta=-0.88 @@ -242,7 +146,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn luparm to z-axis <-0.551755> speed <131.973857> / animSpeed; //delta=-4.40 turn luparm to y-axis <-0.128355> speed <40.740708> / animSpeed; //delta=1.36 move pelvis to y-axis [-0.028000] speed [28.860000] / animSpeed; //delta=0.96 - turn pelvis to x-axis VS_pelvis_X + <3.070000> speed <110.099994> / animSpeed; //delta=3.67 + turn pelvis to x-axis <3.070000> speed <110.099994> / animSpeed; //delta=3.67 turn pelvis to y-axis <-0.010000> speed <89.400000> / animSpeed; //delta=-2.98 turn rfoot to x-axis <0.579182> speed <1097.215835> / animSpeed; //delta=36.57 turn rfoot to z-axis <9.697182> speed <22.891422> / animSpeed; //delta=-0.76 @@ -263,7 +167,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn torso to y-axis <0.085185> speed <180.765899> / animSpeed; //delta=6.03 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:10 + if (bMoving) { //Frame:10 turn lfoot to x-axis <38.743818> speed <1087.411814> / animSpeed; //delta=-36.25 turn lknee to x-axis <6.114390> speed <527.075257> / animSpeed; //delta=17.57 turn lknee to z-axis <-1.151940> speed <25.328603> / animSpeed; //delta=0.84 @@ -279,7 +183,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn luparm to z-axis <0.020005> speed <17.152801> / animSpeed; //delta=-0.57 turn luparm to y-axis <-2.829427> speed <81.032159> / animSpeed; //delta=-2.70 move pelvis to y-axis [-0.295000] speed [8.010001] / animSpeed; //delta=-0.27 - turn pelvis to x-axis VS_pelvis_X + <-2.090000> speed <154.800001> / animSpeed; //delta=5.16 + turn pelvis to x-axis <-2.090000> speed <154.800001> / animSpeed; //delta=5.16 turn pelvis to y-axis <-3.020000> speed <90.299997> / animSpeed; //delta=-3.01 turn rfoot to x-axis <-42.315286> speed <1286.834032> / animSpeed; //delta=42.89 turn rfoot to z-axis <7.682254> speed <60.447840> / animSpeed; //delta=2.01 @@ -300,7 +204,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn torso to y-axis <6.110734> speed <180.766460> / animSpeed; //delta=6.03 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:12 + if (bMoving) { //Frame:12 turn lfoot to x-axis <25.040025> speed <411.113782> / animSpeed; //delta=13.70 turn lknee to x-axis <-25.275077> speed <941.684012> / animSpeed; //delta=31.39 turn lknee to z-axis <-1.282850> speed <3.927293> / animSpeed; //delta=0.13 @@ -316,7 +220,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn luparm to z-axis <2.670525> speed <79.515585> / animSpeed; //delta=-2.65 turn luparm to y-axis <0.899942> speed <111.881066> / animSpeed; //delta=3.73 move pelvis to y-axis [-0.510000] speed [6.449999] / animSpeed; //delta=-0.21 - turn pelvis to x-axis VS_pelvis_X + <-0.020000> speed <62.100001> / animSpeed; //delta=-2.07 + turn pelvis to x-axis <-0.020000> speed <62.100001> / animSpeed; //delta=-2.07 turn pelvis to y-axis <-5.360000> speed <70.200006> / animSpeed; //delta=-2.34 turn rfoot to x-axis <-30.524095> speed <353.735736> / animSpeed; //delta=-11.79 turn rfoot to z-axis <1.575841> speed <183.192403> / animSpeed; //delta=6.11 @@ -336,7 +240,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn torso to y-axis <8.849594> speed <82.165818> / animSpeed; //delta=2.74 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:14 + if (bMoving) { //Frame:14 turn lfoot to x-axis <37.387998> speed <370.439186> / animSpeed; //delta=-12.35 turn lfoot to z-axis <-8.962304> speed <268.846559> / animSpeed; //delta=8.96 turn lfoot to y-axis <12.859584> speed <385.678150> / animSpeed; //delta=12.86 @@ -354,7 +258,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn luparm to z-axis <2.304844> speed <10.970419> / animSpeed; //delta=0.37 turn luparm to y-axis <1.097682> speed <5.932195> / animSpeed; //delta=0.20 move pelvis to y-axis [-1.027000] speed [15.509999] / animSpeed; //delta=-0.52 - turn pelvis to x-axis VS_pelvis_X + <6.120000> speed <184.199989> / animSpeed; //delta=-6.14 + turn pelvis to x-axis <6.120000> speed <184.199989> / animSpeed; //delta=-6.14 turn pelvis to y-axis <-3.020000> speed <70.199999> / animSpeed; //delta=2.34 turn rfoot to x-axis <-37.669118> speed <214.350700> / animSpeed; //delta=7.15 turn rfoot to z-axis <0.002079> speed <47.212867> / animSpeed; //delta=1.57 @@ -374,11 +278,11 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn torso to y-axis <5.762510> speed <92.612524> / animSpeed; //delta=-3.09 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:16 + if (bMoving) { //Frame:16 turn lfoot to x-axis <0.464192> speed <1107.714192> / animSpeed; //delta=36.92 turn lfoot to z-axis <-9.697005> speed <22.041012> / animSpeed; //delta=0.73 turn lfoot to y-axis <5.833231> speed <210.790579> / animSpeed; //delta=-7.03 - turn lknee to x-axis <-2.0> speed <223.240686> / animSpeed; //delta=-7.44 + turn lknee to x-axis <-2.000329> speed <223.240686> / animSpeed; //delta=-7.44 turn lknee to z-axis <2.411943> speed <34.224105> / animSpeed; //delta=-1.14 turn lknee to y-axis <-0.749186> speed <19.753780> / animSpeed; //delta=0.66 turn lleg to x-axis <1.204694> speed <345.865479> / animSpeed; //delta=-11.53 @@ -392,7 +296,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn luparm to z-axis <-0.287076> speed <77.757598> / animSpeed; //delta=2.59 turn luparm to y-axis <0.713883> speed <11.513976> / animSpeed; //delta=-0.38 move pelvis to y-axis [-0.065000] speed [28.860001] / animSpeed; //delta=0.96 - turn pelvis to x-axis VS_pelvis_X + <3.050000> speed <92.099998> / animSpeed; //delta=3.07 + turn pelvis to x-axis <3.050000> speed <92.099998> / animSpeed; //delta=3.07 turn pelvis to y-axis <-0.060000> speed <88.799998> / animSpeed; //delta=2.96 turn rfoot to x-axis <4.648639> speed <1269.532721> / animSpeed; //delta=-42.32 turn rknee to x-axis <22.810462> speed <13.041427> / animSpeed; //delta=-0.43 @@ -411,7 +315,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn torso to y-axis <-0.411658> speed <185.225044> / animSpeed; //delta=-6.17 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:18 + if (bMoving) { //Frame:18 turn lfoot to x-axis <-40.243512> speed <1221.231110> / animSpeed; //delta=40.71 turn lfoot to z-axis <-7.440659> speed <67.690385> / animSpeed; //delta=-2.26 turn lfoot to y-axis <-5.865953> speed <350.975516> / animSpeed; //delta=-11.70 @@ -428,8 +332,8 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn luparm to x-axis <-15.533187> speed <527.656427> / animSpeed; //delta=17.59 turn luparm to z-axis <-4.025448> speed <112.151159> / animSpeed; //delta=3.74 turn luparm to y-axis <-1.012513> speed <51.791888> / animSpeed; //delta=-1.73 - turn pelvis to x-axis VS_pelvis_X + <-2.390000> speed <163.199994> / animSpeed; //delta=5.44 - turn pelvis to y-axis <3.0> speed <91.800016> / animSpeed; //delta=3.06 + turn pelvis to x-axis <-2.390000> speed <163.199994> / animSpeed; //delta=5.44 + turn pelvis to y-axis <3.000000> speed <91.800016> / animSpeed; //delta=3.06 turn rfoot to x-axis <39.693501> speed <1051.345854> / animSpeed; //delta=-35.04 turn rknee to x-axis <5.049624> speed <532.825140> / animSpeed; //delta=17.76 turn rknee to z-axis <0.401872> speed <47.647319> / animSpeed; //delta=-1.59 @@ -449,12 +353,12 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations } } } -// Call this from StopMoving()! +// Call this from MotionControl()! StopWalking() { - move pelvis to y-axis [0.0] speed [14.430001]; + move pelvis to y-axis [0.000000] speed [14.430001]; turn lfoot to x-axis <2.221282> speed <636.971914>; turn lfoot to y-axis <18.400562> speed <363.997720>; - turn lfoot to z-axis <0.0> speed <134.425701>; + turn lfoot to z-axis <0.000000> speed <134.425701>; turn lknee to x-axis <-1.068538> speed <445.542661>; turn lknee to y-axis <-0.337143> speed <63.733557>; turn lknee to z-axis <-0.621646> speed <40.672059>; @@ -468,11 +372,11 @@ StopWalking() { turn luparm to x-axis <-3.446116> speed <398.985133>; turn luparm to y-axis <5.803404> speed <102.238764>; turn luparm to z-axis <-8.504510> speed <83.154578>; - turn pelvis to x-axis VS_pelvis_X + <0.0> speed <101.099999>; - turn pelvis to y-axis <0.0> speed <45.900008>; + turn pelvis to x-axis <0.000000> speed <101.099999>; + turn pelvis to y-axis <0.000000> speed <45.900008>; turn rfoot to x-axis <1.917668> speed <643.417016>; turn rfoot to y-axis <-18.801757> speed <192.146661>; - turn rfoot to z-axis <0.0> speed <134.003519>; + turn rfoot to z-axis <0.000000> speed <134.003519>; turn rknee to x-axis <-2.652517> speed <443.287956>; turn rknee to y-axis <0.906795> speed <53.457324>; turn rknee to z-axis <1.368760> speed <45.019783>; @@ -486,7 +390,7 @@ StopWalking() { turn ruparm to x-axis <-3.551286> speed <331.569220>; turn ruparm to y-axis <-5.989326> speed <95.777344>; turn ruparm to z-axis <9.824261> speed <186.647555>; - turn torso to y-axis <0.0> speed <92.612522>; + turn torso to y-axis <0.000000> speed <92.612522>; } // REMEMBER TO animspeed = 2 in Create() !! UnitSpeed(){ @@ -504,20 +408,17 @@ UnitSpeed(){ } } - - - #define BASEPIECE pelvis #define HITSPEED <75.0> //how 'heavy' the unit is, on a scale of 1-10 #define UNITSIZE 1 #define MAXTILT 100 -#include "../unit_hitbyweaponid_and_smoke.h" +#include "unit_hitbyweaponid_and_smoke.h" static-var bAnimate; Animate() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations\corak_anim_lookaround.blend - set-signal-mask SIGNAL_MOVE | SIGNAL_AIM1; //you might need this + set-signal-mask SIG_WALK | SIG_AIM; //you might need this bAnimate = TRUE; if (RAND(1,100) > 10) return; // reduce probs to only 10% sleep 10000 + 100*RAND(1,200); // 10-30 secs @@ -742,7 +643,7 @@ Animate() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animati turn rloarm to x-axis <-3.143605> speed <6.559193> ; //delta=0.66 turn rthigh to x-axis <11.260678> speed <3.942505> ; //delta=0.39 turn rthigh to z-axis <3.936033> speed <6.435447> ; //delta=0.64 - turn rthigh to y-axis <-5.0> speed <4.596167> ; //delta=0.46 + turn rthigh to y-axis <-5.000074> speed <4.596167> ; //delta=0.46 turn ruparm to x-axis <1.606455> speed <22.719155> ; //delta=-2.27 turn ruparm to z-axis <4.974051> speed <50.126788> ; //delta=5.01 turn ruparm to y-axis <-4.252391> speed <33.535119> ; //delta=3.35 @@ -1009,7 +910,7 @@ Animate() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animati sleep 98; } } -// Call this from StopMoving()! +// Call this from MotionControl()! StopAnimation() { turn lfoot to x-axis <3.257001> speed <27.864444>; turn lfoot to y-axis <18.400267> speed <-6.494212>; @@ -1027,7 +928,7 @@ StopAnimation() { turn luparm to y-axis <7.744538> speed <36.527856>; turn luparm to z-axis <-9.312935> speed <48.352203>; turn pelvis to x-axis <6.462691> speed <48.437348>; - turn pelvis to y-axis <0.0> speed <81.596118>; + turn pelvis to y-axis <0.000000> speed <81.596118>; turn pelvis to z-axis <-0.315834> speed <21.122110>; turn rfoot to x-axis <2.580618> speed <35.199973>; turn rfoot to y-axis <-18.801545> speed <-6.635840>; @@ -1039,7 +940,7 @@ StopAnimation() { turn rleg to z-axis <0.666237> speed <15.154581>; turn rloarm to x-axis <4.599683> speed <24.849675>; turn rthigh to x-axis <-6.288376> speed <50.103724>; - turn rthigh to y-axis <0.0> speed <24.089266>; + turn rthigh to y-axis <0.000000> speed <24.089266>; turn rthigh to z-axis <4.331624> speed <22.766876>; turn ruparm to x-axis <0.228506> speed <48.910319>; turn ruparm to y-axis <-7.589995> speed <33.535119>; @@ -1051,6 +952,7 @@ StopAnimation() { + Create() { hide rfire; @@ -1059,37 +961,37 @@ Create() hide aimy1; hide rfire; hide lfire; - isMoving = FALSE; - isAiming = FALSE; - Static_Var_Weapon1Control = 1; + bMoving = FALSE; + bAiming = FALSE; + Static_Var_3 = 1; gun_1 = torso; currentSpeed = 100; moveSpeed = get MAX_SPEED; animSpeed = 2; wpnheading = 0; start-script InitialSetup1(); - start-script VS_Init(); } -StartMoving(reversing){ - signal SIGNAL_MOVE; - isMoving=TRUE; - set-signal-mask SIGNAL_MOVE; +StartMoving(){ + signal SIG_WALK; + bMoving=TRUE; + set-signal-mask SIG_WALK; start-script UnitSpeed(); call-script StopAnimation(); start-script Walk(); - START_VEHICLESTEERING; } StopMoving(){ - signal SIGNAL_MOVE; - isMoving=FALSE; + signal SIG_WALK; + bMoving=FALSE; call-script StopWalking(); start-script Animate(); - STOP_VEHICLESTEERING; } - +SweetSpot(piecenum) +{ + piecenum = torso; +} static-var Stunned; ExecuteRestoreAfterDelay() @@ -1101,7 +1003,7 @@ ExecuteRestoreAfterDelay() start-script RestoreWeapon1(); call-script Weapon1Restored(); wpnheading = 0; - isAiming = 0; + bAiming = 0; } SetStunned(State) @@ -1113,41 +1015,41 @@ SetStunned(State) } RestoreAfterDelay() { - set-signal-mask SIGNAL_AIM1; + set-signal-mask SIG_AIM; sleep 2750; start-script ExecuteRestoreAfterDelay(); } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = aimy1; + piecenum = aimy1; } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = rfire + gun_1; + piecenum = rfire + gun_1; } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; - start-script Weapon1Control(); - // This is needed cause Weapon1Control() wont kick in till the next frame - canfire = ABSOLUTE_LESS_THAN(WRAPDELTA(heading - curHead1),(Weapon1TurretX / 30)); + //get PRINT ( heading,bAiming,wpnheading,RAND(1,256) ) ; + signal SIG_AIM; + start-script Weapon1Control(); + + call-script StopAnimation(); + call-script Weapon1Drawn(); - Weapon1Drawn(); - Weapon1SetWantedAim(heading, pitch); + start-script Weapon1SetWtdAim(heading, pitch); start-script RestoreAfterDelay(); - return (canFire); + return (aim1); } -FireWeapon1() +FirePrimary() { //gun_1 == 0 means right! if (gun_1 == 0 ){ @@ -1163,14 +1065,15 @@ FireWeapon1() turn luparm to x-axis <0> speed <30>; turn lloarm to x-axis <0> speed <30>; } + sleep 100; gun_1 = !gun_1; } // For C:\Users\ptasz\Documents\GitHub\support\Animation_sources\death_anims\corak_anim_death.blend Created by https://github.com/Beherith/Skeletor_S3O V((0, 3, 9)) //use call-script DeathAnim(); from Killed() DeathAnim() {// For C:\Users\ptasz\Documents\GitHub\support\Animation_sources\death_anims\corak_anim_death.blend Created by https://github.com/Beherith/Skeletor_S3O V((0, 3, 9)) - signal SIGNAL_MOVE; - signal SIGNAL_AIM1; + signal SIG_WALK; + signal SIG_AIM; call-script StopWalking(); turn pelvis to y-axis <0> speed <120>; turn torso to x-axis <0> speed <120>; @@ -1321,7 +1224,7 @@ DeathAnim() {// For C:\Users\ptasz\Documents\GitHub\support\Animation_sources\de turn luparm to x-axis <-16.064523> speed <80.552801> ; turn luparm to z-axis <-6.253933> speed <9.221613> ; turn luparm to y-axis <2.833532> speed <3.438400> ; - turn pelvis to x-axis VS_pelvis_X + <-2.979866> speed <89.395992> ; + turn pelvis to x-axis <-2.979866> speed <89.395992> ; turn pelvis to z-axis <-0.210493> speed <6.314778> ; move rfoot to z-axis [-0.657374] speed [19.721233] ; move rfoot to y-axis [-0.300262] speed [9.007870] ; @@ -1371,8 +1274,8 @@ DeathAnim() {// For C:\Users\ptasz\Documents\GitHub\support\Animation_sources\de turn luparm to z-axis <-5.971469> speed <8.473925> ; turn luparm to y-axis <2.728211> speed <3.159613> ; move pelvis to y-axis [-2.411854] speed [24.795613] ; - turn pelvis to x-axis VS_pelvis_X + <-0.104017> speed <3.120509> ; - turn pelvis to x-axis VS_pelvis_X + <-5.959733> speed <89.395992> ; + turn pelvis to x-axis <-0.104017> speed <3.120509> ; + turn pelvis to x-axis <-5.959733> speed <89.395992> ; turn pelvis to z-axis <-0.420985> speed <6.314778> ; turn rfoot to x-axis <-43.654054> speed <56.056865> ; turn rfoot to z-axis <-11.148990> speed <11.695555> ; @@ -1406,7 +1309,7 @@ DeathAnim() {// For C:\Users\ptasz\Documents\GitHub\support\Animation_sources\de turn luparm to x-axis <-22.088029> speed <36.413446> ; turn luparm to z-axis <-5.522850> speed <4.486188> ; turn luparm to y-axis <2.560938> speed <1.672733> ; - turn pelvis to x-axis VS_pelvis_X + <7.385569> speed <133.453017> ; + turn pelvis to x-axis <7.385569> speed <133.453017> ; turn pelvis to z-axis <0.816853> speed <12.378385> ; turn pelvis to y-axis <-2.655524> speed <28.445589> ; turn rfoot to x-axis <-46.738834> speed <30.847798> ; @@ -1450,8 +1353,8 @@ DeathAnim() {// For C:\Users\ptasz\Documents\GitHub\support\Animation_sources\de move pelvis to x-axis [0.138076] speed [4.811352] ; move pelvis to z-axis [2.047218] speed [61.772053] ; move pelvis to y-axis [-4.230496] speed [54.559264] ; - turn pelvis to x-axis VS_pelvis_X + <0.261897> speed <10.977408> ; - turn pelvis to x-axis VS_pelvis_X + <15.005572> speed <228.600097> ; + turn pelvis to x-axis <0.261897> speed <10.977408> ; + turn pelvis to x-axis <15.005572> speed <228.600097> ; turn pelvis to z-axis <1.670572> speed <25.611557> ; turn pelvis to y-axis <-3.192780> speed <16.117695> ; turn rfoot to x-axis <-47.147925> speed <12.272723> ; @@ -1485,7 +1388,7 @@ DeathAnim() {// For C:\Users\ptasz\Documents\GitHub\support\Animation_sources\de turn luparm to x-axis <12.407401> speed <326.997074> ; turn luparm to z-axis <-14.094482> speed <72.323148> ; turn luparm to y-axis <2.997686> speed <3.685058> ; - turn pelvis to x-axis VS_pelvis_X + <35.018933> speed <200.133610> ; + turn pelvis to x-axis <35.018933> speed <200.133610> ; turn pelvis to z-axis <4.571785> speed <29.012127> ; turn rfoot to x-axis <-47.446452> speed <2.985271> ; turn rknee to x-axis <-0.934605> speed <8.496563> ; @@ -1528,7 +1431,7 @@ DeathAnim() {// For C:\Users\ptasz\Documents\GitHub\support\Animation_sources\de turn luparm to x-axis <32.056724> speed <589.479690> ; turn luparm to z-axis <-12.899313> speed <35.855087> ; turn luparm to y-axis <-1.860694> speed <145.751379> ; - turn pelvis to x-axis VS_pelvis_X + <38.788275> speed <113.080270> ; + turn pelvis to x-axis <38.788275> speed <113.080270> ; turn pelvis to z-axis <5.226835> speed <19.651504> ; turn rknee to x-axis <-52.718252> speed <24.920423> ; turn rknee to z-axis <-16.268705> speed <3.818212> ; @@ -1562,6 +1465,7 @@ DeathAnim() {// For C:\Users\ptasz\Documents\GitHub\support\Animation_sources\de move pelvis to z-axis [6.312909] speed [127.970731] ; move pelvis to y-axis [-7.935246] speed [111.142473] ; turn pelvis to x-axis <0.701093> speed <13.175884> ; + turn pelvis to x-axis <40.169657> speed <41.441456> ; turn pelvis to z-axis <5.505581> speed <8.362393> ; turn rknee to x-axis <-51.175554> speed <46.280918> ; turn rknee to z-axis <-16.032339> speed <7.090966> ; @@ -1622,7 +1526,7 @@ DeathAnim() {// For C:\Users\ptasz\Documents\GitHub\support\Animation_sources\de turn lloarm to x-axis <0.221503> speed <6.645100> ; move luparm to z-axis [1.767531] speed [25.146804] ; move luparm to y-axis [-0.202747] speed [14.489218] ; - turn luparm to x-axis <42.0> speed <3.180443> ; + turn luparm to x-axis <42.000390> speed <3.180443> ; turn luparm to z-axis <-5.788584> speed <42.012720> ; turn luparm to y-axis <-15.716933> speed <29.698209> ; turn rleg to x-axis <1.975148> speed <40.899390> ; @@ -1813,7 +1717,18 @@ Killed(severity, corpsetype) explode torso type FIRE | SMOKE | FALL | NOHEATCLOUD; explode ruparm type FIRE | SMOKE | FALL | NOHEATCLOUD; explode rloarm type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rfire type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode luparm type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lloarm type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lfire type FALL | NOHEATCLOUD; explode rthigh type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rknee type FALL | NOHEATCLOUD; + //explode rleg type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rfoot type FALL | NOHEATCLOUD; + //explode lthigh type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lknee type FALL | NOHEATCLOUD; + //explode lleg type FALL | NOHEATCLOUD; + //explode lfoot type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) @@ -1823,7 +1738,18 @@ Killed(severity, corpsetype) explode torso type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode ruparm type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; explode rloarm type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rfire type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode luparm type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lloarm type SMOKE | FALL | NOHEATCLOUD; + //explode lfire type SMOKE | FALL | NOHEATCLOUD; + //explode rthigh type SMOKE | FALL | NOHEATCLOUD; + //explode rknee type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; explode rleg type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode rfoot type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode lthigh type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lknee type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lleg type SMOKE | FALL | NOHEATCLOUD; + //explode lfoot type SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; @@ -1831,6 +1757,17 @@ Killed(severity, corpsetype) explode torso type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode ruparm type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode rloarm type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode rfire type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode luparm type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode lloarm type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode lfire type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rthigh type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode rknee type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode rleg type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode rfoot type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lthigh type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lknee type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lleg type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lfoot type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/corak.cob b/scripts/Units/corak.cob index 6b15c6614be9a2e1c99b03b823922bf173bdb743..6ef5381a9740591c1be8b99967a2b5920b052d87 100644 GIT binary patch literal 50787 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 uRUI`9nuE#FKn)*93>@ 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�Ln9F-W_Hms8p3u;+YjC@w-%oo6 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 diff --git a/scripts/Units/coralab.bos b/scripts/Units/coralab.bos deleted file mode 100644 index e5010976a8e..00000000000 --- a/scripts/Units/coralab.bos +++ /dev/null @@ -1,194 +0,0 @@ - -#include "../recoil_common_includes.h" -#include "../factories_common.h" - -piece base, pad, head1, head2, nano1, nano2, nano3, nano4, center1, center2, side1, side2, mount1, mount2, cagelight, cagelight_emit, cagelight2, cagelight_emit2; - -static-var spray; - -// Signal definitions -#define SIGNAL_BUILD 2 -#define SIGNAL_TURNON 4 - - -Create() -{ - hide nano2; - hide nano1; - hide nano3; - hide nano4; - hide cagelight_emit; - hide cagelight_emit2; - spray = 0; -} - - -#define BASEPIECE base -#define MAXTILT 0 -#include "../unit_hitbyweaponid_and_smoke.h" - -QueryNanoPiece(pieceIndex) -{ - spray = (spray + 1) % 4; - pieceIndex = nano1 + spray; -} - -Activate() -{ - signal SIGNAL_TURNON; - set-signal-mask SIGNAL_TURNON; - - move side1 to z-axis [24] speed [24]; - wait-for-move side1 along z-axis; - - move side2 to z-axis [10] speed [5]; - wait-for-move side2 along z-axis; - - FACTORY_OPEN_BUILD; -} - -Deactivate() -{ - signal SIGNAL_TURNON; - set-signal-mask SIGNAL_TURNON; - sleep 5000; - - move side1 to z-axis [0] speed [24]; - wait-for-move side1 along z-axis; - - move side2 to z-axis [0] speed [5]; - wait-for-move side2 along z-axis; - - FACTORY_CLOSE_BUILD; -} - -Movecenters(){ - var angle; - - set-signal-mask SIGNAL_BUILD; - while(TRUE){ - angle = RAND(0,48); - if ((angle %2) == 0){ - move mount1 to z-axis [1] * angle speed [24]; - turn head1 to y-axis <-1.6> * angle speed <36>; - wait-for-move mount1 along z-axis; - } - else - { - move mount2 to z-axis [1] * angle speed [24]; - turn head2 to y-axis <-1.6> * angle speed <36>; - wait-for-move mount2 along z-axis; - } - } -} - - -StartBuilding() -{ - show nano4; - show nano3; - show nano2; - show nano1; - show cagelight_emit; - show cagelight_emit2; - spin cagelight around y-axis speed <200> accelerate <1>; - spin cagelight2 around y-axis speed <200> accelerate <1>; - signal SIGNAL_BUILD; - set-signal-mask SIGNAL_BUILD; - start-script Movecenters(); -} - -StopBuilding() -{ - hide nano2; - hide nano1; - hide nano3; - hide nano4; - hide cagelight_emit; - hide cagelight_emit2; - stop-spin cagelight around y-axis decelerate <1>; - stop-spin cagelight2 around y-axis decelerate <1>; - signal SIGNAL_BUILD; - - move mount1 to z-axis [0] speed [24]; - move mount2 to z-axis [0] speed [24]; - turn head1 to y-axis <0> speed <36>; - turn head2 to y-axis <0> speed <36>; - - move center1 to z-axis [0] now; - move center1 to z-axis [10] speed [20]; - move center2 to z-axis [10] now; - - wait-for-move center1 along z-axis; - - move center2 to z-axis [10] speed [20]; - move center1 to z-axis [0] speed [20]; - - wait-for-move center2 along z-axis; - - move center2 to z-axis [0] speed [20]; - - wait-for-move center2 along z-axis; - - -} - -QueryBuildInfo(pieceIndex) -{ - pieceIndex = pad; -} - - - -Killed(severity, corpsetype) -{ - if( severity <= 25 ) - { - corpsetype = 1 ; - explode base type BITMAPONLY | NOHEATCLOUD; - explode center1 type BITMAPONLY | NOHEATCLOUD; - explode center2 type BITMAPONLY | NOHEATCLOUD; - explode nano1 type BITMAPONLY | NOHEATCLOUD; - explode nano2 type BITMAPONLY | NOHEATCLOUD; - explode mount1 type BITMAPONLY | NOHEATCLOUD; - explode mount2 type BITMAPONLY | NOHEATCLOUD; - explode pad type BITMAPONLY | NOHEATCLOUD; - return(corpsetype); - } - if( severity <= 50 ) - { - corpsetype = 2 ; - explode base type BITMAPONLY | NOHEATCLOUD; - explode center1 type FIRE | SMOKE | FALL | NOHEATCLOUD; - explode center2 type FALL | NOHEATCLOUD; - explode nano1 type FALL | NOHEATCLOUD; - explode nano2 type FIRE | SMOKE | FALL | NOHEATCLOUD; - explode mount1 type FALL | NOHEATCLOUD; - explode mount2 type FIRE | SMOKE | FALL | NOHEATCLOUD; - explode pad type FIRE | SMOKE | FALL | NOHEATCLOUD; - return(corpsetype); - } - if( severity <= 99 ) - { - corpsetype = 3 ; - explode base type BITMAPONLY | NOHEATCLOUD; - explode center1 type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; - explode center2 type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; - explode nano1 type FIRE | SMOKE | FALL | NOHEATCLOUD; - explode nano2 type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; - explode mount1 type FIRE | SMOKE | FALL | NOHEATCLOUD; - explode mount2 type SMOKE | FALL | NOHEATCLOUD; - explode pad type FIRE | SMOKE | FALL | NOHEATCLOUD; - return(corpsetype); - } - corpsetype = 3 ; - explode base type BITMAPONLY | NOHEATCLOUD; - explode center1 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; - explode center2 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; - explode nano1 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; - explode nano2 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; - explode mount1 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; - explode mount2 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; - explode pad type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; - return corpsetype; -} diff --git a/scripts/Units/coralab.cob b/scripts/Units/coralab.cob deleted file mode 100644 index 0638eb8f5d470810aac2dd8514c4772149d27eff..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3757 zcmb7HO>3N06h1SVOk1t>t-7dGaB$;77w?QpMG%s<3xgkx6v?vlnt7WJO=iMmQpiFO ztl&bs5GmqE>DGndMt^|l&W&3?R#NQ3g@WKhFh0+@_nEmfohE7E#nmEg6=>yaOd{K3eNgIBU@MzNL$F4>mr znKiJN5OwsiMlG{;J$oEW?sd2ad#*hv^jt4;Kc9Eo=di3{uL4dTRkl3VagRFUAh)cZ zp;Z5=LdP{Zb>yyq4SPWy{e>gNOk3Je|2Lf%=CW!Y_EMea$^xD@qCJ?`mD+iZSW_En zhsFyyeIAt4AwBOLD=X+U#4U}@!7s(f7-EL`d-D7{9SOyV7ZDp%`Fcz zk}XX4wM}j4&zjZyMJSn5bDD*l7;e)b_JTEY9+rif$d}ymiq~`vg0N5bY?h9$Bl~!U zDYF+mvvXKbu2IH0Wer@a=hU$lo!eiqR6Lzc$vpF^pT~@6==bQyJ>{Suag1_gyb(If z;q3hr^%WZa8P13;)U$u%el^*bFXOeKXJ6Sj+J7JIxvjg*Y!roqedn4OE0{z225?XI znvZP_Kk2i4m)n{ z`CD`|^zIybLz{fh zFRW1SRPF70_Q5^YtvIZEXAfWXLiWVs>*QYfOykTE%J0~%7?UD>axQq*^WdMJTl(|t zjbn#d{xFK6b5t4KQ9tMCE5C{Ej~pLA8gl*m-|nvByIsS=`%et$t9)4dZwJW1PwGK( z@Xhl2kwZSrabuJN2JG9iW&Rxo_wO<|`^ac^43 z0ZHexiFec2m=nLNoARtMg!yaMhzq3ZBXycDQ(9v@ z(^)#rBE*FKSC$4jT*;g-A??p5ZD zxR1oYS$Gcj!p-ZP;+8Dj$}8N`3%B&b{eFzMA8yWKKWsOquw9R`ut^p+$-*XC*dz;^ z;!pRKY4|B!1bqjp!{8)n1@sB%Hs}}*#5U+H5dY`-6!Zn?YtXl#A3;BXZh`&+?ShWt z(L4!y0`w&4DNqx13iKlA3}^{-4zvQg04hP3K?BeZ=pE39pwB^P24yiU?WOMU^v+6I zZ1#Igom8^3#YVAKcFu3~FPHZEb~)I2t?2cayX9(Wi>t%#6}q1-3oT#mUxBJOEC*Y5 zepn2Kr?$1ascr|G|2) 0.5 then local t = math.random(0,48); @@ -116,7 +116,7 @@ function script.StartBuilding() Show(cagelight_emit2); Spin(cagelight_emit, y_axis,4); Spin(cagelight_emit2, y_axis,4); - UnitScript.Signal(SIGNAL_BUILD); + UnitScript.Signal(SIG_BUILD); UnitScript.StartThread(Build) end @@ -127,7 +127,7 @@ function script.StopBuilding() Hide(nano2); Hide(nano3); Hide(nano4); - UnitScript.Signal(SIGNAL_BUILD); + UnitScript.Signal(SIG_BUILD); Hide(cagelight_emit); Hide(cagelight_emit2); Turn(cagelight_emit, y_axis,0,15); diff --git a/scripts/Units/coramph.bos b/scripts/Units/coramph.bos index 35a41b06992..66797f9de30 100644 --- a/scripts/Units/coramph.bos +++ b/scripts/Units/coramph.bos @@ -1,10 +1,12 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece pelvis, torso, lleg, lfoot, rleg, rfoot, head, rflare , lflare , lancher,tflare ,lthigh,rthigh,neck, rbarrel, lbarrel, rtoe, ltoe,aimy1, aimx1; -static-var isMoving, isAiming, restore_delay, gun_1, gun_lasthead, gun_lastpitch, torp_lasthead, torp_deploy; +static-var bMoving, bAiming, restore_delay, gun_1, gun_lasthead, gun_lastpitch, torp_lasthead, torp_deploy; static-var Stunned; @@ -13,13 +15,13 @@ lua_UnitScriptDecal(lightIndex, xpos,zpos, heading) return 0; } // Signal definitions -#define SIGNAL_AIM1 256 -#define SIGNAL_AIM3 1024 -#define SIGNAL_MOVE 1 +#define SIG_AIM 2 +#define SIG_AIM_3 8 +#define SIG_MOVE 16 static-var animSpeed, maxSpeed, animFramesPerKeyframe; Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations\coramph_anim_walk.blend - if (isMoving) { + if (bMoving) { turn lfoot to x-axis <-19.212779> speed <58.412461> / animSpeed; turn lfoot to z-axis <-11.999811> speed <11.729620> / animSpeed; turn lfoot to y-axis <-0.871378> speed <22.713900> / animSpeed; @@ -39,14 +41,14 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn rthigh to z-axis <-4.341707> speed <130.251212> / animSpeed; turn rthigh to y-axis <7.019140> speed <210.574211> / animSpeed; move torso to z-axis [-1.053090] speed [31.592710] / animSpeed; - move torso to y-axis [1.0] speed [30.0] / animSpeed; + move torso to y-axis [1.000000] speed [30.000000] / animSpeed; turn torso to x-axis <-5.955115> speed <178.653442> / animSpeed; turn torso to z-axis <7.038173> speed <211.145181> / animSpeed; turn torso to y-axis <-0.733862> speed <22.015845> / animSpeed; sleep 164; } - while(isMoving) { - if (isMoving) { + while(bMoving) { + if (bMoving) { call-script lua_UnitScriptDecal(1, (get PIECE_XZ(lfoot) & 0xffff0000) / 0x00010000 , (get PIECE_XZ(lfoot) & 0x0000ffff), get HEADING(0)); turn lfoot to x-axis <-41.595104> speed <671.469750> / animSpeed; turn lfoot to z-axis <-10.694907> speed <39.147127> / animSpeed; @@ -69,14 +71,14 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn rtoe to x-axis <25.062944> speed <751.888312> / animSpeed; turn rtoe to z-axis <0.892703> speed <26.781080> / animSpeed; turn rtoe to y-axis <1.684877> speed <50.546305> / animSpeed; - move torso to z-axis [0.0] speed [31.592710] / animSpeed; - move torso to y-axis [0.0] speed [30.0] / animSpeed; - turn torso to x-axis <0.0> speed <178.653446> / animSpeed; + move torso to z-axis [0.000000] speed [31.592710] / animSpeed; + move torso to y-axis [0.000000] speed [30.000000] / animSpeed; + turn torso to x-axis <0.000000> speed <178.653446> / animSpeed; turn torso to z-axis <10.575411> speed <106.117140> / animSpeed; - turn torso to y-axis <-0.0> speed <22.015803> / animSpeed; + turn torso to y-axis <-0.000001> speed <22.015803> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { + if (bMoving) { turn lfoot to x-axis <-30.923924> speed <320.135406> / animSpeed; turn lfoot to z-axis <-0.496717> speed <305.945696> / animSpeed; turn lfoot to y-axis <5.680271> speed <160.496154> / animSpeed; @@ -107,7 +109,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn torso to y-axis <0.733860> speed <22.015833> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { + if (bMoving) { turn lfoot to x-axis <-6.470975> speed <733.588455> / animSpeed; turn lfoot to z-axis <-0.319948> speed <5.303065> / animSpeed; turn lfoot to y-axis <1.292647> speed <131.628716> / animSpeed; @@ -117,8 +119,8 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn lthigh to x-axis <-18.230132> speed <794.197390> / animSpeed; turn lthigh to z-axis <-0.451354> speed <55.017473> / animSpeed; turn lthigh to y-axis <-0.459061> speed <25.418285> / animSpeed; - turn neck to x-axis <7.0> speed <43.674710> / animSpeed; - turn neck to y-axis <0.0> speed <18.999787> / animSpeed; + turn neck to x-axis <7.000000> speed <43.674710> / animSpeed; + turn neck to y-axis <0.000000> speed <18.999787> / animSpeed; turn rfoot to x-axis <-0.059978> speed <560.447874> / animSpeed; turn rfoot to z-axis <11.365723> speed <255.109839> / animSpeed; turn rfoot to y-axis <-1.317479> speed <32.150100> / animSpeed; @@ -128,17 +130,17 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn rthigh to x-axis <1.011818> speed <446.539985> / animSpeed; turn rthigh to z-axis <-6.936976> speed <38.747522> / animSpeed; turn rthigh to y-axis <3.531519> speed <24.040417> / animSpeed; - turn rtoe to x-axis <-0.0> speed <292.847042> / animSpeed; - turn rtoe to z-axis <0.0> speed <26.243009> / animSpeed; - turn rtoe to y-axis <-0.0> speed <19.255223> / animSpeed; - move torso to z-axis [0.0] speed [33.753548] / animSpeed; - move torso to y-axis [0.0] speed [31.738815] / animSpeed; - turn torso to x-axis <0.0> speed <178.653442> / animSpeed; - turn torso to z-axis <-0.0> speed <211.145181> / animSpeed; - turn torso to y-axis <0.0> speed <22.015791> / animSpeed; + turn rtoe to x-axis <-0.000000> speed <292.847042> / animSpeed; + turn rtoe to z-axis <0.000000> speed <26.243009> / animSpeed; + turn rtoe to y-axis <-0.000000> speed <19.255223> / animSpeed; + move torso to z-axis [0.000000] speed [33.753548] / animSpeed; + move torso to y-axis [0.000000] speed [31.738815] / animSpeed; + turn torso to x-axis <0.000000> speed <178.653442> / animSpeed; + turn torso to z-axis <-0.000000> speed <211.145181> / animSpeed; + turn torso to y-axis <0.000000> speed <22.015791> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { + if (bMoving) { turn lfoot to x-axis <25.796130> speed <968.013175> / animSpeed; turn lfoot to z-axis <-5.665878> speed <160.377916> / animSpeed; turn lfoot to y-axis <10.132430> speed <265.193497> / animSpeed; @@ -148,8 +150,8 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn lthigh to x-axis <-22.478204> speed <127.442160> / animSpeed; turn lthigh to z-axis <5.419694> speed <176.131439> / animSpeed; turn lthigh to y-axis <-9.169354> speed <261.308775> / animSpeed; - turn ltoe to x-axis <-0.0> speed <94.792842> / animSpeed; - turn ltoe to y-axis <0.0> speed <19.687629> / animSpeed; + turn ltoe to x-axis <-0.000000> speed <94.792842> / animSpeed; + turn ltoe to y-axis <0.000000> speed <19.687629> / animSpeed; turn neck to x-axis <7.260533> speed <7.815973> / animSpeed; turn neck to y-axis <0.368664> speed <11.059926> / animSpeed; turn rfoot to x-axis <-24.585831> speed <735.775591> / animSpeed; @@ -164,13 +166,13 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn rtoe to x-axis <3.159761> speed <94.792842> / animSpeed; turn rtoe to y-axis <-0.656254> speed <19.687629> / animSpeed; move torso to z-axis [-1.000436] speed [30.013075] / animSpeed; - move torso to y-axis [1.0] speed [30.0] / animSpeed; + move torso to y-axis [1.000000] speed [30.000000] / animSpeed; turn torso to x-axis <-5.869647> speed <176.089419> / animSpeed; turn torso to z-axis <-12.007560> speed <360.226789> / animSpeed; turn torso to y-axis <1.246064> speed <37.381925> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { + if (bMoving) { call-script lua_UnitScriptDecal(1, (get PIECE_XZ(rfoot) & 0xffff0000) / 0x00010000 , (get PIECE_XZ(rfoot) & 0x0000ffff), get HEADING(0)); turn lfoot to x-axis <48.203114> speed <672.209511> / animSpeed; turn lfoot to z-axis <0.242779> speed <177.259717> / animSpeed; @@ -195,14 +197,14 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn rthigh to x-axis <46.360011> speed <759.827946> / animSpeed; turn rthigh to z-axis <-5.212039> speed <141.897483> / animSpeed; turn rthigh to y-axis <10.166775> speed <183.912999> / animSpeed; - move torso to z-axis [0.0] speed [30.013075] / animSpeed; - move torso to y-axis [0.0] speed [30.0] / animSpeed; - turn torso to x-axis <0.0> speed <176.089422> / animSpeed; + move torso to z-axis [0.000000] speed [30.013075] / animSpeed; + move torso to y-axis [0.000000] speed [30.000000] / animSpeed; + turn torso to x-axis <0.000000> speed <176.089422> / animSpeed; turn torso to z-axis <-10.102087> speed <57.164175> / animSpeed; - turn torso to y-axis <0.0> speed <37.381885> / animSpeed; + turn torso to y-axis <0.000001> speed <37.381885> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { + if (bMoving) { turn lfoot to x-axis <22.342705> speed <775.812279> / animSpeed; turn lfoot to z-axis <-3.674592> speed <117.521132> / animSpeed; turn lfoot to y-axis <0.899928> speed <41.377006> / animSpeed; @@ -234,7 +236,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn torso to y-axis <-1.252837> speed <37.585165> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { + if (bMoving) { turn lfoot to x-axis <0.003638> speed <670.171989> / animSpeed; turn lfoot to z-axis <-11.368280> speed <230.810619> / animSpeed; turn lfoot to y-axis <1.319427> speed <12.584983> / animSpeed; @@ -244,11 +246,11 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn lthigh to x-axis <1.069603> speed <345.822234> / animSpeed; turn lthigh to z-axis <6.943315> speed <102.294778> / animSpeed; turn lthigh to y-axis <-3.568577> speed <68.870424> / animSpeed; - turn ltoe to x-axis <-0.0> speed <292.847042> / animSpeed; - turn ltoe to z-axis <-0.0> speed <26.243009> / animSpeed; - turn ltoe to y-axis <0.0> speed <19.255223> / animSpeed; - turn neck to x-axis <14.0> speed <97.204588> / animSpeed; - turn neck to y-axis <0.0> speed <5.782540> / animSpeed; + turn ltoe to x-axis <-0.000000> speed <292.847042> / animSpeed; + turn ltoe to z-axis <-0.000000> speed <26.243009> / animSpeed; + turn ltoe to y-axis <0.000000> speed <19.255223> / animSpeed; + turn neck to x-axis <14.000001> speed <97.204588> / animSpeed; + turn neck to y-axis <0.000000> speed <5.782540> / animSpeed; turn rfoot to x-axis <-6.205179> speed <833.711310> / animSpeed; turn rfoot to z-axis <0.341469> speed <7.358602> / animSpeed; turn rfoot to y-axis <-1.233146> speed <142.630313> / animSpeed; @@ -257,14 +259,14 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn rleg to y-axis <-0.963116> speed <240.961761> / animSpeed; turn rthigh to x-axis <-18.155269> speed <785.116815> / animSpeed; turn rthigh to z-axis <0.036646> speed <38.380702> / animSpeed; - move torso to z-axis [0.0] speed [35.333183] / animSpeed; - move torso to y-axis [0.0] speed [31.738815] / animSpeed; - turn torso to x-axis <0.0> speed <176.046286> / animSpeed; - turn torso to z-axis <-0.0> speed <362.214938> / animSpeed; - turn torso to y-axis <0.0> speed <37.585124> / animSpeed; + move torso to z-axis [0.000000] speed [35.333183] / animSpeed; + move torso to y-axis [0.000000] speed [31.738815] / animSpeed; + turn torso to x-axis <0.000000> speed <176.046286> / animSpeed; + turn torso to z-axis <-0.000000> speed <362.214938> / animSpeed; + turn torso to y-axis <0.000000> speed <37.585124> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { + if (bMoving) { turn lfoot to x-axis <-20.341830> speed <610.364051> / animSpeed; turn lfoot to z-axis <-12.139081> speed <23.124041> / animSpeed; turn lfoot to y-axis <0.945481> speed <11.218371> / animSpeed; @@ -287,10 +289,10 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn rthigh to x-axis <-26.126997> speed <239.151817> / animSpeed; turn rthigh to z-axis <-4.341707> speed <131.350596> / animSpeed; turn rthigh to y-axis <7.019140> speed <192.014262> / animSpeed; - turn rtoe to x-axis <-0.0> speed <94.792842> / animSpeed; - turn rtoe to y-axis <-0.0> speed <19.687629> / animSpeed; + turn rtoe to x-axis <-0.000000> speed <94.792842> / animSpeed; + turn rtoe to y-axis <-0.000000> speed <19.687629> / animSpeed; move torso to z-axis [-1.053090] speed [31.592710] / animSpeed; - move torso to y-axis [1.0] speed [30.0] / animSpeed; + move torso to y-axis [1.000000] speed [30.000000] / animSpeed; turn torso to x-axis <-5.955115> speed <178.653442> / animSpeed; turn torso to z-axis <7.038173> speed <211.145181> / animSpeed; turn torso to y-axis <-0.733862> speed <22.015845> / animSpeed; @@ -298,7 +300,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations } } } -// Call this from StopMoving()! +// Call this from MotionControl()! StopWalking() { move torso to y-axis [0] speed [6.347763]; move torso to z-axis [0] speed [7.066637]; @@ -357,7 +359,7 @@ Create() hide aimy1; hide tflare; hide pelvis; - isMoving = FALSE; + bMoving = FALSE; animSpeed = 4; restore_delay = 3000; hide pelvis; @@ -374,30 +376,33 @@ Create() #define UNITSIZE 5 #define MAXTILT 100 -#include "../unit_hitbyweaponid_and_smoke.h" +#include "unit_hitbyweaponid_and_smoke.h" -StartMoving(reversing) +StartMoving() { - isMoving = TRUE; - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; + bMoving = TRUE; + signal SIG_MOVE; + set-signal-mask SIG_MOVE; start-script UnitSpeed(); start-script Walk(); } StopMoving() { - isMoving = FALSE; - signal SIGNAL_MOVE; + bMoving = FALSE; + signal SIG_MOVE; call-script StopWalking(); } -SetMaxReloadTime(reloadMS) +SetMaxReloadTime(Func_Var_1) { - restore_delay = reloadMS * 2; + restore_delay = Func_Var_1 * 2; } - +SweetSpot(piecenum) +{ + piecenum = torso; +} SetStunned(State) { @@ -411,19 +416,19 @@ RestoreAfterDelayGun() } gun_lasthead = -1000000; gun_lastpitch = -1000000; - turn head to y-axis <0.0> speed <90.0>; - turn head to x-axis <0.0> speed <50.0>; + turn head to y-axis <0.000000> speed <90.000000>; + turn head to x-axis <0.000000> speed <50.000000>; } -AimWeapon2(heading, pitch) +AimSecondary(heading, pitch) { - signal SIGNAL_AIM3; - set-signal-mask SIGNAL_AIM3; + signal SIG_AIM_3; + set-signal-mask SIG_AIM_3; // values in <> are degrees per second // otherwise angles are in COB angular unit (cau) - There are 65536 cau in a circle // In general, 6 cau per frame ~= 1 degree per second - turn head to y-axis heading speed <200.0>; - turn head to x-axis <0.0> - pitch speed <100.0>; + turn head to y-axis heading speed <200.000000>; + turn head to x-axis <0.000000> - pitch speed <100.000000>; // if the turret can turn to its new heading in one frame, just return true and do not wait for turn if ( (get ABS(gun_lasthead - heading)<1200) AND (get ABS(gun_lastpitch - pitch)<600) ) { @@ -444,7 +449,7 @@ AimWeapon2(heading, pitch) return (1); } -FireWeapon2() +FireSecondary() { if( !gun_1 ) { @@ -457,20 +462,20 @@ FireWeapon2() gun_1 = !gun_1; } -AimFromWeapon2(pieceIndex) +AimFromSecondary(piecenum) { - pieceIndex = head; + piecenum = head; } -QueryWeapon2(pieceIndex) +QuerySecondary(piecenum) { if( !gun_1 ) { - pieceIndex = rflare; + piecenum = rflare; } if( gun_1 ) { - pieceIndex = lflare; + piecenum = lflare; } } @@ -481,21 +486,21 @@ RestoreAfterDelayTorp() return (1); } torp_lasthead = -1000000; - turn lancher to y-axis <0> speed <200.0>; + turn lancher to y-axis <0> speed <200.000000>; wait-for-turn lancher around y-axis; // torpedo tube has started moving down, set variable to FALSE to redeploy on next aim call torp_deploy = FALSE; move lancher to y-axis [0] speed [25]; } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { if ( get IN_WATER(0) == 0 ) { return (0); } - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; // checks if the torpedo launcher is deployed if (torp_deploy == FALSE) { @@ -508,7 +513,7 @@ AimWeapon1(heading, pitch) // values in <> are degrees per second // otherwise angles are in COB angular unit (cau) - There are 65536 cau in a circle // In general, 6 cau per frame ~= 1 degree per second - turn lancher to y-axis heading speed <200.0>; + turn lancher to y-axis heading speed <200.000000>; // if the turret can turn to its new heading in one frame, just return true and do not wait for turn if (get ABS(torp_lasthead - heading) < 1200) { @@ -527,19 +532,19 @@ AimWeapon1(heading, pitch) } -FireWeapon1() +FirePrimary() { } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = head; + piecenum = head; } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = tflare; + piecenum = tflare; } @@ -551,6 +556,21 @@ Killed(severity, corpsetype) explode pelvis type BITMAPONLY | NOHEATCLOUD; explode torso type BITMAPONLY | NOHEATCLOUD; explode lancher type BITMAPONLY | NOHEATCLOUD; + //explode tflare type BITMAPONLY | NOHEATCLOUD; + //explode neck type BITMAPONLY | NOHEATCLOUD; + //explode head type BITMAPONLY | NOHEATCLOUD; + //explode rbarrel type BITMAPONLY | NOHEATCLOUD; + //explode rflare type BITMAPONLY | NOHEATCLOUD; + //explode lbarrel type BITMAPONLY | NOHEATCLOUD; + //explode lflare type BITMAPONLY | NOHEATCLOUD; + //explode lthigh type BITMAPONLY | NOHEATCLOUD; + //explode lleg type BITMAPONLY | NOHEATCLOUD; + //explode lfoot type BITMAPONLY | NOHEATCLOUD; + //explode ltoe type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rthigh type BITMAPONLY | NOHEATCLOUD; + //explode rleg type BITMAPONLY | NOHEATCLOUD; + //explode rfoot type BITMAPONLY | NOHEATCLOUD; + //explode rtoe type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } if( severity <= 50 ) diff --git a/scripts/Units/coramph.cob b/scripts/Units/coramph.cob index d5fd20dac9db943af57aa75993ee03ccaf438418..92cd414e328ac0228483b87028a9626a9f1c6b91 100644 GIT binary patch delta 4477 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 diff --git a/scripts/Units/coramsub.bos b/scripts/Units/coramsub.bos index b413eadb04b..e928bd2870e 100644 --- a/scripts/Units/coramsub.bos +++ b/scripts/Units/coramsub.bos @@ -1,26 +1,119 @@ -#include "../recoil_common_includes.h" -#include "../factories_common.h" + +#define TA // This is a TA script + +#include "sfxtype.h" +#include "exptype.h" piece base, head1, head2, nano1, nano2, pad; -static-var spray; +static-var spray, unitviewer, statechg_DesiredState, statechg_StateChanging; // Signal definitions -#define SIGNAL_TURNON 4 +#define SIG_ACTIVATE 2 + +Go() +{ + turn head1 to y-axis <0> now; + turn head1 to y-axis <45> speed <100>; + turn head2 to y-axis <0> now; + turn head2 to y-axis <-45> speed <100>; + wait-for-turn head1 around y-axis; + sleep 464; + + set YARD_OPEN to 1; + while( !get YARD_OPEN ) + { + set BUGGER_OFF to 1; + sleep 1500; + set YARD_OPEN to 1; + } + + set INBUILDSTANCE to 1; + return (0); +} + +Stop() +{ + set INBUILDSTANCE to 0; + + set YARD_OPEN to 0; + while( get YARD_OPEN ) + { + set BUGGER_OFF to 1; + sleep 1500; + set YARD_OPEN to 0; + } + + turn head1 to y-axis <0> speed <100>; + turn head2 to y-axis <0> speed <100>; + wait-for-turn head1 around y-axis; + sleep 500; + return (0); +} +InitState() +{ + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; + return (0); +} + +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + call-script Go(); + currentstate = 0; + } + if( statechg_DesiredState == 1 ) + { + call-script Stop(); + currentstate = 1; + } + } + statechg_StateChanging = FALSE; + return (0); +} Create() { hide pad; hide nano1; hide nano2; - spray = 0; + spray = base; + unitviewer = FALSE; + call-script InitState(); + return (0); } -QueryNanoPiece(pieceIndex) +QueryNanoPiece(piecenum) { + if( spray == 0 ) + { + piecenum = nano1; + } + if( spray != 0 ) + { + piecenum = nano2; + } spray = !spray; - pieceIndex = nano1 + spray; + return (0); +} + +Demo() +{ + unitviewer = TRUE; + return (0); } StartBuilding() @@ -37,36 +130,32 @@ StopBuilding() Activate() { - signal SIGNAL_TURNON; - set-signal-mask SIGNAL_TURNON; - - turn head1 to y-axis <45> speed <100>; - turn head2 to y-axis <-45> speed <100>; - wait-for-turn head1 around y-axis; - - FACTORY_OPEN_BUILD; + signal SIG_ACTIVATE; + start-script RequestState(0); + return (0); } Deactivate() { - signal SIGNAL_TURNON; - set-signal-mask SIGNAL_TURNON; - sleep 5000; - - turn head1 to y-axis <0> speed <100>; - turn head2 to y-axis <0> speed <100>; - wait-for-turn head1 around y-axis; - - FACTORY_CLOSE_BUILD; + signal SIG_ACTIVATE; + set-signal-mask SIG_ACTIVATE; + sleep 5000; + set-signal-mask 0; + start-script RequestState(1); + return (0); } -QueryBuildInfo(pieceIndex) +QueryBuildInfo(piecenum) { - pieceIndex = pad; + piecenum = pad; return (0); } - +SweetSpot(piecenum) +{ + piecenum = base; + return (0); +} Killed(severity, corpsetype) { diff --git a/scripts/Units/coramsub.cob b/scripts/Units/coramsub.cob index e18fd17b999ded11b4ddba91a3b5ce82f0c7a063..364182d3c9daf139af6c6dd15c13982f7f3f9051 100644 GIT binary patch literal 2874 zcmcImJ!=$E6usGO)>Fad)$sH3}A6+6aP; zcH$4v&Pv24jaXPJSlFZ$3kz+G=e+msI6G#7gSv2XXYRe{ew_D4EQ`nipaN`^M9Q%I zRriW40JniTygz`Q2ugtszLsDD4;JvvEVr2g% zXp{2U*)Z1?Bs2b}b7^hPb>4GTV;39OI2+5;^J_{^TgUH2cez$_=YTmGubEuz8DbJ*KL69W z_RyO2+nNo>d+B-Bhi8o|kNQ9Mex~lINlOCW34wK*NWgDMXCQ~+^t_w2jx z2W3Tqio08x9_*LSwa+8RyT^~mf4?jt-fy+csYfkYljoxvjP2y(ESDE&4ZWk}&N4Z4 z=W!R!>EjIKt7akI=^w#LYch~vPjW_lV65t6e767QA}`C?tsd_H^Fwb(u-c2d<;C>u zLZ35&Ri4!eHQASEm)^ThpWpi}5?G&o{^#C0>xjL*j=Fad9aWDa9PM3%vzvY^+`;R2 z37#XVO$_TFyf)_*~=;r8OwRSH0PbJ@f9W)>m6}&VQjd=lfet^Y+s-+G)Q$ zj%rtgqq%C+I_C9J?TT=+ca_&_0T==!U=#QNd;_+D3Ix~>%m8!13E(uq{}(<49sy5* z=fDeK6L2eyFEz;~d!Ph=XH1r7m6f#X08I0-EEq#5`6vfS;&%{YpUTsCV%v+iHc z4GevkhGuZ*V$|(5I%dVlqPa<0G>Fd*JFD$Z_qr{TyqsByJGaPNG?6~q5;kMGdkyRj lW8!AN7t4jt>Z)nW)o9(w4HLEJ?ccg|(Qe-UtxG>@%TJEZ$mak6 literal 1532 zcmb7Eu}&L75FO5k;|6I(nxu%hA_WpDz(0_XL`otgWR#YI!?y`1S!c^JNa>IgDJfE$ z21PDhrlC!rKX6CmDpe{fL;<|Fw_{ySV1w=F+1YtB^JZ`DP(*4#6?i@;f{%MG&x^bT z_JC*DIfRuRF*LLlZ$sEQ6BxSTYHrn+M%73Zn9#>%FmH++)|kXh#RNCyH+(PHVlP+w z79EUH1NqV^tPk_`qc^$c%O%7kF`U@}IT{PbS67S$J_go*yhZMV&pe50t{?X#3JvF! zovPV}OU^@Yi`+gBauqcZFV~V6RRf7Gm$Y&pY{{${zq6^YuQR#4Tjtf+ta)=@Xn^?frQYgmZ}qje`r2Fl@|m#g0`LTQ z3akJLFa&-9{D1rg@OM1~PJrLQA7BKW0%PDW@DDfx&Vg558~3bi?c46>%{Xf}Qrooh zz880UFZa_{l4c*_wL24Mz1d3-nDW}jx^&r&@h +//how 'heavy' the unit is, on a scale of 1-10 +#define UNITSIZE 8 +#define MAXTILT 200 -#include "../bar_ships_common.h" +#include "unit_hitbyweaponid_and_smoke.h" Lights() { @@ -33,6 +40,27 @@ Lights() } sleep 2500; } + sleep 50; + start-script Lights(); +} + +RockOnWaves() +{ + var rockDir, rockAng, rockSpeed; + rockDir = <-0.1>; + rockAng = <-0.1>; + while( TRUE ) + { + while( get ABS(rockAng) < <1.11> ) + { + rockSpeed = <1.25> - get ABS(rockAng); + turn ground to x-axis rockAng speed rockSpeed*2; + wait-for-turn ground around x-axis; + rockAng = rockAng + rockDir; + } + rockDir = 0 - rockDir; + rockAng = rockAng + rockDir + rockDir; + } } @@ -44,7 +72,7 @@ Go() Stop() { - spin radar around y-axis speed <0.0>; + spin radar around y-axis speed <0.000000>; return (0); } @@ -84,11 +112,12 @@ Create() hide blink; hide antiflare; hide ground; - - start-script InitRockBoat(); - SLEEP_UNTIL_UNITFINISHED; - start-script BoatPhysics(); - start-script Activate(); + Static_Var_1 = 0; + while( get BUILD_PERCENT_LEFT ) + { + sleep 500; + } + start-script RockOnWaves(); } Activate() @@ -102,23 +131,55 @@ Deactivate() start-script Stop(); } - -StartMoving(reversing) +waveSplash() { + while( TRUE ) + { + turn base to x-axis <-1.0> speed <1.0>; + move base to y-axis [0.23] speed [0.17]; + wait-for-turn base around x-axis; + turn base to x-axis <0.0> speed <1.0>; + move base to y-axis [0.0] speed [0.17]; + wait-for-turn base around x-axis; + } +} +StartMoving() +{ + signal SIG_MOVE; + set-signal-mask SIG_MOVE; + var waketime; + start-script waveSplash(); + var bowtime; + bowtime = 0; + while( TRUE ) + { + emit-sfx 1024 + 1 from wake1; + if (bowtime) emit-sfx 1024 + 2 from wake2; + bowtime = !bowtime; + waketime = (get CURRENT_SPEED) * 100 / get MAX_SPEED; + if( waketime < 50 ) waketime = 50; + sleep 12000 / waketime; + } } StopMoving() { + signal SIG_MOVE; + turn base to x-axis <0.0> speed <1.0>; + move base to y-axis [0.0] speed [0.17]; } +SweetSpot(piecenum) +{ + piecenum = base; +} - -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM2; - set-signal-mask SIGNAL_AIM2; + signal SIG_AIM_2; + set-signal-mask SIG_AIM_2; move dtl to x-axis [-10] speed [5]; move dbl to x-axis [-10] speed [5]; move dtr to x-axis [10] speed [5]; @@ -128,19 +189,19 @@ AimWeapon1(heading, pitch) return(1); } -FireWeapon1() +FirePrimary() { sleep 150; } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = antiflare; + piecenum = antiflare; } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = antiflare; + piecenum = antiflare; } Killed(severity, corpsetype) @@ -150,12 +211,20 @@ Killed(severity, corpsetype) corpsetype = 1 ; explode ground type BITMAPONLY | NOHEATCLOUD; explode base type BITMAPONLY | NOHEATCLOUD; + //explode nanoemit2 type BITMAPONLY | NOHEATCLOUD; + //explode door1 type BITMAPONLY | NOHEATCLOUD; + //explode radar type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode door2 type BITMAPONLY | NOHEATCLOUD; + //explode antiflare type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } if( severity <= 50 ) { corpsetype = 2 ; explode ground type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode nanoemit2 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode radar type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode antiflare type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) @@ -163,10 +232,21 @@ Killed(severity, corpsetype) corpsetype = 3 ; explode ground type FIRE | SMOKE | FALL | NOHEATCLOUD; explode base type BITMAPONLY | NOHEATCLOUD; + //explode nanoemit1 type SMOKE | FALL | NOHEATCLOUD; + //explode nanoemit2 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode door1 type BITMAPONLY | NOHEATCLOUD; + //explode radar type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode door2 type BITMAPONLY | NOHEATCLOUD; + //explode antiflare type SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; explode ground type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode base type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode nanoemit2 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode door1 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode radar type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode door2 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode antiflare type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/corantiship.cob b/scripts/Units/corantiship.cob index 10e40bd4506ad759b33e814e6c0b2d0c2480da30..20992602b1b8de515e2edec4b98eb8a4a8561ec5 100644 GIT binary patch literal 4026 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 diff --git a/scripts/Units/corap.bos b/scripts/Units/corap.bos index 028dac62b43..56de07485aa 100644 --- a/scripts/Units/corap.bos +++ b/scripts/Units/corap.bos @@ -1,18 +1,22 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" -#include "../factories_common.h" +#include "sfxtype.h" +#include "exptype.h" piece base, pad, head, nano1, nano2, dish, cagelight, cagelight_emit, blink; -static-var spray; +static-var spray, unitviewer, statechg_DesiredState, statechg_StateChanging; static-var Stunned; // Signal definitions -#define SIGNAL_TURNON 4 +#define SIG_ACTIVATE 2 Standby() { - SLEEP_UNTIL_UNITFINISHED; + while( get BUILD_PERCENT_LEFT ) + { + sleep 100; + } sleep 50; start-script Standby(); } @@ -25,7 +29,7 @@ DishSpin() DishStopSpin() { hide blink; - spin dish around y-axis speed <0.0>; + spin dish around y-axis speed <0.000>; } Lights() @@ -41,7 +45,78 @@ Lights() start-script Lights(); } +activatescr() +{ + if( TRUE ) + { + turn head to y-axis <0> now; + turn head to y-axis <109> speed <100>; + wait-for-turn head around y-axis; + sleep 464; + } + start-script DishSpin(); + //start-script Lights(); + sleep 150; + return (0); +} + +deactivatescr() +{ + if( TRUE ) + { + turn head to y-axis <0> speed <100>; + wait-for-turn head around y-axis; + sleep 424; + } + return (0); +} + + +OpenYard() +{ + set YARD_OPEN to 1; + while( !get YARD_OPEN ) + { + set BUGGER_OFF to 1; + sleep 1500; + set YARD_OPEN to 1; + } + set BUGGER_OFF to 0; + return (0); +} + +CloseYard() +{ + set YARD_OPEN to 0; + while( get YARD_OPEN ) + { + set BUGGER_OFF to 1; + sleep 1500; + set YARD_OPEN to 0; + } + set BUGGER_OFF to 0; + return (0); +} +Go() +{ + call-script activatescr(); + call-script OpenYard(); + //spin dish around y-axis speed <150.0>; + set INBUILDSTANCE to 1; + return (0); +} + +Stop() +{ + set INBUILDSTANCE to 0; + hide cagelight_emit; + turn cagelight to y-axis <0> speed <1000>; + call-script CloseYard(); + call-script deactivatescr(); + //spin dish around y-axis speed <0.0>; + return (0); +} SetStunned(State) { Stunned = State; @@ -55,6 +130,39 @@ SetStunned(State) } } +InitState() +{ + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; + return (0); +} + +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + call-script Go(); + currentstate = 0; + } + if( statechg_DesiredState == 1 ) + { + call-script Stop(); + currentstate = 1; + } + } + statechg_StateChanging = FALSE; + return (0); +} Create() { @@ -62,47 +170,60 @@ Create() hide nano1; hide nano2; hide cagelight_emit; - spray = 0; + unitviewer = FALSE; + spray = base; + call-script InitState(); start-script Standby(); - SLEEP_UNTIL_UNITFINISHED; + while( get BUILD_PERCENT_LEFT ) + { + sleep 1000; + } spin dish around y-axis speed <150.0>; start-script Lights(); - call-script DishSpin(); return (0); } -#define BASEPIECE base -#define MAXTILT 0 -#include "../unit_hitbyweaponid_and_smoke.h" +#define SMOKEPIECE base +#include "smokeunit_thread_nohit.h" + +QueryNanoPiece(piecenum) +{ + if( spray == 0 ) + { + piecenum = nano1; + } + if( spray != 0 ) + { + piecenum = nano2; + } + spray = !spray; + return (0); +} -QueryNanoPiece(pieceIndex) +Demo() { - spray = (spray + 1) % 2; - pieceIndex = nano1 + spray; + unitviewer = TRUE; + return (0); } Activate() { - signal SIGNAL_TURNON; - set-signal-mask SIGNAL_TURNON; - - turn head to y-axis <0> now; - turn head to y-axis <109> speed <100>; - wait-for-turn head around y-axis; - - FACTORY_OPEN_BUILD; + signal SIG_ACTIVATE; + start-script RequestState(0); + return (0); } Deactivate() { - signal SIGNAL_TURNON; - set-signal-mask SIGNAL_TURNON; - sleep 5000; - - turn head to y-axis <0> speed <100>; - wait-for-turn head around y-axis; - - FACTORY_CLOSE_BUILD; + signal SIG_ACTIVATE; + set-signal-mask SIG_ACTIVATE; + if( !unitviewer ) + { + sleep 5000; + } + set-signal-mask 0; + start-script RequestState(1); + return (0); } StartBuilding() @@ -110,7 +231,9 @@ StartBuilding() show nano1; show nano2; show cagelight_emit; - spin cagelight around y-axis speed <200> accelerate <1>; + spin cagelight around y-axis speed <200>; + set BUGGER_OFF to 1; + return (0); } StopBuilding() @@ -118,16 +241,22 @@ StopBuilding() hide nano1; hide nano2; hide cagelight_emit; - stop-spin cagelight around y-axis decelerate <1>; + turn cagelight to y-axis <0> speed <1000>; + set BUGGER_OFF to 1; + return (0); } -QueryBuildInfo(pieceIndex) +QueryBuildInfo(piecenum) { - pieceIndex = pad; + piecenum = pad; return (0); } - +SweetSpot(piecenum) +{ + piecenum = base; + return (0); +} Killed(severity, corpsetype) { diff --git a/scripts/Units/corap.cob b/scripts/Units/corap.cob index 7ef43923b948d3f6cdd6c107d4916d9ed85faeb9..9723d1b9c004e2ae18197fdc28ff911157fd4677 100644 GIT binary patch literal 4254 zcmbtXO^91n6h4#Aq*aT)sT*}+vvH#?;&fTi=}e)He;th?1)<4It~0OAyu`_ibwqR& z7k1-D6gP^{E?l@)+*FaGxDW-m6}k}Y!bJt4Ac+0GbMHxRUX$49gD>~q^ZVU%&wX!Z zRz&UwZUNrgBT~l5=at(oh&+gO6XQ%$O6IAo%qCJVC%0lsS(CErOd^Zrgj32E zOqO_=$vMg@WUG?w!<4oZaXfztld2?hTn8BjZ(qOBUUg&a8ILi@a}mQV*0WrHGN;@R zW2(6!G!ByNN#yDv&qWp`?CXJGAMXq0(x>l_eZ_fC1|K#0T9OjiL3Y?i^uz ziH8|@7Gtqr-YocHiP%1m&O=SjH`e!g;Ecb3Vj2z>haAood`%bELMmn7KU89F_k=du zuhwrPxSQVM3VL}j7WBRPZAnM3!zokF1#-|vAIuqp&oHMFBKZ3=TlM|j@AG;&`I8Re z-Y_2fN}t7Ya*Y$nG#93ET+S(HOzp)e2YWuYl?w6$%u5~b+W|Poyy6(V`*D2w(3dtP zQ`Z|9U>>DZ@yvHn$ z_7!r({u(>+{(N6CCS{{?EofZ4&ruiJ!CdW?gLbRuhp$aS{ue^L85-gnKzG*jn;6{k`Li@affu+;xH&cF(vT$bFpOLmZy1)q^>Q zY{R{|7Hs3%nJvGMv(^qZH(T}F_4T2xeV-3P!5r`K zqY}=LYJshB8J9y=!@a|(J%iESw+uo5>bsa!5rOL<8}Exzru0u$!h#VB>$kz{ZGyg8vx-z$9Us(lQ{DJaIduCnZ*0n`yTdvCG4C0ShqeX>$7$kCs>eF_5$f?U$Z~Jwe6#hiy-(8z({TSk^_zy9)pZ)5VqO1h z?N|@?lJ%F(cY~bw&Uo1v``k?Jt&XGo*=M72TK`SsQ>^2(Jc~6YHNG1U0{q`<1=s{$ z13m`60)7B~1^xo&K;SXp4DcOr8Tbb%V-xeh{lFu@v%m{LlfeJ1EuaUy1)K%m2hIVX z0iOe30vCYqfuDiPz;D1Gz~8`rY;+#D2e=P71S|r_ffGO-a6k%VKn}bLyaAjAJ_Krc zBWteh$kDXBS?i>kpXBY1E}lp?HuJ7D*7Nk`M((=n+tPIL>UhUxCmP#LS#GtvPG`s3 z2-@yQ&E>Vcmu0RgD_M#;0?0G&rJn1C#qzeJthUuY?Vf{)JeuZ9JI}jDr=7{uJ-5B{ zR3mGzrf%KIQMc8WBY_82MuHpI&X;;=tC?mSnz_Hw5V~5)UIeQ%4wO3WTpmwbEznwP obe(h>P1$t#$&l+I{auhIsv+x*4cB4;2D6iH3pCeSX?9w!1Ih42wg3PC literal 3224 zcmb7GJBVCm6h1pUnZ)?uMhO@KI$$MQ+@vsRgxzFNLrfSMP$EM1?#y-fW@qn=yLZHG zL~sK(29hFaL{bQ`6oi0aVG*>lv9b_sZG;py7J}b*{&Qyjz1fEjoIQ{KJic@O$K9rg zB%sGY_ZuSf;QTco7wLeuK`%r98hkEkB*(beZYHwSN{&LL?a~~CbS{yF7E`J1GzHp{ zU~@aUbYbgCas(pdX(IpX8iZ7mL)6U%7W|hU_1CpM{F#qAi1Ssjrt5bPDfY9lY3(M2 zhqK%dI0)(=MbeBSS#7}2{##5{4`o0faPBG`AX zYY#X>lox4F!=BuO$hmPoT;q~-XKS=^9_&|V2z)$4{Bi!oN=_eg+SvnV#Wlt|juI*TOW`N{Hu0VDP_%Aqx^r(evEHqS{MXP?@MRr^WjbtW1Q4AR!C zDUOXXJ{Q(wX|F4f#LnXB$9@^R4UzmhIAhta=d5!{!ydUWTo3e(eHhQ4efEo3WKG|v z-Fha5Kj>inuxIWEZoo8`=ioi1{|)#%_WI0rTibyVd*`#^EcjkbATVE(I?gG3pvb!9 zTw^bOZZDfZO@20~c=hO_M@PI}%+0rV-RzCX z9%Byg7-osN(f^G3YrM^Y)u=lT&YiNJLF|LSHMDV?+~4=dW65{i_i=RhKMAt>{2(DW z6y|*P^}s*A1Ov{$)}Idj@94#J;!rk-;2x%f;E; zvsnEW)nZxZpx!=XQOoZ=Y21J4DfrcTT52T^|7Sm*hyDDvPptRo{+x-*JQH2}_JHes z0Oxy3pZmts8xT^wwA9T8rZbWyiwD7?fe4pTAJKT|r zI4r*BjCWjj>609up7AeC*RzFezRt7Fc-M(N*6aB=Lt>%bzXucXoF9ha}~hpW#ThU<>uV*dSbajRooUS}^{?(eu#@~Rx z1N{j48T2dYchH}pzd@}hM2>@=1HA}31L}Z!pm#x6L4D9Fs03A@EzqZ+TcBQ*m4oFi z=@gr*y>U?np&E@?ZtI;q8;{BhgIJSJww|rz zgWmdREtj_@`Nr1etQ>WVyr0WrzbZatcqh+X1b~g|+@u%|igE>TM&qfX(W+f2-yg}v tVmJhXqRBY!=hZ1e*vhq@lyZ* diff --git a/scripts/Units/corape.bos b/scripts/Units/corape.bos index 8cfa26781a9..77ca0a226de 100644 --- a/scripts/Units/corape.bos +++ b/scripts/Units/corape.bos @@ -1,13 +1,15 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" -piece base, body, lpaddle, rpaddle, rjet, rthrust, rwing, rmislink, rmissile, rflare, lflare, - ljet, lthrust, lwing, lmislink, lmissile, lhthrust1, lhthrust2, rhthrust1, rhthrust2 ; +piece base, body, lpaddle, rpaddle, rjet, rthrust, rwing, rmislink, rmissile, rflare, + ljet, lthrust, lwing, lmislink, lmissile, lflare, lhthrust1, lhthrust2, rhthrust1, rhthrust2 ; -static-var gun_1, restore_delay; +static-var gun_1, statechg_DesiredState, statechg_StateChanging, restore_delay; // Signal definitions -#define SIGNAL_AIM1 256 +#define SIG_AIM 2 #define IDLEHOVERSCALE 32 #define IDLEHOVERSPEED 60 @@ -21,6 +23,36 @@ static-var gun_1, restore_delay; #define UNITSIZE 1 #define MAXTILT 100 +InitState() +{ + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; +} + +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + currentstate = 0; + } + if( statechg_DesiredState == 1 ) + { + currentstate = 1; + } + } + statechg_StateChanging = FALSE; +} + Create() { hide lthrust; @@ -34,9 +66,13 @@ Create() hide rflare; hide lflare; gun_1 = rflare; + call-script InitState(); turn rwing to z-axis <-60> speed <90>; turn lwing to z-axis <60> speed <90>; - SLEEP_UNTIL_UNITFINISHED; + while( get BUILD_PERCENT_LEFT ) + { + sleep 400; + } start-script IdleHover(); } @@ -44,14 +80,22 @@ Activate() { show rthrust; show lthrust; + start-script RequestState(0); } Deactivate() { hide rthrust; hide lthrust; + start-script RequestState(1); } +// start block: following block returns weapon in straight position after firing +//SetMaxReloadTime(Func_Var_1) +//{ +// restore_delay = Func_Var_1 * 2; +// return (0); +//} //static-var Stunned; //ExecuteRestoreAfterDelay() @@ -71,7 +115,7 @@ Deactivate() //} RestoreAfterDelay() { - set-signal-mask SIGNAL_AIM1; + set-signal-mask SIG_AIM; sleep restore_delay; set-signal-mask 0; turn rjet to x-axis <0> speed <90>; @@ -90,15 +134,22 @@ RestoreAfterDelay() -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = rflare + gun_1; + if( gun_1 == 0 ) + { + piecenum = rflare; + } + if( gun_1 == 1 ) + { + piecenum = lflare; + } } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; turn rwing to z-axis <0> speed <90>; turn lwing to z-axis <0> speed <90>; turn rwing to x-axis <90> speed <90>; @@ -115,24 +166,33 @@ AimWeapon1(heading, pitch) return (1); } -FireWeapon1() +FirePrimary() { if( gun_1 == 0 ) { +// show rflare; show rmissile; sleep 150; +// hide rflare; hide rmissile; + gun_1 = lflare; + return (0); } if( gun_1 == 1 ) { +// show lflare; show lmissile; sleep 150; +// hide lflare; hide lmissile; + gun_1 = rflare; } - gun_1 = !gun_1; } - +SweetSpot(piecenum) +{ + piecenum = base; +} Killed(severity, corpsetype) { diff --git a/scripts/Units/corape.cob b/scripts/Units/corape.cob index da141418e133177014d02ba9701400256397f711..4381d327e399abf3aacc4b6eb564a5862a36d3a9 100644 GIT binary patch literal 4625 zcmd6rPiQ1X6viu)$z*j!+kc4Qp9T?86vmuI6Aj|x!Etj@Pnm2w?r0|&dnOwKf)Nq) zrU-i!kv(|OgBK5iA|3?wB8s4R5xwYHZ|aWUud3cmZ*R|%(SuHSRMmUmd-dvjudACh zopV=6u9LKy&RwRF-)iFAP;yRkx7NRFbZH~0lewgk%;B`&N?z8askK76X1kFb(}*22 zYxJydMv*oX=E)tJCkqMwS+x5+WN$>DhH&OP8jW6Xoq6x8XwEIqdmJGz#7Q9>F~|=a z7|X}C7o?f!4)2$dJo-V8PZ?X)m+|G?*`%C@mg6{+c;Rdd(RMi?&Z|FkF17Qejy%ip z$;-GjuCXu6Kz#8tVw9(RLmWR(!k(z7;Tjmlr};CQ&P9LL)BIEXBhL7{FXC;S2cx_U z$C`6964!G<9dxF*OFHUk7`HsBCma}OcHUd$$K2xDnaX}42j_bNID4DDp*3+^7*va+ z#>KB3*Eq1azIKYcIAdJ=%5m9;eDBf788OeoL)p*AO#=_rxU6U4!Q$dqj%z%aeO4a6 zQBQNuF%L0cwi%zl9r}Q^&s%HiXMQ|0@D6XksFBdqPvnWt_l$bqwdeeL!`tT66RqSW zZ43|GXY}Qv*48g$-eVjfV)LTD8uM6#<6PxDLT=dL^es726PDE&)%f_}%Rbfn-F(OP zh;!@VPWe(!W}D<6Y#+;JI*VJzvY+b&?B@}S&am+EZYf6X+1FiioH!b;DJyM74}R*xoa)i^Lb;fY^|Cmwot z*y3#ypX2b{qDBwK&gXSHAKwuC>TLeKQ?WIEoX*+#TLo6kGH2EO{QIL4Q_Ha*(=j*j zkm@@}d0(gx{g%ZVP;2@POd0F>ioMy7So*`T)qU6to#(M1_%crG`0;nC;?>#eIDiZI zspG(G`0*>pYeOe8^i!rYh4177J>B`S-Ii}TyEiP3*yD#y*5pWuMN`>uEWV=QJBROtVpMII#Mb`B;+8_}Gqo zP?DqaVf!8uCvx>)oO>3IFU7|x&Jp|L!^nq*Bl7`w)ZzcyAC{kQ=-9JI$+gNEXZ$C; z%)0Nt>7}}}PJ31<`?TlBdVH36RlbP-iXOl>BwtI8E7%Q^+aym)29ozBKS+L-@V|uf zl4JV7xL$IT7bGh2$&A z_mZC^ze;|S{3Th`2h@qpJbPsKOjfuPJH6rBush7$$?UnkY!DX@6&bpfQ^VdFCaYQ3 zrY8m3EwYuZVOFeWdH29QzLymTouaqhEe_mDZ`-C1_lnHsYx`L?T9h26h58KO#OR)7A){~M3B)$A|bTV2oXt%goH$=?W4ofY2J*VMkHOZv0x)s zB3+4vg#~sJ3$Z7$vXR(WS|i5yoqNyp&NE6GIXUN^|L@%M-m9XBEC#IweJzNT!1-Id zOk_9c3}_q9PrxNEMDtNk1Ur6(N+BwPhvzr*CQeZoL{f^BX>3kl@hWQBGb+6 zgN}VnIX!cSzIlDw6>5 zkgX=~AsasReG%B~Ir$8b z)N@BWdd7Z9rAIN0s;vh*T8^$`Nc87>h|kD1|BT2$uwNcKUGn>Ae!2r){OoScPjPqg zDDOqp*6{qERqX&LD0W0+KjzV+^X zoxE+SI(5#XfCp6&r{Bt4+>cFAz!uITpHtuaxi~H3<0yAvj)4Vz>)n8>Z{)s@-F*2s zL3~bht~KF4&pKVR^Kq1jrjAn;wv||Zu2&q&0B!L{3y@qakoKk!s4^Q z`?h*&9(I419OFV_j~0Ou`+XWKc%DX_E{t=zT-;e7x3WtdbrvVHr6_z}m|mYv+yU>w z-i55ap0?QKzl;3Tu_nLWYN3`3S^9}v;@tjd;=ls}PTO&?nFr&^J&Y7G?!# z4QL%G25kXt2kipw0S$qUf=+-=gGN9Tph?hG&#*r>f&9Cz accelerate <2>; + return (0); +} + +Stop() +{ + spin dish around y-axis speed <0.000000>; + return (0); +} + +InitState() +{ + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; + return (0); +} + +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + call-script Go(); + currentstate = 0; + } + if( statechg_DesiredState == 1 ) + { + call-script Stop(); + currentstate = 1; + } + } + statechg_StateChanging = FALSE; + return (0); +} SetStunned(State) { Stunned = State; if (Stunned) { - call-script Deactivate(); + call-script Stop(); } else { - call-script Activate(); + call-script Go(); } } Create() { hide blink; + call-script InitState(); return (0); } - -#define BASEPIECE base -#define MAXTILT 0 -#include "../unit_hitbyweaponid_and_smoke.h" +#define SMOKEPIECE base +#include "smokeunit_thread_nohit.h" Lights() { - set-signal-mask SIGNAL_TURNON; while( TRUE ) { if (!Stunned) { @@ -37,22 +99,28 @@ Lights() } sleep 2500; } + sleep 50; + start-script Lights(); } Activate() { - signal SIGNAL_TURNON; - spin dish around y-axis speed <-50.043956> accelerate <2>; start-script Lights(); + start-script RequestState(0); + return (0); } Deactivate() { - signal SIGNAL_TURNON; - spin dish around y-axis speed <0.0>; + start-script RequestState(1); + return (0); } - +SweetSpot(piecenum) +{ + piecenum = base; + return (0); +} Killed(severity, corpsetype) { diff --git a/scripts/Units/corarad.cob b/scripts/Units/corarad.cob index 88d5e7ef4787ba29afc6a598a5ee8e0161ae0752..d539a4faa84e858e29a81f151c0fd453a4171e2b 100644 GIT binary patch literal 1943 zcmbVNziU%b6h2AgYZZkn1Vj*glaoWJi<4+oR8$N`aVSEP=3yU+N!q+b-Qwip;w(ZZ z{|W~Y9o^g%{{fe-PWAiFJvY8Sni75GOhIr^yvc~~5CE4BUcJQq17Mhs8^H+|BK9Q!I; zts+P0Bk-%V*s}2#bIDC=+I@{9j&&Zx7JRdr>fU#k3323ShZ_8$Mm|qDEpOfO)Mk0q zL!MlY+{GNC}1;5ZQ_a#m7xyVtDq96Nbyz+tnllk?{ z#Hd{RyT8D_My2L=_15BBYAem&31{Q`%l8uIqD}do=Xh^%v>jA$Rk@d()I2|XC5QH* zugCW&#`nSeB?j(_zenupquI*^`%AM!NO)r>sbhZb{43P_9K4VHv-vr`TO8@b{Nf^q zpPYVq4(f~}|1QMrj(0rQFW5AmOTi4hJDxuug@Qfs-hZ0S?*}&2T7ivUzSeM(tnUqe#^mq%G#iTjT&oy5)Cj)|o@47{3Moz8wOiJEo9E;1SVMPM z$J@pqQyH)OuzC-y9{0CsJra>ecZpu8>w7hQ3V-PFus${zXMIep5AHnQ$G_Af-J<(o zT(MSoL%JxNWsw;}-T%!m?udNHfGThn=m5`wDewj0yZ#MSka!%Z68K+r3OECt11#@!U0?!Cfmgt5;0Z$4O)j}-a^!Le<`e`A3)5Oz zisX+;rH#E-sceK4mP-77_U&9=&Ll4kGrRNs&ad6gWo9-jnUZ{Lm^G#O-sWbzl0C_F zt-ncIs~PyipA|``wJqi0JdRc#X3%^KdANwy9(2Bj3iG0;y zEsOCzKOD~q7mDZopL@gyN1t%t%S7);dw!2OsjaBa$gzZ(#Q55=bqss-?6YsDoUBi) zn|MC~q*>52=V75b6X&9>XvCgAXfdv1VrD1#ppNl6JD&|_!JVCzfj?uddrA+OK68BZ z;`er6rpNQU>1)3mz{fGu9r{(<^BiEP108b&UPQWQiT5}88vqZgJHp##4X;_-cP{%k z1ZS?y4gA*>hwWo;^Ii2$3Bx?D$e;?Awp-o*%PE&JB-P+|bdP^dDgFh=z|)+mAg;jln4SASG>w^=G6ZpscHGZAr@4P;TIf$*Qk7ua{srWw8@OPyx%*5RF zb;QY!o;=$)-xPOK0C>!Wvpp^DC*mm2S#ejuq_{gNZhQx|xE=@SS@q(Z($qj zH37RMVSe`|UnJ)QnwQ*^v?cuRe3$G?4kUjhv-*MIM`lhkFS#ZuB)24;a?}~U8V<{z z-FsPfN2NXJkM6#CT6VWKhYx%8l`VERx~pZcv$45e+T;G}+GyL_E2I8vXp3dn%}4#g UK=GEl+okpT+iSKw=nvQJA34H*vj6}9 diff --git a/scripts/Units/corarch.bos b/scripts/Units/corarch.bos index f1e71fdf80b..84843ee395f 100644 --- a/scripts/Units/corarch.bos +++ b/scripts/Units/corarch.bos @@ -1,31 +1,46 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece rflare, lflare, flarea, flareb, base, boxb, boxa, turret, turreta, turretb, wake, rbarrel, lbarrel, sleeve ; -static-var gun_3, restore_delay, gun_2, oldHead, aimDir1; +static-var gun_3, restore_delay, gun_2, oldHead; // Signal definitions -#define SIGNAL_MOVE 1 -#define SIGNAL_AIM2 512 -#define SIGNAL_AIM3 1024 +#define SIG_MOVE 2 +#define SIG_AIM_2 4 +#define SIG_AIM_3 8 -#define RB_MASS 30 -#define RB_LENGTH 7 -#define RB_WIDTH 3 -#define RB_PITCH_SPEED 100 -#define RB_PITCH_ACCELERATION 20 -#define RB_ROLL_ACCELERATION 8 -#define RB_ROCKUNIT 5 -#define RB_WAKE_PIECE wake -#define RB_WAKE_CEG 1024 + 1 -#define RB_IDLE_KICK 5000 -#define RB_RECOIL_ENERGY_1 100 +#define BASEPIECE base +#define HITSPEED <20.0> +//how 'heavy' the unit is, on a scale of 1-10 +#define UNITSIZE 5 +#define MAXTILT 100 -#include "../bar_ships_common.h" +#include "unit_hitbyweaponid_and_smoke.h" +RockOnWaves() +{ + var rockDir, rockAng, rockSpeed; + rockDir = <-0.1>; + rockAng = <-0.1>; + while( TRUE ) + { + while( get ABS(rockAng) < <1.31> ) + { + rockSpeed = <1.45> - get ABS(rockAng); + turn base to x-axis rockAng speed rockSpeed*4; + wait-for-turn base around x-axis; + rockAng = rockAng + rockDir; + } + rockDir = 0 - rockDir; + rockAng = rockAng + rockDir + rockDir; + } +} + Create() { @@ -39,18 +54,20 @@ Create() gun_3 = rflare; gun_2 = rflare; restore_delay = 3000; - turn turret to x-axis <-25.0> speed <25.0>; - turn boxa to x-axis <-25.0> speed <25.0>; - turn boxb to x-axis <-25.0> speed <25.0>; + turn turret to x-axis <-25.000000> speed <25.000000>; + turn boxa to x-axis <-25.000000> speed <25.000000>; + turn boxb to x-axis <-25.000000> speed <25.000000>; spin turret around y-axis speed <25.0>; - start-script InitRockBoat(); - SLEEP_UNTIL_UNITFINISHED; - start-script BoatPhysics(); + while( get BUILD_PERCENT_LEFT ) + { + sleep 500; + } + start-script RockOnWaves(); } -SetMaxReloadTime(reloadMS) +SetMaxReloadTime(Func_Var_1) { - restore_delay = reloadMS * 3; + restore_delay = Func_Var_1 * 3; } static-var Stunned; @@ -61,11 +78,11 @@ ExecuteRestoreAfterDelay() } set-signal-mask 0; spin turret around y-axis speed <25.0>; - turn sleeve to x-axis <0.0> speed <25.0>; - turn turreta to y-axis <-25.0> speed <25.0>; - turn boxa to x-axis <0.0> speed <25.0>; - turn turretb to y-axis <-25.0> speed <25.0>; - turn boxb to x-axis <0.0> speed <25.0>; + turn sleeve to x-axis <0.000000> speed <25.000000>; + turn turreta to y-axis <-25.000000> speed <25.000000>; + turn boxa to x-axis <0.000000> speed <25.000000>; + turn turretb to y-axis <-25.000000> speed <25.000000>; + turn boxb to x-axis <0.000000> speed <25.000000>; } SetStunned(State) { @@ -80,32 +97,56 @@ RestoreAfterDelay() start-script ExecuteRestoreAfterDelay(); } - -StartMoving(reversing) +waveSplash() { + while( TRUE ) + { + turn base to x-axis <-3.0> speed <3.0>; + move base to y-axis [0.23] speed [0.23]; + wait-for-turn base around x-axis; + turn base to x-axis <0.0> speed <3.0>; + move base to y-axis [0.0] speed [0.23]; + wait-for-turn base around x-axis; + } +} +StartMoving() +{ + signal SIG_MOVE; + set-signal-mask SIG_MOVE; + var waketime; + start-script waveSplash(); + while( TRUE ) + { + emit-sfx 1024 + 1 from wake; + waketime = (get CURRENT_SPEED) * 100 / get MAX_SPEED; + if( waketime < 50 ) waketime = 50; + sleep 14000 / waketime; + } } StopMoving() { - + signal SIG_MOVE; + turn base to x-axis <0.0> speed <3.0>; + move base to y-axis [0.0] speed [0.23]; } -AimWeapon2(heading, pitch) +AimSecondary(heading, pitch) { - signal SIGNAL_AIM2; - set-signal-mask SIGNAL_AIM2; + signal SIG_AIM_2; + set-signal-mask SIG_AIM_2; if( gun_2 ) { - turn turretb to y-axis heading speed <455.0>; - turn boxb to x-axis <0.0> - pitch speed <430.0>; + turn turretb to y-axis heading speed <455.000000>; + turn boxb to x-axis <0.000000> - pitch speed <430.000000>; wait-for-turn turretb around y-axis; wait-for-turn boxb around x-axis; } else { - turn turreta to y-axis heading speed <455.0>; - turn boxa to x-axis <0.0> - pitch speed <430.0>; + turn turreta to y-axis heading speed <455.000000>; + turn boxa to x-axis <0.000000> - pitch speed <430.000000>; wait-for-turn turreta around y-axis; wait-for-turn boxa around x-axis; } @@ -113,73 +154,72 @@ AimWeapon2(heading, pitch) return (1); } -AimWeapon3(heading, pitch) +AimTertiary(heading, pitch) { - signal SIGNAL_AIM3; - set-signal-mask SIGNAL_AIM3; - turn turret to y-axis heading speed <755.0>; - turn sleeve to x-axis <0.0> - pitch speed <730.0>; + signal SIG_AIM_3; + set-signal-mask SIG_AIM_3; + turn turret to y-axis heading speed <755.000000>; + turn sleeve to x-axis <0.000000> - pitch speed <730.000000>; wait-for-turn turret around y-axis; wait-for-turn sleeve around x-axis; start-script RestoreAfterDelay(); return (1); } -FireWeapon2() +FireSecondary() { gun_2 = !gun_2; } -FireWeapon3() +FireTertiary() { if( gun_3 ) { emit-sfx 1024 + 0 from lflare; - move lbarrel to z-axis [-2.400000] speed [500.0]; + move lbarrel to z-axis [-2.400000] speed [500.000000]; sleep 100; wait-for-move lbarrel along z-axis; - move lbarrel to z-axis [0.0] speed [3.0]; + move lbarrel to z-axis [0.000000] speed [3.000000]; } else { emit-sfx 1024 + 0 from rflare; - move rbarrel to z-axis [-2.400000] speed [500.0]; + move rbarrel to z-axis [-2.400000] speed [500.000000]; sleep 100; wait-for-move rbarrel along z-axis; - move rbarrel to z-axis [0.0] speed [3.0]; + move rbarrel to z-axis [0.000000] speed [3.000000]; } gun_3 = !gun_3; - RB_RECOILBOAT(aimDir1, RB_RECOIL_ENERGY_1) } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = base; + piecenum = base; } -AimFromWeapon2(pieceIndex) +AimFromSecondary(piecenum) { - pieceIndex = turreta + gun_2; + piecenum = turreta + gun_2; } -AimFromWeapon3(pieceIndex) +AimFromTertiary(piecenum) { - pieceIndex = sleeve; + piecenum = sleeve; } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = base; + piecenum = base; } -QueryWeapon2(pieceIndex) +QuerySecondary(piecenum) { - pieceIndex = flarea + gun_2; + piecenum = flarea + gun_2; } -QueryWeapon3(pieceIndex) +QueryTertiary(piecenum) { - pieceIndex = gun_3; + piecenum = gun_3; } /* @@ -194,18 +234,21 @@ FireWeapon4() sleep 100; } -QueryWeapon4(pieceIndex) +QueryWeapon4(piecenum) { sleep 100; } -AimFromWeapon4(pieceIndex) +AimFromWeapon4(piecenum) { - pieceIndex = base; + piecenum = base; } */ - +SweetSpot(piecenum) +{ + piecenum = base; +} Killed(severity, corpsetype) { @@ -214,9 +257,18 @@ Killed(severity, corpsetype) corpsetype = 1 ; explode base type BITMAPONLY | NOHEATCLOUD; explode turreta type BITMAPONLY | NOHEATCLOUD; + //explode boxa type BITMAPONLY | NOHEATCLOUD; + //explode flarea type BITMAPONLY | NOHEATCLOUD; explode turretb type BITMAPONLY | NOHEATCLOUD; + //explode boxb type BITMAPONLY | NOHEATCLOUD; + //explode flareb type BITMAPONLY | NOHEATCLOUD; explode turret type BITMAPONLY | NOHEATCLOUD; explode sleeve type BITMAPONLY | NOHEATCLOUD; + //explode lbarrel type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lflare type BITMAPONLY | NOHEATCLOUD; + //explode rbarrel type BITMAPONLY | NOHEATCLOUD; + //explode rflare type BITMAPONLY | NOHEATCLOUD; + //explode wake type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } if( severity <= 50 ) @@ -225,9 +277,17 @@ Killed(severity, corpsetype) explode base type BITMAPONLY | NOHEATCLOUD; explode turreta type FALL | NOHEATCLOUD; explode boxa type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flarea type FIRE | SMOKE | FALL | NOHEATCLOUD; explode turretb type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode boxb type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flareb type FIRE | SMOKE | FALL | NOHEATCLOUD; explode turret type FIRE | SMOKE | FALL | NOHEATCLOUD; explode sleeve type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lbarrel type FALL | NOHEATCLOUD; + //explode lflare type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rbarrel type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rflare type FALL | NOHEATCLOUD; + //explode wake type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) @@ -237,18 +297,32 @@ Killed(severity, corpsetype) explode turreta type FIRE | SMOKE | FALL | NOHEATCLOUD; explode boxa type FIRE | SMOKE | FALL | NOHEATCLOUD; explode flarea type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode turretb type SMOKE | FALL | NOHEATCLOUD; explode boxb type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flareb type FIRE | SMOKE | FALL | NOHEATCLOUD; explode turret type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode sleeve type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode lbarrel type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lflare type SMOKE | FALL | NOHEATCLOUD; + //explode rbarrel type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rflare type SMOKE | FALL | NOHEATCLOUD; + //explode wake type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; explode base type BITMAPONLY | NOHEATCLOUD; explode turreta type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode boxa type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode flarea type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode turretb type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode boxb type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode flareb type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode turret type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode sleeve type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode lbarrel type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lflare type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rbarrel type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode rflare type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode wake type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/corarch.cob b/scripts/Units/corarch.cob index 29c0c59f8362f544a20c2b1c42dd4c5c35d7d897..edc4e29a1c281caf2215721496c142ba3b1828fc 100644 GIT binary patch literal 5201 zcmb_gO=w(I6h1RaCQ++CYlOBmGAQm8rUgX;LYr!_meQDs){T&t%&iWYpYZ18&mZVU zaOK8Dtq67_bSYA$3n^02h2TOEaaB;HAWEsU8>J{ZB(R$m49D9B(is>$UC4Xu|JPh%EiE^Vu1f3E?}*>bquRiMglo75)>=N zU<6y*aitws3C03hCUUM$H8h2jmiD9D4IS6=+&3G)s{6#Spu{r zS|@!pCw-vmo%(TQ@5Ghxn7TM8C5`#MK6=$+(e0Lu2dNSfn8$aKE3V61aBtC0R>j+Sz=5X;o zbov4fuO;Uo2TH+dCoksYuQ@puTcE5MKy5U;G)WPZMKGNw~J zBq$|VL&mx}mt1L+^?`H2A9a2nzb?wJZf$KTUjCl3xaZ1x_kiL4J!~}>_f+Rssf^k) zyh^3RbKLn)3>intBX)jx2bfpyf}Jg#r`96wt}vxP->T=D=#qFSLwKG)V$u3j8<&$N zUHyB+`oW83@5O=y_c91p*3H%C#mX)BJfFN=>*0A*?eDe!3-=}Szn5g{jj^Ik6#|wJPz!g zHfg_Sll%V#3jvOPUPw}GEEdGPhYj(tHo)%+815g#5OKYHE14C0mk^S&U#GJbQ<}U< z%m=i6JB>k=08d}1F|4jf49>_!SC6%G=V|ZBN^+i-$JyF93;hva{`o!aalI5+z_sMQ zQ9ngPe0#{($YZ|9A9Zs5#&he>qWw;|H*2ShO_~2je*R46W53hHAN^dvLqB(e8Ea;Z zIxqSyv3NV2EDxOQSB$m`rQlUp`&)+!X@5K?e@4&mD_AV)qVF8vTiWTo^4!&jd@4u3 z%^o@Y`_nIn&NSny5BW@9vU1i(902caIM7cV4weTFw7s;exUFx#hxDiJW~tb-Z+#b7 zhx(AuWUvS)MA;U;cowJwnx1=jcRnOj@DdplsRagrIvoRtgP zOY82{#=H|UURWet+m&DD)z(p&_AF8F3}FqBxo;) z|IgyOx`U&(K=r7Q9 z(7&LY%iNvTJ_kM9;wM( zdujQ2>qNL_I&vs7VQi#o;$z{)oN2Vf+I+ofKZ^(}~-WIe0QQ(etJeZql+E zueMqSac)ztBW87_5q92`Y8*!KvG!WM^#=I%ienGfn^m*aZq>qQQ?QvgQCuf~xE`5I z!(FO^+2N?&oQ>*D=f!Pi?DVPq%c~~ZRBOA*Z0$C+tgaihv(k>`XuZ)uOVPF$2qj*PA``nsw~MkKE*ps!Lns^4aBHVw%$kw^0CWtm6aWAK literal 5616 zcmb`LUx-vy9LLY>uA}xxZfIawHqnDn8KVmYJ?*MVCW7rMMfBk8?$riocXW2vRv&U9 zBO&l1qA;YE2!e`U>OsOlB7Cx!C@O-erwk$_d@#_q@8{g}yL0w7vr4qfZ_oMt|NegG zckaFHfOBrGXqD)z0q1Vl%Fn*l&Yc%k);RZ&_-C}1lD-7pK(#MfrZwivfj<$}omyRG zAi*Zt(6KciR~<-*vpm>i4!@$nuZ(!NyPUX+Fo*^e7Yy#aO9b2hAOnZV`q&41TYY{x zu-@bK1Bt8l`*>h+L;Xpga9DjK!3O(F$4ky7{l2El3yL9Im7!t-rb5YIo*fEP154-Pii0sf?JoHz^v%XxAi_OkDTDcF{UgA)R zDZJJr2T;k1Sg^kqVpxv&zMz*n&vmmotPc834BBCJfyw$}=fQl(cKFA3=;<4!878-H zS;E{ur`m{pOVHiT#Zcd|vpYuJ=!voD-pG!*Ko;wK9(p*Rt z-{X*5svK*MIh>IrPRMPwSr6ux>kAiA~IIzBWJW6)rw=-vhughw`=Au-SB#&T|-B^S4k0+voVXjvVja9o zvU_ng#6U#O*v`kTW_JBL6w75Xt+!UY`TCjf(kt}9T4bj?L{F`D=HI>L0NHQaGei`cPYp5td0_YOO-8TLhXp+>`wyX7!EoYP#u z7uV+Zs-0fqMtoNM;<_h-FFLCY8+dYAp4`t*e9$LZf7;d`8l-2R&#gN(8{~bFJjSt^ z997M|?h$wJ$q0+Db6@rxby}s;{d4{dSYcWF!%7O18-D6R9P`A1KdVDTk01O64L<8* zf9M@wasGL4zC|6+m0mi3#!^~Ni|wjeOpjBulSRnv;yZUC^k5f;p)cnEEg$b2#kN_9 zd+Ph4p2oHLTsli;?KT+A%ugYYj~UL{+s$QX&b}LVlUaREy|VB5SZ96o@0KW5?6*`O z{ml39EB3h92WqFzyx#DRUPp7(M=^t(Z z|GuFlYVr8g!$p1IAz*!AALif^v!>J={ZJSneCMl>szOxm0vmG$%SGdQS&o6-|f^ zi(VAHDtb+HS~M?uU-Yr)6VX}G=b|q~7e(KQeh~d4`c1TBs@@)Hjvw68thF6~c0Ye~ zx;{SbM$++Sy^*V)sJFKqeLAfjYEJE#aESNH(`~Cw)()f-qm#{psoUC0YwgsHrtMv| z*^#u-tWE5xPp0ni*>rrSosOi_?Pe<--rr7J+tNnuD3+t`nW?E%5&x}h*IMme%_H@x z18%h4JQTLW^~nszW|waV-S&DbHF0M@h{^U=Gk9!T%=!Qw?Vx*VCT)cpH^t26m>G0C z>y3sGxAr$`t<*KL#s952zl^!D+H~s1nzPz9XKSuK(`u#duoye$UZ|;Qt+ASv4c7?k KbR$iVr0yTN^2cic diff --git a/scripts/Units/corason.bos b/scripts/Units/corason.bos index 22845d8651c..7b228b1a169 100644 --- a/scripts/Units/corason.bos +++ b/scripts/Units/corason.bos @@ -1,24 +1,76 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, sonar; +static-var statechg_DesiredState, statechg_StateChanging; + +Go() +{ + dont-cache sonar; + spin sonar around y-axis speed <60.010989>; +} + +Stop() +{ + spin sonar around y-axis speed <0.000000>; + cache sonar; +} + +InitState() +{ + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; +} + +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + call-script Go(); + currentstate = 0; + } + if( statechg_DesiredState == 1 ) + { + call-script Stop(); + currentstate = 1; + } + } + statechg_StateChanging = FALSE; +} Create() { + dont-shade sonar; + call-script InitState(); } Activate() { - spin sonar around y-axis speed <60.010989>; + start-script RequestState(0); } Deactivate() { - spin sonar around y-axis speed <0.0>; + start-script RequestState(1); } - +SweetSpot(piecenum) +{ + piecenum = base; +} Killed(severity, corpsetype) { diff --git a/scripts/Units/corason.cob b/scripts/Units/corason.cob index 7ecb8d8ef414f938953abf88718e575677d25a35..44a876439a5f403b7768f73a7e4a77bfe086350d 100644 GIT binary patch literal 1254 zcmcIkJxc>Y5S@IgV6mlk2XQ@`z`YhwQ*q2-hzyYe5g*j>0O#`N^vrTJE>$^V6 zEvx=?Eww4lc;2IC*e62F=lmU|mFEsw5MVxieBSpc);UeBJJvcEgU>qpzD}BTv!!uT zXYOQ@@09)dKKc0m{{Aj#>ZZcnjJ)grOP>4odYp?|{#<+~evizpk`&~-c~E}wUgQKC z&tRopF=7_JwCRwus5$!l6v?BXsm~gxi|4S55ALHE!v;*Lio$F_wW9U=27065tBRfHA;-#|>}` z+yRfk6YvbY0B^uMFah>r3DY={{Xs7c(wUKwjOKa0G ViBmb~_4~FfC(+2tC>}&Z`2?q6Sp)z8 literal 553 zcmZQ!U|?VYVkRKY0%91r!pOkz1c<)?u?|r150GXQU=je!2e1ji*dTh97EsiHK>(

      k4Fo>;n0pQgf4$%#DVc%S^!B1t2{@_oKTP# diff --git a/scripts/Units/corasp.bos b/scripts/Units/corasp.bos index 2d7a3fe885f..a0cea7ac681 100644 --- a/scripts/Units/corasp.bos +++ b/scripts/Units/corasp.bos @@ -1,5 +1,7 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, pad1, pad2, pad3,pad0,nano; @@ -23,23 +25,27 @@ StopBuilding() hide nano; } +#define SMOKEPIECE base +#include "smokeunit_thread_nohit.h" -#define BASEPIECE base -#define MAXTILT 0 -#include "../unit_hitbyweaponid_and_smoke.h" +SweetSpot(piecenum) +{ + piecenum = base; + return (0); +} -QueryLandingPad(pieceIndex1, pieceIndex2, pieceIndex3, pieceIndex4) +QueryLandingPad(Func_Var_1, Func_Var_2, Func_Var_3, Func_Var_4) { - pieceIndex1 = 1; - pieceIndex2 = 2; - pieceIndex3 = 3; - pieceIndex4 = 4; + Func_Var_1 = 1; + Func_Var_2 = 2; + Func_Var_3 = 3; + Func_Var_4 = 4; return (0); } -QueryNanoPiece(pieceIndex) +QueryNanoPiece(piecenum) { - pieceIndex = nano; + piecenum = nano; return (0); } diff --git a/scripts/Units/corasp.cob b/scripts/Units/corasp.cob index e5c9b43797706e779bd87c0bea64f8a96706c24c..4e020fd52fc1e5d74bf0496988dec449e9b4b269 100644 GIT binary patch literal 2190 zcmcIlJ#Q015FKBfODGTv4NxFm4HQnGq=-y|03j2L4?*L@UZE4_&X}`M5E3qs5H%%# zfFDCkoxhNuzI!jaf1A;XEomCHa`BA#*?eNYoEzFTShuQH|t!~U{D|a(FNVQ zdJgrxMaL8IX9ux)tbA1AFDZ}3>BijWxkvBpZ-^~9QtX2_a=YaGy>FCb`bF<1_V2ak zkGE0HK`(k<=JV%HH)^N8%p3HfFW;XwdD@%{+T>{mJ;_&d)8;&_=7Z__3-<3f-H ziSP3#w&X%R;r>MVIaV3qz0A%+rvwyZ=2*kornt~U0{3cM=%?hPCP2{VN?$dw*45j^0_|0&o#{4wS$L;4APA;Q!I*fGfaN;3jYY+y$Ni88886 zz8DZc>PxR;#( literal 2057 zcmah~ziU%b82ysGCMqab7ZDsHPJ+X;F1ocL zoHo?unZ4-ed6DOI&c|NIF@cRH`Y5e);G>OvlQj5Tvz!aII((dsk};GJW{6=w`j{^s zF=xhdAN2oX@A9%TwTB>1b&Cm22@#0?H*(~1_N8Fuu!(H&rws2s*ggV|SXW&sg zr;oGf-G0YW{q;7b>uoT6QZu}v-N>dMj3Ez7-^1}6p|@PVy}!Xy2_}^wZ9Kh)Heg{5urai~Z~! z^F2pryPSC$4P!p)zrz^U@_p!+UiFKg{Ng8_yyJY&6ZKf9dWU|Gf!EW(tGXA}WjgD= z;{iOyOS*VT7cc4JCH;TA*4QKPdLMYPUVL9WjEVNO9rVL^$uC~g#p_kbukzx|NA-SN z=`CG5QLn>#%U|uyvL}Hvz**oH@C7)5Auj-z0RCTm4!i-jfe*k(;4|km5JVy&>d-CnQA?NRomuwj;8;m15buJR+bJ|gWOJQtQ= diff --git a/scripts/Units/corasy.bos b/scripts/Units/corasy.bos index c203d996feb..9f4bc6d5f5e 100644 --- a/scripts/Units/corasy.bos +++ b/scripts/Units/corasy.bos @@ -1,14 +1,48 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" -#include "../factories_common.h" - +#include "sfxtype.h" +#include "exptype.h" piece base, head1,head2,head3,head4,nano1,nano2,nano3,nano4,nano5,nano6,nano7,nano8,pad; -static-var spray; +static-var spray, unitviewer, statechg_DesiredState, statechg_StateChanging; // Signal definitions -#define SIGNAL_TURNON 4 +#define SIG_ACTIVATE 2 + + + +activatescr() +{ + if( TRUE ) + { + turn head1 to y-axis <0.000000> now; + turn head1 to y-axis <-45.0> speed <45>; + turn head2 to y-axis <0.000000> now; + turn head2 to y-axis <45.0> speed <45>; + turn head3 to y-axis <0.000000> now; + turn head3 to y-axis <-45.0> speed <45>; + turn head4 to y-axis <0.000000> now; + turn head4 to y-axis <45.0> speed <45>; + + sleep 1494; + } + sleep 8; +} + +deactivatescr() +{ + if( TRUE ) + { + turn head1 to y-axis <0.0> speed <45>; + turn head2 to y-axis <0.0> speed <45>; + turn head3 to y-axis <0.0> speed <45>; + turn head4 to y-axis <0.0> speed <45>; + + sleep 1487; + } + sleep 11; +} #define BASEPIECE base @@ -17,7 +51,77 @@ static-var spray; #define UNITSIZE 10 #define MAXTILT 100 #define SMOKEPIECE base -#include "../unit_hitbyweaponid_and_smoke.h" +#include "unit_hitbyweaponid_and_smoke.h" + +OpenYard() +{ + set YARD_OPEN to 1; + while( !get YARD_OPEN ) + { + set BUGGER_OFF to 1; + sleep 1500; + set YARD_OPEN to 1; + } + set BUGGER_OFF to 0; +} + +CloseYard() +{ + set YARD_OPEN to 0; + while( get YARD_OPEN ) + { + set BUGGER_OFF to 1; + sleep 1500; + set YARD_OPEN to 0; + } + set BUGGER_OFF to 0; +} + +Go() +{ + call-script activatescr(); + call-script OpenYard(); + set INBUILDSTANCE to 1; +} + +Stop() +{ + set INBUILDSTANCE to 0; + call-script CloseYard(); + call-script deactivatescr(); +} + +InitState() +{ + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; +} + +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + call-script Go(); + currentstate = 0; + } + if( statechg_DesiredState == 1 ) + { + call-script Stop(); + currentstate = 1; + } + } + statechg_StateChanging = FALSE; +} Create() { @@ -30,14 +134,55 @@ Create() hide nano7; hide nano8; hide pad; - - spray = 0; + + unitviewer = FALSE; + spray = nano1; + call-script InitState(); } -QueryNanoPiece(pieceIndex) +QueryNanoPiece(piecenum) +{ + if( spray == 0 ) + { + piecenum = nano1; + } + if( spray == 1 ) + { + piecenum = nano2; + } + if( spray == 2 ) + { + piecenum = nano3; + } + if( spray == 3 ) + { + piecenum = nano4; + } + if( spray == 4 ) + { + piecenum = nano5; + } + if( spray == 5 ) + { + piecenum = nano6; + } + if( spray == 6 ) + { + piecenum = nano7; + } + if( spray == 7 ) + { + piecenum = nano8; + } + spray = spray +1; + if( spray > 7) + { + spray=0; + } +} +Demo() { - spray = (spray + 1) % 8; - pieceIndex = nano1 + spray; + unitviewer = TRUE; } StartBuilding() @@ -66,38 +211,29 @@ StopBuilding() Activate() { - signal SIGNAL_TURNON; - set-signal-mask SIGNAL_TURNON; - - turn head1 to y-axis <-45.0> speed <45>; - turn head2 to y-axis <45.0> speed <45>; - turn head3 to y-axis <-45.0> speed <45>; - turn head4 to y-axis <45.0> speed <45>; - wait-for-turn head4 around y-axis; - - FACTORY_OPEN_BUILD; + signal SIG_ACTIVATE; + start-script RequestState(0); + return (0); } Deactivate() { - signal SIGNAL_TURNON; - set-signal-mask SIGNAL_TURNON; + signal SIG_ACTIVATE; + set-signal-mask SIG_ACTIVATE; sleep 5000; - - turn head1 to y-axis <0.0> speed <45>; - turn head2 to y-axis <0.0> speed <45>; - turn head3 to y-axis <0.0> speed <45>; - turn head4 to y-axis <0.0> speed <45>; - wait-for-turn head4 around y-axis; - - FACTORY_CLOSE_BUILD; + set-signal-mask 0; + start-script RequestState(1); } -QueryBuildInfo(pieceIndex) +QueryBuildInfo(piecenum) { - pieceIndex = base; + piecenum = base; } +SweetSpot(piecenum) +{ + piecenum = pad; +} Killed(severity, corpsetype) { diff --git a/scripts/Units/corasy.cob b/scripts/Units/corasy.cob index 7eee2b353d27662c5ae3c92e2e83d0473058375c..5090af14762686c1eaca1c223f40dde6de2d3e89 100644 GIT binary patch literal 6151 zcmcIoONd)l7(SDvGox0yI`~{@#Fbznowl|cZJi2rRBSXBahG&*JB?10bS9&8Q-Ziq zbZxgH72N5n8$lFbD{)a2gb`gR6x`^>Zu;>1{(HXU^m^}@JGHI<{m=d1kMHCbE6%w) zLAQYh+nmFH_U96W^}C!q3wi{S4e+U`6irdvoR0Q_@tv>kb7ykuD7*4N!b`tiz3Qsh z>SSM{ZOWd0v=4Q%FK5^*eyEduCBt6vL*0*TxHc8B?pZqfGmox5ZF1Jho||A{e-x+t zQ}5D+y`*(v-DzD|w%M0FyIcvVz{K}C#P>xEqQpDV}vl={i z(YA)S|K!vy@Ze|n zvzN6@mf(-aO3l}b_?kWCqu72&7Xle)Pn$5;JO!A!u);b=HAJWne`%tfU-9}W8vdE= z#vQ=!eP86E{3~w{<}{BGgUoe1b(jU`Gw0*j{xLsRz**CdX0D!K>OpVEbfZ~B(}q); z2~Xs-8TWx&@h&_o598kfIXUfJb=LMqnbr1wlJ}6$I|p&vb|bid=~$f6e9D)hmB-HL zH>@MnkLtjTj;G>;^=8$eIIQ8tl&^Hms~TJtxYZw=^;=IHp3{BHFVve1Gi0pkAePnY zV}yQ`bC0^`)bU+=lC7{qT-cp&PDf|qto^2A5Obs)8qKO_p@&bd{wLbxU)}SqkQT??{=q}xSh-kZnFlr zI>0S1_)T7Kzwdar?*sUDFTWLBF`0v9@ttw`PBZprad4Ea?lk+O$ylDuWflun9R2=; zw&5)1ye)gkvL!Zj|L^y<>@&;Ou;FL?u(#zbvTXVLqPV-gE&I%}wK@B^`@Jn^nq_Od z@U~BTTh2Yp*7oIXk9b?|Cd<}l7L_CIC7h?lsU@>t_Hhtqw8Qa!uDuu9H*IaFb&o0V zqz{iNyc?##4GZ9gDR9FSIO`7c5SQ13&oCCxXv?{NQa_KV&}vBckhV3yVdD1|f52p{` z-8CMlOYV8{?-s)|?9x7)#p8ZxU-f(lu3X%Io{lrk(-Dh#I@X(~0*@R3!6@KGe5aFZ2JxG54(afFN{ATD5sJ2OV za6NaUNFLpd|LQ^ap-AlXeJF}~<>F2>*GXol@9kFoH^YD4j{h&rXVsjSb2H56`Do8s zc_x{yFuzs*^j#>rTiuJS{CPc7PV8m*OwzONNS1$I&h&i=`^@u6-xtFEG0-v4m!KH{ zdk5$+s1G^~dKYvCv;n#VdId$E1icA51Ns1T4)hu58xa3L@deP|pwivWZ3o>4dI+=w zR0Hh+?FT&zYJiS{mO<;FH$d-z-UEFI`WSQ$^eN~I(6^xPK<7a}fqnt~4*CQ17w97B zGN^oybFHO8=e5=#URzpq?KpgUsxw$P^-|pG_qwieqW5Ziq}v&|K)Tp=hx>8&<<@H3 z9bDbB#f-?-pU*7$CBHAwIbtulbjQt1)HIug9yWo@;e`^-jDLyC>rlbZe~+ z7S=l}?M`>uf{b3C@KwT4B_<)vVzGM+-mk~;pwaIQ+%uh(mALJWw$@^IJZ`mj+H>BX hyX?8!b&-0fJ?HJY%btmRkDVX2=U#j6bNyD^{R2I%qd5Qo literal 3435 zcmb_fJ7`o<5S`tuoA~9al{T(|l_HxMO&TGIf(B6|A{I7zW}k5}*^O}((pjijNJ_B~ zNoB8q8nYnl7+z)KU%r--|LB5yG@b7

      sDYIj(Q;*nJpQ;448B zBV-eQF#3p9>bbV0ny9uiupVI4jG=}y#?U6leAN-x%vjDt{3`=TdXjQI_r(|?OY(Zg zLOfmUD~|IuLQiKx9DSOT>kNZj=BQThqu%43cs^>dnt2bZjXBKalFXIvp8F@CaqO45 zcQK^C2d(urXHi={-y_9xnqrJ>#l|u8v1f5V8rGyOzO2wQ=kq-Xe)i1$uq59T<@#RK zOWxBWjFmbHoOQ$gsu6o9Znzgbv&&GNuReRU{EHAzH|w-X zoNkVxt3me$-52!6pf?50cY^V}=hR!FxE4)vK`q4i)8(QxZ=lmZW#C37(XJ{^Z_wMB5pL_Bi%AbDy zvYO?49{LhSP0a6q0aIQN{RK>UTs!Bte#Y(tWc@q4#6IGt z;0zHj&c$7cauai|`7{AP=&|i)`^Cdo5n3*i+!; zW#EPNtcRDUoFn2zws?`f8ZW}di|Q6H55xT8Wii;R@giKjC||q?FY-c8|JA!{)m@RT zGw~?Ywp#DPbtYu1cg?5XWvh4D>RtId6T;QIaP=;`*gMNU1bGhm2HAoJ_d*6CCn1ZF zkB~1A{uX!!c>#G1c?0 now; + turn gun1 to x-axis <89.016484> speed <60.000000>; + turn gun2 to x-axis <0.000000> now; + turn gun2 to x-axis <-89.016484> speed <60.000000>; + sleep 1494; + } + sleep 8; + return (0); + // Build by COBBLER Ver4.0 Copyright @1998 DIGITAL CONCEPT SOFTWARE (MANU@inext.fr) / http://www.annihilationcenter.com/DCS/ +} + +deactivatescr() +{ + if( TRUE ) + { + turn gun1 to x-axis <89.747253> now; + turn gun1 to x-axis <0.000000> speed <60.000000>; + turn gun2 to x-axis <-89.747253> now; + turn gun2 to x-axis <0.000000> speed <60.000000>; + sleep 1487; + } + sleep 11; + return (0); +} + + +OpenYard() +{ + set YARD_OPEN to 1; + while( !get YARD_OPEN ) + { + set BUGGER_OFF to 1; + sleep 1500; + set YARD_OPEN to 1; + } + set BUGGER_OFF to 0; + return (0); +} + +CloseYard() +{ + set YARD_OPEN to 0; + while( get YARD_OPEN ) + { + set BUGGER_OFF to 1; + sleep 1500; + set YARD_OPEN to 0; + } + set BUGGER_OFF to 0; + return (0); +} + +Go() +{ + dont-cache beam1; + dont-cache beam2; + dont-cache gun1; + dont-cache gun2; + call-script activatescr(); + call-script OpenYard(); + set INBUILDSTANCE to 1; + return (0); +} + +Stop() +{ + set INBUILDSTANCE to 0; + call-script CloseYard(); + call-script deactivatescr(); + cache beam1; + cache beam2; + cache gun1; + cache gun2; + return (0); +} + +InitState() +{ + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; + return (0); +} + +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + call-script Go(); + currentstate = 0; + } + if( statechg_DesiredState == 1 ) + { + call-script Stop(); + currentstate = 1; + } + } + statechg_StateChanging = FALSE; + return (0); +} + +Create() +{ + unitviewer = FALSE; + Static_Var_1 = 0; + call-script InitState(); + turn slip to y-axis <90.021978> now; + return (0); +} + +#define SMOKEPIECE base +#include "smokeunit_thread_nohit.h" + + +QueryNanoPiece(piecenum) +{ + if( Static_Var_1 == 0 ) + { + piecenum = beam1; + Static_Var_1 = 1; + return (0); + } + if( Static_Var_1 == 1 ) + { + piecenum = beam2; + Static_Var_1 = 0; + } + return (0); +} + +Demo() +{ + unitviewer = TRUE; + return (0); +} + +Activate() +{ + signal SIG_ACTIVATE; + start-script RequestState(0); + return (0); +} + +Deactivate() +{ + signal SIG_ACTIVATE; + set-signal-mask SIG_ACTIVATE; + if( !unitviewer ) + { + sleep 5000; + } + set-signal-mask 0; + start-script RequestState(1); + return (0); +} + +QueryBuildInfo(piecenum) +{ + piecenum = slip; + return (0); +} + +SweetSpot(piecenum) +{ + piecenum = blinks; + return (0); +} + +Killed(severity, corpsetype) +{ + if( severity <= 25 ) + { + corpsetype = 1; + return (corpsetype); + } + if( severity <= 50 ) + { + corpsetype = 2; + explode base type FIRE | SMOKE | FALL | BITMAP1 | NOHEATCLOUD; + explode beam1 type FALL | BITMAP2 | NOHEATCLOUD; + explode beam2 type FALL | BITMAP3 | NOHEATCLOUD; + explode blinks type FIRE | SMOKE | FALL | BITMAP4 | NOHEATCLOUD; + explode gun1 type FALL | BITMAP5 | NOHEATCLOUD; + explode gun2 type FIRE | SMOKE | FALL | BITMAP1 | NOHEATCLOUD; + explode explodpt1 type FALL | BITMAP1 | NOHEATCLOUD; + explode explodpt2 type FALL | BITMAP2 | NOHEATCLOUD; + explode explodpt3 type FALL | BITMAP3 | NOHEATCLOUD; + explode explodpt4 type FALL | BITMAP4 | NOHEATCLOUD; + return (corpsetype); + } + if( severity <= 99 ) + { + corpsetype = 3; + explode base type FIRE | SMOKE | FALL | BITMAP1 | NOHEATCLOUD; + explode beam1 type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP2 | NOHEATCLOUD; + explode beam2 type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP3 | NOHEATCLOUD; + explode blinks type FIRE | SMOKE | FALL | BITMAP4 | NOHEATCLOUD; + explode gun1 type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP5 | NOHEATCLOUD; + explode gun2 type FIRE | SMOKE | FALL | BITMAP1 | NOHEATCLOUD; + explode explodpt1 type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP1 | NOHEATCLOUD; + explode explodpt2 type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP2 | NOHEATCLOUD; + explode explodpt3 type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP3 | NOHEATCLOUD; + explode explodpt4 type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP4 | NOHEATCLOUD; + return (corpsetype); + } + corpsetype = 3; + explode base type FIRE | SMOKE | FALL | EXPLODE_ON_HIT | BITMAP1 | NOHEATCLOUD; + explode beam1 type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP2 | NOHEATCLOUD; + explode beam2 type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP3 | NOHEATCLOUD; + explode blinks type FIRE | SMOKE | FALL | EXPLODE_ON_HIT | BITMAP4 | NOHEATCLOUD; + explode gun1 type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP5 | NOHEATCLOUD; + explode gun2 type FIRE | SMOKE | FALL | EXPLODE_ON_HIT | BITMAP1 | NOHEATCLOUD; + explode explodpt1 type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP1 | NOHEATCLOUD; + explode explodpt2 type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP2 | NOHEATCLOUD; + explode explodpt3 type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP3 | NOHEATCLOUD; + explode explodpt4 type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP4 | NOHEATCLOUD; + return (corpsetype); +} diff --git a/scripts/Units/corasye.cob b/scripts/Units/corasye.cob new file mode 100644 index 0000000000000000000000000000000000000000..73f65a00b93bb9271090a75fd63bec4af90301b5 GIT binary patch literal 4544 zcmd^DO=w(I6h4_ur>(kp+Ld5&HZBwwNfdNbtZ7lBVpD^tAd;8NRi>THd&#`CR$K%@ z&_&(oQn4VY+pa`hn1w45MHeoLuG|Si5p)~B@7#MP_dVXj*C@Jh;G6q%&iU?l&OPr< zNLNH|18xTXm=!sMk)LiN@+9ysa4*)o7-y1BGDG8PFS!!~*Idf3Bwd~Oy-)7(*~q7JXpkN8HNe>6CdO_UwWfXe*avgnj3th!pSp7$^|f5MCbzAHx%H7J(1lh#ceR&% z2OmUgPE`)ZSU$$bSZeBkpL(mYQ#<^8pZnhFU}3g>P2Tn!cvuU~5mU3<8F8F)F8es) z0&#jTA&y%X$2B{*m<|*+R+ zsL{=|OMDG=;4{tMsq2Sz*sPD{Q84mZAKE<~v@WEM^~L?9%@T5A87x0(sEKK@+O^_p zsM|l?SFN=COTE`h3yWFPPu2cx#no_M)gEre)o@>oz2QD$P)&~2XW=0IUh3C|TH^E@ z*W6Ic|DyLxIX2X?`hIP7$A9xVDCugbef53ZN>>Bd|M8h%@7@JG4vc`yz=yzRz?Z;L z)ani(1zrU{06qe)0$%~&1J?llkKk+I8t^mlD{vk79oPeI!5^;2faAd3z=OaE;1S>~ zunL?5Hh~MkYryNkTfp1EJHY$E$G}zKb0A$Wh8NPpP1d($;NsPp+>M`4w+3=*luew@ z9?fK>$Z}a44~vxoQS!9g+;)?&IJM=tx3ZC)chA5@9vc>mm!5TLo{i<~w%fY&R65R< zhi=`;X}6Kd!{KnO>}2n^xIG*Vmc}pPyo=5iD|uGP6T{KS4P-5yI9YS)#=L$n$l7Q) jK0lF{x5xARS`hb2KFS7pF+ZK{@7*`uyI&@wVJ?3H{Z2!R literal 0 HcmV?d00001 diff --git a/scripts/Units/coratl.bos b/scripts/Units/coratl.bos index a37a40a9a9b..f38a2d1a44b 100644 --- a/scripts/Units/coratl.bos +++ b/scripts/Units/coratl.bos @@ -1,25 +1,43 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece flare1, flare2, base, bubbles1, bubbles2, turret; static-var gun_1; // Signal definitions -#define SIGNAL_AIM1 256 - - -#define WATER_ROCK_UNITSIZE 10 -#include "../floatmotion.h" +#define SIG_AIM 2 +RockOnWaves() +{ + var rockDir, rockAng, rockSpeed; + rockDir = <-0.1>; + rockAng = <-0.1>; + while( TRUE ) + { + while( get ABS(rockAng) < <1.31> ) + { + rockSpeed = <1.45> - get ABS(rockAng); + turn base to x-axis rockAng speed rockSpeed*5; + turn base to z-axis rockAng speed rockSpeed*5; + wait-for-turn base around x-axis; + wait-for-turn base around z-axis; + rockAng = rockAng + rockDir; + } + rockDir = 0 - rockDir; + rockAng = rockAng + rockDir + rockDir; + } +} #define BASEPIECE base #define HITSPEED <30.0> //how 'heavy' the unit is, on a scale of 1-10 #define UNITSIZE 3 -#define MAXTILT 350 -#define RECOIL_POWER -100000 -#include "../unit_hitbyweaponid_and_smoke.h" +#define MAXTILT 200 + +#include "unit_hitbyweaponid_and_smoke.h" Create() { @@ -27,20 +45,23 @@ Create() hide bubbles1; hide flare2; hide flare1; - SLEEP_UNTIL_UNITFINISHED; - start-script FloatMotion(); + while( get BUILD_PERCENT_LEFT ) + { + sleep 400; + } + start-script RockOnWaves(); } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; turn turret to y-axis heading speed <80.016484>; wait-for-turn turret around y-axis; return (1); } -FireWeapon1() +FirePrimary() { if( gun_1 == 0 ) { @@ -56,24 +77,27 @@ FireWeapon1() } } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = turret; + piecenum = turret; } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { if( gun_1 == 0 ) { - pieceIndex = flare1; + piecenum = flare1; } if( gun_1 != 0 ) { - pieceIndex = flare2; + piecenum = flare2; } } - +SweetSpot(piecenum) +{ + piecenum = base; +} Killed(severity, corpsetype) { diff --git a/scripts/Units/coratl.cob b/scripts/Units/coratl.cob index 9c15fbc6acb0a9c5a6ade72149e517d74ffb383d..726dc9923bd88016d8f0bacd4266e66e915369bb 100644 GIT binary patch literal 3279 zcmbuBziU%b6vt1~SOo>2gM*8_QA98n2M32*LHsdTTT9(+YM&TwoAR0}#U&tu;Gj5) zPU7O`B5peRH@K>+xI5JE=e~QA*JoN%jULXq=jZo)?@egk%=SyhB;RUg`X4?Y<@_#5 z4w#*g=a{smwZvs4sU<%*H#chy`SdBDN8%Z6^J7UC&yS^Rs`EHu>dM+0^(6Gdne0iZ zpN@I^R7h;tK9-Iq;A1D|qN(2_Z4JfrFJMe9#BdLj7dQeX1$?6IbLdH*B357sb0)@; zgK~m_ST85ybl+d~+w|hzyq8Ul_3p;+sJzQ!%pGNjcDIQF7iaR&^a}CFdpG)|jQ-`k zFZde8{XCUPEk5}6Ue^y7y?vk1TeHap4;U2gSS&?c7q&F1*PR8Jz2!(|W?*n2wp)B#y|@SDE;l!8a22z^to|p2Rpi&zQab z@jiZ(e1qnVQ^egiivHd=;7EkgXT*NLV?TDWU-3JjH@X@9wTl09^h@U$|?%9}qYu(rl`DKSyI8G3Ub)y|<9mf1ltdr@x2pL1%w&KF8**xEJa0=A_BP zkE-H4t02DTB#Ao{2jkenKt3Ph!O$MQGroXvRXE)47WTI@C7h{#$>>1?Wx7pG@Tn)< z5bn<@xM?W?-zbT?Bi@_W!PVB9t$m8#MW2V2KF%5SgZlV=g4N$zA6vn}c9@^VS@ibW zzjEgbTrXoTSUtBohci5H7YD1q3387xI4%1BsPtzJIcd~gX`9z~CfOTi5Q9|oz8J#} z-*e?*ccY)0aF_C>@>OG`;Tsg&35Va!pgM4{EA`diitzo9d!H0x%y!;(nnw<~|FXBg z$1ZpxkC?md=lBNob3S&1ZzrB^0Wk9PB=W=z-k0M@b!LaIwD0vlJnaTMBmM5s!@NVs zUB(FRVe6e^uODV+m1AaAdGvnlzZ*PW=ek_aT<_J5cKN$FsAiabXjSHYn3+5Az8%gg z*Tc-Iat+oyl24MlKpdA$O6DZ|)<2TGmb{hlxBF?ygygd1hUBK?uH?StvE+s1mE?`& zo#egbgXELsi)6Ze>)zFsx#s|}PX zwLF!#mYey8U1;T*+j3vX+r7}W^(^1;*vx}0>&&dSJ9eeDw3IE{?WJa(ohsD0Ei~6M VTUcLMSjyH;xiM~?^*qly_6Ocp-s}JX literal 3373 zcmbuCPiUM)7{+He+f{1SPe=t1)$PTDRM

      9uxmWiv;SQBHprTKFiWgwrn>CZyuuF z)RQMEIe7AD@$OCVD0ou5h@b}{qNgJ0^P8DxGy8RoP}9E5%=4Xp-kaQ(? z+9BwF{8>H|!kT0xxggDf*3fHLt*TwU1ftie+WmIL7Cpj0j$oGA^p_$ApXgA*X|Y+r zc?x~zbhIrwOV}20or zTQAl<*PZTds+)Z|Z=dhE?kdfjdsEhJzn3udTUA)=R!ByUWS;4rDAPn<# zEzYCN8LYo87a$k!x3u9SR4Jclg*(nsF$y0sMy_cs8a%p9K$;=nmA}~Qt%BzVd)zeU z6Tsa_-;ua~H|>AAnC@2O^z=&c!9h2~dwfQne9|4v$8plTekSL(1W-Mq@8&V1dCt6_ zTR9d`bML}#rMz}BmRyZ>UXDX9<@_JRaWC;d zYVh#`{}4=d-|YLQUxD!)dtca5m-r^%eL4gvfApVRQg7$qM7)@~z}Y$#0T7lGcME+%I`pvMf0#c~Y`58V{zM-NChb=k?w3^*TI1sRz?KtPgh+X(en7C$;xdZ%oEB)2sXSBs*UT ouM9_{dMCU+8cgbyw5*2h!Oc2s?{9C9>YFRxtcL0SWKvJVKcmjvEC2ui diff --git a/scripts/Units/coravp.bos b/scripts/Units/coravp.bos index 927f9a00d22..f6ca1f53a41 100644 --- a/scripts/Units/coravp.bos +++ b/scripts/Units/coravp.bos @@ -1,14 +1,120 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" - -#include "../factories_common.h" +#include "sfxtype.h" +#include "exptype.h" piece base,doorl,doorr ,nano1,nano2,nano3,nano4,nano5,nano6,nano7,nano8,pad, cagelight, cagelight_emit, cagelight2, cagelight_emit2; -static-var spray; +static-var spray, statechg_DesiredState, statechg_StateChanging; // Signal definitions -#define SIGNAL_TURNON 4 +#define SIG_ACTIVATE 2 + + + +activatescr() +{ + if( TRUE ) + { + //move doorl to x-axis [0.0] now; + move doorl to x-axis [-27.0] speed [27]; + //move doorr to x-axis [0.0] now; + move doorr to x-axis [27.0] speed [27]; + wait-for-move doorl along x-axis; + } + + sleep 6; +} + +deactivatescr() +{ + hide cagelight_emit; + hide cagelight_emit2; + turn cagelight to y-axis <0> speed <1000>; + turn cagelight2 to y-axis <0> speed <1000>; + if( TRUE ) + { + move doorl to x-axis [0.0] speed [24]; + move doorr to x-axis [0.0] speed [24]; + wait-for-move doorl along x-axis; + } + sleep 12; +} + + +OpenYard() +{ + set YARD_OPEN to 1; + while( !get YARD_OPEN ) + { + set BUGGER_OFF to 1; + sleep 1500; + set YARD_OPEN to 1; + } + set BUGGER_OFF to 0; +} + +CloseYard() +{ + set YARD_OPEN to 0; + while( get YARD_OPEN ) + { + set BUGGER_OFF to 1; + sleep 1500; + set YARD_OPEN to 0; + } + set BUGGER_OFF to 0; +} + +Go() +{ + call-script activatescr(); + call-script OpenYard(); + set INBUILDSTANCE to 1; +} + +Stop() +{ + set INBUILDSTANCE to 0; + call-script CloseYard(); + call-script deactivatescr(); +} + +InitState() +{ + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; +} + +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + call-script Go(); + currentstate = 0; + show cagelight_emit; + show cagelight_emit2; + spin cagelight around y-axis speed <200>; + spin cagelight2 around y-axis speed <200>; + } + if( statechg_DesiredState == 1 ) + { + call-script Stop(); + currentstate = 1; + } + } + statechg_StateChanging = FALSE; +} Create() { @@ -23,43 +129,68 @@ Create() hide nano2; hide cagelight_emit; hide cagelight_emit2; - spray = 0; + spray = base; + call-script InitState(); } +#define SMOKEPIECE base +#include "smokeunit_thread_nohit.h" -#define BASEPIECE base -#define MAXTILT 0 -#include "../unit_hitbyweaponid_and_smoke.h" - -QueryNanoPiece(pieceIndex) +QueryNanoPiece(piecenum) { - spray = (spray + 1) % 8; - pieceIndex = nano1 + spray; + if( spray == 0 ) + { + piecenum = nano1; + } + if( spray == 1 ) + { + piecenum = nano2; + } + if( spray == 2 ) + { + piecenum = nano3; + } + if( spray == 3 ) + { + piecenum = nano4; + } + if( spray == 4 ) + { + piecenum = nano5; + } + if( spray == 5 ) + { + piecenum = nano6; + } + if( spray == 6 ) + { + piecenum = nano7; + } + if( spray == 7 ) + { + piecenum = nano8; + } + spray = spray +1; + if( spray > 7) + { + spray=0; + } } + Activate() { - signal SIGNAL_TURNON; - set-signal-mask SIGNAL_TURNON; - - move doorl to x-axis [-27.0] speed [27]; - move doorr to x-axis [27.0] speed [27]; - wait-for-move doorl along x-axis; - - FACTORY_OPEN_BUILD; + signal SIG_ACTIVATE; + start-script RequestState(0); } Deactivate() { - signal SIGNAL_TURNON; - set-signal-mask SIGNAL_TURNON; - sleep 5000; - - move doorl to x-axis [0.0] speed [24]; - move doorr to x-axis [0.0] speed [24]; - wait-for-move doorl along x-axis; - - FACTORY_CLOSE_BUILD; + signal SIG_ACTIVATE; + set-signal-mask SIG_ACTIVATE; + sleep 5000; + set-signal-mask 0; + start-script RequestState(1); } StartBuilding() @@ -74,8 +205,6 @@ StartBuilding() show nano8; show cagelight_emit; show cagelight_emit2; - spin cagelight around y-axis speed <200> accelerate <1>; - spin cagelight2 around y-axis speed <200> accelerate <1>; } StopBuilding() @@ -90,26 +219,22 @@ StopBuilding() hide nano8; hide cagelight_emit; hide cagelight_emit2; - - stop-spin cagelight around y-axis decelerate <1>; - stop-spin cagelight2 around y-axis decelerate <1>; - - - /* set BUGGER_OFF to 1; // tell units to get out of here set INBUILDSTANCE to 0; // we turn it off, to wait for the unit to clear the build pad (large aircraft) sleep 500; // then we wait for 0.5 sec set INBUILDSTANCE to 1; // we turn it on again, as the next startbuilding and construction will begin when this is 1 again. set BUGGER_OFF to 0; // ok now we dont mind if they are here - */ } -QueryBuildInfo(pieceIndex) +QueryBuildInfo(piecenum) { - pieceIndex = pad; + piecenum = pad; } - +SweetSpot(piecenum) +{ + piecenum = base; +} Killed(severity, corpsetype) { diff --git a/scripts/Units/coravp.cob b/scripts/Units/coravp.cob index 9a8cdfda16624690b0fd12154cac2c9aa098e441..91ffa305fda07ddae8481f9d346a7a27a49eee26 100644 GIT binary patch literal 5388 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 Xk>jAhadEOeI#+J?6LG1gS+aitCH(*| diff --git a/scripts/Units/corawac.bos b/scripts/Units/corawac.bos index 8e312e4a66e..5bdbb421b7f 100644 --- a/scripts/Units/corawac.bos +++ b/scripts/Units/corawac.bos @@ -1,16 +1,40 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, bwing, lthrust, mthrust, rthrust; + + + + #define BASEPIECE base #define HITSPEED <105.0> //how 'heavy' the unit is, on a scale of 1-10 #define UNITSIZE 1 #define MAXTILT 100 +static-var maxSpeed, currentSpeed; - -#include "air_barrelroll.h" +BarrelRoll() // remember to start-script BarrelRoll(); in Create()! +{ + currentSpeed = (get CURRENT_SPEED); + maxSpeed = (get MAX_SPEED); + + while (TRUE){ + sleep 2000; + currentSpeed = (get CURRENT_SPEED); + //get PRINT(maxSpeed, currentSpeed, Static_Var_1); + if( Rand( 1, 5 ) == 1 AND (maxSpeed < (currentSpeed+100) ) ) + { + turn base to z-axis <240.054945> speed <120.027473>; + wait-for-turn base around z-axis; + turn base to z-axis <120.027473> speed <180.043956>; + wait-for-turn base around z-axis; + turn base to z-axis <0.000000> speed <120.027473>; + } + } +} Create() { @@ -37,7 +61,10 @@ Deactivate() turn bwing to x-axis <40> speed <45>; } - +SweetSpot(piecenum) +{ + piecenum = base; +} Killed(severity, corpsetype) { diff --git a/scripts/Units/corawac.cob b/scripts/Units/corawac.cob index df6c35ad351f67b0955d1c22d1a637f39ceb9191..93bb577ad0d6b253afe6d2e3626a56ebbf5a369e 100644 GIT binary patch literal 1210 zcmb7EyGjE=6usGOHexlc5OF`iB8VU0BM72JFr=~CO|ocoHDR+F(86G0ZD(U;A(+xH z5Wm1*@IOR7XLd%TkdSORoICfP`}R`oCsV81|=?hDS-2gVw8 z?`{dki)4E;K9C4&R5Kk}=Yj3apG#T3*7{@eO&|8NegEg{{^Rm}>>2xE52u{5J?r@p z7l1!%7+av>XYcT6e0(eBld16y55N-e?TSD7G^m*~G1}Y}b+iY@W{$24ADQ!v&apzD znd22Eb9wh^=dkZHK#rYpQokm3rr$eE_T$c{?Z^Aha@Sew+jrNCHoKg5uNY0Xfqmcz zxB#vJ{udkr32+JA0Jp#$a1T5HL*NY5S?5uNxOxOpm;yPBKQmZ2!f;uf{j%!$)S-`!{t=4v9YkQvam{#PO-4H z6S1>UEG#Yk5mw@Rd$SsX7hHI}*||4wW_J@`L`sThuv^WdND7<*^GFWB5_pCv7|+xx z41D8Nk;7uHz@S++tGa)!AgC6sewN=#T3lVAO~E@gr0oF6i|ezI6LJRO`tmL( z`JS`p58waPUgp#?y#{OoJHRo(|I!t33)}&Zz!UHSyaDgP2e2F_NffW|$FZy=QJ6-u m)K0sH3~Ev6!g@E3qmHz~ek842`9^Pi0p*QT_&7^j32K diff --git a/scripts/Units/corban.bos b/scripts/Units/corban.bos index 389e5eba375..896bc7a35d6 100644 --- a/scripts/Units/corban.bos +++ b/scripts/Units/corban.bos @@ -1,34 +1,64 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece flare1, flare2, turret, base, sleeve, smoke1, smoke2; -static-var restore_delay, gun_1, ourheading; +static-var bMoving, moveSpeed, currentSpeed, animSpeed, terrain, restore_delay, gun_1, ourheading; +static-var out_of_arc_count; // Signal definitions -#define SIGNAL_AIM1 256 -#define SIGNAL_MOVE 1 +#define SIG_AIM 2 +#define SIG_MOVE 4 + +UnitSpeed() +{ + while(TRUE) + { + currentSpeed = (get CURRENT_SPEED)*20/moveSpeed; + if (currentSpeed<4) currentSpeed=4; + animSpeed = 1800 / currentSpeed; + sleep 142; + } +} + +Smoke() +{ + while( TRUE ) + { + if ( bMoving ) + { + if( terrain == 4 ) + { + emit-sfx 1024 + 1 from smoke1; + emit-sfx 1024 + 1 from smoke2; + } + } + sleep animSpeed; + } +} -#define VD_PIECE1 smoke1 -#define VD_PIECE2 smoke2 -#define VD_AMPHIBIOUS -#define VD_DIRTCEG 1024 + 1 -#include "../vehicle_dirt_cegs.h" #define BASEPIECE base -#define HITSPEED <45.0> +#define HITSPEED <55.0> //how 'heavy' the unit is, on a scale of 1-10 #define UNITSIZE 6 #define MAXTILT 100 -#define RECOIL_POWER 100000 -#include "../unit_hitbyweaponid_and_smoke.h" -#define TB_BASE base -#define TB_TURNRATE <15.0> -#define TB_TILT_X <0.15> -#define TB_BANK_Z <0.15> // Do not define this if you dont want banking -#include "../tilt_bank_mobileunit.h" +#include "unit_hitbyweaponid_and_smoke.h" + + +RockUnit(anglex, anglez) +{ + turn base to x-axis anglex speed <50.000000>; + turn base to z-axis <0> - anglez speed <50.000000>; + wait-for-turn base around z-axis; + wait-for-turn base around x-axis; + turn base to z-axis <0.000000> speed <20.000000>; + turn base to x-axis <0.000000> speed <20.000000>; +} Create() { @@ -36,31 +66,40 @@ Create() hide flare1; hide flare2; hide smoke1; - + bMoving = FALSE; + moveSpeed = get (MAX_SPEED); + animSpeed = 100; hide flare1; hide flare2; gun_1 = flare1; restore_delay = 2400; - call-script TB_Init(); + out_of_arc_count = 0; } -SetMaxReloadTime(reloadMS) +setSFXoccupy(state) { - restore_delay = reloadMS * 2; + terrain = state; } -StartMoving(reversing) +SetMaxReloadTime(Func_Var_1) { - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; - start-script Vehicle_Dirt_Ceg(); - START_TILTBANK; + restore_delay = Func_Var_1 * 2; } +StartMoving() +{ + bMoving = TRUE; + signal SIG_MOVE; + set-signal-mask SIG_MOVE; + start-script UnitSpeed(); + start-script Smoke(); +} + + StopMoving() { - signal SIGNAL_MOVE; - STOP_TILTBANK; + bMoving = FALSE; + signal SIG_MOVE; } static-var Stunned; @@ -69,8 +108,8 @@ ExecuteRestoreAfterDelay() if (Stunned) { return (1); } - turn turret to y-axis <0.0> speed <100.0>; - turn sleeve to x-axis <0.0> speed <100.0>; + turn turret to y-axis <0.000000> speed <100.000000>; + turn sleeve to x-axis <0.000000> speed <100.000000>; wait-for-turn turret around y-axis; wait-for-turn sleeve around x-axis; } @@ -87,10 +126,10 @@ RestoreAfterDelay() start-script ExecuteRestoreAfterDelay(); } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; // out of firing arc aim calls happen during "preaiming" logic // logic to reset gun to neutral if the target heading has been @@ -100,30 +139,41 @@ AimWeapon1(heading, pitch) if (heading > 24576) ourheading = 24576; - turn turret to y-axis ourheading speed <125.0>; - turn sleeve to x-axis <0.0> - pitch speed <125.0>; + turn turret to y-axis ourheading speed <125.000000>; + turn sleeve to x-axis <0.000000> - pitch speed <125.000000>; wait-for-turn turret around y-axis; wait-for-turn sleeve around x-axis; start-script RestoreAfterDelay(); return (1); } -FireWeapon1() +FirePrimary() { + if( gun_1 == 1 ) + { + sleep 20; + } + if( gun_1 == 0 ) + { + sleep 20; + } gun_1 = !gun_1; } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = flare1; + piecenum = flare1; } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = gun_1; + piecenum = gun_1; } - +SweetSpot(piecenum) +{ + piecenum = base; +} Killed(severity, corpsetype) { @@ -133,8 +183,8 @@ Killed(severity, corpsetype) explode base type BITMAPONLY | NOHEATCLOUD; explode turret type BITMAPONLY | NOHEATCLOUD; explode sleeve type FIRE | SMOKE | FALL | NOHEATCLOUD; - - + //explode flare2 type BITMAPONLY | NOHEATCLOUD; + //explode flare1 type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } if( severity <= 50 ) @@ -144,7 +194,7 @@ Killed(severity, corpsetype) explode turret type FIRE | SMOKE | FALL | NOHEATCLOUD; explode sleeve type FIRE | SMOKE | FALL | NOHEATCLOUD; explode flare2 type FIRE | SMOKE | FALL | NOHEATCLOUD; - + //explode flare1 type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) @@ -154,7 +204,7 @@ Killed(severity, corpsetype) explode turret type FIRE | SMOKE | FALL | NOHEATCLOUD; explode sleeve type FIRE | SMOKE | FALL | NOHEATCLOUD; explode flare2 type FIRE | SMOKE | FALL | NOHEATCLOUD; - + //explode flare1 type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; @@ -162,6 +212,6 @@ Killed(severity, corpsetype) explode turret type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode sleeve type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode flare2 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; - + //explode flare1 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/corban.cob b/scripts/Units/corban.cob index 9e8c18c9a5438ebaeda84b9ce38aab9521d9b32d..09314205c955741ace35a3b70ab36624978e1477 100644 GIT binary patch literal 3698 zcmdUy&ud&&6vyu*F{x3@6QtCDFeoaDi)nBn;v!8o{wS4cMllG&jLD4-nPkS7m)PJY z3zyne7w)V}(Ul9AZiIp>@gHy@{#Zz%?uGdM+e>gw*Je_)X!L-IEb#uA(zvd`^jwopC9S=!NrFIp1nzZecoOi9gb{rvne;cu^{1 z1eqKiJBOZQMbBLdMww}&#g!olI;<;9==>sjP1)arYKlfyeO^tSz+~x}h*L0CXioqG| z+J-YGW8L+$hv)HgiX7^xtXUctq}uMtYdOZ{ALnQBkk)fzg?rT9-;}z{qj{wtxKck7 z+ain9yBkT@3%W+hiy6H)*)UoES(fqBJ^fVC-6`KZhq&`rj1Sk6M|g@NH+xq8NcIMf zn#<68Jp+Fx{X|Xwb<#_eJ*mzixgNx(e()^*ttGlJLz*j|oujqJxtdiT{77g0aM^U^ zBc06@5+Ca^KD-0qUCm>h(0%e)#XrrU+=D+heAruT*F2mxV&84no;!Vb-qq&&PBy|> zzA#f=Re(|wfuufU`Hs+*o}lI|?;!e%4qtTim;EHRS}eP2j8ApOL*GZSk72DoR_|>_p==-WTt7IlcfjwdFHSnR-sandN96pM`ATQL#QS+A z*2h^_>mxR+4GxrT&zSXYTuWLtRJD#P8d(2HA;ad%JJ$jC1y0uG`u3e2%kopVd2hm?X`}cQf&&R?Z`d*GzI> z(slLT%4R~2aW-ZH8wDVF-Z{rQ+(laNCq41dm-nXLS2>37o5bkU0tm2s|)*1JkyQoX;WdhJe+b0`0Ydg<3mYO3DLzs-{QnhX!pG3F0WCplBUL#~bA z(60+$3AcnZa#|4H7e>NI!d2lj;alN`@S|{AiJunch3ADuf&VUV3teF#>4dKnLe$g3uzveod!wv6V z=@*N8Z~5M6xD_=xRJE_Jx#i*NMo?eKeXsCt+ZUasmEr2@&S=kdd~vCFW!Vpgy|p*` zo8EPbUS3=p?)JCd(|R~c%a^YB)t$mG`|V2~A!{$@Mx zZ}##%x75$Qt)*Vdho$NAj?eeZ*7?wj-)LC4i~YesQP&5(+@FhL-W5A}?hE&BZ(D^7 Oyx*0e6X&9scmDvs0~k{P literal 3868 zcmcJS&ud&&6vyvO;-o6A&#ItSaa?tyFv-5qr0Fk9#Qf3#k2nc|DPvEx2O@K^@cw-iA|AAFVS-zSZ?g?Ekgwi>rJ{^ zPSp0#=ret*ZGOlUpLU-~16%WNvuS-sAOEfy?qR4ym^)?_J-ffC*<0|HfYUQS*P2=I z%?>Q^!wdxcyEkQ+1^)g+#U>l#`|GBZ4~PL<{Mbr9Hk;XL@zE#emJ9k`uN~ge+uGpc zyT|s%d`H9Wdl}yxpv~6$V(}yQwTYN_1~BoDk3q~mwP@}3zKyduLuJH5cX+r)O=#+?}yH?^AL(_(9cnL=+oOiM(ii~9Cn7UzP^0YXMX3oU(+(= z%;y*5dG=zWFMN+3F$T}b*?(jr#^Z=LdFq!tZuOu(#L$mrC(Q2_Aga~l9yEy~#_h$- z(jhwbj(EQWvk_|S15^J}|G2Wf*Wb|{iEri?Iy4!v?$d3{xD{gl)^sH^U2K258uG)| z4b+h{kFO(Q@O9IhfS%P(H{rmVk~@Fy@`2%PV|_fYS`r7m`LMUv_PkwY&uZuN1G~e{ z(;kBL9Jb9+hX=6^W^ev?(8)&ne<#?Ux`6RzJSXpdEtF5%n=y2vpObo=u*04>5A$QV z2l+|;`gn!MN*z+ai^!tiR`jdofALF9M`7P09@WxvvOTrK-u8nzVKy)NNYv2b^P+b| zYodFi5doeQy()T5bWOA^`cU+v=qJ%_(JvzY*E)W}xl^LkqL%24=)CB4(Y$C`REpjg z-4cB*`d;*d=x5QdqCZ6UL=QxNi|S7(4$%qGGom+(Yn{bzu`t;wtA%sLio4XQCT_e{ zb?3?=uL?I?R8#r( zOwsM-OLLty397uTrh3;q>nq}W8<9P~T`X=@#Z0kT^~z#=xhl%ZqMP3UV7A&?UoV#2 z{=@OkT8MGfUFejB@e*Gsd;O#7t)h&%jJhkGZdX{#-MlPD!!qWot+FgC_inyfxXo@+ NT-QQcqhT3y{{jDWGoAnd diff --git a/scripts/Units/corbats.bos b/scripts/Units/corbats.bos index a6b433abac6..b4c18cc7076 100644 --- a/scripts/Units/corbats.bos +++ b/scripts/Units/corbats.bos @@ -1,33 +1,89 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece flarea, barrelb1, barrelb2, barrelb3, base, guna, turreta, turretb, flareb1, flareb2, flareb3, wake, bow, sleeveb1, sleeveb2, sleeveb3, sleevea, barrela1, barrela2, barrela3; -static-var gun_2, restore_delay; +static-var gun_2, restore_delay, Static_Var_7, Static_Var_8; static-var reloading_barrel_1, reloading_barrel_2; -static-var deltaheading, newchassisheading, chassisheading, restore_position, aimDir1; +static-var deltaheading, newchassisheading, chassisheading, restore_position; // Signal definitions -#define SIGNAL_AIM1 256 -#define SIGNAL_AIM2 512 -#define SIGNAL_AIM3 1024 -#define SIGNAL_AIM4 2048 -#define SIGNAL_MOVE 1 +#define SIG_AIM_1 2 +#define SIG_AIM_2 4 +#define SIG_AIM_3 8 +#define SIG_AIM_4 16 +#define SIG_MOVE 32 -#define RB_MASS 40 -#define RB_LENGTH 10 -#define RB_WIDTH 4 +#define BASEPIECE base +#define HITSPEED <20.0> +//how 'heavy' the unit is, on a scale of 1-10 +#define UNITSIZE 10 +#define MAXTILT 200 -#define RB_PITCH_SPEED 200 -#define RB_PITCH_ACCELERATION 10 -#define RB_ROLL_ACCELERATION 16 -#define RB_RECOIL_ENERGY_1 150 -#define RB_RECOIL_ENERGY_2 150 -#define RB_BOWSPLASH_PIECE bow +#include "unit_hitbyweaponid_and_smoke.h" -#include "../bar_ships_common.h" +RockOnWaves() +{ + var rockDir, rockAng, rockSpeed; + rockDir = <-0.1>; + rockAng = <-0.1>; + while( TRUE ) + { + while( get ABS(rockAng) < <1.11> ) + { + rockSpeed = <1.25> - get ABS(rockAng); + turn base to x-axis rockAng speed rockSpeed*2; + wait-for-turn base around x-axis; + rockAng = rockAng + rockDir; + } + rockDir = 0 - rockDir; + rockAng = rockAng + rockDir + rockDir; + } +} +ProjXPW(Func_Var_1, Func_Var_2) +{ + if( Func_Var_2 < -21840 ) + { + Static_Var_7 = Func_Var_1 * ( Func_Var_2 + 32760 ) / 10920; + } + else if( Func_Var_2 > 21840 ) + { + Static_Var_7 = Func_Var_1 * ( 32760 - Func_Var_2 ) / 10920; + } + else if( Func_Var_2 < -10920 ) + { + Static_Var_7 = 0 - Func_Var_1; + } + else if( Func_Var_2 > 10920 ) + { + Static_Var_7 = Func_Var_1; + } + else + { + Static_Var_7 = Func_Var_1 * Func_Var_2 / 10920; + } +} + +RockZ(Func_Var_1, Func_Var_2) +{ + signal 64; + set-signal-mask 64; + call-script ProjXPW(10920 / Func_Var_2,Func_Var_1); + Static_Var_8 = Static_Var_8 + Static_Var_7; + Static_Var_7 = get ABS(Static_Var_8); + while( Static_Var_7 > 91 ) + { + turn base to z-axis Static_Var_8 speed Static_Var_7 * 2; + wait-for-turn base around z-axis; + Static_Var_8 = Static_Var_8 * -1 / 2; + Static_Var_7 = get ABS(Static_Var_8); + } + turn base to z-axis <0.000000> speed <1.5>; +} //-------------------------------CONSTANT ACCELERATION TURRET TURNING--------------------------- // MaxVelocity and acceleration are in degrees per frame (not second!) @@ -52,9 +108,9 @@ ExecuteRestoreAfterDelay() } restore_position = 1; - turn sleeveb1 to x-axis <0.0> speed <30.0>; - turn sleeveb2 to x-axis <0.0> speed <30.0>; - turn sleeveb3 to x-axis <0.0> speed <30.0>; + turn sleeveb1 to x-axis <0.000000> speed <30.000000>; + turn sleeveb2 to x-axis <0.000000> speed <30.000000>; + turn sleeveb3 to x-axis <0.000000> speed <30.000000>; } SetStunned(State) @@ -79,7 +135,7 @@ AimControl() if (Stunned == 0){ // apply correction for chassis turning - newchassisheading = get HEADING; //get heading + newchassisheading = GET 82; //get heading deltaheading = newchassisheading - chassisheading; chassisheading = newchassisheading; aimy1target = aimy1target - deltaheading; @@ -167,7 +223,7 @@ Create() hide flareb3; gun_2 = 1; - chassisheading = get HEADING; + chassisheading = GET 82; //get heading newchassisheading = chassisheading; deltaheading = 0; @@ -178,30 +234,30 @@ Create() aimy1delta = 0; restore_delay = 3000; - start-script InitRockBoat(); - SLEEP_UNTIL_UNITFINISHED; - start-script BoatPhysics(); - + while( get BUILD_PERCENT_LEFT ) + { + sleep 500; + } + start-script RockOnWaves(); start-script AimControl(); } -SetMaxReloadTime(reloadMS) +SetMaxReloadTime(Func_Var_1) { - restore_delay = reloadMS * 3; + restore_delay = Func_Var_1 * 3; } AimWeapon1(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; - aimDir1 = heading; + signal SIG_AIM_1; + set-signal-mask SIG_AIM_1; //We can do this any time restore_position = 0; - turn sleeveb1 to x-axis RB_AIMPITCHCORRECTION(heading) - pitch speed <30.0>; - turn sleeveb2 to x-axis RB_AIMPITCHCORRECTION(heading) - pitch speed <30.0>; - turn sleeveb3 to x-axis RB_AIMPITCHCORRECTION(heading) - pitch speed <30.0>; + turn sleeveb1 to x-axis <0.000000> - pitch speed <30.000000>; + turn sleeveb2 to x-axis <0.000000> - pitch speed <30.000000>; + turn sleeveb3 to x-axis <0.000000> - pitch speed <30.000000>; start-script RestoreAfterDelay(); // let AimControl know what to aim at @@ -219,8 +275,8 @@ AimWeapon1(heading, pitch) AimWeapon2(heading, pitch) { - signal SIGNAL_AIM2; - set-signal-mask SIGNAL_AIM2; + signal SIG_AIM_2; + set-signal-mask SIG_AIM_2; aimy1target = heading; while ( TRUE ) { @@ -239,8 +295,8 @@ AimWeapon2(heading, pitch) AimWeapon3(heading, pitch) { - signal SIGNAL_AIM3; - set-signal-mask SIGNAL_AIM3; + signal SIG_AIM_3; + set-signal-mask SIG_AIM_3; aimy1target = heading; while ( TRUE ) { @@ -262,26 +318,53 @@ RestoreLaser() { sleep restore_delay; //set-signal-mask 0; - turn turreta to y-axis <0.0> speed <100.0>; + turn turreta to y-axis <0.000000> speed <100.000000>; } - - -StartMoving(reversing) +waveSplash() { + while( TRUE ) + { + turn base to x-axis <-1.0> speed <1.0>; + move base to y-axis [0.23] speed [0.17]; + wait-for-turn base around x-axis; + turn base to x-axis <0.0> speed <1.0>; + move base to y-axis [0.0] speed [0.17]; + wait-for-turn base around x-axis; + } +} +StartMoving() +{ + signal SIG_MOVE; + set-signal-mask SIG_MOVE; + var waketime; + start-script waveSplash(); + var bowtime; + bowtime = 0; + while( TRUE ) + { + emit-sfx 1024 + 1 from wake; + if (bowtime) emit-sfx 1024 + 2 from bow; + bowtime = !bowtime; + waketime = (get CURRENT_SPEED) * 100 / get MAX_SPEED; + if( waketime < 50 ) waketime = 50; + sleep 12000 / waketime; + } } StopMoving() { - + signal SIG_MOVE; + turn base to x-axis <0.0> speed <1.0>; + move base to y-axis [0.0] speed [0.17]; } AimWeapon4(heading, pitch) { - signal SIGNAL_AIM4; - set-signal-mask SIGNAL_AIM4; - turn turreta to y-axis heading speed <200.0>; + signal SIG_AIM_4; + set-signal-mask SIG_AIM_4; + turn turreta to y-axis heading speed <200.000000>; wait-for-turn turreta around y-axis; start-script RestoreLaser(); return (1); @@ -292,22 +375,23 @@ FireWeapon4() if( gun_2 == 0 ) { sleep 250; - turn guna to z-axis <0.0> speed <400.0>; + turn guna to z-axis <0.000000> speed <400.000000>; wait-for-turn guna around z-axis; } else if( gun_2 == 1 ) { sleep 250; - turn guna to z-axis <120.027473> speed <400.0>; + turn guna to z-axis <120.027473> speed <400.000000>; wait-for-turn guna around z-axis; } else if( gun_2 == 2 ) { sleep 250; - turn guna to z-axis <-120.027473> speed <400.0>; + turn guna to z-axis <-120.027473> speed <400.000000>; wait-for-turn guna around z-axis; } - gun_2 = (gun_2 + 1 ) % 3; + ++gun_2; + if( gun_2 >= 3 ) gun_2 = 0; } FireWeapon1() @@ -316,11 +400,11 @@ FireWeapon1() get WEAPON_RELOADSTATE(-2,get MAX(get GAME_FRAME + 15,get WEAPON_RELOADSTATE(2))); get WEAPON_RELOADSTATE(-3,get MAX(get GAME_FRAME + 15,get WEAPON_RELOADSTATE(3))); + start-script RockZ(-13, aimy1position); emit-sfx 1024 + 0 from flareb1; - move barrelb1 to z-axis [-5.0] now; // [-2.500000] + move barrelb1 to z-axis [-5.00000] now; // [-2.500000] sleep 100; - move barrelb1 to z-axis [0.0] speed [2.0]; - RB_RECOILBOAT(aimDir1, RB_RECOIL_ENERGY_1); + move barrelb1 to z-axis [0.000000] speed [2.000000]; } @@ -330,11 +414,11 @@ FireWeapon2() get WEAPON_RELOADSTATE(-1,get MAX(get GAME_FRAME + 15,get WEAPON_RELOADSTATE(1))); get WEAPON_RELOADSTATE(-3,get MAX(get GAME_FRAME + 15,get WEAPON_RELOADSTATE(3))); + start-script RockZ(-13, aimy1position); emit-sfx 1024 + 0 from flareb2; - move barrelb2 to z-axis [-5.0] now; + move barrelb2 to z-axis [-5.000000] now; sleep 100; - move barrelb2 to z-axis [0.0] speed [2.0]; - RB_RECOILBOAT(aimDir1, RB_RECOIL_ENERGY_1); + move barrelb2 to z-axis [0.000000] speed [2.000000]; } @@ -344,55 +428,58 @@ FireWeapon3() get WEAPON_RELOADSTATE(-1,get MAX(get GAME_FRAME + 15,get WEAPON_RELOADSTATE(1))); get WEAPON_RELOADSTATE(-2,get MAX(get GAME_FRAME + 15,get WEAPON_RELOADSTATE(2))); + start-script RockZ(-13, aimy1position); emit-sfx 1024 + 0 from flareb3; - move barrelb3 to z-axis [-5.0] now; + move barrelb3 to z-axis [-5.000000] now; sleep 100; - move barrelb3 to z-axis [0.0] speed [2.0]; - RB_RECOILBOAT(aimDir1, RB_RECOIL_ENERGY_1); + move barrelb3 to z-axis [0.000000] speed [2.000000]; } -AimFromWeapon1(pieceIndex) +AimFromWeapon1(piecenum) { - pieceIndex = turretb; + piecenum = turretb; } -QueryWeapon1(pieceIndex) +QueryWeapon1(piecenum) { - pieceIndex = flareb1; + piecenum = flareb1; } -AimFromWeapon2(pieceIndex) +AimFromWeapon2(piecenum) { - pieceIndex = turretb; + piecenum = turretb; } -QueryWeapon2(pieceIndex) +QueryWeapon2(piecenum) { - pieceIndex = flareb2; + piecenum = flareb2; } -AimFromWeapon3(pieceIndex) +AimFromWeapon3(piecenum) { - pieceIndex = turretb; + piecenum = turretb; } -QueryWeapon3(pieceIndex) +QueryWeapon3(piecenum) { - pieceIndex = flareb3; + piecenum = flareb3; } -AimFromWeapon4(pieceIndex) +AimFromWeapon4(piecenum) { - pieceIndex = turreta; + piecenum = turreta; } -QueryWeapon4(pieceIndex) +QueryWeapon4(piecenum) { - pieceIndex = flarea; + piecenum = flarea; } - +SweetSpot(piecenum) +{ + piecenum = base; +} Killed(severity, corpsetype) { @@ -406,6 +493,18 @@ Killed(severity, corpsetype) explode barrela3 type FIRE | SMOKE | FALL | NOHEATCLOUD; explode barrela2 type BITMAPONLY | NOHEATCLOUD; explode barrela1 type BITMAPONLY | NOHEATCLOUD; + //explode flarea type BITMAPONLY | NOHEATCLOUD; + //explode turretb type BITMAPONLY | NOHEATCLOUD; + //explode sleeveb2 type BITMAPONLY | NOHEATCLOUD; + //explode barrelb2 type BITMAPONLY | NOHEATCLOUD; + //explode flareb2 type BITMAPONLY | NOHEATCLOUD; + //explode sleeveb3 type BITMAPONLY | NOHEATCLOUD; + //explode barrelb3 type BITMAPONLY | NOHEATCLOUD; + //explode flareb3 type BITMAPONLY | NOHEATCLOUD; + //explode sleeveb1 type BITMAPONLY | NOHEATCLOUD; + //explode barrelb1 type BITMAPONLY | NOHEATCLOUD; + //explode flareb1 type BITMAPONLY | NOHEATCLOUD; + //explode wake type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } if( severity <= 50 ) @@ -418,6 +517,17 @@ Killed(severity, corpsetype) explode barrela3 type FIRE | SMOKE | FALL | NOHEATCLOUD; explode barrela2 type FIRE | SMOKE | FALL | NOHEATCLOUD; explode barrela1 type FALL | NOHEATCLOUD; + //explode flarea type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode sleeveb2 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode barrelb2 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flareb2 type FALL | NOHEATCLOUD; + //explode sleeveb3 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode barrelb3 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flareb3 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode sleeveb1 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode barrelb1 type FALL | NOHEATCLOUD; + //explode flareb1 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode wake type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) @@ -430,6 +540,18 @@ Killed(severity, corpsetype) explode barrela3 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode barrela2 type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; explode barrela1 type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode flarea type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode turretb type BITMAPONLY | NOHEATCLOUD; + //explode sleeveb2 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode barrelb2 type SMOKE | FALL | NOHEATCLOUD; + //explode flareb2 type SMOKE | FALL | NOHEATCLOUD; + //explode sleeveb3 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode barrelb3 type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode flareb3 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode sleeveb1 type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode barrelb1 type SMOKE | FALL | NOHEATCLOUD; + //explode flareb1 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode wake type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; @@ -440,5 +562,17 @@ Killed(severity, corpsetype) explode barrela3 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode barrela2 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode barrela1 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode flarea type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode turretb type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode sleeveb2 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode barrelb2 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode flareb2 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode sleeveb3 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode barrelb3 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode flareb3 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode sleeveb1 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode barrelb1 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flareb1 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode wake type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/corbats.cob b/scripts/Units/corbats.cob index dcf2f70ccd9cba861259a3a1e45848b5feabcdd8..25ed36e63244ce71f2188d44695d0de8dfcf12e0 100644 GIT binary patch literal 10086 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 HGZy{@d+!6Q diff --git a/scripts/Units/corbhmth.bos b/scripts/Units/corbhmth.bos index 9c1afc02144..f6d30a8b061 100644 --- a/scripts/Units/corbhmth.bos +++ b/scripts/Units/corbhmth.bos @@ -1,5 +1,7 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, vent, turret, sleeve, barrel1, flare1, barrel2, flare2, barrel3, flare3; @@ -7,14 +9,12 @@ piece base, vent, turret, sleeve, barrel1, flare1, barrel2, flare2, static-var reloading_barrel_1, reloading_barrel_2; // Signal definitions -#define SIGNAL_AIM1_1 2 -#define SIGNAL_AIM2 512 -#define SIGNAL_AIM3 1024 +#define SIG_AIM_1 2 +#define SIG_AIM_2 4 +#define SIG_AIM_3 8 - -#define BASEPIECE base -#define MAXTILT 0 -#include "../unit_hitbyweaponid_and_smoke.h" +#define SMOKEPIECE base +#include "smokeunit_thread_nohit.h" //-------------------------------CONSTANT ACCELERATION TURRET TURNING--------------------------- // MaxVelocity and acceleration are in degrees per frame (not second!) @@ -117,6 +117,7 @@ AimControl() } +static-var Stunned; SetStunned(State) { Stunned = State; @@ -131,7 +132,7 @@ RestoreAfterDelay() while (Stunned) { sleep 1; } - turn sleeve to x-axis <0.0> speed <25.0>; + turn sleeve to x-axis <0.000000> speed <25.000000>; //restore_position = 1; } @@ -152,7 +153,10 @@ Create() hide flare1; hide flare2; hide flare3; - SLEEP_UNTIL_UNITFINISHED; + while( get BUILD_PERCENT_LEFT ) + { + sleep 250; + } start-script AimControl(); start-script SmokeVents(); //call-script InitState(); @@ -161,12 +165,12 @@ Create() AimWeapon1(heading, pitch) { - signal SIGNAL_AIM1_1; - set-signal-mask SIGNAL_AIM1_1; + signal SIG_AIM_1; + set-signal-mask SIG_AIM_1; //We can do this any time restore_position = 0; - turn sleeve to x-axis <0.0> - pitch speed <25.0>; + turn sleeve to x-axis <0.000000> - pitch speed <25.000000>; start-script RestoreAfterDelay(); // let AimControl know what to aim at @@ -184,8 +188,8 @@ AimWeapon1(heading, pitch) AimWeapon2(heading, pitch) { - signal SIGNAL_AIM2; - set-signal-mask SIGNAL_AIM2; + signal SIG_AIM_2; + set-signal-mask SIG_AIM_2; aimy1target = heading; while ( TRUE ) { @@ -204,8 +208,8 @@ AimWeapon2(heading, pitch) AimWeapon3(heading, pitch) { - signal SIGNAL_AIM3; - set-signal-mask SIGNAL_AIM3; + signal SIG_AIM_3; + set-signal-mask SIG_AIM_3; aimy1target = heading; while ( TRUE ) { @@ -232,7 +236,7 @@ FireWeapon1() emit-sfx 1024 + 0 from flare1; move barrel1 to z-axis [-3.001648] now; sleep 100; - move barrel1 to z-axis [0.0] speed [1.000549]; + move barrel1 to z-axis [0.000000] speed [1.000549]; } @@ -245,7 +249,7 @@ FireWeapon2() emit-sfx 1024 + 0 from flare2; move barrel2 to z-axis [-3.001648] now; sleep 100; - move barrel2 to z-axis [0.0] speed [1.000549]; + move barrel2 to z-axis [0.000000] speed [1.000549]; } @@ -258,41 +262,49 @@ FireWeapon3() emit-sfx 1024 + 0 from flare3; move barrel3 to z-axis [-3.001648] now; sleep 100; - move barrel3 to z-axis [0.0] speed [1.000549]; + move barrel3 to z-axis [0.000000] speed [1.000549]; } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = sleeve; + piecenum = sleeve; } -QueryWeapon1(pieceIndex) +AimFromWeapon1(piecenum) { - pieceIndex = flare1; + piecenum = sleeve; } -AimFromWeapon2(pieceIndex) +QueryWeapon1(piecenum) { - pieceIndex = sleeve; + piecenum = flare1; } -QueryWeapon2(pieceIndex) +AimFromWeapon2(piecenum) { - pieceIndex = flare2; + piecenum = sleeve; } -AimFromWeapon3(pieceIndex) +QueryWeapon2(piecenum) { - pieceIndex = sleeve; + piecenum = flare2; } -QueryWeapon3(pieceIndex) +AimFromWeapon3(piecenum) { - pieceIndex = flare3; + piecenum = sleeve; } +QueryWeapon3(piecenum) +{ + piecenum = flare3; +} +SweetSpot(piecenum) +{ + piecenum = base; +} Killed(severity, corpsetype) { diff --git a/scripts/Units/corbhmth.cob b/scripts/Units/corbhmth.cob index aa2de751f7d0cffa27806e2871bbee8583531638..7d63cce9b4f745d61961c5a275c3f7dbd147094c 100644 GIT binary patch literal 7246 zcmd5>OK4nG7(SV#>BFj5g+go5DK4x~WHQ-wrRmf7K+*;k?ZS-hO^Hr2aWZYmqGZ4q zuG}cyNEK>bis-&{zs4bjyUJG z0k!~EMxDD8n7`dSoNEKV0qh~+UO>5&3?-%HF7C@CiJKWsZpV@|l13_}q!jGk)Toyq zA``Mt8*hYr=$9bRCA2)Io&6+KHh9|)Vo6%f(}uh)F7y0^HoW~Lvr#o0q~-Y|-&KYa zSIO)%)=nG=Vzk(t*_$-}5CyL|AGezrO`bA(DWZq)$6Sv>pZ%a+&H?3xZ}Yri&)XdGAWI%)HyS42l`~n< zwt_?-jN46Re$N?=B>I%B@Fp_M&M;-n2kl&40ilxF`6S|9S?%i47W;BOlG)T=T~#kH zMLe&cbmOPKd@!ci|CgpOUg+QF0Dbw8Oz8jnJbm*oefeM=V*kIHzIdU3(ip#dNG9}u zEl=P4OP@aI_l-yvTTc(MtBm+FdW^&*>(LWvy!yvpGcWFaewST#Ul>iZLUql`LFm)} zDt^@SGlug@Tez+~?={2U0#inGY&$VBwovDF%oXGOyokd+@%7->%eeG#SdBpnu3?c^dDeryRn)f#S>fCLJd}@9u zCSSt7wy;MXSI+u=(fS_tLg)7Vi09)#TwxtA+u`kXE5sqWnC ze6nxO>MdG)W@+<2%2kFE*6L*}J3jH2@q0n;|4DtbIRzT)LF9i}dt2CqIk2|+9`mx6 zi(gwV)MwpwuZFc@Uwr*|AC$Xw3VRXuj(O0(*Fg_1z!7`W@6D#{jn3wI*zWk63i@I- zY8#*V@tY~Eg`Xp8)jX%Fu8^69zZ4P19Z&r^dV4Hcbw>JH3uqJU`wGZpdI;y_JzOIYe z-J}@9S|jXEt^bH>P5bKaHT$m6yAkH;|HiVnNAlN;SFsE0PG>kF%}pSOAdY_qjDz{f zUX1(s%#%|b4u?>Dz9+m(d7qK??&{yG?o;RQe&v6H3E`ZR|9~3`bbI9}#f-tw*18v>tudWG#KL`|?=>z2(exJB97UkYb+tlgHEDNCVXKZzybX4fo!DY>(%Mw6ftgu;S2}EQ1v5(RM#Q%~hTr zpd%j#HjwN_N)zi70n^L^ z<+wXM*GwhRT~`D8IK>Y)8}n1mx%paiSzBoxIh8goQ167I8L#RBp7+}2jfcE(H+?2W zVvCKIdvdN`M{+OKmQr^bskqjuW;1QMrFxp4PC>`6KIUfYwPreI+iJG0+IBqKj=O&W DjI0uR literal 6550 zcmd5=OK6-`6ux;)>-)DL>ZXiQs-l$1%tALx(uVq?kT%jT3X-Y$TT&;PIGMB!CKuf_-p@JooR4r`81S}(nD#@~i;+62+*nITSr0`0g<#{7oVTSJBuSr*v>{J9ZOBtc zf7KD!Ok3sroyNm`NpB&@VjW|+B-FFP;!(uDVmqJ1dfIGulqn|bcpRY8N3}A)EA)9x zygzDidFOjjZS)Z?^regP{?oVRPdoNY-vgL(d=sPcD`s|dg|J4lWtgmuc-h7_l(A=F zKVmtxPVIVTyo)q2EZ8&G!zE!&1^H5Z{LuEdS@C(NE=olUwDgSW9b%zPWzRxe@iAApXst+WL`?3s53?KR%w zb$woUQ>=q6b+lb&BlRvHY$emZ;p-U-dGlaY3v+)tI`5DDsha4o9IPpuf4lih7w7jqz+X9J6X)OE&foIOUpa_F zHvc~JmoCmv8S7UL*~Iw|w)40A@@Ed_<=sK76^G#|k4N1dJ19)T8lANqer*fA3HxFk z-``0W?rW22uh3oZ#Tm=rz#skm9>d<}8s%Wd8s4z+JVx3`4z^h%Ym0q!f3CB*-F%4U zH&zSdDi-BBN5Y7)nziCQWN{KNyw)%v?ncJsy+U7(w2NcPFFP_0?*sX1q#a83XHxgD z&jnlR{JqUP+0N`hCTF*`W*+*ud|2y8?5>Hi)L9+O=zJZPm-fW*;dVB*A7%5r*~GOe z$0&5{tJ8k)IT5cNe(`!T2W>j-5!Jq29O_oOcC`JB7}%NFZ~5gP_u4KeW$~G#Ki7tS z>WjS2p2yN~l`MN68FMXbDug%YH%yhAZw%jBy-Cc$_k}q)x?^EKe1JOm-RAcQrm;Wg zKdgrk@tb}Vx#VN(-S1n=ebi)M;)ApqBabf$xbv?mLtUKvOKCQmFNV2~i5#btg95y} z9OxImS3#W9;%yjzZT|?A>;zK z`j(-KvtIn%dZC!O>&}d^;kx)g;Ts1@!GKu*6)3Q&;2NnYtrdGrtP)v&9#W# z%rzFRi($kMeCpYs_L;D71i-NHb6~MtAA7E2AF0*(7VFH1@9S4FRd4DcJNmmC=bURt zSK`c(-)f5K*TJyyYi`&Sm&1k+hOpth3pS^&BQ_`hBW#FWJA8>r7FY2xzQj@Za`d>) zhPz2M##p0lr?a|{!J6^4zL)XMKwj@dT;m;#VQ-A=yVa}OHL?fIHTu4W(L+?nUsqWN z`%}E^*ePc_J7;w`?lat|9WkZ;0oT*ak6$}i*wKvVop!9{qI&kI^Ps<=-~y#S2IA zx|5EWJ@;yCuRSk&VjSzWR?_oIiuJmir1y1Ny*vl{exOegzUph%`eMDy^`*Ky^}#oS zIH(Wt>O=nOL%jMBuRg>t*T;*@Y3uWm^`ZT<()Cdu^>xVl(E1!UUVVLNe5bx-ufAlj zzQkwy;<|LJ{e8==y(M0?i&yR9Rl9iAu3EGv(yMmy-D+o9{E2fM#NSVcP~Z{J3D9ZK zkDzrZavF3RG>8PRfW8M^0R0U56?6%78I(gp{;&Q8&>qk}(CeUgKu1BJfR2N{0DT4e z7IXph3+NJP00(ys=swVT&=a6%L0drEKs!J?K~tcYLHj|Apo5@yK~GQBH!N&V%d^#) zXC`CLjh3g&yVJ?>>FP_V8=0EkSe>cYsuee$*2nAfGc)O=+nUbRtF?4wS3Rwbrj_!7 z^VZwanfjdDSWC-w?-{}mF-VveTho%;G*wGw(V7<{d5PwmYE| +//how 'heavy' the unit is, on a scale of 1-10 +#define UNITSIZE 15 +#define MAXTILT 200 +#include "unit_hitbyweaponid_and_smoke.h" -#define RB_MASS 60 -#define RB_LENGTH 12 -#define RB_WIDTH 6 -#define RB_PITCH_ACCELERATION 30 -#define RB_ROLL_ACCELERATION 8 -#define RB_RECOIL_ENERGY_1 100 -#define RB_RECOIL_ENERGY_2 100 -#define RB_WAKE_PIECE wake -#define RB_WAKE_PIECE2 engine -#define RB_WAKE_CEG 1024 + 1 -#define RB_BOWSPLASH_PIECE bow -#define RB_BOWSPLASH_CEG 1024 + 2 -#define RB_IDLE_KICK 3000 +RockOnWaves() +{ + var rockDir, rockAng, rockSpeed; + rockDir = <-0.1>; + rockAng = <-0.1>; + while( TRUE ) + { + while( get ABS(rockAng) < <1.11> ) + { + rockSpeed = <1.25> - get ABS(rockAng); + turn base to x-axis rockAng speed rockSpeed*2; + wait-for-turn base around x-axis; + rockAng = rockAng + rockDir; + } + rockDir = 0 - rockDir; + rockAng = rockAng + rockDir + rockDir; + } +} -#include "../bar_ships_common.h" +ProjXPW(Func_Var_1, Func_Var_2) +{ + if( Func_Var_2 < -21840 ) + { + Static_Var_7 = Func_Var_1 * ( Func_Var_2 + 32760 ) / 10920; + } + else if( Func_Var_2 > 21840 ) + { + Static_Var_7 = Func_Var_1 * ( 32760 - Func_Var_2 ) / 10920; + } + else if( Func_Var_2 < -10920 ) + { + Static_Var_7 = 0 - Func_Var_1; + } + else if( Func_Var_2 > 10920 ) + { + Static_Var_7 = Func_Var_1; + } + else + { + Static_Var_7 = Func_Var_1 * Func_Var_2 / 10920; + } +} +RockZ(Func_Var_1, Func_Var_2) +{ + signal 16; + set-signal-mask 16; + call-script ProjXPW(10920 / Func_Var_2,Func_Var_1); + Static_Var_8 = Static_Var_8 + Static_Var_7; + Static_Var_7 = get ABS(Static_Var_8); + while( Static_Var_7 > 91 ) + { + turn base to z-axis Static_Var_8 speed Static_Var_7 * 2; + wait-for-turn base around z-axis; + Static_Var_8 = Static_Var_8 * -1 / 2; + Static_Var_7 = get ABS(Static_Var_8); + } + turn base to z-axis <0.000000> speed <1.5>; +} Create() { @@ -59,21 +111,21 @@ Create() hide flare2; hide flare5; hide flare6; - gun_1 = 0; - gun_3 = 0; - gun_2 = 0; + Static_Var_1 = 0; + Static_Var_3 = 0; + Static_Var_2 = 0; restore_delay = 3000; - - start-script CATT1_Init(); - start-script InitRockBoat(); - SLEEP_UNTIL_UNITFINISHED; - start-script BoatPhysics(); - spin radar around y-axis speed <60.0>; + while( get BUILD_PERCENT_LEFT ) + { + sleep 500; + } + start-script RockOnWaves(); + spin radar around y-axis speed <60.000000>; } -SetMaxReloadTime(reloadMS) +SetMaxReloadTime(Func_Var_1) { - restore_delay = reloadMS * 2; + restore_delay = Func_Var_1 * 2; } static-var Stunned; @@ -85,7 +137,7 @@ ExecuteRestoreAfterDelay() if (Stunned) { return (1); } - turn sleeves1 to x-axis <0.0> speed <45.0>; + turn sleeves1 to x-axis <0.000000> speed <45.000000>; while ( get ABS(aimy1position) > AIMY1_RESTORE_SPEED){ if (aimy1position > 0 ) { aimy1position = aimy1position - AIMY1_RESTORE_SPEED; @@ -118,18 +170,18 @@ RestoreAfterDelay() RestoreAfterDelay2() { sleep restore_delay; - turn tur2 to y-axis <0.0> speed <100.0>; - turn tur5 to y-axis <0.0> speed <100.0>; - turn tur6 to y-axis <0.0> speed <100.0>; + turn tur2 to y-axis <0.000000> speed <100.000000>; + turn tur5 to y-axis <0.000000> speed <100.000000>; + turn tur6 to y-axis <0.000000> speed <100.000000>; } RestoreAfterDelay3() { sleep restore_delay; - turn tur3 to y-axis <0.0> speed <125.0>; - turn sleeves3 to x-axis <0.0> speed <125.0>; - turn tur4 to y-axis <0.0> speed <125.0>; - turn sleeves4 to x-axis <0.0> speed <125.0>; + turn tur3 to y-axis <0.000000> speed <125.000000>; + turn sleeves3 to x-axis <0.000000> speed <125.000000>; + turn tur4 to y-axis <0.000000> speed <125.000000>; + turn sleeves4 to x-axis <0.000000> speed <125.000000>; } waveSplash() @@ -145,26 +197,46 @@ waveSplash() } } -StartMoving(reversing) +StartMoving() { - + signal SIG_MOVE; + set-signal-mask SIG_MOVE; + var waketime; + start-script waveSplash(); + var bowtime; + bowtime = 0; + while( TRUE ) + { + emit-sfx 1024 + 1 from wake; + if (bowtime) emit-sfx 1024 + 2 from bow; + bowtime = !bowtime; + emit-sfx 1024 + 3 from engine; + waketime = (get CURRENT_SPEED) * 100 / get MAX_SPEED; + if( waketime < 50 ) waketime = 50; + sleep 15000 / waketime; + } } StopMoving() { - + signal SIG_MOVE; + turn base to x-axis <0.0> speed <1.0>; + move base to y-axis [0.0] speed [0.17]; } +SweetSpot(piecenum) +{ + piecenum = base; +} - -AimFromWeapon1(pieceIndex) +AimFromWeapon1(piecenum) { - pieceIndex = tur1; + piecenum = tur1; } -QueryWeapon1(pieceIndex) +QueryWeapon1(piecenum) { - pieceIndex = flare1a + gun_1; + piecenum = flare1a + Static_Var_1; } @@ -173,76 +245,141 @@ QueryWeapon1(pieceIndex) // Jerk is the minimum velocity of the turret // A high precision requirement can result in overshoots if desired // (c) CC BY NC ND Beherith mysterme@gmail.com +#define MAX_AIMY1_VELOCITY <3.00> +#define AIMY1_ACCELERATION <0.12> +#define AIMY1_JERK <0.5> +#define AIMY1_PRECISION <1.2> -#define CATT1_PIECE_X sleeves1 -#define CATT1_PIECE_Y tur1 -#define CATT1_MAX_VELOCITY <3.0> -#define CATT1_ACCELERATION <0.12> -#define CATT1_JERK <0.5> -#define CATT1_PRECISION <1.2> -#define CATT1_RESTORE_SPEED <1.0> -#define CATT1_PITCH_SPEED <45> +static-var aimy1delta, timetozero, deceleratethreshold; -#include "../constant_acceleration_turret_turning_1.h" - - -#define SIGNAL_AIM1 256 +#define SIG_AIM 2 AimWeapon1(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; - aimDir1 = heading; + + signal SIG_AIM; + set-signal-mask SIG_AIM; + + //signal SIG_HEAD; //We can do this any time - turn sleeves1 to x-axis RB_AIMPITCHCORRECTION(heading) - pitch speed <25.0>; + turn sleeves1 to x-axis <0.000000> - pitch speed <85.000000>; - call-script CATT1_Aim(heading,pitch); + aimy1target = heading; + aimy1delta = aimy1target - aimy1position; + + while( ( get ABS(aimy1delta) > AIMY1_PRECISION ) OR (get ABS(aimy1velocity) > AIMY1_JERK)){ + if (gameFrame != get(GAME_FRAME)){ //this is to make sure we dont get double-called, as previous aimweapon thread runs before new aimweaponthread can signal-kill previous one + gameFrame = get(GAME_FRAME); + + //Clamp aimy1position and aimy1delta between <-180>;<180> + while (aimy1position > <180>) aimy1position = aimy1position - <360>; + while (aimy1position < <-180>) aimy1position = aimy1position + <360>; + while (aimy1delta > <180>) aimy1delta = aimy1delta - <360>; + while (aimy1delta < <-180>) aimy1delta = aimy1delta + <360>; + + //number of frames required to decelerate to 0 + timetozero = get ABS(aimy1velocity) / AIMY1_ACCELERATION; + + //distance from target where we should start decelerating, always 'positive' + //pos = t * v - (t*(t-1)*a/2) + deceleratethreshold = timetozero * (get ABS(aimy1velocity)) - (timetozero * (timetozero - 1) * AIMY1_ACCELERATION / 2); + + //get PRINT ( aimy1delta , deceleratethreshold, aimy1velocity, timetozero ); + + if (get ABS(aimy1delta) <= deceleratethreshold){ //we need to decelerate + if (aimy1velocity > 0) aimy1velocity = aimy1velocity - AIMY1_ACCELERATION; + else aimy1velocity = aimy1velocity + AIMY1_ACCELERATION; + } + else //we need to accelerate + { + if (aimy1delta > 0) aimy1velocity = get MIN( MAX_AIMY1_VELOCITY, aimy1velocity + AIMY1_ACCELERATION); + else aimy1velocity = get MAX((-1) * MAX_AIMY1_VELOCITY, aimy1velocity - AIMY1_ACCELERATION); + } + + //Apply jerk at very low velocities + if (get ABS(aimy1velocity) < AIMY1_JERK){ + if ((aimy1delta > AIMY1_JERK)) aimy1velocity = AIMY1_JERK; + if ((aimy1delta < (-1) * AIMY1_JERK)) aimy1velocity = (-1) * AIMY1_JERK; + } + + aimy1position = aimy1position + aimy1velocity; + turn tur1 to y-axis aimy1position now; + aimy1delta = aimy1target - aimy1position ; + } + sleep 30; + } + aimy1velocity = 0; + start-script RestoreAfterDelay(); + aimDir = heading; return (1); } + +/* +AimWeapon1(heading, pitch) +{ + signal 2; + set-signal-mask 2; + turn tur1 to y-axis heading speed <45.000000>; + turn sleeves1 to x-axis <0.000000> - pitch speed <20.000000>; + wait-for-turn tur1 around y-axis; + wait-for-turn sleeves1 around x-axis; + aimDir = heading; + start-script RestoreAfterDelay(); + return (1); +}*/ + FireWeapon1() { - if( gun_1 == 0 ) +} +Shot1() +{ + start-script RockZ(-45, aimDir); + if( Static_Var_1 == 0 ) { emit-sfx 1024 + 0 from flare1a; - move barrel1a to z-axis [-2.0] speed [500.0]; + move barrel1a to z-axis [-2.000000] speed [500.000000]; sleep 100; - move barrel1a to z-axis [0.0] speed [3.0]; + move barrel1a to z-axis [0.000000] speed [3.000000]; } - else if( gun_1 == 1 ) + else if( Static_Var_1 == 1 ) { emit-sfx 1024 + 0 from flare1b; - move barrel1b to z-axis [-2.0] speed [500.0]; + move barrel1b to z-axis [-2.000000] speed [500.000000]; sleep 100; - move barrel1b to z-axis [0.0] speed [3.0]; + move barrel1b to z-axis [0.000000] speed [3.000000]; } - else if( gun_1 == 2 ) + else if( Static_Var_1 == 2 ) { emit-sfx 1024 + 0 from flare1c; - move barrel1c to z-axis [-2.0] speed [500.0]; + move barrel1c to z-axis [-2.000000] speed [500.000000]; sleep 100; - move barrel1c to z-axis [0.0] speed [3.0]; + move barrel1c to z-axis [0.000000] speed [3.000000]; } - else if( gun_1 == 3 ) + else if( Static_Var_1 == 3 ) { emit-sfx 1024 + 0 from flare1d; - move barrel1d to z-axis [-2.0] speed [500.0]; + move barrel1d to z-axis [-2.000000] speed [500.000000]; sleep 100; - move barrel1d to z-axis [0.0] speed [3.0]; + move barrel1d to z-axis [0.000000] speed [3.000000]; + hide flare1d; + } + ++Static_Var_1; + if( Static_Var_1 >= 4 ) + { + Static_Var_1 = 0; } - gun_1 = (gun_1 + 1) % 4; - RB_RECOILBOAT(aimDir1, RB_RECOIL_ENERGY_1); } -AimFromWeapon2(pieceIndex) +AimFromWeapon2(piecenum) { - pieceIndex = tur2; + piecenum = tur2; } -QueryWeapon2(pieceIndex) +QueryWeapon2(piecenum) { - pieceIndex = flare2; + piecenum = flare2; } AimWeapon2(heading, pitch) @@ -253,7 +390,7 @@ AimWeapon2(heading, pitch) { return (0); } - turn tur2 to y-axis heading speed <150.0>; + turn tur2 to y-axis heading speed <150.000000>; wait-for-turn tur2 around y-axis; start-script RestoreAfterDelay2(); return (1); @@ -261,28 +398,30 @@ AimWeapon2(heading, pitch) FireWeapon2() { - sleep 180; - turn gun2 to z-axis <120> speed <400>; - sleep 1000 * <120> / <400>; - turn gun2 to z-axis <0.0> now; + show flare2; + sleep 150; + turn gun2 to z-axis <120.000000> speed <400.000000>; + hide flare2; + wait-for-turn gun2 around z-axis; + turn gun2 to z-axis <0.000000> now; } -AimFromWeapon3(pieceIndex) +AimFromWeapon3(piecenum) { - pieceIndex = tur3; + piecenum = tur3; } -QueryWeapon3(pieceIndex) +QueryWeapon3(piecenum) { - pieceIndex = flare3a + gun_2; + piecenum = flare3a + Static_Var_2; } AimWeapon3(heading, pitch) { signal 8; set-signal-mask 8; - turn tur3 to y-axis heading speed <200.0>; - turn sleeves3 to x-axis <0.0> - pitch speed <150.0>; + turn tur3 to y-axis heading speed <200.000000>; + turn sleeves3 to x-axis <0.000000> - pitch speed <150.000000>; wait-for-turn tur3 around y-axis; wait-for-turn sleeves3 around x-axis; start-script RestoreAfterDelay3(); @@ -291,17 +430,17 @@ AimWeapon3(heading, pitch) FireWeapon3() { - gun_2 = !gun_2; + Static_Var_2 = !Static_Var_2; } -AimFromWeapon4(pieceIndex) +AimFromWeapon4(piecenum) { - pieceIndex = tur5; + piecenum = tur5; } -QueryWeapon4(pieceIndex) +QueryWeapon4(piecenum) { - pieceIndex = flare5; + piecenum = flare5; } AimWeapon4(heading, pitch) @@ -312,7 +451,7 @@ AimWeapon4(heading, pitch) { return (0); } - turn tur5 to y-axis heading speed <150.0>; + turn tur5 to y-axis heading speed <150.000000>; wait-for-turn tur5 around y-axis; start-script RestoreAfterDelay2(); return (1); @@ -320,20 +459,22 @@ AimWeapon4(heading, pitch) FireWeapon4() { - sleep 180; - turn gun5 to z-axis <120> speed <400>; - sleep 1000 * <120> / <400>; - turn gun5 to z-axis <0.0> now; + show flare5; + sleep 150; + turn gun5 to z-axis <120.000000> speed <400.000000>; + hide flare5; + wait-for-turn gun5 around z-axis; + turn gun5 to z-axis <0.000000> now; } -AimFromWeapon5(pieceIndex) +AimFromWeapon5(piecenum) { - pieceIndex = tur6; + piecenum = tur6; } -QueryWeapon5(pieceIndex) +QueryWeapon5(piecenum) { - pieceIndex = flare6; + piecenum = flare6; } AimWeapon5(heading, pitch) @@ -344,7 +485,7 @@ AimWeapon5(heading, pitch) { return (0); } - turn tur6 to y-axis heading speed <150.0>; + turn tur6 to y-axis heading speed <150.000000>; wait-for-turn tur6 around y-axis; start-script RestoreAfterDelay2(); return (1); @@ -352,28 +493,30 @@ AimWeapon5(heading, pitch) FireWeapon5() { - sleep 180; - turn gun6 to z-axis <120> speed <400>; - sleep 1000 * <120> / <400>; - turn gun6 to z-axis <0.0> now; + show flare6; + sleep 150; + turn gun6 to z-axis <120.000000> speed <400.000000>; + hide flare6; + wait-for-turn gun6 around z-axis; + turn gun6 to z-axis <0.000000> now; } -AimFromWeapon6(pieceIndex) +AimFromWeapon6(piecenum) { - pieceIndex = tur4; + piecenum = tur4; } -QueryWeapon6(pieceIndex) +QueryWeapon6(piecenum) { - pieceIndex = flare4a + gun_3; + piecenum = flare4a + Static_Var_3; } AimWeapon6(heading, pitch) { signal 64; set-signal-mask 64; - turn tur4 to y-axis heading speed <200.0>; - turn sleeves4 to x-axis <0.0> - pitch speed <150.0>; + turn tur4 to y-axis heading speed <200.000000>; + turn sleeves4 to x-axis <0.000000> - pitch speed <150.000000>; wait-for-turn tur4 around y-axis; wait-for-turn sleeves4 around x-axis; start-script RestoreAfterDelay3(); @@ -382,7 +525,7 @@ AimWeapon6(heading, pitch) FireWeapon6() { - gun_3 = !gun_3; + Static_Var_3 = !Static_Var_3; } Killed(severity, corpsetype) @@ -403,6 +546,33 @@ Killed(severity, corpsetype) explode sleeves6 type BITMAPONLY | NOHEATCLOUD; explode gun6 type BITMAPONLY | NOHEATCLOUD; explode barrel6 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare6 type BITMAPONLY | NOHEATCLOUD; + //explode tur5 type BITMAPONLY | NOHEATCLOUD; + //explode sleeves5 type BITMAPONLY | NOHEATCLOUD; + //explode gun5 type BITMAPONLY | NOHEATCLOUD; + //explode barrel5 type BITMAPONLY | NOHEATCLOUD; + //explode flare5 type BITMAPONLY | NOHEATCLOUD; + //explode tur2 type BITMAPONLY | NOHEATCLOUD; + //explode sleeves2 type BITMAPONLY | NOHEATCLOUD; + //explode gun2 type BITMAPONLY | NOHEATCLOUD; + //explode flare2 type BITMAPONLY | NOHEATCLOUD; + //explode barrel2 type BITMAPONLY | NOHEATCLOUD; + //explode tur1 type BITMAPONLY | NOHEATCLOUD; + //explode sleeves1 type BITMAPONLY | NOHEATCLOUD; + //explode barrel1c type BITMAPONLY | NOHEATCLOUD; + //explode flare1c type BITMAPONLY | NOHEATCLOUD; + //explode barrel1d type BITMAPONLY | NOHEATCLOUD; + //explode flare1d type BITMAPONLY | NOHEATCLOUD; + //explode barrel1a type BITMAPONLY | NOHEATCLOUD; + //explode flare1a type BITMAPONLY | NOHEATCLOUD; + //explode barrel1b type BITMAPONLY | NOHEATCLOUD; + //explode flare1b type BITMAPONLY | NOHEATCLOUD; + //explode radar type BITMAPONLY | NOHEATCLOUD; + //explode wake1 type BITMAPONLY | NOHEATCLOUD; + //explode wake2 type BITMAPONLY | NOHEATCLOUD; + //explode wake3 type BITMAPONLY | NOHEATCLOUD; + //explode wake4 type BITMAPONLY | NOHEATCLOUD; + //explode wake5 type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } if( severity <= 50 ) @@ -421,6 +591,32 @@ Killed(severity, corpsetype) explode sleeves6 type FIRE | SMOKE | FALL | NOHEATCLOUD; explode gun6 type FIRE | SMOKE | FALL | NOHEATCLOUD; explode barrel6 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare6 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode tur5 type FALL | NOHEATCLOUD; + //explode sleeves5 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode gun5 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode barrel5 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare5 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode tur2 type FALL | NOHEATCLOUD; + //explode sleeves2 type FALL | NOHEATCLOUD; + //explode gun2 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare2 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode barrel2 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode sleeves1 type FALL | NOHEATCLOUD; + //explode barrel1c type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare1c type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode barrel1d type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare1d type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode barrel1a type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare1a type FALL | NOHEATCLOUD; + //explode barrel1b type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare1b type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode radar type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode wake1 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode wake2 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode wake3 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode wake4 type FALL | NOHEATCLOUD; + //explode wake5 type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) @@ -439,6 +635,33 @@ Killed(severity, corpsetype) explode sleeves6 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode gun6 type FIRE | SMOKE | FALL | NOHEATCLOUD; explode barrel6 type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode flare6 type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode tur5 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode sleeves5 type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode gun5 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode barrel5 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare5 type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode tur2 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode sleeves2 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode gun2 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare2 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode barrel2 type SMOKE | FALL | NOHEATCLOUD; + //explode tur1 type BITMAPONLY | NOHEATCLOUD; + //explode sleeves1 type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode barrel1c type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare1c type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode barrel1d type SMOKE | FALL | NOHEATCLOUD; + //explode flare1d type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode barrel1a type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare1a type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode barrel1b type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare1b type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode radar type SMOKE | FALL | NOHEATCLOUD; + //explode wake1 type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode wake2 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode wake3 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode wake4 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode wake5 type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; @@ -455,5 +678,32 @@ Killed(severity, corpsetype) explode sleeves6 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode gun6 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode barrel6 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare6 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode tur5 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode sleeves5 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode gun5 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode barrel5 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode flare5 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode tur2 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode sleeves2 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode gun2 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare2 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode barrel2 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode tur1 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode sleeves1 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode barrel1c type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode flare1c type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode barrel1d type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare1d type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode barrel1a type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare1a type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode barrel1b type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode flare1b type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode radar type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode wake1 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode wake2 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode wake3 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode wake4 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode wake5 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/corbuzz.bos b/scripts/Units/corbuzz.bos index 470e1decde5..fd4c7ebd530 100644 --- a/scripts/Units/corbuzz.bos +++ b/scripts/Units/corbuzz.bos @@ -1,5 +1,7 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, turret, spindle, flare1, flare2, flare3, flare4, flare5, flare6, barrel1, barrel2, barrel3, barrel4, barrel5, barrel6, @@ -9,13 +11,11 @@ piece base, turret, spindle, flare1, flare2, flare3, flare4, flare5, flare6, static-var gun_1, restore_delay, shotcount, spin_speed, spin_delay, time_to_reload, fire_rotation, last_primary_heading, last_primary_pitch; // Signal definitions -#define SIGNAL_AIM1 256 -#define SIGNAL_SHOOT1 16 +#define SIG_AIM 2 +#define SIG_FIRE 4 - -#define BASEPIECE base -#define MAXTILT 0 -#include "../unit_hitbyweaponid_and_smoke.h" +#define SMOKEPIECE base +#include "smokeunit_thread_nohit.h" Create() { @@ -51,15 +51,15 @@ RestoreAfterDelay() return (0); } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; - turn turret to y-axis heading speed <15.0>; + turn turret to y-axis heading speed <15.000000>; if (fire_rotation == FALSE) { - // if corbuzz has not fired recently, AimWeapon1 should turn the spindle + // if corbuzz has not fired recently, AimPrimary should turn the spindle turn spindle to x-axis <60> * (gun_1 - 1) - pitch speed <1>*spin_speed; } @@ -78,7 +78,7 @@ AimWeapon1(heading, pitch) return (1); } -FireWeapon1() +FirePrimary() { // make spindle turn faster as unit gains XP and decreases reload time // GET WEAPON_RELOADSTATE is in frames, we need seconds (factor of 30) @@ -94,70 +94,70 @@ FireWeapon1() if( gun_1 == 1 ) { shotcount = shotcount + 1; - move barrel1 to z-axis [-6.0] now; + move barrel1 to z-axis [-6.000000] now; emit-sfx 1024 + 0 from flare1; call-script lua_UnitScriptLight(1, shotcount); sleep 100; turn spindle to x-axis <60> * (gun_1) - last_primary_pitch speed <1>*spin_speed; - move barrel1 to z-axis [0.0] speed [6]; + move barrel1 to z-axis [0.000000] speed [6]; } if( gun_1 == 2 ) { shotcount = shotcount + 1; - move barrel2 to y-axis [-5.0] now; - move barrel2 to z-axis [-3.0] now; + move barrel2 to y-axis [-5.000000] now; + move barrel2 to z-axis [-3.000000] now; emit-sfx 1024 + 0 from flare2; call-script lua_UnitScriptLight(2, shotcount); sleep 100; turn spindle to x-axis <60> * (gun_1) - last_primary_pitch speed <1>*spin_speed; - move barrel2 to y-axis [0.0] speed [5]; - move barrel2 to z-axis [0.0] speed [3]; + move barrel2 to y-axis [0.000000] speed [5]; + move barrel2 to z-axis [0.000000] speed [3]; } if( gun_1 == 3 ) { shotcount = shotcount + 1; - move barrel3 to y-axis [-5.0] now; - move barrel3 to z-axis [3.0] now; + move barrel3 to y-axis [-5.000000] now; + move barrel3 to z-axis [3.000000] now; emit-sfx 1024 + 0 from flare3; call-script lua_UnitScriptLight(3, shotcount); sleep 100; turn spindle to x-axis <60> * (gun_1) - last_primary_pitch speed <1>*spin_speed; - move barrel3 to y-axis [0.0] speed [5]; - move barrel3 to z-axis [0.0] speed [3]; + move barrel3 to y-axis [0.000000] speed [5]; + move barrel3 to z-axis [0.000000] speed [3]; } if( gun_1 == 4 ) { shotcount = shotcount + 1; - move barrel4 to z-axis [6.0] now; + move barrel4 to z-axis [6.000000] now; emit-sfx 1024 + 0 from flare4; call-script lua_UnitScriptLight(4, shotcount); sleep 100; turn spindle to x-axis <60> * (gun_1) - last_primary_pitch speed <1>*spin_speed; - move barrel4 to z-axis [0.0] speed [6]; + move barrel4 to z-axis [0.000000] speed [6]; } if( gun_1 == 5 ) { shotcount = shotcount + 1; - move barrel5 to y-axis [5.0] now; - move barrel5 to z-axis [3.0] now; + move barrel5 to y-axis [5.000000] now; + move barrel5 to z-axis [3.000000] now; emit-sfx 1024 + 0 from flare5; call-script lua_UnitScriptLight(5, shotcount); sleep 100; turn spindle to x-axis <60> * (gun_1) - last_primary_pitch speed <1>*spin_speed; - move barrel5 to y-axis [0.0] speed [5]; - move barrel5 to z-axis [0.0] speed [3]; + move barrel5 to y-axis [0.000000] speed [5]; + move barrel5 to z-axis [0.000000] speed [3]; } if( gun_1 == 6 ) { shotcount = shotcount + 1; - move barrel6 to y-axis [5.0] now; - move barrel6 to z-axis [-3.0] now; + move barrel6 to y-axis [5.000000] now; + move barrel6 to z-axis [-3.000000] now; emit-sfx 1024 + 0 from flare6; call-script lua_UnitScriptLight(6, shotcount); sleep 100; turn spindle to x-axis <60> * (gun_1) - last_primary_pitch speed <1>*spin_speed; - move barrel6 to y-axis [0.0] speed [5]; - move barrel6 to z-axis [0.0] speed [3]; + move barrel6 to y-axis [0.000000] speed [5]; + move barrel6 to z-axis [0.000000] speed [3]; } ++gun_1; @@ -166,11 +166,11 @@ FireWeapon1() gun_1 = 1; } - // FireWeapon1 controls animation right after firing - // but after 1 second, AimWeapon1 should regain control over spindle animation + // FirePrimary controls animation right after firing + // but after 1 second, AimPrimary should regain control over spindle animation // and last_primary_heading and last_primary_pitch should be reset - signal SIGNAL_SHOOT1; - set-signal-mask SIGNAL_SHOOT1; + signal SIG_FIRE; + set-signal-mask SIG_FIRE; sleep 1000; fire_rotation = FALSE; last_primary_heading = -1000000; @@ -178,40 +178,43 @@ FireWeapon1() } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { if( gun_1 == 1 ) { - pieceIndex = flare1; + piecenum = flare1; } if( gun_1 == 2 ) { - pieceIndex = flare2; + piecenum = flare2; } if( gun_1 == 3 ) { - pieceIndex = flare3; + piecenum = flare3; } if( gun_1 == 4 ) { - pieceIndex = flare4; + piecenum = flare4; } if( gun_1 == 5 ) { - pieceIndex = flare5; + piecenum = flare5; } if( gun_1 == 6 ) { - pieceIndex = flare6; + piecenum = flare6; } } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = spindle; + piecenum = spindle; } - +SweetSpot(piecenum) +{ + piecenum = base; +} Killed(severity, corpsetype) { diff --git a/scripts/Units/corbuzz.cob b/scripts/Units/corbuzz.cob index 53124effd362a63e0e58333193b64c901b8cb987..71ef2fe077a9c28c6013d95d47cec4a0ef38b248 100644 GIT binary patch literal 4833 zcmds5O=w(I6h4_urcrBo+KnRA*#%1}liyVq{gG0%NMb13l^L7YIy%XWFE7dFSe>OvGO)SYe=1sCeRxU9CTN{Qch?m2JnjFZ?|M8TAgbMN^-=broCo0di7 zKHw2xqAYSRDF41mL~a4q2Skow{|=~BOUX!5O1PA2Ig#Z`azB>jkyWmhl6#`PEL2o~ zghJ>(Wio_O`x5lIESWw1oFJn%roJbzB(JW#5%tC8pg6G)^`8VEQ|5!bLGdV;+GrxR z;Gek`c_d{-4>^kYJ8kk2D&7#yUyfChGsZ9V@#Fq@KjQwKGdmEWoDq9_80xradUWsg zOHv8(O$MSqWLc6?u0gdIpkubL7~N-d9F+Aw`_uNeTr+*+UD*mewKd-OX5gtG<1L>J zJoRb3FAfJD{qv78Ja^yU0)w@XPx-5$+%tFXsmDEIaewXVjcx83Czg8+)MpPlr#`FB zbNzmKi3;s7r@Gz@>n&V_;_Ryua)c_+$MXrk!}W4tCV%p7lzV zGdGG|v_~Ax!Svn)Wjxl~%_aB*tLQ;dTdl0|4lsb-q2H+puJ#y9_v3x^_}uGRVWxCu zpj+gMo^m~JyhEVOoxIl~Jm^o5nStQmrW8 z?N*pXEj(BLX)f4L=B8)Bp7hOvNF~aln_pZjs>2q#w@ZA`yncL17^gZll1RC_jX2l?}+CY*Q)O_ zn}dzJsudQfRo~;NBlI%N0eQRC@9!zb{CDc_y(9fO$8+Gh$Gzcs`5b&TL~jnjtb0eo z^MkzIdgJeGe_m5}Z)c;oH@!LcK0iG7xHs`VV5+f9zk6(^zC$5?Z}>i^no( z_MPz?9}@PCpsv5eXfw?BPMnYCYWe(O`7n%s|Hiu7chkLNy3B8oE`9iXjAO$bIopGD zwMO%M&~$m$gLLCNdB}A2o5%VW=Nr%HW2Vbla=*+8TjUwO1G#67yUD4(lbqj?{6`)7 zdYFsqSi;{kmn=T}O?$rsRqUy|2`bBYmnZv*Z~7`&{W5)*L4S};pXEEq_pOZ{XJy${b==h|GYl#8CRQv`ncBb7F%yZ-e31HHr|h6Y`jmy*m(bj zvGKkRW7FSn_6x1;nVDhy`R~JFZ2s>(<;X1pF9KV@C%|XGHgFw{I)aAJ0P_I<1144*`z?6Tnem7MKT40#5*oz&W4}G=P_Z4)8kgHt;U+ zKJWo>8Tb_V68IYU7We`98CY6vy_B9^Yvgjek)P;1lh)g{s*-TgD`TBY)`9_wdxvaMvYb(uEE;Q>|IvL1RAk%@&1Tq`Q9IRp3oHROR vblT{Q(OIK&vffP7OK=_Nl+kIUGe&2P&dK?74b@H>oiaLYbjIkc(K-1G9ISE{ literal 4768 zcmcgwO=w(I6h4_url~*WDF}+2!IhLE^OJ;tnshWVV~TwW%OZ3K!D*vO7Wy{oMxZKI0!ETjQc#dc0k%=B$%!FX6EKu%<9^R0 z&Y4*Hq5T%YGowkN5_GYRJ|qeG%o(04))nJ4hSl_v;iz+;j5B>`FjuXkGOGR2{m4Pe zqBVGK+{3*L$#~9(@9pm=j`ecyB`nF`1*Z>|>pt^bDn;GnSU`8h#u)Br&EET27#Y*g zX;|LOVT%Ck1#9McND|J(_mWFxMDu$eg6E#^*)SWo_V746?+tswncX&fkuv6(HE`)Y z=U&$0bNelp?$2k_WuFbgsZ*aeLqA43k3kIcAlDcPp9r7jFnhn5eT2a6Fe5TkO14a2 zi1faf{%WwZuk0J~Ul^Wh<|&KlGS}dmC-|7jCF2K-kAu_ash@Us0Z-~ zZv>tCG2P7q9)!P#uGJ%+B>jSYO9w={=XSgdAb!DSAE-5igu&6MO0JOT%dYZT2@0 zhkb+-!!T0j`QcfJWyH~E$#8sL8ISe$a|w3~RJ|VbYP0A35Chn~^%mEto{Z#vypJBA zvYu5^3bR7I=VtvIMV}#xg%rE@>T(Z8BaZ z++n+&KhK=`Xsqdu09K{YRN`-1q&R zfx&*{^9<*QWH29|Z#*AN+vj6*PyN6XgxdLym#^LLI{Mt7+6U*~bBgQJ_mQ3VAA70~ zJ5b-ls3Cve)a7gT_Y33fPtAkpozF8qZ_hXG2hYgQyMiJ0oVkzn@|%nIWUo#M{op5A zzaQZ~pst6r`Smh(Ie8{Zf2 z8J1@~3`-yG_d~<#_lfl{&NrURj}6ONa=+{w-T5~gW!88vJHOlbms^N^f{XH4!f*ZW z%|H9e{XW;%h)E9gev7)S?-=-SS?}0L_TRg1*Jm=a>)b&O=NEoAB9i8%-{+RsZOhB+ z^1MDGILgaq&&y@c%Vp2YWzWmyd|vDmQW)roWBvEJ%l~(5miP?lbI@O)I*OkLJqx-5 zdKHOX18su%e-Ot(uYt~iGSFqvRnRA(&p=;;z61RL`Wf^q=y%Ycpj)83pu(df2SEww zaZnlbG^hfa2F-wuffhigK#QQWpbqE)XajTw^a1E9=vb>eckz|9(OF%2z8On0-&k&( zNt-8@SI?#LT$VPvskGM{ub*6Lbx)kmTAl8Ttutr4ay(t@u4d`%Qa8=!({|&c%(j+; z$EqA{WvQ=UUQaU%RVC(Vw%WtJ&}z5Sro7QuOQpM>WocK|I<1vvJC&t&BTK7+)dH&r zHWAolU{lzQjqR%On(?~v3FDK-r(~_2rf //how 'heavy' the unit is, on a scale of 1-10 @@ -24,7 +23,10 @@ Create() hide flare; hide thrusta; hide thrustb; - SLEEP_UNTIL_UNITFINISHED; + while( get BUILD_PERCENT_LEFT ) + { + sleep 400; + } start-script IdleHover(); } @@ -40,37 +42,47 @@ Deactivate() hide thrustb; } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = flare; + piecenum = flare; } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = flare; + piecenum = flare; } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - var tmp; - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; while( 255 > heading ) { - - set HEADING to (0 - 1500 + get HEADING); + set UNKNOWN_UNIT_VALUE(82) to 0 - 1500 + get UNKNOWN_UNIT_VALUE(82); heading = heading + 1500; sleep 1; } while( heading > 255 ) { - set HEADING to (1500 + get HEADING); + set UNKNOWN_UNIT_VALUE(82) to 1500 + get UNKNOWN_UNIT_VALUE(82); heading = heading - 1500; sleep 1; } return (1); } +PostFire() +{ + show flare; + sleep 200; + hide flare; +} + +FirePrimary() +{ + start-script PostFire(); + return (1); +} Killed(severity, corpsetype) { diff --git a/scripts/Units/corbw.cob b/scripts/Units/corbw.cob index c8a14ccde7406c549187a0ac3a81449dbe678e5d..3834ff10d59c1c6036ab4aadc8ee0ddf4f0f25b2 100644 GIT binary patch literal 2891 zcmbW3ziU%b6vuDVG;P)4Dh@hS-X?-V5S#=_sT9Q}_AhAKK4~DOB~1%X21Ibuj!q7O zo1=q+qeEw%1Sefw{0Cg(_jBJpFSl(fNdu?%-1Fmm&iUT^-fPu4cTQ53yskJmqm|#L zj0ciWlAGEe5|mZ^D4FsVKSk1N&A*UR)t+s&Uh&}Kw>>NS1(dAn(fxJle#VoZNB?~E zS0YA5afUS*44%2>bjTH&bB$?F94SZRWKbMF`ol+z_2cR@vJ7qgdvempPGKh}jXiEp z^0u|Y3lFg(1y0a? zQ4{lNak>J5Ps?XDn~VAEPs>m17=PDdysgvJP+x|}p1E1U4P0;zn(19)gD;D5jp2F1 z0kxbsvw5k7Zn)eLu+zMv2N!rGJoPhUI1L;V;F6c(8V6RFJ-C5`32?)FfwQ7t>d@~k zt<0z;;Eu~fniu-bM&nM(gW;AuL|o&+{FCzVO?R3(OCBOFbC>hihtGNFTYFZ^K#MP(5U0DNMx@*+@a~0;?cn5JW``X)mDeqszAw+DRxL4(U8WG1_ zDPG!FipM;5?j!4tILDE7N1O|BC+a3VQy1QhlbZERgUyRDsNL!08*Z(&o4Y5Smb|^q?%r;% I71uTQ55wlj6aWAK literal 2582 zcmbuBziU%b6vuDUG_4}?+;mXhAi9V|CkK%fMU)~`7sbi6ePSUsB~433gf2RYQ*lsm zaBy%E7Y7%27dOQ}pzak!hxq;6drx{B)7a9K!#Vf-_?{p4y!Tph&W(#IqRFyzBjWsS z?Q?EL^jvgG=QrXmFK5H3l*z7NxmM1q;^}!To=Z5~sb-HPl;w{f{$|IV#vetIS2D1& zlajO1jQEyBbd-gi7_h;FW9xP$OpSP(TH9iCPFC4Mjf$uTKl%p)9&8e7qta~ZRxe0L z9ScDZcIw-&PyN%{8CF`ajy;@BywDr>gKj@g^s7H~F1H?XUuTN%=TVC@mOrz`eoh9k zj_C-$jXn!`MkRs`@8yd#f1K!;xB0AhyIp(_%WgP`=v+PEai(fGHM?4px$TiON2}RG4F!MRLp&oZI@=xh_ABDx(!YYypXFuly?Lj7L_f*_kGU})X2QeeXMl04s`su7J1*|)7q|E1A$;^+Vs_7zl(=go zk62HTGhxKv7Tl?bCvJG&E#~ac)wAW=W#s{y_YwLnxI3`h_squuv{3b!4tX`md`4`? z_!iLPSJ{cV5py2@9o~VQ{TwpwSw1e0&APs`jMAsIlE!BAQHRu@yq520Up}xb|ImE- z_W7&_Ujwt&yr8s(Bh-+Gp1E{#;!h87&acE>HrAWJoxNZ5XMa-Mv&2N)6A_nt9)|mZ z808s;JA+TeJs)w|sbRQJi5Y-PZ~u#3+a?zEstR2by%fC`y%oI|{Sxv2)H~4!(I?So z(Kpc#(T3=c$mwHW6&(~^ooyCZTFXV-U2GSPPT?kII&;eimx_jo*O!X+gPTQTp>_X^ oo0yxw+-}V$M-wOKn$2R?O*a+`cemMS7p`-!y|mbAL_Y2Q0(`Bq)Bpeg diff --git a/scripts/Units/corca.bos b/scripts/Units/corca.bos index aef36b758a5..32802d871e1 100644 --- a/scripts/Units/corca.bos +++ b/scripts/Units/corca.bos @@ -1,8 +1,29 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, duct1, fan1, duct2, fan2, door1, door2, support, beam, nano, thrust; +static-var Static_Var_1, Static_Var_2; + + +activatescr() +{ + spin fan1 around y-axis speed <720> accelerate <720>; + spin fan2 around y-axis speed <-720> accelerate <720>; + sleep 1457; + return (0); +} + +deactivatescr() +{ + stop-spin fan1 around y-axis decelerate <720>; + stop-spin fan2 around y-axis decelerate <720>; + sleep 1455; + return (0); +} + #define BASEPIECE base #define HITSPEED <105.0> //how 'heavy' the unit is, on a scale of 1-10 @@ -14,26 +35,58 @@ piece base, duct1, fan1, duct2, fan2, door1, door2, support, beam, nano, thrust #define IDLEBASEPIECE base #include "idlehover.h" +RequestState(requestedstate, currentstate) +{ + if( Static_Var_2 ) + { + Static_Var_1 = requestedstate; + return (0); + } + Static_Var_2 = 1; + currentstate = Static_Var_1; + Static_Var_1 = requestedstate; + while( Static_Var_1 != currentstate ) + { + if( Static_Var_1 ) + { + call-script deactivatescr(); + currentstate = 1; + } + else + { + call-script activatescr(); + currentstate = 0; + } + } + Static_Var_2 = 0; + return (0); +} + Create() { hide nano; hide thrust; - SLEEP_UNTIL_UNITFINISHED; + Static_Var_1 = 1; + Static_Var_2 = 0; + while( get BUILD_PERCENT_LEFT ) + { + sleep 500; + } start-script IdleHover(); } Activate() { show thrust; - spin fan1 around y-axis speed <720> accelerate <720>; - spin fan2 around y-axis speed <-720> accelerate <720>; + start-script RequestState(0); + return (0); } Deactivate() { hide thrust; - stop-spin fan1 around y-axis decelerate <720>; - stop-spin fan2 around y-axis decelerate <720>; + start-script RequestState(1); + return (0); } StartBuilding() @@ -44,6 +97,7 @@ StartBuilding() turn door1 to z-axis <-140> speed <280>; turn door2 to z-axis <140> speed <280>; set INBUILDSTANCE to 1; + return (0); } StopBuilding() @@ -54,11 +108,19 @@ StopBuilding() turn door1 to z-axis <0> speed <280>; turn door2 to z-axis <0> speed <280>; set INBUILDSTANCE to 0; + return (0); +} + +QueryNanoPiece(piecenum) +{ + piecenum = nano; + return (0); } -QueryNanoPiece(pieceIndex) +SweetSpot(piecenum) { - pieceIndex = nano; + piecenum = base; + return (0); } Killed(severity, corpsetype) diff --git a/scripts/Units/corca.cob b/scripts/Units/corca.cob index f63327aed38d045784e3ee240b4e9bcc357f5d40..ac1733032861122a72cf4cbc2ed35582045b1e30 100644 GIT binary patch literal 4491 zcmeI0zl&T|6vxl(&dkOi;1z6A7+xU={(#9=Dq>bmp#)@f!N$U!op~_>o1JmyP5jYh z3k&@ZEVL6u5X92X!XK?*qm2Zs*qcUzCJAYlx@%QPVov-j{$dAxqlR{5N-lS8;X9(&FWCts`uebAYH zNMzK@ZEWkXpVT16RL%Un=j6xQF$_oK?=dd^5(W{+OnZCw1)xLyN~8+)g? z-s8KCi(eX-Jk;t*an6YPBy~vrV%)5(!*X2qC#i$S#V?KPb#VPj>+rLNjdL#QP~j!b z;{2U*4%kQB+WXrP^J(w*?WP6>yEr%19f>oe+4pyIH=dypY^xnUR{-k3d&XRTrakqy zt)%W%986TrV{^5rV~rj7(s*$`YV0_d_kGdt)UKwFwRtN$&r4shJC--8GkK{S^`Rz@ zIc9ObFaB*H4sof|H(I3qK^)J?qWUIb%X=2Nd{HgG+31lIJL<*D9OXOlyEd*P@2@B` zee*EZkDRPMF8FU$HqoH6VV&B1FB`|}7=0hlykjALtHgP?Jdfjb+tl|#l4Q;JzVSK6 z=1;Ixb-l$pwBrn8>M>%z?qMEu*wGSPj@T{XS!t(u;K%p&g_1YFozE?^;D4K-`|Hh8 z2S;~Cj32u2W69tBr1WEkd`?~WVP8V|aerLrcMA^*HT8eb4`o9`HnX4?eAWK%W1i2R_^J(p0m5dM7sG zH!Hmp%>8N2HFTO0-dKN!{_Xrw%T@2uN!}`jv4=#Dh`!VV_J^n?P!EXCiY|z9(N)n* z#Qz`sB>GKsQ*=voTh!7YA3=0Z^tk95(M8cEQCIZ3=nYX%bXl|~nuy*PT^D^I>h+7^ zwO)}=`x6`F>F(vhUjEYPT0XJY^0#OCwAe0WXD?22*z=X2U0gVs3?{`3v*F%gxc`=R zqw!+%>MWnU_eyVn)E(yi+_vAz^J05ED(up5Z!aI%Zf}~~VAe0r+vVQ=`MBIAt>hHI?eU1)SiotCtdHB2mjt!mf8#GP0#s`A298l zQTmftGi#VHDdo(5#$Y+jXfe12Qs~d;5Pu^J*y|k+=F8=w%kVr(#m*tQ)$^#TpK`8# ztTW4xcAbIDbG>=>{nni8{PbM%KH%H$!}+ls<|A+9hn#Tc4F?3PMLc)KK5wz|xj<|e zF+7jR*+U#g+c_TUa@?gJAl7|W<*TmbS?=ddELSOsy+_2*U$IdB^of~gp~FmCSDV&k za#Ysl0QcFksDtkjp7r~PT?_B54J=o;9BnMay5ST_K(!=$V}HJwPAsjW6#4 zIE7!uc2f!MyZa=Fp+9?OJXh|YVg=)a7~Lzr=y2s#asA&x_w3)#r+2G3`}A?W1I76h z@Ns?jD$Y4$Z|2U>uis}GnD*IoeX`#Ftxt}!_W8#3N!~{3^9gg{zPH+a^6s}y6e`nNE}TU~{1xcW$1K zT1mAL*J3%-Xg1@z%tUjs)VsBGN@k speed <266.653795> / animSpeed; turn head to z-axis <-1.299999> speed <38.999979> / animSpeed; turn head to y-axis <1.299999> speed <38.999979> / animSpeed; - turn lfoot to x-axis <-15.0> speed <450.0> / animSpeed; + turn lfoot to x-axis <-15.000000> speed <450.000013> / animSpeed; turn lfoot to z-axis <-9.600000> speed <287.999998> / animSpeed; turn lfoot to y-axis <-17.099998> speed <794.999928> / animSpeed; turn lleg to x-axis <15.399998> speed <164.999988> / animSpeed; - turn lleg to z-axis <0.0> speed <74.999991> / animSpeed; + turn lleg to z-axis <0.000000> speed <74.999991> / animSpeed; turn rfoot to x-axis <-3.420312> speed <102.609373> / animSpeed; turn rfoot to z-axis <10.171875> speed <305.156263> / animSpeed; turn rfoot to y-axis <-12.787501> speed <26.625034> / animSpeed; move rleg to y-axis [1.190000] speed [35.700002] / animSpeed; turn rleg to x-axis <-15.699999> speed <779.999962> / animSpeed; - turn rleg to z-axis <2.333333> speed <35.0> / animSpeed; + turn rleg to z-axis <2.333333> speed <35.000002> / animSpeed; move torso to x-axis [0.247273] speed [7.418178] / animSpeed; move torso to y-axis [0.791272] speed [16.515861] / animSpeed; turn torso to x-axis <1.555560> speed <364.666782> / animSpeed; @@ -39,27 +41,27 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn turret to y-axis <-11.599999> speed <347.999965> / animSpeed; sleep 131; } - while(isMoving) { - if (isMoving) { //Frame:8 + while(bMoving) { + if (bMoving) { //Frame:8 call-script lua_UnitScriptDecal(1, (get PIECE_XZ(lfoot) & 0xffff0000) / 0x00010000 , (get PIECE_XZ(lfoot) & 0x0000ffff), get HEADING(0)); turn head to x-axis <-5.814835> speed <84.791223> / animSpeed; turn lfoot to x-axis <-17.299998> speed <68.999937> / animSpeed; turn lfoot to z-axis <-19.200000> speed <287.999998> / animSpeed; turn lfoot to y-axis <-29.399996> speed <368.999928> / animSpeed; - turn lleg to x-axis <31.099999> speed <471.0> / animSpeed; + turn lleg to x-axis <31.099999> speed <471.000027> / animSpeed; turn rfoot to x-axis <3.300000> speed <201.609364> / animSpeed; turn rfoot to z-axis <8.500000> speed <50.156273> / animSpeed; turn rfoot to y-axis <-20.599999> speed <234.374953> / animSpeed; - move rleg to y-axis [0.0] speed [35.700002] / animSpeed; + move rleg to y-axis [0.000000] speed [35.700002] / animSpeed; turn rleg to x-axis <-30.649996> speed <448.499898> / animSpeed; turn rleg to z-axis <1.166667> speed <34.999996> / animSpeed; turn torso to x-axis <3.777780> speed <66.666606> / animSpeed; turn torso to z-axis <0.078148> speed <142.555542> / animSpeed; - turn torso to y-axis <25.0> speed <234.375004> / animSpeed; + turn torso to y-axis <25.000000> speed <234.375004> / animSpeed; turn turret to y-axis <-16.199998> speed <137.999977> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:12 + if (bMoving) { //Frame:12 turn head to x-axis <9.399999> speed <456.445013> / animSpeed; turn lfoot to x-axis <-15.248437> speed <61.546852> / animSpeed; turn lfoot to z-axis <-17.528125> speed <50.156248> / animSpeed; @@ -67,78 +69,78 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations move lleg to y-axis [1.330000] speed [39.899998] / animSpeed; turn lleg to x-axis <15.365600> speed <472.031983> / animSpeed; turn rfoot to x-axis <7.200000> speed <116.999994> / animSpeed; - turn rfoot to z-axis <9.200000> speed <21.0> / animSpeed; + turn rfoot to z-axis <9.200000> speed <21.000014> / animSpeed; turn rfoot to y-axis <-16.799999> speed <113.999990> / animSpeed; turn rleg to x-axis <-15.199999> speed <463.499916> / animSpeed; - turn rleg to z-axis <0.0> speed <34.999996> / animSpeed; + turn rleg to z-axis <0.000000> speed <34.999996> / animSpeed; move torso to x-axis [-0.820945] speed [32.046536] / animSpeed; move torso to y-axis [1.076130] speed [8.545741] / animSpeed; - turn torso to x-axis <6.0> speed <66.666599> / animSpeed; + turn torso to x-axis <6.000000> speed <66.666599> / animSpeed; turn torso to z-axis <-4.673703> speed <142.555542> / animSpeed; turn torso to y-axis <17.187500> speed <234.375004> / animSpeed; turn turret to y-axis <-10.699998> speed <164.999988> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:16 + if (bMoving) { //Frame:16 turn head to x-axis <4.739835> speed <139.804927> / animSpeed; turn lfoot to x-axis <-10.112500> speed <154.078105> / animSpeed; turn lfoot to z-axis <-13.850001> speed <110.343729> / animSpeed; turn lfoot to y-axis <-4.399999> speed <515.624948> / animSpeed; move lleg to y-axis [2.040000] speed [21.300001] / animSpeed; - turn lleg to x-axis <-0.0> speed <460.967999> / animSpeed; + turn lleg to x-axis <-0.000000> speed <460.967999> / animSpeed; turn rfoot to x-axis <-4.400000> speed <347.999978> / animSpeed; turn rfoot to z-axis <7.300000> speed <56.999995> / animSpeed; turn rfoot to y-axis <0.899999> speed <530.999943> / animSpeed; - turn rleg to x-axis <-0.0> speed <455.999958> / animSpeed; + turn rleg to x-axis <-0.000000> speed <455.999958> / animSpeed; move torso to x-axis [-0.963374] speed [4.272872] / animSpeed; move torso to y-axis [2.001919] speed [27.773659] / animSpeed; - turn torso to x-axis <3.0> speed <90.0> / animSpeed; + turn torso to x-axis <3.000000> speed <90.000003> / animSpeed; turn torso to z-axis <-7.999999> speed <99.788884> / animSpeed; - turn torso to y-axis <0.0> speed <515.624990> / animSpeed; - turn turret to y-axis <0.0> speed <320.999954> / animSpeed; + turn torso to y-axis <0.000000> speed <515.624990> / animSpeed; + turn turret to y-axis <0.000000> speed <320.999954> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:20 + if (bMoving) { //Frame:20 turn head to x-axis <-2.634065> speed <221.217012> / animSpeed; turn lfoot to x-axis <-3.420312> speed <200.765620> / animSpeed; turn lfoot to z-axis <-10.171875> speed <110.343755> / animSpeed; turn lfoot to y-axis <12.787501> speed <515.624999> / animSpeed; move lleg to y-axis [1.190000] speed [25.499997] / animSpeed; turn lleg to x-axis <-15.699999> speed <470.999976> / animSpeed; - turn rfoot to x-axis <-15.0> speed <318.0> / animSpeed; + turn rfoot to x-axis <-15.000000> speed <318.000020> / animSpeed; turn rfoot to z-axis <9.600000> speed <68.999988> / animSpeed; turn rfoot to y-axis <17.099998> speed <485.999993> / animSpeed; turn rleg to x-axis <16.099999> speed <482.999969> / animSpeed; move torso to x-axis [-0.180015] speed [23.500793] / animSpeed; move torso to y-axis [1.004916] speed [29.910096] / animSpeed; - turn torso to x-axis <-0.0> speed <90.0> / animSpeed; + turn torso to x-axis <-0.000000> speed <90.000003> / animSpeed; turn torso to z-axis <-5.500000> speed <74.999985> / animSpeed; turn torso to y-axis <-17.187500> speed <515.625009> / animSpeed; turn turret to y-axis <10.599999> speed <317.999982> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:24 + if (bMoving) { //Frame:24 call-script lua_UnitScriptDecal(2, (get PIECE_XZ(rfoot) & 0xffff0000) / 0x00010000 , (get PIECE_XZ(rfoot) & 0x0000ffff), get HEADING(0)); turn head to x-axis <-5.924175> speed <98.703294> / animSpeed; turn lfoot to x-axis <3.300000> speed <201.609364> / animSpeed; turn lfoot to z-axis <-8.500000> speed <50.156273> / animSpeed; turn lfoot to y-axis <20.599999> speed <234.374953> / animSpeed; - move lleg to y-axis [0.0] speed [35.700002] / animSpeed; + move lleg to y-axis [0.000000] speed [35.700002] / animSpeed; turn lleg to x-axis <-30.649996> speed <448.499898> / animSpeed; turn rfoot to x-axis <-17.299998> speed <68.999937> / animSpeed; turn rfoot to z-axis <19.200000> speed <287.999998> / animSpeed; turn rfoot to y-axis <29.399996> speed <368.999928> / animSpeed; - turn rleg to x-axis <31.099999> speed <450.0> / animSpeed; - turn torso to x-axis <3.0> speed <90.0> / animSpeed; - turn torso to z-axis <-0.0> speed <164.999988> / animSpeed; - turn torso to y-axis <-25.0> speed <234.375004> / animSpeed; - turn turret to y-axis <16.799999> speed <186.0> / animSpeed; + turn rleg to x-axis <31.099999> speed <450.000013> / animSpeed; + turn torso to x-axis <3.000000> speed <90.000003> / animSpeed; + turn torso to z-axis <-0.000000> speed <164.999988> / animSpeed; + turn torso to y-axis <-25.000000> speed <234.375004> / animSpeed; + turn turret to y-axis <16.799999> speed <186.000002> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:28 + if (bMoving) { //Frame:28 turn head to x-axis <9.504121> speed <462.848892> / animSpeed; turn lfoot to x-axis <7.200000> speed <116.999994> / animSpeed; - turn lfoot to z-axis <-9.200000> speed <21.0> / animSpeed; + turn lfoot to z-axis <-9.200000> speed <21.000014> / animSpeed; turn lfoot to y-axis <16.799999> speed <113.999990> / animSpeed; turn lleg to x-axis <-15.199999> speed <463.499916> / animSpeed; turn rfoot to x-axis <-15.248437> speed <61.546852> / animSpeed; @@ -148,34 +150,34 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn rleg to x-axis <15.365600> speed <472.031983> / animSpeed; move torso to x-axis [0.674560] speed [25.637230] / animSpeed; move torso to y-axis [1.360988] speed [10.682176] / animSpeed; - turn torso to x-axis <6.0> speed <90.0> / animSpeed; - turn torso to z-axis <5.500000> speed <165.0> / animSpeed; + turn torso to x-axis <6.000000> speed <90.000003> / animSpeed; + turn torso to z-axis <5.500000> speed <165.000000> / animSpeed; turn torso to y-axis <-17.187498> speed <234.375056> / animSpeed; turn turret to y-axis <10.399999> speed <191.999999> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:32 + if (bMoving) { //Frame:32 turn head to x-axis <4.798352> speed <141.173069> / animSpeed; turn lfoot to x-axis <-4.400000> speed <347.999978> / animSpeed; turn lfoot to z-axis <-7.300000> speed <56.999995> / animSpeed; turn lfoot to y-axis <-0.899999> speed <530.999943> / animSpeed; - turn lleg to x-axis <-0.0> speed <455.999958> / animSpeed; + turn lleg to x-axis <-0.000000> speed <455.999958> / animSpeed; turn rfoot to x-axis <-10.112500> speed <154.078105> / animSpeed; turn rfoot to z-axis <13.850001> speed <110.343729> / animSpeed; turn rfoot to y-axis <4.399999> speed <515.624948> / animSpeed; move rleg to y-axis [2.040000] speed [21.300001] / animSpeed; - turn rleg to x-axis <-0.0> speed <460.967999> / animSpeed; + turn rleg to x-axis <-0.000000> speed <460.967999> / animSpeed; move torso to x-axis [1.529134] speed [25.637228] / animSpeed; move torso to y-axis [1.859490] speed [14.955046] / animSpeed; turn torso to x-axis <4.444447> speed <46.666602> / animSpeed; - turn torso to z-axis <8.0> speed <74.999998> / animSpeed; - turn torso to y-axis <0.0> speed <515.625172> / animSpeed; + turn torso to z-axis <8.000000> speed <74.999998> / animSpeed; + turn torso to y-axis <0.000007> speed <515.625172> / animSpeed; turn turret to y-axis <-0.500000> speed <326.999977> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:36 + if (bMoving) { //Frame:36 turn head to x-axis <-2.526372> speed <219.741736> / animSpeed; - turn lfoot to x-axis <-15.0> speed <318.0> / animSpeed; + turn lfoot to x-axis <-15.000000> speed <318.000020> / animSpeed; turn lfoot to z-axis <-9.600000> speed <68.999988> / animSpeed; turn lfoot to y-axis <-17.099998> speed <485.999993> / animSpeed; turn lleg to x-axis <16.099999> speed <482.999969> / animSpeed; @@ -194,29 +196,29 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations } } } -// Call this from StopMoving()! +// Call this from MotionControl()! StopWalking() { - move lleg to y-axis [0.0] speed [9.974999]; - move rleg to y-axis [0.0] speed [9.974999]; - move torso to x-axis [0.0] speed [8.011634]; + move lleg to y-axis [0.000000] speed [9.974999]; + move rleg to y-axis [0.000000] speed [9.974999]; + move torso to x-axis [0.000000] speed [8.011634]; move torso to y-axis [0.240744] speed [8.011633]; turn head to x-axis <5.899999> speed <115.712223>; - turn head to y-axis <0.0> speed <9.749995>; - turn head to z-axis <0.0> speed <9.749995>; - turn lfoot to x-axis <0.0> speed <112.500003>; + turn head to y-axis <0.000000> speed <9.749995>; + turn head to z-axis <0.000000> speed <9.749995>; + turn lfoot to x-axis <0.000000> speed <112.500003>; turn lfoot to y-axis <9.399999> speed <198.749982>; - turn lfoot to z-axis <0.0> speed <71.999999>; + turn lfoot to z-axis <0.000000> speed <71.999999>; turn lleg to x-axis <9.899999> speed <120.749992>; turn lleg to z-axis <-2.500000> speed <18.749998>; - turn rfoot to x-axis <0.0> speed <86.999995>; + turn rfoot to x-axis <0.000000> speed <86.999995>; turn rfoot to y-axis <-11.900000> speed <132.749986>; - turn rfoot to z-axis <0.0> speed <76.289066>; + turn rfoot to z-axis <0.000000> speed <76.289066>; turn rleg to x-axis <10.300000> speed <194.999990>; turn rleg to z-axis <3.500000> speed <8.750001>; turn torso to x-axis <-10.599999> speed <91.166695>; - turn torso to y-axis <0.0> speed <128.906293>; - turn torso to z-axis <0.0> speed <41.250000>; - turn turret to y-axis <0.0> speed <86.999991>; + turn torso to y-axis <0.000000> speed <128.906293>; + turn torso to z-axis <0.000000> speed <41.250000>; + turn turret to y-axis <0.000000> speed <86.999991>; } UnitSpeed(){ maxSpeed = stashed_max_speed; @@ -240,18 +242,18 @@ UnitSpeed(){ #define UNITSIZE 7 #define MAXTILT 100 -#include "../unit_hitbyweaponid_and_smoke.h" +#include "unit_hitbyweaponid_and_smoke.h" -StartMoving(reversing){ - signal SIGNAL_MOVE; - isMoving=TRUE; - set-signal-mask SIGNAL_MOVE; +StartMoving(){ + signal SIG_WALK; + bMoving=TRUE; + set-signal-mask SIG_WALK; start-script UnitSpeed(); start-script Walk(); } StopMoving(){ - signal SIGNAL_MOVE; - isMoving=FALSE; + signal SIG_WALK; + bMoving=FALSE; call-script StopWalking(); } @@ -261,31 +263,36 @@ Create() hide flare; hide aimx1; hide aimy1; - isMoving=TRUE; + bMoving=TRUE; hide flare; restore_delay = 3000; animSpeed = 4; start-script StopMoving(); + start-script SmokeUnit(); return (0); } -SetMaxReloadTime(reloadMS) +SetMaxReloadTime(Func_Var_1) { - restore_delay = reloadMS * 2; + restore_delay = Func_Var_1 * 2; return (0); } +SweetSpot(piecenum) +{ + piecenum = torso; + return (0); +} - -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = head; + piecenum = head; return (0); } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = flare; + piecenum = flare; return (0); } @@ -295,10 +302,10 @@ ExecuteRestoreAfterDelay() if (Stunned) { return (1); } - turn turret to y-axis <0.0> speed <135.0>; - turn head to x-axis <0.0> speed <85.0>; + turn turret to y-axis <0.000000> speed <135.000000>; + turn head to x-axis <0.000000> speed <85.000000>; wait-for-turn turret around y-axis; - wpn1_lasthead = 0xbadface; + wpn1_lasthead = 1000000; } SetStunned(State) { @@ -309,19 +316,19 @@ SetStunned(State) } RestoreAfterDelay() { - set-signal-mask SIGNAL_AIM1; + set-signal-mask SIG_AIM; sleep restore_delay; start-script ExecuteRestoreAfterDelay(); } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - turn turret to y-axis heading speed <270.0>; - turn head to x-axis <0.0> - pitch speed <170.0>; - if ((wpn1_lasthead == 0xbadface) OR ABSOLUTE_GREATER_THAN(WRAPDELTA(heading - wpn1_lasthead), <7>)) + signal SIG_AIM; + turn turret to y-axis heading speed <270.000000>; + turn head to x-axis <0.000000> - pitch speed <170.000000>; + if (((get ABS(wpn1_lasthead - heading)) > 65536) OR(((get ABS(wpn1_lasthead - heading)) > 1300) AND ((get ABS(wpn1_lasthead - heading)) < 64236))) { - wpn1_lasthead = 0xbadface; + wpn1_lasthead = 1000000; wait-for-turn head around y-axis; wait-for-turn turret around x-axis; } @@ -330,11 +337,15 @@ AimWeapon1(heading, pitch) return (1); } -FireWeapon1() +FirePrimary() { move barrel to z-axis [-2] speed [62.500000]; + show flare; wait-for-move barrel along z-axis; - move barrel to z-axis [0.0] speed [4.0]; + move barrel to z-axis [0.000000] speed [4.000000]; + sleep 15; + hide flare; + return (0); } Killed(severity, corpsetype) @@ -346,11 +357,11 @@ Killed(severity, corpsetype) explode turret type BITMAPONLY | NOHEATCLOUD; explode head type BITMAPONLY | NOHEATCLOUD; explode barrel type FIRE | SMOKE | FALL | NOHEATCLOUD; - - - - - + //explode flare type BITMAPONLY | NOHEATCLOUD; + //explode rleg type BITMAPONLY | NOHEATCLOUD; + //explode rfoot type BITMAPONLY | NOHEATCLOUD; + //explode lleg type BITMAPONLY | NOHEATCLOUD; + //explode lfoot type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } if( severity <= 50 ) @@ -360,11 +371,11 @@ Killed(severity, corpsetype) explode turret type FIRE | SMOKE | FALL | NOHEATCLOUD; explode head type FALL | NOHEATCLOUD; explode barrel type FALL | NOHEATCLOUD; - - - - - + //explode flare type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rleg type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rfoot type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lleg type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lfoot type FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) @@ -375,10 +386,10 @@ Killed(severity, corpsetype) explode head type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode barrel type FIRE | SMOKE | FALL | NOHEATCLOUD; explode flare type FIRE | SMOKE | FALL | NOHEATCLOUD; - - - - + //explode rleg type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode rfoot type SMOKE | FALL | NOHEATCLOUD; + //explode lleg type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lfoot type SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; @@ -386,10 +397,10 @@ Killed(severity, corpsetype) explode turret type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode head type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode barrel type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; - - - - - + //explode flare type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rleg type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode rfoot type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode lleg type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lfoot type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/corcarry.bos b/scripts/Units/corcarry.bos index ba4616e062b..0784c29fd7a 100644 --- a/scripts/Units/corcarry.bos +++ b/scripts/Units/corcarry.bos @@ -1,27 +1,24 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, pad1, pad0, dish, wake, bow, beam1, beam2, nano1, nano2, anti, dtr, dtl, dbr, dbl, blink; -static-var landingPadSelector, oldHead; +static-var Static_Var_1, oldHead; static-var Stunned; // Signal definitions -#define SIGNAL_MOVE 1 -#define SIGNAL_AIM1 256 +#define SIG_MOVE 2 +#define SIG_AIM 3 +#define BASEPIECE base +#define HITSPEED <10.0> +//how 'heavy' the unit is, on a scale of 1-10 +#define UNITSIZE 10 +#define MAXTILT 200 -#define RB_MASS 40 -#define RB_LENGTH 8 -#define RB_WIDTH 3 -#define RB_PITCH_ACCELERATION 10 -#define RB_ROLL_ACCELERATION 8 -#define RB_WAKE_PIECE wake -#define RB_WAKE_CEG 1024 + 1 -#define RB_BOWSPLASH_PIECE bow -#define RB_BOWSPLASH_CEG 1024 + 2 - -#include "../bar_ships_common.h" +#include "unit_hitbyweaponid_and_smoke.h" Lights() { @@ -36,6 +33,26 @@ Lights() start-script Lights(); } +RockOnWaves() +{ + var rockDir, rockAng, rockSpeed; + rockDir = <-0.1>; + rockAng = <-0.1>; + while( TRUE ) + { + while( get ABS(rockAng) < <1.11> ) + { + rockSpeed = <1.25> - get ABS(rockAng); + turn base to x-axis rockAng speed rockSpeed*2; + wait-for-turn base around x-axis; + rockAng = rockAng + rockDir; + } + rockDir = 0 - rockDir; + rockAng = rockAng + rockDir + rockDir; + } +} + + Go() { @@ -45,7 +62,7 @@ Go() Stop() { - spin dish around y-axis speed <0.0>; + spin dish around y-axis speed <0.000000>; return (0); } @@ -59,10 +76,12 @@ Create() hide wake; hide nano1; hide nano2; - landingPadSelector = 0; - start-script InitRockBoat(); - SLEEP_UNTIL_UNITFINISHED; - start-script BoatPhysics(); + Static_Var_1 = 0; + while( get BUILD_PERCENT_LEFT ) + { + sleep 500; + } + start-script RockOnWaves(); } StartBuilding() @@ -90,27 +109,59 @@ Deactivate() start-script Stop(); } -StartMoving(reversing) +waveSplash() { + while( TRUE ) + { + turn base to x-axis <-1.0> speed <1.0>; + move base to y-axis [0.23] speed [0.17]; + wait-for-turn base around x-axis; + turn base to x-axis <0.0> speed <1.0>; + move base to y-axis [0.0] speed [0.17]; + wait-for-turn base around x-axis; + } +} +StartMoving() +{ + signal SIG_MOVE; + set-signal-mask SIG_MOVE; + var waketime; + start-script waveSplash(); + var bowtime; + bowtime = 0; + while( TRUE ) + { + emit-sfx 1024 + 1 from wake; + if (bowtime) emit-sfx 1024 + 2 from bow; + bowtime = !bowtime; + waketime = (get CURRENT_SPEED) * 100 / get MAX_SPEED; + if( waketime < 50 ) waketime = 50; + sleep 12000 / waketime; + } } StopMoving() { - + signal SIG_MOVE; + turn base to x-axis <0.0> speed <1.0>; + move base to y-axis [0.0] speed [0.17]; } +SweetSpot(piecenum) +{ + piecenum = base; +} - -QueryLandingPad(pieceIndex1, pieceIndex2) +QueryLandingPad(Func_Var_1, Func_Var_2) { - pieceIndex1 = 1; - pieceIndex2 = 2; - landingPadSelector = !landingPadSelector; - if( landingPadSelector ) + Func_Var_1 = 1; + Func_Var_2 = 2; + Static_Var_1 = !Static_Var_1; + if( Static_Var_1 ) { - pieceIndex1 = 2; - pieceIndex2 = 1; + Func_Var_1 = 2; + Func_Var_2 = 1; } } @@ -146,10 +197,10 @@ RestoreAfterDelay() } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; move dbl to x-axis [-5.6] speed [8]; move dbl to z-axis [-5.6] speed [8]; move dbr to x-axis [5.6] speed [8]; @@ -163,19 +214,19 @@ AimWeapon1(heading, pitch) return (1); } -FireWeapon1() +FirePrimary() { sleep 150; } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = anti; + piecenum = anti; } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = anti; + piecenum = anti; } Killed(severity, corpsetype) @@ -189,6 +240,14 @@ Killed(severity, corpsetype) explode beam2 type BITMAPONLY | NOHEATCLOUD; explode nano2 type BITMAPONLY | NOHEATCLOUD; explode dish type BITMAPONLY | NOHEATCLOUD; + //explode wake type BITMAPONLY | NOHEATCLOUD; + //explode pad1 type BITMAPONLY | NOHEATCLOUD; + //explode pad0 type BITMAPONLY | NOHEATCLOUD; + //explode anti type BITMAPONLY | NOHEATCLOUD; + //explode dbl type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode dbr type BITMAPONLY | NOHEATCLOUD; + //explode dtl type BITMAPONLY | NOHEATCLOUD; + //explode dtr type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } if( severity <= 50 ) @@ -200,6 +259,14 @@ Killed(severity, corpsetype) explode beam2 type FIRE | SMOKE | FALL | NOHEATCLOUD; explode nano2 type FIRE | SMOKE | FALL | NOHEATCLOUD; explode dish type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode wake type FALL | NOHEATCLOUD; + //explode pad1 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode pad0 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode anti type FALL | NOHEATCLOUD; + //explode dbl type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode dbr type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode dtl type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode dtr type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) @@ -211,6 +278,14 @@ Killed(severity, corpsetype) explode beam2 type FIRE | SMOKE | FALL | NOHEATCLOUD; explode nano2 type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; explode dish type SMOKE | FALL | NOHEATCLOUD; + //explode wake type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode pad1 type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode pad0 type SMOKE | FALL | NOHEATCLOUD; + //explode anti type SMOKE | FALL | NOHEATCLOUD; + //explode dbl type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode dbr type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode dtl type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode dtr type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; @@ -220,5 +295,13 @@ Killed(severity, corpsetype) explode beam2 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode nano2 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode dish type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode wake type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode pad1 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode pad0 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode anti type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode dbl type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode dbr type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode dtl type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode dtr type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/corcarry.cob b/scripts/Units/corcarry.cob index 44737ccc5358ff2f5c9596851243fc37bd190b39..82cf6455ab3cbb01fda01fc661f73a478b156223 100644 GIT binary patch literal 5037 zcmbtYO=w(I6h4!T(;ut8>PA7~K{ujOCc#xvNYa?r{@~cCT~+cX^O`&|nHgtZl13K} zg?6K$h(8Vf)F04=xNswa3N8eT8y7CzR8XWFLFpo^B8=a6-#u@xllMZVo%EY?-}yi1 zo_k-?qKMoFc)(Oq1pmzE(fuNqfPaBUz87ZmhJ_W@~9^hquxk) z#2dvU^+>5lD&B3L%$2-*EsrdzlpyWvT_LZW=pDe4w&bZ#KHtA9@m(O_+A_B0!yLpn zrHSTA8_Ho~Y?PY3w%GRVsVDGk^qn=AnhUAvAL43^y!d%~>W`E?VZZ5%HL_qh6q@4I>o@ovq z^1}~Rbk8qYd4Y=8lf99NlJ}nFj|}jiw|o%Mez-HpSQt^vX3@;l7g&e_Fpg^&|eMnOUAk#?^C4$~n?p#J96SKBANGqjFNiKo40j>to+G zK{WqV$Ht^erhSgD>y9tZ68+X~-OE>dJt<=csgt1xR+>kip3I?}R0QP=ked4w)bsa(>C?vwIfWHrGu$v2(S^HD<~9vo;`N&Q`_x2X*}$Sx#&tb7qsi zO-+No!7rIW{k*lONsT4%JDcxU*7g`?S^WMSu)YfqC-#3Ff)Y*zT^f65MyRJgD9`g@ zWH~-KOK;hHj9w+#f3q(wXWdQiXx6>YC^8=A5jpTtXOqt+&$*Jf2TqLK-UUhi$z8yG z(HZ4ka!qrvx+Xqmp7#d(oa*A9abrEe;J6bRr^a(6+n9H(ovoiWS1M-o>t^=E^vU`g>?_%Wa@Ao^-JIDs?GNu}+VXDJvy<}B z^TW1owV^8Gs83QiZhF_l_N29?j`n~{=_WHHvb%4K*}KyS)!$Ybb4X(SUv|efc9iAW z>5OLiq%62(k$_Hgy_b~pnAH&#apN6s7u7C5a z&-U*x+drdUPWsI{{fv5PMwy;X=A%6urk85J6PsJ<@i1|;#~Lqh9tQi$e%xyB@?z=i zX&uA%TWh&ld!5xR`@EdBk6AW5+3&&ra>UL69|8P3?HVwFOW_#s3~&y38Mp|%2JrXD z?}2?tzy}@#W`I|KkAcsDP2dJFf?#_A{(s9+;1nat`9B>Ax0t-MLcmY@iUIeWIzPlrLP*^t@g=2G}6*t8g+}uC$}&puH|LQ9IPN zajp;0nQ1puz2i~64qw%v6G|(njq$52wFpVC1xuk+n`=@HgXJ;vJuZ!)(Ht}1;}SID UNNRB#s7tL1TCGd99yONaKg}A6$^ZZW literal 5235 zcmb`LO>9(E6vywhLqQRJ_!Uh+hnOG>jMHvRjL{YmBz#y3Q8y&Kb{;V4bf%e3q16~L zfrtrlr$Ist32Rp_bYo<}%BUL`nrPe@6HHjJzyuYo|KEN0%v^_=ipC*l?z{K=&pH3| z@!p$Kbk02_NhC*$&fTe%Pw`&oDw4~R&Ft@Uu8<4>bH(yNGN?7)%hc~rhIOY_S1Kl8 zlE*t(vvK8Of}a%u51jo_*M4QRcjH5eD~W@oD8F!UmppZ@9B1&bvjMIH-c}!9AlCI> zUrbzi(EEdn8y!pr#KU+^1Pu5q#|tXdpwH>rl6(lu`HkZOm2x{DUom|g9pj6fh##L> zUh?SN!J*_+U3mR%a3k*l#kJM*4)MEr6Q4SOw>9UObHCl3;C6m#X^E8?!Jm(-+HviB zq1sSOVhZB(SrxFvY~zFhhcEP2b7}#`^OTR+2A{;UzJtS*y5r}DxW%z;7Qp!$2izYK zj&pGI$Nb@Il)$6nm}oA_xgH!nGk@SpIEZlQ&7bF_J?p8ib8YipM=SRO*eetgpWa+8tbxF!!%1H+(P$ z=+X1Ef{D5tkWP77D_XTfQ`7o47+y=Jr97T<8~Woz|) zMD8s9E%P7p^Ywu+yh@$tKj&tTzh3s%1G}fpo*Bn}%-a{>i zq;g%MLXk%$;Nf7;iH#Idyty|xi*+8@Eq7+ZeyimD&*Se@eB#|9we`-8cXXWL8(&~tGL--R2zaZJ)e$T;JQeba z&%0kwMlgtUz>E`@?Xx~OcQAiXu)>Sg{}$FNN`8-T&V8@6@;+f7&j&r>7~X!> z7qR1e=-ZIvZXAZZzaofie2ieD#pmG0LoBUvEPucD;o)^r?eNVriBG#0fq2zx5iub*Y&fzYZ*Iq{p?mRV~4I|rwzSRFYNxL#^~cZHB~29 z>hza;d?B3KEYN=&)OH<1O+O(h^VtUz&w{`4W<&jHOjj=s9r|sF-x|Go5$ifR=6yQ% zzV3e6_3DM$q3gCYU9Vo4&tAPSU9VomI^wxfAu${^(x1xyLmlJUe2-JrF|M!OL;i0m z^$y6t)yMtE_F}_xFO559W$o7mCvuJtS zT;jt&%LA|Bz>E4V$LqZG@HAd0!`^tA-gw#Gc-ekAUQ_rCyj}^sJieUg5$6w-{Rdn` zyxs}>e!NU?yv_uCH!pnuQ*1v+QEcO4v2AZPF}%e#eRpgqZIE12^L~}=QFC|?UzB_( z`B?IUEXK@M-3b<_s(a{#a(F~C*x_wy|9o?&9}0NY_8R4W@Cq1S#xVvOBda~thKK- zU$18sG4EE6RcCVQ!){x(nc1~>ZX02?H5+Z*&T6eDUz6!v=4R8%FkfX?sm>j7$5JId r**NAVvvg+Ie~-9&T5k;d?-7^QTUA$SH6=AynbbO2bCb1decJs6dCr^C diff --git a/scripts/Units/corcarry2.bos b/scripts/Units/corcarry2.bos index fd7dd880ad1..966b309e5ee 100644 --- a/scripts/Units/corcarry2.bos +++ b/scripts/Units/corcarry2.bos @@ -1,30 +1,27 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, pad1, pad0, dish, wake, bow, beam1, beam2, nano1, nano2, anti, dtr, dtl, dbr, dbl, blink, drone1, drone2, drone3, drone4, drone5, drone6, drone7, drone8, drone9, drone10, drone11, drone12, drone13, drone14, drone15, drone16, drone17, drone18, drone19, drone20, drone21, drone22, drone23, drone24; -static-var landingPadSelector, oldHead; +static-var Static_Var_1, oldHead; static-var Stunned; // Signal definitions -#define SIGNAL_MOVE 1 -#define SIGNAL_AIM1 256 -#define SIGNAL_AIM2 512 +#define SIG_MOVE 2 +#define SIG_AIM 3 +#define SIG_AIM_2 8 +#define BASEPIECE base +#define HITSPEED <10.0> +//how 'heavy' the unit is, on a scale of 1-10 +#define UNITSIZE 10 +#define MAXTILT 200 -#define RB_MASS 40 -#define RB_LENGTH 8 -#define RB_WIDTH 3 -#define RB_PITCH_ACCELERATION 10 -#define RB_ROLL_ACCELERATION 8 -#define RB_WAKE_PIECE wake -#define RB_WAKE_CEG 1024 + 1 -#define RB_BOWSPLASH_PIECE bow -#define RB_BOWSPLASH_CEG 1024 + 2 - -#include "../bar_ships_common.h" +#include "unit_hitbyweaponid_and_smoke.h" Lights() { @@ -39,6 +36,26 @@ Lights() start-script Lights(); } +RockOnWaves() +{ + var rockDir, rockAng, rockSpeed; + rockDir = <-0.1>; + rockAng = <-0.1>; + while( TRUE ) + { + while( get ABS(rockAng) < <1.11> ) + { + rockSpeed = <1.25> - get ABS(rockAng); + turn base to x-axis rockAng speed rockSpeed*2; + wait-for-turn base around x-axis; + rockAng = rockAng + rockDir; + } + rockDir = 0 - rockDir; + rockAng = rockAng + rockDir + rockDir; + } +} + + Go() { @@ -48,7 +65,7 @@ Go() Stop() { - spin dish around y-axis speed <0.0>; + spin dish around y-axis speed <0.000000>; return (0); } @@ -62,11 +79,12 @@ Create() hide wake; hide nano1; hide nano2; - landingPadSelector = 0; - start-script InitRockBoat(); - SLEEP_UNTIL_UNITFINISHED; - start-script BoatPhysics(); - + Static_Var_1 = 0; + while( get BUILD_PERCENT_LEFT ) + { + sleep 500; + } + start-script RockOnWaves(); } StartBuilding() @@ -94,28 +112,59 @@ Deactivate() start-script Stop(); } - -StartMoving(reversing) +waveSplash() { + while( TRUE ) + { + turn base to x-axis <-1.0> speed <1.0>; + move base to y-axis [0.23] speed [0.17]; + wait-for-turn base around x-axis; + turn base to x-axis <0.0> speed <1.0>; + move base to y-axis [0.0] speed [0.17]; + wait-for-turn base around x-axis; + } +} +StartMoving() +{ + signal SIG_MOVE; + set-signal-mask SIG_MOVE; + var waketime; + start-script waveSplash(); + var bowtime; + bowtime = 0; + while( TRUE ) + { + emit-sfx 1024 + 1 from wake; + if (bowtime) emit-sfx 1024 + 2 from bow; + bowtime = !bowtime; + waketime = (get CURRENT_SPEED) * 100 / get MAX_SPEED; + if( waketime < 50 ) waketime = 50; + sleep 12000 / waketime; + } } StopMoving() { - + signal SIG_MOVE; + turn base to x-axis <0.0> speed <1.0>; + move base to y-axis [0.0] speed [0.17]; } +SweetSpot(piecenum) +{ + piecenum = base; +} - -QueryLandingPad(pieceIndex1, pieceIndex2) +QueryLandingPad(Func_Var_1, Func_Var_2) { - pieceIndex1 = 1; - pieceIndex2 = 2; - landingPadSelector = !landingPadSelector; - if( landingPadSelector ) + Func_Var_1 = 1; + Func_Var_2 = 2; + Static_Var_1 = !Static_Var_1; + if( Static_Var_1 ) { - pieceIndex1 = 2; - pieceIndex2 = 1; + Func_Var_1 = 2; + Func_Var_2 = 1; } } @@ -151,10 +200,10 @@ RestoreAfterDelay() } -AimWeapon2(heading, pitch) +AimSecondary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; move dbl to x-axis [-5.6] speed [8]; move dbl to z-axis [-5.6] speed [8]; move dbr to x-axis [5.6] speed [8]; @@ -168,43 +217,43 @@ AimWeapon2(heading, pitch) return (1); } -FireWeapon2() +FireSecondary() { sleep 150; } -QueryWeapon2(pieceIndex) +QuerySecondary(piecenum) { - pieceIndex = anti; + piecenum = anti; } -AimFromWeapon2(pieceIndex) +AimFromSecondary(piecenum) { - pieceIndex = anti; + piecenum = anti; } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM2; - set-signal-mask SIGNAL_AIM2; + signal SIG_AIM_2; + set-signal-mask SIG_AIM_2; start-script RestoreAfterDelay(); return (1); } -FireWeapon1() +FirePrimary() { sleep 150; } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = dish; + piecenum = dish; return (0); } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = dish; + piecenum = dish; return (0); } @@ -219,6 +268,14 @@ Killed(severity, corpsetype) explode beam2 type BITMAPONLY | NOHEATCLOUD; explode nano2 type BITMAPONLY | NOHEATCLOUD; explode dish type BITMAPONLY | NOHEATCLOUD; + //explode wake type BITMAPONLY | NOHEATCLOUD; + //explode pad1 type BITMAPONLY | NOHEATCLOUD; + //explode pad0 type BITMAPONLY | NOHEATCLOUD; + //explode anti type BITMAPONLY | NOHEATCLOUD; + //explode dbl type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode dbr type BITMAPONLY | NOHEATCLOUD; + //explode dtl type BITMAPONLY | NOHEATCLOUD; + //explode dtr type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } if( severity <= 50 ) @@ -230,6 +287,14 @@ Killed(severity, corpsetype) explode beam2 type FIRE | SMOKE | FALL | NOHEATCLOUD; explode nano2 type FIRE | SMOKE | FALL | NOHEATCLOUD; explode dish type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode wake type FALL | NOHEATCLOUD; + //explode pad1 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode pad0 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode anti type FALL | NOHEATCLOUD; + //explode dbl type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode dbr type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode dtl type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode dtr type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) @@ -241,6 +306,14 @@ Killed(severity, corpsetype) explode beam2 type FIRE | SMOKE | FALL | NOHEATCLOUD; explode nano2 type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; explode dish type SMOKE | FALL | NOHEATCLOUD; + //explode wake type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode pad1 type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode pad0 type SMOKE | FALL | NOHEATCLOUD; + //explode anti type SMOKE | FALL | NOHEATCLOUD; + //explode dbl type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode dbr type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode dtl type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode dtr type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; @@ -250,5 +323,13 @@ Killed(severity, corpsetype) explode beam2 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode nano2 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode dish type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode wake type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode pad1 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode pad0 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode anti type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode dbl type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode dbr type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode dtl type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode dtr type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/corcarry2.cob b/scripts/Units/corcarry2.cob index 090ab73470c2de8226332ba2427777157b3813ee..d0512804c0ac5fb8de5427631e4fcb5e083e1315 100644 GIT binary patch literal 5551 zcmbtYOKenS6h3`8JOsQd8jO#Onizb9%nT@KVk{3qc}S%i+@QVfT-r&eGn45pr7Ic@ zxL`p-;)BEpxY0zrae*XiA_+#LCdL&mFi{CEOeDmxFeIja-~XR8a~0(gHbp_JX z6?Eo0gDz~TM@l_X32q9cKNGA_9$C_xfwZajEqOVw_aK(ECC_|vf6oH%yMuhSWo*lb zIY?Flh{f`x4dsrPpf0a#Y@7Df7kGAdi8Ys&3#scL;#!Qf_-T6PkCZ)Ozv+uLvS;su zG~#5tU5_bZ{iKv_;6i&hp}f%XIvRO(=kzS#-+E7#hHpKi*AqPUo;t}`1v1b#$$8(* zvynr9{P0T^JM(u{-a*C7{%oWt6TGMV&KCZw$_EkaM{))k3!{qJ>~=FXjU{=UN9r>J zn?16m*U!}FSW=JS8odZIzR%#AC!dA7=6Z!rbgqWE#wpS?UxBu-aDB-D~OJ|>$5$c%_ z%F}!}S&9$N(p#F3)9dx;@6M%`SWo#onsqO6ij0SOL=N2AY;y1N?9T*?;Ka%GF7WyL zyMX6nGs?T#C-Wd&lZ*{b;#Tu}#0O=S*Cm)L&~~$!?XK4ttu+nSHbV@NT9p?`C^; z8a(uTqtXKN{LF|fY}#V>mN}vMyH>^=e60V=md;{F zS(=^AXgi;jrP@nrZJ{=PQlHQ#@?ZaIsgy;o;=m$W;Jq^wz^KZ|3>kSXliorT%8I}4MwI}7vK z?kr5!?ktir<|)~Z!1UN7etqW;dzYNex5-2wll`^6@m-XBhNx<1Oa0m8=EJ?OwD)d} z-d}G%JiFQQnN7}oY#y2WU92VRzncxi(E4I`1ov5}kWPV0KknRMLE{e0g4HVH`z_6m zwWrDOCrPTz-oshdnF6(3T)oK8&NEq`yT`S@(^? zgG*s6@Di{eH~<_1jsW~#`xUSR31oqlz-Hhu@B#2Ka0R#ubRyVdU?$flqbEz}LX{z)!$A;1}R`;1A$W;1cjR@DDHpWbP1I3M>ci1|9$&26Dh! z;2B^GuoKt~yao&bRbT=*0K5qt0p0-WY{ zeN$8pC#4St@pz>Y73Est`qF4$G+3<^!}_FbF4d#v&IM?0p}DzUO=yGBTQ7~8p{<>n zZPduN+e+m!(ijNGBB_PNJU?<$ETP_sa3qp}>VynL;b`7{7NinZs(JTWkgyV$q!`zM zvJ?kE2g))~E>%XPSg%&1ye9=uR(rC>lgB-I!jrY0tn=haPx8paxluoPb(B|6d3BXn bUwL(wS8sWBmsfuU^;fXG)L%jU71qdqwr=#5 literal 5741 zcmb_gU5Hd=7=CAWcC{btR4N2o<3;9$;+#pdpr2j;`cZ4#RlKS^yK`2Dot;@`&#J40 zLP{${5oDA}2zB8_K@e0ol8{$LUDQpHL=d4D5(Y|I+V(u(_q}I6$C=Hfk!RlXeed7% zzTbP!nKdgS^MFOb;jGBbko>%Hr%3iLkpx(b_3YUqnV=(}E}QQNIwAcvT+MpFlj|TQ zmknqW+~2TOAIWC}#_4kQH0QdzX+6VROR+nU95?`3#3ctgA%+t#xknzl*THLNuhQg) z5#@ZN&jyn3H1WtqdOCv+@K9cT&W849_GUzaPE*slDa3#+_b={+QO^3A{K#qYV4Ja6 z6Z89fS{EXUZ0!z?9*wBu#sMnse7ql@v5ySUkOy<*bryX6{cgDF0Zhmf^ z1=^V&JG(2M9rtO+^U-*W)x*R+;22;o@>Wkfo|(p@U5)`fJL)x_;e<8ifu?;d?OA)0 z_XBOuu#t=jzS<*kd78P<{<4dqIdrbDeZx7l4pLzbo`=>&PTCjhxzBd_cJ%k{{Bxuo z)v~oK;N0&DR~`lVaUQwn>rB5q9vfY(jN_qwnuMQUi+O&yni-zleW|k{4B&F> z%u>>RA0)YugXw+Va#X#@`3&{xnz6{0|L`$&^>hbs;ey=ME=Q$T(?M6$uCw-8Fp2kr z;OW_FHk*AJn_OG@YJcxRIL&{}{JZ*0e@K|Ta*gLd_tl^ATKVf4=sl(WoN@a18ox{+ z=*1?t$1U;RJ$#m%f856me+e$>I-fD`673()nmU>q-Yq20mo^AvY!=a&wc!joy}>&0Ctjv|ZR}*LeNRx57p3_v z3<*kR&Dh*GX9dak3D^F7@JzT(-bUh!x&3?SdspKI26T0Q!zA!AIh+rKsX>Y^7o?xd z+^=nT7@gNU#^y7LpR^Z6aKyfORyOVXHvTnd*`H^fSK6=yu2}=m9>Scx_9WfIe9Y^# zJk*D#j6q+G;pa_f3BC)Rujv(PNbUCN^~^?%sPHxh$H&@Tt0RY2x>?4ny{?_#t<(5X z*Us;jY5b^b_+i1b!&&J4$sSYh_oSro zbK{M={_|j(&SGfj&nf=aXmu98u2G{sr^9dK?uTEivrs?kn*CJQ>MS&7tFusDtF!QR z%qO`_pmyvL{$w^E_R*isH@S;G`u){=$owsZv!ls>)oTn>y!M{N(EA(Z!}0L%Y4Xxp zBfshN{yft5Zu;iz`*JBBn%rx?zmL);n32}6YyJJCYd&k~uWNmG>sp_Sx;8vrKJwT5 zgfYy!#qrwgc(HB%b4TM~+vGjM3-DB4``uc3sa|>MT6yVuI$nc}>3HpNytLo!n_oXo zxqg=y9OWj7w|WbL9ly)60ir@4}1-L2mA>90{jmA0Zaii&}aVN)&gJ& z@CfiUumyM?h=3tr1lR*i0F*z;WOt@D=ba@B{EOa2ogxxBy%My5@?^ z0_Fhof%||Zz;fVGU=6SV*bF=e#K2S4a?)2D99~(A65&^I`@~pza7_B*!CJYJs-7$- zD<`(Z(P*vuR7qAxBhj|F)IU-ij%9s$+xBEko~TKGQX7?3^*BmmTu1d}<#@SLDp$7| zO}gkEOv*cGvpSCS(wJ|k?NDQPxp6$MPpprs3{s3rvSwF2IG)6P@mNx;$Gt;ITwfhm zq6z7blm2A9T8&F!-mL5`k67vjSzE5hdToO10yb;wwbU+k2|brkJeN?eatUQ!xl%#; zfoLq2(Wn&iD=($;*ml_&p-%&~oiY$dBcb^&NHwa~Li1gasG5|el+=NWlm;LNDl$+h zSBIrkuT|sFih>mnSh38C speed <90.0> / animSpeed; //delta=-3.00 - turn head to y-axis <-7.0> speed <210.0> / animSpeed; //delta=-7.00 + set-signal-mask SIG_WALK; + if (bMoving) { //Frame:8 + turn head to x-axis <3.000000> speed <90.000003> / animSpeed; //delta=-3.00 + turn head to y-axis <-7.000000> speed <210.000002> / animSpeed; //delta=-7.00 turn lfoot to x-axis <-0.607104> speed <36.255456> / animSpeed; //delta=1.21 turn lfoot to z-axis <-7.167780> speed <425.045024> / animSpeed; //delta=14.17 turn lfoot to y-axis <1.409795> speed <225.511092> / animSpeed; //delta=-7.52 @@ -39,10 +41,10 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn lthigh to z-axis <4.523728> speed <266.002323> / animSpeed; //delta=-8.87 turn lthigh to y-axis <1.141126> speed <16.796997> / animSpeed; //delta=0.56 turn ltoes to x-axis <-17.599999> speed <527.999970> / animSpeed; //delta=17.60 - turn lturret to x-axis <1.0> speed <30.0> / animSpeed; //delta=-1.00 + turn lturret to x-axis <1.000000> speed <30.000000> / animSpeed; //delta=-1.00 turn lturret to z-axis <1.004800> speed <30.143997> / animSpeed; //delta=-1.00 - turn pelvis to z-axis <-1.0> speed <30.0> / animSpeed; //delta=1.00 - turn pelvis to y-axis <2.0> speed <60.0> / animSpeed; //delta=2.00 + turn pelvis to z-axis <-1.000000> speed <30.000000> / animSpeed; //delta=1.00 + turn pelvis to y-axis <2.000000> speed <60.000000> / animSpeed; //delta=2.00 turn rfoot to x-axis <-24.860664> speed <712.502787> / animSpeed; //delta=23.75 turn rfoot to z-axis <7.373261> speed <470.093012> / animSpeed; //delta=-15.67 turn rfoot to y-axis <-1.071550> speed <35.986550> / animSpeed; //delta=1.20 @@ -52,14 +54,14 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn rthigh to x-axis <14.599454> speed <470.594499> / animSpeed; //delta=-15.69 turn rthigh to z-axis <-4.058825> speed <274.498891> / animSpeed; //delta=9.15 turn rthigh to y-axis <0.892828> speed <46.233794> / animSpeed; //delta=1.54 - turn rtoes to x-axis <-0.700001> speed <21.0> / animSpeed; //delta=0.70 - turn rturret to x-axis <1.0> speed <30.0> / animSpeed; //delta=-1.00 + turn rtoes to x-axis <-0.700001> speed <21.000017> / animSpeed; //delta=0.70 + turn rturret to x-axis <1.000000> speed <30.000000> / animSpeed; //delta=-1.00 sleep ((33*animSpeed) -1); } - while(isMoving) { - if (isMoving) { //Frame:12 + while(bMoving) { + if (bMoving) { //Frame:12 call-script lua_UnitScriptDecal(1, (get PIECE_XZ(rfoot) & 0xffff0000) / 0x00010000 , (get PIECE_XZ(rfoot) & 0x0000ffff), get HEADING(0)); - turn head to x-axis <0.500000> speed <75.0> / animSpeed; //delta=2.50 + turn head to x-axis <0.500000> speed <75.000003> / animSpeed; //delta=2.50 turn head to z-axis <2.781250> speed <83.437501> / animSpeed; //delta=-2.78 turn head to y-axis <-9.437500> speed <73.125008> / animSpeed; //delta=-2.44 turn lfoot to x-axis <5.543772> speed <184.526274> / animSpeed; //delta=-6.15 @@ -90,14 +92,14 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn rtoes to x-axis <-25.725003> speed <750.750058> / animSpeed; //delta=25.03 turn rtoes to z-axis <-0.400000> speed <11.999999> / animSpeed; //delta=0.40 turn rtoes to y-axis <-2.850000> speed <85.499992> / animSpeed; //delta=-2.85 - turn rturret to x-axis <0.500000> speed <15.0> / animSpeed; //delta=0.50 + turn rturret to x-axis <0.500000> speed <15.000000> / animSpeed; //delta=0.50 turn rturret to z-axis <-0.135784> speed <23.003642> / animSpeed; //delta=-0.77 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:16 - turn head to x-axis <-0.0> speed <15.0> / animSpeed; //delta=0.50 - turn head to z-axis <3.0> speed <6.562501> / animSpeed; //delta=-0.22 - turn head to y-axis <-10.0> speed <16.874981> / animSpeed; //delta=-0.56 + if (bMoving) { //Frame:16 + turn head to x-axis <-0.000000> speed <15.000000> / animSpeed; //delta=0.50 + turn head to z-axis <3.000000> speed <6.562501> / animSpeed; //delta=-0.22 + turn head to y-axis <-10.000000> speed <16.874981> / animSpeed; //delta=-0.56 turn lfoot to x-axis <18.001884> speed <373.743354> / animSpeed; //delta=-12.46 turn lfoot to y-axis <5.924599> speed <64.896650> / animSpeed; //delta=2.16 turn lleg to x-axis <52.866675> speed <826.231677> / animSpeed; //delta=-27.54 @@ -107,12 +109,12 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn lthigh to z-axis <21.689635> speed <356.544455> / animSpeed; //delta=-11.88 turn lthigh to y-axis <19.704893> speed <385.046233> / animSpeed; //delta=12.83 turn ltoes to x-axis <-1.900001> speed <252.374969> / animSpeed; //delta=-8.41 - turn lturret to x-axis <-0.0> speed <10.499999> / animSpeed; //delta=0.35 + turn lturret to x-axis <-0.000000> speed <10.499999> / animSpeed; //delta=0.35 turn lturret to z-axis <0.135784> speed <3.841131> / animSpeed; //delta=0.13 move pelvis to z-axis [2.506887] speed [42.216704] / animSpeed; //delta=1.41 move pelvis to y-axis [0.522713] speed [7.840696] / animSpeed; //delta=0.26 - turn pelvis to z-axis <-0.0> speed <19.875000> / animSpeed; //delta=-0.66 - turn pelvis to y-axis <3.0> speed <6.562501> / animSpeed; //delta=0.22 + turn pelvis to z-axis <-0.000000> speed <19.875000> / animSpeed; //delta=-0.66 + turn pelvis to y-axis <3.000000> speed <6.562501> / animSpeed; //delta=0.22 turn rfoot to x-axis <0.723636> speed <543.889008> / animSpeed; //delta=-18.13 turn rfoot to z-axis <4.464675> speed <80.757975> / animSpeed; //delta=2.69 turn rfoot to y-axis <-1.965915> speed <13.596183> / animSpeed; //delta=-0.45 @@ -125,11 +127,11 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn rtoes to x-axis <-52.999997> speed <818.249832> / animSpeed; //delta=27.27 turn rtoes to z-axis <-0.800000> speed <11.999999> / animSpeed; //delta=0.40 turn rtoes to y-axis <-5.699999> speed <85.499992> / animSpeed; //delta=-2.85 - turn rturret to x-axis <-0.0> speed <15.0> / animSpeed; //delta=0.50 + turn rturret to x-axis <-0.000000> speed <15.000000> / animSpeed; //delta=0.50 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:20 - turn head to x-axis <3.0> speed <90.0> / animSpeed; //delta=-3.00 + if (bMoving) { //Frame:20 + turn head to x-axis <3.000000> speed <90.000003> / animSpeed; //delta=-3.00 turn head to z-axis <2.714286> speed <8.571435> / animSpeed; //delta=0.29 turn head to y-axis <-9.196429> speed <24.107127> / animSpeed; //delta=0.80 turn lfoot to x-axis <23.613060> speed <168.335288> / animSpeed; //delta=-5.61 @@ -142,7 +144,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn lthigh to z-axis <8.438309> speed <397.539780> / animSpeed; //delta=13.25 turn lthigh to y-axis <5.874349> speed <414.916306> / animSpeed; //delta=-13.83 turn ltoes to x-axis <-0.662500> speed <37.125023> / animSpeed; //delta=-1.24 - turn lturret to x-axis <1.500000> speed <45.0> / animSpeed; //delta=-1.50 + turn lturret to x-axis <1.500000> speed <45.000001> / animSpeed; //delta=-1.50 turn lturret to z-axis <1.685784> speed <46.499996> / animSpeed; //delta=-1.55 move pelvis to z-axis [2.865707] speed [10.764599] / animSpeed; //delta=0.36 move pelvis to y-axis [-1.057908] speed [47.418634] / animSpeed; //delta=-1.58 @@ -159,14 +161,14 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn rtoes to x-axis <-54.245830> speed <37.375000> / animSpeed; //delta=1.25 turn rtoes to z-axis <-0.533333> speed <7.999999> / animSpeed; //delta=-0.27 turn rtoes to y-axis <-3.800000> speed <56.999995> / animSpeed; //delta=1.90 - turn rturret to x-axis <1.500000> speed <45.0> / animSpeed; //delta=-1.50 + turn rturret to x-axis <1.500000> speed <45.000001> / animSpeed; //delta=-1.50 turn rturret to z-axis <-0.531562> speed <11.873349> / animSpeed; //delta=0.40 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:24 - turn head to x-axis <6.0> speed <90.0> / animSpeed; //delta=-3.00 - turn head to z-axis <2.0> speed <21.428568> / animSpeed; //delta=0.71 - turn head to y-axis <-7.0> speed <65.892863> / animSpeed; //delta=2.20 + if (bMoving) { //Frame:24 + turn head to x-axis <6.000000> speed <90.000003> / animSpeed; //delta=-3.00 + turn head to z-axis <2.000000> speed <21.428568> / animSpeed; //delta=0.71 + turn head to y-axis <-7.000000> speed <65.892863> / animSpeed; //delta=2.20 turn lfoot to x-axis <21.407638> speed <66.162659> / animSpeed; //delta=2.21 turn lfoot to z-axis <-7.384316> speed <13.976488> / animSpeed; //delta=-0.47 turn lfoot to y-axis <1.355770> speed <66.834881> / animSpeed; //delta=-2.23 @@ -177,11 +179,11 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn lthigh to z-axis <4.380427> speed <121.736447> / animSpeed; //delta=4.06 turn lthigh to y-axis <0.899349> speed <149.249993> / animSpeed; //delta=-4.97 turn ltoes to x-axis <-0.400000> speed <7.875004> / animSpeed; //delta=-0.26 - turn lturret to x-axis <3.0> speed <45.0> / animSpeed; //delta=-1.50 + turn lturret to x-axis <3.000000> speed <45.000001> / animSpeed; //delta=-1.50 turn lturret to z-axis <3.235784> speed <46.499997> / animSpeed; //delta=-1.55 move pelvis to y-axis [-2.638529] speed [47.418630] / animSpeed; //delta=-1.58 - turn pelvis to z-axis <1.0> speed <13.124999> / animSpeed; //delta=-0.44 - turn pelvis to y-axis <2.0> speed <21.428568> / animSpeed; //delta=-0.71 + turn pelvis to z-axis <1.000000> speed <13.124999> / animSpeed; //delta=-0.44 + turn pelvis to y-axis <2.000000> speed <21.428568> / animSpeed; //delta=-0.71 turn rfoot to x-axis <-8.476550> speed <143.094034> / animSpeed; //delta=4.77 turn rfoot to z-axis <5.788201> speed <21.809392> / animSpeed; //delta=-0.73 turn rfoot to y-axis <0.003190> speed <35.530988> / animSpeed; //delta=1.18 @@ -194,11 +196,11 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn rtoes to x-axis <-39.734373> speed <435.343724> / animSpeed; //delta=-14.51 turn rtoes to z-axis <-0.200000> speed <9.999999> / animSpeed; //delta=-0.33 turn rtoes to y-axis <-1.425000> speed <71.249993> / animSpeed; //delta=2.37 - turn rturret to x-axis <3.0> speed <45.0> / animSpeed; //delta=-1.50 + turn rturret to x-axis <3.000000> speed <45.000001> / animSpeed; //delta=-1.50 turn rturret to z-axis <-1.540281> speed <30.261567> / animSpeed; //delta=1.01 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:28 + if (bMoving) { //Frame:28 turn head to x-axis <4.861607> speed <34.151795> / animSpeed; //delta=1.14 turn head to z-axis <1.053572> speed <28.392854> / animSpeed; //delta=0.95 turn head to y-axis <-3.767857> speed <96.964298> / animSpeed; //delta=3.23 @@ -227,16 +229,16 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn rthigh to z-axis <-3.529476> speed <37.240031> / animSpeed; //delta=-1.24 turn rthigh to y-axis <3.179640> speed <20.404264> / animSpeed; //delta=0.68 turn rtoes to x-axis <-13.087500> speed <799.406169> / animSpeed; //delta=-26.65 - turn rtoes to z-axis <-0.0> speed <6.0> / animSpeed; //delta=-0.20 - turn rtoes to y-axis <0.0> speed <42.749996> / animSpeed; //delta=1.42 + turn rtoes to z-axis <-0.000000> speed <6.000000> / animSpeed; //delta=-0.20 + turn rtoes to y-axis <0.000000> speed <42.749996> / animSpeed; //delta=1.42 turn rturret to x-axis <2.650000> speed <10.500007> / animSpeed; //delta=0.35 turn rturret to z-axis <-2.779011> speed <37.161901> / animSpeed; //delta=1.24 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:32 - turn head to x-axis <3.0> speed <55.848207> / animSpeed; //delta=1.86 - turn head to z-axis <-0.0> speed <31.607145> / animSpeed; //delta=1.05 - turn head to y-axis <0.0> speed <113.035703> / animSpeed; //delta=3.77 + if (bMoving) { //Frame:32 + turn head to x-axis <3.000000> speed <55.848207> / animSpeed; //delta=1.86 + turn head to z-axis <-0.000000> speed <31.607145> / animSpeed; //delta=1.05 + turn head to y-axis <0.000000> speed <113.035703> / animSpeed; //delta=3.77 turn lfoot to x-axis <2.065177> speed <328.209740> / animSpeed; //delta=10.94 turn lfoot to y-axis <0.202292> speed <10.070156> / animSpeed; //delta=-0.34 turn lleg to x-axis <-9.290025> speed <17.959316> / animSpeed; //delta=0.60 @@ -244,12 +246,12 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn lthigh to x-axis <7.145650> speed <314.306557> / animSpeed; //delta=-10.48 turn lthigh to y-axis <-0.962261> speed <18.406602> / animSpeed; //delta=-0.61 turn ltoes to x-axis <0.400000> speed <8.752839> / animSpeed; //delta=-0.29 - turn lturret to x-axis <2.0> speed <19.500002> / animSpeed; //delta=0.65 + turn lturret to x-axis <2.000000> speed <19.500002> / animSpeed; //delta=0.65 turn lturret to z-axis <1.901720> speed <25.686137> / animSpeed; //delta=0.86 move pelvis to z-axis [0.040706] speed [43.601854] / animSpeed; //delta=-1.45 move pelvis to y-axis [-2.230074] speed [10.721934] / animSpeed; //delta=0.36 turn pelvis to z-axis <1.500000> speed <4.499998> / animSpeed; //delta=-0.15 - turn pelvis to y-axis <0.0> speed <31.607145> / animSpeed; //delta=-1.05 + turn pelvis to y-axis <0.000000> speed <31.607145> / animSpeed; //delta=-1.05 turn rfoot to x-axis <-4.875125> speed <145.368052> / animSpeed; //delta=-4.85 turn rfoot to z-axis <2.207147> speed <78.889729> / animSpeed; //delta=2.63 turn rfoot to y-axis <-0.081269> speed <24.465899> / animSpeed; //delta=-0.82 @@ -259,12 +261,12 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn rthigh to x-axis <29.660277> speed <433.979770> / animSpeed; //delta=14.47 turn rthigh to z-axis <-1.588963> speed <58.215393> / animSpeed; //delta=-1.94 turn rthigh to y-axis <1.420066> speed <52.787237> / animSpeed; //delta=-1.76 - turn rtoes to x-axis <-0.0> speed <392.625015> / animSpeed; //delta=-13.09 - turn rturret to x-axis <2.0> speed <19.499996> / animSpeed; //delta=0.65 + turn rtoes to x-axis <-0.000000> speed <392.625015> / animSpeed; //delta=-13.09 + turn rturret to x-axis <2.000000> speed <19.499996> / animSpeed; //delta=0.65 turn rturret to z-axis <-3.404800> speed <18.773669> / animSpeed; //delta=0.63 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:36 + if (bMoving) { //Frame:36 turn head to x-axis <2.191964> speed <24.241071> / animSpeed; //delta=0.81 turn head to z-axis <-1.053571> speed <31.607142> / animSpeed; //delta=1.05 turn head to y-axis <3.767857> speed <113.035716> / animSpeed; //delta=3.77 @@ -294,11 +296,11 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn rturret to z-axis <-2.511270> speed <26.805888> / animSpeed; //delta=-0.89 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:40 + if (bMoving) { //Frame:40 call-script lua_UnitScriptDecal(1, (get PIECE_XZ(lfoot) & 0xffff0000) / 0x00010000 , (get PIECE_XZ(lfoot) & 0x0000ffff), get HEADING(0)); - turn head to x-axis <2.0> speed <5.758932> / animSpeed; //delta=0.19 - turn head to z-axis <-2.0> speed <28.392857> / animSpeed; //delta=0.95 - turn head to y-axis <7.0> speed <96.964285> / animSpeed; //delta=3.23 + turn head to x-axis <2.000000> speed <5.758932> / animSpeed; //delta=0.19 + turn head to z-axis <-2.000000> speed <28.392857> / animSpeed; //delta=0.95 + turn head to y-axis <7.000000> speed <96.964285> / animSpeed; //delta=3.23 turn lfoot to x-axis <-24.832731> speed <481.273383> / animSpeed; //delta=16.04 turn lfoot to y-axis <0.575514> speed <13.996541> / animSpeed; //delta=0.47 turn lleg to x-axis <10.007092> speed <433.905107> / animSpeed; //delta=-14.46 @@ -307,11 +309,11 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn lthigh to z-axis <4.051203> speed <8.445444> / animSpeed; //delta=-0.28 turn lthigh to y-axis <-0.992236> speed <6.935980> / animSpeed; //delta=0.23 turn ltoes to x-axis <-0.700001> speed <23.250021> / animSpeed; //delta=0.78 - turn lturret to x-axis <1.0> speed <15.0> / animSpeed; //delta=0.50 + turn lturret to x-axis <1.000000> speed <15.000001> / animSpeed; //delta=0.50 turn lturret to z-axis <0.902572> speed <12.859935> / animSpeed; //delta=0.43 - move pelvis to y-axis [0.0] speed [33.750619] / animSpeed; //delta=1.13 - turn pelvis to z-axis <1.0> speed <10.714287> / animSpeed; //delta=0.36 - turn pelvis to y-axis <-2.0> speed <28.392857> / animSpeed; //delta=-0.95 + move pelvis to y-axis [0.000000] speed [33.750619] / animSpeed; //delta=1.13 + turn pelvis to z-axis <1.000000> speed <10.714287> / animSpeed; //delta=0.36 + turn pelvis to y-axis <-2.000000> speed <28.392857> / animSpeed; //delta=-0.95 turn rfoot to x-axis <2.447981> speed <154.621739> / animSpeed; //delta=-5.15 turn rfoot to z-axis <7.048637> speed <44.921394> / animSpeed; //delta=-1.50 turn rfoot to y-axis <-2.604198> speed <71.571663> / animSpeed; //delta=-2.39 @@ -322,11 +324,11 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn rthigh to z-axis <-6.323782> speed <105.749719> / animSpeed; //delta=3.52 turn rthigh to y-axis <-2.894241> speed <98.978166> / animSpeed; //delta=-3.30 turn rtoes to x-axis <-13.956249> speed <66.687500> / animSpeed; //delta=2.22 - turn rturret to x-axis <1.0> speed <15.0> / animSpeed; //delta=0.50 + turn rturret to x-axis <1.000000> speed <15.000001> / animSpeed; //delta=0.50 turn rturret to z-axis <-1.004800> speed <45.194114> / animSpeed; //delta=-1.51 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:44 + if (bMoving) { //Frame:44 turn head to x-axis <1.620536> speed <11.383929> / animSpeed; //delta=0.38 turn head to z-axis <-2.714286> speed <21.428581> / animSpeed; //delta=0.71 turn head to y-axis <9.196429> speed <65.892863> / animSpeed; //delta=2.20 @@ -342,7 +344,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn ltoes to x-axis <-17.383335> speed <500.500037> / animSpeed; //delta=16.68 turn ltoes to z-axis <0.266667> speed <7.999999> / animSpeed; //delta=-0.27 turn ltoes to y-axis <1.900000> speed <56.999995> / animSpeed; //delta=1.90 - turn lturret to x-axis <0.500000> speed <15.0> / animSpeed; //delta=0.50 + turn lturret to x-axis <0.500000> speed <15.000000> / animSpeed; //delta=0.50 turn lturret to z-axis <0.135784> speed <23.003642> / animSpeed; //delta=0.77 move pelvis to z-axis [1.099663] speed [32.989898] / animSpeed; //delta=1.10 move pelvis to y-axis [0.457374] speed [13.721218] / animSpeed; //delta=0.46 @@ -362,10 +364,10 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn rturret to z-axis <-0.263821> speed <22.229353> / animSpeed; //delta=-0.74 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:48 - turn head to x-axis <1.0> speed <18.616071> / animSpeed; //delta=0.62 - turn head to z-axis <-3.0> speed <8.571422> / animSpeed; //delta=0.29 - turn head to y-axis <10.0> speed <24.107127> / animSpeed; //delta=0.80 + if (bMoving) { //Frame:48 + turn head to x-axis <1.000000> speed <18.616071> / animSpeed; //delta=0.62 + turn head to z-axis <-3.000000> speed <8.571422> / animSpeed; //delta=0.29 + turn head to y-axis <10.000000> speed <24.107127> / animSpeed; //delta=0.80 turn lfoot to x-axis <-7.275365> speed <373.905959> / animSpeed; //delta=-12.46 turn lfoot to z-axis <-5.751242> speed <43.640311> / animSpeed; //delta=-1.45 turn lfoot to y-axis <1.947651> speed <21.653465> / animSpeed; //delta=0.72 @@ -378,10 +380,10 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn ltoes to x-axis <-39.362500> speed <659.374937> / animSpeed; //delta=21.98 turn ltoes to z-axis <0.600000> speed <9.999999> / animSpeed; //delta=-0.33 turn ltoes to y-axis <4.275000> speed <71.249993> / animSpeed; //delta=2.37 - turn lturret to x-axis <-0.0> speed <15.0> / animSpeed; //delta=0.50 + turn lturret to x-axis <-0.000000> speed <15.000000> / animSpeed; //delta=0.50 move pelvis to z-axis [2.506887] speed [42.216704] / animSpeed; //delta=1.41 - turn pelvis to z-axis <-0.0> speed <15.803571> / animSpeed; //delta=0.53 - turn pelvis to y-axis <-3.0> speed <8.571422> / animSpeed; //delta=-0.29 + turn pelvis to z-axis <-0.000000> speed <15.803571> / animSpeed; //delta=0.53 + turn pelvis to y-axis <-3.000000> speed <8.571422> / animSpeed; //delta=-0.29 turn rfoot to x-axis <17.956610> speed <246.523017> / animSpeed; //delta=-8.22 turn rfoot to y-axis <-5.919102> speed <42.806499> / animSpeed; //delta=-1.43 turn rleg to x-axis <52.758922> speed <527.810176> / animSpeed; //delta=-17.59 @@ -391,11 +393,11 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn rthigh to z-axis <-21.644989> speed <275.657120> / animSpeed; //delta=9.19 turn rthigh to y-axis <-19.025212> speed <290.243433> / animSpeed; //delta=-9.67 turn rtoes to x-axis <-1.900001> speed <168.249971> / animSpeed; //delta=-5.61 - turn rturret to x-axis <-0.0> speed <10.499999> / animSpeed; //delta=0.35 + turn rturret to x-axis <-0.000000> speed <10.499999> / animSpeed; //delta=0.35 turn rturret to z-axis <-0.135784> speed <3.841131> / animSpeed; //delta=-0.13 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:52 + if (bMoving) { //Frame:52 turn head to x-axis <0.325893> speed <20.223214> / animSpeed; //delta=0.67 turn head to z-axis <-2.781250> speed <6.562495> / animSpeed; //delta=-0.22 turn head to y-axis <9.150000> speed <25.499999> / animSpeed; //delta=-0.85 @@ -409,7 +411,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn lthigh to y-axis <-0.651434> speed <27.698253> / animSpeed; //delta=-0.92 turn ltoes to x-axis <-54.245830> speed <446.499916> / animSpeed; //delta=14.88 turn ltoes to y-axis <3.800000> speed <14.249999> / animSpeed; //delta=-0.47 - turn lturret to x-axis <1.500000> speed <45.0> / animSpeed; //delta=-1.50 + turn lturret to x-axis <1.500000> speed <45.000001> / animSpeed; //delta=-1.50 turn lturret to z-axis <0.531562> speed <11.873349> / animSpeed; //delta=-0.40 move pelvis to z-axis [2.865707] speed [10.764599] / animSpeed; //delta=0.36 move pelvis to y-axis [-0.661960] speed [35.540189] / animSpeed; //delta=-1.18 @@ -425,14 +427,14 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn rthigh to z-axis <-8.722350> speed <387.679155> / animSpeed; //delta=-12.92 turn rthigh to y-axis <-5.743760> speed <398.443568> / animSpeed; //delta=13.28 turn rtoes to x-axis <-0.662500> speed <37.125023> / animSpeed; //delta=-1.24 - turn rturret to x-axis <1.500000> speed <45.0> / animSpeed; //delta=-1.50 + turn rturret to x-axis <1.500000> speed <45.000001> / animSpeed; //delta=-1.50 turn rturret to z-axis <-1.685784> speed <46.499996> / animSpeed; //delta=1.55 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:56 - turn head to x-axis <-0.0> speed <9.776785> / animSpeed; //delta=0.33 - turn head to z-axis <-2.0> speed <23.437508> / animSpeed; //delta=-0.78 - turn head to y-axis <7.0> speed <64.499991> / animSpeed; //delta=-2.15 + if (bMoving) { //Frame:56 + turn head to x-axis <-0.000000> speed <9.776785> / animSpeed; //delta=0.33 + turn head to z-axis <-2.000000> speed <23.437508> / animSpeed; //delta=-0.78 + turn head to y-axis <7.000000> speed <64.499991> / animSpeed; //delta=-2.15 turn lfoot to x-axis <-9.144840> speed <190.616046> / animSpeed; //delta=6.35 turn lfoot to z-axis <-6.164016> speed <33.221857> / animSpeed; //delta=1.11 turn lfoot to y-axis <-0.603993> speed <55.988220> / animSpeed; //delta=-1.87 @@ -442,13 +444,13 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn lthigh to x-axis <41.846930> speed <689.224776> / animSpeed; //delta=-22.97 turn lthigh to y-axis <-3.561861> speed <87.312825> / animSpeed; //delta=-2.91 turn ltoes to x-axis <-24.599999> speed <889.374949> / animSpeed; //delta=-29.65 - turn ltoes to z-axis <0.0> speed <15.999999> / animSpeed; //delta=0.53 - turn ltoes to y-axis <-0.0> speed <113.999990> / animSpeed; //delta=-3.80 - turn lturret to x-axis <3.0> speed <45.0> / animSpeed; //delta=-1.50 + turn ltoes to z-axis <0.000000> speed <15.999999> / animSpeed; //delta=0.53 + turn ltoes to y-axis <-0.000000> speed <113.999990> / animSpeed; //delta=-3.80 + turn lturret to x-axis <3.000000> speed <45.000001> / animSpeed; //delta=-1.50 turn lturret to z-axis <1.540281> speed <30.261567> / animSpeed; //delta=-1.01 move pelvis to y-axis [-2.638529] speed [59.297075] / animSpeed; //delta=-1.98 - turn pelvis to z-axis <-1.0> speed <14.196429> / animSpeed; //delta=0.47 - turn pelvis to y-axis <-2.0> speed <21.428574> / animSpeed; //delta=0.71 + turn pelvis to z-axis <-1.000000> speed <14.196429> / animSpeed; //delta=0.47 + turn pelvis to y-axis <-2.000000> speed <21.428574> / animSpeed; //delta=0.71 turn rfoot to x-axis <21.410393> speed <85.678337> / animSpeed; //delta=2.86 turn rfoot to z-axis <7.384462> speed <15.173265> / animSpeed; //delta=0.51 turn rfoot to y-axis <-1.356172> speed <69.782869> / animSpeed; //delta=2.33 @@ -459,14 +461,14 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn rthigh to z-axis <-4.412579> speed <129.293150> / animSpeed; //delta=-4.31 turn rthigh to y-axis <-0.776320> speed <149.023196> / animSpeed; //delta=4.97 turn rtoes to x-axis <-0.400000> speed <7.875004> / animSpeed; //delta=-0.26 - turn rturret to x-axis <3.0> speed <45.0> / animSpeed; //delta=-1.50 + turn rturret to x-axis <3.000000> speed <45.000001> / animSpeed; //delta=-1.50 turn rturret to z-axis <-3.235784> speed <46.499997> / animSpeed; //delta=1.55 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:60 - turn head to x-axis <3.0> speed <90.0> / animSpeed; //delta=-3.00 + if (bMoving) { //Frame:60 + turn head to x-axis <3.000000> speed <90.000003> / animSpeed; //delta=-3.00 turn head to z-axis <-0.718750> speed <38.437503> / animSpeed; //delta=-1.28 - turn head to y-axis <4.0> speed <90.0> / animSpeed; //delta=-3.00 + turn head to y-axis <4.000000> speed <90.000003> / animSpeed; //delta=-3.00 turn lfoot to x-axis <-11.384602> speed <67.192848> / animSpeed; //delta=2.24 turn lfoot to z-axis <-3.537009> speed <78.810225> / animSpeed; //delta=-2.63 turn lleg to x-axis <-33.168481> speed <792.155697> / animSpeed; //delta=26.41 @@ -496,10 +498,10 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn rturret to z-axis <-2.757924> speed <14.335777> / animSpeed; //delta=-0.48 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:64 - turn head to x-axis <6.0> speed <90.0> / animSpeed; //delta=-3.00 - turn head to z-axis <-0.0> speed <21.562496> / animSpeed; //delta=-0.72 - turn head to y-axis <0.0> speed <119.999999> / animSpeed; //delta=-4.00 + if (bMoving) { //Frame:64 + turn head to x-axis <6.000000> speed <90.000003> / animSpeed; //delta=-3.00 + turn head to z-axis <-0.000000> speed <21.562496> / animSpeed; //delta=-0.72 + turn head to y-axis <0.000000> speed <119.999999> / animSpeed; //delta=-4.00 turn lfoot to x-axis <-10.332776> speed <31.554782> / animSpeed; //delta=-1.05 turn lfoot to y-axis <-0.470625> speed <4.453404> / animSpeed; //delta=0.15 turn lleg to x-axis <-39.182353> speed <180.416168> / animSpeed; //delta=6.01 @@ -507,12 +509,12 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn lthigh to z-axis <2.439601> speed <34.522425> / animSpeed; //delta=1.15 turn lthigh to y-axis <-2.322145> speed <40.404626> / animSpeed; //delta=1.35 turn ltoes to x-axis <-4.400000> speed <14.625027> / animSpeed; //delta=-0.49 - turn lturret to x-axis <2.0> speed <19.499996> / animSpeed; //delta=0.65 + turn lturret to x-axis <2.000000> speed <19.499996> / animSpeed; //delta=0.65 turn lturret to z-axis <3.404800> speed <18.773669> / animSpeed; //delta=-0.63 move pelvis to z-axis [1.895014] speed [23.533258] / animSpeed; //delta=-0.78 move pelvis to y-axis [-3.700732] speed [4.054613] / animSpeed; //delta=-0.14 turn pelvis to z-axis <-1.500000> speed <4.285711> / animSpeed; //delta=0.14 - turn pelvis to y-axis <0.0> speed <31.607142> / animSpeed; //delta=1.05 + turn pelvis to y-axis <0.000000> speed <31.607142> / animSpeed; //delta=1.05 turn rfoot to x-axis <-1.589766> speed <366.481170> / animSpeed; //delta=12.22 turn rfoot to y-axis <0.255582> speed <14.726066> / animSpeed; //delta=0.49 turn rleg to x-axis <-14.572159> speed <50.075720> / animSpeed; //delta=1.67 @@ -520,11 +522,11 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn rthigh to x-axis <14.884729> speed <387.779591> / animSpeed; //delta=-12.93 turn rthigh to y-axis <1.590830> speed <28.430941> / animSpeed; //delta=0.95 turn rtoes to x-axis <0.400000> speed <8.752839> / animSpeed; //delta=-0.29 - turn rturret to x-axis <2.0> speed <19.500002> / animSpeed; //delta=0.65 + turn rturret to x-axis <2.000000> speed <19.500002> / animSpeed; //delta=0.65 turn rturret to z-axis <-1.901720> speed <25.686137> / animSpeed; //delta=-0.86 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:68 + if (bMoving) { //Frame:68 turn head to x-axis <4.875000> speed <33.750014> / animSpeed; //delta=1.13 turn head to y-axis <-4.650000> speed <139.499989> / animSpeed; //delta=-4.65 turn lfoot to x-axis <-4.699048> speed <169.011849> / animSpeed; //delta=-5.63 @@ -554,9 +556,9 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn rturret to z-axis <-1.331236> speed <17.114503> / animSpeed; //delta=-0.57 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:72 - turn head to x-axis <3.0> speed <56.249989> / animSpeed; //delta=1.87 - turn head to y-axis <-7.0> speed <70.500013> / animSpeed; //delta=-2.35 + if (bMoving) { //Frame:72 + turn head to x-axis <3.000000> speed <56.249989> / animSpeed; //delta=1.87 + turn head to y-axis <-7.000000> speed <70.500013> / animSpeed; //delta=-2.35 turn lfoot to x-axis <-0.607104> speed <122.758319> / animSpeed; //delta=-4.09 turn lfoot to z-axis <-7.167780> speed <48.119460> / animSpeed; //delta=1.60 turn lfoot to y-axis <1.409795> speed <41.559472> / animSpeed; //delta=1.39 @@ -567,12 +569,12 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn lthigh to z-axis <4.523728> speed <47.438641> / animSpeed; //delta=-1.58 turn lthigh to y-axis <1.141126> speed <54.113352> / animSpeed; //delta=1.80 turn ltoes to x-axis <-17.599999> speed <175.999990> / animSpeed; //delta=5.87 - turn lturret to x-axis <1.0> speed <15.0> / animSpeed; //delta=0.50 + turn lturret to x-axis <1.000000> speed <15.000001> / animSpeed; //delta=0.50 turn lturret to z-axis <1.004800> speed <45.194114> / animSpeed; //delta=1.51 - move pelvis to z-axis [0.0] speed [20.221242] / animSpeed; //delta=-0.67 - move pelvis to y-axis [0.0] speed [61.391501] / animSpeed; //delta=2.05 - turn pelvis to z-axis <-1.0> speed <11.718748> / animSpeed; //delta=-0.39 - turn pelvis to y-axis <2.0> speed <28.392857> / animSpeed; //delta=0.95 + move pelvis to z-axis [0.000000] speed [20.221242] / animSpeed; //delta=-0.67 + move pelvis to y-axis [0.000000] speed [61.391501] / animSpeed; //delta=2.05 + turn pelvis to z-axis <-1.000000> speed <11.718748> / animSpeed; //delta=-0.39 + turn pelvis to y-axis <2.000000> speed <28.392857> / animSpeed; //delta=0.95 turn rfoot to x-axis <-24.859715> speed <422.878416> / animSpeed; //delta=14.10 turn rfoot to y-axis <-0.624135> speed <23.131710> / animSpeed; //delta=-0.77 turn rleg to x-axis <9.975068> speed <517.259891> / animSpeed; //delta=-17.24 @@ -582,35 +584,35 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn rthigh to z-axis <-4.024318> speed <7.006327> / animSpeed; //delta=0.23 turn rthigh to y-axis <0.900674> speed <18.449592> / animSpeed; //delta=-0.61 turn rtoes to x-axis <-0.700001> speed <23.250021> / animSpeed; //delta=0.78 - turn rturret to x-axis <1.0> speed <15.0> / animSpeed; //delta=0.50 + turn rturret to x-axis <1.000000> speed <15.000001> / animSpeed; //delta=0.50 turn rturret to z-axis <-0.902572> speed <12.859935> / animSpeed; //delta=-0.43 sleep ((33*animSpeed) -1); } } } -// Call this from StopMoving()! +// Call this from MotionControl()! StopWalking() { - move pelvis to y-axis [0.0] speed [15.347875]; - move pelvis to z-axis [0.0] speed [10.900463]; - turn head to x-axis <0.0> speed <22.500001>; - turn head to y-axis <0.0> speed <34.874997>; - turn head to z-axis <0.0> speed <20.859375>; + move pelvis to y-axis [0.000000] speed [15.347875]; + move pelvis to z-axis [0.000000] speed [10.900463]; + turn head to x-axis <0.000000> speed <22.500001>; + turn head to y-axis <0.000000> speed <34.874997>; + turn head to z-axis <0.000000> speed <20.859375>; turn lfoot to x-axis <0.601412> speed <120.318346>; turn lfoot to y-axis <8.926831> speed <28.188887>; - turn lfoot to z-axis <7.0> speed <53.130628>; + turn lfoot to z-axis <7.000388> speed <53.130628>; turn lleg to x-axis <1.306523> speed <266.929038>; turn lleg to y-axis <2.465494> speed <26.152755>; turn lleg to z-axis <-3.248917> speed <22.701822>; turn lthigh to x-axis <-0.834217> speed <226.031271>; turn lthigh to y-axis <0.581226> speed <103.729077>; turn lthigh to z-axis <-4.343016> speed <99.384945>; - turn ltoes to x-axis <0.0> speed <222.343737>; - turn ltoes to y-axis <0.0> speed <28.499997>; - turn ltoes to z-axis <0.0> speed <4.0>; - turn lturret to x-axis <0.0> speed <11.250000>; - turn lturret to z-axis <0.0> speed <11.624999>; - turn pelvis to y-axis <0.0> speed <7.901786>; - turn pelvis to z-axis <0.0> speed <4.968750>; + turn ltoes to x-axis <0.000000> speed <222.343737>; + turn ltoes to y-axis <0.000000> speed <28.499997>; + turn ltoes to z-axis <0.000000> speed <4.000000>; + turn lturret to x-axis <0.000000> speed <11.250000>; + turn lturret to z-axis <0.000000> speed <11.624999>; + turn pelvis to y-axis <0.000000> speed <7.901786>; + turn pelvis to z-axis <0.000000> speed <4.968750>; turn rfoot to x-axis <-1.110571> speed <135.972252>; turn rfoot to y-axis <-2.271102> speed <17.892916>; turn rfoot to z-axis <-8.296506> speed <58.761626>; @@ -620,12 +622,12 @@ StopWalking() { turn rthigh to x-axis <-1.087029> speed <272.463947>; turn rthigh to y-axis <-0.648298> speed <99.610892>; turn rthigh to z-axis <5.091138> speed <96.919789>; - turn rtoes to x-axis <0.0> speed <204.562458>; - turn rtoes to y-axis <0.0> speed <21.374998>; - turn rtoes to z-axis <0.0> speed <3.0>; - turn rturret to x-axis <0.0> speed <11.250000>; + turn rtoes to x-axis <0.000000> speed <204.562458>; + turn rtoes to y-axis <0.000000> speed <21.374998>; + turn rtoes to z-axis <0.000000> speed <3.000000>; + turn rturret to x-axis <0.000000> speed <11.250000>; turn rturret to z-axis <-0.902572> speed <11.624999>; - turn torso to x-axis <-3.0> speed <-1.250000>; + turn torso to x-axis <-3.000000> speed <-1.250000>; } @@ -644,16 +646,16 @@ UnitSpeed(){ sleep 131; } } -StartMoving(reversing){ - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; - isMoving=TRUE; +StartMoving(){ + signal SIG_WALK; + set-signal-mask SIG_WALK; + bMoving=TRUE; start-script UnitSpeed(); start-script Walk(); } StopMoving(){ - signal SIGNAL_MOVE; - isMoving=FALSE; + signal SIG_WALK; + bMoving=FALSE; call-script StopWalking(); } @@ -665,7 +667,7 @@ StopMoving(){ #define UNITSIZE 10 #define MAXTILT 100 -#include "../unit_hitbyweaponid_and_smoke.h" +#include "unit_hitbyweaponid_and_smoke.h" Create() { @@ -680,8 +682,8 @@ Create() hide aimx1; hide aimy1; spin thing around x-axis speed <30> accelerate <1>; - isMoving = FALSE; - isAiming = FALSE; + bMoving = FALSE; + bAiming = FALSE; isReady = 1; gun_1 = 0; animSpeed = 4; @@ -693,10 +695,15 @@ Create() turn rexhaust2 to z-axis <180> now; } +SweetSpot(piecenum) +{ + piecenum = torso; +} -AimFromWeapon1(pieceIndex) + +AimFromWeapon1(piecenum) { - pieceIndex = head; + piecenum = head; } FireWeapon1() { @@ -722,9 +729,32 @@ Shot1(zero) { } -QueryWeapon1(pieceIndex) { +QueryWeapon1(piecenum) { - pieceIndex = lflare1 + gun_1; + if (gun_1 == 0) + { + piecenum = lflare2; + + //emit-sfx UNIT_SFX0 from lexhaust2; + } + if (gun_1 == 1) + { + piecenum = lflare1; + + //emit-sfx UNIT_SFX0 from lexhaust1; + } + if (gun_1 == 2) + { + piecenum = rflare1; + + //emit-sfx UNIT_SFX0 from rexhaust1; + } + if (gun_1 == 3) + { + piecenum = rflare2; + + //emit-sfx UNIT_SFX0 from rexhaust2; + } } @@ -735,30 +765,110 @@ QueryWeapon1(pieceIndex) { // Jerk is the minimum velocity of the turret // A high precision requirement can result in overshoots if desired // (c) CC BY NC ND Beherith mysterme@gmail.com +#define MAX_AIMY1_VELOCITY <3.00> +#define AIMY1_ACCELERATION <0.16> +#define AIMY1_JERK <0.5> +#define AIMY1_PRECISION <1.2> +#define AIMY1_RESTORE_SPEED <1.0> + +static-var aimy1delta, timetozero, deceleratethreshold; +static-var aimy1velocity, aimy1target, aimy1position, gameFrame; +static-var Stunned; -#define CATT1_PIECE_X aimx1 -#define CATT1_PIECE_Y aimy1 - -#define CATT1_MAX_VELOCITY <3.0> -#define CATT1_ACCELERATION <0.16> -#define CATT1_JERK <0.5> -#define CATT1_PRECISION <1.2> -#define CATT1_RESTORE_SPEED <1.0> -#define CATT1_PITCH_SPEED <45> - -#include "../constant_acceleration_turret_turning_1.h" +ExecuteRestoreAfterDelay() +{ + if (Stunned) { + return (1); + } + turn aimx1 to x-axis <0.000000> speed <45.000000>; + bAiming = FALSE; + while ( get ABS(aimy1position) > AIMY1_RESTORE_SPEED){ + if (aimy1position > 0 ) { + aimy1position = aimy1position - AIMY1_RESTORE_SPEED; + aimy1velocity = (-1) * AIMY1_RESTORE_SPEED; + } + else + { + aimy1position = aimy1position + AIMY1_RESTORE_SPEED; + aimy1velocity = AIMY1_RESTORE_SPEED; + } + turn aimy1 to y-axis aimy1position speed 30 * AIMY1_RESTORE_SPEED; + sleep 30; + } + aimy1velocity = 0; +} +SetStunned(State) +{ + Stunned = State; + if (!Stunned) { + start-script ExecuteRestoreAfterDelay(); + } +} +RestoreAfterDelay() +{ + sleep 3000; + start-script ExecuteRestoreAfterDelay(); +} -static-var Stunned; AimWeapon1(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; - isAiming = TRUE; + bAiming = TRUE; + //signal SIG_HEAD; //We can do this any time - call-script CATT1_Aim(heading,pitch); + turn aimx1 to x-axis <0.000000> - pitch speed <85.000000>; + + aimy1target = heading; + aimy1delta = aimy1target - aimy1position; + + + while( ( get ABS(aimy1delta) > AIMY1_PRECISION ) OR (get ABS(aimy1velocity) > AIMY1_JERK)){ + if (gameFrame != get(GAME_FRAME)){ //this is to make sure we dont get double-called, as previous aimweapon thread runs before new aimweaponthread can signal-kill previous one + gameFrame = get(GAME_FRAME); + + //Clamp aimy1position and aimy1delta between <-180>;<180> + while (aimy1position > <180>) aimy1position = aimy1position - <360>; + while (aimy1position < <-180>) aimy1position = aimy1position + <360>; + while (aimy1delta > <180>) aimy1delta = aimy1delta - <360>; + while (aimy1delta < <-180>) aimy1delta = aimy1delta + <360>; + + //number of frames required to decelerate to 0 + timetozero = get ABS(aimy1velocity) / AIMY1_ACCELERATION; + + //distance from target where we should start decelerating, always 'positive' + //pos = t * v - (t*(t-1)*a/2) + deceleratethreshold = timetozero * (get ABS(aimy1velocity)) - (timetozero * (timetozero - 1) * AIMY1_ACCELERATION / 2); + + //get PRINT ( aimy1delta , deceleratethreshold, aimy1velocity, timetozero ); + + if (get ABS(aimy1delta) <= deceleratethreshold){ //we need to decelerate + if (aimy1velocity > 0) aimy1velocity = aimy1velocity - AIMY1_ACCELERATION; + else aimy1velocity = aimy1velocity + AIMY1_ACCELERATION; + } + else //we need to accelerate + { + if (aimy1delta > 0) aimy1velocity = get MIN( MAX_AIMY1_VELOCITY, aimy1velocity + AIMY1_ACCELERATION); + else aimy1velocity = get MAX((-1) * MAX_AIMY1_VELOCITY, aimy1velocity - AIMY1_ACCELERATION); + } + + //Apply jerk at very low velocities + if (get ABS(aimy1velocity) < AIMY1_JERK){ + if ((aimy1delta > AIMY1_JERK)) aimy1velocity = AIMY1_JERK; + if ((aimy1delta < (-1) * AIMY1_JERK)) aimy1velocity = (-1) * AIMY1_JERK; + } + + aimy1position = aimy1position + aimy1velocity; + turn aimy1 to y-axis aimy1position now; + aimy1delta = aimy1target - aimy1position ; + } + sleep 30; + } + aimy1velocity = 0; + start-script RestoreAfterDelay(); return (1); } @@ -769,10 +879,26 @@ Killed(severity, corpsetype) corpsetype = 1 ; explode pelvis type BITMAPONLY | NOHEATCLOUD; explode torso type BITMAPONLY | NOHEATCLOUD; + //explode thing type BITMAPONLY | NOHEATCLOUD; + //explode lturret type BITMAPONLY | NOHEATCLOUD; explode lbarrel2 type BITMAPONLY | NOHEATCLOUD; + //explode lflare2 type BITMAPONLY | NOHEATCLOUD; + //explode lbarrel1 type BITMAPONLY | NOHEATCLOUD; + //explode lflare1 type BITMAPONLY | NOHEATCLOUD; + //explode rturret type BITMAPONLY | NOHEATCLOUD; + //explode rbarrel2 type BITMAPONLY | NOHEATCLOUD; + //explode rflare2 type BITMAPONLY | NOHEATCLOUD; + //explode rbarrel1 type BITMAPONLY | NOHEATCLOUD; + //explode rflare1 type BITMAPONLY | NOHEATCLOUD; explode head type BITMAPONLY | NOHEATCLOUD; explode lthigh type BITMAPONLY | NOHEATCLOUD; explode lleg type BITMAPONLY | NOHEATCLOUD; + //explode lfoot type BITMAPONLY | NOHEATCLOUD; + //explode ltoes type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rthigh type BITMAPONLY | NOHEATCLOUD; + //explode rleg type BITMAPONLY | NOHEATCLOUD; + //explode rfoot type BITMAPONLY | NOHEATCLOUD; + //explode rtoes type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } if( severity <= 50 ) @@ -780,11 +906,26 @@ Killed(severity, corpsetype) corpsetype = 2 ; explode pelvis type BITMAPONLY | NOHEATCLOUD; explode torso type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode thing type FIRE | SMOKE | FALL | NOHEATCLOUD; explode lturret type FALL | NOHEATCLOUD; explode lbarrel2 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lflare2 type FALL | NOHEATCLOUD; + //explode lbarrel1 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lflare1 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rturret type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rbarrel2 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rflare2 type FALL | NOHEATCLOUD; + //explode rbarrel1 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rflare1 type FALL | NOHEATCLOUD; explode head type FIRE | SMOKE | FALL | NOHEATCLOUD; explode lthigh type FIRE | SMOKE | FALL | NOHEATCLOUD; explode lleg type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lfoot type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode ltoes type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rthigh type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rleg type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rfoot type FALL | NOHEATCLOUD; + //explode rtoes type FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) @@ -792,11 +933,26 @@ Killed(severity, corpsetype) corpsetype = 3 ; explode pelvis type FIRE | SMOKE | FALL | NOHEATCLOUD; explode torso type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode thing type FIRE | SMOKE | FALL | NOHEATCLOUD; explode lturret type FIRE | SMOKE | FALL | NOHEATCLOUD; explode lbarrel2 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lflare2 type SMOKE | FALL | NOHEATCLOUD; + //explode lbarrel1 type SMOKE | FALL | NOHEATCLOUD; + //explode lflare1 type SMOKE | FALL | NOHEATCLOUD; + //explode rturret type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rbarrel2 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rflare2 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rbarrel1 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rflare1 type SMOKE | FALL | NOHEATCLOUD; explode head type FIRE | SMOKE | FALL | NOHEATCLOUD; explode lthigh type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode lleg type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode lfoot type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode ltoes type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rthigh type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rleg type SMOKE | FALL | NOHEATCLOUD; + //explode rfoot type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode rtoes type SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; @@ -805,8 +961,22 @@ Killed(severity, corpsetype) explode thing type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode lturret type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode lbarrel2 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lflare2 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lbarrel1 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode lflare1 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode rturret type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rbarrel2 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rflare2 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rbarrel1 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rflare1 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode head type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode lthigh type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode lleg type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lfoot type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode ltoes type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rthigh type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rleg type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rfoot type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rtoes type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/corcat.cob b/scripts/Units/corcat.cob index 990a2fa71aa92371ae94f342b3e4b293dc339b66..f4df3984734d74236e60b30b8eb9da5d57a1b441 100644 GIT binary patch literal 28861 zcmcg#36xdUm3@U+D2kRwz%axrkU<<6jG{qXL}FCbR&mxwD)4~{MOCFJ1nq?Zal#=+ z6PHbk2+X9}3s%=eoTA-`)4j zcfb3F`nJ!qY%jDPXieR-tO|Q>f1i?NM>J&FwP*+6`#S8i>ULGORaD_Sw^J&s_&I%< zRawQj+r>|1wKmhpId;)m~$@V(mMb9Gi#$z#}vJMkuutNeW9M#Vu~!aeb2 zkGpYWj@vOw%W(%CRN?f#yLJDzYNZtvOU)rX)y9Ri@^#njKcd0?|HEX>e zr%U`89&WVnt0#Nhkt_hnBTn_+6x835Vjpp;chO>RUsomq@+gZN^$z&H$Gx;Zk27(q zclC6SdzZ>Yp6dNx;72VJ0o+d5aiiY8%e}m>h+g7U?;F(~_d^O1d8&8yZXP#V;)2wt zje4W}YQ3N|TX8k`)XE!!a^9e>ta^v4Y*58!T(i5>RvHZMxgW+;m)gd#^Lxq<_QdhK z-DiW^CvM6z#Qv0AA5fWcR$F910=O}kaay1&(w$XTCVSG{hi#`FV*D50JdXw=?v^)C z9p-T;`Bt3faoxclH|n#z&L~e~HE@o{tzqDx*YfK^3~J4f*jFQbNSx~JH^k%aWv9qf zy?5R0d9Gs59B29Ufj(Z|aIw$w>uWf9742KLF89~+Ymc+M-ZNgyam+b4=Ie(|Uf!n+ z9Q+_o{T+C*$Gu5~f>VE|+~RTfewypG{Q7z)kHaZ7$+P^rVt0=lWN>O<-TG=5mpNaC zRaH4}DsJe@9USi65fCUi^x2Re#= zJP4bKvwXcGIBzeJdbWH$DyWyiG+yMX-bXw8y8rpAy#6d-UkTww`yMg8uJ!VpBRp=c z#D(%y@7*ZcqCDj_%m3#F_42OhB~JC$;B%|It(+%5Lc*ED$Oec>F|yoxcTi(??W#6x z407{Vnah@2f4Z};v8Q*<^;&N2eUR}>Vh}P=2$(ors)jRPz??;yvo-_Y_z1KS#JVpB~XZ~^zFRvZe6N*#4^$&S@KbE;{ zIrGARlOQe0vz+-0INn-266d`QPUCXX&;bs&d^UQwfis`G90CiRSre?4sFwcHSJhjt z{!&bUWq$9u)W>g*$g`YTcewZW00N+wyH>pcXWkNU=KHwFE5>ggc#rZZiyQ5m+|BDf zT)2xk)jOlw<0_=?6Gr6i-{NtwdnCmbJpx zIJ0pZIrC##Lv4*SVOEN><;)r!YR$)1xbP^%i@AyByyZBmA#U$ry|o)|V|{QPzX~V0R^LVMwKPiP(NxNNyqnMA!Y}1G z%b7R-iqdcYHAS zbbV$ybHhH~572UopXJQmYCLX;!D$^ly1b*y$AZ_ z^D^X@7}Z;@PLnKPSqC%6ct6I-dc|_)5}colbu};G%twRu$^e=3gsUHeM)|y5FZD+s zxY52DAb_IYH34Tf1otEQi+w33BJY#nTzrC@V=ZTXC0Mskqfv;n<-!|-x@vmWuOIJ6 z?H2vGE#Sh-`+M9;!TPaWomwtzg0V%t3q|ktt{<-j(J?m>XO5J)M=s<>+_2!9Oz%-y z&U__U??v}McOK|{I!xA6mNP#H&U?!O&YTm-`zMVraAu$5J!kSXPaNImMt|>%YLP`K zIGv--eY_v%1ou9lxYX-?W{u~}YtQuZddeKIoZ01W)Ik!0I1{IOkNAt{!WII6qbzRJTiM;)_i}K}{d{ka`zMu&Jk>k*8(!}ru$ef^ zh4bKBkwfMO>&L75dE67C*K+2pL%iN)fAO5z9mQDG`-gxte;nLfTQBp-t{)@L)H=1C zIVU*hyesmymos05FU;XLaA8&SNpo#Eb6~LE`xOfTxv`x2!ALJ}wA2J~n(KpuYsRB6 ze<;s#=5fKCUmbAfw}bUb*dh@u$3p9Gxw z>MUPlKa{wTAY5~q3>1n2o>Qj5f?zb^&$aaluomNTbgP|=S!DFisn znS%p)|1dbU@0R=hwfW3T04%ICBfb9+`zTiBm8(DEQbYXa265>caOMd?JvRx*ai@B3 z4!HGlv5z>_yW*?_aE`NF}P+R z&T{5OL0m48`Xf&D&JON@j9{n8Q-4Pv=KX!>pPnW%6} z>(p{)bZ?`>7v#(h2oz)fa6j*p^0wv78NvMv^~rMP`KNe!7N@?S`JTt&ad3*I<;?!U zT;7)gkweRczYeaUCInnqk0cdy_>}0iTsZZQ9=8`2LN7Uq8{^j{;J8x*?m8SnD(XFs zLLkp_SM)4K*YlRUM&P+sQQo=Y2XR`9U;5Ae9d0rK1@3z85q~Y+?Qy>@90H;!>eXv_ zs#m?`>V>$}5Wll0dUZ@LF7m^2XmgC0l=l%Vo%z4XkSN8F^b`lrj z_>q3pboF}CmGn|QH{$*f)U(!~<)pI%+)cv4+q;hYGGa&@h6OqNuK2VyPC8n0vo%h- zk4ZtyiPIQe@s5w>GT{)*NxbJ*oC7Zg>$t8#ZNDhBO|IcafAx0_Z-e; z_+dHeMi^VPuUEiHs{>9#T9Z7>NsEKp);Ul0+~~)EfP+6`C+s6m=gM<^Yn*)>QQXQ& znvY$AxO^h=h*5bF*JvFiS-{f1V}g4idr6$h4cv%3?HfLRe6B}7xKq8Wf;xCL;F|fE zki~pV4%Snhg1TQU_ED$meK|N6cc7!NFJbVJe(dzLU)LON)=7XR+=^fww?n`+cY-L2 zejHCB&}+HosI?xq_!GaLDpyyQYj(pTzo>Vp*tfl0GX(<~BZiH8&L8eM&$-9W?YH&) zoo$hUXnf)KclHK}6yu^?ZFw@f-uQvU&+=q+y}On~h5TBc?02TG=X2zJH_MYB;~KbV z-y{YW@=}cOk+HrwI4AaGLV&Y8`C!09`?BB#r}LvraL(=~{!(6r=&cC&@6RHS>Q&zA zAkHTSe0pV|SKm*wd>XwQp!e1+pY9vP?+(~Se=VQ(f6VhKVMRV&0H=!iP`!+a`dhAE zQtW_b-d0WV@|F?+`z)V+fNQv--gYbi!KvOigL_T=ByW_LbVF~`BF}5Dvp^w_vbfQ{ zrrj|@Mn z-n!r(`d-2HX}P+xd|FfO_3Hbt+smiC{-W<);b1Y>c#N20$rN!T?ug)C#GU~sMb9nf zO0K!n7~N6t^?v$ce$KI+bQKDzXy2cMwc8uP`WBaj$q&n2XZ7-2_!Q3`s2$5)1A=qd zZ=}YE)0%jttGDlDsR`oL-%&_Z(T|Pb3+g3zabujX4LEZcCzIe*Z?7P4Hv}B_!Z`2m zkAio$qi1r1XcY943srCQOzs>yDL8(lA5m@VJ6)DDqj$QZ_ieWI9mPeDbaHX-G7Ux* z-nZ!*#Q6fi=m&jJf6LW<@)cP6J3DxH^Y2pkmRrA#qA1qEA6O{ROPuN*+27-yHP_im zH}vjW?YT9R=N6R3jrP3~+=J71Ux`z_4ZXeIF;agCBl0@m*DCX%uzH7akktVy(9aa%%kn)*7e{b`hG;f zNqYXa+}agiiZ$_ua0qc4qv$=F9jt{v1 zn^cBaT5f&oP+t@M@SKh~mN+-+y$pX~RP^^3Qe(ua-v939aedA8xcd9z$sRXG;$pe= zHWX4(?`5KwIMw??aIbDKjfWq^sop16dVhEPYd#0;`Z0QThoxAOXSp?ccGpqtBTn^3 z+)8n@&vNUwzN2_VaBfn0)TwbPSEtD~V42@z?)P!#dV}`S9d5)m1na%uO8pU+WCC|& z@OMX-_5lF$Xd5@mTOHK%PedMZ>c?`7E!M$8;oyW3dFOuYal6Vpt(N0HTkdhU%KZY% zac4i{aTnueC;hM-cWdw-oW9d)Ij-D0t(N1WcUr&bd(*?g35@yJ;F--ZCImiNj*H$~ ztqj(W)xq4GO+g~BLUMBlPS(X7?kMueN!)1PbAf%6ghPnanphCv-l7obB~JCe{6Ajr zC7hhVS&q9WxVAh{=Cb9u`GLQ`4mhsir(W;3aDJg)%W)3`>(;A-bz#Gip1bs2Ez4as z!8++71`T>GCq?fQME4w<0uCMvag;~y(tK>|yMo7G-P_f{)n{T(71nzZ$1Re$R2aR{ zyMlV1LtJX8tM6ao^D!Lv1L=q5xQUps#X6nOf)bqi`_q9Q_f1&?ST212bDy^#Nc~Y3 zH`e`_K;B4^N1W_6N7v0~x z>`ITD6+8!75L~O?7OeMH^z-t*FLT9m;a;EkYmXr!&vN0QgS@=knP9}la^bZ&aTMdX zOmah<*2ISQeC<5eGnZ$%aL<47@@B{!AWr3-FvI&XNA8bWF1(=3I*B-~?OjgwdeNQy z-5O`=vwXXbi{8Q7TjFOqv(t&gT>PSU1*2PK|#t96=U2Q2IUz2NV>^c_^o zg--_O68_CWR^Y<&JN#=M)o> zx62Q_-j!y(r+WW(p7-N*Ik($&;YW2IH&y(#>%wyHpl*!|wXU|tg%3+ywwDVZ#W|2M zkKTt?8!Q)&#`R$_*O!Rz#Az)?@?K%5aBHeZ=zTmm@4YAY8(3=GXkUlm{e+p~J8`P_ zfP;Om>#=yIUdwT>2Hg5Gl@&Pd=xXopO7Yin+>%)y*RfYF&vIOkAb!_LT!>RYj>Csy zoJ#>0Hr(O4^-8H(%Z26Mg|gfgy$kgjlZCig?&@6a|F(DyANm*Gds+Hycjw2@#&vGJ z7d<=KS>jCf8kgwVN%Snb;%y(l>lk48VL5I-inbW%4gtr#8`R57V&7&Q*V*S|r94ZZ z58PPKUkmj1kaH(->hHQ>{e6<;BVk0|E+2Zm;{``f;zqrv1lLVxOI=xxJ2tr1pGF~w zpXIo6?~GcGD_4J(4|uNRhVsInMT1r%Sm&t>gxR1=Pg)O;H1wxwRgB% zPxPD=y&v;|_)A|kF46lj=uY;fnBXJp;F|V6ANtOj<)j%w{IDcX@+{ZP>+SP)$3OCO z9c|-Ay+6m7Vt(;w3`t({L2&m6*Mc`Oz=*TukVA1|Daxx6d6pZ>y_0FVA-eak?^#%G zh~CM(^9ypr8(3>HMjHZtpUz;zcg}fk#2qls`~INRHgOCCas6j_++xAmIp6mHkK5JY zw8pLvY9h^b*k`%n*Zq8rRmioG<%XHTvyS5=hs3Gg#{=%twLNj_@7P&>-F2UEm*tuz zfgfF|41N%&ddCN~t$*`sxn|;gA3uE;%C3LPy$i(>=f=E6??OE(aUo9a+hftbZVp^` zF8~FunXqWE!`1w+fA9AU2rka49fI{w#5KR7@rYl_1wPV`yO(=;=g2vSWzCH^K2Is? zJ(vXrdBmx|rv~=n5oIeb>4v;#Zt?P7l4n_z#f^GUU^|^G?DYyrY^|&?iY{GI< zxpyrs*OaRR%Qexvmb*zlw)a}A6AYp6>-%}1qHC>vhIm}`H>Jm(<#EyP=^fI`i*F?XkcLw|}%8PzaZ)w26(eLT)zq99>==b!N)Ofwo@9E9x z>v7MrP~orTntf(^T=aW-(eplij%>N6rrOK1xHJz?FSj4Imx~|GD{{@@r}3K~=zW{YM4sw>`a~~pEE5Kt<(kg}?%FrFhUyudV{eBzm8W{kz1L{Dt6W`K z?uy=PJbyd5D;vJ)H$Z8&{#NL2=j@*9C><+2x4G=?j;>Ghuo2f)tiLo4F}3Te-{Kmi z*r)MXiEGwkpURwjM&37tLLt+xtvX@>z;S0&k@Ts|$NS`cdVikdROaJL^S)Iglj|IA zly$RQOFl+HkZIRIz2&*W15yj@Q<)De%*WSB9$3!YDD#)cOCJwFrsbTwaQ-9aeOVK- zPi5}8An)TajU&HyiCe24`JLcVJXqbns{No%@A9+G`JK~@ ze9XC|dyc1V{LcOiziGtZa^zxi&L4j5$usv9fr)b$oSYian3nG4^+$`8oY3nDMet z^Ime*4)&z^1tj;B#l6PsmV$qjr#Q;XBvy9{j>l9cWxWaR=NRTt$1-Q^OXFEDm^-N- z7#+hszNRs{Pj2|4pIAzMw7uLG` zp2lN7F&^xq|J<{01V2dZK9|_lrem;QaLjc&U&wdrvNDoblueY)1gcbp>9ca&_} zr)1$cU*RP_*^fP3P2XW!is8>>&)-hY24z({W5>YYp?O){oj_Yn(BS`V~uC)pp9#vCQx0$MgI? zEcwmoAnJ)eSS;g{oswgJRlqU^7E7NL`&0qTI9M!gQS6HaEaO9es)@mTvE!0GRr&di zGHf4RP?_(mOk&y?lh0%<>rG>A_1KuSM-XT$Yc;~!nCvcC)_H`rG3h2)&Jo3Gj&;6b z8H0IHS+%cVbG!2M9^V0K#aGLm0bGwUCdBjm<=E3dTvE06D^BxavG_st3!Wv@XhJ=6z{R1)i&o#!KFHJjc-wj-j1+td{nz^2DbM{v)NC`b!+^ zihMdyV#h;P7QgG=)+q;xfn}-=$;t*cvnN9X~%p1F3Hd80BhWQw=xe zzKsdAumkvqS73{BWkMl&{|0ncQw;rdx#M-(`{0mz+7giPO zX3a**+f;YV`RfJDPP6!qWIld*P*sgLWuE%oVoy;?A{ zuvc4n?r1$Pz)$O6x)u@tt`Pq?Pq)=SPEy*$8lXOYPUkB5JWGx5+dH1>XiqeLOLI-n=h2vLiHGKTd&leCjK*)tW}TaD z8B@%4TXR#)J7Z0md*c4V9$m6*9NL9wbI|^T)(004qtI?Zn}@at?Jl%cXgzVRnT~cP z+V{{tz{!LEPq?baEbEL`gSJ1~P_z+fC!?K>HUVu4+H|xl&~8Ng540bl{Sxg-wBMt> zjkXHyW3;ts8_{-b%Ce4VRcM{jdZ6`2+YfCp+Tmy;&_AXXEfBcj2_oq*VHnyG_JNjJFB*SayGi9v56n*8YX55&{Qgo z$I;s6mXjJULY8l}8Pt-lHKo3;hr~-7TfNKPQ)m`OUGlDFGQf|IgNZDb{r6eB+UkqVy@U zIIkoJ4K^s5KmE*jV&or`V2iOF&??zXu^1bvoi%Ub_tp!wzLBFE6(VuGQ>#r0hNwNby zVMSF4dJP(f!8}FZ!r&xDFQU^M)eru~nk&(qPovMP^sF10a~!=4`(X2Fqu)$M+71k)EBE?|m^(2iJrPtdi52Kc zM1~pqlOwI^Wor3}HtncmZK}{U%pf<8@bz8v4^u1~-J;>ru$Vs2-sfZ++wBvP0}l8^i_a&*%@tXg`7(Q5u0288O`@0Ob*aBuDKp(3fFQ znJ%(6hZoyoRjAa%$Q!HSgIQiYp!?}8x<@M<)HQcn1t!(z;55IyXl_Wam_pxCk?f5B zh5oS$<(V24pe|F<_a!Q@xWNiVU&H;G2EB>HnJx6JL?Gm4X$-|kR@64l9CT$F`mW_y zuDSxQ0EzkSEm&x}!|5yyfm&0`R@#A1H$y*XCe1`=j-oAy-=VNSN26X0 z6ezYzUyjn}*#=GwSe5uR$Djt;3c6s%@Ty#m)|ggW%}?*3t5DHlb0ZGqhUgVDMxV*8 z=AfbHMd>%_;gK4GLAGjr2nX{t`cDB6ewJ6wPu=MXtLKRv8AS|*{1Dw?28H|bH3n&a zs^ZP>nycYNzClH7s3;u*jZ*X{L`EuoRe=RviOBL3uzy29i}sNkeG^R{RXR;D&F~f; zXEzp9xs!t5t2jCGX>6+UqP1Wx-HUj!!p8-Tv<(r~u+$8PC89UIfx!~R&e2t9&@a$5 zTj`rWN=A~7{=yhrE*O+89-O7HDHzh*CAiqwaGb3lF9#*y)-hZgCwXx(=(pDo6lv59 zD&gHP()7%#Wi>cRRpi-a=22L6dN{=r~(#&nN?L-72UvXXCK`7zRh( zPSxh9?_f@`QCfS|!jJ5|BiD+?mGf}ZEO*4Z_8Cx|*ezroC6V?5r4PAX{$&{FI=HmqS zpAk*zyYLwX&k`|O^s0p1%qo~jc-zeAuNxtnC4q)#y<`~JG)BYeY7S<{8$#b9J+vs< znU>%}sX^<^&He|J-V&t}GXP|nQEh|?@q@QiGgL*HhcS3dj5+GcjFi&eAg-omqIBMH z>?>>4eN3ENOM zH^}CB2mR%WTJdi@TNl#D7z~5)W41EzB>SBoBby)@(|~Vm)QXAp2%7nMmkGER#%lDD znRic*)$}Dr$=3J87ujLI6}cJs zUetywt-M@%qcr?rWe2>|C1-G5 zafrFn@fwfgpdb0RetcIlsF$MqR;535gPtQeajU_==^JjL3a${x9Xfx(m1;p%JZ+c?Qmsr}&!fTVFbdby77Fug& z(Y4V=dK@RBF?tEU>L@*hCRTR|N0jNLQc!SqY4D5yczxM{aN)ikL-B`xJ3QK5j6m`AkGtab$`?3jI@Jaw@7Z-2Ntf znU;g{MSg6m3E2g}(VEZ=ixbnkaJi;YpE&%wC-IXRg??`OUM;rN8u+;0i-)JDqo+2; z^|ZvXC#6i${f{Ll)ORttZY!5ZN2-lSxzey~ahx+x4eF%H<28P6kZi-jZ;+oK!if49AHTR54Ek|jy~csC zyWa3j=(v0p50n+N>>>7K-*kiaBEnZMn)&)`P9;%_ND8Qo(q|adB>1GoXqa)m zggG=y;pmKNN;9`Jbo&x&MAz*GdlZ)n`t$ZlD=`_CNrcs3v{S3}kZsd?T;h?hAjrNy z1mkB$=|>U=urJe_EcarK6ZyjW3c58 zIs6WAvc3st?`V-4pG(Td*^P7*hh{65n&s28?YtzCJMp)TSCvA6ebK%406sTzP&mgA zC)*Fl!a0V1^P%D-4D3bs9D|iPF(+nMg?V$UsS?d|4azkY`jsRAoGl(QR3HpU1*lYv*%U2pDo9KxJPrkl4H?cvraoRuMz*swb~!eI=^wghVv;J zw#^UGNHH>>Fr;RY;vyIA9(Lm~Ax;i*s4icymUiOt1s$Bohb$bWH`}E{BEWu%$qPsE zVUN!+`TK9S9JxpvAFPHr4mf4OVMCpK&TUs?efbu3+;Q-9|2S zF5)wZ-%IuUG(Z2P)fVRj8{&y&&It@G$}M@b)Z)nb{CX|tKxFv~R^KKB7c1YF!>rb) zn7lZbeuC!3x%rdqc@q;;{|t-o5p*-((|CFDT^<)Rp!c?H7AvwOm-3F!S+arn`;!O9 zmifG!hMJ#)2&bBBh~QgVgVW0c;eDCbM6GNUSEI#a=9)r}$zLb$!$ShD)k6c%F)uDI z&mJKUQkseVJYlz$paVk#UIbT+GF?|}ARMiTEail_)E_@5ulSpkoB2g|zFMC__-%ZjrLSwNnA2hSt-oqU(c_>4KE zz<2Eps3i-5mH<3M0&8U=M|9C#_@(U#;R;(H)l5O`4{WAl_WR#wGc&*ETGv$68EYyS zCR3g&1}b)^XM3!NWntQklgma05-mL^i+L_DtE44}ELSBWtk_!aCR;#qhFd;zxcDQ7 zxjAdmwLB}Mod*h+Ti7r1=^J&+bJJb5Ljx1+9@p`v6$WAd%0^BopRO#UPoS?V6DL_! zhRdtG*t}}CXBg{&V=D_8Ii7$lBkP$;uwpo{vM?xMl!f?aLcsTxb{gVKRO%*P)DqYwI9{^UXDxo&A&JkLc^gK%2^N-Y(#`GN(sy zF{0kK(}VWfMJ$#zCUU1?;!j{LV?;8?%YVm5V2f+#od(XYspMVokH6oU*`8~e$P~7u z?yzT&cMe`GDS~$uY?qNT|KS7#Iy+^qBQqr+Pe#fshevixEGWBl?OpFR^qF%P$^ecI zqR*bcM`8*?9%I+!VADzuhSrHpZA92nI2?%m}xH)n4V-h#PmGV zD@;FR>Sa2`^bXT+nLc6q6VqRqzF?wumn)Siok=m}GZ{<~ruHrIRSWN4w|RaGhIZUu z)X?ghxo-2+dl$FGH+9_Ys*i7s-__PSe`CjnHrKR!+Txqr@b!+0qG@#t7DQGx@Hm(C XIIrz%n>+4d9 -#define HOVER_ROCKBASE ground -#define HOVER_WOBBLE_PERIOD 38 -#define HOVER_WOBBLE_AMPLITUDE [0.6] -#define HOVER_WAKEPIECE wake -#define HOVER_IDLE_SFX 1024 + 2 -#define HOVER_WAKE_SFX_1 1024 + 0 -#define HOVER_WAKE_SFX_2 1024 + 1 -#include "../bar_hovercraft_common.h" +#define SIG_MOVE 2 +#define SIG_BUILD 4 +#define SIG_IDLE 8 + +activatescr() +{ + +} + +deactivatescr() +{ + set INBUILDSTANCE to 0; + hide cagelight_emit; + turn cagelight to y-axis <0> speed <1000>; +} +WobbleUnit() +{ + while( TRUE ) + { + if( Wobble_status) + { + if( get GROUND_WATER_HEIGHT(get UNIT_XZ) < 0 ) //Over Water + { + move base to y-axis [-0.500000] speed [0.50000]; + } + else + { + move base to y-axis [0.500000] speed [0.50000]; + } + } + else + { + if( get GROUND_WATER_HEIGHT(get UNIT_XZ) < 0 ) //Over Water + { + move base to y-axis [-1.500000] speed [0.50000]; + } + else + { + move base to y-axis [1.500000] speed [0.50000]; + } + } + Wobble_status = !Wobble_status; + sleep 260; + } +} #define BASEPIECE base #define HITSPEED <30.0> //how 'heavy' the unit is, on a scale of 1-10 #define UNITSIZE 2 #define MAXTILT 100 -#include "../unit_hitbyweaponid_and_smoke.h" +#include "unit_hitbyweaponid_and_smoke.h" + +BankControl() +{ + var lastHeading, currHeading, diffHeading; + lastHeading = GET HEADING; + while (TRUE) + { + currHeading = GET HEADING; + diffHeading = currHeading - lastHeading; + // Set values for tilt + + //Remove Extreme values + if ( diffHeading > 1500 ) diffHeading = 1500; + if ( diffHeading < -1500 ) diffHeading = -1500; + //get PRINT(diffHeading); + turn base to z-axis 1.0 * diffHeading speed <23>; + + lastHeading = currHeading; + sleep 67; + } +} + +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState ) + { + call-script deactivatescr(); + notBuilding = 1; + currentstate = 1; + } + else + { + call-script activatescr(); + notBuilding = 0; + currentstate = 0; + } + } + statechg_StateChanging = FALSE; +} + +HoverIdle() +{ + signal SIG_IDLE; + set-signal-mask SIG_IDLE; + while( TRUE ) + { + emit-sfx 1024 + 2 from wake; + sleep 1750; + } +} + +StartMoving() +{ + signal SIG_MOVE; + set-signal-mask SIG_MOVE; + signal SIG_IDLE; + var waketime; + var bowtime; + while( TRUE ) + { + emit-sfx 1024 + 0 from wake; + if (bowtime) emit-sfx 1024 + 1 from wake; + bowtime = !bowtime; + waketime = (get CURRENT_SPEED) * 100 / get MAX_SPEED; + if( waketime < 30 ) waketime = 30; + sleep 15000 / waketime; + } +} +StopMoving() +{ + signal SIG_MOVE; + signal SIG_IDLE; + start-script HoverIdle(); + return (0); +} Create() { hide nano; hide wake; hide cagelight_emit; - SLEEP_UNTIL_UNITFINISHED; - start-script HoverCraftMotion(); + notBuilding = 1; + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; + while( get BUILD_PERCENT_LEFT ) + { + sleep 500; + } + start-script BankControl(); + start-script WobbleUnit(); } -StartBuilding(heading, pitch) +Activate() { - signal SIGNAL_BUILD; - set-signal-mask SIGNAL_BUILD; + start-script RequestState(0); +} - show nano; +Deactivate() +{ + start-script RequestState(1); +} - turn turret to y-axis heading speed <160.0>; +StartBuilding(heading, pitch) +{ + show nano; + start-script RequestState(0); + while( notBuilding ) sleep 100; + signal SIG_BUILD; + turn turret to y-axis heading speed <160.000000>; wait-for-turn turret around y-axis; set INBUILDSTANCE to 1; - show cagelight_emit; spin cagelight around y-axis speed <225>; } StopBuilding() { - signal SIGNAL_BUILD; - set-signal-mask SIGNAL_BUILD; - hide nano; + signal SIG_BUILD; + set-signal-mask SIG_BUILD; hide cagelight_emit; turn cagelight to y-axis <0> speed <-400>; - sleep 6000; - - set INBUILDSTANCE to 0; + set-signal-mask 0; + signal SIG_BUILD; + start-script RequestState(1); } -QueryNanoPiece(pieceIndex) +QueryNanoPiece(piecenum) { - pieceIndex = nano; + piecenum = nano; } +/* +TargetHeading(Func_Var_1) +{ + Static_Var_2 = 0 - Func_Var_1; +} +*/ + +SweetSpot(piecenum) +{ + piecenum = base; +} Killed(severity, corpsetype) { @@ -81,7 +223,7 @@ Killed(severity, corpsetype) { corpsetype = 1 ; explode base type BITMAPONLY | NOHEATCLOUD; - + //explode wake type BITMAPONLY | NOHEATCLOUD; explode turret type FIRE | SMOKE | FALL | NOHEATCLOUD; explode nano type BITMAPONLY | NOHEATCLOUD; return(corpsetype); @@ -90,7 +232,7 @@ Killed(severity, corpsetype) { corpsetype = 2 ; explode base type BITMAPONLY | NOHEATCLOUD; - + //explode wake type FALL | NOHEATCLOUD; explode turret type FALL | NOHEATCLOUD; explode nano type FALL | NOHEATCLOUD; return(corpsetype); @@ -99,14 +241,14 @@ Killed(severity, corpsetype) { corpsetype = 3 ; explode base type FIRE | SMOKE | FALL | NOHEATCLOUD; - + //explode wake type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; explode turret type FIRE | SMOKE | FALL | NOHEATCLOUD; explode nano type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; explode base type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; - + //explode wake type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode turret type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode nano type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; return corpsetype; diff --git a/scripts/Units/corch.cob b/scripts/Units/corch.cob index 69b47683ebc7954bc595a0974f82749d304cf2bb..5193a3a3b5aaf52cf80c40f6b9f903f1900c9372 100644 GIT binary patch literal 4036 zcmbuCO=w(I6vuBSlWB|6zEVY046|@i#Kj=Rg;c6ZDJ{h|HcGUc&Ls0l#!P3D$(yv@ zWns5|ECg|51QEoQpn{;F2qL-^vT{>&sn~^BaMAex-FMHM+sULhIOX)7dp`f?mq7Ow+>i(6^v80rsb2F6$enM;^tL{%+-4(K%-^EEuGYX|$4Pun>*@6%Lqz=8j(Dz?_x>%h_#(5I++TVy zj}2t=CAZmv!Bz7a8BToA%f2dAw9r$DC6xrKHJgi~iEF(}}%duPj-RvwLr}dmz z)W{y*C#J}w9i|_ssGk$v6in#dZ$Z}ZvatdeGv}G}^9;S`TEq@}|7Ro{mFp>-)Him< za26O6wk*eGGoJ|f$0+D#J{xxJK#-S)=+q1P^GJxpu3!&>JKilb z`A!`TcBCtMk;ooDeQcjNu^H4+@jGn$Y#@^-Bri^eA!*{ z+YbLiL1DggAr>;`Gi>|#KfI^%n&*QpGP4EOMQx7ZvpjyL(X)fxV^a>GVLuI{xii1x zAvU6TPW0bDTdMoIY>0yiJ-2$e<6{`m;p4YQCs=*%A>TqTIeJ&m>-<6&)6wsbQC1Zn z8-3zD$n0);sOPib;~jzxJlM>Kd+hVJ6vQ$++Y#wUmvl`8y zs&7lFavb_@2t2vs{yBc@35UrDht1#bi>ZzNt!FdAF3#_H?Rq?;&0lYC7xf7fHXe(7 zR~{mVu!$GvoP394=J=A>)nv-E1m-wbbgnmgZF(2eC%U=s0N={=WCL$uV1yq82xvCz<5Xx1v#t-cZ;bs z-qz1RK5;(t8>PD&mIZ z%KyK1VU*9kr-OQbBwcBaa%{SIkm-TzSG;2fnawQUFkvuSBhH^T)5~$1f>|ipL6e-xq11SaC+}O=X}5C$35@8v>8IU zRWc`eYc_A8J%oU0I^&GJ^MmwY}wgbk^>SS%A;`z!|Q1U(~0xbEGA@$=W#-saROZaHw?G`lHJblB*f*X(oFs^M%t zl-I;>AG5oi7P#kD;l4AOZ#cR&$Gga9n^@FBtVV|Cd`|wMoGIWc z!AgfJEVK%LU$~BXMWgwNGr=BP=eF1jOn#?-VN@RZ{F)Eiq{>kyiUB*7;c=|Aj zo#CxN>MC69;d)9Jk1x7Cb5R}jTpYizTrzx~3!%y7Jv|%y%>{qsP|s{eYdvzV{p7V1 zSDvHy>wP^m^*h>x&ua9#90P~n%TAa)rsH3da<9JB@5M2@)$bUujd=MS=kt6gHobp& zwtf{U`S+4Pdma;iKObYCz9Bc{OTT#6;D;%s=NTJ1E%uF$?@v9u<`ip2=RKSBplBJN zb9x@0FRT3u3;*}-cw)+P>%k!pG%`Jr=8aL?bfIagx%Gi7*Y zHT%vv#$$SYp8Hnp6c06Zf_+hv|658{cn-{nf@u^P7_CW!1wJt>Es=sS#9(B{aHhYTUcw^z1jYf zFbgp*_HSOD_BphJ`CEM;;7#1Ra*JWM_PlX;t}>bJ@6WU;^_M2+q|*|pb;n#(v-iOH zuKxC){q1U4<&^WS-6ySj0H5a+{pL+)d&TqT5AOV~bGyHb(7|_*O*_uYlLDfn4)9*j zReXxM$@!CXwqD8K?G`uTsej8{q&P36IN*1S!+V6d9>>qS#aRNA;;f}O=AYH$`FnkS z_Bej7$DucMu1`~r&h=qBJD1z*T(}()=ts#-$(sUvEBRS+Q*yrmZ3+Kx{7Q0N@`L0T z$?uXsCI3q1?g-&t$zjPul7}Uw94F*y|6qQt`BF(uf HRZ0C1BLV?~ diff --git a/scripts/Units/corck.bos b/scripts/Units/corck.bos index 6c2891bd45e..7a030a0dc52 100644 --- a/scripts/Units/corck.bos +++ b/scripts/Units/corck.bos @@ -1,156 +1,158 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" -#define SIGNAL_BUILD 2 -#define SIGNAL_MOVE 1 +#define SIG_BUILD 4 +#define SIG_WALK 2 piece torso, pelvis, lthigh, rthigh, rleg, lleg, beamhinge, rfoot, lfoot, beamcase, nano, aimy1, cagelight, cagelight_emit; -static-var notBuilding, isMoving, readyToBuild; +static-var notBuilding, bMoving, statechg_DesiredState, statechg_StateChanging; static-var animSpeed, maxSpeed, animFramesPerKeyframe; Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations\corck_anim_walk.blend - set-signal-mask SIGNAL_MOVE; - if (isMoving) { //Frame:4 + set-signal-mask SIG_WALK; + if (bMoving) { //Frame:4 turn lfoot to x-axis <-29.399999> speed <948.439919> / animSpeed; - turn lfoot to y-axis <0.0> speed <19.876628> / animSpeed; + turn lfoot to y-axis <0.000000> speed <19.876628> / animSpeed; turn lleg to x-axis <9.399998> speed <281.999950> / animSpeed; turn lthigh to x-axis <21.300000> speed <638.999987> / animSpeed; turn rfoot to x-axis <26.099995> speed <782.999858> / animSpeed; - turn rleg to x-axis <-4.600003> speed <138.0> / animSpeed; + turn rleg to x-axis <-4.600003> speed <138.000105> / animSpeed; turn rthigh to x-axis <-42.499998> speed <1274.999950> / animSpeed; sleep 131; } - while(isMoving) { - if (isMoving) { //Frame:8 + while(bMoving) { + if (bMoving) { //Frame:8 turn lfoot to x-axis <-48.099999> speed <560.999978> / animSpeed; turn lleg to x-axis <39.499995> speed <902.999895> / animSpeed; turn lthigh to x-axis <22.456250> speed <34.687508> / animSpeed; move pelvis to y-axis [-0.695775] speed [20.873240] / animSpeed; - turn pelvis to y-axis <5.0> speed <149.999996> / animSpeed; + turn pelvis to y-axis <5.000000> speed <149.999996> / animSpeed; turn rfoot to x-axis <-11.900001> speed <1139.999895> / animSpeed; turn rleg to x-axis <41.299996> speed <1376.999972> / animSpeed; move rthigh to y-axis [-0.695775] speed [20.873240] / animSpeed; turn rthigh to x-axis <-76.899993> speed <1031.999851> / animSpeed; - turn rthigh to y-axis <-5.0> speed <149.999996> / animSpeed; - turn torso to x-axis <2.666667> speed <80.0> / animSpeed; + turn rthigh to y-axis <-5.000000> speed <149.999996> / animSpeed; + turn torso to x-axis <2.666667> speed <80.000004> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:12 + if (bMoving) { //Frame:12 turn lfoot to x-axis <-28.600000> speed <584.999965> / animSpeed; turn lleg to x-axis <-37.499999> speed <2309.999825> / animSpeed; turn lthigh to x-axis <60.999996> speed <1156.312385> / animSpeed; move pelvis to y-axis [-0.995989] speed [9.006422] / animSpeed; - turn pelvis to y-axis <8.0> speed <90.0> / animSpeed; + turn pelvis to y-axis <8.000000> speed <90.000003> / animSpeed; turn rfoot to x-axis <10.399998> speed <668.999971> / animSpeed; turn rleg to x-axis <-1.600002> speed <1286.999931> / animSpeed; move rthigh to y-axis [-0.995989] speed [9.006422] / animSpeed; turn rthigh to x-axis <-12.499999> speed <1931.999825> / animSpeed; - turn rthigh to y-axis <-8.0> speed <90.0> / animSpeed; + turn rthigh to y-axis <-8.000000> speed <90.000003> / animSpeed; turn torso to x-axis <8.999999> speed <189.999978> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:16 + if (bMoving) { //Frame:16 turn lfoot to x-axis <-0.300002> speed <848.999925> / animSpeed; turn lleg to x-axis <-36.800001> speed <20.999963> / animSpeed; turn lthigh to x-axis <26.599998> speed <1031.999954> / animSpeed; move pelvis to y-axis [-0.696218] speed [8.993125] / animSpeed; - turn pelvis to y-axis <5.0> speed <90.0> / animSpeed; - turn rfoot to x-axis <-0.0> speed <311.999934> / animSpeed; - turn rleg to x-axis <-0.0> speed <48.0> / animSpeed; + turn pelvis to y-axis <5.000000> speed <90.000003> / animSpeed; + turn rfoot to x-axis <-0.000000> speed <311.999934> / animSpeed; + turn rleg to x-axis <-0.000000> speed <48.000064> / animSpeed; move rthigh to y-axis [-0.696218] speed [8.993125] / animSpeed; - turn rthigh to x-axis <-0.0> speed <374.999976> / animSpeed; - turn rthigh to y-axis <0.0> speed <239.999998> / animSpeed; - turn torso to x-axis <5.0> speed <119.999986> / animSpeed; + turn rthigh to x-axis <-0.000000> speed <374.999976> / animSpeed; + turn rthigh to y-axis <0.000000> speed <239.999998> / animSpeed; + turn torso to x-axis <5.000000> speed <119.999986> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:20 + if (bMoving) { //Frame:20 turn lfoot to x-axis <26.099995> speed <791.999930> / animSpeed; turn lleg to x-axis <-4.600003> speed <965.999912> / animSpeed; turn lthigh to x-axis <-42.499998> speed <2072.999877> / animSpeed; - move pelvis to y-axis [0.0] speed [20.886537] / animSpeed; - turn pelvis to y-axis <-0.0> speed <149.999996> / animSpeed; + move pelvis to y-axis [0.000000] speed [20.886537] / animSpeed; + turn pelvis to y-axis <-0.000000> speed <149.999996> / animSpeed; turn rfoot to x-axis <-29.399999> speed <881.999984> / animSpeed; turn rleg to x-axis <9.399998> speed <281.999950> / animSpeed; - move rthigh to y-axis [0.0] speed [20.886537] / animSpeed; + move rthigh to y-axis [0.000000] speed [20.886537] / animSpeed; turn rthigh to x-axis <21.300000> speed <638.999987> / animSpeed; - turn torso to x-axis <-0.0> speed <149.999996> / animSpeed; + turn torso to x-axis <-0.000000> speed <149.999996> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:24 + if (bMoving) { //Frame:24 turn lfoot to x-axis <-11.900001> speed <1139.999895> / animSpeed; turn lleg to x-axis <41.299996> speed <1376.999972> / animSpeed; turn lthigh to x-axis <-76.899993> speed <1031.999851> / animSpeed; move pelvis to y-axis [-0.695775] speed [20.873240] / animSpeed; - turn pelvis to y-axis <-5.0> speed <149.999996> / animSpeed; + turn pelvis to y-axis <-5.000000> speed <149.999996> / animSpeed; turn rfoot to x-axis <-48.099999> speed <560.999978> / animSpeed; turn rleg to x-axis <39.499995> speed <902.999895> / animSpeed; move rthigh to y-axis [-0.695775] speed [20.873240] / animSpeed; turn rthigh to x-axis <22.456250> speed <34.687508> / animSpeed; - turn rthigh to y-axis <5.0> speed <149.999996> / animSpeed; - turn torso to x-axis <2.666667> speed <80.0> / animSpeed; + turn rthigh to y-axis <5.000000> speed <149.999996> / animSpeed; + turn torso to x-axis <2.666667> speed <80.000004> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:28 + if (bMoving) { //Frame:28 turn lfoot to x-axis <10.399998> speed <668.999971> / animSpeed; turn lleg to x-axis <-1.600002> speed <1286.999931> / animSpeed; turn lthigh to x-axis <-12.499999> speed <1931.999825> / animSpeed; move pelvis to y-axis [-0.995989] speed [9.006422] / animSpeed; - turn pelvis to y-axis <-8.0> speed <90.0> / animSpeed; + turn pelvis to y-axis <-8.000000> speed <90.000003> / animSpeed; turn rfoot to x-axis <-28.600000> speed <584.999965> / animSpeed; turn rleg to x-axis <-37.499999> speed <2309.999825> / animSpeed; move rthigh to y-axis [-0.995989] speed [9.006422] / animSpeed; turn rthigh to x-axis <60.999996> speed <1156.312385> / animSpeed; - turn rthigh to y-axis <8.0> speed <90.0> / animSpeed; + turn rthigh to y-axis <8.000000> speed <90.000003> / animSpeed; turn torso to x-axis <8.999999> speed <189.999978> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:32 - turn lfoot to x-axis <-0.0> speed <311.999934> / animSpeed; - turn lleg to x-axis <-0.0> speed <48.0> / animSpeed; - turn lthigh to x-axis <-0.0> speed <374.999976> / animSpeed; + if (bMoving) { //Frame:32 + turn lfoot to x-axis <-0.000000> speed <311.999934> / animSpeed; + turn lleg to x-axis <-0.000000> speed <48.000064> / animSpeed; + turn lthigh to x-axis <-0.000000> speed <374.999976> / animSpeed; move pelvis to y-axis [-0.696218] speed [8.993125] / animSpeed; - turn pelvis to y-axis <-5.0> speed <90.0> / animSpeed; + turn pelvis to y-axis <-5.000000> speed <90.000003> / animSpeed; turn rfoot to x-axis <-0.300002> speed <848.999925> / animSpeed; turn rleg to x-axis <-36.800001> speed <20.999963> / animSpeed; move rthigh to y-axis [-0.696218] speed [8.993125] / animSpeed; turn rthigh to x-axis <26.599998> speed <1031.999954> / animSpeed; - turn rthigh to y-axis <5.0> speed <90.0> / animSpeed; - turn torso to x-axis <5.0> speed <119.999986> / animSpeed; + turn rthigh to y-axis <5.000000> speed <90.000003> / animSpeed; + turn torso to x-axis <5.000000> speed <119.999986> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:36 + if (bMoving) { //Frame:36 turn lfoot to x-axis <-29.399999> speed <881.999984> / animSpeed; turn lleg to x-axis <9.399998> speed <281.999950> / animSpeed; turn lthigh to x-axis <21.300000> speed <638.999987> / animSpeed; - move pelvis to y-axis [0.0] speed [20.886537] / animSpeed; - turn pelvis to y-axis <-0.0> speed <149.999996> / animSpeed; + move pelvis to y-axis [0.000000] speed [20.886537] / animSpeed; + turn pelvis to y-axis <-0.000000> speed <149.999996> / animSpeed; turn rfoot to x-axis <26.099995> speed <791.999930> / animSpeed; turn rleg to x-axis <-4.600003> speed <965.999912> / animSpeed; - move rthigh to y-axis [0.0] speed [20.886537] / animSpeed; + move rthigh to y-axis [0.000000] speed [20.886537] / animSpeed; turn rthigh to x-axis <-42.499998> speed <2072.999877> / animSpeed; - turn rthigh to y-axis <-0.0> speed <149.999996> / animSpeed; - turn torso to x-axis <-0.0> speed <149.999996> / animSpeed; + turn rthigh to y-axis <-0.000000> speed <149.999996> / animSpeed; + turn torso to x-axis <-0.000000> speed <149.999996> / animSpeed; sleep ((33*animSpeed) -1); } } } -// Call this from StopMoving()! +// Call this from MotionControl()! StopWalking() { - move pelvis to y-axis [0.0] speed [5.221634]; - move rthigh to y-axis [0.0] speed [5.221634]; + move pelvis to y-axis [0.000000] speed [5.221634]; + move rthigh to y-axis [0.000000] speed [5.221634]; turn lfoot to x-axis <2.214665> speed <284.999974>; turn lfoot to y-axis <0.662554> speed <4.969157>; - turn lleg to x-axis <0.0> speed <577.499956>; - turn lthigh to x-axis <0.0> speed <518.249969>; - turn pelvis to y-axis <0.0> speed <37.499999>; - turn rfoot to x-axis <0.0> speed <284.999974>; - turn rleg to x-axis <0.0> speed <577.499956>; - turn rthigh to x-axis <0.0> speed <518.249969>; - turn rthigh to y-axis <0.0> speed <60.0>; - turn torso to x-axis <0.0> speed <47.499995>; + turn lleg to x-axis <0.000000> speed <577.499956>; + turn lthigh to x-axis <0.000000> speed <518.249969>; + turn pelvis to y-axis <0.000000> speed <37.499999>; + turn rfoot to x-axis <0.000000> speed <284.999974>; + turn rleg to x-axis <0.000000> speed <577.499956>; + turn rthigh to x-axis <0.000000> speed <518.249969>; + turn rthigh to y-axis <0.000000> speed <60.000000>; + turn torso to x-axis <0.000000> speed <47.499995>; } UnitSpeed(){ maxSpeed = get MAX_SPEED; // this returns cob units per frame i think @@ -173,7 +175,16 @@ UnitSpeed(){ #define UNITSIZE 1 #define MAXTILT 100 -#include "../unit_hitbyweaponid_and_smoke.h" +#include "unit_hitbyweaponid_and_smoke.h" + +Go() +{ + turn beamcase to z-axis <-90> speed <180>; + wait-for-turn beamcase around z-axis; + + turn beamhinge to x-axis <90> speed <360>; + wait-for-turn beamhinge around x-axis; +} Stop() { @@ -187,10 +198,38 @@ Stop() turn beamcase to z-axis <0> speed <180>; wait-for-turn beamcase around z-axis; - turn aimy1 to y-axis <0.0> speed <160.0>; + turn aimy1 to y-axis <0.000000> speed <160.000000>; wait-for-turn aimy1 around y-axis; } +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState ) + { + call-script Stop(); + notBuilding = 1; + currentstate = 1; + } + else + { + call-script Go(); + notBuilding = 0; + currentstate = 0; + } + } + statechg_StateChanging = FALSE; +} + Create() { hide lthigh; @@ -198,30 +237,33 @@ Create() hide nano; hide aimy1; hide cagelight_emit; - isMoving = FALSE; + bMoving = FALSE; + notBuilding = 1; + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; animSpeed = 4; - readyToBuild = FALSE; } -StartBuilding(heading, pitch) +Activate() { - signal SIGNAL_BUILD; - set-signal-mask SIGNAL_BUILD; + start-script RequestState(0); +} - show nano; - - if (!readyToBuild){ - turn beamcase to z-axis <-90> speed <180>; - wait-for-turn beamcase around z-axis; - - turn beamhinge to x-axis <90> speed <360>; - wait-for-turn beamhinge around x-axis; - readyToBuild = TRUE; - } +Deactivate() +{ + start-script RequestState(1); +} - turn aimy1 to y-axis heading speed <600.0>; +StartBuilding(heading, pitch) +{ + show nano; + start-script RequestState(0); + //show cagelight_emit; + //spin cagelight_emit around z-axis speed <200>; + while( notBuilding ) sleep 100; + signal SIG_BUILD; + turn aimy1 to y-axis heading speed <600.000000>; wait-for-turn aimy1 around y-axis; - set INBUILDSTANCE to 1; show cagelight_emit; spin cagelight around z-axis speed <150>; @@ -229,53 +271,53 @@ StartBuilding(heading, pitch) StopBuilding() { - signal SIGNAL_BUILD; - set-signal-mask SIGNAL_BUILD; hide nano; + signal SIG_BUILD; + set-signal-mask SIG_BUILD; hide cagelight_emit; turn cagelight to z-axis <0> speed <1000>; - sleep 6000; - readyToBuild = FALSE; - - set INBUILDSTANCE to 0; - - turn beamhinge to x-axis <0> speed <360>; - wait-for-turn beamhinge around x-axis; - - turn beamcase to z-axis <0> speed <180>; - wait-for-turn beamcase around z-axis; - - turn aimy1 to y-axis <0.0> speed <160.0>; - wait-for-turn aimy1 around y-axis; + set-signal-mask 0; + signal SIG_BUILD; + start-script RequestState(1); } -StartMoving(reversing) +StartMoving() { - isMoving = TRUE; - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; + bMoving = TRUE; + signal SIG_WALK; + set-signal-mask SIG_WALK; start-script UnitSpeed(); start-script Walk(); } StopMoving() { - isMoving = FALSE; - signal SIGNAL_MOVE; + bMoving = FALSE; + signal SIG_WALK; call-script StopWalking(); } -QueryNanoPiece(pieceIndex) +QueryNanoPiece(piecenum) { - pieceIndex = nano; + piecenum = nano; } +/* +TargetHeading(Func_Var_1) +{ + Static_Var_1 = 0 - Func_Var_1; +} +*/ +SweetSpot(piecenum) +{ + piecenum = torso; +} // For C:\Users\ptasz\Documents\GitHub\support\Animation_sources\death_anims\corck_anim_death.blend Created by https://github.com/Beherith/Skeletor_S3O V((0, 3, 9)) //use call-script DeathAnim(); from Killed() DeathAnim() {// For C:\Users\ptasz\Documents\GitHub\support\Animation_sources\death_anims\corck_anim_death.blend Created by https://github.com/Beherith/Skeletor_S3O V((0, 3, 9)) - signal SIGNAL_MOVE; + signal SIG_WALK; call-script StopWalking(); turn aimy1 to y-axis <0> speed <120>; if (TRUE) { //Frame:2 @@ -367,7 +409,7 @@ DeathAnim() {// For C:\Users\ptasz\Documents\GitHub\support\Animation_sources\de turn rfoot to z-axis <-9.923963> speed <48.906297> ; turn rfoot to y-axis <1.559716> speed <8.178378> ; turn rleg to x-axis <-1.262730> speed <36.918880> ; - turn rleg to z-axis <-0.0> speed <19.868152> ; + turn rleg to z-axis <-0.000109> speed <19.868152> ; turn rleg to y-axis <0.141051> speed <23.974979> ; turn rthigh to x-axis <-18.275134> speed <36.394040> ; turn rthigh to z-axis <-0.414435> speed <31.020692> ; @@ -448,7 +490,7 @@ DeathAnim() {// For C:\Users\ptasz\Documents\GitHub\support\Animation_sources\de turn lthigh to x-axis <-0.401430> speed <4.014300> ; turn lthigh to z-axis <-0.131213> speed <1.312131> ; turn lthigh to y-axis <-0.178914> speed <1.789145> ; - turn lthigh to x-axis <-23.0> speed <172.501798> ; + turn lthigh to x-axis <-23.000240> speed <172.501798> ; turn lthigh to z-axis <-7.517958> speed <56.384678> ; turn lthigh to y-axis <-10.251042> speed <76.882808> ; turn rfoot to x-axis <36.007914> speed <166.177649> ; @@ -538,8 +580,8 @@ DeathAnim() {// For C:\Users\ptasz\Documents\GitHub\support\Animation_sources\de turn lthigh to x-axis <-22.561401> speed <13.165241> ; turn lthigh to z-axis <-13.847621> speed <189.889905> ; turn lthigh to y-axis <-12.265423> speed <60.431396> ; - move rfoot to z-axis [0.0] speed [39.521406] ; - move rfoot to y-axis [0.0] speed [5.249795] ; + move rfoot to z-axis [0.000000] speed [39.521406] ; + move rfoot to y-axis [0.000000] speed [5.249795] ; turn rfoot to x-axis <53.785626> speed <319.385861> ; turn rfoot to z-axis <-54.089771> speed <515.971034> ; turn rfoot to y-axis <46.631262> speed <639.581202> ; @@ -789,6 +831,12 @@ Killed(severity, corpsetype) explode rleg type FIRE | SMOKE | FALL | NOHEATCLOUD; explode rfoot type FIRE | SMOKE | FALL | NOHEATCLOUD; explode lthigh type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lleg type FALL | NOHEATCLOUD; + //explode lfoot type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode torso type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode beamhinge type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode beamcase type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode nano type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) @@ -799,6 +847,12 @@ Killed(severity, corpsetype) explode rleg type FIRE | SMOKE | FALL | NOHEATCLOUD; explode rfoot type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; explode lthigh type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lleg type SMOKE | FALL | NOHEATCLOUD; + //explode lfoot type SMOKE | FALL | NOHEATCLOUD; + //explode torso type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode beamhinge type SMOKE | FALL | NOHEATCLOUD; + //explode beamcase type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode nano type SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; @@ -807,5 +861,11 @@ Killed(severity, corpsetype) explode rleg type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode rfoot type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode lthigh type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode lleg type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lfoot type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode torso type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode beamhinge type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode beamcase type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode nano type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/corck.cob b/scripts/Units/corck.cob index 262a741aea5f4aa829bc7388dafb372f00a10875..00643b2c4feb3c9d3b6c60e1b8527b695850e59b 100644 GIT binary patch literal 20843 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 E0t7%Sb^rhX literal 19920 zcmcIsdz??@*55N2<&vMo$*q3IbjH1*sH4}>P?C~yDSAuC7?YVAW6m`6R?bl&y}}{7 z=;HL2VkAMkIpG{wxav>)F#D}V@V+1pAxIA*Mm}GS=0qu_ve#6 z^j8AUm6c-XtN-s)r@XiqI}3eupf8n_`S~1C_@D!Pqt*xc7Nii7_^LPo=IgOGDS&qo zoFcwt!#B58(7ws!Gx*eR=xsDOsCW5~>_=sTS3IFoK<|cK%;#c2yucd+nT(_gF-s#L z8^d>n_oK-{U;ep07{e0}1bwO7h(LU?DLp^v%dwEyOxkf?z?a=UNpH+^IZqP%X5A6Q zn+#`3uj3KE|7j77&4gp@hmCdFdqKW|jTz6zI?6t%SNmSw9*j%B4Z)m*`B5x6ws<=) z5Bj?Y%E({(*B!`l6S^v|=?t!YuzB%HF@NrR5CJlK{~FBo%OT_Csyk8=*fOsA?_r

      &v++svz6yoDT+jS0=tnM+Onf%iCms#jxBVyf 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 s@$JKhmv{y4U-af=-<9hX61 speed <474.333919> / animSpeed; - turn biggun to z-axis <-0.0> speed <59.118463> / animSpeed; - turn biggun to y-axis <0.0> speed <4.555160> / animSpeed; + set-signal-mask SIG_WALK; + if (bMoving) { //Frame:6 + turn biggun to x-axis <7.000000> speed <474.333919> / animSpeed; + turn biggun to z-axis <-0.000000> speed <59.118463> / animSpeed; + turn biggun to y-axis <0.000000> speed <4.555160> / animSpeed; turn head to x-axis <-0.927302> speed <27.819048> / animSpeed; turn head to y-axis <9.458549> speed <283.756478> / animSpeed; turn l_foot to x-axis <-10.561878> speed <244.413750> / animSpeed; @@ -42,12 +44,12 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn lthigh to y-axis <-9.494972> speed <729.974777> / animSpeed; turn luparm to x-axis <-8.891101> speed <475.860825> / animSpeed; turn luparm to y-axis <-9.391724> speed <738.230529> / animSpeed; - turn nanolathe to x-axis <-7.0> speed <413.857033> / animSpeed; - turn nanolathe to z-axis <-0.0> speed <55.718905> / animSpeed; - turn nanolathe to y-axis <0.0> speed <3.308265> / animSpeed; - move pelvis to y-axis [0.0] speed [9.036713] / animSpeed; - turn pelvis to x-axis <0.500000> speed <15.0> / animSpeed; - turn pelvis to y-axis <10.0> speed <299.999991> / animSpeed; + turn nanolathe to x-axis <-7.000000> speed <413.857033> / animSpeed; + turn nanolathe to z-axis <-0.000000> speed <55.718905> / animSpeed; + turn nanolathe to y-axis <0.000000> speed <3.308265> / animSpeed; + move pelvis to y-axis [0.000000] speed [9.036713] / animSpeed; + turn pelvis to x-axis <0.500000> speed <15.000000> / animSpeed; + turn pelvis to y-axis <10.000000> speed <299.999991> / animSpeed; turn r_foot to x-axis <-13.659087> speed <362.223883> / animSpeed; turn r_foot to z-axis <-1.655717> speed <49.672541> / animSpeed; turn r_foot to y-axis <-10.105174> speed <303.223681> / animSpeed; @@ -63,9 +65,9 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn torso to y-axis <-16.999999> speed <509.999980> / animSpeed; sleep 197; } - while(isMoving) { - if (isMoving) { //Frame:12 - turn biggun to x-axis <-0.0> speed <210.0> / animSpeed; + while(bMoving) { + if (bMoving) { //Frame:12 + turn biggun to x-axis <-0.000000> speed <210.000014> / animSpeed; turn head to x-axis <-2.018726> speed <32.742739> / animSpeed; turn head to y-axis <6.502752> speed <88.673904> / animSpeed; turn l_foot to z-axis <0.690912> speed <89.511375> / animSpeed; @@ -76,15 +78,15 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn lthigh to x-axis <15.193594> speed <529.234425> / animSpeed; turn lthigh to z-axis <-3.177570> speed <164.312977> / animSpeed; turn lthigh to y-axis <-6.287450> speed <96.225652> / animSpeed; - turn luparm to x-axis <-15.0> speed <183.267021> / animSpeed; + turn luparm to x-axis <-15.000002> speed <183.267021> / animSpeed; turn luparm to y-axis <-7.060122> speed <69.948061> / animSpeed; turn nanolathe to x-axis <-4.812500> speed <65.625000> / animSpeed; move pelvis to x-axis [1.424151] speed [42.600518] / animSpeed; move pelvis to y-axis [-1.300000] speed [38.999999] / animSpeed; - turn pelvis to x-axis <3.0> speed <75.0> / animSpeed; + turn pelvis to x-axis <3.000000> speed <75.000003> / animSpeed; turn pelvis to y-axis <6.875000> speed <93.749994> / animSpeed; turn r_foot to x-axis <2.905055> speed <496.924251> / animSpeed; - turn r_foot to z-axis <0.0> speed <49.676377> / animSpeed; + turn r_foot to z-axis <0.000162> speed <49.676377> / animSpeed; turn r_foot to y-axis <0.004918> speed <303.302750> / animSpeed; turn rleg to x-axis <-19.644176> speed <2180.201147> / animSpeed; turn rleg to z-axis <6.272890> speed <682.729471> / animSpeed; @@ -98,10 +100,10 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn torso to y-axis <-11.687500> speed <159.374994> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:18 + if (bMoving) { //Frame:18 turn biggun to x-axis <14.962093> speed <448.862786> / animSpeed; turn head to x-axis <6.002970> speed <240.650875> / animSpeed; - turn head to y-axis <-0.0> speed <195.082586> / animSpeed; + turn head to y-axis <-0.000000> speed <195.082586> / animSpeed; turn l_foot to x-axis <-13.296228> speed <81.595514> / animSpeed; turn l_foot to z-axis <-0.003109> speed <20.820630> / animSpeed; turn lleg to x-axis <76.570164> speed <1231.612198> / animSpeed; @@ -112,12 +114,12 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn lthigh to y-axis <-3.398772> speed <86.660360> / animSpeed; turn luparm to x-axis <-5.933402> speed <271.998004> / animSpeed; turn luparm to y-axis <-5.390060> speed <50.101832> / animSpeed; - turn nanolathe to x-axis <0.0> speed <144.375003> / animSpeed; + turn nanolathe to x-axis <0.000000> speed <144.375003> / animSpeed; move pelvis to x-axis [0.676773] speed [22.421322] / animSpeed; move pelvis to z-axis [0.677474] speed [20.324208] / animSpeed; - move pelvis to y-axis [-2.0] speed [21.000001] / animSpeed; - turn pelvis to x-axis <1.500000> speed <45.0> / animSpeed; - turn pelvis to y-axis <0.0> speed <206.249997> / animSpeed; + move pelvis to y-axis [-2.000000] speed [21.000001] / animSpeed; + turn pelvis to x-axis <1.500000> speed <45.000001> / animSpeed; + turn pelvis to y-axis <0.000000> speed <206.249997> / animSpeed; turn r_foot to x-axis <17.020208> speed <423.454591> / animSpeed; turn r_foot to z-axis <-0.952274> speed <28.573097> / animSpeed; turn r_foot to y-axis <1.028123> speed <30.696158> / animSpeed; @@ -131,10 +133,10 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn ruparm to y-axis <-5.247890> speed <72.333343> / animSpeed; turn torso to x-axis <7.182205> speed <215.121631> / animSpeed; turn torso to z-axis <-1.177850> speed <42.790427> / animSpeed; - turn torso to y-axis <0.0> speed <350.625002> / animSpeed; + turn torso to y-axis <0.000001> speed <350.625002> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:24 + if (bMoving) { //Frame:24 turn biggun to x-axis <-1.500000> speed <493.862787> / animSpeed; turn head to x-axis <1.940259> speed <121.881321> / animSpeed; turn head to y-axis <-6.502753> speed <195.082587> / animSpeed; @@ -151,9 +153,9 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn luparm to y-axis <2.367461> speed <232.725648> / animSpeed; turn nanolathe to x-axis <4.812500> speed <144.375000> / animSpeed; move pelvis to x-axis [0.378759] speed [8.940423] / animSpeed; - move pelvis to z-axis [0.0] speed [20.324208] / animSpeed; - move pelvis to y-axis [-0.700000] speed [39.0] / animSpeed; - turn pelvis to x-axis <-1.0> speed <75.0> / animSpeed; + move pelvis to z-axis [0.000000] speed [20.324208] / animSpeed; + move pelvis to y-axis [-0.700000] speed [39.000000] / animSpeed; + turn pelvis to x-axis <-1.000000> speed <75.000001> / animSpeed; turn pelvis to y-axis <-6.874999> speed <206.249972> / animSpeed; turn r_foot to x-axis <-4.390164> speed <642.311173> / animSpeed; turn r_foot to z-axis <-0.230726> speed <21.646450> / animSpeed; @@ -171,8 +173,8 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn torso to y-axis <11.687500> speed <350.624996> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:30 - turn biggun to x-axis <-7.0> speed <165.0> / animSpeed; + if (bMoving) { //Frame:30 + turn biggun to x-axis <-7.000000> speed <165.000000> / animSpeed; turn head to x-axis <-1.322678> speed <97.888103> / animSpeed; turn head to y-axis <-9.458549> speed <88.673879> / animSpeed; turn l_foot to x-axis <-1.066570> speed <70.537812> / animSpeed; @@ -187,8 +189,8 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn luparm to y-axis <4.673861> speed <69.191991> / animSpeed; turn nanolathe to x-axis <9.511417> speed <140.967523> / animSpeed; move pelvis to x-axis [0.004134] speed [11.238773] / animSpeed; - move pelvis to y-axis [0.0] speed [21.0] / animSpeed; - turn pelvis to x-axis <0.500000> speed <45.0> / animSpeed; + move pelvis to y-axis [0.000000] speed [21.000000] / animSpeed; + turn pelvis to x-axis <0.500000> speed <45.000000> / animSpeed; turn pelvis to y-axis <-9.999998> speed <93.749968> / animSpeed; turn r_foot to x-axis <-9.321513> speed <147.940450> / animSpeed; turn r_foot to z-axis <-3.660134> speed <102.882224> / animSpeed; @@ -202,17 +204,17 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn ruparm to x-axis <-13.287716> speed <482.791638> / animSpeed; turn ruparm to y-axis <9.299999> speed <72.333317> / animSpeed; turn torso to x-axis <0.614511> speed <61.414985> / animSpeed; - turn torso to z-axis <-0.0> speed <10.342095> / animSpeed; + turn torso to z-axis <-0.000000> speed <10.342095> / animSpeed; turn torso to y-axis <16.999999> speed <159.374968> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:36 + if (bMoving) { //Frame:36 turn biggun to x-axis <-4.812500> speed <65.625000> / animSpeed; turn head to x-axis <-2.018726> speed <20.881451> / animSpeed; turn head to y-axis <-6.502752> speed <88.673904> / animSpeed; turn l_foot to x-axis <2.869804> speed <118.091213> / animSpeed; - turn l_foot to z-axis <-0.0> speed <20.252671> / animSpeed; - turn l_foot to y-axis <-0.0> speed <299.783359> / animSpeed; + turn l_foot to z-axis <-0.000076> speed <20.252671> / animSpeed; + turn l_foot to y-axis <-0.000060> speed <299.783359> / animSpeed; turn lleg to x-axis <-21.464800> speed <2470.140833> / animSpeed; turn lleg to z-axis <-5.991945> speed <214.073744> / animSpeed; turn lleg to y-axis <-2.714477> speed <186.880277> / animSpeed; @@ -224,7 +226,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn nanolathe to x-axis <7.246843> speed <67.937245> / animSpeed; move pelvis to x-axis [-1.440796] speed [43.347901] / animSpeed; move pelvis to y-axis [-1.300000] speed [38.999999] / animSpeed; - turn pelvis to x-axis <3.0> speed <75.0> / animSpeed; + turn pelvis to x-axis <3.000000> speed <75.000003> / animSpeed; turn pelvis to y-axis <-6.874998> speed <93.750007> / animSpeed; turn r_foot to x-axis <-11.212004> speed <56.714740> / animSpeed; turn r_foot to z-axis <-0.692164> speed <89.039097> / animSpeed; @@ -235,17 +237,17 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn rthigh to x-axis <15.440428> speed <491.500071> / animSpeed; turn rthigh to z-axis <5.573259> speed <259.656606> / animSpeed; turn rthigh to y-axis <5.974292> speed <100.056158> / animSpeed; - turn ruparm to x-axis <-15.0> speed <51.368598> / animSpeed; + turn ruparm to x-axis <-15.000002> speed <51.368598> / animSpeed; turn ruparm to y-axis <8.332799> speed <29.016001> / animSpeed; - turn torso to x-axis <-0.0> speed <18.435316> / animSpeed; + turn torso to x-axis <-0.000000> speed <18.435316> / animSpeed; turn torso to z-axis <2.154603> speed <64.638097> / animSpeed; turn torso to y-axis <11.687500> speed <159.374994> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:42 - turn biggun to x-axis <0.0> speed <144.375003> / animSpeed; + if (bMoving) { //Frame:42 + turn biggun to x-axis <0.000000> speed <144.375003> / animSpeed; turn head to x-axis <5.974242> speed <239.789054> / animSpeed; - turn head to y-axis <0.0> speed <195.082586> / animSpeed; + turn head to y-axis <0.000000> speed <195.082586> / animSpeed; turn l_foot to x-axis <18.425190> speed <466.661591> / animSpeed; turn l_foot to z-axis <0.957857> speed <28.737983> / animSpeed; turn l_foot to y-axis <-1.046884> speed <31.404727> / animSpeed; @@ -260,9 +262,9 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn nanolathe to x-axis <15.006779> speed <232.798102> / animSpeed; move pelvis to x-axis [-0.668506] speed [23.168705] / animSpeed; move pelvis to z-axis [0.587918] speed [17.637532] / animSpeed; - move pelvis to y-axis [-2.0] speed [21.000001] / animSpeed; - turn pelvis to x-axis <1.500000> speed <45.0> / animSpeed; - turn pelvis to y-axis <0.0> speed <206.250000> / animSpeed; + move pelvis to y-axis [-2.000000] speed [21.000001] / animSpeed; + turn pelvis to x-axis <1.500000> speed <45.000001> / animSpeed; + turn pelvis to y-axis <0.000002> speed <206.250000> / animSpeed; turn r_foot to x-axis <-14.533147> speed <99.634283> / animSpeed; turn r_foot to z-axis <0.003766> speed <20.877902> / animSpeed; turn rleg to x-axis <76.774892> speed <1244.570125> / animSpeed; @@ -275,10 +277,10 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn ruparm to y-axis <6.026399> speed <69.191998> / animSpeed; turn torso to x-axis <7.296131> speed <218.883930> / animSpeed; turn torso to z-axis <0.804385> speed <40.506543> / animSpeed; - turn torso to y-axis <-0.0> speed <350.625002> / animSpeed; + turn torso to y-axis <-0.000001> speed <350.625002> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:48 + if (bMoving) { //Frame:48 turn biggun to x-axis <4.812500> speed <144.375000> / animSpeed; turn head to x-axis <1.854076> speed <123.605001> / animSpeed; turn head to y-axis <6.502753> speed <195.082587> / animSpeed; @@ -295,9 +297,9 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn luparm to y-axis <-6.888889> speed <303.565158> / animSpeed; turn nanolathe to x-axis <-1.500000> speed <495.203383> / animSpeed; move pelvis to x-axis [-0.247683] speed [12.624712] / animSpeed; - move pelvis to z-axis [0.0] speed [17.637532] / animSpeed; - move pelvis to y-axis [-0.700000] speed [39.0] / animSpeed; - turn pelvis to x-axis <-1.0> speed <75.0> / animSpeed; + move pelvis to z-axis [0.000000] speed [17.637532] / animSpeed; + move pelvis to y-axis [-0.700000] speed [39.000000] / animSpeed; + turn pelvis to x-axis <-1.000000> speed <75.000001> / animSpeed; turn pelvis to y-axis <6.875002> speed <206.249994> / animSpeed; turn r_foot to x-axis <-5.256663> speed <278.294500> / animSpeed; turn r_foot to z-axis <-0.935032> speed <28.163964> / animSpeed; @@ -315,8 +317,8 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn torso to y-axis <-11.687500> speed <350.624996> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:54 - turn biggun to x-axis <7.0> speed <65.625012> / animSpeed; + if (bMoving) { //Frame:54 + turn biggun to x-axis <7.000000> speed <65.625012> / animSpeed; turn head to x-axis <-0.920485> speed <83.236809> / animSpeed; turn head to y-axis <9.458549> speed <88.673879> / animSpeed; turn l_foot to x-axis <-10.560809> speed <195.068730> / animSpeed; @@ -330,11 +332,11 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn lthigh to y-axis <-9.099435> speed <41.255581> / animSpeed; turn luparm to x-axis <-8.891101> speed <586.612163> / animSpeed; turn luparm to y-axis <-9.299999> speed <72.333317> / animSpeed; - turn nanolathe to x-axis <-7.0> speed <165.0> / animSpeed; + turn nanolathe to x-axis <-7.000000> speed <165.000000> / animSpeed; move pelvis to x-axis [0.004134] speed [7.554485] / animSpeed; - move pelvis to y-axis [0.0] speed [21.0] / animSpeed; - turn pelvis to x-axis <0.500000> speed <45.0> / animSpeed; - turn pelvis to y-axis <10.0> speed <93.749930> / animSpeed; + move pelvis to y-axis [0.000000] speed [21.000000] / animSpeed; + turn pelvis to x-axis <0.500000> speed <45.000000> / animSpeed; + turn pelvis to y-axis <10.000000> speed <93.749930> / animSpeed; turn r_foot to x-axis <-13.659087> speed <252.072695> / animSpeed; turn r_foot to z-axis <-1.655717> speed <21.620542> / animSpeed; turn r_foot to y-axis <-10.105174> speed <120.868044> / animSpeed; @@ -347,59 +349,59 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn ruparm to x-axis <27.254234> speed <658.466782> / animSpeed; turn ruparm to y-axis <-7.659001> speed <327.978017> / animSpeed; turn torso to x-axis <0.527975> speed <66.830393> / animSpeed; - turn torso to z-axis <-0.0> speed <7.756572> / animSpeed; + turn torso to z-axis <-0.000000> speed <7.756572> / animSpeed; turn torso to y-axis <-16.999999> speed <159.374968> / animSpeed; sleep ((33*animSpeed) -1); } } } -// Call this from StopMoving()! +// Call this from MotionControl()! StopWalking() { - move pelvis to x-axis [0.0] speed [7.224650]; + move pelvis to x-axis [0.000000] speed [7.224650]; move pelvis to y-axis [-0.301224] speed [6.500000]; - move pelvis to z-axis [0.0] speed [3.387368]; + move pelvis to z-axis [0.000000] speed [3.387368]; turn biggun to x-axis <-8.811130> speed <82.310465>; turn biggun to y-axis <0.151839> speed <0.759193>; turn biggun to z-axis <-1.970615> speed <9.853077>; - turn head to x-axis <0.0> speed <40.108479>; - turn head to y-axis <0.0> speed <47.292746>; + turn head to x-axis <0.000000> speed <40.108479>; + turn head to y-axis <0.000000> speed <47.292746>; turn l_foot to x-axis <-2.414753> speed <112.418542>; turn l_foot to y-axis <-0.240266> speed <49.963893>; turn l_foot to z-axis <-0.525861> speed <21.002426>; - turn lleg to x-axis <0.0> speed <411.690139>; - turn lleg to y-axis <0.0> speed <49.997525>; - turn lleg to z-axis <0.0> speed <71.520276>; - turn lthigh to x-axis <0.0> speed <241.307004>; + turn lleg to x-axis <0.000000> speed <411.690139>; + turn lleg to y-axis <0.000000> speed <49.997525>; + turn lleg to z-axis <0.000000> speed <71.520276>; + turn lthigh to x-axis <0.000000> speed <241.307004>; turn lthigh to y-axis <14.837520> speed <121.662463>; - turn lthigh to z-axis <0.0> speed <109.161052>; + turn lthigh to z-axis <0.000000> speed <109.161052>; turn luparm to x-axis <6.970926> speed <116.358546>; turn luparm to y-axis <15.215961> speed <123.038422>; turn nanolathe to x-axis <6.795234> speed <82.533897>; turn nanolathe to y-axis <-0.110275> speed <0.551377>; turn nanolathe to z-axis <-1.857297> speed <9.286484>; - turn pelvis to x-axis <0.0> speed <12.500000>; - turn pelvis to y-axis <0.0> speed <49.999999>; + turn pelvis to x-axis <0.000000> speed <12.500000>; + turn pelvis to y-axis <0.000000> speed <49.999999>; turn r_foot to x-axis <-1.584957> speed <107.051862>; - turn r_foot to y-axis <0.0> speed <50.550458>; - turn r_foot to z-axis <0.0> speed <17.147037>; - turn rleg to x-axis <0.0> speed <363.366858>; - turn rleg to y-axis <0.0> speed <95.731755>; - turn rleg to z-axis <0.0> speed <123.722036>; - turn rthigh to x-axis <0.0> speed <306.324559>; + turn r_foot to y-axis <0.000000> speed <50.550458>; + turn r_foot to z-axis <0.000000> speed <17.147037>; + turn rleg to x-axis <0.000000> speed <363.366858>; + turn rleg to y-axis <0.000000> speed <95.731755>; + turn rleg to z-axis <0.000000> speed <123.722036>; + turn rthigh to x-axis <0.000000> speed <306.324559>; turn rthigh to y-axis <-25.608481> speed <144.663917>; - turn rthigh to z-axis <0.0> speed <113.472665>; + turn rthigh to z-axis <0.000000> speed <113.472665>; turn ruparm to x-axis <8.674858> speed <110.217349>; turn ruparm to y-axis <-12.507997> speed <60.683891>; - turn torso to x-axis <0.0> speed <36.480655>; - turn torso to y-axis <0.0> speed <84.999997>; - turn torso to z-axis <0.0> speed <13.020986>; + turn torso to x-axis <0.000000> speed <36.480655>; + turn torso to y-axis <0.000000> speed <84.999997>; + turn torso to z-axis <0.000000> speed <13.020986>; } // For N:\animations\corcom_anim_dance1.blend Created by https://github.com/Beherith/Skeletor_S3O V((0, 3, 7)) // this animation uses the static-var animFramesPerKeyframe which contains how many frames each keyframe takes static-var danceSpeed, bDancing; Dance() {// For N:\animations\corcom_anim_dance1.blend Created by https://github.com/Beherith/Skeletor_S3O V((0, 3, 7)) - set-signal-mask SIGNAL_MOVE; + set-signal-mask SIG_WALK; while(bDancing) { if (bDancing) { //Frame:12 turn biggun to x-axis <4.412566> speed <396.710898> / danceSpeed; //delta=-13.22 @@ -449,7 +451,7 @@ Dance() {// For N:\animations\corcom_anim_dance1.blend Created by https://github turn lthigh to z-axis <-6.910861> speed <6.709355> / danceSpeed; //delta=-0.22 turn lthigh to y-axis <12.510087> speed <67.706342> / danceSpeed; //delta=2.26 turn luparm to x-axis <7.822892> speed <1087.140532> / danceSpeed; //delta=-36.24 - turn luparm to z-axis <-0.0> speed <42.757923> / danceSpeed; //delta=1.43 + turn luparm to z-axis <-0.000000> speed <42.757923> / danceSpeed; //delta=1.43 turn luparm to y-axis <13.861978> speed <259.214208> / danceSpeed; //delta=8.64 turn nanolathe to x-axis <-1.007948> speed <425.890824> / danceSpeed; //delta=-14.20 turn nanolathe to z-axis <-1.913956> speed <165.827179> / danceSpeed; //delta=5.53 @@ -468,7 +470,7 @@ Dance() {// For N:\animations\corcom_anim_dance1.blend Created by https://github turn rthigh to z-axis <-9.362821> speed <195.637407> / danceSpeed; //delta=6.52 turn rthigh to y-axis <-27.579010> speed <31.360301> / danceSpeed; //delta=-1.05 turn ruparm to x-axis <8.674858> speed <326.764181> / danceSpeed; //delta=-10.89 - turn ruparm to z-axis <0.0> speed <100.679584> / danceSpeed; //delta=3.36 + turn ruparm to z-axis <0.000000> speed <100.679584> / danceSpeed; //delta=3.36 turn ruparm to y-axis <-12.507997> speed <811.949418> / danceSpeed; //delta=-27.06 sleep ((33*danceSpeed) -1); } @@ -519,17 +521,17 @@ Dance() {// For N:\animations\corcom_anim_dance1.blend Created by https://github turn lthigh to z-axis <-1.190563> speed <140.811263> / danceSpeed; //delta=-4.69 turn lthigh to y-axis <12.140076> speed <73.077714> / danceSpeed; //delta=2.44 turn luparm to x-axis <8.674858> speed <1112.699518> / danceSpeed; //delta=-37.09 - turn luparm to z-axis <-0.0> speed <42.757923> / danceSpeed; //delta=1.43 + turn luparm to z-axis <-0.000000> speed <42.757923> / danceSpeed; //delta=1.43 turn luparm to y-axis <12.507997> speed <218.594757> / danceSpeed; //delta=7.29 turn nanolathe to x-axis <-8.811130> speed <191.795349> / danceSpeed; //delta=-6.39 turn nanolathe to z-axis <-1.970615> speed <167.526961> / danceSpeed; //delta=5.58 turn nanolathe to y-axis <0.151839> speed <38.984052> / danceSpeed; //delta=1.30 - move pelvis to x-axis [0.0] speed [74.545691] / danceSpeed; //delta=-2.48 - move pelvis to z-axis [0.0] speed [43.751855] / danceSpeed; //delta=1.46 + move pelvis to x-axis [0.000000] speed [74.545691] / danceSpeed; //delta=-2.48 + move pelvis to z-axis [0.000000] speed [43.751855] / danceSpeed; //delta=1.46 move pelvis to y-axis [-0.301224] speed [59.099994] / danceSpeed; //delta=1.97 - turn pelvis to x-axis <-0.0> speed <3.993891> / danceSpeed; //delta=0.13 - turn pelvis to z-axis <-0.0> speed <12.327651> / danceSpeed; //delta=-0.41 - turn pelvis to y-axis <0.0> speed <142.525920> / danceSpeed; //delta=-4.75 + turn pelvis to x-axis <-0.000000> speed <3.993891> / danceSpeed; //delta=0.13 + turn pelvis to z-axis <-0.000000> speed <12.327651> / danceSpeed; //delta=-0.41 + turn pelvis to y-axis <0.000000> speed <142.525920> / danceSpeed; //delta=-4.75 turn r_foot to x-axis <1.059220> speed <236.135122> / danceSpeed; //delta=-7.87 turn rleg to x-axis <15.878112> speed <561.410660> / danceSpeed; //delta=18.71 turn rleg to z-axis <-0.755453> speed <236.539015> / danceSpeed; //delta=7.88 @@ -538,7 +540,7 @@ Dance() {// For N:\animations\corcom_anim_dance1.blend Created by https://github turn rthigh to z-axis <1.485299> speed <129.919326> / danceSpeed; //delta=-4.33 turn rthigh to y-axis <-25.724859> speed <30.798399> / danceSpeed; //delta=1.03 turn ruparm to x-axis <8.674858> speed <326.764181> / danceSpeed; //delta=-10.89 - turn ruparm to z-axis <0.0> speed <100.679584> / danceSpeed; //delta=3.36 + turn ruparm to z-axis <0.000000> speed <100.679584> / danceSpeed; //delta=3.36 turn ruparm to y-axis <-12.507997> speed <811.949418> / danceSpeed; //delta=-27.06 sleep ((33*danceSpeed) -1); } @@ -591,7 +593,7 @@ Dance() {// For N:\animations\corcom_anim_dance1.blend Created by https://github turn lthigh to z-axis <9.335824> speed <101.333643> / danceSpeed; //delta=-3.38 turn lthigh to y-axis <11.342474> speed <35.589401> / danceSpeed; //delta=-1.19 turn luparm to x-axis <8.674858> speed <326.764181> / danceSpeed; //delta=-10.89 - turn luparm to z-axis <-0.0> speed <100.679584> / danceSpeed; //delta=-3.36 + turn luparm to z-axis <-0.000000> speed <100.679584> / danceSpeed; //delta=-3.36 turn luparm to y-axis <12.507997> speed <811.949418> / danceSpeed; //delta=27.06 turn nanolathe to x-axis <-8.811130> speed <396.710898> / danceSpeed; //delta=13.22 turn nanolathe to z-axis <-1.970615> speed <415.575039> / danceSpeed; //delta=13.85 @@ -663,17 +665,17 @@ Dance() {// For N:\animations\corcom_anim_dance1.blend Created by https://github turn lthigh to z-axis <-1.190563> speed <462.417136> / danceSpeed; //delta=15.41 turn lthigh to y-axis <12.140076> speed <36.222406> / danceSpeed; //delta=1.21 turn luparm to x-axis <6.970926> speed <275.646209> / danceSpeed; //delta=-9.19 - turn luparm to z-axis <0.0> speed <100.679584> / danceSpeed; //delta=-3.36 + turn luparm to z-axis <0.000000> speed <100.679584> / danceSpeed; //delta=-3.36 turn luparm to y-axis <15.215961> speed <893.188346> / danceSpeed; //delta=29.77 turn nanolathe to x-axis <6.795234> speed <71.480038> / danceSpeed; //delta=-2.38 turn nanolathe to z-axis <-1.857297> speed <412.175481> / danceSpeed; //delta=13.74 turn nanolathe to y-axis <-0.110275> speed <520.990107> / danceSpeed; //delta=-17.37 - move pelvis to x-axis [0.0] speed [102.502427] / danceSpeed; //delta=3.42 - move pelvis to z-axis [0.0] speed [22.531573] / danceSpeed; //delta=0.75 + move pelvis to x-axis [0.000000] speed [102.502427] / danceSpeed; //delta=3.42 + move pelvis to z-axis [0.000000] speed [22.531573] / danceSpeed; //delta=0.75 move pelvis to y-axis [-0.301224] speed [50.887953] / danceSpeed; //delta=1.70 - turn pelvis to x-axis <-0.0> speed <5.743188> / danceSpeed; //delta=-0.19 - turn pelvis to z-axis <-0.0> speed <66.857706> / danceSpeed; //delta=2.23 - turn pelvis to y-axis <0.0> speed <126.447740> / danceSpeed; //delta=4.21 + turn pelvis to x-axis <-0.000000> speed <5.743188> / danceSpeed; //delta=-0.19 + turn pelvis to z-axis <-0.000000> speed <66.857706> / danceSpeed; //delta=2.23 + turn pelvis to y-axis <0.000000> speed <126.447740> / danceSpeed; //delta=4.21 turn r_foot to x-axis <1.059220> speed <146.133602> / danceSpeed; //delta=4.87 turn r_foot to z-axis <0.006041> speed <5.040858> / danceSpeed; //delta=-0.17 turn rleg to x-axis <15.878112> speed <238.421277> / danceSpeed; //delta=7.95 @@ -683,7 +685,7 @@ Dance() {// For N:\animations\corcom_anim_dance1.blend Created by https://github turn rthigh to z-axis <1.485299> speed <371.277797> / danceSpeed; //delta=12.38 turn rthigh to y-axis <-25.724859> speed <25.844702> / danceSpeed; //delta=-0.86 turn ruparm to x-axis <8.674858> speed <2884.033623> / danceSpeed; //delta=-96.13 - turn ruparm to z-axis <0.0> speed <2261.232479> / danceSpeed; //delta=-75.37//WARNING: possible gimbal lock issue detected in frame 54 bone ruparm + turn ruparm to z-axis <0.000000> speed <2261.232479> / danceSpeed; //delta=-75.37//WARNING: possible gimbal lock issue detected in frame 54 bone ruparm //turn ruparm to y-axis <-12.507997> speed <2571.773408> / danceSpeed; //delta=-85.73//WARNING: possible gimbal lock issue detected in frame 54 bone ruparm @@ -694,9 +696,9 @@ Dance() {// For N:\animations\corcom_anim_dance1.blend Created by https://github StopDancing() { danceSpeed = 10; // tune restore speed here, higher values are slower restore speeds - move pelvis to x-axis [0.0] speed [170.837379] / danceSpeed; + move pelvis to x-axis [0.000000] speed [170.837379] / danceSpeed; move pelvis to y-axis [-0.301224] speed [107.543124] / danceSpeed; - move pelvis to z-axis [0.0] speed [72.919758] / danceSpeed; + move pelvis to z-axis [0.000000] speed [72.919758] / danceSpeed; turn biggun to x-axis <-8.811130> speed <1205.094159> / danceSpeed; turn biggun to y-axis <0.151839> speed <855.211138> / danceSpeed; turn biggun to z-axis <-1.970615> speed <692.625066> / danceSpeed; @@ -711,15 +713,15 @@ StopDancing() { turn lthigh to z-axis <-1.190563> speed <770.695227> / danceSpeed; turn luparm to x-axis <6.970926> speed <1854.499197> / danceSpeed; turn luparm to y-axis <15.215961> speed <1488.647243> / danceSpeed; - turn luparm to z-axis <0.0> speed <167.799306> / danceSpeed; + turn luparm to z-axis <0.000000> speed <167.799306> / danceSpeed; turn nanolathe to x-axis <6.795234> speed <1099.977142> / danceSpeed; turn nanolathe to y-axis <-0.110275> speed <868.316846> / danceSpeed; turn nanolathe to z-axis <-1.857297> speed <692.625066> / danceSpeed; - turn pelvis to x-axis <0.0> speed <11.406491> / danceSpeed; - turn pelvis to y-axis <0.0> speed <267.525170> / danceSpeed; - turn pelvis to z-axis <0.0> speed <124.022788> / danceSpeed; + turn pelvis to x-axis <0.000000> speed <11.406491> / danceSpeed; + turn pelvis to y-axis <0.000000> speed <267.525170> / danceSpeed; + turn pelvis to z-axis <0.000000> speed <124.022788> / danceSpeed; turn r_foot to x-axis <1.059220> speed <398.210023> / danceSpeed; - turn r_foot to z-axis <0.0> speed <8.401430> / danceSpeed; + turn r_foot to z-axis <0.000000> speed <8.401430> / danceSpeed; turn rleg to x-axis <15.878112> speed <1085.116081> / danceSpeed; turn rleg to y-axis <-2.589186> speed <469.563115> / danceSpeed; turn rleg to z-axis <-0.755453> speed <809.489258> / danceSpeed; @@ -728,7 +730,7 @@ StopDancing() { turn rthigh to z-axis <1.485299> speed <618.796329> / danceSpeed; turn ruparm to x-axis <8.674858> speed <4806.722705> / danceSpeed; turn ruparm to y-axis <-12.507997> speed <4286.289013> / danceSpeed; - turn ruparm to z-axis <0.0> speed <4104.254418> / danceSpeed; + turn ruparm to z-axis <0.000000> speed <4104.254418> / danceSpeed; } static-var idleTime; @@ -753,7 +755,7 @@ UnitSpeed(){ if (animspeed>12) animSpeed = 12; //animSpeed = 1; sleep 197; - if ((isMoving == FALSE) && (isAiming == FALSE) && (bIsBuilding == FALSE)){ + if ((bMoving == FALSE) && (bAiming == FALSE) && (bIsBuilding == FALSE)){ idleTime = idleTime + 200; }else{ idleTime = 0; @@ -798,8 +800,8 @@ Create() shotcount = 0; idleTime = 0; - isMoving = FALSE; - isAiming = FALSE; + bMoving = FALSE; + bAiming = FALSE; bIsBuilding = FALSE; bDancing = FALSE; danceSpeed = 8; @@ -812,6 +814,7 @@ Create() // set last headings and pitches to large negative numbers last_primary_heading = -1000000; last_primary_pitch = -1000000; + //maxSpeed = get UNKNOWN_UNIT_VALUE(75); maxSpeed = get MAX_SPEED; animSpeed = 6; currentSpeed = 100; @@ -853,39 +856,42 @@ ShowMedalBronze() show medalbronze; } -StartMoving(reversing) +StartMoving() { - isMoving = TRUE; + bMoving = TRUE; gun_3 = torso; - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; + signal SIG_WALK; + set-signal-mask SIG_WALK; start-script walk(); } StopMoving() { - signal SIGNAL_MOVE; - isMoving = FALSE; + signal SIG_WALK; + bMoving = FALSE; call-script StopWalking(); } +SweetSpot(piecenum) +{ + piecenum = torso; +} - -QueryNanoPiece(pieceIndex) +QueryNanoPiece(piecenum) { - pieceIndex = nanospray; + piecenum = nanospray; return (0); } RestorePosition() { gun_3 = torso; - set-signal-mask SIGNAL_AIM1; + set-signal-mask SIG_AIM; sleep 2000; - turn aimy1 to y-axis <0.0> speed <90.0>; + turn aimy1 to y-axis <0.000000> speed <90.000000>; turn aimx1 to x-axis <0> speed <90>; //wait-for-turn aimy1 around y-axis; - isAiming = FALSE; + bAiming = FALSE; // set last headings and pitches to large negative numbers last_primary_heading = -1000000; last_primary_pitch = -1000000; @@ -898,39 +904,39 @@ ResumeBuilding() sleep 400; if( bIsBuilding AND ( !gun_2 ) ) { - turn aimy1 to y-axis buildheading - <20> speed <300.0>; - turn aimx1 to x-axis <-20.0> - buildpitch speed <90.0>; + turn aimy1 to y-axis buildheading - <20> speed <300.000000>; + turn aimx1 to x-axis <-20.000000> - buildpitch speed <90.000000>; } return (0); } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = torso; + piecenum = torso; return (0); } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = lfirept; + piecenum = lfirept; return (0); } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { if( gun_3 == 1 ) { return (0); } - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; - isAiming = TRUE; + signal SIG_AIM; + set-signal-mask SIG_AIM; + bAiming = TRUE; // values in <> are degrees per second // otherwise angles are in COB angular unit (cau) - There are 65536 cau in a circle // In general, 6 cau per frame ~= 1 degree per second - turn aimy1 to y-axis heading speed <300.0>; - turn aimx1 to x-axis <-5.0> - pitch speed <250.0>; - //turn nanolathe to x-axis <000000> speed <250.0>; + turn aimy1 to y-axis heading speed <300.000000>; + turn aimx1 to x-axis <-5.000000> - pitch speed <250.000000>; + //turn nanolathe to x-axis <000000> speed <250.000000>; // if the turret cannot turn to its new heading in one frame, wait for turn if ( (get ABS(last_primary_heading - heading)>1800) OR (get ABS(last_primary_pitch - pitch)>1500) ) { @@ -948,7 +954,7 @@ AimWeapon1(heading, pitch) return (1); } -FireWeapon1() +FirePrimary() { sleep 100; sleep 400; @@ -956,32 +962,33 @@ FireWeapon1() return (0); } -AimFromWeapon3(pieceIndex) +AimFromTertiary(piecenum) { - pieceIndex = rbigflash; + piecenum = rbigflash; + return (0); } -QueryWeapon3(pieceIndex) +QueryTertiary(piecenum) { - pieceIndex = rbigflash; + piecenum = rbigflash; return (0); } -AimWeapon3(heading, pitch) +AimTertiary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; gun_3 = lfirept; - isAiming = TRUE; - turn aimy1 to y-axis heading speed <360.0>; - turn aimx1 to x-axis <0.0> - pitch speed <360.0>; + bAiming = TRUE; + turn aimy1 to y-axis heading speed <360.000000>; + turn aimx1 to x-axis <0> - pitch speed <360.000000>; //turn ruparm to x-axis <0> speed <360>; wait-for-turn aimy1 around y-axis; //wait-for-turn biggun around x-axis; return (1); } -FireWeapon3() +FireTertiary() { //shotcount = shotcount + 1; emit-sfx 1024 + 0 from rbigflash; @@ -991,19 +998,19 @@ FireWeapon3() return (0); } -AimFromWeapon2(pieceIndex) +AimFromSecondary(piecenum) { - pieceIndex = lfirept; + piecenum = lfirept; return (0); } -QueryWeapon2(pieceIndex) +QuerySecondary(piecenum) { - pieceIndex = lfirept; + piecenum = lfirept; return (0); } -AimWeapon2(heading, pitch) +AimSecondary(heading, pitch) { if( get PIECE_Y(head) > 0 ) { @@ -1017,12 +1024,12 @@ AimWeapon2(heading, pitch) { return (0); } - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; - isAiming = TRUE; - turn aimy1 to y-axis heading speed <300.0>; - turn aimx1 to x-axis <-5.0> - pitch speed <250.0>; - //turn nanolathe to x-axis <000000> speed <250.0>; + signal SIG_AIM; + set-signal-mask SIG_AIM; + bAiming = TRUE; + turn aimy1 to y-axis heading speed <300.000000>; + turn aimx1 to x-axis <-5.000000> - pitch speed <250.000000>; + //turn nanolathe to x-axis <000000> speed <250.000000>; wait-for-turn aimy1 around y-axis; wait-for-turn aimx1 around x-axis; gun_2 = lfirept; @@ -1033,7 +1040,7 @@ AimWeapon2(heading, pitch) return (1); } -FireWeapon2() +FireSecondary() { emit-sfx 1024 + 0 from lfirept; sleep 100; @@ -1043,23 +1050,23 @@ FireWeapon2() return (0); } -AimFromWeapon4(pieceIndex) +AimFromWeapon4(piecenum) { - pieceIndex = torso; + piecenum = torso; } -QueryWeapon4(pieceIndex) +QueryWeapon4(piecenum) { - pieceIndex = torso; + piecenum = torso; } StartBuilding(heading, pitch) { show nanospray; gun_3 = torso; - signal SIGNAL_AIM1; - //set-signal-mask SIGNAL_AIM1; - isAiming = TRUE; + signal SIG_AIM; + //set-signal-mask SIG_AIM; + bAiming = TRUE; bIsBuilding = TRUE; //while( !Busy ) //aiming shouldnt block construction //{ @@ -1067,8 +1074,8 @@ StartBuilding(heading, pitch) //} buildHeading = heading; buildPitch = pitch; - turn aimy1 to y-axis heading - <20> speed <300.0>; - turn aimx1 to x-axis <-20.0> - pitch speed <90.0>; + turn aimy1 to y-axis heading - <20> speed <300.000000>; + turn aimx1 to x-axis <-20.000000> - pitch speed <90.000000>; //wait-for-turn torso around y-axis; wait-for-turn aimx1 around x-axis; set INBUILDSTANCE to 1; @@ -1077,6 +1084,14 @@ StartBuilding(heading, pitch) return (0); } +TargetCleared(Func_Var_1) +{ + signal SIG_AIM; + set-signal-mask SIG_AIM; + call-script RestorePosition(); + return (0); +} + StopBuilding() { hide nanospray; @@ -1084,8 +1099,8 @@ StopBuilding() set INBUILDSTANCE to 0; hide cagelight_emit; turn cagelight_emit to y-axis <0> speed <1000>; - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; call-script RestorePosition(); return (0); } diff --git a/scripts/Units/corcom_lus.lua b/scripts/Units/corcom_lus.lua index ce4535bb2f2..943601d59f2 100644 --- a/scripts/Units/corcom_lus.lua +++ b/scripts/Units/corcom_lus.lua @@ -41,8 +41,8 @@ local weapons = { -local SIGNAL_AIM1 = 2 -local SIGNAL_MOVE = 4 +local SIG_AIM = 2 +local SIG_WALK = 4 local PlaySoundFile = Spring.PlaySoundFile local GetUnitPosition = Spring.GetUnitPosition local GetGameFrame = Spring.GetGameFrame @@ -81,11 +81,11 @@ local function move(piece, axis, goal, speed) end function walk() - SetSignalMask(SIGNAL_MOVE) - if (isMoving) then --Frame:6 - if (rightArm) then turn(biggun, 1, 7.0, 474.333919 / animSpeed) end - if (rightArm) then turn(biggun, 3, -0.0, 59.118463 / animSpeed) end - if (rightArm) then turn(biggun, 2, 0.0, 4.555160 / animSpeed) end + SetSignalMask(SIG_WALK) + if (bMoving) then --Frame:6 + if (rightArm) then turn(biggun, 1, 7.000000, 474.333919 / animSpeed) end + if (rightArm) then turn(biggun, 3, -0.000000, 59.118463 / animSpeed) end + if (rightArm) then turn(biggun, 2, 0.000000, 4.555160 / animSpeed) end turn(head, 1, -0.927302, 27.819048 / animSpeed) turn(head, 2, 9.458549, 283.756478 / animSpeed) turn(l_foot, 1, -10.561878, 244.413750 / animSpeed) @@ -99,12 +99,12 @@ function walk() turn(lthigh, 2, -9.494972, 729.974777 / animSpeed) if (leftArm) then turn(luparm, 1, -8.891101, 475.860825 / animSpeed) end if (leftArm) then turn(luparm, 2, -9.391724, 738.230529 / animSpeed) end - if (leftArm) then turn(nanolathe, 1, -7.0, 413.857033 / animSpeed) end - if (leftArm) then turn(nanolathe, 3, -0.0, 55.718905 / animSpeed) end - if (leftArm) then turn(nanolathe, 2, 0.0, 3.308265 / animSpeed) end - move(pelvis, 2, 0.0, 9.036713 / animSpeed) - turn(pelvis, 1, 0.500000, 15.0 / animSpeed) - turn(pelvis, 2, 10.0, 299.999991 / animSpeed) + if (leftArm) then turn(nanolathe, 1, -7.000000, 413.857033 / animSpeed) end + if (leftArm) then turn(nanolathe, 3, -0.000000, 55.718905 / animSpeed) end + if (leftArm) then turn(nanolathe, 2, 0.000000, 3.308265 / animSpeed) end + move(pelvis, 2, 0.000000, 9.036713 / animSpeed) + turn(pelvis, 1, 0.500000, 15.000000 / animSpeed) + turn(pelvis, 2, 10.000000, 299.999991 / animSpeed) turn(r_foot, 1, -13.659087, 362.223883 / animSpeed) turn(r_foot, 3, -1.655717, 49.672541 / animSpeed) turn(r_foot, 2, -10.105174, 303.223681 / animSpeed) @@ -120,9 +120,9 @@ function walk() turn(torso, 2, -16.999999, 509.999980 / animSpeed) Sleep(197) end - while (isMoving) do - if (isMoving) then --Frame:12 - if (rightArm) then turn(biggun, 1, -0.0, 210.000014 / animSpeed) end + while (bMoving) do + if (bMoving) then --Frame:12 + if (rightArm) then turn(biggun, 1, -0.000000, 210.000014 / animSpeed) end turn(head, 1, -2.018726, 32.742739 / animSpeed) turn(head, 2, 6.502752, 88.673904 / animSpeed) turn(l_foot, 3, 0.690912, 89.511375 / animSpeed) @@ -138,7 +138,7 @@ function walk() if (leftArm) then turn(nanolathe, 1, -4.812500, 65.625000 / animSpeed) end move(pelvis, 1, 1.424151, 42.600518 / animSpeed) move(pelvis, 2, -1.300000, 38.999999 / animSpeed) - turn(pelvis, 1, 3.0, 75.000003 / animSpeed) + turn(pelvis, 1, 3.000000, 75.000003 / animSpeed) turn(pelvis, 2, 6.875000, 93.749994 / animSpeed) turn(r_foot, 1, 2.905055, 496.924251 / animSpeed) turn(r_foot, 3, 0.000162, 49.676377 / animSpeed) @@ -155,11 +155,11 @@ function walk() turn(torso, 2, -11.687500, 159.374994 / animSpeed) Sleep((33*animSpeed) -1) end - if (isMoving) then --Frame:18 + if (bMoving) then --Frame:18 if (rightArm) then turn(biggun, 1, 14.962093, 448.862786 / animSpeed) end turn(head, 1, 6.002970, 240.650875 / animSpeed) - turn(head, 2, -0.0, 195.082586 / animSpeed) + turn(head, 2, -0.000000, 195.082586 / animSpeed) turn(l_foot, 1, -13.296228, 81.595514 / animSpeed) turn(l_foot, 3, -0.003109, 20.820630 / animSpeed) turn(lleg, 1, 76.570164, 1231.612198 / animSpeed) @@ -170,12 +170,12 @@ function walk() turn(lthigh, 2, -3.398772, 86.660360 / animSpeed) if (leftArm) then turn(luparm, 1, -5.933402, 271.998004 / animSpeed) end if (leftArm) then turn(luparm, 2, -5.390060, 50.101832 / animSpeed) end - if (leftArm) then turn(nanolathe, 1, 0.0, 144.375003 / animSpeed) end + if (leftArm) then turn(nanolathe, 1, 0.000000, 144.375003 / animSpeed) end move(pelvis, 1, 0.676773, 22.421322 / animSpeed) move(pelvis, 3, 0.677474, 20.324208 / animSpeed) - move(pelvis, 2, -2.0, 21.000001 / animSpeed) + move(pelvis, 2, -2.000000, 21.000001 / animSpeed) turn(pelvis, 1, 1.500000, 45.000001 / animSpeed) - turn(pelvis, 2, 0.0, 206.249997 / animSpeed) + turn(pelvis, 2, 0.000000, 206.249997 / animSpeed) turn(r_foot, 1, 17.020208, 423.454591 / animSpeed) turn(r_foot, 3, -0.952274, 28.573097 / animSpeed) turn(r_foot, 2, 1.028123, 30.696158 / animSpeed) @@ -192,7 +192,7 @@ function walk() turn(torso, 2, 0.000001, 350.625002 / animSpeed) Sleep((33*animSpeed) -1) end - if (isMoving) then --Frame:24 + if (bMoving) then --Frame:24 if not Spring.GetUnitIsCloaked(unitID) then UnitScript.EmitSfx(r_foot, 1024 + 2) end @@ -212,9 +212,9 @@ function walk() if (leftArm) then turn(luparm, 2, 2.367461, 232.725648 / animSpeed) end if (leftArm) then turn(nanolathe, 1, 4.812500, 144.375000 / animSpeed) end move(pelvis, 1, 0.378759, 8.940423 / animSpeed) - move(pelvis, 3, 0.0, 20.324208 / animSpeed) - move(pelvis, 2, -0.700000, 39.0 / animSpeed) - turn(pelvis, 1, -1.0, 75.000001 / animSpeed) + move(pelvis, 3, 0.000000, 20.324208 / animSpeed) + move(pelvis, 2, -0.700000, 39.000000 / animSpeed) + turn(pelvis, 1, -1.000000, 75.000001 / animSpeed) turn(pelvis, 2, -6.874999, 206.249972 / animSpeed) turn(r_foot, 1, -4.390164, 642.311173 / animSpeed) turn(r_foot, 3, -0.230726, 21.646450 / animSpeed) @@ -232,8 +232,8 @@ function walk() turn(torso, 2, 11.687500, 350.624996 / animSpeed) Sleep((33*animSpeed) -1) end - if (isMoving) then --Frame:30 - if (rightArm) then turn(biggun, 1, -7.0, 165.0 / animSpeed) end + if (bMoving) then --Frame:30 + if (rightArm) then turn(biggun, 1, -7.000000, 165.000000 / animSpeed) end turn(head, 1, -1.322678, 97.888103 / animSpeed) turn(head, 2, -9.458549, 88.673879 / animSpeed) turn(l_foot, 1, -1.066570, 70.537812 / animSpeed) @@ -248,8 +248,8 @@ function walk() if (leftArm) then turn(luparm, 2, 4.673861, 69.191991 / animSpeed) end if (leftArm) then turn(nanolathe, 1, 9.511417, 140.967523 / animSpeed) end move(pelvis, 1, 0.004134, 11.238773 / animSpeed) - move(pelvis, 2, 0.0, 21.0 / animSpeed) - turn(pelvis, 1, 0.500000, 45.0 / animSpeed) + move(pelvis, 2, 0.000000, 21.000000 / animSpeed) + turn(pelvis, 1, 0.500000, 45.000000 / animSpeed) turn(pelvis, 2, -9.999998, 93.749968 / animSpeed) turn(r_foot, 1, -9.321513, 147.940450 / animSpeed) turn(r_foot, 3, -3.660134, 102.882224 / animSpeed) @@ -263,11 +263,11 @@ function walk() if (rightArm) then turn(ruparm, 1, -13.287716, 482.791638 / animSpeed) end if (rightArm) then turn(ruparm, 2, 9.299999, 72.333317 / animSpeed) end turn(torso, 1, 0.614511, 61.414985 / animSpeed) - turn(torso, 3, -0.0, 10.342095 / animSpeed) + turn(torso, 3, -0.000000, 10.342095 / animSpeed) turn(torso, 2, 16.999999, 159.374968 / animSpeed) Sleep((33*animSpeed) -1) end - if (isMoving) then --Frame:36 + if (bMoving) then --Frame:36 if (rightArm) then turn(biggun, 1, -4.812500, 65.625000 / animSpeed) end turn(head, 1, -2.018726, 20.881451 / animSpeed) turn(head, 2, -6.502752, 88.673904 / animSpeed) @@ -285,7 +285,7 @@ function walk() if (leftArm) then turn(nanolathe, 1, 7.246843, 67.937245 / animSpeed) end move(pelvis, 1, -1.440796, 43.347901 / animSpeed) move(pelvis, 2, -1.300000, 38.999999 / animSpeed) - turn(pelvis, 1, 3.0, 75.000003 / animSpeed) + turn(pelvis, 1, 3.000000, 75.000003 / animSpeed) turn(pelvis, 2, -6.874998, 93.750007 / animSpeed) turn(r_foot, 1, -11.212004, 56.714740 / animSpeed) turn(r_foot, 3, -0.692164, 89.039097 / animSpeed) @@ -298,15 +298,15 @@ function walk() turn(rthigh, 2, 5.974292, 100.056158 / animSpeed) if (rightArm) then turn(ruparm, 1, -15.000002, 51.368598 / animSpeed) end if (rightArm) then turn(ruparm, 2, 8.332799, 29.016001 / animSpeed) end - turn(torso, 1, -0.0, 18.435316 / animSpeed) + turn(torso, 1, -0.000000, 18.435316 / animSpeed) turn(torso, 3, 2.154603, 64.638097 / animSpeed) turn(torso, 2, 11.687500, 159.374994 / animSpeed) Sleep((33*animSpeed) -1) end - if (isMoving) then --Frame:42 - if (rightArm) then turn(biggun, 1, 0.0, 144.375003 / animSpeed) end + if (bMoving) then --Frame:42 + if (rightArm) then turn(biggun, 1, 0.000000, 144.375003 / animSpeed) end turn(head, 1, 5.974242, 239.789054 / animSpeed) - turn(head, 2, 0.0, 195.082586 / animSpeed) + turn(head, 2, 0.000000, 195.082586 / animSpeed) turn(l_foot, 1, 18.425190, 466.661591 / animSpeed) turn(l_foot, 3, 0.957857, 28.737983 / animSpeed) turn(l_foot, 2, -1.046884, 31.404727 / animSpeed) @@ -321,7 +321,7 @@ function walk() if (leftArm) then turn(nanolathe, 1, 15.006779, 232.798102 / animSpeed) end move(pelvis, 1, -0.668506, 23.168705 / animSpeed) move(pelvis, 3, 0.587918, 17.637532 / animSpeed) - move(pelvis, 2, -2.0, 21.000001 / animSpeed) + move(pelvis, 2, -2.000000, 21.000001 / animSpeed) turn(pelvis, 1, 1.500000, 45.000001 / animSpeed) turn(pelvis, 2, 0.000002, 206.250000 / animSpeed) turn(r_foot, 1, -14.533147, 99.634283 / animSpeed) @@ -339,7 +339,7 @@ function walk() turn(torso, 2, -0.000001, 350.625002 / animSpeed) Sleep((33*animSpeed) -1) end - if (isMoving) then --Frame:48 + if (bMoving) then --Frame:48 if not Spring.GetUnitIsCloaked(unitID) then UnitScript.EmitSfx(l_foot, 1024 + 2) end @@ -359,9 +359,9 @@ function walk() if (leftArm) then turn(luparm, 2, -6.888889, 303.565158 / animSpeed) end if (leftArm) then turn(nanolathe, 1, -1.500000, 495.203383 / animSpeed) end move(pelvis, 1, -0.247683, 12.624712 / animSpeed) - move(pelvis, 3, 0.0, 17.637532 / animSpeed) - move(pelvis, 2, -0.700000, 39.0 / animSpeed) - turn(pelvis, 1, -1.0, 75.000001 / animSpeed) + move(pelvis, 3, 0.000000, 17.637532 / animSpeed) + move(pelvis, 2, -0.700000, 39.000000 / animSpeed) + turn(pelvis, 1, -1.000000, 75.000001 / animSpeed) turn(pelvis, 2, 6.875002, 206.249994 / animSpeed) turn(r_foot, 1, -5.256663, 278.294500 / animSpeed) turn(r_foot, 3, -0.935032, 28.163964 / animSpeed) @@ -379,8 +379,8 @@ function walk() turn(torso, 2, -11.687500, 350.624996 / animSpeed) Sleep((33*animSpeed) -1) end - if (isMoving) then --Frame:54 - if (rightArm) then turn(biggun, 1, 7.0, 65.625012 / animSpeed) end + if (bMoving) then --Frame:54 + if (rightArm) then turn(biggun, 1, 7.000000, 65.625012 / animSpeed) end turn(head, 1, -0.920485, 83.236809 / animSpeed) turn(head, 2, 9.458549, 88.673879 / animSpeed) turn(l_foot, 1, -10.560809, 195.068730 / animSpeed) @@ -394,11 +394,11 @@ function walk() turn(lthigh, 2, -9.099435, 41.255581 / animSpeed) if (leftArm) then turn(luparm, 1, -8.891101, 586.612163 / animSpeed) end if (leftArm) then turn(luparm, 2, -9.299999, 72.333317 / animSpeed) end - if (leftArm) then turn(nanolathe, 1, -7.0, 165.0 / animSpeed) end + if (leftArm) then turn(nanolathe, 1, -7.000000, 165.000000 / animSpeed) end move(pelvis, 1, 0.004134, 7.554485 / animSpeed) - move(pelvis, 2, 0.0, 21.0 / animSpeed) - turn(pelvis, 1, 0.500000, 45.0 / animSpeed) - turn(pelvis, 2, 10.0, 93.749930 / animSpeed) + move(pelvis, 2, 0.000000, 21.000000 / animSpeed) + turn(pelvis, 1, 0.500000, 45.000000 / animSpeed) + turn(pelvis, 2, 10.000000, 93.749930 / animSpeed) turn(r_foot, 1, -13.659087, 252.072695 / animSpeed) turn(r_foot, 3, -1.655717, 21.620542 / animSpeed) turn(r_foot, 2, -10.105174, 120.868044 / animSpeed) @@ -411,7 +411,7 @@ function walk() if (rightArm) then turn(ruparm, 1, 27.254234, 658.466782 / animSpeed) end if (rightArm) then turn(ruparm, 2, -7.659001, 327.978017 / animSpeed) end turn(torso, 1, 0.527975, 66.830393 / animSpeed) - turn(torso, 3, -0.0, 7.756572 / animSpeed) + turn(torso, 3, -0.000000, 7.756572 / animSpeed) turn(torso, 2, -16.999999, 159.374968 / animSpeed) Sleep((33*animSpeed) -1) end @@ -419,7 +419,7 @@ function walk() end function SprayNano(heading, pitch) - SetSignalMask(SIGNAL_AIM1) + SetSignalMask(SIG_AIM) Sleep(1000) while (true) do Sleep(1000) @@ -427,48 +427,48 @@ function SprayNano(heading, pitch) end function StopWalking() - move(pelvis, 1, 0.0, 7.224650) + move(pelvis, 1, 0.000000, 7.224650) move(pelvis, 2, -0.301224, 6.500000) - move(pelvis, 3, 0.0, 3.387368) + move(pelvis, 3, 0.000000, 3.387368) if (rightArm) then turn(biggun, 1, -8.811130, 82.310465) end if (rightArm) then turn(biggun, 2, 0.151839, 0.759193) end if (rightArm) then turn(biggun, 3, -1.970615, 9.853077) end - turn(head, 1, 0.0, 40.108479) - turn(head, 2, 0.0, 47.292746) + turn(head, 1, 0.000000, 40.108479) + turn(head, 2, 0.000000, 47.292746) turn(l_foot, 1, -2.414753, 112.418542) turn(l_foot, 2, -0.240266, 49.963893) turn(l_foot, 3, -0.525861, 21.002426) - turn(lleg, 1, 0.0, 411.690139) - turn(lleg, 2, 0.0, 49.997525) - turn(lleg, 3, 0.0, 71.520276) - turn(lthigh, 1, 0.0, 241.307004) + turn(lleg, 1, 0.000000, 411.690139) + turn(lleg, 2, 0.000000, 49.997525) + turn(lleg, 3, 0.000000, 71.520276) + turn(lthigh, 1, 0.000000, 241.307004) turn(lthigh, 2, 14.837520, 121.662463) - turn(lthigh, 3, 0.0, 109.161052) + turn(lthigh, 3, 0.000000, 109.161052) if (leftArm) then turn(luparm, 1, 6.970926, 116.358546) end if (leftArm) then turn(luparm, 2, 15.215961, 123.038422) end if (leftArm) then turn(nanolathe, 1, 6.795234, 82.533897) end if (leftArm) then turn(nanolathe, 2, -0.110275, 0.551377) end if (leftArm) then turn(nanolathe, 3, -1.857297, 9.286484) end - turn(pelvis, 1, 0.0, 12.500000) - turn(pelvis, 2, 0.0, 49.999999) + turn(pelvis, 1, 0.000000, 12.500000) + turn(pelvis, 2, 0.000000, 49.999999) turn(r_foot, 1, -1.584957, 107.051862) - turn(r_foot, 2, 0.0, 50.550458) - turn(r_foot, 3, 0.0, 17.147037) - turn(rleg, 1, 0.0, 363.366858) - turn(rleg, 2, 0.0, 95.731755) - turn(rleg, 3, 0.0, 123.722036) - turn(rthigh, 1, 0.0, 306.324559) + turn(r_foot, 2, 0.000000, 50.550458) + turn(r_foot, 3, 0.000000, 17.147037) + turn(rleg, 1, 0.000000, 363.366858) + turn(rleg, 2, 0.000000, 95.731755) + turn(rleg, 3, 0.000000, 123.722036) + turn(rthigh, 1, 0.000000, 306.324559) turn(rthigh, 2, -25.608481, 144.663917) - turn(rthigh, 3, 0.0, 113.472665) + turn(rthigh, 3, 0.000000, 113.472665) if (rightArm) then turn(ruparm, 1, 8.674858, 110.217349) end if (rightArm) then turn(ruparm, 2, -12.507997, 60.683891) end - turn(torso, 1, 0.0, 36.480655) - turn(torso, 2, 0.0, 84.999997) - turn(torso, 3, 0.0, 13.020986) + turn(torso, 1, 0.000000, 36.480655) + turn(torso, 2, 0.000000, 84.999997) + turn(torso, 3, 0.000000, 13.020986) end function AmIBored() - if isMoving == false and isAiming == false and isBuilding == false then + if bMoving == false and isAiming == false and isBuilding == false then return true else return false @@ -507,8 +507,8 @@ end function ResumeBuilding() Sleep(800) if isBuilding and not isAiming then - Turn(aimy1, 2, buildheading - rad(20), rad(300.0)) - Turn(aimx1, 1, rad(-20.0) - buildpitch, rad(90.0)) + Turn(aimy1, 2, buildheading - rad(20), rad(300.000000)) + Turn(aimx1, 1, rad(-20.000000) - buildpitch, rad(90.000000)) end return (0) end @@ -525,7 +525,7 @@ function script.Create() isAiming = false isAimingDgun = false isBuilding = false - isAiming = false + bAiming = false buildHeading = 0 buildPitch = 0 leftArm = true @@ -549,13 +549,13 @@ function ShowMedalBronze() end function script.StartMoving() - isMoving = true + bMoving = true StartThread(walk) end function script.StopMoving() - Signal(SIGNAL_MOVE) - isMoving = false + Signal(SIG_WALK) + bMoving = false StartThread(StopWalking) end @@ -575,10 +575,10 @@ function script.AimWeapon(weapon, heading, pitch) return false else leftArm = false - SetSignalMask(SIGNAL_AIM1) - Signal(SIGNAL_AIM1) - Turn(aimy1, 2, heading, rad(300.0)) - Turn(aimx1, 1, rad(-5.0) - pitch, rad(250.0)) + SetSignalMask(SIG_AIM) + Signal(SIG_AIM) + Turn(aimy1, 2, heading, rad(300.000000)) + Turn(aimx1, 1, rad(-5.000000) - pitch, rad(250.000000)) WaitForTurn(aimy1,2) isAiming = true if isBuilding == true then @@ -594,10 +594,10 @@ function script.AimWeapon(weapon, heading, pitch) return false else leftArm = false - SetSignalMask(SIGNAL_AIM1) - Signal(SIGNAL_AIM1) - Turn(aimy1, 2, heading, rad(300.0)) - Turn(aimx1, 1, rad(-5.0) - pitch, rad(250.0)) + SetSignalMask(SIG_AIM) + Signal(SIG_AIM) + Turn(aimy1, 2, heading, rad(300.000000)) + Turn(aimx1, 1, rad(-5.000000) - pitch, rad(250.000000)) WaitForTurn(aimy1,2) isAiming = true if isBuilding == true then @@ -610,8 +610,8 @@ function script.AimWeapon(weapon, heading, pitch) isAimingDgun = true isAiming = true leftArm = false - Turn(aimy1, 2, heading, rad(300.0)) - Turn(aimx1, 1, rad(-5.0) - pitch, rad(250.0)) + Turn(aimy1, 2, heading, rad(300.000000)) + Turn(aimx1, 1, rad(-5.000000) - pitch, rad(250.000000)) WaitForTurn(aimy1,2) return true end @@ -642,11 +642,11 @@ function script.QueryWeapon(weapon) end function script.StartBuilding(heading, pitch) - Signal(SIGNAL_AIM1) + Signal(SIG_AIM) isBuilding = true leftArm = false - Turn(aimy1, 2, heading, rad(300.0)) - Turn(aimx1, 1, rad(-5.0) - pitch, rad(250.0)) + Turn(aimy1, 2, heading, rad(300.000000)) + Turn(aimx1, 1, rad(-5.000000) - pitch, rad(250.000000)) WaitForTurn(aimy1,2) Spring.UnitScript.SetUnitValue(COB.INBUILDSTANCE, true) buildHeading = heading @@ -659,14 +659,14 @@ function script.StopBuilding() leftArm = true isBuilding = false Spring.UnitScript.SetUnitValue(COB.INBUILDSTANCE, false) - Signal(SIGNAL_AIM1) - SetSignalMask(SIGNAL_AIM1) + Signal(SIG_AIM) + SetSignalMask(SIG_AIM) StartThread(Restore) return true end function Restore() - SetSignalMask(SIGNAL_AIM1) + SetSignalMask(SIG_AIM) Sleep(3000) turn(aimy1, 2, 0, 90) turn(aimx1, 1, 0, 90) @@ -677,9 +677,9 @@ function Restore() end function script.QueryNanoPiece() - local pieceIndex; - pieceIndex = nanospray; - return pieceIndex + local piecenum; + piecenum = nanospray; + return piecenum end function script.Killed() diff --git a/scripts/Units/corcomboss.bos b/scripts/Units/corcomboss.bos index db42375d359..d1eddd0eaee 100644 --- a/scripts/Units/corcomboss.bos +++ b/scripts/Units/corcomboss.bos @@ -1,15 +1,17 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece torso, lfirept, rbigflash, nanospray, nanolathe, luparm, ruparm, pelvis, rthigh, lthigh, biggun, lleg, l_foot, rleg, r_foot, head, teleport, aimx1, aimy1; -static-var isMoving, isAiming, Busy, gun_3, gun_2, counter, +static-var bMoving, bAiming, Busy, gun_3, gun_2, counter, bIsBuilding, buildPitch, buildHeading, maxSpeed, currentSpeed, animSpeed, justMoved; // Signal definitions -#define SIGNAL_AIM1 256 -#define SIGNAL_MOVE 1 +#define SIG_AIM 2 +#define SIG_WALK 4 //corcom travels at 40 elmos per sec (30 frames) //if his animation loops in 8*8 = 64 frames //then he has to travel 85 elmos in a loop @@ -21,11 +23,11 @@ static-var animFramesPerKeyframe; Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations\corcom_anim_walk_stance_v7.blend - set-signal-mask SIGNAL_MOVE; - if (isMoving) { //Frame:6 - turn biggun to x-axis <7.0> speed <474.333919> / animSpeed; - turn biggun to z-axis <-0.0> speed <59.118463> / animSpeed; - turn biggun to y-axis <0.0> speed <4.555160> / animSpeed; + set-signal-mask SIG_WALK; + if (bMoving) { //Frame:6 + turn biggun to x-axis <7.000000> speed <474.333919> / animSpeed; + turn biggun to z-axis <-0.000000> speed <59.118463> / animSpeed; + turn biggun to y-axis <0.000000> speed <4.555160> / animSpeed; turn head to x-axis <-0.927302> speed <27.819048> / animSpeed; turn head to y-axis <9.458549> speed <283.756478> / animSpeed; turn l_foot to x-axis <-10.561878> speed <244.413750> / animSpeed; @@ -39,12 +41,12 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn lthigh to y-axis <-9.494972> speed <729.974777> / animSpeed; turn luparm to x-axis <-8.891101> speed <475.860825> / animSpeed; turn luparm to y-axis <-9.391724> speed <738.230529> / animSpeed; - turn nanolathe to x-axis <-7.0> speed <413.857033> / animSpeed; - turn nanolathe to z-axis <-0.0> speed <55.718905> / animSpeed; - turn nanolathe to y-axis <0.0> speed <3.308265> / animSpeed; - move pelvis to y-axis [0.0] speed [9.036713] / animSpeed; - turn pelvis to x-axis <0.500000> speed <15.0> / animSpeed; - turn pelvis to y-axis <10.0> speed <299.999991> / animSpeed; + turn nanolathe to x-axis <-7.000000> speed <413.857033> / animSpeed; + turn nanolathe to z-axis <-0.000000> speed <55.718905> / animSpeed; + turn nanolathe to y-axis <0.000000> speed <3.308265> / animSpeed; + move pelvis to y-axis [0.000000] speed [9.036713] / animSpeed; + turn pelvis to x-axis <0.500000> speed <15.000000> / animSpeed; + turn pelvis to y-axis <10.000000> speed <299.999991> / animSpeed; turn r_foot to x-axis <-13.659087> speed <362.223883> / animSpeed; turn r_foot to z-axis <-1.655717> speed <49.672541> / animSpeed; turn r_foot to y-axis <-10.105174> speed <303.223681> / animSpeed; @@ -60,9 +62,9 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn torso to y-axis <-16.999999> speed <509.999980> / animSpeed; sleep 197; } - while(isMoving) { - if (isMoving) { //Frame:12 - turn biggun to x-axis <-0.0> speed <210.0> / animSpeed; + while(bMoving) { + if (bMoving) { //Frame:12 + turn biggun to x-axis <-0.000000> speed <210.000014> / animSpeed; turn head to x-axis <-2.018726> speed <32.742739> / animSpeed; turn head to y-axis <6.502752> speed <88.673904> / animSpeed; turn l_foot to z-axis <0.690912> speed <89.511375> / animSpeed; @@ -73,15 +75,15 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn lthigh to x-axis <15.193594> speed <529.234425> / animSpeed; turn lthigh to z-axis <-3.177570> speed <164.312977> / animSpeed; turn lthigh to y-axis <-6.287450> speed <96.225652> / animSpeed; - turn luparm to x-axis <-15.0> speed <183.267021> / animSpeed; + turn luparm to x-axis <-15.000002> speed <183.267021> / animSpeed; turn luparm to y-axis <-7.060122> speed <69.948061> / animSpeed; turn nanolathe to x-axis <-4.812500> speed <65.625000> / animSpeed; move pelvis to x-axis [1.424151] speed [42.600518] / animSpeed; move pelvis to y-axis [-1.300000] speed [38.999999] / animSpeed; - turn pelvis to x-axis <3.0> speed <75.0> / animSpeed; + turn pelvis to x-axis <3.000000> speed <75.000003> / animSpeed; turn pelvis to y-axis <6.875000> speed <93.749994> / animSpeed; turn r_foot to x-axis <2.905055> speed <496.924251> / animSpeed; - turn r_foot to z-axis <0.0> speed <49.676377> / animSpeed; + turn r_foot to z-axis <0.000162> speed <49.676377> / animSpeed; turn r_foot to y-axis <0.004918> speed <303.302750> / animSpeed; turn rleg to x-axis <-19.644176> speed <2180.201147> / animSpeed; turn rleg to z-axis <6.272890> speed <682.729471> / animSpeed; @@ -95,10 +97,10 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn torso to y-axis <-11.687500> speed <159.374994> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:18 + if (bMoving) { //Frame:18 turn biggun to x-axis <14.962093> speed <448.862786> / animSpeed; turn head to x-axis <6.002970> speed <240.650875> / animSpeed; - turn head to y-axis <-0.0> speed <195.082586> / animSpeed; + turn head to y-axis <-0.000000> speed <195.082586> / animSpeed; turn l_foot to x-axis <-13.296228> speed <81.595514> / animSpeed; turn l_foot to z-axis <-0.003109> speed <20.820630> / animSpeed; turn lleg to x-axis <76.570164> speed <1231.612198> / animSpeed; @@ -109,12 +111,12 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn lthigh to y-axis <-3.398772> speed <86.660360> / animSpeed; turn luparm to x-axis <-5.933402> speed <271.998004> / animSpeed; turn luparm to y-axis <-5.390060> speed <50.101832> / animSpeed; - turn nanolathe to x-axis <0.0> speed <144.375003> / animSpeed; + turn nanolathe to x-axis <0.000000> speed <144.375003> / animSpeed; move pelvis to x-axis [0.676773] speed [22.421322] / animSpeed; move pelvis to z-axis [0.677474] speed [20.324208] / animSpeed; - move pelvis to y-axis [-2.0] speed [21.000001] / animSpeed; - turn pelvis to x-axis <1.500000> speed <45.0> / animSpeed; - turn pelvis to y-axis <0.0> speed <206.249997> / animSpeed; + move pelvis to y-axis [-2.000000] speed [21.000001] / animSpeed; + turn pelvis to x-axis <1.500000> speed <45.000001> / animSpeed; + turn pelvis to y-axis <0.000000> speed <206.249997> / animSpeed; turn r_foot to x-axis <17.020208> speed <423.454591> / animSpeed; turn r_foot to z-axis <-0.952274> speed <28.573097> / animSpeed; turn r_foot to y-axis <1.028123> speed <30.696158> / animSpeed; @@ -128,10 +130,10 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn ruparm to y-axis <-5.247890> speed <72.333343> / animSpeed; turn torso to x-axis <7.182205> speed <215.121631> / animSpeed; turn torso to z-axis <-1.177850> speed <42.790427> / animSpeed; - turn torso to y-axis <0.0> speed <350.625002> / animSpeed; + turn torso to y-axis <0.000001> speed <350.625002> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:24 + if (bMoving) { //Frame:24 turn biggun to x-axis <-1.500000> speed <493.862787> / animSpeed; turn head to x-axis <1.940259> speed <121.881321> / animSpeed; turn head to y-axis <-6.502753> speed <195.082587> / animSpeed; @@ -148,9 +150,9 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn luparm to y-axis <2.367461> speed <232.725648> / animSpeed; turn nanolathe to x-axis <4.812500> speed <144.375000> / animSpeed; move pelvis to x-axis [0.378759] speed [8.940423] / animSpeed; - move pelvis to z-axis [0.0] speed [20.324208] / animSpeed; - move pelvis to y-axis [-0.700000] speed [39.0] / animSpeed; - turn pelvis to x-axis <-1.0> speed <75.0> / animSpeed; + move pelvis to z-axis [0.000000] speed [20.324208] / animSpeed; + move pelvis to y-axis [-0.700000] speed [39.000000] / animSpeed; + turn pelvis to x-axis <-1.000000> speed <75.000001> / animSpeed; turn pelvis to y-axis <-6.874999> speed <206.249972> / animSpeed; turn r_foot to x-axis <-4.390164> speed <642.311173> / animSpeed; turn r_foot to z-axis <-0.230726> speed <21.646450> / animSpeed; @@ -168,8 +170,8 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn torso to y-axis <11.687500> speed <350.624996> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:30 - turn biggun to x-axis <-7.0> speed <165.0> / animSpeed; + if (bMoving) { //Frame:30 + turn biggun to x-axis <-7.000000> speed <165.000000> / animSpeed; turn head to x-axis <-1.322678> speed <97.888103> / animSpeed; turn head to y-axis <-9.458549> speed <88.673879> / animSpeed; turn l_foot to x-axis <-1.066570> speed <70.537812> / animSpeed; @@ -184,8 +186,8 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn luparm to y-axis <4.673861> speed <69.191991> / animSpeed; turn nanolathe to x-axis <9.511417> speed <140.967523> / animSpeed; move pelvis to x-axis [0.004134] speed [11.238773] / animSpeed; - move pelvis to y-axis [0.0] speed [21.0] / animSpeed; - turn pelvis to x-axis <0.500000> speed <45.0> / animSpeed; + move pelvis to y-axis [0.000000] speed [21.000000] / animSpeed; + turn pelvis to x-axis <0.500000> speed <45.000000> / animSpeed; turn pelvis to y-axis <-9.999998> speed <93.749968> / animSpeed; turn r_foot to x-axis <-9.321513> speed <147.940450> / animSpeed; turn r_foot to z-axis <-3.660134> speed <102.882224> / animSpeed; @@ -199,17 +201,17 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn ruparm to x-axis <-13.287716> speed <482.791638> / animSpeed; turn ruparm to y-axis <9.299999> speed <72.333317> / animSpeed; turn torso to x-axis <0.614511> speed <61.414985> / animSpeed; - turn torso to z-axis <-0.0> speed <10.342095> / animSpeed; + turn torso to z-axis <-0.000000> speed <10.342095> / animSpeed; turn torso to y-axis <16.999999> speed <159.374968> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:36 + if (bMoving) { //Frame:36 turn biggun to x-axis <-4.812500> speed <65.625000> / animSpeed; turn head to x-axis <-2.018726> speed <20.881451> / animSpeed; turn head to y-axis <-6.502752> speed <88.673904> / animSpeed; turn l_foot to x-axis <2.869804> speed <118.091213> / animSpeed; - turn l_foot to z-axis <-0.0> speed <20.252671> / animSpeed; - turn l_foot to y-axis <-0.0> speed <299.783359> / animSpeed; + turn l_foot to z-axis <-0.000076> speed <20.252671> / animSpeed; + turn l_foot to y-axis <-0.000060> speed <299.783359> / animSpeed; turn lleg to x-axis <-21.464800> speed <2470.140833> / animSpeed; turn lleg to z-axis <-5.991945> speed <214.073744> / animSpeed; turn lleg to y-axis <-2.714477> speed <186.880277> / animSpeed; @@ -221,7 +223,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn nanolathe to x-axis <7.246843> speed <67.937245> / animSpeed; move pelvis to x-axis [-1.440796] speed [43.347901] / animSpeed; move pelvis to y-axis [-1.300000] speed [38.999999] / animSpeed; - turn pelvis to x-axis <3.0> speed <75.0> / animSpeed; + turn pelvis to x-axis <3.000000> speed <75.000003> / animSpeed; turn pelvis to y-axis <-6.874998> speed <93.750007> / animSpeed; turn r_foot to x-axis <-11.212004> speed <56.714740> / animSpeed; turn r_foot to z-axis <-0.692164> speed <89.039097> / animSpeed; @@ -232,17 +234,17 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn rthigh to x-axis <15.440428> speed <491.500071> / animSpeed; turn rthigh to z-axis <5.573259> speed <259.656606> / animSpeed; turn rthigh to y-axis <5.974292> speed <100.056158> / animSpeed; - turn ruparm to x-axis <-15.0> speed <51.368598> / animSpeed; + turn ruparm to x-axis <-15.000002> speed <51.368598> / animSpeed; turn ruparm to y-axis <8.332799> speed <29.016001> / animSpeed; - turn torso to x-axis <-0.0> speed <18.435316> / animSpeed; + turn torso to x-axis <-0.000000> speed <18.435316> / animSpeed; turn torso to z-axis <2.154603> speed <64.638097> / animSpeed; turn torso to y-axis <11.687500> speed <159.374994> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:42 - turn biggun to x-axis <0.0> speed <144.375003> / animSpeed; + if (bMoving) { //Frame:42 + turn biggun to x-axis <0.000000> speed <144.375003> / animSpeed; turn head to x-axis <5.974242> speed <239.789054> / animSpeed; - turn head to y-axis <0.0> speed <195.082586> / animSpeed; + turn head to y-axis <0.000000> speed <195.082586> / animSpeed; turn l_foot to x-axis <18.425190> speed <466.661591> / animSpeed; turn l_foot to z-axis <0.957857> speed <28.737983> / animSpeed; turn l_foot to y-axis <-1.046884> speed <31.404727> / animSpeed; @@ -257,9 +259,9 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn nanolathe to x-axis <15.006779> speed <232.798102> / animSpeed; move pelvis to x-axis [-0.668506] speed [23.168705] / animSpeed; move pelvis to z-axis [0.587918] speed [17.637532] / animSpeed; - move pelvis to y-axis [-2.0] speed [21.000001] / animSpeed; - turn pelvis to x-axis <1.500000> speed <45.0> / animSpeed; - turn pelvis to y-axis <0.0> speed <206.250000> / animSpeed; + move pelvis to y-axis [-2.000000] speed [21.000001] / animSpeed; + turn pelvis to x-axis <1.500000> speed <45.000001> / animSpeed; + turn pelvis to y-axis <0.000002> speed <206.250000> / animSpeed; turn r_foot to x-axis <-14.533147> speed <99.634283> / animSpeed; turn r_foot to z-axis <0.003766> speed <20.877902> / animSpeed; turn rleg to x-axis <76.774892> speed <1244.570125> / animSpeed; @@ -272,10 +274,10 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn ruparm to y-axis <6.026399> speed <69.191998> / animSpeed; turn torso to x-axis <7.296131> speed <218.883930> / animSpeed; turn torso to z-axis <0.804385> speed <40.506543> / animSpeed; - turn torso to y-axis <-0.0> speed <350.625002> / animSpeed; + turn torso to y-axis <-0.000001> speed <350.625002> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:48 + if (bMoving) { //Frame:48 turn biggun to x-axis <4.812500> speed <144.375000> / animSpeed; turn head to x-axis <1.854076> speed <123.605001> / animSpeed; turn head to y-axis <6.502753> speed <195.082587> / animSpeed; @@ -292,9 +294,9 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn luparm to y-axis <-6.888889> speed <303.565158> / animSpeed; turn nanolathe to x-axis <-1.500000> speed <495.203383> / animSpeed; move pelvis to x-axis [-0.247683] speed [12.624712] / animSpeed; - move pelvis to z-axis [0.0] speed [17.637532] / animSpeed; - move pelvis to y-axis [-0.700000] speed [39.0] / animSpeed; - turn pelvis to x-axis <-1.0> speed <75.0> / animSpeed; + move pelvis to z-axis [0.000000] speed [17.637532] / animSpeed; + move pelvis to y-axis [-0.700000] speed [39.000000] / animSpeed; + turn pelvis to x-axis <-1.000000> speed <75.000001> / animSpeed; turn pelvis to y-axis <6.875002> speed <206.249994> / animSpeed; turn r_foot to x-axis <-5.256663> speed <278.294500> / animSpeed; turn r_foot to z-axis <-0.935032> speed <28.163964> / animSpeed; @@ -312,8 +314,8 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn torso to y-axis <-11.687500> speed <350.624996> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:54 - turn biggun to x-axis <7.0> speed <65.625012> / animSpeed; + if (bMoving) { //Frame:54 + turn biggun to x-axis <7.000000> speed <65.625012> / animSpeed; turn head to x-axis <-0.920485> speed <83.236809> / animSpeed; turn head to y-axis <9.458549> speed <88.673879> / animSpeed; turn l_foot to x-axis <-10.560809> speed <195.068730> / animSpeed; @@ -327,11 +329,11 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn lthigh to y-axis <-9.099435> speed <41.255581> / animSpeed; turn luparm to x-axis <-8.891101> speed <586.612163> / animSpeed; turn luparm to y-axis <-9.299999> speed <72.333317> / animSpeed; - turn nanolathe to x-axis <-7.0> speed <165.0> / animSpeed; + turn nanolathe to x-axis <-7.000000> speed <165.000000> / animSpeed; move pelvis to x-axis [0.004134] speed [7.554485] / animSpeed; - move pelvis to y-axis [0.0] speed [21.0] / animSpeed; - turn pelvis to x-axis <0.500000> speed <45.0> / animSpeed; - turn pelvis to y-axis <10.0> speed <93.749930> / animSpeed; + move pelvis to y-axis [0.000000] speed [21.000000] / animSpeed; + turn pelvis to x-axis <0.500000> speed <45.000000> / animSpeed; + turn pelvis to y-axis <10.000000> speed <93.749930> / animSpeed; turn r_foot to x-axis <-13.659087> speed <252.072695> / animSpeed; turn r_foot to z-axis <-1.655717> speed <21.620542> / animSpeed; turn r_foot to y-axis <-10.105174> speed <120.868044> / animSpeed; @@ -344,52 +346,52 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn ruparm to x-axis <27.254234> speed <658.466782> / animSpeed; turn ruparm to y-axis <-7.659001> speed <327.978017> / animSpeed; turn torso to x-axis <0.527975> speed <66.830393> / animSpeed; - turn torso to z-axis <-0.0> speed <7.756572> / animSpeed; + turn torso to z-axis <-0.000000> speed <7.756572> / animSpeed; turn torso to y-axis <-16.999999> speed <159.374968> / animSpeed; sleep ((33*animSpeed) -1); } } } -// Call this from StopMoving()! +// Call this from MotionControl()! StopWalking() { - move pelvis to x-axis [0.0] speed [7.224650]/6; + move pelvis to x-axis [0.000000] speed [7.224650]/6; move pelvis to y-axis [-0.301224] speed [6.500000]/6; - move pelvis to z-axis [0.0] speed [3.387368]/6; + move pelvis to z-axis [0.000000] speed [3.387368]/6; turn biggun to x-axis <-8.811130> speed <82.310465>/6; turn biggun to y-axis <0.151839> speed <0.759193>/6; turn biggun to z-axis <-1.970615> speed <9.853077>/6; - turn head to x-axis <0.0> speed <40.108479>/6; - turn head to y-axis <0.0> speed <47.292746>/6; + turn head to x-axis <0.000000> speed <40.108479>/6; + turn head to y-axis <0.000000> speed <47.292746>/6; turn l_foot to x-axis <-2.414753> speed <112.418542>/6; turn l_foot to y-axis <-0.240266> speed <49.963893>/6; turn l_foot to z-axis <-0.525861> speed <21.002426>/6; - turn lleg to x-axis <0.0> speed <411.690139>/6; - turn lleg to y-axis <0.0> speed <49.997525>/6; - turn lleg to z-axis <0.0> speed <71.520276>/6; - turn lthigh to x-axis <0.0> speed <241.307004>/6; + turn lleg to x-axis <0.000000> speed <411.690139>/6; + turn lleg to y-axis <0.000000> speed <49.997525>/6; + turn lleg to z-axis <0.000000> speed <71.520276>/6; + turn lthigh to x-axis <0.000000> speed <241.307004>/6; turn lthigh to y-axis <14.837520> speed <121.662463>/6; - turn lthigh to z-axis <0.0> speed <109.161052>/6; + turn lthigh to z-axis <0.000000> speed <109.161052>/6; turn luparm to x-axis <6.970926> speed <116.358546>/6; turn luparm to y-axis <15.215961> speed <123.038422>/6; turn nanolathe to x-axis <6.795234> speed <82.533897>/6; turn nanolathe to y-axis <-0.110275> speed <0.551377>/6; turn nanolathe to z-axis <-1.857297> speed <9.286484>/6; - turn pelvis to x-axis <0.0> speed <12.500000>/6; - turn pelvis to y-axis <0.0> speed <49.999999>/6; + turn pelvis to x-axis <0.000000> speed <12.500000>/6; + turn pelvis to y-axis <0.000000> speed <49.999999>/6; turn r_foot to x-axis <-1.584957> speed <107.051862>/6; - turn r_foot to y-axis <0.0> speed <50.550458>/6; - turn r_foot to z-axis <0.0> speed <17.147037>/6; - turn rleg to x-axis <0.0> speed <363.366858>/6; - turn rleg to y-axis <0.0> speed <95.731755>/6; - turn rleg to z-axis <0.0> speed <123.722036>/6; - turn rthigh to x-axis <0.0> speed <306.324559>/6; + turn r_foot to y-axis <0.000000> speed <50.550458>/6; + turn r_foot to z-axis <0.000000> speed <17.147037>/6; + turn rleg to x-axis <0.000000> speed <363.366858>/6; + turn rleg to y-axis <0.000000> speed <95.731755>/6; + turn rleg to z-axis <0.000000> speed <123.722036>/6; + turn rthigh to x-axis <0.000000> speed <306.324559>/6; turn rthigh to y-axis <-25.608481> speed <144.663917>/6; - turn rthigh to z-axis <0.0> speed <113.472665>/6; + turn rthigh to z-axis <0.000000> speed <113.472665>/6; turn ruparm to x-axis <8.674858> speed <110.217349>/6; turn ruparm to y-axis <-12.507997> speed <60.683891>/6; - turn torso to x-axis <0.0> speed <36.480655>/6; - turn torso to y-axis <0.0> speed <84.999997>/6; - turn torso to z-axis <0.0> speed <13.020986>/6; + turn torso to x-axis <0.000000> speed <36.480655>/6; + turn torso to y-axis <0.000000> speed <84.999997>/6; + turn torso to z-axis <0.000000> speed <13.020986>/6; } UnitSpeed(){ maxSpeed = get MAX_SPEED; // this returns cob units per frame i think @@ -428,8 +430,8 @@ Create() hide aimy1; hide teleport; hide rbigflash; - isMoving = FALSE; - isAiming = FALSE; + bMoving = FALSE; + bAiming = FALSE; bIsBuilding = 0; gun_2 = torso; Busy = 1; @@ -437,6 +439,7 @@ Create() buildHeading = 0; buildPitch = 0; counter = 0; + //maxSpeed = get UNKNOWN_UNIT_VALUE(75); maxSpeed = get MAX_SPEED; animSpeed = 6; currentSpeed = 100; @@ -445,40 +448,44 @@ Create() return (0); } -StartMoving(reversing) +StartMoving() { - isMoving = TRUE; + bMoving = TRUE; gun_3 = torso; - signal SIGNAL_MOVE; + signal SIG_WALK; start-script walk(); return (0); } StopMoving() { - signal SIGNAL_MOVE; - isMoving = FALSE; + signal SIG_WALK; + bMoving = FALSE; call-script StopWalking(); return (0); } +SweetSpot(piecenum) +{ + piecenum = torso; + return (0); +} - -QueryNanoPiece(pieceIndex) +QueryNanoPiece(piecenum) { - pieceIndex = nanospray; + piecenum = nanospray; return (0); } RestorePosition() { gun_3 = torso; - set-signal-mask SIGNAL_AIM1; + set-signal-mask SIG_AIM; sleep 700; - turn aimy1 to y-axis <0.0> speed <30.0>; + turn aimy1 to y-axis <0.000000> speed <30.000000>; turn aimx1 to x-axis <0> speed <30>; //wait-for-turn aimy1 around y-axis; - isAiming = FALSE; + bAiming = FALSE; return (0); } @@ -487,36 +494,36 @@ ResumeBuilding() sleep 400; if( bIsBuilding AND ( !gun_2 ) ) { - turn aimy1 to y-axis buildheading - <20> speed <300.0>; - turn aimx1 to x-axis <-20.0> - buildpitch speed <90.0>; + turn aimy1 to y-axis buildheading - <20> speed <300.000000>; + turn aimx1 to x-axis <-20.000000> - buildpitch speed <90.000000>; } return (0); } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = torso; + piecenum = torso; return (0); } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = lfirept; + piecenum = lfirept; return (0); } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { if( gun_3 == 1 ) { return (0); } - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; - isAiming = TRUE; - turn aimy1 to y-axis heading speed <300.0>; - turn aimx1 to x-axis <-5.0> - pitch speed <250.0>; - //turn nanolathe to x-axis <000000> speed <2500.0>; + signal SIG_AIM; + set-signal-mask SIG_AIM; + bAiming = TRUE; + turn aimy1 to y-axis heading speed <300.000000>; + turn aimx1 to x-axis <-5.000000> - pitch speed <250.000000>; + //turn nanolathe to x-axis <000000> speed <2500.000000>; wait-for-turn aimy1 around y-axis; wait-for-turn aimx1 around x-axis; gun_2 = lfirept; @@ -527,40 +534,40 @@ AimWeapon1(heading, pitch) return (1); } -FireWeapon1() +FirePrimary() { sleep 400; gun_2 = torso; return (0); } -AimFromWeapon3(pieceIndex) +AimFromTertiary(piecenum) { - pieceIndex = biggun; + piecenum = biggun; return (0); } -QueryWeapon3(pieceIndex) +QueryTertiary(piecenum) { - pieceIndex = rbigflash; + piecenum = rbigflash; return (0); } -AimWeapon3(heading, pitch) +AimTertiary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; gun_3 = lfirept; - isAiming = TRUE; - turn aimy1 to y-axis heading speed <360.0>; - turn aimx1 to x-axis <0.0> - pitch speed <360.0>; + bAiming = TRUE; + turn aimy1 to y-axis heading speed <360.000000>; + turn aimx1 to x-axis <0.000000> - pitch speed <360.000000>; //turn ruparm to x-axis <0> speed <3600>; wait-for-turn aimy1 around y-axis; //wait-for-turn biggun around x-axis; return (1); } -FireWeapon3() +FireTertiary() { emit-sfx 1024 + 0 from rbigflash; gun_3 = torso; @@ -568,19 +575,19 @@ FireWeapon3() return (0); } -AimFromWeapon2(pieceIndex) +AimFromSecondary(piecenum) { - pieceIndex = lfirept; + piecenum = lfirept; return (0); } -QueryWeapon2(pieceIndex) +QuerySecondary(piecenum) { - pieceIndex = lfirept; + piecenum = lfirept; return (0); } -AimWeapon2(heading, pitch) +AimSecondary(heading, pitch) { if( get PIECE_Y(head) > 0 ) { @@ -594,12 +601,12 @@ AimWeapon2(heading, pitch) { return (0); } - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; - isAiming = TRUE; - turn aimy1 to y-axis heading speed <300.0>; - turn aimx1 to x-axis <-5.0> - pitch speed <250.0>; - //turn nanolathe to x-axis <000000> speed <2500.0>; + signal SIG_AIM; + set-signal-mask SIG_AIM; + bAiming = TRUE; + turn aimy1 to y-axis heading speed <300.000000>; + turn aimx1 to x-axis <-5.000000> - pitch speed <250.000000>; + //turn nanolathe to x-axis <000000> speed <2500.000000>; wait-for-turn aimy1 around y-axis; wait-for-turn aimx1 around x-axis; gun_2 = lfirept; @@ -610,7 +617,7 @@ AimWeapon2(heading, pitch) return (1); } -FireWeapon2() +FireSecondary() { emit-sfx 1024 + 0 from lfirept; sleep 100; @@ -620,22 +627,22 @@ FireWeapon2() return (0); } -AimFromWeapon4(pieceIndex) +AimFromWeapon4(piecenum) { - pieceIndex = torso; + piecenum = torso; } -QueryWeapon4(pieceIndex) +QueryWeapon4(piecenum) { - pieceIndex = torso; + piecenum = torso; } StartBuilding(heading, pitch) { gun_3 = torso; - signal SIGNAL_AIM1; - //set-signal-mask SIGNAL_AIM1; - isAiming = TRUE; + signal SIG_AIM; + //set-signal-mask SIG_AIM; + bAiming = TRUE; bIsBuilding = 1; //while( !Busy ) //aiming shouldnt block construction //{ @@ -643,21 +650,28 @@ StartBuilding(heading, pitch) //} buildHeading = heading; buildPitch = pitch; - turn aimy1 to y-axis heading - <20> speed <300.0>; - turn aimx1 to x-axis <-20.0> - pitch speed <90.0>; + turn aimy1 to y-axis heading - <20> speed <300.000000>; + turn aimx1 to x-axis <-20.000000> - pitch speed <90.000000>; //wait-for-turn torso around y-axis; wait-for-turn aimx1 around x-axis; set INBUILDSTANCE to 1; return (0); } +TargetCleared(Func_Var_1) +{ + signal SIG_AIM; + set-signal-mask SIG_AIM; + call-script RestorePosition(); + return (0); +} StopBuilding() { bIsBuilding = 0; set INBUILDSTANCE to 0; - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; call-script RestorePosition(); return (0); } diff --git a/scripts/Units/corcomboss.cob b/scripts/Units/corcomboss.cob index 628bfadcc45c7bb1dc64238a3fb18043ce0123fc..382d0e6f92bb7f7c30d2a594368cbc0cf6ac5559 100644 GIT binary patch delta 4435 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 speed <119.999986> / animSpeed; + set-signal-mask SIG_WALK; + if (bMoving) { //Frame:4 + turn head to x-axis <-4.000000> speed <119.999986> / animSpeed; move lleg to z-axis [-2.190000] speed [65.700002] / animSpeed; move lthigh to z-axis [-3.610000] speed [108.299997] / animSpeed; move rleg to z-axis [2.700000] speed [81.000001] / animSpeed; @@ -25,58 +27,58 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn torso to y-axis <-5.200000> speed <155.999992> / animSpeed; sleep 131; } - while(isMoving) { - if (isMoving) { //Frame:8 - turn head to x-axis <-0.0> speed <119.999986> / animSpeed; - turn head to y-axis <4.0> speed <119.999986> / animSpeed; - move lleg to z-axis [0.0] speed [65.700002] / animSpeed; - move lthigh to z-axis [0.0] speed [108.299997] / animSpeed; + while(bMoving) { + if (bMoving) { //Frame:8 + turn head to x-axis <-0.000000> speed <119.999986> / animSpeed; + turn head to y-axis <4.000000> speed <119.999986> / animSpeed; + move lleg to z-axis [0.000000] speed [65.700002] / animSpeed; + move lthigh to z-axis [0.000000] speed [108.299997] / animSpeed; move pelvis to x-axis [0.674931] speed [20.247923] / animSpeed; move pelvis to y-axis [0.928030] speed [27.840895] / animSpeed; turn pelvis to z-axis <-7.375208> speed <221.256252> / animSpeed; - move rleg to z-axis [0.0] speed [81.000001] / animSpeed; - move rthigh to z-axis [0.0] speed [121.926298] / animSpeed; - turn torso to x-axis <-0.0> speed <155.999992> / animSpeed; + move rleg to z-axis [0.000000] speed [81.000001] / animSpeed; + move rthigh to z-axis [0.000000] speed [121.926298] / animSpeed; + turn torso to x-axis <-0.000000> speed <155.999992> / animSpeed; turn torso to z-axis <13.299999> speed <242.999971> / animSpeed; - turn torso to y-axis <0.0> speed <155.999992> / animSpeed; + turn torso to y-axis <0.000000> speed <155.999992> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:12 - turn head to x-axis <4.0> speed <119.999999> / animSpeed; - turn head to y-axis <0.0> speed <119.999986> / animSpeed; + if (bMoving) { //Frame:12 + turn head to x-axis <4.000000> speed <119.999999> / animSpeed; + turn head to y-axis <0.000000> speed <119.999986> / animSpeed; move lleg to z-axis [2.700000] speed [81.000001] / animSpeed; move lthigh to z-axis [4.064210] speed [121.926298] / animSpeed; - move pelvis to x-axis [0.0] speed [20.247923] / animSpeed; - move pelvis to y-axis [0.0] speed [27.840895] / animSpeed; - turn pelvis to z-axis <-0.0> speed <221.256252> / animSpeed; + move pelvis to x-axis [0.000000] speed [20.247923] / animSpeed; + move pelvis to y-axis [0.000000] speed [27.840895] / animSpeed; + turn pelvis to z-axis <-0.000000> speed <221.256252> / animSpeed; move rleg to z-axis [-2.190000] speed [65.700002] / animSpeed; move rthigh to z-axis [-3.610000] speed [108.299997] / animSpeed; - turn torso to x-axis <4.500000> speed <135.0> / animSpeed; + turn torso to x-axis <4.500000> speed <135.000004> / animSpeed; turn torso to z-axis <-5.699999> speed <569.999948> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:16 - turn head to x-axis <-0.0> speed <119.999999> / animSpeed; - turn head to y-axis <-4.0> speed <119.999999> / animSpeed; - move lleg to z-axis [0.0] speed [81.000001] / animSpeed; - move lthigh to z-axis [0.0] speed [121.926298] / animSpeed; + if (bMoving) { //Frame:16 + turn head to x-axis <-0.000000> speed <119.999999> / animSpeed; + turn head to y-axis <-4.000000> speed <119.999999> / animSpeed; + move lleg to z-axis [0.000000] speed [81.000001] / animSpeed; + move lthigh to z-axis [0.000000] speed [121.926298] / animSpeed; move pelvis to x-axis [-0.295282] speed [8.858466] / animSpeed; move pelvis to y-axis [1.138946] speed [34.168371] / animSpeed; turn pelvis to z-axis <7.287505> speed <218.625160> / animSpeed; - move rleg to z-axis [0.0] speed [65.700002] / animSpeed; - move rthigh to z-axis [0.0] speed [108.299997] / animSpeed; - turn torso to x-axis <-0.0> speed <135.0> / animSpeed; + move rleg to z-axis [0.000000] speed [65.700002] / animSpeed; + move rthigh to z-axis [0.000000] speed [108.299997] / animSpeed; + turn torso to x-axis <-0.000000> speed <135.000004> / animSpeed; turn torso to z-axis <-12.899999> speed <215.999986> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:20 - turn head to x-axis <-4.0> speed <119.999986> / animSpeed; - turn head to y-axis <0.0> speed <119.999999> / animSpeed; + if (bMoving) { //Frame:20 + turn head to x-axis <-4.000000> speed <119.999986> / animSpeed; + turn head to y-axis <0.000000> speed <119.999999> / animSpeed; move lleg to z-axis [-2.190000] speed [65.700002] / animSpeed; move lthigh to z-axis [-3.610000] speed [108.299997] / animSpeed; - move pelvis to x-axis [0.0] speed [8.858466] / animSpeed; - move pelvis to y-axis [0.0] speed [34.168371] / animSpeed; - turn pelvis to z-axis <-0.0> speed <218.625160> / animSpeed; + move pelvis to x-axis [0.000000] speed [8.858466] / animSpeed; + move pelvis to y-axis [0.000000] speed [34.168371] / animSpeed; + turn pelvis to z-axis <-0.000000> speed <218.625160> / animSpeed; move rleg to z-axis [2.700000] speed [81.000001] / animSpeed; move rthigh to z-axis [4.064210] speed [121.926298] / animSpeed; turn torso to x-axis <5.200000> speed <155.999992> / animSpeed; @@ -86,20 +88,20 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations } } } -// Call this from StopMoving()! +// Call this from MotionControl()! StopWalking() { - move lleg to z-axis [0.0] speed [20.250000]; - move lthigh to z-axis [0.0] speed [30.481575]; - move pelvis to x-axis [0.0] speed [5.061981]; - move pelvis to y-axis [0.0] speed [8.542093]; - move rleg to z-axis [0.0] speed [20.250000]; - move rthigh to z-axis [0.0] speed [30.481575]; - turn head to x-axis <0.0> speed <30.0>; - turn head to y-axis <0.0> speed <30.0>; - turn pelvis to z-axis <0.0> speed <55.314063>; - turn torso to x-axis <0.0> speed <38.999998>; - turn torso to y-axis <0.0> speed <38.999998>; - turn torso to z-axis <0.0> speed <142.499987>; + move lleg to z-axis [0.000000] speed [20.250000]; + move lthigh to z-axis [0.000000] speed [30.481575]; + move pelvis to x-axis [0.000000] speed [5.061981]; + move pelvis to y-axis [0.000000] speed [8.542093]; + move rleg to z-axis [0.000000] speed [20.250000]; + move rthigh to z-axis [0.000000] speed [30.481575]; + turn head to x-axis <0.000000> speed <30.000000>; + turn head to y-axis <0.000000> speed <30.000000>; + turn pelvis to z-axis <0.000000> speed <55.314063>; + turn torso to x-axis <0.000000> speed <38.999998>; + turn torso to y-axis <0.000000> speed <38.999998>; + turn torso to z-axis <0.000000> speed <142.499987>; } UnitSpeed(){ @@ -125,21 +127,21 @@ UnitSpeed(){ #define UNITSIZE 1 #define MAXTILT 100 -#include "../unit_hitbyweaponid_and_smoke.h" +#include "unit_hitbyweaponid_and_smoke.h" -StartMoving(reversing) +StartMoving() { - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; - isMoving = TRUE; + signal SIG_WALK; + set-signal-mask SIG_WALK; + bMoving = TRUE; start-script UnitSpeed(); start-script walk(); } StopMoving() { - isMoving = FALSE; - signal SIGNAL_MOVE; + bMoving = FALSE; + signal SIG_WALK; call-script StopWalking(); } @@ -150,37 +152,40 @@ Create() hide aimy1; gun_3 = lflare; restore_delay = 3000; - isMoving = FALSE; + bMoving = FALSE; animSpeed = 4; start-script StopMoving(); } -SetMaxReloadTime(reloadMS) +SetMaxReloadTime(Func_Var_1) { - restore_delay = reloadMS * 5; + restore_delay = Func_Var_1 * 5; } +SweetSpot(piecenum) +{ + piecenum = pelvis; +} - -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = head; + piecenum = head; } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = rflare + gun_3; + piecenum = rflare + gun_3; } -AimFromWeapon2(pieceIndex) +AimFromSecondary(piecenum) { - pieceIndex = head; + piecenum = head; return (0); } -QueryWeapon2(pieceIndex) +QuerySecondary(piecenum) { - pieceIndex = rflare + gun_3; + piecenum = rflare + gun_3; } static-var Stunned; @@ -191,7 +196,7 @@ ExecuteRestoreAfterDelay() } turn aimy1 to y-axis <0.000000> speed <90.000000>; turn aimx1 to x-axis <0.000000> speed <90.000000>; - wpn2_lasthead = 0xbadface; + wpn2_lasthead = 1000000; } SetStunned(State) { @@ -202,20 +207,19 @@ SetStunned(State) } RestoreAfterDelay() { - set-signal-mask SIGNAL_AIM3; + set-signal-mask SIG_AIM_3; sleep restore_delay; start-script ExecuteRestoreAfterDelay(); } -AimWeapon2(heading, pitch) +AimSecondary(heading, pitch) { - signal SIGNAL_AIM3; + signal SIG_AIM_3; turn aimy1 to y-axis heading speed <225.000000>; turn aimx1 to x-axis <0.000000> - pitch speed <225.000000>; - - if ((wpn2_lasthead == 0xbadface) OR ABSOLUTE_GREATER_THAN(WRAPDELTA(heading - wpn2_lasthead), <27>)) + if (((get ABS(wpn2_lasthead - heading)) > 65536) OR(((get ABS(wpn2_lasthead - heading)) > 5000) AND ((get ABS(wpn2_lasthead - heading)) < 60536))) { - wpn2_lasthead = 0xbadface; + wpn2_lasthead = 1000000; wait-for-turn aimy1 around y-axis; } wpn2_lasthead = heading; @@ -223,19 +227,19 @@ AimWeapon2(heading, pitch) return (1); } -FireWeapon2() +FireSecondary() { if( gun_3 ) { move lbarrel to z-axis [-3.750000] speed [62.500000]; wait-for-move rbarrel along z-axis; - move lbarrel to z-axis [0.0] speed [7.500000]; + move lbarrel to z-axis [0.000000] speed [7.500000]; } else { move rbarrel to z-axis [-3.750000] speed [62.500000]; wait-for-move lbarrel along z-axis; - move rbarrel to z-axis [0.0] speed [7.500000]; + move rbarrel to z-axis [0.000000] speed [7.500000]; } gun_3 = !gun_3; } @@ -250,6 +254,12 @@ Killed(severity, corpsetype) explode head type BITMAPONLY | NOHEATCLOUD; explode lbarrel type FIRE | SMOKE | FALL | NOHEATCLOUD; explode lflare type BITMAPONLY | NOHEATCLOUD; + //explode rbarrel type BITMAPONLY | NOHEATCLOUD; + //explode rflare type BITMAPONLY | NOHEATCLOUD; + //explode rthigh type BITMAPONLY | NOHEATCLOUD; + //explode rleg type BITMAPONLY | NOHEATCLOUD; + //explode lthigh type BITMAPONLY | NOHEATCLOUD; + //explode lleg type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } if( severity <= 50 ) @@ -260,6 +270,12 @@ Killed(severity, corpsetype) explode head type FIRE | SMOKE | FALL | NOHEATCLOUD; explode lbarrel type FALL | NOHEATCLOUD; explode lflare type FALL | NOHEATCLOUD; + //explode rbarrel type FALL | NOHEATCLOUD; + //explode rflare type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rthigh type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rleg type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lthigh type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lleg type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) @@ -270,6 +286,12 @@ Killed(severity, corpsetype) explode head type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; explode lbarrel type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; explode lflare type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode rbarrel type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rflare type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rthigh type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rleg type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lthigh type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode lleg type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; @@ -278,5 +300,11 @@ Killed(severity, corpsetype) explode head type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode lbarrel type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode lflare type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode rbarrel type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rflare type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode rthigh type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rleg type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lthigh type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode lleg type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/corcrus.bos b/scripts/Units/corcrus.bos index bd1495d26c2..4c29f50e478 100644 --- a/scripts/Units/corcrus.bos +++ b/scripts/Units/corcrus.bos @@ -1,30 +1,45 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, wake, bow, chrgflare, turret, sleeve, barrel1, barrel2, foreturret, foreflare, aftturret, aftflare, flare1, flare2 ; -static-var restore_delay, gun_2, gun_1, aimDir1, aimDir2; +static-var restore_delay, gun_2, gun_1, bMoving, oldHead; // Signal definitions -#define SIGNAL_AIM2 512 -#define SIGNAL_AIM1 256 -#define SIGNAL_MOVE 1 +#define SIG_AIM_2 2 +#define SIG_AIM 4 +#define SIG_MOVE 8 +#define BASEPIECE base +#define HITSPEED <20.0> +//how 'heavy' the unit is, on a scale of 1-10 +#define UNITSIZE 5 +#define MAXTILT 200 -#define RB_MASS 40 -#define RB_LENGTH 8 -#define RB_WIDTH 3 -#define RB_PITCH_ACCELERATION 10 -#define RB_ROLL_ACCELERATION 8 -#define RB_WAKE_CEG 1024 + 0 -#define RB_RECOIL_ENERGY_1 700 -#define RB_RECOIL_ENERGY_2 250 -#define RB_BOWSPLASH_PIECE bow -#define RB_BOWSPLASH_CEG 1024 + 1 +#include "unit_hitbyweaponid_and_smoke.h" -#include "../bar_ships_common.h" +RockOnWaves() +{ + var rockDir, rockAng, rockSpeed; + rockDir = <-0.1>; + rockAng = <-0.1>; + while( TRUE ) + { + while( get ABS(rockAng) < <1.31> ) + { + rockSpeed = <1.45> - get ABS(rockAng); + turn base to x-axis rockAng speed rockSpeed*4; + wait-for-turn base around x-axis; + rockAng = rockAng + rockDir; + } + rockDir = 0 - rockDir; + rockAng = rockAng + rockDir + rockDir; + } +} Create() @@ -42,15 +57,18 @@ Create() hide aftflare; gun_1 = base; gun_2 = base; + bMoving = FALSE; restore_delay = 3000; - start-script InitRockBoat(); - SLEEP_UNTIL_UNITFINISHED; - start-script BoatPhysics(); + while( get BUILD_PERCENT_LEFT ) + { + sleep 500; + } + start-script RockOnWaves(); } -SetMaxReloadTime(reloadMS) +SetMaxReloadTime(Func_Var_1) { - restore_delay = reloadMS * 2; + restore_delay = Func_Var_1 * 2; } static-var Stunned; @@ -60,8 +78,8 @@ ExecuteRestoreAfterDelay() return (1); } set-signal-mask 0; - turn turret to y-axis <0.0> speed <45.0>; - turn sleeve to x-axis <0.0> speed <50.0>; + turn turret to y-axis <0.000000> speed <45.000000>; + turn sleeve to x-axis <0.000000> speed <50.000000>; } SetStunned(State) { @@ -80,38 +98,66 @@ RestoreDeckLaser() { sleep 3000; set-signal-mask 0; - turn foreturret to y-axis <0.0> speed <150.0>; - turn foreturret to x-axis <0.0> speed <100.0>; - turn aftturret to y-axis <0.0> speed <150.0>; - turn aftturret to x-axis <0.0> speed <100.0>; + turn foreturret to y-axis <0.000000> speed <150.000000>; + turn foreturret to x-axis <0.000000> speed <100.000000>; + turn aftturret to y-axis <0.000000> speed <150.000000>; + turn aftturret to x-axis <0.000000> speed <100.000000>; } -StartMoving(reversing) +waveSplash() { + while( TRUE ) + { + turn base to x-axis <-3.0> speed <3.0>; + move base to y-axis [0.32] speed [0.25]; + wait-for-turn base around x-axis; + turn base to x-axis <0.0> speed <3.0>; + move base to y-axis [0.0] speed [0.25]; + wait-for-turn base around x-axis; + } +} +StartMoving() +{ + signal SIG_MOVE; + set-signal-mask SIG_MOVE; + var waketime; + start-script waveSplash(); + var bowtime; + bowtime = 0; + while( TRUE ) + { + emit-sfx 1024 + 0 from wake; + if (bowtime) emit-sfx 1024 + 1 from bow; + bowtime = !bowtime; + waketime = (get CURRENT_SPEED) * 100 / get MAX_SPEED; + if( waketime < 50 ) waketime = 50; + sleep 12000 / waketime; + } } StopMoving() { - + signal SIG_MOVE; + turn base to x-axis <0.0> speed <3.0>; + move base to y-axis [0.0] speed [0.25]; } -AimWeapon2(heading, pitch) +AimSecondary(heading, pitch) { - signal SIGNAL_AIM2; - set-signal-mask SIGNAL_AIM2; - aimDir2 = heading; + signal SIG_AIM_2; + set-signal-mask SIG_AIM_2; if( gun_2 ) { - turn aftturret to y-axis heading speed <300.0>; - turn aftturret to x-axis <0.0> - pitch speed <200.0>; + turn aftturret to y-axis heading speed <300.000000>; + turn aftturret to x-axis <0.000000> - pitch speed <200.000000>; wait-for-turn aftturret around y-axis; wait-for-turn aftturret around x-axis; } else { - turn foreturret to y-axis heading speed <300.0>; - turn foreturret to x-axis <0.0> - pitch speed <200.0>; + turn foreturret to y-axis heading speed <300.000000>; + turn foreturret to x-axis <0.000000> - pitch speed <200.000000>; wait-for-turn foreturret around y-axis; wait-for-turn foreturret around x-axis; } @@ -119,76 +165,110 @@ AimWeapon2(heading, pitch) return (1); } -FireWeapon2() +FireSecondary() { + if( gun_2 ) + { + show aftflare; + sleep 150; + hide aftflare; + } + else + { + show foreflare; + sleep 150; + hide foreflare; + } gun_2 = !gun_2; - sleep 100; - - RB_RECOILBOAT(aimDir2, RB_RECOIL_ENERGY_2); } -AimFromWeapon2(pieceIndex) +AimFromSecondary(piecenum) { - pieceIndex = foreturret + gun_2; + if( gun_2 ) + { + piecenum = aftturret; + } + else + { + piecenum = foreturret; + } } -QueryWeapon2(pieceIndex) +QuerySecondary(piecenum) { - pieceIndex = foreflare + gun_2; + if( gun_2 ) + { + piecenum = aftflare; + } + else + { + piecenum = foreflare; + } } -AimWeapon3(heading, pitch) +AimTertiary(heading, pitch) { return (1); } -FireWeapon3() +FireTertiary() { + sleep 150; } -AimFromWeapon3(pieceIndex) +AimFromTertiary(piecenum) { - pieceIndex = base; + piecenum = base; } -QueryWeapon3(pieceIndex) +QueryTertiary(piecenum) { - pieceIndex = base; + piecenum = base; } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; - aimDir1 = heading; - turn turret to y-axis heading speed <90.0>; - turn sleeve to x-axis <0.0> - pitch speed <100.0>; + signal SIG_AIM; + set-signal-mask SIG_AIM; + turn turret to y-axis heading speed <90.000000>; + turn sleeve to x-axis <0.000000> - pitch speed <100.000000>; wait-for-turn turret around y-axis; wait-for-turn sleeve around x-axis; start-script RestoreAfterDelay(); return (1); } -FireWeapon1() +FirePrimary() { - gun_1 = !gun_1; - sleep 100; - - //call-script RecoilRockBoat(aimDir3, RB_RECOIL_ENERGY_3); - RB_RECOILBOAT(aimDir1, RB_RECOIL_ENERGY_1); + if( gun_1 ) + { + show flare2; + sleep 150; + hide flare2; + } + else + { + show flare1; + sleep 150; + hide flare1; + } + gun_1 = !gun_1; } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = sleeve; + piecenum = sleeve; } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = flare1 + gun_1; + piecenum = flare1 + gun_1; } - +SweetSpot(piecenum) +{ + piecenum = base; +} Killed(severity, corpsetype) { @@ -199,7 +279,15 @@ Killed(severity, corpsetype) explode turret type BITMAPONLY | NOHEATCLOUD; explode sleeve type BITMAPONLY | NOHEATCLOUD; explode barrel1 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare1 type BITMAPONLY | NOHEATCLOUD; + //explode barrel2 type BITMAPONLY | NOHEATCLOUD; + //explode flare2 type BITMAPONLY | NOHEATCLOUD; explode foreturret type BITMAPONLY | NOHEATCLOUD; + //explode foreflare type BITMAPONLY | NOHEATCLOUD; + //explode aftturret type BITMAPONLY | NOHEATCLOUD; + //explode aftflare type BITMAPONLY | NOHEATCLOUD; + //explode wake type BITMAPONLY | NOHEATCLOUD; + //explode chrgflare type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } if( severity <= 50 ) @@ -209,7 +297,15 @@ Killed(severity, corpsetype) explode turret type FALL | NOHEATCLOUD; explode sleeve type FIRE | SMOKE | FALL | NOHEATCLOUD; explode barrel1 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare1 type FIRE | SMOKE | FALL | NOHEATCLOUD; explode barrel2 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare2 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode foreturret type FALL | NOHEATCLOUD; + //explode foreflare type FALL | NOHEATCLOUD; + //explode aftturret type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode aftflare type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode wake type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode chrgflare type FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) @@ -219,8 +315,15 @@ Killed(severity, corpsetype) explode turret type FIRE | SMOKE | FALL | NOHEATCLOUD; explode sleeve type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode barrel1 type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode flare1 type SMOKE | FALL | NOHEATCLOUD; explode barrel2 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare2 type SMOKE | FALL | NOHEATCLOUD; explode foreturret type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode foreflare type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode aftturret type SMOKE | FALL | NOHEATCLOUD; + //explode aftflare type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode wake type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode chrgflare type SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; @@ -228,7 +331,14 @@ Killed(severity, corpsetype) explode turret type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode sleeve type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode barrel1 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode flare1 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode barrel2 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare2 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode foreturret type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode foreflare type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode aftturret type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode aftflare type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode wake type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode chrgflare type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/corcrus.cob b/scripts/Units/corcrus.cob index 851a08510de27aeab17eacd2222a4a0c5f7477ac..373b5075790b470f4524d2cf646f523b2b75a6b4 100644 GIT binary patch literal 5283 zcmb_gO=w(I6h8Usw6-eG>Y}X#hZe;}l}SN#Q84|rQe%InS~qH5lbd#$$xL{8Nt1;V z1qHEmQSp~7Tqr2$!i^Oa5#7{98oq9W)@iei`A_T#tWSBcg{GE|B-DUU2UT!OTvcagkGrne0wZOJpA+&_S%Y12i%+A_A~!yKe6 z5yWD7(uQ)+3s#@k65EzN^#z{2T|kqhzjJV4ev2`elbIb?*3Q1tp0%(yZ(`vdM}ofh z`d*S`om?r~O+tH=C@=QBF7JzEZ>2lpndG@?pDD}z>v=pA@YrYSgzhOWzOn=sl3+arW3lX0W){ zY<@mgJ%+P>NL0#t4W7*oSL(Ftz`5Xuvk}HA=5%FYVZr)EJ=@b4_gtCp77*OOfUU*i zp5o#vm0o{_S18o;S*!NzI`kvu9zQ?41B`2T!Os@X({d5LD-3C~PSWIDxtA#Ohctxe zc?pZTDePE{QE&&>Yd%TSmxhqmC;2pFXqCyyjMQ{+u413kq%Lp z=Yh;~Kt9w3E9*fU9qO}}_KtXc&HtU#fj{KG4noU+(?d&Tw57kI-TD>mDC19K(_vN1dJ$?d3&4)b@&td@QgM-ysV86&d~+U$Lr~t zvoA7{ow=vcKmRVF=T@J6Q>e=KiTN=npC{_PQ|l8x1bCmxx4X(dbg8^c<($!6j#&tO z_Cdz)6#e`67_&_Jpz`ha0dB*&_umwK-}*EjdGt+P`uOSImW}_WSF-!{$94K*=SM%X z%HA`c*GHf2ohOgATfaSxesk8Xm$Bx4;Bt^FVuo{AIhWN#S9u@H+3y(nnW1ZD!#6nR z50s*rHZj6GvQi8`Ckzh1W@9wjywm=T1j(9xZRkT-=gTbqaP}5c=QY~#JcjgrMxN(Y zhrWtBt-)(E_g5AS3YYo{z`r>s6L+_)2E+LmCxLa zU-V;l$$ApjRn)b8J73q6TP**5p2+UFr{^;IuLqH*^$Rmbne{MyBa1U;?>*1lY)H5G zB|jH%x8(fMBL6mS;KvN-&u?nj1D?PC&Z3_iRfpf-q7HdHTklWLpS1PF&YyecwNeik z`O@D>V6v<)^4s}hzpbB)yP3-6>|57BE#$Gkw6{K&u_u2Hs|?`|M{D!z3Oo&*2Bv}MfOEh+@FDOSa1po+`~v(5Tm#nMCbAj03#b7113Q6T zz&_v*@Hp@!;DB*p26!Gg3%m-<0|#p9?%Crmo@h3tI^G;}k2Pv($bEQ3jy8wK4mFO) z({57sBrZ;!R9!k4&m492W;}ANHtuBKj2oUx-BCB0HWRmNGCtV_E5TrU$k0(z_HI0*WusL08oCMvRP;ysoyy}LVjgdH+mHoBEwRRBg zPnv=F$dpTF7s-#gB(0fczEQ(`@9pv(q=%E*xLFykMz-}fwyBDulDH literal 5641 zcmb`LO>C4!7{{j{EU0K+6^R-@mSDhx(QP>yjTWqY1kutGJ&|jd4~22FMpx`k z&`DOebj`+Lrw-`bm|@JY-)>G|J2^8m!+3Y_=i{n& zhK1TtOJYjJ=fi#?CuXiE9rW;p+-goO(D69sBeuaO@oeAG!<4$?=en@Pv8@--^ED27 zHzPgx=ov=b;j53peZrWiFG`slJ$ljnp;yE~q=(%6c}!X}9&Y1nneBBnavspV%%eXNI^x{;b;a>I)f z`hLH1!#6#J>@g08>dxHG7b{8Dg8{u?&&efak zw)n>9T(;J?Psp9czoq|WYdvXa!WCQhKfcZ0deGNUap@2I=J^Mn+0*0buGQ#D9SODA z7I?5+^!D(U_&@mS;qT-tU(43;YhN{Oh$H@Mo10-~wMwvd+9@67;)%J)~{tv%a zcS5%3NS@%iA6ZfFq;g%PLctpe`e3kgy^10VH)jK0EMx7G?0hZ{K41|u*7JT#ncj*h zmie^WTJB~$U#*Z+*I9ZxL)6rA=P1~3m2CgB_?s1OUQPbfBpFk$Cj` zJAvOB@naml=#}Wp?0mctVe!2)oZYofqpycXe-1U`62AX^sc~so`@V?QCO5md_T;OO z`ChQLT+d38HE!7lKkAD*#Qpnaz`O;+kjG~@m5s+3Y&7`Zw6o35O@rmux z^-OA@+~?9kpSn_~+&17p^LFG<`1uWG_#fVItBhFqXt(oka*(y#A>)(Bj_cSqryh3B z9C_~!HD@l&*2mO}T9d!uo8dw-pe7{7#!Ibp$DYL4O2=C`@a1iFH=CYZs)ssq8=HH6 zUm+QrCq`Vig<_!RKZ;>C#AxvgJ~le!;_<0Qd7kPCa)*z61jW*=Zx#B!7d4_{wYSlJ zi|~%lcjuzZ`*f$i>|Q2>y-D~a*F2x-uFSD1U+V#U+>Wm4TfOG;1q{2F|Et{m`@>;9 zNwBt_Hu)BnLi(km@;t{MYw?bzGzqWU_x7Htb;>&yxBJK}zU1*=|j`aC1&_C=Mf4C>FN0=0|cYnKz z3y=B{i;?wdjV@W7+t}L9lC8mr{z;AK+wW16Qzv5E{=_)^`x|f^2sp@PAsmM!CywE; zxbxvKIq$)II4bxII6ewE*vEx%m|w$j3LnB{ICQZQULlvlXKA+N?iCuWK`oiq46?75yUmU35dVLLi?Ktrm@oPKiDdeJ=V+^tI@s z=m*gsqE!O>tmt_W|M#|4v|Usa?H3&p9T$BdIxD&$x+MBlbX9ayv_$_dUM5;8Dv4eY zZ4kXFs)!~;`$fk@Cq(ayJ`{Z{`c(9V=xfmh(f6XCL_dozi>`|P5_K+jZqr1yIasgk zT30VO9bW@GrzfkGNjI2Q>eX5<+E{I_n|>=T@2*d58gc#Q@$y(YGBjS_mAY3NX}OuY zp|rWByl*hA)ypH>s^h79bzfSUYNmtfWV7B#*N!&RMt@o>Pop{1oSK+OM--)97&!fD zW!G!v$+Y2yn&n1wOMOpuVodY;?l4_j9nawOy7kpYYICvIH|n`)>r~nZuzOu@vL-TF z1G{Ci#ziJxmU-@pOnPRU^u#7TZgaI(Q)W8^-t8@`K0E4rU1euuY_wKxq^>#DXrxUy mSxeJBl9jcp^@Oq4jjB>XgK1_`9&HAmW*N(W_c%ZFx_ @@ -38,7 +40,10 @@ Create() turn thrustfra to x-axis <-90> now; turn thrustrla to x-axis <-90> now; turn thrustfla to x-axis <-90> now; - SLEEP_UNTIL_UNITFINISHED; + while( get BUILD_PERCENT_LEFT ) + { + sleep 400; + } start-script IdleHover(); } @@ -58,26 +63,29 @@ Deactivate() hide thrustfla; } +SweetSpot(piecenum) +{ + piecenum = base; +} - -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = flaref; + piecenum = flaref; } -QueryWeapon2(pieceIndex) +QuerySecondary(piecenum) { - pieceIndex = flarel; + piecenum = flarel; } -QueryWeapon3(pieceIndex) +QueryTertiary(piecenum) { - pieceIndex = flarer; + piecenum = flarer; } -SetMaxReloadTime(reloadMS) +SetMaxReloadTime(Func_Var_1) { - restore_delay = reloadMS * 2; + restore_delay = Func_Var_1 * 2; } static-var Stunned; @@ -86,8 +94,8 @@ ExecuteRestoreAfterDelay() if (Stunned) { return (1); } - turn base to y-axis <0.0> speed <250.0>; - turn base to x-axis <0.0> speed <250.0>; + turn base to y-axis <0.000000> speed <250.000000>; + turn base to x-axis <0.000000> speed <250.000000>; turn turretf to z-axis <0> speed <250>; turn sleevef to x-axis <0> speed <250>; @@ -110,7 +118,7 @@ RestoreAfterDelay() start-script ExecuteRestoreAfterDelay(); } -StartMoving(reversing) +StartMoving() { sleep 1000; } @@ -121,40 +129,40 @@ StopMoving() MoveRate0() { - turn thrustrr to x-axis <0.0> speed <80.0>; - turn thrustrl to x-axis <0.0> speed <80.0>; - turn thrustfr to x-axis <0.0> speed <80.0>; - turn thrustfl to x-axis <0.0> speed <80.0>; + turn thrustrr to x-axis <0.000000> speed <80.000000>; + turn thrustrl to x-axis <0.000000> speed <80.000000>; + turn thrustfr to x-axis <0.000000> speed <80.000000>; + turn thrustfl to x-axis <0.000000> speed <80.000000>; } MoveRate1() { - turn thrustrr to x-axis <8.0> speed <60.0>; - turn thrustrl to x-axis <8.0> speed <60.0>; - turn thrustfr to x-axis <8.0> speed <60.0>; - turn thrustfl to x-axis <8.0> speed <60.0>; + turn thrustrr to x-axis <8.000000> speed <60.000000>; + turn thrustrl to x-axis <8.000000> speed <60.000000>; + turn thrustfr to x-axis <8.000000> speed <60.000000>; + turn thrustfl to x-axis <8.000000> speed <60.000000>; } MoveRate2() { - turn thrustrr to x-axis <18.0> speed <45.0>; - turn thrustrl to x-axis <18.0> speed <45.0>; - turn thrustfr to x-axis <18.0> speed <45.0>; - turn thrustfl to x-axis <18.0> speed <45.0>; + turn thrustrr to x-axis <18.000000> speed <45.000000>; + turn thrustrl to x-axis <18.000000> speed <45.000000>; + turn thrustfr to x-axis <18.000000> speed <45.000000>; + turn thrustfl to x-axis <18.000000> speed <45.000000>; } MoveRate3() { - turn thrustrr to x-axis <0.0> speed <70.0>; - turn thrustrl to x-axis <0.0> speed <70.0>; - turn thrustfr to x-axis <0.0> speed <70.0>; - turn thrustfl to x-axis <0.0> speed <70.0>; + turn thrustrr to x-axis <0.000000> speed <70.000000>; + turn thrustrl to x-axis <0.000000> speed <70.000000>; + turn thrustfr to x-axis <0.000000> speed <70.000000>; + turn thrustfl to x-axis <0.000000> speed <70.000000>; } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; var p; @@ -163,21 +171,21 @@ AimWeapon1(heading, pitch) p = get KTAN(pitch); h = get KTAN(heading); a = get ATAN(h, p); - turn turretf to z-axis a speed <200.0>; + turn turretf to z-axis a speed <200.000000>; a = get HYPOT(h, p); a = get ATAN(a, 1000); - turn sleevef to x-axis <0> - a speed <200.0>; + turn sleevef to x-axis <0> - a speed <200.000000>; wait-for-turn turretf around z-axis; wait-for-turn sleevef around x-axis; start-script RestoreAfterDelay(); return (1); } -AimWeapon2(heading, pitch) +AimSecondary(heading, pitch) { - signal SIGNAL_AIM2; - set-signal-mask SIGNAL_AIM2; + signal SIG_AIM_2; + set-signal-mask SIG_AIM_2; var aimto; aimto= <-90> + heading; if (aimto > <90>) { @@ -186,16 +194,16 @@ AimWeapon2(heading, pitch) if (aimto < <-90>) { aimto = <-90>; } - //turn turretl to x-axis speed <200.0>; - turn sleevel to y-axis aimto speed <200.0>; + //turn turretl to x-axis speed <200.000000>; + turn sleevel to y-axis aimto speed <200.000000>; wait-for-turn sleevel around y-axis; return (1); } -AimWeapon3(heading, pitch) +AimTertiary(heading, pitch) { - signal SIGNAL_AIM3; - set-signal-mask SIGNAL_AIM3; + signal SIG_AIM_3; + set-signal-mask SIG_AIM_3; var aimto; aimto= <90> + heading; if (aimto > <90>) { @@ -204,23 +212,23 @@ AimWeapon3(heading, pitch) if (aimto < <-90>) { aimto = <-90>; } - //turn turretr to x-axis heading speed <200.0>; - turn sleever to y-axis aimto speed <200.0>; + //turn turretr to x-axis heading speed <200.000000>; + turn sleever to y-axis aimto speed <200.000000>; wait-for-turn sleever around y-axis; return (1); } -FireWeapon1() +FirePrimary() { sleep 100; } -FireWeapon2() +FireSecondary() { sleep 100; } -FireWeapon3() +FireTertiary() { sleep 100; } diff --git a/scripts/Units/corcrwh.bos b/scripts/Units/corcrwh.bos index 531601ab59b..4475b9fb186 100644 --- a/scripts/Units/corcrwh.bos +++ b/scripts/Units/corcrwh.bos @@ -1,5 +1,7 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" //piece base, turretl, sleevel, barrell, flarel, turretr, sleever, barrelr, flarer, // turretf, sleevef, barrelf, flaref, thrustrr, thrustrl, thrustfr, thrustfl, @@ -14,12 +16,12 @@ piece base, aimy,turretf, sleevef, flaref, static-var restore_delay, aa_gun, wpn1_lasthead; // Signal definitions -#define SIGNAL_AIM1 256 -#define SIGNAL_AIM2 512 -#define SIGNAL_AIM3 1024 -#define SIGNAL_AIM4 2048 -#define SIGNAL_AIM5 4096 -#define SIGNAL_AIM6 8192 +#define SIG_AIM 4 +#define SIG_AIM_2 8 +#define SIG_AIM_3 16 +#define SIG_AIM_4 32 +#define SIG_AIM_5 64 +#define SIG_AIM_6 128 #define BASEPIECE base #define HITSPEED <55.0> @@ -40,26 +42,26 @@ ExecuteRestoreAfterDelay() } - turn turretaa to y-axis <0> speed <200.0>; - turn sleeveaa to x-axis <0.0> speed <200.0>; + turn turretaa to y-axis <0> speed <200.00000>; + turn sleeveaa to x-axis <0.00000> speed <200.00000>; - turn turretf to x-axis <0> speed <200.0>; - turn turretf to y-axis <0> speed <200.0>; + turn turretf to x-axis <0> speed <200.000000>; + turn turretf to y-axis <0> speed <200.000000>; - turn turretr1 to x-axis <0> speed <200.0>; - turn turretr1 to y-axis <0> speed <200.0>; - turn turretr2 to x-axis <0> speed <200.0>; - turn turretr2 to y-axis <0> speed <200.0>; - turn turretl1 to x-axis <0> speed <200.0>; - turn turretl1 to y-axis <0> speed <200.0>; - turn turretl2 to x-axis <0> speed <200.0>; - turn turretl2 to y-axis <0> speed <200.0>; + turn turretr1 to x-axis <0> speed <200.000000>; + turn turretr1 to y-axis <0> speed <200.000000>; + turn turretr2 to x-axis <0> speed <200.000000>; + turn turretr2 to y-axis <0> speed <200.000000>; + turn turretl1 to x-axis <0> speed <200.000000>; + turn turretl1 to y-axis <0> speed <200.000000>; + turn turretl2 to x-axis <0> speed <200.000000>; + turn turretl2 to y-axis <0> speed <200.000000>; - wpn1_lasthead = 0xbadface; - turn base to y-axis <0.0> speed <250.0>; - turn base to x-axis <0.0> speed <250.0>; + wpn1_lasthead = 1000000; + turn base to y-axis <0.000000> speed <250.000000>; + turn base to x-axis <0.000000> speed <250.000000>; } SetStunned(State) @@ -92,28 +94,31 @@ Create() hide flarer1; hide flarer2; - turn turretf to x-axis <45> speed <200.0>; - turn turretf to y-axis <0> speed <200.0>; + turn turretf to x-axis <45> speed <200.000000>; + turn turretf to y-axis <0> speed <200.000000>; - turn turretr1 to x-axis <45> speed <200.0>; - turn turretr1 to y-axis <-90> speed <200.0>; - turn turretr2 to x-axis <45> speed <200.0>; - turn turretr2 to y-axis <-90> speed <200.0>; - turn turretl1 to x-axis <45> speed <200.0>; - turn turretl1 to y-axis <90> speed <200.0>; - turn turretl2 to x-axis <45> speed <200.0>; - turn turretl2 to y-axis <90> speed <200.0>; + turn turretr1 to x-axis <45> speed <200.000000>; + turn turretr1 to y-axis <-90> speed <200.000000>; + turn turretr2 to x-axis <45> speed <200.000000>; + turn turretr2 to y-axis <-90> speed <200.000000>; + turn turretl1 to x-axis <45> speed <200.000000>; + turn turretl1 to y-axis <90> speed <200.000000>; + turn turretl2 to x-axis <45> speed <200.000000>; + turn turretl2 to y-axis <90> speed <200.000000>; aa_gun = 0; - wpn1_lasthead = 0xbadface; + wpn1_lasthead = 1000000; turn thrustrra to x-axis <-90> now; turn thrustfra to x-axis <-90> now; turn thrustrla to x-axis <-90> now; turn thrustfla to x-axis <-90> now; - SLEEP_UNTIL_UNITFINISHED; + while( get BUILD_PERCENT_LEFT ) + { + sleep 400; + } //start-script IdleHover(); } @@ -133,76 +138,79 @@ Deactivate() hide thrustfla; } - +SweetSpot(piecenum) +{ + piecenum = aimy; +} //flamer -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = flaref; + piecenum = flaref; } //aa -QueryWeapon2(pieceIndex) +QuerySecondary(piecenum) { - if( aa_gun == 1 ) pieceIndex = flareaa1; - if( aa_gun == 2 ) pieceIndex = flareaa2; - if( aa_gun == 3 ) pieceIndex = flareaa3; - if( aa_gun == 4 ) pieceIndex = flareaa1; - if( aa_gun == 5 ) pieceIndex = flareaa2; - if( aa_gun == 6 ) pieceIndex = flareaa3; - if( aa_gun == 7 ) pieceIndex = flareaa1; - if( aa_gun == 8 ) pieceIndex = flareaa2; + if( aa_gun == 1 ) piecenum = flareaa1; + if( aa_gun == 2 ) piecenum = flareaa2; + if( aa_gun == 3 ) piecenum = flareaa3; + if( aa_gun == 4 ) piecenum = flareaa1; + if( aa_gun == 5 ) piecenum = flareaa2; + if( aa_gun == 6 ) piecenum = flareaa3; + if( aa_gun == 7 ) piecenum = flareaa1; + if( aa_gun == 8 ) piecenum = flareaa2; return (0); } //sidelasers -QueryWeapon3(pieceIndex) +QueryWeapon3(piecenum) { - pieceIndex = flarer1; + piecenum = flarer1; } -QueryWeapon4(pieceIndex) +QueryWeapon4(piecenum) { - pieceIndex = flarer2; + piecenum = flarer2; } -QueryWeapon5(pieceIndex) +QueryWeapon5(piecenum) { - pieceIndex = flarel1; + piecenum = flarel1; } -QueryWeapon6(pieceIndex) +QueryWeapon6(piecenum) { - pieceIndex = flarel2; + piecenum = flarel2; } -AimFromWeapon3(pieceIndex) +AimFromWeapon3(piecenum) { - pieceIndex = barrelr1; + piecenum = barrelr1; } -AimFromWeapon4(pieceIndex) +AimFromWeapon4(piecenum) { - pieceIndex = barrelr2; + piecenum = barrelr2; } -AimFromWeapon5(pieceIndex) +AimFromWeapon5(piecenum) { - pieceIndex = barrell1; + piecenum = barrell1; } -AimFromWeapon6(pieceIndex) +AimFromWeapon6(piecenum) { - pieceIndex = barrell2; + piecenum = barrell2; } //flamer -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; - turn turretf to x-axis 0-pitch speed <200.0>; - turn turretf to y-axis heading speed <200.0>; - if ((wpn1_lasthead == 0xbadface) OR ABSOLUTE_GREATER_THAN(WRAPDELTA(heading - wpn1_lasthead), <7>)) + turn turretf to x-axis 0-pitch speed <200.000000>; + turn turretf to y-axis heading speed <200.000000>; + if (((get ABS(wpn1_lasthead - heading)) > 65536) OR(((get ABS(wpn1_lasthead - heading)) > 1300) AND ((get ABS(wpn1_lasthead - heading)) < 64236))) { - wpn1_lasthead = 0xbadface; + wpn1_lasthead = 1000000; wait-for-turn turretf around y-axis; wait-for-turn turretf around x-axis; } @@ -211,7 +219,7 @@ AimWeapon1(heading, pitch) return (1); } -FireWeapon1() +FirePrimary() { return (1); } @@ -221,13 +229,13 @@ Shot1() { } //aa -AimWeapon2(heading, pitch) +AimSecondary(heading, pitch) { - signal SIGNAL_AIM2; - set-signal-mask SIGNAL_AIM2; + signal SIG_AIM_2; + set-signal-mask SIG_AIM_2; - turn turretaa to y-axis heading speed <450.0>; - turn sleeveaa to x-axis <0.0> - pitch speed <450.0>; + turn turretaa to y-axis heading speed <450.00000>; + turn sleeveaa to x-axis <0.00000> - pitch speed <450.00000>; wait-for-turn sleeveaa around z-axis; wait-for-turn turretaa around y-axis; start-script RestoreAfterDelay();//todo, split these @@ -235,7 +243,7 @@ AimWeapon2(heading, pitch) } -FireWeapon2() +FireSecondary() { ++aa_gun; if( aa_gun == 9 ) @@ -251,12 +259,12 @@ FireWeapon2() AimWeapon3(heading, pitch) { - signal SIGNAL_AIM3; - set-signal-mask SIGNAL_AIM3; + signal SIG_AIM_3; + set-signal-mask SIG_AIM_3; - turn turretr1 to x-axis 0-pitch speed <200.0>; - turn turretr1 to y-axis heading speed <200.0>; + turn turretr1 to x-axis 0-pitch speed <200.000000>; + turn turretr1 to y-axis heading speed <200.000000>; wait-for-turn turretr1 around x-axis; wait-for-turn turretr1 around y-axis; return (1); @@ -270,11 +278,11 @@ FireWeapon3() AimWeapon4(heading, pitch) { - signal SIGNAL_AIM4; - set-signal-mask SIGNAL_AIM4; + signal SIG_AIM_4; + set-signal-mask SIG_AIM_4; - turn turretr2 to x-axis 0-pitch speed <200.0>; - turn turretr2 to y-axis heading speed <200.0>; + turn turretr2 to x-axis 0-pitch speed <200.000000>; + turn turretr2 to y-axis heading speed <200.000000>; wait-for-turn turretr2 around x-axis; wait-for-turn turretr2 around y-axis; return (1); @@ -287,11 +295,11 @@ FireWeapon4() AimWeapon5(heading, pitch) { - signal SIGNAL_AIM5; - set-signal-mask SIGNAL_AIM5; + signal SIG_AIM_5; + set-signal-mask SIG_AIM_5; - turn turretl1 to x-axis 0-pitch speed <200.0>; - turn turretl1 to y-axis heading speed <200.0>; + turn turretl1 to x-axis 0-pitch speed <200.000000>; + turn turretl1 to y-axis heading speed <200.000000>; wait-for-turn turretl1 around x-axis; wait-for-turn turretl1 around y-axis; return (1); @@ -305,11 +313,11 @@ FireWeapon5() AimWeapon6(heading, pitch) { - signal SIGNAL_AIM6; - set-signal-mask SIGNAL_AIM6; + signal SIG_AIM_6; + set-signal-mask SIG_AIM_6; - turn turretl2 to x-axis 0-pitch speed <200.0>; - turn turretl2 to y-axis heading speed <200.0>; + turn turretl2 to x-axis 0-pitch speed <200.000000>; + turn turretl2 to y-axis heading speed <200.000000>; wait-for-turn turretl2 around x-axis; wait-for-turn turretl2 around y-axis; return (1); @@ -322,12 +330,12 @@ FireWeapon6() -SetMaxReloadTime(reloadMS) +SetMaxReloadTime(Func_Var_1) { - restore_delay = reloadMS * 2; + restore_delay = Func_Var_1 * 2; } -StartMoving(reversing) +StartMoving() { sleep 1000; } @@ -338,34 +346,34 @@ StopMoving() MoveRate0() { - turn thrustrr to x-axis <0.0> speed <80.0>; - turn thrustrl to x-axis <0.0> speed <80.0>; - turn thrustfr to x-axis <0.0> speed <80.0>; - turn thrustfl to x-axis <0.0> speed <80.0>; + turn thrustrr to x-axis <0.000000> speed <80.000000>; + turn thrustrl to x-axis <0.000000> speed <80.000000>; + turn thrustfr to x-axis <0.000000> speed <80.000000>; + turn thrustfl to x-axis <0.000000> speed <80.000000>; } MoveRate1() { - turn thrustrr to x-axis <8.0> speed <60.0>; - turn thrustrl to x-axis <8.0> speed <60.0>; - turn thrustfr to x-axis <8.0> speed <60.0>; - turn thrustfl to x-axis <8.0> speed <60.0>; + turn thrustrr to x-axis <8.000000> speed <60.000000>; + turn thrustrl to x-axis <8.000000> speed <60.000000>; + turn thrustfr to x-axis <8.000000> speed <60.000000>; + turn thrustfl to x-axis <8.000000> speed <60.000000>; } MoveRate2() { - turn thrustrr to x-axis <18.0> speed <45.0>; - turn thrustrl to x-axis <18.0> speed <45.0>; - turn thrustfr to x-axis <18.0> speed <45.0>; - turn thrustfl to x-axis <18.0> speed <45.0>; + turn thrustrr to x-axis <18.000000> speed <45.000000>; + turn thrustrl to x-axis <18.000000> speed <45.000000>; + turn thrustfr to x-axis <18.000000> speed <45.000000>; + turn thrustfl to x-axis <18.000000> speed <45.000000>; } MoveRate3() { - turn thrustrr to x-axis <0.0> speed <70.0>; - turn thrustrl to x-axis <0.0> speed <70.0>; - turn thrustfr to x-axis <0.0> speed <70.0>; - turn thrustfl to x-axis <0.0> speed <70.0>; + turn thrustrr to x-axis <0.000000> speed <70.000000>; + turn thrustrl to x-axis <0.000000> speed <70.000000>; + turn thrustfr to x-axis <0.000000> speed <70.000000>; + turn thrustfl to x-axis <0.000000> speed <70.000000>; } diff --git a/scripts/Units/corcs.bos b/scripts/Units/corcs.bos index f22c713544d..6dedc5df0b4 100644 --- a/scripts/Units/corcs.bos +++ b/scripts/Units/corcs.bos @@ -1,27 +1,65 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, turret, arm, beam, lpump, rpump, nano1, nano2, wake; -#define SIGNAL_BUILD 2 -#define SIGNAL_MOVE 1 +#define SIG_BUILD 2 +#define SIG_MOVE 4 -static-var nano, pump, readyToBuild; +static-var Static_Var_1, statechg_DesiredState, statechg_StateChanging, notBuilding, nano, pump; -#define RB_MASS 20 -#define RB_LENGTH 5 -#define RB_WIDTH 3 -#define RB_PITCH_SPEED 200 -#define RB_PITCH_ACCELERATION 20 -#define RB_ROLL_ACCELERATION 3 -#define RB_WAKE_PIECE wake -#define RB_WAKE_PERIOD 6 -#define RB_WAKE_CEG 1024 + 0 -#define RB_BOUNCE_HEIGHT [1.0] -#include "../bar_ships_common.h" +RockOnWaves() +{ + var rockDir, rockAng, rockSpeed; + rockDir = <-0.1>; + rockAng = <-0.1>; + while( TRUE ) + { + while( get ABS(rockAng) < <1.31> ) + { + rockSpeed = <1.45> - get ABS(rockAng); + turn base to x-axis rockAng speed rockSpeed*5; + turn base to z-axis rockAng speed rockSpeed*5; + wait-for-turn base around x-axis; + wait-for-turn base around z-axis; + rockAng = rockAng + rockDir; + } + rockDir = 0 - rockDir; + rockAng = rockAng + rockDir + rockDir; + } +} + +#define BASEPIECE base +#define HITSPEED <20.0> +//how 'heavy' the unit is, on a scale of 1-10 +#define UNITSIZE 3 +#define MAXTILT 200 + +#include "unit_hitbyweaponid_and_smoke.h" + +StartMoving() +{ + signal SIG_MOVE; + set-signal-mask SIG_MOVE; + var waketime; + while( TRUE ) + { + emit-sfx 1024 + 0 from wake; + waketime = (get CURRENT_SPEED) * 100 / get MAX_SPEED; + if( waketime < 50 ) waketime = 50; + sleep 10000 / waketime; + } +} + +StopMoving() +{ + signal SIG_MOVE; +} MovementControl() { @@ -38,69 +76,138 @@ MovementControl() } +Go() +{ + set INBUILDSTANCE to 1; + pump = 1; + + turn arm to x-axis <45> speed <90>; + turn beam to x-axis <-45> speed <180>; + wait-for-turn beam around x-axis; + sleep 500; + start-script MovementControl(); +} + +Stop() +{ + set INBUILDSTANCE to 0; + pump = 0; + + turn arm to x-axis <-90> speed <90>; + turn beam to x-axis <-180> speed <180>; + turn turret to y-axis <0> speed <180>; + wait-for-turn beam around x-axis; + move lpump to y-axis [0] speed [1]; + move lpump to x-axis [0] speed [1]; + sleep 200; +} + + +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState ) + { + call-script Stop(); + notBuilding = 1; + currentstate = 1; + } + else + { + call-script Go(); + notBuilding = 0; + currentstate = 0; + } + } + statechg_StateChanging = FALSE; +} + + Create() { hide wake; hide nano2; hide nano1; + Static_Var_1 = 0; + notBuilding = 1; + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; turn arm to x-axis <-90> now; turn beam to x-axis <-180> now; + while( get BUILD_PERCENT_LEFT ) + { + sleep 400; + } + start-script RockOnWaves(); + +} - readyToBuild = FALSE; - start-script InitRockBoat(); - SLEEP_UNTIL_UNITFINISHED; - start-script BoatPhysics(); +Activate() +{ + start-script RequestState(0); } +Deactivate() +{ + start-script RequestState(1); +} StartBuilding(heading,pitch) { - signal SIGNAL_BUILD; - set-signal-mask SIGNAL_BUILD; - - if (!readyToBuild){ - pump = 1; - - turn arm to x-axis <45> speed <90>; - turn beam to x-axis <-45> speed <180>; - wait-for-turn beam around x-axis; - - } - start-script MovementControl(); - - turn turret to y-axis heading speed <360.0>; - turn beam to x-axis <-45> -pitch speed <90>; - - set INBUILDSTANCE to 1; show nano1; show nano2; + start-script RequestState(0); + while( notBuilding ) sleep 100; + signal SIG_BUILD; + turn turret to y-axis heading speed <360.000000>; + turn beam to x-axis <-45> -pitch speed <90>; + set INBUILDSTANCE to 1; + } StopBuilding() { - signal SIGNAL_BUILD; - set-signal-mask SIGNAL_BUILD; hide nano1; hide nano2; - - sleep 6000; - set INBUILDSTANCE to 0; - readyToBuild = FALSE; - - turn arm to x-axis <-90> speed <90>; - turn beam to x-axis <-180> speed <180>; - turn turret to y-axis <0> speed <180>; - wait-for-turn beam around x-axis; - move lpump to y-axis [0] speed [1]; - move lpump to x-axis [0] speed [1]; + signal SIG_BUILD; + set-signal-mask SIG_BUILD; + sleep 3000; + set-signal-mask 0; + signal SIG_BUILD; + start-script RequestState(1); } -QueryNanoPiece(pieceIndex) +QueryNanoPiece(piecenum) { - pieceIndex = nano1 + nano; + if(nano==1) + { + piecenum = nano1; + } + else + { + piecenum = nano2; + } nano = !nano; } +TargetHeading(Func_Var_1) +{ + Static_Var_1 = 0 - Func_Var_1; +} + +SweetSpot(piecenum) +{ + piecenum = base; +} Killed(severity, corpsetype) { diff --git a/scripts/Units/corcs.cob b/scripts/Units/corcs.cob index 91672894456931969eb177c4ae63368ea9079619..4808a612b2227434483a8abca3dae99a638353e9 100644 GIT binary patch literal 4506 zcmcgv&1+m$6hAYaOi~K^#JUhEec-|(iqkGc+*nh=mZGMK62Z;9CYN?d=A)CB)PmxG zbRjNOP;ey*{sHb3anX%ZT!;&CB~+J6(ISEt#PRn#_ntd9!%WQxI_2cvdp>^W^S<|5 z6OlVX`$5DGgoQWGZ)U6 zu~uPca*An}uF|MwibZBNm(hMX=*`2Bvc2L+zAs~ZRoK%nSK7~El?G(^r!nTDF_66% zJ>m$WpV@l(C4Ce{5wj+D$Sx?6MLp;N+Q4fC2$29-b^k^P!L(O^C{$f_^*zm0Oc}?e!HkJ!z zi)4h_UBi~VLV1-KSFKUa>g469L8v{C5j*tgr-aAaQz!Lxj10`WG(0xrj4@=05C5oQ zcTGb46)N5c_X2ZU3;gOB{|l%Qj}Vh)kg_`{LoIlh?+Q5Df8@monCA$?&(ys^kM3eE zGRz>c@MGMZ39i%`o%XlPT zP+#1$=O+8}F|YI2Vd_Yn0owiXikDTt9}X$g=LE5UWP9rUMo{D;8SW_M_{Dt2Vo_m; zh5Jdd)UJ4cHjim63xnOUq%x0<=&&J;$4PFCYlb@e=dtw)xX8)g1A5Ep3o~&OPHiTc zm&SqmP;5ORk22;)Tb?DlXRa`9o}C(#GnL#%FmOCeP+WXX484`P5ke zFP+8odH6zz_f0zEd?JT41jL*&4*txS^+%bI^P7!k<8tz7KS^#gAxl1QuB=1ENbJ}@ zjk{UTE{8b%^UlZlQs6OM>G@~Ujp1m%Bp=N=@$DY-u5t!7&fLGl)B4!G_j3PCpbP7t z-rwdZ?$p2T2R@ch_<@9)#@qrw)&Hkju?Bq35<_*D{Cs~25b_v{J-^wzuL7SnHNIiU z`*RuR#qgjK@2SOTcaz_)=`2pv1s3^ctM$pj0~rowcT*|%ao>YNlgC`_-te5`%yocO zn&?S3AF;WijPF0nxYu`2*bf4qHmvP5Job2+OzQ<)Ut|BRNm%OZdo#qp9O9>+|1y5- z(SSjOdRY9EWcCc1B)e5^Ys3$^y%%z$pS|X0_10#Ee$3LRS$b>v&thYBu{ie<+jzY= z1OI1DEY?|TYW4ZI_T#mh)&F?iI9lgHpM&<}Vm$;}1MxfTZP3S{>!70uxB#_47eF6? zJ_CIV`T_JKi2wip5cCn~Q_xk=H=t{vUqHWteh1a?aytMz2s#XU5cDYM6lfJxfX;*3 zpc3>V=w;BWpw~cefZhQuch@$a>8utzZc9$K%Ee2ouIP0;veNEuxaT^pGUc9HmzA>U zmrr$fTAg#)cY9%r#kF0hJkjlx{qCkb*;T15y9?WHtAthQ#G?QrviD{QN< zi`%WubpwuvGuy6z>FJ`=U23^CC(joBbFMt;3a@$5xpJk~E#-7;bJMNM*<#B{x!v!( fQi^_C&bp#4o4xIJPx|_|1EizEzsKZavEk%zbUH{4 literal 4245 zcmb`K&ud&&6vyvOrqigPPZU)AHLhH!FpV2GV%oZ}gh*@!7Z%Jkd9-8a7n6y$E^HSS zg9|N!JJH~}8$n#T$RFUsr67nKu?rU!TokO0-_N=CyxdG_uYHG_nhzfaqoL= zgb?nL+$H&bCWN~+@^|vS5H=*=NS@XFM~$_jUZ88V>xH1Z=8ZJJl*R>(q17nZQ#`$c zbsM4GD6n%N;ej)6PR$Qy^RUz`LQ5PZ4cUc5*b2spN7mrsYjvIz-beE<5aZ*fZxo?D zWA@+@=4Xn!csQ@)2?PG>g<1&3jKy?qTQ-Dc{rUxgT5+HGmrwJfWo!`>{_{1DOBO>| zZWdqa!Sr{)jkxRb>!a~b{-=54pFDu~F>;LD?=&X3y|BH#&G=xlXMUAC=R$7CB|ZhQ zc$_0XE1WRkur&)%d1Mc{sCa6g??I10uRA!ll6UOD=nK|zo$)4zo6*Pf0-IlmTnm-24NY_3c8-&8sp6h&^cn^1B;VdUjQE(> z2p2e54%(5U>qGdnhQ69(%X%%|V;0wZvv@D%#c?g{Wig#iF`fH8p2>{|q}MIBSC35Z z#Wq~`+Uxm!Lgw{N ztYz;2?o|87x_aq~_*L_E&3JnLs5LsE=68>g`ht-e!*I`8&Q(Ls<6gP_P>}z_uIC+> z(=qzH<9>84y{{DOZz4$?s|gPWugPTsP@Om%tmQiE%OakO>&XTt@R{SxZad;;R228+ zHoZ4IcHe6~zeldnLu(gKXNa77?DT|xGaTkQ`F~FS@y9oc*DfqYZs=IUHnzZoq8Yyf z65ey&f77`G)V+i) z`u(l6UeDHZ9&_N@ydUEEIFxarj^v81#Q15YtEJpYqZ^z!!9>ot>e!C%2Z|#a4 z*voT}=Pmm4-WF~jJ!^IqyVswdH*?H?{QjxrylZpp?d^SE8YQp6`3{a z#GPZc)O-_6aj>%Yd76_S@SAB)kK}XeP}N=hbH8?PB)^{|zu4Q4-%C?|eeP%0=eOgr zf{n!E>%@aNZpY(`l<@!SUnPG?coW2mc% ze|WYGi^F%yemR&N9S$brVJ{pVmz_x&PE0!E$&vMLZ?!u(t=Vu?O accelerate <720>; + spin fan2 around y-axis speed <-720> accelerate <720>; + sleep 1457; + return (0); +} + +deactivatescr() +{ + stop-spin fan1 around y-axis decelerate <720>; + stop-spin fan2 around y-axis decelerate <720>; + sleep 1455; + return (0); +} + + #define BASEPIECE base #define HITSPEED <105.0> //how 'heavy' the unit is, on a scale of 1-10 #define UNITSIZE 1 #define MAXTILT 100 -#include "../unit_hitbyweaponid_and_smoke.h" +#include "unit_hitbyweaponid_and_smoke.h" #define IDLEHOVERSCALE 32 #define IDLEHOVERSPEED 60 #define IDLEBASEPIECE base #include "idlehover.h" +RequestState(requestedstate, currentstate) +{ + if( Static_Var_2 ) + { + Static_Var_1 = requestedstate; + return (0); + } + Static_Var_2 = 1; + currentstate = Static_Var_1; + Static_Var_1 = requestedstate; + while( Static_Var_1 != currentstate ) + { + if( Static_Var_1 ) + { + call-script deactivatescr(); + currentstate = 1; + } + else + { + call-script activatescr(); + currentstate = 0; + } + } + Static_Var_2 = 0; + return (0); +} + Create() { hide thrust1; hide thrust2; hide nano; - SLEEP_UNTIL_UNITFINISHED; + Static_Var_1 = 1; + Static_Var_2 = 0; + while( get BUILD_PERCENT_LEFT ) + { + sleep 400; + } start-script IdleHover(); } @@ -29,16 +83,16 @@ Activate() { show thrust1; show thrust2; - spin fan1 around y-axis speed <720> accelerate <720>; - spin fan2 around y-axis speed <-720> accelerate <720>; + start-script RequestState(0); + return (0); } Deactivate() { hide thrust1; hide thrust2; - stop-spin fan1 around y-axis decelerate <720>; - stop-spin fan2 around y-axis decelerate <720>; + start-script RequestState(1); + return (0); } StartBuilding() @@ -55,12 +109,17 @@ StopBuilding() return (0); } -QueryNanoPiece(pieceIndex) +QueryNanoPiece(piecenum) { - pieceIndex = nano; + piecenum = nano; return (0); } +SweetSpot(piecenum) +{ + piecenum = base; + return (0); +} Killed(severity, corpsetype) { diff --git a/scripts/Units/corcsa.cob b/scripts/Units/corcsa.cob index d4771e27b0b53e0382123aaaacd1eb45a17982b7..3358318211353a87d35df55635f18133ee68ee88 100644 GIT binary patch literal 4831 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 P)x3{E>e9`^~2=WZR diff --git a/scripts/Units/corcut.bos b/scripts/Units/corcut.bos index 27ee5e6a240..aa3bb02dd71 100644 --- a/scripts/Units/corcut.bos +++ b/scripts/Units/corcut.bos @@ -1,9 +1,28 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, flare1, flare2, thrusta, thrustb, fan1, fan2, duct1, duct2; -static-var gun_1; +static-var Static_Var_1, bMoving, gun_1, statechg_DesiredState, statechg_StateChanging; + + +Go() +{ + spin fan1 around y-axis speed <360>; + spin fan2 around y-axis speed <360>; + + return (0); + // Build by COBBLER Ver4.0 Copyright @1998 DIGITAL CONCEPT SOFTWARE (MANU@inext.fr) / http://www.annihilationcenter.com/DCS/ +} + +Stop() +{ + stop-spin fan1 around y-axis; + stop-spin fan2 around y-axis; + return (0); +} #define IDLEHOVERSCALE 32 #define IDLEHOVERSPEED 60 @@ -11,14 +30,48 @@ static-var gun_1; #include "idlehover.h" + #define BASEPIECE base #define HITSPEED <105.0> //how 'heavy' the unit is, on a scale of 1-10 #define UNITSIZE 1 #define MAXTILT 100 -#include "../unit_hitbyweaponid_and_smoke.h" +#include "unit_hitbyweaponid_and_smoke.h" + +InitState() +{ + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; + return (0); +} +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + call-script Go(); + currentstate = 0; + } + if( statechg_DesiredState == 1 ) + { + call-script Stop(); + currentstate = 1; + } + } + statechg_StateChanging = FALSE; + return (0); +} Create() { @@ -26,8 +79,14 @@ Create() hide thrusta; hide flare1; hide flare2; + Static_Var_1 = 0; gun_1 = base; - SLEEP_UNTIL_UNITFINISHED; + bMoving = FALSE; + call-script InitState(); + while( get BUILD_PERCENT_LEFT ) + { + sleep 400; + } start-script IdleHover(); return (0); } @@ -39,7 +98,7 @@ ExecuteRestoreAfterDelay() return (1); } set-signal-mask 0; - turn base to x-axis <0.0> speed <50.0>; + turn base to x-axis <0.000000> speed <50.000000>; } SetStunned(State) { @@ -54,47 +113,97 @@ RestoreAfterDelay() start-script ExecuteRestoreAfterDelay(); } + + Activate() { show thrustb; show thrusta; - spin fan1 around y-axis speed <360> accelerate <1>; - spin fan2 around y-axis speed <360> accelerate <1>; + start-script RequestState(0); + return (0); } Deactivate() { hide thrustb; hide thrusta; - stop-spin fan1 around y-axis decelerate <1>; - stop-spin fan2 around y-axis decelerate <1>; + start-script RequestState(1); + return (0); } -FireWeapon1() +setSFXoccupy(Func_Var_1) { - turn base to x-axis <10.0> speed <50.0>; + Static_Var_1 = Func_Var_1; + return (0); +} - start-script RestoreAfterDelay(); +StartMoving() +{ + bMoving = TRUE; + return (0); +} - gun_1 = !gun_1; +StopMoving() +{ + bMoving = FALSE; + return (0); } -AimWeapon1(heading, pitch) +FirePrimary() { - return (1); + turn base to x-axis <10.000000> speed <50.000000>; + if( gun_1 == 0 ) + { + sleep 150; + gun_1 = 1; + start-script RestoreAfterDelay(); + return (0); + } + if( gun_1 == 1 ) + { + sleep 150; + gun_1 = 0; + start-script RestoreAfterDelay(); + return (0); + } } -AimFromWeapon1(pieceIndex) +AimPrimary(heading, pitch) { - pieceIndex = flare1 + gun_1; + return (1); } -QueryWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = flare1 + gun_1; + if( gun_1 == 0 ) + { + piecenum = flare1; + } + if( gun_1 == 1 ) + { + piecenum = flare2; + } + return (0); } +QueryPrimary(piecenum) +{ + if( gun_1 == 0 ) + { + piecenum = flare1; + } + if( gun_1 == 1 ) + { + piecenum = flare2; + } + return (0); +} +SweetSpot(piecenum) +{ + piecenum = base; + return (0); +} Killed(severity, corpsetype) { diff --git a/scripts/Units/corcut.cob b/scripts/Units/corcut.cob index fdfedc04e8fcac952d00f3a12bd72807ac9eea3f..cdf16393dad18a3160c930adf1d0d01b90adf296 100644 GIT binary patch literal 5783 zcmd6rO=w(I6vuCpNm@U^SE!0&WkB%*6ehui3#o0b{ZIbwxN+f5(1j}(;zH=AD{&Y9zx(cab2EKYG6ks6S0HO3RpW3gEKJf+`-eZA)MNFLNY znM}aH9_+!P9~Y*k>9{bA_}bXmIPYdB!Wk5B&xE%Fve`}>vcm`Yp~J@Vag9ms^!L_x zOGzHf#XgwWc5pwok8>wToQIaBpT581Y{tjU7;#?xvFGY`zPcmN*gtt0m&P^vlTrkJ zHW-Bzw(#TUNfDFnVRqvv#i!vJZO;Wf>tXmh_+V%JJrV3}oWMqTnH_7+&4^#m1$EGw zeu(y{quHoO%X-2A{R(Gx-g{XqhWWKK#ke8|=X(NkVw;{b;&&U05&VLS{Tc`6*Vj&d zw~y!-Tb&WL&x9%7vLTQ7JR^vik_9?UPe*st+m`cZlKMGrmaEO`j|5~e(V zqv!+HK5wn5pW%3B;2qxnQX{cXKanSUzGu|?t}*7Zb8;WZ&hQ%LdXZ{$Cb9{*cfB)`RgOqXV zs(hn=229ZHV-oI^UBN!}dqv+fpUee&UqjiG0q4Z7@KM}5spX-~ zl8Z$4-l+fXAb(QopJU4RF#Up0i^Ci{e3=ectnt~8-+zwC&Bs&TZzvy&G3bN(#Qwp6 zB@Q)-^D}IzmmPXHU!41r;+U?VQ=z*kovSOq@G-r`h;iQMY=QeG;QXGjmaE}-mt2sI z`K#n)Uf&jotC4dt7I{1Wu8*;(<2B*qwa4ik{yRg^#Xa(S$mM+u8^ycsSDdK+41CNV z+;i?**i@Y^2ds|~>VnFx7d3k4z6e_%xFfI=hWBV(YkZe6J}EezgaqZ|?;}m)e3*X= zh}?(RxY@v`MqHJ6*>h)-f4N6a;ydOaoj>C+`++ma-6nsAr`Ch9EbcI!ad;1jMjXNs z^)b8){r7?n$leDeAx`4hzMeXRuiqwYQCIWl&l>!-EBxV_e6Qut?njGnwH}uD`4ETL z_HK=B z7}qtrdEF<;Hvb+Prt>{4dyKI0-)n?pUi5J>kNw$iv3kJ7I{V&OrSrd)<+n;ljfUlD zy;X%1%|mhI&- z6u6`=TkT7$?^b%xI35MFm3|$?-;L&;zPlcN{fi(x+t^*%hYxeT&sP;SEZ13qj>+a7M(=|7j$*|XMXA8m& zD)%N+AsQ?!}LI_o6UAxOKEq_?QJbZ(*xa3 zxqPmdb=OQc_ev(m%bnak+ge;yHmA~+%$;6LyV-Ox%((oeZf_+|!+6S_PTSI@?HRYw LYv$Ab-x>EW&(x8G literal 4357 zcmcJRPiWjl6vrpq&DKAM{`97(EO^j^$nN67gGkoKk|;tng4h0%{lx}1*|7O-X%RJt ziU>u)Lr+qQf}#g0DAI!`!J8i1lQ+eS9t3mfrKk1#nVGkl>~7K&>xP$^dGGuFznR^t zbMA!bUeS$X&egQ?DaE`h`djpr&RM2^^-6Xa&1916Q)yH(?4;-8@jL_IbS-;Fn~Lz@ zz?&R#s{bgAdNspV_JsD?Y=(YMTX@8c935<9lNH%;sLj$bFRP5noRd_t5Ti8a0!}6H zHdup9o5rlHRWjr4JTD$`Yz02HQ|vfD#iy}TtTbL7M|Sq?h1{x9b{`<})gL@pw;bv| z&eXoIM{d$iJF***)>Akk8#%CeA0(;J>-tR_(A@(_UOR66T7LNw_6W(Z9crc#@-C=#@xK4 zSR*jwG5U@m_z$^Jn`yZb+fnQul$)OetCe!IdA*aqG5be}A?+YrGy_v`)?35*yrNNO9gq%;}eigJ(9;`{Jej zvEs{S(qeF9eMQH7;tv(`JE^OgPWni`=w6TxEAKYC3U6f7Y}@J@p+|-l^tRX(gFZQ1 z?b{OK)A}?mXMBfw3-^Ub|A&!v`zF*8%)ayjO8GyU-J5YD? zOypM*zUgAGMG%ef)^V3xN!gl_lrsFig_BwEyWsXrAFv{AJ<)eTQ>A7kn;gD{~I{UwD|d;zG>afrkk6z1#g-S zbgV{?@P(Dsh+O=4nAp?85`#L7_ar=x)YTx>8`t*!>vpU)A zq2upb%wrJqz}{hbT#%f+j+%$z|Ia*Di7DpsWz2&*9G1sN=p=dA`JjH7{BGw#A8r@x z<*`^V#q&Y28vbs_irXCx(l?@}24!3HvFLNrx1t|J*F}GbZi;S+s!HyJh#zGSi=Grc zBWjBlM7gLddRO#;=o8Up(O05tqMt-Ri>`})75ygqQ}mDMrs$SvC|c}vi-q3VqVE>g z%NNeSQRG{_&Bac7a`X8{{$|lx-srtmxRd=NFAMkLxngxt7OxfCWv^ef*UF+lUv%^H zZn-Fz%faSm(Q%W)_G-C)7WMfex9zF*ei7U@U3+~a*`Dh6M#onNML$N@bT6-WyRyHM nZx?Q@oA--mSX!<;(;sY?d0bcATD~b+zS(k}!D`v`|6A@~Cp -#define TB_TILT_X <0.1> -#define TB_BANK_Z <0.1> // Do not define this if you dont want banking -#include "../tilt_bank_mobileunit.h" +activatescr() +{ + turn ldoor to z-axis <0.000000> now; + turn ldoor to z-axis <-210> speed <360>; + turn rdoor to z-axis <0.000000> now; + turn rdoor to z-axis <210> speed <360>; + sleep 600; + + move loturret to y-axis [7] speed [12]; + move upturret to y-axis [5] speed [12]; + sleep 200; +} + +deactivatescr() +{ + set INBUILDSTANCE to 0; + hide cagelight_emit; + turn cagelight to y-axis <0> speed <1000>; + turn loturret to y-axis <0.000000> speed <160.038462>; + turn upturret to y-axis <0.000000> speed <160.038462>; + wait-for-turn loturret around y-axis; + + move loturret to y-axis [0] speed [12]; + move upturret to y-axis [0] speed [12]; + sleep 200; + + turn ldoor to z-axis <0> speed <240>; + turn rdoor to z-axis <0> speed <240>; + sleep 200; +} WheelControl() { @@ -31,99 +57,106 @@ WheelControl() } } -StartMoving(reversing) -{ - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; - start-script WheelControl(); - START_TILTBANK; -} - -StopMoving() -{ - signal SIGNAL_MOVE; - STOP_TILTBANK; -} - #define BASEPIECE base #define HITSPEED <55.0> //how 'heavy' the unit is, on a scale of 1-10 #define UNITSIZE 3 #define MAXTILT 100 -#include "../unit_hitbyweaponid_and_smoke.h" +#include "unit_hitbyweaponid_and_smoke.h" + +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState ) + { + call-script deactivatescr(); + notBuilding = 1; + currentstate = 1; + } + else + { + call-script activatescr(); + notBuilding = 0; + currentstate = 0; + } + } + statechg_StateChanging = FALSE; +} Create() { hide beam; hide cagelight_emit; - restore_delay = 6000; - readyToBuild = FALSE; - call-script TB_Init(); + restore_delay = 3000; + notBuilding = 1; moveSpeed = get MAX_SPEED; - SLEEP_UNTIL_UNITFINISHED; + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; + while( get BUILD_PERCENT_LEFT ) + { + sleep 500; + } start-script WheelControl(); + } -StartBuilding(heading, pitch) +Activate() { - signal SIGNAL_BUILD; - set-signal-mask SIGNAL_BUILD; - if (!readyToBuild){ - turn ldoor to z-axis <-210> speed <360>; - turn rdoor to z-axis <210> speed <360>; - wait-for-turn ldoor around z-axis; - - move loturret to y-axis [7] speed [12]; - move upturret to y-axis [5] speed [12]; - wait-for-move upturret along z-axis; - readyToBuild = TRUE; - } + start-script RequestState(0); +} +Deactivate() +{ + start-script RequestState(1); +} + +StartBuilding(heading, pitch) +{ show beam; + start-script RequestState(0); + while( notBuilding ) sleep 100; + signal SIG_BUILD; turn upturret to y-axis heading speed <160.038462>; wait-for-turn upturret around y-axis; - set INBUILDSTANCE to 1; - show cagelight_emit; spin cagelight around y-axis speed <250>; } StopBuilding() { - signal SIGNAL_BUILD; - set-signal-mask SIGNAL_BUILD; - hide beam; + signal SIG_BUILD; + set-signal-mask SIG_BUILD; hide cagelight_emit; turn cagelight to y-axis <0> speed <1000>; - sleep 6000; - set INBUILDSTANCE to 0; - readyToBuild = FALSE; - - turn loturret to y-axis <0.0> speed <160.038462>; - turn upturret to y-axis <0.0> speed <160.038462>; - wait-for-turn loturret around y-axis; - - move loturret to y-axis [0] speed [12]; - move upturret to y-axis [0] speed [12]; - wait-for-move upturret along z-axis; - - turn ldoor to z-axis <0> speed <240>; - turn rdoor to z-axis <0> speed <240>; - wait-for-turn ldoor around z-axis; + set-signal-mask 0; + signal SIG_BUILD; + start-script RequestState(1); } -QueryNanoPiece(pieceIndex) +QueryNanoPiece(piecenum) { - pieceIndex = nano; + piecenum = nano; } - +SweetSpot(piecenum) +{ + piecenum = base; +} Killed(severity, corpsetype) { @@ -131,46 +164,46 @@ Killed(severity, corpsetype) { corpsetype = 1 ; explode base type BITMAPONLY | NOHEATCLOUD; - - - + //explode ldoor type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rdoor type BITMAPONLY | NOHEATCLOUD; + //explode container type BITMAPONLY | NOHEATCLOUD; explode cabin type BITMAPONLY | NOHEATCLOUD; explode ltyre type BITMAPONLY | NOHEATCLOUD; - + //explode rtyre type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } if( severity <= 50 ) { corpsetype = 2 ; explode base type BITMAPONLY | NOHEATCLOUD; - - + //explode ldoor type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rdoor type FIRE | SMOKE | FALL | NOHEATCLOUD; explode container type FALL | NOHEATCLOUD; explode cabin type FALL | NOHEATCLOUD; explode ltyre type FIRE | SMOKE | FALL | NOHEATCLOUD; - + //explode rtyre type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) { corpsetype = 3 ; explode base type BITMAPONLY | NOHEATCLOUD; - - + //explode ldoor type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rdoor type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode container type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode cabin type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode ltyre type FIRE | SMOKE | FALL | NOHEATCLOUD; - + //explode rtyre type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; explode base type BITMAPONLY | NOHEATCLOUD; - - + //explode ldoor type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rdoor type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode container type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode cabin type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode ltyre type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; - + //explode rtyre type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/corcv.cob b/scripts/Units/corcv.cob index 3a2d45ddddd6ae0cde0650fbf44953e4070ebfcd..bbd0ebaf95263544e96d4dc1565ff6dddaf62021 100644 GIT binary patch literal 3854 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 speed <60.0> / animSpeed; - turn lbturret to z-axis <-2.0> speed <60.0> / animSpeed; - turn lbturret to y-axis <2.0> speed <60.0> / animSpeed; + set-signal-mask SIG_WALK; + if (bMoving) { //Frame:7 + turn lbturret to x-axis <-2.000000> speed <60.000000> / animSpeed; + turn lbturret to z-axis <-2.000000> speed <60.000000> / animSpeed; + turn lbturret to y-axis <2.000000> speed <60.000000> / animSpeed; turn lfoot to x-axis <-16.258053> speed <487.741589> / animSpeed; turn lfoot to z-axis <4.468625> speed <134.058757> / animSpeed; turn lfoot to y-axis <-4.157313> speed <124.719387> / animSpeed; @@ -37,9 +39,9 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn lthigh to z-axis <15.117084> speed <453.512506> / animSpeed; turn lthigh to y-axis <0.185975> speed <5.579236> / animSpeed; move pelvis to y-axis [1.070645] speed [32.119356] / animSpeed; - turn rbturret to x-axis <-2.0> speed <60.0> / animSpeed; - turn rbturret to z-axis <-1.500000> speed <45.0> / animSpeed; - turn rbturret to y-axis <1.500000> speed <45.0> / animSpeed; + turn rbturret to x-axis <-2.000000> speed <60.000000> / animSpeed; + turn rbturret to z-axis <-1.500000> speed <45.000001> / animSpeed; + turn rbturret to y-axis <1.500000> speed <45.000001> / animSpeed; turn rfoot to x-axis <15.484350> speed <464.530301> / animSpeed; turn rfoot to z-axis <-9.027691> speed <270.830721> / animSpeed; turn rfoot to y-axis <-6.166939> speed <185.008155> / animSpeed; @@ -60,7 +62,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn rlarm to z-axis <-1.239022> speed <37.170674> / animSpeed; turn llarm to x-axis <-26.801591> speed <804.047718> / animSpeed; turn llarm to z-axis <1.239022> speed <37.170664> / animSpeed; - if (!isAiming) { + if (!bAiming) { turn ruparm to y-axis <1.015624> speed <30.468725> / animSpeed; turn luparm to y-axis <-1.015624> speed <30.468725> / animSpeed; turn torso to y-axis <-3.001825> speed <90.054764> / animSpeed; @@ -69,14 +71,14 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations } sleep 197; } - while(isMoving) { - if (isMoving) { //Frame:13 + while(bMoving) { + if (bMoving) { //Frame:13 turn head to x-axis <5.115616> speed <153.468472> / animSpeed; turn head to z-axis <-0.781383> speed <23.441488> / animSpeed; turn head to y-axis <-5.785355> speed <173.560652> / animSpeed; - turn lbturret to x-axis <3.0> speed <150.0> / animSpeed; - turn lbturret to z-axis <-1.0> speed <30.0> / animSpeed; - turn lbturret to y-axis <1.0> speed <30.0> / animSpeed; + turn lbturret to x-axis <3.000000> speed <150.000002> / animSpeed; + turn lbturret to z-axis <-1.000000> speed <30.000000> / animSpeed; + turn lbturret to y-axis <1.000000> speed <30.000000> / animSpeed; turn lfoot to x-axis <14.684955> speed <928.290225> / animSpeed; turn lfoot to z-axis <7.411860> speed <88.297044> / animSpeed; turn lfoot to y-axis <-5.309413> speed <34.563015> / animSpeed; @@ -86,10 +88,10 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn lthigh to x-axis <46.716390> speed <437.848799> / animSpeed; turn lthigh to z-axis <20.076455> speed <148.781140> / animSpeed; turn lthigh to y-axis <-5.847293> speed <180.998024> / animSpeed; - move pelvis to y-axis [0.0] speed [32.119356] / animSpeed; - turn rbturret to x-axis <3.0> speed <150.0> / animSpeed; - turn rbturret to z-axis <-3.0> speed <45.0> / animSpeed; - turn rbturret to y-axis <3.0> speed <45.0> / animSpeed; + move pelvis to y-axis [0.000000] speed [32.119356] / animSpeed; + turn rbturret to x-axis <3.000000> speed <150.000002> / animSpeed; + turn rbturret to z-axis <-3.000000> speed <45.000001> / animSpeed; + turn rbturret to y-axis <3.000000> speed <45.000001> / animSpeed; turn rfoot to x-axis <16.979029> speed <44.840380> / animSpeed; turn rfoot to z-axis <-9.591265> speed <16.907228> / animSpeed; turn rfoot to y-axis <-26.473596> speed <609.199709> / animSpeed; @@ -104,13 +106,13 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn llarm to z-axis <-0.261755> speed <45.023310> / animSpeed; turn ruparm to x-axis <35.631202> speed <559.052657> / animSpeed; turn ruparm to z-axis <3.625839> speed <138.652934> / animSpeed; - turn torso to x-axis <-0.0> speed <59.917736> / animSpeed; - turn torso to z-axis <-0.0> speed <3.141430> / animSpeed; + turn torso to x-axis <-0.000000> speed <59.917736> / animSpeed; + turn torso to z-axis <-0.000000> speed <3.141430> / animSpeed; turn rlarm to x-axis <-40.672028> speed <291.653312> / animSpeed; turn rlarm to z-axis <-2.739799> speed <45.023306> / animSpeed; turn luparm to x-axis <-1.638990> speed <559.052727> / animSpeed; turn luparm to z-axis <-3.608069> speed <195.285123> / animSpeed; - if (!isAiming) { + if (!bAiming) { turn llarm to y-axis <-0.050031> speed <10.301184> / animSpeed; turn ruparm to y-axis <1.804893> speed <23.678055> / animSpeed; turn torso to y-axis <-4.999999> speed <59.945219> / animSpeed; @@ -119,13 +121,13 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations } sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:19 + if (bMoving) { //Frame:19 turn head to x-axis <10.231231> speed <153.468472> / animSpeed; turn head to z-axis <-1.562766> speed <23.441488> / animSpeed; turn head to y-axis <-11.570710> speed <173.560652> / animSpeed; - turn lbturret to x-axis <-2.0> speed <150.0> / animSpeed; - turn lbturret to z-axis <-0.0> speed <30.0> / animSpeed; - turn lbturret to y-axis <0.0> speed <30.0> / animSpeed; + turn lbturret to x-axis <-2.000000> speed <150.000002> / animSpeed; + turn lbturret to z-axis <-0.000000> speed <30.000000> / animSpeed; + turn lbturret to y-axis <0.000000> speed <30.000000> / animSpeed; turn lfoot to x-axis <-23.150528> speed <1135.064486> / animSpeed; turn lfoot to z-axis <5.376260> speed <61.068013> / animSpeed; turn lfoot to y-axis <4.989234> speed <308.959415> / animSpeed; @@ -135,10 +137,10 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn lthigh to x-axis <7.490716> speed <1176.770219> / animSpeed; turn lthigh to z-axis <13.742071> speed <190.031521> / animSpeed; turn lthigh to y-axis <-2.141868> speed <111.162750> / animSpeed; - move pelvis to y-axis [-2.0] speed [60.0] / animSpeed; - turn rbturret to x-axis <-2.0> speed <150.0> / animSpeed; - turn rbturret to z-axis <2.0> speed <150.0> / animSpeed; - turn rbturret to y-axis <-2.0> speed <150.0> / animSpeed; + move pelvis to y-axis [-2.000000] speed [60.000000] / animSpeed; + turn rbturret to x-axis <-2.000000> speed <150.000002> / animSpeed; + turn rbturret to z-axis <2.000000> speed <150.000002> / animSpeed; + turn rbturret to y-axis <-2.000000> speed <150.000002> / animSpeed; turn rfoot to x-axis <22.481716> speed <165.080618> / animSpeed; turn rfoot to z-axis <-2.093311> speed <224.938618> / animSpeed; turn rfoot to y-axis <-0.761537> speed <771.361771> / animSpeed; @@ -158,7 +160,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn ruparm to z-axis <1.258670> speed <71.015082> / animSpeed; turn torso to x-axis <1.989039> speed <59.671177> / animSpeed; turn torso to z-axis <-0.209141> speed <6.274228> / animSpeed; - if (!isAiming) { + if (!bAiming) { turn luparm to y-axis <0.132403> speed <10.762751> / animSpeed; turn rlarm to y-axis <0.892855> speed <4.682357> / animSpeed; turn ruparm to y-axis <2.163651> speed <10.762754> / animSpeed; @@ -167,13 +169,13 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations } sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:25 + if (bMoving) { //Frame:25 turn head to x-axis <5.115616> speed <153.468472> / animSpeed; turn head to z-axis <-0.781383> speed <23.441488> / animSpeed; turn head to y-axis <-7.960355> speed <108.310655> / animSpeed; - turn lbturret to x-axis <-4.0> speed <60.0> / animSpeed; - turn lbturret to z-axis <1.0> speed <29.999997> / animSpeed; - turn lbturret to y-axis <-1.0> speed <29.999997> / animSpeed; + turn lbturret to x-axis <-4.000000> speed <60.000000> / animSpeed; + turn lbturret to z-axis <1.000000> speed <29.999997> / animSpeed; + turn lbturret to y-axis <-1.000000> speed <29.999997> / animSpeed; turn lfoot to x-axis <2.682528> speed <774.991689> / animSpeed; turn lfoot to z-axis <7.893599> speed <75.520189> / animSpeed; turn lfoot to y-axis <2.673194> speed <69.481203> / animSpeed; @@ -183,10 +185,10 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn lthigh to x-axis <-27.653623> speed <1054.330164> / animSpeed; turn lthigh to z-axis <3.509623> speed <306.973431> / animSpeed; turn lthigh to y-axis <-8.527999> speed <191.583938> / animSpeed; - move pelvis to y-axis [0.0] speed [60.0] / animSpeed; - turn rbturret to x-axis <-4.0> speed <60.0> / animSpeed; - turn rbturret to z-axis <4.0> speed <60.0> / animSpeed; - turn rbturret to y-axis <-4.0> speed <60.0> / animSpeed; + move pelvis to y-axis [0.000000] speed [60.000000] / animSpeed; + turn rbturret to x-axis <-4.000000> speed <60.000000> / animSpeed; + turn rbturret to z-axis <4.000000> speed <60.000000> / animSpeed; + turn rbturret to y-axis <-4.000000> speed <60.000000> / animSpeed; turn rfoot to x-axis <-0.670919> speed <694.579052> / animSpeed; turn rfoot to z-axis <2.975967> speed <152.078335> / animSpeed; turn rfoot to y-axis <0.538870> speed <39.012228> / animSpeed; @@ -205,24 +207,24 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn rlarm to z-axis <-2.739799> speed <20.465134> / animSpeed; turn ruparm to x-axis <35.631191> speed <254.115002> / animSpeed; turn ruparm to z-axis <3.827077> speed <77.052218> / animSpeed; - turn torso to x-axis <-0.0> speed <59.671177> / animSpeed; - turn torso to z-axis <-0.0> speed <6.274228> / animSpeed; - if (!isAiming) { + turn torso to x-axis <-0.000000> speed <59.671177> / animSpeed; + turn torso to z-axis <-0.000000> speed <6.274228> / animSpeed; + if (!bAiming) { turn llarm to y-axis <-0.050031> speed <4.682357> / animSpeed; turn luparm to y-axis <-0.226356> speed <10.762752> / animSpeed; turn rlarm to y-axis <0.736776> speed <4.682356> / animSpeed; turn ruparm to y-axis <1.804893> speed <10.762754> / animSpeed; - turn torso to y-axis <0.0> speed <180.108912> / animSpeed; + turn torso to y-axis <0.000000> speed <180.108912> / animSpeed; } sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:31 - turn head to x-axis <-0.0> speed <153.468472> / animSpeed; - turn head to z-axis <-0.0> speed <23.441488> / animSpeed; - turn head to y-axis <0.0> speed <238.810649> / animSpeed; - turn lbturret to x-axis <-2.0> speed <60.0> / animSpeed; - turn lbturret to z-axis <2.0> speed <30.0> / animSpeed; - turn lbturret to y-axis <-2.0> speed <30.0> / animSpeed; + if (bMoving) { //Frame:31 + turn head to x-axis <-0.000000> speed <153.468472> / animSpeed; + turn head to z-axis <-0.000000> speed <23.441488> / animSpeed; + turn head to y-axis <0.000000> speed <238.810649> / animSpeed; + turn lbturret to x-axis <-2.000000> speed <60.000000> / animSpeed; + turn lbturret to z-axis <2.000000> speed <30.000003> / animSpeed; + turn lbturret to y-axis <-2.000000> speed <30.000003> / animSpeed; turn lfoot to x-axis <13.534574> speed <325.561379> / animSpeed; turn lfoot to z-axis <3.784626> speed <123.269192> / animSpeed; turn lfoot to y-axis <15.811965> speed <394.163133> / animSpeed; @@ -233,9 +235,9 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn lthigh to z-axis <-1.420526> speed <147.904461> / animSpeed; turn lthigh to y-axis <-12.940526> speed <132.375802> / animSpeed; move pelvis to y-axis [1.070645] speed [32.119356] / animSpeed; - turn rbturret to x-axis <-2.0> speed <60.0> / animSpeed; - turn rbturret to z-axis <2.0> speed <60.0> / animSpeed; - turn rbturret to y-axis <-2.0> speed <60.0> / animSpeed; + turn rbturret to x-axis <-2.000000> speed <60.000000> / animSpeed; + turn rbturret to z-axis <2.000000> speed <60.000000> / animSpeed; + turn rbturret to y-axis <-2.000000> speed <60.000000> / animSpeed; turn rfoot to x-axis <-19.062489> speed <551.747115> / animSpeed; turn rfoot to z-axis <-14.793976> speed <533.098292> / animSpeed; turn rfoot to y-axis <-11.442735> speed <359.448172> / animSpeed; @@ -256,7 +258,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn ruparm to z-axis <10.117573> speed <188.714874> / animSpeed; turn torso to x-axis <-1.997258> speed <59.917736> / animSpeed; turn torso to z-axis <-0.104714> speed <3.141430> / animSpeed; - if(!isAiming) { + if(!bAiming) { turn llarm to y-axis <-0.393403> speed <10.301183> / animSpeed; turn luparm to y-axis <-1.015624> speed <23.678055> / animSpeed; turn rlarm to y-axis <0.393403> speed <10.301185> / animSpeed; @@ -265,13 +267,13 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations } sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:37 + if (bMoving) { //Frame:37 turn head to x-axis <5.115616> speed <153.468472> / animSpeed; turn head to z-axis <-0.781383> speed <23.441488> / animSpeed; turn head to y-axis <7.989644> speed <239.689310> / animSpeed; - turn lbturret to x-axis <3.0> speed <150.0> / animSpeed; - turn lbturret to z-axis <3.0> speed <30.0> / animSpeed; - turn lbturret to y-axis <-3.0> speed <30.0> / animSpeed; + turn lbturret to x-axis <3.000000> speed <150.000002> / animSpeed; + turn lbturret to z-axis <3.000000> speed <30.000003> / animSpeed; + turn lbturret to y-axis <-3.000000> speed <30.000003> / animSpeed; turn lfoot to x-axis <20.262972> speed <201.851940> / animSpeed; turn lfoot to z-axis <5.234529> speed <43.497095> / animSpeed; turn lfoot to y-axis <5.980149> speed <294.954471> / animSpeed; @@ -281,8 +283,8 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn lthigh to x-axis <-14.949358> speed <653.757601> / animSpeed; turn lthigh to z-axis <4.258544> speed <170.372099> / animSpeed; turn lthigh to y-axis <-9.720740> speed <96.593585> / animSpeed; - move pelvis to y-axis [0.0] speed [32.119356] / animSpeed; - turn rbturret to x-axis <3.0> speed <150.0> / animSpeed; + move pelvis to y-axis [0.000000] speed [32.119356] / animSpeed; + turn rbturret to x-axis <3.000000> speed <150.000002> / animSpeed; turn rfoot to x-axis <12.209921> speed <938.172313> / animSpeed; turn rfoot to z-axis <-12.785014> speed <60.268881> / animSpeed; turn rfoot to y-axis <-11.224617> speed <6.543560> / animSpeed; @@ -301,9 +303,9 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn rlarm to z-axis <0.261755> speed <45.023310> / animSpeed; turn ruparm to x-axis <-1.638990> speed <559.052727> / animSpeed; turn ruparm to z-axis <3.608069> speed <195.285123> / animSpeed; - turn torso to x-axis <-0.0> speed <59.917736> / animSpeed; - turn torso to z-axis <-0.0> speed <3.141430> / animSpeed; - if (!isAiming) { + turn torso to x-axis <-0.000000> speed <59.917736> / animSpeed; + turn torso to z-axis <-0.000000> speed <3.141430> / animSpeed; + if (!bAiming) { turn luparm to y-axis <-1.804893> speed <23.678055> / animSpeed; turn llarm to y-axis <-0.736776> speed <10.301184> / animSpeed; turn rlarm to y-axis <0.050031> speed <10.301184> / animSpeed; @@ -312,13 +314,13 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations } sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:43 + if (bMoving) { //Frame:43 turn head to x-axis <10.231231> speed <153.468472> / animSpeed; turn head to z-axis <-1.562766> speed <23.441488> / animSpeed; turn head to y-axis <11.629288> speed <109.189317> / animSpeed; - turn lbturret to x-axis <-2.0> speed <150.0> / animSpeed; - turn lbturret to z-axis <-2.0> speed <150.0> / animSpeed; - turn lbturret to y-axis <2.0> speed <150.0> / animSpeed; + turn lbturret to x-axis <-2.000000> speed <150.000002> / animSpeed; + turn lbturret to z-axis <-2.000000> speed <150.000002> / animSpeed; + turn lbturret to y-axis <2.000000> speed <150.000002> / animSpeed; turn lfoot to x-axis <21.491052> speed <36.842399> / animSpeed; turn lfoot to z-axis <0.548920> speed <140.568280> / animSpeed; turn lfoot to y-axis <3.951416> speed <60.861980> / animSpeed; @@ -331,8 +333,8 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn lthigh to x-axis <-23.540889> speed <257.745931> / animSpeed; turn lthigh to z-axis <5.882684> speed <48.724175> / animSpeed; turn lthigh to y-axis <-7.274906> speed <73.375006> / animSpeed; - move pelvis to y-axis [-2.0] speed [60.0] / animSpeed; - turn rbturret to x-axis <-2.0> speed <150.0> / animSpeed; + move pelvis to y-axis [-2.000000] speed [60.000000] / animSpeed; + turn rbturret to x-axis <-2.000000> speed <150.000002> / animSpeed; turn rfoot to x-axis <-21.107909> speed <999.534903> / animSpeed; turn rfoot to z-axis <-6.244135> speed <196.226370> / animSpeed; turn rfoot to y-axis <-1.188692> speed <301.077734> / animSpeed; @@ -351,7 +353,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn torso to x-axis <1.989039> speed <59.671177> / animSpeed; turn torso to z-axis <0.209141> speed <6.274228> / animSpeed; turn rlarm to z-axis <0.943926> speed <20.465139> / animSpeed; - if (!isAiming) { + if (!bAiming) { turn rlarm to y-axis <-0.106048> speed <4.682356> / animSpeed; turn luparm to y-axis <-2.163651> speed <10.762754> / animSpeed; turn ruparm to y-axis <-0.132403> speed <10.762751> / animSpeed; @@ -359,13 +361,13 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations } sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:49 + if (bMoving) { //Frame:49 turn head to x-axis <5.115616> speed <153.468472> / animSpeed; turn head to z-axis <-0.781383> speed <23.441488> / animSpeed; turn head to y-axis <5.814644> speed <174.439313> / animSpeed; - turn lbturret to x-axis <-4.0> speed <60.0> / animSpeed; - turn lbturret to z-axis <-4.0> speed <60.0> / animSpeed; - turn lbturret to y-axis <4.0> speed <60.0> / animSpeed; + turn lbturret to x-axis <-4.000000> speed <60.000000> / animSpeed; + turn lbturret to z-axis <-4.000000> speed <60.000000> / animSpeed; + turn lbturret to y-axis <4.000000> speed <60.000000> / animSpeed; turn lfoot to x-axis <-1.346246> speed <685.118927> / animSpeed; turn lfoot to z-axis <-3.097530> speed <109.393495> / animSpeed; turn lfoot to y-axis <1.727369> speed <66.721424> / animSpeed; @@ -375,8 +377,8 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn lthigh to x-axis <-3.443306> speed <602.927483> / animSpeed; turn lthigh to z-axis <9.741890> speed <115.776202> / animSpeed; turn lthigh to y-axis <-2.866482> speed <132.252737> / animSpeed; - move pelvis to y-axis [0.0] speed [60.0] / animSpeed; - turn rbturret to x-axis <-4.0> speed <60.0> / animSpeed; + move pelvis to y-axis [0.000000] speed [60.000000] / animSpeed; + turn rbturret to x-axis <-4.000000> speed <60.000000> / animSpeed; turn rfoot to x-axis <3.464713> speed <737.178672> / animSpeed; turn rfoot to z-axis <-13.821880> speed <227.332358> / animSpeed; turn rfoot to y-axis <11.706689> speed <386.861438> / animSpeed; @@ -395,24 +397,24 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn rlarm to z-axis <0.261755> speed <20.465145> / animSpeed; turn ruparm to x-axis <-1.638986> speed <254.115066> / animSpeed; turn ruparm to z-axis <3.504354> speed <72.836316> / animSpeed; - turn torso to x-axis <-0.0> speed <59.671177> / animSpeed; - turn torso to z-axis <-0.0> speed <6.274228> / animSpeed; - if (!isAiming) { + turn torso to x-axis <-0.000000> speed <59.671177> / animSpeed; + turn torso to z-axis <-0.000000> speed <6.274228> / animSpeed; + if (!bAiming) { turn luparm to y-axis <-1.804893> speed <10.762754> / animSpeed; turn llarm to y-axis <-0.736776> speed <4.682356> / animSpeed; turn rlarm to y-axis <0.050031> speed <4.682357> / animSpeed; turn ruparm to y-axis <0.226356> speed <10.762752> / animSpeed; - turn torso to y-axis <0.0> speed <180.108912> / animSpeed; + turn torso to y-axis <0.000000> speed <180.108912> / animSpeed; } sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:55 - turn head to x-axis <-0.0> speed <153.468472> / animSpeed; - turn head to z-axis <-0.0> speed <23.441488> / animSpeed; - turn head to y-axis <0.0> speed <174.439313> / animSpeed; - turn lbturret to x-axis <-2.0> speed <60.0> / animSpeed; - turn lbturret to z-axis <-2.0> speed <60.0> / animSpeed; - turn lbturret to y-axis <2.0> speed <60.0> / animSpeed; + if (bMoving) { //Frame:55 + turn head to x-axis <-0.000000> speed <153.468472> / animSpeed; + turn head to z-axis <-0.000000> speed <23.441488> / animSpeed; + turn head to y-axis <0.000000> speed <174.439313> / animSpeed; + turn lbturret to x-axis <-2.000000> speed <60.000000> / animSpeed; + turn lbturret to z-axis <-2.000000> speed <60.000000> / animSpeed; + turn lbturret to y-axis <2.000000> speed <60.000000> / animSpeed; turn lfoot to x-axis <-16.258053> speed <447.354219> / animSpeed; turn lfoot to z-axis <4.468625> speed <226.984652> / animSpeed; turn lfoot to y-axis <-4.157313> speed <176.540454> / animSpeed; @@ -423,7 +425,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn lthigh to z-axis <15.117084> speed <161.255797> / animSpeed; turn lthigh to y-axis <0.185975> speed <91.573685> / animSpeed; move pelvis to y-axis [1.070645] speed [32.119356] / animSpeed; - turn rbturret to x-axis <-2.0> speed <60.0> / animSpeed; + turn rbturret to x-axis <-2.000000> speed <60.000000> / animSpeed; turn rfoot to x-axis <15.484350> speed <360.589088> / animSpeed; turn rfoot to z-axis <-9.027691> speed <143.825675> / animSpeed; turn rfoot to y-axis <-6.166939> speed <536.208850> / animSpeed; @@ -444,7 +446,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn ruparm to z-axis <8.247604> speed <142.297502> / animSpeed; turn torso to x-axis <-1.997258> speed <59.917736> / animSpeed; turn torso to z-axis <0.104714> speed <3.141430> / animSpeed; - if (!isAiming) { + if (!bAiming) { turn llarm to y-axis <-0.393403> speed <10.301185> / animSpeed; turn luparm to y-axis <-1.015624> speed <23.678055> / animSpeed; turn rlarm to y-axis <0.393403> speed <10.301183> / animSpeed; @@ -455,15 +457,15 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations } } } -// Call this from StopMoving()! +// Call this from MotionControl()! StopWalking() { - move pelvis to y-axis [0] speed [10.0]; + move pelvis to y-axis [0] speed [10.000000]; turn head to x-axis <0> speed <25.578079>; turn head to y-axis <0> speed <39.948218>; turn head to z-axis <0> speed <3.906915>; - turn lbturret to x-axis <0> speed <25.0>; - turn lbturret to y-axis <0> speed <25.0>; - turn lbturret to z-axis <0> speed <25.0>; + turn lbturret to x-axis <0> speed <25.000000>; + turn lbturret to y-axis <0> speed <25.000000>; + turn lbturret to z-axis <0> speed <25.000000>; turn lfoot to x-axis <0> speed <189.177414>; turn lfoot to y-axis <0> speed <65.693855>; turn lfoot to z-axis <0> speed <37.830775>; @@ -479,9 +481,9 @@ StopWalking() { turn luparm to x-axis <0> speed <93.175496>; turn luparm to y-axis <0> speed <5.078121>; turn luparm to z-axis <0> speed <50.587864>; - turn rbturret to x-axis <0> speed <25.0>; - turn rbturret to y-axis <0> speed <25.0>; - turn rbturret to z-axis <0> speed <25.0>; + turn rbturret to x-axis <0> speed <25.000000>; + turn rbturret to y-axis <0> speed <25.000000>; + turn rbturret to z-axis <0> speed <25.000000>; turn rfoot to x-axis <0> speed <166.589151>; turn rfoot to y-axis <0> speed <128.560295>; turn rfoot to z-axis <0> speed <88.849715>; @@ -517,8 +519,8 @@ UnitSpeed(){ } Die(){ - signal SIGNAL_MOVE; - signal SIGNAL_AIM1; + signal SIG_WALK; + signal SIG_AIM; call-script StopWalking(); turn aimy1 to y-axis <0> speed <120>; turn aimx1 to x-axis <0> speed <120>; @@ -601,7 +603,7 @@ Die(){ turn rleg to y-axis <2.690476> speed <4.282613> ; //delta=0.71 turn rthigh to x-axis <17.095822> speed <45.201567> ; //delta=7.53 turn rthigh to z-axis <7.019100> speed <6.030912> ; //delta=-1.01 - turn rthigh to y-axis <-5.184667> speed <11.0> ; //delta=1.83 + turn rthigh to y-axis <-5.184667> speed <11.000338> ; //delta=1.83 turn ruparm to x-axis <12.174945> speed <19.223605> ; //delta=-3.20 turn ruparm to z-axis <8.566498> speed <13.526049> ; //delta=-2.25 turn ruparm to y-axis <-26.822885> speed <42.351923> ; //delta=-7.06 @@ -682,7 +684,7 @@ Die(){ turn rfoot to y-axis <-3.649921> speed <14.018222> ; //delta=-2.80 turn rlarm to y-axis <-19.013512> speed <16.297292> ; //delta=-3.26 turn rleg to x-axis <-11.830570> speed <74.893848> ; //delta=14.98 - turn rleg to z-axis <10.0> speed <38.230718> ; //delta=-7.65 + turn rleg to z-axis <10.000568> speed <38.230718> ; //delta=-7.65 turn rleg to y-axis <1.343435> speed <6.131581> ; //delta=1.23 turn rthigh to x-axis <14.475478> speed <9.200589> ; //delta=1.84 turn rthigh to z-axis <-3.123860> speed <9.553801> ; //delta=1.91 @@ -820,11 +822,11 @@ Die(){ } -StartMoving(reversing) +StartMoving() { - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; - isMoving = TRUE; + signal SIG_WALK; + set-signal-mask SIG_WALK; + bMoving = TRUE; start-script Walk(); start-script UnitSpeed(); } @@ -832,11 +834,41 @@ StartMoving(reversing) StopMoving() { - signal SIGNAL_MOVE; + signal SIG_WALK; start-script StopWalking(); - isMoving = FALSE; + bMoving = FALSE; } +SmokeUnit(healthpercent, sleeptime, smoketype) +{ + var Func_Var_4; + while( get BUILD_PERCENT_LEFT ) + { + sleep 400; + } + while( TRUE ) + { + healthpercent = get HEALTH; + if( healthpercent < 66 ) + { + smoketype = 256 | 2; + if( Rand( 1, 66 ) < healthpercent ) + { + smoketype = 256 | 1; + } + + emit-sfx smoketype from torso; + + } + sleeptime = healthpercent * 50; + if( sleeptime < 200 ) + { + sleeptime = 200; + } + sleep sleeptime; + } + return (0); +} #define BASEPIECE pelvis @@ -844,8 +876,27 @@ StopMoving() //how 'heavy' the unit is, on a scale of 1-10 #define UNITSIZE 10 #define MAXTILT 100 +HitByWeapon(anglex, anglez, damage) // angle[x|z] is always [-500;500], damage is multiplied by 100 +{ + var amount;//, speedz, speedx; + amount = damage / (100 * UNITSIZE); + if (amount < 3 ) return (0); + if (amount > MAXTILT) amount = MAXTILT; + //get PRINT(anglex, anglez, amount, damage); + //speedz = HITSPEED * get ABS(anglez) / 500; //nevermind this, the random error this produces actually looks better than the accurate version + turn BASEPIECE to z-axis (anglez * amount) / 100 speed HITSPEED; + turn BASEPIECE to x-axis <0> - (anglex * amount) /100 speed HITSPEED; + wait-for-turn BASEPIECE around z-axis; + wait-for-turn BASEPIECE around x-axis; + turn BASEPIECE to z-axis <0.000000> speed HITSPEED / 4; + turn BASEPIECE to x-axis <0.000000> speed HITSPEED / 4; +} +HitByWeaponId(anglex, anglez, weaponid, dmg) //weaponID is always 0,lasers and flamers give angles of 0 +{ + start-script HitByWeapon(dmg, anglez,anglex); //I dont know why param order must be switched, and this also runs a frame later :( + return (100); //return damage percent +} -#include "../unit_hitbyweaponid_and_smoke.h" Create() { @@ -865,8 +916,8 @@ Create() shotcount = 0; lightcount1 = 0; lightcount2 = 0; - isMoving = FALSE; - isAiming = FALSE; + bMoving = FALSE; + bAiming = FALSE; animSpeed = 6; turn rbflare to x-axis <-130> now; @@ -874,66 +925,74 @@ Create() turn rbflare to y-axis <35> now; turn lbflare to y-axis <-35> now; - SLEEP_UNTIL_UNITFINISHED; + while( get BUILD_PERCENT_LEFT ) + { + sleep 1000; + } + start-script SmokeUnit(); return (0); } +SweetSpot(piecenum) +{ + piecenum = torso; + return (0); +} - -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { if( gun_1 == 1 ) { - pieceIndex = lfflare1; + piecenum = lfflare1; return (0); } if( gun_1 == 2 ) { - pieceIndex = rfflare1; + piecenum = rfflare1; return (0); } if( gun_1 == 3 ) { - pieceIndex = lfflare2; + piecenum = lfflare2; return (0); } if( gun_1 == 4 ) { - pieceIndex = rfflare2; + piecenum = rfflare2; return (0); } } -QueryWeapon2(pieceIndex) +QuerySecondary(piecenum) { if( gun_2 == 0 ) { - pieceIndex = aaflarel; + piecenum = aaflarel; return (0); } if( gun_2 == 1 ) { - pieceIndex = aaflarer; + piecenum = aaflarer; return (0); } } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = torso; + piecenum = torso; return (0); } -AimFromWeapon2(pieceIndex) +AimFromSecondary(piecenum) { if( gun_2 == 1 ) { - pieceIndex = aaflarel; + piecenum = aaflarel; return (0); } if( gun_2 == 0 ) { - pieceIndex = aaflarer; + piecenum = aaflarer; return (0); } } @@ -941,15 +1000,15 @@ AimFromWeapon2(pieceIndex) RestoreAfterDelay() { sleep 1000; - isAiming = FALSE; + bAiming = FALSE; isfiring = 0; targetswap = 0; - turn aimx1 to x-axis <0.0> speed <80.0>; - turn aimy1 to y-axis <0.0> speed <80.0>; - turn aaturretl to x-axis <0.0> speed <80.0>; - turn aaturretl to y-axis <0.0> speed <80.0>; - turn aaturretr to x-axis <0.0> speed <80.0>; - turn aaturretr to y-axis <0.0> speed <80.0>; + turn aimx1 to x-axis <0.000000> speed <80.000000>; + turn aimy1 to y-axis <0.000000> speed <80.000000>; + turn aaturretl to x-axis <0.000000> speed <80.000000>; + turn aaturretl to y-axis <0.000000> speed <80.000000>; + turn aaturretr to x-axis <0.000000> speed <80.000000>; + turn aaturretr to y-axis <0.000000> speed <80.000000>; } lua_UnitScriptLight(lightIndex, count) @@ -1010,14 +1069,14 @@ SweepFire() return (0); } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; - isAiming = TRUE; + signal SIG_AIM; + set-signal-mask SIG_AIM; + bAiming = TRUE; start-script SmokeItUp(); - turn aimy1 to y-axis heading speed <130.0>; - turn aimx1 to x-axis <0.0> - pitch speed <120.0>; + turn aimy1 to y-axis heading speed <130.000000>; + turn aimx1 to x-axis <0.000000> - pitch speed <120.000000>; if ( (oldheading - heading) > 5000 AND targetswap <= 0) { targetswap = (oldheading - heading)/3034; @@ -1059,10 +1118,10 @@ AimWeapon1(heading, pitch) return (1); } -AimWeapon2(heading, pitch) +AimSecondary(heading, pitch) { - signal SIGNAL_AIM2; - set-signal-mask SIGNAL_AIM2; + signal SIG_AIM_2; + set-signal-mask SIG_AIM_2; turn aaturretl to y-axis heading speed <192.500000>; turn aaturretr to y-axis heading speed <192.500000>; turn boxl to x-axis -1*pitch speed <90>; @@ -1076,9 +1135,9 @@ AimWeapon2(heading, pitch) Shot1() { - signal SIGNAL_SHOOT1; + signal SIG_FIRE1; - set-signal-mask SIGNAL_SHOOT1; + set-signal-mask SIG_FIRE1; call-script lua_FlameShot(1); emit-sfx 1024 + 0 from lfflare2; emit-sfx 1024 + 0 from rfflare1; @@ -1128,29 +1187,29 @@ Shot1() } } -FireWeapon1() +FirePrimary() { return(1); } -FireWeapon2() +FireSecondary() { if( gun_2 == 0 ) { turn aimy1 to x-axis <-1> now; // dont always do this turn aimy1 to x-axis <0> speed <5>; - move lfbarrel1 to z-axis [-1] speed [750.0]; + move lfbarrel1 to z-axis [-1] speed [750.000000]; sleep 150; - move lfbarrel1 to z-axis [0.0] speed [8.750000]; + move lfbarrel1 to z-axis [0.000000] speed [8.750000]; } if( gun_2 == 1 ) { - move rfbarrel1 to z-axis [-1] speed [750.0]; + move rfbarrel1 to z-axis [-1] speed [750.000000]; sleep 150; - move rfbarrel1 to z-axis [0.0] speed [8.750000]; + move rfbarrel1 to z-axis [0.000000] speed [8.750000]; } gun_2 = !gun_2; return (0); @@ -1165,11 +1224,30 @@ Killed(severity, corpsetype) explode pelvis type BITMAPONLY | NOHEATCLOUD; explode rthigh type BITMAPONLY | NOHEATCLOUD; explode rleg type BITMAPONLY | NOHEATCLOUD; + //explode rfoot type BITMAPONLY | NOHEATCLOUD; + //explode lthigh type BITMAPONLY | NOHEATCLOUD; + //explode lleg type BITMAPONLY | NOHEATCLOUD; + //explode lfoot type BITMAPONLY | NOHEATCLOUD; explode torso type BITMAPONLY | NOHEATCLOUD; + //explode lbturret type BITMAPONLY | NOHEATCLOUD; + //explode lbbarrel1 type BITMAPONLY | NOHEATCLOUD; explode lbbarrel2 type BITMAPONLY | NOHEATCLOUD; + //explode lbflare type BITMAPONLY | NOHEATCLOUD; + //explode rbturret type BITMAPONLY | NOHEATCLOUD; + //explode rbbarrel2 type BITMAPONLY | NOHEATCLOUD; + //explode rbflare type BITMAPONLY | NOHEATCLOUD; + //explode rbbarrel1 type BITMAPONLY | NOHEATCLOUD; explode luparm type BITMAPONLY | NOHEATCLOUD; + //explode llarm type BITMAPONLY | NOHEATCLOUD; + //explode lfflare2 type BITMAPONLY | NOHEATCLOUD; + //explode lfbarrel1 type BITMAPONLY | NOHEATCLOUD; + //explode lfflare1 type BITMAPONLY | NOHEATCLOUD; + //explode ruparm type BITMAPONLY | NOHEATCLOUD; explode rlarm type BITMAPONLY | NOHEATCLOUD; explode rfbarrel1 type BITMAPONLY | NOHEATCLOUD; + //explode rfflare1 type BITMAPONLY | NOHEATCLOUD; + //explode rfbarrel2 type BITMAPONLY | NOHEATCLOUD; + //explode rfflare2 type BITMAPONLY | NOHEATCLOUD; explode head type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } @@ -1179,10 +1257,31 @@ Killed(severity, corpsetype) explode pelvis type BITMAPONLY | NOHEATCLOUD; explode rthigh type FIRE | SMOKE | FALL | NOHEATCLOUD; explode rleg type FALL | NOHEATCLOUD; + //explode rfoot type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lthigh type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lleg type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lfoot type FIRE | SMOKE | FALL | NOHEATCLOUD; explode torso type FALL | NOHEATCLOUD; + //explode lbturret type FALL | NOHEATCLOUD; + //explode lbbarrel1 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lbbarrel2 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lbflare type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rbturret type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rbbarrel2 type FALL | NOHEATCLOUD; + //explode rbflare type FIRE | SMOKE | FALL | NOHEATCLOUD; explode rbbarrel1 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode luparm type FALL | NOHEATCLOUD; + //explode llarm type FALL | NOHEATCLOUD; + //explode lfbarrel2 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lfflare2 type FALL | NOHEATCLOUD; + //explode lfbarrel1 type FALL | NOHEATCLOUD; + //explode lfflare1 type FIRE | SMOKE | FALL | NOHEATCLOUD; explode ruparm type FIRE | SMOKE | FALL | NOHEATCLOUD; explode rlarm type FALL | NOHEATCLOUD; + //explode rfbarrel1 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rfflare1 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rfbarrel2 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rfflare2 type FIRE | SMOKE | FALL | NOHEATCLOUD; explode head type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } @@ -1190,23 +1289,65 @@ Killed(severity, corpsetype) { corpsetype = 2 ; explode pelvis type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rthigh type SMOKE | FALL | NOHEATCLOUD; + //explode rleg type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rfoot type FIRE | SMOKE | FALL | NOHEATCLOUD; explode lthigh type SMOKE | FALL | NOHEATCLOUD; + //explode lleg type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lfoot type FIRE | SMOKE | FALL | NOHEATCLOUD; explode torso type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; explode lbturret type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode lbbarrel1 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lbbarrel2 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lbflare type SMOKE | FALL | NOHEATCLOUD; + //explode rbturret type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rbbarrel2 type SMOKE | FALL | NOHEATCLOUD; + //explode rbflare type SMOKE | FALL | NOHEATCLOUD; + //explode rbbarrel1 type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; explode luparm type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode llarm type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode lfbarrel2 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lfflare2 type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode lfbarrel1 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lfflare1 type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; explode ruparm type SMOKE | FALL | NOHEATCLOUD; explode rlarm type SMOKE | FALL | NOHEATCLOUD; explode rfbarrel1 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rfflare1 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rfbarrel2 type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode rfflare2 type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; explode head type SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 2 ; explode pelvis type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rthigh type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rleg type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode rfoot type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lthigh type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode lleg type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode lfoot type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode torso type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode lbturret type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode lbbarrel1 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode lbbarrel2 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode lbflare type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode rbturret type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode rbbarrel2 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode rbflare type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode rbbarrel1 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode luparm type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode llarm type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lfbarrel2 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode lfflare2 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lfbarrel1 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode lfflare1 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode ruparm type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode rlarm type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode rfbarrel1 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rfflare1 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rfbarrel2 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rfflare2 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode head type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/cordemon.cob b/scripts/Units/cordemon.cob index d923175be198777aeeb72009d8bc8fff36fdc64f..f34a15b689dda2ae4710dd4b72236cfaefa045c0 100644 GIT binary patch literal 32234 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

      nf*JL@+G7UMy8vk>xjt``*BK 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 literal 31039 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 + signal SIG_AIM; + set-signal-mask SIG_AIM; + turn turret to y-axis heading speed <200.000000>; wait-for-turn turret around y-axis; return (1); } -FireWeapon1() +FirePrimary() { sleep 500; return (0); } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = flare; + piecenum = flare; return (0); } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = flare; + piecenum = flare; return (0); } - +SweetSpot(piecenum) +{ + piecenum = turret; + return (0); +} Killed(severity, corpsetype) { diff --git a/scripts/Units/cordl.cob b/scripts/Units/cordl.cob index f1c59ae55b04cddbee8fd3af8a152e240125f02a..47a50f3c669c0c1c594eec6b6d5e4a00f011fbe0 100644 GIT binary patch literal 1965 zcmcgtJ&RL86uo(gZ^c5!PP+%TTRg0`Tq7)sO*BX>^VW>;Fkg&skrWHDwb({ML<>9h z5BLLYZTtyVmSQ1dC7v^H?#mF(vTI?&;oiBQXYSmPj)~l7nPoSW0;^hkkF1r04ZV?kb=0g33NG(y6lE5ejJC^`3w8 zX&xo-&bcz5cj0VaK=9n*IqUdYQss;&>FZJnGjhRJcw5WYqT0#pnhm!wXZo7@;XMu` z8|TcJxZf2TFeAz9`sCX1FyM$UL-c*027ilz-|Bae-PAk}_GHa|H`pPXnZ*0XUKi-Y zJUFAbP-*kKf_ssHa$=bD>iu~i;^@CgT`G zsqd+8>VH#n^n>5)%UaKmqF&fj&z<>*RGm50S(EyA9>V--)?Qj$-;L+f`dNBYKJTJ) zVeLySo`v5h5^2+XN}jVImyj~V-k2@VX_N1`JkE{%8N)lrT>M@JF1HcD`aV9d<2UtV zDf&o?@+=MDN!|bMg1!uP@>hn>DUm2i7gr g*MDSf)t}EQxmk|Kb|m}7Lo3yRbGDNE>;;Q7LO{zDe!n~S?2bdox^OtJ?>z4rwqs^i2JfvcAN|6?z{Ly z&UeEuxY_;W@1W~WnE}yvPAs$d-F}hi`TRCr_uBxDE#^!&^sQ#|8er%H9%}@?2*2g( z_I@UR3*dfrBevKLd&%Ce**%tgm*i)!><#?KgvU&uwr=C^fE3Jvi&%KX^dyU-4bWEg zO&jvdO3rpByE5G{E=bZ?CO+C!7x@p0`fAof=T7STA(i(s%}=lO9h@e%SM6~{HHoJ* z`QhmA#4XH@XLr5nkA0>1<~zq-r#kmi9iO9_hjP^2MNnP$yM9!i2gIa0&r%(}jict# z^ZZvGdYYE&Z6lZK&7Of>6nzl=79EJ@)$b|MS -#define CATT1_ACCELERATION <0.16> -#define CATT1_JERK <0.5> -#define CATT1_PRECISION <1.2> -#define CATT1_RESTORE_SPEED <1.0> -#define CATT1_PITCH_SPEED <85> - -#include "../constant_acceleration_turret_turning_1.h" - +#define MAX_AIMY1_VELOCITY <3.00> +#define AIMY1_ACCELERATION <0.16> +#define AIMY1_JERK <0.5> +#define AIMY1_PRECISION <1.2> +#define AIMY1_RESTORE_SPEED <1.0> -#define CATT2_PIECE_X turretg -#define CATT2_PIECE_Y body1 +static-var timetozero, deceleratethreshold; +static-var Stunned; -#define CATT2_MAX_VELOCITY <6.0> -#define CATT2_ACCELERATION <0.4> -#define CATT2_JERK <1.5> -#define CATT2_PRECISION <1.2> -#define CATT2_RESTORE_SPEED <1.0> -#define CATT2_PITCH_SPEED <150> +static-var aimy1delta, aimy1velocity, aimy1target, aimy1position, gameFrame1; -#include "../constant_acceleration_turret_turning_2.h" +#define MAX_AIMY2_VELOCITY <6.00> +#define AIMY2_ACCELERATION <0.4> +#define AIMY2_JERK <1.2> +#define AIMY2_PRECISION <1.2> +#define AIMY2_RESTORE_SPEED <1.0> +static-var aimy2delta, aimy2velocity, aimy2target, aimy2position, gameFrame2; -Open() +activatescr() { - set ARMORED to 0; - - move body1 to y-axis [0] speed [90]; - move body2 to y-axis [0] speed [90]; - wait-for-move body1 along y-axis; - - move body2 to y-axis [0] speed [90]; - wait-for-move body2 along y-axis; - - move borer to z-axis [0] speed [30]; - move barrelr to z-axis [0] speed [20]; + if( TRUE ) + { + move body1 to y-axis [0] speed [90]; + move body2 to y-axis [0] speed [90]; + wait-for-move body1 along y-axis; + } + if( TRUE ) + { + move body2 to y-axis [0] speed [90]; + wait-for-move body2 along y-axis; + } + if( TRUE ) + { + move borer to z-axis [0] speed [30]; + move barrelr to z-axis [0] speed [20]; - turn turretg to x-axis <0> speed <180>; - - move boreg to z-axis [0] speed [24]; - move barrelg to z-axis [0] speed [10]; + turn turretg to x-axis <0> speed <180>; + + move boreg to z-axis [0] speed [24]; + move barrelg to z-axis [0] speed [10]; turn turretb to x-axis <0> speed <180>; @@ -70,24 +67,29 @@ Open() wait-for-turn turretb around x-axis; wait-for-move borer along y-axis; wait-for-turn turretg around x-axis; - + } sleep 22; - isOpen = TRUE; + closed = FALSE; } -Close() +deactivatescr() { - isOpen = FALSE; - + closed = TRUE; + if( TRUE ) + { turn turretb to x-axis <0> speed <180>; turn turretg to x-axis <0> speed <180>; turn turretr to y-axis <0> speed <180>; turn body1 to y-axis <0> speed <180>; + aimy1position = 0; turn body2 to y-axis <0> speed <180>; + aimy2position = 0; wait-for-turn turretb around x-axis; wait-for-turn turretg around x-axis; wait-for-turn turretr around x-axis; - + } + if( TRUE ) + { turn turretb to x-axis <180> speed <180>; move boreb to z-axis [-9] speed [14]; @@ -103,24 +105,75 @@ Close() wait-for-turn turretb around x-axis; wait-for-move borer along y-axis; wait-for-turn turretg around x-axis; - + } + if( TRUE ) + { move body2 to y-axis [-7] speed [90]; wait-for-move body2 along y-axis; - + } + if( TRUE ) + { move body1 to y-axis [-14] speed [90]; move body2 to y-axis [-24] speed [90]; wait-for-move body1 along y-axis; - + } + wait-for-turn body1 around x-axis; wait-for-turn body2 around x-axis; sleep 22; +} + + +Go() +{ + + set ARMORED to 0; + if( !Static_Var_3 ) + { + call-script activatescr(); + } + Static_Var_3 = 1; +} +Stop() +{ + Static_Var_3 = 0; + call-script deactivatescr(); set ARMORED to 1; - - start-script CATT1_Init(); - start-script CATT2_Init(); + } +InitState() +{ + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; +} + +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + call-script Go(); + currentstate = 0; + } + if( statechg_DesiredState == 1 ) + { + call-script Stop(); + currentstate = 1; + } + } + statechg_StateChanging = FALSE; +} Create() { @@ -134,115 +187,272 @@ Create() hide flareb; hide flareg; gun_3 = 0; - isOpen = TRUE; + closed = FALSE; + call-script InitState(); + Static_Var_3 = 0; restore_delay = 2000; - SLEEP_UNTIL_UNITFINISHED; - start-script OpenCloseAnim(1); - start-script CATT1_Init(); - start-script CATT2_Init(); + while( get BUILD_PERCENT_LEFT ) + { + sleep 250; + } + start-script RequestState(0); } - -#define BASEPIECE base -#define MAXTILT 0 -#include "../unit_hitbyweaponid_and_smoke.h" +#define SMOKEPIECE base +#include "smokeunit_thread_nohit.h" Activate() { - start-script OpenCloseAnim(1); + start-script RequestState(0); } Deactivate() { - signal SIGNAL_AIM1; - signal SIGNAL_AIM2; - signal SIGNAL_AIM3; - - start-script OpenCloseAnim(0); + signal SIG_AIM; + signal SIG_AIM_2; + signal SIG_AIM_3; + start-script RequestState(1); } -SetMaxReloadTime(reloadMS) +SetMaxReloadTime(Func_Var_1) { - restore_delay = reloadMS * 4; + restore_delay = Func_Var_1 * 4; } AimWeapon1(heading, pitch) { - if (!isOpen) + if (closed == TRUE) { return (0); } - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; + //We can do this any time + turn turretb to x-axis <0.000000> - pitch speed <85.000000>; - call-script CATT1_Aim(heading,pitch); + aimy1target = heading; + aimy1delta = aimy1target - aimy1position; + + while( ( get ABS(aimy1delta) > AIMY1_PRECISION ) OR (get ABS(aimy1velocity) > AIMY1_JERK)){ + if (gameFrame1 != get(GAME_FRAME)){ //this is to make sure we dont get double-called, as previous aimweapon thread runs before new aimweaponthread can signal-kill previous one + gameFrame1 = get(GAME_FRAME); + + //Clamp aimy1position and aimy1delta between <-180>;<180> + while (aimy1position > <180>) aimy1position = aimy1position - <360>; + while (aimy1position < <-180>) aimy1position = aimy1position + <360>; + while (aimy1delta > <180>) aimy1delta = aimy1delta - <360>; + while (aimy1delta < <-180>) aimy1delta = aimy1delta + <360>; + + //number of frames required to decelerate to 0 + timetozero = get ABS(aimy1velocity) / AIMY1_ACCELERATION; + + //distance from target where we should start decelerating, always 'positive' + //pos = t * v - (t*(t-1)*a/2) + deceleratethreshold = timetozero * (get ABS(aimy1velocity)) - (timetozero * (timetozero - 1) * AIMY1_ACCELERATION / 2); + + //get PRINT ( aimy1delta , deceleratethreshold, aimy1velocity, timetozero ); + + if (get ABS(aimy1delta) <= deceleratethreshold){ //we need to decelerate + if (aimy1velocity > 0) aimy1velocity = aimy1velocity - AIMY1_ACCELERATION; + else aimy1velocity = aimy1velocity + AIMY1_ACCELERATION; + } + else //we need to accelerate + { + if (aimy1delta > 0) aimy1velocity = get MIN( MAX_AIMY1_VELOCITY, aimy1velocity + AIMY1_ACCELERATION); + else aimy1velocity = get MAX((-1) * MAX_AIMY1_VELOCITY, aimy1velocity - AIMY1_ACCELERATION); + } + + //Apply jerk at very low velocities + if (get ABS(aimy1velocity) < AIMY1_JERK){ + if ((aimy1delta > AIMY1_JERK)) aimy1velocity = AIMY1_JERK; + if ((aimy1delta < (-1) * AIMY1_JERK)) aimy1velocity = (-1) * AIMY1_JERK; + } + + aimy1position = aimy1position + aimy1velocity; + turn body2 to y-axis aimy1position now; + aimy1delta = aimy1target - aimy1position ; + } + sleep 30; + } + aimy1velocity = 0; return (1); } AimWeapon2(heading, pitch) { - if (!isOpen) + if (closed == TRUE) { return (0); } - signal SIGNAL_AIM2; - set-signal-mask SIGNAL_AIM2; + signal SIG_AIM_2; + set-signal-mask SIG_AIM_2; + //We can do this any time + turn turretg to x-axis <0.000000> - pitch speed <85.000000>; + + aimy2target = heading; + aimy2delta = aimy2target - aimy2position; + + + while( ( get ABS(aimy2delta) > AIMY2_PRECISION ) OR (get ABS(aimy2velocity) > AIMY2_JERK)){ + if (gameFrame2 != get(GAME_FRAME)){ //this is to make sure we dont get double-called, as previous aimweapon thread runs before new aimweaponthread can signal-kill previous one + gameFrame2 = get(GAME_FRAME); - call-script CATT2_Aim(heading,pitch); + //Clamp aimy2position and aimy2delta between <-180>;<180> + while (aimy2position > <180>) aimy2position = aimy2position - <360>; + while (aimy2position < <-180>) aimy2position = aimy2position + <360>; + while (aimy2delta > <180>) aimy2delta = aimy2delta - <360>; + while (aimy2delta < <-180>) aimy2delta = aimy2delta + <360>; + + //number of frames required to decelerate to 0 + timetozero = get ABS(aimy2velocity) / AIMY2_ACCELERATION; + + //distance from target where we should start decelerating, always 'positive' + //pos = t * v - (t*(t-1)*a/2) + deceleratethreshold = timetozero * (get ABS(aimy2velocity)) - (timetozero * (timetozero - 1) * AIMY2_ACCELERATION / 2); + + //get PRINT ( aimy2delta , deceleratethreshold, aimy2velocity, timetozero ); + + if (get ABS(aimy2delta) <= deceleratethreshold){ //we need to decelerate + if (aimy2velocity > 0) aimy2velocity = aimy2velocity - AIMY2_ACCELERATION; + else aimy2velocity = aimy2velocity + AIMY2_ACCELERATION; + } + else //we need to accelerate + { + if (aimy2delta > 0) aimy2velocity = get MIN( MAX_AIMY2_VELOCITY, aimy2velocity + AIMY2_ACCELERATION); + else aimy2velocity = get MAX((-1) * MAX_AIMY2_VELOCITY, aimy2velocity - AIMY2_ACCELERATION); + } + + //Apply jerk at very low velocities + if (get ABS(aimy2velocity) < AIMY2_JERK){ + if ((aimy2delta > AIMY2_JERK)) aimy2velocity = AIMY2_JERK; + if ((aimy2delta < (-1) * AIMY2_JERK)) aimy2velocity = (-1) * AIMY2_JERK; + } + + aimy2position = aimy2position + aimy2velocity; + turn body1 to y-axis aimy2position now; + aimy2delta = aimy2target - aimy2position ; + } + sleep 30; + } + aimy2velocity = 0; return (1); } -AimWeapon3(heading, pitch) + +/* +AimPrimary(heading, pitch) { - signal SIGNAL_AIM3; - set-signal-mask SIGNAL_AIM3; - if (!isOpen) + signal SIG_AIM; + set-signal-mask SIG_AIM; + while( !Static_Var_3 ) { - return (0); - } - turn turretr to y-axis heading speed <500.0>; + sleep 250; + } + turn body2 to y-axis heading speed <50.000000>; + turn turretb to x-axis <0.0> - pitch speed <50.000000>; + wait-for-turn body2 around y-axis; + wait-for-turn turretb around x-axis; + return (1); +} + +AimSecondary(heading, pitch) +{ + signal SIG_AIM_2; + set-signal-mask SIG_AIM_2; + while( !Static_Var_3 ) + { + sleep 250; + } + turn body1 to y-axis heading speed <200.000000>; + turn turretg to x-axis <0.000000> - pitch speed <200.000000>; + wait-for-turn body1 around y-axis; + wait-for-turn turretg around x-axis; + return (1); +}*/ + +AimTertiary(heading, pitch) +{ + signal SIG_AIM_3; + set-signal-mask SIG_AIM_3; + while( !Static_Var_3 ) + { + sleep 250; + } + turn turretr to y-axis heading speed <500.000000>; wait-for-turn turretr around y-axis; return (1); } -FireWeapon3() +FirePrimary() { - gun_3 = !gun_3; + sleep 150; +} + +FireSecondary() +{ + sleep 150; +} + +FireTertiary() +{ + if( gun_3 == 0 ) + { + gun_3 = 1; + return (0); + } + else + { + + gun_3 = 0 ; + return (0); + } } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = aimpoint; + piecenum = aimpoint; } -AimFromWeapon2(pieceIndex) +AimFromSecondary(piecenum) { - pieceIndex = body1; + piecenum = body1; } -AimFromWeapon3(pieceIndex) +AimFromTertiary(piecenum) { - pieceIndex = turretr; + piecenum = turretr; } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = flareb; + piecenum = flareb; } -QueryWeapon2(pieceIndex) +QuerySecondary(piecenum) { - pieceIndex = flareg; + piecenum = flareg; } -QueryWeapon3(pieceIndex) +QueryTertiary(piecenum) { - pieceIndex = flarer1 + gun_3; + if( gun_3 == 0 ) + { + piecenum = flarer1; + } + else + { + piecenum = flarer2; + } + } +SweetSpot(piecenum) +{ + piecenum = base; +} Killed(severity, corpsetype) { diff --git a/scripts/Units/cordoom.cob b/scripts/Units/cordoom.cob index dda2dcc5661350e1da840a8db330e27edd662a4f..b326fc080cbd54975367d00a2f703f3c47457486 100644 GIT binary patch literal 9654 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 diff --git a/scripts/Units/cordrag.bos b/scripts/Units/cordrag.bos index 505af52f465..d5e4800870d 100644 --- a/scripts/Units/cordrag.bos +++ b/scripts/Units/cordrag.bos @@ -1,5 +1,7 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base; diff --git a/scripts/Units/cordrone.bos b/scripts/Units/cordrone.bos index 6b5b39c35bb..4a014611dec 100644 --- a/scripts/Units/cordrone.bos +++ b/scripts/Units/cordrone.bos @@ -1,11 +1,13 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, lflare, rflare, thrusta, thrustb; -#define SIGNAL_AIM1 256 +#define SIG_AIM 2 #define BASEPIECE base #define HITSPEED <105.0> @@ -22,7 +24,10 @@ Create() hide rflare; hide thrusta; hide thrustb; - SLEEP_UNTIL_UNITFINISHED; + while( get BUILD_PERCENT_LEFT ) + { + sleep 400; + } } Activate() @@ -37,56 +42,74 @@ Deactivate() hide thrustb; } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { if (gun_1==0) { - pieceIndex = lflare; + piecenum = lflare; sleep 500; gun_1=1; } else { - pieceIndex = rflare; + piecenum = rflare; sleep 500; gun_1=0; } } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { if (gun_1==0) { - pieceIndex = lflare; + piecenum = lflare; } else { - pieceIndex = rflare; + piecenum = rflare; } } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; while( 255 > heading ) { - set HEADING to (0 - 1500 + get HEADING); + set UNKNOWN_UNIT_VALUE(82) to 0 - 1500 + get UNKNOWN_UNIT_VALUE(82); heading = heading + 1500; sleep 1; } while( heading > 255 ) { - set HEADING to (1500 + get HEADING); + set UNKNOWN_UNIT_VALUE(82) to 1500 + get UNKNOWN_UNIT_VALUE(82); heading = heading - 1500; sleep 1; } return (1); } -FireWeapon1() +PostFire() +{ + if (gun_1==0) + { + show lflare; + sleep 200; + hide lflare; + } + else + { + show rflare; + sleep 200; + hide rflare; + } + +} + +FirePrimary() { - gun_1 = !gun_1; + start-script PostFire(); + return (1); } Killed(severity, corpsetype) diff --git a/scripts/Units/cordrone.cob b/scripts/Units/cordrone.cob index 7c41dc3dfe8bca9f90ac303f5747cca4624eb2fb..9b0af94a375785d974a282c1825c9dbeb0066853 100644 GIT binary patch literal 1553 zcmbVMF-+S~5WOUhNu&y=gpVr)HZlL^?CvmPw#pK~2}Mh3ol;bMo})N2@d_+377*twu5`;y1bddDC8Md|-XDYEvCq*tE(3u4@};w+3^|G|Aq(6T+4 zvv*`#;OLOS_TWBShj@Jk)UNlp3AbKP4a$84x6aL8x}M4hU6c6qJXQnV%cML1Nga4Y ztRv?I*L-vOW-;><#!$m~-mTFXOYHoOZ+yEbYn7jOLeyvQl665j|G#kAoAo@C>Iq!D zfRzE}Zf2^P2MBRb0joK?-}RxMI^S#7IleXuxtIDM%12`E>97y9(C7c2`i1kUahi@b z);S%sP6vMv9;!oU{uCY5{1h%b^hchV$K)Lcz%1|{_zZjpPJuIkzn5QuZ@>@W7&r%h z0l$HNz$I`6+yD(ct}d{Y#Zey1!djl}(Rmw3>VDjfv;8njhEcXJ3(0Uf+aA`I>W15+ ld^yQt;U5itNYXT3m(^$#OS+LpNN1(Vx3b+)9!Y6e;?$?KTsVLNDKrFSOpjo*aVt^Opv-DD6R7A|Nlu$F^uyk$1(*oHc#HjB+kOH zfK_0!1Ea)b7iJm8Lz5Gk#YGkXl`{yigN*`d2k|E>u!>A}VBxVa0!b=B%)bF-f)p?T zX(j_E0g(G)8juZ`0~CiEAffXPs)(6@raqXa6D%SaPMQXh)UjFwWUK<>5@1kO191xw z_XF`9AYKi`+kp5G5T69%b3l9*i0=UL6PC$+tV+7!sfh*od4>#*nYnI7`MF437}G7Y MC>6?{{ESr_0GK;QC;$Ke diff --git a/scripts/Units/cordronecarry.bos b/scripts/Units/cordronecarry.bos index 14769f2e9de..8704c05ccff 100644 --- a/scripts/Units/cordronecarry.bos +++ b/scripts/Units/cordronecarry.bos @@ -1,32 +1,28 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece ground, base, radar, nano1, nano2, wake1, wake2, blink, drone1, drone2, drone3, drone4, drone5, drone6, drone7, drone8, drone9, drone10, turret, launcher, flare1, flare2, flare3; -static-var oldHead, gun_1; +static-var Static_Var_1, oldHead, gun_1; static-var Stunned; // Signal definitions -#define SIGNAL_MOVE 1 +#define SIG_MOVE 2 -#define SIGNAL_AIM1 256 -#define SIGNAL_AIM2 512 +#define SIG_AIM 4 +#define SIG_AIM_2 4 +#define BASEPIECE base +#define HITSPEED <10.0> +//how 'heavy' the unit is, on a scale of 1-10 +#define UNITSIZE 8 +#define MAXTILT 200 -#define RB_MASS 40 -#define RB_LENGTH 8 -#define RB_WIDTH 3 -#define RB_PITCH_ACCELERATION 10 -#define RB_ROLL_ACCELERATION 8 -#define RB_WAKE_PIECE wake1 -#define RB_WAKE_CEG 1024 + 1 -#define RB_BOWSPLASH_PIECE wake2 -#define RB_BOWSPLASH_CEG 1024 + 2 - -#include "../bar_ships_common.h" - +#include "unit_hitbyweaponid_and_smoke.h" Lights() { @@ -41,6 +37,24 @@ Lights() start-script Lights(); } +RockOnWaves() +{ + var rockDir, rockAng, rockSpeed; + rockDir = <-0.1>; + rockAng = <-0.1>; + while( TRUE ) + { + while( get ABS(rockAng) < <1.11> ) + { + rockSpeed = <1.25> - get ABS(rockAng); + turn base to x-axis rockAng speed rockSpeed*2; + wait-for-turn base around x-axis; + rockAng = rockAng + rockDir; + } + rockDir = 0 - rockDir; + rockAng = rockAng + rockDir + rockDir; + } +} Go() { @@ -50,7 +64,7 @@ Go() Stop() { - spin radar around y-axis speed <0.0>; + spin radar around y-axis speed <0.000000>; return (0); } @@ -87,9 +101,11 @@ Create() hide flare1; hide flare2; hide flare3; - start-script InitRockBoat(); - SLEEP_UNTIL_UNITFINISHED; - start-script BoatPhysics(); + while( get BUILD_PERCENT_LEFT ) + { + sleep 500; + } + start-script RockOnWaves(); } Activate() @@ -116,48 +132,67 @@ waveSplash() } } -StartMoving(reversing) +StartMoving() { - + signal SIG_MOVE; + set-signal-mask SIG_MOVE; + var waketime; + start-script waveSplash(); + var bowtime; + bowtime = 0; + while( TRUE ) + { + emit-sfx 1024 + 1 from wake1; + if (bowtime) emit-sfx 1024 + 2 from wake2; + bowtime = !bowtime; + waketime = (get CURRENT_SPEED) * 100 / get MAX_SPEED; + if( waketime < 50 ) waketime = 50; + sleep 12000 / waketime; + } } StopMoving() { - + signal SIG_MOVE; + turn base to x-axis <0.0> speed <1.0>; + move base to y-axis [0.0] speed [0.17]; } +SweetSpot(piecenum) +{ + piecenum = base; +} - -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; start-script RestoreAfterDelay(); return (1); } -FireWeapon1() +FirePrimary() { sleep 150; } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = radar; + piecenum = radar; return (0); } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = radar; + piecenum = radar; return (0); } -AimWeapon2(heading, pitch) +AimSecondary(heading, pitch) { - signal SIGNAL_AIM2; - set-signal-mask SIGNAL_AIM2; - turn turret to y-axis heading speed <300.0>; + signal SIG_AIM_2; + set-signal-mask SIG_AIM_2; + turn turret to y-axis heading speed <300.000000>; turn launcher to x-axis <0> - pitch speed <300>; //? wait-for-turn turret around y-axis; wait-for-turn launcher around x-axis; @@ -165,7 +200,7 @@ AimWeapon2(heading, pitch) return (1); } -FireWeapon2() +FireSecondary() { ++gun_1; if( gun_1 == 4 ) @@ -175,25 +210,25 @@ FireWeapon2() return (0); } -AimFromWeapon2(pieceIndex) +AimFromSecondary(piecenum) { - pieceIndex = launcher; + piecenum = launcher; return (0); } -QueryWeapon2(pieceIndex) +QuerySecondary(piecenum) { if( gun_1 == 1 ) { - pieceIndex = flare1; + piecenum = flare1; } if( gun_1 == 2 ) { - pieceIndex = flare2; + piecenum = flare2; } if( gun_1 == 3 ) { - pieceIndex = flare3; + piecenum = flare3; } return (0); } diff --git a/scripts/Units/cordronecarry.cob b/scripts/Units/cordronecarry.cob index 1dbef73f41366e5f5ca4ade40e356c9513a6423c..a8825a8336b6ec85010333332cd2cee08dab420b 100644 GIT binary patch literal 3857 zcmbVPTWDNW6y14reALJFl~z$1(Jv91B-Y1AA*r#})<@bXMMdpx<~A8Jxi{S0NemUK ziuxgb6{XVR1C@d(eh8xVM?o=)Ac$2zDhgH+6e$?|P$8~$&fYVJWTuKYtl8)6vmfj1 zv+tQnuZUa(tONe)7Fh$yXZ;x>`+%Q;t1urq6CdU7C`5OJKd8GPt13^0luAz|Lp@P< zr90}uly;P~qm*b(B)dw{deu=Sqb01i>=vo3c)QCnq%ULwK*n>?Ew zBJjf>P3+7M=z13oPx!Nup;B~6_1!D<_p2U4tR7(xGS@j=LoHaJH!!4*{YZNq{X|Kd);@41c&wi-598C09F9RSuj{E7eZH@ua~wdX$t6PF zPy@82(|vdv2B;(J@v-WBeW3$47ti8AuB->+{2PON+xQM>DREO`HtyB6nAJ6Rzbz6ec z_&04dC+*w%cZhW&h{aknZe901eQbGID&qOKv12ad(aEmaBj}lXHLlwSa$9l zi9S7-+z4GWKFxE+{V1?I4>s-rWAowN+tRn+EAJ)pWnAVF^pf2V;hL+Ne*YfOKA^qX z8n5tNn7dP*!q_ga#(q;{^IkIF(3V{7cfb*~<=xfJ*4;rG_an9K3v5?%4)1NQUC3Nz z{~O>N^(R;6a?)ys-d^?2sNYZO2l20d<3YY9_2VAeel40U!k$z(c?zz>~n!z<%I4;054S z;C0|F;0W*mun2q(dMnx-*_jX65Eg#)@o4Zh9~oZxqRnWVXoiWOz@J%F+ai~fof ajXX~ZsmG0Ud@{*pPd&~N)`6p;f^fM4by$0f>9;^7?gu(>?Po^Mj)gG70U z>I;#Sy3`+Yk>0K-k31}|LC+!o+-^jQy0oSXv+w~f=Vx|~`0aT!KKnqvNtdI`{YqW-tKk|xn5b&rsf0`5CDfhO`@3e*2NhSkAT7=!C!bulOF3-z35yFwoALteO!|vIhtPNVvhReJAE-%{IDjitG7EkfB|zeUJ<&mx3Bq{cAa;3!M>ZI$L-l^ zZ?@agH*@V|YyG_w?kxV__P?)>KI}|Lv337*-t6hGlReAsWY0a$`98JFMS@;zHZJFa zZx8Qs{oy?J@JZCwd@tqnTVnm=T2n`=#_b@vzU07-a+Z`HEov&Bav#)b_I795I)y_R(f2+9lck%lXpYg7N+SX16S~||rH+_+Vo5ub9 z;rZ4h>m#}B;a*=?7+1&0i*=G_^)W`6Q#I(F#ck!*t@k10H0^XZ`a9S6f7<)Vk%;?I z^TK|A$XAOCBu6CB+e$np~Q*Y?Q~2gg=lSQF>DwtT{Qj$NMJ(TXmoJM1~n z@b9wX+`D}5y^iz4qadL>v{ifTG?m`geBc%9(AkIT=JCPx;)T_otJ(~>eQjgz1v}50 z%!Jo7p*`p`YPWwwHS6_0-lh}uIE-Vy*m67j|5k54gib6Uj*$<2tv%DaPuQOup<=qG zvv@q~oY%iS!Q-c0A9yhvbT^pqTr1C#`B#7bzU4U7>7D2A(}TYM$|<$%H9q=hH8Q99 z`V{)sxZd{{-Z#&N*@j%U%I@`}p3C#oi3@d;`?crtj2YK@8GcK{J9G){i|!k8*4r~z z+N-oRK+U0@-iO}qXK!bF=AY~;LA)7n2hlMebDvK~H%o!z2=)i?EQ0f{{t);K_!8i~ zc?S3n$idMsIzz4v`z%k$? za2EIxI1l^|tZMrCYOBhG}s21chRtCdL^Oe&3Pt*KgD z%~nlsN#cn{eciCEj>qGXWO!)2F_y^s>d0s|DNi?KC~Hi}Q@fJNRF(`TlUXB8`nG3D zx;m-F(=wD~L)lclo(#izyYk62iL*rdDp_?02dk6VhCAaO$ZP5kASl#Z8UjJlX75Ep35pr;Gr!2)mja?kED&M`mk(^ zClg8I;W(9gTyON~@3QQS$C4iXU6yUNYJE(G(?%UrD#}hQcj5sj9(3X%CmwcUg%giB e(NmIaDovA2YVlOPGMc2ay%wi%tD@}0a`_A4Zn6yk diff --git a/scripts/Units/cordronecarryair.bos b/scripts/Units/cordronecarryair.bos index e01748a3ac5..d2b381dcd66 100644 --- a/scripts/Units/cordronecarryair.bos +++ b/scripts/Units/cordronecarryair.bos @@ -1,15 +1,17 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" -piece ground, base, radar, nano1, nano2, wake1, wake2, blink, drone1, drone2, drone3, drone4, drone5, drone6, drone7, drone8, drone9, drone10, jetl1, jetr1, jetl2, jetr2, thrustl1, thrustr1, thrustl2, thrustr2; +piece ground, base, radar, nano1, nano2, wake1, wake2, blink, drone1, drone2, drone3, drone4, drone5, drone6, drone7, drone8, drone9, drone10, jetl1, jetr1, jetl2, jetr2, thrustl1, thrustr1, thrustl2, thrustr2;; -static-var oldHead; +static-var Static_Var_1, oldHead; static-var Stunned; // Signal definitions -#define SIGNAL_MOVE 1 +#define SIG_MOVE 2 -#define SIGNAL_AIM1 256 +#define SIG_AIM 4 #define BASEPIECE base @@ -18,7 +20,7 @@ static-var Stunned; #define UNITSIZE 8 #define MAXTILT 200 -#include "../unit_hitbyweaponid_and_smoke.h" +#include "unit_hitbyweaponid_and_smoke.h" Lights() { @@ -41,7 +43,7 @@ Go() Stop() { - spin radar around y-axis speed <0.0>; + spin radar around y-axis speed <0.000000>; return (0); } @@ -78,43 +80,46 @@ Create() hide thrustr1; hide thrustl2; hide thrustl1; - turn jetl1 to x-axis <-90.0> now; - turn jetr1 to x-axis <-90.0> now; - turn jetl2 to x-axis <-90.0> now; - turn jetr2 to x-axis <-90.0> now; - SLEEP_UNTIL_UNITFINISHED; + turn jetl1 to x-axis <-90.000000> now; + turn jetr1 to x-axis <-90.000000> now; + turn jetl2 to x-axis <-90.000000> now; + turn jetr2 to x-axis <-90.000000> now; + while( get BUILD_PERCENT_LEFT ) + { + sleep 500; + } } MoveRate0() { - turn jetl1 to x-axis <-92.0> speed <25.0>; - turn jetr1 to x-axis <-92.0> speed <25.0>; - turn jetl2 to x-axis <-90.0> speed <25.0>; - turn jetr2 to x-axis <-90.0> speed <25.0>; + turn jetl1 to x-axis <-92.000000> speed <25.000000>; + turn jetr1 to x-axis <-92.000000> speed <25.000000>; + turn jetl2 to x-axis <-90.000000> speed <25.000000>; + turn jetr2 to x-axis <-90.000000> speed <25.000000>; } MoveRate1() { - turn jetl1 to x-axis <-92.0> speed <15.0>; - turn jetr1 to x-axis <-92.0> speed <15.0>; - turn jetl2 to x-axis <-83.0> speed <15.0>; - turn jetr2 to x-axis <-83.0> speed <15.0>; + turn jetl1 to x-axis <-92.000000> speed <15.000000>; + turn jetr1 to x-axis <-92.000000> speed <15.000000>; + turn jetl2 to x-axis <-83.000000> speed <15.000000>; + turn jetr2 to x-axis <-83.000000> speed <15.000000>; } MoveRate2() { - turn jetl1 to x-axis <-92.0> speed <10.0>; - turn jetr1 to x-axis <-92.0> speed <10.0>; - turn jetl2 to x-axis <-76.0> speed <10.0>; - turn jetr2 to x-axis <-76.0> speed <10.0>; + turn jetl1 to x-axis <-92.000000> speed <10.000000>; + turn jetr1 to x-axis <-92.000000> speed <10.000000>; + turn jetl2 to x-axis <-76.000000> speed <10.000000>; + turn jetr2 to x-axis <-76.000000> speed <10.000000>; } MoveRate3() { - turn jetl1 to x-axis <0.0> speed <20.0>; - turn jetr1 to x-axis <0.0> speed <20.0>; - turn jetl2 to x-axis <0.0> speed <20.0>; - turn jetr2 to x-axis <0.0> speed <20.0>; + turn jetl1 to x-axis <0.000000> speed <20.000000>; + turn jetr1 to x-axis <0.000000> speed <20.000000>; + turn jetl2 to x-axis <0.000000> speed <20.000000>; + turn jetr2 to x-axis <0.000000> speed <20.000000>; } Activate() @@ -149,43 +154,46 @@ waveSplash() } } -StartMoving(reversing) +StartMoving() { - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; + signal SIG_MOVE; + set-signal-mask SIG_MOVE; } StopMoving() { - signal SIGNAL_MOVE; + signal SIG_MOVE; turn base to x-axis <0.0> speed <1.0>; move base to y-axis [0.0] speed [0.17]; } +SweetSpot(piecenum) +{ + piecenum = base; +} - -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; start-script RestoreAfterDelay(); return (1); } -FireWeapon1() +FirePrimary() { sleep 150; } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = radar; + piecenum = radar; return (0); } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = radar; + piecenum = radar; return (0); } diff --git a/scripts/Units/cordronecarryair.cob b/scripts/Units/cordronecarryair.cob index b91f29e1a8b545bc064ba96f9f7b842ec6be978d..e8ca8d4a18d63f3a52ea2b05a19796e388703733 100644 GIT binary patch delta 1205 zcmY+@T}TvB6bJBoXJ*%(b(Cx4wz^3ft40ttWRY2sD`XZ{E=&26lH@)txgRYXCIt3D z1VYquAbOC{XBEmo2q_2zBPEQYdXUJ%ha$=#upWy3cV<>>mml}copaAUcV_qfhNVzK zV~kZo2=WSJ@>+f}e#TxyLos99a6OEXRV!jGMc|8Rj+aMO3p^&dD{;>|BpvXS^c3X3kzmojk}@dcXrT$m{H=MhGsrEGQSsn4(3dWw(s& zWJ!60RpTCpLTgn;&US@7npZ4-kGLAPnq|7>bkK)Tmgu(UP~0u2SJg!r9?2ji|xOAva5r>B~;5tjR07Xi+g~Sl9BqDgxtf zl6@-w{V}p(XZN=V?K7e8!r7R> zn?etGLiXIWj=y29{m@KaP9D#vKpPs9 z)qlzc-Ac_5|9EaFd>vi)h5d8APC`A=gs)MV>!okLy1ifAWmsgNSC+6h&ERN-__7oK zmqSr~i&JDh-PQ#y>zYq)Eq_DwK`F-r^_ALh-mRoDn$+*`6dm*L(Jx^SyF4xWgVgIc z=)T|JgY?*caG(=aMqmb(;5+;VhVntEh7*v2n=l5mumJKn0o2|IJE0L;;W(UvE|CAI zF_?sDn1vVc3cePz0k(obH}FG;5Y)hSXn+W`K?j_L6kLRBa0`ZD6ei#iJb`I=4)gE^ z7T_a%hGkfRzu+lh%qWR6W+Di|X4nclU^nc82pokNoQBp!uDQP>-knLOSS*=77eARw z7f>5bbqWb9?!)x=^TqBlI__%XZs5m$Z5%@3wabSnfeE< CIknXQ literal 3550 zcmbVOO=w(I6h28NvHq2(wOYl+P~1pMnVG7ol}e_KZKFoh27f>oeaT#tX(scAH*b>E zg>+$dT?hpgK@m5Kh)|Ux3Q{mAg@PNq5jTQJmzBEcLX6*c?!D8S*O>?oeD9ol{?EDh zzBdIC*#SHNd^spG1j^s_+eBWzUF2(EH`c{F_!x{r3`B#`T{JEhA~`V<(S))ZWm6*& z`2u<9$ydpjhShc_*aBoosXkQ6)D0c&2Ouhxtc^q?YD+UnBGySt8&b+?!!>nb9bwJ1 z^*M_)92<%TOI8-@bPkcN=b(!Rf*Mgr5JP))Jxw}0%6v@L@!%~RYh`{Z4e3nOA2mo( zY%eYbedtS5=JT|-?+t(2v0wVW36^vflrcCPA2Uy-WcSG1!t_6FLmT?DXFvNYl+4Ms zpI5$T)^LReZWipB`yr9t6YonZr2*~fM>OGU&(Exvj;>vM?46$tXTdXj)#(dd;hub%_=hw{*Vl!799 zW_4TMJ^7=lf9m?_(n;?5s#N2dKsZy`KR=?{k#zU9Rs1VeG;M z%;thbcT z@;dDSeqn8SU07q7`%`>#`sL2+!rWf>&zh|{%$?Wu%kAH{z534U!rWeW{o>8J^SXYy z_ieR(>nw6J&+Ee6d0p6dUe_zPOt~`&s%H{Z&m<_%WO$#+`}@H?^83c~yV<#>pTBFN zA9)@{zJH#;M~&?N zgYScFt{%0+z1Z;0XxaCG<~(hAZ`bX~+5Dec7{kZ&|65eXgf1@M&4S#V?G`n*{b@~8 zwx+i!$34%-PkGd*qm`<1bD?~C@E@s^t#>tKAPu<><;e)`RDejhkL zpLa9ASr+U3K68FUee$usemaKP1Dpe{0b7xD2e1?1H)RZ%09Jr^fb+m*;4fepd3i>j z1dal)0w;kMumYS0_;DUIY^0b>Iwe7I+`{7&r%f3#;fvlC~yEc1WW+W11|ut05d=xXaUQ>8^9`X1~?162Ydv40(=g91$+a1 z4_pE+14rxG!Ba1pxRo>~YT-)8VAy&OPr$sroT3@v7l;vWu~po=cNX zvnDff+ejMM;#8V(Gb!t{BFpiDDeJQ$GmUz4L27Bzgh)xnlD(EZV#%YHJZ8zLCHpLS i+>&xhPMWMy<}=l2qoRC8viY>rrphwVI*C`M75Ntqih0EV diff --git a/scripts/Units/corenaa.bos b/scripts/Units/corenaa.bos index 3783efb9172..2efdad82612 100644 --- a/scripts/Units/corenaa.bos +++ b/scripts/Units/corenaa.bos @@ -1,5 +1,7 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece flare1, flare2, mount, gunbase, guna, gunb, base; @@ -7,19 +9,55 @@ static-var restore_delay, gun_1; static-var Stunned; // Signal definitions -#define SIGNAL_AIM1 256 +#define SIG_AIM 2 +RockOnWaves() +{ + var rockDir, rockAng, rockSpeed; + rockDir = <-0.1>; + rockAng = <-0.1>; + while( TRUE ) + { + while( get ABS(rockAng) < <1.31> ) + { + rockSpeed = <1.45> - get ABS(rockAng); + turn base to x-axis rockAng speed rockSpeed*5; + turn base to z-axis rockAng speed rockSpeed*5; + wait-for-turn base around x-axis; + wait-for-turn base around z-axis; + rockAng = rockAng + rockDir; + } + rockDir = 0 - rockDir; + rockAng = rockAng + rockDir + rockDir; + } +} -#define WATER_ROCK_UNITSIZE 12 -#include "../floatmotion.h" + +RockUnit(anglex, anglez) +{ + turn base to x-axis anglex speed <15.000000>; + turn base to z-axis <0> - anglez speed <15.000000>; + wait-for-turn base around z-axis; + wait-for-turn base around x-axis; + turn base to x-axis <0.000000> - anglex speed <12.000000>; + turn base to z-axis anglez speed <12.000000>; + wait-for-turn base around z-axis; + wait-for-turn base around x-axis; + turn base to x-axis anglex / <0.005495> speed <9.000000>; + turn base to z-axis <0> - (anglez / <0.005495>) speed <9.000000>; + wait-for-turn base around z-axis; + wait-for-turn base around x-axis; + turn base to x-axis <0.000000> speed <3.000000>; + turn base to z-axis <0.000000> speed <3.000000>; +} #define BASEPIECE base #define HITSPEED <20.0> //how 'heavy' the unit is, on a scale of 1-10 #define UNITSIZE 5 #define MAXTILT 200 -#define RECOIL_POWER 20000 -#include "../unit_hitbyweaponid_and_smoke.h" + +#include "unit_hitbyweaponid_and_smoke.h" Create() { @@ -28,21 +66,22 @@ Create() hide flare1; hide flare2; restore_delay = 3000; - - gun_1 = flare1; - SLEEP_UNTIL_UNITFINISHED; - turn gunbase to x-axis <-30> speed <25.0>; + gun_1 = 0; spin mount around y-axis speed <25.0>; - start-script FloatMotion(); + while( get BUILD_PERCENT_LEFT ) + { + sleep 400; + } + start-script RockOnWaves(); } Stop() { spin mount around y-axis speed <0.0>; } -SetMaxReloadTime(reloadMS) +SetMaxReloadTime(Func_Var_1) { - restore_delay = reloadMS * 2; + restore_delay = Func_Var_1 * 2; } ExecuteRestoreAfterDelay() @@ -68,10 +107,10 @@ RestoreAfterDelay() start-script ExecuteRestoreAfterDelay(); } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; stop-spin gunbase around y-axis; turn mount to y-axis heading speed <1200.000000>; turn gunbase to x-axis <0.000000> - pitch speed <950.000000>; @@ -81,7 +120,7 @@ AimWeapon1(heading, pitch) return (1); } -FireWeapon1() +FirePrimary() { if( gun_1 == 0 ) { @@ -89,32 +128,42 @@ FireWeapon1() move guna to z-axis [-3.999994] now; wait-for-move guna along z-axis; move guna to z-axis [0.000000] speed [15.000000]; + gun_1 = 1; } else { emit-sfx 1024 + 0 from flare2; move gunb to z-axis [-3.999994] now; wait-for-move gunb along z-axis; move gunb to z-axis [0.000000] speed [15.000000]; + gun_1 = 0; } - gun_1 = !gun_1; + return (1); + } -QueryPrimary(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = flare1 + gun_1; + if( gun_1 == 0 ) + { + piecenum = flare2;//inverse, but needed + } + if( gun_1 == 1 ) + { + piecenum = flare1; + } } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = gunbase; + piecenum = gunbase; } -QueryWeapon1(pieceIndex) -{ - pieceIndex = flare1 + gun_1; -} +SweetSpot(piecenum) +{ + piecenum = mount; +} Killed(severity, corpsetype) { diff --git a/scripts/Units/corerad.bos b/scripts/Units/corerad.bos index 8291c91cbf5..30259cd791d 100644 --- a/scripts/Units/corerad.bos +++ b/scripts/Units/corerad.bos @@ -1,17 +1,18 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece flare1, flare6,flare7, flare5, flare4, flare3, flare2, base, turret; -static-var gun_1, last_fire, firstaim; +static-var Static_Var_1, gun_1, last_fire, firstaim; // Signal definitions -#define SIGNAL_AIM1 256 +#define SIG_AIM 2 -#define BASEPIECE base -#define MAXTILT 0 -#include "../unit_hitbyweaponid_and_smoke.h" +#define SMOKEPIECE base +#include "smokeunit_thread_nohit.h" static-var Stunned; ExecuteRestoreAfterDelay() @@ -46,14 +47,17 @@ Create() hide flare5; gun_1 = flare1; firstaim = 1; - SLEEP_UNTIL_UNITFINISHED; + while( get BUILD_PERCENT_LEFT ) + { + sleep 400; + } start-script ExecuteRestoreAfterDelay(); } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; stop-spin turret around y-axis; turn turret to y-axis heading speed <250>; if (firstaim == 1) { @@ -69,26 +73,71 @@ AimWeapon1(heading, pitch) return (1); } -FireWeapon1() +FirePrimary() { + if( gun_1 == 0 ) + { + show flare1; + sleep 50; + hide flare1; + } + if( gun_1 == 1 ) + { + show flare2; + sleep 50; + hide flare2; + } + if( gun_1 == 2 ) + { + show flare3; + sleep 50; + hide flare3; + } + if( gun_1 == 3 ) + { + show flare4; + sleep 50; + hide flare4; + } + if( gun_1 == 4 ) + { + show flare5; + sleep 50; + hide flare5; + } + if( gun_1 == 5 ) + { + show flare6; + sleep 50; + hide flare6; + } + if( gun_1 == 6 ) + { + show flare7; + sleep 50; + hide flare7; + } ++gun_1; if( gun_1 == 7 ) { - gun_1 = 0; + gun_1 = flare1; } } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = gun_1; + piecenum = gun_1; } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = turret; + piecenum = turret; } - +SweetSpot(piecenum) +{ + piecenum = base; +} Killed(severity, corpsetype) { diff --git a/scripts/Units/corestor.bos b/scripts/Units/corestor.bos index 64553b81469..b3bf643b329 100644 --- a/scripts/Units/corestor.bos +++ b/scripts/Units/corestor.bos @@ -1,4 +1,22 @@ -#include "../recoil_common_includes.h" +// * Header Info * +// VersionSignature 4 +// NumberOfScripts 4 +// NumberOfPieces 3 +// LengthOfScripts ef +// NumberOfStaticVars 0 +// UKZero 0 +// OffsetToScriptCodeIndexArray 3e8 +// OffsetToScriptNameOffsetArray 3f8 +// OffsetToPieceNameOffsetArray 408 +// OffsetToScriptCode 2c +// OffsetToNameArray 414 + +// OffsetToFirstName 414 + +#define TA // This is a TA script + +#include "sfxtype.h" +#include "exptype.h" piece base; @@ -6,11 +24,14 @@ Create() { } +#define SMOKEPIECE base +#include "smokeunit_thread_nohit.h" -#define BASEPIECE base -#define MAXTILT 0 -#include "../unit_hitbyweaponid_and_smoke.h" - +SweetSpot(piecenum) +{ + piecenum = base; + return (0); +} Killed(severity, corpsetype) { diff --git a/scripts/Units/corestor.cob b/scripts/Units/corestor.cob index 8624c6b708105020789aba42bfcdaa919fcf5945..877c95b18ab2a56a126bd0ed640a2c831db40ccd 100644 GIT binary patch literal 875 zcmbtSu};H440Wz)SQyO6g0dnpM2LZ{s1;HXOQot}g9bRHh|*LL39ix9&wlo^eRr{l^nnO?Hwz=%J&_bR0uJCG!$#_qoJUYTctf!I%ea`wd zhhoO2hv^NBkC^x&q5nyuBa6FEoU?4s$@30k+@Cv6Iy^g)Zfn9GmlmUZv%hE(?)F=L zd+!KKvvaE#c)m@u8@XL3r=iyxN5ApjKx2E|Dni>xF zKbkk}W14TKiEsC7P0sR{I<{xs7|4MF;J+ULXTS`&0`7p(qt7cZ(}(ij&z40c%(Y+yy&( zmGF|Y_LLbg{mzMH7T?=5nV!#g)6c#e(DB8bX@~x1KCc0XKG3m7;1}V$-0t4Lgm)lb zwmV`Ay>OBIMdtTd^1T(#y>f5x|0F(c`t;vK9`g#U-`0Jmyxt%EQik&hoG^KJNBBqQ zjDOjcf8YPMI?PY@zTT_9G{cR({hh|vws&`%p>5R%joktZvs4@a diff --git a/scripts/Units/coresupp.bos b/scripts/Units/coresupp.bos index 8d0031741c7..1a788d0abd3 100644 --- a/scripts/Units/coresupp.bos +++ b/scripts/Units/coresupp.bos @@ -1,5 +1,7 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, bturret, bsleeve, blbarrel, brbarrel, fturret, fsleeve, flbarrel, frbarrel, fin, blflare, brflare, flflare, frflare, wake1; @@ -7,28 +9,45 @@ static-var gun_1, gun_2, restore_delay, oldheading; // Signal definitions -#define SIGNAL_AIM1 256 -#define SIGNAL_AIM2 512 -#define SIGNAL_MOVE 1 +#define SIG_AIM 2 +#define SIG_AIM_2 4 +#define SIG_MOVE 8 +#define SIG_STEER 16 -#define RB_MASS 10 -#define RB_LENGTH 5 -#define RB_WIDTH 3 -#define RB_PITCH_ACCELERATION 10 -#define RB_ROLL_ACCELERATION 8 -#define RB_RECOIL_ENERGY_2 500 -#define RB_WAKE_PIECE wake1 -#define RB_WAKE_CEG 1024 + 0 -#define RB_IDLE_KICK 10000 +#define BASEPIECE base +#define HITSPEED <20.0> +//how 'heavy' the unit is, on a scale of 1-10 +#define UNITSIZE 5 +#define MAXTILT 200 -#include "../bar_ships_common.h" +#include "unit_hitbyweaponid_and_smoke.h" +RockOnWaves() +{ + var rockDir, rockAng, rockSpeed; + rockDir = <-0.1>; + rockAng = <-0.1>; + while( TRUE ) + { + while( get ABS(rockAng) < <1.31> ) + { + rockSpeed = <1.45> - get ABS(rockAng); + turn base to x-axis rockAng speed rockSpeed*5; + turn base to z-axis rockAng speed rockSpeed*5; + wait-for-turn base around x-axis; + wait-for-turn base around z-axis; + rockAng = rockAng + rockDir; + } + rockDir = 0 - rockDir; + rockAng = rockAng + rockDir + rockDir; + } +} Steering(heading, steery, currentspeed) { - //signal SIGNAL_MOVE; - //set-signal-mask SIGNAL_MOVE; + //signal SIG_MOVE; + //set-signal-mask SIG_MOVE; while(1) { heading = get HEADING; @@ -51,14 +70,16 @@ Create() gun_1 = 0; gun_2 = 0; restore_delay = 3000; - start-script InitRockBoat(); - SLEEP_UNTIL_UNITFINISHED; - start-script BoatPhysics(); + while( get BUILD_PERCENT_LEFT ) + { + sleep 400; + } + start-script RockOnWaves(); } -SetMaxReloadTime(reloadMS) +SetMaxReloadTime(Func_Var_1) { - restore_delay = reloadMS * 2; + restore_delay = Func_Var_1 * 2; return (0); } @@ -86,25 +107,42 @@ RestoreAfterDelay() start-script ExecuteRestoreAfterDelay(); } -StartMoving(reversing) +StartMoving() { - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; + signal SIG_MOVE; + set-signal-mask SIG_MOVE; start-script Steering(); + var waketime; + while( TRUE ) + { + emit-sfx 1024 + 0 from wake1; + waketime = (get CURRENT_SPEED) * 80 / get MAX_SPEED; + if( waketime < 50 ) waketime = 50; + sleep 7500 / waketime; + } } +boatposition(speed, maxspeed) +{ + speed = (get CURRENT_SPEED); + maxspeed = (get MAX_SPEED); + speed = speed * 100 /maxspeed; + if (speed > 50) turn base to x-axis <45> speed <30>; + if (speed < 50) turn base to x-axis <0> speed <30>; +} StopMoving() { - signal SIGNAL_MOVE; + signal SIG_MOVE; return (0); + } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; turn fturret to y-axis heading speed <270.>; turn fturret to x-axis -1*pitch speed <150.>; wait-for-turn fturret around y-axis; @@ -113,33 +151,44 @@ AimWeapon1(heading, pitch) return (1); } -FireWeapon1() +FirePrimary() { - if( gun_1) + if( gun_1 == 0 ) + { + move flbarrel to z-axis [-1.] speed [500.]; + wait-for-move flbarrel along z-axis; + move flbarrel to z-axis [0.] speed [5.]; + show flflare; + sleep 150; + hide flflare; + } + if( gun_1 == 1 ) { move frbarrel to z-axis [-1.] speed [500.]; wait-for-move frbarrel along z-axis; move frbarrel to z-axis [0.] speed [5.]; + show frflare; + sleep 150; + hide frflare; } - else + ++gun_1; + if( gun_1 == 2 ) { - move flbarrel to z-axis [-1.] speed [500.]; - wait-for-move flbarrel along z-axis; - move flbarrel to z-axis [0.] speed [5.]; + gun_1 = 0; } - gun_1 = !gun_1; + return (0); } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = fsleeve; + piecenum = fsleeve; return (0); } -AimWeapon2(heading, pitch) +AimSecondary(heading, pitch) { - signal SIGNAL_AIM2; - set-signal-mask SIGNAL_AIM2; + signal SIG_AIM_2; + set-signal-mask SIG_AIM_2; turn bturret to y-axis heading speed <270.>; turn bturret to x-axis -1*pitch speed <150.>; wait-for-turn bturret around y-axis; @@ -148,39 +197,71 @@ AimWeapon2(heading, pitch) return (1); } -FireWeapon2() +FireSecondary() { - if( gun_2) + if( gun_2 == 0 ) + { + move blbarrel to z-axis [-1.] speed [500.]; + wait-for-move blbarrel along z-axis; + move blbarrel to z-axis [0.] speed [5.]; + show blflare; + sleep 150; + hide blflare; + } + if( gun_2 == 1 ) { move brbarrel to z-axis [-1.] speed [500.]; wait-for-move brbarrel along z-axis; move brbarrel to z-axis [0.] speed [5.]; + show brflare; + sleep 150; + hide brflare; } - else + ++gun_2; + if( gun_2 == 2 ) { - move blbarrel to z-axis [-1.] speed [500.]; - wait-for-move blbarrel along z-axis; - move blbarrel to z-axis [0.] speed [5.]; + gun_2 = 0; } - gun_2 = !gun_2; + return (0); } -AimFromWeapon2(pieceIndex) +AimFromSecondary(piecenum) { - pieceIndex = bsleeve; + piecenum = bsleeve; return (0); } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = flflare + gun_1; + if( gun_1 == 0 ) + { + piecenum = flflare; + } + if( gun_1 == 1 ) + { + piecenum = frflare; + } + return (0); } -QueryWeapon2(pieceIndex) +QuerySecondary(piecenum) { - pieceIndex = blflare + gun_2; + if( gun_2 == 0 ) + { + piecenum = blflare; + } + if( gun_2 == 1 ) + { + piecenum = brflare; + } + return (0); } +SweetSpot(piecenum) +{ + piecenum = base; + return (0); +} Killed(severity, corpsetype) { @@ -192,14 +273,14 @@ Killed(severity, corpsetype) explode flbarrel type BITMAPONLY | NOHEATCLOUD; explode frbarrel type BITMAPONLY | NOHEATCLOUD; explode bturret type BITMAPONLY | NOHEATCLOUD; - - - - - - - - + //explode flare21 type BITMAPONLY | NOHEATCLOUD; + //explode flare22 type BITMAPONLY | NOHEATCLOUD; + //explode turret1 type BITMAPONLY | NOHEATCLOUD; + //explode abarrela type BITMAPONLY | NOHEATCLOUD; + //explode flare11 type BITMAPONLY | NOHEATCLOUD; + //explode abarrelb type BITMAPONLY | NOHEATCLOUD; + //explode flare12 type BITMAPONLY | NOHEATCLOUD; + //explode flare3 type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } if( severity <= 50 ) @@ -209,14 +290,14 @@ Killed(severity, corpsetype) explode fturret type FIRE | SMOKE | FALL | NOHEATCLOUD; explode flbarrel type FIRE | SMOKE | FALL | NOHEATCLOUD; explode frbarrel type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; - - + //explode flare21 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare22 type FIRE | SMOKE | FALL | NOHEATCLOUD; explode bturret type FIRE | SMOKE | FALL | NOHEATCLOUD; - - - - - + //explode abarrela type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare11 type FALL | NOHEATCLOUD; + //explode abarrelb type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare12 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare3 type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) @@ -225,16 +306,16 @@ Killed(severity, corpsetype) explode base type BITMAPONLY | NOHEATCLOUD; explode fturret type SMOKE | FALL | NOHEATCLOUD; explode flbarrel type FIRE | SMOKE | FALL | NOHEATCLOUD; - + //explode flare21 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode frbarrel type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; - + //explode flare22 type FIRE | SMOKE | FALL | NOHEATCLOUD; explode bturret type SMOKE | FALL | NOHEATCLOUD; - - - - - - + //explode abarrela type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare11 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode abarrelb type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare12 type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode wake1 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare3 type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; @@ -242,14 +323,14 @@ Killed(severity, corpsetype) explode fturret type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode flbarrel type FIRE | SMOKE | FALL | NOHEATCLOUD; explode frbarrel type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; - - + //explode flare21 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare22 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode bturret type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; - - - - - - + //explode abarrela type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode flare11 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode abarrelb type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare12 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode wake1 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode flare3 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/coresupp.cob b/scripts/Units/coresupp.cob index 65ff4943c45bd8fc7c623643fb9088c62076e0c6..fa49edc44699cfb9ec3e3fff730c91654987f5ba 100644 GIT binary patch literal 5309 zcmd5=OK6-`6ux=ZN7dgK+C^}{T?up=M6@pK%c9oOX{M#R(B@BaN5@QN(m#LFW>cad zXjg*xSoj2?x{!h{6cyT?1$SL^D~Ri&5O<~H_nmvrKev;anCv>?^PYR&=iGDeuMRus z9s%wHR)?J%#me9K1J1n*`~{3-UwV-L7))XeCinw;0PC!-BUoK|C~K>!y@8DVNBATS-!WAuajB7Fa#qXzQ{^FU}M)vG;EJd8su=JQB z*3Xr){Uo$^XOx!;Z=lF)xU9LtzxAFfg>OBhw<8{VPn|f{1R3a?D+k}qv&bPqe)yw` zo%ts!AE4sj;cVRA(d1L*4|efiQ$7}F{fK9fvF@h~ycE-cXY*`vx^ueTZnv#pjBR`R;+`w>9S6bvJJ?z*%e8xT z$KJL*`fB^w&=%|hGcelFBsSEhuvSx#p(TF$j#`{kKGfJMq3=D8TB&cKptn{ z8WyXWvBYEP=i0kuGar;p-~&%~$u_kS{UO{}Uj%pJagOK5=e%#)W_Mi+WOD zxf6@LZ+3QabLiKdj7>l$^MSizemHCL)*#0TjSW>NIZn9*&lBdtCEInqN7uV_y&EgN zaZ6uZz(BOL;Gu@cYOlMjx5PQyG@f+Y&42^o{mBWAXE4coTl5A$qWlHuy0o zA&|SgWZbY{eRQaQ2Xz)gtwOKjy?{R7Ao(E=>Pe31(G3t12MR?z%rf6b&H{O3G{kI@ zu8>CWNgr0eeQUY38Y!2zS>K5@jYA&q33aLS5}ccjd@ora=HaU4MMcza?;C9_pV*J( zVt3GdQa{`Q+!_2y-FrcoLk_W?b4Z-$)l31}BJB7Vh3tXBzd4s|}Fu#7pF z3cNUW$S1`9tWRwA)M6XmE4IlTV)LErj!oXW*ti?^?!_{Rr#-n?{=2Tt zVaN{*^g2F&xwm@$Liag;_C)}{8=b%O54t>avoV_Njn3cvi=Nhcv#9mf^XEHmXJB-% zGcXy?fZv$zGa!$Bw%C%t#vX%l@Of)&_Q_%!-7B`q7~8&U@$8YeF1DUO^N3{2}AleLp#8K7LboFqu-Q`CIkRn6$TkmawPaRjh6b?_091c%w>Sb<5JU@?r#_^gk#ya7tDDxY;* zZCkOinwb-QOY_wCW@1`jwi0ure$B8R?bkCXlsTboZnI}@`P_~@`oG+|`?A&Ad!6C! z*oUp;+1(S4$E(0sz;D1VD7*}u1KtBJ0+)a*KpS`h!S(>BfbW5yfj@u=4AmasIM4)^ z0sjA`ao|bdAW#8b0j7Y{zFIRQyXkx>%Y5#p7aQI$ sW8aug!DzVYOo^Im)KsHp8nr^B-h^GPk!G;Z!dlaPP4{QgIltTe2Z;EpWdHyG literal 5209 zcmb_gO=w(I6h29&Q?*u~whBcn<3>R$ouuvrP5MVmD5Ocng@S!a-qdL(GiCBp8#nEu zqKhsHf*Xr1;zFb=7sZ93Afh0+Pz0f(xY3FT0lO%+HGbc@=e*oJC$R-1$NO`>bIy0p zJ@>xRiikW2xfjx^h}?~le?QzO^3?qzXCT|K{t{zf(w|UQsrM&CAQku}2l-T#6Q|rG58vzO-0(hXd>C@v zs`^SI^#S!qE;2lj^n-`zGj15-ubk`?Nd`2h#U=OvmiyOE0#plj$_X(w4z}q_{g(DT zPk0nLTushnqBgg{ZGe6e*GJ9S;+J_dKI=fdkAY+0eycf=+qtEsC60HQKaGppITzN3 zwPZ{{G#{QH^^95IfFX{)sP~$)7Q`q|_=s)jlkxoAiK8j&PCwVdEspKIK%Cata5p0y z_le_KxIg+jL%+k|n4mA}K~J3LLObI2m2lL%KkBa;?zPfB&8Uw@-Useo;h{1%_q0&Ec`h-I_A!on)|aUjTn?{G*!M3Y zH~P5KbPw||P0`yc0gip)=jS?&!x~-)F?Jw^#wFoJN$#;&Z(xjL>piyE zP!(JY&UQvZKNg#Jo4hy@cgoh}pf#umj;Q>*oVl|d&7HEYRm61v2O3ZP`3A; zDciHxh#kQw^}d9)IAnX=ioXGT)Ab+jqn9p%U$KU*^QS+aHFbn4mmVYU2Qf^O7`}6Q z7jcHXkG*R9Iw1dtU#~kumUCpDR2N)RWc<9PSWn>bbM0{5Qi0=NA7-#AiI7 z2YFB>V}ToW+@o*$(lbk{;kN?{vyJ2G9K4t(!+3tQi#d&&EioRK7_J%1 z;}mwUv8TlD)&w%;G^$2^7ztfME<qW^ub)-eYi$ zjCzI`H<({;(-%j2_qB8S2tewUFV3EN{t+ABnM=mu01d5n7ik0=&Btso=o$L^!lh=# z3F_{#oC|Bt8j>&T{I$hVpVkXEo?YfHH3{EL!0Dr`qn%0*9p6p`uHzXgKb&Xzp7?t}d;P6aUwMyQ z?`Noiz2+pbO3hhU75H7N=30M}L!I5m=iFw0=zYhO92IXh*Ewqb;VO0FTkUo7d9OOT zj&J2>tN6lp;mhZ}e7TM_SAJG=%?*2SQ@kCtCqI8@gTIw}zJ0~{B?HM?Sk|eCy9PGC z^NhI#c2Wy>eIts&J@Sp;^$Wx#>yldTgGF% z@$mY1{oIe+oZ|$%oQJQS$2+EX9x>=fIo#hA86XRK{ zlTIIM&StXbL^d^_XXDvi-sxr|jXdk_&RXdLkrVlRyPZuV+`p80+RYDij??o*-Z^H| zk>+fmF(`YR-OT6M-rMaIssc3>p@w7yYDf;wXI)EbFkTGFXtUJ -#define TB_TILT_X <0.18> -#define TB_BANK_Z <0.18> // Do not define this if you dont want banking -#include "../tilt_bank_mobileunit.h" - +SmokeUnit(healthpercent, sleeptime, smoketype) +{ + while( get BUILD_PERCENT_LEFT ) + { + sleep 400; + } + while( TRUE ) + { + healthpercent = get HEALTH; + if( healthpercent < 66 ) + { + smoketype = 256 | 2; + if( Rand( 1, 66 ) < healthpercent ) + { + smoketype = 256 | 1; + } + emit-sfx smoketype from base; + } + sleeptime = healthpercent * 50; + if( sleeptime < 200 ) + { + sleeptime = 200; + } + sleep sleeptime; + } + return (0); + // Build by COBBLER Ver4.0 Copyright @1998 DIGITAL CONCEPT SOFTWARE (MANU@inext.fr) / http://www.annihilationcenter.com/DCS/ +} -#include "../damagedsmoke.h" Create() { + start-script SmokeUnit(); + Static_Var_1 = 0; recently_damaged = 0; desired_activation = 1; - call-script TB_Init(); - SLEEP_UNTIL_UNITFINISHED; - start-script DamagedSmoke(); -} - -StartMoving(reversing) -{ - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; - START_TILTBANK; -} - -StopMoving() -{ - signal SIGNAL_MOVE; - STOP_TILTBANK; + return (0); } Activate() { - signal SIGNAL_TURNON; - set-signal-mask SIGNAL_TURNON; + signal SIG_ACTIVATE; + set-signal-mask SIG_ACTIVATE; desired_activation = 1; // if we are in this function, the unit is already on // implied set ACTIVATION to 1; @@ -78,9 +88,9 @@ Deactivate() //set desired state if deactivated and not recently damaged desired_activation = 0; } - signal SIGNAL_TURNON; - set-signal-mask SIGNAL_TURNON; - spin turret around y-axis speed <0.0>; + signal SIG_ACTIVATE; + set-signal-mask SIG_ACTIVATE; + spin turret around y-axis speed <0.000000>; spin jam2 around x-axis speed <0>; spin jam1 around x-axis speed <0>; @@ -100,8 +110,8 @@ SetStunned(State) OffOnHit() { -signal SIGNAL_OFF; -set-signal-mask SIGNAL_OFF; +signal SIG_OFF; +set-signal-mask SIG_OFF; recently_damaged = 1; set ACTIVATION to 0; // turn off unit sleep 8000; //hardcoded time to stay off after being hit @@ -112,16 +122,20 @@ set ACTIVATION to desired_activation; HitByWeapon(anglex, anglez) { start-script OffOnHit(); - turn base to z-axis anglez speed <105.0>; - turn base to x-axis <0> - anglex speed <105.0>; + turn base to z-axis anglez speed <105.000000>; + turn base to x-axis <0> - anglex speed <105.000000>; wait-for-turn base around z-axis; wait-for-turn base around x-axis; - turn base to z-axis <0.0> speed <30.0>; - turn base to x-axis <0.0> speed <30.0>; + turn base to z-axis <0.000000> speed <30.000000>; + turn base to x-axis <0.000000> speed <30.000000>; return (0); } - +SweetSpot(piecenum) +{ + piecenum = base; + return (0); +} Killed(severity, corpsetype) { @@ -131,6 +145,7 @@ Killed(severity, corpsetype) explode base type BITMAPONLY | NOHEATCLOUD; explode turret type BITMAPONLY | NOHEATCLOUD; explode jam1 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode jam2 type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } if( severity <= 50 ) @@ -139,6 +154,7 @@ Killed(severity, corpsetype) explode base type BITMAPONLY | NOHEATCLOUD; explode turret type FIRE | SMOKE | FALL | NOHEATCLOUD; explode jam1 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode jam2 type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) @@ -147,11 +163,13 @@ Killed(severity, corpsetype) explode base type FIRE | SMOKE | FALL | NOHEATCLOUD; explode turret type FIRE | SMOKE | FALL | NOHEATCLOUD; explode jam1 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode jam2 type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; explode base type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode turret type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode jam1 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode jam2 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/coreter.cob b/scripts/Units/coreter.cob index 916a124593273af2d07a8b08a422834b56d96b04..99358599317022ccd068e12c5ce7944cbd125eb7 100644 GIT binary patch literal 2228 zcmb`IJ#Q015QfK&cD3Pe3 zqX8iregYDrf{q4>pAi~b^FDh!_Q}{tu{diov-9!pyF0s^nwcGw)Fi(ug_dcDGiE1e z%`QpKYrH6JX*F@FB-P{uiD@md)p~MVCcc-#utp`Z`Fb)HeYnV3iDTxXuG$cuzN+fb z)GuHp(*g5x^qByNRf(-mg*t3}U=QkqsUK;MaWTdnqu?^YAV1(9+FxAez-bh@)RF7+ zeI*uoF3E%gKGsyu^}X=@q0Cn5i6xTwQHxnqExJ7R`Ow6D-Q}9Zrdg*;~O}gXEpOLLS^mW6{^Zqrj-)T5c2f%{s`x}EZZ)v+hgL4mFBInWTuau$~7GGH;yD?p=YYY4)0vFyNWwrm{V~yYw`V~CcHV3A=Ijf$XlkmU(rsSSvO|m0-EO{n*A$cu%BY7+N zAo(b1?(9CuZnw8`yVl8Cd1hDF^Q{An>siaqW|lYe{dPOsu;tCo<@Tb|B@0jPX05&5 jwlyDR%Gle@ZE0(JTUl$Zhnd}P?Ofo`oaOtSPL|sr{^pNJ literal 2537 zcmb7GziSjx5T5&yO%%arp&%H%P78}Of59aNQDaQ-0yctKbDMDHeuQ%qFiq6XLO~0$ z5Q&Y2*at)~bx;tr5J3d12o}N0?)<*DGndVIF}N^!@6CMk&G+WL-Ai6X4#4uTVpb%; z$mi#P$gzDQ7h$KczKSv9vTlsQLf++zS;rjuE~k8;@IJbT$)(mZ88|6q|1xr9m@pl< z2Z|r$8g&@kBuO#n@|d%xlyWW$Zsw%x(?@6)IL3(QS_(POF=iK#<1x+UPg?FI&l;nR^y^!`T@Ok&nGm zjjxsSLqGkA?nmmw;B}LWQ}&Ld?SX5*mjdp#K8zjW9Q)yY`h+Qc;{+=I2IDSB?vKXl z`m09^fwNk2JDKnGzIFBsewOrx`o`bkQ|`U^i0A#{=sEOG*?ISh5!b;_Cc6C@YfV4b z{ZOCvk$2K^>6gjmo}a|Rba!|Q1HLzev2W(*xWNM`;x=GN@84reNsRjWr1NB*?~Np9 znu-~Jg$X#rv`)HA=Oxuim+guCyX~DgtG}yWf}p9VUXA%)rMb`#erxS6P)i@;)XkCi za+ygkaJ=^ZDFu$7FzR85SkK#|&-i%|(X;gPuCrv=csl!2p3-py(L?i7TN=Mx-Og_Z zG~?&UKje6EA$i9Wt;xG@cat%zW4+*aK=clK5-8#5`>S)VnKyNKJKu7QyI0KeINH0M zJ_m9hWvr0g>mLwJAGN1{(^iRb{hhwp+TUm3pK9FaX+G=O9?9vyb6O_{(ezRKzv>w8 z|J0eG7OgX=b(o*7W4we?hpny7GX}8V?)?zk&1G2QdaSv7aS_JP!b8|w*caF@*g+I6 z!D_I(uvOT582{&~!0NDN*d5q?*b~@u*elo?Y#sIv_7V0O_7(OWHZ^kXe4`r6RJ9h5 zgpGL_4eQ}tR4Lb+^O2lsMPVFCISyO#cyp=Rn8Uoepwr=*xVpsnXcXGC9L42$vC)Vs rGBG diff --git a/scripts/Units/corexp.bos b/scripts/Units/corexp.bos index d56e8126c61..0e494d79f75 100644 --- a/scripts/Units/corexp.bos +++ b/scripts/Units/corexp.bos @@ -1,43 +1,93 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, column, turret, barrel1, barrel2, flare1, flare2; -static-var restore_delay, resourceRate, gun_1, Stunned; +static-var Static_Var_1, restore_delay, Static_Var_3, Static_Var_4, Static_Var_5, + gun_1, Static_Var_7, Static_Var_8, statechg_DesiredState, statechg_StateChanging, + Stunned; // Signal definitions -#define SIGNAL_AIM1 256 +#define SIG_AIM 2 + + +Go() +{ + if (Stunned) { + return (0); + } + spin column around y-axis speed Static_Var_3 accelerate Static_Var_4; +} Stop() { - stop-spin column around y-axis decelerate <0.5>; + stop-spin column around y-axis decelerate Static_Var_5; +} + +InitState() +{ + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; +} + +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + call-script Go(); + currentstate = 0; + } + if( statechg_DesiredState == 1 ) + { + call-script Stop(); + currentstate = 1; + } + } + statechg_StateChanging = FALSE; } Create() { hide flare1; hide flare2; - resourceRate = 500; + Static_Var_3 = 0; + Static_Var_4 = 91; + Static_Var_5 = 182; + Static_Var_7 = 0; + Static_Var_8 = 0; gun_1 = 0; + Static_Var_1 = 1; + call-script InitState(); } -#define BASEPIECE base -#define MAXTILT 0 -#include "../unit_hitbyweaponid_and_smoke.h" +#define SMOKEPIECE base +#include "smokeunit_thread_nohit.h" Activate() { - spin column around y-axis speed resourceRate accelerate <0.5>; + start-script RequestState(0); } Deactivate() { - stop-spin column around y-axis decelerate <0.5>; + start-script RequestState(1); } -SetMaxReloadTime(reloadMS) +SetMaxReloadTime(Func_Var_1) { - restore_delay = reloadMS * 8; + restore_delay = Func_Var_1 * 8; } ExecuteRestoreAfterDelay() @@ -45,58 +95,72 @@ ExecuteRestoreAfterDelay() if (Stunned) { return (1); } - turn turret to y-axis <0> speed <300>; - turn turret to x-axis <0.0> speed <300>; + set-signal-mask 0; + start-script RequestState(1); } - SetStunned(State) { Stunned = State; if (!Stunned) { start-script ExecuteRestoreAfterDelay(); } + if (State) { + call-script Stop(); + }else{ + if (statechg_DesiredState == 0) { + call-script Go(); + } + } } - RestoreAfterDelay() { sleep restore_delay; start-script ExecuteRestoreAfterDelay(); } -SetSpeed(windOrMetal) +SetSpeed(Func_Var_1) { - resourceRate = windOrMetal * 20; - if (resourceRate > 0) call-script Activate(); // Because SetSpeed is called after Activate + Static_Var_3 = Func_Var_1 * 45; + Static_Var_7 = Func_Var_1 * 400; + Static_Var_8 = Func_Var_1 * 400; } -AimWeapon1(heading, pitch) +SweetSpot(piecenum) { - if (resourceRate < 1) { - return (0); - } - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; - turn turret to y-axis heading speed <300>; - turn turret to x-axis <0.0> - pitch speed <300>; + piecenum = base; +} + +AimPrimary(heading, pitch) +{ + signal SIG_AIM; + set-signal-mask SIG_AIM; + turn turret to y-axis heading speed Static_Var_7; + turn turret to x-axis <0.000000> - pitch speed Static_Var_8; wait-for-turn turret around y-axis; wait-for-turn turret around x-axis; - start-script RestoreAfterDelay(); return (1); } -FireWeapon1() +FirePrimary() { gun_1 = ! gun_1; } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = flare1 + gun_1; + if( gun_1 == 0 ) + { + piecenum = flare1; + } + if( gun_1 == 1 ) + { + piecenum = flare2; + } } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = turret; + piecenum = turret; } Killed(severity, corpsetype) diff --git a/scripts/Units/corexp.cob b/scripts/Units/corexp.cob index 7c9d8930bb04df30835089278021edbcdcddc7d6..655b4ee4a3ea41f005bad4b84d7bdfc736389d06 100644 GIT binary patch literal 3361 zcmcguO=}cE5Up%tj7D+9T=XDw5Im@`33w3$i62oBA;~Hp6x=asWpH?*kMsP6iBRbACR$&iSQ0qcR+6_HJl z{LPMvJOoyNz1VMpVJN5s8)>W$2lOAno?Dq64rm+1k`go`RS5nd|F#^+}YW0|J{e&#L57Iyg2F7hwpP)nTc%YMe|B2a`@u*RDOOOR$bc$YBW0O<&H1 z`*V=ob6(uPbbHRl_b>3fKL z)x4)qoPT6>19pyFGB2*^np{4I7tW8mZuuslm+D|3)tsN_D(bMe%$?Eky>a#d zI<825e$42d(^pFRdrl7_dKb5Hjq|f7pRn|M#(T2%Z2399I6uxYySHowcg!w4XlGY`~KQ_pY0kw=Q;d*5=#C(03U6BKGtN<9O5lFKjy_3 zyNJ;>)y!%AUBB%22Xo@=^cz7xJqPox)#o#P01|T1rf2kh^BlSFW9Mtnggm5YET!h* z-uC}D_VV1eGd9fmzdC;AWG$5B3!PkslsftotS@qhP|;@@QfiFM1^7HYYasIvB#d5zG*H2IWHm@JoYpwcj`k8~?AwS>0^oLi7 zf7AIb*#*SFUEl-o4fqcH1V+%<9l#_o16%+u19yP?z*FEk!2i3q0As*TU=J_>90ZO7 zbHI6^3ET$m1CM}bz)Rp2@D}(8d`Wbt*HkC;f8HIto+ZqA!V5-pyNn?{b_ zGz*=~%!4vX&Gev29?g-7xTLCz(vg&Dk_=M(L8w#HrEs yT*stKx`EG3niPH~<3+!v7io literal 2746 zcmbuBKZsma6vofaPG&WQJYhiu!2ydPh|De)YU7S>mWYPLtYD&z&z-w6I^F7I>qE&o^bHj=yi3r&++2u}QA6pUgB|G@#d!V3pua)9+ zEN8Wfeo|v@S9Ka77hcwFt8S-wK`OQZHuXYpqsx!pNAI19v9C#OXFon%cKO(c4es!W zHHuD>vWZ!-oFy@wB}@}VJ3jKAN0T$LJ{NP_#&Xf>C0o-+4Q(oNy_V}?VyUisVb8P0AeeS4+O{F;Q3Xuc!FaesVIaK}XKvnbv4Y=0LiY;YqV$@!+F z6)UqGKRef>?B~8TI1+9N zw}ra`|1bS0{3QG;{2|;I9te*FF8qtaE5ep=N%&CM6%K^2gl~l#!gs=va7*|>xFc-W zlYM)u3S}Ma!mxhx@Pkn9Pxjs(G*7l!j>}KOV0%3IJXn9H9)3amW++|V4)w+I`js%6 zl!Nz&<6!5nhn;C1u7rbnQic9*9jeVRDi2MO+x2vBFAQw4b3e${AC41|HQO3i!S(m1 xp~?)`h}o(pv$%JLqmeQ{DG!3}Oh(i3p4HQ;3bjlUqqQv8ZFf{wVJ(Su`xko`-fRE> diff --git a/scripts/Units/coreyes.bos b/scripts/Units/coreyes.bos index 631a2fc7ecd..acf289b51ef 100644 --- a/scripts/Units/coreyes.bos +++ b/scripts/Units/coreyes.bos @@ -1,5 +1,7 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, sphere; @@ -15,23 +17,31 @@ Bob(){ } } -Create(pieceIndex1) +Create(Func_Var_1) { - SLEEP_UNTIL_UNITFINISHED; + dont-cache sphere; + while( get BUILD_PERCENT_LEFT ) + { + sleep 250; + } start-script Bob(); - pieceIndex1 = Rand( 1, 2 ); - if( pieceIndex1 == 1 ) + Func_Var_1 = Rand( 1, 2 ); + if( Func_Var_1 == 1 ) { spin sphere around y-axis speed <-66>; } - if( pieceIndex1 == 2 ) + if( Func_Var_1 == 2 ) { spin sphere around y-axis speed <66>; } return (0); } - +SweetSpot(piecenum) +{ + piecenum = sphere; + return (0); +} Killed(severity, corpsetype) { diff --git a/scripts/Units/coreyes.cob b/scripts/Units/coreyes.cob index 0cb23840e9a38501063bedd36d3be2d007e0b35c..dfbec0e2971ef0801cda0e771265d8c8f1053bfe 100644 GIT binary patch literal 640 zcmZ`%%Sr=55Uky-Nsc3U5`;aA$bLddj$Rh_BIqFx2Mk0Kl7*04{6zo5FYpqpdS{Y# z!GWTCy1RO+XC?!X5h?LW#8ogbB1+{UP#@>9LPAD$3wRzSv@X8MF`;mbbFZPUcMQu?}H?P?hxNbUUo=} zY0ql(hS5I;A8v5IPvyHD(;oQt0fOJ=>rBmSZ>sm;x+5y$h0wovB^Ja7Q4qx0HQz|`hfOL zmSK`H3j_*W0qVX1#P@;t84$k)VyFBh2Ir#G#FA77@64Q>)D(uK#Nt$j;)0CSqErR| D5Y8WD diff --git a/scripts/Units/corfasp .cob b/scripts/Units/corfasp .cob new file mode 100644 index 0000000000000000000000000000000000000000..4e020fd52fc1e5d74bf0496988dec449e9b4b269 GIT binary patch literal 2190 zcmcIlJ#Q015FKBfODGTv4NxFm4HQnGq=-y|03j2L4?*L@UZE4_&X}`M5E3qs5H%%# zfFDCkoxhNuzI!jaf1A;XEomCHa`BA#*?eNYoEzFTShuQH|t!~U{D|a(FNVQ zdJgrxMaL8IX9ux)tbA1AFDZ}3>BijWxkvBpZ-^~9QtX2_a=YaGy>FCb`bF<1_V2ak zkGE0HK`(k<=JV%HH)^N8%p3HfFW;XwdD@%{+T>{mJ;_&d)8;&_=7Z__3-<3f-H ziSP3#w&X%R;r>MVIaV3qz0A%+rvwyZ=2*kornt~U0{3cM=%?hPCP2{VN?$dw*45j^0_|0&o#{4wS$L;4APA;Q!I*fGfaN;3jYY+y$Ni88886 zz8DZc>PxR;#( literal 0 HcmV?d00001 diff --git a/scripts/Units/corfasp.bos b/scripts/Units/corfasp.bos index a7b9fa48f44..a0cea7ac681 100644 --- a/scripts/Units/corfasp.bos +++ b/scripts/Units/corfasp.bos @@ -1,13 +1,10 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, pad1, pad2, pad3,pad0,nano; - -#define WATER_ROCK_UNITSIZE 22 -#include "../floatmotion.h" - - Create() { hide nano; @@ -15,8 +12,6 @@ Create() hide pad2; hide pad1; hide pad0; - SLEEP_UNTIL_UNITFINISHED; - start-script FloatMotion(); } @@ -30,25 +25,27 @@ StopBuilding() hide nano; } -#define BASEPIECE base -#define MAXTILT 100 -#define HITSPEED <10.0> -#define UNITSIZE 10 -#include "../unit_hitbyweaponid_and_smoke.h" +#define SMOKEPIECE base +#include "smokeunit_thread_nohit.h" +SweetSpot(piecenum) +{ + piecenum = base; + return (0); +} -QueryLandingPad(pieceIndex1, pieceIndex2, pieceIndex3, pieceIndex4) +QueryLandingPad(Func_Var_1, Func_Var_2, Func_Var_3, Func_Var_4) { - pieceIndex1 = 1; - pieceIndex2 = 2; - pieceIndex3 = 3; - pieceIndex4 = 4; + Func_Var_1 = 1; + Func_Var_2 = 2; + Func_Var_3 = 3; + Func_Var_4 = 4; return (0); } -QueryNanoPiece(pieceIndex) +QueryNanoPiece(piecenum) { - pieceIndex = nano; + piecenum = nano; return (0); } diff --git a/scripts/Units/corfasp.cob b/scripts/Units/corfasp.cob deleted file mode 100644 index fdcf655d8bdb38aa9a702d2a469bc74f52962b1b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3101 zcmbuB&u>go6vyvOr&CJhA%dil5i1GFU}dNEv!PNU5xYL-MJC2fQzO!?RBSB7f(>G0 zFV+@zNc;nKmc*usjS#8xx$k~wZl6(7)10~Qdwzb;x%a+l#W^=>QZ;#1cCKVApYaXO z9W!Z}>@&P*tE-ihQc_M%;!vw3<$5{c5k0~m5TA8C)Q7x}rS&>g#P}KmVs_yWVk-7X z9#q5(@h~7}EBX*a4{^+Jz`ovWHCZz3SqA+J9Fig5)6%lV9$CrvLGZgXW!kPm%_J&-lQ(UR5{I2Hm{RsI8)x7c1d~T1KVL;!q z7yFi;e1q!$OW%yz)$+czFX~(PfBWW~X%_TNUa-#6g>9x7(6{XFd)}Y+yQjCXwf3E# z+q`d{$)mo7*W7oK?>FZr?pt}MFw{$lJ5o*dM?JWiYT{;{pARektjv#bVcxIpchoBlBRzM{~so&e(_-5AkL7f5H9<$M6o&xzu|Q zlTE;Ly<|oD9IGpG_!^<7M({(&*;cOck(FHi9)|ajk2emkmYDaE5#BZ+<|LfnrKSF+VDh2IW)S1bp8Inu|q4^qJ9s&~t~;E&qhc{?NVy%3j} z8)p$r3G9A94C{=l7xdU|>E#A<7vp@fU3U>3zB_rS<@fDe*c0l;^`GIBjPzzFEPle` zCoF!#@TR7)=V_Qc%;vW_241%UFY>R(>oIwZr+5jAm#}yVik#99# zPl;KDm+aytEME6Qe32Kk{9EmZh1$ZJiE90+w(P~)r2T3#X2afMvfbpk$y<|AOTOD= zuL=Jf-#2+=^4#R5$!nAMCLc^bn|w1_HmPiMZoSDSldUE@Oir{qX?MEQZFbu3=zNxT zGk3n5&UYtoHd~Em`>LVNTo0UTb|)7uX6am~J=Jg#a>vr^>D8=p{(9$H=FZ*B<`>SS sZ4%6+jU1m%+nt$ab|rJCo2^#XaF^2?nVU-+2lzV3*CD>@u5F&~7ZGB|d;kCd diff --git a/scripts/Units/corfast.bos b/scripts/Units/corfast.bos index ec5badfc55e..977a184ab4f 100644 --- a/scripts/Units/corfast.bos +++ b/scripts/Units/corfast.bos @@ -1,17 +1,19 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" -#define SIGNAL_BUILD 2 -#define SIGNAL_MOVE 1 +#define SIG_BUILD 4 +#define SIG_MOVE 2 piece torso, flare, Hip, RLLeg, LLLeg, LULeg, RULeg, LUArm, RUArm, RLArm, LLArm, Head,lfoot,rfoot, aimx1, aimy1; -static-var isMoving, building, moveSpeed, currentSpeed; +static-var bMoving, building, moveSpeed, currentSpeed; static-var animSpeed, maxSpeed, animFramesPerKeyframe; Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations\corfast_anim_walk.blend - if (isMoving) { + if (bMoving) { turn lfoot to x-axis <-3.084971> speed <92.549144> / animSpeed; turn lfoot to z-axis <-0.120397> speed <3.611923> / animSpeed; turn llleg to z-axis <0.745866> speed <22.375988> / animSpeed; @@ -33,10 +35,10 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn ruleg to y-axis <7.586705> speed <227.601156> / animSpeed; sleep 131; } - while(isMoving) { - if (isMoving) { + while(bMoving) { + if (bMoving) { turn head to x-axis <-6.282207> speed <188.466195> / animSpeed; - move hip to y-axis [-1.0] speed [30.0] / animSpeed; + move hip to y-axis [-1.000000] speed [30.000000] / animSpeed; turn lfoot to x-axis <7.396719> speed <314.450721> / animSpeed; turn lfoot to z-axis <0.457131> speed <17.325853> / animSpeed; turn llarm to x-axis <-39.698852> speed <544.430998> / animSpeed; @@ -56,17 +58,17 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn rlleg to z-axis <0.046244> speed <28.337357> / animSpeed; turn rlleg to y-axis <0.041968> speed <48.139771> / animSpeed; turn ruarm to x-axis <31.264716> speed <603.362638> / animSpeed; - turn ruarm to y-axis <-0.0> speed <62.999998> / animSpeed; + turn ruarm to y-axis <-0.000000> speed <62.999998> / animSpeed; turn ruleg to x-axis <-47.352510> speed <967.300372> / animSpeed; turn ruleg to z-axis <9.355843> speed <5.875568> / animSpeed; turn ruleg to y-axis <4.658801> speed <87.837133> / animSpeed; - turn torso to x-axis <5.0> speed <149.999996> / animSpeed; - turn torso to y-axis <-5.0> speed <149.999996> / animSpeed; + turn torso to x-axis <5.000000> speed <149.999996> / animSpeed; + turn torso to y-axis <-5.000000> speed <149.999996> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { - turn head to x-axis <-0.0> speed <188.466195> / animSpeed; - move hip to y-axis [-2.0] speed [30.0] / animSpeed; + if (bMoving) { + turn head to x-axis <-0.000000> speed <188.466195> / animSpeed; + move hip to y-axis [-2.000000] speed [30.000000] / animSpeed; turn lfoot to x-axis <11.817604> speed <132.626530> / animSpeed; turn lfoot to z-axis <-0.885924> speed <40.291645> / animSpeed; turn lfoot to y-axis <0.186163> speed <6.184453> / animSpeed; @@ -87,13 +89,13 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn ruleg to x-axis <-33.991686> speed <400.824700> / animSpeed; turn ruleg to z-axis <1.421562> speed <238.028412> / animSpeed; turn ruleg to y-axis <0.886854> speed <113.158392> / animSpeed; - turn torso to x-axis <10.0> speed <149.999996> / animSpeed; - turn torso to y-axis <-10.0> speed <149.999996> / animSpeed; + turn torso to x-axis <10.000000> speed <149.999996> / animSpeed; + turn torso to y-axis <-10.000000> speed <149.999996> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { + if (bMoving) { turn head to x-axis <4.660312> speed <139.809370> / animSpeed; - move hip to y-axis [-1.0] speed [30.0] / animSpeed; + move hip to y-axis [-1.000000] speed [30.000000] / animSpeed; turn lfoot to x-axis <-0.639125> speed <373.701860> / animSpeed; turn lfoot to z-axis <2.281566> speed <95.024682> / animSpeed; turn lfoot to y-axis <-0.387415> speed <17.207318> / animSpeed; @@ -116,13 +118,13 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn ruleg to x-axis <-28.373564> speed <168.543677> / animSpeed; turn ruleg to z-axis <0.531003> speed <26.716796> / animSpeed; turn ruleg to y-axis <-0.181384> speed <32.047142> / animSpeed; - turn torso to x-axis <5.0> speed <149.999996> / animSpeed; + turn torso to x-axis <5.000000> speed <149.999996> / animSpeed; turn torso to y-axis <-6.959375> speed <91.218743> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { - turn head to x-axis <-0.0> speed <139.809370> / animSpeed; - move hip to y-axis [0.0] speed [30.0] / animSpeed; + if (bMoving) { + turn head to x-axis <-0.000000> speed <139.809370> / animSpeed; + move hip to y-axis [0.000000] speed [30.000000] / animSpeed; turn lfoot to x-axis <-4.179501> speed <106.211269> / animSpeed; turn lfoot to z-axis <2.513631> speed <6.961965> / animSpeed; turn llarm to x-axis <1.288651> speed <53.629232> / animSpeed; @@ -144,13 +146,13 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn ruleg to x-axis <29.435520> speed <1734.272508> / animSpeed; turn ruleg to z-axis <-5.353295> speed <176.528922> / animSpeed; turn ruleg to y-axis <1.231810> speed <42.395802> / animSpeed; - turn torso to x-axis <-0.0> speed <149.999996> / animSpeed; - turn torso to y-axis <0.0> speed <208.781248> / animSpeed; + turn torso to x-axis <-0.000000> speed <149.999996> / animSpeed; + turn torso to y-axis <0.000000> speed <208.781248> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { + if (bMoving) { turn head to x-axis <-6.282207> speed <188.466195> / animSpeed; - move hip to y-axis [-1.0] speed [30.0] / animSpeed; + move hip to y-axis [-1.000000] speed [30.000000] / animSpeed; turn lfoot to x-axis <-5.695665> speed <45.484923> / animSpeed; turn lfoot to z-axis <2.653275> speed <4.189316> / animSpeed; turn lfoot to y-axis <-0.245518> speed <6.101495> / animSpeed; @@ -159,7 +161,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn llleg to z-axis <-0.181696> speed <45.569073> / animSpeed; turn llleg to y-axis <-0.157392> speed <7.682854> / animSpeed; turn luarm to x-axis <31.264716> speed <603.362638> / animSpeed; - turn luarm to y-axis <0.0> speed <62.999998> / animSpeed; + turn luarm to y-axis <0.000000> speed <62.999998> / animSpeed; turn luleg to x-axis <-49.108220> speed <735.135378> / animSpeed; turn luleg to y-axis <1.005510> speed <17.792123> / animSpeed; turn rfoot to x-axis <7.396719> speed <314.450721> / animSpeed; @@ -173,13 +175,13 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn ruleg to x-axis <17.667068> speed <353.053554> / animSpeed; turn ruleg to z-axis <-3.876315> speed <44.309405> / animSpeed; turn ruleg to y-axis <0.207968> speed <30.715241> / animSpeed; - turn torso to x-axis <5.0> speed <149.999996> / animSpeed; + turn torso to x-axis <5.000000> speed <149.999996> / animSpeed; turn torso to y-axis <7.409375> speed <222.281241> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { - turn head to x-axis <-0.0> speed <188.466195> / animSpeed; - move hip to y-axis [-2.0] speed [30.0] / animSpeed; + if (bMoving) { + turn head to x-axis <-0.000000> speed <188.466195> / animSpeed; + move hip to y-axis [-2.000000] speed [30.000000] / animSpeed; turn lfoot to x-axis <-5.208236> speed <14.622876> / animSpeed; turn lfoot to z-axis <2.509912> speed <4.300874> / animSpeed; turn lfoot to y-axis <-0.504674> speed <7.774691> / animSpeed; @@ -201,13 +203,13 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn ruleg to x-axis <-29.464203> speed <1413.938138> / animSpeed; turn ruleg to z-axis <0.494277> speed <131.117750> / animSpeed; turn ruleg to y-axis <0.004492> speed <6.104294> / animSpeed; - turn torso to x-axis <10.0> speed <149.999996> / animSpeed; + turn torso to x-axis <10.000000> speed <149.999996> / animSpeed; turn torso to y-axis <10.899999> speed <104.718736> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { + if (bMoving) { turn head to x-axis <4.660312> speed <139.809370> / animSpeed; - move hip to y-axis [-1.0] speed [30.0] / animSpeed; + move hip to y-axis [-1.000000] speed [30.000000] / animSpeed; turn lfoot to x-axis <-9.483077> speed <128.245250> / animSpeed; turn lfoot to z-axis <-0.972722> speed <104.479035> / animSpeed; turn lfoot to y-axis <0.001818> speed <15.194763> / animSpeed; @@ -229,13 +231,13 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn ruleg to x-axis <-61.536924> speed <962.181623> / animSpeed; turn ruleg to z-axis <5.962850> speed <164.057186> / animSpeed; turn ruleg to y-axis <3.477964> speed <104.204169> / animSpeed; - turn torso to x-axis <4.999998> speed <150.0> / animSpeed; + turn torso to x-axis <4.999998> speed <150.000047> / animSpeed; turn torso to y-axis <5.449997> speed <163.500052> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { - turn head to x-axis <-0.0> speed <139.809370> / animSpeed; - move hip to y-axis [0.0] speed [30.0] / animSpeed; + if (bMoving) { + turn head to x-axis <-0.000000> speed <139.809370> / animSpeed; + move hip to y-axis [0.000000] speed [30.000000] / animSpeed; turn lfoot to x-axis <-3.084971> speed <191.943176> / animSpeed; turn lfoot to z-axis <-0.120397> speed <25.569738> / animSpeed; turn llarm to x-axis <-21.551152> speed <605.188607> / animSpeed; @@ -257,8 +259,8 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn ruleg to x-axis <-79.595855> speed <541.767941> / animSpeed; turn ruleg to z-axis <9.159991> speed <95.914221> / animSpeed; turn ruleg to y-axis <7.586705> speed <123.262232> / animSpeed; - turn torso to x-axis <-0.0> speed <149.999944> / animSpeed; - turn torso to y-axis <0.0> speed <163.499924> / animSpeed; + turn torso to x-axis <-0.000000> speed <149.999944> / animSpeed; + turn torso to y-axis <0.000000> speed <163.499924> / animSpeed; sleep ((33*animSpeed) -1); } } @@ -316,10 +318,10 @@ UnitSpeed(){ #define UNITSIZE 1 #define MAXTILT 100 -#include "../unit_hitbyweaponid_and_smoke.h" +#include "unit_hitbyweaponid_and_smoke.h" BuildAnim(){ - set-signal-mask SIGNAL_BUILD; + set-signal-mask SIG_BUILD; while (TRUE){ turn aimy1 to x-axis <-15> speed <10>; wait-for-turn aimy1 around x-axis; @@ -335,7 +337,7 @@ Create() hide aimx1; hide aimy1; hide flare; - isMoving = FALSE; + bMoving = FALSE; building = 0; moveSpeed = get MAX_SPEED; currentSpeed = 100; @@ -345,10 +347,10 @@ Create() StartBuilding(heading, pitch) { show flare; - signal SIGNAL_BUILD; + signal SIG_BUILD; building = 1; - turn aimy1 to y-axis heading speed <250.0>; - turn aimx1 to x-axis <-60> speed <150.0>; + turn aimy1 to y-axis heading speed <250.000000>; + turn aimx1 to x-axis <-60> speed <150.000000>; wait-for-turn aimy1 around y-axis; set INBUILDSTANCE to 1; start-script BuildAnim(); @@ -357,39 +359,42 @@ StartBuilding(heading, pitch) StopBuilding() { hide flare; - signal SIGNAL_BUILD; - set-signal-mask SIGNAL_BUILD; + signal SIG_BUILD; + set-signal-mask SIG_BUILD; set INBUILDSTANCE to 0; building = 0; - turn aimy1 to y-axis <0.0> speed <250.0>; - turn aimx1 to x-axis <0.0> speed <150.0>; + turn aimy1 to y-axis <0.000000> speed <250.000000>; + turn aimx1 to x-axis <0.000000> speed <150.000000>; turn aimy1 to x-axis <0> speed <5>; } -StartMoving(reversing) +StartMoving() { - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; - isMoving = TRUE; + signal SIG_MOVE; + set-signal-mask SIG_MOVE; + bMoving = TRUE; start-script UnitSpeed(); start-script walk(); } StopMoving() { - signal SIGNAL_MOVE; - isMoving = FALSE; + signal SIG_MOVE; + bMoving = FALSE; call-script StopWalking(); } -QueryNanoPiece(pieceIndex) +QueryNanoPiece(piecenum) { - pieceIndex = flare; + piecenum = flare; } - +SweetSpot(piecenum) +{ + piecenum = torso; +} Killed(severity, corpsetype) { @@ -399,7 +404,17 @@ Killed(severity, corpsetype) explode hip type BITMAPONLY | NOHEATCLOUD; explode ruleg type BITMAPONLY | NOHEATCLOUD; explode rlleg type BITMAPONLY | NOHEATCLOUD; + //explode rfoot type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode luleg type BITMAPONLY | NOHEATCLOUD; + //explode llleg type BITMAPONLY | NOHEATCLOUD; + //explode lfoot type BITMAPONLY | NOHEATCLOUD; explode torso type BITMAPONLY | NOHEATCLOUD; + //explode head type BITMAPONLY | NOHEATCLOUD; + //explode ruarm type BITMAPONLY | NOHEATCLOUD; + //explode rlarm type BITMAPONLY | NOHEATCLOUD; + //explode luarm type BITMAPONLY | NOHEATCLOUD; + //explode llarm type BITMAPONLY | NOHEATCLOUD; + //explode flare type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } if( severity <= 50 ) @@ -408,7 +423,17 @@ Killed(severity, corpsetype) explode hip type FALL | NOHEATCLOUD; explode ruleg type FIRE | SMOKE | FALL | NOHEATCLOUD; explode rlleg type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rfoot type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode luleg type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode llleg type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lfoot type FIRE | SMOKE | FALL | NOHEATCLOUD; explode torso type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode head type FALL | NOHEATCLOUD; + //explode ruarm type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rlarm type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode luarm type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode llarm type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare type FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) @@ -417,8 +442,17 @@ Killed(severity, corpsetype) explode hip type FIRE | SMOKE | FALL | NOHEATCLOUD; explode ruleg type FIRE | SMOKE | FALL | NOHEATCLOUD; explode rlleg type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rfoot type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode luleg type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode llleg type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lfoot type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode torso type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; explode head type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode ruarm type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rlarm type SMOKE | FALL | NOHEATCLOUD; + //explode luarm type SMOKE | FALL | NOHEATCLOUD; + //explode llarm type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode flare type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; @@ -426,7 +460,15 @@ Killed(severity, corpsetype) explode ruleg type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode rlleg type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode rfoot type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode luleg type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode llleg type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lfoot type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode torso type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode head type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode ruarm type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rlarm type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode luarm type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode llarm type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/corfast.cob b/scripts/Units/corfast.cob index ffbd4a0a4965b5b1fd470a92ca243f5bcb4fec49..61b8057122f466c9f97b4695e08b1576251d889f 100644 GIT binary patch literal 13651 zcmb_j36Nby6@4=qCLu!nK?2B<{GpOKV2}x0*aBIQC5sG%EEGmEG9Mh0%!Ho_OJQI_ zSS5f6lvRpSgRIJ`0WB&>6+1=>q$GkuA{t8#6+s9Q0w$i*@7|yL-|hc~QD0Thd%yei z-Ma7T*PWM!BuPGtQb2iQrz9DKJFi<0PLkJ9c0D9X#^Cp9xHlB)2}_cBjfH1$tHbZr z6Vv(z)=wBvVBJgq-nK0%CIyHK7wc}U_qeyWZO5TG$om_Np&l#mDoTMo)+uh#-X1qp zs09Qx~!9HLq@A`FK-XyWn=G-axk)5kEs1Lpnr#=r^UgvPn{W-O7F!8vk z_vTFl9PW`OG(uj;SHayKnS+ZF3&pA4k0Nvb%aS8Dhd;j7+qZ0EY9FT#FWPtM)!yH3 zi8FCDfw=Sb^zy#Vfq)+jBQN3>f$g&KyGi^YPW?D~PmgPt93f8i&MJD`Cb7?Q!WIb5 z>Kz{8gjonu7KgM6eppU;W*_fw`@hooSxz`6!U?pUabXVgVq8XnKeKv6?g~!ha>TwK z7sg9)8kbG?dHass4a$J)ixYxTf>U`9J?J@q*4orx%LxZW;&)es6UxVUKTc*qpqFsf z`=fI`?s~xmJBda7Vz}}rseQz$ye2$X;@pz1t!zt*0}5I0c?&_O>=@UuO9ET_=9;aJ zYo>h7*dXis*&Gzevs`m$WIaApa=>y;DH3z~sq*UZNIzcN)z67~$$863JuCfKuRc7L zM-Jgdc})*_KW>rSBTnb+(q^xBw5(6WseQMc?B)G_gXg5NBfY#w|G6Ef^48At-1_)G zQk>aXRb>0kA@(Re4JJj)H6_x5pK^Vd|K&G{ql_44XD2#`md&VzER$MvFJ zaqLnnm-m+WLO8Elxb+{V_63aKnsBeguaBI64`V{vrL#;Q8N*iLoxXD(He}u}?%&bJ za)rs|U@!DuKiTWOje!wv&{!S?0;u>T_C03gX)G_e*yr+r6aslR=j*Ta@|v+fAF^l=#^>u6ZlU;@YEH;;RHgJrCVQ-7z<@i~9cE9soD zIlo&Zm&Zx`Y|f8CqGjVe`J+^x&E*rOc-+IVi}52)$L+-kHxQ;c^<&mAeOwyFKAX!g zcY1%P?vu*nbmhhP4UKTf8j(kw+IKt>HtX+;2B-GDINHyvUr`zSwH)%w1zz5(*rXC? zIb`cD9yd?qSq^y~?=V^W)`@+@seQ5cf!KS)>l3`ZA+m;1y~=CCb470-9P$w+cr6a0 zO#0q8hX9x1kjthT8zkp-|7+hH-iQ8*t%7@jjzF({ZzzuTxD8?-rfIn7#|_W;xj1+f znjw$5%!{}cM|pYgvr%w5$L<{AagWFtT5j01#p~65t>uPcPkMQm3D;O|c=joe`^jq0 z4Xu$q%9CQB<%VP6P&UpOqTnxa3_0VnpnGT{Lqmj@#2{96%j zpg4|)<%SiJ`GPHD$WhA;k0HUb{?bpCr~W?psK>3`lFGB(@WIOsPTod2M`AAXV*GlR zdU*%Q`xJ3HuSO2{xIa<|{3TB9i*W;C#DzQlP;ckWUS4PyoXTrLWhE|saKm62LfNrB z#s6}Ck+%=F+z{Ib|A~&kC(8}7eeiE(P7tTQ=k0?nhYX+X$68})IiyrHu@vrFCwhs~ zu|6LYuM%^?tv5KeFK-`gIV5&AruJD5xqYx-_jZ5NbI4r?Qr5noQy}7Oxgqb|$#O&N z-06Pt*K$MNxs!cw*z^nk-tZK7nf6(3`1`@$k4eI2Yg0SRzlyBk$bFazpIg zi9AJl#HqY(TfE*II6;A{;*iLibF7?;Sq@nP!p)A`D2P*esyD_VvGl>LEr+a!;H+M30m3?Exgl?VYjghPBm6pgo$PNpM7(HUGk#?C;wU%hB~Ja_ zJk;a(D$ckNr~c-h|Ja<5o&WTTJe%{e^PhEMA91QT@BGJd!?-IwH>??-`eC`@>yh>G z5CY(@<%Tn#^>LXj>o;*~U*7qT<%Zb#&y*plUds)KZ}ff)iR?Yb&Gq)-pPGUnmK$Pg zB4PBGIQ1jO4YBi!@)WQ42~JSRqga*Kgy+iq>w_EiKma&r|KH~qdHZ0?4Y7Uj$ubu$ zH{|VuEjQ%tgDp2SHv6%D2mgk^SdtrfF)qEBaFtjJckx(Uahl6lU>veIEQJ-Ej!oV^ z*mBK&cX)Y?a`tMuChwfcazpH#s4a4K7&|9AUi`4!katdGx#6Cro-_9uo5qE?%!_gE zp6&fTiH#Xm!pWVs=BPPAEa%5uZb_xbm@iFm=KeavNE^yBt!@5gv~ z53$@ZERxF?ax#fLoiBHs>*ZZXM}ebGUer52qIaFask|oOEAzAuZWw`qr0f_s1jVqS z@An2EGv^X{`&-KmvHflAdxgCHtv z?E8nj{jJUUryuZpp4fL1w;kv8#=es%ALwzh?h6`~IOf!iBN# zA7bwfoTgcBI6A@&7WZknA(^oKo1@UbwK05al=KV?JQ3 zv6EOKv0Ewlwoq4>t`m6XmDnELNaJ=JJD>>Q*n9N&c8W?pR&e7oS8KY{OYXI0Xg&b<%S z4pdcQQD{uZ4|O`9c&DivAM7&19IcwCh#&0;aqCH+*@yNt$r{3Q1Y%}=knUCZopHF( zQ=i$cxF5s51anv0INvJIh}S^7HbH+f4+sjxokuFX2fWl%Hmm6?@AfzQ@weqj%@@Xz zebit2$ltuHjH+>IP3>S?h{vMs@nApIwd!FL(_(6?wsEh;{&QYUV-@^?K8=Cmlq>l= zDGmZRH&*QdSsiRMF|am;XBjV*75YGy`j)j>>ysKbr~PFN@Pl}sFK7D^SE-Zv6L>}9 z6`svpq8&jtd<<>;f#*<%KY6lMJ7s8|uk+Ntxshk`P8auC=jtgmR}bC_H5Z2PGF{pq8A^`{TbtmW@nY!rVl5r3(}`r98} zj1_(EPalng?aR1++Bj-VwEw4xJ>BlFotU;&ab*8&tkeej-ya{epWgf1KQD&0=3h2$ zR%fj~VUGg8|64m57RD{szn0Ey+$m!uHa%~njK|veJ(RU54FHZrISyq$%FQTuqpU<( zh4M5C|G&=ZC?%9Gl#5ZWK)DI!2Pk)-{1oL0l+`F}Q2v7Q4$5YfPf+UdeSRa#PAI#e z?13^IWhBb}C@m<5p&W%W5#gr5pEbN+JVw0^ssXdvrq+>z*#LkX|$>egWt-AzKZRPGzOJNjjexPZ3*ZJBY zkEbjtl`r~ATW42mN9imGxS&*m0bSk6)Q$xUU`BUWd2v^A_JX!@3Cb5Gr%szzIwzTy x{+-F^Q^VhBGbff8;yL`C#=q0T-xEu1?a6|(yCAU~{7{sZU=W^w=k literal 13172 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 M7mp42T`@NN4?{FeRsaA1 diff --git a/scripts/Units/corfatf.bos b/scripts/Units/corfatf.bos index 6f8e609ccce..36c9e960989 100644 --- a/scripts/Units/corfatf.bos +++ b/scripts/Units/corfatf.bos @@ -1,11 +1,33 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base; -#define WATER_ROCK_UNITSIZE 12 -#include "../floatmotion.h" +static-var statechg_DesiredState, statechg_StateChanging; + +RockOnWaves() +{ + var rockDir, rockAng, rockSpeed; + rockDir = <-0.1>; + rockAng = <-0.1>; + while( TRUE ) + { + while( get ABS(rockAng) < <1.31> ) + { + rockSpeed = <1.45> - get ABS(rockAng); + turn base to x-axis rockAng speed rockSpeed*5; + turn base to z-axis rockAng speed rockSpeed*5; + wait-for-turn base around x-axis; + wait-for-turn base around z-axis; + rockAng = rockAng + rockDir; + } + rockDir = 0 - rockDir; + rockAng = rockAng + rockDir + rockDir; + } +} #define BASEPIECE base @@ -14,24 +36,62 @@ piece base; #define UNITSIZE 6 #define MAXTILT 200 -#include "../unit_hitbyweaponid_and_smoke.h" +#include "unit_hitbyweaponid_and_smoke.h" +InitState() +{ + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; +} + +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + currentstate = 0; + } + if( statechg_DesiredState == 1 ) + { + currentstate = 1; + } + } + statechg_StateChanging = FALSE; +} Create() { - SLEEP_UNTIL_UNITFINISHED; - start-script FloatMotion(); + call-script InitState(); + while( get BUILD_PERCENT_LEFT ) + { + sleep 400; + } + start-script RockOnWaves(); } Activate() { + start-script RequestState(0); } Deactivate() { + start-script RequestState(1); } - +SweetSpot(piecenum) +{ + piecenum = base; +} Killed(severity, corpsetype) { diff --git a/scripts/Units/corfatf.cob b/scripts/Units/corfatf.cob index 1d80e8d295190d00f21c847ca4762876b43de2b8..cbb1e12b9993d358fd69324f42eafb7ffc5af655 100644 GIT binary patch literal 2232 zcmbtVJ#Q015FK9}CxU{dq(N6BiW3qYg)tOFAc$zP*Fe|(NmcBc4y9K`H+L?-5XEV%-@goCGXkVX+7a=CiC-Q%?X@_`&Z8e zF~Sx3dbhO09PuVA*wC&rF|9hDn_F_FW~{-D-qAPpb%L)F&cSUJb>v&_RmKSTI**^4 zN8h4;SKtq`%_2Uz7Cam{DmVMCerud(kze`^;EhhypUn9`s~;-72YY9x+3P%GxDS4} zye#^{tZ|2d0m9R>#`kkk^VrVrLmb{4v9QS7-YIjY=fE6b+uOB1#5XL~TR&pcZ#Lhw zaVIy%$h(1!^ln9kYavSOuoba z!Q5eQ#r&?A;XP-O@3K6Z_b+v9{}A#CQbqqukgJd!as+t|IflH2@c;ZB$OFhWWCVEz zIfA@`97Eng-a|e>n!}y`y}?#z-;d>1FK;~E@}1FeAg#S&-`^kf^0IfMD;sdN@=orh q=^s7uV>NC(_Viuf$$R_U-1HsWwhp|{Tccqvw|l$0zAM|Ev6nx1ke3Vq literal 2502 zcmbuByK7WY5XR3wvOcgliWY*(YL!A^5v|?Tpa~KPSZL`rd(p*BHs~VS`{?}x)Iu#{ zVJ|jTHue@af*_U)f*=U`{mwnJd$L|7#)RR_%$aXqXXYk#=iGKtMRclKoMPSV4(H}Y z*F;Ap_jS5v)mMDgpTnS8_tjR_!=i`yMZ{(gOsf`brX#mq!G#Jk+^BgrAlsDHOhjIV{7Mn8pZZ_IaIK>R(J!bu#*v3Rak_v8^| zl8?TywZ3o`wHI;VvA-8>Og;oC`q~LEUlwQjB(C{)O;@~!Af~f^BU^tS?Ug}E-F81+ zx9LfxEWYLH{!%w@;hII=_AXYp$^Tn7bC%YPUu2u5wF6R=)NS`4Uu=AD(+jobx{J9j z>V{9>+vF|R?ThzjZqmBV?*bRCig)dXKbF+smKtGSZJ#*FYqxCJYo}e&I)q%i=w#15 z{oo$H1K*knw)+%^DMZB`r(2rbp(B-gE8h7=vCqXfBA=5AGRaXf5+5N(tf?LC(6K`nXI%>k#&Sh(^B?fa!NomHF%}an5R3ae zc7n&w-sY}YeAvzq-+WG=d=pYz+)Ue;Y__RQ_@=04>wQO;DREst>wpL~}i?tR2nbh=UeR%54c(E5=&uq(+5HzKf%Ut8_zj<@=X1Nnxda0(T|R> zYyaYB8Q;;*iRdTH+9vWL*Uj1z=Bwzil6xwmpWj5^ML$IRe{@@PU-VG)SoB=$y8~BhQAp>nsm@w_xV- R%-Hk2en0QJE7{H5{Q`J&nD_ty diff --git a/scripts/Units/corfav.bos b/scripts/Units/corfav.bos index b2d0b3ce160..4e36e5ac782 100644 --- a/scripts/Units/corfav.bos +++ b/scripts/Units/corfav.bos @@ -1,16 +1,21 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, rdrbar, rdrdish, steer, turret, fwheel, bwheel, gun, flare; -static-var restore_delay, moveSpeed, wheelSpeed, gun_2, oldHeading, dishturn, wpn1_lasthead; +static-var restore_delay, moveSpeed, wheelSpeed, Static_Var_1, gun_2, statechg_DesiredState, statechg_StateChanging, + oldHeading, dishturn, wpn1_lasthead; // Signal definitions -#define SIGNAL_MOVE 1 -#define SIGNAL_AIM1 256 +#define SIG_MOVE 2 +#define SIG_AIM 4 Steering(heading, steery, currentSpeed) { + signal SIG_MOVE; + set-signal-mask SIG_MOVE; while(1) { heading = get HEADING; @@ -32,33 +37,28 @@ Steering(heading, steery, currentSpeed) //how 'heavy' the unit is, on a scale of 1-10 #define UNITSIZE 1 #define MAXTILT 100 -#define RECOIL_POWER 5000 -#include "../unit_hitbyweaponid_and_smoke.h" - - -#define TB_BASE base -#define TB_TURNRATE <30.0> -#define TB_TILT_X <0.2> -#define TB_BANK_Z <0.3> // Do not define this if you dont want banking -#include "../tilt_bank_mobileunit.h" +//#include "unit_hitbyweaponid_and_smoke.h" Create() { hide flare; + Static_Var_1 = 0; dishturn = 1; oldheading = get HEADING; + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; + hide flare; turn rdrbar to x-axis <-15> now; - call-script TB_Init(); } -StartMoving(reversing) + + + +StartMoving() { - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; dishturn = 0; start-script Steering(); - START_TILTBANK; } TurnTheDish() @@ -74,20 +74,21 @@ TurnTheDish() StopMoving() { - signal SIGNAL_MOVE; + signal SIG_MOVE; stop-spin fwheel around x-axis; stop-spin bwheel around x-axis; dishturn = 1; start-script TurnTheDish(); - STOP_TILTBANK; } + + //following block returns weapon in straight position after firing -SetMaxReloadTime(reloadMS) +SetMaxReloadTime(Func_Var_1) { - restore_delay = reloadMS * 2; + restore_delay = Func_Var_1 * 2; return (0); } @@ -97,10 +98,10 @@ ExecuteRestoreAfterDelay() if (Stunned) { return (1); } - turn turret to y-axis <0.0> speed <90.0>; - turn gun to x-axis <0.0> speed <50.0>; + turn turret to y-axis <0.000000> speed <90.000000>; + turn gun to x-axis <0.000000> speed <50.000000>; wait-for-turn turret around y-axis; - wpn1_lasthead = 0xbadface; + wpn1_lasthead = 1000000; } SetStunned(State) { @@ -115,15 +116,15 @@ RestoreAfterDelay() start-script ExecuteRestoreAfterDelay(); } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; - turn turret to y-axis heading speed <300.0>; - turn gun to x-axis <0.0> - pitch speed <300.0>; - if ((wpn1_lasthead == 0xbadface) OR ABSOLUTE_GREATER_THAN(WRAPDELTA(heading - wpn1_lasthead), <7>)) + signal SIG_AIM; + set-signal-mask SIG_AIM; + turn turret to y-axis heading speed <300.000000>; + turn gun to x-axis <0.000000> - pitch speed <300.000000>; + if (((get ABS(wpn1_lasthead - heading)) > 65536) OR(((get ABS(wpn1_lasthead - heading)) > 1300) AND ((get ABS(wpn1_lasthead - heading)) < 64236))) { - wpn1_lasthead = 0xbadface; + wpn1_lasthead = 1000000; wait-for-turn turret around y-axis; } wpn1_lasthead = heading; @@ -131,24 +132,28 @@ AimWeapon1(heading, pitch) return (1); } -FireWeapon1() +FirePrimary() { return (0); } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = gun; + piecenum = gun; return (0); } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = flare; + piecenum = flare; return (0); } - +SweetSpot(piecenum) +{ + piecenum = base; + return (0); +} Killed(severity, corpsetype) { diff --git a/scripts/Units/corfav.cob b/scripts/Units/corfav.cob index 681dfabcba71215616c857d7e7ae4f085636f012..fbf306150ad6f462df19da495c8f7679fc96c47e 100644 GIT binary patch literal 3151 zcmd5;&r4KM6h6-A*e~!cDvAgmwTl)*1g)yk)Cv(MowB7*=b8iK%y4~^3M~eqRs9Jr zT12b1?h0JC3xbxd!)RF~71;OP_s;NqI-*mH20re6=g0TX`R=(-dqrdbI10SXh#bet z-?&5y)aleI}N4+&)iaESrydw!) zFJfJ<$YsBLR=?^=8}%cP#;`W!rQg+);C}FZds{Zd#Ur#G%Nmk-d>6WL{iWl0Zq5(Q z)?$v*sfg?K7x4QMY3De=%9vCf<2%I(^jS^C<8ep4)~a>$9XgBLN@4do(Uv?P)l7S( z-uxxGIq!OYw7d6UzNl?Fmb&1|xY>Un^Y9&7v<8)_czCv+o1tXtdFs7k9p;}Cw0=8qWQV=F}e>f zC)Fc;sx38j+W5Geh|_-Qe~M(*!yZ+8L7e8MSII|r->I4Jb8+2roa6=iOOCHU!NG4z z187CsPoY`Xojkwf*=nCWJNC^paC3<*^PE;VC+(eQ#`EAawbO6wUVifI=ZCwaKRy3v z8SFUX-(&{tuJ0 zpDwfPCqDBc8et#&Rwi{h%)3ZO4))Kr(>eYt?Yh-o=cwEKw5EIM)-AVc*lqs*tZk=x zNb5-rrhsK&6?g@_1>OOlfgb?>zy?4Wr~)DI1mOR(0Wc4QKnr*VtO4u52Jiv+1Z)CZ zK;H@cuMC_9&H)#IOF$mD2HXHffV;qCXpF7Y9?30hg3#bOu;F<9F-@hWt(E4@aAk2G z_Ie{WPnvK%Se`J|dQdJ^7L1H6o7rY)Cd^`3w`OoIGi^s)c| literal 4210 zcmb7{PiS356vn47@wK*Mum9>F5FUthBl6mX(v2oDtt}FUnH%a&b_4PNsX@6$V|3mjcg0Rxn}m32A-#RZjEM* zws872q+^sO8)ecO$-rqD=h`D4M+|gFjs?7r*>WCZw%_Fd=6U=SpLvJ5VlY1(^=@n= zv$zfESf3HhGjD2=J(R)s)kFtZ!$>{!ac!Yd=!ZX}#lzM_p&zyhCT(Uh-*(J*tQqo% zdUvEbtY2Ek$M9EPaC=`$l^|D|@--RhXy{65E;e;)A~9Cb)>VJ`#kuObee#e~OmyVrAt zqwT-#fAHjq??p`+FKL7`wX&G?(Y3=K8CKB$#HJYh$=PZ@ zE+cE&K5fJs4z~crvp~-N9Asfn%$JcK1^<%{yK%4AY$F@4L%jCRdI8-hPXyblepVmj zVmkcM)qBh9V?1I}Th72SO?V#VS?7Y9FeN@CHfm$%;N^%%WxWoDXX`bl!$fcSuH9|e zfZ0f|kn8rSv%44FwgksBcl*#U*+1Jy>vd>T|34$I^uDzoqZ+J9k5Myxh;8emv!25S zp7qz={hQnu!0e8`CTD7AXW93D&5w16Prera)_FN*;k|HYRovtQzrW9~Vf2J?CF_0Q`Q(dx_BIYx`pS(R*Go=IvTc)@O|y zwV2e!eAB(3livF5OpJxfzk}x7ut&%PKi+leKBBWV-@dCnesm#cVzip~y&HYpmg*vo z#B@ucpZ)won4`9}xC?mZS6_Fd{v}5bmLKn4;^OCZ>S^le-`DEjaTNs{`@#6lZSmJ0 z_+G*RmiQwH4*X^~&g<@4T%p(DiRE?T!<_h52d^Ky|C_=|mwrp&lh(+e9qEW?XAJvB zHA-{w>nUeOpR4?>9;uCa%A32uYKF&^JYAZ*MoSRBu3=%QRJav9S@5G6z-RqJb;JsvU=Eaod>b%YZ=zovggfmHoL9$ zMdVgr3-wV6uV=oSc1ey)O37c6Z7M$Z?qSI}$wkRE$#;?;B&(8!$ZnTBF5&;wDam`1 zdC8LGW634SXOb(DuO-(d-%D;tev|wmS(R*8ckPnADA_C7CwWb>Uos_`k-RI(B@2?C zWTq;LvfH0`2fNk8xp#_uY0y8^NuS*G;N zBJZDeZ?Lvb($>{a`7oXNqbnKRaFY26<<;yI8pWXN!|7 zRWV&GSA((`KUEdwWYNpdIU#4Nm43hIxciOc-NnFnk2}yU3!6)Qpd1WMM^}n6=C#Ki v?)G|$bs}FbT-hm4AO?Cye! -#define CATT1_ACCELERATION <0.16> -#define CATT1_JERK <0.5> -#define CATT1_PRECISION <1.2> -#define CATT1_RESTORE_SPEED <1.0> -#define CATT1_PITCH_SPEED <85> +#define MAX_AIMY1_VELOCITY <3.00> +#define AIMY1_ACCELERATION <0.16> +#define AIMY1_JERK <0.5> +#define AIMY1_PRECISION <1.2> +#define AIMY1_RESTORE_SPEED <1.0> -#include "../constant_acceleration_turret_turning_1.h" +static-var timetozero, deceleratethreshold; +static-var Stunned; -#define CATT2_PIECE_X turretg -#define CATT2_PIECE_Y body1 +static-var aimy1delta, aimy1velocity, aimy1target, aimy1position, gameFrame1; -#define CATT2_MAX_VELOCITY <6.0> -#define CATT2_ACCELERATION <0.4> -#define CATT2_JERK <1.5> -#define CATT2_PRECISION <1.2> -#define CATT2_RESTORE_SPEED <1.0> -#define CATT2_PITCH_SPEED <150> +#define MAX_AIMY2_VELOCITY <6.00> +#define AIMY2_ACCELERATION <0.4> +#define AIMY2_JERK <1.2> +#define AIMY2_PRECISION <1.2> +#define AIMY2_RESTORE_SPEED <1.0> +static-var aimy2delta, aimy2velocity, aimy2target, aimy2position, gameFrame2; -#include "../constant_acceleration_turret_turning_2.h" +#define BASEPIECE base +#define HITSPEED <25.0> +//how 'heavy' the unit is, on a scale of 1-10 +#define UNITSIZE 7 +#define MAXTILT 200 +RockOnWaves() +{ + var rockDir, rockAng, rockSpeed; + rockDir = <-0.1>; + rockAng = <-0.1>; + while( TRUE ) + { + while(( get ABS( rockAng ) )< <1.31> ) + { + rockSpeed = <1.45> - get ABS(rockAng); + turn base to x-axis rockAng speed rockSpeed*5; + turn base to z-axis rockAng speed rockSpeed*5; + wait-for-turn base around x-axis; + wait-for-turn base around z-axis; + rockAng = rockAng + rockDir; + } + rockDir = 0 - rockDir; + rockAng = rockAng + rockDir + rockDir; + } +} +ProjXPW(Func_Var_1, Func_Var_2) +{ + if( Func_Var_2 < -21840 ) + { + Static_Var_7 = Func_Var_1 * ( Func_Var_2 + 32760 ) / 10920; + } + else if( Func_Var_2 > 21840 ) + { + Static_Var_7 = Func_Var_1 * ( 32760 - Func_Var_2 ) / 10920; + } + else if( Func_Var_2 < -10920 ) + { + Static_Var_7 = 0 - Func_Var_1; + } + else if( Func_Var_2 > 10920 ) + { + Static_Var_7 = Func_Var_1; + } + else + { + Static_Var_7 = Func_Var_1 * Func_Var_2 / 10920; + } +} -Open() +RockZ(Func_Var_1, Func_Var_2) { - set ARMORED to 0; + signal 4096; + set-signal-mask 4096; + call-script ProjXPW(10920 / Func_Var_2,Func_Var_1); + Static_Var_8 = Static_Var_8 + Static_Var_7; + Static_Var_7 = get ABS(Static_Var_8); + while( Static_Var_7 > 91 ) + { + turn base to z-axis Static_Var_8 speed Static_Var_7 * <0.0125>; + wait-for-turn base around z-axis; + Static_Var_8 = Static_Var_8 * -1 / 2; + Static_Var_7 = get ABS(Static_Var_8); + } + turn base to z-axis <0.000000> speed <1.5>; +} +activatescr() +{ + if( TRUE ) + { move body1 to y-axis [0] speed [90]; move turretb to y-axis [-14] speed [90]; wait-for-move turretb along y-axis; wait-for-move body1 along y-axis; - + } + if( TRUE ) + { move turretb to y-axis [0] speed [90]; wait-for-move turretb along y-axis; - + } + if( TRUE ) + { move borer to z-axis [0] speed [30]; move barrelr to z-axis [0] speed [20]; turn turretg to x-axis <0> speed <180>; @@ -78,47 +132,103 @@ Open() wait-for-turn turretb around x-axis; wait-for-move borer along y-axis; wait-for-turn turretg around x-axis; - + } sleep 22; - isOpen = TRUE; + closed = FALSE; } -Close() +deactivatescr() { - isOpen = FALSE; - - turn turretb to x-axis <0> speed <180>; - turn turretg to x-axis <0> speed <180>; - turn turretr to y-axis <0> speed <180>; - turn body1 to y-axis <0> speed <180>; - turn turretb to y-axis <0> speed <180>; - move turretb to y-axis [-14] speed [90]; - wait-for-turn turretb around x-axis; - wait-for-turn turretg around x-axis; - wait-for-turn turretr around x-axis; - wait-for-move turretb along y-axis; - - move boreb to z-axis [-6] speed [12]; - move barrelb to z-axis [-9] speed [18]; - turn turretg to x-axis <180> speed <180>; - move boreg to z-axis [-12] speed [24]; - move barrelg to z-axis [-4] speed [10]; - move borer to z-axis [-15] speed [30]; - move barrelr to z-axis [-10] speed [20]; - wait-for-move borer along y-axis; - wait-for-turn turretg around x-axis; - - move turretb to y-axis [-28] speed [90]; - move body1 to y-axis [-14] speed [90]; - wait-for-move turretb along y-axis; - wait-for-move body1 along y-axis; + closed = TRUE; + if( TRUE ) + { + turn turretb to x-axis <0> speed <180>; + turn turretg to x-axis <0> speed <180>; + turn turretr to y-axis <0> speed <180>; + turn body1 to y-axis <0> speed <180>; + aimy1position = 0; + turn turretb to y-axis <0> speed <180>; + aimy2position = 0; + move turretb to y-axis [-14] speed [90]; + wait-for-turn turretb around x-axis; + wait-for-turn turretg around x-axis; + wait-for-turn turretr around x-axis; + wait-for-move turretb along y-axis; + } + if( TRUE ) + { + move boreb to z-axis [-6] speed [12]; + move barrelb to z-axis [-9] speed [18]; + turn turretg to x-axis <180> speed <180>; + move boreg to z-axis [-12] speed [24]; + move barrelg to z-axis [-4] speed [10]; + move borer to z-axis [-15] speed [30]; + move barrelr to z-axis [-10] speed [20]; + wait-for-move borer along y-axis; + wait-for-turn turretg around x-axis; + } + if( TRUE ) + { + move turretb to y-axis [-28] speed [90]; + move body1 to y-axis [-14] speed [90]; + wait-for-move turretb along y-axis; + wait-for-move body1 along y-axis; + } wait-for-turn body1 around x-axis; wait-for-turn turretb around x-axis; + sleep 22; +} + +Go() +{ + + set ARMORED to 0; + if( !Static_Var_3 ) + { + call-script activatescr(); + } + Static_Var_3 = 1; +} + +Stop() +{ + Static_Var_3 = 0; + call-script deactivatescr(); set ARMORED to 1; - - start-script CATT1_Init(); - start-script CATT2_Init(); + +} + +InitState() +{ + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; +} + +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + call-script Go(); + currentstate = 0; + } + if( statechg_DesiredState == 1 ) + { + call-script Stop(); + currentstate = 1; + } + } + statechg_StateChanging = FALSE; } Create() @@ -133,133 +243,247 @@ Create() hide flareb; hide flareg; gun_3 = 0; - isOpen = TRUE; + closed = FALSE; + call-script InitState(); Static_Var_3 = 0; restore_delay = 2000; - SLEEP_UNTIL_UNITFINISHED; - start-script FloatMotion(1); - start-script OpenCloseAnim(1); - start-script CATT1_Init(); - start-script CATT2_Init(); + while( get BUILD_PERCENT_LEFT ) + { + sleep 250; + } + start-script RequestState(0); } - +#define SMOKEPIECE base +#include "smokeunit_thread_nohit.h" Activate() { - - start-script OpenCloseAnim(1); + start-script RequestState(0); } Deactivate() { - signal SIGNAL_AIM1; - signal SIGNAL_AIM2; - signal SIGNAL_AIM3; - start-script OpenCloseAnim(0); + signal SIG_AIM; + signal SIG_AIM_2; + signal SIG_AIM_3; + start-script RequestState(1); } -SetMaxReloadTime(reloadMS) +SetMaxReloadTime(Func_Var_1) { - restore_delay = reloadMS * 4; + restore_delay = Func_Var_1 * 4; } AimWeapon1(heading, pitch) { - if (!isOpen) + if (closed == TRUE) { return (0); } - aimDir = heading; - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; //We can do this any time + turn turretb to x-axis <0.000000> - pitch speed <85.000000>; + aimDir = heading; + aimy1target = heading; + aimy1delta = aimy1target - aimy1position; - call-script CATT1_Aim(heading,pitch); - + + while( ( get ABS(aimy1delta) > AIMY1_PRECISION ) OR (get ABS(aimy1velocity) > AIMY1_JERK)){ + if (gameFrame1 != get(GAME_FRAME)){ //this is to make sure we dont get double-called, as previous aimweapon thread runs before new aimweaponthread can signal-kill previous one + gameFrame1 = get(GAME_FRAME); + + //Clamp aimy1position and aimy1delta between <-180>;<180> + while (aimy1position > <180>) aimy1position = aimy1position - <360>; + while (aimy1position < <-180>) aimy1position = aimy1position + <360>; + while (aimy1delta > <180>) aimy1delta = aimy1delta - <360>; + while (aimy1delta < <-180>) aimy1delta = aimy1delta + <360>; + + //number of frames required to decelerate to 0 + timetozero = get ABS(aimy1velocity) / AIMY1_ACCELERATION; + + //distance from target where we should start decelerating, always 'positive' + //pos = t * v - (t*(t-1)*a/2) + deceleratethreshold = timetozero * (get ABS(aimy1velocity)) - (timetozero * (timetozero - 1) * AIMY1_ACCELERATION / 2); + + //get PRINT ( aimy1delta , deceleratethreshold, aimy1velocity, timetozero ); + + if (get ABS(aimy1delta) <= deceleratethreshold){ //we need to decelerate + if (aimy1velocity > 0) aimy1velocity = aimy1velocity - AIMY1_ACCELERATION; + else aimy1velocity = aimy1velocity + AIMY1_ACCELERATION; + } + else //we need to accelerate + { + if (aimy1delta > 0) aimy1velocity = get MIN( MAX_AIMY1_VELOCITY, aimy1velocity + AIMY1_ACCELERATION); + else aimy1velocity = get MAX((-1) * MAX_AIMY1_VELOCITY, aimy1velocity - AIMY1_ACCELERATION); + } + + //Apply jerk at very low velocities + if (get ABS(aimy1velocity) < AIMY1_JERK){ + if ((aimy1delta > AIMY1_JERK)) aimy1velocity = AIMY1_JERK; + if ((aimy1delta < (-1) * AIMY1_JERK)) aimy1velocity = (-1) * AIMY1_JERK; + } + + aimy1position = aimy1position + aimy1velocity; + turn turretb to y-axis aimy1position now; + aimy1delta = aimy1target - aimy1position ; + } + sleep 30; + } + aimy1velocity = 0; return (1); } AimWeapon2(heading, pitch) { - if (!isOpen) + if (closed == TRUE) { return (0); } - signal SIGNAL_AIM2; - set-signal-mask SIGNAL_AIM2; + signal SIG_AIM_2; + set-signal-mask SIG_AIM_2; + //We can do this any time + turn turretg to x-axis <0.000000> - pitch speed <85.000000>; + + aimy2target = heading; + aimy2delta = aimy2target - aimy2position; - call-script CATT2_Aim(heading,pitch); + + while( ( get ABS(aimy2delta) > AIMY2_PRECISION ) OR (get ABS(aimy2velocity) > AIMY2_JERK)){ + if (gameFrame2 != get(GAME_FRAME)){ //this is to make sure we dont get double-called, as previous aimweapon thread runs before new aimweaponthread can signal-kill previous one + gameFrame2 = get(GAME_FRAME); + + //Clamp aimy2position and aimy2delta between <-180>;<180> + while (aimy2position > <180>) aimy2position = aimy2position - <360>; + while (aimy2position < <-180>) aimy2position = aimy2position + <360>; + while (aimy2delta > <180>) aimy2delta = aimy2delta - <360>; + while (aimy2delta < <-180>) aimy2delta = aimy2delta + <360>; + + //number of frames required to decelerate to 0 + timetozero = get ABS(aimy2velocity) / AIMY2_ACCELERATION; + + //distance from target where we should start decelerating, always 'positive' + //pos = t * v - (t*(t-1)*a/2) + deceleratethreshold = timetozero * (get ABS(aimy2velocity)) - (timetozero * (timetozero - 1) * AIMY2_ACCELERATION / 2); + + //get PRINT ( aimy2delta , deceleratethreshold, aimy2velocity, timetozero ); + + if (get ABS(aimy2delta) <= deceleratethreshold){ //we need to decelerate + if (aimy2velocity > 0) aimy2velocity = aimy2velocity - AIMY2_ACCELERATION; + else aimy2velocity = aimy2velocity + AIMY2_ACCELERATION; + } + else //we need to accelerate + { + if (aimy2delta > 0) aimy2velocity = get MIN( MAX_AIMY2_VELOCITY, aimy2velocity + AIMY2_ACCELERATION); + else aimy2velocity = get MAX((-1) * MAX_AIMY2_VELOCITY, aimy2velocity - AIMY2_ACCELERATION); + } + + //Apply jerk at very low velocities + if (get ABS(aimy2velocity) < AIMY2_JERK){ + if ((aimy2delta > AIMY2_JERK)) aimy2velocity = AIMY2_JERK; + if ((aimy2delta < (-1) * AIMY2_JERK)) aimy2velocity = (-1) * AIMY2_JERK; + } + + aimy2position = aimy2position + aimy2velocity; + turn body1 to y-axis aimy2position now; + aimy2delta = aimy2target - aimy2position ; + } + sleep 30; + } + aimy2velocity = 0; return (1); } -AimWeapon3(heading, pitch) +AimTertiary(heading, pitch) { - signal SIGNAL_AIM3; - set-signal-mask SIGNAL_AIM3; - while( !isOpen ) + signal SIG_AIM_3; + set-signal-mask SIG_AIM_3; + while( !Static_Var_3 ) { sleep 250; } - turn turretr to y-axis heading speed <500.0>; + turn turretr to y-axis heading speed <500.000000>; wait-for-turn turretr around y-axis; return (1); } -FireWeapon1() +FirePrimary() { + start-script RockZ(-27,aimDir); emit-sfx 1024 + 0 from flareb; - move boreb to z-axis [-4.0] speed [500.0]; - move barrelb to z-axis [-4.0] speed [500.0]; + move boreb to z-axis [-4.000000] speed [500.000000]; + move barrelb to z-axis [-4.000000] speed [500.000000]; sleep 150; - move boreb to z-axis [0.0] speed [3.0]; - move barrelb to z-axis [0.0] speed [3.0]; + move boreb to z-axis [0.000000] speed [3.000000]; + move barrelb to z-axis [0.000000] speed [3.000000]; } -FireWeapon2() +FireSecondary() { sleep 150; } -FireWeapon3() +FireTertiary() { - gun_3 = !gun_3; + if( gun_3 == 0 ) + { + gun_3 = 1; + return (0); + } + else + { + + gun_3 = 0 ; + return (0); + } } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = aimpoint; + piecenum = aimpoint; } -AimFromWeapon2(pieceIndex) +AimFromSecondary(piecenum) { - pieceIndex = body1; + piecenum = body1; } -AimFromWeapon3(pieceIndex) +AimFromTertiary(piecenum) { - pieceIndex = turretr; + piecenum = turretr; } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = flareb; + piecenum = flareb; } -QueryWeapon2(pieceIndex) +QuerySecondary(piecenum) { - pieceIndex = flareg; + piecenum = flareg; } -QueryWeapon3(pieceIndex) +QueryTertiary(piecenum) { - pieceIndex = flarer1 + gun_3; + if( gun_3 == 0 ) + { + piecenum = flarer1; + } + else + { + piecenum = flarer2; + } + } - +SweetSpot(piecenum) +{ + piecenum = base; +} Killed(severity, corpsetype) { diff --git a/scripts/Units/corfdoom.cob b/scripts/Units/corfdoom.cob index 9a9b9b5fb8be21e73910aec2a1dfff62a4af28d4..49bacd96b981574fd535bc617cbb91e52919115e 100644 GIT binary patch literal 10866 zcmcgyZ-`u16~DXLY}Oj8w4zc3OGOkxtwKRX#TJFq`az@?QIr~kEkU~ee&?Rwn>(*>CNmp# z!rA-o`G3wm=iE2bPK6M50ImZ(@rn>`z{=118$);&aOBny-h%ztu!h=XCYZ=3v%ha_ zY)saH!zbNO_?~MxKAq*hKaX`1a-x$=xpWQnsmyc{nQhG|f6)21L6Edj^@Q4%jQ&kR zo_4uXek;~c2Mzzs$67ESh#rNHdIG%UVjq8&9qOc>NQ*w0oxRi9tASL^1&{kle)&|; zvgl`(u2&|y!u)h`Hqt>mk377wp*(h7KXs)%FMbjT*kMj6^UYn@@7pJi?H4+c!=B%u(;i?7Sk@p{%P(?I|A?b**0*?Mzr3k-P=Ci+CJK=oW_~PSnX4r$mqZ2 z2Kdyc*N~w;VQ0ff)&tifhUDB*n)3XF=c^pIY*SB}mfA1VY^J*XGA%u4`bd8?gUh@+ zXT?F@*&?n1b(Q8U$rE!)JN7{?Q{BqLb{u51rL($ZHCugFFBnZ{mF9?Xgn@N)(d4S@ z=HEu^uN&3yKa5sg!~ZgxYM8w>s8$r~Ek&%#*7GUS zKJU5G8HhgVHc~m$IUnV|{?.wH| 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 diff --git a/scripts/Units/corfdrag.bos b/scripts/Units/corfdrag.bos index a5afca2ab82..07ad7bc9ea8 100644 --- a/scripts/Units/corfdrag.bos +++ b/scripts/Units/corfdrag.bos @@ -1,14 +1,36 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base; -#define WATER_ROCK_UNITSIZE 3 -#include "../floatmotion.h" +RockOnWaves() +{ + var rockDir, rockAng, rockSpeed; + rockDir = <-0.1>; + rockAng = <-0.1>; + while( TRUE ) + { + while( get ABS(rockAng) < <1.31> ) + { + rockSpeed = <1.45> - get ABS(rockAng); + turn base to x-axis rockAng speed rockSpeed*5; + turn base to z-axis rockAng speed rockSpeed*5; + wait-for-turn base around x-axis; + wait-for-turn base around z-axis; + rockAng = rockAng + rockDir; + } + rockDir = 0 - rockDir; + rockAng = rockAng + rockDir + rockDir; + } +} Create() { - start-script FloatMotion(); + dont-shade base; + dont-cache base; + start-script RockOnWaves(); } diff --git a/scripts/Units/corfdrag.cob b/scripts/Units/corfdrag.cob index d872c7085ea8ee01eaaf7591e692219d09be2988..aa1fd5ae609bac4b71e139c474a402006633aa9c 100644 GIT binary patch literal 544 zcma)3F$%&!5Zs(G1T5Ub&L$7A$P)w~pro-i%7Gv#Bw}sjKYf9fr4VN>cOi&HHVm7a z+04$7SVRmE0TmGH4dMgD5Emd*4rN9IA~pJIn#SbdQ2jH#cxIPfqSl`u=*IKZDgSoK zV|88>b*%ip@N+2)sSWj!Y^2P`=-lh>i9V)x4h@gXn2F0mddM7o1S#2E`S-Agp7d$8 zHiO%F)ylrCt$YFX3nNwl literal 1084 zcmbtTJxc^J5S{&S3#$PeL69I~r4Vgw4+Ozqc{6#LTq`0qtb%>R?9*0c7v^Bc01vT>tF_WvubAXot$nR@iPQLF$ecYo zz6m*@e%d34y-J+ZjKg-ULx`M)PNB~c@zke-n{&2O9QxgLx?XeGi=D(&Ki}y)NwYKS_mi3vh>}&PK zNt_2LhS_~Hw)<&0oPuuKpX)Z9M=ABUv&uiZISX-7x6Q?LTfC`mzO!66>oT^t^l<>7 zpxgG}ht+u-4%XVbF4vdcx~Mp=goJM>$bYr-0+pkqSKR1gWPst!qR6m4LGnb e82|4cb`HCI9Q)~JoF2v}xp*G>X^{K=WsqM>DK|_2 diff --git a/scripts/Units/corfgate.bos b/scripts/Units/corfgate.bos index 5bd0ac6d3f7..7655138f086 100644 --- a/scripts/Units/corfgate.bos +++ b/scripts/Units/corfgate.bos @@ -1,72 +1,142 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, dish,emit; -static-var shieldEnabled; +static-var Static_Var_1, statechg_DesiredState, statechg_StateChanging; static-var Stunned; -Create() +#define BASEPIECE base +#define HITSPEED <15.0> +//how 'heavy' the unit is, on a scale of 1-10 +#define UNITSIZE 8 +#define MAXTILT 200 + +#include "unit_hitbyweaponid_and_smoke.h" + +ShieldOn() { - shieldEnabled = 1; + Static_Var_1 = 1; } -Activate() +ShieldOff() { - shieldEnabled = 1; - spin dish around y-axis speed <15.0> accelerate <1>; + Static_Var_1 = 0; } -Deactivate() +InitState() { - shieldEnabled = 0; - stop-spin dish around y-axis decelerate <1>; + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; } +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + call-script ShieldOn(); + currentstate = 0; + } + if( statechg_DesiredState == 1 ) + { + call-script ShieldOff(); + currentstate = 1; + } + } + statechg_StateChanging = FALSE; +} + +Go() +{ + spin dish around y-axis speed <15.000000>; +} +Stop() +{ + spin dish around y-axis speed <0.000000>; +} +Create() +{ + hide emit; + call-script Go(); + call-script InitState(); +} SetStunned(State) { Stunned = State; if (Stunned) { - call-script Deactivate(); + call-script Stop(); } else { - call-script Activate(); + call-script Go(); } } -#define BASEPIECE base -#include "../unit_hitbyweaponid_and_smoke.h" +Activate() +{ + start-script RequestState(0); +} -AimWeapon1(heading, pitch) +Deactivate() { - return (shieldEnabled); + start-script RequestState(1); } +AimPrimary(heading, pitch) +{ + sleep 100; + return (Static_Var_1); +} + +FirePrimary() +{ + sleep 100; +} -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = base; + piecenum = base; } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = base; + piecenum = base; } +SweetSpot(piecenum) +{ + piecenum = base; +} -AimWeapon2(heading, pitch) +AimSecondary(heading, pitch) { - return (shieldEnabled); + sleep 100; + return (Static_Var_1); } +FireSecondary() +{ + sleep 100; +} -QueryWeapon2(pieceIndex) +QuerySecondary(piecenum) { - pieceIndex = base; + piecenum = base; } -AimFromWeapon2(pieceIndex) +AimFromSecondary(piecenum) { - pieceIndex = base; + piecenum = base; } Killed(severity, corpsetype) diff --git a/scripts/Units/corfgate.cob b/scripts/Units/corfgate.cob index 27e2e758671b1f6cb054666d8e70d56f5842fe67..d96b289705cf039bd864614264ddf4df9850f397 100644 GIT binary patch literal 2938 zcmcguJ!lj`6n^)UO;nJzQbF`UECj(LgC6q26+yv~~UF+x4ftAhPxI z)?8{WltmKAt2z4R?`Nm+DA^PCo3VIC_Us`G*sP zf7S62qW$n^kh%6zhhDHh&#)xNd89onV6VxMl9_a-UO0~FvR;Hi+GlV&Pn5Ljo&$G+ zpU$)9VSJ56eK#Lsy4=jOolgBIeOsMb`uJzJT_uO}euL237~hXUAHOcfqc3fEmsVnr zt?dE#ncmq+CGFQ?C{?F5YA^TFu@t0l8%xz|4&RTa>UYTb*|*^QNU0y^;-}*wY>mA= z(Oi^#+fv3Wr4QlGrhNd_<@(r3MeH|?=NYC0e^~2x(T~YF^n1^l;92drq!NU)?tJ!} z$T&F9oZ~dMA1_;D4g;8PcLs9ON3ZXKaqL{;O|l-kXb+Una$!dF8$&aF{D4p6MVDSxRU6BbrH$J=K}xzJxvHEl8>0+ZGOI@0JVd?43f#wVhwL_I>pJO3ugE zagI4V_C9e3I!BCWzp1Xq0EXnOeL1z~e!G|mX>E5>;~+kNs(qeCxY|cu?R*b^+h4}! z`3C7PZRykR9(wDg?M`a4L*VXtkoxpYgZlT@jbq9c;1Tc!cn^F4J_E-vNGE~Qz$9=P zr~r#V6Icaq0vo^`;2y9EJO;J^{(pA^*Z}SV4}d4YbKoWL3V02?13m#?fUm$0ps)v@ zB;W{e95@9`0uc}cOF$Fo0OykS#QG&uZ8qu>)f!7?uAa1gb~=`5F)_>W1sJ4@g$0?0 zRn)Gwjm(x&)JTGtJ1rdo~6E?P5)*=)20ipb12>an_acQ!zG>q2yi^U3luO1f5EF%l;$i(+ax F^DjEV>7oDt literal 2093 zcmcIlJ!=$E6urAUnM4bD79uH>6%kS>P8I@bgxwg#k4D`htz&l3!R&6>OccS&53mSn zZA2ucm5o;Z0ek;|jasI#6U1}gdw2HjxI|JIINbN{J@@n7$wne_3}^r!YEI%PGAptS zYy#(TeF9lCbpwh-N!^gbJEh!=%{1Fb&v|zgheWI|{i}XZO~j<1w5Ri>Sw~ivmvz{B zaHo_zvAIauj7^=Af9=?`D50|)9K-yK7lO9qmLD0$>v(>TI^SpH?c~xf$&BT$;TS>3 z+~XW$8+ELKb=&$(Y+~H`$Da5Gl;luSFW}5T&_;i)BdnQR&H0ng?S`o*P8Zr3LyW8E zk&j0e`wDqBhwtgB=TWCIS;sP#hCW)W?I&s2J+S_$L7HNF(AwyubD=L&YhL-wckE9d z`=#%594TKwYJQDbm6Al(N4X4B<>+0xA%{Blth4XGSy0o>XQ1nAvj9ul>Dh=U(c!QGGx6ztH7* z>GN3rA@XS6gYvAiHs8;l&trH0fIPdEes=u5nuoLaSFAUcSbDF; + rockAng = <-0.1>; + while( TRUE ) + { + while(( get ABS( rockAng ) )< <1.31> ) + { + rockSpeed = <1.45> - get ABS(rockAng); + turn base to x-axis rockAng speed rockSpeed*5; + turn base to z-axis rockAng speed rockSpeed*5; + wait-for-turn base around x-axis; + wait-for-turn base around z-axis; + rockAng = rockAng + rockDir; + } + rockDir = 0 - rockDir; + rockAng = rockAng + rockDir + rockDir; + } +} #define BASEPIECE base #define HITSPEED <20.0> //how 'heavy' the unit is, on a scale of 1-10 #define UNITSIZE 5 #define MAXTILT 200 -#define RECOIL_POWER 20000 -#include "../unit_hitbyweaponid_and_smoke.h" + +#include "unit_hitbyweaponid_and_smoke.h" Create() { + hide flare2; + hide flare1; hide flare1; hide flare2; - gun_1 = 0; - call-script CATT1_Init(); - SLEEP_UNTIL_UNITFINISHED; - start-script FloatMotion(); + gun_1 = flare1; + while( get BUILD_PERCENT_LEFT ) + { + sleep 400; + } + start-script RockOnWaves(); } //-------------------------------CONSTANT ACCELERATION TURRET TURNING--------------------------- @@ -37,44 +60,111 @@ Create() // A high precision requirement can result in overshoots if desired // (c) CC BY NC ND Beherith mysterme@gmail.com -#define CATT1_PIECE_X turret2 -#define CATT1_PIECE_Y turret1 - -#define CATT1_MAX_VELOCITY <9.0> -#define CATT1_ACCELERATION <0.2> -#define CATT1_JERK <1.0> -#define CATT1_PRECISION <1.2> -#define CATT1_RESTORE_SPEED <1.0> -#define CATT1_PITCH_SPEED <45> -#define CATT_DONTRESTORE - -#include "../constant_acceleration_turret_turning_1.h" +#define MAX_AIMY1_VELOCITY <9.00> +#define AIMY1_ACCELERATION <0.2> +#define AIMY1_JERK <1.0> +#define AIMY1_PRECISION <1.2> +static-var aimy1velocity, aimy1target, aimy1position, aimy1delta, timetozero, deceleratethreshold, gameFrame; AimWeapon1(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; //We can do this any time - call-script CATT1_Aim(heading,pitch); + turn turret2 to x-axis <10.000000> - pitch speed <45.000000>; + + aimy1target = heading; + aimy1delta =aimy1position - aimy1target; + + while( ( get ABS(aimy1delta) > AIMY1_PRECISION ) OR (get ABS(aimy1velocity) > AIMY1_JERK)){ + if (gameFrame != get(GAME_FRAME)){ //this is to make sure we dont get double-called, as previous aimweapon thread runs before new aimweaponthread can signal-kill previous one + gameFrame = get(GAME_FRAME); + + //Clamp aimy1position and aimy1delta between <-180>;<180> + while (aimy1position > <180>) aimy1position = aimy1position - <360>; + while (aimy1position < <-180>) aimy1position = aimy1position + <360>; + while (aimy1delta > <180>) aimy1delta = aimy1delta - <360>; + while (aimy1delta < <-180>) aimy1delta = aimy1delta + <360>; + + //number of frames required to decelerate to 0 + timetozero = get ABS(aimy1velocity) / AIMY1_ACCELERATION; + + //distance from target where we should start decelerating, always 'positive' + //pos = t * v - (t*(t-1)*a/2) + deceleratethreshold = timetozero * (get ABS(aimy1velocity)) - (timetozero * (timetozero - 1) * AIMY1_ACCELERATION / 2); + + //get PRINT ( aimy1delta , deceleratethreshold, aimy1velocity, timetozero ); + + if (get ABS(aimy1delta) <= deceleratethreshold){ //we need to decelerate + if (aimy1velocity > 0) aimy1velocity = aimy1velocity - AIMY1_ACCELERATION; + else aimy1velocity = aimy1velocity + AIMY1_ACCELERATION; + } + else //we need to accelerate + { + if (aimy1delta > 0) aimy1velocity = get MIN( MAX_AIMY1_VELOCITY, aimy1velocity + AIMY1_ACCELERATION); + else aimy1velocity = get MAX((-1) * MAX_AIMY1_VELOCITY, aimy1velocity - AIMY1_ACCELERATION); + } + + //Apply jerk at very low velocities + if (get ABS(aimy1velocity) < AIMY1_JERK){ + if ((aimy1delta > AIMY1_JERK)) aimy1velocity = AIMY1_JERK; + if ((aimy1delta < (-1) * AIMY1_JERK)) aimy1velocity = (-1) * AIMY1_JERK; + } + + aimy1position = aimy1position + aimy1velocity; + turn turret1 to y-axis aimy1position now; + aimy1delta = aimy1target - aimy1position ; + if ((aimy1delta < <7>) AND (aimy1delta > <-7>)){ + return (1); + } + } + sleep 30; + } + aimy1velocity = 0; return (1); } -FireWeapon1() +FirePrimary() { - gun_1 = !gun_1; + if( gun_1 == 0 ) + { + show flare1; + sleep 230; + hide flare1; + gun_1 = flare2; + return (0); + } + if( gun_1 == 1 ) + { + show flare2; + sleep 230; + hide flare2; + gun_1 = flare1; + } } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = flare1 + gun_1; + if( gun_1 == 0 ) + { + piecenum = flare1; + } + if( gun_1 == 1 ) + { + piecenum = flare2; + } } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = turret2; + piecenum = turret2; } +SweetSpot(piecenum) +{ + piecenum = base; +} Killed(severity, corpsetype) { diff --git a/scripts/Units/corfhlt.cob b/scripts/Units/corfhlt.cob index fe510adaab3e61758605b043268c5efac7d2605d..1e8e17b1f4e5915bc498fdae47cd49b34ce804e1 100644 GIT binary patch literal 4770 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 v;S4eh{az*aWOr??vl now; + turn head1 to y-axis <-60.000000> speed <225.000000>; + turn head2 to y-axis <0.000000> now; + turn head2 to y-axis <60.000000> speed <225.000000>; + turn head3 to y-axis <0.000000> now; + turn head3 to y-axis <-60.000000> speed <225.000000>; + turn head4 to y-axis <0.000000> now; + turn head4 to y-axis <60.000000> speed <225.000000>; + wait-for-turn head1 around y-axis; + } + sleep 20; + return (0); + // Build by COBBLER Ver4.0 Copyright @1998 DIGITAL CONCEPT SOFTWARE (MANU@inext.fr) / http://www.annihilationcenter.com/DCS/ +} + +deactivatescr() +{ + if( TRUE ) + { + turn head1 to y-axis <0.000000> speed <225.000000>; + turn head2 to y-axis <0.000000> speed <225.000000>; + turn head3 to y-axis <0.000000> speed <225.000000>; + turn head4 to y-axis <0.000000> speed <225.000000>; + wait-for-turn head1 around y-axis; + } + sleep 20; + return (0); +} #define BASEPIECE base #define HITSPEED <15.0> //how 'heavy' the unit is, on a scale of 1-10 #define UNITSIZE 10 #define MAXTILT 100 -#include "../unit_hitbyweaponid_and_smoke.h" + +#include "unit_hitbyweaponid_and_smoke.h" + +RockOnWaves() +{ + var rockDir, rockAng, rockSpeed; + rockDir = <-0.1>; + rockAng = <-0.1>; + while( TRUE ) + { + while( get ABS(rockAng) < <1.31> ) + { + rockSpeed = <1.45> - get ABS(rockAng); + turn base to x-axis rockAng speed rockSpeed*5; + turn base to z-axis rockAng speed rockSpeed*5; + wait-for-turn base around x-axis; + wait-for-turn base around z-axis; + rockAng = rockAng + rockDir; + } + rockDir = 0 - rockDir; + rockAng = rockAng + rockDir + rockDir; + } +} + + + +OpenYard() +{ + set YARD_OPEN to 1; + while( !get YARD_OPEN ) + { + set BUGGER_OFF to 1; + sleep 1500; + set YARD_OPEN to 1; + } + set BUGGER_OFF to 0; + return (0); +} + +CloseYard() +{ + set YARD_OPEN to 0; + while( get YARD_OPEN ) + { + set BUGGER_OFF to 1; + sleep 1500; + set YARD_OPEN to 0; + } + set BUGGER_OFF to 0; + return (0); +} + +Go() +{ + + call-script activatescr(); + call-script OpenYard(); + set INBUILDSTANCE to 1; + return (0); +} + +Stop() +{ + set INBUILDSTANCE to 0; + call-script CloseYard(); + call-script deactivatescr(); + return (0); +} + +InitState() +{ + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; + return (0); +} + +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + call-script Go(); + currentstate = 0; + } + if( statechg_DesiredState == 1 ) + { + call-script Stop(); + currentstate = 1; + } + } + statechg_StateChanging = FALSE; + return (0); +} @@ -30,44 +163,66 @@ Create() hide nano3; hide nano2; hide pad; - buildAnimPiece = 0; - SLEEP_UNTIL_UNITFINISHED; - start-script FloatMotion(); + unitviewer = FALSE; + Static_Var_1 = 0; + call-script InitState(); + while( get BUILD_PERCENT_LEFT ) + { + sleep 400; + } + start-script RockOnWaves(); } -QueryNanoPiece(pieceIndex) +QueryNanoPiece(piecenum) { - buildAnimPiece = (buildAnimPiece + 1) % 4; - pieceIndex = nano1 + buildAnimPiece; + if( Static_Var_1 == 0 ) + { + piecenum = nano1; + } + if( Static_Var_1 == 1 ) + { + piecenum = nano2; + } + if( Static_Var_1 == 2 ) + { + piecenum = nano3; + } + if( Static_Var_1 == 3 ) + { + piecenum = nano4; + } + Static_Var_1=Static_Var_1+1; + if( Static_Var_1 >3 ) + { + Static_Var_1=0; + } + return (0); +} + +Demo() +{ + unitviewer = TRUE; + return (0); } Activate() { - signal SIGNAL_TURNON; - set-signal-mask SIGNAL_TURNON; - - turn head1 to y-axis <-60.0> speed <225.0>; - turn head2 to y-axis <60.0> speed <225.0>; - turn head3 to y-axis <-60.0> speed <225.0>; - turn head4 to y-axis <60.0> speed <225.0>; - wait-for-turn head1 around y-axis; - - FACTORY_OPEN_BUILD; + signal SIG_ACTIVATE; + start-script RequestState(0); + return (0); } Deactivate() { - signal SIGNAL_TURNON; - set-signal-mask SIGNAL_TURNON; - sleep 5000; - - turn head1 to y-axis <0.0> speed <225.0>; - turn head2 to y-axis <0.0> speed <225.0>; - turn head3 to y-axis <0.0> speed <225.0>; - turn head4 to y-axis <0.0> speed <225.0>; - wait-for-turn head1 around y-axis; - - FACTORY_CLOSE_BUILD; + signal SIG_ACTIVATE; + set-signal-mask SIG_ACTIVATE; + if( !unitviewer ) + { + sleep 5000; + } + set-signal-mask 0; + start-script RequestState(1); + return (0); } StartBuilding() @@ -90,13 +245,17 @@ StopBuilding() return (0); } -QueryBuildInfo(pieceIndex) +QueryBuildInfo(piecenum) { - pieceIndex = pad; + piecenum = pad; return (0); } - +SweetSpot(piecenum) +{ + piecenum = base; + return (0); +} Killed(severity, corpsetype) { diff --git a/scripts/Units/corfhp.cob b/scripts/Units/corfhp.cob index b751db1bd771a9296a19604ff6e6cb225d49bbaa..062352783cdaf0447acb27296cf194b9e95b5722 100644 GIT binary patch literal 5655 zcmcIoO=w(I6h4_uCegZhZB=w5&z*>cX!zs6nVlf6{b%uV6{vJTsr%pF=R(ux@6{*rrPitQ*8)IB7$0viN0s=8v2;VZG^#IkIMTEV4LpU29Ac^CzcljtgJA z@BLY#XQP>`H$7JPx7t%B^X+@|V{pdWQzwiy%LDei>3kDsh9Lqz{G*EX{4Xz`pyJQ2 zH?kMK_j!?r=U;n$FtK`sGssw5DMKw-pY7fcXNCGiz*Q1l6a9J&)hR!L~ zY@W!eGs**4vA21)IC)H0hr^-Oi?MA_U)+-u@0(a~{}Q$q%dqCTH0wGGS840}^MbdZ zuINYNNu3?$!nov&$M=B!G%OPP9*wC-KjGc5wZ#FfY)7g2?&BaIFZhL|5cPx&d^Sm$Oe?~47zji}+**8hBsRP3?q?~ANAGm*f4 zI`E}fu@B>!Ki)H&Gn#O3_efnJhTS9HTYZyTjp!yAS6USS{){XOkFV5gzh}KJ>s6$y81Qzm zRtyp1Q$J1D|8w4t>UiBzzN7DN`I_5&D*nFHqYu_|3s~5nB3-pxcfZFJtAD4?dps}m zq4IAM-3oMx%jH!ZLl*oTf$JQB>l}fz{2_+4qhj8RM4uv^TcMj{PdL&4pY%%IOjuk$5eXU1Wl z{;xV$>5bLDijDQf_&V~jep+9OWY(7|v8-QJY^;w}Y^=XkY&Poq5^Li7zKmjUc6blQ z?R!|qjqX$xy#J=xVNDIsICtOjsDjhxWV11CW-K;m(J-(3HQzGxZ+x75Y);IEd71BV z?DI2IbuKm=*WTbF`?C7jyi~EVdtYQTPJOIro3;P1W@oeU&CYl@A7ypkXr{_+@^i#7 z+ygoW`U=GV&+Y)d1^N_p5p)G~4KxJp2f$^}hoDbDUw|%xu7IwA{s7f6H2iyF{T7jJ zpgTZ!f$jy(fewHUgN}lp1RVzrK+l0*1-%YB3wj^)G3ay9dC<3@OQ6f3A3#5WegXXs z8iJI2yP1MMhFy&x=Fw9yz@=&yw0SxCY-tV{GadKd+sC+GusWi z6ZG|rSsg2XF5P4HH|UXj%^m~a!D_8~R?F(y(==!`vUAxBHuc#NyyshPW*gwW%8*~AK{n%#o)u@2{1e8i%y`oguuUgqJR_HT!cc=drgo(p3sPjzKp#kZD~=MnMf zs(#Z({dx0lC??>RzKUCN#+#J?R&cY`)+%x9T!dTv|HaLFrd|*?*g`Dt}Co}WRyf$S5{gY(Az$=A=KUGw@bph2TLsy&;a8>=zyF#XvJ-q|bIkZ+Jr zzMs@{>WD@6_WQ7>NOyBo58|hO9y9LHk4YY4qrd7H<;aqEIs7h%Uk$5m#9NKo{59nD zM4slJWdih7v;0-qQ|z<6Y|#Tu4Q1f(h}FM`!S4*7DTI-jDJGxJzD4g3(->#P_v0G( zm`U36M=|u45Uu1i)jP|+@q0DR#TsR=`$3m9CimX+wdCzNQ|_;QR@%Pw%jTxFtenm8 zm+qTKA%KqejrA~|bn^4sDmwZ3cM^2y>{$H!!rn2qcKJP~%-_xP|9qRb0X;T;hf6EaI^*!X;j~WG`Ieg-g6}iQf*_ z3UdaoHv$*WVLM#!(+73Zj{Q}hX}CTOd*PD3a7iy*iZ5IrguigfzKV;r+^lx_s&=0j zU{USjbtbY`?c%4^F1>13Jk>6~T00?L1w9PKm!RK4O$2!mbOdw}^aJQ8(9a#zeGB>ybP04B^c(03=nv3epsS#NK${>;tK9|K1A1z8kPiYlHq`H|6Y5ej-0wbeB#Hju&=ty~u}!J%6%TKmA;% z4;8t#OT&D9xNx$!+U@m^+R|{aHe%e{xyAmg1ADf&x>|JYNd9_ZYkAj>6?u1`f6n^n Ue*ZjRedOEcpR@kC-#-u7b-VQ+d;kCd diff --git a/scripts/Units/corfink.bos b/scripts/Units/corfink.bos index de441faf70d..17ffbc26543 100644 --- a/scripts/Units/corfink.bos +++ b/scripts/Units/corfink.bos @@ -1,42 +1,122 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, lwing, rwing, thrusta, thrustb; +static-var statechg_DesiredState, statechg_StateChanging; + + +activatescr() +{ + turn lwing to z-axis <105> speed <105>; + turn rwing to z-axis <-105> speed <105>; + sleep 17; + return (0); +} + +deactivatescr() +{ + turn lwing to z-axis <0> speed <105>; + turn rwing to z-axis <0> speed <105>; + sleep 28; + return (0); +} + + #define BASEPIECE base #define HITSPEED <105.0> //how 'heavy' the unit is, on a scale of 1-10 #define UNITSIZE 1 #define MAXTILT 100 +InitState() +{ + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; + return (0); +} +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + call-script activatescr(); + currentstate = 0; + } + if( statechg_DesiredState == 1 ) + { + call-script deactivatescr(); + currentstate = 1; + } + } + statechg_StateChanging = FALSE; + return (0); +} -#define BARRELROLLSPEEED <200> -#include "air_barrelroll.h" + +static-var maxSpeed, currentSpeed; +BarrelRoll() // remember to start-script BarrelRoll(); in Create()! +{ + currentSpeed = (get CURRENT_SPEED); + maxSpeed = (get MAX_SPEED); + + while (TRUE){ + sleep 2000; + currentSpeed = (get CURRENT_SPEED); + //get PRINT(maxSpeed, currentSpeed, Static_Var_1); + if( Rand( 1, 5 ) == 1 AND (maxSpeed < (currentSpeed+100) ) ) + { + turn base to z-axis <240.054945> speed <120.027473>; + wait-for-turn base around z-axis; + turn base to z-axis <120.027473> speed <180.043956>; + wait-for-turn base around z-axis; + turn base to z-axis <0.000000> speed <120.027473>; + } + } +} Create() { hide thrusta; hide thrustb; + call-script InitState(); start-script BarrelRoll(); + return (0); } Activate() { show thrusta; show thrustb; - turn lwing to z-axis <105> speed <105>; - turn rwing to z-axis <-105> speed <105>; + start-script RequestState(0); + return (0); } Deactivate() { hide thrusta; hide thrustb; - turn lwing to z-axis <0> speed <105>; - turn rwing to z-axis <0> speed <105>; + start-script RequestState(1); + return (0); } +SweetSpot(piecenum) +{ + piecenum = base; + return (0); +} Killed(severity, corpsetype) { diff --git a/scripts/Units/corfink.cob b/scripts/Units/corfink.cob index 7a3cfbcec75ee3ed56763bb33dd04a5bc5b8712c..425238713a8b9dd7bb0fef226d91432d5a29e573 100644 GIT binary patch literal 1733 zcmcgsyKWOv5FI<44MG$bi3SOzEmI&AK}!)H1tAnxtWZ#SV_$*A5+~~oNf(QXK6N^T z6dI~@fW!|VO2h|H@(bpiyEE&>S|ZY5>3HVOoH;Z1VMiiz5m*FXv_v9Ue!ephi!1{- z;NF34xwd=vXl5l5hZ1Q6_1x3b>6AIfEq58dth5|?bfpsq-}FN4FM5`%>s@28L67r9 zD`gMs#Wmx$W^YNr0V2%9ob+P13e(p4<~3|y(+^g;ZPlNzr8cD*FMBLH_Sr?uaR=Z7;r!K~Xq+>iHAkO3oui|3@J#>59Gv+) zy?8#X35R~pJ#(8^fMwt|Z~%M(z5+jhpTIAG|LYHdCqNH)2^;{2z#HHQI0oJVC%^~b z6!-+B{bKkkE&RBj%fQ!HYum%3TOcJHes|B0b#X7vbDwRDvP|yhp6RF#@9 jbazIDtPiuy4`eGHd&%~P+s`Bq-^KHMZ(O8O+AaAF*zJez literal 1014 zcma)5Jxc>Y6nuBNT-q&cEQI_3i{LNtBM6!%C^lAJlEVZRmCLD>=#Nk|G!tMT@>?^`kzN%4J z4wPR(4i9r4gPl;V+I7E#pyC<*9BWojozs(Btf|20W*C=?$Y#D|r_Xc+C90_80Ki^V z$mvnv%D8vSelauow)Vu??Hu2yxqeiavcc+{A2JjDWHD4cBKJ4CdWe}saXWHAR>;}s zkFIWYVCq=AUeB4c@!akVuD1O!7_i2?s~P(-dk=dW%>++Z8|!KB+}#H~XW4)|;{Shv zkU2AJCBLg4HLCRcZn(A4S-oK9Vc!MzSl>H@^ffb0@x5XX_L=6}q{jL_Bcw0yi0>}@ zxbA_6=bhyHpWaLBH98a1YrrPZ22KEeSNFgp@B+L7Z@@e70ek{qz;cu%vEJC%T2_)c pN@H1Srkx`O)i`ott)q3^l19{xMIU$eb|o>tX*)UWrjcaakRODnS#baW diff --git a/scripts/Units/corflak.bos b/scripts/Units/corflak.bos index 4a1691b333f..dd01f48d37e 100644 --- a/scripts/Units/corflak.bos +++ b/scripts/Units/corflak.bos @@ -1,17 +1,18 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece flare1, flare2, mount, gunbase, guna, gunb, base; static-var gun_1; // Signal definitions -#define SIGNAL_AIM1 256 +#define SIG_AIM 2 -#define BASEPIECE base -#define MAXTILT 0 -#include "../unit_hitbyweaponid_and_smoke.h" +#define SMOKEPIECE base +#include "smokeunit_thread_nohit.h" static-var Stunned; ExecuteRestoreAfterDelay() @@ -40,14 +41,17 @@ Create() hide flare2; hide flare1; gun_1 = 0; - SLEEP_UNTIL_UNITFINISHED; + while( get BUILD_PERCENT_LEFT ) + { + sleep 400; + } start-script ExecuteRestoreAfterDelay(); } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; stop-spin mount around y-axis; turn mount to y-axis heading speed <1200.000000>; turn gunbase to x-axis <0.000000> - pitch speed <950.000000>; @@ -57,7 +61,7 @@ AimWeapon1(heading, pitch) return (1); } -FireWeapon1() +FirePrimary() { if( gun_1 == 0 ) { @@ -65,21 +69,37 @@ FireWeapon1() move guna to z-axis [-3.999994] now; wait-for-move guna along z-axis; move guna to z-axis [0.000000] speed [15.000000]; + gun_1 = 1; } else { emit-sfx 1024 + 0 from flare2; move gunb to z-axis [-3.999994] now; wait-for-move gunb along z-axis; move gunb to z-axis [0.000000] speed [15.000000]; + gun_1 = 0; + } + + return (1); + +} + +QueryPrimary(piecenum) +{ + if( gun_1 == 0 ) + { + piecenum = flare2;//inverse, but needed + } + if( gun_1 == 1 ) + { + piecenum = flare1; } - gun_1 = !gun_1; } -QueryWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = flare1 + gun_1; + piecenum = mount; } -AimFromWeapon1(pieceIndex) +SweetSpot(piecenum) { piecenum = mount; } diff --git a/scripts/Units/corfmd.bos b/scripts/Units/corfmd.bos index 9674498036f..c04bfc354b6 100644 --- a/scripts/Units/corfmd.bos +++ b/scripts/Units/corfmd.bos @@ -1,70 +1,161 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, dbl, dbr, dtr, dtl, dummy; +static-var Static_Var_1, restore_delay, gun_1, statechg_DesiredState, statechg_StateChanging; + // Signal definitions -#define SIGNAL_AIM1 256 +#define SIG_AIM 2 + + +activatescr() +{ + if( TRUE ) + { + move dbl to x-axis [-8] speed [8]; + move dbl to z-axis [-8] speed [8]; + move dbr to x-axis [8] speed [8]; + move dbr to z-axis [-8] speed [8]; + move dtl to x-axis [-8] speed [8]; + move dtl to z-axis [8] speed [8]; + move dtr to x-axis [8] speed [8]; + move dtr to z-axis [8] speed [8]; + sleep 1768; + } + sleep 3; + return (0); +} + +deactivatescr() +{ + if( TRUE ) + { + move dbl to x-axis [0] speed [8]; + move dbl to z-axis [0] speed [8]; + move dbr to x-axis [0] speed [8]; + move dbr to z-axis [0] speed [8]; + move dtl to x-axis [0] speed [8]; + move dtl to z-axis [0] speed [8]; + move dtr to x-axis [0] speed [8]; + move dtr to z-axis [0] speed [8]; + sleep 1762; + } + sleep 14; + return (0); +} + + +Go() +{ + call-script activatescr(); + Static_Var_1 = 1; + return (0); +} + +Stop() +{ + Static_Var_1 = 0; + call-script deactivatescr(); + return (0); +} +InitState() +{ + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; + return (0); +} + +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + call-script Go(); + currentstate = 0; + } + if( statechg_DesiredState == 1 ) + { + call-script Stop(); + currentstate = 1; + } + } + statechg_StateChanging = FALSE; + return (0); +} Create() { hide dummy; + Static_Var_1 = 0; + restore_delay = 3000; + call-script InitState(); + return (0); } -#define BASEPIECE base -#define MAXTILT 0 -#include "../unit_hitbyweaponid_and_smoke.h" +#define SMOKEPIECE base +#include "smokeunit_thread_nohit.h" Activate() { - move dbl to x-axis [-8] speed [8]; - move dbl to z-axis [-8] speed [8]; - move dbr to x-axis [8] speed [8]; - move dbr to z-axis [-8] speed [8]; - move dtl to x-axis [-8] speed [8]; - move dtl to z-axis [8] speed [8]; - move dtr to x-axis [8] speed [8]; - move dtr to z-axis [8] speed [8]; - wait-for-move dtr along z-axis; + start-script RequestState(0); + return (0); } Deactivate() { - move dbl to x-axis [0] speed [8]; - move dbl to z-axis [0] speed [8]; - move dbr to x-axis [0] speed [8]; - move dbr to z-axis [0] speed [8]; - move dtl to x-axis [0] speed [8]; - move dtl to z-axis [0] speed [8]; - move dtr to x-axis [0] speed [8]; - move dtr to z-axis [0] speed [8]; + start-script RequestState(1); + return (0); } -AimWeapon1(heading, pitch) +SetMaxReloadTime(Func_Var_1) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; - - call-script Activate(); + restore_delay = Func_Var_1 * 2; + return (0); +} +AimPrimary(heading, pitch) +{ + start-script RequestState(0); + signal SIG_AIM; + set-signal-mask SIG_AIM; return (1); } -FireWeapon1() +FirePrimary() +{ + return (0); +} + +QueryPrimary(piecenum) { + piecenum=dummy; + return (0); } -QueryWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex=dummy; + piecenum=dummy; } -AimFromWeapon1(pieceIndex) +SweetSpot(piecenum) { - pieceIndex=dummy; + piecenum = base; + return (0); } Killed(severity, corpsetype) diff --git a/scripts/Units/corfmd.cob b/scripts/Units/corfmd.cob index be8ef3beaff07d14a73be473a6fcae9a88dd2717..ab805117bf92f2ca8df952d09644064033760a79 100644 GIT binary patch literal 3338 zcmcImJ#Q015S=)|LE=LP6?85rDJ)8afCLC15mJaj2q{HOe8mYnHqM1$8eAYiX^;>V z1qB_VN7VTP(50h5LQnw(MG6GGH@jnRF6WR$VCiXhXXeev+qIJs5jhAHfz^Urv6aVr zMBW33_KFD$P2^+uGH z<++^nZR9!M@FqO^jQ54Yl!qerr5wLk`czTvrpW^s*Y^*@Ku!8StJT-i`Do`SFDHG2 zc=?)ufL`)7alU*_`aY}oG0yL)p!6*vD7Z=DthZvToQHYlS&9f8=r; z32NrmJEpmZBYTSo*B-SGeGRThD4}@8>>>#+aY|{m;2=jxOqC=g#w)Z95v99^2t;rqdjI^*Y`6I)%USgYJbi)0FFW z-UnmJ;r!Hz`>x;f9obv4_q3JVrsdyqn|_vCAG+^hD|ND3viF_n71kZ3gY{@@$k|G- zSsg?Epqi%RPHX;aefccT0n5NM;05ps_zL_2&Y<87Py_0~67UFE2A%@XftLXPPd@=% z0xkp7zzmQ8E#MyT5O@MS2VMhjfEC~!@B#P&d;@*}Yrs!H_TldpP@PMYJJmE^m}^Td z4o~NsQc0UFxj3Jsl@uW|9p7Gz7yRK&JEpDDXx@siAw(`D>3HXQTx~VyWz1)lv%Qp3 ziPOu~yVG&KS*=}78nKKejj49hsJ1&Yk+fsmUs;UX9XlXqqTTGpRhHs7t+bk{OeXbu XT$7vCg;;7g>j3&s3G5dejgI^Q&8qCT literal 2503 zcmb7GF>4f25T3i+tPw$;op#rVjm1VmEpr;9Vv}fLC)wndaCqm%^&+GYMPi{y3X4=C zHg+}^Dhh)B0ed@31qBO*bozboy}5n4-Agnuym|9|GxN>6xzk8Q_Q7J<;krl-C;vW7 zihPG1+$(Yv_XMXbh?&4qGj)SQWG*(+gdZ5O1H_t zA;u6fo-$Wpj8R{dc+AA6VM!u&VDx#C!_z|GU@RfVeAN+ZCYK!IznDDTF!jX6Ld^Cu zPR}{d#{rG#5!A3f{7jcTk1?&uKBx9?*UJ8qG|W&VG)PnI462Pe#7Sj8J*#tzeDXLi zbJyYWypNMLIIh+lJtc{3j&ecWl^b%H&zbe@TL9TpKc_0))bN!A{}!B?pNAOtnP@Ig zNorQ#1}>_7^v$X;rVjajhk55)aA$veJmMXD%o*tFo0H2~bZ2^e>WAnqu>p@&|S??HdzAN92{5PJ@Fm;k6 zGU;d8`h&{uO@_QOrn_0>;YR~`_Ol(6N35LZ`q}p><++-~%6Sg6`!FWY?hG(#*4*w5 zd2mW|BQ|#K0xRoq7~}lg{+0;%HyM{#J-5rNp4(y7a~D|A4>7;%`dc8}lNJBD)4$8# z^VsbuuAG74;*FfI`TVya+*?w$2XlAAStH!dL(FZu{eFk0+MD&Mf%j+Rm_7Ep$omt2 z*BKS(n}mG6Uw9v_XLX{U&Kl~n-x;s#i`T_||D$UieCk$RdRJXKhw9S%PP&#@)9Z>M zi1V@jPP#Uj10DKakNjPADXzK{S6xp%e^l4M^xholt+lkb;@VsB-FmYu^&E%2hHb%4 zAn69|4(uN6A?z`X|A#pVI}4kKU4<>fa@cLy1K1|)IqU`OCF~XKE$lt)BkW9`rGre) zcLt}|u4L&-|N4b?c$1m5mo8`R%f0@!Oj=8W&Moq1vQ*txr{@xd&ucxvw}S h;LPUzA@5?R+s)dtnBL5!z1W52(jL&@ul9Ot@)vznsPzB< diff --git a/scripts/Units/corfmkr.bos b/scripts/Units/corfmkr.bos index aa34bd0dcd3..cf7695a0d99 100644 --- a/scripts/Units/corfmkr.bos +++ b/scripts/Units/corfmkr.bos @@ -1,21 +1,40 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, cover2, light; static-var mmState, Active; - -#define WATER_ROCK_UNITSIZE 7 -#include "../floatmotion.h" - #define BASEPIECE base #define HITSPEED <20.0> //how 'heavy' the unit is, on a scale of 1-10 #define UNITSIZE 1 #define MAXTILT 100 -#include "../unit_hitbyweaponid_and_smoke.h" +#include "unit_hitbyweaponid_and_smoke.h" + +RockOnWaves() +{ + var rockDir, rockAng, rockSpeed; + rockDir = <-0.1>; + rockAng = <-0.1>; + while( TRUE ) + { + while( get ABS(rockAng) < <1.31> ) + { + rockSpeed = <1.45> - get ABS(rockAng); + turn base to x-axis rockAng speed rockSpeed*5; + turn base to z-axis rockAng speed rockSpeed*5; + wait-for-turn base around x-axis; + wait-for-turn base around z-axis; + rockAng = rockAng + rockDir; + } + rockDir = 0 - rockDir; + rockAng = rockAng + rockDir + rockDir; + } +} MMStatus(State) { @@ -30,12 +49,22 @@ MMStatus(State) hide light; turn cover2 to x-axis <0> speed <180>; } + //get PRINT(Active); } + Create() { - SLEEP_UNTIL_UNITFINISHED; - start-script FloatMotion(); + while( get BUILD_PERCENT_LEFT ) + { + sleep 400; + } + start-script RockOnWaves(); +} + +SweetSpot(piecenum) +{ + piecenum = base; } Killed(severity, corpsetype) diff --git a/scripts/Units/corfmkr.cob b/scripts/Units/corfmkr.cob index a43c0002f8b496929d5cdd07387bf0d11d6d386c..5b91a562665fa25c62ac81fa647ab8be203e8035 100644 GIT binary patch literal 1971 zcmbW2J!@1^5Qb+zvayn5XSxL~171>DhQvbAki|uU;K#1XH7<$SkX#dNGzb=U0UHq! z(uhr38-IYkg+C)$+O6+%?m0Kd4FQu~hMDuuoOkBV%-wC8*#${M@~u{Cnbw>%yDGUM znbx@@ZSA^CrS9|^;YdJIv@! zg3)_o(p)nD>YHUHH+5DuIMt^wA#vs(g1<)K?{YRa+j5@*ULV6B1zgHvKhhl}*Cl-F z1v_;p6U^_A`sXVM7-7~acj|kT%2)_Ys;E`en&XNe5S(v$usg;yWw|-9Uw27d=qeMp0O4S?+@_* z#QB|4mBjl`uwx#Tne?)(0gN5^B^95UT)?qT%ve+9b7h_Q3_A;b71vKekt^;^yvMx% zsY7#^2k2PUhd-~&`)E@Se2p@x^A3mJ$ynTJY?>cC-P8Nx0NaO4?+(0+*xEt=TO>2R zAAbh~8_$Uz_Y)JJ5#JO+?Q-8=g?yxleIll5}gHDl|8)n|qM1zog-CjbBd literal 2608 zcmbuBJ!@1!6ozL%vOx0)mA_qM`;_38WCMa?M`i;wBrCRj{&&*oi+u zP&}@gh59~o=j=|_MPf`i&YZ9Je9Sr5RGo91RKEy86td2Tt@huK^}dox`KlU zAMzXJa|(I%sp*>fj72`gTdMhO@gd77zXiIlgqpU0$#-^lzR%?d-s2%ZvHds}&o!!^ zJOWSh5er-E3ujS#5r;eWkD`t7lQ>1JgWQE>afVOg8osN$&@Ws}X8ne@{!AZ}!HBv| zKU}xT!5tOfa&>>Ho40WFqHcQ^tK0bht(!SZ>joFzX6fe%2}aay`gdEq-`nK!+IQW> z+!l3nPv6`4eb?=a_hxR=x(#<8MWf{1Y|XP<_I7Te7WUQli4)yn*|676yP|an_AO+x zM^8V{bD!hh7z?&X6emofM1vRu9Wqj>Hk2iPzEcDWm$mgtr402SAVT@SQY_tQH9kMv*4(-l0)Dw5ra&YzHT~Z&5Nj%cAxVAe3 z--_O5u*dc`Tk-+Jc1G#->o9CP`6i^c#53LSX|}0N_@=04>;0URl zpZIREZ}iW6Ihjf9pNO%1tY+)kC>^eS`#8h!^n#iFtP6Y`$Z%%BU>2!X)zfYkK%|(h6dKYodM;uc5SDa;HMV#vq zhgseW4!Q2tmN4H%CsoV~(H9ZDJ1XLDuur0Iq8-t={y6ZW3DKnJv}j6nxzo*h&2F#V zU2|94y$cU+mr6)$ZNgHJgjQtaoqIUEIjCUhb~7JDt4cZfBdh RTkhV^H)dR?y>h4Legi7ToSpyx diff --git a/scripts/Units/corfort.bos b/scripts/Units/corfort.bos index cf8ac9815e9..ffea0f7d752 100644 --- a/scripts/Units/corfort.bos +++ b/scripts/Units/corfort.bos @@ -1,5 +1,7 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base; diff --git a/scripts/Units/corfrad.bos b/scripts/Units/corfrad.bos index 9fea505c3a2..cbde5c88ac5 100644 --- a/scripts/Units/corfrad.bos +++ b/scripts/Units/corfrad.bos @@ -1,14 +1,33 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, dish, blink; -#define SIGNAL_TURNON 4 - +static-var statechg_DesiredState, statechg_StateChanging; static-var Stunned; -#define WATER_ROCK_UNITSIZE 10 -#include "../floatmotion.h" +RockOnWaves() +{ + var rockDir, rockAng, rockSpeed; + rockDir = <-0.1>; + rockAng = <-0.1>; + while( TRUE ) + { + while( get ABS(rockAng) < <1.31> ) + { + rockSpeed = <1.45> - get ABS(rockAng); + turn base to x-axis rockAng speed rockSpeed*5; + turn base to z-axis rockAng speed rockSpeed*5; + wait-for-turn base around x-axis; + wait-for-turn base around z-axis; + rockAng = rockAng + rockDir; + } + rockDir = 0 - rockDir; + rockAng = rockAng + rockDir + rockDir; + } +} #define BASEPIECE base #define HITSPEED <30.0> @@ -16,7 +35,7 @@ static-var Stunned; #define UNITSIZE 1 #define MAXTILT 100 -#include "../unit_hitbyweaponid_and_smoke.h" +#include "unit_hitbyweaponid_and_smoke.h" Lights() { @@ -27,36 +46,87 @@ Lights() } sleep 2500; } + sleep 50; + start-script Lights(); +} + +Go() +{ + spin dish around y-axis speed <60.005495>; +} + +Stop() +{ + spin dish around y-axis speed <0.000000>; } SetStunned(State) { Stunned = State; if (Stunned) { - call-script Deactivate(); + call-script Stop(); } else { - call-script Activate(); + call-script Go(); } } +InitState() +{ + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; +} + +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + call-script Go(); + currentstate = 0; + } + if( statechg_DesiredState == 1 ) + { + call-script Stop(); + currentstate = 1; + } + } + statechg_StateChanging = FALSE; +} + Create() { hide blink; - SLEEP_UNTIL_UNITFINISHED; - start-script FloatMotion(); + call-script InitState(); + while( get BUILD_PERCENT_LEFT ) + { + sleep 400; + } + start-script RockOnWaves(); } Activate() { - signal SIGNAL_TURNON; - set-signal-mask SIGNAL_TURNON; start-script Lights(); - spin dish around y-axis speed <60.005495>; + start-script RequestState(0); } Deactivate() { - spin dish around y-axis speed <0.0>; + start-script RequestState(1); +} + +SweetSpot(piecenum) +{ + piecenum = base; } Killed(severity, corpsetype) diff --git a/scripts/Units/corfrad.cob b/scripts/Units/corfrad.cob index 147c03e2359c5d153c605778bd59baf9592c9ca4..ff67b1a89b7815569585113857f04781867d0e9c 100644 GIT binary patch literal 2857 zcmb_eKTH#G6n-tGq70rU4lLvnH=;@7;^KgaQKAWiN(dVTE>M9M?E$)VVbVc2M+al# z;$)mO8Z|CDIXIY@xG-WI+>EK;_wK!N97WN1&Ex%k@9+2i+=YUO90qlP*7G6-a6UbU zM2104&b?4pu0@Wl!=H1R&k(q8BB0-?zAH(E^_aC(_|De ze%g-lq?F9(7LN3#jQ#dlSB~whM`I(m+Y*CV?;R(7vin^ckeTg z?fCW{Y^G$L@|~g+XIo0*6DwmVjsO_(qlwS=hv`|1e6x1|JK8dNJ|ll=axlf|d*+%bgv_n4lCIVmTGGdO7F zyx&jqora7y`msaZ%)|SegE*jff*uT*P0~}yfJbL-wqV)=jbpM$12~khg}j>#Y?qzN z_ON3wy*~DW*xL9}&pZQ%#h|D`@CR70noPfI5IH99635DrEPhpj6R+8 zoSEDEH^J|k3;OgZXkKkZY3+ z*T3LpjK9J3zw!dUEP!5s3TPs~f9FA?pefKY=mzLH=mY38XcM#r;{S&CKo3BVLC-+1 zL2p6tKp#P0KwF^ipr4=~{PS`Y)CcMZ9S4oqXBS6nla;loAs4Ih(9OxHvQn=}dAYtA zP1LG!S~@Z(m#gy&aYHWDr5x8+q#VWNc(qoG=41rM<+u_@G9F!9jT&}2cRix)>}*_J k<6$_e__4em!F{D3%cbhl5<<*W8j;LZ8w)bCRIM$_FJlYCk^lez literal 2899 zcmbuB&1;iE5XQG@8f_I_!4^c+^d_PZMZtqeYm2sML8u?sM)T5!#zbrsy!GJ6U*Juo z2L=5fJPKaDd9XJ@dMpScc+ls!?@qdnX%$U7?C#7npF6Wj(K$CH>K8pLIH&*cSr+rP z=!59EIIDol1>ffj{t}3C(HANO&lWz!A4f3z*;M)i2Al9;q0`5vht4thQKzVFszZFe zbdJD}IwfsWoq>1`{^m-4UFQ&Gn&V685!dG5I%_TV2!jGYgo6m3yd7HdD zZ{rh6FaH*++a_=B!j<#9?OrTzJO6Lq^jVrWb~#%wtsWAiN8TnMd%pR;jW4Z#&O7hh zJa6{tecSn;^Y;0D(>H0}W_KDvrO&&ul0T8;;I5X!yxKgm64yRqm}{q5(Kv)yYw(0e zPCbybA7@_~2-soyp$l<`43WFKA%lmkSc(1bOFq;^JmO~03dZtq!f>CKi^Y+~4A$P3 zAW!Bul?7iukLQe>Y{V!Z-8N!QV-bg4X2|?p8{Ql%eCvOU!NoaDb<8LJP%*#1>-Otz zHs;vw=8<%;VKbxfI(e9FTX_>wEdET^y&5*fgf~SwTkXdsBwo9xUO8iT4M2Ris1xrN z^G5wlmzACbe_aD=@mS7QvtBY(JNVecoT&vp`&k>#Mb63hlhqs89%K3lDE*)w`|cbS*u($?Bcz zd{&#i(^|~jmHPZbd&$ja?b-JIW;3g~iF;YKow@Pb?fL^YlUdcam+Os&5VxvJnXA>8 M7Tm2yy}9Uq0cBpY(*OVf diff --git a/scripts/Units/corfrock.bos b/scripts/Units/corfrock.bos index 5ad383447e9..a2110f33325 100644 --- a/scripts/Units/corfrock.bos +++ b/scripts/Units/corfrock.bos @@ -1,26 +1,63 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, flare1, flare2, turret, sleeve; -static-var gun_1; +static-var gun_1, rockframe, Xrot, Zrot, Ymove; static-var Stunned; // Signal definitions -#define SIGNAL_AIM1 256 +#define SIG_AIM 2 -#define WATER_ROCK_UNITSIZE 10 -#include "../floatmotion.h" +RockOnWaves() +{ + rockframe = 1; + while ( TRUE ) + { + Xrot = (get KCOS (rockframe * 690)) * 360 / 1024 ; + Ymove = (get KSIN (rockframe * 650)) * 2; + Zrot = (get KSIN (rockframe * 560)) * 360 / 1024; + turn base to x-axis Xrot now; + turn base to z-axis Zrot now; + move base to y-axis Ymove now; + rockframe = rockframe + 1; + sleep 1; + } +} + +RockUnit(anglex, anglez) +{ + turn base to x-axis anglex speed <15.00000>; + turn base to z-axis anglez speed <15.00000>; + wait-for-turn base around z-axis; + wait-for-turn base around x-axis; + turn base to x-axis <0.00000> - anglex speed <12.00000>; + turn base to z-axis <0.00000> - anglez speed <12.00000>; + wait-for-turn base around z-axis; + wait-for-turn base around x-axis; + turn base to x-axis anglex / <0.01099> speed <9.00000>; + turn base to z-axis anglez / <0.01099> speed <9.00000>; + wait-for-turn base around z-axis; + wait-for-turn base around x-axis; + turn base to x-axis <0.00000> speed <3.00000>; + turn base to z-axis <0.00000> speed <3.00000>; + sleep 150; + return (0); +} Create() { + hide flare1; + hide flare2; hide flare1; hide flare2; gun_1 = flare1; - SLEEP_UNTIL_UNITFINISHED; - start-script FloatMotion(); - turn sleeve to x-axis <-35> speed <25.0>; + start-script RockOnWaves(); + + turn turret to x-axis <-35> speed <25.00000>; spin turret around y-axis speed <25.0>; return (0); } @@ -30,19 +67,15 @@ Stop() return (0); } - -#define BASEPIECE base -#define MAXTILT 200 -#define UNITSIZE 5 -#define RECOIL_POWER 50000 -#include "../unit_hitbyweaponid_and_smoke.h" +#define SMOKEPIECE base +#include "smokeunit_thread_nohit.h" ExecuteRestoreAfterDelay() { if (Stunned) { return (1); } - turn sleeve to x-axis <-25> speed <25.0>; + turn turret to x-axis <-25> speed <25.00000>; spin turret around y-axis speed <25.0>; } SetStunned(State) @@ -60,47 +93,58 @@ RestoreAfterDelay() start-script ExecuteRestoreAfterDelay(); } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; - turn turret to y-axis heading speed <450.0>; - turn sleeve to x-axis <0.0> - pitch speed <450.0>; + signal SIG_AIM; + set-signal-mask SIG_AIM; + turn turret to y-axis heading speed <450.00000>; + turn sleeve to x-axis <0.00000> - pitch speed <450.00000>; wait-for-turn sleeve around z-axis; wait-for-turn turret around y-axis; start-script RestoreAfterDelay(); return (1); } -FireWeapon1() +FirePrimary() { - gun_1 = ! gun_1; + ++gun_1; + if( gun_1 == 3 ) + { + gun_1 = flare1; + } + return (0); } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = turret; + piecenum = turret; + return (0); } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = flare1 + gun_1; + piecenum = gun_1; + return (0); } - +SweetSpot(piecenum) +{ + piecenum = base; + return (0); +} Killed(severity, corpsetype) { if( severity <= 25 ) { corpsetype = 1; - + //explode base type FALL | NOHEATCLOUD; return (corpsetype); } if( severity <= 50 ) { corpsetype = 2; - + //explode base type FALL | NOHEATCLOUD; explode flare1 type FALL | BITMAP3 | NOHEATCLOUD; explode turret type FALL | BITMAP5 | NOHEATCLOUD; return (corpsetype); @@ -108,13 +152,13 @@ Killed(severity, corpsetype) if( severity <= 99 ) { corpsetype = 3; - + //explode base type FALL | NOHEATCLOUD; explode flare1 type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP3 | NOHEATCLOUD; explode turret type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP5 | NOHEATCLOUD; return (corpsetype); } corpsetype = 3; - + //explode base type FALL | NOHEATCLOUD; explode flare1 type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP3 | NOHEATCLOUD; explode turret type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP5 | NOHEATCLOUD; return (corpsetype); diff --git a/scripts/Units/corfrock.cob b/scripts/Units/corfrock.cob index f6fc7c274410b5ddc77ab0d986695014330e947f..87cf840f5ca40394a84a524311626ba7211433d9 100644 GIT binary patch literal 2842 zcmdT`ziU%b6h3Lv)L-D!PA(Fh97NJ0h%RdVi4L|#=_E95Z!t7Y!pm#5lWrFO0CCsJ zNdyJKp&|%^i?fqB=%7WMbg_Qlx%a%h#sq?!fscFc`SG1|&$;)t1rgZ|3{r{%Ofi~;p8GZ0gCF-#!71f@L>ZF$WLGH{)OLf! z=2w7xG9NJy!x?)QYnJ!kfV^}gFS$tDi>o{!SHBwbp*GF6E_zO;WxcdX(9upE>yRhj zPx}cSSJuW=B46(oT{#!Y$zpm2y2)fQk`np~F!nKKgpT?ArA{4LoAL*n){96|Wo7Oe zv$oBzYEOCd$hVcd+t26d_+`1XvgKJQcIswc^}+nR^Ozs`d--L#v$Ewm043wN@8<4h zBM1HO(;xj$W7+o^iS(RUHCNZ3zO?h+FnsoBjKydq_*Yfe=>gA$v7wJRAL_}* zD|h7M_h$0-$~CUMn04qc+_gTfA>wPX{&~KGfiFkL@8KTeT^tJfp)UPK;A0x=8(NRL z3wpj|A&x5AnUUv8`#S0Ko)3PcPtT5->RGq=dk%h2*}thwoaMLKAK&=5*|X=?7uLdD ztlM(7SY)Y~-YI@J+SH+5of*W=`TSj48-)@x=;xzzMqbA0eQ)_VmG5}@>xrCLT@vmz z(=vuO%Sj*VrR3kZ^$;&g`>C9e`6kp4b>mZ{KXRyU()XFlR2ROR)Uh9C)3+7o_#DCJ zZ*SA;;(T~c?ipkEwcBpo{p{x7&z_whefP1@lD}skGxaf^XHENs`mDc<)3+1i@@N`$ z?48AN&)#ws3N!xi@EwShB^puwEq?4;4?pb(c&zu?I_Ah1>Npzeu>R3M%dc|`{5qf@ z>&$~ZXsrWr4R{{b_`lW6wmaZ8@Co<^jG^HdfmvV$xD7l4UI4Fvx4?UV|Ib|ot^@Nx z4QKFXU6vmGo#}zFfZv{eBsI4WCkO~MV6JjALZJ>fmX)RzRCb>mc9XoQ~pmt*j z9|K}QY@ou(#@~PtOpM(?th5NBNWjDpp5J}%ajsp5A-vJiz2}_geBXPWhM7Giniu_6 zH=EPScl(4{alhGXqG!afX|-0ps1^0%WdN;4QE%4^w#Xs=V8J}Xrac!iavNocu&J?` zVRH_7vT10GA4J&1yk^*(1(0l-+U7RY1RvwAHH$s*G0P->{y}YuxmeTQzOYM^`SxXq z{fAR_V#jejp0yhVc|@M%lP|E|7uKrwDh_+_?j!<5>IjPKw@44E4)XglcRn_ft@w%P=zjbrY^1AU0?`P@f(-O?6 z+x1IdOwQZovO03z)w!+eW}na7`6Jg|RP*NCODNj4!j_uFvsn$c+AM6%(!H?4 z?Dps^XvY;wJi1?H8NkpSX+}op6SRd z$ALc#=kJHF*yZ^?m-5}fNAk-&sR!&b`}TaS?V_;p7D?psZS_Ehj6CTLy`pCB1Rs5; z4puNe2Qb9*S$H0vFKhf02LFFyoV`D}4j)!j`2^t(a%@ich%r)4TM37ZH^67in}=`D zHP(~fnrN>aOmib-ZsRerjXEN;xySav9yN7hyQ?j$-+AJ@&*_ynEyvKBrlEgS!JD)f0ak=!M=3`scQB7VTQh?-McOJf?a!OE;0D&ZM6Oe5`&~ z`P$d#^YL6zq`1kPsGY&t}3Rr)Gq*h%CQ4eG>c$(o1S) zYhTS5`R_)QNl(t;@spp6X+8eNzS4aI(9@@DL}32UHnE#dv3(S=eSPU=XUY@ zB)jjE9W}ches*a@aV+|YJe7)%wMg$h$o;Mh;`#iP{Ce%+@pEg+@2x}pf<3A&Y5XZV zrJzrUu83}n?ugDQuk)feL~n_9MIVbk6MZS-|NOpaTXaM8f#_4w=c2Dg--><|{UW+6 z`did^!0e>xG0|z!lcJ|Zi=vhOuv=apmc8M?UK)jN8LU$dx9pW(dH&{`p}RF4T-wMv zyEB*sHyMU%uY%ZU?*8?~cMkwJch>Ga7}`w)-Kx G8|+_Kr1Uue diff --git a/scripts/Units/corfrt.bos b/scripts/Units/corfrt.bos index 2db9412d7f4..4211b758695 100644 --- a/scripts/Units/corfrt.bos +++ b/scripts/Units/corfrt.bos @@ -1,5 +1,7 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece flare1, flare2, flare3, base, turret; @@ -7,20 +9,54 @@ static-var gun_1; static-var Stunned; // Signal definitions -#define SIGNAL_AIM1 256 - - -#define WATER_ROCK_UNITSIZE 10 -#include "../floatmotion.h" +#define SIG_AIM 2 #define BASEPIECE base #define HITSPEED <30.0> //how 'heavy' the unit is, on a scale of 1-10 #define UNITSIZE 1 #define MAXTILT 100 -#define RECOIL_POWER 25000 -#include "../unit_hitbyweaponid_and_smoke.h" +#include "unit_hitbyweaponid_and_smoke.h" + +RockOnWaves() +{ + var rockDir, rockAng, rockSpeed; + rockDir = <-0.1>; + rockAng = <-0.1>; + while( TRUE ) + { + while( get ABS(rockAng) < <1.31> ) + { + rockSpeed = <1.45> - get ABS(rockAng); + turn base to x-axis rockAng speed rockSpeed*5; + turn base to z-axis rockAng speed rockSpeed*5; + wait-for-turn base around x-axis; + wait-for-turn base around z-axis; + rockAng = rockAng + rockDir; + } + rockDir = 0 - rockDir; + rockAng = rockAng + rockDir + rockDir; + } +} + +RockUnit(anglex, anglez) +{ + turn base to x-axis anglex speed <15.000000>; + turn base to z-axis <0> - anglez speed <15.000000>; + wait-for-turn base around z-axis; + wait-for-turn base around x-axis; + turn base to x-axis <0.000000> - anglex speed <12.000000>; + turn base to z-axis anglez speed <12.000000>; + wait-for-turn base around z-axis; + wait-for-turn base around x-axis; + turn base to x-axis anglex / <0.005495> speed <9.000000>; + turn base to z-axis <0> - (anglez / <0.005495>) speed <9.000000>; + wait-for-turn base around z-axis; + wait-for-turn base around x-axis; + turn base to x-axis <0.000000> speed <3.000000>; + turn base to z-axis <0.000000> speed <3.000000>; +} Create() { @@ -28,10 +64,13 @@ Create() hide flare1; hide flare2; gun_1 = flare2; - SLEEP_UNTIL_UNITFINISHED; - turn turret to x-axis <-25> speed <25.0>; + while( get BUILD_PERCENT_LEFT ) + { + sleep 400; + } + turn turret to x-axis <-25> speed <25.00000>; spin turret around y-axis speed <25.0>; - start-script FloatMotion(); + start-script RockOnWaves(); } Stop() { @@ -42,7 +81,7 @@ ExecuteRestoreAfterDelay() if (Stunned) { return (1); } - turn turret to x-axis <-25> speed <25.0>; + turn turret to x-axis <-25> speed <25.00000>; spin turret around y-axis speed <25.0>; } SetStunned(State) @@ -60,34 +99,52 @@ RestoreAfterDelay() start-script ExecuteRestoreAfterDelay(); } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; - turn turret to y-axis heading speed <450.0>; - turn turret to x-axis <0.0> - pitch speed <450.0>; + signal SIG_AIM; + set-signal-mask SIG_AIM; + turn turret to y-axis heading speed <450.000000>; + turn turret to x-axis <0.000000> - pitch speed <450.000000>; wait-for-turn turret around y-axis; wait-for-turn turret around x-axis; start-script RestoreAfterDelay(); return (1); } -FireWeapon1() +FirePrimary() { - gun_1 = (gun_1 + 1) % 3; + ++gun_1; + if( gun_1 == 4 ) + { + gun_1 = flare2; + } } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = turret; + piecenum = turret; } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = flare1 + gun_1; + if( gun_1 == 1 ) + { + piecenum = flare1; + } + if( gun_1 == 2 ) + { + piecenum = flare2; + } + if( gun_1 == 3 ) + { + piecenum = flare3; + } } - +SweetSpot(piecenum) +{ + piecenum = base; +} Killed(severity, corpsetype) { diff --git a/scripts/Units/corfrt.cob b/scripts/Units/corfrt.cob index 69130a4998fd2875aaf8a6e5296e7b7b5a2b2e03..1acc0eea6fc9fb84fec579e45e0926a43b04abc4 100644 GIT binary patch literal 3888 zcmbVPO=w(I6h8CQNfoqDip4C1hq@7qjxBUi1ly=Z5ixcuE%-yG$qfumX2Q#hHM<}P zbs==)&q9Q53w7s06x`K?JB4;H2!f?3xD?~}oqNuk>uV-vlJs!yJwM<1&bjy9wrvr~ zAO|2zEfM_DpYI+J`5W@wgCa*^nTM9VnWfUq@C$PTddYMHTDq-FPPMXTx0w--any`c z{Omv`3!Ur{vq7Oi2i|cU@uVB$9>>yaI41Y!9*)?o>A9@!vE(4RL=J|*9Qv`<9M{V0 zp4@Rh;{?czW6!?k(z#H#X+T}CF{%EfILD*rOgL|1>0B|hFJZ3g@J(FueL_TtKCHgZNT^0b6a8C8GVr0ID5vVwT{t%xk)!-lV`;t13&ySL=5k9^EVjy zM?4!j)ycjvd$VSL*X&T@^GNR?Ydu6CX2Cmk154WU{$PH}z-$bY`FN+kH5{sg`bA&+jgc zHqTkhpP3Rz@|NBm-T~I7W<9$jX5>-ho?C z-g6aWJQ?DgDj)MFVEvR}rT2#T*Y8g_B>lNB<)GZa!RL_nm#)c=c~=hZ+=J(*ao&&n zQoMBSIm?|fZ`M+7cxyaAjjQ+Y-}rG(S|?pQ)?+X_R=v(nK4Mhye7_bXzBACoKwDtEW8!GtN2wyU(%o-xJou&$SuthRHdR3oi&Yo?-2eYrQMzmFq3Dvv2Qh znjEG(W*yJ@Ic{2Ox1JXXYCRu8BgFM{cg!3i^?Kejdv#7c(|VlqAqV>QG8=?y>@>4+ zuK&lUJ_~Z1reE(v9|P-mFFn=gFm1liWWV)&KKsqD&y9TEfn0<90C@%lK8Ab^`5tl` z@;l@&$SjhdhMa)B1zCjf|8#FdmLVl%3-S@HkULKTlo99D+Z8VhL>gZBnlrgcC>iu_2K#cdtqJI8uCIB`el$_ zIa-sK-Vci#WjGtw%TWMMCYzO_{i z_WHQY`wj2?IdYE-Ce-cvdfhH3?xg&V)%K~ISy(&P?Q`+Eo&UdebI$U*i3{&%>F4_; zm{7Ot=RVy#ZF6Y_4fb48JpiH?G5D`^uY;+Y-ig_0?^2oA9Qn zX7ByHl;HI_O{$r=zhaPjL7#ZHxNr2&eOWn^*stn>Iv%gtdp1dj>)1X!!^pnsM%|7+ zV5L8f#bt<))z4Otr+CB)zPbZ{YXjfJAp5@a8KRp}>*Wni;cg30S5^;Q$N_h8TU7zoC^0fq)5F+jSo7n0qn^6Ubbu|ns%5^(4~EdB}{jO zO^g-vOR>+0i5q?5?-lMkzp3)`65QqE?;7VIKl61xJUtEa^p>#q8uITlp9Q*mF>1#* z|A%b$}Bv zkD^~he~L_hLmU$w7u_d1DLN&3RJ7P1cB>1+sy7_ixnA|u)fda|=5TO+J?CtBxORDU z(5q~ryU~5MTwmE3UM}tFQQ56ZTd9Vd_RJgQ+E!IAmshIcsGPr4m7|5S-@R%pWwlam z4F=`9-L9PPZNz-Dw%8k$zL$7$G#sm*-zrB5*Q`C)>-QDwQolPYXXA1vE@$nP?v>K2 Jt=rAG0-FE; diff --git a/scripts/Units/corfship.bos b/scripts/Units/corfship.bos index d296a3b2f04..1feb4508a33 100644 --- a/scripts/Units/corfship.bos +++ b/scripts/Units/corfship.bos @@ -1,15 +1,21 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, ground, wake1, wake2, turret, sleeve, flare, mturret, mbarrel, flare1, flare2, flare3; -static-var restore_delay, aimDir, oldHead, gun_1; +static-var restore_delay, Static_Var_7, Static_Var_8, aimDir, oldHead, gun_1; // Signal definitions -#define SIGNAL_AIM1 256 -#define SIGNAL_AIM2 512 -#define SIGNAL_MOVE 1 +#define SIG_AIM 2 +#define SIG_AIM_2 4 +#define SIG_MOVE 4096 +lua_UnitScriptDecal(lightIndex, xpos,zpos, heading) +{ + return 0; +} lua_FlameShot(weapon) //Distortion and lups flame effect @@ -17,24 +23,84 @@ lua_FlameShot(weapon) //Distortion and lups flame effect return 0; } -#define RB_MASS 30 -#define RB_LENGTH 7 -#define RB_WIDTH 3 -#define RB_PITCH_SPEED 100 -#define RB_PITCH_ACCELERATION 20 -#define RB_ROLL_ACCELERATION 8 -#define RB_ROCKUNIT 5 -#define RB_WAKE_PIECE wake1 -#define RB_WAKE_CEG 1024 + 0 -#define RB_IDLE_KICK 5000 -#define RB_RECOIL_ENERGY_1 100 -#define RB_BOWSPLASH_PIECE wake2 -#define RB_BOWSPLASH_CEG 1024 + 1 +#define BASEPIECE base +#define HITSPEED <25.0> +//how 'heavy' the unit is, on a scale of 1-10 +#define UNITSIZE 3 +#define MAXTILT 200 -#include "../bar_ships_common.h" +#include "unit_hitbyweaponid_and_smoke.h" +SetDirection(heading) +{ + var spd; + spd = (get ABS(oldHead) - get ABS(heading)) / 2; + turn ground to y-axis heading speed spd; + turn base to y-axis 0-heading speed spd; + oldHead = heading; +} -PilotLight() +RockOnWaves() +{ + var rockDir, rockAng, rockSpeed; + rockDir = <-0.1>; + rockAng = <-0.1>; + while( TRUE ) + { + while( get ABS(rockAng) < <1.31> ) + { + rockSpeed = <1.45> - get ABS(rockAng); + turn ground to x-axis rockAng speed rockSpeed*4; + wait-for-turn ground around x-axis; + rockAng = rockAng + rockDir; + } + rockDir = 0 - rockDir; + rockAng = rockAng + rockDir + rockDir; + } +} + +ProjXPW(Func_Var_1, Func_Var_2) +{ + if( Func_Var_2 < -21840 ) + { + Static_Var_7 = Func_Var_1 * ( Func_Var_2 + 32760 ) / 10920; + } + else if( Func_Var_2 > 21840 ) + { + Static_Var_7 = Func_Var_1 * ( 32760 - Func_Var_2 ) / 10920; + } + else if( Func_Var_2 < -10920 ) + { + Static_Var_7 = 0 - Func_Var_1; + } + else if( Func_Var_2 > 10920 ) + { + Static_Var_7 = Func_Var_1; + } + else + { + Static_Var_7 = Func_Var_1 * Func_Var_2 / 10920; + } +} + +RockZ(Func_Var_1, Func_Var_2) +{ + signal 4096; + set-signal-mask 4096; + call-script ProjXPW(10920 / Func_Var_2,Func_Var_1); + Static_Var_8 = Static_Var_8 + Static_Var_7; + Static_Var_7 = get ABS(Static_Var_8); + while( Static_Var_7 > 91 ) + { + turn base to z-axis Static_Var_8 speed Static_Var_7 * <0.0125>; + wait-for-turn base around z-axis; + Static_Var_8 = Static_Var_8 * -1 / 2; + Static_Var_7 = get ABS(Static_Var_8); + } + turn base to z-axis <0.000000> speed <1.5>; +} + +PilotLight(Func_Var_1) { while( TRUE ) { @@ -52,12 +118,18 @@ Create() hide ground; gun_1 = 1; restore_delay = 3000; - start-script InitRockBoat(); - SLEEP_UNTIL_UNITFINISHED; - start-script BoatPhysics(); + while( get BUILD_PERCENT_LEFT ) + { + sleep 500; + } + start-script RockOnWaves(); start-script PilotLight(); } +SetMaxReloadTime(Func_Var_1) +{ + restore_delay = 3000; +} static-var Stunned; ExecuteRestoreAfterDelay() @@ -66,8 +138,8 @@ ExecuteRestoreAfterDelay() return (1); } set-signal-mask 0; - turn turret to y-axis <0.0> speed <180.0>; - turn sleeve to x-axis <0.0> speed <90.0>; + turn turret to y-axis <0.000000> speed <180.000000>; + turn sleeve to x-axis <0.000000> speed <90.000000>; } SetStunned(State) { @@ -82,22 +154,51 @@ RestoreAfterDelay() start-script ExecuteRestoreAfterDelay(); } -StartMoving(reversing) +waveSplash() { + while( TRUE ) + { + turn base to x-axis <-3.0> speed <3.0>; + move base to y-axis [0.32] speed [0.25]; + wait-for-turn base around x-axis; + turn base to x-axis <0.0> speed <3.0>; + move base to y-axis [0.0] speed [0.25]; + wait-for-turn base around x-axis; + } +} +StartMoving() +{ + signal SIG_MOVE; + set-signal-mask SIG_MOVE; + var waketime; + start-script waveSplash(); + var bowtime; + bowtime = 0; + while( TRUE ) + { + emit-sfx 1024 + 0 from wake1; + if (bowtime) emit-sfx 1024 + 1 from wake2; + bowtime = !bowtime; + waketime = (get CURRENT_SPEED) * 100 / get MAX_SPEED; + if( waketime < 50 ) waketime = 50; + sleep 10000 / waketime; + } } StopMoving() { - + signal SIG_MOVE; + turn base to x-axis <0.0> speed <3.0>; + move base to y-axis [0.0] speed [0.25]; } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; - turn turret to y-axis heading speed <150.0>; - turn sleeve to x-axis -1*pitch speed <150.0>; + signal SIG_AIM; + set-signal-mask SIG_AIM; + turn turret to y-axis heading speed <150.000000>; + turn sleeve to x-axis -1*pitch speed <150.000000>; wait-for-turn turret around y-axis; wait-for-turn sleeve around x-axis; start-script RestoreAfterDelay(); @@ -111,21 +212,23 @@ Shot1() return (TRUE); } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = sleeve; + piecenum = sleeve; + return (0); } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = flare; + piecenum = flare; + return (0); } -AimWeapon2(heading, pitch) +AimSecondary(heading, pitch) { - signal SIGNAL_AIM2; - set-signal-mask SIGNAL_AIM2; - turn mturret to y-axis heading speed <300.0>; + signal SIG_AIM_2; + set-signal-mask SIG_AIM_2; + turn mturret to y-axis heading speed <300.000000>; turn mbarrel to x-axis <0> - pitch speed <300>; //? wait-for-turn mturret around y-axis; wait-for-turn mbarrel around x-axis; @@ -133,23 +236,43 @@ AimWeapon2(heading, pitch) return (1); } -FireWeapon2() +FireSecondary() { - gun_1 = (gun_1 + 1) % 3; + ++gun_1; + if( gun_1 == 4 ) + { + gun_1 = 1; + } + return (0); } -AimFromWeapon2(pieceIndex) +AimFromSecondary(piecenum) { - pieceIndex = mturret; + piecenum = mturret; return (0); } -QueryWeapon2(pieceIndex) +QuerySecondary(piecenum) { - pieceIndex = flare1 + gun_1; + if( gun_1 == 1 ) + { + piecenum = flare1; + } + if( gun_1 == 2 ) + { + piecenum = flare2; + } + if( gun_1 == 3 ) + { + piecenum = flare3; + } + return (0); } - +SweetSpot(piecenum) +{ + piecenum = base; +} Killed(severity, corpsetype) { diff --git a/scripts/Units/corfship.cob b/scripts/Units/corfship.cob index 30d5cd0f29c2ec85bf4571cb4ba5bcf1a26355d4..1aed30bd92034a1b162e4aa4b8ef6a50fe880477 100644 GIT binary patch literal 5226 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 MZGRXB!m!!>3n6@ncK`qY diff --git a/scripts/Units/corfus.bos b/scripts/Units/corfus.bos index c5cbe942ed2..11d778b4591 100644 --- a/scripts/Units/corfus.bos +++ b/scripts/Units/corfus.bos @@ -1,4 +1,22 @@ -#include "../recoil_common_includes.h" +// * Header Info * +// VersionSignature 4 +// NumberOfScripts 4 +// NumberOfPieces 6 +// LengthOfScripts 140 +// NumberOfStaticVars 0 +// UKZero 0 +// OffsetToScriptCodeIndexArray 52c +// OffsetToScriptNameOffsetArray 53c +// OffsetToPieceNameOffsetArray 54c +// OffsetToScriptCode 2c +// OffsetToNameArray 564 + +// OffsetToFirstName 564 + +#define TA // This is a TA script + +#include "sfxtype.h" +#include "exptype.h" piece base, emit; @@ -20,10 +38,14 @@ SetStunned(State) } } +#define SMOKEPIECE base +#include "smokeunit_thread_nohit.h" -#define BASEPIECE base -#define MAXTILT 0 -#include "../unit_hitbyweaponid_and_smoke.h" +SweetSpot(piecenum) +{ + piecenum = base; + return (0); +} Killed(severity, corpsetype) { diff --git a/scripts/Units/corfus.cob b/scripts/Units/corfus.cob index f6dff18708af8bb384c21f8a6ebabf589f42f07e..6f689029fa31a5df4536434ce9581ece4508df2a 100644 GIT binary patch literal 971 zcmbtTyGjF55S`tuYdZ=GcKZQ>i=~ysMzC2}AJ}Ep3kH+j5LZO2ly+ikE!Ngr*$DoP zpWr$75kjz06Ap7{=FFLydy_;&QXmFCy@ipYBXSN*fOYtHu#v{foD``_7Q=IXl6xES zy;Lo+CmNBzo$9i!bN;*zeal1LA$ar?^0P!^uN`_Z*JUnWPyv4fN5(1}i-}3d0{nTrdVtGd;ciPmP&Y+kNUsA;D6+R!4_$4lf{r7!5o{O*gIE=kl zYA^AO-ML?dW7vs%uw$5kG%4I3jps2p-CeOaIrz+K@a=*hb`E}c+u8SJZjB-FIE z*o*aHp3KK5u+qbw>7w1AcSO$oJJ`GRn$JkH59j@l<|+Gl%{Q-!pYE?UIm=(_*q(JO zz%eieZUO#(?tw?(33vfsfp_2o*cqFuHBy?kY_ICtoJl!sF3dsQZ)LaNc5jYMHEL=p WuMH@prj@<^U;x@lb!o&5LHh=+wMQrb literal 1498 zcmb7^F>ez=5QWF*^Ff6cBnl)7(<5ZjKzN(OUdXQM{7Sx) zibTz}t7QE`r}kV9+(&)4N*TCoNs?y6DqYCD_PnlxRv5MOVEbh<>0D7rZj$*`A}+m7 zyg@wZW$X=wrE>J7M#;99HFDIL7jLO*wG?ufu6t^6H!$Qe_%TP!8+%}X)W1U>c2l7q z6$76;$L=>&q$lUU&CLv70QfGrGrxzW z_BRPG-UgjK-%A~0_Vu0psRng{_iuqSyWq|C6mTv%>m73kLT1KO<1X=TKYNZ;yv82DTJM)*d5dcIi62N%8TsC9qBIz!jVZ{ig5Fzact zv;lijwki7{JF9;DkG__@mA#X_mwl2Q$&O{4kLqz#+o*0v&6D}Op4gpfbL;6&Jw7~` h-~H`mx5u;bgL*QW9XzaUYr4NL^xpV!ZS`#0*e`J?VIu$l diff --git a/scripts/Units/corgant.bos b/scripts/Units/corgant.bos index 7924f544a39..03552ae17a9 100644 --- a/scripts/Units/corgant.bos +++ b/scripts/Units/corgant.bos @@ -1,14 +1,163 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" -#include "../factories_common.h" +#include "sfxtype.h" +#include "exptype.h" piece base,pad,arm1,arm2,arm3,door1,door2,nano1,nano2,nano3,nano4,nano5,nano6,n1,n2,n3,n4,n5,n6,n7,n8,n9,n10,n11,n12, cagelight, cagelight_emit, cagelight2, cagelight_emit2, cagelight3, cagelight_emit3; -static-var buildAnimPiece; +static-var Static_Var_1, statechg_DesiredState, statechg_StateChanging; // Signal definitions -#define SIGNAL_TURNON 4 +#define SIG_ACTIVATE 2 +activatescr() +{ + if( TRUE ) + { + move door1 to x-axis [-33] speed [33]; + move door2 to x-axis [33] speed [33]; + wait-for-move door1 along x-axis; + } + if( TRUE ) + { + turn arm1 to x-axis <-90> speed <90>; + wait-for-turn arm1 around x-axis; + + } + if( TRUE ) + { + move arm2 to z-axis [14] speed [14.000000]; + move arm3 to z-axis [14] speed [14.000000]; + wait-for-move arm2 along z-axis; + } + if( TRUE ) + { + turn nano1 to y-axis <-60> speed <60.000000>; + turn nano2 to y-axis <60> speed <60.000000>; + turn nano3 to y-axis <-60> speed <60.000000>; + turn nano4 to y-axis <60> speed <60.000000>; + wait-for-turn nano1 around y-axis; + } + sleep 300; + return (0); + // Build by COBBLER Ver4.0 Copyright @1998 DIGITAL CONCEPT SOFTWARE (MANU@inext.fr) / http://www.annihilationcenter.com/DCS/ +} + +deactivatescr() +{ + hide cagelight_emit; + hide cagelight_emit2; + hide cagelight_emit3; + turn cagelight to y-axis <0> speed <1000>; + turn cagelight2 to y-axis <0> speed <1000>; + turn cagelight_emit3 to y-axis <0> speed <1000>; + if( TRUE ) + { + turn arm1 to x-axis <0> speed <90>; + wait-for-turn arm1 around x-axis; + + } + + if( TRUE ) + { + move arm2 to z-axis [0] speed [14.000000]; + move arm3 to z-axis [0] speed [14.000000]; + wait-for-move arm2 along z-axis; + } + if( TRUE ) + { + turn nano1 to y-axis <0> speed <60.000000>; + turn nano2 to y-axis <0> speed <60.000000>; + turn nano3 to y-axis <0> speed <60.000000>; + turn nano4 to y-axis <0> speed <60.000000>; + wait-for-turn nano1 around y-axis; + } + if( TRUE ) + { + move door1 to x-axis [0] speed [33]; + move door2 to x-axis [0] speed [33]; + wait-for-move door1 along x-axis; + } + sleep 300; +} + + +OpenYard() +{ + set YARD_OPEN to 1; + while( !get YARD_OPEN ) + { + set BUGGER_OFF to 1; + sleep 1500; + set YARD_OPEN to 1; + } + set BUGGER_OFF to 0; +} + +CloseYard() +{ + set YARD_OPEN to 0; + while( get YARD_OPEN ) + { + set BUGGER_OFF to 1; + sleep 1500; + set YARD_OPEN to 0; + } + set BUGGER_OFF to 0; +} + +Go() +{ + call-script activatescr(); + call-script OpenYard(); + set INBUILDSTANCE to 1; +} + +Stop() +{ + set INBUILDSTANCE to 0; + call-script CloseYard(); + call-script deactivatescr(); +} + +InitState() +{ + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; +} + +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + call-script Go(); + currentstate = 0; + show cagelight_emit; + show cagelight_emit2; + show cagelight_emit3; + spin cagelight around y-axis speed <200>; + spin cagelight2 around y-axis speed <-200>; + spin cagelight_emit3 around y-axis speed <200>; + } + if( statechg_DesiredState == 1 ) + { + call-script Stop(); + currentstate = 1; + } + } + statechg_StateChanging = FALSE; +} + Create() { hide n1; @@ -27,70 +176,93 @@ Create() hide cagelight_emit; hide cagelight_emit2; hide cagelight_emit3; - buildAnimPiece = 0; + Static_Var_1 = 1; + call-script InitState(); } -#define BASEPIECE base -#define MAXTILT 0 -#include "../unit_hitbyweaponid_and_smoke.h" +#define SMOKEPIECE base +#include "smokeunit_thread_nohit.h" -QueryNanoPiece(pieceIndex) +QueryNanoPiece(piecenum) { - buildAnimPiece = (buildAnimPiece + 1) % 12; - pieceIndex = n1 + buildAnimPiece; + if( Static_Var_1 == 1 ) + { + piecenum = n1; + } + if( Static_Var_1 == 1 ) + { + piecenum = n1; + } + if( Static_Var_1 == 1 ) + { + piecenum = n1; + } + if( Static_Var_1 == 2 ) + { + piecenum = n2; + } + if( Static_Var_1 == 3 ) + { + piecenum = n3; + } + if( Static_Var_1 == 4 ) + { + piecenum = n4; + } + if( Static_Var_1 == 5 ) + { + piecenum = n5; + } + if( Static_Var_1 == 6 ) + { + piecenum = n6; + } + if( Static_Var_1 == 7 ) + { + piecenum = n7; + } + if( Static_Var_1 == 8 ) + { + piecenum = n8; + } + if( Static_Var_1 == 9 ) + { + piecenum = n9; + } + if( Static_Var_1 == 10 ) + { + piecenum = n10; + + } + + if( Static_Var_1 == 11 ) + { + piecenum = n11; + } + if( Static_Var_1 == 12 ) + { + piecenum = n12; + } + ++Static_Var_1; + if( Static_Var_1 == 13 ) + { + Static_Var_1 = 1; + } } - Activate() { - signal SIGNAL_TURNON; - set-signal-mask SIGNAL_TURNON; - - move door1 to x-axis [-33] speed [33]; - move door2 to x-axis [33] speed [33]; - wait-for-move door1 along x-axis; - - turn arm1 to x-axis <-90> speed <90>; - wait-for-turn arm1 around x-axis; - - - move arm2 to z-axis [14] speed [14.0]; - move arm3 to z-axis [14] speed [14.0]; - wait-for-move arm2 along z-axis; - - turn nano1 to y-axis <-60> speed <60.0>; - turn nano2 to y-axis <60> speed <60.0>; - turn nano3 to y-axis <-60> speed <60.0>; - turn nano4 to y-axis <60> speed <60.0>; - wait-for-turn nano1 around y-axis; - - FACTORY_OPEN_BUILD; + signal SIG_ACTIVATE; + start-script RequestState(0); } Deactivate() { - signal SIGNAL_TURNON; - set-signal-mask SIGNAL_TURNON; - sleep 5000; - - turn arm1 to x-axis <0> speed <90>; - wait-for-turn arm1 around x-axis; - - move arm2 to z-axis [0] speed [14.0]; - move arm3 to z-axis [0] speed [14.0]; - wait-for-move arm2 along z-axis; - - turn nano1 to y-axis <0> speed <60.0>; - turn nano2 to y-axis <0> speed <60.0>; - turn nano3 to y-axis <0> speed <60.0>; - turn nano4 to y-axis <0> speed <60.0>; - wait-for-turn nano1 around y-axis; - - move door1 to x-axis [0] speed [33]; - move door2 to x-axis [0] speed [33]; - wait-for-move door1 along x-axis; - - FACTORY_CLOSE_BUILD; + signal SIG_ACTIVATE; + set-signal-mask SIG_ACTIVATE; + sleep 5000; + set-signal-mask 0; + start-script RequestState(1); } StartBuilding() @@ -107,13 +279,7 @@ StartBuilding() show n10; show n11; show n12; - - show cagelight_emit; - show cagelight_emit2; - show cagelight_emit3; - spin cagelight around y-axis speed <200> accelerate <1>; - spin cagelight2 around y-axis speed <-200> accelerate <1>; - spin cagelight_emit3 around y-axis speed <200> accelerate <1>; + sleep 50; } StopBuilding() // give the gantry a 1 second breathing room @@ -130,19 +296,22 @@ StopBuilding() // give the gantry a 1 second breathing room hide n10; hide n11; hide n12; - hide cagelight_emit; - hide cagelight_emit2; - hide cagelight_emit3; - stop-spin cagelight around y-axis decelerate <1>; - stop-spin cagelight2 around y-axis decelerate <1>; - stop-spin cagelight_emit3 around y-axis decelerate <1>; + set BUGGER_OFF to 1; // tell units to get out of here + set INBUILDSTANCE to 0; // we turn it off, to wait for the unit to clear the build pad (large aircraft) + sleep 1000; // then we wait for 2 sec + set INBUILDSTANCE to 1; // we turn it on again, as the next startbuilding and construction will begin when this is 1 again. + set BUGGER_OFF to 0; // ok now we dont mind if they are here } -QueryBuildInfo(pieceIndex) +QueryBuildInfo(piecenum) { - pieceIndex = pad; + piecenum = pad; } +SweetSpot(piecenum) +{ + piecenum = base; +} Killed(severity, corpsetype) { diff --git a/scripts/Units/corgant.cob b/scripts/Units/corgant.cob index 8e9fdbc9746ee9cc66434b6a39fbe280dc960704..0e86b8f929bf7e6c3ee612506e2262e52b69a5b9 100644 GIT binary patch literal 9329 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 + turn base to z-axis <0> - anglez speed <50.000000>; + wait-for-turn base around z-axis; + wait-for-turn base around x-axis; + turn base to z-axis <0.000000> speed <20.000000>; + turn base to x-axis <0.000000> speed <20.000000>; +} #define BASEPIECE base #define HITSPEED <55.0> //how 'heavy' the unit is, on a scale of 1-10 #define UNITSIZE 2 #define MAXTILT 100 -#define RECOIL_POWER 50000 -#include "../unit_hitbyweaponid_and_smoke.h" - -#define TB_BASE base -#define TB_TURNRATE <15.0> -#define TB_TILT_X <0.15> -#define TB_BANK_Z <0.15> // Do not define this if you dont want banking -#include "../tilt_bank_mobileunit.h" -StartMoving(reversing) -{ - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; +#include "unit_hitbyweaponid_and_smoke.h" - START_TILTBANK; -} - -StopMoving() -{ - signal SIGNAL_MOVE; - STOP_TILTBANK; -} Create() { hide flare; restore_delay = 3000; - call-script TB_Init(); } -SetMaxReloadTime(reloadMS) +SetMaxReloadTime(Func_Var_1) { - restore_delay = reloadMS * 2; + restore_delay = Func_Var_1 * 2; } static-var Stunned; @@ -56,8 +46,8 @@ ExecuteRestoreAfterDelay() if (Stunned) { return (1); } - turn turret to y-axis <0.0> speed <90.0>; - turn sleeve to x-axis <0.0> speed <90.0>; + turn turret to y-axis <0.000000> speed <90.000000>; + turn sleeve to x-axis <0.000000> speed <90.000000>; } SetStunned(State) { @@ -72,37 +62,40 @@ RestoreAfterDelay() start-script ExecuteRestoreAfterDelay(); } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; - turn turret to y-axis heading speed <90.0>; - turn sleeve to x-axis <0.0> - pitch speed <90.0>; + signal SIG_AIM; + set-signal-mask SIG_AIM; + turn turret to y-axis heading speed <90.000000>; + turn sleeve to x-axis <0.000000> - pitch speed <90.000000>; wait-for-turn turret around y-axis; wait-for-turn sleeve around x-axis; start-script RestoreAfterDelay(); return (1); } -FireWeapon1() +FirePrimary() { emit-sfx 1024 + 0 from flare; - move barrel to z-axis [-1.0] speed [500.0]; + move barrel to z-axis [-1.000000] speed [500.000000]; wait-for-move barrel along z-axis; - move barrel to z-axis [0.0] speed [3.0]; + move barrel to z-axis [0.000000] speed [3.000000]; } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = turret; + piecenum = turret; } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = flare; + piecenum = flare; } - +SweetSpot(piecenum) +{ + piecenum = base; +} Killed(severity, corpsetype) { @@ -111,7 +104,9 @@ Killed(severity, corpsetype) corpsetype = 1 ; explode base type BITMAPONLY | NOHEATCLOUD; explode turret type BITMAPONLY | NOHEATCLOUD; + //explode sleeve type BITMAPONLY | NOHEATCLOUD; explode barrel type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } if( severity <= 50 ) @@ -121,6 +116,7 @@ Killed(severity, corpsetype) explode turret type FALL | NOHEATCLOUD; explode sleeve type FIRE | SMOKE | FALL | NOHEATCLOUD; explode barrel type FALL | NOHEATCLOUD; + //explode flare type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) @@ -130,6 +126,7 @@ Killed(severity, corpsetype) explode turret type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode sleeve type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; explode barrel type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode flare type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; @@ -137,5 +134,6 @@ Killed(severity, corpsetype) explode turret type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode sleeve type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode barrel type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/corgarp.cob b/scripts/Units/corgarp.cob index 261548fe7d7b7028f4514cfcbd966e13d32ed5d1..36bcd32c11d694d4f0612191917e3980154b2284 100644 GIT binary patch literal 2879 zcmbVOJ4_T&6uq-7i=PC?4sD#oZ-~WWMJJ#Vjglbir`?f#BrE$N!z@ChXkn$DrG<^L zwzJX1n2^{SI~#4RER5041kZWz-QCFm8*n!#_s;#l^X@DZMdT1L2;41*3_$YpdA~?_ zK;#;57SB~ki3%YRgoW_QaghQfV&NW|?p5pNdv51rxo*7Y zmd^nl;O2w(7x^3&EtgbvX2y~~<>)z7+G1-9EC*DJWmhxXD_g_X_xJJ2*Px9&Gd~-9 zjs|cfWmliGcIOB&Bfbm~U+=B=2Mqk_cX^@|zW4S*&i=^TA?!Y6cTL}q!}Ngbs(Km}`51JN9P?ZIn8<_2W!KD6F&6NB!^lOnfA^miEv4I4eKd`ueWY&i?FWZ;OT( zj-!(-2u@10;gij0tTp1^cZ$)wVxB$AlAGP?>%DU*C(`E}jNv%?+oosY`^S3L2fb%6 zh5PJ)Zf@)M+zFQ%yGNTl)9=8^%}s1%Xm_2tQP9<$f1t-fCeHZ~kNUckoJrr8?fmTB z&ky&G{_Nec_7Mh0?#^DLFl}02&ln+u_H{_9;(ZN=x;q!al=oRq5zip{ESJcmPJUP; zpJRE0pFPQi-Yetm?}VT6o1alR+Rcoto$vQQGjc!l4EcKf=AY-8{QRfTn7ORQJJk92 z!WGN0M)nNK>2A2zJe9l2(X;O*C(p@t=hk|5q5NL#W}bc=u&?s5?se|0_ENdmo_P-T znxE%`qm2R&feqjX@CV=z(g<({7z1trEno$>4?G6=e_kEv01tqtz%$?_@DBJ0d;z`# zzkmRLSB8NR;23ZM7zM_FabT`Jzj(7%Pvvqwom#tX;-z*=D$Vwy$y=|~tf{YZ&!FN`JC&>TMgvvv#LGq&8gXJI?IejwWw~L@ih%=94fzMh C{@5h| literal 3348 zcmai$O=w(I6vxj@rcH#RXALk+}9ir~h)CbwnCWF|~rN{e7! z#I3kdTvX{&TQHx^yA9PzZ?7MHdwU@&CK;p2_QL(hMB#x##15KJU!5%l$pN{y_Uy&$o5TA3}kGfa@JB3o!@@GW@h;iuud z$D-{Su`S6OI?EB&N^lpqj~H2ZPiL zYGxjml{0Z)PU|*eP4`di=T-07K{{N$R%YkBfNbHHQn#m%_s4T_8UD!FKl(>5bv*9q zcmpjl+*{nW_w)o7d`@)JFllH0NHRpe>s9=!U&Ks1xs&{mc?{2E5+mb<`P(RW`El}V zknqED=j=i|+fDLjMee@fy(xX{gXVz!{bY~W-})tZ)l41ag-%|X5N`S|HI z(c7<5Z%-#obiO}S8vCRDp&yh{jgO3Y)PxRu?$#;aVdRr9d16=1*HYi-c&^ZxZI0HB90YqmJo4jJ;5v-pgfzr5!q*un_s%1S{6MQT~2J z{zU#(t$*ci*mHEB819nS)W+#Th3ZkUkI3h4{pp z#Jp4P*a<+@Z?!3Y>iI<>^FG9;`p)CPHp)3gKFyt6Jr8?E9oWSB^`^1&nlyn)?eP2Z z@;?hXl6SRt#&Gogh^(yXQKLNdc2o`OIGavm!k7A~WG{n?U8$2yv!Q10`16K!?E6&o z#6C<9hW7-lR{`miGx=1&$lTv+xPwi0d=k&^r^FfAX!yiN6CW&g~S(>o_dV zcEYX4VGhJ~{j=h(fRWyz3KOWcf#}wS}U{tTi{UY5xuHWl%@vUP!77*yaPFRlZ zddK#A9UHf^qMtkPKn;@7c)0M4Ee@rIJa88 zS#Pwmc6rz@Y&KuduZ7jc_0d|erJ0ZC5H9rx#Y{e2v&AAG7xSa*{oyt7qm9JAGY)wX zY%vt``Hfx}jPli`{(7)?Z-kYtBJ{#$F&c;It3?>khCzN4%f(`AI1H=yv~s$?Ugmht zF80U4d5JHMM-$ZtTVb4PIcJypgMqNF4Q(xE`d?ZD9WcVc8Ay diff --git a/scripts/Units/corgate.bos b/scripts/Units/corgate.bos index 868cf04901e..bcc25225ab3 100644 --- a/scripts/Units/corgate.bos +++ b/scripts/Units/corgate.bos @@ -1,82 +1,138 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, dish; -static-var shieldEnabled; +static-var Static_Var_1, statechg_DesiredState, statechg_StateChanging; static-var Stunned; -Create() + +ShieldOn() { - shieldEnabled = 1; + Static_Var_1 = 1; } -Activate() +ShieldOff() { - shieldEnabled = 1; - spin dish around y-axis speed <15.0> accelerate <1>; + Static_Var_1 = 0; } -Deactivate() +InitState() { - shieldEnabled = 0; - stop-spin dish around y-axis decelerate <1>; + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; } +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + call-script ShieldOn(); + currentstate = 0; + } + if( statechg_DesiredState == 1 ) + { + call-script ShieldOff(); + currentstate = 1; + } + } + statechg_StateChanging = FALSE; +} + +Go() +{ + spin dish around y-axis speed <15.000000>; +} +Stop() +{ + spin dish around y-axis speed <0.000000>; +} +Create() +{ + call-script Go(); + call-script InitState(); +} SetStunned(State) { Stunned = State; if (Stunned) { - call-script Deactivate(); + call-script Stop(); } else { - call-script Activate(); + call-script Go(); } } +#define SMOKEPIECE base +#include "smokeunit_thread_nohit.h" -#define BASEPIECE base -#define MAXTILT 0 -#include "../unit_hitbyweaponid_and_smoke.h" +Activate() +{ + start-script RequestState(0); +} -AimWeapon1(heading, pitch) +Deactivate() { - return (shieldEnabled); + start-script RequestState(1); } -FireWeapon1() +AimPrimary(heading, pitch) { + sleep 100; + return (Static_Var_1); } -QueryWeapon1(pieceIndex) +FirePrimary() { - pieceIndex = base; + sleep 100; } -AimFromWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = base; + piecenum = base; } +AimFromPrimary(piecenum) +{ + piecenum = base; +} +SweetSpot(piecenum) +{ + piecenum = base; +} -AimWeapon2(heading, pitch) +AimSecondary(heading, pitch) { - return (shieldEnabled); + sleep 100; + return (Static_Var_1); } -FireWeapon2() +FireSecondary() { + sleep 100; } -QueryWeapon2(pieceIndex) +QuerySecondary(piecenum) { - pieceIndex = base; + piecenum = base; } -AimFromWeapon2(pieceIndex) +AimFromSecondary(piecenum) { - pieceIndex = base; + piecenum = base; } Killed(severity, corpsetype) diff --git a/scripts/Units/corgate.cob b/scripts/Units/corgate.cob index d2fbf57f83dd5a41e608797209114b82bacfa4ac..f64f47adfdbdc7fdc356329af37390fcfe9b8bf6 100644 GIT binary patch literal 2303 zcmcgt&ubGw6n;t5RCnMx4Tvu)OksA5{74&0F8r9%51gt^- zVh>$g`?H3%w9BEFL$!mr&y&Vvz;#v%wfRggwuG3}FrWW4u4`yd`nk5$UEMNu)L9=? zjcc9ERfAdYXDay{=0w+`d^L@vP;5W;)R^+X9s}QqJkC>LB0uPsXQ+cZe-1^?ClKcz zDaq9%O4RCo;XWRFpY|T^N89p%`VYvZZF6hr9J=$>H5prAztHix>+_q|SNiL|xgMy; z+{Jq94_y5lUr*nDYw-*uoCqXzy_H)#gS(CH?0vuYzF&!n-^Ini!JhY*hy2gH9|Cv7 zy_Xs4*gN_B1hvQ)x#q07&+X%j_pv?iirZr~!1J_Uo}a%-399zobWb+X&p_X(xV}a9 zY%>qsa4xF42lW@%Wu4l}wc4!vA93xW>mSryT(@|~j**L+JDWDh9WYOub&Lv3(J@X9gaNbJ+Xq=XmJn;JZHPIa*j#`FP>y;BUsb zbC8FB;effr{kd=YEy>*z+yYjCbzld006YPn1G~U$;4QER zdsbMTK@Naj!rY+HC zvTl}9C70uDp}%69y`(Gitt{SQ<|Wfqbw1v#r}1Vp?aN}E8r5%Xo3yV6au(BMkQd!G mSgDs}ft6$Ey4Z( literal 2084 zcmcIlO=}ZT6up^DQ*|LvM6iMw7lI4LX+Y>Q(ON2QDp|D4j?GX9o1~BBu*kqbWbZQH8;)o#&cdC!6FgWQco^SspB$?Nu4yO^Q9g^UFfON zda$RJ^_sgxTdz6xqffKu8eHH^Iar4I87~BV$CMvC#%pQ+u3{PE zjJZcSMn0ag2G*_hxthb6^Hud33;L+HI>MUCwVdB6ZdP5C6lbAN->oa^ zx##1-XkQ^ubNHSfdLGX#ChJ%@I$o>xlT`H{s2(*)U9XnjEz{64CG(k`t{v&gW53is z!jkqeEMu@;i#cf}iB)4wAig)jm11X+BCzKJKK=hO^+EJ%q^syJaw?DD8cy>2!&pRLLG^W2p zhl4zv6GKwRI?5bQzX*Sqi@P`Hbrll76?a7Nou2mRQE(pS*6$c|<=n{s?DN0~>$Goz z8SO0W!{$U^Sg&#a#!t@wjvw|s$KvY6+_r6QzJ890{T;xHn=R+R@AvdG7VYGFEPfM< zxO+Y>?=$D}FL5`R%h$W_t%0~+83TnL;rKXpVaage_3(@I15|` zSlcJyJjfS;1Xuu?z%^hQSOL}m{@-l^+rR^04|oO~0Iz|!z&qeQ@Dcb5`~c!ZBFBMK zz!~7`AWMgtv^IwMT`m^0)RygR*dFfodRa%7^Wl~It693;?_D3;$zs|~H?vN=+rNV- zdAA_V%ThkbY<+V#8+i3RIZK0n$txv|K+=#v(ioRC@qJDGIyo!jyYeO98* diff --git a/scripts/Units/corgator.bos b/scripts/Units/corgator.bos index 2886f5a060e..ef725185686 100644 --- a/scripts/Units/corgator.bos +++ b/scripts/Units/corgator.bos @@ -1,13 +1,14 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, turret, flare, barrel; static-var restore_delay; // Signal definitions -#define SIGNAL_MOVE 1 -#define SIGNAL_AIM1 256 +#define SIG_AIM 2 #define BASEPIECE base @@ -15,40 +16,19 @@ static-var restore_delay; //how 'heavy' the unit is, on a scale of 1-10 #define UNITSIZE 2 #define MAXTILT 100 -#define RECOIL_POWER 5000 // not worth it -#include "../unit_hitbyweaponid_and_smoke.h" -#define TB_BASE base -#define TB_TURNRATE <25.0> -#define TB_TILT_X <0.15> -#define TB_BANK_Z <0.15> // Do not define this if you dont want banking -#include "../tilt_bank_mobileunit.h" +#include "unit_hitbyweaponid_and_smoke.h" Create() { hide flare; hide flare; restore_delay = 3000; - call-script TB_Init(); } -StartMoving(reversing) +SetMaxReloadTime(Func_Var_1) { - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; - START_TILTBANK; -} - -StopMoving() -{ - signal SIGNAL_MOVE; - STOP_TILTBANK; -} - - -SetMaxReloadTime(reloadMS) -{ - restore_delay = reloadMS * 2; + restore_delay = Func_Var_1 * 2; } static-var Stunned; @@ -57,7 +37,7 @@ ExecuteRestoreAfterDelay() if (Stunned) { return (1); } - turn turret to y-axis <0.0> speed <90.0>; + turn turret to y-axis <0.000000> speed <90.000000>; } SetStunned(State) { @@ -72,10 +52,10 @@ RestoreAfterDelay() start-script ExecuteRestoreAfterDelay(); } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; turn turret to y-axis heading speed <192.500000>; turn barrel to x-axis -1*pitch speed <192.500000>; @@ -86,22 +66,25 @@ AimWeapon1(heading, pitch) return (1); } -FireWeapon1() +FirePrimary() { emit-sfx 1024 + 0 from flare; } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = turret; + piecenum = turret; } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = flare; + piecenum = flare; } - +SweetSpot(piecenum) +{ + piecenum = turret; +} Killed(severity, corpsetype) { @@ -111,6 +94,7 @@ Killed(severity, corpsetype) explode base type BITMAPONLY | NOHEATCLOUD; explode turret type BITMAPONLY | NOHEATCLOUD; explode barrel type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } if( severity <= 50 ) @@ -119,6 +103,7 @@ Killed(severity, corpsetype) explode base type BITMAPONLY | NOHEATCLOUD; explode turret type FIRE | SMOKE | FALL | NOHEATCLOUD; explode barrel type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) @@ -127,11 +112,13 @@ Killed(severity, corpsetype) explode base type FIRE | SMOKE | FALL | NOHEATCLOUD; explode turret type SMOKE | FALL | NOHEATCLOUD; explode barrel type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare type SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; explode base type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode turret type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode barrel type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode flare type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/corgator.cob b/scripts/Units/corgator.cob index c6868a8eddf75a9f8d7a417aedbebeed01b1d79d..108f95669e426a3eeb316b00cfbea93b65eb97ce 100644 GIT binary patch literal 2451 zcmb_eziSjx5T3hSE{Y(}&U6b3HWChtD>aERC=!S{B^DO9=3Zd&e#E^!%!%SvVxg6V z2o@>*14OLFRuC)E!d5G-1VPa6d;4Z@xtvELZupql`Sre;H@BoDB8PzzP%es0LGoET zAaVzI0i4A98%PO?CXb@QAIt^FhL?Po%9N4$DO0Qz4eK$El5wuSnKn`{o1@+aA+lPA zcNoWdQc2^ELDe&~Cf}=bY3&01n#;2_mK-Dy!&1tVIrKYQPC8z@a)j%C4Gxj{ET963!SatYEdm!(wdCt zyUv+vR^Q*p-JFecW=#IPQ#4>kQc3HRYsSNXqn_dGJ@)ITD2e~AY_u zkv7ezfWq|)vyaPT0Ux06b z92A)ajssO-0ayX90TIvzZUgs#`@lose3UHq*KN4fX-louxnZxgqa<&=(2%pS4HGLh zo2-P}Yqr@58<(S&m2=y6qnFq<+f6#LUD!-)ykwhUpOLks*KXT}>~=0ht<^Ycg>he& wqu8nr^K#tDT$g$_?yIkM%c9~|Cy|R$vx%zL!>*O27sob{&1M)|Sn$%6KffHs8~^|S literal 3201 zcmai0O=whC6h4`Z6R<9x?WP5Vp_^_*o#Dd>?5=xt*)|)&U9%AE_nmvrT7J(r#oaO=OL1KaJbXOqN>NKCqN^DLd23$P<@(@*VQ| z9<}`tY!k8xtkh8@XSQ{eQP<4lDp@O=R3niFbmY0xhO4Sz!##EM_dL>^X^S#d|Ab)o{P)qPZ{Tr{bMe5 zJnpIE9cY5#zR5l2o;@K;e6G}W$k@z0H5o-d>nVQfrI~oCED2nmxsS*H4p2&8&lY(QiJH`D{}}o1J>; z=i{r_#NPg7y*+4{)cO3dQtc1shy7p~X?)6jo~Wa}&Q&|!L*>nvd9wC2U$MT=!a3FH zT-W@FrJctrhQE0Yj+kra^!z1qgAe(wYuh$y4tlQ8`^ubsHnWewTTJS`7UrdPOYy9) zV#62@@kpmR|Bd0+v$Qvd(C+K!;`vjqc^T%9HB825j5?-HBfl+=-zPL7hWc86^y3F_q0cC7bROHVGu!lyt?TLcCOvCT&+!8~w_`sq!ZF3y zykUKtHrdqp|HAjKzh!#XMr^Mojic|i#rf9ac%F{qxP)UKj_Z2gzb(!(oh{BSi=*~= z%qzw9INy^&eY?e>ZyoCw^K~rWJJwCp*K?+rpBMK)4?t6JcpvmL=vUAmpvRzpK>vZJ zPzwj*W6)=y8PFFXeh1$K-2wdu;`?+T^e5;q&=b(Vpe@jTd=MW19R__0IssY)6`+ft z0jL690iEhq)0e*t#p-A{+f8>eKU!WnH|$k1Qw)j=p}Q~`tpr(|{%V%O#a_RfE`}>| zybMJZWT7g`YHsvRZ+HRxXw}(J%@ynOp+73Ri@iaR6YF7ltqSwuQZ*_==X@2)nb0pT z%R;CYs9+8v1GB^+M$#OJSom~s1)pA5m_xgQceO+7%QmvI`sN{UV KC<7$e^yPndYzNH% diff --git a/scripts/Units/corgol.bos b/scripts/Units/corgol.bos index 601c8f2724d..cbb83dd525e 100644 --- a/scripts/Units/corgol.bos +++ b/scripts/Units/corgol.bos @@ -1,62 +1,82 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, flare, turret, sleeve, barrel, smoke1, smoke2; -static-var restore_delay; +static-var bMoving, moveSpeed, currentSpeed, animSpeed, restore_delay; // Signal definitions -#define SIGNAL_AIM1 256 -#define SIGNAL_MOVE 1 +#define SIG_AIM 2 +#define SIG_MOVE 4 + +Smoke() +{ + while( TRUE ) + { + currentSpeed = (get CURRENT_SPEED)*20/moveSpeed; + if (currentSpeed<4) currentSpeed=4; + animSpeed = 1800 / currentSpeed; + if ( bMoving ) + { + emit-sfx 1024 + 1 from smoke1; + emit-sfx 1024 + 1 from smoke2; + } + sleep animSpeed; + } +} -#define VD_PIECE1 smoke1 -#define VD_PIECE2 smoke2 -#define VD_AMPHIBIOUS -#define VD_DIRTCEG 1024 + 1 -#include "../vehicle_dirt_cegs.h" +RockUnit(anglex, anglez) +{ + turn base to x-axis anglex speed <50.005495>; + turn base to z-axis <0> - anglez speed <50.005495>; + wait-for-turn base around z-axis; + wait-for-turn base around x-axis; + turn base to z-axis <0.000000> speed <20.000000>; + turn base to x-axis <0.000000> speed <20.000000>; +} #define BASEPIECE base -#define HITSPEED <35.0> +#define HITSPEED <45.0> //how 'heavy' the unit is, on a scale of 1-10 #define UNITSIZE 10 #define MAXTILT 100 -#define RECOIL_POWER 100000 -#include "../unit_hitbyweaponid_and_smoke.h" -#define TB_BASE base -#define TB_TURNRATE <9.0> -#define TB_TILT_X <0.20> -#define TB_BANK_Z <0.15> // Do not define this if you dont want banking -#include "../tilt_bank_mobileunit.h" +#include "unit_hitbyweaponid_and_smoke.h" + Create() { hide flare; hide smoke1; hide smoke2; + bMoving = FALSE; + moveSpeed = get (MAX_SPEED); + animSpeed = 100; hide flare; restore_delay = 3000; - call-script TB_Init(); } -StartMoving(reversing) +StartMoving() { - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; - start-script Vehicle_Dirt_Ceg(); - START_TILTBANK; + signal SIG_MOVE; + set-signal-mask SIG_MOVE; + bMoving = TRUE; + start-script Smoke(); } + StopMoving() { - signal SIGNAL_MOVE; - STOP_TILTBANK; + signal SIG_MOVE; + bMoving = FALSE; } -SetMaxReloadTime(reloadMS) +SetMaxReloadTime(Func_Var_1) { - restore_delay = reloadMS * 2; + restore_delay = Func_Var_1 * 2; } static-var Stunned; @@ -65,8 +85,8 @@ ExecuteRestoreAfterDelay() if (Stunned) { return (1); } - turn turret to y-axis <0.0> speed <35.005495>; - turn sleeve to x-axis <0.0> speed <15.0>; + turn turret to y-axis <0.000000> speed <35.005495>; + turn sleeve to x-axis <0.000000> speed <15.000000>; } SetStunned(State) { @@ -81,38 +101,41 @@ RestoreAfterDelay() start-script ExecuteRestoreAfterDelay(); } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; - turn turret to y-axis heading speed <40.0>; - turn sleeve to x-axis <0.0> - pitch speed <30.0>; + signal SIG_AIM; + set-signal-mask SIG_AIM; + turn turret to y-axis heading speed <40.000000>; + turn sleeve to x-axis <0.000000> - pitch speed <30.000000>; wait-for-turn turret around y-axis; wait-for-turn sleeve around x-axis; start-script RestoreAfterDelay(); return (1); } -FireWeapon1() +FirePrimary() { emit-sfx 1024 + 0 from flare; - move barrel to z-axis [-2.400000] speed [500.0]; + move barrel to z-axis [-2.400000] speed [500.000000]; emit-sfx 1024 + 0 from flare; wait-for-move barrel along z-axis; - move barrel to z-axis [0.0] speed [3.0]; + move barrel to z-axis [0.000000] speed [3.000000]; } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = turret; + piecenum = turret; } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = flare; + piecenum = flare; } - +SweetSpot(piecenum) +{ + piecenum = base; +} Killed(severity, corpsetype) { @@ -123,6 +146,7 @@ Killed(severity, corpsetype) explode turret type BITMAPONLY | NOHEATCLOUD; explode sleeve type BITMAPONLY | NOHEATCLOUD; explode barrel type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } if( severity <= 50 ) @@ -132,6 +156,7 @@ Killed(severity, corpsetype) explode turret type FIRE | SMOKE | FALL | NOHEATCLOUD; explode sleeve type FIRE | SMOKE | FALL | NOHEATCLOUD; explode barrel type FALL | NOHEATCLOUD; + //explode flare type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) @@ -141,6 +166,7 @@ Killed(severity, corpsetype) explode turret type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; explode sleeve type SMOKE | FALL | NOHEATCLOUD; explode barrel type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare type SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; @@ -148,5 +174,6 @@ Killed(severity, corpsetype) explode turret type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode sleeve type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode barrel type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/corgol.cob b/scripts/Units/corgol.cob index 8b02875b698fa266e191d8f98c5816380e07d9b6..c2641eafc6df4c2ddefffe98b0abda5321e0e93f 100644 GIT binary patch literal 3354 zcmb`J&ud&&6vxjb>7;6v=Z}ht+L10*7z+hALVsvcOQ2?=U7FYAR)$V8!^=zCxC(9r zMGyo*S1v`|3EG|iK|ye5cj~SSm7;>!`u*H@&*bHqgozmV=A3(epL5TB$&8sjAj}Ha zrz$GemhUn9Qn)2NqjPr1td&h=EtHGx?3f7WCpdRzGWdt!yVKc>+no^Koyru}kU_DV z!7e+H5$Ca*%x$qbsDj+bQk-eoBEucuXGO4W5%3p9Y@FLVV~?M8TbZ3`M_+sp**Tp% z;ssa;H+J+-tT=}>_bW+;3-RlA#ItU7Kktae7n#T8eEUc>E9T(7_i>{p+bJLKE#7UnichWMI^v5$Q^)~d| z*#F-}@SAGLze#e;cG@?5?nkG2Fr!)dBa6GD8S>7y_gd}G;bccTpND1bY8NH*`-fuV zGscGf_TBY7wx~^z97;YY@0?mVk^{>5ER5epWW*wkx`KFY(p_TKTQ_xLT{p(bWc&)h>_MPMIilIs2Oky;HMtG*L5 z$LF`gLqLVeoNlYblvfX{Po!xh3mZ_tLAj81^x7s zzwhW3#lB)p$?CS&X>Hfp^wyl4eq`31{O=C&{LNQ6x9h28FTK>e>YID@D8`-Y4xdzF z@1OYIb4Mn~H$`nx-{EX_{H8h*HFZ9Zopj6`djdcYiV_n(?nvS{lbl@0$9JkZ`7YuU zzk{j%g;c-KZ<6}=Q-}ApA0O|R9;kQHzLw}e_4Q%ui&&H1i`P2IeCxJ*-Gley_HhZ) zeNB?5d5`4!FFoxyuh;8zzyAMs-(2l+;Z5Od;VWxN5j(2_6Gw+y^ya3yEw>;VC8yIgwoaqAzThp O=rpi3dVj7W$Lt@?YXbxT literal 3803 zcma);PiS0K6vppN(rHmFPqd&_VY+hD#Uz`$DKu#;h7w4Vw4w;fGr5UlCYdmKsqMxJ zRu>{}wIU_Ba3Q!67hM$Gh`WLdce+xGMG&%Z;ijbD@4kE9+)Nwez~P>I&UgOabMKpB z=iF1G!=h6|&Na01JMx5cbE0k0N$qcIb`;cE6N${QV2&tRvvKlM#mY)P?^gnR@tw2#OhS4UZQf-eI2%xJlrZ*mo-XXl98v5KdfNbYtdOWvbq*@ zX&!0LV8Nij2QZ#3vQ&r4&h}HW;1N+*iVL;In!b!UWSpnP`R$p#xgux2svMPrYr5b+ zwXvAQ!^Gk~Y}>a7XET0XEIvNaiY>h|pM$Gwm9uYHK@Y^H80@LpdOs#5G1>2zH#vke zh`pdsoQKQG`(U==EHsngU((=O?t?vhlx|OsIy;*Md~APM3%+*sv;J6bO@=+P!PyG( z=nr4?mizje81^>z^aK_DS<%rOy9c8YkH}^n411e3*ve;oZ%!w1ECv{f`!O0iVPt#@zv**2BxWMUi5`1od1H0 z`Ip~0r+xUIMLBV9JzmaEuxU2J_YfXkkPY6+jq*Db`tqJ;EEB~aHV4fo^#{1@!Z%Z! zG!}gD9pfD24?O2l`G{v={dts*_!WM-yeF0y@-TzCo1EPsmUHAk1NUcAK=2`7`GNmk zZ*JvVxr97oyssbIs|#}wb-1)UYq=1gSXIpJat>E;s{ZNd!mo;_9KZ%4@5(+Hdk=yg z$#0aoJ9wQb@(ulIvOL^C9dpO}b$|)=>t2GhnlyP;?eKkhBjfKRKjH*iz_jmQOmUq{53Dz}hdv*H9QrZhVXeW{N84RsV-+R=lo?Q0R(?{zOzMjRl zS)S1!$!uV6HEn~*4p(z!`!FZ+VSD<8&o8usr`)R7>Q@>!d`n{7x(w60_KRzNEw1e? z?)Co>cM(jC+l+Cs|F3#KiGD5a$8m3QZ^r##z0`D&Z?iSuwm-->Auo#F7d6zdJ`&v!eI@!v^sVTY=zGzRqC29WMVI_r?Zu9tpJ?}r`Llk-z0xkmufFQ@ zjqdv7Qo3_9-Nn_5>+Ql#; + rockAng = <-0.1>; + while( TRUE ) + { + while(( get ABS( rockAng ) )< <1.31> ) + { + rockSpeed = <1.45> - get ABS(rockAng); + turn base to x-axis rockAng speed rockSpeed*5; + turn base to z-axis rockAng speed rockSpeed*5; + wait-for-turn base around x-axis; + wait-for-turn base around z-axis; + rockAng = rockAng + rockDir; + } + rockDir = 0 - rockDir; + rockAng = rockAng + rockDir + rockDir; + } +} -#define WATER_ROCK_UNITSIZE 7 -#include "../floatmotion.h" #define BASEPIECE base -#define HITSPEED <25.0> +#define HITSPEED <35.0> //how 'heavy' the unit is, on a scale of 1-10 -#define UNITSIZE 5 -#define MAXTILT 200 -#define RECOIL_POWER 20000 -#include "../unit_hitbyweaponid_and_smoke.h" +#define UNITSIZE 3 +#define MAXTILT 100 + +#include "unit_hitbyweaponid_and_smoke.h" Create() @@ -28,53 +49,66 @@ Create() hide flare1; hide flare2; gun_1 = flare1; - SLEEP_UNTIL_UNITFINISHED; - start-script FloatMotion(); + while( get BUILD_PERCENT_LEFT ) + { + sleep 400; + } + start-script RockOnWaves(); } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; - turn turret to y-axis heading speed <220.0>; - turn sleeves to x-axis <0.0> - pitch speed <220.0>; + signal SIG_AIM; + set-signal-mask SIG_AIM; + turn turret to y-axis heading speed <220.000000>; + turn sleeves to x-axis <0.000000> - pitch speed <220.000000>; wait-for-turn turret around y-axis; wait-for-turn sleeves around x-axis; return (1); } -FireWeapon1() +FirePrimary() { if( gun_1 == 0 ) { - move barrel1 to z-axis [-1.800000] speed [500.0]; + move barrel1 to z-axis [-1.800000] speed [500.000000]; emit-sfx 1024 + 0 from flare1; sleep 100; wait-for-move barrel1 along z-axis; - move barrel1 to z-axis [0.0] speed [3.0]; + move barrel1 to z-axis [0.000000] speed [3.000000]; } if( gun_1 == 1 ) { - move barrel2 to z-axis [-1.800000] speed [500.0]; + move barrel2 to z-axis [-1.800000] speed [500.000000]; emit-sfx 1024 + 0 from flare2; sleep 100; wait-for-move barrel2 along z-axis; - move barrel2 to z-axis [0.0] speed [3.0]; + move barrel2 to z-axis [0.000000] speed [3.000000]; } gun_1 = !gun_1; } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = flare1 + gun_1; + if( gun_1 == 0 ) + { + piecenum = flare1; + } + if( gun_1 == 1 ) + { + piecenum = flare2; + } } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = sleeves; + piecenum = sleeves; } - +SweetSpot(piecenum) +{ + piecenum = base; +} Killed(severity, corpsetype) { diff --git a/scripts/Units/corgplat.cob b/scripts/Units/corgplat.cob index 8fb5300489cf34a3706d50db700fdedbbda53a8b..51373fdcefc4908506d30165d85d2d55fe337f55 100644 GIT binary patch literal 3577 zcmbtXJ!n%=6h2AQA5ihR>7s8|hu0Rwu~sOGg0)5J*w{R2XquGQR4F(FL>vTh76&KY z935QjBI+V8Lg}X9;35icg7N$Az31iTnWT9bIh=dX?{~g?Ucr)x9Ds~NPK}5Zq50cA zC{j8k5TAVxUq8ioy4GyIqW6!_U7L+?`sM$AZ}1??D%lr+&Jb=WB^dfvH7f zFd8s_!NpA=k-lN;NH`J@A7^4;YUYnZO9UVO8H}MAAI-zW8IFjO3H-UU_F+xdu|A8z z^qCn84#P+c^rbNlr`rC>?^BEKrnO{#EPWe&BY&2Pi^UV0*=5G!;+=8StY!R;_m;Ck z3G4fDtS6Cup9eTHmp1aPwZ0s+wRIj-8@y{QF^J<{--bCllk%f|`DWd@oqWRa-$Bnb zGw1ABr*5`qFQ4X7E4Qq}S-6u09C$DB9+u3W@u-;To29{Vw1*>YWn(LtIe08Z-QR=q zOkY~xy~kJ2MxGht_nV>t97$yB6Kjei07m>{h<;bUou9MF5BCjVN88R`%-DCF9V+ES zca568j?f1_$Pvk+&Fl*HhX@oC!(`s>&v6$=pYkCA_RR#@8M!;e&zQ~}cn92d-?Wb` zi=7ji{_LHYXl5_!EbbX3(e{YR;8MWJ8J>ZO@%(8G-3^`JVBP>O!lExI?ku zh^s@N*3%jJw@VO*wY5J~G;{KXv)Y+QXv9H&dDL3U?|lSV+phxk^z@%L7&5y{jK;@B z#tvw{;gYk5h3+`8o!0ki_`NM2`?k;e^yc5-Y;WeVw%@xeF4J3m+FPEE2L79J7JVO$ zNwK@#dzIn?p2+Qm$D=>X8y8EP#&+u2zrVcmZ3g){cRxS(NcWqyjv-b;%jF3q(x&~X zc@Ld#LCZ4sCKxxn*UzWlONemBw4gPQ*lFV;P)|4?&s-74Wpnrrw1rN$ptas0jI7r$ zk0sJ?0lV#UV*buKPPQB;%ITnfjA6e#v;7YrdHN{sJUPl=o}59vuF&ateeZbXu5ecs zUx<75{gu~VKHarE7?pGG9((P#cl*UDcEvf&PAj+j)ds|_Jtf{eoGB*qqu*A)d6mmv zIm67Py!OiP*HgdkJULmu{n>`Wsodx3nSBS|S0S$*}JnS-oCUO?VKK0_FZ^K0rP}_8^}j-ylCB3yqbvEA^%Ft$0%|RGYKgOL2Ll zQJ2N_##(%>UTyl;ixoMa#N}oz=c?=TNp-!PY|C6ViS>MSD^9lcf|$9ak;X0Fj^pOy rMx!a0sHw+B{#~Ou{5`mByQpiRhx8rN;Ye8On`p@7fSWg literal 3599 zcmbuCKZx8#6vyB0?d^dY84EQw`qMhX-UY$(PQz)CNK_pu1#OL>|rc@^I(3!0x~>NmXl zbK)8$&cSw1D^d{jWtjKl#qrYRYd=E<> z<-`{k<-OB)?vI^jbH%sB(48T_Vm4RagwmEUO&jsDEp6hP;x()H8?FSe=Cr70;{Aa^ zez)io^WeVGKl!q9Cb6G%=D3~|ykwS2Yx z{Pz1@|0~Peg}ltY1|It0bKq_GF54rHZ^M=)%)S!B8oX+vM%3`-+rec)b_VC1qsyW3 zJB>Y`Vw7)Dl;LwRy*I}GgS3C=>b&n(`KcmCj)P9|X0xx-J>s`3etzQQ<5k7qLge@n z2OM-*GFCgA-i&j(9`$J&ec&C6=Yq0gZU*Wzzzu%DhT5yvVLN}(qCNT|MwvU| zNx3iIC3pO7^AKfj^`p#v$gYuFI_0*#O|CC2KKh1jePrPt`mi59Z zJ>s%|{{_pJIhL?|m3d*2URcBni|mC(`X(0mznz|R$FH5fb^6EY5g+2SPVYN?;`D_R z|KAxoz323i)8|fCovt~36!6#INq@r zhtucYJy-WHj(1KEO3q##pTF?>&Twj{`rG}t>%nW=;|sMtKdJlE+BSyU$!XO#hm%_S zS1#3)9Bmbw&B=IX_tJ1Qst5Mgs6VM!)3Ro7_IGQWUYbnmsqcLmt>$&jc1Lx6x!$#Z E0r?a8R{#J2 diff --git a/scripts/Units/corhal.bos b/scripts/Units/corhal.bos index cbe6cc08bcf..0b35fb6e178 100644 --- a/scripts/Units/corhal.bos +++ b/scripts/Units/corhal.bos @@ -1,25 +1,77 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" -piece ground, base, turret, barrel, flare, wake, fan1, fan2,sleeve; -static-var restore_delay; +piece base, turret, barrel, flare, wake, fan1, fan2,sleeve; +static-var Static_Var_1, restore_delay, Wobble_status; // Signal definitions -#define SIGNAL_MOVE 1 -#define SIGNAL_AIM1 256 -#define SIGNAL_IDLE 8 - - -#define HOVER_BASE base -#define HOVER_BANKSPEED <7> -#define HOVER_ROCKBASE ground -#define HOVER_WOBBLE_PERIOD 70 -#define HOVER_WOBBLE_AMPLITUDE [0.7] -#define HOVER_WAKEPIECE wake -#define HOVER_WAKE_SFX_1 1024 + 0 -#define HOVER_WAKE_SFX_2 1024 + 1 -#define HOVER_IDLE_SFX 1024 + 2 -#include "../bar_hovercraft_common.h" +#define SIG_MOVE 2 +#define SIG_AIM 4 +#define SIG_IDLE 8 + +WobbleUnit() +{ + while( TRUE ) + { + if( Wobble_status) + { + if( get GROUND_WATER_HEIGHT(get UNIT_XZ) < 0 ) //Over Water + { + move base to y-axis [0.500000] speed [0.50000]; + } + else + { + move base to y-axis [1.500000] speed [0.50000]; + } + } + else + { + if( get GROUND_WATER_HEIGHT(get UNIT_XZ) < 0 ) //Over Water + { + move base to y-axis [-0.500000] speed [0.50000]; + } + else + { + move base to y-axis [0.500000] speed [0.50000]; + } + } + Wobble_status = !Wobble_status; + sleep 260; + } +} + +BankControl() +{ + var lastHeading, currHeading, diffHeading; + lastHeading = GET HEADING; + while (TRUE) + { + currHeading = GET HEADING; + diffHeading = currHeading - lastHeading; + // Set values for tilt + + //Remove Extreme values + if ( diffHeading > 1500 ) diffHeading = 1500; + if ( diffHeading < -1500 ) diffHeading = -1500; + //get PRINT(diffHeading); + turn base to z-axis 1.0 * diffHeading speed <23>; + + lastHeading = currHeading; + sleep 67; + } +} + +RockUnit(anglex, anglez) +{ + turn base to x-axis anglex speed <50.000000>; + turn base to z-axis <0> - anglez speed <50.000000>; + wait-for-turn base around z-axis; + wait-for-turn base around x-axis; + turn base to z-axis <0.000000> speed <20.000000>; + turn base to x-axis <0.000000> speed <20.000000>; +} #define BASEPIECE base #define HITSPEED <35.0> @@ -27,7 +79,44 @@ static-var restore_delay; #define UNITSIZE 7 #define MAXTILT 200 -#include "../unit_hitbyweaponid_and_smoke.h" +#include "unit_hitbyweaponid_and_smoke.h" + +HoverIdle() +{ + signal SIG_IDLE; + set-signal-mask SIG_IDLE; + while( TRUE ) + { + emit-sfx 1024 + 2 from wake; + sleep 1000; + } +} + +StartMoving() +{ + signal SIG_MOVE; + set-signal-mask SIG_MOVE; + signal SIG_IDLE; + var waketime; + var bowtime; + while( TRUE ) + { + emit-sfx 1024 + 0 from wake; + if (bowtime) emit-sfx 1024 + 1 from wake; + bowtime = !bowtime; + waketime = (get CURRENT_SPEED) * 100 / get MAX_SPEED; + if( waketime < 30 ) waketime = 30; + sleep 15000 / waketime; + } +} + +StopMoving() +{ + signal SIG_MOVE; + signal SIG_IDLE; + start-script HoverIdle(); + return (0); +} Create() { @@ -38,13 +127,17 @@ Create() spin fan2 around y-axis speed <300>; restore_delay = 3000; - SLEEP_UNTIL_UNITFINISHED; - start-script HoverCraftMotion(); + while( get BUILD_PERCENT_LEFT ) + { + sleep 400; + } + start-script BankControl(); + start-script WobbleUnit(); } -SetMaxReloadTime(reloadMS) +SetMaxReloadTime(Func_Var_1) { - restore_delay = reloadMS * 2; + restore_delay = Func_Var_1 * 2; } static-var Stunned; @@ -53,8 +146,8 @@ ExecuteRestoreAfterDelay() if (Stunned) { return (1); } - turn turret to y-axis <0.0> speed <90.0>; - turn turret to x-axis <0.0> speed <45.0>; + turn turret to y-axis <0.000000> speed <90.000000>; + turn turret to x-axis <0.000000> speed <45.000000>; } SetStunned(State) { @@ -69,34 +162,37 @@ RestoreAfterDelay() start-script ExecuteRestoreAfterDelay(); } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; - turn turret to y-axis heading speed <150.0>; - turn turret to x-axis <0.0> - pitch speed <75.0>; + signal SIG_AIM; + set-signal-mask SIG_AIM; + turn turret to y-axis heading speed <150.000000>; + turn turret to x-axis <0.000000> - pitch speed <75.000000>; wait-for-turn turret around y-axis; wait-for-turn turret around x-axis; start-script RestoreAfterDelay(); return (1); } -FireWeapon1() +FirePrimary() { emit-sfx 1024 + 0 from flare; } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = turret; + piecenum = turret; } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = flare; + piecenum = flare; } - +SweetSpot(piecenum) +{ + piecenum = base; +} @@ -107,8 +203,12 @@ Killed(severity, corpsetype) corpsetype = 1 ; explode base type BITMAPONLY | NOHEATCLOUD; explode turret type BITMAPONLY | NOHEATCLOUD; + //explode sleeve type BITMAPONLY | NOHEATCLOUD; explode barrel type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare type BITMAPONLY | NOHEATCLOUD; + //explode fan1 type BITMAPONLY | NOHEATCLOUD; explode fan2 type BITMAPONLY | NOHEATCLOUD; + //explode wake type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } if( severity <= 50 ) @@ -118,7 +218,10 @@ Killed(severity, corpsetype) explode turret type FALL | NOHEATCLOUD; explode sleeve type FIRE | SMOKE | FALL | NOHEATCLOUD; explode barrel type FALL | NOHEATCLOUD; + //explode flare type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode fan1 type FALL | NOHEATCLOUD; explode fan2 type FALL | NOHEATCLOUD; + //explode wake type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) @@ -128,7 +231,10 @@ Killed(severity, corpsetype) explode turret type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode sleeve type SMOKE | FALL | NOHEATCLOUD; explode barrel type SMOKE | FALL | NOHEATCLOUD; + //explode flare type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode fan1 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode fan2 type SMOKE | FALL | NOHEATCLOUD; + //explode wake type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; @@ -136,7 +242,9 @@ Killed(severity, corpsetype) explode turret type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode sleeve type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode barrel type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode flare type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode fan1 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode fan2 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode wake type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/corhal.cob b/scripts/Units/corhal.cob index d13f9e4d976665c2c2e39f62b51468b09af7c555..18f88a6ed2b91c68124e2105361a6521141f1fb3 100644 GIT binary patch literal 4342 zcmb_fO=w(I6uy&8Qbp9KcA<;bL95`;Vp=E^5p5G&5^5wS+EQJZm*hsrOypx^f8Ra# zO;UHxZHL?f`D)O)A*}o)cRDu%`3&+np1;LfO9qk}jWff^5iE5)59sq_SZRMw*ITJ? z)D!Bst*)-wv$Sv>bNrYk38&V;Qq}>$6QtHuD{rSz@Ahrb%tfUmynIC)xa38If#D38Cp!S zBL~gIj|wjEk*bcWm=EIKc`(#3HjT->*|_qVJu(OTj&nOqquBXN_uSHN-yLD)bL`X4 zMwsP`>$J0rd7fA7Had}y{oy=t-K18ojK$SB{z-LIF+SrN?mTsRZWpnoFLgW%!~Ak@ zj|cN*Zem#vYpC`~AM1%eg!T9B`4eY+%9&TVwYYWSkk@kb%ij-2_tIDI3ZH8<;QisT z;j{QhcgA|5ZG>3m?kUBmqN|m4@vh2QG{Av!Pe>VC@4S7 zhD6>D;$vt2ipHxEcsbk|z9Z&TKTy#>q3{Y&L4fT0-G1Y++?`l zZz+!HN-h%M1=O1f_DYQP?0{iBi)ndS2ftt3^006$`)=6NpS7LQoDNBd4|4?WzytGA z_Xh)mOLFqQ;pvZFN*~Q3{+h#b+ubDA^8RUYG%v%sq?gxvWR2%5Sc$P27Vmq`1MSSU zgE95HP&mO%P=8qU_CDaFaY_45DsR@C%&JZG2(f+ zkKjh&{z7!-^p_riZUDl%x>(%|YEQPwtWnp1s%kSof@qWb1V8S>e1&}%c8kYj?-!5v zq&y4o5Z5o?BU=C6Acip*>qhHmJ@n~fwOY1PKmUHQ{;Kh;x6N{0tG7AUq`keYz1i7s zrACG`ez?jZ>bcy=8CgzZtygkZ?bo=t9?p2V9`TNbf@pCgi zhP5^BvtJ(h?$P_OmGiFhPOgqYK7yQs?7~321~~=!6mkjjH{@Xyxf?PLIR=@9oP@jw z`4I96ry*w{UqHTwoP&G= z`3~{}!sX%%iH?JSOFog&ZLZYrBw6y;c}7+F8+)8(w=rkAqC z0FAWc^KL9#^ZEFE+q>x^&5Ma_t<`xI`)paaqq$EDSbZ^(o|y9OES-O$wdCEw6Mk;B z@Kb)J$Z~&Rq44=LzMZZUIbE!FI)2`5G#+RzP3EnoG+%dzTDiA9)Q9q{G(ErS^L4XL yANPp3oE7eHtKCM_*>uIbVl~fwfjySCTWF`bcgNF3?-tU|ZvNWiR@&aLdG{~1woKsw literal 4439 zcma)qGd&dcgqP4=*+ zV>MrNO1nj8@u$&cAx1-N>bDzRj5Y50U`H(`hb6}yTJa^Wn{Q-eVyYO?)nr30thUF+ zO^jx4ewV0`b%yB4W4^4!UjlS9_#I1R+u3gDXW*lJS@2tkejop{u~GHoEG*Z*b)AiJ zvUd|M;1}DkMYgEO@i5Fp-Jion_~xkRJ>LDJ{>&84$Fn}LCssJGK|kJ)@~S?a6T?O< z!v;${?w$=<2he2G!SF3#7MuC5to;x-A1%}V`yFp7RpeIq{RF@1HO z%$GIHUFg>%NgR)t-szVaB#(0&8{{#6@;Lp{2kWcH)(mmYmpQv%2JAP@Zp4WU9lZ;A z#KbvkRQ&vW2v^^3Hq2FBc3wu1tD3eL)AIQ_n&q4unc0pcwr>AcjQ4?On_SdFu3F;H z{)FsZb0i~H6JN;?x!Fc$_l3!*S79_iVJ6_w&EFY%fy&PG8cN~dd4R44bSUO z>hELgtdOPt^r4@d^NaqzKe8qkJbusV;QP6@iM0uf>abYENd0$&CGk(OSgd#T(Cico zxqS@vY`Y#=texN*7AwVQ{d!LiP4$d6`6o46UFJg!JC|WTX-@M$F5#{EQau;*xmo?@ zW3`blo#S+#??tEkmuKr21qJ_Nw1?+0vHN)nK0e!5WlO)fYp_G*;`59SnHK+!_V-by zXV)8rnvq%0`aO^ha*Js=3@@wyl@0MPQK06e)|52HvzkNBaKE4&U~FuP;d8{A9*TCz zEGB-xKCl@pIqdoN{>-YLMe4Qu_*hP>&#-Ux9rzQPI`KU(mi29|_!8e@R#)CHsjW&R_<2ppV3`l*sDF;PKRsXKHkOb=>;?U zT|Bcod(AQD1`B3ZY^lZO_QPn8i0=ZhrSVfgA2SOx^jVU}au|+&4u8wr{T}?jj(#Hm z*1OH));s26l-Ck@ntLw*)mM8bttGhqvpgT(lTNG08CR=?b>=cLT=Od(Rs6A)DAYZ~#_lMe7jUNo zcHi8!z<=@jU@oh5%soB8Oy3CMzx89iY&AXo+KmtLhX2lkC%^ZNy>k?+xnrsJggxhy z&a<}t^Fxo{FumQ!xL`X5GZFgvmimbdEcmmsU)Sog-COqHK>tb9+jF@d_nb?=FRCq_ zE&r^nEv7qnFkjA37K=xhyQd0w zpe*uU;f@x)!}-~{qTS6GUui8D?!~jk!fLOWD^_~lvY1-x73IOAou9+ speed <16.0>; - turn turret1 to x-axis <0> speed <16.0>; + turn turret2 to x-axis <0> speed <16.00000>; } SetStunned(State) @@ -42,59 +43,73 @@ RestoreAfterDelay() start-script ExecuteRestoreAfterDelay(); } -#define BASEPIECE base -#include "../unit_hitbyweaponid_and_smoke.h" +#define SMOKEPIECE base +#include "smokeunit_thread_nohit.h" -SetMaxReloadTime(reloadMS) +SetMaxReloadTime(Func_Var_1) { - restore_delay = reloadMS * 2; + restore_delay = Func_Var_1 * 2; } -QueryWeapon2(pieceIndex) + +SweetSpot(piecenum) +{ + piecenum = base; +} + +QuerySecondary(piecenum) { - pieceIndex = flare1; + piecenum = flare1; } -AimFromWeapon2(pieceIndex) +AimFromSecondary(piecenum) { - pieceIndex = turret1; + piecenum = turret1; } -AimWeapon2(heading, pitch) +AimSecondary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; - turn turret1 to y-axis heading speed <400.0>; - turn turret1 to x-axis <0.0> - pitch speed <400.0>; + signal SIG_AIM; + set-signal-mask SIG_AIM; + turn turret1 to y-axis heading speed <400.000000>; + turn turret1 to x-axis <0.000000> - pitch speed <400.000000>; wait-for-turn turret1 around y-axis; + return (1); } -FireWeapon2() +FireSecondary() { + show flare1; + sleep 140; + hide flare1; } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = flare2; + piecenum = flare2; } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = turret2; + piecenum = turret2; } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM2; - set-signal-mask SIGNAL_AIM2; - turn turret2 to y-axis heading speed <300.0>; - turn turret2 to x-axis <0.0> - pitch speed <300.0>; + signal SIG_AIM_2; + set-signal-mask SIG_AIM_2; + turn turret2 to y-axis heading speed <300.000000>; + turn turret2 to x-axis <0.000000> - pitch speed <300.000000>; wait-for-turn turret2 around y-axis; start-script RestoreAfterDelay(); + return (1); } -FireWeapon1() +FirePrimary() { + show flare2; + sleep 150; + hide flare2; } Killed(severity, corpsetype) diff --git a/scripts/Units/corhllt.cob b/scripts/Units/corhllt.cob index 5be422656fab3dd77e785f2324927e108a46d85c..8a93e6fe66c1cc91e445bcc2e584b4ec06ee87f4 100644 GIT binary patch literal 2895 zcmbtWO=}ZT6un8))GERV-3ThPD@cX33&EZJuoQ|=8^w)Crp>DalT4XTuvrKxf*Zx9 zx)9vBkS@D)r@uf1*WykPL2#!Cp7ZA2bUI9H(-sczzI*SvpKnS^B60>O19yueLpb^O zW>n-GFmV#VeGaG8#2cm&r}e|hYr!jeA4fz=m16%+y)2cz5^M#^wX!#cgTD3-8|B)m zL`N6##Vc7MrGuaNMR+E$nS=av+>4frcsX3=czFVbO2HE^--q$($2o{!@>uIEMCzzw zPK>61XJ540eDHnbY_@jri|{8;Yo_lE6_sHd`wm3v0;?<7SQIr6>tT*G-^TV5{yoR1 zE-%*cci|Jr7;H0vr07>{PCny)CCNX7uUV=q%E+d**mJMBl*P z`6YQ@IX{N)_l_O??+vgQ#$%7%Hg-keejRGbieF@y5}^y zepN?Rx?Zh^{%2|P-8X}P8kh6XI(@iM-@_?2?7$o8zb7B6tW9}zqK*Gr$fIoga&ph< z8PDz!b|1QIJoZdop3Tl?ADi7PY&xfO-}d`=eQ&$ISwp&SjopJj+jpK#dl;l|?QIZ_ z<{pG|&@5KjpPR*BHw)I4p2Z-!7;e9P9p`Q6d=K-Ujx$%rKj^JyXG!1eytG!%P2c`u z>ZUv69hI;1Jt|*$dJbB@&OMLMcdN7LIho(SzUM(W*&Q(4Y2X5I3AhYA23`Z(zz*;Z z_yBwbz5~C2KfrkmZ5-h5w?&{1guoW?1b6|w1$KbDLmW4(< z)4gqi^{`FK^$3)$#Sq0w85S^rH>IcfJxDi~Wi|!PX(uE*`v8`B&psnDtd2MbbHfiMff-NYzs2i0c z2it`Z^|3DCfI2&*fS%D!`ZHzE+G*Vj)*;__(hf z&CW=Xl0*gFWM}<8$kRW@=>|EZl!ukstk2wG%?gPn)Y5>UmaqRBeM&hONi>+l{2^GI z^O8~_Vo&qf@~qA?pHq8)pXXJcmq(Smj4idXk6sTwAJ0^OIpa_h?}dNtku&E?4p*L& z!#klb)DdbX*J|!D_~J;EFK1_=PwzC!^gQ(WuxMW)PkZ$}J@GuASx)LWcYMEAy}R;= z&P3y(L2%zpZ`v4Rb74L8dF^r_wiizx`(^Alwp<@$We&D$Ir~>BXLn>=Q2)yfIgDq| zHv1}^tZDZ&sAp>UNrLZ(J@Y>Bi|XdG9DJAL?|^UG`)4-Dw@)M9q|Ju2;F~>*4f7Rf z=Y#XG_7wGCuKIfh|BtW3W9sA_LcZP4pzoH=Oz#psGe!3ff|)W$*c*9P z%W??y-pRgqx_{)qeW!C`dIY}(ohzuUQ-jayk;4>H%HF){rp?!Zg+AljH;8W2K_9;n z!*tTmdmHBO_Q7J-2lu{@E8lu=hkY=YX`;`x_4lD~1zh%FG5nr!=KQm`K|N8E&5pcN z3@Byq=QE1)j2hUJX?aghG}gUKv(5j;`*o&>H$U|-pV_K4uywYunTJ|KUHT@yu3sQ9 z5A%n*wiy@bGTU^RF4JMQ=`j0WI#yZ3>o|eL)WLkA4$DJo*zd6U?2riE!*o6K{(fD9 zYQObdF7%siwavDfm~FLR`gog(+5NRiI|fVw)4&B_9rz8DQS3Z011tcyffmpK9suuv z4*>rcdIfw0J^^2V@4ydW4;VcnasrqD&H(3tIp7Ac46FkQa1Xc-Yy(e$7r;#7;?&99 zrd#c#ZqeOM+li~Lr7oFu&3H?eT)LEYHa1*c4mz(i(o0)6U3{m#F<+O!lG(Tw-*WY( zR(sts$JKaq(KXv~{YInZ*gun_1 speed <400.093407>; + + if( gun_1 == 1 ) + { + turn spindle to z-axis <0.000000> speed <400.093407>; + } + else if( gun_1 == 2 ) + { + turn spindle to z-axis <120.027473> speed <400.093407>; + } + else if( gun_1 == 3 ) + { + turn spindle to z-axis <-120.027473> speed <400.093407>; + } + //wait-for-turn spindle around z-axis; + +} + */ +/*AimPrimary(heading, pitch) +{ + signal SIG_AIM; + set-signal-mask SIG_AIM; + turn turret to y-axis heading speed <200.043956>; + turn turret to x-axis <0.000000> - pitch speed <200.043956>; + //call-script PositionSpindle(); + wait-for-turn turret around y-axis; + wait-for-turn turret around x-axis; + return (1); +}*/ //-------------------------------CONSTANT ACCELERATION TURRET TURNING--------------------------- // MaxVelocity and acceleration are in degrees per frame (not second!) // Jerk is the minimum velocity of the turret // A high precision requirement can result in overshoots if desired // (c) CC BY NC ND Beherith mysterme@gmail.com -#define CATT1_PIECE_X turret -#define CATT1_PIECE_Y turret - -#define CATT1_MAX_VELOCITY <9.0> -#define CATT1_ACCELERATION <0.2> -#define CATT1_JERK <1.0> -#define CATT1_PRECISION <1.2> -#define CATT1_RESTORE_SPEED <1.0> -#define CATT1_PITCH_SPEED <45> -#define CATT_DONTRESTORE - -#include "../constant_acceleration_turret_turning_1.h" +#define MAX_AIMY1_VELOCITY <9.00> +#define AIMY1_ACCELERATION <0.2> +#define AIMY1_JERK <1.0> +#define AIMY1_PRECISION <1.2> +static-var aimy1delta, timetozero, deceleratethreshold, gameFrame; AimWeapon1(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; - //We can do this any time - - call-script CATT1_Aim(heading,pitch); + signal SIG_AIM; + set-signal-mask SIG_AIM; + //We can do this any time + turn turret to x-axis <0.000000> - pitch speed <45.000000>; + + aimy1target = heading; + aimy1delta = aimy1position - aimy1target; + + while( ( get ABS(aimy1delta) > AIMY1_PRECISION ) OR (get ABS(aimy1velocity) > AIMY1_JERK)){ + if (gameFrame != get(GAME_FRAME)){ //this is to make sure we dont get double-called, as previous aimweapon thread runs before new aimweaponthread can signal-kill previous one + gameFrame = get(GAME_FRAME); + + //Clamp aimy1position and aimy1delta between <-180>;<180> + while (aimy1position > <180>) aimy1position = aimy1position - <360>; + while (aimy1position < <-180>) aimy1position = aimy1position + <360>; + while (aimy1delta > <180>) aimy1delta = aimy1delta - <360>; + while (aimy1delta < <-180>) aimy1delta = aimy1delta + <360>; + + //number of frames required to decelerate to 0 + timetozero = get ABS(aimy1velocity) / AIMY1_ACCELERATION; + + //distance from target where we should start decelerating, always 'positive' + //pos = t * v - (t*(t-1)*a/2) + deceleratethreshold = timetozero * (get ABS(aimy1velocity)) - (timetozero * (timetozero - 1) * AIMY1_ACCELERATION / 2); + + //get PRINT ( aimy1delta , deceleratethreshold, aimy1velocity, timetozero ); + + if (get ABS(aimy1delta) <= deceleratethreshold){ //we need to decelerate + if (aimy1velocity > 0) aimy1velocity = aimy1velocity - AIMY1_ACCELERATION; + else aimy1velocity = aimy1velocity + AIMY1_ACCELERATION; + } + else //we need to accelerate + { + if (aimy1delta > 0) aimy1velocity = get MIN( MAX_AIMY1_VELOCITY, aimy1velocity + AIMY1_ACCELERATION); + else aimy1velocity = get MAX((-1) * MAX_AIMY1_VELOCITY, aimy1velocity - AIMY1_ACCELERATION); + } + + //Apply jerk at very low velocities + if (get ABS(aimy1velocity) < AIMY1_JERK){ + if ((aimy1delta > AIMY1_JERK)) aimy1velocity = AIMY1_JERK; + if ((aimy1delta < (-1) * AIMY1_JERK)) aimy1velocity = (-1) * AIMY1_JERK; + } + + aimy1position = aimy1position + aimy1velocity; + turn turret to y-axis aimy1position now; + aimy1delta = aimy1target - aimy1position ; + if ((aimy1delta < <7>) AND (aimy1delta > <-7>)){ + return (1); + } + } + sleep 30; + } + aimy1velocity = 0; return (1); } -FireWeapon1() + +FirePrimary() { ++gun_1; if( gun_1 >= 3 ) @@ -70,15 +144,19 @@ FireWeapon1() //start-script PositionSpindle(); } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = flare; + piecenum = flare; } +SweetSpot(piecenum) +{ + piecenum = base; +} -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = aimpoint; + piecenum = aimpoint; } Killed(severity, corpsetype) diff --git a/scripts/Units/corhlt.cob b/scripts/Units/corhlt.cob index a4d38c1d60c0a572b4e71bcf0499eda034edb8eb..6b6e3a3dda38c3758d32198c9cba77218a36755f 100644 GIT binary patch literal 3256 zcmbVOJ#Q015FH!G1VOPWgAiOnNnsEj1tEwC2?>az@F5VgAs2BXj-AUzC^gFh2<`O>q?(p=+u+uehq?wAKhZo|o-_==0wb&E<04Nm6x;4>)yqL+u_fsky3R zR27rHlkkzoh?8dBomBspU#s|B9FiMz7&l_YIedN>a-3E_t_{LFfpux@ancC+twzto zfg}FuBARa&LthgeHze35>h8L(S4-;$bsb8`ld)qQqkh&nk6~N~5<kbrkBy^j5z( z1(yn z_WdCiz=iwqzGU0jWWG=*YZvVGJE%B*w70ow=i^Js=Hp#|ykS_MV*Cw_H(QL)HR69M z`Na65{pgEVe2XUr>t545!}R?qd}SikQP()?-Q?jtW8cd0#AlCbXFiXmV}BNbYkRP_ zglTm$1!H5)GebPaND}tw?J-g}Pd{gpvJ+F$c|tUfU}!&riiJRd3F zc{GC@8M{?G@(rw|q4yL#h(Vvn8n=l*&Y92p+?Nw|?39zX-JA!15A{ua10dF5^={qK zX5GD1o?PSIBd6Hcc!wD5bCi>u%Jw*iy+zC^x(BxA@9MkomKkRJhS_-{=a|or8gq^K zb7S??f8u`gedzYTDIQnf^uy%Ps5suwXBb+qjW6fsPdvJBttoe|#Wr8VM8N!p;5etn zuX6xg+LjJgyw5B?QkKVm+wi6{7wfkiE`Ru`RU)t@16DDzTfeF z_26&ymuq33-SCb3XXjzNa}wiPoN0d$2b`@q#%dZAGYn?AR+uUOKy&6>>f+CReYf zt!`&g&SdQ{IxbULo?gzgb}L_%>6J8JwaLu=G%aSjor2y|d8ciL3)#X#Iw!YV%c;yS bwDMGnl{`-iS?*?wa|@}ovUazVEf(?zBC_qr literal 3670 zcmb7{J&0UY6vxlZP9_$KK8qm2x=vvcFvYA2rV6`>MiUjHZb+v)$-Kzu?#?(nDXg-P zL@Y!bu@I5i*`*My6a*^~Z3GKD3n85gTA0T1|GW2|H`nL58y61uo{#_ey64_E+cL95 zq64Cn3ugCdR6wPjw<+>27i21yd{Amew<#r)Ps%eny zkhxFtIDYRxb0xlY7eY@0UO8CDLJgi981D=5fOy=0V`q5ms2A*YZCP(<1xvZ^v%Xq4 zo{`(ibYI)t20S%;?^mTHrk~Tin#tid2B{a+%z0Q5&&08;)@_8E-V@`w*LyZk2eh(J zGYn5JnAt{-gMf#GhP5nIvyO!8(XcP#!MlR15*Z`l8k;vn|B$(9;;YrF>dc8x!n@s1rmAYnR_ zzaF09O>-R1I$@Y6s>*$OEMI;0zL2f=`I73Y<6QTAO&4&Tg(A=W>~uQy+Nl4+JdEZn z$Kb~?8IUW=GmA^l}$3E{HXNPZ79UcqT&(wQ?p7~*p z@ZtB>c`%-fuioFEQR=O796s~2cY9wQSDnjFoXK}|z+inY-o~%)j;%-iHRevF}TASg+ad%#oTdSQl?c!p}Eq^QWe(2emR{nI(mia`Uzf0uCyXZM`ALs)z ze3Gx*v7TT=lhd{^%_1* zy!&>2-8W{7qO+p!Mfb^IN%XqteL4G7^o{5{(T^hjce*9|O7yMhC($pW-$ZvrE&UEH zL=TCMi5?g6+w_F!Y0(R!Q{%EXDec+8R{7E(a*A-9*j%hzj&n_rvS^?oE{G=yXOWQ8)e@v_O?sA dywQ`p$(8ZAoY?kgu+`rvtvA>l4F_8j`x~7j{1pHI diff --git a/scripts/Units/corhp.bos b/scripts/Units/corhp.bos index 4871883fc36..34626a50e79 100644 --- a/scripts/Units/corhp.bos +++ b/scripts/Units/corhp.bos @@ -1,15 +1,126 @@ +#define TA -#include "../recoil_common_includes.h" -#include "../factories_common.h" +#include "sfxtype.h" +#include "exptype.h" piece base, pad, head1, head2, head3, head4, nano1, nano2, nano3, nano4; -static-var buildAnimPiece; +static-var Static_Var_1, unitviewer, statechg_DesiredState, statechg_StateChanging; // Signal definitions -#define SIGNAL_TURNON 4 +#define SIG_ACTIVATE 2 +activatescr() +{ + if( TRUE ) + { + turn head1 to y-axis <0.000000> now; + turn head1 to y-axis <-60.000000> speed <225.000000>; + turn head2 to y-axis <0.000000> now; + turn head2 to y-axis <60.000000> speed <225.000000>; + turn head3 to y-axis <0.000000> now; + turn head3 to y-axis <-60.000000> speed <225.000000>; + turn head4 to y-axis <0.000000> now; + turn head4 to y-axis <60.000000> speed <225.000000>; + wait-for-turn head1 around y-axis; + } + sleep 20; + return (0); + // Build by COBBLER Ver4.0 Copyright @1998 DIGITAL CONCEPT SOFTWARE (MANU@inext.fr) / http://www.annihilationcenter.com/DCS/ +} + +deactivatescr() +{ + if( TRUE ) + { + turn head1 to y-axis <0.000000> speed <225.000000>; + turn head2 to y-axis <0.000000> speed <225.000000>; + turn head3 to y-axis <0.000000> speed <225.000000>; + turn head4 to y-axis <0.000000> speed <225.000000>; + wait-for-turn head1 around y-axis; + } + sleep 20; + return (0); +} + +OpenYard() +{ + set YARD_OPEN to 1; + while( !get YARD_OPEN ) + { + set BUGGER_OFF to 1; + sleep 1500; + set YARD_OPEN to 1; + } + set BUGGER_OFF to 0; + return (0); +} + +CloseYard() +{ + set YARD_OPEN to 0; + while( get YARD_OPEN ) + { + set BUGGER_OFF to 1; + sleep 1500; + set YARD_OPEN to 0; + } + set BUGGER_OFF to 0; + return (0); +} + +Go() +{ + + call-script activatescr(); + call-script OpenYard(); + set INBUILDSTANCE to 1; + return (0); +} + +Stop() +{ + set INBUILDSTANCE to 0; + call-script CloseYard(); + call-script deactivatescr(); + return (0); +} + +InitState() +{ + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; + return (0); +} + +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + call-script Go(); + currentstate = 0; + } + if( statechg_DesiredState == 1 ) + { + call-script Stop(); + currentstate = 1; + } + } + statechg_StateChanging = FALSE; + return (0); +} + Create() { hide nano2; @@ -17,47 +128,65 @@ Create() hide nano4; hide nano1; hide pad; - buildAnimPiece = 0; + unitviewer = FALSE; + Static_Var_1 = 0; + call-script InitState(); + return (0); } -#define BASEPIECE base -#define MAXTILT 0 -#include "../unit_hitbyweaponid_and_smoke.h" +#define SMOKEPIECE base +#include "smokeunit_thread_nohit.h" -QueryNanoPiece(pieceIndex) +QueryNanoPiece(piecenum) { - buildAnimPiece = (buildAnimPiece + 1) % 2; - pieceIndex = nano1 + buildAnimPiece; + if( Static_Var_1 == 0 ) + { + piecenum = nano1; + } + if( Static_Var_1 == 1 ) + { + piecenum = nano2; + } + if( Static_Var_1 == 2 ) + { + piecenum = nano3; + } + if( Static_Var_1 == 3 ) + { + piecenum = nano4; + } + Static_Var_1=Static_Var_1+1; + if( Static_Var_1 >3 ) + { + Static_Var_1=0; + } + return (0); } +Demo() +{ + unitviewer = TRUE; + return (0); +} Activate() { - signal SIGNAL_TURNON; - set-signal-mask SIGNAL_TURNON; - - turn head1 to y-axis <-60.0> speed <225.0>; - turn head2 to y-axis <60.0> speed <225.0>; - turn head3 to y-axis <-60.0> speed <225.0>; - turn head4 to y-axis <60.0> speed <225.0>; - wait-for-turn head1 around y-axis; - - FACTORY_OPEN_BUILD; + signal SIG_ACTIVATE; + start-script RequestState(0); + return (0); } Deactivate() { - signal SIGNAL_TURNON; - set-signal-mask SIGNAL_TURNON; - sleep 5000; - - turn head1 to y-axis <0.0> speed <225.0>; - turn head2 to y-axis <0.0> speed <225.0>; - turn head3 to y-axis <0.0> speed <225.0>; - turn head4 to y-axis <0.0> speed <225.0>; - wait-for-turn head1 around y-axis; - - FACTORY_CLOSE_BUILD; + signal SIG_ACTIVATE; + set-signal-mask SIG_ACTIVATE; + if( !unitviewer ) + { + sleep 5000; + } + set-signal-mask 0; + start-script RequestState(1); + return (0); } StartBuilding() @@ -66,6 +195,8 @@ StartBuilding() show nano4; show nano3; show nano2; + sleep 150; + return (0); } StopBuilding() @@ -74,11 +205,20 @@ StopBuilding() hide nano4; hide nano3; hide nano2; + sleep 150; + return (0); +} + +QueryBuildInfo(piecenum) +{ + piecenum = pad; + return (0); } -QueryBuildInfo(pieceIndex) +SweetSpot(piecenum) { - pieceIndex = pad; + piecenum = base; + return (0); } Killed(severity, corpsetype) diff --git a/scripts/Units/corhp.cob b/scripts/Units/corhp.cob index 7820ccdf80ce96551710a107dc3ccbb18c0f7d30..bbfef8dcf5958222d11d7691e1433f993195f80e 100644 GIT binary patch literal 4605 zcmbVQJ*XU26h6Ce-zJL4HPJ%S42U3NWb+b8CFn~ahJZfv2x_1$r@ThD zGYYn`Gyw|*JBw6;g%$yYK(G+}sVqbb(-eOGME)nT}`ZNxpAIor}`k?k7ee)m7OrLpF`8Sz3M33}X2kEtV>hs#@>O1`~=RTI0 zFOSJL_F=i3EY77Ui+LAiO*!sEKyp*A$zJ8nGf6s5uB|DV*uuAuqwk?sW*f^FJiy^91mszlgZUwc4-2*?i~A)>*Y}P>yt6m_QAcZ9sF4Z- zca!TGa-%)_=l7U}@EXVCJI_14wx0v+sm8tbKI{cCB!LX*;7tAYyY46G!g67wvlQ9H z{%J#7>a=@4Zqarjho187``$l{jmeh$z3d{!DH$VmtM@;q4yc26n6)f5z49 z*t6flIpw7_>5JP#A=bTNeITseuriEsqL1R9YUH8%k*?L;c<~O5Va&bein~FsG`BiZ zw$6i|&+$aiPxWm1Z6FWt1NP``Y_I3e+nmIc{0C8_|ESF>akmpv)ANLJ*r9Q^?N~&?iabcuG3!OY^m?( zoPKD&Jooju9Q?3XR*zVh{w?O!pv(Cv)8#!d-OqzAXQ)h9?_0>_TF@o;GF|21RvhzW zh?t-H>G@o)2S2J4beH)q|8^8-*7~6Qr(Taf1odRDj9>H<>+1U)_Z2l(u2(#tKLVdi z{J4g1Io|Mxe95IMhHOAWU98$uta=}@DksFcOnK}V^Tc~=_tfsK-Q#=OCEy8W-tuY6ye-nS!mnJsWuO>Fu$1>j5$1>Ty`nbjVhd$2G z0L}vYP`8i9smXn5lC$-7XLs6iitVfFRqS~k8|!(KI99VVn>x8!|I6&Fa};)5 z8=H|bn>sOzv%?X14mb;30zLz-0p9>OfX85P5V#0@0DKGF1bzl?1FImiA2KVTCh!CB3-BxO zJ8%oQ4WwK7@U1k@wzp<7$l~40(`@{DIvdEb(PTT*w-XcD%qLShIUeSlIjrP#c5x@$ z4x3}MjAxq{Cg-y=P>~mh`TFjwSvsAJ<&~Xmw);{#o@@-WtxS$*7bfyT2#%daMu2pd zukQ>;gW>p14Y$~+3*DU@p9Ph-vn=17PI5Ul9F4Mpype8aGEE0^E=vc8^tqfT QV}w7X&ozA>*5?uV7sU)t8~^|S literal 3043 zcmb7GJ!n)x5T0Bvm#835tx^bAiU?kQ3K7Ko6$U{f0Zk?M%st~_ygTAWNM{kzLQ_d9 zF%g?!p@mf{!JkSSK@kK?!O}tntN4BU_PcDJmjpxR&CY%^JM+!%zIS;u+XvYTS;?8< z-~Fv&;v**k9)mhUr?N%eM4@}U-s5$_>kjCSC>PPpmr^a;CJK=iF&7B219UFtBP$o8 z!x(a|!a4YJoaY!g$HN?#x}5I-hI!0|Ic;JSqdzg$L2XeX>ZHbB4j9MO#Hcw>ANGJ) zSVvehed$B|CxeGNqg*MS3o(}~O6!^Q{!orr=;ye4PM5qN=d>pCoY=p$R<}>3PS+C` zj~c9Kj)Q7r3}cy+`J~&&ZpPD(d>OllA@yx&u0gt5GpntX?vZ@qx~p&K!+3I5?}q_0 zr}n8`-K^m|9egjynfqZ;x+jXIwo-@Vv;;%7XM5HTV`$6YpJCeU1Y^V_Z z@$D?hIld!gm1Q5%SmmD3*H5eQyMJ|5iHw zy^`jc`n0iOIO{G4!kACk+EGjZ<9?G?h$)W!%VLV_@|clD;CIlk#W*YWIF6ii@2%Ce z&r<-I?+~V`L*HdCj6QNcyB2#p>SJC0Of1vv)|ep8Ey(|~s0D`@xqg68*Zi*MQcLhIY6Z{0t> zMeMQPtMERy@&f03G`v&21dHi;$>V^9@jNfISLqXVx9-(LZ@aw;aMdG!w_gFyy2JI< zBl(kGh`aM1#It81&icrOI{Th-?+VZBr02!;*q7~iEpi?36ff}NaMdn6TRY3(@5IxPSCBj$dLd=VGsrsR4dgw9zg3Sz zPC>>Y7a$3w23dgIfjodbfjosghrEESLtaAOLf%0>Kt4mhLPqD3xS80QYI9`aViGs% zwed=5*;sr%o=GZ`*X!33J3pVyEu4#M^@(aSo!IbnvwD-^V@a&xWHX*?j?7nQE7jVJ zO*ZR|mf@nEHD0??x3ksR*`#8Z;~R-J;)-2O;!2-;_PghRdk$I+`TE?m-#rK1bI|?* D)$`-r diff --git a/scripts/Units/corhrk.bos b/scripts/Units/corhrk.bos index c319c0c840c..0572daf7325 100644 --- a/scripts/Units/corhrk.bos +++ b/scripts/Units/corhrk.bos @@ -1,13 +1,16 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece flare1, flare2, torso, lthigh, rthigh, rleg, rfoot, lleg, lfoot, pelvis, launcher, rbvent,lbvent,lfvent,rfvent, aimx1, aimy1; -static-var gun_1, isOpen, isMoving, isAiming, restore_delay, wpn1_lasthead; +static-var gun_1, Static_Var_2, bMoving, bAiming, Static_Var_5, + restore_delay, Static_Var_7, statechg_DesiredState, statechg_StateChanging, wpn1_lasthead; // Signal definitions -#define SIGNAL_AIM1 256 +#define SIG_AIM 2 lua_UnitScriptDecal(lightIndex, xpos,zpos, heading) { @@ -18,10 +21,10 @@ lua_UnitScriptDecal(lightIndex, xpos,zpos, heading) // Using https://github.com/Beherith/Skeletor_S3O // this animation uses the static-var animFramesPerKeyframe which contains how many frames each keyframe takes static-var animSpeed, maxSpeed, animFramesPerKeyframe; -#define SIGNAL_MOVE 1 +#define SIG_WALK 4 Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations\corhrk_anim_walk.blend - //set-signal-mask SIGNAL_MOVE; - if (isMoving) { //Frame:5 + //set-signal-mask SIG_WALK; + if (bMoving) { //Frame:5 turn lfoot to x-axis <-43.438135> speed <1502.214769> / animSpeed; //delta=50.07 turn lfoot to z-axis <4.911848> speed <171.148067> / animSpeed; //delta=5.70 turn lfoot to y-axis <-0.593185> speed <10.152146> / animSpeed; //delta=-0.34 @@ -42,15 +45,15 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn rthigh to x-axis <-37.032265> speed <1004.771031> / animSpeed; //delta=33.49 turn rthigh to z-axis <-0.077981> speed <218.832853> / animSpeed; //delta=7.29 turn rthigh to y-axis <0.042675> speed <10.456137> / animSpeed; //delta=-0.35 - turn torso to y-axis <-3.0> speed <90.0> / animSpeed; //delta=-3.00 + turn torso to y-axis <-3.000000> speed <90.000003> / animSpeed; //delta=-3.00 sleep ((33*animSpeed) -1); } - while(isMoving) { - if (isMoving) { //Frame:10 + while(bMoving) { + if (bMoving) { //Frame:10 call-script lua_UnitScriptDecal(1, (get PIECE_XZ(lfoot) & 0xffff0000) / 0x00010000 , (get PIECE_XZ(lfoot) & 0x0000ffff), get HEADING(0)); turn lfoot to x-axis <-29.513128> speed <417.750216> / animSpeed; //delta=-13.93 - turn lfoot to z-axis <0.0> speed <147.355445> / animSpeed; //delta=4.91 - turn lfoot to y-axis <0.0> speed <17.795554> / animSpeed; //delta=0.59 + turn lfoot to z-axis <0.000000> speed <147.355445> / animSpeed; //delta=4.91 + turn lfoot to y-axis <0.000000> speed <17.795554> / animSpeed; //delta=0.59 turn lleg to x-axis <47.726510> speed <343.229095> / animSpeed; //delta=-11.44 turn lthigh to x-axis <27.689312> speed <539.265889> / animSpeed; //delta=-17.98 move pelvis to y-axis [0.069268] speed [28.700852] / animSpeed; //delta=-0.96 @@ -63,25 +66,25 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn rleg to y-axis <-0.044278> speed <5.158874> / animSpeed; //delta=-0.17 turn rthigh to x-axis <-59.823086> speed <683.724646> / animSpeed; //delta=22.79 turn rthigh to z-axis <0.111217> speed <5.675952> / animSpeed; //delta=-0.19 - turn torso to y-axis <-5.0> speed <59.999993> / animSpeed; //delta=-2.00 + turn torso to y-axis <-5.000000> speed <59.999993> / animSpeed; //delta=-2.00 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:15 + if (bMoving) { //Frame:15 turn lfoot to x-axis <-49.083222> speed <587.102810> / animSpeed; //delta=19.57 turn lleg to x-axis <15.646184> speed <962.409786> / animSpeed; //delta=32.08 turn lthigh to x-axis <23.104872> speed <137.533201> / animSpeed; //delta=4.58 move pelvis to y-axis [-1.082550] speed [34.554534] / animSpeed; //delta=-1.15 turn pelvis to x-axis <8.804122> speed <332.687973> / animSpeed; //delta=-11.09 turn rfoot to x-axis <43.708580> speed <360.795966> / animSpeed; //delta=-12.03 - turn rfoot to z-axis <0.0> speed <130.795634> / animSpeed; //delta=-4.36 - turn rfoot to y-axis <-0.0> speed <13.232512> / animSpeed; //delta=-0.44 + turn rfoot to z-axis <0.000000> speed <130.795634> / animSpeed; //delta=-4.36 + turn rfoot to y-axis <-0.000000> speed <13.232512> / animSpeed; //delta=-0.44 turn rleg to x-axis <-8.697524> speed <163.887260> / animSpeed; //delta=5.46 turn rthigh to x-axis <-43.678343> speed <484.342306> / animSpeed; //delta=-16.14 - turn rthigh to z-axis <0.0> speed <3.336480> / animSpeed; //delta=0.11 - turn torso to y-axis <-3.0> speed <59.999993> / animSpeed; //delta=2.00 + turn rthigh to z-axis <0.000001> speed <3.336480> / animSpeed; //delta=0.11 + turn torso to y-axis <-3.000000> speed <59.999993> / animSpeed; //delta=2.00 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:20 + if (bMoving) { //Frame:20 turn lfoot to x-axis <5.353656> speed <1633.106312> / animSpeed; //delta=-54.44 turn lleg to x-axis <-19.312092> speed <1048.748278> / animSpeed; //delta=34.96 turn lthigh to x-axis <9.336217> speed <413.059643> / animSpeed; //delta=13.77 @@ -90,10 +93,10 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn rfoot to x-axis <1.479063> speed <1266.885500> / animSpeed; //delta=42.23 turn rleg to x-axis <-1.393670> speed <219.115612> / animSpeed; //delta=-7.30 turn rthigh to x-axis <-3.826129> speed <1195.566408> / animSpeed; //delta=-39.85 - turn torso to y-axis <0.0> speed <90.0> / animSpeed; //delta=3.00 + turn torso to y-axis <0.000000> speed <90.000003> / animSpeed; //delta=3.00 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:25 + if (bMoving) { //Frame:25 turn lfoot to x-axis <38.516335> speed <994.880381> / animSpeed; //delta=-33.16 turn lleg to x-axis <-21.270210> speed <58.743537> / animSpeed; //delta=1.96 turn lthigh to x-axis <-36.901972> speed <1387.145671> / animSpeed; //delta=46.24 @@ -102,10 +105,10 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn rfoot to x-axis <-43.705667> speed <1355.541897> / animSpeed; //delta=45.18 turn rleg to x-axis <36.062849> speed <1123.695567> / animSpeed; //delta=-37.46 turn rthigh to x-axis <10.297167> speed <423.698871> / animSpeed; //delta=-14.12 - turn torso to y-axis <3.0> speed <90.0> / animSpeed; //delta=3.00 + turn torso to y-axis <3.000000> speed <90.000003> / animSpeed; //delta=3.00 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:30 + if (bMoving) { //Frame:30 call-script lua_UnitScriptDecal(1, (get PIECE_XZ(rfoot) & 0xffff0000) / 0x00010000 , (get PIECE_XZ(rfoot) & 0x0000ffff), get HEADING(0)); turn lfoot to x-axis <31.785679> speed <201.919687> / animSpeed; //delta=6.73 turn lleg to x-axis <-3.293502> speed <539.301235> / animSpeed; //delta=-17.98 @@ -115,10 +118,10 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn rfoot to x-axis <-29.759725> speed <418.378252> / animSpeed; //delta=-13.95 turn rleg to x-axis <47.576950> speed <345.423020> / animSpeed; //delta=-11.51 turn rthigh to x-axis <28.239381> speed <538.266436> / animSpeed; //delta=-17.94 - turn torso to y-axis <5.0> speed <59.999993> / animSpeed; //delta=2.00 + turn torso to y-axis <5.000000> speed <59.999993> / animSpeed; //delta=2.00 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:35 + if (bMoving) { //Frame:35 turn lfoot to x-axis <43.767053> speed <359.441232> / animSpeed; //delta=-11.98 turn lleg to x-axis <-8.328728> speed <151.056771> / animSpeed; //delta=5.04 turn lthigh to x-axis <-43.001788> speed <504.009665> / animSpeed; //delta=-16.80 @@ -127,10 +130,10 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn rfoot to x-axis <-49.048715> speed <578.669712> / animSpeed; //delta=19.29 turn rleg to x-axis <16.057143> speed <945.594202> / animSpeed; //delta=31.52 turn rthigh to x-axis <23.413918> speed <144.763913> / animSpeed; //delta=4.83 - turn torso to y-axis <3.0> speed <59.999993> / animSpeed; //delta=-2.00 + turn torso to y-axis <3.000000> speed <59.999993> / animSpeed; //delta=-2.00 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:40 + if (bMoving) { //Frame:40 turn lfoot to x-axis <1.250820> speed <1275.486992> / animSpeed; //delta=42.52 turn lleg to x-axis <-1.664015> speed <199.941364> / animSpeed; //delta=-6.66 turn lthigh to x-axis <-3.338458> speed <1189.899915> / animSpeed; //delta=-39.66 @@ -139,10 +142,10 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn rfoot to x-axis <5.162294> speed <1626.330273> / animSpeed; //delta=-54.21 turn rleg to x-axis <-19.574711> speed <1068.955614> / animSpeed; //delta=35.63 turn rthigh to x-axis <9.795307> speed <408.558301> / animSpeed; //delta=13.62 - turn torso to y-axis <0.0> speed <90.0> / animSpeed; //delta=-3.00 + turn torso to y-axis <0.000000> speed <90.000003> / animSpeed; //delta=-3.00 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:45 + if (bMoving) { //Frame:45 turn lfoot to x-axis <-43.408359> speed <1339.775366> / animSpeed; //delta=44.66 turn lleg to x-axis <36.272642> speed <1138.099712> / animSpeed; //delta=-37.94 turn lthigh to x-axis <9.725091> speed <391.906481> / animSpeed; //delta=-13.06 @@ -151,14 +154,14 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn rfoot to x-axis <38.500752> speed <1000.153744> / animSpeed; //delta=-33.34 turn rleg to x-axis <-21.119218> speed <46.335218> / animSpeed; //delta=1.54 turn rthigh to x-axis <-37.035120> speed <1404.912812> / animSpeed; //delta=46.83 - turn torso to y-axis <-3.0> speed <90.0> / animSpeed; //delta=-3.00 + turn torso to y-axis <-3.000000> speed <90.000003> / animSpeed; //delta=-3.00 sleep ((33*animSpeed) -1); } } } -// Call this from StopMoving()! +// Call this from MotionControl()! StopWalking() { - move pelvis to y-axis [0.0] speed [6.910907]; + move pelvis to y-axis [0.000000] speed [6.910907]; turn lfoot to x-axis <6.635691> speed <326.621262>; turn lfoot to y-axis <-0.254780> speed <3.559111>; turn lfoot to z-axis <10.616784> speed <34.229613>; @@ -168,7 +171,7 @@ StopWalking() { turn lthigh to x-axis <-5.336402> speed <277.429134>; turn lthigh to y-axis <-0.491795> speed <2.609085>; turn lthigh to z-axis <-6.821446> speed <40.555182>; - turn pelvis to x-axis <0.0> speed <66.537595>; + turn pelvis to x-axis <0.000000> speed <66.537595>; turn rfoot to x-axis <5.608464> speed <325.266055>; turn rfoot to y-axis <-0.693257> speed <8.813785>; turn rfoot to z-axis <-12.109984> speed <26.165251>; @@ -178,7 +181,7 @@ StopWalking() { turn rthigh to x-axis <-3.539897> speed <280.982562>; turn rthigh to y-axis <0.391213> speed <2.091227>; turn rthigh to z-axis <7.216447> speed <43.766571>; - turn torso to y-axis <0.0> speed <18.0>; + turn torso to y-axis <0.000000> speed <18.000001>; } // REMEMBER TO animspeed = 5 in Create() !! UnitSpeed(){ @@ -195,19 +198,55 @@ UnitSpeed(){ sleep 164; } } -StartMoving(reversing){ - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; - isMoving=TRUE; +StartMoving(){ + signal SIG_WALK; + set-signal-mask SIG_WALK; + bMoving=TRUE; start-script UnitSpeed(); start-script Walk(); } StopMoving(){ - signal SIGNAL_MOVE; - isMoving=FALSE; + signal SIG_WALK; + bMoving=FALSE; call-script StopWalking(); } +activatescr() +{ + if( TRUE ) + { + turn lthigh to x-axis <0> speed <247.500000>; + turn lleg to x-axis <0> speed <37.500000>; + turn lfoot to x-axis <0> speed <210.000000>; + turn lfoot to z-axis <0> speed <11.250000>; + turn rthigh to x-axis <0> speed <247.500000>; + turn rleg to x-axis <0> speed <37.500000>; + turn rfoot to x-axis <0> speed <210.000000>; + turn rfoot to z-axis <0> speed <11.250000>; + sleep 493; + } + sleep 9; + return (0); +} + +deactivatescr() +{ + if( TRUE ) + { + turn lthigh to x-axis <0> speed <247.500000>; + turn lleg to x-axis <0> speed <37.500000>; + turn lfoot to x-axis <0> speed <210.000000>; + turn lfoot to z-axis <0> speed <11.250000>; + turn rthigh to x-axis <0> speed <247.500000>; + turn rleg to x-axis <0> speed <37.500000>; + turn rfoot to x-axis <0> speed <210.000000>; + turn rfoot to z-axis <0> speed <11.250000>; +; + sleep 10; + } + sleep 10; + return (0); +} @@ -217,7 +256,57 @@ StopMoving(){ #define UNITSIZE 5 #define MAXTILT 100 -#include "../unit_hitbyweaponid_and_smoke.h" +#include "unit_hitbyweaponid_and_smoke.h" + + +Go() +{ + call-script activatescr(); + Static_Var_2 = 1; + return (0); +} + +Stop() +{ + Static_Var_2 = 0; + call-script deactivatescr(); + return (0); +} + +InitState() +{ + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; + return (0); +} + +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + call-script Go(); + currentstate = 0; + } + if( statechg_DesiredState == 1 ) + { + call-script Stop(); + currentstate = 1; + } + } + statechg_StateChanging = FALSE; + return (0); +} + Create() @@ -226,19 +315,23 @@ Create() hide flare1; hide aimx1; hide aimy1; - isMoving = FALSE; - isAiming = FALSE; + bMoving = FALSE; + bAiming = FALSE; + Static_Var_5 = 1; gun_1 = flare2; hide flare1; hide flare2; - isOpen = 0; + Static_Var_2 = 0; restore_delay = 200; animSpeed = 5; + call-script InitState(); + return (0); } -SetMaxReloadTime(reloadMS) +SetMaxReloadTime(Func_Var_1) { - restore_delay = reloadMS; + restore_delay = Func_Var_1; + return (0); } @@ -253,10 +346,10 @@ ExecuteRestoreAfterDelay() turn rfvent to y-axis <0> speed <90>; turn lbvent to y-axis <0> speed <90>; turn rbvent to y-axis <0> speed <90>; - turn aimy1 to y-axis <0.0> speed <90.021978>; - turn launcher to x-axis <0.0> speed <45.010989>; - wpn1_lasthead = 0xbadface; - isAiming = FALSE; + turn aimy1 to y-axis <0.000000> speed <90.021978>; + turn launcher to x-axis <0.000000> speed <45.010989>; + wpn1_lasthead = 1000000; + bAiming = FALSE; } SetStunned(State) { @@ -267,26 +360,29 @@ SetStunned(State) } RestoreAfterDelay() { - set-signal-mask SIGNAL_AIM1; + set-signal-mask SIG_AIM; sleep restore_delay; start-script ExecuteRestoreAfterDelay(); } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; - isAiming = TRUE; + start-script RequestState(0); + signal SIG_AIM; + bAiming = TRUE; turn lfvent to y-axis <-90> speed <190>; turn rfvent to y-axis <90> speed <190>; turn lbvent to y-axis <45> speed <190>; turn rbvent to y-axis <-45> speed <190>; - + while( !Static_Var_5 ) + { + return(0); + } turn aimy1 to y-axis heading speed <150.032967>; turn launcher to x-axis <-90.021978> speed <200.043956>; - if ((wpn1_lasthead == 0xbadface) OR ABSOLUTE_GREATER_THAN(WRAPDELTA(heading - wpn1_lasthead), <7>)) + if (((get ABS(wpn1_lasthead - heading)) > 65536) OR(((get ABS(wpn1_lasthead - heading)) > 1300) AND ((get ABS(wpn1_lasthead - heading)) < 64236))) { - wpn1_lasthead = 0xbadface; + wpn1_lasthead = 1000000; wait-for-turn aimy1 around y-axis; wait-for-turn launcher around x-axis; } @@ -295,7 +391,7 @@ AimWeapon1(heading, pitch) return (1); } -FireWeapon1() +FirePrimary() { turn aimy1 to x-axis <-6> now; turn aimy1 to x-axis <0> speed <9>; @@ -309,32 +405,36 @@ FireWeapon1() } if( gun_1 == 2 ) { - isOpen = 0; + Static_Var_2 = 0; gun_1 = 1; return (0); } } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = launcher; + piecenum = launcher; return (0); } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { if( gun_1 == 1 ) { - pieceIndex = flare1; + piecenum = flare1; } if( gun_1 == 2 ) { - pieceIndex = flare2; + piecenum = flare2; } return (0); } - +SweetSpot(piecenum) +{ + piecenum = torso; + return (0); +} Killed(severity, corpsetype) { @@ -343,8 +443,19 @@ Killed(severity, corpsetype) corpsetype = 1 ; explode pelvis type BITMAPONLY | NOHEATCLOUD; explode lthigh type BITMAPONLY | NOHEATCLOUD; + //explode lleg type BITMAPONLY | NOHEATCLOUD; + //explode lfoot type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rthigh type BITMAPONLY | NOHEATCLOUD; + //explode rleg type BITMAPONLY | NOHEATCLOUD; explode rfoot type BITMAPONLY | NOHEATCLOUD; explode torso type BITMAPONLY | NOHEATCLOUD; + //explode launcher type BITMAPONLY | NOHEATCLOUD; + //explode rbvent type BITMAPONLY | NOHEATCLOUD; + //explode rfvent type BITMAPONLY | NOHEATCLOUD; + //explode lbvent type BITMAPONLY | NOHEATCLOUD; + //explode lfvent type BITMAPONLY | NOHEATCLOUD; + //explode flare1 type BITMAPONLY | NOHEATCLOUD; + //explode flare2 type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } if( severity <= 50 ) @@ -354,7 +465,17 @@ Killed(severity, corpsetype) explode lthigh type FIRE | SMOKE | FALL | NOHEATCLOUD; explode lleg type FALL | NOHEATCLOUD; explode lfoot type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rthigh type FALL | NOHEATCLOUD; + //explode rleg type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rfoot type FIRE | SMOKE | FALL | NOHEATCLOUD; explode torso type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode launcher type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rbvent type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rfvent type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lbvent type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lfvent type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare1 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare2 type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) @@ -364,7 +485,17 @@ Killed(severity, corpsetype) explode lthigh type SMOKE | FALL | NOHEATCLOUD; explode lleg type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; explode lfoot type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode rthigh type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode rleg type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rfoot type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; explode torso type SMOKE | FALL | NOHEATCLOUD; + //explode launcher type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rbvent type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode rfvent type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lbvent type SMOKE | FALL | NOHEATCLOUD; + //explode lfvent type SMOKE | FALL | NOHEATCLOUD; + //explode flare1 type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode flare2 type SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; @@ -372,6 +503,16 @@ Killed(severity, corpsetype) explode lthigh type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode lleg type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode lfoot type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode rthigh type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rleg type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode rfoot type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode torso type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode launcher type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode rbvent type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rfvent type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode lbvent type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lfvent type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare1 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode flare2 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/corhrk.cob b/scripts/Units/corhrk.cob index b704ac6ad78c5594a7adaa85651ba766516c6167..d9cb96e36da542f1e3f612abe1dcf0cebfd13b6e 100644 GIT binary patch literal 11145 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 @@ -10,24 +35,82 @@ piece base, thrust; #define UNITSIZE 1 #define MAXTILT 100 -#include "air_barrelroll.h" + +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + call-script activatescr(); + currentstate = 0; + } + if( statechg_DesiredState == 1 ) + { + call-script deactivatescr(); + currentstate = 1; + } + } + statechg_StateChanging = FALSE; + return (0); +} + +static-var maxSpeed, currentSpeed; +BarrelRoll() // remember to start-script BarrelRoll(); in Create()! +{ + currentSpeed = (get CURRENT_SPEED); + maxSpeed = (get MAX_SPEED); + + while (TRUE){ + sleep 2000; + currentSpeed = (get CURRENT_SPEED); + //get PRINT(maxSpeed, currentSpeed, Static_Var_1); + if( Rand( 1, 5 ) == 1 AND (maxSpeed < (currentSpeed+100) ) ) + { + turn base to z-axis <240.054945> speed <120.027473>; + wait-for-turn base around z-axis; + turn base to z-axis <120.027473> speed <180.043956>; + wait-for-turn base around z-axis; + turn base to z-axis <0.000000> speed <120.027473>; + } + } +} Create() { hide thrust; + call-script InitState(); start-script BarrelRoll(); + return (0); } Activate() { show thrust; + start-script RequestState(0); + return (0); } Deactivate() { hide thrust; + start-script RequestState(1); + return (0); } +SweetSpot(piecenum) +{ + piecenum = base; + return (0); +} Killed(severity, corpsetype) { diff --git a/scripts/Units/corhunt.cob b/scripts/Units/corhunt.cob index f6d1dd248c2f7043217f8f66a7d5f52d6a2ed64c..95a5286ed5e13a74e3e321b3a965a32bb7b7c5b3 100644 GIT binary patch literal 1576 zcmcgsF;5gx5S}}hg($_NFvbLvHL*12;x7=;!eDXXLPv4u-7{XY5!_p#R(|W#B749W z;0gBMur^%N%`@0)INCI&od$b>_5?p9C22*j<#12G?WrLdI6wkj#-y9N$5@(L=c0zy zHT|$Ex2gIUbE!>f`eTi0$2x29S?sK*7<K|j3E@wVdX=iYeGsbGMkPlzz75&%iJtI%+&4IvN&gp;au`qLHse@icy2}9R&-sJo|ath1=_knfbBk&dY4*UcT0sdQm z07t-Y;16&DoB|ZM3)}-1fJZ>DUkr62VR8Tk6{)%#)DDG`!Y|6$9IbhFee3ZJiT oi6!2P({S-~a#s literal 845 zcmbVKF;2rk5L`R9(@<=Yh63S=3WD;AxlftX$m)8G(->^y%iZf6T}MS@l`8;u4I!sTcHHdq zC)SJYiEm==g}u8z7Pp`J@4A`=PUro={OTvWiSmiO!|JjGJxMbMMeJ59pEdaw=W1G< zo3)<&hyGheNkRlwY&q|JwF!! diff --git a/scripts/Units/corhurc.bos b/scripts/Units/corhurc.bos index 99b7327da68..30541bab446 100644 --- a/scripts/Units/corhurc.bos +++ b/scripts/Units/corhurc.bos @@ -1,8 +1,26 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, bombs, thrusta1, thrusta2, thrustb; +static-var Static_Var_1, gun_2, statechg_DesiredState, statechg_StateChanging; + +// Signal definitions +#define SIG_AIM_2 2 + + +activatescr() +{ + sleep 10; +} + +deactivatescr() +{ + sleep 10; +} + #define BASEPIECE base #define HITSPEED <105.0> @@ -10,6 +28,37 @@ piece base, bombs, thrusta1, thrusta2, thrustb; #define UNITSIZE 1 #define MAXTILT 100 +InitState() +{ + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; +} + +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + call-script activatescr(); + currentstate = 0; + } + if( statechg_DesiredState == 1 ) + { + call-script deactivatescr(); + currentstate = 1; + } + } + statechg_StateChanging = FALSE; +} Create() { @@ -17,6 +66,8 @@ Create() hide thrusta1; hide thrusta2; hide bombs; + Static_Var_1 = 3000; + call-script InitState(); } Activate() @@ -24,6 +75,7 @@ Activate() show thrustb; show thrusta1; show thrusta2; + start-script RequestState(0); } Deactivate() @@ -31,19 +83,20 @@ Deactivate() hide thrustb; hide thrusta1; hide thrusta2; + start-script RequestState(1); } -AimWeapon1() +QueryPrimary(piecenum) { - return (1); + piecenum = bombs; } -QueryWeapon1(pieceIndex) + +SweetSpot(piecenum) { - pieceIndex = bombs; + piecenum = base; } - Killed(severity, corpsetype) { if( severity <= 25 ) diff --git a/scripts/Units/corhurc.cob b/scripts/Units/corhurc.cob index dc3e9ff78ff3bd7d06925eaa5d996c138a79014c..15648adf363e381e4a2c5eb29c83455c59980e3d 100644 GIT binary patch literal 1739 zcmd5+Jx?1!5FOj+O9UylL+P$aks^h0ML_{dA`zuAv6717&h|=JUl_Q1zaEw!Odu>HU!8S;UyQJXdYpNlkt2 zMe6dfM~&f}Kzmaw>{@Hr`S})fe~f)jlBC?pRp6`6lQBuK&mkpk88J^5wG)^aGlx_k z^Xu|B_c|YESm)zhd2hdW^jhtq3!nB7A%Gm@(zjH{$u#=d4CPZA&>!{keU$n<*xC0( z_cmnhu%ETio1aCeoW*^;v8TuGhxPyE&iW4gBMbZZUv|TF;Fm4WfE8c|H~@};6W|p1 z3GlzZ1$+WhU;;Sc8}J?Y0h|H9fZxC$-~zY=vY{J)$(${Qxr}V}^zLBn`VKDnV2`G@ z2#43XrEN3h$(u!zY)@@I>*eD~md~XB)mqp8eCXu;cz@rHWRMkB28WYDA#OLH7A{*= Jr5luiTm#=pgWmuE literal 891 zcmb`Fy-LJD6ot>m-6+^hVIwF6Y%I2Lx3ONeQ*gJ@!e%GyfRX)?BrEt17CwN8y)Wcr z_z0d8XCw+P7D@QH_s;!06Ve6{lMZz84G%XVu zg&4*LLtjf<)zYf=N6jDe>NWB;yPBEM_i=RawX0qW=7nChD7P&q=@^V-bLP)9PyIpj zD`S}T@179<&g<@)8S=VUJ=XoSJLs+J=rb2|%zdBwSLt|G4|O%EW1^Y; - turn gun to x-axis <0.0> - pitch speed <3.500000>; + signal SIG_AIM; + set-signal-mask SIG_AIM; + turn turret to y-axis heading speed <5.000000>; + turn gun to x-axis <0.000000> - pitch speed <3.500000>; wait-for-turn turret around y-axis; wait-for-turn gun around x-axis; return (1); @@ -46,32 +47,45 @@ AimWeapon1(heading, pitch) // return (1); // } -FireWeapon1() +FirePrimary() { shotcount = shotcount + 1; //start-script HotBarrel(); - move barrel to z-axis [-7.500000] speed [500.0]; - move gun to z-axis [-4.0] speed [500.0]; + move barrel to z-axis [-7.500000] speed [500.000000]; + move gun to z-axis [-4.000000] speed [500.000000]; wait-for-move barrel along z-axis; emit-sfx 1024 + 0 from flare; call-script lua_UnitScriptLight(1, shotcount); call-script lua_UnitScriptLight(2, shotcount); sleep 200; - move barrel to z-axis [0.0] speed [3.500000]; - move gun to z-axis [0.0] speed [3.500000]; + move barrel to z-axis [0.000000] speed [3.500000]; + move gun to z-axis [0.000000] speed [3.500000]; } -AimFromWeapon1(pieceIndex) +TargetCleared(Func_Var_1) { - pieceIndex = gun; + if( Func_Var_1 == 1 ) + { + signal SIG_AIM; + stop-spin turret around y-axis; + stop-spin gun around x-axis; + } } -QueryWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = flare; + piecenum = gun; } +QueryPrimary(piecenum) +{ + piecenum = flare; +} +SweetSpot(piecenum) +{ + piecenum = base; +} Killed(severity, corpsetype) { diff --git a/scripts/Units/corint.cob b/scripts/Units/corint.cob index 1e84cc322b3145f092efacf583ced5d4fd5a0851..d5265ab23934877252682626d72f333e24a6892b 100644 GIT binary patch literal 2696 zcmbtWOKTHR6h3)0^|iPz1%+9Qi{L_V*9R2AE+SF7uwtg|*bYt}j1wgbVQ}Tjr5pc- zKf)j2PXB_a(1k)lzwgXFV=^=~p&=jl-t#`+xi_RKBA0;+z;;~(U;XS}6nP7L1a3j{ z8LRZf)u`==Tg6gyb;o0~U95JNPRmIE8Bmq+e3ec?(@C%8ZeVLRjKlbLW*qJ{Cv2a1 zT@x$)>ppKCHWblzgPZn>#=hfap~`AyEtW@XM2=~HjqM8mb?;BvX}NA|+=i2O5!-6l z8XW5Lb%~F+A9(XRLns4d9i=j03X&{AR5Q=zJ{UAk2aJ`0FGb>x8lP|V5d6lO>Q+>FElP? zuHk0y*>O$t|#OtOxVtER5%phfXompGZTQ_T^{9)Uq}^50g!EtTG>;F*JAk z-y5pxwf8ghw72(Bt-spCH5vy+4_ySdzUa?9JO_Twu}TkfajWI~4j`gUj@5KFmjI%w zj=jx`xpIcC<#kLyL;Wqhi9FOtXjJ}u88GqyK%n*Y4_U*(>6lK-t(Zx5INAAqmG zF>nGj;dBMy|En*+ci=a$atVIGb>Jp&7uW(izz(nr>;W;*2Qpv+ya6`TD9j>B#^KXP zgE;H%r|~G;jt`GA>Gp@uBMRkSoNY{YqHr`E$a>uGq;Wq?C$bf%k?kLb>0y*@CQ+D1 z2Q=DBho#|zag);5S{nILo^}R#>B*8E$lQ|tSpQHHAJEXN{EFqvb?w8hWC|aUqOrs1$Ktg z%BVlWKY*1#z{c2Gm{@2*L7~xeX79YWEIdFacV^CfoI7`xSQnAAkTa0!stA7drv=Ar z$VbRkc)l=TMO=mGqPR&M6<2jM>tTMHEsG5&0eq0-d`0X$3j}p1D-CxED&t%9p$7Fj zb>P(JsD~38dmU;WKJpp$7-94gBRA#j8hI`Fs=#XgBt{#D2x91`FyD9>U!MBU~A&8r-b<%Su8?NjV;D7pLe#|&jDml+BVlRZ*us- z0Dm9OiSHpUe-q2)DPcwDwF|?zmuGey#?)cF-)q{O1$S1U(5}(PurFM;^l-j$efBa=v@}9!9s2P0hyNb!SG3Re!9Uzy-$`p~p2y^mVysV0g394I4jr>&PwQiSCBR+b zx0*c1VV{B79?Eu2YteOtR|zv-dJo1I_E52KGy}p#T)B{~GdJ7rZ#H=`-|UH!-SGBXoUF$Y7vq&T@_ClO3*Al6bIRQhv6sjXtJi~@ze9L_h4S}J`63|>Pwka|^NusUheJqzT!8Y(n^djBk)%kiU?rDUl11%aCi3n~(*_ zB4ioz1hNWQgLEJ%D4 [420.000000]; +} + +BoomExtend() +{ + signal 2; + +} + +BoomReset() +{ + signal 2; + set-signal-mask 2; + sleep 100; + +} + +AreaUnload(Func_Var_1, Func_Var_2, Func_Var_3) +{ + attach-unit Func_Var_1 to link; + while( get UNIT_XZ(Func_Var_1) != get PIECE_XZ(link) ) + { + sleep 100; + } + drop-unit Func_Var_1; + sleep 100; + Func_Var_3 = 0; + while( get UNIT_XZ(Func_Var_1) == get PIECE_XZ(link) AND get UNIT_Y(Func_Var_1) == get PIECE_Y(link) AND Func_Var_3 < 20 ) + { + ++Func_Var_3; + attach-unit Func_Var_1 to link; + drop-unit Func_Var_1; + sleep 100; + } + if( get UNIT_XZ(Func_Var_1) == get PIECE_XZ(link) AND get UNIT_Y(Func_Var_1) == get PIECE_Y(link) ) + { + attach-unit Func_Var_1 to 0 - 1; + return (0); + } + call-script BoomCalc(get UNIT_XZ(Func_Var_1),get UNIT_Y(Func_Var_1)); + call-script BoomExtend(); } TransportPickup(unitid) { - set BUSY to 1; - attach-unit unitid to link; - set BUSY to 0; + call-script BoomCalc(get UNIT_XZ(unitid),get UNIT_Y(unitid) + get UNIT_HEIGHT(unitid)); + if( Static_Var_5 ) + { + return (1); + } + if( get UNKNOWN_UNIT_VALUE(74)(unitid) == get UNKNOWN_UNIT_VALUE(74)(get UNKNOWN_UNIT_VALUE(71)) ) + { + set BUSY to 1; + call-script BoomExtend(); + move link to y-axis [0.000000] - get UNIT_HEIGHT(unitid) now; + attach-unit unitid to link; + attach-unit unitid to 0 - 1; + call-script BoomReset(); + set BUSY to 0; + } } TransportDrop(unitid, position) { + call-script BoomCalc(position,get GROUND_HEIGHT(position)); + if( Static_Var_5 ) + { + return (1); + } set BUSY to 1; - drop-unit unitid; + call-script BoomExtend(); + call-script AreaUnload(unitid,[210.000000]); + start-script BoomReset(); + sleep 1000; set BUSY to 0; } - Killed(severity, corpsetype) { if( severity <= 25 ) diff --git a/scripts/Units/corintr.cob b/scripts/Units/corintr.cob index fa9eeb20134cc2bb8580d98e24d21b738524c431..9b92c450d3b0fa0fc74993ace20a24bbc90ebd64 100644 GIT binary patch literal 3841 zcmdUyJ&0UY6vxlZ?oJXvUm%4F!UGEnEe30g%_bpH39PPRQ|`F)kYQ)%4YSWgL17`K zg+&li1RD$OB%qy*g?1vTv=UN?AV@kJLI1z|?wPs!9Ob!?B5ygId(S=heEiS3_s*`G z*`uPaXm7==C(ifd!)9k5G20Y9tNB%N%ez@h-AsQHcf^O0KOk=XmCV*xvTnbd$)uqN zM-Oh1JYNl1G9*tpYa0wA zMzbgz1X(B8Vz}DxW@~Ycx#P@mZa>!JokRxC=%oIhLm-T-U)v|vc^sKy)E_Ed-F8SSk|kt zmdtwxj?N+v)kUB8uKTeab%NyhW*wVw=4T>j-SU(3I)FRtp`O!Zd{~cBU#64FJ$_{F zJMA6hUbp7@GAvI-J83Sy&$;!Jy5=jP4>?PY6?!LI+OfFb@zfO)?D*N#be`7{|H2pC zkcGP{;^=jAUFXD1O+2rMTKZv+$HH~z_Tlbd;(3hjhkQWE{h58*;ap-b-RJeihs7RX zxJ({&Vs8x5iD!zc9k@LMT zna5=7bqv1lHKI=)>w6O4=32;y_sC;$-%akhx9(%vw&|L(UgW^J5BHwr+)Z~P2A(5z zvFzyiK}0O9c}&#I<85LGw(mf7I(d*L5H56WMPL+XDXht4H^lg7(k!@UBQBPD=t=&y*^i!JT44_)|0?CD)~ zzfH~=G5TIUZ$+Q{RzxrO)>}u6O&nQoou}Rh`y#%rvYle{Z)XJi&Hf<{`hbshk244w zZ*qEvx(_Z>eEZz(q&(muKinDgP+F7km(;{#ScX-ar`c`Qp;u#u!|Z4-zw+3`x4>

      W=?78Mq_fXt+RFCY${B6l4V$Y$tuZ8{54)0Q$OZdH* z*Z!V~{=llOKOEx^jPb{~?)!Rt80EzHUvccB7vs1b;}B~d2QeQv4)z_#R{%Zce4PAA zd0X_c=o`@wqMt-Ri+&OPE_zv@ZHsnA&nw9+YY48vE7gQBvtGIeD#E(b$4f25T4sx_Y@SKV58NN#ztfjf50WCh-ly-f^9arB`kNjT{f#|XQ8AMOA8Sz zd-DhE0=8mnXOTt-Sc>5Hz4zwwJT7;J3~%1dH#6VNn@wU7xde$IhaD08+MkU?WDI!& zxdqExoRUT+l#YqaRie|_$aZ2bL#1s<+aNL2W9slzU!|U1u-Fx-F>Ex^$5RGpKHA77 z&b-egh8+15!PoUCF}%|*!0=8V4Kg+98(I6iA0PZRqJakhr< zY189q)10hxM8RqnGh zo9Fw7Bi>GD!&z`=PjN6`%scj!Jy6w|)5l(PZ@)m*`nsEX*WDm|n$z#lx4@<~h#?Q2 zwua#sp}XvM?}zty2t0K=BK^diczYDsHJ17Az|VOL=0^OH$J0!nvMtlv*SwFZB)w?o zOx5C2w@cPnyKma+FPyG8?L|CB?K*G%`Iur*Bjn0_^x2rq)mOZ=&Ed2xuk`;vPsrsu z3#M-N4?#>h^Uaj!2VzXm@}*zz^fMRF* diff --git a/scripts/Units/corjamt.bos b/scripts/Units/corjamt.bos index a0cd68a24a5..de1796e5cc6 100644 --- a/scripts/Units/corjamt.bos +++ b/scripts/Units/corjamt.bos @@ -1,35 +1,96 @@ -#include "../recoil_common_includes.h" + +#define TA // This is a TA script + +#include "sfxtype.h" +#include "exptype.h" piece base,dish; +static-var statechg_DesiredState, statechg_StateChanging; static-var Stunned; -SetStunned(State) + +Go() +{ + spin dish around y-axis speed <150.000000>; + return (0); +} +Stop() { + stop-spin dish around y-axis; + return (0); +} +SetStunned(State) +{c Stunned = State; if (Stunned) { - call-script Deactivate(); + call-script Stop(); } else { - call-script Activate(); + call-script Go(); } } +InitState() +{ + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; + return (0); +} + +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + call-script Go(); + currentstate = 0; + } + if( statechg_DesiredState == 1 ) + { + call-script Stop(); + currentstate = 1; + } + } + statechg_StateChanging = FALSE; + return (0); +} + Create() { + call-script InitState(); + return (0); } -#define BASEPIECE base -#define MAXTILT 0 -#include "../unit_hitbyweaponid_and_smoke.h" +#define SMOKEPIECE base +#include "smokeunit_thread_nohit.h" Activate() { - spin dish around y-axis speed <150.0>; + call-script Go(); + start-script RequestState(0); + return (0); } Deactivate() { - stop-spin dish around y-axis; + call-script Stop(); + start-script RequestState(1); + return (0); +} + +SweetSpot(piecenum) +{ + piecenum = base; + return (0); } Killed(severity, corpsetype) diff --git a/scripts/Units/corjamt.cob b/scripts/Units/corjamt.cob index 1c60572ee543c942f9349a885238f1d278f7fc0b..7431ce592f8fe167818aafdc645b8b97eff01bbe 100644 GIT binary patch literal 1719 zcmbVMziSjh6n?k4tfI|mrG>DCl~^1W)-eWD5-_-mh#=V{16dQZXKtei76BV8!QL{6 z2x$cW0>R$i($c~|!S8$X=A2t{a=P#_Z{CmZdv9j$`XX`~$bex_WDYC8pYtN;a*-wA zGWIK2doFW~aXowtV;~MCqOh2(<}T*R!t^+6`h!1w*y_H^B?WSTKKL1vwcK68l9^tY zBkD(fT`f0*9{1f^a+8|=pfT^L^ANrm8_%>FV#_Qja;>8o<5456Q%i7nsI*SF48dwGrfXIU!}g@_#W8< z^-`^rL-}3ccw>3=9jA9ix#ye=0)L!M`_NksJ&N%i8eflzza*SD&gg^rvyQ(uKNg8^ z;S6oe&pZ7LGo6F?G&x(CAl( zoK=s))IEunz0lV8WcGpi+2h~(*kGRZv0{Dj{L?=EMT>OoCBBXS>5ui@9wMI}xXm~V zcekIke%A9M$0^_}Z~<5cwtyqxEAS2Y4*UT4e}5ae3p@h0fj!_Q@EUjvyaV0?N5CiG zMk8h04CU5t-Ii_Ddb#7D?)#B#uJ3vJ$|udXzlRjLS+|QX?)z%k?8>!`wtmL&lCPp! ZKKH&YhfOQX_0Eppl=W)lWwRb_$!}C!bz}el literal 1678 zcmaKsziU%b6vt1J*Hj$j3I!1y0xk{?4{=ajl3KwZOCW;?4t+KcjkbxjQE+gpgG)yz z5eNSm{VyB~E)H%E`u*H@PkM>5DTnjxd%pLa^X_e7W@jXA$*k3AnRdLUc-QQTo%&2w;AX!?016Fx%BmE+>9X(ntx*E#WTXzA2=ubgFNC+;NHs|V{@F}>M8Dc;WFUJKtf<=HEH1OF}I z3H#f`1pDQ=jMAE3QjA=Vv;OM5zpec2i`4d-w{uC5 zro?+c@y2(13hzgFbk1qKJ75y;cH)h9FXMF{p!9o$v4WS}a_y&tMUnrI{NQ}7H_koVs`jd<^?0;5dr{k9XFhoieygtBd@$MF715LGptkYk;F speed <374.734623> / animSpeed; //delta=12.49 turn lbfoot to z-axis <0.276222> speed <8.286674> / animSpeed; //delta=-0.28 turn lbfoot to y-axis <-0.106660> speed <3.199785> / animSpeed; //delta=-0.11 @@ -49,15 +52,15 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn rfleg to y-axis <0.183642> speed <96.836862> / animSpeed; //delta=3.23 turn rftoe to x-axis <-12.995332> speed <568.917918> / animSpeed; //delta=18.96 turn rftoe to y-axis <0.036067> speed <13.055392> / animSpeed; //delta=0.44 - move torso to y-axis [1.500000] speed [45.0] / animSpeed; //delta=1.50 + move torso to y-axis [1.500000] speed [45.000000] / animSpeed; //delta=1.50 turn torso to x-axis <2.455555> speed <73.666664> / animSpeed; //delta=-2.46 turn torso to z-axis <-1.600000> speed <47.999993> / animSpeed; //delta=1.60 turn torso to y-axis <-0.902188> speed <27.065626> / animSpeed; //delta=-0.90 turn turret to y-axis <-3.500000> speed <104.999994> / animSpeed; //delta=-3.50 sleep ((33*animSpeed) -1); } - while(isMoving) { - if (isMoving) { //Frame:15 + while(bMoving) { + if (bMoving) { //Frame:15 //call-script lua_UnitScriptDecal(1, (get PIECE_XZ(rbfoot) & 0xffff0000) / 0x00010000 , (get PIECE_XZ(rbfoot) & 0x0000ffff), get HEADING(0)); call-script lua_UnitScriptDecal(1, (get PIECE_XZ(lffoot) & 0xffff0000) / 0x00010000 , (get PIECE_XZ(lffoot) & 0x0000ffff), get HEADING(0)); turn lbfoot to x-axis <-28.549668> speed <481.755423> / animSpeed; //delta=16.06 @@ -87,7 +90,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn torso to y-axis <-1.222969> speed <9.623437> / animSpeed; //delta=-0.32 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:20 + if (bMoving) { //Frame:20 turn lbfoot to x-axis <-40.396259> speed <355.397726> / animSpeed; //delta=11.85 turn lbfoot to z-axis <0.054497> speed <3.355363> / animSpeed; //delta=0.11 turn lbleg to x-axis <-1.272532> speed <116.740392> / animSpeed; //delta=-3.89 @@ -103,19 +106,19 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn rbleg to z-axis <3.743429> speed <18.924051> / animSpeed; //delta=0.63 turn rbtoe to x-axis <-37.949518> speed <180.521183> / animSpeed; //delta=6.02 turn rbtoe to z-axis <-0.001937> speed <47.060522> / animSpeed; //delta=-1.57 - turn rbtoe to y-axis <-0.0> speed <7.626667> / animSpeed; //delta=0.25 + turn rbtoe to y-axis <-0.000471> speed <7.626667> / animSpeed; //delta=0.25 turn rffoot to x-axis <-42.059871> speed <997.319899> / animSpeed; //delta=33.24 turn rfleg to x-axis <9.272713> speed <390.236673> / animSpeed; //delta=-13.01 turn rfleg to z-axis <-0.367940> speed <4.249495> / animSpeed; //delta=0.14 turn rfleg to y-axis <0.580467> speed <6.616455> / animSpeed; //delta=0.22 turn rftoe to x-axis <37.851501> speed <1164.964338> / animSpeed; //delta=-38.83 - move torso to y-axis [0.0] speed [22.499996] / animSpeed; //delta=-0.75 - turn torso to x-axis <-0.0> speed <47.114577> / animSpeed; //delta=1.57 - turn torso to z-axis <0.0> speed <31.199991> / animSpeed; //delta=-1.04 + move torso to y-axis [0.000000] speed [22.499996] / animSpeed; //delta=-0.75 + turn torso to x-axis <-0.000000> speed <47.114577> / animSpeed; //delta=1.57 + turn torso to z-axis <0.000000> speed <31.199991> / animSpeed; //delta=-1.04 turn turret to y-axis <-3.200000> speed <6.685406> / animSpeed; //delta=0.22 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:25 + if (bMoving) { //Frame:25 turn lbfoot to x-axis <-38.214478> speed <65.453430> / animSpeed; //delta=-2.18 turn lbleg to x-axis <2.913103> speed <125.569060> / animSpeed; //delta=-4.19 turn lbleg to y-axis <-0.069229> speed <5.041008> / animSpeed; //delta=0.17 @@ -141,7 +144,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn turret to y-axis <-2.815453> speed <11.536414> / animSpeed; //delta=0.38 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:30 + if (bMoving) { //Frame:30 turn lbfoot to x-axis <-25.877256> speed <370.116664> / animSpeed; //delta=-12.34 turn lbfoot to z-axis <-0.134749> speed <3.493917> / animSpeed; //delta=0.12 turn lbleg to x-axis <4.181747> speed <38.059321> / animSpeed; //delta=-1.27 @@ -162,12 +165,12 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn rftoe to x-axis <7.328124> speed <458.076651> / animSpeed; //delta=15.27 move torso to y-axis [1.555000] speed [32.071874] / animSpeed; //delta=1.07 turn torso to x-axis <-1.200000> speed <7.718749> / animSpeed; //delta=0.26 - turn torso to z-axis <1.600000> speed <24.0> / animSpeed; //delta=-0.80 + turn torso to z-axis <1.600000> speed <24.000000> / animSpeed; //delta=-0.80 turn torso to y-axis <-0.893750> speed <8.835939> / animSpeed; //delta=0.29 turn turret to y-axis <-2.137499> speed <20.338598> / animSpeed; //delta=0.68 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:35 + if (bMoving) { //Frame:35 turn lbfoot to x-axis <-14.943303> speed <328.018588> / animSpeed; //delta=-10.93 turn lbfoot to z-axis <-0.471268> speed <10.095570> / animSpeed; //delta=0.34 turn lbfoot to y-axis <0.184838> speed <4.318883> / animSpeed; //delta=0.14 @@ -195,7 +198,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn turret to y-axis <-1.073153> speed <31.930394> / animSpeed; //delta=1.06 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:40 + if (bMoving) { //Frame:40 turn lbfoot to x-axis <-7.928367> speed <210.448066> / animSpeed; //delta=-7.01 turn lbfoot to z-axis <-0.766917> speed <8.869465> / animSpeed; //delta=0.30 turn lbfoot to y-axis <0.356247> speed <5.142271> / animSpeed; //delta=0.17 @@ -221,11 +224,11 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations move torso to y-axis [3.110000] speed [14.578128] / animSpeed; //delta=0.49 turn torso to x-axis <0.311111> speed <32.947912> / animSpeed; //delta=-1.10 turn torso to z-axis <3.200000> speed <16.799999> / animSpeed; //delta=-0.56 - turn torso to y-axis <0.0> speed <14.320312> / animSpeed; //delta=0.48 + turn torso to y-axis <0.000000> speed <14.320312> / animSpeed; //delta=0.48 turn turret to y-axis <0.200000> speed <38.194597> / animSpeed; //delta=1.27 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:45 + if (bMoving) { //Frame:45 turn lbfoot to x-axis <-2.584850> speed <160.305528> / animSpeed; //delta=-5.34 turn lbleg to x-axis <8.751655> speed <88.329458> / animSpeed; //delta=-2.94 turn lbleg to z-axis <-1.084371> speed <6.712065> / animSpeed; //delta=0.22 @@ -256,7 +259,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn turret to y-axis <1.454942> speed <37.648242> / animSpeed; //delta=1.25 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:50 + if (bMoving) { //Frame:50 turn lbfoot to x-axis <8.082386> speed <320.017067> / animSpeed; //delta=-10.67 turn lbfoot to z-axis <-0.979380> speed <3.399147> / animSpeed; //delta=0.11 turn lbleg to x-axis <9.477148> speed <21.764799> / animSpeed; //delta=-0.73 @@ -287,7 +290,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn turret to y-axis <2.537500> speed <32.476743> / animSpeed; //delta=1.08 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:55 + if (bMoving) { //Frame:55 call-script lua_UnitScriptDecal(1, (get PIECE_XZ(rffoot) & 0xffff0000) / 0x00010000 , (get PIECE_XZ(rffoot) & 0x0000ffff), get HEADING(0)); //call-script lua_UnitScriptDecal(1, (get PIECE_XZ(lbfoot) & 0xffff0000) / 0x00010000 , (get PIECE_XZ(lbfoot) & 0x0000ffff), get HEADING(0)); turn lbfoot to x-axis <25.002258> speed <507.596155> / animSpeed; //delta=-16.92 @@ -321,7 +324,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn turret to y-axis <3.306511> speed <23.070343> / animSpeed; //delta=0.77 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:60 + if (bMoving) { //Frame:60 turn lbfoot to x-axis <39.275179> speed <428.187650> / animSpeed; //delta=-14.27 turn lbleg to x-axis <6.702107> speed <59.494619> / animSpeed; //delta=1.98 turn lbleg to z-axis <-1.009790> speed <9.694171> / animSpeed; //delta=-0.32 @@ -346,14 +349,14 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn rftoe to x-axis <-54.204279> speed <234.086805> / animSpeed; //delta=7.80 turn rftoe to z-axis <-2.689099> speed <11.555912> / animSpeed; //delta=0.39 turn rftoe to y-axis <-1.274576> speed <13.611476> / animSpeed; //delta=-0.45 - move torso to y-axis [0.0] speed [14.578124] / animSpeed; //delta=-0.49 - turn torso to x-axis <-0.0> speed <47.114583> / animSpeed; //delta=1.57 - turn torso to z-axis <0.0> speed <35.249987> / animSpeed; //delta=1.17 + move torso to y-axis [0.000000] speed [14.578124] / animSpeed; //delta=-0.49 + turn torso to x-axis <-0.000000> speed <47.114583> / animSpeed; //delta=1.57 + turn torso to z-axis <0.000000> speed <35.249987> / animSpeed; //delta=1.17 turn torso to y-axis <1.300000> speed <3.351565> / animSpeed; //delta=0.11 turn turret to y-axis <3.600000> speed <8.804656> / animSpeed; //delta=0.29 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:65 + if (bMoving) { //Frame:65 turn lbfoot to x-axis <39.119150> speed <4.680865> / animSpeed; //delta=0.16 turn lbfoot to z-axis <-0.333592> speed <25.425057> / animSpeed; //delta=-0.85 turn lbfoot to y-axis <0.140686> speed <11.121313> / animSpeed; //delta=-0.37 @@ -387,7 +390,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn turret to y-axis <3.250546> speed <10.483602> / animSpeed; //delta=-0.35 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:70 + if (bMoving) { //Frame:70 turn lbfoot to x-axis <29.032327> speed <302.604701> / animSpeed; //delta=10.09 turn lbfoot to z-axis <0.120374> speed <13.618966> / animSpeed; //delta=-0.45 turn lbfoot to y-axis <-0.060817> speed <6.045081> / animSpeed; //delta=-0.20 @@ -417,7 +420,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn turret to y-axis <2.490625> speed <22.797652> / animSpeed; //delta=-0.76 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:75 + if (bMoving) { //Frame:75 turn lbfoot to x-axis <20.997946> speed <241.031416> / animSpeed; //delta=8.03 turn lbfoot to z-axis <0.371860> speed <7.544595> / animSpeed; //delta=-0.25 turn lbleg to x-axis <-10.511676> speed <125.290920> / animSpeed; //delta=4.18 @@ -448,7 +451,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn turret to y-axis <1.575390> speed <27.457031> / animSpeed; //delta=-0.92 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:80 + if (bMoving) { //Frame:80 turn lbfoot to x-axis <12.686411> speed <249.346053> / animSpeed; //delta=8.31 turn lbfoot to z-axis <0.485320> speed <3.403795> / animSpeed; //delta=-0.11 turn lbleg to x-axis <-12.217482> speed <51.174193> / animSpeed; //delta=1.71 @@ -472,14 +475,14 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn rftoe to x-axis <-28.437575> speed <343.114143> / animSpeed; //delta=-11.44 turn rftoe to z-axis <-2.033867> speed <8.073194> / animSpeed; //delta=-0.27 turn rftoe to y-axis <-0.669816> speed <9.850035> / animSpeed; //delta=0.33 - move torso to y-axis [3.0] speed [14.062500] / animSpeed; //delta=0.47 + move torso to y-axis [3.000000] speed [14.062500] / animSpeed; //delta=0.47 turn torso to x-axis <0.311111> speed <32.947918> / animSpeed; //delta=-1.10 turn torso to z-axis <-3.200000> speed <8.249996> / animSpeed; //delta=0.27 turn torso to y-axis <-0.005000> speed <15.292972> / animSpeed; //delta=-0.51 turn turret to y-axis <0.050000> speed <45.761722> / animSpeed; //delta=-1.53 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:85 + if (bMoving) { //Frame:85 turn lbfoot to x-axis <-2.113223> speed <443.989021> / animSpeed; //delta=14.80 turn lbfoot to z-axis <0.380795> speed <3.135759> / animSpeed; //delta=0.10 turn lbleg to x-axis <-9.659873> speed <76.728288> / animSpeed; //delta=-2.56 @@ -513,7 +516,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn turret to y-axis <-2.235313> speed <68.559371> / animSpeed; //delta=-2.29 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:90 + if (bMoving) { //Frame:90 turn lbfoot to x-axis <-12.491154> speed <311.337941> / animSpeed; //delta=10.38 turn lbfoot to z-axis <0.276222> speed <3.137174> / animSpeed; //delta=0.10 turn lbleg to x-axis <-6.905784> speed <82.622643> / animSpeed; //delta=-2.75 @@ -540,25 +543,25 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn rftoe to y-axis <-0.238617> speed <4.344245> / animSpeed; //delta=0.14 move torso to y-axis [1.500000] speed [22.500000] / animSpeed; //delta=-0.75 turn torso to x-axis <2.455555> speed <21.885415> / animSpeed; //delta=-0.73 - turn torso to z-axis <-1.600000> speed <24.0> / animSpeed; //delta=-0.80 + turn torso to z-axis <-1.600000> speed <24.000000> / animSpeed; //delta=-0.80 turn torso to y-axis <-0.902188> speed <9.053435> / animSpeed; //delta=-0.30 turn turret to y-axis <-3.500000> speed <37.940610> / animSpeed; //delta=-1.26 sleep ((33*animSpeed) -1); } } } -// Call this from StopMoving()! +// Call this from MotionControl()! StopWalking() { - move torso to y-axis [0.0] speed [6.414375]; - turn lbfoot to x-axis <0.0> speed <101.519231>; - turn lbfoot to y-axis <0.0> speed <2.224263>; - turn lbfoot to z-axis <0.0> speed <5.085011>; - turn lbleg to x-axis <0.0> speed <40.843584>; - turn lbleg to y-axis <0.0> speed <4.819801>; - turn lbleg to z-axis <0.0> speed <4.280255>; - turn lbtoe to x-axis <0.0> speed <80.986960>; - turn lbtoe to y-axis <0.0> speed <3.700272>; - turn lbtoe to z-axis <0.0> speed <8.309086>; + move torso to y-axis [0.000000] speed [6.414375]; + turn lbfoot to x-axis <0.000000> speed <101.519231>; + turn lbfoot to y-axis <0.000000> speed <2.224263>; + turn lbfoot to z-axis <0.000000> speed <5.085011>; + turn lbleg to x-axis <0.000000> speed <40.843584>; + turn lbleg to y-axis <0.000000> speed <4.819801>; + turn lbleg to z-axis <0.000000> speed <4.280255>; + turn lbtoe to x-axis <0.000000> speed <80.986960>; + turn lbtoe to y-axis <0.000000> speed <3.700272>; + turn lbtoe to z-axis <0.000000> speed <8.309086>; turn lffoot to x-axis <-4.814301> speed <190.362326>; turn lffoot to y-axis <0.631120> speed <1.997012>; turn lffoot to z-axis <-1.112051> speed <3.480190>; @@ -567,14 +570,14 @@ StopWalking() { turn lfleg to z-axis <-1.995785> speed <6.029144>; turn lftoe to x-axis <2.579520> speed <227.352916>; turn lftoe to y-axis <0.340695> speed <3.437083>; - turn lftoe to z-axis <0.0> speed <13.743443>; - turn rbfoot to x-axis <0.0> speed <108.543787>; - turn rbleg to x-axis <0.0> speed <58.888458>; - turn rbleg to y-axis <0.0> speed <2.103791>; - turn rbleg to z-axis <0.0> speed <12.926275>; - turn rbtoe to x-axis <0.0> speed <91.093345>; - turn rbtoe to y-axis <0.0> speed <1.956300>; - turn rbtoe to z-axis <0.0> speed <9.412104>; + turn lftoe to z-axis <0.000000> speed <13.743443>; + turn rbfoot to x-axis <0.000000> speed <108.543787>; + turn rbleg to x-axis <0.000000> speed <58.888458>; + turn rbleg to y-axis <0.000000> speed <2.103791>; + turn rbleg to z-axis <0.000000> speed <12.926275>; + turn rbtoe to x-axis <0.000000> speed <91.093345>; + turn rbtoe to y-axis <0.000000> speed <1.956300>; + turn rbtoe to z-axis <0.000000> speed <9.412104>; turn rffoot to x-axis <-8.474024> speed <199.463980>; turn rffoot to y-axis <-0.722779> speed <2.382917>; turn rffoot to z-axis <1.248561> speed <4.129284>; @@ -583,11 +586,11 @@ StopWalking() { turn rfleg to z-axis <2.272276> speed <7.169205>; turn rftoe to x-axis <5.968598> speed <232.992868>; turn rftoe to y-axis <-0.399113> speed <2.722295>; - turn rftoe to z-axis <0.0> speed <5.303534>; - turn torso to x-axis <0.0> speed <9.422917>; - turn torso to y-axis <0.0> speed <3.572438>; - turn torso to z-axis <0.0> speed <7.050000>; - turn turret to y-axis <0.0> speed <13.711874>; + turn rftoe to z-axis <0.000000> speed <5.303534>; + turn torso to x-axis <0.000000> speed <9.422917>; + turn torso to y-axis <0.000000> speed <3.572438>; + turn torso to z-axis <0.000000> speed <7.050000>; + turn turret to y-axis <0.000000> speed <13.711874>; } // REMEMBER TO animspeed = 5 in Create() !! UnitSpeed(){ @@ -604,16 +607,16 @@ UnitSpeed(){ sleep 164; } } -StartMoving(reversing){ - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; - isMoving=TRUE; +StartMoving(){ + signal SIG_WALK; + set-signal-mask SIG_WALK; + bMoving=TRUE; start-script Walk(); start-script UnitSpeed(); } StopMoving(){ - isMoving=FALSE; - signal SIGNAL_MOVE; + bMoving=FALSE; + signal SIG_WALK; call-script StopWalking(); } @@ -623,7 +626,7 @@ StopMoving(){ #define UNITSIZE 15 #define MAXTILT 100 -#include "../unit_hitbyweaponid_and_smoke.h" +#include "unit_hitbyweaponid_and_smoke.h" Create() { @@ -632,51 +635,58 @@ Create() hide aimy1; hide llaserflare; hide rlaserflare; - isMoving = FALSE; + bMoving = FALSE; + Static_Var_2 = 0; + Static_Var_3 = 1; animSpeed = 5; mainturretheading = 0; restore_delay = 3000; } -SetMaxReloadTime(reloadMS) +SetMaxReloadTime(Func_Var_1) { - restore_delay = reloadMS * 2; + restore_delay = Func_Var_1 * 2; } - +SweetSpot(piecenum) +{ + piecenum = torso; +} RestoreAfterDelay() { set-signal-mask 4 | 8 | 16 | 32; sleep restore_delay; - turn aimy1 to y-axis <0.0> speed <50.0>; - turn sleeve to x-axis <0.0> speed <30.0>; + turn aimy1 to y-axis <0.000000> speed <50.000000>; + turn sleeve to x-axis <0.000000> speed <30.000000>; - turn toplaser to x-axis <0.0> speed <30.0>; - turn toplaser to y-axis <0.0> speed <30.0>; - turn llaser to x-axis <0.0> speed <30.0>; - turn rlaser to x-axis <0.0> speed <30.0>; + turn toplaser to x-axis <0.000000> speed <30.000000>; + turn toplaser to y-axis <0.000000> speed <30.000000>; + turn llaser to x-axis <0.000000> speed <30.000000>; + turn rlaser to x-axis <0.000000> speed <30.000000>; + Static_Var_2 = 0; } -AimFromWeapon1(pieceIndex) +AimFromWeapon1(piecenum) { - pieceIndex = sleeve; + piecenum = sleeve; } -QueryWeapon1(pieceIndex) +QueryWeapon1(piecenum) { - pieceIndex = mainbarrelflare; + piecenum = mainbarrelflare; } AimWeapon1(heading, pitch) { signal 4; set-signal-mask 4; + Static_Var_2 = 1; mainturretheading = heading; - turn aimy1 to y-axis heading speed <90.0>; - turn sleeve to x-axis <0.0> - pitch speed <50.0>; + turn aimy1 to y-axis heading speed <90.000000>; + turn sleeve to x-axis <0.000000> - pitch speed <50.000000>; wait-for-turn aimy1 around y-axis; wait-for-turn sleeve around x-axis; start-script RestoreAfterDelay(); @@ -686,9 +696,9 @@ AimWeapon1(heading, pitch) FireWeapon1() { - move mainbarrel to z-axis [-5.0] now; + move mainbarrel to z-axis [-5.000000] now; sleep 150; - move mainbarrel to z-axis [0.0] speed [10.0]; + move mainbarrel to z-axis [0.000000] speed [10.000000]; } AimWeapon2(heading, pitch) @@ -703,16 +713,19 @@ AimWeapon2(heading, pitch) FireWeapon2() { set CHANGE_TARGET to 2; + /*show flare1; + sleep 150; + hide flare1;*/ } -AimFromWeapon2(pieceIndex) +AimFromWeapon2(piecenum) { - pieceIndex = llaser; + piecenum = llaser; } -QueryWeapon2(pieceIndex) +QueryWeapon2(piecenum) { - pieceIndex = llaserflare; + piecenum = llaserflare; } AimWeapon3(heading, pitch) @@ -727,16 +740,19 @@ AimWeapon3(heading, pitch) FireWeapon3() { set CHANGE_TARGET to 3; + /*show flare2; + sleep 150; + hide flare2;*/ } -AimFromWeapon3(pieceIndex) +AimFromWeapon3(piecenum) { - pieceIndex = rlaser; + piecenum = rlaser; } -QueryWeapon3(pieceIndex) +QueryWeapon3(piecenum) { - pieceIndex = rlaserflare; + piecenum = rlaserflare; } AimWeapon4(heading, pitch) @@ -744,7 +760,7 @@ AimWeapon4(heading, pitch) signal 32; set-signal-mask 32; turn toplaser to y-axis heading - mainturretheading speed <300.071429>; - turn toplaser to x-axis <0.0> - pitch speed <200.038462>; + turn toplaser to x-axis <0.000000> - pitch speed <200.038462>; wait-for-turn toplaser around y-axis; wait-for-turn toplaser around x-axis; return (1); @@ -753,29 +769,32 @@ AimWeapon4(heading, pitch) FireWeapon4() { set CHANGE_TARGET to 4; + /*show flare3; + sleep 150; + hide flare3;*/ } -AimFromWeapon4(pieceIndex) +AimFromWeapon4(piecenum) { - pieceIndex = toplaser; + piecenum = toplaser; } -QueryWeapon4(pieceIndex) +QueryWeapon4(piecenum) { - pieceIndex = toplaserflare; + piecenum = toplaserflare; } static-var bAnimate; //Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\animation\corjugg_anim_death.blend Killed(severity, corpsetype) { - signal SIGNAL_MOVE; + signal SIG_WALK; bAnimate = TRUE; if (bAnimate) { //Frame:10 turn lbfoot to x-axis <5.952370> speed <17.857110> ; turn lbleg to x-axis <-6.823079> speed <20.469238> ; turn lbtoe to x-axis <0.546280> speed <1.638839> ; - turn lffoot to x-axis <-13.333661> speed <40.0> ; + turn lffoot to x-axis <-13.333661> speed <40.000982> ; turn lfleg to x-axis <-0.455335> speed <1.366006> ; turn lftoe to x-axis <13.148243> speed <39.444729> ; turn rbfoot to x-axis <5.851174> speed <17.553521> ; @@ -809,7 +828,7 @@ Killed(severity, corpsetype) turn rftoe to x-axis <6.999929> speed <18.107671> ; move torso to x-axis [-0.153863] speed [0.355069] ; move torso to y-axis [-7.345634] speed [16.951463] ; - turn turret to x-axis <-0.0> speed <18.909967> ; + turn turret to x-axis <-0.000000> speed <18.909967> ; sleep 329; } if (bAnimate) { //Frame:25 diff --git a/scripts/Units/corjugg.cob b/scripts/Units/corjugg.cob index bea58bdaa62e363bed40f053cc7249ba1251073c..bc7dd9fbbcaeee4444cad811e3742f1a50aa345c 100644 GIT binary patch literal 29672 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 HoE!NCm2IKd literal 1843 zcmbVNJ!@1^5S`t9*@&WCA&p?MHewOUi;aR!R)Z)a#v~wE<>}tY;;tKBRxoH`p^b&V zKqQ5woxS1@u(hzW6KoW;5dxkwZ)S5@vk_bvX70?HnKSp}Z6+cIA$7>}nn(khztyJ5 zW5{dBEY@$JWlaJgQVVs}SzZrV>UtIdu02k_EH#6)fJub8M;U8nLDrh#7)<&)^Z`#h zqm4N2Htl>$v2!pp_{fzphGc0sMj!i=2Qdt6WCyw(n_bE*3XVA=Lf3G>NC9lrNv4H*)n_`&HnSJlu2(l;FlX#QER|0Gv z&dl?WP@ReAQcGUbnOGQ`U;W+*!5bE*4J>OYcDs60C*kMZzv(oN$BD%o zo>E{Hr^~-3>K;48bT895xuo;)+axV}&(@o@nNLkF+t3oGN9XQq#UV~jE@@reXR8|l zU>)w|esy264*Kj@_YN^u_mS1r_mEHK`)Wd6a{Av~mOKnO4|&H0xEzAaK=?l~2RRGj zf680P2gparXUI3m4&=Zz@Q@RbQ;^e;i)Ac^Q7(6f7q)K3Vq speed <707.0> / animSpeed; + //set-signal-mask SIG_WALK; + if (bMoving) { //Frame:3 + turn lbfoot to z-axis <-11.433307> speed <707.000778> / animSpeed; turn lbhip to y-axis <-0.286453> speed <1358.593628> / animSpeed; turn lbleg to z-axis <-9.263622> speed <517.908622> / animSpeed; turn lffoot to z-axis <-59.009843> speed <510.295249> / animSpeed; @@ -36,11 +38,11 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\PtaQ turn rmhip to y-axis <21.942801> speed <658.284019> / animSpeed; turn rmleg to z-axis <-20.320197> speed <159.605897> / animSpeed; turn shoulder to x-axis <-0.099338> speed <6.221768> / animSpeed; - turn turret to z-axis <0.400000> speed <12.0> / animSpeed; + turn turret to z-axis <0.400000> speed <12.000000> / animSpeed; sleep 65; } - while(isMoving) { - if (isMoving) { //Frame:5 + while(bMoving) { + if (bMoving) { //Frame:5 turn lbfoot to z-axis <-19.620212> speed <245.607139> / animSpeed; turn lbhip to y-axis <-3.589625> speed <99.095164> / animSpeed; turn lbleg to z-axis <2.135972> speed <341.987802> / animSpeed; @@ -62,11 +64,11 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\PtaQ turn rmhip to y-axis <17.904151> speed <121.159496> / animSpeed; turn rmleg to z-axis <-17.605352> speed <81.445344> / animSpeed; turn shoulder to x-axis <0.233542> speed <9.986381> / animSpeed; - turn turret to z-axis <0.800000> speed <12.0> / animSpeed; - turn turret to y-axis <0.500000> speed <15.0> / animSpeed; + turn turret to z-axis <0.800000> speed <12.000000> / animSpeed; + turn turret to y-axis <0.500000> speed <15.000000> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:7 + if (bMoving) { //Frame:7 turn lbfoot to z-axis <-23.720323> speed <123.003340> / animSpeed; turn lbhip to y-axis <-2.043328> speed <46.388903> / animSpeed; turn lbleg to z-axis <3.558429> speed <42.673707> / animSpeed; @@ -89,11 +91,11 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\PtaQ turn rmhip to y-axis <13.865500> speed <121.159522> / animSpeed; turn rmleg to z-axis <-14.890504> speed <81.445447> / animSpeed; turn shoulder to x-axis <0.566421> speed <9.986382> / animSpeed; - turn turret to z-axis <1.200000> speed <12.0> / animSpeed; - turn turret to y-axis <1.0> speed <15.0> / animSpeed; + turn turret to z-axis <1.200000> speed <12.000000> / animSpeed; + turn turret to y-axis <1.000000> speed <15.000000> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:9 + if (bMoving) { //Frame:9 turn lbfoot to z-axis <-16.492328> speed <216.839843> / animSpeed; turn lbhip to y-axis <4.397770> speed <193.232954> / animSpeed; turn lbleg to z-axis <-3.138384> speed <200.904367> / animSpeed; @@ -117,11 +119,11 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\PtaQ turn rmleg to z-axis <-10.295626> speed <137.846348> / animSpeed; turn shoulder to x-axis <1.260909> speed <20.834635> / animSpeed; move turret to y-axis [0.737093] speed [7.500000] / animSpeed; - turn turret to x-axis <1.0> speed <30.0> / animSpeed; - turn turret to z-axis <1.600000> speed <12.0> / animSpeed; + turn turret to x-axis <1.000000> speed <30.000000> / animSpeed; + turn turret to z-axis <1.600000> speed <12.000000> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:11 + if (bMoving) { //Frame:11 turn lbfoot to z-axis <-21.852251> speed <160.797679> / animSpeed; turn lbhip to y-axis <9.133693> speed <142.077676> / animSpeed; turn lbleg to z-axis <0.557655> speed <110.881171> / animSpeed; @@ -145,11 +147,11 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\PtaQ turn rmleg to z-axis <-5.700750> speed <137.846272> / animSpeed; turn shoulder to x-axis <1.955397> speed <20.834636> / animSpeed; move turret to y-axis [0.487093] speed [7.500000] / animSpeed; - turn turret to x-axis <2.0> speed <30.0> / animSpeed; - turn turret to z-axis <2.0> speed <12.0> / animSpeed; + turn turret to x-axis <2.000000> speed <30.000000> / animSpeed; + turn turret to z-axis <2.000000> speed <12.000000> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:13 + if (bMoving) { //Frame:13 turn lbfoot to z-axis <-27.212181> speed <160.797884> / animSpeed; turn lbhip to y-axis <13.869614> speed <142.077651> / animSpeed; turn lbleg to z-axis <4.253695> speed <110.881171> / animSpeed; @@ -178,7 +180,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\PtaQ turn turret to y-axis <0.750000> speed <7.499999> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:15 + if (bMoving) { //Frame:15 turn lbfoot to z-axis <-32.231116> speed <150.568071> / animSpeed; turn lbhip to y-axis <18.620540> speed <142.527777> / animSpeed; turn lbleg to z-axis <7.895835> speed <109.264222> / animSpeed; @@ -202,12 +204,12 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\PtaQ turn rmleg to z-axis <-8.108981> speed <36.123475> / animSpeed; turn shoulder to x-axis <1.303305> speed <28.903882> / animSpeed; move turret to y-axis [0.737093] speed [3.750000] / animSpeed; - turn turret to x-axis <1.0> speed <14.999998> / animSpeed; - turn turret to z-axis <1.0> speed <14.999998> / animSpeed; + turn turret to x-axis <1.000000> speed <14.999998> / animSpeed; + turn turret to z-axis <1.000000> speed <14.999998> / animSpeed; turn turret to y-axis <0.500000> speed <7.499999> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:17 + if (bMoving) { //Frame:17 turn lbfoot to z-axis <-37.250062> speed <150.568378> / animSpeed; turn lbhip to y-axis <23.371466> speed <142.527777> / animSpeed; turn lbleg to z-axis <11.537976> speed <109.264235> / animSpeed; @@ -231,12 +233,12 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\PtaQ turn rmleg to z-axis <-15.132289> speed <210.699255> / animSpeed; turn shoulder to x-axis <0.339843> speed <28.903883> / animSpeed; move turret to y-axis [0.862093] speed [3.750000] / animSpeed; - turn turret to x-axis <0.500000> speed <15.0> / animSpeed; - turn turret to z-axis <0.500000> speed <15.0> / animSpeed; + turn turret to x-axis <0.500000> speed <15.000001> / animSpeed; + turn turret to z-axis <0.500000> speed <15.000001> / animSpeed; turn turret to y-axis <0.250000> speed <7.500001> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:19 + if (bMoving) { //Frame:19 turn lbfoot to z-axis <-55.477911> speed <546.835463> / animSpeed; turn lbhip to y-axis <32.066164> speed <260.840929> / animSpeed; turn lbleg to z-axis <21.041351> speed <285.101223> / animSpeed; @@ -259,12 +261,12 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\PtaQ turn rmleg to z-axis <-22.155599> speed <210.699281> / animSpeed; turn shoulder to x-axis <-0.099338> speed <13.175412> / animSpeed; move turret to y-axis [0.987093] speed [3.750000] / animSpeed; - turn turret to x-axis <-0.0> speed <15.0> / animSpeed; - turn turret to z-axis <-0.0> speed <15.0> / animSpeed; - turn turret to y-axis <0.0> speed <7.500001> / animSpeed; + turn turret to x-axis <-0.000000> speed <15.000001> / animSpeed; + turn turret to z-axis <-0.000000> speed <15.000001> / animSpeed; + turn turret to y-axis <0.000000> speed <7.500001> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:21 + if (bMoving) { //Frame:21 turn lbfoot to z-axis <-73.705760> speed <546.835463> / animSpeed; turn lbhip to y-axis <40.760861> speed <260.840929> / animSpeed; turn lbleg to z-axis <30.544722> speed <285.101146> / animSpeed; @@ -286,11 +288,11 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\PtaQ turn rmhip to y-axis <-14.435069> speed <155.904942> / animSpeed; turn rmleg to z-axis <-8.632600> speed <405.689954> / animSpeed; turn shoulder to x-axis <0.233542> speed <9.986381> / animSpeed; - turn turret to z-axis <-0.500000> speed <15.0> / animSpeed; - turn turret to y-axis <-0.500000> speed <15.0> / animSpeed; + turn turret to z-axis <-0.500000> speed <15.000000> / animSpeed; + turn turret to y-axis <-0.500000> speed <15.000000> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:23 + if (bMoving) { //Frame:23 turn lbfoot to z-axis <-62.879527> speed <324.786970> / animSpeed; turn lbhip to y-axis <35.868021> speed <146.785205> / animSpeed; turn lbleg to z-axis <20.962242> speed <287.474415> / animSpeed; @@ -313,11 +315,11 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\PtaQ turn rmhip to y-axis <-9.238234> speed <155.905044> / animSpeed; turn rmleg to z-axis <4.890399> speed <405.689980> / animSpeed; turn shoulder to x-axis <0.566421> speed <9.986382> / animSpeed; - turn turret to z-axis <-1.0> speed <15.0> / animSpeed; - turn turret to y-axis <-1.0> speed <15.0> / animSpeed; + turn turret to z-axis <-1.000000> speed <15.000000> / animSpeed; + turn turret to y-axis <-1.000000> speed <15.000000> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:25 + if (bMoving) { //Frame:25 turn lbfoot to z-axis <-52.053292> speed <324.787072> / animSpeed; turn lbhip to y-axis <30.975181> speed <146.785205> / animSpeed; turn lbleg to z-axis <11.379754> speed <287.474620> / animSpeed; @@ -341,11 +343,11 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\PtaQ turn rmleg to z-axis <18.413399> speed <405.690006> / animSpeed; turn shoulder to x-axis <1.260909> speed <20.834635> / animSpeed; move turret to y-axis [0.737093] speed [7.500000] / animSpeed; - turn turret to z-axis <-1.500000> speed <15.0> / animSpeed; - turn turret to y-axis <-1.500000> speed <15.0> / animSpeed; + turn turret to z-axis <-1.500000> speed <15.000001> / animSpeed; + turn turret to y-axis <-1.500000> speed <15.000001> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:27 + if (bMoving) { //Frame:27 turn lbfoot to z-axis <-41.227066> speed <324.786765> / animSpeed; turn lbhip to y-axis <26.082343> speed <146.785154> / animSpeed; turn lbleg to z-axis <1.797270> speed <287.474543> / animSpeed; @@ -362,18 +364,18 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\PtaQ turn rbleg to z-axis <-0.557655> speed <110.881056> / animSpeed; turn rffoot to z-axis <27.719495> speed <414.600047> / animSpeed; turn rfhip to y-axis <37.233601> speed <137.514043> / animSpeed; - turn rfleg to z-axis <0.0> speed <341.792963> / animSpeed; + turn rfleg to z-axis <0.000000> speed <341.792963> / animSpeed; turn rlauncher to x-axis <3.560510> speed <62.844731> / animSpeed; turn rmfoot to z-axis <36.895797> speed <262.649887> / animSpeed; turn rmhip to y-axis <1.155430> speed <155.904897> / animSpeed; turn rmleg to z-axis <15.727199> speed <80.586021> / animSpeed; turn shoulder to x-axis <1.955397> speed <20.834636> / animSpeed; move turret to y-axis [0.487093] speed [7.500000] / animSpeed; - turn turret to z-axis <-2.0> speed <14.999998> / animSpeed; - turn turret to y-axis <-2.0> speed <14.999998> / animSpeed; + turn turret to z-axis <-2.000000> speed <14.999998> / animSpeed; + turn turret to y-axis <-2.000000> speed <14.999998> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:29 + if (bMoving) { //Frame:29 turn lbfoot to z-axis <-30.400834> speed <324.786970> / animSpeed; turn lbhip to y-axis <21.189504> speed <146.785154> / animSpeed; turn lbleg to z-axis <-7.785216> speed <287.474568> / animSpeed; @@ -397,11 +399,11 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\PtaQ turn rmleg to z-axis <11.121329> speed <138.176093> / animSpeed; turn shoulder to x-axis <2.266768> speed <9.341144> / animSpeed; move turret to y-axis [0.612093] speed [3.750000] / animSpeed; - turn turret to z-axis <-1.400000> speed <18.0> / animSpeed; + turn turret to z-axis <-1.400000> speed <18.000000> / animSpeed; turn turret to y-axis <-1.500000> speed <14.999998> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:31 + if (bMoving) { //Frame:31 turn lbfoot to z-axis <-19.574595> speed <324.787175> / animSpeed; turn lbhip to y-axis <16.296667> speed <146.785102> / animSpeed; turn lbleg to z-axis <-17.367701> speed <287.474543> / animSpeed; @@ -426,10 +428,10 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\PtaQ turn shoulder to x-axis <1.303305> speed <28.903882> / animSpeed; move turret to y-axis [0.737093] speed [3.750000] / animSpeed; turn turret to z-axis <-0.800000> speed <17.999998> / animSpeed; - turn turret to y-axis <-1.0> speed <14.999998> / animSpeed; + turn turret to y-axis <-1.000000> speed <14.999998> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:33 + if (bMoving) { //Frame:33 turn lbfoot to z-axis <-11.463393> speed <243.336042> / animSpeed; turn lbhip to y-axis <7.359210> speed <268.123737> / animSpeed; turn lbleg to z-axis <-22.712790> speed <160.352676> / animSpeed; @@ -453,17 +455,17 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\PtaQ turn rmleg to z-axis <-6.902370> speed <402.534894> / animSpeed; turn shoulder to x-axis <0.339843> speed <28.903883> / animSpeed; move turret to y-axis [0.862093] speed [3.750000] / animSpeed; - turn turret to z-axis <-0.200000> speed <18.0> / animSpeed; - turn turret to y-axis <-0.500000> speed <15.0> / animSpeed; + turn turret to z-axis <-0.200000> speed <18.000000> / animSpeed; + turn turret to y-axis <-0.500000> speed <15.000001> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:35 + if (bMoving) { //Frame:35 turn lbhip to y-axis <-0.286453> speed <229.369876> / animSpeed; turn lbleg to z-axis <-9.263622> speed <403.475052> / animSpeed; turn lffoot to z-axis <-59.009843> speed <349.278935> / animSpeed; turn lfhip to y-axis <-55.078676> speed <185.398757> / animSpeed; turn lfleg to z-axis <16.273923> speed <327.226602> / animSpeed; - turn llauncher to x-axis <-0.0> speed <20.466714> / animSpeed; + turn llauncher to x-axis <-0.000000> speed <20.466714> / animSpeed; turn lmfoot to z-axis <-52.301176> speed <258.931413> / animSpeed; turn lmhip to y-axis <19.631905> speed <169.910245> / animSpeed; turn lmleg to z-axis <22.155638> speed <210.699844> / animSpeed; @@ -476,55 +478,55 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\PtaQ turn rffoot to z-axis <3.538001> speed <103.615031> / animSpeed; turn rfhip to y-axis <5.639020> speed <270.107826> / animSpeed; turn rfleg to z-axis <6.296090> speed <26.231794> / animSpeed; - turn rlauncher to x-axis <-0.0> speed <72.488744> / animSpeed; + turn rlauncher to x-axis <-0.000000> speed <72.488744> / animSpeed; turn rmfoot to z-axis <51.259395> speed <272.281427> / animSpeed; turn rmhip to y-axis <21.942801> speed <173.236530> / animSpeed; turn rmleg to z-axis <-20.320197> speed <402.534817> / animSpeed; turn shoulder to x-axis <-0.099338> speed <13.175412> / animSpeed; move turret to y-axis [0.987093] speed [3.750000] / animSpeed; - turn turret to z-axis <0.400000> speed <18.0> / animSpeed; - turn turret to y-axis <0.0> speed <15.0> / animSpeed; + turn turret to z-axis <0.400000> speed <18.000001> / animSpeed; + turn turret to y-axis <0.000000> speed <15.000001> / animSpeed; sleep ((33*animSpeed) -1); } } } -// Call this from StopMoving()! +// Call this from MotionControl()! StopWalking() { move lbhip to y-axis [-2.366058] speed [-2.087699]; move lfhip to y-axis [-2.366060] speed [-2.087700]; move lmhip to y-axis [-2.366058] speed [-2.087699]; - move pelvis to x-axis [0.0] speed [36.118491]; + move pelvis to x-axis [0.000000] speed [36.118491]; move pelvis to y-axis [2.872063] speed [6.000001]; - move pelvis to z-axis [0.0] speed [36.118491]; + move pelvis to z-axis [0.000000] speed [36.118491]; move rbhip to y-axis [-2.366058] speed [-2.087699]; move rfhip to y-axis [-2.366058] speed [-2.087699]; move rmhip to y-axis [-2.366058] speed [-2.087699]; - move turret to y-axis [1.0] speed [3.750000]; - turn lbfoot to z-axis <-35.0> speed <353.500389>; - turn lbhip to y-axis <45.0> speed <679.296814>; + move turret to y-axis [1.000000] speed [3.750000]; + turn lbfoot to z-axis <-35.000000> speed <353.500389>; + turn lbhip to y-axis <45.000001> speed <679.296814>; turn lbleg to z-axis <7.999999> speed <258.954311>; - turn lffoot to z-axis <-42.0> speed <357.697024>; - turn lfhip to y-axis <-50.0> speed <135.054028>; - turn lfleg to z-axis <15.0> speed <276.214797>; - turn llauncher to x-axis <0.0> speed <18.973510>; - turn lmfoot to z-axis <-45.0> speed <136.140867>; - turn lmhip to y-axis <0.0> speed <294.478577>; - turn lmleg to z-axis <15.0> speed <202.845118>; + turn lffoot to z-axis <-42.000001> speed <357.697024>; + turn lfhip to y-axis <-50.000000> speed <135.054028>; + turn lfleg to z-axis <15.000000> speed <276.214797>; + turn llauncher to x-axis <0.000000> speed <18.973510>; + turn lmfoot to z-axis <-45.000001> speed <136.140867>; + turn lmhip to y-axis <0.000000> speed <294.478577>; + turn lmleg to z-axis <15.000000> speed <202.845118>; turn rbfoot to z-axis <29.999997> speed <382.168550>; - turn rbhip to y-axis <-45.0> speed <194.007050>; + turn rbhip to y-axis <-45.000001> speed <194.007050>; turn rbleg to z-axis <-7.999999> speed <201.737731>; - turn rffoot to z-axis <42.0> speed <576.930002>; - turn rfhip to y-axis <50.0> speed <665.414704>; - turn rfleg to z-axis <-15.0> speed <319.441352>; - turn rlauncher to x-axis <0.0> speed <36.244372>; - turn rmfoot to z-axis <45.0> speed <136.140714>; - turn rmhip to y-axis <0.0> speed <329.142009>; - turn rmleg to z-axis <-15.0> speed <202.845003>; + turn rffoot to z-axis <42.000001> speed <576.930002>; + turn rfhip to y-axis <50.000000> speed <665.414704>; + turn rfleg to z-axis <-15.000000> speed <319.441352>; + turn rlauncher to x-axis <0.000000> speed <36.244372>; + turn rmfoot to z-axis <45.000001> speed <136.140714>; + turn rmhip to y-axis <0.000000> speed <329.142009>; + turn rmleg to z-axis <-15.000000> speed <202.845003>; turn shoulder to x-axis <0.108055> speed <14.451942>; turn shoulder to y-axis <0.209980> speed <-0.185276>; - turn turret to x-axis <0.0> speed <15.0>; - turn turret to y-axis <0.0> speed <7.500001>; - turn turret to z-axis <0.0> speed <9.0>; + turn turret to x-axis <0.000000> speed <15.000000>; + turn turret to y-axis <0.000000> speed <7.500001>; + turn turret to z-axis <0.000000> speed <9.000001>; } // REMEMBER TO animspeed = 2 in Create() !! UnitSpeed(){ @@ -541,16 +543,16 @@ UnitSpeed(){ sleep 65; } } -StartMoving(reversing){ - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; - isMoving=TRUE; +StartMoving(){ + signal SIG_WALK; + set-signal-mask SIG_WALK; + bMoving=TRUE; start-script UnitSpeed(); start-script Walk(); } StopMoving(){ - signal SIGNAL_MOVE; - isMoving=FALSE; + signal SIG_WALK; + bMoving=FALSE; call-script StopWalking(); } @@ -562,7 +564,7 @@ StopMoving(){ #define MAXTILT 100 -#include "../unit_hitbyweaponid_and_smoke.h" +#include "unit_hitbyweaponid_and_smoke.h" Create() @@ -577,41 +579,45 @@ Create() gun_2 = 1; turn aaflare1 to x-axis <-30> now; turn aaflare2 to x-axis <-30> now; - isMoving = FALSE; - isAiming = FALSE; + bMoving = FALSE; + bAiming = FALSE; animSpeed = 4; wpnheading = 0; return (0); } +SweetSpot(piecenum) +{ + piecenum = turret; + return (0); +} - -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { //get PRINT(GET GAME_FRAME, 1111,gun_1); if( gun_1 == 1 ) { - pieceIndex = flare1; + piecenum = flare1; } if( gun_1 == 2 ) { - pieceIndex = flare2; + piecenum = flare2; } if( gun_1 == 3 ) { - pieceIndex = flare3; + piecenum = flare3; } if( gun_1 == 4 ) { - pieceIndex = flare4; + piecenum = flare4; } - return(pieceIndex); + return(piecenum); } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = turret; + piecenum = turret; return (0); } @@ -619,36 +625,36 @@ AimFromWeapon1(pieceIndex) RestoreAfterDelay() { - set-signal-mask SIGNAL_AIM1; + set-signal-mask SIG_AIM; sleep 3000; turn aimx1 to x-axis <0> speed <80>; turn aimy1 to y-axis <0> speed <80>; wait-for-turn aimy1 around y-axis; wait-for-turn aimx1 around x-axis; - isAiming = FALSE; + bAiming = FALSE; wpnheading = 0; } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - if (isAiming == 1) return; - turn aimy1 to y-axis heading speed <85.0>; - turn aimx1 to x-axis <0.0> - pitch speed <85.0>; + signal SIG_AIM; + if (bAiming == 1) return; + turn aimy1 to y-axis heading speed <85.00000>; + turn aimx1 to x-axis <0.000000> - pitch speed <85.000000>; //needed for luarules\gadgets\unit_continuous_aim.lua if ((get ABS(wpnheading - heading)) > 2000){ - isAiming = 1; + bAiming = 1; wait-for-turn aimy1 around y-axis; wait-for-turn aimx1 around x-axis; - isAiming = 0; + bAiming = 0; } wpnheading = heading; start-script RestoreAfterDelay(); return (1); } -FireWeapon1() +FirePrimary() { gun_1 = gun_1 + 1; if (gun_1 > 4) gun_1 = 1; @@ -688,37 +694,37 @@ FireWeapon1() return (1); } -AimFromWeapon2(pieceIndex) - { pieceIndex=aimx1; } +AimFromSecondary(piecenum) + { piecenum=aimx1; } -QueryWeapon2(pieceIndex) +QuerySecondary(piecenum) { if (gun_2 == 1) { - pieceIndex = aaflare1; + piecenum = aaflare1; } if (gun_2 == 2) { - pieceIndex = aaflare2; + piecenum = aaflare2; } } -RestoreAfterDelay_Weapon2() +RestoreAfterDelay_Secondary() { - set-signal-mask SIGNAL_AIM2; + set-signal-mask SIG_AIM_2; sleep 3000; turn aacover to x-axis <0> speed <300>; } -AimWeapon2(heading,pitch) +AimSecondary(heading,pitch) { - signal SIGNAL_AIM2; + signal SIG_AIM_2; turn aacover to x-axis <-150> speed <300>; - start-script RestoreAfterDelay_Weapon2(); + start-script RestoreAfterDelay_Secondary(); return(TRUE); } -FireWeapon2() +FireSecondary() { sleep 150; if (gun_2 == 1) @@ -736,8 +742,8 @@ FireWeapon2() //use call-script DeathAnim(); from Killed() DeathAnim() {// For C:\Users\PtaQ\Desktop\Dropbox\BAR\Remoddeling\Reanimating\corkarg_anim_death.blend Created by https://github.com/Beherith/Skeletor_S3O V((0, 2, 8)) - signal SIGNAL_MOVE; - signal SIGNAL_AIM1; + signal SIG_WALK; + signal SIG_AIM; call-script StopWalking(); turn aimy1 to y-axis <0> speed <120>; turn aimx1 to x-axis <0> speed <120>; @@ -1046,8 +1052,8 @@ DeathAnim() {// For C:\Users\PtaQ\Desktop\Dropbox\BAR\Remoddeling\Reanimating\co move llauncher to z-axis [2.691125] speed [7.572222] ; //delta=-0.76 move llauncher to y-axis [-6.809508] speed [16.108060] ; //delta=1.61 move pelvis to y-axis [-14.204828] speed [1.600599] ; //delta=-0.16 - turn pelvis to x-axis <-0.0> speed <2.386064> ; //delta=0.24 - turn pelvis to z-axis <-0.0> speed <4.246612> ; //delta=0.42 + turn pelvis to x-axis <-0.000000> speed <2.386064> ; //delta=0.24 + turn pelvis to z-axis <-0.000000> speed <4.246612> ; //delta=0.42 turn rbfoot to z-axis <71.858617> speed <86.024184> ; //delta=-8.60 turn rbleg to z-axis <14.443630> speed <53.924924> ; //delta=5.39 move rffoot to x-axis [0.457422] speed [1.166426] ; //delta=0.12 diff --git a/scripts/Units/corkarg.cob b/scripts/Units/corkarg.cob index 654f63d2f6b6b098cd05af52ce921b31a303e971..97e9d7d621a7e3ca3899b2df6729b2ddce04506c 100644 GIT binary patch literal 38447 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 speed <23.640006> / animSpeed; //delta=-0.79 turn head to z-axis <-1.596296> speed <47.888890> / animSpeed; //delta=1.60 turn head to y-axis <1.996297> speed <59.888896> / animSpeed; //delta=2.00 move hips to y-axis [-0.387490] speed [11.624712] / animSpeed; //delta=-0.39 move lfoot to y-axis [-1.300000] speed [38.999999] / animSpeed; //delta=-1.30 turn lleg to x-axis <-22.905410> speed <687.162298> / animSpeed; //delta=22.91 - turn lleg to y-axis <0.0> speed <95.999993> / animSpeed; //delta=-3.20 + turn lleg to y-axis <0.000000> speed <95.999993> / animSpeed; //delta=-3.20 turn lmissle2 to z-axis <10.070595> speed <122.117853> / animSpeed; //delta=-4.07 turn lthigh to x-axis <23.819402> speed <714.582058> / animSpeed; //delta=-23.82 move rfoot to y-axis [4.125926] speed [82.752918] / animSpeed; //delta=2.76 - turn rfoot to x-axis <-0.0> speed <173.714267> / animSpeed; //delta=-5.79 + turn rfoot to x-axis <-0.000000> speed <173.714267> / animSpeed; //delta=-5.79 turn rheel to x-axis <7.811363> speed <554.659069> / animSpeed; //delta=18.49 turn rleg to x-axis <13.496208> speed <404.886237> / animSpeed; //delta=-13.50 - turn rleg to y-axis <0.0> speed <74.999991> / animSpeed; //delta=2.50 + turn rleg to y-axis <0.000000> speed <74.999991> / animSpeed; //delta=2.50 turn rmissle2 to z-axis <-2.174765> speed <119.184628> / animSpeed; //delta=-3.97 turn rthigh to x-axis <-22.070578> speed <662.117343> / animSpeed; //delta=22.07 turn rtoes to x-axis <8.366666> speed <250.999975> / animSpeed; //delta=-8.37 @@ -50,27 +52,27 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations if (!HandsUp){ turn larm to x-axis <-29.484520> speed <777.464280> / animSpeed; //delta=-25.92 turn lshoulder to x-axis <-1.949999> speed <58.499956> / animSpeed; //delta=1.95 - turn luparm to x-axis <-0.0> speed <314.999983> / animSpeed; //delta=10.50 - turn luparm to z-axis <0.0> speed <339.0> / animSpeed; //delta=-11.30 + turn luparm to x-axis <-0.000000> speed <314.999983> / animSpeed; //delta=10.50 + turn luparm to z-axis <0.000000> speed <339.000021> / animSpeed; //delta=-11.30 turn rshoulder to x-axis <-0.299996> speed <8.999867> / animSpeed; //delta=0.30 turn rarm to x-axis <-43.404578> speed <446.862497> / animSpeed; //delta=-14.90 - turn ruparm to x-axis <-0.0> speed <299.999991> / animSpeed; //delta=10.00 - turn ruparm to z-axis <0.0> speed <299.999991> / animSpeed; //delta=10.00 + turn ruparm to x-axis <-0.000000> speed <299.999991> / animSpeed; //delta=10.00 + turn ruparm to z-axis <0.000000> speed <299.999991> / animSpeed; //delta=10.00 } sleep ((33*animSpeed) -1); } - while(isMoving) { - if (isMoving) { //Frame:16 + while(bMoving) { + if (bMoving) { //Frame:16 turn head to x-axis <-0.356000> speed <34.320004> / animSpeed; //delta=1.14 turn head to z-axis <-1.191082> speed <12.156442> / animSpeed; //delta=-0.41 turn head to y-axis <3.734954> speed <52.159713> / animSpeed; //delta=1.74 move hips to y-axis [-0.028619] speed [10.766155] / animSpeed; //delta=0.36 - turn lheel to x-axis <-6.0> speed <179.999992> / animSpeed; //delta=6.00 + turn lheel to x-axis <-6.000000> speed <179.999992> / animSpeed; //delta=6.00 turn lleg to x-axis <-49.258361> speed <790.588540> / animSpeed; //delta=26.35 turn lmissle2 to x-axis <-5.039181> speed <28.824568> / animSpeed; //delta=-0.96 turn lmissle2 to z-axis <9.399770> speed <20.124760> / animSpeed; //delta=0.67 turn lthigh to x-axis <51.604559> speed <833.554698> / animSpeed; //delta=-27.79 - turn ltoes to x-axis <-3.0> speed <89.999996> / animSpeed; //delta=3.00 + turn ltoes to x-axis <-3.000000> speed <89.999996> / animSpeed; //delta=3.00 move rfoot to y-axis [3.847963] speed [8.338888] / animSpeed; //delta=-0.28 turn rheel to x-axis <15.622726> speed <234.340888> / animSpeed; //delta=-7.81 turn rleg to x-axis <22.493679> speed <269.924141> / animSpeed; //delta=-9.00 @@ -93,7 +95,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations } sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:24 + if (bMoving) { //Frame:24 turn head to x-axis <-1.500000> speed <34.320004> / animSpeed; //delta=1.14 turn head to z-axis <-0.224800> speed <28.988439> / animSpeed; //delta=-0.97 turn head to y-axis <4.200000> speed <13.951387> / animSpeed; //delta=0.47 @@ -110,7 +112,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn rmissle2 to x-axis <-3.254803> speed <53.531339> / animSpeed; //delta=-1.78 turn rmissle2 to z-axis <-4.227144> speed <40.226724> / animSpeed; //delta=1.34 turn rthigh to x-axis <-47.294094> speed <315.293997> / animSpeed; //delta=10.51 - turn rtoes to x-axis <-24.500000> speed <223.0> / animSpeed; //delta=7.43 + turn rtoes to x-axis <-24.500000> speed <223.000024> / animSpeed; //delta=7.43 turn torso to x-axis <-1.500000> speed <34.320004> / animSpeed; //delta=1.14 turn torso to z-axis <0.224800> speed <28.988439> / animSpeed; //delta=0.97 turn torso to y-axis <-4.200000> speed <13.951387> / animSpeed; //delta=-0.47 @@ -127,25 +129,25 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations WhichFootStompsBool=FALSE; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:32 + if (bMoving) { //Frame:32 turn head to x-axis <5.400000> speed <206.999990> / animSpeed; //delta=-6.90 turn head to z-axis <0.928503> speed <34.599113> / animSpeed; //delta=-1.15 turn head to y-axis <3.570370> speed <18.888890> / animSpeed; //delta=-0.63 - move hips to y-axis [-5.0] speed [83.355131] / animSpeed; //delta=-2.78 + move hips to y-axis [-5.000000] speed [83.355131] / animSpeed; //delta=-2.78 move lfoot to y-axis [5.156667] speed [140.599995] / animSpeed; //delta=4.69 turn lheel to x-axis <-3.375000> speed <552.374935> / animSpeed; //delta=18.41 turn lleg to x-axis <-16.300950> speed <139.722414> / animSpeed; //delta=-4.66 turn lmissle2 to x-axis <-2.293984> speed <28.824574> / animSpeed; //delta=-0.96 - turn lmissle2 to z-axis <6.0> speed <57.469677> / animSpeed; //delta=1.92 + turn lmissle2 to z-axis <6.000000> speed <57.469677> / animSpeed; //delta=1.92 turn lthigh to x-axis <33.865492> speed <290.275629> / animSpeed; //delta=9.68 turn ltoes to x-axis <-33.366663> speed <457.999889> / animSpeed; //delta=15.27 move rfoot to y-axis [-3.562592] speed [69.377775] / animSpeed; //delta=-2.31 - turn rheel to x-axis <-0.0> speed <703.022714> / animSpeed; //delta=23.43 + turn rheel to x-axis <-0.000000> speed <703.022714> / animSpeed; //delta=23.43 turn rleg to x-axis <54.719009> speed <773.956909> / animSpeed; //delta=-25.80 turn rmissle2 to x-axis <-2.293984> speed <28.824574> / animSpeed; //delta=-0.96 turn rmissle2 to z-axis <-6.147586> speed <57.613252> / animSpeed; //delta=1.92 turn rthigh to x-axis <-54.317141> speed <210.691392> / animSpeed; //delta=7.02 - turn rtoes to x-axis <-0.0> speed <734.999986> / animSpeed; //delta=-24.50 + turn rtoes to x-axis <-0.000000> speed <734.999986> / animSpeed; //delta=-24.50 turn torso to x-axis <5.400000> speed <206.999990> / animSpeed; //delta=-6.90 turn torso to z-axis <-0.928503> speed <34.599113> / animSpeed; //delta=1.15 turn torso to y-axis <-3.570370> speed <18.888890> / animSpeed; //delta=0.63 @@ -161,7 +163,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations NotReadytoStomp = 1; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:40 + if (bMoving) { //Frame:40 emit-sfx 4096 + 5 from rfootstep; call-script lua_UnitScriptDecal(1, (get PIECE_XZ(rfootstep) & 0xffff0000) / 0x00010000 , (get PIECE_XZ(rfootstep) & 0x0000ffff), get HEADING(0)); @@ -193,22 +195,22 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations } sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:48 + if (bMoving) { //Frame:48 turn head to x-axis <2.971200> speed <51.335998> / animSpeed; //delta=1.71 turn head to z-axis <2.300000> speed <12.156433> / animSpeed; //delta=-0.41 turn head to y-axis <-0.050000> speed <61.388883> / animSpeed; //delta=-2.05 move hips to y-axis [-1.159777] speed [58.765333] / animSpeed; //delta=1.96 move lfoot to y-axis [4.630000] speed [18.400011] / animSpeed; //delta=-0.61 turn lheel to x-axis <14.999999> speed <500.624950> / animSpeed; //delta=-16.69 - turn lleg to x-axis <-0.0> speed <293.417115> / animSpeed; //delta=-9.78 + turn lleg to x-axis <-0.000000> speed <293.417115> / animSpeed; //delta=-9.78 turn lmissle2 to x-axis <-4.036315> speed <38.488349> / animSpeed; //delta=1.28 turn lmissle2 to z-axis <2.655556> speed <43.444575> / animSpeed; //delta=1.45 - turn lthigh to x-axis <-0.0> speed <609.578913> / animSpeed; //delta=20.32 - turn ltoes to x-axis <-0.0> speed <500.499938> / animSpeed; //delta=-16.68 - turn rleg to x-axis <-0.0> speed <793.299288> / animSpeed; //delta=26.44 + turn lthigh to x-axis <-0.000000> speed <609.578913> / animSpeed; //delta=20.32 + turn ltoes to x-axis <-0.000000> speed <500.499938> / animSpeed; //delta=-16.68 + turn rleg to x-axis <-0.000000> speed <793.299288> / animSpeed; //delta=26.44 turn rmissle2 to x-axis <-4.036315> speed <38.488349> / animSpeed; //delta=1.28 turn rmissle2 to z-axis <-9.319406> speed <37.042848> / animSpeed; //delta=1.23 - turn rthigh to x-axis <-0.0> speed <780.247309> / animSpeed; //delta=-26.01 + turn rthigh to x-axis <-0.000000> speed <780.247309> / animSpeed; //delta=-26.01 turn torso to x-axis <2.971200> speed <51.335998> / animSpeed; //delta=1.71 turn torso to z-axis <-2.300000> speed <12.156433> / animSpeed; //delta=0.41 turn torso to y-axis <0.050000> speed <61.388883> / animSpeed; //delta=2.05 @@ -222,7 +224,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations } sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:56 + if (bMoving) { //Frame:56 turn head to x-axis <0.928800> speed <61.271996> / animSpeed; //delta=2.04 turn head to z-axis <1.988889> speed <9.333332> / animSpeed; //delta=0.31 turn head to y-axis <-2.096296> speed <61.388882> / animSpeed; //delta=-2.05 @@ -230,13 +232,13 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations move lfoot to y-axis [4.125926] speed [15.122223] / animSpeed; //delta=-0.50 turn lheel to x-axis <7.811363> speed <215.659074> / animSpeed; //delta=7.19 turn lleg to x-axis <13.496208> speed <404.886237> / animSpeed; //delta=-13.50 - turn lmissle2 to x-axis <-6.0> speed <58.910561> / animSpeed; //delta=1.96 + turn lmissle2 to x-axis <-6.000000> speed <58.910561> / animSpeed; //delta=1.96 turn lmissle2 to z-axis <2.078785> speed <17.303138> / animSpeed; //delta=0.58 turn lthigh to x-axis <-22.070578> speed <662.117343> / animSpeed; //delta=22.07 turn ltoes to x-axis <8.366666> speed <250.999975> / animSpeed; //delta=-8.37 move rfoot to y-axis [-1.300000] speed [84.599998] / animSpeed; //delta=-2.82 turn rleg to x-axis <-22.905410> speed <687.162298> / animSpeed; //delta=22.91 - turn rmissle2 to x-axis <-6.0> speed <58.910561> / animSpeed; //delta=1.96 + turn rmissle2 to x-axis <-6.000000> speed <58.910561> / animSpeed; //delta=1.96 turn rmissle2 to z-axis <-9.974616> speed <19.656294> / animSpeed; //delta=0.66 turn rthigh to x-axis <23.819402> speed <714.582058> / animSpeed; //delta=-23.82 turn torso to x-axis <0.928800> speed <61.271996> / animSpeed; //delta=2.04 @@ -244,15 +246,15 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn torso to y-axis <2.096296> speed <61.388882> / animSpeed; //delta=2.05 if (!HandsUp){ turn larm to x-axis <-43.404578> speed <183.876923> / animSpeed; //delta=-6.13 - turn larm to z-axis <-0.0> speed <160.916525> / animSpeed; //delta=5.36 - turn larm to y-axis <0.0> speed <158.954130> / animSpeed; //delta=5.30 + turn larm to z-axis <-0.000000> speed <160.916525> / animSpeed; //delta=5.36 + turn larm to y-axis <0.000000> speed <158.954130> / animSpeed; //delta=5.30 turn lshoulder to x-axis <-0.299996> speed <556.874100> / animSpeed; //delta=-18.56 turn rarm to x-axis <-29.484520> speed <183.876974> / animSpeed; //delta=6.13 turn rshoulder to x-axis <-1.949999> speed <538.536835> / animSpeed; //delta=17.95 } sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:64 + if (bMoving) { //Frame:64 turn head to x-axis <-0.782400> speed <51.336008> / animSpeed; //delta=1.71 turn head to z-axis <1.211111> speed <23.333336> / animSpeed; //delta=0.78 turn head to y-axis <-3.670371> speed <47.222242> / animSpeed; //delta=-1.57 @@ -265,12 +267,12 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn lthigh to x-axis <-36.784295> speed <441.411494> / animSpeed; //delta=14.71 turn ltoes to x-axis <-17.066665> speed <762.999937> / animSpeed; //delta=25.43 move rfoot to y-axis [-7.490000] speed [185.699995] / animSpeed; //delta=-6.19 - turn rheel to x-axis <-6.0> speed <179.999992> / animSpeed; //delta=6.00 + turn rheel to x-axis <-6.000000> speed <179.999992> / animSpeed; //delta=6.00 turn rleg to x-axis <-49.258361> speed <790.588540> / animSpeed; //delta=26.35 turn rmissle2 to x-axis <-8.382070> speed <71.462084> / animSpeed; //delta=2.38 turn rmissle2 to z-axis <-9.360958> speed <18.409750> / animSpeed; //delta=-0.61 turn rthigh to x-axis <51.604559> speed <833.554698> / animSpeed; //delta=-27.79 - turn rtoes to x-axis <-3.0> speed <89.999996> / animSpeed; //delta=3.00 + turn rtoes to x-axis <-3.000000> speed <89.999996> / animSpeed; //delta=3.00 turn torso to x-axis <-0.782400> speed <51.336008> / animSpeed; //delta=1.71 turn torso to z-axis <-1.211111> speed <23.333336> / animSpeed; //delta=-0.78 turn torso to y-axis <3.670371> speed <47.222242> / animSpeed; //delta=1.57 @@ -285,7 +287,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations } sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:72 + if (bMoving) { //Frame:72 turn head to x-axis <-1.500000> speed <21.527995> / animSpeed; //delta=0.72 turn head to z-axis <0.200000> speed <30.333339> / animSpeed; //delta=1.01 turn head to y-axis <-4.300000> speed <18.888871> / animSpeed; //delta=-0.63 @@ -296,7 +298,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn lmissle2 to x-axis <-10.442014> speed <61.798322> / animSpeed; //delta=2.06 turn lmissle2 to z-axis <4.095410> speed <43.320088> / animSpeed; //delta=-1.44 turn lthigh to x-axis <-47.294094> speed <315.293997> / animSpeed; //delta=10.51 - turn ltoes to x-axis <-24.500000> speed <223.0> / animSpeed; //delta=7.43 + turn ltoes to x-axis <-24.500000> speed <223.000024> / animSpeed; //delta=7.43 move rfoot to y-axis [0.470000] speed [238.800001] / animSpeed; //delta=7.96 turn rheel to x-axis <15.037498> speed <631.124937> / animSpeed; //delta=-21.04 turn rleg to x-axis <-20.958364> speed <848.999925> / animSpeed; //delta=-28.30 @@ -320,18 +322,18 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations WhichFootStompsBool=TRUE; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:80 - turn head to x-axis <5.0> speed <194.999997> / animSpeed; //delta=-6.50 + if (bMoving) { //Frame:80 + turn head to x-axis <5.000000> speed <194.999997> / animSpeed; //delta=-6.50 turn head to z-axis <-0.811111> speed <30.333332> / animSpeed; //delta=1.01 turn head to y-axis <-3.670370> speed <18.888884> / animSpeed; //delta=0.63 - move hips to y-axis [-5.0] speed [83.355131] / animSpeed; //delta=-2.78 + move hips to y-axis [-5.000000] speed [83.355131] / animSpeed; //delta=-2.78 move lfoot to y-axis [-3.562592] speed [69.377775] / animSpeed; //delta=-2.31 - turn lheel to x-axis <-0.0> speed <703.022714> / animSpeed; //delta=23.43 + turn lheel to x-axis <-0.000000> speed <703.022714> / animSpeed; //delta=23.43 turn lleg to x-axis <54.719009> speed <773.956909> / animSpeed; //delta=-25.80 turn lmissle2 to x-axis <-11.319784> speed <26.333120> / animSpeed; //delta=0.88 - turn lmissle2 to z-axis <6.0> speed <57.137704> / animSpeed; //delta=-1.90 + turn lmissle2 to z-axis <6.000000> speed <57.137704> / animSpeed; //delta=-1.90 turn lthigh to x-axis <-54.317141> speed <210.691392> / animSpeed; //delta=7.02 - turn ltoes to x-axis <-0.0> speed <734.999986> / animSpeed; //delta=-24.50 + turn ltoes to x-axis <-0.000000> speed <734.999986> / animSpeed; //delta=-24.50 move rfoot to y-axis [5.156667] speed [140.599995] / animSpeed; //delta=4.69 turn rheel to x-axis <-3.375000> speed <552.374935> / animSpeed; //delta=18.41 turn rleg to x-axis <-16.300950> speed <139.722414> / animSpeed; //delta=-4.66 @@ -339,7 +341,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn rmissle2 to z-axis <-6.147586> speed <57.624995> / animSpeed; //delta=-1.92 turn rthigh to x-axis <33.865492> speed <290.275629> / animSpeed; //delta=9.68 turn rtoes to x-axis <-33.366663> speed <457.999889> / animSpeed; //delta=15.27 - turn torso to x-axis <5.0> speed <194.999997> / animSpeed; //delta=-6.50 + turn torso to x-axis <5.000000> speed <194.999997> / animSpeed; //delta=-6.50 turn torso to z-axis <0.811111> speed <30.333332> / animSpeed; //delta=-1.01 turn torso to y-axis <3.670370> speed <18.888884> / animSpeed; //delta=-0.63 if (!HandsUp){ @@ -354,7 +356,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:88 + if (bMoving) { //Frame:88 emit-sfx 4096 + 5 from lfootstep; call-script lua_UnitScriptDecal(1, (get PIECE_XZ(lfootstep) & 0xffff0000) / 0x00010000 , (get PIECE_XZ(lfootstep) & 0x0000ffff), get HEADING(0)); turn head to x-axis <4.324000> speed <20.280001> / animSpeed; //delta=0.68 @@ -385,22 +387,22 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations } sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:96 + if (bMoving) { //Frame:96 turn head to x-axis <2.712000> speed <48.359987> / animSpeed; //delta=1.61 turn head to z-axis <-1.900000> speed <9.333329> / animSpeed; //delta=0.31 turn head to y-axis <-0.050000> speed <61.388891> / animSpeed; //delta=2.05 move hips to y-axis [-1.159777] speed [58.765333] / animSpeed; //delta=1.96 - turn lleg to x-axis <-0.0> speed <793.299288> / animSpeed; //delta=26.44 + turn lleg to x-axis <-0.000000> speed <793.299288> / animSpeed; //delta=26.44 turn lmissle2 to x-axis <-7.379204> speed <76.841319> / animSpeed; //delta=-2.56 turn lmissle2 to z-axis <9.459245> speed <45.477816> / animSpeed; //delta=-1.52 - turn lthigh to x-axis <-0.0> speed <780.247309> / animSpeed; //delta=-26.01 + turn lthigh to x-axis <-0.000000> speed <780.247309> / animSpeed; //delta=-26.01 move rfoot to y-axis [4.630000] speed [18.400011] / animSpeed; //delta=-0.61 turn rheel to x-axis <14.999999> speed <500.624950> / animSpeed; //delta=-16.69 - turn rleg to x-axis <-0.0> speed <293.417115> / animSpeed; //delta=-9.78 + turn rleg to x-axis <-0.000000> speed <293.417115> / animSpeed; //delta=-9.78 turn rmissle2 to x-axis <-7.379204> speed <76.841319> / animSpeed; //delta=-2.56 turn rmissle2 to z-axis <-2.853883> speed <39.222314> / animSpeed; //delta=-1.31 - turn rthigh to x-axis <-0.0> speed <609.578913> / animSpeed; //delta=20.32 - turn rtoes to x-axis <-0.0> speed <500.499938> / animSpeed; //delta=-16.68 + turn rthigh to x-axis <-0.000000> speed <609.578913> / animSpeed; //delta=20.32 + turn rtoes to x-axis <-0.000000> speed <500.499938> / animSpeed; //delta=-16.68 turn torso to x-axis <2.712000> speed <48.359987> / animSpeed; //delta=1.61 turn torso to z-axis <1.900000> speed <9.333329> / animSpeed; //delta=-0.31 turn torso to y-axis <0.050000> speed <61.388891> / animSpeed; //delta=-2.05 @@ -414,20 +416,20 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations } sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:104 + if (bMoving) { //Frame:104 turn head to x-axis <0.788000> speed <57.720001> / animSpeed; //delta=1.92 turn head to z-axis <-1.596296> speed <9.111112> / animSpeed; //delta=-0.30 turn head to y-axis <1.996297> speed <61.388899> / animSpeed; //delta=2.05 move hips to y-axis [-0.387490] speed [23.168603] / animSpeed; //delta=0.77 move lfoot to y-axis [-1.300000] speed [84.599998] / animSpeed; //delta=-2.82 turn lleg to x-axis <-22.905410> speed <687.162298> / animSpeed; //delta=22.91 - turn lmissle2 to x-axis <-6.0> speed <41.376116> / animSpeed; //delta=-1.38 + turn lmissle2 to x-axis <-6.000000> speed <41.376116> / animSpeed; //delta=-1.38 turn lmissle2 to z-axis <10.070595> speed <18.340492> / animSpeed; //delta=-0.61 turn lthigh to x-axis <23.819402> speed <714.582058> / animSpeed; //delta=-23.82 move rfoot to y-axis [4.125926] speed [15.122223] / animSpeed; //delta=-0.50 turn rheel to x-axis <7.811363> speed <215.659074> / animSpeed; //delta=7.19 turn rleg to x-axis <13.496208> speed <404.886237> / animSpeed; //delta=-13.50 - turn rmissle2 to x-axis <-6.0> speed <41.376116> / animSpeed; //delta=-1.38 + turn rmissle2 to x-axis <-6.000000> speed <41.376116> / animSpeed; //delta=-1.38 turn rmissle2 to z-axis <-2.174765> speed <20.373541> / animSpeed; //delta=-0.68 turn rthigh to x-axis <-22.070578> speed <662.117343> / animSpeed; //delta=22.07 turn rtoes to x-axis <8.366666> speed <250.999975> / animSpeed; //delta=-8.37 @@ -438,54 +440,54 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn larm to x-axis <-29.484520> speed <171.871038> / animSpeed; //delta=5.73 turn lshoulder to x-axis <-1.949999> speed <497.466668> / animSpeed; //delta=16.58 turn rarm to x-axis <-43.404578> speed <171.870987> / animSpeed; //delta=-5.73 - turn rarm to z-axis <-0.0> speed <143.053347> / animSpeed; //delta=-4.77 - turn rarm to y-axis <0.0> speed <141.308793> / animSpeed; //delta=-4.71 + turn rarm to z-axis <-0.000000> speed <143.053347> / animSpeed; //delta=-4.77 + turn rarm to y-axis <0.000000> speed <141.308793> / animSpeed; //delta=-4.71 turn rshoulder to x-axis <-0.299996> speed <523.400914> / animSpeed; //delta=-17.45 } sleep ((33*animSpeed) -1); } } } -// Call this from StopMoving()! +// Call this from MotionControl()! StopWalking() { - move hips to y-axis [0.0] speed [10.419391]; - move lfoot to y-axis [0.0] speed [29.850000]; + move hips to y-axis [0.000000] speed [10.419391]; + move lfoot to y-axis [0.000000] speed [29.850000]; move rfoot to y-axis [1.367495] speed [29.850000]; - turn head to x-axis <0.0> speed <25.874999>; - turn head to y-axis <0.0> speed <7.673612>; - turn head to z-axis <0.0> speed <5.986111>; - turn lheel to x-axis <0.0> speed <87.877839>; - turn lleg to x-axis <0.0> speed <106.124991>; + turn head to x-axis <0.000000> speed <25.874999>; + turn head to y-axis <0.000000> speed <7.673612>; + turn head to z-axis <0.000000> speed <5.986111>; + turn lheel to x-axis <0.000000> speed <87.877839>; + turn lleg to x-axis <0.000000> speed <106.124991>; turn lleg to y-axis <3.200000> speed <11.999999>; - turn lmissle2 to x-axis <-6.0> speed <9.605165>; - turn lmissle2 to z-axis <6.0> speed <15.264732>; - turn lthigh to x-axis <0.0> speed <106.158365>; - turn ltoes to x-axis <0.0> speed <95.374992>; + turn lmissle2 to x-axis <-6.000000> speed <9.605165>; + turn lmissle2 to z-axis <6.000000> speed <15.264732>; + turn lthigh to x-axis <0.000000> speed <106.158365>; + turn ltoes to x-axis <0.000000> speed <95.374992>; turn rfoot to x-axis <-5.790476> speed <21.714283>; turn rheel to x-axis <26.299999> speed <87.877839>; - turn rleg to x-axis <0.0> speed <106.124991>; + turn rleg to x-axis <0.000000> speed <106.124991>; turn rleg to y-axis <-2.500000> speed <9.374999>; - turn rmissle2 to x-axis <-6.0> speed <9.605165>; + turn rmissle2 to x-axis <-6.000000> speed <9.605165>; turn rmissle2 to z-axis <-6.147586> speed <14.898079>; - turn rthigh to x-axis <0.0> speed <106.158365>; - turn rtoes to x-axis <0.0> speed <95.374992>; - turn torso to x-axis <0.0> speed <25.874999>; - turn torso to y-axis <0.0> speed <7.673612>; - turn torso to z-axis <0.0> speed <5.986111>; + turn rthigh to x-axis <0.000000> speed <106.158365>; + turn rtoes to x-axis <0.000000> speed <95.374992>; + turn torso to x-axis <0.000000> speed <25.874999>; + turn torso to y-axis <0.000000> speed <7.673612>; + turn torso to z-axis <0.000000> speed <5.986111>; if (!HandsUp){ turn larm to x-axis <-55.399996> speed <97.183035>; - turn larm to y-axis <0.0> speed <19.869266>; - turn larm to z-axis <0.0> speed <20.114566>; - turn lshoulder to x-axis <0.0> speed <69.609262>; + turn larm to y-axis <0.000000> speed <19.869266>; + turn larm to z-axis <0.000000> speed <20.114566>; + turn lshoulder to x-axis <0.000000> speed <69.609262>; turn luparm to x-axis <10.499999> speed <39.374998>; turn luparm to z-axis <-11.300001> speed <42.375003>; turn rarm to x-axis <-58.299995> speed <55.857812>; - turn rarm to y-axis <0.0> speed <17.663599>; - turn rarm to z-axis <0.0> speed <17.881668>; - turn ruparm to x-axis <10.0> speed <37.499999>; - turn ruparm to z-axis <10.0> speed <37.499999>; - turn rshoulder to x-axis <0.0> speed <67.317104>; + turn rarm to y-axis <0.000000> speed <17.663599>; + turn rarm to z-axis <0.000000> speed <17.881668>; + turn ruparm to x-axis <10.000000> speed <37.499999>; + turn ruparm to z-axis <10.000000> speed <37.499999>; + turn rshoulder to x-axis <0.000000> speed <67.317104>; } } @@ -504,16 +506,16 @@ UnitSpeed(){ sleep 263; } } -StartMoving(reversing){ - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; - isMoving=TRUE; +StartMoving(){ + signal SIG_WALK; + set-signal-mask SIG_WALK; + bMoving=TRUE; start-script Walk(); start-script UnitSpeed(); } StopMoving(){ - signal SIGNAL_MOVE; - isMoving=FALSE; + signal SIG_WALK; + bMoving=FALSE; call-script StopWalking(); } @@ -523,53 +525,104 @@ StopMoving(){ #define UNITSIZE 20 #define MAXTILT 100 -#include "../unit_hitbyweaponid_and_smoke.h" +#include "unit_hitbyweaponid_and_smoke.h" -Open() +Go() { InMotion = 1; if( !HandsUp ) { + //while( !Aim_while_moving ) + //{ + // sleep 100; + //} emit-sfx 4096 + 6 from torso; HandsUp = 1; - turn lshoulder to z-axis <-45.0> speed <80.0>; - turn rshoulder to z-axis <45.0> speed <80.0>; - turn rarm to x-axis <-90.0> speed <120.0>; - turn larm to x-axis <-90.0> speed <120.0>; + //move rmissle2 to y-axis [6.000000] speed [10.000000]; + //move lmissle2 to y-axis [6.000000] speed [10.000000]; + //turn luparm to x-axis <0.000000> speed <120.000000>; + //turn ruparm to x-axis <0.000000> speed <120.000000>; + wait-for-turn luparm around x-axis; + wait-for-turn ruparm around x-axis; + //turn rmissle2 to z-axis <-15.000000> speed <60.000000>; + //turn lmissle2 to z-axis <15.000000> speed <60.000000>; + turn lshoulder to z-axis <-45.000000> speed <80.000000>; + turn rshoulder to z-axis <45.000000> speed <80.000000>; + turn rarm to x-axis <-90.000000> speed <120.000000>; + turn larm to x-axis <-90.000000> speed <120.000000>; wait-for-turn luparm around z-axis; wait-for-turn ruparm around z-axis; wait-for-turn rarm around x-axis; wait-for-turn larm around x-axis; + } } -Close() +Stop() { if( HandsUp ) { HandsUp = 0; emit-sfx 4096 + 7 from torso; turn larm to x-axis <-55.399996> speed <97.183035>; - turn larm to y-axis <0.0> speed <19.869266>; - turn larm to z-axis <0.0> speed <20.114566>; - turn lshoulder to x-axis <0.0> speed <69.609262>; + turn larm to y-axis <0.000000> speed <19.869266>; + turn larm to z-axis <0.000000> speed <20.114566>; + turn lshoulder to x-axis <0.000000> speed <69.609262>; turn luparm to x-axis <10.499999> speed <39.374998>; turn luparm to z-axis <-11.300001> speed <42.375003>; turn rarm to x-axis <-58.299995> speed <55.857812>; - turn rarm to y-axis <0.0> speed <17.663599>; - turn rarm to z-axis <0.0> speed <17.881668>; - turn ruparm to x-axis <10.0> speed <37.499999>; - turn ruparm to z-axis <10.0> speed <37.499999>; - turn rshoulder to x-axis <0.0> speed <67.317104>; + turn rarm to y-axis <0.000000> speed <17.663599>; + turn rarm to z-axis <0.000000> speed <17.881668>; + turn ruparm to x-axis <10.000000> speed <37.499999>; + turn ruparm to z-axis <10.000000> speed <37.499999>; + turn rshoulder to x-axis <0.000000> speed <67.317104>; - turn lshoulder to z-axis <0.0> speed <50.0>; - turn rshoulder to z-axis <0.0> speed <50.0>; - turn lshoulder to x-axis <0.0> speed <50.0>; - turn rshoulder to x-axis <0.0> speed <50.0>; + turn lshoulder to z-axis <0.000000> speed <50.000000>; + turn rshoulder to z-axis <0.000000> speed <50.000000>; + turn lshoulder to x-axis <0.000000> speed <50.000000>; + turn rshoulder to x-axis <0.000000> speed <50.000000>; + //turn rmissle2 to z-axis <0.000000> speed <60.000000>; + //turn lmissle2 to z-axis <0.000000> speed <60.000000>; + //move rmissle2 to y-axis [0.000000] speed [10.000000]; + //move lmissle2 to y-axis [0.000000] speed [10.000000]; + /* wait-for-turn luparm around x-axis; + wait-for-turn ruparm around x-axis; + wait-for-turn ruparm around z-axis; + wait-for-turn luparm around z-axis; + wait-for-turn rarm around x-axis; + wait-for-turn larm around x-axis;*/ } InMotion = 0; } +RequestState(requestedstate, currentstate) +{ + //get PRINT(999, requestedstate,currentstate,statechg_StateChanging); + + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState ) + { + call-script Stop(); + currentstate = 1; + } + else + { + call-script Go(); + currentstate = 0; + } + } + statechg_StateChanging = FALSE; +} + Create() { @@ -588,7 +641,7 @@ Create() hide lgunflare; hide rgunflare; animSpeed = 8; - isMoving = FALSE; + bMoving = FALSE; InMotion = 0; Aim_while_moving = 1; HandsUp = 0; @@ -596,22 +649,28 @@ Create() WhichShoulderRocket = 0; NotReadytoStomp=1; restore_delay = 2000; - call-script CATT1_Init(); + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; +} + +SetMaxReloadTime(Func_Var_1) +{ + restore_delay = Func_Var_1; } -SetMaxReloadTime(reloadMS) +setSFXoccupy(Func_Var_1) { - restore_delay = reloadMS; + SmokeEffectFeet = Func_Var_1; } RestoreHead() { - signal SIGNAL_HEAD; //kills all sleeping threads that overlap the bitmask. - set-signal-mask SIGNAL_HEAD; //sets what signals kill the current thread + signal SIG_HEAD; //kills all sleeping threads that overlap the bitmask. + set-signal-mask SIG_HEAD; //sets what signals kill the current thread sleep 3000; - turn aimy2 to y-axis <0.0> speed <110.0>; - turn aimy2 to x-axis <0.0> speed <110.0>; + turn aimy2 to y-axis <0.000000> speed <110.000000>; + turn aimy2 to x-axis <0.000000> speed <110.000000>; wpn2_lasthead = 0; } @@ -625,62 +684,185 @@ FireWeapon3() WhichShoulderRocket = !WhichShoulderRocket; } -AimFromWeapon3(pieceIndex) +AimFromWeapon3(piecenum) { - pieceIndex = 3; + piecenum = 3; } -QueryWeapon3(pieceIndex) +QueryWeapon3(piecenum) { - pieceIndex = rmispoint + WhichShoulderRocket; + piecenum = rmispoint + WhichShoulderRocket; } +/* +AimWeapon1(heading, pitch) +{ + start-script RequestState(0); + signal SIG_BODY; + + //get PRINT(HandsUp, heading,wpn1_lasthead,wpn2_lasthead); + if( !HandsUp ) + { + return (0); + } + signal SIG_HEAD; + turn aimy1 to y-axis heading speed <50.000000>; + turn lshoulder to x-axis <0.0> - pitch speed <150>; + turn rshoulder to x-axis <0.0> - pitch speed <150>; + //if (((get ABS(wpn1_lasthead - heading)) > 65536) OR(((get ABS(wpn1_lasthead - heading)) > <1500>) AND ((get ABS(wpn1_lasthead - heading)) < 65536 - <1500>))) + if (((get ABS(wpn1_lasthead - heading)) > <3>)) + + { + //wpn1_lasthead = heading; + + //get PRINT(100, heading,wpn1_lasthead,wpn2_lasthead); + wait-for-turn aimy1 around y-axis; + + //get PRINT(1000, heading,wpn1_lasthead,wpn2_lasthead); + } + //get PRINT(10, heading,wpn1_lasthead,wpn2_lasthead); + + wpn1_lasthead = heading; + start-script RestoreBody(); + return (1); +} +*/ +static-var aimy1delta, timetozero, deceleratethreshold; +static-var aimy1velocity, aimy1target, aimy1position, gameFrame; //-------------------------------CONSTANT ACCELERATION TURRET TURNING--------------------------- // MaxVelocity and acceleration are in degrees per frame (not second!) // Jerk is the minimum velocity of the turret // A high precision requirement can result in overshoots if desired // (c) CC BY NC ND Beherith mysterme@gmail.com -#define CATT1_PIECE_Y aimy1 - -#define CATT1_MAX_VELOCITY <3.0> -#define CATT1_ACCELERATION <0.15> -#define CATT1_JERK <0.5> -#define CATT1_PRECISION <1.2> -#define CATT1_RESTORE_SPEED <1.0> - -#include "../constant_acceleration_turret_turning_1.h" +#define MAX_AIMY1_VELOCITY <3.00> +#define AIMY1_ACCELERATION <0.15> +#define AIMY1_JERK <0.5> +#define AIMY1_PRECISION <1.2> +#define AIMY1_RESTORE_SPEED <1.0> RestoreBody() // no need to signal, as threads inherit parents signal masks { + sleep 3000; - start-script Close(); - //turn aimy1 to y-axis <0.0> speed <60.0>; + + start-script RequestState(1); + //turn aimy1 to y-axis <0.000000> speed <60.000000>; turn lshoulder to x-axis <0.0> speed <150>; turn rshoulder to x-axis <0.0> speed <150>; - //start-script CATT1_Restore(); + while ( get ABS(aimy1position) > AIMY1_RESTORE_SPEED){ + if (aimy1position > 0 ) { + aimy1position = aimy1position - AIMY1_RESTORE_SPEED; + aimy1velocity = (-1) * AIMY1_RESTORE_SPEED; + } + else + { + aimy1position = aimy1position + AIMY1_RESTORE_SPEED; + aimy1velocity = AIMY1_RESTORE_SPEED; + } + turn aimy1 to y-axis aimy1position speed 30 * AIMY1_RESTORE_SPEED; + sleep 30; + } + aimy1velocity = 0; } AimWeapon1(heading, pitch) { - start-script Open(); - signal SIGNAL_BODY; - set-signal-mask SIGNAL_BODY; + start-script RequestState(0); + signal SIG_BODY; + set-signal-mask SIG_BODY; if( !HandsUp ) { return (0); } + //signal SIG_HEAD; + //We can do this any time turn lshoulder to x-axis <0.0> - pitch speed <150>; turn rshoulder to x-axis <0.0> - pitch speed <150>; + aimy1target = heading; + aimy1delta = aimy1target - aimy1position; - call-script CATT1_Aim(heading,pitch); + + while( ( get ABS(aimy1delta) > AIMY1_PRECISION ) OR (get ABS(aimy1velocity) > AIMY1_JERK)){ + if (gameFrame != get(GAME_FRAME)){ //this is to make sure we dont get double-called, as previous aimweapon thread runs before new aimweaponthread can signal-kill previous one + gameFrame = get(GAME_FRAME); + + //Clamp aimy1position and aimy1delta between <-180>;<180> + while (aimy1position > <180>) aimy1position = aimy1position - <360>; + while (aimy1position < <-180>) aimy1position = aimy1position + <360>; + while (aimy1delta > <180>) aimy1delta = aimy1delta - <360>; + while (aimy1delta < <-180>) aimy1delta = aimy1delta + <360>; + + //number of frames required to decelerate to 0 + timetozero = get ABS(aimy1velocity) / AIMY1_ACCELERATION; + + //distance from target where we should start decelerating, always 'positive' + //pos = t * v - (t*(t-1)*a/2) + deceleratethreshold = timetozero * (get ABS(aimy1velocity)) - (timetozero * (timetozero - 1) * AIMY1_ACCELERATION / 2); + + //get PRINT ( aimy1delta , deceleratethreshold, aimy1velocity, timetozero ); + + if (get ABS(aimy1delta) <= deceleratethreshold){ //we need to decelerate + if (aimy1velocity > 0) aimy1velocity = aimy1velocity - AIMY1_ACCELERATION; + else aimy1velocity = aimy1velocity + AIMY1_ACCELERATION; + } + else //we need to accelerate + { + if (aimy1delta > 0) aimy1velocity = get MIN( MAX_AIMY1_VELOCITY, aimy1velocity + AIMY1_ACCELERATION); + else aimy1velocity = get MAX((-1) * MAX_AIMY1_VELOCITY, aimy1velocity - AIMY1_ACCELERATION); + } + + //Apply jerk at very low velocities + if (get ABS(aimy1velocity) < AIMY1_JERK){ + if ((aimy1delta > AIMY1_JERK)) aimy1velocity = AIMY1_JERK; + if ((aimy1delta < (-1) * AIMY1_JERK)) aimy1velocity = (-1) * AIMY1_JERK; + } + aimy1position = aimy1position + aimy1velocity; + turn aimy1 to y-axis aimy1position now; + aimy1delta = aimy1target - aimy1position ; + } + sleep 30; + } + aimy1velocity = 0; start-script RestoreBody(); return (1); } +/* +static-var tryme; +AccelTurn(piecenum, axis, startpos, target,startspeed, accel){ // this wont ever work cause piecenum cant be variable + //this is BLOCKING until we go past target + //axis can be 0,1,2 for X, Y , Z + //startpos is current known position + //target is target position + //startspeed is the speed we start from + //accel is positive for increasing, and negative for decreasing from startspeed + //also, you better do your math right to prevent massive overshoots and undershoots! + if (startpos > target){ + while (startpos > target){ + startpos = startpos - startspeed; + startspeed = startspeed + accel; + if (axis == 0) turn tryme to x-axis startpos now; + if (axis == 1) turn piecenum to y-axis startpos now; + if (axis == 2) turn piecenum to z-axis startpos now; + sleep 30; + } + + }else{ + while (startpos < target){ + startpos = startpos + startspeed; + startspeed = startspeed + accel; + if (axis == 0) turn piecenum to x-axis startpos now; + if (axis == 1) turn piecenum to y-axis startpos now; + if (axis == 2) turn piecenum to z-axis startpos now; + sleep 30; + } + + } +}*/ FireWeapon1() { @@ -688,43 +870,45 @@ FireWeapon1() turn aimy1 to x-axis <0> speed <1.5>; if( ShootingArm ) { - turn luparm to x-axis <15.0> speed <180.0>; - turn larm to x-axis <-105.0> speed <180.0>; + turn luparm to x-axis <15.000000> speed <180.000000>; + turn larm to x-axis <-105.000000> speed <180.000000>; + //show lgunflare; sleep 300; - turn larm to x-axis <-86.0> speed <56.0>; - turn luparm to x-axis <0.0> speed <40.0>; + //hide lgunflare; + turn larm to x-axis <-86.000000> speed <56.000000>; + turn luparm to x-axis <0.000000> speed <40.000000>; } else { - turn ruparm to x-axis <15.0> speed <180.0>; - turn rarm to x-axis <-105.0> speed <180.0>; + turn ruparm to x-axis <15.000000> speed <180.000000>; + turn rarm to x-axis <-105.000000> speed <180.000000>; + //show rgunflare; sleep 350; - turn rarm to x-axis <-86.0> speed <56.0>; - turn ruparm to x-axis <0.0> speed <40.0>; + //hide rgunflare; + turn rarm to x-axis <-86.000000> speed <56.000000>; + turn ruparm to x-axis <0.000000> speed <40.000000>; } ShootingArm = !ShootingArm; } -AimFromWeapon1(pieceIndex) +AimFromWeapon1(piecenum) { - pieceIndex = torso; + piecenum = torso; } -QueryWeapon1(pieceIndex) +QueryWeapon1(piecenum) { - pieceIndex = rgunflare + ShootingArm; + piecenum = rgunflare + ShootingArm; } AimWeapon2(heading, pitch) //headlazor { - signal SIGNAL_HEAD; + signal SIG_HEAD; //get PRINT(2, heading,wpn1_lasthead,wpn2_lasthead); turn aimy2 to x-axis <0> - (get MAX(<-12>,pitch)) speed <50>; - turn aimy2 to y-axis heading - CATT1position speed <100.0>; - - if ((wpn2_lasthead == 0xbadface) OR ABSOLUTE_GREATER_THAN(WRAPDELTA(heading - wpn2_lasthead), <27>)) + turn aimy2 to y-axis heading - aimy1position speed <100.000000>; + if (((get ABS(wpn2_lasthead - heading)) > 65536) OR(((get ABS(wpn2_lasthead - heading)) > 5000) AND ((get ABS(wpn2_lasthead - heading)) < 65536 - 5000))) { - wpn2_lasthead = 0xbadface; wait-for-turn aimy2 around y-axis; } wpn2_lasthead = heading; @@ -734,55 +918,60 @@ AimWeapon2(heading, pitch) //headlazor FireWeapon2() { - + show eyeflare; + sleep 150; + hide eyeflare; } -AimFromWeapon2(pieceIndex) +AimFromWeapon2(piecenum) { - pieceIndex = eyeflare; + piecenum = eyeflare; } -QueryWeapon2(pieceIndex) +QueryWeapon2(piecenum) { - pieceIndex = eyeflare; + piecenum = eyeflare; } - +SweetSpot(piecenum) +{ + piecenum = torso; +} AimWeapon4(heading, pitch) { - signal SIGNAL_FOOTSTOMP_L; - set-signal-mask SIGNAL_FOOTSTOMP_L; + signal SIG_FOOTSTOMP_L; + set-signal-mask SIG_FOOTSTOMP_L; while(NotReadytoStomp OR !WhichFootStompsBool) sleep 65; return (0); } -AimFromWeapon4(pieceIndex) +AimFromWeapon4(piecenum) { - pieceIndex = ltoes; + piecenum = ltoes; } -QueryWeapon4(pieceIndex) +QueryWeapon4(piecenum) { - pieceIndex = ltoes; + piecenum = ltoes; } AimWeapon5(heading, pitch) { - signal SIGNAL_FOOTSTOMP_R; - set-signal-mask SIGNAL_FOOTSTOMP_R; + signal SIG_FOOTSTOMP_R; + set-signal-mask SIG_FOOTSTOMP_R; while(NotReadytoStomp OR WhichFootStompsBool) sleep 65; return (0); } -AimFromWeapon5(pieceIndex) +AimFromWeapon5(piecenum) { - pieceIndex = rtoes; + piecenum = rtoes; } -QueryWeapon5(pieceIndex) +QueryWeapon5(piecenum) { - pieceIndex = rtoes; + piecenum = rtoes; } @@ -795,12 +984,24 @@ Killed(severity, corpsetype) explode lthigh type BITMAPONLY | NOHEATCLOUD; explode lleg type BITMAPONLY | NOHEATCLOUD; explode lheel type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode ltoes type BITMAPONLY | NOHEATCLOUD; explode rthigh type BITMAPONLY | NOHEATCLOUD; explode rleg type BITMAPONLY | NOHEATCLOUD; explode rheel type BITMAPONLY | NOHEATCLOUD; explode rtoes type BITMAPONLY | NOHEATCLOUD; explode torso type BITMAPONLY | NOHEATCLOUD; + //explode lmissle2 type BITMAPONLY | NOHEATCLOUD; + //explode lmispoint type BITMAPONLY | NOHEATCLOUD; + //explode rmissle2 type BITMAPONLY | NOHEATCLOUD; + //explode rmispoint type BITMAPONLY | NOHEATCLOUD; + //explode luparm type BITMAPONLY | NOHEATCLOUD; + //explode larm type BITMAPONLY | NOHEATCLOUD; + //explode lgunflare type BITMAPONLY | NOHEATCLOUD; + //explode ruparm type BITMAPONLY | NOHEATCLOUD; + //explode rarm type BITMAPONLY | NOHEATCLOUD; + //explode rgunflare type BITMAPONLY | NOHEATCLOUD; explode head type BITMAPONLY | NOHEATCLOUD; + //explode eyeflare type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } if( severity <= 50 ) @@ -809,6 +1010,7 @@ Killed(severity, corpsetype) explode hips type FIRE | SMOKE | FALL | NOHEATCLOUD; explode lthigh type FALL | NOHEATCLOUD; explode lheel type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode ltoes type FALL | NOHEATCLOUD; explode rthigh type FALL | NOHEATCLOUD; explode rheel type FIRE | SMOKE | FALL | NOHEATCLOUD; explode rtoes type FALL | NOHEATCLOUD; @@ -816,7 +1018,10 @@ Killed(severity, corpsetype) explode lmispoint type FIRE | SMOKE | FALL | NOHEATCLOUD; explode rmissle2 type FIRE | SMOKE | FALL | NOHEATCLOUD; explode rmispoint type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lgunflare type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rgunflare type FALL | NOHEATCLOUD; explode head type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode eyeflare type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) @@ -832,6 +1037,18 @@ Killed(severity, corpsetype) explode rheel type SMOKE | FALL | NOHEATCLOUD; explode rtoes type FIRE | SMOKE | FALL | NOHEATCLOUD; explode torso type BITMAPONLY | NOHEATCLOUD; + //explode lmissle2 type SMOKE | FALL | NOHEATCLOUD; + //explode lmispoint type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode rmissle2 type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode rmispoint type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode luparm type BITMAPONLY | NOHEATCLOUD; + //explode larm type BITMAPONLY | NOHEATCLOUD; + //explode lgunflare type SMOKE | FALL | NOHEATCLOUD; + //explode ruparm type BITMAPONLY | NOHEATCLOUD; + //explode rarm type BITMAPONLY | NOHEATCLOUD; + //explode rgunflare type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode head type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode eyeflare type SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; @@ -845,6 +1062,17 @@ Killed(severity, corpsetype) explode rheel type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode rtoes type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode torso type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lmissle2 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lmispoint type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rmissle2 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode rmispoint type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode luparm type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode larm type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lgunflare type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode ruparm type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rarm type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rgunflare type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode head type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode eyeflare type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/corkorg.cob b/scripts/Units/corkorg.cob index 349e624f4d86a1571a661e63247c90ebeee66ca9..5eb67303adc64500ba10e4d43fa272a14b1e5b27 100644 GIT binary patch literal 25345 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 accelerate <1>; - signal SIGNAL_BUILD; - set-signal-mask SIGNAL_BUILD; - start-script MoveCranes(); -} - -StopBuilding() -{ - hide nano2; - hide nano1; - hide cagelight_emit; - stop-spin cagelight around y-axis decelerate <1>; - signal SIGNAL_BUILD; -} - -QueryBuildInfo(pieceIndex) -{ - pieceIndex = pad; -} - - - -Killed(severity, corpsetype) -{ - if( severity <= 25 ) - { - corpsetype = 1 ; - explode base type BITMAPONLY | NOHEATCLOUD; - explode crane1 type BITMAPONLY | NOHEATCLOUD; - explode crane2 type BITMAPONLY | NOHEATCLOUD; - explode nano1 type BITMAPONLY | NOHEATCLOUD; - explode nano2 type BITMAPONLY | NOHEATCLOUD; - explode door1 type BITMAPONLY | NOHEATCLOUD; - explode door2 type BITMAPONLY | NOHEATCLOUD; - explode pad type BITMAPONLY | NOHEATCLOUD; - return(corpsetype); - } - if( severity <= 50 ) - { - corpsetype = 2 ; - explode base type BITMAPONLY | NOHEATCLOUD; - explode crane1 type FIRE | SMOKE | FALL | NOHEATCLOUD; - explode crane2 type FALL | NOHEATCLOUD; - explode nano1 type FALL | NOHEATCLOUD; - explode nano2 type FIRE | SMOKE | FALL | NOHEATCLOUD; - explode door1 type FALL | NOHEATCLOUD; - explode door2 type FIRE | SMOKE | FALL | NOHEATCLOUD; - explode pad type FIRE | SMOKE | FALL | NOHEATCLOUD; - return(corpsetype); - } - if( severity <= 99 ) - { - corpsetype = 3 ; - explode base type BITMAPONLY | NOHEATCLOUD; - explode crane1 type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; - explode crane2 type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; - explode nano1 type FIRE | SMOKE | FALL | NOHEATCLOUD; - explode nano2 type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; - explode door1 type FIRE | SMOKE | FALL | NOHEATCLOUD; - explode door2 type SMOKE | FALL | NOHEATCLOUD; - explode pad type FIRE | SMOKE | FALL | NOHEATCLOUD; - return(corpsetype); - } - corpsetype = 3 ; - explode base type BITMAPONLY | NOHEATCLOUD; - explode crane1 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; - explode crane2 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; - explode nano1 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; - explode nano2 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; - explode door1 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; - explode door2 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; - explode pad type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; - return corpsetype; -} diff --git a/scripts/Units/corlab.cob b/scripts/Units/corlab.cob deleted file mode 100644 index cffc0fff56e1379c64e511e04840d2035340b8e0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3253 zcmb7G&x=!66h6tss8h99MMd1CyHZ>vS(QRzW*krv%ZQ*9S~{pi79h<8-c7oGn+~ zIV`DbQ3rpnD_q0Q^*q=01KziRWd*ttIBhi9(#S>~ZNx!tuIgsU@hQW`H92kM)YFH( z)5dt=NHNowKD7VC;JF!Bt_NLe^R-;Sb1nLV0V8T8Ied-S(^t`tI^|@YPmhgb_4`ww z@iX!9z+g2Cy~G@hVJyU9f2wOcVn^}xXTOZSk0tqc;EZLv$~noc9`;DSaNXB8^)*IRIG~w?1g!rkIhU?(>N%TME{rr4~ImT@Vk{qeuiRjO< zS?!STmpcCp+YU4T5=PcL2{n1@yT!zqDfN@NIOoL}OSj2bsP>)H0~U?>&D0Zgm`mEn zq;0o;N3#t%rq4atcALBUgxAiQEmz&M_nepVa9)r1h}8_`&w2Va?(uN8sQ+8cVK(b$ zZuaq%dC7(eV3yP7#q%b8s5KrlK7ZLlEyXd1{Mg@*Lu^3K=g(4n|APDXFSy>j&*8$l z^@mv0&CODdI=^r6UitMVa=EHI2s=ONY;1YwJ3g&pbGzsE$%wNS-XWCJ=T&N_Px{O` zOJgnEp#^}{9x+~hY}3ab+#z#j^p{&^w$<`ZT$S zxcd<|^X-NE31iTQaNm!za7z|$`3tw~!Y#XSOJ>^LaIer9aX*c?8NU~99<3C&WZ_m_ z;g(&vWf$)6W4`@xbI$u=dpdz_E6TzqS=b~Cn`B{=ENsfpwCPMKe+c><^b?5h)H9$A z#QXaS^cFOW#3w-fAN>;aJLoUaf1soI1AZFx5$HVVGtfoQ4ba!140H?B0S!PKpiR&N z&?C?m=n3ct(1k&s6}eq%7YiFV^Q_GY+omRWM3aQs03O`J@S$y?UX zTJ~*rH@8-=H)#0ZrmZkpBe13w>w`gFG$L; + turn base to z-axis <0> - anglez speed <50.010989>; + wait-for-turn base around z-axis; + wait-for-turn base around x-axis; + turn base to z-axis <0.000000> speed <20.000000>; + turn base to x-axis <0.000000> speed <20.000000>; + return (0); +} #define BASEPIECE base #define HITSPEED <55.0> //how 'heavy' the unit is, on a scale of 1-10 #define UNITSIZE 4 #define MAXTILT 100 -#define RECOIL_POWER 30000 -#include "../unit_hitbyweaponid_and_smoke.h" -#define TB_BASE base -#define TB_TURNRATE <15.0> -#define TB_TILT_X <0.25> -#define TB_BANK_Z <0.06> // Do not define this if you dont want banking -#include "../tilt_bank_mobileunit.h" +#include "unit_hitbyweaponid_and_smoke.h" Create() { hide flare; hide flare; restore_delay = 3000; - call-script TB_Init(); -} - -StartMoving(reversing) -{ - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; - START_TILTBANK; } -StopMoving() +SetMaxReloadTime(Func_Var_1) { - signal SIGNAL_MOVE; - STOP_TILTBANK; -} - -SetMaxReloadTime(reloadMS) -{ - restore_delay = reloadMS * 2; + restore_delay = Func_Var_1 * 2; return (0); } @@ -56,8 +48,8 @@ ExecuteRestoreAfterDelay() if (Stunned) { return (1); } - turn turret to y-axis <0.0> speed <90.021978>; - turn sleeve to x-axis <0.0> speed <50.010989>; + turn turret to y-axis <0.000000> speed <90.021978>; + turn sleeve to x-axis <0.000000> speed <50.010989>; } SetStunned(State) { @@ -72,40 +64,44 @@ RestoreAfterDelay() start-script ExecuteRestoreAfterDelay(); } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; turn turret to y-axis heading speed <170.038462>; - turn sleeve to x-axis <0.0> - pitch speed <20.0>; + turn sleeve to x-axis <0.000000> - pitch speed <20.000000>; wait-for-turn turret around y-axis; wait-for-turn sleeve around x-axis; start-script RestoreAfterDelay(); return (1); } -FireWeapon1() +FirePrimary() { emit-sfx 1024 + 0 from flare; - move barrel to z-axis [-3.0] speed [1250.0]; + move barrel to z-axis [-3.000000] speed [1250.000000]; wait-for-move barrel along z-axis; - move barrel to z-axis [0.0] speed [7.500000]; + move barrel to z-axis [0.000000] speed [7.500000]; return (0); } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = sleeve; + piecenum = sleeve; return (0); } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = flare; + piecenum = flare; return (0); } - +SweetSpot(piecenum) +{ + piecenum = base; + return (0); +} Killed(severity, corpsetype) { @@ -114,9 +110,9 @@ Killed(severity, corpsetype) corpsetype = 1 ; explode base type BITMAPONLY | NOHEATCLOUD; explode turret type BITMAPONLY | NOHEATCLOUD; - + //explode sleeve type BITMAPONLY | NOHEATCLOUD; explode barrel type FIRE | SMOKE | FALL | NOHEATCLOUD; - + //explode flare type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } if( severity <= 50 ) @@ -126,7 +122,7 @@ Killed(severity, corpsetype) explode turret type FIRE | SMOKE | FALL | NOHEATCLOUD; explode sleeve type FIRE | SMOKE | FALL | NOHEATCLOUD; explode barrel type FIRE | SMOKE | FALL | NOHEATCLOUD; - + //explode flare type FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) @@ -136,7 +132,7 @@ Killed(severity, corpsetype) explode turret type SMOKE | FALL | NOHEATCLOUD; explode sleeve type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; explode barrel type FIRE | SMOKE | FALL | NOHEATCLOUD; - + //explode flare type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; @@ -144,6 +140,6 @@ Killed(severity, corpsetype) explode turret type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode sleeve type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode barrel type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; - + //explode flare type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/corlevlr.cob b/scripts/Units/corlevlr.cob index 7f32a0f3e384af17e3484b927291fcf29156cdc5..035f817e7df6a0dcaa1b7635473043e2bba07efc 100644 GIT binary patch literal 2911 zcmb_eziU%b6h2AQ)GFxH%}!4o3PnoLrJHT7#UB*fMzLd`%`Jo`O?Z9LWQ$I^xVZ_s zIXUUz;vi!G0RI3HodiJ#!9hg7@7{ZoN1BwT_{zsQ_xwKRp7+w6h@1dMfjBEN0?Oy- zxJcosNCh~Da~o8`Y(Qj!Z1Cu;NEVc~5{jc>RYyt{Z8BuS5%@Ygq!B?Bk~GgV{br6k z%5&Ohkd9`WPnPqxMy-|9{&|~{r#U(mP}A&4kS$~b_Dwrd#~H1yCtynrA%Y;JTcjwgZeVJ+Ome;KIua}!_!Bpt!s~O*PnL#&2|^}s&RXB_R}$3 z$KKDD=L{8?%{#BR^9*x#mQ-oYwB`JCMo+*}7Fk)w&VX#L;9{n8rDNFm{yv`j7?g3& z^iSKKrvNjOf{V{uJ9Px85q~rhAMcIVXK47t@A7OucU)?awE$w4+YvAp!OcXFjZ(_fJZjZXbDjrY@aF*0BkYDW&f9 zF&CR+o=Nqc(Rh^GoR}f&ph?=+PLM+MHjV_;**xgY+RdiyL$R@_r;gu^PAuqHGoOyk z@0ixY{H&#u^O>8~Bm-hLc{<}s`_tA6asPvC^v>vKd#$_LE#G$hmu70lJ$1f9R2ebn;F=hr*D|)@K)a*>&_r$ z=X_!B=gKqd(D$aFp1JqaLp@Nh-&@)+_GvPqyR(-FOqs^l9z$>229hR60;~b6wT-Qt+vP;Al#}_^Efdvi+fuC7woI?| zYDq4|CQ6JHO|ld{Le?b&YmBC21yeY9vyJjyzA=@KhCSc&Cp3j-!m3wkT8e z*J!*rm(<%)R@P~*B;r{zdmO;nWP~Dy=CGPp%#JdTNgPi;dk`!0OM6axqW-`jEzuer z8-2Vl%tsf`d#~@*pLVR5z8`|+`4LX~vRsc@J*6FI^6yQVeWynl+T+Ot_Yx_Yggo$mr=?Mc+_=xcVEVP5qj+d=0N+KW>2xd^)uvAGwUEO`mL5^zS|Vh zW>znKK7M*l?CrIP_}-m_*BTbA7WE}?>d07VP_#W$3J)C zo@%U09WO6T>mXLGA8$`!=QUxgirUFf5oP{|Jld4XMCS@ zY}E>0^}F-ad6w*=FYGZJ*33I`@GUdUEIo4{re_SF4Skz0T9#CcdAk6X>d`iax^|Ce`z*evh2me>2|c|8tI z8TSeq)a!Y#+Wn}!^sUCeZoWLI_q)gTyT|^-?5j0V`~v7}(2t;bfPWnHDd-E(cc9-u ze}Vo5Eg->TpjSX$(7T`>i2uu<1HA-#74#;k3wjUK1C2qKKvzJYgT4a&0Qw2^D`*dN z8*~>`dk8o{3!q0qZ}jt}i|>SVJQ^yHY!waO+se1oRl;D!2q#7NVkKW W8>Cr~e3E4$m+e6a7XlQx4dg$|Yzo)_ diff --git a/scripts/Units/corllt.bos b/scripts/Units/corllt.bos index 3d23e6c45dd..4b6ce588a3e 100644 --- a/scripts/Units/corllt.bos +++ b/scripts/Units/corllt.bos @@ -1,10 +1,12 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, flare, turret; // Signal definitions -#define SIGNAL_AIM1 256 +#define SIG_AIM 2 #define BASEPIECE base @@ -13,7 +15,7 @@ piece base, flare, turret; #define UNITSIZE 5 #define MAXTILT 100 -#include "../unit_hitbyweaponid_and_smoke.h" +#include "unit_hitbyweaponid_and_smoke.h" Create() { @@ -26,7 +28,7 @@ ExecuteRestoreAfterDelay() if (Stunned) { return (1); } - turn turret to x-axis <0> speed <16.0>; + turn turret to x-axis <0> speed <16.00000>; } SetStunned(State) @@ -43,34 +45,37 @@ RestoreAfterDelay() start-script ExecuteRestoreAfterDelay(); } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; turn turret to y-axis heading speed <300.071429>; - turn turret to x-axis <0.0> - pitch speed <200.043956>; + turn turret to x-axis <0.000000> - pitch speed <200.043956>; wait-for-turn turret around y-axis; wait-for-turn turret around x-axis; start-script RestoreAfterDelay(); return (1); } -FireWeapon1() +FirePrimary() { emit-sfx 1024 + 0 from flare; } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = turret; + piecenum = turret; } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = flare; + piecenum = flare; } - +SweetSpot(piecenum) +{ + piecenum = base; +} Killed(severity, corpsetype) { diff --git a/scripts/Units/corllt.cob b/scripts/Units/corllt.cob index 5ba0152be3d5c34c4d53ac3bbb6b76a1298edb6d..b6edec854e85c6f023fa75fe5ac52aed21a38f26 100644 GIT binary patch literal 2327 zcmcIlJ8KkC6h1qX?bK>O%M^qYLQ}H#!)hkQdCt*Ggc>^jV7tb@Q&kH zPii*q3{>C4*W~-f&})MTdCkxso8jQpKkUH zDQderdJ@<;d&Y#l&e4FmNzK+K&w_&jKl~Wt?|j4gOAOq$cO!GLdg<)Zg#DhgLlpA} zcaXhK(1%%YK5wDYX7&f?A_KZ`s{q>9lRLVJQ~DfPr0Lf!WulQ?@gY}=b3!nA52KlixN+mOMQdiE$&8e zw%ua5oichB4JW|0&4nYWjp^``m5`Lp&Z1}Aoh9-uI7zP{&|AcXc2 zq%^@@%@jLGg+5*jebmjpIDO>o%rP^AKY?wsp6Ll6rT^PWm2u{qbR1tGfHv0R8UGi@ z{hVtr?#n!cIQAADv1>jvyB#)DSb7he` zz*Arj_Z^%PHK|)I8OlYiVb@+)SK5YLG}=4_X_2=*yJMr{`qfkw1Ctm%fi7@_d4m zG1#ug96zPv-$=Qj9?H#f=+B;Y_Ei{}Q{QP)-K=4sgfI*C%=ZxE-$Z?RN+sud+Qvm| zAD`JI8(oKdyq(U5v*6Ai1bdNp>?wPos57T8d(pl908!)VZt7ikgLLX#%&__f_-&w8hCVbaU)jYd*FN+FB|tX6;a901|oCdaK4mxjzVV5_?F%L zaLsb`TXs6e+VsCOLiv%G*FKHjPePqE(`R9O6pwXMFOmO#v>!~y|3=UjWQwe*}E^*i*RQh zyzhp)^9%mt`|EZn -#define TB_TILT_X <0.15> -#define TB_BANK_Z <0.15> // Do not define this if you dont want banking -#include "../tilt_bank_mobileunit.h" +#include "unit_hitbyweaponid_and_smoke.h" -static-var Stunned; +Go() +{ + Static_Var_1 = 1; + return (0); +} + +Stop() +{ + Static_Var_1 = 0; + return (0); +} + +InitState() +{ + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; + return (0); +} + +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + call-script Go(); + currentstate = 0; + } + if( statechg_DesiredState == 1 ) + { + call-script Stop(); + currentstate = 1; + } + } + statechg_StateChanging = FALSE; + return (0); +} Create() { - call-script TB_Init(); + hide dummy; + Static_Var_1 = 0; + Static_Var_2 = 10000; + call-script InitState(); + return (0); } -StartMoving(reversing) +StartMoving() { - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; - START_TILTBANK; + start-script RequestState(0); + return (0); } StopMoving() { - signal SIGNAL_MOVE; - STOP_TILTBANK; + start-script RequestState(1); + return (0); } - +static-var Stunned; ExecuteRestoreAfterDelay() { if (Stunned) { @@ -58,7 +103,6 @@ ExecuteRestoreAfterDelay() move dtr to x-axis [0] speed [8]; move dtr to z-axis [0] speed [8]; } - SetStunned(State) { Stunned = State; @@ -68,14 +112,14 @@ SetStunned(State) } RestoreAfterDelay() { - sleep 5000; + sleep Static_Var_2; start-script ExecuteRestoreAfterDelay(); } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; move dbl to x-axis [-3] speed [8]; move dbl to z-axis [-3] speed [8]; move dbr to x-axis [3] speed [8]; @@ -89,15 +133,21 @@ AimWeapon1(heading, pitch) return (1); } -FireWeapon1() +FirePrimary() { sleep 100; return (0); } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) +{ + piecenum = dummy; + return (0); +} + +SweetSpot(piecenum) { - pieceIndex = dummy; + piecenum = base; return (0); } @@ -109,6 +159,10 @@ Killed(severity, corpsetype) explode base type BITMAPONLY | NOHEATCLOUD; explode dbl type FIRE | SMOKE | FALL | NOHEATCLOUD; explode turret type BITMAPONLY | NOHEATCLOUD; + //explode dummy type BITMAPONLY | NOHEATCLOUD; + //explode dbr type BITMAPONLY | NOHEATCLOUD; + //explode dtl type BITMAPONLY | NOHEATCLOUD; + //explode dtr type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } if( severity <= 50 ) @@ -117,6 +171,10 @@ Killed(severity, corpsetype) explode base type BITMAPONLY | NOHEATCLOUD; explode dbl type FIRE | SMOKE | FALL | NOHEATCLOUD; explode turret type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode dummy type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode dbr type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode dtl type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode dtr type FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) @@ -126,6 +184,9 @@ Killed(severity, corpsetype) explode dbl type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode turret type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; explode dummy type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode dbr type SMOKE | FALL | NOHEATCLOUD; + //explode dtl type SMOKE | FALL | NOHEATCLOUD; + //explode dtr type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; @@ -133,5 +194,8 @@ Killed(severity, corpsetype) explode dbl type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode turret type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode dummy type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode dbr type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode dtl type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode dtr type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/cormabm.cob b/scripts/Units/cormabm.cob index eb2d52c54fdfcda84080f3f3026b4949e1ee24d3..6904423cfc104390822e8541b0ee10153600e9f8 100644 GIT binary patch literal 3326 zcmcImJ&aUU6h1RM4lG(cX#`_22?cW36wE`&$Ez4xB~^WF2_ zP!W;CzyaXbvPcyxpZ3clKLU?{w{T8g!Jk?=iBV4Q58@Kmc32N$mHJE~b2CY~UQT9k zq#akyTd<*=AMzy79=U4q_xncHkxgVZEpD65k` z)T=C7wXO-@+@JP>$m$pExn;bcXY;t@Ij8B&k1Km8uZ+W9$jvn@JXd(GRg_C^*(X=( z&TtbrN`tJWvXaK)wo>;oXwS3p%#(LFOSJT334o2XFO}h&#Tmd4|4Paw#=`y0uEUL`O16s^K&!En9lf+ zr0Thb%w~rxZSp>FFL-QrEf3>cEb8-ohzT8K%ri}Aem0M0YdLtfd0@}%NoN!NK7h(< zWBfPUeiZ&qCVR3vHFZ372@vsoulozUi}O7>`mk1 zE*4=(U$qb1YwRmF0|)ci3BDYvw0x7g{4RIvDCgtroYWQh#XO7b_M@)IPiL(lA9cAO z4(OXR8qXy88S!-8&&=0s9-JP+!YAgOw#p5@DMdE+9iX4`vFSP1{RH1TkMX4`;5*ml zeHb_B4t^SQRHNy?;FczlOBd&YsyA?@|ID%7|dY9yC0vc~=N^?$Xmp-$uX+fX~_WUsZe zPjaAy2Tu3HwfXPGN57*X7jy2#M`sbXc5n21-u|98Kh{&sNs*8BG|lH(`r~!30^b3* zfnR{Tz;8eeB-DX-fH~kxU<>#jxDRXt{{TAxU;H_@D;EH z+yH(8ZUJ|Id%*9&AHbi$Ltq>D8~7Lapp%^$uDaG{zbB1u|APCt*U4h(Qd<`L(#ZOo zvIJElYh_MW+{J;r6b|pEjxuP{?4$l?o!)sh58L-IyR|{)R$$&w-TZpy()Zj(YbXr| z|3RG@w(x+U#cv0?QJ*>FY&-||Rv#uh*58yKEj z%BsyEOLeGR7V=q(_K2t}wevAzO_!n_GV@8C7hjpq)z{Hn@;&i<<=`65*I>E9flEl@ z*?Ks)QnPySiq$BeRw1v9_rVd}_AduS!Ww&ektCQ!_d2VG!li z%zd~l+=+2nU9;kAx_7e7Yqn>H>7ZJz+@1A?UNE!!QD5V%Ii&`+)^oVjVsrb4w&u@f z)6O;hCpve-_K) z+bmHNI^P-ZCww<4m%Ol>$}jf)b&*q@|9)aj=*dN?3 zZPFaLYvS1IeX0L&vN+e&gx+ew-rH@2yWY|P`P=MVq%)Z)0AxArg{@hA3rH|Q_9@MhdoaCANg=_YouKIc|S zu3j^5H}N;GE9Z7v=Vx^R&)?SqozL?K-J*DYZWi#+l{_6(H{ZM66?aG6NuTb9nLY(c z_qd{k-=tTuZ(lqoVN-9^0vmf@JdZ~1#D24%>-T?Sy^ss~UFym@tlz3mJmmaBj;0Gd zbo0CeAMfyf2cPKXc|k`{`Ax?wbv~a)W%7;DqbCBzbJF>1BUc~O{@Q!Y|8(i!9PdK? zx8B+v!hHc{Bi!BBN&p#g;IneRtJP)8{u|}|T|Cd~>yqQ!@=W8Lg%jia6ys3ul@l@!Y{%jp{C^S z2ww_62)_$8)%Uz`TDUHBg+kze_jiT&g-u~wD1=+W=fXF_&%$rQec?~xf$)#;NH`Gw z72MN`A*=|`2=8=?wcQW$*3O`Rp`D)G`BtyBmABV>gYDd1UHkAtzf-uYoo=z#>TkO@ zhk2{W-Fnd)7MBJeb^2S{4|d}At(*DgsK~G6H;Tb9U%g)B!}EE!wd>aNV!ask`+3{V zD_1+ckjWYMc4wH|{=HE?j47UR7dzdq$k$poa@W4r6^5=|0PRP;-mWV~!(m>y{{fEP B?>+zk diff --git a/scripts/Units/cormadsam.lua_old b/scripts/Units/cormadsam.lua_old index 0c52afa7b8b..8e9144961b5 100644 --- a/scripts/Units/cormadsam.lua_old +++ b/scripts/Units/cormadsam.lua_old @@ -25,7 +25,7 @@ --signals - local SIGNAL_AIM1 = 1 + local SIG_AIM = 1 function script.Create() @@ -40,10 +40,10 @@ StartThread(dmgsmoke, dmgPieces) - Turn(launcher, x_axis, math.rad(-55.0), math.rad(60.0)) + Turn(launcher, x_axis, math.rad(-55.000000), math.rad(60.000000)) WaitForTurn(launcher, x_axis) - StartThread (animSpin, unitID, turret, y_axis, math.rad(25.0)) + StartThread (animSpin, unitID, turret, y_axis, math.rad(25.000000)) end local function RestoreAfterDelay(unitID) @@ -75,10 +75,10 @@ function script.AimFromWeapon1() return turret end function script.AimWeapon1( heading, pitch ) - Signal(SIGNAL_AIM1) - SetSignalMask(SIGNAL_AIM1) - Turn(turret, y_axis, heading, math.rad(245.0)) - Turn(launcher, x_axis, -pitch, math.rad(185.0)) + Signal(SIG_AIM) + SetSignalMask(SIG_AIM) + Turn(turret, y_axis, heading, math.rad(245.000000)) + Turn(launcher, x_axis, -pitch, math.rad(185.000000)) WaitForTurn(turret, y_axis) WaitForTurn(launcher, x_axis) return true @@ -132,8 +132,8 @@ if currBarrel == 9 then currBarrel = 1 end Sleep (5000) - StartThread (animSpin, unitID, turret, y_axis, math.rad(25.0)) - Turn(launcher, x_axis, math.rad(-35.0), math.rad(60.0)) + StartThread (animSpin, unitID, turret, y_axis, math.rad(25.000000)) + Turn(launcher, x_axis, math.rad(-35.000000), math.rad(60.000000)) end function script.Killed(recentDamage, maxHealth) diff --git a/scripts/Units/cormakr.bos b/scripts/Units/cormakr.bos index e5b838f7693..6c4f53dbff6 100644 --- a/scripts/Units/cormakr.bos +++ b/scripts/Units/cormakr.bos @@ -1,5 +1,7 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, cover, cover2, light; @@ -30,10 +32,14 @@ Create() { } -#define BASEPIECE base -#define MAXTILT 0 -#include "../unit_hitbyweaponid_and_smoke.h" +#define SMOKEPIECE base +#include "smokeunit_thread_nohit.h" +SweetSpot(piecenum) +{ + piecenum = base; + +} Killed(severity, corpsetype) { diff --git a/scripts/Units/cormakr.cob b/scripts/Units/cormakr.cob index 06e540cc493a3444bbc709c63495bb24ddd845d8..e09db3994e6b1b25f42113f3f12d613c13f81723 100644 GIT binary patch literal 1223 zcmbtUJxc>Y6nsg}Xt|a)a;1gE87wSKYy=4ef(TYQlf@jyM3VCh3lp%gu(A{s8$oPr zti;Bj;QvTrX{R%Ld-*tGqjya9W!~((x9=`-L?jD1Kqe)U#>#62L_yPw>oS~;3|8O7PfeGYn1=npp~V*Sn# z8Xb#&Vw$`#b3PLC=>(s*JZ0>Yn$g)^CGxCD3+lKwOd`9Hs zGbi(-?2~y)lSZ&x59J5_t6Mz) literal 1654 zcmb7^J#Q015QfM0#S}762nnhvAryQllBE<84a&tn1q&NTiHVeo23mdr zLaF&xltH4PphySrv$uQRoScG0li8hl=bew8OJ-($NhXlU>w^}%7TuID7+ zF)@b}SHDAz`xJ24A}4vCT)SASf5)QdXX4{kgXMZD;sOUT#Cltzm&Y#R!P76Xv7XN| zQ8VpE&bGFqexrzmrj3dBh)prr=sC`QLr!vXkMput&+wfA2zGkrJ+#RUSL9&V!G96H zsiQTsWj--3@OryA8)m`I-q8WRjJx)f9ypR0jgMa9-dez8io4m=6Lte%!x?tyYLX}B z03-7vhvSQ=^Tyq~8R9wsf7d(0H-9_WyNNx!vhUP^W(ZzMy>SaKlQ+S;C%^AAV1d03V6%ASwsPfvEL@?iG< r#VEbmvvOMQSEKFe>|JHA#*;}kvc2-Cvf=EwI;{V$+GM={c5eRww=`;T diff --git a/scripts/Units/cormando.bos b/scripts/Units/cormando.bos index 5e5143fe51d..6ed0e664133 100644 --- a/scripts/Units/cormando.bos +++ b/scripts/Units/cormando.bos @@ -1,5 +1,7 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece turret, sleeve, barrel, torso, rnano, lnano, pelvis, lthigh, rthigh, rleg, lleg, lfoot, rfoot, luparm, ruparm, @@ -7,22 +9,22 @@ piece turret, sleeve, barrel, torso, rnano, -#define SIGNAL_BUILD 2 +#define SIG_BUILD 4 lua_UnitScriptDecal(lightIndex, xpos,zpos, heading) { return 0; } -static-var isMoving, spray, wpn1_lasthead; +static-var bMoving, spray, statechg_DesiredState, statechg_StateChanging, notBuilding, wpn1_lasthead; // Generated for N:\animations\cormando_anim_walk.blend // Using https://github.com/Beherith/Skeletor_S3O // this animation uses the static-var animFramesPerKeyframe which contains how many frames each keyframe takes static-var animSpeed, maxSpeed, animFramesPerKeyframe; -#define SIGNAL_MOVE 1 +#define SIG_WALK 8 Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations\cormando_anim_walk.blend - set-signal-mask SIGNAL_MOVE; - if (isMoving) { //Frame:5 + set-signal-mask SIG_WALK; + if (bMoving) { //Frame:5 turn head to y-axis <8.499999> speed <254.999964> / animSpeed; //delta=8.50 turn larm to x-axis <-10.977423> speed <590.877889> / animSpeed; //delta=19.70 turn lfoot to x-axis <-7.407173> speed <309.167510> / animSpeed; //delta=10.31 @@ -38,7 +40,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations move pelvis to y-axis [-1.049141] speed [28.174227] / animSpeed; //delta=-0.94 turn rarm to x-axis <-45.364802> speed <1221.006395> / animSpeed; //delta=40.70 turn rfoot to x-axis <-30.708124> speed <758.102858> / animSpeed; //delta=25.27 - turn rfoot to z-axis <-0.0> speed <150.944293> / animSpeed; //delta=-5.03 + turn rfoot to z-axis <-0.000479> speed <150.944293> / animSpeed; //delta=-5.03 turn rfoot to y-axis <-0.001189> speed <55.296999> / animSpeed; //delta=-1.84 turn rleg to x-axis <20.273834> speed <140.069524> / animSpeed; //delta=-4.67 turn rthigh to x-axis <13.999088> speed <747.982272> / animSpeed; //delta=-24.93 @@ -49,10 +51,10 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn ruparm to y-axis <6.736227> speed <318.029962> / animSpeed; //delta=10.60 sleep 164; } - while(isMoving) { - if (isMoving) { //Frame:10 + while(bMoving) { + if (bMoving) { //Frame:10 call-script lua_UnitScriptDecal(2, (get PIECE_XZ(rfoot) & 0xffff0000) / 0x00010000 , (get PIECE_XZ(rfoot) & 0x0000ffff), get HEADING(0)); - turn head to y-axis <16.999999> speed <255.0> / animSpeed; //delta=8.50 + turn head to y-axis <16.999999> speed <255.000016> / animSpeed; //delta=8.50 turn larm to x-axis <-52.460033> speed <1244.478302> / animSpeed; //delta=41.48 turn lfoot to x-axis <16.463548> speed <716.121617> / animSpeed; //delta=-23.87 turn lleg to x-axis <5.146230> speed <2342.693448> / animSpeed; //delta=78.09 @@ -73,10 +75,10 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn ruparm to x-axis <-28.001761> speed <496.510245> / animSpeed; //delta=16.55 turn ruparm to z-axis <6.718704> speed <105.629855> / animSpeed; //delta=-3.52 turn ruparm to y-axis <20.996507> speed <427.808408> / animSpeed; //delta=14.26 - turn torso to x-axis <6.600000> speed <90.0> / animSpeed; //delta=-3.00 + turn torso to x-axis <6.600000> speed <90.000003> / animSpeed; //delta=-3.00 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:15 + if (bMoving) { //Frame:15 turn head to y-axis <11.859375> speed <154.218722> / animSpeed; //delta=-5.14 turn larm to x-axis <-67.071816> speed <438.353481> / animSpeed; //delta=14.61 turn lfoot to x-axis <11.077492> speed <161.581674> / animSpeed; //delta=5.39 @@ -101,7 +103,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn torso to x-axis <10.399999> speed <113.999990> / animSpeed; //delta=-3.80 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:20 + if (bMoving) { //Frame:20 turn head to y-axis <0.550000> speed <339.281254> / animSpeed; //delta=-11.31 turn larm to x-axis <-49.121457> speed <538.510761> / animSpeed; //delta=-17.95 turn lfoot to x-axis <-32.231656> speed <1299.274434> / animSpeed; //delta=43.31 @@ -124,10 +126,10 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn ruparm to x-axis <-16.186030> speed <438.649211> / animSpeed; //delta=-14.62 turn ruparm to z-axis <-0.728281> speed <214.168473> / animSpeed; //delta=7.14 turn ruparm to y-axis <10.207565> speed <332.265284> / animSpeed; //delta=-11.08 - turn torso to x-axis <7.599999> speed <84.0> / animSpeed; //delta=2.80 + turn torso to x-axis <7.599999> speed <84.000006> / animSpeed; //delta=2.80 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:25 + if (bMoving) { //Frame:25 turn head to y-axis <-10.759374> speed <339.281229> / animSpeed; //delta=-11.31 turn larm to x-axis <-38.328132> speed <323.799734> / animSpeed; //delta=-10.79 turn lfoot to x-axis <-26.488671> speed <172.289558> / animSpeed; //delta=-5.74 @@ -140,7 +142,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn luparm to y-axis <-4.228326> speed <196.087623> / animSpeed; //delta=-6.54 move pelvis to y-axis [-1.049141] speed [41.850221] / animSpeed; //delta=1.40 turn pelvis to z-axis <-0.860000> speed <57.599997> / animSpeed; //delta=1.92 - turn pelvis to y-axis <0.0> speed <13.499999> / animSpeed; //delta=-0.45 + turn pelvis to y-axis <0.000000> speed <13.499999> / animSpeed; //delta=-0.45 turn rarm to x-axis <-19.640421> speed <440.607854> / animSpeed; //delta=-14.69 turn rfoot to x-axis <27.855373> speed <1425.025226> / animSpeed; //delta=-47.50 turn rleg to x-axis <96.896656> speed <931.788067> / animSpeed; //delta=31.06 @@ -153,7 +155,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn torso to x-axis <5.699999> speed <56.999995> / animSpeed; //delta=1.90 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:30 + if (bMoving) { //Frame:30 call-script lua_UnitScriptDecal(1, (get PIECE_XZ(lfoot) & 0xffff0000) / 0x00010000 , (get PIECE_XZ(lfoot) & 0x0000ffff), get HEADING(0)); turn head to y-axis <-15.899997> speed <154.218696> / animSpeed; //delta=-5.14 turn larm to x-axis <-49.175791> speed <325.429759> / animSpeed; //delta=10.85 @@ -166,7 +168,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn luparm to z-axis <-4.668759> speed <34.040698> / animSpeed; //delta=1.13 turn luparm to y-axis <-16.727186> speed <374.965821> / animSpeed; //delta=-12.50 move pelvis to y-axis [-3.654837] speed [78.170872] / animSpeed; //delta=-2.61 - turn pelvis to z-axis <-0.0> speed <25.800000> / animSpeed; //delta=-0.86 + turn pelvis to z-axis <-0.000000> speed <25.800000> / animSpeed; //delta=-0.86 turn rarm to x-axis <-51.074177> speed <943.012697> / animSpeed; //delta=31.43 turn rfoot to x-axis <13.863962> speed <419.742334> / animSpeed; //delta=13.99 turn rleg to x-axis <13.114488> speed <2513.465039> / animSpeed; //delta=83.78 @@ -179,7 +181,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn torso to x-axis <3.100000> speed <77.999996> / animSpeed; //delta=2.60 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:35 + if (bMoving) { //Frame:35 turn head to y-axis <-10.978123> speed <147.656233> / animSpeed; //delta=4.92 turn larm to x-axis <-39.662441> speed <285.400513> / animSpeed; //delta=-9.51 turn lfoot to x-axis <-49.845703> speed <716.103687> / animSpeed; //delta=23.87 @@ -204,7 +206,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn torso to x-axis <9.699999> speed <197.999982> / animSpeed; //delta=-6.60 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:40 + if (bMoving) { //Frame:40 turn head to y-axis <-0.149999> speed <324.843719> / animSpeed; //delta=10.83 turn larm to x-axis <-25.257630> speed <432.144327> / animSpeed; //delta=-14.40 turn lfoot to x-axis <-44.872157> speed <149.206370> / animSpeed; //delta=-4.97 @@ -229,7 +231,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn torso to x-axis <6.499999> speed <95.999999> / animSpeed; //delta=3.20 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:45 + if (bMoving) { //Frame:45 turn head to y-axis <8.499999> speed <259.499933> / animSpeed; //delta=8.65 turn larm to x-axis <-10.977423> speed <428.406207> / animSpeed; //delta=-14.28 turn lfoot to x-axis <-7.407173> speed <1123.949531> / animSpeed; //delta=-37.46 @@ -240,7 +242,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn luparm to x-axis <6.462275> speed <643.450269> / animSpeed; //delta=-21.45 turn luparm to y-axis <2.665302> speed <334.010248> / animSpeed; //delta=11.13 move pelvis to y-axis [-1.049141] speed [41.850221] / animSpeed; //delta=1.40 - turn pelvis to z-axis <-2.0> speed <40.199996> / animSpeed; //delta=-1.34 + turn pelvis to z-axis <-2.000000> speed <40.199996> / animSpeed; //delta=-1.34 turn rarm to x-axis <-45.364802> speed <332.497365> / animSpeed; //delta=-11.08 turn rfoot to x-axis <-30.708124> speed <17.733049> / animSpeed; //delta=-0.59 turn rleg to x-axis <20.273834> speed <1394.666452> / animSpeed; //delta=46.49 @@ -255,10 +257,10 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations } } } -// Call this from StopMoving()! +// Call this from MotionControl()! StopWalking() { move pelvis to y-axis [-0.110000] speed [15.634174]; - turn head to y-axis <0.0> speed <67.856251>; + turn head to y-axis <0.000000> speed <67.856251>; turn larm to x-axis <8.718507> speed <248.895660>; turn lfoot to x-axis <2.898411> speed <259.854887>; turn lfoot to y-axis <7.332056> speed <44.146456>; @@ -270,8 +272,8 @@ StopWalking() { turn luparm to x-axis <-2.568530> speed <160.935860>; turn luparm to y-axis <2.482817> speed <114.418876>; turn luparm to z-axis <-8.202683> speed <53.485110>; - turn pelvis to y-axis <0.0> speed <2.700000>; - turn pelvis to z-axis <-2.0> speed <12.240000>; + turn pelvis to y-axis <0.000000> speed <2.700000>; + turn pelvis to z-axis <-2.000000> speed <12.240000>; turn rarm to x-axis <-4.664588> speed <244.201279>; turn rfoot to x-axis <-5.438029> speed <384.581663>; turn rfoot to y-axis <1.842044> speed <11.059400>; @@ -300,31 +302,83 @@ UnitSpeed(){ sleep 164; } } -StartMoving(reversing){ - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; - isMoving=TRUE; +StartMoving(){ + signal SIG_WALK; + set-signal-mask SIG_WALK; + bMoving=TRUE; start-script Walk(); start-script UnitSpeed(); } StopMoving(){ - signal SIGNAL_MOVE; + signal SIG_WALK; call-script StopWalking(); } +Go() +{ + + turn luparm to x-axis <-45> speed <187.500000>; + turn larm to x-axis <-45> speed <187.500000>; + turn ruparm to x-axis <-45> speed <187.500000>; + turn rarm to x-axis <-45> speed <187.500000>; + sleep 130; +} + +Stop() +{ + set INBUILDSTANCE to 0; + turn luparm to x-axis <0> speed <187.500000>; + turn larm to x-axis <0> speed <187.500000>; + turn ruparm to x-axis <0> speed <187.500000>; + turn rarm to x-axis <0> speed <187.500000>; + turn aimy1 to y-axis <0.000000> speed <160.000000>; + wait-for-turn aimy1 around y-axis; + + + sleep 200; +} #define BASEPIECE pelvis #define HITSPEED <55.0> //how 'heavy' the unit is, on a scale of 1-10 #define UNITSIZE 6 #define MAXTILT 100 -#include "../unit_hitbyweaponid_and_smoke.h" +#include "unit_hitbyweaponid_and_smoke.h" -Lights() + +RequestState(requestedstate, currentstate) { - while (TRUE){ - emit-sfx 1024 + 1 from head; - sleep 2000; + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState ) + { + call-script Stop(); + notBuilding = 1; + currentstate = 1; + } + else + { + call-script Go(); + notBuilding = 0; + currentstate = 0; + } } + statechg_StateChanging = FALSE; +} + + +Lights() +{ + emit-sfx 1024 + 1 from head; + sleep 2000; + start-script Lights(); } Create() @@ -334,69 +388,69 @@ Create() hide aimx1; hide flare; hide aimy1; - isMoving = FALSE; + bMoving = FALSE; + notBuilding = 1; turn flare to x-axis <90> now; animSpeed = 5; spray = 0; + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; //start-script Lights(); } StartBuilding(torsoing, pitch) { - signal SIGNAL_BUILD; - set-signal-mask SIGNAL_BUILD; - show lnano; show rnano; - - turn luparm to x-axis <-45> speed <187.500000>; - turn larm to x-axis <-45> speed <187.500000>; - turn ruparm to x-axis <-45> speed <187.500000>; - turn rarm to x-axis <-45> speed <187.500000>; - wait-for-turn luparm around x-axis; - - turn aimy1 to y-axis torsoing speed <240.0>; + start-script RequestState(0); + while( notBuilding ) sleep 100; + signal SIG_BUILD; + turn aimy1 to y-axis torsoing speed <240.000000>; wait-for-turn aimy1 around y-axis; set INBUILDSTANCE to 1; } StopBuilding() { - signal SIGNAL_BUILD; - set-signal-mask SIGNAL_BUILD; - hide lnano; hide rnano; - + signal SIG_BUILD; + set-signal-mask SIG_BUILD; sleep 3000; - set INBUILDSTANCE to 0; + set-signal-mask 0; + signal SIG_BUILD; + start-script RequestState(1); +} - turn luparm to x-axis <0> speed <187.500000>; - turn larm to x-axis <0> speed <187.500000>; - turn ruparm to x-axis <0> speed <187.500000>; - turn rarm to x-axis <0> speed <187.500000>; - turn aimy1 to y-axis <0.0> speed <160.0>; + + +SweetSpot(piecenum) +{ + piecenum = torso; } -QueryWeapon1(pieceIndex) + +QueryPrimary(piecenum) { - pieceIndex = flare; + piecenum = flare; } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = torso; + piecenum = torso; } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { signal 2; move turret to y-axis [5.5] speed [10]; - turn sleeve to x-axis <270.0>-pitch speed <95.0>; - turn turret to y-axis heading speed <300.0>; - if ((wpn1_lasthead == 0xbadface) OR ABSOLUTE_GREATER_THAN(WRAPDELTA(heading - wpn1_lasthead), <7>)) + turn sleeve to x-axis <270.000000>-pitch speed <95.000000>; + turn turret to y-axis heading speed <300.000000>; + if (((get ABS(wpn1_lasthead - heading)) > 65536) OR(((get ABS(wpn1_lasthead - heading)) > 1300) AND ((get ABS(wpn1_lasthead - heading)) < 64236))) { - wpn1_lasthead = 0xbadface; + wpn1_lasthead = 1000000; + //wait-for-turn sleeve around x-axis; + //turn sleeve to x-axis <270.000000>-pitch speed <95.000000>; wait-for-turn turret around y-axis; wait-for-turn sleeve around x-axis; } @@ -404,7 +458,7 @@ AimWeapon1(heading, pitch) return (1); } -FireWeapon1() +FirePrimary() { emit-sfx 1024 + 0 from flare; move barrel to y-axis [-0.5] speed [3.750000]; @@ -412,22 +466,22 @@ FireWeapon1() move barrel to y-axis [0] now; } -FireWeapon2() {} -AimWeapon2(heading, pitch) { return(1); } -AimFromWeapon2(pieceIndex) { pieceIndex = torso; } -QueryWeapon2(pieceIndex) { pieceIndex = flare; } +FireSecondary() {} +AimSecondary(heading, pitch) { return(1); } +AimFromSecondary(piecenum) { piecenum = torso; } +QuerySecondary(piecenum) { piecenum = flare; } -QueryNanoPiece(pieceIndex) +QueryNanoPiece(piecenum) { spray = !spray; if( spray ) { - pieceIndex = rnano; + piecenum = rnano; } if( !spray ) { - pieceIndex = lnano; + piecenum = lnano; } } @@ -441,6 +495,20 @@ Killed(severity, corpsetype) explode turret type BITMAPONLY | NOHEATCLOUD; explode sleeve type BITMAPONLY | NOHEATCLOUD; explode barrel type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare type BITMAPONLY | NOHEATCLOUD; + //explode ruparm type BITMAPONLY | NOHEATCLOUD; + //explode rarm type BITMAPONLY | NOHEATCLOUD; + //explode rnano type BITMAPONLY | NOHEATCLOUD; + //explode luparm type BITMAPONLY | NOHEATCLOUD; + //explode larm type BITMAPONLY | NOHEATCLOUD; + //explode lnano type BITMAPONLY | NOHEATCLOUD; + //explode head type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lthigh type BITMAPONLY | NOHEATCLOUD; + //explode lleg type BITMAPONLY | NOHEATCLOUD; + //explode lfoot type BITMAPONLY | NOHEATCLOUD; + //explode rthigh type BITMAPONLY | NOHEATCLOUD; + //explode rleg type BITMAPONLY | NOHEATCLOUD; + //explode rfoot type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } if( severity <= 50 ) @@ -451,6 +519,20 @@ Killed(severity, corpsetype) explode turret type FIRE | SMOKE | FALL | NOHEATCLOUD; explode sleeve type FIRE | SMOKE | FALL | NOHEATCLOUD; explode barrel type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode ruparm type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rarm type FALL | NOHEATCLOUD; + //explode rnano type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode luparm type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode larm type FALL | NOHEATCLOUD; + //explode lnano type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode head type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lthigh type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lleg type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lfoot type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rthigh type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rleg type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rfoot type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) @@ -461,6 +543,20 @@ Killed(severity, corpsetype) explode turret type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode sleeve type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode barrel type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode ruparm type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode rarm type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rnano type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode luparm type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode larm type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lnano type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode head type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lthigh type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lleg type SMOKE | FALL | NOHEATCLOUD; + //explode lfoot type SMOKE | FALL | NOHEATCLOUD; + //explode rthigh type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode rleg type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rfoot type SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; @@ -469,5 +565,19 @@ Killed(severity, corpsetype) explode turret type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode sleeve type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode barrel type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode ruparm type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode rarm type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode rnano type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode luparm type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode larm type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode lnano type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode head type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode lthigh type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode lleg type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lfoot type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rthigh type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode rleg type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rfoot type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/cormando.cob b/scripts/Units/cormando.cob index 09b543881d321db741209cdb01710223f4dbd908..0ad02996d31c159c700a16a93e941eb3f8a3bc26 100644 GIT binary patch literal 14807 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 b+^^xEN!hAucRqHrt}0hMqaXi%v!DAfDbG)z literal 13647 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 diff --git a/scripts/Units/cormart.bos b/scripts/Units/cormart.bos index f774d92630b..d5b1411f2cb 100644 --- a/scripts/Units/cormart.bos +++ b/scripts/Units/cormart.bos @@ -1,5 +1,7 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, flare, turret, sleeve, barrel, gun; @@ -7,8 +9,19 @@ static-var restore_delay; static-var out_of_arc_count; // Signal definitions -#define SIGNAL_MOVE 1 -#define SIGNAL_AIM1 256 +#define SIG_AIM 2 + + +RockUnit(anglex, anglez) +{ + turn base to x-axis anglex speed <50.005495>; + turn base to z-axis <0> - anglez speed <50.005495>; + wait-for-turn base around z-axis; + wait-for-turn base around x-axis; + turn base to z-axis <0.000000> speed <20.000000>; + turn base to x-axis <0.000000> speed <20.000000>; + return (0); +} #define BASEPIECE base @@ -17,16 +30,7 @@ static-var out_of_arc_count; #define UNITSIZE 4 #define MAXTILT 100 -#define RECOIL_POWER 100000 -#include "../unit_hitbyweaponid_and_smoke.h" - - -#define TB_BASE base -#define TB_TURNRATE <20.0> -#define TB_TILT_X <0.15> -#define TB_BANK_Z <0.15> // Do not define this if you dont want banking -#include "../tilt_bank_mobileunit.h" - +#include "unit_hitbyweaponid_and_smoke.h" Create() { @@ -34,26 +38,12 @@ Create() hide flare; restore_delay = 3000; out_of_arc_count = 0; - call-script TB_Init(); -} - -StartMoving(reversing) -{ - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; - START_TILTBANK; -} - -StopMoving() -{ - signal SIGNAL_MOVE; - STOP_TILTBANK; + return (0); } - -SetMaxReloadTime(reloadMS) +SetMaxReloadTime(Func_Var_1) { - restore_delay = reloadMS * 2; + restore_delay = Func_Var_1 * 2; return (0); } @@ -63,8 +53,8 @@ ExecuteRestoreAfterDelay() if (Stunned) { return (1); } - turn turret to y-axis <0.0> speed <50.005495>; - turn gun to x-axis <0.0> speed <50.005495>; + turn turret to y-axis <0.000000> speed <50.005495>; + turn gun to x-axis <0.000000> speed <50.005495>; } SetStunned(State) { @@ -79,10 +69,10 @@ RestoreAfterDelay() start-script ExecuteRestoreAfterDelay(); } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; // out of firing arc aim calls happen during "preaiming" logic // logic to reset gun to neutral if the target heading has been @@ -101,37 +91,41 @@ AimWeapon1(heading, pitch) out_of_arc_count = 0; turn turret to y-axis heading speed <35.005495>; - turn gun to x-axis <0.0> - pitch speed <35.005495>; + turn gun to x-axis <0.000000> - pitch speed <35.005495>; wait-for-turn turret around y-axis; wait-for-turn sleeve around x-axis; start-script RestoreAfterDelay(); return (1); } -FireWeapon1() +FirePrimary() { emit-sfx 1024 + 0 from flare; - move sleeve to z-axis [-3.0] speed [1250.0]; - move barrel to z-axis [-6.0] speed [1250.0]; + move sleeve to z-axis [-3.000000] speed [1250.000000]; + move barrel to z-axis [-6.000000] speed [1250.000000]; wait-for-move sleeve along z-axis; - move barrel to z-axis [0.0] speed [7.500000]; - move sleeve to z-axis [0.0] speed [7.500000]; + move barrel to z-axis [0.000000] speed [7.500000]; + move sleeve to z-axis [0.000000] speed [7.500000]; return (0); } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = gun; + piecenum = gun; return (0); } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = flare; + piecenum = flare; return (0); } - +SweetSpot(piecenum) +{ + piecenum = base; + return (0); +} Killed(severity, corpsetype) { @@ -143,7 +137,7 @@ Killed(severity, corpsetype) explode gun type BITMAPONLY | NOHEATCLOUD; explode sleeve type BITMAPONLY | NOHEATCLOUD; explode barrel type FIRE | SMOKE | FALL | NOHEATCLOUD; - + //explode flare type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } if( severity <= 50 ) @@ -154,7 +148,7 @@ Killed(severity, corpsetype) explode gun type FALL | NOHEATCLOUD; explode sleeve type FIRE | SMOKE | FALL | NOHEATCLOUD; explode barrel type FALL | NOHEATCLOUD; - + //explode flare type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) @@ -165,7 +159,7 @@ Killed(severity, corpsetype) explode gun type SMOKE | FALL | NOHEATCLOUD; explode sleeve type SMOKE | FALL | NOHEATCLOUD; explode barrel type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; - + //explode flare type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; @@ -174,6 +168,6 @@ Killed(severity, corpsetype) explode gun type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode sleeve type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode barrel type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; - + //explode flare type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/cormart.cob b/scripts/Units/cormart.cob index 19bc4656552cf76f4e931d45be63cde9c16b467d..e68b1876b615baf350a19e1c68bfd58c1a1bc0f4 100644 GIT binary patch literal 3315 zcmb7GJ!lj`6n=L(PeIWY8)LPgB8cEA7B)(vQ4|qkqS$85P2})$7dCt9b=O4{TWhfw zw6hQqEL0F|6vR#iu~V!>5dFTHd7E*~#@vRNH}ihK_s#4kH4)hYsYBjYMQYG|1{*~l zLw-Q^VIOV6uecgfDp57My;GzL%~*-WX)M)8O&4P-T*M>Db#Z8ef)(cv)?700@MfpE z4|B?V4AXuxS+^J!E4BUcF-@=SoDE->>Lf$2xfOcz@>< z3;VMdIkY|RI_?gzA-LlAjZc`*SZl<6D2vfEWS*UM!C|-Sf%_KZb)WwJ&AX$RY_BnR z8^AJfc;4+`AUr#ZxGF~sg0qCE2( z!WkXDisKY}V%R{9C&xeOIN=`;tt*&`?+o*u?PJa9U*HH{*lm6E7g66&>*G6Z`HfxQ zJZ`W)s4w>2FZ2Cf9|eI?-$Bl(--jG;;3wwQ{BW20*&{svQ3l8E3@ZT3ep+9-i4j8k z09t0iTeLoZ4`Y~$KAm|bA7^9yN)2jv)@xc z+fhFov5~vA%r*=Totb!ucL1#zb>?B}DHki%TW#i9_VqL0^fTML7R)>h4wmCQIv;a6 z*ILg<^LUo4ouhK}zc}S3tgCp)i>?QL&AVFUi#Up$XuVxjtpu-K2TGHE-m^bu-(`%#>Nox~UnT%S<|9+DV_0(^;?6F-`f` zIo_I|Ok49w+Lx29)aV-KlW8}1o$HyjufFMP1{D{&nVf00+o*aeSu`@&PEsRTFHKD* Ri)~}B8aS|P%jI52{s1v?@~{8^ literal 3664 zcmai1&1+m$6hAYWPN<*HuA)*I6me5zB7&|Y6Vqa712u^VZp<@t6NXIYg_k#_MWI~zu&p{yxe)6Gy{iw@A>$h-#Pc(m$o4y zCm>D8V-q5iSo!fJrBzR2sU`K~Av(7jiL5jexC?b%>drS4?i<|0 z&V7gb_A&K+9NPwTb*!|}B?xH2aWEz(ub=W;KMWh7;ijc&h)jM zSLr-6k<{B>7uz&f;`z)5JSRK7N1pN=jVtp@dqR7n@!%jW(He{! zW2`UC#}LbVXY4^d{a7z!cd_OAHde+mzhPEaY5O}eU$`FW8~ZSxHCyjHFfu34hw&zd zeL93*ux8$eB>qk;maDXDTGO@T2fV618)svv)ykQ)S)gw3otoNi<7fRbE~aBVb(}x; zk6fyFJk!QE(7=Z02G5v#_JmvFbEU1rO_-UVgN`bj^%y^nQ_L`v`yq}x%V9jq9ErX# z%_|}9Mu@AC@O3|PGSf`{3;KGbk8?i*yY>P1K>usOpK5#SXSqkstm7EAF@8zzeAld%pU#t2I*&Sk+9ak zc>u>Yean?NVi8|4TONP^G6FHzXlc(yjsCze&(oRS`W1s?St>a3X_Ey zIvKF2(zm%Hfxlmg`^~-nUC@PRuH>k7w(#Dlz|U;<#(7qsE&q2&_d9-n)J(Ew1;v}! zIj-PWv5&%|KkuOA82WDWHO@A!CgVjMojZJ&*o&$!?~Z@Z`DXqJJ=Xg1{bTHvCq}s_ z54exB>6;2RLRx=~3-dEqnRCz2-h%{1|L$Q7er4_8KwnjI4i53LZ-B;;{Fdh~+~XcC zzuLdYJmdQ|qMLzV8(elgpE>YhUWPM9`+@gpvlQF3cZ@~<_`m`$-XDEg7r#?X;W>@k$@wrlG2%OY zm>?~GFW-SE@hskI-=j}5S?05|)n#XW*NC?>YarfdSQ)SN27J~N^U%MAfyZxw2k}|Q zVLS}ic4E!!|ZqCu}X}!;nJ1%&$&T;#^b$kHXe319`6TxmB+YT zhRqP#KMt{$%g&a|&X&v0)m(&m8uB&dN5~|aJO%j#@+IU4$S;t;Aax`=0eKYSAn!sx zfP4z!|6yK(tU)r!TaaDI708E>J;+y(Zy`THeuexCxdl0n@AnksNysV4G~_wR3y{;0 zbC8#M#q6b5UAmPG=DYDp7PHljR|dU8=F-h{-F25XvkfQ9v#-xnx!mg)v*}<%Ud&xu zI9V#vyjaLC^aktLXIr*)#X@><(e<;myWHD!a{8iM9TslUZ5LVYI%|c?=UhL%BulPX zDu#oB>&l(RPH)q5oR%}a+}R%LGkI2;ULLwU)G{q+d;LDJ-blBdto75}NiocGSIBnX OxeE>kocgjp9LWEHFCDM| diff --git a/scripts/Units/cormaw.bos b/scripts/Units/cormaw.bos index 20ca3f06807..f723c7a0f0e 100644 --- a/scripts/Units/cormaw.bos +++ b/scripts/Units/cormaw.bos @@ -1,35 +1,35 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, top, bore, barrel, flare, aimpoint, firepoint; -static-var isOpen, restore_delay; +static-var Static_Var_1, restore_delay, statechg_DesiredState, statechg_StateChanging; // Signal definitions -#define SIGNAL_AIM1 256 - -#include "../opencloseanim.h" +#define SIG_AIM 2 lua_FlameShot(weapon) //Distortion and lups flame effect { return 0; } -Open() +Go() { set ARMORED to 0; - move top to y-axis [8.0] speed [19.989014]; + move top to y-axis [8.000000] speed [19.989014]; wait-for-move top along y-axis; - move bore to z-axis [0.0] speed [19.989014]; - move barrel to z-axis [0.0] speed [19.989014]; - isOpen = 1; + move bore to z-axis [0.000000] speed [19.989014]; + move barrel to z-axis [0.000000] speed [19.989014]; + Static_Var_1 = 1; } -Close() +Stop() { set ARMORED to 1; - isOpen = 0; - turn top to y-axis <0.0> speed <300.0>; + Static_Var_1 = 0; + turn top to y-axis <0.000000> speed <300.000000>; move bore to z-axis [-6] speed [19.989014]; move barrel to z-axis [-6.5] speed [19.989014]; wait-for-move barrel along z-axis; @@ -38,6 +38,37 @@ Close() wait-for-move top along y-axis; } +InitState() +{ + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; +} + +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + call-script Go(); + currentstate = 0; + } + if( statechg_DesiredState == 1 ) + { + call-script Stop(); + currentstate = 1; + } + } + statechg_StateChanging = FALSE; +} Create() { @@ -46,26 +77,30 @@ Create() hide flare; hide flare; restore_delay = 2000; - isOpen = 0; - start-script OpenCloseAnim(1); - SLEEP_UNTIL_UNITFINISHED; + Static_Var_1 = 0; + call-script InitState(); + start-script RequestState(0); + while( get BUILD_PERCENT_LEFT ) + { + sleep 250; + } move aimpoint to y-axis [8] now; - start-script OpenCloseAnim(0); + start-script RequestState(1); } Activate() { - start-script OpenCloseAnim(1); + start-script RequestState(0); } Deactivate() { - start-script OpenCloseAnim(0); + start-script RequestState(1); } -SetMaxReloadTime(reloadMS) +SetMaxReloadTime(Func_Var_1) { - restore_delay = reloadMS * 3; + restore_delay = Func_Var_1 * 3; } static-var Stunned; @@ -75,7 +110,7 @@ ExecuteRestoreAfterDelay() return (1); } set-signal-mask 0; - start-script OpenCloseAnim(0); + start-script RequestState(1); } SetStunned(State) { @@ -90,17 +125,17 @@ RestoreAfterDelay() start-script ExecuteRestoreAfterDelay(); } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - start-script OpenCloseAnim(1); - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; - while( !isOpen ) + start-script RequestState(0); + signal SIG_AIM; + set-signal-mask SIG_AIM; + while( !Static_Var_1 ) { sleep 250; } - turn top to y-axis heading speed <300.0>; - turn firepoint to x-axis <0.0> - pitch speed <110.0>; + turn top to y-axis heading speed <300.000000>; + turn firepoint to x-axis <0.000000> - pitch speed <110.000000>; wait-for-turn top around y-axis; wait-for-turn firepoint around x-axis; start-script RestoreAfterDelay(); @@ -114,20 +149,23 @@ Shot1() return (TRUE); } -FireWeapon1() +FirePrimary() { } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = firepoint; + piecenum = firepoint; } +SweetSpot(piecenum) +{ + piecenum = base; +} - -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = aimpoint; + piecenum = aimpoint; } Killed(severity, corpsetype) diff --git a/scripts/Units/cormaw.cob b/scripts/Units/cormaw.cob index 7978e8bc46522ca062117c04e52ba41eeb9a771d..92e396563877274ff57a7bcf8f9c98ea434c71a4 100644 GIT binary patch literal 3155 zcmb_eJ8KkC6h7JPZsG$RjTULbG=iwe`f98ajM3nOn6*(*Gf8f6U^bgfW;H241An>&+|Ly-Wet@B16Cc@Hi(@ zfaLRVyT~V?v_s@D_7@<<%{hHe&Y@kVigvvh%ZAP!w7Sxtp+q+*;)v5nAI7+SjWuJM zez3t0<%MWx>rdI3D_@FvG-_w~#Pwo6aBuNH_b$!3$*;BU#@~*d>c6c`IkB(wI^Bmz z$@cST_@|BOGz)UnnQDJJ3!2z3Yoz<-c@TNbk~WzsI?E6_?73x3I!87?V;F1s!k2Zk zu?;)?>`Z404(mKg#Wp#`w)?P&i~B)|NA0vTpO`S4M@#>r^Wxtr)| zZ#$D2aqJz2EYb-wpOVb^7MGo|tgYO*ryJ|rS*C2rWOJzhZtIt~b9j^ZZBSS0bI9>k zq7%XWe;)JESjucZs`PB^I#Vxg-z=VYLC=qU**;4BPPSLp;u*wqDLUk?vu@#0kKgfb zYqAb=Hgd1W=emap(9<^CNOR`O!{+DgI{4^4*R#sb&)%1%n5$ibH#yjH35Sy?!ua$# z9ZGck9_ZY}ZT%jcxYXoJAIsJ4cj#yD7mMJlN4>RS-P9Kyem41J=NsoKT8=iBd^x=D zao()IO@eddENEj5z8BPUpS5$pnVs)QCwulD4KtY=pXCdXRc`uTa__>0vJNRTn2$5i z;O0V=wQ0}oY&=8yGXW*uBAb)z_|Ep*8PpR!Yw@nr?k2JhsXQ3dI6KTx&zkMhY=1{JTB}eMI zIXj(;#&;8=zP<3&d8K1};hCLjySe>u?ya6-uVL&w49H*vl-+ ZV;6=dkcGg*#`7ynRev#(1tgDG{{Up~`5piO literal 2423 zcma)7&r4KM6h7)WrV!jp0$aTZS{01du8qHvO4QOw+SEMtN)O)rV0?z|T(r$UAS4We zcGWK0)<0lG(4s~ATtozsAoYFs-Sg%-Io80(J?EZZ-?{JHI|UIr2J`?s9U=v+{C&no za71JgI0tGMTYWKO})4zkz;-RvUS%jk(AVOV&p#pR``e zhkkkgs~>Z5L6hHpPP@O`a$5i8Y|2T{S6-gsj@ggP1)XmB{#<^8nWR4fAKnKE3U037`MpUROC5&a{*B)g!8d!Aa?n_q z1Z?)@b9;UU4yu>8JGo6f?@j)0@EoO--m!i4QH%5M?B$~Q4mbAYYI`28&U!kRPX3RY zJU8ada&M*gt&fQj&nJRE)^dX9;p+12+W4?9BIDS~g$e4OD`oH|2Uo*$IFEhC?{d?B zr!#(!Gpy$(!TuS(G}Yv*_gR82@bNRnd|-xD=`2Eav*z}TrjILr8F%!Y$pK{Ayxl#n z-_pF9kN0N|eH&?G4Zb(rrp`5Q=iIlmx6a7`V}tZtJpvi6t?wE2E&7pNH0=E4e?R0A9*t!|TdJ{gsFMxAI`F)>`Vzln2#PyVg?uU$vNT0+b}+yO!$0{Fkb0c-+Kf#<*r;5G0T_yFtxKY`v}k$&J5a2B`- zi~!ewDPRVe1MUKgKn0kt+v;dsTeid1s3P%7cyBxoD|YsNEpaw+Mj36`FtIYckVFqC zjM-4dS({9Tt1~vPg^RbMij^y?c3~y4Gj=(tHSF+GVjE*N4%Y;pv&l-eY8T~i<8V}& zvthkf9TXNHl<}xxb?4@aZLFyR&+$er^PY&}7#ZioWh+UoF7qe~t 0) call-script Activate(); // Because SetSpeed is called after Activate + piecenum = base; } Killed(severity, corpsetype) diff --git a/scripts/Units/cormex.cob b/scripts/Units/cormex.cob index e6dcd64a54dd258f03fa116122e4be157937b7e2..79e0713e3cf593eb318478933d4942bc90667722 100644 GIT binary patch literal 2104 zcmb`IJ!=$E6o$`!WD^wOiZ+21Q;1cBB~40W6pYve7ZC&@>t>48xVxH3L=ds}7l@7M zAJ9$+sGVSMVJkLvf>svl``o#A_GVd8)Cn*5e4qE6xwC1S*&(4Wys4SZ>f~9Ia94OH zEJ}Z&v+3$?2Iof0Nwu1ER9kO3%_rlBzmoZ0x7Fq+iOf>>v3lF7Wpp+I1(U)oe}a%|s{GGV#!#%!Z$xM4jEND7dam3>zo`WZynO=Zgco2V0N9;%c{WZ&X5oaMM_N^-x`($qAR}as5 zqvZ7{$sKbleGlZD#yR$gHOcce!>kWOp0`Pk{+P$Ec7vVJY5OPVs|w&F2A!RwQy2Yl z(EWYUZv7d2hjm)k^t;~+wr|+lHAnyF!GP(SX$^YFK)>}jDM^ZGafKkG~3 z(d^%KV6RWuUj;j1@FXVP<3Yt^i+?plAn3#vySUc`F>d`-0Z=T$&oU51274I_nEQE88*o}to0oN$s53;%0 z>YZh>k(2re<8JtQ#W%et{@n*2_W}>@`@it`Rj(dILa(Qx7r#GgFM7w>+T47KLTuq`?2wJ>j+RR(L0T5IzZCgdf73 z7I#Eg5RMBcgeBqZ&^pC%WakF`qEmE>+&a00oxvdAvx_w4b~tk1+rM literal 1876 zcma)7y=oLu6h1pUnfOPzf`wu;g<>NzSj9rvjVWA35w;Kn!7+2u#bguAsHBgjmR5`S z5I%qppl^}FLeN66Q@`)dIkPuo7Tj<+=boSM{M|cAMdUar0nK_MeQ^F}naC&50q8Q$ z-@qkL9RFxfi^RcQ>@1Hmw?adnIl6}5AakcFK)2Lrq^I$6FLRWC0)$vJ$2R7QiM9qS zb!6Rg%mpln?2j`cKh!ULs3$Sr z>WFJ*jOApXGU&UcXmqhH%-l8gJXAce&{ymia%fLa)sH&EWF4zm0%NS!&`;41GYRpi zL2?Q6w%QnDb73q~TVDAmb{_Z)Uw%HFg zC(n!OCf-*%Xg}K*#7anxB3#<7kzhYK$v8VQ@P_+Z zcM|F2+*jewxpHpw|Drfl+uJ-7>+)k^z9J{IKMWe12=%Go18`Od2JFMOphN%c)=`)%q49dkab^iU-V^P_I~T4`SSN#Lb)c?h$Ld;jY3A z(ASJUZn-^w&@&maLj9dP5cZ(BuN0SWd=c&fr_X=X$KJZJ?>e!D zMRi;g&)mUz&WY-3-lXwYFXqg=pyI}=o)AZGy>fPjeR|?UreXI zk{i!`S$nxTsn_=I`*LS{I;!H6te0Em6JL$Dwx4+!Zq$>P^k4U-i3Hp6fVw@|+yr}E M?t0m+%V{Nl0gCc@UH||9 diff --git a/scripts/Units/cormexp.bos b/scripts/Units/cormexp.bos index 6d74725817b..5c5d381cf43 100644 --- a/scripts/Units/cormexp.bos +++ b/scripts/Units/cormexp.bos @@ -1,5 +1,7 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, column, top, turret1, turret2, barrel, flare1, flare2, flare3, aimpoint; @@ -16,14 +18,12 @@ static-var Stunned; // weapon_state = 6, popping down // Signal definitions -#define SIGNAL_AIM1 256 -#define SIGNAL_AIM2 512 -#define SIGNAL_TURNON 4 +#define SIG_AIM 2 +#define SIG_AIM_2 4 +#define SIG_WEAPON_DEPLOY 16 - -#define BASEPIECE base -#define MAXTILT 0 -#include "../unit_hitbyweaponid_and_smoke.h" +#define SMOKEPIECE base +#include "smokeunit_thread_nohit.h" triplepenetration(){ // extraction animation @@ -62,7 +62,10 @@ Create() gun_2 = base; restore_delay = 5000; set ARMORED to 0; //makes sure no armor state is applied - SLEEP_UNTIL_UNITFINISHED; + while( get BUILD_PERCENT_LEFT ) + { + sleep 250; + } weapon_state = 4; start-script RetractWeapon(); start-script triplepenetration(); @@ -95,15 +98,15 @@ RestoreAfterDelay() start-script ExecuteRestoreAfterDelay(); } -SetMaxReloadTime(reloadMS) +SetMaxReloadTime(Func_Var_1) { - restore_delay = reloadMS * 10; + restore_delay = Func_Var_1 * 10; } DeployWeapon() { - signal SIGNAL_TURNON; - set-signal-mask SIGNAL_TURNON; + signal SIG_WEAPON_DEPLOY; + set-signal-mask SIG_WEAPON_DEPLOY; if (column_going_up == TRUE) // interrupt column movement upwards to the half-stroke distance @@ -124,8 +127,8 @@ DeployWeapon() RetractWeapon() { - signal SIGNAL_TURNON; - set-signal-mask SIGNAL_TURNON; + signal SIG_WEAPON_DEPLOY; + set-signal-mask SIG_WEAPON_DEPLOY; if (weapon_state == 4 OR weapon_state == 5 OR weapon_state == 3) // if weapon is fully deployed, or barrel is moving @@ -146,7 +149,7 @@ RetractWeapon() } } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { if ( ExtractionSpeed == 0 ) // only allow attacking when extracting @@ -158,15 +161,15 @@ AimWeapon1(heading, pitch) { call-script DeployWeapon(); } - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; turn turret1 to y-axis heading speed 40000; wait-for-turn turret1 around y-axis; start-script RestoreAfterDelay(); return (1); } -FireWeapon1() +FirePrimary() { ++gun_1; if( gun_1 >= 2 ) @@ -175,24 +178,24 @@ FireWeapon1() } } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = aimpoint; + piecenum = aimpoint; } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { if( gun_1 == 0 ) { - pieceIndex = flare1; + piecenum = flare1; } if( gun_1 == 1 ) { - pieceIndex = flare2; + piecenum = flare2; } } -AimWeapon2(heading, pitch) +AimSecondary(heading, pitch) { if ( ExtractionSpeed == 0 ) // only allow attacking when extracting @@ -204,8 +207,8 @@ AimWeapon2(heading, pitch) { call-script DeployWeapon(); } - signal SIGNAL_AIM2; - set-signal-mask SIGNAL_AIM2; + signal SIG_AIM_2; + set-signal-mask SIG_AIM_2; turn turret2 to y-axis heading speed 40000; wait-for-turn turret2 around y-axis; start-script RestoreAfterDelay(); @@ -217,26 +220,29 @@ Shot2(zero) emit-sfx 257 from barrel; } -FireWeapon2() +FireSecondary() { } -AimFromWeapon2(pieceIndex) +AimFromSecondary(piecenum) { - pieceIndex = aimpoint; + piecenum = aimpoint; } -QueryWeapon2(pieceIndex) +QuerySecondary(piecenum) { - pieceIndex = flare3; + piecenum = flare3; } -SetSpeed(windOrMetal) +SetSpeed(Func_Var_1) { - ExtractionSpeed = windOrMetal * 500; //ExtractionSpeed ~= 2,000,000 on a +2 mex + ExtractionSpeed = Func_Var_1 * 500; //ExtractionSpeed ~= 2,000,000 on a +2 mex } - +SweetSpot(piecenum) +{ + piecenum = base; +} Killed(severity, corpsetype) { diff --git a/scripts/Units/cormexp.cob b/scripts/Units/cormexp.cob index 1b85c884cf25ee13512b360807e3d94f493925dd..35d7fe071be1319dff97a0198253ebe223115aee 100644 GIT binary patch literal 5024 zcmcgw&ud&&6h4_urqL37wt^8{JV8)FFde%tlh~H3RnknPhzs+a+{V|;%o|?bXk#~n zRM3Ukod_=K#+57o0T-@BEV>hyqTotIU5H)S@4NS&ncL~SG?Nw!ANRiV^SkGqci*H{ z5m^N82ToN*=CSf$<3W*YfE*Ed8q1SdC9Xs>Q6-{S;%X!twP*ob$|$NXRiZ<|v#i#v z{S1|`ec9`f#`;%a&uzu~GtLSHOLI2%6WCIgSlNt?#qFd#VGJ8Taxv;Y24$1-Q7=og zku16R>)w*EKkc7HT=T+9ysOz)ed9E=qY3RxL9oMcrNnM zJdKqHZs(4fP|mu_l5$6YJ@WiE3q9tEb8*q?l9%$kPJOvC5*k2-rjCn`I%lX%{qBb>Q^y#8OT%JX+GV{Mp=J?DHK=E{HA+n!>p z9CV(o9&qs))sv1OyjXE2Iaih_OBX0HpFp0?j53x{8VT2H5|7EJm}e22en~Jo=bl}@cz?pvD&LXjP3kf?8kj< z)?a-?TgThkKI3h9ud3~Mp1t~UA~?sL`tdvuIo1!`Gv5!pFX;z$+Kfi9X}tR_o_4X{Qi{HNAF?U@q46qDAP^KMR{2)au4G@LgU!=>SteTrl3Dp#*h6v zz$zQ~eHI-WzB@5Qv>9Mk-ClldQCUp=hB7#9+&9^M`)%)#dpwucKK4EXtjdG)S(ZzG z*TvpufK~l$|4Yto`ve`&$axHFX@9@^TAsyWn49O_Z!M=ex7Ja)4#>y%=5FdZ4F|37 zG(KAQX?*mI)A;Pwrxt7F`}DQ%6Kl5LKE<#dpF^GbX*g;R$(8ZSW?cKJ_RPUv(`TA@ zp#J(^AJkvp@k#z=y&0ba zz82>I{+;&&Fo)*N1BZb{AO@ZSjsus0>%a|wm-He~2VMuZfQvv5yaT)kd0c-)=zz%R3 zco+BpxC(p>G&|Y0d8L~cawaWScF&unmvyDc(_Y*3OxF~7QlyYPmz$(8vfL`tx41cJ z65XDpGHo=aIm=j~+?B zXF$FAw&6A_^7{_Q6&qdjkf)CRiX+5K zTgIXOFB&%|qe|V$LLFmB4CPP4gFcO_I?IR=G1c< zg_{_5XyALnnt2`)xie8;u2P?{HC+Is*oS*IN=Mg$J1-;mvq5vpY)n5xzXdYQK^x-WYI8(2*WT#x94I-dN$F*oko9W%yU5s$~jG+Gz& zDE8*;(Y@IH+|p++b_hf4LwVfXyR*3w`g2BCBs$EXSnYj`mG>lho)L5L?jlZ#H8**^ zKPV@U$HnT;-{W|#6P+FSNqoqjL3o#+gCXP2)4|Wsn_gzm9I<)kyq9_J+aLDK$Dd-- zS+hda7Rm=RhZ+3T$7VYEgmFV3KEFEWtWWz9#?S5tN6f%u`v!Jg49fZLb-e(&%`;1Udy~FHg{&!!8&dq#l)D}cg6}ag*v8IUD!+gMjETCo$flQ_vE0?id%Wbt-Rt^em~qT=JdEf_qdsVKipgN0Z#3|=FvLd_j;}4 zGtX=PRsV16Q2*gNc-9ADy>tLp)sMrfxfQGO+H>W#=NfMqD`7ka`Ub@ByqD3u3!saj zk3id?FF{v8KZ2@g<}zp#^f71~^aE%I)Cb)F-2_bn_z@8Qm%ju$2}(idK<7ahL6E~=xNX_=mpR#pw~captnG8gWd(b2l^2731}Pi1?X$g zccA0#V)pE^NwT!}+-k_lT+&TmHLFYA^mQXe-p)EEGd)w}NzqPw@=R`$!pKakXurYD zoJn;1>>1NqFU+D@E7IJ|oGMH{XFADQSu({^vEJ*MRT-(APtGiwPMWNqXm=Sg>!cnV z?2))tIHWSu?z-Ky9Bb!B_Yfb;(}C*6b(4Gl>C&YkOQ+MK5jZxeEFBvXIKmpBGXu!a yw>upyCzCZJt+cb=?MablQmp5>DW?6}fF68DPIZ#pOuMDwmM0`>ceAwJE94e+R%Z?X diff --git a/scripts/Units/cormh.bos b/scripts/Units/cormh.bos index 6b76a434186..dc326a5e713 100644 --- a/scripts/Units/cormh.bos +++ b/scripts/Units/cormh.bos @@ -1,26 +1,108 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" -piece ground, base, turret, fan, wake, flare1, flare2; +piece base, turret, fan, wake, flare1, flare2; -static-var isOpen, gun_1, restore_delay; +static-var Static_Var_1, gun_1, Static_Var_3, restore_delay, statechg_DesiredState, + statechg_StateChanging, Wobble_status; // Signal definitions -#define SIGNAL_AIM1 256 -#define SIGNAL_MOVE 1 -#define SIGNAL_IDLE 8 +#define SIG_AIM 2 +#define SIG_MOVE 4 +#define SIG_RESTORE 8 +#define SIG_IDLE 16 +activatescr() +{ + + if( TRUE ) + { + turn turret to x-axis <-90> speed <30>; + turn base to x-axis <-2.000000> speed <3.000000>; + + wait-for-turn turret around x-axis; + } + if( TRUE ) + { + turn base to x-axis <0.000000> speed <15.000000>; + sleep 90; + } + sleep 20; + return (0); + // Build by COBBLER Ver4.0 Copyright @1998 DIGITAL CONCEPT SOFTWARE (MANU@inext.fr) / http://www.annihilationcenter.com/DCS/ +} + +deactivatescr() +{ + if( TRUE ) + { + turn turret to x-axis <0> speed <30>; + turn base to x-axis <-2.000000> speed <3.000000>; -#define HOVER_BASE base -#define HOVER_BANKSPEED <10> -#define HOVER_ROCKBASE ground -#define HOVER_WOBBLE_PERIOD 55 -#define HOVER_WOBBLE_AMPLITUDE [0.8] -#define HOVER_WAKEPIECE wake -#define HOVER_IDLE_SFX 1024 + 2 -#define HOVER_WAKE_SFX_1 1024 + 0 -#define HOVER_WAKE_SFX_2 1024 + 1 -#include "../bar_hovercraft_common.h" + sleep 469; + } + if( TRUE ) + { + turn base to x-axis <0.000000> speed <15.000000>; + sleep 90; + } + sleep 20; + return (0); +} + +WobbleUnit() +{ + while( TRUE ) + { + if( Wobble_status) + { + if( get GROUND_WATER_HEIGHT(get UNIT_XZ) < 0 ) //Over Water + { + move base to y-axis [-0.250000] speed [0.50000]; + } + else + { + move base to y-axis [1.000000] speed [0.50000]; + } + } + else + { + if( get GROUND_WATER_HEIGHT(get UNIT_XZ) < 0 ) //Over Water + { + move base to y-axis [-1.250000] speed [0.50000]; + } + else + { + move base to y-axis [0.000000] speed [0.50000]; + } + } + Wobble_status = !Wobble_status; + sleep 260; + } +} + +BankControl() +{ + var lastHeading, currHeading, diffHeading; + lastHeading = GET HEADING; + while (TRUE) + { + currHeading = GET HEADING; + diffHeading = currHeading - lastHeading; + // Set values for tilt + + //Remove Extreme values + if ( diffHeading > 1500 ) diffHeading = 1500; + if ( diffHeading < -1500 ) diffHeading = -1500; + //get PRINT(diffHeading); + turn base to z-axis 1.0 * diffHeading speed <23>; + + lastHeading = currHeading; + sleep 67; + } +} #define BASEPIECE base @@ -29,7 +111,55 @@ static-var isOpen, gun_1, restore_delay; #define UNITSIZE 3 #define MAXTILT 200 -#include "../unit_hitbyweaponid_and_smoke.h" +#include "unit_hitbyweaponid_and_smoke.h" + +Go() +{ + call-script activatescr(); + Static_Var_1 = 1; + return (0); +} + +Stop() +{ + Static_Var_1 = 0; + call-script deactivatescr(); + return (0); +} + +InitState() +{ + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; + return (0); +} + +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + call-script Go(); + currentstate = 0; + } + if( statechg_DesiredState == 1 ) + { + call-script Stop(); + currentstate = 1; + } + } + statechg_StateChanging = FALSE; + return (0); +} Create() { @@ -38,16 +168,21 @@ Create() hide flare1; gun_1 = 0; spin fan around z-axis speed <300>; - isOpen = 0; + Static_Var_1 = 0; restore_delay = 3000; + call-script InitState(); - SLEEP_UNTIL_UNITFINISHED; - start-script HoverCraftMotion(); + while( get BUILD_PERCENT_LEFT ) + { + sleep 400; + } + start-script BankControl(); + start-script WobbleUnit(); } -SetMaxReloadTime(reloadMS) +SetMaxReloadTime(Func_Var_1) { - restore_delay = reloadMS * 2; + restore_delay = Func_Var_1 * 2; return (0); } @@ -57,9 +192,9 @@ ExecuteRestoreAfterDelay() if (Stunned) { return (1); } - turn turret to x-axis <0> speed <30>; + set-signal-mask 0; + start-script RequestState(1); } - SetStunned(State) { Stunned = State; @@ -69,36 +204,100 @@ SetStunned(State) } RestoreAfterDelay() { - signal SIGNAL_IDLE; - set-signal-mask SIGNAL_IDLE; + signal SIG_RESTORE; + set-signal-mask SIG_RESTORE; sleep restore_delay; start-script ExecuteRestoreAfterDelay(); } -AimWeapon1(heading, pitch) +HoverIdle() { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_IDLE; + set-signal-mask SIG_IDLE; + while( TRUE ) + { + emit-sfx 1024 + 2 from wake; + sleep 1750; + } + //return (1); +} - turn turret to x-axis <-90> speed <30>; - wait-for-turn turret around x-axis; +StartMoving() +{ + signal SIG_MOVE; + set-signal-mask SIG_MOVE; + signal SIG_IDLE; + var waketime; + var bowtime; + while( TRUE ) + { + emit-sfx 1024 + 0 from wake; + if (bowtime) emit-sfx 1024 + 1 from wake; + bowtime = !bowtime; + waketime = (get CURRENT_SPEED) * 100 / get MAX_SPEED; + if( waketime < 30 ) waketime = 30; + sleep 15000 / waketime; + } +} +StopMoving() +{ + signal SIG_MOVE; + signal SIG_IDLE; + start-script HoverIdle(); + return (0); +} + +AimPrimary(heading, pitch) +{ + start-script RequestState(0); + signal SIG_AIM; + set-signal-mask SIG_AIM; + while( !Static_Var_1 ) + { + sleep 200; + } + start-script RestoreAfterDelay(); return (1); } -FireWeapon1() +FirePrimary() { - gun_1 = !gun_1; + if( gun_1 == 0 ) + { + gun_1 = 1; + return (0); + } + if( gun_1 == 1 ) + { + gun_1 = 0; + return (0); + } } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = base; + piecenum = base; + return (0); } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = flare1 + gun_1; + if( gun_1 == 0 ) + { + piecenum = flare1; + } + if( gun_1 == 1 ) + { + piecenum = flare2; + } + return (0); +} + +SweetSpot(piecenum) +{ + piecenum = base; + return (0); } Killed(severity, corpsetype) @@ -109,7 +308,9 @@ Killed(severity, corpsetype) explode base type BITMAPONLY | NOHEATCLOUD; explode turret type FIRE | SMOKE | FALL | NOHEATCLOUD; explode flare1 type BITMAPONLY | NOHEATCLOUD; + //explode flare2 type BITMAPONLY | NOHEATCLOUD; explode fan type BITMAPONLY | NOHEATCLOUD; + //explode wake type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } if( severity <= 50 ) @@ -118,7 +319,9 @@ Killed(severity, corpsetype) explode base type BITMAPONLY | NOHEATCLOUD; explode turret type FIRE | SMOKE | FALL | NOHEATCLOUD; explode flare1 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare2 type FALL | NOHEATCLOUD; explode fan type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode wake type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) @@ -127,13 +330,17 @@ Killed(severity, corpsetype) explode base type FIRE | SMOKE | FALL | NOHEATCLOUD; explode turret type SMOKE | FALL | NOHEATCLOUD; explode flare1 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare2 type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; explode fan type SMOKE | FALL | NOHEATCLOUD; + //explode wake type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; explode base type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode turret type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode flare1 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare2 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode fan type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode wake type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/cormh.cob b/scripts/Units/cormh.cob index 6a8fc26a9ae9b27a9b14b815f5311a135375e792..b674482fdd0477a254ca10ee875fe284a4b9e37e 100644 GIT binary patch literal 4918 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 -#define TB_TILT_X <0.10> -#define TB_BANK_Z <0.10> // Do not define this if you dont want banking -#include "../tilt_bank_mobileunit.h" +#include "unit_hitbyweaponid_and_smoke.h" -Create() +InitState() { - hide flare2; - hide exhaust; - hide flare1; - gun_1 = 0; - call-script TB_Init(); + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; } -StartMoving(reversing) +RequestState(requestedstate, currentstate) { - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; - START_TILTBANK; + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + call-script activatescr(); + currentstate = 0; + } + if( statechg_DesiredState == 1 ) + { + call-script deactivatescr(); + currentstate = 1; + } + } + statechg_StateChanging = FALSE; } -StopMoving() + +Create() { - signal SIGNAL_MOVE; - STOP_TILTBANK; + hide flare2; + hide exhaust; + hide flare1; + gun_1 = flare1; + call-script InitState(); } Activate() { + start-script RequestState(0); } Deactivate() { + start-script RequestState(1); } -SetMaxReloadTime(reloadMS) +SetMaxReloadTime(Func_Var_1) { - restore_delay = reloadMS * 2; + restore_delay = Func_Var_1 * 2; } static-var Stunned; @@ -64,10 +98,11 @@ ExecuteRestoreAfterDelay() if (Stunned) { return (1); } - turn turret to y-axis <0.0> speed <90.021978>; - turn gun to x-axis <0.0> speed <50.010989>; + turn turret to y-axis <0.000000> speed <90.021978>; + turn gun to x-axis <0.000000> speed <50.010989>; wait-for-turn turret around y-axis; wait-for-turn gun around x-axis; + start-script RequestState(1); } SetStunned(State) { @@ -82,35 +117,59 @@ RestoreAfterDelay() start-script ExecuteRestoreAfterDelay(); } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; + start-script RequestState(0); turn turret to y-axis heading speed <250.060440>; - turn gun to x-axis <0.0> - pitch speed <150.032967>; + turn gun to x-axis <0.000000> - pitch speed <150.032967>; wait-for-turn turret around y-axis; wait-for-turn gun around x-axis; start-script RestoreAfterDelay(); return (1); } -FireWeapon1() +FirePrimary() { - emit-sfx 1024 + 0 from exhaust; + if( gun_1 == 0 ) + { + emit-sfx 1024 + 0 from exhaust; + show flare1; + sleep 150; + hide flare1; + } + if( gun_1 == 1 ) + { + emit-sfx 1024 + 0 from exhaust; + show flare2; + sleep 150; + hide flare2; + } gun_1 = !gun_1; } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = gun; + piecenum = gun; } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = flare1 + gun_1; + if( gun_1 == 0 ) + { + piecenum = flare1; + } + if( gun_1 == 1 ) + { + piecenum = flare2; + } } - +SweetSpot(piecenum) +{ + piecenum = base; +} Killed(severity, corpsetype) { @@ -120,6 +179,9 @@ Killed(severity, corpsetype) explode base type BITMAPONLY | NOHEATCLOUD; explode turret type BITMAPONLY | NOHEATCLOUD; explode gun type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode exhaust type BITMAPONLY | NOHEATCLOUD; + //explode flare1 type BITMAPONLY | NOHEATCLOUD; + //explode flare2 type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } if( severity <= 50 ) @@ -128,6 +190,9 @@ Killed(severity, corpsetype) explode base type BITMAPONLY | NOHEATCLOUD; explode turret type FALL | NOHEATCLOUD; explode gun type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode exhaust type FALL | NOHEATCLOUD; + //explode flare1 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare2 type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) @@ -136,11 +201,17 @@ Killed(severity, corpsetype) explode base type FIRE | SMOKE | FALL | NOHEATCLOUD; explode turret type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode gun type SMOKE | FALL | NOHEATCLOUD; + //explode exhaust type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode flare1 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare2 type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; explode base type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode turret type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode gun type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode exhaust type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode flare1 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare2 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/cormist.cob b/scripts/Units/cormist.cob index 60df93a2abc7887f1ef8f163adb878540d141f79..0e5a92a042a1a21214f6193515de88521a3e35be 100644 GIT binary patch literal 3373 zcmb_eO=whC6h4_uM%x;Ff|gdW9Vpd}i!lpzA(B`PjZ%o2ly*7K%vDDxGx6n(O`wYi z(wzl2u3bnAErn*~rn^E*v*@ymc2&A6h0;Y)=&Ij$?mhEv9*#sY@Nw@uKi~Q8x#zt} zRYVQ|HDIgaS8QeRHIawFzrZm(@7W_VmQ<24I$O1*iiOXw^SLpWaL=vG*K}`jdtsuF zHOg^PM^1za;vhle+hOIiG{zH|9#1NbN-~Z|#&IPtS4k!kYNF0qM;u2!Y52I4A&xfV zWZt2po}1b&m$m8Bd}xrms7BMt9IMG3q&_3J$Y-38neow{Tk`$zO2J#M`81#9apfJb zujH|N_y%S^SLv@;wU^wQX8O+35PI|(wzQ>cEAF@2@Er8f#ac0k@`wAl2e;K^pBWy< zPSL=-ZFqia9qLG+(P{*~FN1%Kf&ch>km*|Tb+A`T_HM9aQJwLuS%3D^hkkH=zQdOF z^{#O)D&TpFv-A}_>zKRnXMU>@=P75% zI~?-VhFt4~ylcaU6`YkuV) z;pZ$_|Cz`BbFNvp%*8%i(8(7V!^A8)FPv7p~ zcvN7SG2X z*{Xva`nHpP+W8p!Jbh%Z5Kbi-^tIef8^4Yeovaq{TuGXUMH8x zI@gvtn3_4#Wx?GXxYh9RUgl_<3EXmSNGwg4e~_*%xNbjfFLsuloL_TGgWN43xu3b2 zE4j$1c|Pkbr`fv9b~0ysm}j&8&~<6xvUT${KXG7O>F08> j)9r%wN;l2ialcH-<#g4_)j?14L6*5(+}gEtu$s&NE#U%@ literal 3374 zcmb7GO>9(E6h1Q@rlP3NNQkJ!2}a!*GG*hoQ!BAzliC*D5bUFKDbG%4n%6g^L=#*< zWI>D@2n(Yu4ROQL#DyEtg>mnK#Ke$vMObLUf&{+r+_q8<< z*$dQxKdK_*Sow4O8Id1>`@q{c@7;r6jcO93l2nryNN&^;S*ja?iHY(bQ_?-PtTqcJW28dw?J7kL6-A+Ed2)WB-^- z*&ol;@eS0l;km{$=AJ#_mj1a?*WxD3%&j1!$YwqEAKR(VFq2!sjxvj3c?@DC`oc7> z1iO2|uEK=x`k9l-dU8L=tC2j8eHeP}1MY$Rn}JWUz4fEqqh{8z3tQ$fAIak0k;B~M zTJ3J))oNmIFNfY92tKK^`C+AuY44e3#PMx5?Vic^cjVup&KPEoJiamV>@Cu*^=}4_ zW1YUok{x}~zxr%=|6Au^h`DA?cOM`(*l>UE9LRwa=b-lry{)XrW-|%zgt=00wJ>!J3dIs7gxF<6+P z1Hl(X`Zkv&;CVL?!WZ=oo11>s$0BuonIU* zw#|6#dnbRiW$y<*LceXUw$m~GfRFFhs6F3^d-}En~`mTRAjLCj#JiJHptfo=5GNNnheOHQe zDV)pokX!a;wxfJq8R3iKLjcB4eg(#n+)Kb!;0NFr;1=*V@DFeY*n=Ri0&f5x03QP< zfDGXO;0J+2z&pS+@F8#vI1Zc!Hh?dHuYjw-4d7?sPv9@$Ht;V{c~;~p;CWyl@Cxu6 z@FwtnR!p7!#HH)K?o2yA$$W2l^;kD6WIA0-S6q8xt+(oAaq80<3Kz3ZF_m^#<=xz+ zg_DIM&5POInXJ2leQ!N%TgyduhWcrj+IGPev+3r%>-5t0Vz%bwy-l~=FWkJ_D0;bT zohn>D?Kljd&1 aFNfu1y5VG{-<6`D=dKX9c{=TH6!H*xU=i{F diff --git a/scripts/Units/cormls.bos b/scripts/Units/cormls.bos index b8192df73ad..c8165c398cd 100644 --- a/scripts/Units/cormls.bos +++ b/scripts/Units/cormls.bos @@ -1,101 +1,222 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, door1, door2, neck, boom, nano, wake; -static-var buildHeading, readyToBuild; +static-var Static_Var_2, statechg_DesiredState, statechg_StateChanging, notBuilding; +// Signal definitions +#define SIG_MOVE 2 +#define SIG_BUILD 4 -#define RB_MASS 20 -#define RB_LENGTH 5 -#define RB_WIDTH 2 -#define RB_PITCH_SPEED 200 -#define RB_PITCH_ACCELERATION 10 -#define RB_ROLL_ACCELERATION 3 -#define RB_WAKE_PIECE wake -#define RB_WAKE_PERIOD 6 -#define RB_WAKE_CEG 1024 + 0 -#include "../bar_ships_common.h" +#define BASEPIECE base +#define HITSPEED <35.0> +//how 'heavy' the unit is, on a scale of 1-10 +#define UNITSIZE 2 +#define MAXTILT 100 +#include "unit_hitbyweaponid_and_smoke.h" - -Create() +RockOnWaves() { - hide nano; - hide wake; - buildHeading = 0; - start-script InitRockBoat(); - SLEEP_UNTIL_UNITFINISHED; - start-script BoatPhysics(); + while(1) + { + turn Base to x-axis <1.0> speed <1.5>; + move Base to y-axis [0.0] speed [0.15]; + wait-for-turn Base around x-axis; + turn Base to x-axis <-1.0> speed <1.5>; + move Base to y-axis [-0.1] speed [0.15]; + wait-for-move Base along y-axis; + move Base to y-axis [0.0] speed [0.15]; + wait-for-turn Base around x-axis; + turn Base to x-axis <1.0> speed <1.5>; + move Base to y-axis [-0.1] speed [0.15]; + wait-for-move Base along y-axis; + } } -StartBuilding(heading) -{ - signal SIGNAL_BUILD; - set-signal-mask SIGNAL_BUILD; +waveSplash() +{ + while( TRUE ) + { + turn base to x-axis <-3.0> speed <3.0>; + move base to y-axis [0.23] speed [0.23]; + wait-for-turn base around x-axis; + turn base to x-axis <0.0> speed <3.0>; + move base to y-axis [0.0] speed [0.23]; + wait-for-turn base around x-axis; + } +} - if (!readyToBuild){ +StartMoving() +{ + signal SIG_MOVE; + set-signal-mask SIG_MOVE; + var waketime; + start-script waveSplash(); + while( TRUE ) + { + emit-sfx 1024 + 0 from wake; + waketime = (get CURRENT_SPEED) * 100 / get MAX_SPEED; + if( waketime < 50 ) waketime = 50; + sleep 15000 / waketime; + } +} - turn door1 to z-axis <-175> speed <360>; - turn door2 to z-axis <175> speed <360>; - wait-for-turn door1 around z-axis; +StopMoving() +{ + signal SIG_MOVE; + turn base to x-axis <0.0> speed <3.0>; + move base to y-axis [0.0] speed [0.23]; +} - move neck to y-axis [3] speed [12]; - move boom to y-axis [9] speed [24]; - wait-for-move neck along y-axis; - readyToBuild = TRUE; - } - turn boom to y-axis heading speed <160.038462>; - wait-for-turn boom around y-axis; - +Go() +{ + call-script activatescr(); + turn neck to y-axis Static_Var_2 speed <160.000000>; + wait-for-turn neck around y-axis; set INBUILDSTANCE to 1; + sleep 500; +} - show nano; +Stop() +{ + set INBUILDSTANCE to 0; + turn neck to y-axis <0.000000> speed <180.000000>; + wait-for-turn neck around y-axis; + call-script deactivatescr(); + sleep 200; } -StopBuilding() + +RequestState(requestedstate, currentstate) { - signal SIGNAL_BUILD; - set-signal-mask SIGNAL_BUILD; + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState ) + { + notBuilding = 1; + call-script Stop(); + currentstate = 1; + } + else + { + call-script Go(); + currentstate = 0; + } + } + statechg_StateChanging = FALSE; +} - hide nano; - sleep 6000; - set INBUILDSTANCE to 0; - readyToBuild = FALSE; +Create() +{ + hide nano; + hide wake; + Static_Var_2 = 0; + notBuilding = 1; + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; + while( get BUILD_PERCENT_LEFT ) + { + sleep 500; + } + start-script RockOnWaves(); - turn boom to y-axis <0> speed <160.038462>; - wait-for-turn boom around y-axis; +} - move neck to y-axis [3] speed [12]; - move boom to y-axis [9] speed [24]; - wait-for-move boom along y-axis; +activatescr() +{ turn door1 to z-axis <-175> speed <360>; turn door2 to z-axis <175> speed <360>; - wait-for-turn door1 around z-axis; + sleep 200; + + move neck to y-axis [3] speed [12]; + move boom to y-axis [9] speed [24]; + sleep 200; + +} + +deactivatescr() +{ + + move neck to y-axis [0] speed [12]; + move boom to y-axis [0] speed [24]; + sleep 200; + turn door1 to z-axis <0> speed <360>; + turn door2 to z-axis <0> speed <360>; + sleep 200; } -StartMoving(reversing) +Activate() { + start-script RequestState(0); +} +Deactivate() +{ + start-script RequestState(1); } -StopMoving() + + +StartBuilding(head,pitch) { - + show nano; + Static_Var_2 = head; + start-script RequestState(0); + signal SIG_BUILD; + turn neck to y-axis Static_Var_2 speed <160.000000>; + wait-for-turn neck around y-axis; + set INBUILDSTANCE to 1; + //this seems to break nano pointing for this boat only, reasons unknown + //while( notBuilding ) sleep 40; } -QueryNanoPiece(pieceIndex) +StopBuilding() { - pieceIndex = nano; + hide nano; + signal SIG_BUILD; + set-signal-mask SIG_BUILD; + sleep 3000; + set-signal-mask 0; + signal SIG_BUILD; + turn neck to y-axis <0.000000> speed <180.000000>; + wait-for-turn neck around y-axis; + start-script RequestState(1); +} + +QueryNanoPiece(piecenum) +{ + piecenum = nano; + turn base to x-axis <0.0> speed <3.0>; + move base to y-axis [0.0] speed [0.23]; } +TargetHeading(Func_Var_1) { + Static_Var_2 = 0 - Func_Var_1; +} + +SweetSpot(piecenum) +{ + piecenum = Base; +} Killed(severity, corpsetype) @@ -105,8 +226,11 @@ Killed(severity, corpsetype) corpsetype = 1 ; explode base type BITMAPONLY | NOHEATCLOUD; explode door1 type BITMAPONLY | NOHEATCLOUD; + //explode door2 type BITMAPONLY | NOHEATCLOUD; explode neck type BITMAPONLY | NOHEATCLOUD; + //explode boom type FIRE | SMOKE | FALL | NOHEATCLOUD; explode nano type BITMAPONLY | NOHEATCLOUD; + //explode wake type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } if( severity <= 50 ) @@ -114,8 +238,11 @@ Killed(severity, corpsetype) corpsetype = 2 ; explode base type BITMAPONLY | NOHEATCLOUD; explode door1 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode door2 type FALL | NOHEATCLOUD; explode neck type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode boom type FALL | NOHEATCLOUD; explode nano type FALL | NOHEATCLOUD; + //explode wake type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) @@ -123,16 +250,20 @@ Killed(severity, corpsetype) corpsetype = 3 ; explode base type FIRE | SMOKE | FALL | NOHEATCLOUD; explode door1 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode door2 type FIRE | SMOKE | FALL | NOHEATCLOUD; explode neck type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode boom type SMOKE | FALL | NOHEATCLOUD; explode nano type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode wake type SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; explode base type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode door1 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode door2 type FIRE | SMOKE | FALL | NOHEATCLOUD; explode neck type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode boom type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode nano type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode wake type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/cormlv.bos b/scripts/Units/cormlv.bos index 1b42df5f3a3..6cf45652955 100644 --- a/scripts/Units/cormlv.bos +++ b/scripts/Units/cormlv.bos @@ -1,12 +1,13 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" -#define SIGNAL_MOVE 1 -#define SIGNAL_BUILD 2 +#define SIG_BUILD 2 piece base, turret, tracks, beamhinge, beamcase, flare; -static-var notBuilding, isMoving, readyToBuild; +static-var notBuilding, bMoving, statechg_DesiredState, statechg_StateChanging; static-var animSpeed, maxSpeed, animFramesPerKeyframe; @@ -16,90 +17,139 @@ static-var animSpeed, maxSpeed, animFramesPerKeyframe; //how 'heavy' the unit is, on a scale of 1-10 #define UNITSIZE 1 #define MAXTILT 100 -#include "../unit_hitbyweaponid_and_smoke.h" -#define TB_BASE base -#define TB_TURNRATE <15.0> -#define TB_TILT_X <0.1> -#define TB_BANK_Z <0.1> // Do not define this if you dont want banking -#include "../tilt_bank_mobileunit.h" +#include "unit_hitbyweaponid_and_smoke.h" + +Go() +{ + turn beamcase to z-axis <-90> speed <180>; + wait-for-turn beamcase around z-axis; + + turn beamhinge to x-axis <90> speed <360>; + wait-for-turn beamhinge around x-axis; +} + +Stop() +{ + set INBUILDSTANCE to 0; + + turn beamhinge to x-axis <0> speed <360>; + wait-for-turn beamhinge around x-axis; + + turn beamcase to z-axis <0> speed <180>; + wait-for-turn beamcase around z-axis; + + + + turn turret to y-axis <0.000000> speed <160.000000>; + wait-for-turn turret around y-axis; +} + +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState ) + { + call-script Stop(); + notBuilding = 1; + currentstate = 1; + } + else + { + call-script Go(); + notBuilding = 0; + currentstate = 0; + } + } + statechg_StateChanging = FALSE; +} Create() { hide flare; - isMoving = FALSE; - readyToBuild = FALSE; + bMoving = FALSE; + notBuilding = 1; + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; animSpeed = 4; - call-script TB_Init(); } - -StartMoving(reversing) + +Activate() { - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; - START_TILTBANK; + start-script RequestState(0); } -StopMoving() +Deactivate() { - signal SIGNAL_MOVE; - STOP_TILTBANK; + start-script RequestState(1); } - StartBuilding(heading, pitch) { - signal SIGNAL_BUILD; - set-signal-mask SIGNAL_BUILD; - if (!readyToBuild){ - turn beamcase to z-axis <-90> speed <180>; - wait-for-turn beamcase around z-axis; - - turn beamhinge to x-axis <90> speed <360>; - wait-for-turn beamhinge around x-axis; - readyToBuild = 1; - } - show flare; - turn turret to y-axis heading speed <600.0>; + start-script RequestState(0); + while( notBuilding ) sleep 100; + signal SIG_BUILD; + turn turret to y-axis heading speed <600.000000>; wait-for-turn turret around y-axis; set INBUILDSTANCE to 1; } StopBuilding() { - signal SIGNAL_BUILD; - set-signal-mask SIGNAL_BUILD; - hide flare; - + signal SIG_BUILD; + set-signal-mask SIG_BUILD; sleep 6000; + set-signal-mask 0; + signal SIG_BUILD; + start-script RequestState(1); +} - set INBUILDSTANCE to 0; - readyToBuild = FALSE; - - turn beamhinge to x-axis <0> speed <360>; - wait-for-turn beamhinge around x-axis; +StartMoving() +{ + return (0); +} - turn beamcase to z-axis <0> speed <180>; - wait-for-turn beamcase around z-axis; - - turn turret to y-axis <0.0> speed <160.0>; - wait-for-turn turret around y-axis; +StopMoving() +{ + return (0); } -QueryNanoPiece(pieceIndex) +QueryNanoPiece(piecenum) { - pieceIndex = flare; + piecenum = flare; } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { turn turret to y-axis heading speed <300>; wait-for-turn turret around y-axis; return (1); } +/* +TargetHeading(Func_Var_1) +{ + Static_Var_1 = 0 - Func_Var_1; +} +*/ + +SweetSpot(piecenum) +{ + piecenum = base; + return (0); +} + Killed(severity, corpsetype) { if( severity <= 25 ) diff --git a/scripts/Units/cormlv.cob b/scripts/Units/cormlv.cob index 3c2293d6926e29655336cc3f9d2aba66b70f0d69..f9edd389abdf6260a61c6357c2dae92e59b8fdf7 100644 GIT binary patch literal 3213 zcmdT`J!n%=6h2AQRMFwpMIFR|qas1D;AE|eEuuuD2!hhr6KjzI$G-&!$*$vE}2Od;aftPtuk|WDqC=uZtp^Ao&w) z5jh7e0{d`&4k?vl;G-De7v=(F)5!v)RQm!M?hA_5V$g>p<0u(NDM5cAO3yXkD9wH30tO4VX8 zKpW~S_dI5`-5cHYY~-FXey;;GfH$e8wK-=tLxB14%Mg9@MdvRta3y^k87>EpoV}Q{ zUv_o~Q9k?~WH0WofD7)_GpMxL{Q-ZRfcK=0VNy$X>W#CpUB*RFPI-n+_lc4*-Fx6o z@T2>zeOUk79mn6&>Z)Mx_{Q8j?v3hT9P1dG$ zn7UpaolE0%mi$~xGky?j@=MQ z?iTI&+|2LtWITPp5d^D`?|zWU6}&eDfBZiFS^IG3hFwmcbIztYlzz@GDX7>YYjhpN)Lbb`KkRns~=BpS%Tc&b9Zj? zT*Y@FxVzLl9FRKAw$qUb%PrvK(evKLZ)ZJBC=dN}RuQvOxS6la=eRndrlJ5IvT#h!@(|zQ* zf-~g;q>STxI2g!ww*ph%$NXM-{2b870+jZD0o0^!KUYp)fM0vj&YAU|{`~fDgPZ@5 zo1bs=zs%p@J>C4b-2CLopMN7C(Zfk zDDkahO*zq)deZL5Su-z>% literal 3198 zcmcJRzl&T|6vyw(j+4YFJe!DxFo<9yG6`s7;qJsDVTr7pKsue5o##62?#w!Q8w?0h zh;2wE79uGng{XhQHWn6IX=5$8l`h((5XSH4+KdNzbw^o8g}-4At!PP53VQ8bIE0C!qN=(md}#3CCY+h`Z?EqLkS*WkO4 z8TL7`Ey;+B4prEg>yR}hYIP$f6zxLk*{3Ppia1U%oTd+{a9WIlC&G6*?%pp+-vD?VcO=w2AvjfbZ-IryY>ue7f?C^zu>UIA|cVwtNB&Xx4a+3}GqdRj< zo&&Qcj-TZ0dtJOBKE*`uwSYHVKhAnv7h*irOE}N@x9N0hvrO*@T)VB$#q&pQc_p78 zEchfoF&2G#53Lv7*b8udf~6fglYAkv`S;ajvEUGq3-#o8pNZ8iz2(+v$1}tFK4FWG zupf8S_zxq0(r!{aru={93yO-)RUUe}y z;~&Hw_(KVTWzRTUhnl_OQjg)Zh0de5-PHNlYXS&o{Ur(EoCinU%*T9e%;$FhVZ(L_ z6YRl3*gKEC&)IaH)6%A1t44V9yHH!`&*SVrEuUTa%zP0hWWGE%8JQSdJf*V#U5Jkl5cGJVndu~U^;OJCTb=! z@cFy(0hr>{%*O8)Pk6sGckDmY3EujU{P7&*aW8;Laqp+N%<}(^yOqWLGQ}nDJg(;t zG_S|&b-mYn58#q|u|3K6=gHQ6f0FL*+wY6L1jgT%uSI`~T5@n#^r`48(f6XZ>U&jm zQM4)Izw{5HpGCileiuCwO+{z*C;FV|dC_^%s%TxbDY`CtOH_%*qW49YhIQ}u^{U(- zk1h}LTX?$s)%F%dZSZ!5dZMYYspAYN9-Q8*sZj?8xP#;VtRUPU{xwUgM V+^EXEcjc)vZVSLWyXB+`e*<1$?0x_M diff --git a/scripts/Units/cormmkr.bos b/scripts/Units/cormmkr.bos index 272dc2d9e03..7834892cb29 100644 --- a/scripts/Units/cormmkr.bos +++ b/scripts/Units/cormmkr.bos @@ -1,4 +1,10 @@ -#include "../recoil_common_includes.h" +#define TA // This is a TA script + +#include "sfxtype.h" +#include "exptype.h" +#include "StateChg.h" + +#define SIG_ANIM 2 piece base, cover, converter, light; @@ -11,7 +17,7 @@ MMStatus(State) hide cover; show light; show converter; - move converter to y-axis [6] speed [12.0]; + move converter to y-axis [6] speed [12.000000]; } else { @@ -30,10 +36,13 @@ Create() Active = 0; } +#define SMOKEPIECE base +#include "smokeunit_thread_nohit.h" -#define BASEPIECE base -#define MAXTILT 0 -#include "../unit_hitbyweaponid_and_smoke.h" +SweetSpot(piecenum) +{ + piecenum = base; +} Killed(severity, corpsetype) { diff --git a/scripts/Units/cormmkr.cob b/scripts/Units/cormmkr.cob index befb48aecd5ce846e6e6c8fd508dda407004e7fa..f10ddf063966ea48b3825c7b2748b298041e4e4e 100644 GIT binary patch literal 1342 zcmbVMyGjF55S_eM3yZ6jg2jSOK#^c&r)VQcAP_{$tns43n1tl2Scqcj7YLTNeum&r z*x6dx*jaea?7gsw7Ks~9W_D)IJVS~i5&=aZ&ZQEnJj3t;ya6kC|ImQE;fMZW1sWwS zG&CYJuTl)sh}6Usyre&;ycsW1(TMUib~7^NUor4xV`5}r40AS8E@h}eds+iZEiyq5 zeTH}XB+jdUmbv1hVecCmJ~_;r~}91lK@>BEl2U~cm8u(m3h8}U8NJnH8ivpZX0aGch9h01u= zBA=4)v6r`y(!kEll-8t=3gxu-QP(>lj{2>)lf#}_n|ViXr}yxEyu(ed##hGcgEc3q z$KOYoo3|sE`yY31&P&d?vrd|yvy-EX_PhMgj*&)|0q*w>cm$pR{x^LA-#}CnnFAJq zC7=wf0_#AvT6c*%AINs!CeBLztb1zrIxQzVEw^>GZAmi5XHy#aWoNH8U$1)1QHSyCn^d+2~dC_QY3?DD15}HU~poTTq39_fCeF` z=n(L~K|x7DN5lK=?b;iYIJU;KJM-qv$IUr2vs{u%UUtm7(tMU=JTJK>xvcwrKtlWf+;iQswWU5kAJ^8?1U@O>SBmpFLQk&)4qN1; zj;km3*Xo}^+4D2;@v6ZJJvHJ22QkEYTcQt+oyCKvUt-_th<+zc&9oai=e3pXGm2P2 zkHn@J;^{fgenn1la*y+}xt^)v7l2@=XP$?)bIKJttnB!nJ_;XepP$)5J~7VlVTXxl z7VPXf9k^%QwWsvJk-TVp^b+^>Z?IvCyE&~#{Arx$3_Fx3d18)O$25oIjcD^)h&vVH zI@0#L-4WjVv%%g?>@gO;D-@`?GB@x)bxrGx??f7NhM1z=`Rg&SOw>yn;=fCqJ3gJw zmvCn<;R46IpYr-z0&hR?di(-jc9%Shc-O%M-cjK7`?i4h!y&x%c2w-wLt-&slF;Ws z@SQ1V#vOtL3=BY7|RB>61)CRttWH&wH{W4E^Js;TYHsJZ#-QC+>5Y~3BE qH@jVJRvY!Ozd3nc+r80vTo3I@wNu;rWUt=V@0L`f(|EM;w6TASCTiLM diff --git a/scripts/Units/cormoho.bos b/scripts/Units/cormoho.bos index e837f441065..3a0fca2f269 100644 --- a/scripts/Units/cormoho.bos +++ b/scripts/Units/cormoho.bos @@ -1,63 +1,137 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, column; -#define SIGNAL_TURNON 4 +static-var Static_Var_1, Static_Var_2, Static_Var_3, statechg_DesiredState, statechg_StateChanging; +static-var Stunned; -static-var resourceRate; -static-var Stunned; +activatescr() +{ + if( TRUE AND !Stunned ) + { + move column to y-axis [0] speed [32.500000]; + sleep 772; + } -triplepenetration(){ - move column to y-axis [0] speed [32.500000]; - sleep 500; set ARMORED to 0; +} + +triplepenetration(){ + while(TRUE){ - if(!Stunned ) + if( statechg_DesiredState == 0 AND !Stunned ) { - move column to y-axis [20] speed (resourceRate/2); + move column to y-axis [20] speed (Static_Var_1/2); wait-for-move column along y-axis; - //move column to y-axis [10] speed resourceRate; + //move column to y-axis [10] speed Static_Var_1; //wait-for-move column along y-axis; - move column to y-axis [0] speed resourceRate*2; + move column to y-axis [0] speed Static_Var_1*2; wait-for-move column along y-axis; } sleep 1000; } } +deactivatescr() +{ + if( TRUE AND !Stunned ) + { + move column to y-axis [0] speed Static_Var_1; + wait-for-move column along y-axis; + } + + set ARMORED to 1; + + sleep 33; +} + +Go() +{ + call-script activatescr(); + //start-script triplepenetration(); +} + +Stop() +{ + call-script deactivatescr(); +} + +InitState() +{ + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; +} + SetStunned(State) { Stunned = State; } +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + call-script Go(); + currentstate = 0; + } + if( statechg_DesiredState == 1 ) + { + call-script Stop(); + currentstate = 1; + } + } + statechg_StateChanging = FALSE; +} Create() { - resourceRate = 500; - SLEEP_UNTIL_UNITFINISHED; + Static_Var_1 = 500; + Static_Var_2 = 100; + Static_Var_3 = 500; + + call-script InitState(); + while( get BUILD_PERCENT_LEFT ) + { + sleep 250; + } + start-script triplepenetration(); + set ARMORED to 1; } -#define BASEPIECE base -#define MAXTILT 0 -#include "../unit_hitbyweaponid_and_smoke.h" +#define SMOKEPIECE base +#include "smokeunit_thread_nohit.h" Activate() -{ - signal SIGNAL_TURNON; - set-signal-mask SIGNAL_TURNON; - start-script triplepenetration(); +{ + start-script RequestState(0); } Deactivate() { - signal SIGNAL_TURNON; + start-script RequestState(1); +} + +SetSpeed(Func_Var_1) +{ + Static_Var_1 = Func_Var_1 * 500; } -SetSpeed(windOrMetal) +SweetSpot(piecenum) { - resourceRate = windOrMetal * 500; - if (resourceRate > 0) call-script Activate(); // Because SetSpeed is called after Activate + piecenum = base; } Killed(severity, corpsetype) diff --git a/scripts/Units/cormoho.cob b/scripts/Units/cormoho.cob index 8c258dba4ff2e4ee62b757b91f222fe47f8792c8..21c670ba447182dbb19120edaeee8b2e504c8945 100644 GIT binary patch literal 2317 zcmcIlJ!n%=6h2AQwBm9V5p{a*9YVoTs8z61kYey>Q4-S&K1^R;(^thsySWHmI!jk^ z*3C)8MJE?QS5a`O;MB?QJMY}&CPa&ZFMQm4&-u>pJ@2I^A`Ykm-zy?BSowU!=ESVX z4PXxE7S@WZI#8sBb(*BzX(u_*s=K2&QZHLcxl->$`Lv;~Hib>2;l9a9s5GRe1bm2i0#xTW{bJMCK+~Gi`i*TmK*PU*W_5VC*wV1te-GqedO@G zYFzq?^?E;ur|*^Nj$oCfrulp^**;~scgFw3y+a?l;-SAuv!Y6!5A+Qj<+ti?9vhyu zM#N!H$PIm`ZjpjU*^|S@Z>wxLd#tYx8TnLk{$n5N-<3X&M=>YGo2NbAzcAaNt6$AS zr^{lPzd7?)A#qPXWq9Z7u3_@(nEZ$N!=iaI=eW;j%`WIUAEULEbu1f??nC{&i$iKS z+KWM7py&6MHUk-Y#XV)TpQMl9J#sly>`^>dG-uz*4ZcHv!#U{3{hg$3Qr5K%-yxsy zj_{m-!gUL)v~WLeW-!wUMB_T9$QjVOkXJkpddC*;xy9rB|F3u*_zv~Gw|Mb)=Aimm zC^`5G)Y`e%nMNNDs+;=1iN!w9Mw@H?|0OO{<$uyLa0keM0(b;G2HpXCz!~)8GH?yJ z1*E__!2kO$@DO+cYy&&MQ{Wl!5_ko?1wH_ufv>%N`C={XB27Y5$dQSRZUdEdil-YaA|?RFu!-QMuh>2){PGWi7-8Lt%p literal 2047 zcmbtVJ8M)?5T4!KY{Wv3U?W)E&L+jhCZbJV1Vx0!6|~c9_8_bKBHjoAiwH?;r;Q@9 zv$e4n|A4K%jfI7vg{9v&XJ&J=CZ_PhFz3vC^PaPtiO5M%6ZEkmG6T+Ueoo{T=qYF( z_Z{#?Xa?EN6DKH0fQcwU_lt+35r{iWIr04R6Dp%x?zO@KSO%Tm_htiS7fnV8?U;`& z&ZwOTywze!ju^y&=!ejWP2n~W9$`c5Hx`OqWw8}bn?0CFyA>oyeDj+XDbGnQ(DTe% zsiO(+XL!gnt)*?U8%)q*teFgK5`%G^rhVKseAn>QXFMYY&r3WPsdt+=vJdPTbyP`v zUq_kts<6I>R+v=~<_;ZOK~4<0s(@iU>S*tIc)s2vkEyfAyqZOdK|ik3oeC+R7v@i6 zpqF)=#;}_9YH{5s^SE^CV6M6+HgmN{4w7T?_&h#syf2KWI?GS~vfZ~Qj&;&@2S@T< zaQa}c+~+ixBF)ILfF6sjV`$Hsz4uE{GN#Yzu$q}e+Ud0ateNjeLYj%&>MXF6#6QQy zbD!?nVY&l3Vs_pe_JVJC1qb@ec*mZy1|GfV)Ug)d+w+E}h;PZ~#XH|&-A;Yl4qd3l z@fh?CvBuXJL0^RJa@xHGvuhCeBkc&^{}q!rYw~(*{x)$>{4LKKo?_-Xsd-#GZ=*i} zWFIklJOuA@e^a~@pMFngg8$C2BG;*ny_JW|J8y-S3Trb(Ec%@Gdycp~^<>v-p$qns zoU!-7CCp9Y`CW0)lTXh``(%D!0YE>T>Hqp&XDsvk-u&u5|0Cbmv_byU`7)>DY~LJV zOYvpUGN=Q32Feg%4RjN92Q&cjzw#yME$AKS1LzazGw2KGE9g7uC+Ih*+USk@aU6%S z+9<2uXeganb*jzbFm`2SBbHT^tG#M@>vk;1qv5q~{U)pBpnMR!ox$i)l%@5m_k{S> bSo)F9#u2Wr_xgRX`{m;(>!beWU?_h8* speed <269.123985> / animSpeed; turn head to y-axis <-6.699999> speed <200.999981> / animSpeed; turn lfoot to x-axis <-24.211897> speed <736.933985> / animSpeed; @@ -36,8 +39,8 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn torso to x-axis <-2.950000> speed <88.499991> / animSpeed; sleep 131; } - while(isMoving) { - if (isMoving) { //Frame:8 + while(bMoving) { + if (bMoving) { //Frame:8 turn forearm to x-axis <17.941599> speed <269.123985> / animSpeed; turn head to x-axis <7.799999> speed <233.999976> / animSpeed; turn head to y-axis <-9.399999> speed <80.999995> / animSpeed; @@ -55,10 +58,10 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn rthigh to y-axis <-22.360023> speed <265.892417> / animSpeed; turn shoulder to x-axis <19.899999> speed <278.999977> / animSpeed; turn support to x-axis <-7.774073> speed <216.506900> / animSpeed; - turn torso to x-axis <2.0> speed <148.499984> / animSpeed; + turn torso to x-axis <2.000000> speed <148.499984> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:12 + if (bMoving) { //Frame:12 turn forearm to x-axis <-8.806190> speed <802.433676> / animSpeed; turn head to x-axis <2.699999> speed <152.999994> / animSpeed; turn head to y-axis <-5.899999> speed <104.999994> / animSpeed; @@ -69,19 +72,19 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn lthigh to z-axis <-0.010302> speed <46.534058> / animSpeed; turn lthigh to y-axis <2.447604> speed <16.197518> / animSpeed; move pelvis to z-axis [-0.030000] speed [31.799998] / animSpeed; - move pelvis to y-axis [-4.0] speed [62.100005] / animSpeed; + move pelvis to y-axis [-4.000000] speed [62.100005] / animSpeed; turn pelvis to y-axis <-2.200000> speed <113.999990> / animSpeed; turn rfoot to x-axis <0.716920> speed <100.597029> / animSpeed; turn rleg to x-axis <62.388464> speed <1846.074471> / animSpeed; turn rthigh to x-axis <-62.577312> speed <746.953722> / animSpeed; turn rthigh to z-axis <-29.304848> speed <112.680192> / animSpeed; turn rthigh to y-axis <-36.689454> speed <429.882937> / animSpeed; - turn shoulder to x-axis <21.199999> speed <39.0> / animSpeed; + turn shoulder to x-axis <21.199999> speed <39.000005> / animSpeed; turn support to x-axis <-14.199999> speed <192.777795> / animSpeed; turn torso to x-axis <10.499999> speed <254.999990> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:16 + if (bMoving) { //Frame:16 turn forearm to x-axis <-11.653094> speed <85.407119> / animSpeed; turn head to x-axis <-0.300000> speed <89.999996> / animSpeed; turn head to y-axis <-0.500000> speed <161.999989> / animSpeed; @@ -92,17 +95,17 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn lthigh to y-axis <20.558953> speed <543.340477> / animSpeed; move pelvis to z-axis [-0.800000] speed [23.099999] / animSpeed; move pelvis to y-axis [-1.910000] speed [62.700008] / animSpeed; - turn pelvis to y-axis <0.0> speed <65.999996> / animSpeed; + turn pelvis to y-axis <0.000000> speed <65.999996> / animSpeed; turn rfoot to x-axis <-24.372900> speed <752.694606> / animSpeed; turn rthigh to x-axis <-38.675133> speed <717.065361> / animSpeed; turn rthigh to z-axis <-5.741066> speed <706.913450> / animSpeed; turn rthigh to y-axis <-13.834424> speed <685.650913> / animSpeed; turn shoulder to x-axis <0.300001> speed <626.999942> / animSpeed; - turn support to x-axis <-12.799998> speed <42.0> / animSpeed; + turn support to x-axis <-12.799998> speed <42.000028> / animSpeed; turn torso to x-axis <6.200000> speed <128.999994> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:20 + if (bMoving) { //Frame:20 turn forearm to x-axis <18.299999> speed <898.592810> / animSpeed; turn head to x-axis <-4.900000> speed <137.999983> / animSpeed; turn head to y-axis <5.200000> speed <170.999984> / animSpeed; @@ -112,7 +115,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn lthigh to x-axis <-53.638637> speed <233.540014> / animSpeed; turn lthigh to z-axis <26.744226> speed <443.541693> / animSpeed; turn lthigh to y-axis <32.183486> speed <348.735986> / animSpeed; - move pelvis to z-axis [0.0] speed [23.999999] / animSpeed; + move pelvis to z-axis [0.000000] speed [23.999999] / animSpeed; move pelvis to y-axis [-1.080000] speed [24.899994] / animSpeed; turn pelvis to y-axis <2.700000> speed <80.999982> / animSpeed; turn rfoot to x-axis <-24.216659> speed <4.687217> / animSpeed; @@ -125,7 +128,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn torso to x-axis <3.200000> speed <89.999996> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:24 + if (bMoving) { //Frame:24 turn forearm to x-axis <3.800001> speed <434.999944> / animSpeed; turn head to x-axis <8.099999> speed <389.999968> / animSpeed; turn head to y-axis <8.999999> speed <113.999964> / animSpeed; @@ -136,18 +139,18 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn lthigh to y-axis <23.960029> speed <246.703718> / animSpeed; move pelvis to z-axis [1.030000] speed [30.899999] / animSpeed; move pelvis to y-axis [-1.930000] speed [25.499997] / animSpeed; - turn pelvis to y-axis <6.300000> speed <108.0> / animSpeed; + turn pelvis to y-axis <6.300000> speed <108.000012> / animSpeed; turn rfoot to x-axis <6.173754> speed <911.712408> / animSpeed; turn rleg to x-axis <18.695725> speed <490.388093> / animSpeed; turn rthigh to x-axis <36.895466> speed <419.895424> / animSpeed; turn rthigh to z-axis <1.019012> speed <3.352401> / animSpeed; turn rthigh to y-axis <-8.146616> speed <105.317573> / animSpeed; - turn shoulder to x-axis <-49.699998> speed <645.0> / animSpeed; - turn support to x-axis <-6.499998> speed <90.0> / animSpeed; + turn shoulder to x-axis <-49.699998> speed <645.000035> / animSpeed; + turn support to x-axis <-6.499998> speed <90.000003> / animSpeed; turn torso to x-axis <1.500000> speed <50.999995> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:28 + if (bMoving) { //Frame:28 turn forearm to x-axis <-31.699994> speed <1064.999859> / animSpeed; turn head to x-axis <1.600000> speed <194.999984> / animSpeed; turn head to y-axis <4.899999> speed <122.999985> / animSpeed; @@ -157,19 +160,19 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn lthigh to z-axis <29.389611> speed <64.353496> / animSpeed; turn lthigh to y-axis <36.559127> speed <377.972953> / animSpeed; move pelvis to z-axis [-0.030000] speed [31.799998] / animSpeed; - move pelvis to y-axis [-4.0] speed [62.100005] / animSpeed; - turn pelvis to y-axis <2.400000> speed <117.0> / animSpeed; + move pelvis to y-axis [-4.000000] speed [62.100005] / animSpeed; + turn pelvis to y-axis <2.400000> speed <117.000001> / animSpeed; turn rfoot to x-axis <-59.509307> speed <1970.491843> / animSpeed; turn rleg to x-axis <114.373683> speed <2870.338726> / animSpeed; turn rthigh to x-axis <-22.500977> speed <1781.893304> / animSpeed; turn rthigh to z-axis <0.453300> speed <16.971356> / animSpeed; turn rthigh to y-axis <-4.031512> speed <123.453108> / animSpeed; - turn shoulder to x-axis <-29.899997> speed <594.0> / animSpeed; - turn support to x-axis <-13.899998> speed <222.0> / animSpeed; + turn shoulder to x-axis <-29.899997> speed <594.000037> / animSpeed; + turn support to x-axis <-13.899998> speed <222.000008> / animSpeed; turn torso to x-axis <9.099999> speed <227.999982> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:32 + if (bMoving) { //Frame:32 turn forearm to x-axis <-9.199995> speed <674.999968> / animSpeed; turn head to x-axis <0.100000> speed <44.999998> / animSpeed; turn head to y-axis <0.399999> speed <134.999991> / animSpeed; @@ -179,7 +182,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn lthigh to y-axis <13.565143> speed <689.819514> / animSpeed; move pelvis to z-axis [-0.800000] speed [23.099999] / animSpeed; move pelvis to y-axis [-1.910000] speed [62.700008] / animSpeed; - turn pelvis to y-axis <0.0> speed <71.999993> / animSpeed; + turn pelvis to y-axis <0.000000> speed <71.999993> / animSpeed; turn rfoot to x-axis <-41.690443> speed <534.565917> / animSpeed; turn rleg to x-axis <105.131221> speed <277.273852> / animSpeed; turn rthigh to x-axis <-63.527132> speed <1230.784635> / animSpeed; @@ -187,20 +190,20 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn rthigh to y-axis <-21.337931> speed <519.192561> / animSpeed; turn shoulder to x-axis <-13.499999> speed <491.999939> / animSpeed; turn support to x-axis <-12.699999> speed <35.999981> / animSpeed; - turn torso to x-axis <5.999999> speed <93.0> / animSpeed; + turn torso to x-axis <5.999999> speed <93.000001> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:36 - turn forearm to x-axis <6.0> speed <455.999958> / animSpeed; + if (bMoving) { //Frame:36 + turn forearm to x-axis <6.000004> speed <455.999958> / animSpeed; turn head to y-axis <-6.699999> speed <212.999962> / animSpeed; turn lfoot to x-axis <-24.211897> speed <3.406557> / animSpeed; turn lleg to x-axis <2.254584> speed <1805.763637> / animSpeed; turn lthigh to x-axis <22.859981> speed <1848.888188> / animSpeed; turn lthigh to z-axis <-0.640847> speed <188.962102> / animSpeed; turn lthigh to y-axis <8.989746> speed <137.261906> / animSpeed; - move pelvis to z-axis [0.0] speed [23.999999] / animSpeed; + move pelvis to z-axis [0.000000] speed [23.999999] / animSpeed; move pelvis to y-axis [-1.080000] speed [24.899994] / animSpeed; - turn pelvis to y-axis <-2.200000> speed <66.0> / animSpeed; + turn pelvis to y-axis <-2.200000> speed <66.000003> / animSpeed; turn rfoot to x-axis <-28.085963> speed <408.134402> / animSpeed; turn rleg to x-axis <47.646396> speed <1724.544765> / animSpeed; turn rthigh to x-axis <-54.026595> speed <285.016110> / animSpeed; @@ -213,28 +216,28 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani } } } -// Call this from StopMoving()! +// Call this from MotionControl()! StopWalking() { - move pelvis to y-axis [0.0] speed [15.675002]; - move pelvis to z-axis [0.0] speed [7.950000]; - turn forearm to x-axis <0.0> speed <266.249965>; - turn head to x-axis <0.0> speed <97.499992>; - turn head to y-axis <0.0> speed <53.249990>; + move pelvis to y-axis [0.000000] speed [15.675002]; + move pelvis to z-axis [0.000000] speed [7.950000]; + turn forearm to x-axis <0.000000> speed <266.249965>; + turn head to x-axis <0.000000> speed <97.499992>; + turn head to y-axis <0.000000> speed <53.249990>; turn lfoot to x-axis <0.352569> speed <490.554409>; turn lleg to x-axis <-0.390130> speed <719.633418>; - turn lleg to y-axis <0.0> speed <0.921266>; + turn lleg to y-axis <0.000000> speed <0.921266>; turn lthigh to x-axis <-0.927045> speed <462.222047>; turn lthigh to y-axis <16.461924> speed <172.454879>; turn lthigh to z-axis <-8.099272> speed <177.987905>; - turn pelvis to y-axis <0.0> speed <29.250000>; + turn pelvis to y-axis <0.000000> speed <29.250000>; turn rfoot to x-axis <1.277936> speed <492.622961>; turn rleg to x-axis <-0.264122> speed <717.584682>; turn rthigh to x-axis <-1.612074> speed <461.805640>; turn rthigh to y-axis <-17.965320> speed <171.412728>; turn rthigh to z-axis <8.803681> speed <258.364407>; - turn shoulder to x-axis <0.0> speed <213.749980>; - turn support to x-axis <0.0> speed <91.071173>; - turn torso to x-axis <0.0> speed <67.124992>; + turn shoulder to x-axis <0.000000> speed <213.749980>; + turn support to x-axis <0.000000> speed <91.071173>; + turn torso to x-axis <0.000000> speed <67.124992>; } // REMEMBER TO animspeed = 4 in Create() !! UnitSpeed(){ @@ -251,16 +254,16 @@ UnitSpeed(){ sleep 131; } } -StartMoving(reversing){ - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; - isMoving=TRUE; +StartMoving(){ + signal SIG_WALK; + set-signal-mask SIG_WALK; + bMoving=TRUE; start-script Walk(); start-script UnitSpeed(); } StopMoving(){ - signal SIGNAL_MOVE; - isMoving=FALSE; + signal SIG_WALK; + bMoving=FALSE; call-script StopWalking(); } @@ -270,28 +273,34 @@ StopMoving(){ #define UNITSIZE 4 #define MAXTILT 100 -#include "../unit_hitbyweaponid_and_smoke.h" +#include "unit_hitbyweaponid_and_smoke.h" Create() { hide flare; hide aimx1; hide aimy1; - isMoving = FALSE; - isAiming = FALSE; + bMoving = FALSE; + bAiming = FALSE; + Static_Var_3 = 1; hide flare; + dont-cache flare; animSpeed = 4; restore_delay = 2000; return (0); } -SetMaxReloadTime(reloadMS) +SetMaxReloadTime(Func_Var_1) { - restore_delay = reloadMS * 2; + restore_delay = Func_Var_1 * 2; return (0); } - +SweetSpot(piecenum) +{ + piecenum = Torso; + return (0); +} static-var Stunned; ExecuteRestoreAfterDelay() @@ -299,11 +308,11 @@ ExecuteRestoreAfterDelay() if (Stunned) { return (1); } - turn aimy1 to y-axis <0.0> speed <90.021978>; - turn aimx1 to x-axis <0.0> speed <45.010989>; + turn aimy1 to y-axis <0.000000> speed <90.021978>; + turn aimx1 to x-axis <0.000000> speed <45.010989>; wait-for-turn aimy1 around y-axis; - isAiming = FALSE; - wpn1_lasthead = 0xbadface; + bAiming = FALSE; + wpn1_lasthead = 1000000; } SetStunned(State) { @@ -314,21 +323,24 @@ SetStunned(State) } RestoreAfterDelay() { - set-signal-mask SIGNAL_AIM1; + set-signal-mask SIG_AIM; sleep restore_delay; start-script ExecuteRestoreAfterDelay(); } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - isAiming = TRUE; + signal SIG_AIM; + bAiming = TRUE; turn aimy1 to y-axis heading speed <190.043956>; - turn aimx1 to x-axis <0.0> - pitch speed <150.032967>; - - if ((wpn1_lasthead == 0xbadface) OR ABSOLUTE_GREATER_THAN(WRAPDELTA(heading - wpn1_lasthead), <7>)) + turn aimx1 to x-axis <0.000000> - pitch speed <150.032967>; + while( !Static_Var_3 ) + { + return(0); + } + if (((get ABS(wpn1_lasthead - heading)) > 65536) OR(((get ABS(wpn1_lasthead - heading)) > 1300) AND ((get ABS(wpn1_lasthead - heading)) < 64236))) { - wpn1_lasthead = 0xbadface; + wpn1_lasthead = 1000000; wait-for-turn aimy1 around y-axis; wait-for-turn aimx1 around x-axis; } @@ -337,28 +349,28 @@ AimWeapon1(heading, pitch) return (1); } -FireWeapon1() +FirePrimary() { emit-sfx 1024 + 0 from flare; - move Barrel to z-axis [-3] speed [20.0]; //-5 30 - turn aimy1 to x-axis <-10.0> speed <150.120879>; + move Barrel to z-axis [-3] speed [20.000000]; //-5 30 + turn aimy1 to x-axis <-10.000000> speed <150.120879>; wait-for-move barrel along z-axis; //* - move barrel to z-axis [0.0] speed [10.0]; //* + move barrel to z-axis [0.000000] speed [10.000000]; //* wait-for-turn aimy1 around x-axis; - turn Torso to x-axis <0.0> speed <15.0>; -// move Barrel to z-axis [0.0] speed [5.500000]; + turn Torso to x-axis <0.000000> speed <15.000000>; +// move Barrel to z-axis [0.000000] speed [5.500000]; return (0); } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = flare; + piecenum = flare; return (0); } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = support; + piecenum = support; return (0); } @@ -369,8 +381,17 @@ Killed(severity, corpsetype) corpsetype = 1 ; explode pelvis type BITMAPONLY | NOHEATCLOUD; explode torso type BITMAPONLY | NOHEATCLOUD; + //explode shoulder type BITMAPONLY | NOHEATCLOUD; + //explode forearm type FIRE | SMOKE | FALL | NOHEATCLOUD; explode support type BITMAPONLY | NOHEATCLOUD; explode barrel type BITMAPONLY | NOHEATCLOUD; + //explode flare type BITMAPONLY | NOHEATCLOUD; + //explode rthigh type BITMAPONLY | NOHEATCLOUD; + //explode rleg type BITMAPONLY | NOHEATCLOUD; + //explode rfoot type BITMAPONLY | NOHEATCLOUD; + //explode lthigh type BITMAPONLY | NOHEATCLOUD; + //explode lleg type BITMAPONLY | NOHEATCLOUD; + //explode lfoot type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } if( severity <= 50 ) @@ -378,9 +399,16 @@ Killed(severity, corpsetype) corpsetype = 2 ; explode torso type FIRE | SMOKE | FALL | NOHEATCLOUD; explode shoulder type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode forearm type FIRE | SMOKE | FALL | NOHEATCLOUD; explode support type FIRE | SMOKE | FALL | NOHEATCLOUD; explode barrel type FIRE | SMOKE | FALL | NOHEATCLOUD; explode flare type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rthigh type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rleg type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rfoot type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lthigh type FALL | NOHEATCLOUD; + //explode lleg type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lfoot type FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) @@ -389,8 +417,15 @@ Killed(severity, corpsetype) explode pelvis type FIRE | SMOKE | FALL | NOHEATCLOUD; explode torso type FIRE | SMOKE | FALL | NOHEATCLOUD; explode shoulder type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode forearm type SMOKE | FALL | NOHEATCLOUD; explode support type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; explode barrel type SMOKE | FALL | NOHEATCLOUD; + //explode flare type SMOKE | FALL | NOHEATCLOUD; + //explode rthigh type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rleg type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rfoot type SMOKE | FALL | NOHEATCLOUD; + //explode lthigh type SMOKE | FALL | NOHEATCLOUD; + //explode lleg type FIRE | SMOKE | FALL | NOHEATCLOUD; explode lfoot type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } @@ -398,8 +433,15 @@ Killed(severity, corpsetype) explode pelvis type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode torso type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode shoulder type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode forearm type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode support type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode barrel type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode rthigh type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rleg type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode rfoot type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode lthigh type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode lleg type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode lfoot type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/cormort.cob b/scripts/Units/cormort.cob index 86e5522be4a3a68a568c2b04082631a3edd36402..a174bf71d1a37e65e3cd1daf00d4a9c0f226c8c6 100644 GIT binary patch literal 11940 zcmb_i32>Fw6~0*v2wH+-5mbE9x{RQWrPR6{TvAzDSjNslITx$3|`+mR;1cnD?%>B0I zcMF+--yn|?{XQ!({EnmHz?CZ8?n^DdA9V$}#E~d>Rsya;?DZJIH8!S<+{GI^yWsRn z`a9aY=`bs|tux5gxD#{MF9SCP+yL<7LH%CYUS{OJRfS2|i%|Q6xOdJfH@KVr9{80h z+^RRN+^7Csz(v3Oex&vDbMF>#(cWR}ti4y$0O+@qlDiJd7U$IxiHE?vy&K0{+&kNY zT%Wf9)85OtsJf&_4tFAMI;Y#AB(X_3{WyaG9ew@_&oh@>+1Jtt;F!}q$nVA@Ew1j< zprg+HAy-&mPoojwr*pq{mi6_Cy9S)j{re8FxN#!`j&b8b{jN&L!9C#%$|WwwxV*#K zk>aG_xP<%~H;gi|yL$j;CHEsg*D=E2HVw5kvP+$n`&;Q9x<>vu%K9%QwWMpLVuP)b zCD5IA=o-26OzXdItuN#>m(bpUk68UiZZ6=WUrvA8;tu>ukgIcl)6EvwzBTZpOdgbb zLzBg2DGYY#+^@n=cP&+i9!;1_l~oqk#CH)K^1kpW>&r(ZXLSucomIT0|8Eo>bPX(@ zY;k`|=>O&OcPi*A{9b%H*sg0}LFWL2TZBBJ?Yai8fj!-}3qOR$?>od%RoZ*%7TXWs z_)owwUwII>N0sG=6!ZLuBN2CbLjQV1{Ngc!dv49XM!#vFfL~Fq+%jUk!8y0B8yD?J zs+FYuWbujCj!U7Fga34`sXN(CrT`PljxA}6}UxHusezNyeD|ht90xtS*>EX8a zHmcf-_CCCq<+mFX4|eF9`pVT7_pgtFT$;^;ahv>r#howvQ-5n}2pmA(4;^E9ulzXZ zplfQ|u@?8N59x0Wye&2Gw?)>MWpeMLYhdr$R)@>C1>1EET;FbS zzorwBW5h)t;Re_)0SC%43#XhGj%GLYIz=V6mH|0K?appmv z&p6uZSH_35qFQMa>A}QB|Gj#) z&C~zNKBa4F_Czc9Sh-K4cplU*si#k*QqZrzHFXabl6TEGn>+UlZ(UQhdsy5PGzL28 zno7EdXsjsUqK{T4+;7j2`)yrQYf=2gIdLu6QLe7356-pv{YLhDT`PBDQ8B++3ANI2 zkHzggG|2V&fJ^#sM?bGTbF!6tq4ZB(D`T#*Io2RJT`Rv#cn+B&JyX}p;)LhDqvd%| z*UD@dU+lkC5)WM~Z%wwiaq=9ZYvsDtHg0#m9(uK|m82R-%f3hPJbXTX&B`6hr27)J zasd<}?*l)wK0jaHQ|MZ`;~J~O{-T4fmE25=yNJ$_n&J}5y{gvYZpR#Px>m9Y{cif0 zfYY^d>i*V_AIkl%YUQpU7Wfh8>j3(#+{MPQb3_3b?by-JD~Huv{T`q&_(j*s zhJ|(?xL2MFb*P+{?9vrqp_ZA)~&U=o|o_r zpmSfvTb{9ZqhP54UXtI|vn}on?Azk_5%s;fER7E`nAdZwyuGLwpv_;^jTd4 z^WL+#Wo!zt!`F%Ex1*m!s>fQt&@Gg!Yhdt2R=+dXh1}6Kkb27UdlbE#{B#YJ&9nRR zUtbLTn6o?>k7dKHT&M1tyl;Tp=LZ(|lB%f~-)GLUxH*#BdcXJ?`cHSxN?v`MPy?fC zEUs4K+us`4CN)r9Yjush^?uQElhq;V`$iVdDz+)!AM1VK*)rSjlD==`_OrO8?;A6( zuyT{WZ`_!+xTNnJJNo$|=~+DKz16|{*?1&<2N}HD_V=XkAir2`?M?a)^4TyeH|aab z%P(4fN#8+AOKp!!`VO+K)XH5V?|4Fmh8q3nqgHOxcaSP9>dwD}eZWm9eB1N|E?0kK=xrJSUJT zcjtt-r}5+CV%re6WBb>Up(dF!OGZlJ_MFZacq zi?*-9eU_G|d-;+0hQqmcfhSMhzYp#Vb1#T4x@Xskp0CMsmhRJU;9UrL9`#|Nhe!MF zUK!?UE z9inayGUIy6);Qv$j(E%Lc|I>Zz21sv#0EP8_Eo`p+XYL0mw_+8$FK&M3x-2Z{OJAL z7V6PocZBO`hp(;5ico7@himG?gZ%wP0xyo!KEFN%o*vk9jZ0y@B1FjZCf^3&dG)`|Qgj{ID8@YMl=<5=X$bt4bLZ=9)XT+5ho&aY>_psrYR zu^zc5%H$eMea_m#dg2^7M_%!o!{qlg92fZ(%S@V!>v(2t=~u4zen);T5u3d~Q^>;V zg069G4KKt;dBLasSc&JwOUBgqIPm6g%8GVVp64(5d$E$4B<~ws&)8N6{?wH`ydJ(% zM27JDsqiZyaC3+Q^ZI5P$F|mE{B#+|Xtz&vzEKum-LQ|ahF1vQ#~OCAR(skS^5>zb z2bM;Eur64aJYw$fOqHU4h+!Y>k&}?)&O!9K5NE!E;hCQ*s2_jEI?}&6&fi?e`MBPn zI|4t>Gaj6eJ>v!R0RE2oOFl7QqMlsGdEc*k!A9OOuKdj<4c>JP&4*LTvP& zh!JlKd3j%S1iOM?&`*28$NcJE*VeP2k}c=#=ljcJ7=?aG9-Fp;2YWyps3XMe zRJbv=KTntc|WjV&|5eb{4z|=+x<5|)={jThb2yL^V_<_ z5Yy-A<_s4HW~ zT8X;E>)!G)`ZQ^MZ)=Ku+Ev_ zpslSnmv@cXbS~qv`MFJV=DJ)sO>fQ3Z*}!^TNh*-GC5b1&gC*$muqZ=o>~8QB6LjW hnjKipaXJ2J%Vf`Mn(xw0%?l6b-}b}Z+)TQ`{SQsjDC7VD delta 3057 zcmY+Ge`u9e7{||hcXzkzHuqkqUiagA@AbOPdAHiC1+#`uH%*x7bVDR2-q@u^T{o9P zR>O@PA!s-b_5)hE%0Gq-6kQ~=VEus17D|j5F+wx69|I*OsaZYW@B5y-4Zfdq&htFy zInR6E^Pam8+b6fzdzDfPM7HSZc}n@E#oyTqrT!8%u2ia0#s{UfY>#ch+2^yp()SJ4 z2d#|3wsJu)Z~~YF<^(!qflXwJ94ZR?H}rTEW@qSe+GfRet=;R|@;sPRUmW&-USzqp zcG`}J?MjYvZKJf!6o*5vqM~ZcsR;dDKKpN<6X(-`3@K4pWFTt`xt|;+&yzRFLN8(( z$WC&QJV#z8{h5fVA$O4d==H z-AL{s-zFyoi{<{lJW%b3(E;f(He5FTd8x`A6pPExOLt9I3@Jva`E>9CKPHYoe zZ?(tHL~F)w3%}d|w8O8eGiQm zjJ@ScWN9pSP;#LikQNCo-B4Dbo6GD>T6BF`5F_m^vqMN`9s?VLc#NGA1JMHcrSjO< zVUm}Meo?vf-9uq!n_2i>)6LOV>kmB~jfK*8`kS;T#rw+Av(a+z_hQvIVhjD)A!KjR zo0bJzuDQV$%r}&sD~(#?vww5#o-{kwh8wdVLPzRE9f%(@i|X1~TyE|}te{lwQv9y~ z@i-RdaAJH>-Z93OJ{^lMH8mkA4iXNEB;+q;%&&`<@7AYcB~eU(`9Jq@=lnF|e-k+` z^K>*)psP!~g$fz_oJ8odOgExf+ofKQvh?E8ohf{TsOQ@|qd7Q^<{7aBd@AC+i|Yp@ zjqUVr{3CPZyxxdOnNhh8S#f*|NqioUAdz5UDsg}zu}He-NtVcn=!(W*o;kL z%-7FWEEOfqN}1g(fqhlg`&9VQPEn_X3@^LTCI}ONr_$%y(H=vy(T&;dQ&tc`apD2bV@WP z`b6}Z=&QKiTDAJ&jUDQV&b@2*Z%-z=yLPL_L@M!2vSVAS>$#*_*ON@_O{#6ly_*s* xZcRSlmFQ^gOeOV&s#Om<@il6FXHU}fTlOV;+(b31p)<9+{|kZF+rj_< diff --git a/scripts/Units/cormship.bos b/scripts/Units/cormship.bos index 2e964296b5d..de6a5f5125c 100644 --- a/scripts/Units/cormship.bos +++ b/scripts/Units/cormship.bos @@ -1,29 +1,43 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, doorl, doorr, launcher, flare1, wake, bow, turret, sleeve, flare2, dish ; static-var restore_delay, gun_1, oldHead; // Signal definitions -#define SIGNAL_AIM1 256 -#define SIGNAL_AIM3 1024 +#define SIG_AIM 2 +#define SIG_AIM_3 4 +#define SIG_MOVE 8 +#define BASEPIECE base +#define HITSPEED <25.0> +//how 'heavy' the unit is, on a scale of 1-10 +#define UNITSIZE 8 +#define MAXTILT 200 -#define RB_MASS 40 -#define RB_LENGTH 8 -#define RB_WIDTH 3 -#define RB_PITCH_ACCELERATION 10 -#define RB_ROLL_ACCELERATION 8 -#define RB_RECOIL_ENERGY_1 700 -#define RB_RECOIL_ENERGY_3 250 -#define RB_WAKE_PIECE wake -#define RB_WAKE_CEG 1024 + 0 -#define RB_BOWSPLASH_PIECE bow -#define RB_BOWSPLASH_CEG 1024 + 1 - -#include "../bar_ships_common.h" +#include "unit_hitbyweaponid_and_smoke.h" +RockOnWaves() +{ + var rockDir, rockAng, rockSpeed; + rockDir = <-0.1>; + rockAng = <-0.1>; + while( TRUE ) + { + while( get ABS(rockAng) < <1.31> ) + { + rockSpeed = <1.45> - get ABS(rockAng); + turn base to x-axis rockAng speed rockSpeed*4; + wait-for-turn base around x-axis; + rockAng = rockAng + rockDir; + } + rockDir = 0 - rockDir; + rockAng = rockAng + rockDir + rockDir; + } +} Create() { @@ -33,21 +47,23 @@ Create() hide flare1; gun_1 = flare1; restore_delay = 3000; - start-script InitRockBoat(); - SLEEP_UNTIL_UNITFINISHED; - start-script BoatPhysics(); - spin dish around y-axis speed <150.0>; + while( get BUILD_PERCENT_LEFT ) + { + sleep 500; + } + start-script RockOnWaves(); + spin dish around y-axis speed <150.000000>; } -SetMaxReloadTime(reloadMS) +SetMaxReloadTime(Func_Var_1) { - restore_delay = reloadMS * 3; + restore_delay = Func_Var_1 * 3; } abaim() { sleep 4000; - signal SIGNAL_AIM3; + signal SIG_AIM_3; } static-var Stunned; @@ -56,8 +72,8 @@ ExecuteRestoreAfterDelay() if (Stunned) { return (1); } - turn turret to y-axis <0.0> speed <70.0>; - turn sleeve to x-axis <0.0> speed <30.0>; + turn turret to y-axis <0.000000> speed <70.000000>; + turn sleeve to x-axis <0.000000> speed <30.000000>; turn launcher to x-axis <0> speed <90>; wait-for-turn launcher around x-axis; @@ -81,28 +97,57 @@ RestoreAfterDelay() Activate() { - spin dish around y-axis speed <150.0>; + spin dish around y-axis speed <150.000000>; } Deactivate() { - spin dish around y-axis speed <0.0>; + spin dish around y-axis speed <0.000000>; } +waveSplash() +{ + while( TRUE ) + { + turn base to x-axis <-3.0> speed <3.0>; + move base to y-axis [0.35] speed [0.23]; + wait-for-turn base around x-axis; + turn base to x-axis <0.0> speed <3.0>; + move base to y-axis [0.0] speed [0.23]; + wait-for-turn base around x-axis; + } +} - -StartMoving(reversing) +StartMoving() { + signal SIG_MOVE; + set-signal-mask SIG_MOVE; + var waketime; + start-script waveSplash(); + var bowtime; + bowtime = 0; + while( TRUE ) + { + emit-sfx 1024 + 0 from wake; + if (bowtime) emit-sfx 1024 + 1 from bow; + bowtime = !bowtime; + waketime = (get CURRENT_SPEED) * 100 / get MAX_SPEED; + if( waketime < 50 ) waketime = 50; + sleep 12000 / waketime; + } } StopMoving() { + signal SIG_MOVE; + turn base to x-axis <0.0> speed <3.0>; + move base to y-axis [0.0] speed [0.23]; } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; turn doorr to z-axis <-90> speed <180>; turn doorl to z-axis <90> speed <180>; @@ -113,52 +158,59 @@ AimWeapon1(heading, pitch) return (1); } -AimWeapon2(heading, pitch) +AimSecondary(heading, pitch) { - signal SIGNAL_AIM3; - set-signal-mask SIGNAL_AIM3; - turn turret to y-axis heading speed <170.0>; - turn sleeve to x-axis <0.0> - pitch speed <130.0>; + signal SIG_AIM_3; + set-signal-mask SIG_AIM_3; + turn turret to y-axis heading speed <170.000000>; + turn sleeve to x-axis <0.000000> - pitch speed <130.000000>; wait-for-turn turret around y-axis; wait-for-turn sleeve around x-axis; start-script abaim(); return (1); } + +TargetCleared(Func_Var_1) +{ + signal SIG_AIM_3; +} + /* -FireWeapon2() +FireSecondary() { return (1); } */ -FireWeapon1() +FirePrimary() { - gun_1 = flare1; - sleep 100; - RB_RECOILBOAT(0, RB_RECOIL_ENERGY_1); + gun_1 = flare1; } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = launcher; + piecenum = launcher; } -AimFromWeapon2(pieceIndex) +AimFromSecondary(piecenum) { - pieceIndex = sleeve; + piecenum = sleeve; } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = flare1; + piecenum = flare1; } -QueryWeapon2(pieceIndex) +QuerySecondary(piecenum) { - pieceIndex = flare2; + piecenum = flare2; } - +SweetSpot(piecenum) +{ + piecenum = base; +} Killed(severity, corpsetype) { @@ -169,7 +221,12 @@ Killed(severity, corpsetype) explode doorr type FIRE | SMOKE | FALL | NOHEATCLOUD; explode doorl type FIRE | SMOKE | FALL | NOHEATCLOUD; explode launcher type BITMAPONLY | NOHEATCLOUD; + //explode flare1 type BITMAPONLY | NOHEATCLOUD; explode dish type BITMAPONLY | NOHEATCLOUD; + //explode turret type BITMAPONLY | NOHEATCLOUD; + //explode sleeve type BITMAPONLY | NOHEATCLOUD; + //explode flare2 type BITMAPONLY | NOHEATCLOUD; + //explode wake type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } if( severity <= 50 ) @@ -179,8 +236,12 @@ Killed(severity, corpsetype) explode doorr type FIRE | SMOKE | FALL | NOHEATCLOUD; explode doorl type FALL | NOHEATCLOUD; explode launcher type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare1 type FALL | NOHEATCLOUD; explode dish type FIRE | SMOKE | FALL | NOHEATCLOUD; explode turret type FALL | NOHEATCLOUD; + //explode sleeve type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare2 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode wake type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) @@ -190,8 +251,12 @@ Killed(severity, corpsetype) explode doorr type FIRE | SMOKE | FALL | NOHEATCLOUD; explode doorl type FIRE | SMOKE | FALL | NOHEATCLOUD; explode launcher type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare1 type FIRE | SMOKE | FALL | NOHEATCLOUD; explode dish type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; explode turret type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode sleeve type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare2 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode wake type SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; @@ -199,7 +264,11 @@ Killed(severity, corpsetype) explode doorr type FIRE | SMOKE | FALL | NOHEATCLOUD; explode doorl type FIRE | SMOKE | FALL | NOHEATCLOUD; explode launcher type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare1 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode dish type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode turret type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode sleeve type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode flare2 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode wake type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/cormship.cob b/scripts/Units/cormship.cob index 5093d8e7f2426bda65fa5b16f200337a9cb308d3..d26be3218f0af408246076a7f8376b0ca2ee770f 100644 GIT binary patch literal 4769 zcmd5=O=w(I6h29&6aV`Z1YL-ObtNLN5jTZm)7H{ji!qa0inios=C*m}WnOrBlb?+i zintI2L4}Gxt+*&I`~eqT6zM`VOQ8!lQgl=3rgR~ag%ZE-zI$eFUNbSX5IW_Xd+#~t zo}cgDb2GFeB98+10s|G1Z5a6p1CbAaRp4o?pL`HswZXv0V1R!R4`6J%@h*%K4h6Dj zC>RU}gCQ(w$B}j%CD<0oWHori$taSsDzsg@70SZGZU?5^OPTuQ`X}VXJp+`xy^O8- zFbAm#Du5o)Jshpf8*N^EA)+hu2fU2RZs0Q^x0=WL?aF z=SvwyGFIHH%TC5{%7+Bif@{e1PI077w+@^OKI&8B_<1qb&9${P<;!2w7uOt_Zw(W! z-^Nm7aZPo3l(1sY@Ftb+eC~Jqhx_y+wIO?d*c*(iJ!0<`&Qo&{*Fy}cJ;15zIdUyQ z;SXt`2dcrZ7&QNmjf+W>4fpr(b=C7_`(hF&MJE{Tn}zXiw`Tr~%aP~Ge7L@ZM~-Wn zaqZuk-Hy9IX^eZ!{Ga6<_krikkJiHR%QqkhCAf!jPp3Vr_0rbv2cLdyY!TX0e||gW zu6Hc=bA?=Ocz>-Ncg46o8B_QFxU-v^)Fc>&N^_ccc)iZP&(y=`-_NhtX`MV{ozrgh zt@U>HzBnIc9ph3@AHE$$Wp2oaJtM8}e9@Pm(Fu5G9sDo{I{{zh!p^~0FB`SzxY;@R zc7@N4&y#jciM@Iq6Rw{?aU8Gxv$iJS-0sI0Wq<4{#&gFZK$g_m{osUietaKR(8Gt- z_3*(v`h&~I+PV8=&)D4|J3mwW9U))$Swno)P!n?Hl5Z6Aa z_M7%DIeDODThv8jJGuUb;L`6W`}fAZeNVaAl+ibB z>Erijx_j*JfUxN4)&Jm2&y{{;i)Yf|2mI^b0LqY>h&u;6$2m~0JyW?-+#Tu&U&r2L zd~#{`a;InK_il$@ysg}$z3cZe&)&X|E)M-_Kk8kuZ;Z>=&RxF0;YWn>Pyhb=lDyu% zALTsstzjOzhx4wyTD;*KkjDz9MJ?Dfv%PDl6Ti)E<-=lY| zpFNx9K%N<|=0-mj|1Ng!1Ny?R+4iri`M9gu-tF-JtC^gXIn>(v;X`ZgXOI1j;LfF- z1N)*EPYvkwZhYf-V*ESpZuG;2@~3xkEB99U>nBc`SMq)*a;H47Hug62+zKaU9{v5j z`d@k6C}yucWgeO43E&H01=xWmdJ#AZoCMwnE&yKv-vj)8aszk{K@S0K;A7wda1r;et~6ToXg0%X9uz(>GE;5*XUCjc3QQcs9zG1=G4| zq^%|w6H#{B7wNAEHk;xC&nz8LOUYO7?u4C3owBI literal 5095 zcmb`LPi$0G6vpqg(?N9M6Qjfg&9Fg@Bu=|=rM8GfLaNXAm-y@1FCW zbI-f)LD4z4RdS!?P%$4hb;}PpcT+O8#krkYpVe4M1`=$=%0M!xFzi zOu!_Mcd)j{Rf-9Ih5{Zq>r&TxQ?z#bONlFsgQO_GaByqRb7G1P9;O>$9`H8$_yRFL z>g~nERR+C3xVX{5WI#NO*F?a8zjmhJTr%i$y1p(S!lJ)YO z+E7bk3gYv*Ct!)$#t8!sU)ZhY)S}H(KH@$2B%Yl+IJQ!E{M;0`IJWfyIA7y{`!m9! z2gmuCKYWc6cvKt{^+hGOgX7H1AGk6OA{=(}=Q(N3c)m-oWq#Jt$nya98i$Hc@wFPc z5T~09_}jsU#jw7T`d`PeJfK1h`o{8tlhp+~ddd~!*dOEKa|DOk9Ue;P``48lKIj8% z+t{qSGq-1qys^i)+s{j(8iAX7NONkolKXsGKG7EleBJr;jrZR8w*TJedhF%Qt*#se z{OCt?vCY>j;&CAOa)Af^3$F_rV?O@=2sz8-G4W`<;r)cz*0YTGJgX5daPYOSHYE_8Lxb-Ox`o85cy4cA_Kt-g=R zoyGrK|A+kWVb6psckX}mwjY1J_LFw6{q#8cF~6^nIMrgxu;`+94|lo$MXw&dti0Om zO2NNNtbUv|HlRLkkCF2QBR3xN1Yl~eGo;6R)%Hz6{tv%acS3gOXzwh22IyJSds4X$ zsZium4R|=%J+Xr#iZ{;&y4dFXGRdFMhl3AX5HrSkzm*)fJ&I*Mtv4)p+uN^J*s1Fs zI6Xtu)N-dM>{}&2|2+Oa#V6ioneFV{{*DbDzVQV{H%0wwq3HOq;E-H*5O=`d?8tt{2;j{*(}FfB-1)!U|* zYOP&MuV(37V|H)V?M`RXV_9`_rg0*3FEq2XmAT2RHJ&a`Wc5Z`ovO`bEw3Rh?XZ3Um{A6okb~dXjR=06%x>Y-g*WFoa)5%uaY>hWg)@F~n z$yQ@7Ovh?7Ij>>Yo{qRZwPqHn_cR+Zs}r1P1pHX6;k w|J!u+bYXV-c-C}B>uEC^cBfKR;Yj0@Yb`XJSix9&wlo^eRr{l^nnO?Hwz=%J&_bR0uJCG!$#_qoJUYTctf!I%ea`wd zhhoO2hv^NBkC^x&q5nyuBa6FEoU?4s$@30k+@Cv6Iy^g)Zfn9GmlmUZv%hE(?)F=L zd+!KKvvaE#c)m@u8@XL3r=iyxN5ApjKx2E|Dni>xF zKbkk}W14TKiEsC7P0sR{I<{xs7|4MF;J+ULXTS`&0`7p(qt7cZ(}(ij&z40c%(Y+yy&( zmGF|Y_LLbg{mzMH7T?=5nV!#g)6c#e(DB8bX@~x1KCc0XKG3m7;1}V$-0t4Lgm)lb zwmV`Ay>OBIMdtTd^1T(#y>f5x|0F(c`t;vK9`g#U-`0Jmyxt%EQik&hoG^KJNBBqQ zjDOjcf8YPMI?PY@zTT_9G{cR({hh|vws&`%p>5R%joktZvs4@a diff --git a/scripts/Units/cormuskrat.bos b/scripts/Units/cormuskrat.bos index 91e80322abf..18dc103b41f 100644 --- a/scripts/Units/cormuskrat.bos +++ b/scripts/Units/cormuskrat.bos @@ -1,12 +1,13 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" -#define SIGNAL_MOVE 1 -#define SIGNAL_BUILD 2 +#define SIG_BUILD 2 piece base, track, arm1, arm2, turret, beam, door, nano, cagelight, cagelight_emit ; -static-var readyToBuild, isMoving; +static-var Static_Var_1, statechg_DesiredState, statechg_StateChanging, notBuilding, bMoving; #define BASEPIECE base @@ -14,60 +15,99 @@ static-var readyToBuild, isMoving; //how 'heavy' the unit is, on a scale of 1-10 #define UNITSIZE 3 #define MAXTILT 100 -#include "../unit_hitbyweaponid_and_smoke.h" +#include "unit_hitbyweaponid_and_smoke.h" +Go() +{ + set INBUILDSTANCE to 1; + turn arm1 to x-axis <60> speed <180>; + turn arm2 to x-axis <30> speed <180>; + wait-for-turn arm1 around x-axis; + turn door to x-axis <90> speed <180>; + move beam to y-axis [5] speed [10]; +} + +Stop() +{ + set INBUILDSTANCE to 0; + hide cagelight_emit; + turn cagelight to y-axis <0> speed <1000>; + + move beam to y-axis [0] speed [10]; + turn turret to z-axis <0> speed <180>; + turn door to x-axis <0> speed <180>; + wait-for-turn door around x-axis; + turn arm1 to x-axis <-90> speed <180>; + turn arm2 to x-axis <105> speed <180>; + turn door to x-axis <0> speed <180>; + +} -#define TB_BASE base -#define TB_TURNRATE <15.0> -#define TB_TILT_X <0.1> -#define TB_BANK_Z <0.1> // Do not define this if you dont want banking -#include "../tilt_bank_mobileunit.h" + +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState ) + { + call-script Stop(); + notBuilding = 1; + currentstate = 1; + } + else + { + call-script Go(); + notBuilding = 0; + currentstate = 0; + } + } + statechg_StateChanging = FALSE; +} Create() { hide nano; hide cagelight_emit; - readyToBuild = 0; + bMoving = FALSE; + notBuilding = 1; + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; turn arm1 to x-axis <-90> speed <180>; turn arm2 to x-axis <105> speed <180>; - call-script TB_Init(); } -StartMoving(reversing) + +Activate() { - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; - START_TILTBANK; + start-script RequestState(0); } -StopMoving() +Deactivate() { - signal SIGNAL_MOVE; - STOP_TILTBANK; + start-script RequestState(1); } + StartBuilding(heading, pitch) { - signal SIGNAL_BUILD; - set-signal-mask SIGNAL_BUILD; - - if (!readyToBuild) { - turn arm1 to x-axis <60> speed <180>; - turn arm2 to x-axis <30> speed <180>; - wait-for-turn arm1 around x-axis; - - turn door to x-axis <90> speed <180>; - move beam to y-axis [5] speed [10]; - wait-for-move beam along y-axis; - - readyToBuild = TRUE; - } - - turn turret to z-axis heading speed <360.0>; + show nano; +//get PRINT(heading,pitch,get GAME_FRAME,0); + start-script RequestState(0); + while( notBuilding ) sleep 100; + signal SIG_BUILD; + turn turret to z-axis heading speed <360.000000>; wait-for-turn turret around z-axis; -// turn arm2 to x-axis <0> - pitch speed <360.0>; //up/down movement not working correct +// turn arm2 to x-axis <0> - pitch speed <360.000000>; //up/down movement not working correct // wait-for-turn arm2 around x-axis; set INBUILDSTANCE to 1; show cagelight_emit; @@ -77,36 +117,33 @@ StartBuilding(heading, pitch) StopBuilding() { - signal SIGNAL_BUILD; - set-signal-mask SIGNAL_BUILD; - hide nano; + signal SIG_BUILD; + set-signal-mask SIG_BUILD; hide cagelight_emit; turn cagelight to y-axis <0> speed <1000>; sleep 6000; - - set INBUILDSTANCE to 0; - readyToBuild = FALSE; - - - move beam to y-axis [0] speed [10]; - turn turret to z-axis <0> speed <180>; - turn door to x-axis <0> speed <180>; - - wait-for-turn door around x-axis; - turn arm1 to x-axis <-90> speed <180>; - turn arm2 to x-axis <105> speed <180>; - turn door to x-axis <0> speed <180>; + set-signal-mask 0; + signal SIG_BUILD; + start-script RequestState(1); } -QueryNanoPiece(pieceIndex) +QueryNanoPiece(piecenum) { - pieceIndex = beam; + piecenum = beam; } +TargetHeading(Func_Var_1) +{ + Static_Var_1 = 0 - Func_Var_1; +} +SweetSpot(piecenum) +{ + piecenum = base; +} Killed(severity, corpsetype) { diff --git a/scripts/Units/cormuskrat.cob b/scripts/Units/cormuskrat.cob index 02dfffb20f56485eac7193327b4a07e848817e94..cad015407861253c0a3f548ab57371a1b7ee3b68 100644 GIT binary patch literal 3333 zcmcImy^mB?6hAvV44;YD7$aD{1QQcOG16gyxJpLXt1HN*^b7>#*nQH1w z(r&o@kq08uYCt;Cqd#c|y@NPf4D-qR+wTV7Gmx7tW1B8>kW3t1S)R0^TzLuAy#8Z5 zv8TSkv)UzR9xWHrIvI#-F{Z_zrf2?0*%S7gzE~rBb{k|IC#!3ZDPsMkl+E!Fdv`tZ za^=m8^Qt#%ZU=erZ@uSr>^sirX2N6dsguS!Oa}TU&ET7Pj&pFx5C5nl(ci5opP}M< zn2j83xbGvsR^fjh`5^PV%TGt*}$SMIOVAd*K?P z&*0fUky2+;2WEng?X$(9e~UwX$#!Y4pMMo%|MDJrqVI)b>YMEBn?a^KNFgmr@k#Yw zdy`cjz*0q8*6#jB?9OdB{!L;&$Ug+4|#J^Z^F^?;=0SCjP;w__zEa zQ9JImy|b#!a%OFIW^B`|Kit@0?3dMj=hNWd`jgr*H0@HK%8PG@yP{i2Cide93bR>q z?vpwphYfv`M;UXWE$`fYrMTm&a@8|=q|y%ibs0jlW!yz7XV^y?3YV+rnKAGFJysEvj{!o9rGh|%rxt{U< zrtL3VfhoUKKK?#vh1#tCRG+iZK4KR4V~_OhHu0T~zTJ&H-M>-TgY}Kct_XI__M1Cw zXU4L(r8)9#A&<1T)cN@`@^4n(7I@e>&Vn7&(S-}Su1YsfRh8;Ey%Lz2xp?gCXzrZuIyQ{SiA8tp-BxU@@A@0F$$YAHFitgB_TA#!jQ`Kid>@z=_QGB3S+TzHa?I%V$*9zOB89idQ^b1S{&Zf~%prsKT(iHZPWZIq&nJdENVRVKgk|RBw6NcjaP!%}ZJ2ohyJqWnf$ZVsT0YTP9w%W|#8}QP@pNDUs z2-wHOHY8KXV1vq5=Q{8;i5l$^V_7p`fk~1r#S;v7r)nklQ zhY!ojd^*t|BI-(Uq1IT_rHDi3KFQ;eC(0Z>SK?cHDfA@RD+g;?sKIl?23w%S^K-H7 z+#VeDV!JDr^L?H8Ain#op4KjB|xY5xNA?T0oHqtEw%XG{w&u0`EL5%cLO-G z;4|*fZ;8xffFTdg5F-mOBE8;mdgOMU$NtOWAmzy0X= zi=aI9O7%q!-vkU&zO2f(`vl z>#gd%*Yw5t)W^NNm(iHs^k zY}MDN5zB$z@7^1~SABs$EBaRSkEkKQu4qs6z36w*r# zF4`7d6YYvV6zz$=5PdDWDf&+IgXkyGzUUXxucALiFZQOL>#rC2cr?7wO>g#mKFGI< z?&ZN~yRfy+`h{U{YHPjzw383F?YT*jPYb&|%_q}Kqien4miWGiv=m|b4o zDJIun&WEGbUa?u&#a_Q(bnQz1R$ speed <1>*animate_speed; move sleeve to y-axis [0] speed [0.133]*animate_speed; deploy_state = 0; @@ -43,19 +45,21 @@ Create() //close_speed = <8.4375>; //close_speed = <27>; - SLEEP_UNTIL_UNITFINISHED; + while( get BUILD_PERCENT_LEFT ) + { + sleep 250; + } set ARMORED to 1; //start-script RestoreAfterDelay(); } -#define BASEPIECE base -#define MAXTILT 0 -#include "../unit_hitbyweaponid_and_smoke.h" +#define SMOKEPIECE base +#include "smokeunit_thread_nohit.h" Deploy() { - signal SIGNAL_TURNON; - set-signal-mask SIGNAL_TURNON; + signal SIG_DEPLOY; + set-signal-mask SIG_DEPLOY; set ARMORED to 0; if (deploy_state==0 OR deploy_state==1) { @@ -75,10 +79,10 @@ Deploy() } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; if (get WEAPON_RELOADSTATE(1) < get GAME_FRAME) { start-script Deploy(); @@ -104,16 +108,19 @@ Shot1() } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = barrel; + piecenum = barrel; } +SweetSpot(piecenum) +{ + piecenum = base; +} - -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = flare1; + piecenum = flare1; } Killed(severity, corpsetype) diff --git a/scripts/Units/cormwall.cob b/scripts/Units/cormwall.cob index 4d0fd5b4d7218120ef9ca447a16288ebe7141967..71075db996873b1684d61426ad0a56de36b86975 100644 GIT binary patch literal 2320 zcmbVNy=&A#5S_bRE{Q~0!N%?s3k!=&{Aw)ng$P=l9%>;-PP4%y_r>Lx$Q6cbOkt(H zLa?w9A)Oz8fRN4<7Is=`C0Hnk7V*8=-OJwP6448f-JP9z^LBRjmyC#v0{eh3DUl(J z{B2q%;(NvOJ@b4i9_pL8K0^JTdwaUa9@i(-Bd*^oABO?W?RvAjhVC41 zy&vhr`Ptv>3;w8CC%)!dgT~ID4)?3R=ri^=Ik)2nyKLN(0yMOpjvwAP=m@d>-b(t@ z)|NzX1+S*7=h>S)i*iLeXlKq?o1Qb$aRfos9NxuVIyMn@Cl@(_PB8<9=hbsZdn4-aax8eha1W{>($_f~ zaL zc+S_JlXo3+l7QU&cSTOlwKjg<_V&N!x=lZyYt!cn=MVas<6rpc+si@ywClmW#{bby zx#Tzp+yvHv4d58W7J(YD46FdF0RNxg0IEO&tN;&yN5Es?DXx^cr*SFCLX+!aNq_<4kpG^{eEWV=}zfZ-R9{t^SpkaXP%kehM64_y&}3$ zH=7aX^XWmed!k=NC$xVeZmoL7ANoeSUQNTbhudhnvag!etE{VLRfFqO%l7thv%)qC z+qDXLgUz~ZeZ7^|zeZKAGq zV4O>M@tu+$U$CRIw(vsdb#nFk$XRJd8JZiv(vyA7fC1+1R;Ml;$q7C`b z;qN#~%-DKQ{>1t0R8?;$S*at2RSC~X%Q40#5q4t49J!`P*$$b<#P7Y?-B`)*^A!Ds z!8B8d9UDHLlYCK^^X~N>`(sDF_}_J`U*z!|_(>e|#~krx@>x!^cP{(YFnp0_g!_6v%j<=_ z%smf4_0{h;iAtQTBfjJX9cJAom#TC*f$0cH_Wq^1H5Ysp4H1 z@?Ci8X_-q~^(M`o&z@0W?t5J4zTcIYyr|(~d$`}z?@;od=lS{#r>dFWN_1Ky;#2l0 zo;f`lrL%f0BXV^yY^U#n-?J?G3p@H&))R{uj+47ey|L~>$Jeyq8Qxj!{Tw2O0v|fe zy-%K_yeFmJW9_G>&*fcs9p_f6_m~F9vExsT>_^yCGdp+RYcJ!(JC)}IQtbgx|z7!GjH91`s{VaMS`b)Genh_3uTRju~ z&Ee^X*sSQN=(y-D(P_~c(IwFrqGizy(Jj$Hv?iv=oL*!`o|Xp=+On zjbVQf7OoG&U@`PMoA$vVbcVq`Tp6C*{5*8l`)eO{%bhKDRy#LBcWJeME7)RK@AWrr zVP!Sh&e_t<{&3E&-VTH8K8N=Fpub~rai!N&>gCQxu-;17HhLl433k2L8HBmS<`a86 Pv3C-CH?fn6ow9!bB`(AO diff --git a/scripts/Units/cornanot2.bos b/scripts/Units/cornanot2.bos index 13876b182ab..476dd251590 100644 --- a/scripts/Units/cornanot2.bos +++ b/scripts/Units/cornanot2.bos @@ -1,40 +1,144 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, aim, stand, emitnano; +static-var Static_Var_1, Static_Var_2, statechg_DesiredState, statechg_StateChanging; + + +Activatescr() +{ + sleep 1; +} + +Deactivatescr() +{ + sleep 1; +} + #define BASEPIECE base #define HITSPEED <20.0> //how 'heavy' the unit is, on a scale of 1-10 #define UNITSIZE 4 #define MAXTILT 100 -#include "../unit_hitbyweaponid_and_smoke.h" +#include "unit_hitbyweaponid_and_smoke.h" + +Go() +{ + call-script Activatescr(); + turn aim to y-axis Static_Var_1 speed <320.000000>; + wait-for-turn aim around y-axis; + set INBUILDSTANCE to 1; +} + +Stop() +{ + set INBUILDSTANCE to 0; + call-script Deactivatescr(); +} + +InitState() +{ + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; +} + +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + call-script Go(); + currentstate = 0; + } + if( statechg_DesiredState == 1 ) + { + call-script Stop(); + currentstate = 1; + } + } + statechg_StateChanging = FALSE; +} Create() { hide emitnano; + call-script InitState(); + Static_Var_1 = 0; + Static_Var_2 = 5000; +} + +static-var Stunned; +ExecuteRestoreAfterDelay() +{ + if (Stunned) { + return (1); + } + turn aim to y-axis <0.000000> speed <100.000000>; + wait-for-turn aim around y-axis; +} +SetStunned(State) +{ + Stunned = State; + if (!Stunned) { + start-script ExecuteRestoreAfterDelay(); + } +} +RestoreAfterDelay() +{ + sleep Static_Var_2; + start-script ExecuteRestoreAfterDelay(); } +Activate() +{ + start-script RequestState(0); +} -StartBuilding(heading) +Deactivate() +{ + start-script RequestState(1); +} + +StartBuilding(Func_Var_1) { show emitnano; - turn aim to y-axis heading speed <320.0>; - set INBUILDSTANCE to 1; + Static_Var_1 = Func_Var_1; + start-script RequestState(0); } StopBuilding() { - hide emitnano; - set INBUILDSTANCE to 0; + hide emitnano; + start-script RequestState(1); } -QueryNanoPiece(pieceIndex) +QueryNanoPiece(piecenum) { - pieceIndex = emitnano; + piecenum = emitnano; } +TargetHeading(Func_Var_1) +{ + Static_Var_1 = 0 - Func_Var_1; +} + +SweetSpot(piecenum) +{ + piecenum = aim; +} Killed(severity, corpsetype) { diff --git a/scripts/Units/cornanot2.cob b/scripts/Units/cornanot2.cob index 8ef84edc6a98132a1cb49c2364840ff729de0a75..fd2d83e5777bdfec2fb87f884c75c0574c138627 100644 GIT binary patch literal 3087 zcmcImO=uHA6n^<>T5ORO5q}P{2k}%ecoGrmpSDGi*eHS^WKG7h+9oyGSbGox9_&dx zi=dzf6%;%QJqqI4i+4f1S@7UR#P6G(w^?IT+Jaj?X6DU%@B8M>%h0@t>;v+^{j5j< zBfptlB9DP}V3dYok&Ku1GMpDP9_O4&sbJ?D*~N!X3R%Q}!se;Dk-SpOc`}ysvc;^I z!;*d+$-z;)0Z%Fg?})R}MBcO?^GPxGJBBG^Y15ospV%GerdEw5xB60p_+rncIvK-# zgxDAzt*(D!yYciBWVZgPIj5?Hqdh-(m7^bjKR?aKku_nxnakb>YW51|gvZa@8q<~M z=g7SYPF(HoIa^?D-Fwa#omS-6+S4V;?e6G7%EsE$C(U)72GmV^h&mGu9`xalE_&zB z-F}9S>+#*lSiyVY?Aads4QIz7T90%Ol4}q5Pz(0dJ4|U~uh5?gSZms7l2Y7LADoSJ zNiDoW+@G*%KXIf__Z;X`thJw&M||9s`^eS#g1pL!9%K%JJ*0E`4bbj5#2@PR4Ya5C z8OnX~*gP)I+MO@$Jd5@^_qbNA>Z|pmKJKw@!wA+h_U2$6Rioy!H;YjA1bKU7lYMYl zy_LA`r?AjH<|Mt|$tWFhKGuYv?kh(+&gOJ?dD6w{Tc=tzj{UVCKAKO@pljP#6^UyB z{=u03FMrjux;L&VDbw-PW_6>MR~#38v~~xkQ~sOu14FDHpB0VkL%qzMa6FA`8Ib@z ziznTFy?QKv5pPx>pTr;gL&!k?#Fn~q#&5K5`=}JxEv=Pel05xlUA^gNb@uZ^9q7Y8 z)%PdK4UPIfl2bK^pYvEV+BWhfU%y<;r+FBAkV*Ww-ro^Oo5pkG+IM3Iqg3z~dV>i! zC-h{q&xL`Fpi$KHC89zPFNFb?-D@Yqit(-m_5;-_sEw1YQH5 zfN#JL;5RS{(lRg)ECU^26?h0d0bT-cfi>Vg!2dZ%fJ4Ahpa`4>#(}dy3AhT>fV;pd z@CbMYyaCpLkHBZ(E3gjy1bzV&S^&nYQFuFuOsm?IDHEhtGhsBba@hn+jk=T<8#m3R zdKgK{I$M+JhLoemlFVYO93hR&nOkksa*N5Pq3z5aQ*B3P4)#XVj9-sTbIL3PD^fOa zY}f0ihPd8MRhE(kvY;7Fw8Mp3Sf97l$>KuWG*`|C^+qW)RU;RJ=Ddk!Ob~l68&EAZ dA~_c>EP(D>&@vK)i_(gMdQHq?7}XIge*hq|?8N{8 literal 1775 zcmb7FziSjx5T4uHoIymMU=y%dtSm$ptCY!U5edp^3frvNM_jzy3zrR;N{eVEL99is z>=pk3OFIj}#zIgeWx&SL?|VCQw=Rd`aUbu^%r`&Z92bkoA`k-)IwJUn&xM}I8gLi5 z2+e(*l0>eFj*HwGvXj`!X3w3%mAag|LC^8dxU}=W%6qyHxaV<=p`(g6o-&x(sADa0 zsy5eiQ6Py#uyt|gNe<6o0*5kf^tU>iHIvIYv_Bo+nksQ=_PIrL}GHv3f=nbY2BUfrzWhyCYgV(JckYUnHnIjn^luwAZq@4MPNBp%m0A}c+2r243#H($oP3_It_xsm@?`Bbw`*~FCFx&*lgGyTJF zvpER%lc@p_e?fgIOR^Z=hSzp%;{{urhkUG+bu?!ZxcXLnuV!CMG$!?ImXX|MNPnyC z6*=xict_fwtK7DSys(EJ^mk3_bbgxWmgeCO|4$yv`?ow>OsIK=n#bm0^;#TKS=$p{ z(4W~4Rc_}Yw;k(+a(U2hvc)pF9gF-+z#HHv@C!Hzr?bF0fd3DVfoH%=;5G0Lcn^F8 zJ_BEXufPvrt*H9@w|%xVF0bWHNv>w2Y}@A>qwzg2S0+BIylhn2r0VY#!@MZBA&qyY o!p%KD*}svM<3ZuKysQ_)q0i+`w(BJ;MzULFWiEbHR3$j_8(n;X3IG5A diff --git a/scripts/Units/cornanotc.bos b/scripts/Units/cornanotc.bos index a4f0c1ef63b..ccd280562eb 100644 --- a/scripts/Units/cornanotc.bos +++ b/scripts/Units/cornanotc.bos @@ -1,9 +1,22 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, aim, emitnano; -static-var buildHeading; +static-var Static_Var_1, Static_Var_2, statechg_DesiredState, statechg_StateChanging; + + +Activatescr() +{ + sleep 1; +} + +Deactivatescr() +{ + sleep 1; +} #define BASEPIECE base #define HITSPEED <20.0> @@ -11,22 +24,72 @@ static-var buildHeading; #define UNITSIZE 4 #define MAXTILT 100 -#include "../unit_hitbyweaponid_and_smoke.h" +#include "unit_hitbyweaponid_and_smoke.h" + +Go() +{ + show emitnano; + call-script Activatescr(); + turn aim to y-axis Static_Var_1 speed <320.000000>; + wait-for-turn aim around y-axis; + set INBUILDSTANCE to 1; +} + +Stop() +{ + hide emitnano; + set INBUILDSTANCE to 0; + call-script Deactivatescr(); +} + +InitState() +{ + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; +} + +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + call-script Go(); + currentstate = 0; + } + if( statechg_DesiredState == 1 ) + { + call-script Stop(); + currentstate = 1; + } + } + statechg_StateChanging = FALSE; +} Create() { hide emitnano; - buildHeading = 0; + call-script InitState(); + Static_Var_1 = 0; + Static_Var_2 = 5000; } static-var Stunned; - ExecuteRestoreAfterDelay() { if (Stunned) { return (1); } - turn aim to y-axis <0.0> speed <100.0>; + turn aim to y-axis <0.000000> speed <100.000000>; + wait-for-turn aim around y-axis; } SetStunned(State) { @@ -37,41 +100,45 @@ SetStunned(State) } RestoreAfterDelay() { - sleep 5000; + sleep Static_Var_2; start-script ExecuteRestoreAfterDelay(); } Activate() { - + start-script RequestState(0); } Deactivate() { - + start-script RequestState(1); } -StartBuilding(heading) +StartBuilding(Func_Var_1) { - show emitnano; - buildHeading = heading; - turn aim to y-axis buildHeading speed <320.0>; - wait-for-turn aim around y-axis; - set INBUILDSTANCE to 1; + Static_Var_1 = Func_Var_1; + start-script RequestState(0); } StopBuilding() { - hide emitnano; - set INBUILDSTANCE to 0; + start-script RequestState(1); } -QueryNanoPiece(pieceIndex) +QueryNanoPiece(piecenum) { - pieceIndex = emitnano; + piecenum = emitnano; } +TargetHeading(Func_Var_1) +{ + Static_Var_1 = 0 - Func_Var_1; +} +SweetSpot(piecenum) +{ + piecenum = aim; +} Killed(severity, corpsetype) { diff --git a/scripts/Units/cornanotc.cob b/scripts/Units/cornanotc.cob index b218f7cc5ffe6a23fa4af665fa83251785cdf339..3519bc0ad43ea0d1394b399d182a18b1db2c8149 100644 GIT binary patch literal 3077 zcmbVOL2DC16n;tCw5aHcD2gCKJQfU|L{QpVX^SGURf-qMnvAkGO=`N)1}_B*dJs?I zNl?Lq7Cd-U@Tm9$^cUz&1PdPY(1YJMJ8!#Po7i^C$IQHW?|a|8d7ZXLMD_wX;9gcF zkCETlHjyX5GBAMk3dW3=^)lQnW<1V0l~Uf$*Rx9jJ_%$IgA|sh>c$>&6my;o=Dch% z>rn^&I5G!E@p?Te=e;A&MicWU{m3W9$nPkojHOLExjw!#;-*%OWp4GQ1}TU=m+E8; z_Yq=abhNtuiCvASpMcr=C+3{07LNA($g4RzmO5)|*`RK2WnInBzQ!9$RC& z^86gRH_VBv-Cbw%t!?$5dx}mg__g+QiMib!JxthGd-^1E9istt(;lMESc3_O(*%{|nDJ@pP#+Sn`frvlcRHkzaq_0%V4 zW4gE&UOwti*tDNG(r5J?=u@n z-I}DN`z+_MO#@T3&Iv=%cmUKbr9G(iaS24DTpeQ*!hCHpjE5 zmh(*D%8CW+R;RVGry36LUfn zbLv{_BZZvDJ6)4M;mb30;!2)@yaz~9i0b;n!11HcL3Brpt|11Dx(dV3>&jDj;+ZMG%{gsw#=McoNgN0&di%iD>M_ZH=1VXT48|>7M*Lt#%uEp05hZ^C>R9Y< literal 2115 zcmah~y=zlZ6hHZB+QF79I{1MQ90a9EbSUD~#1t!{Ml*EnGr5+B`6$VY7;tb<=%B^P zNu;m#4OVkMPgN+$0}B6;}OFC{sY&IJzN^o4zdJ(J5k^uHi^v0(C*)E4@fLrmIF>vE zTp`cR>Swy)d9-Ox*10sdw^uhurQmkr;?aYY#m%6-F@~`$$$BdHkKK(YkMlD22~^6b zkj%kxHD^{zCH+Rq1@*t&ki&S+th=wm$(s6|_UoHHY?I)3!I}9z#H8OuV=1MQb2Dw? zp}l8!wx5ro6F$D3?uNVI&F*-Ak#F27XP~M(XDnyYyZsDR^XYBsTW^DO+FVY5Ltg`% z)*y#{P`Vn1zX-kM^!9#ue~!eR^hRW{WVXFMAJ{dP`7XlGy>f5lfAD;o*{7_^ey2Ob+ljls2{r;@NvIv#UaSSeQRH=!8@4b-AZRX!61Wr5c~^!puTYg zM$T~n#|8SnRCmAoMmlHM1O3eV_pY(GbOHV-Jj{ya2A*cmVjHp3c&x5FM&6}JK!Vm1^5R11bzcDBQgh^1kM2$fCb<( zupB3~@rsSs`@L)J@Fn%A8?D)Pv)jLK<;uWDiIt^?wlzxZ9Xm|=16#e9*g@TPqOmk> z(o9CZo^8v&&T1=(A27UbBUPJ8G)QWrxYLe%Ytl^m>yyXrksXY0M!kL`wk<2y<4y-@ R??yu_QQQ^Vjgua{@)t}}r7Hjc diff --git a/scripts/Units/cornanotcplat.bos b/scripts/Units/cornanotcplat.bos index f815e987d7d..16198be77f8 100644 --- a/scripts/Units/cornanotcplat.bos +++ b/scripts/Units/cornanotcplat.bos @@ -1,13 +1,11 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, aim, emitnano; -static-var buildHeading; - - -#define WATER_ROCK_UNITSIZE 5 -#include "../floatmotion.h" +static-var Static_Var_1, Static_Var_2, statechg_DesiredState, statechg_StateChanging; #define BASEPIECE base #define HITSPEED <20.0> @@ -15,35 +13,155 @@ static-var buildHeading; #define UNITSIZE 4 #define MAXTILT 100 -#include "../unit_hitbyweaponid_and_smoke.h" +#include "unit_hitbyweaponid_and_smoke.h" +RockOnWaves() +{ + var rockDir, rockAng, rockSpeed; + rockDir = <-0.1>; + rockAng = <-0.1>; + while( TRUE ) + { + while( get ABS(rockAng) < <1.31> ) + { + rockSpeed = <1.45> - get ABS(rockAng); + turn base to x-axis rockAng speed rockSpeed*5; + turn base to z-axis rockAng speed rockSpeed*5; + wait-for-turn base around x-axis; + wait-for-turn base around z-axis; + rockAng = rockAng + rockDir; + } + rockDir = 0 - rockDir; + rockAng = rockAng + rockDir + rockDir; + } +} + +Activatescr() +{ + sleep 1; +} + +Deactivatescr() +{ + sleep 1; +} + + +Go() +{ + call-script Activatescr(); + turn aim to y-axis Static_Var_1 speed <320.000000>; + wait-for-turn aim around y-axis; + set INBUILDSTANCE to 1; +} + +Stop() +{ + set INBUILDSTANCE to 0; + call-script Deactivatescr(); +} + +InitState() +{ + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; +} + +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + call-script Go(); + currentstate = 0; + } + if( statechg_DesiredState == 1 ) + { + call-script Stop(); + currentstate = 1; + } + } + statechg_StateChanging = FALSE; +} Create() { hide emitnano; - SLEEP_UNTIL_UNITFINISHED; - start-script FloatMotion(); - buildHeading = 0; + call-script InitState(); + while( get BUILD_PERCENT_LEFT ) + { + sleep 400; + } + start-script RockOnWaves(); + Static_Var_1 = 0; + Static_Var_2 = 5000; } -StartBuilding(heading) +static-var Stunned; +ExecuteRestoreAfterDelay() { - show emitnano; - turn aim to y-axis heading speed <100.0>; - set INBUILDSTANCE to 1; + if (Stunned) { + return (1); + } + turn aim to y-axis <0.000000> speed <100.000000>; + wait-for-turn aim around y-axis; +} +SetStunned(State) +{ + Stunned = State; + if (!Stunned) { + start-script ExecuteRestoreAfterDelay(); + } +} +RestoreAfterDelay() +{ + sleep Static_Var_2; + start-script ExecuteRestoreAfterDelay(); +} + +Activate() +{ + start-script RequestState(0); +} + +Deactivate() +{ + start-script RequestState(1); +} + +StartBuilding(Func_Var_1) +{ + Static_Var_1 = Func_Var_1; + start-script RequestState(0); } StopBuilding() { - hide emitnano; - set INBUILDSTANCE to 0; + start-script RequestState(1); } -QueryNanoPiece(pieceIndex) +QueryNanoPiece(piecenum) { - pieceIndex = emitnano; + piecenum = emitnano; } +TargetHeading(Func_Var_1) +{ + Static_Var_1 = 0 - Func_Var_1; +} +SweetSpot(piecenum) +{ + piecenum = aim; +} Killed(severity, corpsetype) { diff --git a/scripts/Units/cornanotcplat.cob b/scripts/Units/cornanotcplat.cob index 4b4517ee211d1891df06b35119a3dfd70e536908..88a01bb5827c4f4656f76c3e1667c2e19a2e683b 100644 GIT binary patch literal 3529 zcmbVPO=w(I6h1SVP9s`*Qd`y&l1(IXd?IOQ?S#Cv z<4QZOlI%&O*G&!u8AUSFg?7V^e3E&)XRx&x#>w-`PkQba^ybUhX3HETm4sB5Cw-__ zS+r_ikN9r*(_X-=e$k#=@_hyZ<88*=OlN*vSv&hmf7Zg@e2s-??PuE2UQ)$6xl%X9 zP3X}u$a0mnl#AO=<~i!zLZ7Lt`NMsD7|GaY+QjjWQh**w=J}axokxNk@kbN8-!Fo` zMZ-0J4|2Sld>Q2JhWzay$5Qtso;SvNiaPXzJ-UG{WjZUUiy5$Al+jFP{QTSuGKRB$ zNYeGahRkM%D{VIFz`fwZ*@)vbbGpC2zHa@Zot??WGgs#O95y_Egrmjcnd;^$Sx4{i zK9%8qo(}$#JLHjcLg$Ci0OQ)Tu!r2ZPs>HZvqJH9?8sx!1h=-gI7l<7>S`ndM-5l|j!q+H(jt%a^lhcS9eZZT6G{HQ4MiKk7JFC6cl}H90I7 z=52iXq~dHnZ2H!E#L&8X{yF*%2h(lj?{(K`i2CgN!}Jy-_EXOAY!$|fj+Be3Z^fYQ8zbk$Y9G^2D=7PLGaF6$Z_A$h!J7aKVjF0#GGfm@| ztVi#%*G=vQZrWJC51o$e)2(NSE?Ps%TkvripWJnf?|qN&g?#bVte<8+8lSbHrp;_> zd*~kn1MO=WW{Z2}*h0_Qi*sZWwf`1A+u@{*zB5qwe>jm7V_FQ0&G$rnNA$5CT0G9r zW?XR%v^`9t)c5yYBoX^te^QuGeif_q@cozUt+~0OPUj9f?)6;~_OZ`6zWANVTC7&` z>Gy8P@zao_^=lj_)207za@>i}xZL|pBIJHM_hj-(3H%*UZiAd3WP{ znsv~&nXB>X00h46+`Z+!TYtOf-TF6cV?Oi1H^48z3kZ+_F9BzPw}2eD4*UxI0sIZD z0S^HFL%k0;02~3H2Qq-a6Yc)s!^m2h}v=qNjN+4V=2n}vKZbSKVLZg|oy=BqO2 zU^psEhj@=DEou}J!SZ1>H7XVtit@aMt`Dz|+;H{Pyd2CFuJ7cHe0bhf(=PXxmmESZ Z4=OoZEG{D4d-;l!yjT*qR8%FrC7_K(#_SMA_YvZzNGGV+gkYIM z#6tZ6)`DI91A>K>2$FKq!X}{Kcjuhhn{h}HH#yw%e%^C;8zOQHFa~&17s0>(Odl7y z2Y3uP2hJu=iR!NA>h3x6kSMR)=3;dl{l9hdo`rSOFKN3=52nDVsN3Z6`u=$vA6AF1JHNMi z-NeIr8-3`yT|RH#o3L*4J5NDeb28I(=Ytxg)%5#n`^1xZaUHnVf?dHn_*~oML7#H= zgL2}t#N%bHk+qF>BDx0<(kj($u}X?rJJ&j(WV>f_%{VLTkmHfWWF}1s+#F;>=acOax2q=WA#>p5kt#qR9~)hEmDX6Qe( z^FH+s+51QyYoop8QN(b;yR3F!G+qs-4E3$XZhlpMJ>ZA2FERl7YPMhVOdd_!XmpFEdruA)Q+>U*hlS?=SiJ@XFZ z_!(%NI~vFGEc>B*=24Dg^g(f!X{>QpHICn%pdRyMaW;vdKFecE>2e(ARQB~sb$L*3 zwD~f+?2G!p08>zW1NZ^h157}15)c9Sn{gZP4)7lE5wHXJ4EP2Z0)7Mb0CGa)TBn~3 z7W#v%-;*2JU~c1XnymJF^X-t5t4TLmN!yFv{=-zRtfk2ymBm4_Hkez_I_<2t0;<1S l5VzOUwT)Xzuiwhj speed <90.0> / animSpeed; + set-signal-mask SIG_WALK; + if (bMoving) { + turn hip to x-axis <3.000000> speed <90.000009> / animSpeed; turn larm to x-axis <-0.560101> speed <16.803019> / animSpeed; turn luparm to x-axis <0.242998> speed <7.289952> / animSpeed; turn rarm to x-axis <-5.876015> speed <176.280455> / animSpeed; turn ruparm to x-axis <-0.803352> speed <24.100567> / animSpeed; sleep 98; } - while(isMoving) { - if (isMoving) { - move hip to y-axis [-1.0] speed [30.0] / animSpeed; - turn hip to x-axis <0.0> speed <90.0> / animSpeed; + while(bMoving) { + if (bMoving) { + move hip to y-axis [-1.000000] speed [30.000000] / animSpeed; + turn hip to x-axis <0.000000> speed <90.000009> / animSpeed; turn larm to x-axis <9.597569> speed <304.730096> / animSpeed; turn lfoot to x-axis <29.633575> speed <2420.907686> / animSpeed; turn lleg to x-axis <-65.287210> speed <354.353117> / animSpeed; @@ -34,8 +36,8 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn torso to y-axis <13.899999> speed <416.999979> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { - turn hip to x-axis <-3.0> speed <90.0> / animSpeed; + if (bMoving) { + turn hip to x-axis <-3.000000> speed <90.000003> / animSpeed; turn larm to x-axis <17.195968> speed <227.951954> / animSpeed; turn lfoot to x-axis <9.054714> speed <617.365815> / animSpeed; turn lleg to x-axis <-55.896707> speed <281.715080> / animSpeed; @@ -47,23 +49,23 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn torso to y-axis <6.300000> speed <227.999992> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { - move hip to y-axis [0.0] speed [30.0] / animSpeed; - turn hip to x-axis <0.0> speed <90.0> / animSpeed; + if (bMoving) { + move hip to y-axis [0.000000] speed [30.000000] / animSpeed; + turn hip to x-axis <0.000000> speed <90.000003> / animSpeed; turn larm to x-axis <-5.876015> speed <692.159486> / animSpeed; - turn lfoot to x-axis <-0.0> speed <271.641430> / animSpeed; - turn lleg to x-axis <-0.0> speed <1676.901224> / animSpeed; + turn lfoot to x-axis <-0.000000> speed <271.641430> / animSpeed; + turn lleg to x-axis <-0.000000> speed <1676.901224> / animSpeed; turn luparm to x-axis <-0.803352> speed <614.760436> / animSpeed; turn rarm to x-axis <-3.907620> speed <702.426464> / animSpeed; turn rfoot to x-axis <110.330498> speed <1481.155550> / animSpeed; turn rleg to x-axis <-53.475440> speed <2930.328090> / animSpeed; turn ruparm to x-axis <-0.550249> speed <718.078724> / animSpeed; - turn torso to y-axis <0.0> speed <188.999987> / animSpeed; + turn torso to y-axis <0.000000> speed <188.999987> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { - move hip to y-axis [-1.0] speed [30.0] / animSpeed; - turn hip to x-axis <-3.0> speed <90.0> / animSpeed; + if (bMoving) { + move hip to y-axis [-1.000000] speed [30.000000] / animSpeed; + turn hip to x-axis <-3.000000> speed <90.000009> / animSpeed; turn larm to x-axis <-19.158424> speed <398.472280> / animSpeed; turn lfoot to x-axis <20.826635> speed <624.799050> / animSpeed; turn lleg to x-axis <33.449953> speed <1003.498599> / animSpeed; @@ -76,8 +78,8 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn torso to y-axis <-14.599999> speed <437.999968> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { - turn hip to x-axis <0.0> speed <90.0> / animSpeed; + if (bMoving) { + turn hip to x-axis <0.000000> speed <90.000009> / animSpeed; turn larm to x-axis <-27.321836> speed <244.902341> / animSpeed; turn lfoot to x-axis <60.958646> speed <1203.960331> / animSpeed; turn lleg to x-axis <44.202163> speed <322.566304> / animSpeed; @@ -86,30 +88,30 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn rfoot to x-axis <9.054714> speed <617.365815> / animSpeed; turn rleg to x-axis <-55.896707> speed <281.715080> / animSpeed; turn ruparm to x-axis <19.688662> speed <186.147380> / animSpeed; - turn torso to x-axis <-0.0> speed <280.007652> / animSpeed; + turn torso to x-axis <-0.000000> speed <280.007652> / animSpeed; turn torso to y-axis <-8.300000> speed <188.999975> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { - move hip to y-axis [0.0] speed [30.0] / animSpeed; - turn hip to x-axis <3.0> speed <90.0> / animSpeed; + if (bMoving) { + move hip to y-axis [0.000000] speed [30.000000] / animSpeed; + turn hip to x-axis <3.000000> speed <90.000009> / animSpeed; turn larm to x-axis <-3.907620> speed <702.426464> / animSpeed; turn lfoot to x-axis <110.330498> speed <1481.155550> / animSpeed; turn lleg to x-axis <-53.475440> speed <2930.328090> / animSpeed; turn luparm to x-axis <-0.550249> speed <718.078724> / animSpeed; turn rarm to x-axis <-5.876015> speed <692.159486> / animSpeed; - turn rfoot to x-axis <-0.0> speed <271.641430> / animSpeed; - turn rleg to x-axis <-0.0> speed <1676.901224> / animSpeed; + turn rfoot to x-axis <-0.000000> speed <271.641430> / animSpeed; + turn rleg to x-axis <-0.000000> speed <1676.901224> / animSpeed; turn ruparm to x-axis <-0.803352> speed <614.760436> / animSpeed; - turn torso to y-axis <0.0> speed <248.999993> / animSpeed; + turn torso to y-axis <0.000000> speed <248.999993> / animSpeed; sleep ((33*animSpeed) -1); } } } -// Call this from StopMoving()! +// Call this from MotionControl()! StopWalking() { - move hip to y-axis [0] speed [10.0]; - turn hip to x-axis <0> speed <30.0>; + move hip to y-axis [0] speed [10.000000]; + turn hip to x-axis <0> speed <30.000003>; turn larm to x-axis <0> speed <234.142155>; turn lfoot to x-axis <0> speed <806.969229>; turn lleg to x-axis <0> speed <976.776030>; @@ -144,7 +146,17 @@ UnitSpeed(){ #define UNITSIZE 1 #define MAXTILT 100 -#include "../unit_hitbyweaponid_and_smoke.h" +#include "unit_hitbyweaponid_and_smoke.h" + +Go() +{ +} + +Stop() +{ + set INBUILDSTANCE to 0; +} + Create() @@ -155,13 +167,13 @@ Create() hide aimy1; //hide corhexl; hide corhexl_emit; - isMoving = FALSE; + bMoving = FALSE; animSpeed = 3; spray = flare1; } BuildAnim(){ - set-signal-mask SIGNAL_BUILD; + set-signal-mask SIG_BUILD; while (TRUE){ turn aimy1 to x-axis <-15> speed <10>; wait-for-turn aimy1 around x-axis; @@ -174,8 +186,8 @@ StartBuilding(torsoing, pitch) { show flare2; show flare1; - signal SIGNAL_BUILD; - turn aimy1 to y-axis torsoing speed <240.0>; + signal SIG_BUILD; + turn aimy1 to y-axis torsoing speed <240.000000>; turn aimx1 to x-axis <-55> - pitch speed <240.0>; wait-for-turn aimy1 around y-axis; set INBUILDSTANCE to 1; @@ -187,37 +199,40 @@ StopBuilding() { hide flare2; hide flare1; - signal SIGNAL_BUILD; - set-signal-mask SIGNAL_BUILD; + signal SIG_BUILD; + set-signal-mask SIG_BUILD; hide corhexl_emit; - turn aimy1 to y-axis <0.0> speed <160.0>; + turn aimy1 to y-axis <0.000000> speed <160.000000>; turn aimx1 to x-axis <0> speed <240.0>; turn aimy1 to x-axis <0> speed <5>; } -StartMoving(reversing) +StartMoving() { - isMoving = TRUE; - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; + bMoving = TRUE; + signal SIG_WALK; + set-signal-mask SIG_WALK; start-script UnitSpeed(); start-script walk(); } StopMoving() { - isMoving = FALSE; - signal SIGNAL_MOVE; + bMoving = FALSE; + signal SIG_WALK; call-script StopWalking(); } -QueryNanoPiece(pieceIndex) +QueryNanoPiece(piecenum) { - pieceIndex = spray; + piecenum = spray; spray = !spray; } - +SweetSpot(piecenum) +{ + piecenum = torso; +} Killed(severity, corpsetype) { @@ -230,6 +245,12 @@ Killed(severity, corpsetype) explode rarm type FIRE | SMOKE | FALL | NOHEATCLOUD; explode flare1 type BITMAPONLY | NOHEATCLOUD; explode luparm type BITMAPONLY | NOHEATCLOUD; + //explode larm type BITMAPONLY | NOHEATCLOUD; + //explode flare2 type BITMAPONLY | NOHEATCLOUD; + //explode rleg type BITMAPONLY | NOHEATCLOUD; + //explode rfoot type BITMAPONLY | NOHEATCLOUD; + //explode lleg type BITMAPONLY | NOHEATCLOUD; + //explode lfoot type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } if( severity <= 50 ) @@ -241,6 +262,12 @@ Killed(severity, corpsetype) explode rarm type FIRE | SMOKE | FALL | NOHEATCLOUD; explode flare1 type FIRE | SMOKE | FALL | NOHEATCLOUD; explode luparm type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode larm type FALL | NOHEATCLOUD; + //explode flare2 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rleg type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rfoot type FALL | NOHEATCLOUD; + //explode lleg type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lfoot type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) @@ -252,6 +279,12 @@ Killed(severity, corpsetype) explode rarm type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; explode flare1 type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; explode luparm type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode larm type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare2 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rleg type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rfoot type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lleg type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lfoot type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; @@ -261,5 +294,11 @@ Killed(severity, corpsetype) explode rarm type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode flare1 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode luparm type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode larm type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare2 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode rleg type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode rfoot type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lleg type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lfoot type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/cornecro.cob b/scripts/Units/cornecro.cob index 1882d33bf1a6279d710264b411032e5bf7832e2d..291bc8d41b1b600916fd72b3a23ba0fa4d984557 100644 GIT binary patch literal 7405 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 XF8; - turn base to z-axis <0> - anglez speed <50.0>; + turn base to x-axis anglex speed <50.000000>; + turn base to z-axis <0> - anglez speed <50.000000>; wait-for-turn base around z-axis; wait-for-turn base around x-axis; - turn base to z-axis <0.0> speed <20.0>; - turn base to x-axis <0.0> speed <20.0>; + turn base to z-axis <0.000000> speed <20.000000>; + turn base to x-axis <0.000000> speed <20.000000>; } Create() @@ -42,26 +65,37 @@ Create() hide flare; hide smoke2; hide smoke1; + bMoving = FALSE; + moveSpeed = get (MAX_SPEED); + animSpeed = 100; restore_delay = 3000; + start-script SmokeUnit(); } +setSFXoccupy(state) +{ + terrain = state; +} -SetMaxReloadTime(reloadMS) +SetMaxReloadTime(Func_Var_1) { - restore_delay = reloadMS * 2; + restore_delay = Func_Var_1 * 2; } -StartMoving(reversing) +StartMoving() { - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; - start-script Vehicle_Dirt_Ceg(); + bMoving = TRUE; + signal SIG_MOVE; + set-signal-mask SIG_MOVE; + start-script UnitSpeed(); + start-script Smoke(); } StopMoving() { - signal SIGNAL_MOVE; + bMoving = FALSE; + signal SIG_MOVE; } static-var Stunned; @@ -70,8 +104,8 @@ ExecuteRestoreAfterDelay() if (Stunned) { return (1); } - turn turret to y-axis <0.0> speed <45.0>; - turn turret to x-axis <0.0> speed <23.0>; + turn turret to y-axis <0.000000> speed <45.000000>; + turn turret to x-axis <0.000000> speed <23.000000>; } SetStunned(State) { @@ -86,38 +120,41 @@ RestoreAfterDelay() start-script ExecuteRestoreAfterDelay(); } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; - turn turret to y-axis heading speed <55.0>; - turn turret to x-axis <0.0> - pitch speed <35.0>; + signal SIG_AIM; + set-signal-mask SIG_AIM; + turn turret to y-axis heading speed <55.000000>; + turn turret to x-axis <0.000000> - pitch speed <35.000000>; wait-for-turn turret around y-axis; wait-for-turn turret around x-axis; start-script RestoreAfterDelay(); return (1); } -FireWeapon1() +FirePrimary() { emit-sfx 1024 + 0 from flare; - move barrel to z-axis [-4.0] speed [500.0]; + move barrel to z-axis [-4.000000] speed [500.000000]; wait-for-move barrel along z-axis; - move barrel to z-axis [0.0] speed [6.0]; + move barrel to z-axis [0.000000] speed [6.000000]; wait-for-move barrel along z-axis; } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = flare; + piecenum = flare; } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = barrel; + piecenum = barrel; } - +SweetSpot(piecenum) +{ + piecenum = base; +} Killed(severity, corpsetype) { @@ -128,7 +165,7 @@ Killed(severity, corpsetype) explode turret type BITMAPONLY | NOHEATCLOUD; explode sleeve type BITMAPONLY | NOHEATCLOUD; explode barrel type FIRE | SMOKE | FALL | NOHEATCLOUD; - + //explode flare type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } if( severity <= 50 ) @@ -138,7 +175,7 @@ Killed(severity, corpsetype) explode turret type FIRE | SMOKE | FALL | NOHEATCLOUD; explode sleeve type FIRE | SMOKE | FALL | NOHEATCLOUD; explode barrel type FIRE | SMOKE | FALL | NOHEATCLOUD; - + //explode flare type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) @@ -148,7 +185,7 @@ Killed(severity, corpsetype) explode turret type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode sleeve type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode barrel type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; - + //explode flare type SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; @@ -156,6 +193,6 @@ Killed(severity, corpsetype) explode turret type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode sleeve type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode barrel type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; - + //explode flare type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/corparrow.cob b/scripts/Units/corparrow.cob index e2f6d8b4d9a93467617e4bdd95f3109c1f5516e2..167e4456ca0a063c84310079c79abdca85fbee24 100644 GIT binary patch literal 3560 zcmb`K&ud&&6vyvO$7w(Klk1<^JbbE5_RC)bMEOQhd9fDXc>V z#jb%}c3VcAV-=a%Vl#Jmw=v#p+#m8_M>?B_%bH;)31_n%>RsqSf*?;y@A@R}F#jy*KKztui| zx_i_IwW72A4LoN>F(2a*Q`4P+xpj7qf$Mt!i9PMsBK_-zz7k;`f8?KmP6^CVbfI#BV1#xkA6v6PG#J9^w)xsRzxFz9 z$7c06&1bTw@F)(r%WBc_ck464hr(~d5fyVnI4`^`ye7OUyd%6Xd@Sq;-wS^Vd~oIj z9t!_Y_)_><_)hp$*cJX38v4K;748=v6`l~5gqMU|ctdzwcu)91xF&oe>I`6xKd_77qs7lYQx}|*OVh}%B_-^UlhA%q{ zFXSsLn}aRa@#VShb3qx3*aH*1E-(Tj&+u_-8kLv1JF@EEM_BuJgKAeS^GoXM6p= mqQ27I@UGk}3SWvB>AQ`-_m{l8(C-#%he13R$?-@YcQ*mn78oS} literal 3125 zcmb7F&ubM|6h7}Ic}ZI-x9B2De~fe?1(8YI=t4|1iX{ZnM6Gn8ndV*NkeBzuWTFXl z(bBq;A_$5gZRn!VeW5P06y4T8z>TZYl?z=6qJH0Ce-ea18F$nPQ_ z_kr_1W8h=NgP1Z>+V#`U3>e1Q8_3j_HbaA5A3>ZlmnnEx2l&wEQ^rLtj63e*_R;VO zvQ^HF9%mVAm?vBk~v|x?woG5bTBbp|vJpDQi*&d-85Z zey;3A;$mJ`z~WZQSyCm_T^)Vda(`Sdg3IsOsoi%KQ%V%vtb#odCnL?kRhqN@q?Td(pl9+}l&6yBWq0 z{aj4HLth1XG>6tv<}iE_y355|IPCpupnS*7%eQ&N%jPo-8@10 z?c!O#g?I72=Uq^&wQ7&yOmqj|W=mh!-*WNoa{Q0@?%}(_*!+d@tM<+SJLYbY2kh6M z2vXWXN1l6L#)&X7#wDQp4wh^J?AIxC|G@ zRlVkUpS<%7=JWpG^U{C2et)A6`q#XA*1W%ZeYIcK{I1wHE3x&gvGrVyO}8_^&p-o( zodPo8C*T@z8~7dg2Y3Md3p@k3fWtsUV4+8VqrfC^4oHAYz&dahxDNaU{0-a(9s-Ym z|AFU#><}3Mb^tqpJwOEP0}cRZ?WJ_SWiL#mS$^TTU6500er)|)n=E(QUpK>(Oe9Om zf^E(&br!A6bmkY&w9{OUXEw>L%-Vb^S(~w~PSQM`Eoo67NYsVHegPNtbv{+m^s`C3N=HYc-AX*Zd+ mT8Q<1vSKA)%`%&V2WiPl%i7CUF1C`)$_l#~DadF+4$5msRq|l~ diff --git a/scripts/Units/corplat.bos b/scripts/Units/corplat.bos index c12df599b2b..3e33816619d 100644 --- a/scripts/Units/corplat.bos +++ b/scripts/Units/corplat.bos @@ -1,19 +1,14 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" -#include "../factories_common.h" +#include "sfxtype.h" +#include "exptype.h" piece base, pad, beam1, beam2, beam3, beam4, nano1,nano2,nano3,nano4; -static-var spray; +static-var spray, unitviewer, statechg_DesiredState, statechg_StateChanging; // Signal definitions -#define SIGNAL_TURNON 4 - - -#define WATER_ROCK_UNITSIZE 23 -#define WATER_ROCK_AMPLITUDE <1.5> -#define WATER_ROCK_FREQ_Y 0 -#include "../floatmotion.h" +#define SIG_ACTIVATE 2 #define BASEPIECE base @@ -22,8 +17,111 @@ static-var spray; #define UNITSIZE 10 #define MAXTILT 200 -#include "../unit_hitbyweaponid_and_smoke.h" +#include "unit_hitbyweaponid_and_smoke.h" + +activatescr() +{ + move base to y-axis [0.000000] now; + move base to y-axis [28] speed [25.000000]; + sleep 735; + set ARMORED to 0; + +} + +deactivatescr() +{ + move base to y-axis [28.000000] now; + move base to y-axis [0.000000] speed [25.000000]; + sleep 738; + set ARMORED to 1; +} + + +RockOnWaves() +{ + var rockDir, rockAng, rockSpeed; + rockDir = <-0.1>; + rockAng = <-0.1>; + while( TRUE ) + { + while( get ABS(rockAng) < <1.31> ) + { + rockSpeed = <1.45> - get ABS(rockAng); + turn base to x-axis rockAng speed rockSpeed*5; + turn base to z-axis rockAng speed rockSpeed*5; + wait-for-turn base around x-axis; + wait-for-turn base around z-axis; + rockAng = rockAng + rockDir; + } + rockDir = 0 - rockDir; + rockAng = rockAng + rockDir + rockDir; + } +} + + +OpenYard() +{ + set YARD_OPEN to 1; + while( !get YARD_OPEN ) + { + set BUGGER_OFF to 1; + sleep 1500; + set YARD_OPEN to 1; + } +} + +CloseYard() +{ + set YARD_OPEN to 0; + while( get YARD_OPEN ) + { + set BUGGER_OFF to 1; + sleep 1500; + set YARD_OPEN to 0; + } +} + +Go() +{ + + call-script activatescr(); + call-script OpenYard(); + set INBUILDSTANCE to 1; +} +Stop() +{ + set INBUILDSTANCE to 0; + call-script CloseYard(); + call-script deactivatescr(); + +} + +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState ) + { + call-script Stop(); + currentstate = 1; + } + else + { + call-script Go(); + currentstate = 0; + } + } + statechg_StateChanging = FALSE; +} Create() { @@ -31,42 +129,61 @@ Create() hide nano3; hide nano1; hide nano2; + unitviewer = FALSE; spray = base; set ARMORED to 1; - move base to y-axis [5.0] now; - SLEEP_UNTIL_UNITFINISHED; - move base to y-axis [0.0] speed [10.0]; - start-script FloatMotion(); + move base to y-axis [5.000000] now; + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; + while( get BUILD_PERCENT_LEFT ) + { + sleep 1000; + } + move base to y-axis [0.000000] speed [10.000000]; + start-script RockOnWaves(); } -QueryNanoPiece(pieceIndex) +QueryNanoPiece(piecenum) { - - spray = (spray + 1) % 4; - pieceIndex = nano1 + spray; + if( spray ==0) + { + piecenum = beam1; + } + + if( spray ==1) + { + piecenum = beam2; + } + + if( spray ==2) + { + piecenum = beam3; + } + + if( spray ==3) + { + piecenum = beam4; + } + spray=spray+1; + if (spray>3) + { + spray = 0; + }; } Activate() { - signal SIGNAL_TURNON; - set-signal-mask SIGNAL_TURNON; - - move base to y-axis [28] speed [25.0]; - wait-for-move base along y-axis; - - FACTORY_OPEN_BUILD; + signal SIG_ACTIVATE; + start-script RequestState(0); } Deactivate() { - signal SIGNAL_TURNON; - set-signal-mask SIGNAL_TURNON; - sleep 5000; - - move base to y-axis [0.0] speed [25.0]; - wait-for-move base along y-axis; - - FACTORY_CLOSE_BUILD; + signal SIG_ACTIVATE; + set-signal-mask SIG_ACTIVATE; + sleep 5000; + set-signal-mask 0; + start-script RequestState(1); } StartBuilding() @@ -87,9 +204,14 @@ StopBuilding() stop-spin pad around y-axis; } -QueryBuildInfo(pieceIndex) +QueryBuildInfo(piecenum) +{ + piecenum = pad; +} + +SweetSpot(piecenum) { - pieceIndex = pad; + piecenum = base; } Killed(severity, corpsetype) diff --git a/scripts/Units/corplat.cob b/scripts/Units/corplat.cob index 27f41b6acd57dfd5ddb4ccecaa40b2064f72d2f4..a4ac1e258258244f49c82c39277c2106d496fc41 100644 GIT binary patch literal 5308 zcmcIoO>10b6h29&lU77-{Vs}J5W$6uX_|!_F{VOW1sfY;QK)1(b1h@jnQ<~{s0a>z zKm}KdQc#LQSAJ0xMCd|rqu|CLP%MZ@aZ%mqHa^dJ&$)TM&W*VhQ_h_Cp6~ZL=bjl_ z6Omg%H-J8?iR=L9-_JLT%-$mM8t4H$e*!M)WD?V4f`1TCfVYh^jx?qcnVU)`8;aH-*>}l$$Sedp)c{Qc0i| zuaiF1t1RML*FStW{b?_VtbWm%N3Vq(5DN2pjzMm=JHq;vI?Ed9XZBT2qXv z;{C~~o9Dr>TQ^x#WfOT_wT9J-_>MhI^4Qj+S0Wj)r%jw|h63OwjS!o4<~1a!5C3T5 zJwIpq2^#($dLwi7OavjSpG8AY-XX6lm3 zm@da6sRx`P^LZkt&E`GO6a4u+d!9W0#c(J31lb#lGp4L81nd5m;t-Y4E6 z$l+fa8_tE;KaGjanxqiBh~>47jScTJ^ZK*jM`HlzXKCE$b%uCLEy0&7+?^56X;YAk;t^XSZf|;3IR9 zd!0ObO}Q=!by6ohH|+gJEQw-y@3D&Yj+)Q1N$cTzL37oUx*BixwRj&@+k3&Q`Mj}C#+o*No^{X0 zHt_SA=Wfuwzg$ngMor!y?gO8zI2TNGSI|c{8@Ttb=$q@k7t5hfR}sW@+*el^6m{+b zDC&JC z^cO>6FHv8_Fs>=y*LMME#=gpeF{8ZiZj

      iPsVDH&hnpK^IFbk4XDufC zO5A7@+v=U{yWwH8Wl7^~8N+~tJD zQ5&<3ao|~N?E7~IEP)w+n=!{$w(2(uerLH%Y;WKsV)9Vu_;|8la|N#NA-K*PIA`2* zlP}!{K?9qX@<^xO^M&~oJp0_nab&KAQ!rY`q`3PK=@w+IQ&gYQ_>cTz3Z$#Zsuq*no50s_GN8lch?`@fmb5f@B_dGS5 z5xB=>9c6y3w@l~zH#M6PxX1K9r4Z471nxTR3uNT%M~w3fWrp)RhBNVCAOA0$tMtb4 zuj1oE8h@m{;{cHUj@brm0KNr z=REc=!=%{%*k?OAi?dMG-{)dn&D+UeoR_NkeP*sVzt7b5`ui>!=U>*d;(T#Tj)6V| zeGB>#^atn|3||Dj3%UUM9P}ILek6Myv<7+u^d9JA&=;UfApT$2SDU(38bsuP;Zk7uK@X;o=ZMWd9%|dvYxsoOzF4tX?B0N>_d zIKS3eX?MCOG*bSc-uiT?`y8^YXW4ME-y6!~ot2fWEytUyne>}DWX)51^>ao)_vz=X Rbdh5I9>Vwjpci+`^_9b}F81jGUkj;2~H~)iecW3T7I5OUcH9xSEJj!RC zR>nGFc;9XDQS2t5(|sH_yWI3b)QhxW(ToZq7`KTXC1z*iIv}Zad4d6$V>w`wVKXxKcL< z8_ud>X1)vi9%Znno-nEBev$jm0k{1DTb_o_kt$o>*3q82Rww2lYiHgU$XGY`Txla5 z1{>lM7S)l~Ok3TT-)Wf4ajNrNSyj&;Fk?MfP$P0AF+4|L`aA3><18u96Nh%zO1b91 z{ZWI(Jf=R%$$WHC-v9e<`_oQma|K(*(CnnWR&1@j8>ubBNLOEFo7(u@0%rAo5lYre zez&?A*UupCFZ;yv;C*BN+lP@SsV@f(#)(+`t}>3-6MgY-E#}F#s&~jNE;enBOtHO=7P2?g*JH6? ze?`A&R?h>GpC{$J;rNJ2BmOof$o7GW;dRy%Osnne$=k%EIK=bV9=^gTd*bpv&wm+{ zK?bY;{e#tK7b|C3wp?F&0D_MBndqG8s@YFxJ-q{I9P94lpX02NgK^WlJc$oI-!tib zJW6F=&BE7#U;e6Zi#FNpWWGNS9_Eg1D|pt<{Nnk3OnKd3>HTgb_Uu_|ub#_ZJrM78 z23~#t5W-{3a}&6J4P303ec3NA;S?_M!gYl?&==v7Ubw^ymw4e4FILsTIhvKyl}~1xTF^@>372=`#P@u)c!@S_Upl`cIj2Sc-1am zwToBn;#IqNor&_*YiAi>fqn+P3gu^@8=zl6_o30JKxaU2fi^+>Kk6sYZ=gRx|ALx_ z%;rE3fgS}dfV!X;Kre${1HBF^LFYi{L2rZJ1-%dY81&5guo#~nj{C!bo$8NITz;i2 zM#I5UFXilHu~D2Ydn+5mbEQ4CSr+5cUc6XtUVgq9443=mT4{@G @@ -16,7 +18,7 @@ static-var open_state; #define UNITSIZE 3 #define MAXTILT 100 -#include "../../unit_hitbyweaponid_and_smoke.h" +#include "unit_hitbyweaponid_and_smoke.h" Create() { @@ -25,15 +27,21 @@ Create() return (0); } +// need this for terrain-specific effects, like dust +//setSFXoccupy(state) +//{ +// terrain = state; +//} + static-var Stunned; Restore_Nano() { - set-signal-mask SIGNAL_BUILD; + set-signal-mask SIG_BUILD; sleep restore_delay; set-signal-mask 0; - signal SIGNAL_BUILD; - set-signal-mask SIGNAL_BUILD; + signal SIG_BUILD; + set-signal-mask SIG_BUILD; if (Stunned) { return (1); @@ -69,7 +77,7 @@ Restore_Nano() Deploy_Nano(heading) { - set-signal-mask SIGNAL_BUILD; + set-signal-mask SIG_BUILD; if ( (open_state == 0) OR (open_state == 1) ) { open_state = 1; @@ -114,26 +122,30 @@ SetStunned(State) StartBuilding(heading, pitch) { - signal SIGNAL_BUILD; - set-signal-mask SIGNAL_BUILD; + signal SIG_BUILD; + set-signal-mask SIG_BUILD; start-script Deploy_Nano(heading); // set INBUILDSTANCE to 1; } StopBuilding() { - //signal SIGNAL_BUILD; - set-signal-mask SIGNAL_BUILD; + //signal SIG_BUILD; + set-signal-mask SIG_BUILD; start-script Restore_Nano(); set INBUILDSTANCE to 0; } -QueryNanoPiece(pieceIndex) +QueryNanoPiece(piecenum) { - pieceIndex = emitnano; + piecenum = emitnano; } - +SweetSpot(piecenum) +{ + piecenum = base; + return (0); +} Killed(severity, corpsetype) { diff --git a/scripts/Units/corprinter.cob b/scripts/Units/corprinter.cob index 8083f297b16e33494272176ab98783aa8a3f6f34..2f267e3d22bc4806b430a155d60fd672542c2a94 100644 GIT binary patch literal 3870 zcmeHKziU%b6h2AQv}kKz2f-f*0Tl-wf{rdFIw*ovqjXXmn}>#`c`<#Z?H2SOa1n73 zi?}Ks1r<8hS#WR{aS$EEL8}_nn{L`R=*z(VU13LGqARpGZGe z{=N^39N8ms1#$wCd3@GfEryAV)8-WqmV4;E)J-zSPl8#_e3ab~=_*J|xInuA$SJ;!2-R zA2=8MG^f^K{+GLLF50yobL;$3Pp)Y*Gtjp9jNb8Q_RuFjO>gh~O)Pr-3}^ZgAM+Zv zosM^!z4|(HzuAA=axj8G##8U(T)ET1FStXj#~SpNm7%0JoSx+tHYsG1y<*p#J_dt5 zh0EMO4_C?IqF!^D+9+sO7*KlyuBEKCE&pDpjd+#!@==R@;>-Fv`=QPJfLU`8zsB&c zs}JijkK*uqp+3#AiSv574Fz*huQ^N)ikCUM;H61?yeV8XZ^%gn=0NX-;o8lNazU5v zFhAH1b1xjHF!#b`dM;KSu1#~HTu!cSI(vTM?9AXsq-I9v;`xW2%?0^Y{{6Wyyr*V7 zefK`OUeb3jxnHdh2(CI z)Q7c9znEpy-;#ZY?Ban2c=ur8FCD*O7MmO2WtyAuIzV$ZCl0Z zef?XUnTakr$ro`mH_y=T!F;P-4{ux#tmF4Uz{EMoc=W)%IRm$EJH6jqFEQG4FEPqR zFEPqdFELwjH^sgkcL$N2ys(DPosUzw>xIXi#w({gjn_C`$yqP>mFu0xr+NR+t>vG0 z>|b-sqrC=s3R#7`gG^(9)*!<;z(bJZkW-M;5dQDC0J#gf4|xcA23dx@g1m*ihkS&5 zh5Ug0g2;%-0Av)h7jmu^mlh|&N;7Imc_x|;uQqD2uRULtGp(=^hjKZbjiXk0<6@-| z$=R@3j~4B|9LD8%uF(jqQjROFxHMO*S8I)1c#4|I!=<^fwaD16LeL#|9?OuOna%85WV=PQ zOch8KWI+p?KokorSu6tfR$?Pqq!9wC&HDY$yJz<1tud^H4-WU9|KBZAshIJ88~vx*b;~MXD~j$RJ8lG zEY}gkiW<*yvPVQ+xt-@oHNBhckVQ=Ly!>j7F|c|a{Uz^-`wN5h%xeg2_(WgGN9xFH zM|=(^%#wlaOHZEk}uEgL+2ne7CrtUUE zBaXZIgYGvqAc`8`V+N6jtvwgDnKCE_&7ljo&AQRWC)fO4= z5BEQp`CBBJ?bf|Gm;90EIQOp~;y2wR@{z-9+CR0ZP2H>KQ#$Ll7JKaQiI_PC$KJr@ z^O)h9BwWZNhUZqodX+-CAH%iRu61`G9iRhm^nGx;#(wqBg9GY8=btb~4Dg4KEEYE8 zBTnGRYw`1G)Z($TT5d`}4CE2RYY4mmc>-Qkmg8;ULj71w1lgT*d}(H)7nn5XqKSF` zX_$}G;|AvA^s+e@4->8_ktS195nBq z#r@I>UTXF8(R{`pKkj#&eLjAZGd*HL_Gg80pVM8vj zSGiejuYN<`;6Mw#J;?Mm{p0_DnKjbsepw8T%z58i~n>pNGdcsCczR%_#oBZF9 z>%kTI$@3D*UR~2?sc+!HKXC0~Q#`YH--B=J!A#81`?+O2y&^Y$+}9k3|7Q}8uM-a9 z +//how 'heavy' the unit is, on a scale of 1-10 +#define UNITSIZE 8 +#define MAXTILT 100 -#define RB_BOWSPLASH_PIECE wake2 -#define RB_BOWSPLASH_CEG 1024 + 2 +#include "unit_hitbyweaponid_and_smoke.h" -#define RB_ROCKUNIT 60 +SetDirection(heading) +{ + var spd; + spd = (get ABS(oldHead) - get ABS(heading)) / 2; + turn ground to y-axis heading speed spd; + turn base to y-axis 0-heading speed spd; + oldHead = heading; +} + +RockOnWaves() +{ + var rockDir, rockAng, rockSpeed; + rockDir = <-0.1>; + rockAng = <-0.1>; + while( TRUE ) + { + while( get ABS(rockAng) < <1.31> ) + { + rockSpeed = <1.45> - get ABS(rockAng); + turn ground to x-axis rockAng speed rockSpeed*4; + wait-for-turn ground around x-axis; + rockAng = rockAng + rockDir; + } + rockDir = 0 - rockDir; + rockAng = rockAng + rockDir + rockDir; + } +} -#include "../bar_ships_common.h" +ProjXPW(Func_Var_1, Func_Var_2) +{ + if( Func_Var_2 < -21840 ) + { + Static_Var_7 = Func_Var_1 * ( Func_Var_2 + 32760 ) / 10920; + } + else if( Func_Var_2 > 21840 ) + { + Static_Var_7 = Func_Var_1 * ( 32760 - Func_Var_2 ) / 10920; + } + else if( Func_Var_2 < -10920 ) + { + Static_Var_7 = 0 - Func_Var_1; + } + else if( Func_Var_2 > 10920 ) + { + Static_Var_7 = Func_Var_1; + } + else + { + Static_Var_7 = Func_Var_1 * Func_Var_2 / 10920; + } +} +RockZ(Func_Var_1, Func_Var_2) +{ + signal 4096; + set-signal-mask 4096; + call-script ProjXPW(10920 / Func_Var_2,Func_Var_1); + Static_Var_8 = Static_Var_8 + Static_Var_7; + Static_Var_7 = get ABS(Static_Var_8); + while( Static_Var_7 > 91 ) + { + turn base to z-axis Static_Var_8 speed Static_Var_7 * <0.0125>; + wait-for-turn base around z-axis; + Static_Var_8 = Static_Var_8 * -1 / 2; + Static_Var_7 = get ABS(Static_Var_8); + } + turn base to z-axis <0.000000> speed <1.5>; +} Create() @@ -41,15 +103,16 @@ Create() hide flare3; gun_1 = 1; restore_delay = 3000; - start-script InitRockBoat(); - SLEEP_UNTIL_UNITFINISHED; - start-script BoatPhysics(); + while( get BUILD_PERCENT_LEFT ) + { + sleep 500; + } + start-script RockOnWaves(); } - -SetMaxReloadTime(reloadMS) +SetMaxReloadTime(Func_Var_1) { - restore_delay = reloadMS * 2; + restore_delay = Func_Var_1 * 2; } static-var Stunned; @@ -58,8 +121,8 @@ ExecuteRestoreAfterDelay() if (Stunned) { return (1); } - turn turret to y-axis <0.0> speed <135.0>; - turn sleeve to x-axis <0.0> speed <67.500000>; + turn turret to y-axis <0.000000> speed <135.000000>; + turn sleeve to x-axis <0.000000> speed <67.500000>; } SetStunned(State) { @@ -75,23 +138,51 @@ RestoreAfterDelay() start-script ExecuteRestoreAfterDelay(); } - -StartMoving(reversing) +waveSplash() { + while( TRUE ) + { + turn base to x-axis <-3.0> speed <3.0>; + move base to y-axis [0.32] speed [0.25]; + wait-for-turn base around x-axis; + turn base to x-axis <0.0> speed <3.0>; + move base to y-axis [0.0] speed [0.25]; + wait-for-turn base around x-axis; + } +} +StartMoving() +{ + signal SIG_MOVE; + set-signal-mask SIG_MOVE; + var waketime; + start-script waveSplash(); + var bowtime; + bowtime = 0; + while( TRUE ) + { + emit-sfx 1024 + 1 from wake1; + if (bowtime) emit-sfx 1024 + 2 from wake2; + bowtime = !bowtime; + waketime = (get CURRENT_SPEED) * 100 / get MAX_SPEED; + if( waketime < 50 ) waketime = 50; + sleep 10000 / waketime; + } } StopMoving() { - + signal SIG_MOVE; + turn base to x-axis <0.0> speed <3.0>; + move base to y-axis [0.0] speed [0.25]; } AimWeapon1(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; - turn turret to y-axis heading speed <135.0>; - turn sleeve to x-axis RB_AIMPITCHCORRECTION(heading) - pitch speed <67.500000>; + signal SIG_AIM; + set-signal-mask SIG_AIM; + turn turret to y-axis heading speed <135.000000>; + turn sleeve to x-axis <0.000000> - pitch speed <67.500000>; wait-for-turn turret around y-axis; wait-for-turn sleeve around x-axis; aimDir = heading; @@ -101,39 +192,74 @@ AimWeapon1(heading, pitch) Shot1() { - if( gun_1 == 0 ) + start-script RockZ(-9,aimDir); + if( gun_1 == 1 ) { - move barrel1 to z-axis [-2.0] now; - move barrel1 to z-axis [0.0] speed [3.0]; + move barrel1 to z-axis [-2.000000] now; + move barrel1 to z-axis [0.000000] speed [3.000000]; emit-sfx 1024 + 0 from flare1; } - if( gun_1 == 1 ) + if( gun_1 == 2 ) { - move barrel2 to z-axis [-2.0] now; - move barrel2 to z-axis [0.0] speed [3.0]; + move barrel2 to z-axis [-2.000000] now; + move barrel2 to z-axis [0.000000] speed [3.000000]; emit-sfx 1024 + 0 from flare2; } - if( gun_1 == 2 ) + if( gun_1 == 3 ) { - move barrel3 to z-axis [-2.0] now; - move barrel3 to z-axis [0.0] speed [3.0]; + move barrel3 to z-axis [-2.000000] now; + move barrel3 to z-axis [0.000000] speed [3.000000]; emit-sfx 1024 + 0 from flare3; } - gun_1 = (gun_1 + 1 ) % 3; + gun_1 = gun_1 + 1; + if( gun_1 == 4) + { + gun_1 = 1; + } +} + + + +AimFromWeapon1(piecenum) +{ + piecenum = turret; } +QueryWeapon1(piecenum) +{ + if( gun_1 == 1 ) + { + piecenum = flare3; + } + if( gun_1 == 2 ) + { + piecenum = flare1; + } + if( gun_1 == 3 ) + { + piecenum = flare2; + } +} +AimWeapon2(heading, pitch) +{ + return (1); +} -AimFromWeapon1(pieceIndex) +AimFromWeapon2(piecenum) { - pieceIndex = turret; + piecenum = base; } -QueryWeapon1(pieceIndex) +QueryWeapon2(piecenum) { - pieceIndex = flare1 + gun_1; + piecenum = flare3; } +SweetSpot(piecenum) +{ + piecenum = base; +} Killed(severity, corpsetype) { @@ -144,6 +270,8 @@ Killed(severity, corpsetype) explode barrel2 type BITMAPONLY | BITMAP1 | NOHEATCLOUD; explode base type BITMAPONLY | BITMAP3 | NOHEATCLOUD; explode turret type BITMAPONLY | BITMAP1 | NOHEATCLOUD; + //explode wake1 type BITMAPONLY | BITMAP2 | NOHEATCLOUD; + //explode wake2 type BITMAPONLY | BITMAP3 | NOHEATCLOUD; return (corpsetype); } if( severity <= 50 ) @@ -153,6 +281,8 @@ Killed(severity, corpsetype) explode barrel2 type FALL | EXPLODE_ON_HIT | BITMAP1 | NOHEATCLOUD; explode base type BITMAPONLY | BITMAP3 | NOHEATCLOUD; explode turret type FALL | EXPLODE_ON_HIT | BITMAP2 | NOHEATCLOUD; + //explode wake1 type FALL | EXPLODE_ON_HIT | BITMAP2 | NOHEATCLOUD; + //explode wake2 type FALL | EXPLODE_ON_HIT | BITMAP3 | NOHEATCLOUD; return (corpsetype); } corpsetype = 3; @@ -160,5 +290,7 @@ Killed(severity, corpsetype) explode barrel2 type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP1 | NOHEATCLOUD; explode base type BITMAPONLY | BITMAP3 | NOHEATCLOUD; explode turret type FALL | EXPLODE_ON_HIT | BITMAP1 | NOHEATCLOUD; + //explode wake1 type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP2 | NOHEATCLOUD; + //explode wake2 type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP3 | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/corpship.cob b/scripts/Units/corpship.cob index 60536b7dc17e040039901b8de58af074d497500c..0bbeeeff579e73545e0f22bfb7c964827096f026 100644 GIT binary patch literal 5291 zcmb_gONg6Q6h1SPrsD(oYhCC zL6qO)>hbsKGKh%x4Cwm&MgM_LoVV7cO2)eLmadBV4T~zPN(C2!1#RaemL?RCNZJi z^K(1Ro|lhai*qzu-#uje$Ct^&+!!D0#C$o@kKP&dDRqoRtWKQr-l`5$w{r}(z^8Wf z=}JsI?k>iB5;pqE6d=W{(dRmH^DooR{s{4#%^()jN%%!2N^8IIV48+ zAJ2+=3n^T=mGr=WZt-u4~8pBJ{%5#mZ;(Sv%KNHqvh#i|48} zpFwqK$9SEMD{Z{SMm}?B*Z44kR@ePF?k6|xtQ}!oe*pv6)N>ub5AFjgb$`%UM2!&t zopgj}y*?9c4+ilb@iXT>jfpjn_#MkShZyt87W1RAqET1?SLZOB7L9qe+M~-?j6FRwjmrmvw4d{aaLcArqz3g^<9Ph`0c7csG;Z1 z_k!2o^ZeO(N7xMKLl3g%ZvV>cqh@C>ckMWXnDbUTEQI%Zm2>nBeQz_pfB$mn=SsVN zLnYxne=vX4k(*dzlDn4n=r=6Rly&*^GIhC<+IzkHKCq_L!BzK}sdMxa_3U%chdshl zd7a}v@7AplzCXO@*)P6_bJsg3d!Kgptv*A@55Iaw)(d~)Imdo?9KZP(BXt-ee5ms} z9AwDzQb$gM+3-O(W;Q6%lRY*%K%e+s#7ePRkIBIOWFI&G{-J#kcaP1uc{k&@*>hst zbA8;`!ZeJ#$7bBDU(BsFOv3YxZep9(()=DVzr^!AhzmB1}Y`!_nePUSF)3N-aE?dSCMu>JJmy-n;b zbXEwp$f1DLF&^&c$aTR+y;w8hxpEXb!5rP#{TrtMmHOw#0XX(s4<8R~01nz-+z>uJ zZ;O}b9OtFaHOp(0<;Am%^WuKSqi1Y!TrS7u>{)KU1GyR8fEp3Yd|4Xi&OF$EgYsh> z&Y_pb_^u@HtKs@z>hT|YfhkWxPC&kaT!56Z_hZO75`O@)4l)JV3*kHdB;*&!1;}kE z=1Y)ckk24zAYVehg?tC$|37VpJO+6NQiCi&4ntms9D^K(oPm4|IScs_@+;(b$R$Yb zCXv;U0^}aZgOEocJ0R1LXCYO{en<WGT_xD+hO` z^=75|L~SmWhYzN^7qWC`I-fP$>4rU7+TNVjD~E_IXA6x+T9tnq7vZ7Ys#oUsNja;u zv+d0TwZ>k|n=PAesLh4IC#1ZunN0{3TiVU8a>qj2w$#)Xz@=VTNg`ND%8Mz2YBe+2 zR;$+$*z=Y7RQ9%;3yrEQR%X)){kJ69Lc5)2GG9;A11V5g)hA?6z0w9GEK6ZovgMkv HTqA!2ED@UV literal 4756 zcmb`LPiS0K6vl6oN$OvG7V96VWx8^sbdv5ww5hdNN~BFHA_!)hye2~@nKF5)jSE|( zt#u(t7a~|n-KaZVxNxBu+z4H{RNP6yE(;c^r8R!Pd+&L<^O}JyOgOpk-t(RBeCOQz z?o3;A&TW-FB->sKqaNL*%(-i_XCIYm{+7mpY)~uC)f$7Dpgr^9I6oW5gBo4EmJyRZ zvyL?m*QjOij6^(e=36TB`;xgkG?KZxG{|b=MT1*)UK5Y3p~Kb&d5(A+eSQTpKJERr z%r%BQA6nd=p=?k(te(k;0e}7UfOFZ9uj$5`ID}>W)@gz2A~%8oJ`i)AO(nPVT8~`RQ`G|g zPUNs0XkcB#J>zC`SRM2qF80IfLX-6cKkMvEiX%S7;itcpX4>5JaK^cRSGB=$fAno< zGt_r*_Ks0E{uFoTB`w4~J+e*D^z2ID+$B!02Z1-lR*Aj&WB=F}H;6@h&-*HUoJTu1 z=JWL>Iu1v!fvAH%qU%CMkH0@+&2p7JDti^rhJz>O=1xHuBe*khjt1ZRM$l+}=WY(9 zc+Z7ae)S`%>fuQCsUB>v;jR1i_1=CMYr64kxC^-3oo>&K&So_hZa6oJwR5{ebe8{~ z^RHN1;QNAL^w-z#f7UJD&R~j#*UqZFQxeJ5qLM(RYfKKk{p>2p%G z4y#eD%|<*L?7jYp0;HRFgSFJ>&t(?g&&MMN6y!{Cp0^QjJCj_-X}z`DEw*2;@FS}S zr+0{+TJ4-E`>rz1bIgBG`N{WymTd3bp`Z;PYjDE_#%1acqkhsJ*>{hsb}%mhW}l-b z?hXXT-ngu%~9Tw3@0F&3ZI28KDgEKeEdPki)e zp+6U`KQu^pu#eR{^+{YGOx9B!V*u$#BfNw2i56eybhyu*#s|S_q-TtLMlkw4(5O&9 zC)Gwc;;k0y1jhV3Ihgx6?J4X0;7i|yt5Mqoz^HeXq>AyeF-AkVM`^8IpK7&S@Eevh z5b7Jr{)l-zXYBv&w}T#!uj>ZZ1AaK}?&|fWXVUoX4r5M!a+Nu+ggtaaT2w8ZHGZo4 zydKqEuAfn_`ru1U)b9!PZ10BmLwF*bFJFxKSf^I&o9k2SX7594EI$MIE~xv8^G2Qv zN^f~gZ*}CZhQs$;qf0n=hdmxA_n>}#kMz!>+xEc;W&6dmty^yP!=DZH(%&nhgV%GZ zXXMvXvL9i;RxgHQ zdD<8I{sl!9o4!-{o&r=4{rfZ4h&FODg1N#&wx#?YXLEY!{fLuae|zv=v*LZN(rRai z7=MSxyu$*rMnBWM=PP+_-Y@TY2&AK$7jAl-a{GTjB{kW+FL%^Zz@ zhvrw7S~E*-GN0+R+NJB&RGjl6lHvv^?EvHZFs-M;2Rb1t8qTId|l-OJs)S>$di zFD9C&Ci8ZuIeVnFkh@n- +//how 'heavy' the unit is, on a scale of 1-10 +#define UNITSIZE 2 +#define MAXTILT 200 +#include "unit_hitbyweaponid_and_smoke.h" Lights() { @@ -43,7 +39,7 @@ Go() Stop() { - spin radar around x-axis speed <0.0>; + spin radar around x-axis speed <0.000000>; return (0); } @@ -55,10 +51,8 @@ Create() hide wake1; gun_1 = 1; restore_delay = 3000; - start-script InitRockBoat(); - SLEEP_UNTIL_UNITFINISHED; - start-script BoatPhysics(); start-script Lights(); + return (0); } Activate() @@ -71,9 +65,9 @@ Deactivate() start-script Stop(); } -SetMaxReloadTime(reloadMS) +SetMaxReloadTime(Func_Var_1) { - restore_delay = reloadMS * 2; + restore_delay = Func_Var_1 * 2; return (0); } @@ -84,8 +78,8 @@ ExecuteRestoreAfterDelay() return (1); } set-signal-mask 0; - turn turret to y-axis <0.0> speed <150.0>; - turn turret to x-axis <0.0> speed <150.0>; + turn turret to y-axis <0.000000> speed <150.000000>; + turn turret to x-axis <0.000000> speed <150.000000>; } SetStunned(State) { @@ -100,21 +94,32 @@ RestoreAfterDelay() start-script ExecuteRestoreAfterDelay(); } -StartMoving(reversing) +StartMoving() { - + signal SIG_MOVE; + set-signal-mask SIG_MOVE; + var waketime; + while( TRUE ) + { + emit-sfx 1024 + 0 from wake1; + waketime = (get CURRENT_SPEED) * 100 / get MAX_SPEED; + if( waketime < 50 ) waketime = 50; + sleep 10000 / waketime; + } } StopMoving() { + signal SIG_MOVE; + return (0); } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; - turn turret to y-axis heading speed <300.0>; + signal SIG_AIM; + set-signal-mask SIG_AIM; + turn turret to y-axis heading speed <300.000000>; turn launcher to x-axis <0> - pitch speed <300>; //? wait-for-turn turret around y-axis; wait-for-turn launcher around x-axis; @@ -122,22 +127,44 @@ AimWeapon1(heading, pitch) return (1); } -FireWeapon1() +FirePrimary() { - gun_1 = (gun_1 + 1) % 3; + ++gun_1; + if( gun_1 == 4 ) + { + gun_1 = 1; + } + return (0); } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = launcher; + piecenum = launcher; + return (0); } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = flare1 + gun_1; + if( gun_1 == 1 ) + { + piecenum = flare1; + } + if( gun_1 == 2 ) + { + piecenum = flare2; + } + if( gun_1 == 3 ) + { + piecenum = flare3; + } + return (0); } - +SweetSpot(piecenum) +{ + piecenum = turret; + return (0); +} Killed(severity, corpsetype) { @@ -148,6 +175,9 @@ Killed(severity, corpsetype) explode launcher type FIRE | SMOKE | FALL | NOHEATCLOUD; explode radar type BITMAPONLY | NOHEATCLOUD; explode turret type BITMAPONLY | NOHEATCLOUD; + //explode flare1 type BITMAPONLY | NOHEATCLOUD; + //explode flare2 type BITMAPONLY | NOHEATCLOUD; + //explode wake1 type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } if( severity <= 50 ) @@ -157,6 +187,9 @@ Killed(severity, corpsetype) explode launcher type FALL | NOHEATCLOUD; explode radar type FIRE | SMOKE | FALL | NOHEATCLOUD; explode turret type FALL | NOHEATCLOUD; + //explode flare1 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare2 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode wake1 type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) @@ -166,6 +199,9 @@ Killed(severity, corpsetype) explode launcher type FIRE | SMOKE | FALL | NOHEATCLOUD; explode radar type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode turret type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare1 type SMOKE | FALL | NOHEATCLOUD; + //explode flare2 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode wake1 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; @@ -173,5 +209,8 @@ Killed(severity, corpsetype) explode launcher type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode radar type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode turret type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode flare1 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare2 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode wake1 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/corpt.cob b/scripts/Units/corpt.cob index 9477284b8fce3b5d3b741f620f12a0834ca32378..b466fd3c6c048085a910404b40c0b0ee9643c76e 100644 GIT binary patch literal 3528 zcmbVOO^6&-5U!nFCmMffK}8SZh=LwGOyb2uglvp)LlRgs1~2|>XXhnpcV>F&?aA&U z$Ra2Rf_Tdzhyg_}xkwH|E+S&oi+WHmiaBadfru9&$@f)P^>ilFlHCa(^xLDNws^G#Sse&12oF8m(DlCjizPVS$%r^r1;y~VP&^C1UmNd&Vv zPsY%$x{6d@H^q+P=`YBvag{Zf&V^Fvhq_*)u6~`L=cD9IIB(`+kDS>@5M`a#jLw)Q z_D@OM9xiNltEP)pH&ybQX(NI<(-;D>*7 z@iRYV_9;4EF3v`FH>1<0Z;a_*Gd+a(JgRq)weF=2v*3KrVo4qEBmI?u>8O(V;!d46 z9m|!oh?>Qmp(AhJ2}=5m`oNjsM_aWH*YqQY-^|9xRO%zl2>sq}wr}|0Ff;ak!F0te zp#u-SkDdpTy)ah~MJW5fU%Mu4sr6$B{V41FWC5o_J7m-3Hj})c&Ykn2n)@&DUEp4O zt>H=jdcQ4(v3hpUYrS!Oi_;y|(0hqH<#ozFFaw^a&IWUS(q^GtU@QGLiuEUNRA$h^ z>t$W5J;?^sXlBUAd*-~zg>}pN9~bv%KNF&_?F`1R(PMf)T@n5 zsN)Z_=YL=PF^Ag0m1lW_4)gT8UbQJl`)+)TV9(*c&ddAcp0%sNEhYP`p}-0D0g#n-)!@p-U^SAjDC|E{9%@I0C!}d;pvS zz6X8={spcA{M-L?;0xd@-~#Xi@FVam@F#Ey_z$@6ZjncT9l*1|9MAz?2L`~Kz&pVE zz=yyo;0*8?a27ZRoCm%J=8}BR`pY3+P6yKIr%U0;AjzxR{arbj96yn-$P1}-@^o3A z%R-z7nO)42lU(c#u`fFzKNPPW4!tz)zLfNXJiitehj}<0R`N6pv&Zs~?G3$nUEtZt zhl4@r$^>H`XZfM@WHLCeC2cvI^yjmrA7|^bFUf+hq28CJrRl|C$kyG~Sq&((oaS;M w>Ge?TXuJ|6A7)v|r56teizh-RS=@~?S&f&%4ms9~GZ#CH-P3ZkmkgHVI>R|0jQ{`u literal 4546 zcmb`KO=w(I6vt0Kn)-qG6hs9rQxx1NOk3PHwbsVA5R+;*B7L2_wqqtUW%5!}H!axu zfi9{GK`dH7pd0N@bm5|lx>0ab1V0KcTv%L41s4I8`2XE^&*b(skuIEYa_>Fof6n=z zbMJj`X4K5?mfS44JYsf>Mm}e5H(QeI&CDLwdQsz0Hmv_uOjCK_+dr1QuSu}q05@t>^`TZqdgl4Pf6kly^Z}fY6~~JEjn)LWGt0}%jGU1{UiFT7 z=(~DDFUbidus204IR`jlz`5OfPA|X&o{EwB5R=+`-@$1a>L$)#;+E$2vj8siSo;I+ zp9F^<9C1A!m^X;4y=AZcOoC${Js!B7H5_)2hkZ$F##1#tZs^mI`+)8WjU>1DdXEgE z($%?u|2xL=9B`<|_VtbC@H*HBd>OqiIC)=O59Jhxe~L@b>wwGtbs6XWS=B~tzYq5@ zQQyJ&9iwj4^xkn{Ple-L)NO$eJv>|G*dlPq%YnLTgJ;gGTBfFW2@o#Yv- z%2quibzfqK{;uNdJU1v@y62&PkmDSRkDm=co7Px)4uf@n;$3%+W%n~v_xHHt!EY!t z^*i44>HTA`u>tj1^^yGrLz&pZyO5r154n%4-M?4< zr?}pC_|BTL+cux?hrlo+PPN#onf4L%>Rh;laF_a@0m?j+_0e|HnG51 zHdeh8Bi?)D-vR2}@ekiu*yqTJa{~@;&ixu(JP*!Yu+T%_EBLTaCnCSJwlG&7dI^m9 zjKojto{7HLyf!eb*)Qhg8TeHl^IO3P;kgKkz138iR97>)D$>BFDgIvN|)E>_j#H`1!=QVO1=diMN^!*EE+ugVDo< zyo3Dl{d*@HsJdti14+xgwf{jyqp*gPJ+4Lo$O z!G-=pHX9oBg!zhoEYr`U@F7O zin|sz-4o*6i$kM&9=s+Z&JBNfvpx$ZTR-4_Ca&R>+Cv=)9{)k_R7-kB!(ESg&&9l6 z<63!7*77?G!=Qe6Ubolt;#-gHz8>4xYsG#$ z=Bmd=y;1U^3_nSl3NRtzS^AFTBgv zmgHT@2atzNq`FzsxY+m7uk@*}l=MQfofri%Hp*DuBomPLPi(aDdQkkjQtw_7Ob^~N&qmwS3g+ucJU zWt@(;=PIU~Y)89a_+088{ocUz)I!mZ6>YLz?M_E24&?KNl?(lTQCcTo=(Y|Qee35l bdEZ{hXNygCu#@+F*j%l)*nv*FJ8S;}fSYO9 diff --git a/scripts/Units/corptl.bos b/scripts/Units/corptl.bos index 3e7daeb32e4..ca991a00198 100644 --- a/scripts/Units/corptl.bos +++ b/scripts/Units/corptl.bos @@ -1,10 +1,12 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, flare, gun, pointer; // Signal definitions -#define SIGNAL_AIM1 256 +#define SIG_AIM 2 #define BASEPIECE base #define HITSPEED <20.0> @@ -12,32 +14,35 @@ piece base, flare, gun, pointer; #define UNITSIZE 5 #define MAXTILT 200 -#include "../unit_hitbyweaponid_and_smoke.h" +#include "unit_hitbyweaponid_and_smoke.h" Create() { } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; - turn gun to y-axis heading speed <140.0>; + signal SIG_AIM; + set-signal-mask SIG_AIM; + turn gun to y-axis heading speed <140.000000>; wait-for-turn gun around y-axis; return (1); } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = base; + piecenum = base; } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = flare; + piecenum = flare; } - +SweetSpot(piecenum) +{ + piecenum = base; +} Killed(severity, corpsetype) { diff --git a/scripts/Units/corptl.cob b/scripts/Units/corptl.cob index c1df12616c1c65544278e0d58bfd025ef3fc5fc9..272bc8633436a6b67998a3ac3e723e62ae6a1475 100644 GIT binary patch literal 2014 zcmc&#J&O}j6up^bvkD^5PP>4u#UK`z>k6XSM53(aj^-(YNoE*l(FnqpTWMh-ia$XA zz+x$aXklexVQFb4{sPZ=@7#sX*t$pxTnElT zG6t1FVqzo)Ux+)P<3QIyCG8s7=$a%=OczhuktPKt5CgSno%EsJ$s+3NI^f&-(_RqS`9(Zg#(RPQ8h0`0 zGM)O7vUkpv{%-!5%?pV6=3ZpbbF(DNK1r$DBok&-1zF}~9T$siFKzAl);W`H;)i`a zj%1uOZQ^`qDZq>*_3>G2Q-?u~_|io8`z+`?H2mrJARB%2Jjjy;`OP2)adpPGrt>*L z9p=INc@38Nd3)@O6_BNjREGY3_JfS+bRJ^*e%6rb?U2%@?E`zkhqn>uY2*97X>GhQ zDG?WO9KY-Nz1vYt+@rfi+R_q)Iq5?h-vXbyhsB&~f0+I-f7YyhGS(>?5B$8impH!8 zMC*(F+)V_(bHR^2u`b#(4sV#${Rp@H?{gP20WW5~vE#65cO>Z4mv+vdftL8Y8OC`S zV2K^~$l90nffY6VKMZ|1`}ANRaeeMULN3;!dH+?fE7h{%JUHY3+4CRsTXENavwyB{ z3wQ;*2R;DbfbYN$;1|IEgC+0?*aMydFM&6}KJX6s2z&;<0AGR2dA&K`vRPToWHc@A z*&DOGj-^+|awqvWg>P8Q&tw&{1%hh}`v17TF-M4aQ Rl2umj?#!et@>y*w`3+VIj==x` literal 1719 zcmai!ziSjx5Xa~CHmjh>6K%xiuvKIu7M8griXuYP!cJYiH5|ELte3(-Vq8wi8@{Ixda>H)XST=(b&A)w zv)M2UcJ?UvQ|`K_^nhwJhf6QEw?9?2c($8%x7`4a&BqKo^eeJi4lvZg>2o-~2;1d) z_kIU|1K?4;BeIdX!(dM$yK#wkP5sQ3xq<%?@R;q}G~K=rctX5U{q1`FO|8FsKAVZ? zuKGPC0I#A4H29pvw>fi-`{f?{!7uX@Bkt(}+*Uo8%SyC-@O_*pf6Vi<2)vttN6p3~ z&H)B@V)`DRcs#xP-thAysdw8+^3A`uj%ZrnlaR;bLw)3#tjIH2k_YapSd+P$m&KyY zt191B{;2#_Ii>ZUQ@N!y|N?EikGFl=oM8d OyZZwf4ZDMJS;;?e2YHGB diff --git a/scripts/Units/corpun.lua b/scripts/Units/corpun.lua index f88a2c5982c..3e01d8cae21 100644 --- a/scripts/Units/corpun.lua +++ b/scripts/Units/corpun.lua @@ -13,7 +13,7 @@ local dmgPieces = { piece "base", piece "flare1", piece "flare2" } include "dmg_smoke.lua" --signals -local SIGNAL_AIM1 = 1 +local SIG_AIM = 1 function script.Create() Hide(flare1) @@ -41,8 +41,8 @@ function script.AimFromWeapon1() end function script.AimWeapon1( heading, pitch ) - Signal(SIGNAL_AIM1) - SetSignalMask(SIGNAL_AIM1) + Signal(SIG_AIM) + SetSignalMask(SIG_AIM) Turn(turret, y_axis, heading, math.rad(30.005495)) Turn(sleeves, x_axis, -pitch, math.rad(45.005495)) WaitForTurn(turret, y_axis) @@ -55,14 +55,14 @@ function script.FireWeapon1() EmitSfx(flare1, 1024+0) Move (barrel1, z_axis, -1.500000) Sleep (150) - Move (barrel1, z_axis, 0.0, 1.0) + Move (barrel1, z_axis, 0.000000, 1.000000) end if currBarrel == 2 then EmitSfx(flare2, 1024+0) Move (barrel2, z_axis, -1.500000) Sleep (150) - Move (barrel2, z_axis, 0.0, 1.0) + Move (barrel2, z_axis, 0.000000, 1.000000) end currBarrel = currBarrel + 1 diff --git a/scripts/Units/corpyro.bos b/scripts/Units/corpyro.bos index e9676b99d79..067bcc8c6b1 100644 --- a/scripts/Units/corpyro.bos +++ b/scripts/Units/corpyro.bos @@ -1,14 +1,16 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece torso, ruparm, luparm, flare, pelvis, rleg, rfoot, lleg, lfoot, lthigh, rthigh, lknee, rknee, lloarm, head, backpack, aimy1, aimx1; -static-var isMoving, isAiming, restore_delay, wpn1_lasthead, currentSpeed, animSpeed, movespeed; +static-var bMoving, bAiming, restore_delay, wpn1_lasthead, currentSpeed, animSpeed, movespeed; static-var maxSpeed, animFramesPerKeyframe; // Signal definitions -#define SIGNAL_AIM1 256 -#define SIGNAL_MOVE 1 +#define SIG_AIM 4 +#define SIG_WALK 2 lua_UnitScriptDecal(lightIndex, xpos,zpos, heading) @@ -23,8 +25,8 @@ lua_FlameShot(weapon) //Distortion and lups flame effect } Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations\corpyro_anim_walk.blend - //set-signal-mask SIGNAL_MOVE; - if (isMoving) { //Frame:3 + //set-signal-mask SIG_WALK; + if (bMoving) { //Frame:3 turn head to y-axis <-1.600000> speed <47.999996> / animSpeed; //delta=-1.60 turn lfoot to x-axis <-48.749789> speed <1641.513271> / animSpeed; //delta=54.72 turn lfoot to z-axis <-9.326835> speed <239.314880> / animSpeed; //delta=7.98 @@ -41,7 +43,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn luparm to x-axis <-3.464769> speed <103.943210> / animSpeed; //delta=3.46 turn luparm to z-axis <-2.136699> speed <64.101033> / animSpeed; //delta=2.14 turn luparm to y-axis <-0.672451> speed <20.173587> / animSpeed; //delta=-0.67 - turn pelvis to y-axis <2.0> speed <59.999993> / animSpeed; //delta=2.00 + turn pelvis to y-axis <2.000000> speed <59.999993> / animSpeed; //delta=2.00 turn rfoot to x-axis <39.649098> speed <999.894449> / animSpeed; //delta=-33.33 turn rfoot to z-axis <0.001560> speed <78.213426> / animSpeed; //delta=2.61 turn rfoot to y-axis <-0.003064> speed <8.863722> / animSpeed; //delta=-0.30 @@ -54,14 +56,14 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn rthigh to x-axis <-39.367308> speed <1147.956488> / animSpeed; //delta=38.27 turn rthigh to z-axis <5.921294> speed <66.365170> / animSpeed; //delta=2.21 turn rthigh to y-axis <3.266669> speed <207.394927> / animSpeed; //delta=6.91 - turn ruparm to x-axis <0.0> speed <935.999903> / animSpeed; //delta=31.20 - turn ruparm to z-axis <-0.0> speed <149.999983> / animSpeed; //delta=-5.00 - turn ruparm to y-axis <0.0> speed <563.999951> / animSpeed; //delta=18.80 + turn ruparm to x-axis <0.000000> speed <935.999903> / animSpeed; //delta=31.20 + turn ruparm to z-axis <-0.000000> speed <149.999983> / animSpeed; //delta=-5.00 + turn ruparm to y-axis <0.000000> speed <563.999951> / animSpeed; //delta=18.80 turn torso to z-axis <-4.999999> speed <149.999983> / animSpeed; //delta=5.00 sleep ((33*animSpeed) -1); } - while(isMoving) { - if (isMoving) { //Frame:6 + while(bMoving) { + if (bMoving) { //Frame:6 call-script lua_UnitScriptDecal(1, (get PIECE_XZ(lfoot) & 0xffff0000) / 0x00010000 , (get PIECE_XZ(lfoot) & 0x0000ffff), get HEADING(0)); turn backpack to x-axis <-3.500000> speed <104.999994> / animSpeed; //delta=3.50 turn head to x-axis <10.999999> speed <329.999975> / animSpeed; //delta=-11.00 @@ -82,7 +84,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn luparm to x-axis <-6.416999> speed <88.566899> / animSpeed; //delta=2.95 turn luparm to z-axis <-6.463313> speed <129.798416> / animSpeed; //delta=4.33 turn luparm to y-axis <1.173128> speed <55.367380> / animSpeed; //delta=1.85 - move pelvis to y-axis [-1.0] speed [30.0] / animSpeed; //delta=-1.00 + move pelvis to y-axis [-1.000000] speed [30.000000] / animSpeed; //delta=-1.00 turn pelvis to y-axis <-4.099999> speed <182.999978> / animSpeed; //delta=-6.10 turn rfoot to x-axis <6.271235> speed <1001.335883> / animSpeed; //delta=33.38 turn rknee to x-axis <-67.144960> speed <1469.333466> / animSpeed; //delta=48.98 @@ -95,18 +97,18 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn rthigh to z-axis <-6.683200> speed <378.134803> / animSpeed; //delta=12.60 turn rthigh to y-axis <6.671538> speed <102.146049> / animSpeed; //delta=3.40 turn ruparm to x-axis <5.500000> speed <164.999988> / animSpeed; //delta=-5.50 - turn ruparm to z-axis <-1.0> speed <29.999997> / animSpeed; //delta=1.00 - turn ruparm to y-axis <-2.0> speed <59.999993> / animSpeed; //delta=-2.00 - turn torso to x-axis <7.500000> speed <225.0> / animSpeed; //delta=-7.50 + turn ruparm to z-axis <-1.000000> speed <29.999997> / animSpeed; //delta=1.00 + turn ruparm to y-axis <-2.000000> speed <59.999993> / animSpeed; //delta=-2.00 + turn torso to x-axis <7.500000> speed <225.000006> / animSpeed; //delta=-7.50 turn torso to z-axis <-2.500000> speed <74.999991> / animSpeed; //delta=-2.50 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:9 - turn backpack to x-axis <-7.0> speed <104.999994> / animSpeed; //delta=3.50 + if (bMoving) { //Frame:9 + turn backpack to x-axis <-7.000000> speed <104.999994> / animSpeed; //delta=3.50 turn head to x-axis <5.500000> speed <164.999988> / animSpeed; //delta=5.50 turn head to y-axis <3.399999> speed <74.999988> / animSpeed; //delta=2.50 turn lfoot to x-axis <-52.065210> speed <559.953115> / animSpeed; //delta=18.67 - turn lfoot to z-axis <-0.0> speed <176.371788> / animSpeed; //delta=-5.88 + turn lfoot to z-axis <-0.000293> speed <176.371788> / animSpeed; //delta=-5.88 turn lfoot to y-axis <-0.002175> speed <215.970701> / animSpeed; //delta=7.20 turn lknee to x-axis <16.061243> speed <1149.802173> / animSpeed; //delta=-38.33 turn lknee to z-axis <1.038110> speed <90.149792> / animSpeed; //delta=-3.00 @@ -135,16 +137,16 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn rthigh to x-axis <-33.532387> speed <501.619645> / animSpeed; //delta=-16.72 turn rthigh to y-axis <4.664865> speed <60.200173> / animSpeed; //delta=-2.01 turn ruparm to x-axis <10.999999> speed <164.999988> / animSpeed; //delta=-5.50 - turn ruparm to z-axis <-2.0> speed <29.999997> / animSpeed; //delta=1.00 - turn ruparm to y-axis <-4.0> speed <59.999993> / animSpeed; //delta=-2.00 - turn torso to x-axis <15.0> speed <225.0> / animSpeed; //delta=-7.50 - turn torso to z-axis <-0.0> speed <74.999991> / animSpeed; //delta=-2.50 + turn ruparm to z-axis <-2.000000> speed <29.999997> / animSpeed; //delta=1.00 + turn ruparm to y-axis <-4.000000> speed <59.999993> / animSpeed; //delta=-2.00 + turn torso to x-axis <15.000000> speed <225.000006> / animSpeed; //delta=-7.50 + turn torso to z-axis <-0.000000> speed <74.999991> / animSpeed; //delta=-2.50 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:12 + if (bMoving) { //Frame:12 turn backpack to x-axis <-3.500000> speed <104.999994> / animSpeed; //delta=-3.50 - turn head to x-axis <-0.0> speed <164.999988> / animSpeed; //delta=5.50 - turn head to y-axis <2.0> speed <41.999990> / animSpeed; //delta=-1.40 + turn head to x-axis <-0.000000> speed <164.999988> / animSpeed; //delta=5.50 + turn head to y-axis <2.000000> speed <41.999990> / animSpeed; //delta=-1.40 turn lfoot to x-axis <22.251267> speed <2229.494332> / animSpeed; //delta=-74.32 turn lknee to x-axis <29.330215> speed <398.069179> / animSpeed; //delta=-13.27 turn lknee to z-axis <2.642943> speed <48.145006> / animSpeed; //delta=-1.60 @@ -174,16 +176,16 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn rthigh to z-axis <-10.645827> speed <121.374327> / animSpeed; //delta=4.05 turn rthigh to y-axis <4.917520> speed <7.579640> / animSpeed; //delta=0.25 turn ruparm to x-axis <5.500000> speed <164.999988> / animSpeed; //delta=5.50 - turn ruparm to z-axis <-3.0> speed <30.0> / animSpeed; //delta=1.00 + turn ruparm to z-axis <-3.000000> speed <30.000003> / animSpeed; //delta=1.00 turn ruparm to y-axis <-3.333333> speed <19.999998> / animSpeed; //delta=0.67 - turn torso to x-axis <7.500000> speed <225.0> / animSpeed; //delta=7.50 - turn torso to z-axis <2.500000> speed <75.0> / animSpeed; //delta=-2.50 + turn torso to x-axis <7.500000> speed <225.000006> / animSpeed; //delta=7.50 + turn torso to z-axis <2.500000> speed <75.000004> / animSpeed; //delta=-2.50 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:15 - turn backpack to x-axis <-0.0> speed <104.999994> / animSpeed; //delta=-3.50 + if (bMoving) { //Frame:15 + turn backpack to x-axis <-0.000000> speed <104.999994> / animSpeed; //delta=-3.50 turn head to x-axis <6.549999> speed <196.499983> / animSpeed; //delta=-6.55 - turn head to y-axis <0.600000> speed <42.0> / animSpeed; //delta=-1.40 + turn head to y-axis <0.600000> speed <42.000003> / animSpeed; //delta=-1.40 turn lfoot to x-axis <41.312058> speed <571.823711> / animSpeed; //delta=-19.06 turn lknee to x-axis <-19.428796> speed <1462.770337> / animSpeed; //delta=48.76 turn lknee to z-axis <1.980247> speed <19.880877> / animSpeed; //delta=0.66 @@ -198,8 +200,8 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn luparm to x-axis <6.926075> speed <329.236317> / animSpeed; //delta=-10.97 turn luparm to z-axis <3.941560> speed <167.119010> / animSpeed; //delta=-5.57 turn luparm to y-axis <1.233274> speed <90.212592> / animSpeed; //delta=3.01 - move pelvis to y-axis [0.0] speed [15.0] / animSpeed; //delta=0.50 - turn pelvis to y-axis <0.0> speed <40.999993> / animSpeed; //delta=1.37 + move pelvis to y-axis [0.000000] speed [15.000000] / animSpeed; //delta=0.50 + turn pelvis to y-axis <0.000000> speed <40.999993> / animSpeed; //delta=1.37 turn rfoot to x-axis <-54.506518> speed <1675.434192> / animSpeed; //delta=55.85 turn rfoot to z-axis <11.663531> speed <56.345885> / animSpeed; //delta=1.88 turn rfoot to y-axis <9.369193> speed <540.148828> / animSpeed; //delta=18.00 @@ -212,14 +214,14 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn rthigh to x-axis <38.705705> speed <1170.450245> / animSpeed; //delta=-39.02 turn rthigh to z-axis <-11.037324> speed <11.744912> / animSpeed; //delta=0.39 turn rthigh to y-axis <3.353122> speed <46.931942> / animSpeed; //delta=-1.56 - turn ruparm to x-axis <-0.0> speed <164.999988> / animSpeed; //delta=5.50 - turn ruparm to z-axis <-4.0> speed <30.0> / animSpeed; //delta=1.00 + turn ruparm to x-axis <-0.000000> speed <164.999988> / animSpeed; //delta=5.50 + turn ruparm to z-axis <-4.000000> speed <30.000003> / animSpeed; //delta=1.00 turn ruparm to y-axis <-2.666666> speed <19.999998> / animSpeed; //delta=0.67 - turn torso to x-axis <-0.0> speed <225.0> / animSpeed; //delta=7.50 - turn torso to z-axis <5.0> speed <74.999991> / animSpeed; //delta=-2.50 + turn torso to x-axis <-0.000000> speed <225.000006> / animSpeed; //delta=7.50 + turn torso to z-axis <5.000000> speed <74.999991> / animSpeed; //delta=-2.50 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:18 + if (bMoving) { //Frame:18 call-script lua_UnitScriptDecal(1, (get PIECE_XZ(rfoot) & 0xffff0000) / 0x00010000 , (get PIECE_XZ(rfoot) & 0x0000ffff), get HEADING(0)); turn backpack to x-axis <-5.249999> speed <157.499979> / animSpeed; //delta=5.25 turn head to x-axis <13.099999> speed <196.499983> / animSpeed; //delta=-6.55 @@ -238,7 +240,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn luparm to x-axis <14.118349> speed <215.768199> / animSpeed; //delta=-7.19 turn luparm to z-axis <3.721865> speed <6.590829> / animSpeed; //delta=0.22 turn luparm to y-axis <6.604783> speed <161.145280> / animSpeed; //delta=5.37 - move pelvis to y-axis [-1.0] speed [30.0] / animSpeed; //delta=-1.00 + move pelvis to y-axis [-1.000000] speed [30.000000] / animSpeed; //delta=-1.00 turn pelvis to y-axis <-4.700000> speed <140.999988> / animSpeed; //delta=-4.70 turn rfoot to x-axis <-35.327285> speed <575.376980> / animSpeed; //delta=-19.18 turn rfoot to z-axis <-0.029143> speed <350.780214> / animSpeed; //delta=11.69 @@ -253,13 +255,13 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn rthigh to z-axis <19.318369> speed <910.670795> / animSpeed; //delta=-30.36 turn rthigh to y-axis <-23.269061> speed <798.665486> / animSpeed; //delta=-26.62 turn ruparm to x-axis <6.549999> speed <196.499983> / animSpeed; //delta=-6.55 - turn ruparm to z-axis <-5.0> speed <29.999997> / animSpeed; //delta=1.00 - turn ruparm to y-axis <-2.0> speed <19.999998> / animSpeed; //delta=0.67 - turn torso to x-axis <6.0> speed <180.0> / animSpeed; //delta=-6.00 - turn torso to z-axis <2.500000> speed <75.0> / animSpeed; //delta=2.50 + turn ruparm to z-axis <-5.000000> speed <29.999997> / animSpeed; //delta=1.00 + turn ruparm to y-axis <-2.000000> speed <19.999998> / animSpeed; //delta=0.67 + turn torso to x-axis <6.000000> speed <180.000005> / animSpeed; //delta=-6.00 + turn torso to z-axis <2.500000> speed <75.000004> / animSpeed; //delta=2.50 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:21 + if (bMoving) { //Frame:21 turn backpack to x-axis <-10.499999> speed <157.499979> / animSpeed; //delta=5.25 turn head to x-axis <6.549999> speed <196.499983> / animSpeed; //delta=6.55 turn head to y-axis <3.499999> speed <43.499989> / animSpeed; //delta=1.45 @@ -291,15 +293,15 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn rthigh to z-axis <5.127995> speed <425.711211> / animSpeed; //delta=14.19 turn rthigh to y-axis <-9.918612> speed <400.513473> / animSpeed; //delta=13.35 turn ruparm to x-axis <13.099999> speed <196.499983> / animSpeed; //delta=-6.55 - turn ruparm to z-axis <-6.0> speed <29.999997> / animSpeed; //delta=1.00 + turn ruparm to z-axis <-6.000000> speed <29.999997> / animSpeed; //delta=1.00 turn ruparm to y-axis <-1.333333> speed <19.999998> / animSpeed; //delta=0.67 - turn torso to x-axis <12.0> speed <180.0> / animSpeed; //delta=-6.00 - turn torso to z-axis <-0.0> speed <74.999998> / animSpeed; //delta=2.50 + turn torso to x-axis <12.000000> speed <180.000005> / animSpeed; //delta=-6.00 + turn torso to z-axis <-0.000000> speed <74.999998> / animSpeed; //delta=2.50 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:24 + if (bMoving) { //Frame:24 turn backpack to x-axis <-5.249999> speed <157.499979> / animSpeed; //delta=-5.25 - turn head to x-axis <-0.0> speed <196.499983> / animSpeed; //delta=6.55 + turn head to x-axis <-0.000000> speed <196.499983> / animSpeed; //delta=6.55 turn head to y-axis <0.950000> speed <76.499991> / animSpeed; //delta=-2.55 turn lfoot to x-axis <0.766450> speed <1508.727148> / animSpeed; //delta=50.29 turn lfoot to z-axis <-13.539199> speed <47.427980> / animSpeed; //delta=-1.58 @@ -329,14 +331,14 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn rthigh to z-axis <1.971503> speed <94.694776> / animSpeed; //delta=3.16 turn rthigh to y-axis <-1.075169> speed <265.303288> / animSpeed; //delta=8.84 turn ruparm to x-axis <6.549999> speed <196.499983> / animSpeed; //delta=6.55 - turn ruparm to z-axis <-3.0> speed <89.999996> / animSpeed; //delta=-3.00 + turn ruparm to z-axis <-3.000000> speed <89.999996> / animSpeed; //delta=-3.00 turn ruparm to y-axis <-0.666667> speed <19.999998> / animSpeed; //delta=0.67 - turn torso to x-axis <6.0> speed <180.0> / animSpeed; //delta=6.00 + turn torso to x-axis <6.000000> speed <180.000005> / animSpeed; //delta=6.00 turn torso to z-axis <-2.500000> speed <74.999985> / animSpeed; //delta=2.50 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:27 - turn backpack to x-axis <-0.0> speed <157.499979> / animSpeed; //delta=-5.25 + if (bMoving) { //Frame:27 + turn backpack to x-axis <-0.000000> speed <157.499979> / animSpeed; //delta=-5.25 turn head to y-axis <-1.600000> speed <76.499987> / animSpeed; //delta=-2.55 turn lfoot to x-axis <-48.749789> speed <1485.487150> / animSpeed; //delta=49.52 turn lfoot to z-axis <-9.326835> speed <126.370914> / animSpeed; //delta=-4.21 @@ -354,8 +356,8 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn luparm to x-axis <-3.464769> speed <239.497499> / animSpeed; //delta=7.98 turn luparm to z-axis <-2.136699> speed <95.222891> / animSpeed; //delta=3.17 turn luparm to y-axis <-0.672451> speed <92.964158> / animSpeed; //delta=-3.10 - move pelvis to y-axis [0.0] speed [15.0] / animSpeed; //delta=0.50 - turn pelvis to y-axis <2.0> speed <44.999995> / animSpeed; //delta=1.50 + move pelvis to y-axis [0.000000] speed [15.000000] / animSpeed; //delta=0.50 + turn pelvis to y-axis <2.000000> speed <44.999995> / animSpeed; //delta=1.50 turn rfoot to x-axis <39.649098> speed <449.533032> / animSpeed; //delta=-14.98 turn rknee to x-axis <-18.167178> speed <1345.894445> / animSpeed; //delta=44.86 turn rknee to z-axis <-1.360705> speed <86.810169> / animSpeed; //delta=-2.89 @@ -366,21 +368,21 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn rthigh to x-axis <-39.367308> speed <1305.522763> / animSpeed; //delta=43.52 turn rthigh to z-axis <5.921294> speed <118.493737> / animSpeed; //delta=-3.95 turn rthigh to y-axis <3.266669> speed <130.255150> / animSpeed; //delta=4.34 - turn ruparm to x-axis <-0.0> speed <196.499983> / animSpeed; //delta=6.55 - turn ruparm to z-axis <-0.0> speed <89.999996> / animSpeed; //delta=-3.00 - turn ruparm to y-axis <0.0> speed <19.999998> / animSpeed; //delta=0.67 - turn torso to x-axis <-0.0> speed <180.0> / animSpeed; //delta=6.00 + turn ruparm to x-axis <-0.000000> speed <196.499983> / animSpeed; //delta=6.55 + turn ruparm to z-axis <-0.000000> speed <89.999996> / animSpeed; //delta=-3.00 + turn ruparm to y-axis <0.000000> speed <19.999998> / animSpeed; //delta=0.67 + turn torso to x-axis <-0.000000> speed <180.000005> / animSpeed; //delta=6.00 turn torso to z-axis <-4.999999> speed <74.999991> / animSpeed; //delta=2.50 sleep ((33*animSpeed) -1); } } } -// Call this from StopMoving()! +// Call this from MotionControl()! StopWalking() { - move pelvis to y-axis [0.0] speed [10.0]; - turn backpack to x-axis <0.0> speed <52.499993>; - turn head to x-axis <0.0> speed <109.999992>; - turn head to y-axis <0.0> speed <25.499997>; + move pelvis to y-axis [0.000000] speed [10.000000]; + turn backpack to x-axis <0.000000> speed <52.499993>; + turn head to x-axis <0.000000> speed <109.999992>; + turn head to y-axis <0.000000> speed <25.499997>; turn lfoot to x-axis <5.967320> speed <743.164777>; turn lfoot to y-axis <-0.304286> speed <226.293665>; turn lfoot to z-axis <-1.349672> speed <151.690795>; @@ -390,14 +392,14 @@ StopWalking() { turn lleg to x-axis <0.558221> speed <936.064709>; turn lleg to y-axis <0.400933> speed <97.581417>; turn lleg to z-axis <-0.289633> speed <66.878578>; - turn lloarm to x-axis <0.0> speed <149.673487>; + turn lloarm to x-axis <0.000000> speed <149.673487>; turn lthigh to x-axis <-0.985280> speed <445.655282>; turn lthigh to y-axis <3.249236> speed <109.185180>; turn lthigh to z-axis <-6.927683> speed <142.217956>; - turn luparm to x-axis <0.0> speed <123.364567>; - turn luparm to y-axis <0.0> speed <55.689328>; - turn luparm to z-axis <0.0> speed <97.703016>; - turn pelvis to y-axis <0.0> speed <60.999993>; + turn luparm to x-axis <0.000000> speed <123.364567>; + turn luparm to y-axis <0.000000> speed <55.689328>; + turn luparm to z-axis <0.000000> speed <97.703016>; + turn pelvis to y-axis <0.000000> speed <60.999993>; turn rfoot to x-axis <6.319283> speed <759.123514>; turn rfoot to y-axis <0.292394> speed <232.501057>; turn rfoot to z-axis <2.608675> speed <156.243011>; @@ -413,8 +415,8 @@ StopWalking() { turn ruparm to x-axis <31.199997> speed <311.999968>; turn ruparm to y-axis <-18.799998> speed <187.999984>; turn ruparm to z-axis <-4.999999> speed <49.999994>; - turn torso to x-axis <0.0> speed <75.0>; - turn torso to z-axis <0.0> speed <49.999994>; + turn torso to x-axis <0.000000> speed <75.000002>; + turn torso to z-axis <0.000000> speed <49.999994>; } // REMEMBER TO animspeed = 3 in Create() !! UnitSpeed(){ @@ -439,9 +441,9 @@ UnitSpeed(){ #define UNITSIZE 3 #define MAXTILT 100 -#include "../unit_hitbyweaponid_and_smoke.h" +#include "unit_hitbyweaponid_and_smoke.h" -PilotLight() +PilotLight(Func_Var_1) { while( TRUE ) { @@ -456,8 +458,8 @@ Create() hide aimx1; hide aimy1; hide flare; - isMoving = FALSE; - isAiming = FALSE; + bMoving = FALSE; + bAiming = FALSE; currentSpeed = 200; moveSpeed = get MAX_SPEED; animSpeed = 3; @@ -465,28 +467,31 @@ Create() start-script PilotLight(); } -SetMaxReloadTime(reloadMS) +SetMaxReloadTime(Func_Var_1) { - restore_delay = reloadMS * 2; + restore_delay = Func_Var_1 * 2; } -StartMoving(reversing) +StartMoving() { - isMoving = TRUE; - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; + bMoving = TRUE; + signal SIG_WALK; + set-signal-mask SIG_WALK; start-script UnitSpeed(); start-script Walk(); } StopMoving() { - isMoving = FALSE; - signal SIGNAL_MOVE; + bMoving = FALSE; + signal SIG_WALK; start-script StopWalking(); } - +SweetSpot(piecenum) +{ + piecenum = torso; +} static-var Stunned; ExecuteRestoreAfterDelay() @@ -494,11 +499,11 @@ ExecuteRestoreAfterDelay() if (Stunned) { return (1); } - turn aimy1 to y-axis <0.0> speed <90.0>; - turn aimx1 to x-axis <0.0> speed <45.0>; + turn aimy1 to y-axis <0.000000> speed <90.000000>; + turn aimx1 to x-axis <0.000000> speed <45.000000>; wait-for-turn aimy1 around y-axis; wait-for-turn aimx1 around x-axis; - isAiming = FALSE; + bAiming = FALSE; } SetStunned(State) { @@ -509,27 +514,27 @@ SetStunned(State) } RestoreAfterDelay() { - set-signal-mask SIGNAL_AIM1; + set-signal-mask SIG_AIM; sleep restore_delay; start-script ExecuteRestoreAfterDelay(); } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = torso; + piecenum = torso; } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = flare; + piecenum = flare; } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - isAiming = TRUE; - turn aimy1 to y-axis heading speed <275.0>; - turn aimx1 to x-axis <0.0> - pitch speed <110.0>; + signal SIG_AIM; + bAiming = TRUE; + turn aimy1 to y-axis heading speed <275.000000>; + turn aimx1 to x-axis <0.000000> - pitch speed <110.000000>; //wait-for-turn aimy1 around y-axis; start-script RestoreAfterDelay(); return (1); @@ -549,8 +554,15 @@ Killed(severity, corpsetype) corpsetype = 1 ; explode pelvis type BITMAPONLY | NOHEATCLOUD; explode rthigh type BITMAPONLY | NOHEATCLOUD; + //explode rleg type BITMAPONLY | NOHEATCLOUD; + //explode rfoot type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lthigh type BITMAPONLY | NOHEATCLOUD; + //explode lleg type BITMAPONLY | NOHEATCLOUD; + //explode lfoot type BITMAPONLY | NOHEATCLOUD; explode torso type BITMAPONLY | NOHEATCLOUD; + //explode luparm type FIRE | SMOKE | FALL | NOHEATCLOUD; explode ruparm type BITMAPONLY | NOHEATCLOUD; + //explode flare type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } if( severity <= 50 ) @@ -558,8 +570,15 @@ Killed(severity, corpsetype) corpsetype = 2 ; explode pelvis type FIRE | SMOKE | FALL | NOHEATCLOUD; explode rthigh type FALL | NOHEATCLOUD; + //explode rleg type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rfoot type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lthigh type FALL | NOHEATCLOUD; + //explode lleg type FALL | NOHEATCLOUD; + //explode lfoot type FIRE | SMOKE | FALL | NOHEATCLOUD; explode torso type FALL | NOHEATCLOUD; + //explode luparm type FIRE | SMOKE | FALL | NOHEATCLOUD; explode ruparm type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare type FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) @@ -567,15 +586,28 @@ Killed(severity, corpsetype) corpsetype = 3 ; explode pelvis type FIRE | SMOKE | FALL | NOHEATCLOUD; explode rthigh type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rleg type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rfoot type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lthigh type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lleg type SMOKE | FALL | NOHEATCLOUD; + //explode lfoot type FIRE | SMOKE | FALL | NOHEATCLOUD; explode torso type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode luparm type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; explode ruparm type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; explode pelvis type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode rthigh type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rleg type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode rfoot type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lthigh type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode lleg type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode lfoot type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode torso type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode luparm type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode ruparm type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/corpyro.cob b/scripts/Units/corpyro.cob index 1eefcea4352c167a619a330f2adeeec94123366c..4a16b073eeebda9f7481ab4cec7f83f360dc4df0 100644 GIT binary patch literal 18541 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 DK9Yd) delta 4689 zcmZ`-3vg7`8NUDSCfOvLWS4Vq-j9t-a9QQ^Hr2v=NB|R;!L=s57-1OJ=NXt(`$!Q`_LV3yEEUt z_uTWJ|NQ6sALrb?bcmjOglc?>qG*hH3~xwLGWjllOFI>1gmIox!|kdrMZxhFb+o;P z!lQi;Yr(mzSCz05^m8Xk1U^3dVXsPmhUV4j$7t~yKDPTRc6*mln zPmeZA7MY6-zBwzt2W}m=;DS$h`^P*eODRFD#7`$slA?P*KSc6PhQs5D@8XR}Ar7SM zW5sM!Fm)e2g(IoDHh$5q^=-VB%9iD+7*hT4HwF+$Q>g>xX>q!MfiyvFexa>mmt5t>!}bgrpKA#lnjHN*pVT$*VcPn6UEV+5!YrUdrYJZ4u{AI{5~U2@1P`8XX?B7 zdJ{$iMc9}Z#?zU$D{(fn8SV2`gafOXs@{MlrAu1qZcv55`GA^x`Hx=*El*(v?Y2GG zLWNl}j-4qVMqQR%*=<<{P2ot^AZ4JVQXrhI;%5bF^nAU0wU;hisiw090S>c zUc&xtUHhxupU!>GJPR<*{WHv?pfSv3>$DP~96^6aMUKH)neL)#35In+l^7`IxXw}O zCz#A(&sDHerY%)Y%s)AI3*OJs=|fOZ&@N~}oyO6^*BOLz1?~@4Q7tBddUVO%?zL>N zGdS4|pJFzsYfo%*=V%lQLx$-T;dwg^l_izzjQ~!C{8pOb&5-Gv!`1EBJkM`MGRucb ziZD_gz=3@Au-A{X^8%W`F4eWG7+XuX(;R+Vsxuk0 zrGxYVddqZr1EXbvnsBnLJKFVqw{iDRr?nJ(h{4$mH$co6^Y83{x7R3~rh%a*(4Hei-@o{&7Fy|RkS%>^N_yHcgS7_Af>cqc1$t$xsL zV>vEV4o2gWZku(-pZ~uQzJVk9AO~Gml}=q~s4_^yKvkT>f4WL&1+8xTzJZylZZpD) zuss?uxjPV*+{wJm!erEtp?SD^)mOndP_1j-jc$XV2Q>{+PO7dXk!PvF8r5nXB54H<;an7VBDxy*x-MLN~V%*Mt= z+vqM#Ez-4Sd$cPM=`zY|b&E=Du5~u#c6?In_ss2dik+vsadbzeCoequXr<@9+eTll z)Z+Wyo(kfbSe%A27mI5zmRO5SCTov*q&!#P$NhBy%ESa8?aq*j=jv3F$3{c@=UTVZ z&V#kQ+L04WYkXI;O;SxkQiUQp0421;yAsJmL&$4O+FT~KF)0%Uvk_$5DKmJ zo9^+A=&jeuJOXn34OAB)m=Z846NshQ5y(#gY_BawtU)zP)qXCOVGQO-1R&JywrEU(;Gn!Izqf zxbDBxw2A(Nx}~C|elwXP&m={koK9+c42h+Yk_C2=NiL4wXD!S4ELA1aPqtd}*UJP? ze`S~JuStaZhk=g35Jq)Xc1@W0<)zI^4-{*@k^DA_09Nu3U%hY)HJ74oel zNZw7YLHTiHTVYdw9Ep~^&QH|1`8r+d&ffFrKNJhsiP9IN=t*!a= z0v>367l)by*w_}xGR69>03!^vweb;nvaJlCwFNu{L0oA&mfj&5;V{ZVs7+vfn~yUE zueRs%HWq5j!zb;lV~4%K_$A{b#w>#~P?^W5 zXLK^wGd41|GKLr<4EfhdGh+=S&e+80VSJCVmodV4jB$+d0^?=I>x>T=7a5nklv|a| z6}+i4B8(^_#%N@;Fgh7)7&kLEFg7z1jJp^+7`qq`GKLuk7>_U>WsI-D#T9FcR&P^Q z_1?Sufm?eL{X2Ikor%80T|L`w>DzgC57w5|FK)g7 diff --git a/scripts/Units/corrad.bos b/scripts/Units/corrad.bos index d3917a90f85..af0459a31ab 100644 --- a/scripts/Units/corrad.bos +++ b/scripts/Units/corrad.bos @@ -1,6 +1,10 @@ +#define TA // This is a TA script + +static-var statechg_DesiredState, statechg_StateChanging; static-var Stunned; -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, dish, blink; @@ -11,22 +15,68 @@ piece base, dish, blink; #define UNITSIZE 5 #define MAXTILT 100 -#include "../unit_hitbyweaponid_and_smoke.h" +#include "unit_hitbyweaponid_and_smoke.h" + +Go() +{ + spin dish around y-axis speed <40.005495>; + return (0); +} + +Stop() +{ + stop-spin dish around y-axis; + return (0); +} + +InitState() +{ + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; + return (0); +} +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + call-script Go(); + currentstate = 0; + } + if( statechg_DesiredState == 1 ) + { + call-script Stop(); + currentstate = 1; + } + } + statechg_StateChanging = FALSE; + return (0); +} SetStunned(State) { Stunned = State; if (Stunned) { - call-script Deactivate(); + call-script Stop(); } else { - call-script Activate(); + call-script Go(); } } Create() { hide blink; + call-script InitState(); return (0); } @@ -46,17 +96,21 @@ Lights() Activate() { start-script Lights(); - spin dish around y-axis speed <40.005495>; + start-script RequestState(0); return (0); } Deactivate() { - stop-spin dish around y-axis; + start-script RequestState(1); return (0); } - +SweetSpot(piecenum) +{ + piecenum = base; + return (0); +} Killed(severity, corpsetype) { diff --git a/scripts/Units/corrad.cob b/scripts/Units/corrad.cob index 986920d4c72172797e1816d46d1e6117dea08c8a..87f35fa4d4baab3dfaf4e78fd0d4955f227fc150 100644 GIT binary patch literal 2357 zcmbuBzmH5&6vxlZ&JGIlBnsk3UV=nKVj_`jIesJv5-|}H&5YfLi8Zs#LlhE!frbQ$ zLZMKq6iQJ@C=?3OC^ZUEQStrUchAh*XIF$b`R1H^&iDMd=ic{r8)mjfm=b>0%o>tB zJ64)?g$Keet)EC*T2IQTC;G`;lbnlkTGComiM6MadaIt07akHG(vs=Ky3J&Lv|+Ln zO?f9g@>#3kZI$XZJSXcJHBOA$9@n6@bLqiSOGxE?5`#b3N;35ITkIqrzA1BvE9t1@ zyQ2i2w_0;4pT{BDJ98zTy)c`H60E~{q>V63Twd3Mj)UrFvN6Vm`yJyjc^voTd$dc0bHnfX z{hcZAfp?sGNanMrQiGg(qm47=S(LA9MXdG{zGD?XT*AqHQp&j2<6;)aWefS(li5$ipV^_bt^)}t`>_%lT>=;3Zf z{dTm|$`pa1{> literal 1831 zcmbW2ziU%b6vt1JmluR0*GURRqKk`25C;c`w02NbC{%E5+C19WHdPx7ZVtMM{sSWY z6V%z!MQ8CJ(4mtQ)Xl-~=e~Q=XNU?uI63E@^F2TBc`uon9TPP~&ueCNah{Fb?5XIL z=$y`P#jRZrRjP%0I03kw1zX9(j6`&ObW3?a&X8qCo=5I9Ble8MOgg2EKA3Fj$Oax; z)+xD#Ja}z&*{Bx|1}dS+KK*$)0i6p3(!N&m3QR@x6U7(c}4U`q_5_IJy`!?a;@H&U1jF4tUHFcq4q5 z%ia5u>@|Rg<&Ic44+lwKujt*Eco$@6uFMVmn}kPAoy@`U^nse}aOM*8we!%53jHWX zMlR|26!4HI3dCEn@q6Vu?~iz=; + turn base to z-axis <0> - anglez speed <50.000000>; + wait-for-turn base around z-axis; + wait-for-turn base around x-axis; + turn base to z-axis <0.000000> speed <20.000000>; + turn base to x-axis <0.000000> speed <20.000000>; +} #define BASEPIECE base -#define HITSPEED <55.0> +#define HITSPEED <85.0> //how 'heavy' the unit is, on a scale of 1-10 #define UNITSIZE 2 #define MAXTILT 100 -#define RECOIL_POWER 50000 -#include "../unit_hitbyweaponid_and_smoke.h" -#define TB_BASE base -#define TB_TURNRATE <15.0> -#define TB_TILT_X <0.20> -#define TB_BANK_Z <0.10> // Do not define this if you dont want banking -#include "../tilt_bank_mobileunit.h" +#include "unit_hitbyweaponid_and_smoke.h" -StartMoving(reversing) +StartMoving() { - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; - START_TILTBANK; + turn base to x-axis <-7> speed <11>; + wait-for-turn base around x-axis; + turn base to x-axis <0> speed <11>; } StopMoving() { - signal SIGNAL_MOVE; - STOP_TILTBANK; + turn base to x-axis <1> speed <5>; + wait-for-turn base around x-axis; + turn base to x-axis <0> speed <5>; } Create() { hide flare; hide flare; restore_delay = 3000; - call-script TB_Init(); } -SetMaxReloadTime(reloadMS) +SetMaxReloadTime(Func_Var_1) { - restore_delay = reloadMS * 2; + restore_delay = Func_Var_1 * 2; } static-var Stunned; @@ -54,8 +60,8 @@ ExecuteRestoreAfterDelay() return (1); } set-signal-mask 0; - turn turret to y-axis <0.0> speed <90.0>; - turn sleeve to x-axis <0.0> speed <50.0>; + turn turret to y-axis <0.000000> speed <90.000000>; + turn sleeve to x-axis <0.000000> speed <50.000000>; } SetStunned(State) { @@ -70,37 +76,40 @@ RestoreAfterDelay() start-script ExecuteRestoreAfterDelay(); } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; - turn turret to y-axis heading speed <90.0>; - turn sleeve to x-axis <0.0> - pitch speed <50.0>; + signal SIG_AIM; + set-signal-mask SIG_AIM; + turn turret to y-axis heading speed <90.000000>; + turn sleeve to x-axis <0.000000> - pitch speed <50.000000>; wait-for-turn turret around y-axis; wait-for-turn sleeve around x-axis; start-script RestoreAfterDelay(); return (1); } -FireWeapon1() +FirePrimary() { emit-sfx 1024 + 0 from flare; - move barrel to z-axis [-2.400000] speed [500.0]; + move barrel to z-axis [-2.400000] speed [500.000000]; wait-for-move barrel along z-axis; - move barrel to z-axis [0.0] speed [3.0]; + move barrel to z-axis [0.000000] speed [3.000000]; } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = sleeve; + piecenum = sleeve; } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = flare; + piecenum = flare; } - +SweetSpot(piecenum) +{ + piecenum = base; +} Killed(severity, corpsetype) { @@ -109,9 +118,9 @@ Killed(severity, corpsetype) corpsetype = 1 ; explode base type BITMAPONLY | NOHEATCLOUD; explode turret type BITMAPONLY | NOHEATCLOUD; - + //explode sleeve type BITMAPONLY | NOHEATCLOUD; explode barrel type FIRE | SMOKE | FALL | NOHEATCLOUD; - + //explode flare type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } if( severity <= 50 ) @@ -121,7 +130,7 @@ Killed(severity, corpsetype) explode turret type FALL | NOHEATCLOUD; explode sleeve type FALL | NOHEATCLOUD; explode barrel type FIRE | SMOKE | FALL | NOHEATCLOUD; - + //explode flare type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) @@ -131,7 +140,7 @@ Killed(severity, corpsetype) explode turret type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; explode sleeve type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode barrel type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; - + //explode flare type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; @@ -139,6 +148,6 @@ Killed(severity, corpsetype) explode turret type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode sleeve type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode barrel type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; - + //explode flare type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/corraid.cob b/scripts/Units/corraid.cob index e0b70d1070baa59e2acdd21eb8e92a34a58278d3..c45142891098d8c26c1e35206cbb47dc4fd8bc68 100644 GIT binary patch literal 3074 zcmb_eO=whC6h1RaMyVyff-a2ij( z!W=fg-;cXK2W^})<3sLo8ZaYiy8P_5>?1;t_#s7nzF)n+M&b*9mQOaK-@LtEv0wLg z2zwsFv!?fhcZ&1ijJBY%KF`_IMQ6?y$| z;In7Y`yfQ`gZ9N<7+==E?e?|BgxJTujKNdpL_g$OBhKnLj-D^Z*>(3_?^X}ip?$~> z>mbL@B6i;lT@&|D*G_$CZ$$VLU?0}Eu{uYRa9?P1YkFCu{O;TTwsDKxS!HBgD|N@4 z8qOf#IUo4QulI;0^p216v-VDYxX1cgLuba^he(dyo;^Zh+BCneF$RV9O-Nb745K~e zS&d<;`s_@>Cy73L1`tQx&e-dl@M}I?F)8;6vj}^%-!|XlERr)1Yj6gW^vIgydK~3b z+uQ1Y8TEC>ZQs9LZ_xj4YB8P8fO3-g>Yk{y8|e38l6ako#!nJc-Bb2jUAN}jZ9ml+ zgz@Z^=W5)ZkE%H?rn>G)>QvXwc8&nofIop}06(|~fDeEpz#MP^_zJiId=K0Kegb|5 z_`m2u;4p9$_ym{(7JxwEP~Zj!=C+Z6N3)t2dG$;y{$*T~#e zvpgtF%d8h!ZceQhCO>OB$p)G2V$kcE6?xNnD(x=hX*bC?z~me1 nYhN+Q*v|_2BJFgL^&ot22rk6pLR|`?E|qMQF1qNVl78R0_q@4zofrcj_uTXUci*HTB2NN` zfM4n&O`QDOeoW*?;OWOjUc&uFoYJZ%F=|OYIY#AHBavP+p$d6@@)ny3=>}=YNq0!M z52@~RARFM-a8gE*EKX$PQPybtQ<7#fqe>!m$Vl^~4o?+9hj+?oZ+XNyQx|2b{0ADH zo=NI$&x>UmEAjbsgFe++SFEQoLQM-nk393qJZ4|mn=9i>dq#Vr_Q*k6qBU4akwhZiD3c9!}b_H|Dc?O54xKbfJ2nZmdIl)@;4+K**Rjr)f1ahaD<} zUa)4)LlQp|v*ju6n$~pt(Mev_o=ua{)N1AIY!}E|{LagE@n`+9T#QG1^0#_gXPJM=*+zEE%Sq#ggjFIq#+1v2D zd@tD5nD8CHb8@e+d-dfd+YP0Q8VjcUbI_^c(&VQQD<5& zZ9aBdP3-N*p|>Z3Ps(h6SgH00`@?>)j5t1djK`WNqdxD_^6yaTV9PwI7w0RX?{hGY zWxCfDJNnYjNB(!N!Vr7SobK!*H`tKAcXfIWI#}&k4vd@}V3*QVSDt0Ya<8^4Gdxr0j*~Kw9E7r?5@^|Q|_AS(`?n4jnpNit39-Rvm z=)rGeGO~ubQhexdZ#?#BX1Rxanu7bX14+NB*M@>S!f3DTg7Qy-FY|48^KJL4Z<@Uf+ycG_4x?$$0M~)9fS-WhfWLqmoF4;b zfm6VF-~zA)@PG7Ifi5r)yan`t3>X8~fcJsxz%Ae#;Ah}h;7{N#P&+E}2yhg53YZ0+ z1rPg>7v{)Z$p%F?9j?oAk>6Vj=gEV(ijPu+T;NTd@ K*1)+-P96a4%nXVE diff --git a/scripts/Units/correap.bos b/scripts/Units/correap.bos index 486957ef423..87134dea805 100644 --- a/scripts/Units/correap.bos +++ b/scripts/Units/correap.bos @@ -1,33 +1,66 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece flare1, flare2, turret, base, sleeves, barrel1, barrel2, smoke1, smoke2; -static-var restore_delay, gun_1; +static-var bMoving, moveSpeed, currentSpeed, animSpeed, terrain, restore_delay, gun_1; // Signal definitions -#define SIGNAL_AIM1 256 -#define SIGNAL_MOVE 1 +#define SIG_AIM 2 +#define SIG_MOVE 4 + + + +UnitSpeed() +{ + while(TRUE) + { + currentSpeed = (get CURRENT_SPEED)*20/moveSpeed; + if (currentSpeed<4) currentSpeed=4; + animSpeed = 1600 / currentSpeed; + sleep 250; + } +} + +Smoke() +{ + while( TRUE ) + { + currentSpeed = (get CURRENT_SPEED)*20/moveSpeed; + if (currentSpeed<4) currentSpeed=4; + animSpeed = 1600 / currentSpeed; + if ( bMoving ) + { + if( terrain == 4 ) + { + emit-sfx 1024 + 1 from smoke1; + emit-sfx 1024 + 1 from smoke2; + } + } + sleep animSpeed; + } +} -#define VD_PIECE1 smoke1 -#define VD_PIECE2 smoke2 -#define VD_AMPHIBIOUS -#define VD_DIRTCEG 1024 + 1 -#include "../vehicle_dirt_cegs.h" #define BASEPIECE base #define HITSPEED <45.0> //how 'heavy' the unit is, on a scale of 1-10 #define UNITSIZE 7 #define MAXTILT 100 -#define RECOIL_POWER 90000 -#include "../unit_hitbyweaponid_and_smoke.h" -#define TB_BASE base -#define TB_TURNRATE <15.0> -#define TB_TILT_X <0.15> -#define TB_BANK_Z <0.10> // Do not define this if you dont want banking -#include "../tilt_bank_mobileunit.h" +#include "unit_hitbyweaponid_and_smoke.h" + +RockUnit(anglex, anglez) +{ + turn base to x-axis anglex speed <50.005495>; + turn base to z-axis <0> - anglez speed <50.005495>; + wait-for-turn base around z-axis; + wait-for-turn base around x-axis; + turn base to z-axis <0.000000> speed <20.000000>; + turn base to x-axis <0.000000> speed <20.000000>; +} Create() { @@ -35,31 +68,39 @@ Create() hide smoke2; hide flare1; hide flare2; + bMoving = FALSE; + moveSpeed = get (MAX_SPEED); + animSpeed = 100; hide flare1; hide flare2; gun_1 = flare1; restore_delay = 3000; - call-script TB_Init(); + start-script UnitSpeed(); +} + +setSFXoccupy(state) +{ + terrain = state; } -StartMoving(reversing) +StartMoving() { - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; - start-script Vehicle_Dirt_Ceg(); - START_TILTBANK; + bMoving = TRUE; + signal SIG_MOVE; + set-signal-mask SIG_MOVE; + start-script Smoke(); } StopMoving() { - signal SIGNAL_MOVE; - STOP_TILTBANK; + bMoving = FALSE; + signal SIG_MOVE; } -SetMaxReloadTime(reloadMS) +SetMaxReloadTime(Func_Var_1) { - restore_delay = reloadMS * 2; + restore_delay = Func_Var_1 * 2; } static-var Stunned; @@ -68,8 +109,8 @@ ExecuteRestoreAfterDelay() if (Stunned) { return (1); } - turn turret to y-axis <0.0> speed <35.005495>; - turn sleeves to x-axis <0.0> speed <15.0>; + turn turret to y-axis <0.000000> speed <35.005495>; + turn sleeves to x-axis <0.000000> speed <15.000000>; } SetStunned(State) { @@ -84,50 +125,53 @@ RestoreAfterDelay() start-script ExecuteRestoreAfterDelay(); } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; turn turret to y-axis heading speed <85.005495>; - turn sleeves to x-axis <0.0> - pitch speed <50.005495>; + turn sleeves to x-axis <0.000000> - pitch speed <50.005495>; wait-for-turn turret around y-axis; wait-for-turn sleeves around x-axis; start-script RestoreAfterDelay(); return (1); } -FireWeapon1() +FirePrimary() { if( gun_1 == 0 ) { - move barrel1 to z-axis [-2.400000] speed [500.0]; + move barrel1 to z-axis [-2.400000] speed [500.000000]; emit-sfx 1024 + 0 from flare1; sleep 100; wait-for-move barrel1 along z-axis; - move barrel1 to z-axis [0.0] speed [3.0]; + move barrel1 to z-axis [0.000000] speed [3.000000]; } if( gun_1 == 1 ) { - move barrel2 to z-axis [-2.400000] speed [500.0]; + move barrel2 to z-axis [-2.400000] speed [500.000000]; emit-sfx 1024 + 0 from flare2; sleep 100; wait-for-move barrel2 along z-axis; - move barrel2 to z-axis [0.0] speed [3.0]; + move barrel2 to z-axis [0.000000] speed [3.000000]; } gun_1 = !gun_1; } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = gun_1; + piecenum = gun_1; } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = sleeves; + piecenum = sleeves; } - +SweetSpot(piecenum) +{ + piecenum = base; +} Killed(severity, corpsetype) { @@ -138,6 +182,9 @@ Killed(severity, corpsetype) explode turret type BITMAPONLY | NOHEATCLOUD; explode sleeves type BITMAPONLY | NOHEATCLOUD; explode barrel1 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare1 type BITMAPONLY | NOHEATCLOUD; + //explode barrel2 type BITMAPONLY | NOHEATCLOUD; + //explode flare2 type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } if( severity <= 50 ) @@ -147,6 +194,9 @@ Killed(severity, corpsetype) explode turret type FALL | NOHEATCLOUD; explode sleeves type FIRE | SMOKE | FALL | NOHEATCLOUD; explode barrel1 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare1 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode barrel2 type FALL | NOHEATCLOUD; + //explode flare2 type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) @@ -156,6 +206,9 @@ Killed(severity, corpsetype) explode turret type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; explode sleeves type FIRE | SMOKE | FALL | NOHEATCLOUD; explode barrel1 type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode flare1 type SMOKE | FALL | NOHEATCLOUD; + //explode barrel2 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare2 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; @@ -163,5 +216,8 @@ Killed(severity, corpsetype) explode turret type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode sleeves type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode barrel1 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare1 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode barrel2 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare2 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/correap.cob b/scripts/Units/correap.cob index b173087c224d149edf677622dbcc046aa2cc3609..cbd84ef5f3388bfcda079499a661e822015d2436 100644 GIT binary patch literal 3915 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 Yy<_dBUB?8rPAiOKvd%nPei)N~0r@9IT>t<8 diff --git a/scripts/Units/correcl.bos b/scripts/Units/correcl.bos index e33f3440519..29442718799 100644 --- a/scripts/Units/correcl.bos +++ b/scripts/Units/correcl.bos @@ -1,44 +1,120 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, wake1, wake2, nano1, nano2; -static-var buildHeading, nano; +static-var Static_Var_1, statechg_DesiredState, statechg_StateChanging, nano; // Signal definitions -#define SIGNAL_MOVE 1 +#define SIG_MOVE 2 #define BASEPIECE base #define HITSPEED <25.0> //how 'heavy' the unit is, on a scale of 1-10 #define UNITSIZE 5 #define MAXTILT 100 +HitByWeapon(anglex, anglez, damage) // angle[x|z] is always [-500;500], damage is multiplied by 100 +{ + var amount;//, speedz, speedx; + amount = damage / (100 * UNITSIZE); + if (amount < 3 ) return (0); + if (amount > MAXTILT) amount = MAXTILT; + //get PRINT(anglex, anglez, amount, damage); + //speedz = HITSPEED * get ABS(anglez) / 500; //nevermind this, the random error this produces actually looks better than the accurate version + turn BASEPIECE to z-axis (anglez * amount) / 100 speed HITSPEED; + turn BASEPIECE to x-axis <0> - (anglex * amount) /100 speed HITSPEED; + wait-for-turn BASEPIECE around z-axis; + wait-for-turn BASEPIECE around x-axis; + turn BASEPIECE to z-axis <0.000000> speed HITSPEED / 4; + turn BASEPIECE to x-axis <0.000000> speed HITSPEED / 4; +} +HitByWeaponId(anglex, anglez, weaponid, dmg) //weaponID is always 0,lasers and flamers give angles of 0 +{ + start-script HitByWeapon(dmg, anglez,anglex); //I dont know why param order must be switched, and this also runs a frame later :( + return (100); //return damage percent +} -#define SMOKETHRESHOLD 0 -#include "../unit_hitbyweaponid_and_smoke.h" -#define TB_BASE base -#define TB_TURNRATE <30.0> -#define TB_TILT_X <-0.32> -#define TB_BANK_Z <0.5> // Do not define this if you dont want banking -#define TB_WAKE_PIECE wake1 -#define TB_WAKE_PIECE2 wake2 -#include "../tilt_bank_submarine.h" +activatescr() +{ + sleep 31; + return (0); +} -StartMoving(reversing) +deactivatescr() { - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; - START_TILTBANK; + sleep 31; + return (0); } +StartMoving() +{ + signal SIG_MOVE; + set-signal-mask SIG_MOVE; + while( TRUE ) + { + emit-sfx 256 | 3 from wake1; + emit-sfx 256 | 3 from wake2; + sleep 250; + } + return (0); +} StopMoving() { - signal SIGNAL_MOVE; - STOP_TILTBANK; + signal SIG_MOVE; + return (0); +} + +Go() +{ + call-script activatescr(); + set INBUILDSTANCE to 1; + return (0); } +Stop() +{ + set INBUILDSTANCE to 0; + call-script deactivatescr(); + return (0); +} + +InitState() +{ + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; + return (0); +} + +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + call-script Go(); + currentstate = 0; + } + if( statechg_DesiredState == 1 ) + { + call-script Stop(); + currentstate = 1; + } + } + statechg_StateChanging = FALSE; + return (0); +} Create() { @@ -47,41 +123,59 @@ Create() hide wake1; hide wake2; nano=0; - buildHeading = 0; - call-script TB_Init(); + Static_Var_1 = 0; + call-script InitState(); + return (0); } Activate() { - set INBUILDSTANCE to 1; + start-script RequestState(0); + return (0); } Deactivate() { - set INBUILDSTANCE to 0; + start-script RequestState(1); + return (0); } -StartBuilding(heading) +StartBuilding(Func_Var_1) { show nano1; show nano2; - buildHeading = heading; + Static_Var_1 = Func_Var_1; + start-script RequestState(0); + return (0); } StopBuilding() { hide nano1; hide nano2; + start-script RequestState(1); + return (0); } -QueryNanoPiece(pieceIndex) +QueryNanoPiece(piecenum) { - pieceIndex = nano1+nano; + piecenum = nano1+nano; nano = !nano; + return (0); } +TargetHeading(Func_Var_1) +{ + Static_Var_1 = 0 - Func_Var_1; + return (0); +} +SweetSpot(piecenum) +{ + piecenum = base; + return (0); +} Killed(severity, corpsetype) { @@ -89,37 +183,37 @@ Killed(severity, corpsetype) { corpsetype = 1 ; explode base type BITMAPONLY | NOHEATCLOUD; - + //explode wake2 type BITMAPONLY | NOHEATCLOUD; explode nano1 type BITMAPONLY | NOHEATCLOUD; explode nano2 type BITMAPONLY | NOHEATCLOUD; - + //explode wake1 type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } if( severity <= 50 ) { corpsetype = 2 ; explode base type BITMAPONLY | NOHEATCLOUD; - + //explode wake2 type FIRE | SMOKE | FALL | NOHEATCLOUD; explode nano1 type FIRE | SMOKE | NOHEATCLOUD; explode nano2 type NOHEATCLOUD; - + //explode wake1 type FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) { corpsetype = 3 ; explode base type BITMAPONLY | NOHEATCLOUD; - + //explode wake2 type SMOKE | FALL | NOHEATCLOUD; explode nano1 type SMOKE | NOHEATCLOUD; explode nano2 type EXPLODE_ON_HIT | SMOKE | NOHEATCLOUD; - + //explode wake1 type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; explode base type BITMAPONLY | NOHEATCLOUD; - + //explode wake2 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode nano1 type EXPLODE_ON_HIT | FIRE | NOHEATCLOUD; explode nano2 type EXPLODE_ON_HIT | FIRE | NOHEATCLOUD; - + //explode wake1 type EXPLODE_ON_HIT | FIRE | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/correcl.cob b/scripts/Units/correcl.cob index c67a9e0895a0d1b1968b17dbcce87bb49f53d027..88db9b5faf17f3eb8f20e39310cbd966299b09e8 100644 GIT binary patch literal 2479 zcmb7GziSjh6n?p1iIt-kMl4)OsmLW@ClaGzf+(jEVk6voH-sbc?!4P1q%zhvVxd@w zf|XW+*jtF5V4KE2z(OoVMf|>*d7EXEP2z^{-pu>?&3m&;Dk5?Or~Yh3 zz+2!n_8%c7Dw!-w27geGK(>Qq9;ug&OqWfmUNU8D=|@RFN-Xi>H@E9eX4yQa6jC}*W^88ZO17Z+jcg! zyAaqVs(GFv&gnxv=BU(tE_bf5SH9}2v#6l1JDH13 z?ZHo){vG(6iB*o$@V4);@q9H(JZje(nltTJi2Fll#EnwoQM<-*KAS;LJI}YRCrt_S z7k~G$=eYzj>&sZZo0^M~_4#SxqrA0mPHAf90Bt+iU7Z5En^hxlgXH^`ofC7X^@?)j z&Zhm5BL4_8#oTyK_T0S}rtH3hte5IuR!zPi{*L>2`YKn6%FdU%lyAd-7j(~g?PS;Q zh1!mB5&1jw2+h;;=)Ad);6k|pDSW5RXqr2MDsR)7?qt)RyE%cgo{2f8kW0C|3tV_# z_REE&n8)26@GRoB0Y9E$H!dyuguZMBEnnD!el70y8XeoRax)$*+GN(o-gC{`WWL`^Ust#9xD3Eao%g{=}N+(ie=P}a` z{gmk<2N>#rdyc|igy)aldz|bG0FUY&vDI#InDnhopVz!1J9A}j;J-_F)bTbiBkOI_ z2eneiMy6x#=y>{p<9h-fD&oZ33LU*gPjF`Zm4s%Tu1s_roVeDj--Ml)tUaJE^x%Sn zx2^hJzLw%{K7E2A&%yEWvG<;5#mnn6A_QHsk-FnE0@B^ElbO|IJ3eIi7d3rHw)ve1Y%oguD-l)gxo%bHyC-ob4*EQ_^p4U@t;?x#1jNDO+-%+EF zf7p7eU9+N3_R#CmJ7UMkJ=Z<#_*>8WjQgja$WN?iaqQLa|8)%t9e%O5oF9TI&Uudf zOda_-dh@z8n>^17F;bq5l!tpcE6)RblsEF+P3N=nY=cR8#wic}XXW`U#f?0lr*kt8 zz5Z9MFB-Ap+>8b6RnfPi-$We^?Q7BZqDP`%M8Asu6m`_c1<`XN{%`z2bRc>p`dRc? zbR_yq)LJrI5t6}>5XTeKm1U-Y5qt4QLAKtxH?cI5&oJ`k8)plim~RLlOkViO^j{d2|s25+d*>i_@% diff --git a/scripts/Units/corrl.bos b/scripts/Units/corrl.bos index 1f81a0654b1..5f049046a3a 100644 --- a/scripts/Units/corrl.bos +++ b/scripts/Units/corrl.bos @@ -1,4 +1,22 @@ -#include "../recoil_common_includes.h" +// * Header Info * +// VersionSignature 4 +// NumberOfScripts 8 +// NumberOfPieces 8 +// LengthOfScripts 268 +// NumberOfStaticVars 1 +// UKZero 0 +// OffsetToScriptCodeIndexArray 9cc +// OffsetToScriptNameOffsetArray 9ec +// OffsetToPieceNameOffsetArray a0c +// OffsetToScriptCode 2c +// OffsetToNameArray a2c + +// OffsetToFirstName a2c + +#define TA // This is a TA script + +#include "sfxtype.h" +#include "exptype.h" piece base, flare1, flare2, flare3, turret; @@ -6,6 +24,8 @@ static-var gun_1; static-var Stunned; +#define SIG_AIM 2 + #define BASEPIECE base #define HITSPEED <20.0> @@ -13,7 +33,7 @@ static-var Stunned; #define UNITSIZE 5 #define MAXTILT 100 -#include "../unit_hitbyweaponid_and_smoke.h" +#include "unit_hitbyweaponid_and_smoke.h" Create() @@ -22,8 +42,11 @@ Create() hide flare3; hide flare2; gun_1 = flare1; - SLEEP_UNTIL_UNITFINISHED; - turn turret to x-axis <-25> speed <25.0>; + while( get BUILD_PERCENT_LEFT ) + { + sleep 400; + } + turn turret to x-axis <-25> speed <25.00000>; spin turret around y-axis speed <25.0>; } Stop() @@ -35,7 +58,7 @@ ExecuteRestoreAfterDelay() if (Stunned) { return (1); } - turn turret to x-axis <-25> speed <25.0>; + turn turret to x-axis <-25> speed <25.00000>; spin turret around y-axis speed <25.0>; } @@ -54,10 +77,10 @@ RestoreAfterDelay() start-script ExecuteRestoreAfterDelay(); } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; stop-spin turret around y-axis; turn turret to y-axis heading speed <450.000000>; turn turret to x-axis <0.000000> - pitch speed <450.000000>; @@ -67,7 +90,7 @@ AimWeapon1(heading, pitch) return (1); } -FireWeapon1() +FirePrimary() { ++gun_1; if( gun_1 == 4 ) @@ -77,30 +100,34 @@ FireWeapon1() return (0); } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = turret; + piecenum = turret; return (0); } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { if( gun_1 == 1 ) { - pieceIndex = flare1; + piecenum = flare1; } if( gun_1 == 2 ) { - pieceIndex = flare2; + piecenum = flare2; } if( gun_1 == 3 ) { - pieceIndex = flare3; + piecenum = flare3; } return (0); } - +SweetSpot(piecenum) +{ + piecenum = base; + return (0); +} Killed(severity, corpsetype) { diff --git a/scripts/Units/corroach.bos b/scripts/Units/corroach.bos index 9fb06637148..e6b2e930492 100644 --- a/scripts/Units/corroach.bos +++ b/scripts/Units/corroach.bos @@ -1,13 +1,15 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece lega2, lega3, lega5, lega6, legb2, legb3, legb5, legb6, lega1, lega4, legb1, legb4, base; -static-var isMoving; +static-var bMoving; movelegs(){ - if (isMoving){ + if (bMoving){ move lega6 to z-axis [-0.83] now; move lega5 to z-axis [-0.83] now; move legb6 to z-axis [-0.83] now; @@ -64,8 +66,8 @@ movelegs(){ walkscr() { - while (isMoving){ - if (isMoving){ + while (bMoving){ + if (bMoving){ turn base to y-axis <-18> speed <60>; move base to x-axis [0] speed [10]; @@ -74,7 +76,7 @@ walkscr() call-script movelegs(); } - if (isMoving){ + if (bMoving){ turn base to y-axis <0> speed <60>; move base to x-axis [3] speed [10]; @@ -83,7 +85,7 @@ walkscr() call-script movelegs(); call-script movelegs(); } - if (isMoving){ + if (bMoving){ turn base to y-axis <18> speed <60>; move base to x-axis [0] speed [10]; @@ -91,7 +93,7 @@ walkscr() call-script movelegs(); call-script movelegs(); } - if (isMoving){ + if (bMoving){ turn base to y-axis <0> speed <60>; move base to x-axis [-3] speed [10]; @@ -107,16 +109,16 @@ walkscr() } -Movement(myMoving) +MotionControl(Func_Var_1) { while( TRUE ) { - myMoving = isMoving; - if( myMoving ) + Func_Var_1 = bMoving; + if( Func_Var_1 ) { call-script walkscr(); } - if( !myMoving ) + if( !Func_Var_1 ) { sleep 100; } @@ -125,22 +127,21 @@ Movement(myMoving) Create() { - isMoving = FALSE; - start-script Movement(); + bMoving = FALSE; + start-script MotionControl(); } +#define SMOKEPIECE base +#include "smokeunit_thread_nohit.h" -#define BASEPIECE base -#include "../unit_hitbyweaponid_and_smoke.h" - -StartMoving(reversing) +StartMoving() { - isMoving = TRUE; + bMoving = TRUE; } StopMoving() { - isMoving = FALSE; + bMoving = FALSE; } AimWeapon1() @@ -158,31 +159,34 @@ FireWeapon1() emit-sfx 4096 + 1 from base; //Weapon2 detonates the crawling bomb once weapon1 fires } -QueryWeapon1(pieceIndex) +QueryWeapon1(piecenum) { - pieceIndex = base; + piecenum = base; } -AimFromWeapon1(pieceIndex) +AimFromWeapon1(piecenum) { - pieceIndex = base; + piecenum = base; } -QueryWeapon2(pieceIndex) +QueryWeapon2(piecenum) { - pieceIndex = base; + piecenum = base; } -AimFromWeapon2(pieceIndex) +AimFromWeapon2(piecenum) { - pieceIndex = base; + piecenum = base; } FireWeapon2() { } - +SweetSpot(piecenum) +{ + piecenum = lega2; +} Killed(severity, corpsetype) { @@ -190,12 +194,36 @@ Killed(severity, corpsetype) { corpsetype = 1 ; explode base type BITMAPONLY | NOHEATCLOUD; + //explode lega6 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lega4 type BITMAPONLY | NOHEATCLOUD; + //explode lega3 type BITMAPONLY | NOHEATCLOUD; + //explode lega1 type BITMAPONLY | NOHEATCLOUD; + //explode legb6 type BITMAPONLY | NOHEATCLOUD; + //explode legb4 type BITMAPONLY | NOHEATCLOUD; + //explode legb3 type BITMAPONLY | NOHEATCLOUD; + //explode legb1 type BITMAPONLY | NOHEATCLOUD; + //explode lega5 type BITMAPONLY | NOHEATCLOUD; + //explode lega2 type BITMAPONLY | NOHEATCLOUD; + //explode legb5 type BITMAPONLY | NOHEATCLOUD; + //explode legb2 type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } if( severity <= 50 ) { corpsetype = 2 ; explode base type BITMAPONLY | NOHEATCLOUD; + //explode lega6 type FALL | NOHEATCLOUD; + //explode lega4 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lega3 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lega1 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode legb6 type FALL | NOHEATCLOUD; + //explode legb4 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode legb3 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode legb1 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lega5 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lega2 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode legb5 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode legb2 type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) diff --git a/scripts/Units/corroach.cob b/scripts/Units/corroach.cob index f34e9d43fa0a0a2bf3c3265ca036816c90e5c7b9..3cd38a67bd4964f41f3065d81e97f52a0530775e 100644 GIT binary patch delta 769 zcma*lKWGzC90%~1!_;_i`uy_~!J##F61KZB`yiW<6^QI#H=1lX*oiQ5x#H}kI zb-8s5BXtfbR-VtF+{)}C9-S=66O@h8x%~EvaSLOyp=q4qC9giKiluU~Byo8m5}UZA z#<5phkh5h$HvSF$*XG+^ZTJ`+y@J>97T&==yoZnQ1%ASBFmaO$BfS1Qa37w+9=w1t z?868648Oqk@K=Hc9D^k|4FR0m*BcOv`B$W)THzx*x43y^K!vveuQeQ8>^E1zDJ8ZN1S;x|r)hTk~F} Q?*yAslm!Ewv0q*N18c8$r~m)} literal 3445 zcmcInU5JcP7=Cwl4AxH{C6qMogcxH7Y=X~d!AuA&DfjPjtj0pa^ z&+St~;)^dDKbJLq}Im2CiiwESx zcM_{yOA{{Jgqvo#2P^RKOoAC0_+fv_wZ+spZe|k>%iunYUCLRZCE&cR=hq+Fm9yHF zv)Yxj+P^=5!jyL9tajzBcIB-0{fE(OO1pAayK+{$auaEH3zB;8%31BoS?$VM?aFb~ zJ)@k}uAJ4boYn5Qly>E;cIB*gKNr~ZunA4t=Z{FDdyQlJSDcf)1UN=QJ>*2% z{0Jh5ZJ3GVbMZNwWNvG`2v`T;tEt|IsL& zx!?r~#P0|bylcs4+?hukBDnvKVWMl1Da7|;#=Xy4_Zfp6xJU_J4w~O;a+}9QOQWpkO zW6VZ>+Sn6E_QZ3{4>h{q0q>J&h7ZpsZH#xC(TDcS(f#rEZ%o|T8gO0RT|%q3F^2?k zKfErPj}+Iz=7`rd_IvF8$Z1Z-ZJZnT%yJqlg;uvFE*?FI-_Kf~F{j0C_VLUbK+IPXon);sHeoAR(51;7Zd1~hSz^{Cg zOLORN;dS_H@98ybW*gU|-wTZATJU@vL1TQ*@)`S-8aQQLjHR+QaXWn+?_T-h?{1voy`Ik)-u7H%6IfS0^NUR1dX}}m zo_jtstl6EAwy~`Gjhi!r@6*QUp5)bS^)rp_XR7S!Ui2m?en;^Wcs;7pC@i99Rvs106so&<*Sc4gyDk6F?a_3k(9)+PSDd>K&5vVSnGysk-a| zQH=%~vb7$CjYzgv8e1;(MB!j_D1DH)mmR9hZ?>bzw_y?*OCxpD>8n}W^)u}SEau{DhqUkMfbhVeXn=l8~9yv ae97@8$Cn%*u5~``&d1G5?NSPdBKZvjG$*D2 diff --git a/scripts/Units/corroy.bos b/scripts/Units/corroy.bos index 7b773915763..e8f8c7f820d 100644 --- a/scripts/Units/corroy.bos +++ b/scripts/Units/corroy.bos @@ -1,23 +1,84 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece flarea1, flarea2, flareb, base, turret, sleeves, wake, bow, barrel1, barrel2; -static-var gun_1, restore_delay, aimDir1, aimDir2; +static-var Static_Var_1, restore_delay, Static_Var_7, Static_Var_8, aimDir; // Signal definitions +#define SIG_MOVE 8 -#define RB_MASS 30 -#define RB_LENGTH 7 -#define RB_WIDTH 3 -#define RB_PITCH_SPEED 200 -#define RB_PITCH_ACCELERATION 10 -#define RB_ROLL_ACCELERATION 8 -#define RB_RECOIL_ENERGY_1 700 -#define RB_RECOIL_ENERGY_2 250 -#define RB_BOWSPLASH_PIECE bow +#define BASEPIECE base +#define HITSPEED <25.0> +//how 'heavy' the unit is, on a scale of 1-10 +#define UNITSIZE 7 +#define MAXTILT 200 -#include "../bar_ships_common.h" +#include "unit_hitbyweaponid_and_smoke.h" + +RockOnWaves() +{ + var rockDir, rockAng, rockSpeed; + rockDir = <-0.1>; + rockAng = <-0.1>; + while( TRUE ) + { + while( get ABS(rockAng) < <1.31> ) + { + rockSpeed = <1.45> - get ABS(rockAng); + turn base to x-axis rockAng speed rockSpeed*5; + turn base to z-axis rockAng speed rockSpeed*5; + wait-for-turn base around x-axis; + wait-for-turn base around z-axis; + rockAng = rockAng + rockDir; + } + rockDir = 0 - rockDir; + rockAng = rockAng + rockDir + rockDir; + } +} + +ProjXPW(Func_Var_1, Func_Var_2) +{ + if( Func_Var_2 < -21840 ) + { + Static_Var_7 = Func_Var_1 * ( Func_Var_2 + 32760 ) / 10920; + } + else if( Func_Var_2 > 21840 ) + { + Static_Var_7 = Func_Var_1 * ( 32760 - Func_Var_2 ) / 10920; + } + else if( Func_Var_2 < -10920 ) + { + Static_Var_7 = 0 - Func_Var_1; + } + else if( Func_Var_2 > 10920 ) + { + Static_Var_7 = Func_Var_1; + } + else + { + Static_Var_7 = Func_Var_1 * Func_Var_2 / 10920; + } +} + +RockZ(Func_Var_1, Func_Var_2) +{ + signal 4096; + set-signal-mask 4096; + call-script ProjXPW(10920 / Func_Var_2,Func_Var_1); + Static_Var_8 = Static_Var_8 + Static_Var_7; + Static_Var_7 = get ABS(Static_Var_8); + while( Static_Var_7 > 91 ) + { + turn base to z-axis Static_Var_8 speed Static_Var_7 * <0.0125>; + wait-for-turn base around z-axis; + Static_Var_8 = Static_Var_8 * -1 / 2; + Static_Var_7 = get ABS(Static_Var_8); + } + turn base to z-axis <0.000000> speed <1.5>; +} Create() { @@ -29,16 +90,18 @@ Create() hide flarea1; hide flarea2; hide flareb; - gun_1 = 0; + Static_Var_1 = 0; restore_delay = 3000; - start-script InitRockBoat(); - SLEEP_UNTIL_UNITFINISHED; - start-script BoatPhysics(); + while( get BUILD_PERCENT_LEFT ) + { + sleep 400; + } + start-script RockOnWaves(); } -SetMaxReloadTime(reloadMS) +SetMaxReloadTime(Func_Var_1) { - restore_delay = reloadMS * 2; + restore_delay = Func_Var_1 * 2; return (0); } @@ -48,8 +111,8 @@ ExecuteRestoreAfterDelay() if (Stunned) { return (1); } - turn turret to y-axis <0.0> speed <35.0>; - turn sleeves to x-axis <0.0> speed <20.0>; + turn turret to y-axis <0.000000> speed <35.000000>; + turn sleeves to x-axis <0.000000> speed <20.000000>; } SetStunned(State) { @@ -64,84 +127,107 @@ RestoreAfterDelay() start-script ExecuteRestoreAfterDelay(); } -StartMoving(reversing) +StartMoving() { - + signal SIG_MOVE; + set-signal-mask SIG_MOVE; + var waketime; + var bowtime; + bowtime = 0; + while( TRUE ) + { + emit-sfx 1024 + 1 from wake; + if (bowtime) emit-sfx 1024 + 2 from bow; + bowtime = !bowtime; + waketime = (get CURRENT_SPEED) * 100 / get MAX_SPEED; + if( waketime < 50 ) waketime = 50; + sleep 15000 / waketime; + } } StopMoving() { - + signal SIG_MOVE; + return (0); } -AimWeapon1(heading, pitch) +AimWeapon1(Func_Var_1, Func_Var_2) { signal 2; set-signal-mask 2; - turn turret to y-axis heading speed <60.0>; - turn sleeves to x-axis RB_AIMPITCHCORRECTION(heading) - pitch speed <40.0>; + turn turret to y-axis Func_Var_1 speed <60.000000>; + turn sleeves to x-axis <0.000000> - Func_Var_2 speed <40.000000>; wait-for-turn turret around y-axis; wait-for-turn sleeves around x-axis; - aimDir1 = heading; + aimDir = Func_Var_1; start-script RestoreAfterDelay(); return (1); } -AimWeapon2(heading, pitch) +AimWeapon2(Func_Var_1, Func_Var_2) { - aimDir2 = heading; + signal 4; + set-signal-mask 4; + start-script RestoreAfterDelay(); return (1); } FireWeapon1() -{ - RB_RECOILBOAT(aimDir1, RB_RECOIL_ENERGY_1); - if( gun_1 == 0 ) +{ + start-script RockZ(-9,aimDir); + if( Static_Var_1 == 0 ) { emit-sfx 1024 + 0 from flarea1; - move barrel1 to z-axis [-7.500000] speed [100.0]; + move barrel1 to z-axis [-7.500000] speed [100.000000]; wait-for-move barrel1 along z-axis; - move barrel1 to z-axis [0.0] speed [7.500000]; + move barrel1 to z-axis [0.000000] speed [7.500000]; } - if( gun_1 == 1 ) + if( Static_Var_1 == 1 ) { emit-sfx 1024 + 0 from flarea2; - move barrel2 to z-axis [-7.500000] speed [100.0]; + move barrel2 to z-axis [-7.500000] speed [100.000000]; wait-for-move barrel2 along z-axis; - move barrel2 to z-axis [0.0] speed [7.500000]; + move barrel2 to z-axis [0.000000] speed [7.500000]; } - gun_1 = !gun_1; + Static_Var_1 = !Static_Var_1; return (0); } FireWeapon2() { emit-sfx 1024 + 0 from flareb; - sleep 100; - RB_RECOILBOAT(aimDir2, RB_RECOIL_ENERGY_2); + return (0); } -AimFromWeapon1(pieceIndex) +AimFromWeapon1(Func_Var_1) { - pieceIndex = turret; + Func_Var_1 = 4; + return (0); } -QueryWeapon1(pieceIndex) +QueryWeapon1(Func_Var_1) { - pieceIndex = flarea1 + gun_1; + Func_Var_1 = Static_Var_1; + return (0); } -AimFromWeapon2(pieceIndex) +AimFromWeapon2(Func_Var_1) { - pieceIndex = base; + Func_Var_1 = 3; + return (0); } -QueryWeapon2(pieceIndex) +QueryWeapon2(Func_Var_1) { - pieceIndex = base; + Func_Var_1 = 3; + return (0); } - +SweetSpot(piecenum) +{ + piecenum = base; + return (0); +} Killed(severity, corpsetype) { @@ -152,6 +238,11 @@ Killed(severity, corpsetype) explode turret type BITMAPONLY | NOHEATCLOUD; explode sleeves type BITMAPONLY | NOHEATCLOUD; explode barrel1 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flarea1 type BITMAPONLY | NOHEATCLOUD; + //explode barrel2 type BITMAPONLY | NOHEATCLOUD; + //explode flarea2 type BITMAPONLY | NOHEATCLOUD; + //explode wake1 type BITMAPONLY | NOHEATCLOUD; + //explode flareb type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } if( severity <= 50 ) @@ -161,6 +252,11 @@ Killed(severity, corpsetype) explode turret type FALL | NOHEATCLOUD; explode sleeves type FIRE | SMOKE | FALL | NOHEATCLOUD; explode barrel1 type FALL | NOHEATCLOUD; + //explode flarea1 type FALL | NOHEATCLOUD; + //explode barrel2 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flarea2 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode wake1 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flareb type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) @@ -170,7 +266,11 @@ Killed(severity, corpsetype) explode turret type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode sleeves type SMOKE | FALL | NOHEATCLOUD; explode barrel1 type SMOKE | FALL | NOHEATCLOUD; + //explode flarea1 type FIRE | SMOKE | FALL | NOHEATCLOUD; explode barrel2 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flarea2 type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode wake1 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flareb type SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; @@ -178,6 +278,10 @@ Killed(severity, corpsetype) explode turret type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode sleeves type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode barrel1 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flarea1 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode barrel2 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flarea2 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode wake1 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flareb type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/corsala.bos b/scripts/Units/corsala.bos index 01ae253c6fc..16a5c67ecf1 100644 --- a/scripts/Units/corsala.bos +++ b/scripts/Units/corsala.bos @@ -1,36 +1,72 @@ +#define TA // This is a TA script -#include "../../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece flare1, flare2, turret, base, sleeve, barrel1, barrel2, wake1, wake2, exhaust1, exhaust2, exhaust3, aimpoint; -static-var restore_delay, gun_1; +static-var bMoving, moveSpeed, currentSpeed, animSpeed, restore_delay, gun_1, terrain; // Signal definitions -#define SIGNAL_AIM1 256 -#define SIGNAL_MOVE 1 +#define SIG_AIM 2 +#define SIG_MOVE 4 -#define VD_PIECE1 wake1 -#define VD_PIECE2 wake2 -#define VD_AMPHIBIOUS -#define VD_DIRTCEG 1024 + 1 -#include "../../vehicle_dirt_cegs.h" +Smoke() +{ + while( TRUE ) + { + currentSpeed = (get CURRENT_SPEED)*20/moveSpeed; + if (currentSpeed<4) currentSpeed=4; + animSpeed = 1600 / currentSpeed; + if ( bMoving ) + { + if( terrain == 4 ) + { + emit-sfx 1024 + 1 from wake1; + emit-sfx 1024 + 1 from wake2; + } + } + sleep animSpeed; + } +} #define BASEPIECE base #define HITSPEED <55.0> //how 'heavy' the unit is, on a scale of 1-10 #define UNITSIZE 5 #define MAXTILT 100 -#define RECOIL_POWER 10000 -#include "../../unit_hitbyweaponid_and_smoke.h" +#include "unit_hitbyweaponid_and_smoke.h" + +/* +RockUnit(anglex, anglez) +{ + turn base to x-axis anglex speed <50.000000>; + turn base to z-axis <0> - anglez speed <50.000000>; + wait-for-turn base around z-axis; + wait-for-turn base around x-axis; + turn base to z-axis <0.000000> speed <20.000000>; + turn base to x-axis <0.000000> speed <20.000000>; +} +*/ -#define TB_BASE base -#define TB_TURNRATE <20.0> -#define TB_TILT_X <0.15> -#define TB_BANK_Z <0.15> // Do not define this if you dont want banking -#include "../../tilt_bank_mobileunit.h" +EmitSFX() +{ + while( TRUE ) + { + if( bMoving ) + { + if( terrain == 1 ) + { + emit-sfx 259 from wake1; + emit-sfx 259 from wake2; + } + } + sleep 250; + } +} Create() { @@ -38,19 +74,32 @@ Create() hide wake1; hide flare2; hide flare1; + bMoving = FALSE; + moveSpeed = get (MAX_SPEED); + animSpeed = 100; + hide flare1; + hide flare2; + bMoving = FALSE; gun_1 = 0; restore_delay = 3000; turn exhaust1 to x-axis <-45> now; turn exhaust2 to x-axis <-90> now; turn exhaust3 to x-axis <-135> now; - call-script TB_Init(); - SLEEP_UNTIL_UNITFINISHED; + while( get BUILD_PERCENT_LEFT ) + { + sleep 400; + } + start-script EmitSFX(); } +setSFXoccupy(state) +{ + terrain = state; +} -SetMaxReloadTime(reloadMS) +SetMaxReloadTime(Func_Var_1) { - restore_delay = reloadMS * 2; + restore_delay = Func_Var_1 * 2; } static-var Stunned; @@ -59,8 +108,8 @@ ExecuteRestoreAfterDelay() if (Stunned) { return (1); } - turn turret to y-axis <0.0> speed <65.0>; - turn sleeve to x-axis <0.0> speed <35.0>; + turn turret to y-axis <0.000000> speed <65.000000>; + turn sleeve to x-axis <0.000000> speed <35.000000>; } SetStunned(State) { @@ -75,26 +124,26 @@ RestoreAfterDelay() start-script ExecuteRestoreAfterDelay(); } -StartMoving(reversing) +StartMoving() { - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; - start-script Vehicle_Dirt_Ceg(); - START_TILTBANK; + bMoving = TRUE; + signal SIG_MOVE; + set-signal-mask SIG_MOVE; + start-script Smoke(); } StopMoving() { - signal SIGNAL_MOVE; - STOP_TILTBANK; + bMoving = FALSE; + signal SIG_MOVE; } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; - turn turret to y-axis heading speed <150.0>; //<75.0> - turn sleeve to x-axis <0.0> - pitch speed <45.0>; + signal SIG_AIM; + set-signal-mask SIG_AIM; + turn turret to y-axis heading speed <150.000000>; //<75.000000> + turn sleeve to x-axis <0.000000> - pitch speed <45.000000>; wait-for-turn turret around y-axis; wait-for-turn sleeve around x-axis; start-script RestoreAfterDelay(); @@ -137,7 +186,7 @@ FlameLight() } -FireWeapon1() +FirePrimary() { if( gun_1 == 0 ) @@ -147,7 +196,7 @@ FireWeapon1() //emit-sfx 1024 + 0 from flare1; //sleep 334; //wait-for-move barrel1 along z-axis; - //move barrel1 to z-axis [0.0] speed [4.5]; + //move barrel1 to z-axis [0.000000] speed [4.5]; } if( gun_1 == 1 ) { @@ -156,24 +205,27 @@ FireWeapon1() //emit-sfx 1024 + 0 from flare2; //sleep 334; //wait-for-move barrel2 along z-axis; - //move barrel2 to z-axis [0.0] speed [4.5]; + //move barrel2 to z-axis [0.000000] speed [4.5]; } //sleep 234; gun_1 = !gun_1; } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = gun_1; + piecenum = gun_1; } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = aimpoint; + piecenum = aimpoint; } - +SweetSpot(piecenum) +{ + piecenum = base; +} Killed(severity, corpsetype) { @@ -184,6 +236,11 @@ Killed(severity, corpsetype) explode turret type BITMAPONLY | NOHEATCLOUD; explode sleeve type BITMAPONLY | NOHEATCLOUD; explode barrel1 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare1 type BITMAPONLY | NOHEATCLOUD; + //explode barrel2 type BITMAPONLY | NOHEATCLOUD; + //explode flare2 type BITMAPONLY | NOHEATCLOUD; + //explode wake1 type BITMAPONLY | NOHEATCLOUD; + //explode wake2 type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } if( severity <= 50 ) @@ -193,6 +250,11 @@ Killed(severity, corpsetype) explode turret type FALL | NOHEATCLOUD; explode sleeve type FIRE | SMOKE | FALL | NOHEATCLOUD; explode barrel1 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare1 type FALL | NOHEATCLOUD; + //explode barrel2 type FALL | NOHEATCLOUD; + //explode flare2 type FALL | NOHEATCLOUD; + //explode wake1 type FALL | NOHEATCLOUD; + //explode wake2 type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) @@ -202,6 +264,11 @@ Killed(severity, corpsetype) explode turret type FIRE | SMOKE | FALL | NOHEATCLOUD; explode sleeve type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode barrel1 type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode flare1 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode barrel2 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare2 type SMOKE | FALL | NOHEATCLOUD; + //explode wake1 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode wake2 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; @@ -209,5 +276,10 @@ Killed(severity, corpsetype) explode turret type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode sleeve type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode barrel1 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode flare1 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode barrel2 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare2 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode wake1 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode wake2 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/corsala.cob b/scripts/Units/corsala.cob index dc9881f3845d96fdc6f0c5195a42c2bc05f87b03..481841c6ff996f9cda1a8a930fbb57b57d92706b 100644 GIT binary patch literal 4340 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 dCE)pYK>m=8_C`npfuBWw3{s+~9hUowR diff --git a/scripts/Units/corsat.bos b/scripts/Units/corsat.bos index d3905f34ed8..f95d97b730a 100644 --- a/scripts/Units/corsat.bos +++ b/scripts/Units/corsat.bos @@ -1,17 +1,45 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, bwing, lthrust, mthrust, rthrust; + + + + #define BASEPIECE base #define HITSPEED <105.0> //how 'heavy' the unit is, on a scale of 1-10 #define UNITSIZE 1 #define MAXTILT 100 -#include "../unit_hitbyweaponid_and_smoke.h" +#include "unit_hitbyweaponid_and_smoke.h" +static-var maxSpeed, currentSpeed; + +BarrelRoll() // remember to start-script BarrelRoll(); in Create()! +{ + currentSpeed = (get CURRENT_SPEED); + maxSpeed = (get MAX_SPEED); + + while (TRUE){ + sleep 2000; + currentSpeed = (get CURRENT_SPEED); + //get PRINT(maxSpeed, currentSpeed, Static_Var_1); + if( Rand( 1, 5 ) == 1 AND (maxSpeed < (currentSpeed+100) ) ) + { + turn base to z-axis <240.054945> speed <120.027473>; + wait-for-turn base around z-axis; + turn base to z-axis <120.027473> speed <180.043956>; + wait-for-turn base around z-axis; + turn base to z-axis <0.000000> speed <120.027473>; + } + } +} Create() { + //start-script BarrelRoll(); hide lthrust; hide mthrust; hide rthrust; @@ -34,7 +62,10 @@ Deactivate() turn bwing to x-axis <40> speed <45>; } - +SweetSpot(piecenum) +{ + piecenum = base; +} Killed(severity, corpsetype) { diff --git a/scripts/Units/corsat.cob b/scripts/Units/corsat.cob index 7cd4d658c5babf73c451353c80c70a2bcba4274b..b39244fe8e1d3826d36d749237c60d986e16ed02 100644 GIT binary patch literal 2054 zcmb7FJ&RLO5S@H%RuSRaDfscgc9Gx@kaZPNw+V(|rR44Aq0zTV$UY5L1`F{ASXjt{ zg@U5Bg&^B)tJZclR$^tjdd___FV|?6Y{D>;xo5u4ox58Vk%N#0$aYDj0?p6TqDTXh zL6-3Q3A99I7fRXT3wH^+qZ%nh>J=x;6<4m89rF=KO`Ol~7M!$e?x^~pP^^a236A-s zp5so#v>KL^zh7O=bF-$!vbJH_gGAz(%KBss&%H0uzOR2`C-KA!GW)o|rfI!USLr}q zt1+woES%+|CMV>Zxje7nYzyw9PE_?A6UzCidA34Bxf`i3_P$clSGAtw{e3F;gcP~; zjvfU*a!*WH>nt7MP3n1W_F44c&>y~ph~|5y=OqGv=655@HTPWo0he5XFBkL3z3TrKArKHDd1VkUFoPVljPwmQszf(Ph> z`E1`-10VAcN6lUj!{F~vd|S%j|8iIy->6`sA_r#Sd_4C|L-Wk{(#L*tB%^05-K5F|rN|QMMKDCd>0MN(T=k3GpXUv4! z<6iaFiPL&7wI1(m-g=yOKeH0MpZs?3o@nKAUS2uc4af_~4upiCgq(q#gIt2}|KwB1 z7UV7DJ>(-~2l55-74i-89r6S63$hEj+|5=VTut><%N=H`W;V?)w@ F{{R*2m-hew literal 1716 zcma)6F>e!540bNp>%#EL1QHSlGeRfC!q$`y1%!x%1ZywNsYE1Al^#V*EM-9~ES)+q zAO^$&zkrpUpTN+u5-UP{pU)U59@YT;R7%pTYH-T%g zY(Pq$gcz-mgcY*$G{|Na&OxQEPg^$&)Klv4Q}0kOmXv!HY6=@o^ifK8>Z6Udq=orH z77`_iB=EJNQ<6ieE^v6JkMUkdTr;`M^Vh%H4oT72VjpuzXzE!rK27W^=II^Q(|zO7 z<~e!Khr9pQs(ln~or%Vy2FXQx@Y)!|SYFBdT+WZ3#*@c>8G8Vg@)aa=a5kQER!Y&l zk#j*klN)mw&z^nu9XNTXztgD^S4MmX?8?bvv6$oB(i%f^WA`-bLHH~|6+Wabq<@-{GK3nzL2b!vAdU`d=;&Y zblNC2uG{bgQsW?fXMbOgxcP#3yGJ1X-r0D)e^GpnT7bCMi>xhg=5-76V7(j*=S<1- zJ4gx3+6T`^c2=J8XWvg}Xn7x4UeBRaa!It3-Yp;vtkby#L|2n z_ze66xMM586@dTukANO92KIrMz-!uRbP7LUM0QfgPm;|)=wtS_G%fKoS6Ir@+f=g diff --git a/scripts/Units/corsb.bos b/scripts/Units/corsb.bos index 6c82bda4811..0c81810831a 100644 --- a/scripts/Units/corsb.bos +++ b/scripts/Units/corsb.bos @@ -1,8 +1,28 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, door1, door2, flare, thrusta, thrustb ; +static-var Static_Var_1, bMoving, statechg_DesiredState, statechg_StateChanging; + +Go() +{ + return (0); + // Build by COBBLER Ver4.0 Copyright @1998 DIGITAL CONCEPT SOFTWARE (MANU@inext.fr) / http://www.annihilationcenter.com/DCS/ +} + +Stop() +{ +} + + +InitState() +{ + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; +} #define BASEPIECE base #define HITSPEED <105.0> @@ -10,7 +30,33 @@ piece base, door1, door2, flare, thrusta, thrustb ; #define UNITSIZE 1 #define MAXTILT 100 -#include "../unit_hitbyweaponid_and_smoke.h" +#include "unit_hitbyweaponid_and_smoke.h" + +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + call-script Go(); + currentstate = 0; + } + if( statechg_DesiredState == 1 ) + { + call-script Stop(); + currentstate = 1; + } + } + statechg_StateChanging = FALSE; +} Create() @@ -18,27 +64,49 @@ Create() hide thrustb; hide thrusta; hide flare; + Static_Var_1 = 0; + bMoving = FALSE; + call-script InitState(); } Activate() { show thrustb; show thrusta; + start-script RequestState(0); } Deactivate() { hide thrustb; hide thrusta; + start-script RequestState(1); } +setSFXoccupy(Func_Var_1) +{ + Static_Var_1 = Func_Var_1; +} -QueryWeapon1(pieceIndex) +StartMoving() { - pieceIndex = flare; + bMoving = TRUE; } +StopMoving() +{ + bMoving = FALSE; +} + +QueryPrimary(piecenum) +{ + piecenum = flare; +} +SweetSpot(piecenum) +{ + piecenum = base; +} Killed(severity, corpsetype) { diff --git a/scripts/Units/corsb.cob b/scripts/Units/corsb.cob index 009b154fef21aed2557ca973a7bba06484da6d9a..8ea527d16b396c4571a63b0428fd22e9c4ac65f3 100644 GIT binary patch literal 2899 zcmd5;J7^S96utY&`U9Oe9j`B`jP5v8OO{Iv)O`}=PLDn)y$Ht)=b?T1$IUc!BQ3& zSt;8w_sAI3QN>(t3=`k(BYdcK=ciTwgv(~H*4>f8I8}GT*muUDS-Gj{5 zyq8v9&dGaL4wB8py>HAlNgd|F`|}noWnIe97b{@x<6hJI^WMssPUj&W>~ZFgb@N`5 z(q`O8&B*ocY96hL`OJMrEnghJ{99setV#3J$4rYpjqN$rH`7}`X{WtRB8ckpeVRG@ zc&GNKdd=bbu@-5jF^}*7KO+OHwW=R?_T9=s%nWrVJe&L5#;Ya|YUT>++ORLGwI-fT zKIAp;$~+$9re6lS{r?j)7VdUwS{6RV@al-BJ3j+_ZA~ zXs_d_?zigfDtulwemVovtR8Ru)#-v4Bmp9kao zuRZI1Fb~Z3yqCA7vncZ4X@2>+aLk+wziIqixB|QeJ_5(E?0Uv-*z-Qna@C&FM5;+W<08RpRUaOK%O8@u0-p-wL2!KWv`CHc%vEjR)ZKe4??&MqC}Q@{eIY$vsZn8(VSgIqd9A#9o%!mJb&(wDk{T_~6pc zQY>^rGlI;TinU~;!JuPE7|z7VcOF&FV5##rKHCb-tn^i5)UZ(UnNN6J%vHt39%-ig z35U;X(&yvdqg>-0Su5@&=8J=MEzaQF$RU@O^mBcD?qNPS<|TJWCVE$z8tlev*0p8j z9XVFeQ?XSH`ONIQpHq;Yeox2ohQmI9vYv1GhdScvyqxF1csbsA`S~PXOY}&*UL{_>Z|}PYrm`t;J=sFOmM<5>M{A?!h20z%`J}M9rOC<` w#zK+1`EausrwTK6Z)J707}{dKQP^-a8qdVPJ$t&Ej|-bT8*gq*@}w8-4{B+PNdN!< diff --git a/scripts/Units/corscreamer.bos b/scripts/Units/corscreamer.bos index 164e2dc5951..a17645287ce 100644 --- a/scripts/Units/corscreamer.bos +++ b/scripts/Units/corscreamer.bos @@ -1,14 +1,14 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, turret, barrel, flare; -#define SIGNAL_AIM1 256 +#define SIG_AIM 2 - -#define BASEPIECE base -#define MAXTILT 0 -#include "../unit_hitbyweaponid_and_smoke.h" +#define SMOKEPIECE base +#include "smokeunit_thread_nohit.h" static-var Stunned; ExecuteRestoreAfterDelay() @@ -16,7 +16,7 @@ ExecuteRestoreAfterDelay() if (Stunned) { return (1); } - turn barrel to x-axis <-13> speed <25.0>; + turn barrel to x-axis <-13> speed <25.00000>; spin turret around y-axis speed <20.0>; } SetStunned(State) @@ -35,8 +35,10 @@ RestoreAfterDelay() Create() { hide flare; - call-script CATT1_Init(); - SLEEP_UNTIL_UNITFINISHED; + while( get BUILD_PERCENT_LEFT ) + { + sleep 400; + } start-script ExecuteRestoreAfterDelay(); } //-------------------------------CONSTANT ACCELERATION TURRET TURNING--------------------------- @@ -44,48 +46,95 @@ Create() // Jerk is the minimum velocity of the turret // A high precision requirement can result in overshoots if desired // (c) CC BY NC ND Beherith mysterme@gmail.com -#define CATT1_PIECE_X barrel -#define CATT1_PIECE_Y turret - -#define CATT1_MAX_VELOCITY <6.0> -#define CATT1_ACCELERATION <0.5> -#define CATT1_JERK <1.5> -#define CATT1_PRECISION <1.2> -#define CATT1_RESTORE_SPEED <1.0> -#define CATT1_PITCH_SPEED <125> - -#include "../constant_acceleration_turret_turning_1.h" +#define MAX_AIMY1_VELOCITY <6.00> +#define AIMY1_ACCELERATION <0.5> +#define AIMY1_JERK <1.5> +#define AIMY1_PRECISION <1.2> +#define AIMY1_RESTORE_SPEED <1.0> +static-var aimy1delta, timetozero, deceleratethreshold; +static-var aimy1velocity, aimy1target, aimy1position, gameFrame; AimWeapon1(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; - - call-script CATT1_Aim(heading,pitch); - + signal SIG_AIM; + set-signal-mask SIG_AIM; + + //We can do this any time + turn barrel to x-axis <0.000000> - pitch speed <125.000000>; + + aimy1target = heading; + aimy1delta = aimy1target - aimy1position; + + while( ( get ABS(aimy1delta) > AIMY1_PRECISION ) OR (get ABS(aimy1velocity) > AIMY1_JERK)){ + if (gameFrame != get(GAME_FRAME)){ //this is to make sure we dont get double-called, as previous aimweapon thread runs before new aimweaponthread can signal-kill previous one + gameFrame = get(GAME_FRAME); + + //Clamp aimy1position and aimy1delta between <-180>;<180> + while (aimy1position > <180>) aimy1position = aimy1position - <360>; + while (aimy1position < <-180>) aimy1position = aimy1position + <360>; + while (aimy1delta > <180>) aimy1delta = aimy1delta - <360>; + while (aimy1delta < <-180>) aimy1delta = aimy1delta + <360>; + + //number of frames required to decelerate to 0 + timetozero = get ABS(aimy1velocity) / AIMY1_ACCELERATION; + + //distance from target where we should start decelerating, always 'positive' + //pos = t * v - (t*(t-1)*a/2) + deceleratethreshold = timetozero * (get ABS(aimy1velocity)) - (timetozero * (timetozero - 1) * AIMY1_ACCELERATION / 2); + + //get PRINT ( aimy1delta , deceleratethreshold, aimy1velocity, timetozero ); + + if (get ABS(aimy1delta) <= deceleratethreshold){ //we need to decelerate + if (aimy1velocity > 0) aimy1velocity = aimy1velocity - AIMY1_ACCELERATION; + else aimy1velocity = aimy1velocity + AIMY1_ACCELERATION; + } + else //we need to accelerate + { + if (aimy1delta > 0) aimy1velocity = get MIN( MAX_AIMY1_VELOCITY, aimy1velocity + AIMY1_ACCELERATION); + else aimy1velocity = get MAX((-1) * MAX_AIMY1_VELOCITY, aimy1velocity - AIMY1_ACCELERATION); + } + + //Apply jerk at very low velocities + if (get ABS(aimy1velocity) < AIMY1_JERK){ + if ((aimy1delta > AIMY1_JERK)) aimy1velocity = AIMY1_JERK; + if ((aimy1delta < (-1) * AIMY1_JERK)) aimy1velocity = (-1) * AIMY1_JERK; + } + + aimy1position = aimy1position + aimy1velocity; + turn turret to y-axis aimy1position now; + aimy1delta = aimy1target - aimy1position ; + } + sleep 30; + } + aimy1velocity = 0; + start-script RestoreAfterDelay(); return (1); } -FireWeapon1() +FirePrimary() { return (0); } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = barrel; + piecenum = barrel; return (0); } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = flare; + piecenum = flare; return (0); } - +SweetSpot(piecenum) +{ + piecenum = base; + return (0); +} Killed(severity, corpsetype) { diff --git a/scripts/Units/corscreamer.cob b/scripts/Units/corscreamer.cob index 50a8ba3ca18a83b09b21392cb1d45a885a134ddf..a200d3b2377ab34ae8b91731f70cf5dfc566dc2c 100644 GIT binary patch literal 3360 zcmb_fJ!@1!6untD8wHgof}n+LVgIIU_N z@ny1xsP%Y{orL&38c$tWt^)*1Hzbk{;QSM zRjEsYE%ZOj$?@P;s8aF!##pnFBYSRrAs5=o+vivgeD4ww{EFDtgGbw8N6-8DNJEkh zaADrKUrVZ6WHQF1_lubJ#o_sY5XW9Ohmnj>#ZRj>$P!= z`QguA5SO_gsE@7bVm-7`(yHh6fkvG7IBvAWzZkd8_W=Fwg`R)Kn!Gk@>_g)Ea~ABM zVJC*^$(O#2VGXo>zl{mF@a+63*uJbnp>_J2(fdyYpN&17DZMM3l#gNi_$2hn;w^{u zDbBxBe8KYM?>%t!lc zKF`!A=4LsTU?b0a%69_f$kF)toWLusB@KS$!5s9tuQ;ptaZNny^BirQ$1sB&+5?8FSZTJ4ivsF8ayOdWB~f1Nw4sVrugb6XbQuaCt&11o9N}9P%3S4)Ou=39+-pw+XV~(LMSKH0Z$!~Td B0Ac_D literal 3806 zcmb7{O=z4|6ozk-=~VIWt0F2w9mI_&GSQ7L#HNiQRf@3*D7dg=^HqcSb21SNLR+jN zSY1gMB2rumF4~2-C?bM_E`)*$bs-d7WM{x4qTu*G_q*@p`k6NAz{$P$ocH{nduP%J zA>1Tth-OAY*rAor>oQ8I9$Z4n;E_MNKHHvVkSzNCzyjgft&4N94 zk+UCT-`)|icWc`a4;C`kFts6rHzZc0on%F`7>=M2h9y&|aRtLUiiF{e41LFu#|#!b z$S(ojGg1tlc=v4LMy}^ z92+|5;u2l2o9k}qgCk#bPio8hrdIp6&H5VJRga9tOdaF1u{j1FIlJ~_$*23YS=`uL z1CVM#&h#S`RZpzT8rnlKr}uOi#8Io+W-?R(F7_Uj zoVrps@aGa9HgVz!Rci2;7RTay`;9I(ys!S~_k-#j`H9rN;SV#*KvU!Kk6wHk8Is7G$ow!HeDeTKvI#=NW8>w1>GT9ZY+ z)<{7v_VYx)-*;}z#fi;ybpLW4>{y4`W^UbxAt*1I2$3Y)9b>I#?x2{?CD#Yy8Oh&f z-_5*k%n-JN@(5WC2eT!4H3QX~;hy*%^BEJ4#jET4GeXrDzWb8*-gvLp+eKjX<#;vE z=cGh$?DH+`w)k$W$7EFX2e;lAUhg6MKaXK+qc7xdKU?YW-WYo| z`8`Mc@{d0Cz^Ci7T|2x%*7Hg}gPuyxIr>U_e8leo<%@66?sj{MpK2zmx=+d=HFoTn z_nmpHCW~>TI#+Qti;2xJMb!&qUeN}>u5<3ABN;iqAtvj%KzTgTr|cm^&nt80d&6DD z2eOk1bN+ALWu1uuzGJt(*W3=g?e-3AobjTn;|H}I2lKD*kW(o(c#b)*hn}7Oz@GZ- z-&WX!|Jy$s?~?C>bK^c>lb&Kz%izv%CzuiHZoTm3f8V4Q3hnAm`b6>J50>NP`{f!K z`dF5~Pm#yKE?2*4<70Qc`W=W4F;(;2EUx7&LMQU3k`6%a{l}s7 zVDG?4tLo8^6zv=P#K8Fsm}2L^--qe!SS_#PU32H+`eQTx#z=neN`9SJ-45>1v0ux5 zb{sxm$?su|CBKg*zY%|hd{3dH{IAw8F>hu2bj|ih>Fk^=k9K6wwFLHn=&a~>(RC8s zDY{4Wh-gyuzUaIReJ{Eo`bl(A#Q$SAi*}3d6OD_W5_Lo`iB?1>MDK`Bi#`^e6@4N4 zTJ)Xhg6K!l(Pzre^3vk|+58m7I}4o`%h~CLrI*X__-p0i)n0k9Tu(=EflKL#1x diff --git a/scripts/Units/corsd.bos b/scripts/Units/corsd.bos index 870d9b10e27..953347cecdc 100644 --- a/scripts/Units/corsd.bos +++ b/scripts/Units/corsd.bos @@ -1,18 +1,26 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base; +static-var Static_Var_1, Static_Var_2, Static_Var_3; + + Create() { } +#define SMOKEPIECE base +#include "smokeunit_thread_nohit.h" -#define BASEPIECE base -#define MAXTILT 0 -#include "../unit_hitbyweaponid_and_smoke.h" - +SweetSpot(piecenum) +{ + piecenum = base; + return (0); +} Killed(severity, corpsetype) { diff --git a/scripts/Units/corsd.cob b/scripts/Units/corsd.cob index 8624c6b708105020789aba42bfcdaa919fcf5945..d3a5fa4d104d9ffd5c626062872048fbf0185062 100644 GIT binary patch literal 875 zcmbtSy-LGi6utSH#>L?}x=2>RA&7%prA4T?6hi5yjrs|}+7u0lTVKML@Cke@AHj3J z+(=qn)WG5XpL@?oViD;B5%2-T0KeUyND7<)M~F{hBXt^zlSCzT%9wL9PxKsyahOkI zby?HvY=*TVd$Yc>|G@f-kc$Er-57INwXv(q5%{&?IJ7?Ie%g18yktFscXCrad-(#uxj3i* literal 1398 zcmb7^zfM$95XNWkUY5i{kEMyl7SIuMv4X^cKbk;jmQYZccyVtG0-{1=FD=i&L*QG` z`v{WIkU*&Ue&?Qn!)6m%(Y+yy&( zmGF|Y_LLbg{mzMH7T?=5nV!#g)6c#e(DB8bX@~x1KCc0XKG3m7;1}V$-0t4Lgm)lb zwmV`Ay>OBIMdtTd^1T(#y>f5x|0F(c`t;vK9`g#U-`0Jmyxt%EQik&hoG^KJNBBqQ zjDOjcf8YPMI?PY@zTT_9G{cR({hh|vws&`%p>5R%joktZvs4@a diff --git a/scripts/Units/corseah.bos b/scripts/Units/corseah.bos index b1a24dcd542..8c7284c4fec 100644 --- a/scripts/Units/corseah.bos +++ b/scripts/Units/corseah.bos @@ -1,17 +1,62 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, link, thrustrr, thrustrl, thrustfr, thrustfl, thrustrra, thrustrla, thrustfra, thrustfla; +static-var Static_Var_1, unitviewer, statechg_DesiredState, statechg_StateChanging; + +pickupscr() +{ + sleep 11; +} + +dropoffscr() +{ + sleep 15; +} -#define SIGNAL_MOVE 1 #define BASEPIECE base #define HITSPEED <55.0> //how 'heavy' the unit is, on a scale of 1-10 #define UNITSIZE 5 #define MAXTILT 100 + +InitState() +{ + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; +} + +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + call-script pickupscr(); + currentstate = 0; + } + if( statechg_DesiredState == 1 ) + { + call-script dropoffscr(); + currentstate = 1; + } + } + statechg_StateChanging = FALSE; +} + #define IDLEHOVERSCALE 32 #define IDLEHOVERSPEED 60 #define IDLEBASEPIECE base @@ -31,94 +76,109 @@ Create() turn thrustrra to x-axis <-90> now; hide link; - SLEEP_UNTIL_UNITFINISHED; + unitviewer = FALSE; + Static_Var_1 = 0; + call-script InitState(); + while( get BUILD_PERCENT_LEFT ) + { + sleep 400; + } start-script IdleHover(); } +Demo() +{ + unitviewer = TRUE; +} +SweetSpot(piecenum) +{ + piecenum = base; +} -QueryTransport(pieceIndex) +QueryTransport(Func_Var_1, Func_Var_2) { - pieceIndex = link; + Func_Var_1 = link; } -BeginTransport(targetHeight) +BeginTransport(Func_Var_1) { - move link to y-axis [0.0] - targetHeight now; + move link to y-axis [0.000000] - Func_Var_1 now; + start-script RequestState(0); } EndTransport() { - move link to y-axis [0.0] now; + start-script RequestState(1); } Activate() { + show thrustfra; show thrustfla; show thrustrla; show thrustrra; + start-script RequestState(0); } Deactivate() { + hide thrustfra; hide thrustfla; hide thrustrla; hide thrustrra; + start-script RequestState(1); } StopMoving() { - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; - turn thrustrr to x-axis <0.0> speed <80.0>; - turn thrustrl to x-axis <0.0> speed <80.0>; - turn thrustfr to x-axis <0.0> speed <80.0>; - turn thrustfl to x-axis <0.0> speed <80.0>; + signal 8; + Static_Var_1 = 0; } - MoveRate0() { - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; - turn thrustrr to x-axis <0.0> speed <80.0>; - turn thrustrl to x-axis <0.0> speed <80.0>; - turn thrustfr to x-axis <0.0> speed <80.0>; - turn thrustfl to x-axis <0.0> speed <80.0>; + turn thrustrr to x-axis <0.000000> speed <80.000000>; + turn thrustrl to x-axis <0.000000> speed <80.000000>; + turn thrustfr to x-axis <0.000000> speed <80.000000>; + turn thrustfl to x-axis <0.000000> speed <80.000000>; } MoveRate1() { - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; - turn thrustrr to x-axis <10.0> speed <60.0>; - turn thrustrl to x-axis <10.0> speed <60.0>; - turn thrustfr to x-axis <10.0> speed <60.0>; - turn thrustfl to x-axis <10.0> speed <60.0>; + signal 8; + set-signal-mask 8; + Static_Var_1 = 1; + turn thrustrr to x-axis <10.000000> speed <60.000000>; + turn thrustrl to x-axis <10.000000> speed <60.000000>; + turn thrustfr to x-axis <10.000000> speed <60.000000>; + turn thrustfl to x-axis <10.000000> speed <60.000000>; } MoveRate2() { - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; - turn thrustrr to x-axis <20.0> speed <45.0>; - turn thrustrl to x-axis <20.0> speed <45.0>; - turn thrustfr to x-axis <20.0> speed <45.0>; - turn thrustfl to x-axis <20.0> speed <45.0>; + signal 8; + set-signal-mask 8; + Static_Var_1 = 2; + turn thrustrr to x-axis <20.000000> speed <45.000000>; + turn thrustrl to x-axis <20.000000> speed <45.000000>; + turn thrustfr to x-axis <20.000000> speed <45.000000>; + turn thrustfl to x-axis <20.000000> speed <45.000000>; } MoveRate3() { - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; - turn thrustrr to x-axis <0.0> speed <70.0>; - turn thrustrl to x-axis <0.0> speed <70.0>; - turn thrustfr to x-axis <0.0> speed <70.0>; - turn thrustfl to x-axis <0.0> speed <70.0>; + signal 8; + set-signal-mask 8; + Static_Var_1 = 3; + turn thrustrr to x-axis <0.000000> speed <70.000000>; + turn thrustrl to x-axis <0.000000> speed <70.000000>; + turn thrustfr to x-axis <0.000000> speed <70.000000>; + turn thrustfl to x-axis <0.000000> speed <70.000000>; } Killed(severity, corpsetype) diff --git a/scripts/Units/corseah.cob b/scripts/Units/corseah.cob index 7952bd1267ee2f1a69a6ebc081a15d62b9a8cbff..5241760362cfff336dbd2a9360300e8bea70ef4e 100644 GIT binary patch literal 5171 zcmeHLONtcQr@ArFqqZTA+sw=ovT0zi}qb z1$fQt$-T*O=rfN|zE6I9-EiO6=h-cH7RS#Q%fip5zx-?q4r9NQ58820Vmn_f%+vSJ zyjUOQ82TKE-vB`W;AhGamaxtJ=$zdQJ8oC$v0urj*>ki#arSn1wu@u@z3k%IsP_qZ znLn<1ZjOwnT(Ax}(`|2$xtoqG(8Av*Vp1@8s-xUz0l>X$G<4^Bh{{nTe^)UjjzQ1JIaR}0dj1%g)Aiq3 zvkkwORXT+ai_7=tYj;*SGn_fH9R8V^hvis>%d+DiqjHW>dB$jU(wr;&llS}{RM(j~ zRmEq1YCp6_^=+8c*{jyj)ga_i^& z<#Tz=r%7UvV~F`VhM1pYh|QWKTiDO>_P#vFV-Me*V~F`VhM1pYh|QWKtN(b0QwQ(Z_f{t1$Yj!q~4>7`dy$*uqs9d#VbvcO!N>6O6_Q`Lb^?@0QQ=QR+FK ze{?)E&JNGz{jeR+tdI4@gxtEm+^Pnv)N?g>9>(;+9@(kE)-|yEpx*{}udD8O$o~$< zi~23!?maP%^_ve6kVB9cA+JMDLoPxFkPjiBK{g=& zLU!X~@c*8kg&c;w1UUgY4LJw70O>%+kdGmsLaswThkOP32J#)`2guKmUm<@&{)XIy z+=A2|7uf}Q0=r=xi=tS_{;?TFhRMH+%hl(veH;aU%WR;EH7LrfcIYO>NS5ldkP_ RZ6{6Jg_6y>#a_4HmOEv`c2@uZ literal 3932 zcmdT{J8M)?5T0E(8y^_2Wx&V9Mu;MtXpurfd_hElG3E!jNp9levb)@Df}%nSwbNb@ zNf{8tLc~(VN^BIwHgtxnI~>j!=4MWg#9A#V6WbzU`2Z6E3e0ju#HjUS{mjA9Vo*vwu&mpb zM_?n5hP5-d?;F~Ef1f*><@3cf%d?)ZVE7jt#(iQx7)P7LT0?Aj`uR;iO0LK7XRnD5 z17QA>m~wnhdt}$?fy&$*iJA3W&+mFR_Ede=TCEm+W8j*HDs3`q^Knkr9LZTqmiGb9 zq3fF5hcJ$~@W*|`k3nY)P2J@6<4oSz=GF6I@|A2}uJgmyW)^ZiqEElJF#b-LL%_UC_U(>vmGWY0F5_apW}Yw-7twA5ZeZMx1^TwvOHM(NMK znzM%UC8eC1Pa797?n<tpH>IJ)l--Z9QR z{OQ7Xi!SYO+Vw1%v;NGjANXgn9dMa&^ESQWNlge275|g?7!9^4NqUT`r5FU zHx_db7{-_o;}-L4hnasXsD zo#uRnK2dLWw;#DV*YI)PM}JO!{+#cdKWAwCQdJJ;9yt#k9{fFDQR7r(9{ z+G1PRE-b{n%(qqQBHuf#0d@bY&Kdf+I#0Pe+1Jfn=L2$XQx|LA?A#xB;7;>0HtH$l z1>_Cn9pn>a4bp?dHvqW^X+j=C`2W6pko%BFkSCCrkk^p+kk61WkZ+KmkQSu4M`RZy zg7iZUL5@I9Kt>>AkV(k-*=jOYUrJIrlP2Y6B9|7E^u| @@ -22,19 +38,34 @@ static-var restore_delay, gun_1; #define UNITSIZE 5 #define MAXTILT 100 -#include "../unit_hitbyweaponid_and_smoke.h" +#include "unit_hitbyweaponid_and_smoke.h" RockUnit(anglex, anglez) { - turn base to x-axis anglex speed <50.0>; - turn base to z-axis <0> - anglez speed <50.0>; + turn base to x-axis anglex speed <50.000000>; + turn base to z-axis <0> - anglez speed <50.000000>; wait-for-turn base around z-axis; wait-for-turn base around x-axis; - turn base to z-axis <0.0> speed <20.0>; - turn base to x-axis <0.0> speed <20.0>; + turn base to z-axis <0.000000> speed <20.000000>; + turn base to x-axis <0.000000> speed <20.000000>; } +EmitSFX() +{ + while( TRUE ) + { + if( bMoving ) + { + if( terrain == 1 ) + { + emit-sfx 259 from wake1; + emit-sfx 259 from wake2; + } + } + sleep 250; + } +} Create() { @@ -42,16 +73,29 @@ Create() hide wake1; hide flare2; hide flare1; + bMoving = FALSE; + moveSpeed = get (MAX_SPEED); + animSpeed = 100; hide flare1; hide flare2; + bMoving = FALSE; gun_1 = flare1; restore_delay = 3000; - SLEEP_UNTIL_UNITFINISHED; + while( get BUILD_PERCENT_LEFT ) + { + sleep 400; + } + start-script EmitSFX(); +} + +setSFXoccupy(state) +{ + terrain = state; } -SetMaxReloadTime(reloadMS) +SetMaxReloadTime(Func_Var_1) { - restore_delay = reloadMS * 2; + restore_delay = Func_Var_1 * 2; } static-var Stunned; @@ -60,8 +104,8 @@ ExecuteRestoreAfterDelay() if (Stunned) { return (1); } - turn turret to y-axis <0.0> speed <65.0>; - turn sleeve to x-axis <0.0> speed <35.0>; + turn turret to y-axis <0.000000> speed <65.000000>; + turn sleeve to x-axis <0.000000> speed <35.000000>; } SetStunned(State) { @@ -76,60 +120,66 @@ RestoreAfterDelay() start-script ExecuteRestoreAfterDelay(); } -StartMoving(reversing) +StartMoving() { - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; - start-script Vehicle_Dirt_Ceg(); + bMoving = TRUE; + signal SIG_MOVE; + set-signal-mask SIG_MOVE; + start-script Smoke(); } StopMoving() { - signal SIGNAL_MOVE; + bMoving = FALSE; + signal SIG_MOVE; } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; - turn turret to y-axis heading speed <75.0>; - turn sleeve to x-axis <0.0> - pitch speed <45.0>; + signal SIG_AIM; + set-signal-mask SIG_AIM; + turn turret to y-axis heading speed <75.000000>; + turn sleeve to x-axis <0.000000> - pitch speed <45.000000>; wait-for-turn turret around y-axis; wait-for-turn sleeve around x-axis; start-script RestoreAfterDelay(); return (1); } -FireWeapon1() +FirePrimary() { if( gun_1 == 0 ) { emit-sfx 1024 + 0 from flare1; - move barrel1 to z-axis [-2.400000] speed [500.0]; + show flare1; + move barrel1 to z-axis [-2.400000] speed [500.000000]; wait-for-move barrel1 along z-axis; - move barrel1 to z-axis [0.0] speed [3.0]; + move barrel1 to z-axis [0.000000] speed [3.000000]; } if( gun_1 == 1 ) { emit-sfx 1024 + 0 from flare2; - move barrel2 to z-axis [-2.400000] speed [500.0]; + move barrel2 to z-axis [-2.400000] speed [500.000000]; wait-for-move barrel2 along z-axis; - move barrel2 to z-axis [0.0] speed [3.0]; + move barrel2 to z-axis [0.000000] speed [3.000000]; } gun_1 = !gun_1; } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = gun_1; + piecenum = gun_1; } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = sleeve; + piecenum = sleeve; } - +SweetSpot(piecenum) +{ + piecenum = base; +} Killed(severity, corpsetype) { @@ -140,6 +190,11 @@ Killed(severity, corpsetype) explode turret type BITMAPONLY | NOHEATCLOUD; explode sleeve type BITMAPONLY | NOHEATCLOUD; explode barrel1 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare1 type BITMAPONLY | NOHEATCLOUD; + //explode barrel2 type BITMAPONLY | NOHEATCLOUD; + //explode flare2 type BITMAPONLY | NOHEATCLOUD; + //explode wake1 type BITMAPONLY | NOHEATCLOUD; + //explode wake2 type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } if( severity <= 50 ) @@ -149,6 +204,11 @@ Killed(severity, corpsetype) explode turret type FALL | NOHEATCLOUD; explode sleeve type FIRE | SMOKE | FALL | NOHEATCLOUD; explode barrel1 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare1 type FALL | NOHEATCLOUD; + //explode barrel2 type FALL | NOHEATCLOUD; + //explode flare2 type FALL | NOHEATCLOUD; + //explode wake1 type FALL | NOHEATCLOUD; + //explode wake2 type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) @@ -158,6 +218,11 @@ Killed(severity, corpsetype) explode turret type FIRE | SMOKE | FALL | NOHEATCLOUD; explode sleeve type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode barrel1 type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode flare1 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode barrel2 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare2 type SMOKE | FALL | NOHEATCLOUD; + //explode wake1 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode wake2 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; @@ -165,5 +230,10 @@ Killed(severity, corpsetype) explode turret type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode sleeve type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode barrel1 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode flare1 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode barrel2 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare2 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode wake1 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode wake2 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/corseal.cob b/scripts/Units/corseal.cob index da2eb0f5dfbcd236987402b76013bfcda50fbb81..35f06cef5e5364116dc8556c33214d564f184c90 100644 GIT binary patch literal 3886 zcmb7`O=w(I6vyu*=~OA|v$)V;anOZDM5gfriv^RIMoTHCnTonHV{$7)CYkW^l6JsF z7TsA;Pzt&dH?DLgSa%BIRz(C67b31)skjiq#{ci$duCq7nUXv>x##nL&OPV6H<@tG z-6gtJG&dekvF_Au&RrG#BzhRd?ao!Qv8)2WRLxH6Kt6_Co5<6B!$J$>J zODsCWM4o(5vQB1TvE(*iYH&3da$2v6!LE=HV`segU~E4gKPP1Tz%m{dysxw{hC7&Z zn9brit+&M6K7B7WGUH;OxHl~KH*(#HP5ofse-(=^ z?27h>{oQ-lxIcd;Khjx0T&8`K%wxM#-lbrW4>8nT&SN#9yZS(XCNAw7v1a2$Hf&ex z?^Jn@%DlxtnZ7Z|hK(PX!)&-&KIRNh{q$;14E;ewemcqatq6V#v0vDT9YGiN zA?(+WM49&pxx7EysphvxmhRDp*WAN*EXC;P?W4Va&Voc7*1&c=M~ zHzVRHQJNhx?YNnp_j{DRyvtzSBVSjG_kJVYoBI-P_pV9CcSomN(l<9d9KIpwYEli_ z=*cJ>wPRzLobkPl|0{$&5&j?^ed_I+`e5%Oe&KgC)&E7RpZxo+-|E>>jNQ%ZKS+&+ zbC8&u-D{b8(!Hu0D0j8F+FTBji&!uY5@UU^lURBL&VJ@*J+b)x#0>Ui*u4$!p!HY} zhQ*KCJ@d7*oO4vn;Jx<~Gk9-WeMoMQ(RtC!6tDk(s-mN!dqoe49u++$niV}SS`u|dS47uDABa8@T^D^R`d0L_=r_?H zqQ6DEqUs&a9T6QBO^WUp9Tzp$I;-A2*D7YaFZ$+2XFY0OSZ@_&?U@y~*jZi;>eFkj zqA~xHdnWhI!n;k6)LCBM+UUB5FU~bDFZy<;xpJYk=H2PbetE0#i+;1{-d%x|)OVvJ+&M9}PxhjADPPzX8 D%4jMU literal 3357 zcmb7GONd-W6usRu>52HE1_VE-X~{xF2|WW!T!?8ii6db!_9O;Z$#c3gKBlL8c=INo zg&-JRi3;LhLJ)K>g1B)dWRZ<)Aq&YySK=aW1dZoZ-TPj3)1%mMyYA=QPu;pz-LoPx z54sI>ttm2#m7f#0i+l{a4tku5J3#HGYq+L6M!7xfnw_R2Yx)NHGcDJ{LfnItfg^u6 z`OXYD^*IE-gLqI=$CbE{-|caX^KhawEHQiMY9B$IDwm6Vr~`cJ^8jM87RK#r+!+FY z7l&{mx5;~_$a1LVR#e|$k%^zl=9kL0H|aDSV^}Uk5INp*>|ILS3(v!9&A?LErw(}X zp-0+R?nOGWU+2N%R2+^m_|PQBYa4yJ<=IZeh-s{iQy%6UuzH zPWP?-iL)8M1eP)0#L5`luEm^Or4wi0uz>z2HpS4Nd$!(pVPsA_r)hPwhF=NLUa(I* z4|Jl6WidFD#9zhbx7sIrHqACxqs}n>*$dvUBVZ`ooN^B|S;z<#AGeZ&se1dsM?*YrQ88S@z7NvH^XCHU7 z^IX$AaUY%A`unZ>;(q9F`?^Amn+r3`_$ITLsm#2TKgUXZ=r`opyYV+RymOlO1I^2L z|CaZX#eKyL-ph=E{aN03RG!=~eJ5j^uf_gQeJ!@h z7Te^>*mOGydIQu#gO@=C=zY*-(6^wgpdUfkK{r5iNb(%$1<)xb#Q*Ji&_2*(po5?; zXc_b}r~thNdKdH==qu3IpzlG~KtF+g2K@s14fF@-Pf+7d{MQG~gYE&n_X2E zMp^$vzUk%21;4ga`kvn|M}_a6Eq$@%2iZj;SIeE@(D!AEvCN8cWppkduFGmU+ETWg zZ^n`q diff --git a/scripts/Units/corseap.bos b/scripts/Units/corseap.bos index e7fe3687138..608fa8716c8 100644 --- a/scripts/Units/corseap.bos +++ b/scripts/Units/corseap.bos @@ -1,8 +1,29 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, flare, thrust; +static-var Static_Var_1, Static_Var_2, Static_Var_3, statechg_DesiredState, statechg_StateChanging; + + +activatescr() +{ + if( TRUE ) + { + } + sleep 20; +} + +deactivatescr() +{ + if( TRUE ) + { + } + sleep 12; +} + #define BASEPIECE base #define HITSPEED <105.0> @@ -10,36 +31,77 @@ piece base, flare, thrust; #define UNITSIZE 2 #define MAXTILT 100 -#include "../unit_hitbyweaponid_and_smoke.h" +#include "unit_hitbyweaponid_and_smoke.h" #define IDLEHOVERSCALE 32 #define IDLEHOVERSPEED 60 #define IDLEBASEPIECE base #include "idlehover.h" +InitState() +{ + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; +} + +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + call-script activatescr(); + currentstate = 0; + } + if( statechg_DesiredState == 1 ) + { + call-script deactivatescr(); + currentstate = 1; + } + } + statechg_StateChanging = FALSE; +} + Create() { hide flare; hide thrust; - SLEEP_UNTIL_UNITFINISHED; + call-script InitState(); + while( get BUILD_PERCENT_LEFT ) + { + sleep 400; + } start-script IdleHover(); } Activate() { show thrust; + start-script RequestState(0); } Deactivate() { hide thrust; + start-script RequestState(1); } +SweetSpot(piecenum) +{ + piecenum = base; +} - -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = flare; + piecenum = flare; } Killed(severity, corpsetype) diff --git a/scripts/Units/corseap.cob b/scripts/Units/corseap.cob index 87b66eda59dec900e9ed959f55b4f5b9e0284885..c02995da6f68b3274abe7f46498b6a583d7beaea 100644 GIT binary patch literal 4046 zcmdUyzl&r=5XWn0=jQx{KG8rCPp{)tfil zHnV#r%aTv^-`!gIT$l1!$wT*8{~|w+$4YOg zH?h1wUrOENDchmOxcXhNT|$v+_rA9120=INd%J2CXV57=d2)QEN*)^_Fui^Vqyxh-c z(C01GBF)2F3PLV)aCaZ;PUn>xoR!^5p3!*U$2e;c&5byS3bF&I}-N} z45x?-E|2Rq@VudSiW}$q_W6R#*38`&V%eI0xQ3(?7@Y%usjg_J@W7eVC1WW;7@MJ-UoY?sOdQ+F9Cmd&E%*F=;mOQiH?~ZNk z@`IQ4<9qRj^0+PZ5L++WKBmB>_@$5AJx7iUF%$0dgbO-hy%vsRhTfHr$Ajasn)LPS zi@aJ12M^wte8AR$gB=1Q+lzbw&F1acBMsiE?on){+8SM`y_3rxE zhIM|rJepiOc)1>IZ*AJ@)vY(`mo`Te%d{&)TN!TDm$&xov8~9sI#D2dq2Af6chljS zagFX`%3{wpDQxvxT~AiGwQCdu)!j&vpdhYxVp>itR{^pD1z9e z5tsOC_0cVLGWLN_cJ_1Vi+ut6 ziMDO&P+?=WrP_wBAyvDGwycvWz3^+wM!u|ISc5?r&e-txJkp%O!h`)MoVu;7SyZ~z z28U%;J}0!Tb5tG)M~D$?T8ub!&WYdS)04S|I*L~4N$^(=mRqR7bHm4D5>J$&&e^`T zKRD{e_olY2x3t1RZ=7>_wW7Ks#|rwN*c5|5HGA*pWF)5F)2zJ7;WdER3u@**EUWIs zeOaw&gqogySm!m}vspG=y;f$@dqXdn+1+SwbJmYIt)ec?MMJAI{Z;Gai4YVSk( zTukr1CUWg0zMS{RGok6>hAx-b;8Hv0)c**I_%6sk)jsxSSwzI+J>+))H=L~4Mk8&O zTH$_}rPO97t87)y^3V(sH=Q4^hkL{q8@lVqwIPpU&dcraD!~TU@0DtUk2vphZ{dBq zhkNswX^!;lU3q`iJ^1~k_eRTI&%4#1QN9uA!%S(us5i`-=F7he%QzR+yY8|Q1kZbl zXXK*Je#hhaiabCxH52n_-D(cyCQg4QYn^GyGiyCEg`MS{k@UInPXu|mDtPVg<&JTi@A zIQLkW>vdjx5(!J+ed)%>U;P@%**{*!EA%c_K*4eJZ&c*xY5&xG*0+t z#yCI6I00YO?-1w3J&o&e9$-)&{}yKjOpNnqj6+Z9hx2TMN$PnR&u;hgbR2T}zqkm= ztUZ(bCD~N4+mgGI?; + turn base to z-axis <0> - anglez speed <50.000000>; + wait-for-turn base around z-axis; + wait-for-turn base around x-axis; + turn base to z-axis <0.000000> speed <20.000000>; + turn base to x-axis <0.000000> speed <20.000000>; +} + #define BASEPIECE base -#define HITSPEED <45.0> +#define HITSPEED <55.0> //how 'heavy' the unit is, on a scale of 1-10 #define UNITSIZE 5 #define MAXTILT 100 -#define RECOIL_POWER 10000 -#include "../unit_hitbyweaponid_and_smoke.h" - - -#define TB_BASE base -#define TB_TURNRATE <15.0> -#define TB_TILT_X <0.15> -#define TB_BANK_Z <0.15> // Do not define this if you dont want banking -#include "../tilt_bank_mobileunit.h" +#include "unit_hitbyweaponid_and_smoke.h" Create() { + hide Flare1; + hide Flare2; hide flare1; hide flare2; restore_delay = 5000; gun_3 = turret; - call-script TB_Init(); } -StartMoving(reversing) +SetMaxReloadTime(Func_Var_1) { - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; - START_TILTBANK; -} - -StopMoving() -{ - signal SIGNAL_MOVE; - STOP_TILTBANK; + restore_delay = 5000; } - static-var Stunned; ExecuteRestoreAfterDelay() { @@ -55,8 +53,8 @@ ExecuteRestoreAfterDelay() return (1); } set-signal-mask 0; - turn turret to y-axis <0.0> speed <600.0>; - turn guns to x-axis <0.0> speed <550.0>; + turn turret to y-axis <0.000000> speed <600.000000>; + turn guns to x-axis <0.000000> speed <550.000000>; } SetStunned(State) { @@ -71,33 +69,33 @@ RestoreAfterDelay() start-script ExecuteRestoreAfterDelay(); } -AimWeapon2(heading, pitch) +AimSecondary(heading, pitch) { - signal SIGNAL_AIM3; - set-signal-mask SIGNAL_AIM3; - turn turret to y-axis heading speed <670.0>; - turn guns to x-axis <0.0> - pitch speed <670.0>; + signal SIG_AIM_3; + set-signal-mask SIG_AIM_3; + turn turret to y-axis heading speed <670.000000>; + turn guns to x-axis <0.000000> - pitch speed <670.000000>; wait-for-turn turret around y-axis; wait-for-turn guns around x-axis; start-script RestoreAfterDelay(); return (1); } -FireWeapon2() +FireSecondary() { if( gun_3 == 0 ) { emit-sfx 1024 + 0 from flare1; - move barrel1 to z-axis [-4.0] now; + move barrel1 to z-axis [-4.000000] now; sleep 100; - move barrel1 to z-axis [0.0] speed [15.0]; + move barrel1 to z-axis [0.000000] speed [15.000000]; } if( gun_3 == 1 ) { emit-sfx 1024 + 0 from flare2; - move barrel2 to z-axis [-4.0] now; + move barrel2 to z-axis [-4.000000] now; sleep 100; - move barrel2 to z-axis [0.0] speed [15.0]; + move barrel2 to z-axis [0.000000] speed [15.000000]; } sleep 50; ++gun_3; @@ -107,30 +105,33 @@ FireWeapon2() } } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = turret; + piecenum = turret; } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = flare1; + piecenum = flare1; } -AimFromWeapon2(pieceIndex) +AimFromSecondary(piecenum) { - pieceIndex = turret; + piecenum = turret; } -QueryWeapon2(pieceIndex) +QuerySecondary(piecenum) { if (gun_3 == 0) - pieceIndex = flare1; + piecenum = flare1; else - pieceIndex = flare2; + piecenum = flare2; } - +SweetSpot(piecenum) +{ + piecenum = turret; +} Killed(severity, corpsetype) { @@ -141,6 +142,9 @@ Killed(severity, corpsetype) explode turret type BITMAPONLY | NOHEATCLOUD; explode guns type BITMAPONLY | NOHEATCLOUD; explode barrel2 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare2 type BITMAPONLY | NOHEATCLOUD; + //explode barrel1 type BITMAPONLY | NOHEATCLOUD; + //explode flare1 type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } if( severity <= 50 ) @@ -150,6 +154,9 @@ Killed(severity, corpsetype) explode turret type FIRE | SMOKE | FALL | NOHEATCLOUD; explode guns type FIRE | SMOKE | FALL | NOHEATCLOUD; explode barrel2 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare2 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode barrel1 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare1 type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) @@ -159,6 +166,9 @@ Killed(severity, corpsetype) explode turret type FIRE | SMOKE | FALL | NOHEATCLOUD; explode guns type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode barrel2 type SMOKE | FALL | NOHEATCLOUD; + //explode flare2 type SMOKE | FALL | NOHEATCLOUD; + //explode barrel1 type SMOKE | FALL | NOHEATCLOUD; + //explode flare1 type SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; @@ -166,5 +176,8 @@ Killed(severity, corpsetype) explode turret type FIRE | SMOKE | FALL | NOHEATCLOUD; explode guns type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode barrel2 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode flare2 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode barrel1 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare1 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/corsent.cob b/scripts/Units/corsent.cob index 4db97698d67ec391c3dbba1342ee89bb9bf5477e..8011cfd5bdb2facc8e2c24ca84144f21d126d4ec 100644 GIT binary patch literal 3406 zcmb_eOK4PA82)E6PP7km#6?jG9a^-YLMK@XE*h=1l@d%dirZXgPVA6*gqu6mxJm_S z7hSYa=%$M<3Z*5BQo5`QX>qCGLJ$P)UW&^u3i12SIse?_O(rBk!hl>p3GKVj+!e^_Y-tl;oL)`I&zvGGv#{OjDe&cPx|61 zW{;8isyP#QWYK@DM}JcHdNa7vmOS-I`tZAXAJmqyRhKyw>!c0kbWa;SU0xe(b9?G- z)!RG!a=*oxo5|=-^U&UsE>VEq{1xPGZ)z3SONumS>au^@qaSc3FLAt*>jAHoIxK>W zwDy@->O22o9zRDs_L(|yyeTr!BdL4;%ypQDL5}#Liq7{|ke8_VEbQ`h)!YvJa)Ey% z@Nu|2<6YDD!8ax72YYlMSH^d{g8gwB1Rm97*6+^~T&c%!+7D#o`T~}#k@IK%)XD3p zI-0ULj?9bM3m(r`!Wq-l{pz5PMKNjinX&1gH2Lw|i~1^OO^nZa_rsXB^g-L9pH+YV z=GRj0yCyEC#;bh!qRhQhxEcC@KYi15&s-UI82?A#%lGIIy^Fs~)Mq}_b$9H?C>@;9wp^l4>O8E>5bx@``>%8tm3^EW+ze-OKjaqsmg%Z_ z5curfZezy#&w36qZq4`PAO=kydr1F0N!P-;ic{wCZ8YQVZH$t!=20^4DP?>_JpDJt z|2?A}{gb~M?u_MT4j%L2Z1mejJ+}iP{|h01?(25*-$@=?*G_C+cD+sZAk_P9sF&Zc zxZa)Q$8X$D=b?RIpVe09ww-xuPpC`#?arOL#aefp!^^IFR1I3|W_gaXDegPkB*%a+ zfIGlbU>z98gLoU50!{(*z#8xe@F(y$@DTV1;Qzso0F%He;5;x3B*1mxCh$G*6Yx85 z8@LNR2L1*91J;4@*F`3PH-NW*qrh>X4x9wu2R;Jk`pv~ly>=!ax3e=Vmu<4t?@6QE zU$jN;`IdZ;+9b2mu-Qyk literal 3770 zcmb7HO=w(I6h1SVPHMIKqzJkw4kEZIGMSa&rW0#vD219tx-`?wOBiM{6JFkkrHfXq zC|IP3e@Kvmt|CZ_8y9XA6t{v)r7I;nyKoVtG=AT?=gi!^=0_iVx%Zy`bM86sO)4UC z40srLc0yzlE1&Nk5jlKRWF9zy^Hr=;D%kIvC_ZPC$uK2j~Jwe45?j`b*|CXX{v!G`Aw&**#Bgj?F@N?wy2>zUt;Mw0h>Y(Lgho7R(?rbn9l@Hj?35}h#h zE2g()dL;&YH}ssGtS0x2UXJLo?*{l<2iybYe=>QJeb&!%kDQsuA#54PY($G|M;XQ* z=jwM8ubvZY`;pc5xY;Dn`-hp*r_VFfi2ZwS`aM%V+)uip#| z$2^_Kf*x(rzS^t>`Ln6>PhCT zwlMSB#|8UE+XvaBJnvu>qt)H}Yd0SKkK~aP?}Oh5&cUBnH_ZvWk(}jsW1}?Ig)hA$ zvsZa%Cr@Xl;EVI;HDK-OcjW(O=&eZxkNP}>h0iDki&crd=RIV6##N62u38@4TORYj zm9#I_Rv{1a+$UqzT40U@a-Nf*GM+p4V|q2=?;Sq0;dNw=+`C=>Ju-`2M{(kv$sP?d z_qOGhB>c_fciF~%^sSP|#H25{x5!Fx$xdb9irUSC*DQ8 zTkap=)k8dQdOVad*>P>cx0GkrIQ|CV80Hy$L_X`aAAdjnIJRIn#I|9v#kTof`r7EM z-CjQ9{$_kn(Qqx;{l)ZI7wU7R%uTGgL7j#8to;@7^?iZ!y2F0(b?=55OJZAK(ZIdklC1xCUGYJ_Oc*+W`N+c^~); z_yV{Ed<%RJ{0#gG+ySmJZ~%r2Ydj00;~gH0$%~& z0B1V+^rZ`FYjx0{X~!p-9V~WV?RRoH)mmvSr|r3wK{u88>DOjRobUAV=~llhFJ);f zPh~D|W%;?m>z)2G_JdX1zWheIILy=8bS)obX>%!0vr}oWbxG#Zd@djM`)OMqWHvi1 zA*6mEK74) c9`@JdVrwnM9}s#|veav3>69HC;n //how 'heavy' the unit is, on a scale of 1-10 #define UNITSIZE 1 #define MAXTILT 100 +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + call-script activatescr(); + currentstate = 0; + } + if( statechg_DesiredState == 1 ) + { + call-script deactivatescr(); + currentstate = 1; + } + } + statechg_StateChanging = FALSE; + return (0); +} -#define BARRELROLLSPEEED <200> -#include "air_barrelroll.h" +static-var maxSpeed, currentSpeed; +BarrelRoll() // remember to start-script BarrelRoll(); in Create()! +{ + currentSpeed = (get CURRENT_SPEED); + maxSpeed = (get MAX_SPEED); + + while (TRUE){ + sleep 2000; + currentSpeed = (get CURRENT_SPEED); + //get PRINT(maxSpeed, currentSpeed, Static_Var_1); + if( Rand( 1, 5 ) == 1 AND (maxSpeed < (currentSpeed+100) ) ) + { + turn base to z-axis <240.054945> speed <120.027473>; + wait-for-turn base around z-axis; + turn base to z-axis <120.027473> speed <180.043956>; + wait-for-turn base around z-axis; + turn base to z-axis <0.000000> speed <120.027473>; + } + } +} Create() { hide thrust; hide flare2; hide flare1; + call-script InitState(); start-script BarrelRoll(); + return (0); } Activate() { show thrust; + start-script RequestState(0); + return (0); } Deactivate() { hide thrust; + start-script RequestState(1); + return (0); } -AimWeapon1(heading, pitch) +StartMoving() +{ + signal SIG_MOVE; + set-signal-mask SIG_MOVE; + while( TRUE ) + { + sleep 150; + } + return (0); +} + +StopMoving() +{ + signal SIG_MOVE; + return (0); +} + +AimPrimary(heading, pitch) { return (1); } -AimWeapon2(heading, pitch) +AimSecondary(heading, pitch) { return (1); } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = flare1; + piecenum = flare1; + return (0); } -QueryWeapon2(pieceIndex) +QuerySecondary(piecenum) { - pieceIndex = flare2; + piecenum = flare2; + return (0); } +SweetSpot(piecenum) +{ + piecenum = base; + return (0); +} Killed(severity, corpsetype) { diff --git a/scripts/Units/corsfig.cob b/scripts/Units/corsfig.cob index 7e90c9af6dadbe04db1bf564925d8f9fcfc2468b..ce7963da6319ffcafc5a6a048da66ef40bb033d1 100644 GIT binary patch literal 2173 zcmcIlzl#$=6n@F&HWn5G7Gj}nVIzpdE37?F3ps?CaNQwUlQ~`4OLCjd$yMfGu(3V_ z3#}|H)mkjXLJ+L9un{ZmM9}Y>otNx|+aRI~AM<{G@6DT;q$VN;r~xl3A^}!@VO^vH z>;q?^KgC)xRTEU9G%AKN=7f zdh)%=#lSSYouP-#ggGba3~Pq|Wr(z`7i>H?<>p=+V%4+%b#E5GC{FoEaUc#e+k%O; zoR9aWBmTaKKT~&|-I=kj`%K{WL-{~%GtZsc5a;gYe4MYrIL=K<;^=oZhxwau@+6mC z9?s{z=YBvQyd&O&H{M2*-s>Wd+Vzc0`)JPI&Ag2|^LS6Ws;+NM;}`kaLz$nw==&nq z2^Iv=#<&aPd;F7r*-{zz z{9YLMulfyr-3eB`PZU|>Z}&3aFZuYNcoaAeYyyvfXTVF~74QN02z&;<0N;QgKow;C z-+T_d2HpXmfUm%J;3rVWfR6#EfHS}aU=3&in?M)11MC31K-A6R-6*r8ZYn)n)UNj9 ztewFnExR+eBd=VF($prcL6XQ?YUy6}6mof*FGx(YYlGdme+%+p=*87|yP3w@QMxA( y+qOIC_o!SS+jLJoPMP`IcdgCZ!$BtNagx}cY$Z`@&*#gE+>Az6vfJr+l*w;x3$?8P literal 1195 zcmbVLyGjE=6usHJu$#ihLP%k0kpz2P@H5oCmnz-2rDa78+PC+zHF~ zLPmK-hv*C)SJdUs6ozYynL`13lmZ zxB{+$8{h$W1lIj9)WJ?S2xKGFex#++iaO_Xs@k`1rE{{U{a*L9B;RgXwg);K+Po8# brQQhw-Ik-k4|ORqWjXZwTB74{(2wK`J{M;g diff --git a/scripts/Units/corsfig2.bos b/scripts/Units/corsfig2.bos index 0f08db7fbe6..00717b1ec3c 100644 --- a/scripts/Units/corsfig2.bos +++ b/scripts/Units/corsfig2.bos @@ -1,24 +1,94 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece flare1, flare2, base, thrust, turret, sleeve, flare3, flare4; -static-var gun_1, gun_2; +static-var Static_Var_1, Static_Var_2, statechg_DesiredState, statechg_StateChanging, gun_1, gun_2; // Signal definitions -#define SIGNAL_AIM1 256 +#define SIG_MOVE 2 +#define SIG_AIM 4 +#define SIG_AIM_2 8 +activatescr() +{ + + sleep 518; + return (0); + // Build by COBBLER Ver4.0 Copyright @1998 DIGITAL CONCEPT SOFTWARE (MANU@inext.fr) / http://www.annihilationcenter.com/DCS/ +} + +deactivatescr() +{ + + sleep 518; + return (0); +} + + +InitState() +{ + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; + return (0); +} + #define BASEPIECE base #define HITSPEED <105.0> //how 'heavy' the unit is, on a scale of 1-10 #define UNITSIZE 1 #define MAXTILT 100 +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + call-script activatescr(); + currentstate = 0; + } + if( statechg_DesiredState == 1 ) + { + call-script deactivatescr(); + currentstate = 1; + } + } + statechg_StateChanging = FALSE; + return (0); +} -#define BARRELROLLSPEEED <200> -#include "air_barrelroll.h" - +static-var maxSpeed, currentSpeed; +BarrelRoll() // remember to start-script BarrelRoll(); in Create()! +{ + currentSpeed = (get CURRENT_SPEED); + maxSpeed = (get MAX_SPEED); + + while (TRUE){ + sleep 2000; + currentSpeed = (get CURRENT_SPEED); + //get PRINT(maxSpeed, currentSpeed, Static_Var_1); + if( Rand( 1, 5 ) == 1 AND (maxSpeed < (currentSpeed+100) ) ) + { + turn base to z-axis <240.054945> speed <120.027473>; + wait-for-turn base around z-axis; + turn base to z-axis <120.027473> speed <180.043956>; + wait-for-turn base around z-axis; + turn base to z-axis <0.000000> speed <120.027473>; + } + } +} Create() { @@ -27,27 +97,49 @@ Create() hide flare1; gun_1 = 0; gun_2 = 0; + call-script InitState(); start-script BarrelRoll(); - + return (0); } Activate() { show thrust; + start-script RequestState(0); + return (0); } Deactivate() { hide thrust; + start-script RequestState(1); + return (0); } -AimWeapon1(heading, pitch) +StartMoving() { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_MOVE; + set-signal-mask SIG_MOVE; + while( TRUE ) + { + sleep 150; + } + return (0); +} - turn turret to x-axis 0-pitch speed <720.0>; - turn turret to y-axis heading speed <360.0>; +StopMoving() +{ + signal SIG_MOVE; + return (0); +} + +AimPrimary(heading, pitch) +{ + signal SIG_AIM; + set-signal-mask SIG_AIM; + + turn turret to x-axis 0-pitch speed <720.000000>; + turn turret to y-axis heading speed <360.000000>; wait-for-turn turret around x-axis; wait-for-turn turret around y-axis; return (1); @@ -59,8 +151,10 @@ FireWeapon1() sleep 100; } -AimWeapon2(heading, pitch) +AimSecondary(heading, pitch) { + signal SIG_AIM_2; + set-signal-mask SIG_AIM_2; return (1); } @@ -70,14 +164,34 @@ FireWeapon2() sleep 100; } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = flare3 + gun_1; + if (gun_1 == 0) + { + piecenum = flare3; + } + if (gun_1 == 1) + { + piecenum = flare4; + } +} + +QuerySecondary(piecenum) +{ + if (gun_2 == 0) + { + piecenum = flare1; + } + if (gun_2 == 1) + { + piecenum = flare2; + } } -QueryWeapon2(pieceIndex) +SweetSpot(piecenum) { - pieceIndex = flare1 + gun_2; + piecenum = base; + return (0); } Killed(severity, corpsetype) diff --git a/scripts/Units/corsfig2.cob b/scripts/Units/corsfig2.cob index 3ac970b7fbc154d0601898d659b174909e38316e..19ab42522e0953bed60ec641d3c4d5dd58c721c3 100644 GIT binary patch literal 2661 zcmcImJ!n%=6h2AQREyw45OGi*;vgv4R?$hYwG~Pc(uUHdXkv3)18EaqUMpQRqr2!_ z1QDGa+;kIkEe>v?IO*opNvPj<-nq$ZXiD)X<>Q`v&Ub$9Irl!A6Okjp0pL_NSs}`6 zD1HIs2Sv_dU%{FQvOyjk8Oj8d$&*4}D7m3*KsWEheP3$N7!o2LkV9PBq?8X% zV}YmU>5k#^`uOyrFY{y(pZad!wjDg$rPLoV&n!f5^EFB#u}zQ{qCWe1yU&sK)0pO0 zG(Xirrk~biwaL|dFl2gCck2m#PS64Qa6>-`@!UKU<8t*mE6VE&BtTypNpCiwqu(qV$o0ibC_+hQpnPbt`q^(k==)SC(}{o?|nLs*ZVibJUp{l9+fT6*X>OE zjC>!OH^f{qH|4>N{y(=n@5kGei<{zk=(x(%x6fWcFMa+E+@+yT|0}EsXCjxP_Bc%5 zJ$3vB`I=Qu_r~Jt>?|&2`t^$I>*(Z5?(Jn1Odany-!apsxq42#1AZIEjLUc6xt(~) zcZX#NdjEU)F+?vvJs14Aa_;FmN2s$p-&vjhod2^)kfF#k#B~ zd)2={p4Go)^|Mc$)8E$5KCmtws@1ihdRfwbXF=Y-syDQ}Ev&wG6q(~s&(hs{#^c*P z1RMkAfoH&5;61Pjd;`7%gK$0yguq!~0=NY%0sNn)0o(^30*`?W;5qOLcmsR@J_4VC zAHWun9TYhXoCMAQ=YdPW6<`dQ1PZ_$a1$sm#MQNO?3xRaR9t#Dxl)abF-$V!?ykC~ zZN|z`(a-fnyZksIOI5mLS&~CXQB@3sH5s9IeasYUJizxlvyk z7O0DEp}tbtX&8~|RTr&$58ZTl#e2@h#YR1rscNm}DzaEBM{YP-M&x$6=_I}rtu|wc TS5b2;&6;y-E+JeEmEcnSXgOuot@YSDTMfa@5km{AP4Hg$IP4e&3rR+kBdd*EN}+65{a~6`AuSx za~+ZEz-64*U?puSB2q22LQ)#5Ru?gRj3Hg*exjD#`STo{Ze;kEc<1=!c|Pq1?^JAf z=jo>%L~UJK&$qm`64g;M1faDDI&1XqSX;kiz9`N?@NTaS$Mtde;+TJuS24lyd_6=? zttU4U#Sy7tc)bKYiJ}}W`=+JwoVa_uFUEN`JcV5Md9JWt&(@oYIgP1U@Y@Ir4imFa zOzrcIRhucecl<;bA)CGtNHDJ^ICquyfQM70zmYJGWaS z#o2o{JzLF8Z)@;&F_GD7g-4Jl5g%STt744zwfao zN6neH$9sR~dkD{@g=gkBzX$db>SiQ6-9wjW-u8d!zF|%DIZL-sj?=vWBKzeWe>3k} z)_@Mpta<;XcFm$eZLf85CeoIHd%!yI5ZDHGfY-n-@B#P)@IS5(JO)Oij4*URq0l$Hpd0FaWb+ahsR;lw!%R;{zY|&ZNxpx-^Pwwh`xcPKm zmIkHveiP1ua3;6Mx_st2!6B2CK~d-pc~In~p0_5G^?anIdQ^@_l~iN2Q^}~%dP`fv IRco%vA3d&*Jpcdz diff --git a/scripts/Units/corsh.bos b/scripts/Units/corsh.bos index fe7a9fadfa7..c6f7103726d 100644 --- a/scripts/Units/corsh.bos +++ b/scripts/Units/corsh.bos @@ -1,26 +1,68 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" -piece ground, base, flare, turret, wake, fan, barrel; +piece base, flare, turret, wake, fan, barrel; -static-var restore_delay; +static-var Static_Var_1, restore_delay, Wobble_status; // Signal definitions -#define SIGNAL_AIM1 256 -#define SIGNAL_MOVE 1 -#define SIGNAL_IDLE 8 +#define SIG_AIM 2 +#define SIG_MOVE 4 +#define SIG_IDLE 8 -#define HOVER_BASE base -#define HOVER_BANKSPEED <25> -#define HOVER_ROCKBASE ground -#define HOVER_WOBBLE_PERIOD 30 -#define HOVER_WOBBLE_AMPLITUDE [0.5] -#define HOVER_WAKEPIECE wake -#define HOVER_IDLE_SFX 1024 + 2 -#define HOVER_WAKE_SFX_1 1024 + 0 -#define HOVER_WAKE_SFX_2 1024 + 1 -#include "../bar_hovercraft_common.h" +WobbleUnit() +{ + while( TRUE ) + { + if( Wobble_status) + { + if( get GROUND_WATER_HEIGHT(get UNIT_XZ) < 0 ) //Over Water + { + move base to y-axis [-0.500000] speed [0.50000]; + } + else + { + move base to y-axis [0.500000] speed [0.50000]; + } + } + else + { + if( get GROUND_WATER_HEIGHT(get UNIT_XZ) < 0 ) //Over Water + { + move base to y-axis [-1.500000] speed [0.50000]; + } + else + { + move base to y-axis [1.500000] speed [0.50000]; + } + } + Wobble_status = !Wobble_status; + sleep 260; + } +} +BankControl() +{ + var lastHeading, currHeading, diffHeading; + lastHeading = GET HEADING; + while (TRUE) + { + currHeading = GET HEADING; + diffHeading = currHeading - lastHeading; + // Set values for tilt + + //Remove Extreme values + if ( diffHeading > 1500 ) diffHeading = 1500; + if ( diffHeading < -1500 ) diffHeading = -1500; + //get PRINT(diffHeading); + turn base to z-axis 1.0 * diffHeading speed <23>; + + lastHeading = currHeading; + sleep 67; + } +} #define BASEPIECE base @@ -29,9 +71,47 @@ static-var restore_delay; #define UNITSIZE 3 #define MAXTILT 200 -#include "../unit_hitbyweaponid_and_smoke.h" +#include "unit_hitbyweaponid_and_smoke.h" +HoverIdle() +{ + signal SIG_IDLE; + set-signal-mask SIG_IDLE; + while( TRUE ) + { + emit-sfx 1024 + 2 from wake; + sleep 1750; + } + //return (1); +} + +StartMoving() +{ + signal SIG_MOVE; + set-signal-mask SIG_MOVE; + signal SIG_IDLE; + var waketime; + var bowtime; + while( TRUE ) + { + emit-sfx 1024 + 0 from wake; + if (bowtime) emit-sfx 1024 + 1 from wake; + bowtime = !bowtime; + waketime = (get CURRENT_SPEED) * 100 / get MAX_SPEED; + if( waketime < 30 ) waketime = 30; + sleep 15000 / waketime; + } +} + +StopMoving() +{ + signal SIG_MOVE; + signal SIG_IDLE; + start-script HoverIdle(); + return (0); +} + Create() { hide wake; @@ -39,13 +119,19 @@ Create() spin fan around y-axis speed <-300>; hide flare; restore_delay = 3000; - SLEEP_UNTIL_UNITFINISHED; - start-script HoverCraftMotion(); + while( get BUILD_PERCENT_LEFT ) + { + sleep 400; + } + start-script BankControl(); + start-script WobbleUnit(); + return (0); } -SetMaxReloadTime(reloadMS) +SetMaxReloadTime(Func_Var_1) { - restore_delay = reloadMS * 2; + restore_delay = Func_Var_1 * 2; + return (0); } static-var Stunned; @@ -54,8 +140,8 @@ ExecuteRestoreAfterDelay() if (Stunned) { return (1); } - turn turret to y-axis <0.0> speed <200.0>; - turn barrel to x-axis <0.0> speed <100.0>; + turn turret to y-axis <0.000000> speed <200.000000>; + turn barrel to x-axis <0.000000> speed <100.000000>; } SetStunned(State) { @@ -70,33 +156,41 @@ RestoreAfterDelay() start-script ExecuteRestoreAfterDelay(); } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; - turn turret to y-axis heading speed <200.0>; - turn barrel to x-axis <0.0> - pitch speed <100.0>; + signal SIG_AIM; + set-signal-mask SIG_AIM; + turn turret to y-axis heading speed <200.000000>; + turn barrel to x-axis <0.000000> - pitch speed <100.000000>; wait-for-turn turret around y-axis; wait-for-turn barrel around x-axis; start-script RestoreAfterDelay(); return (1); } -FireWeapon1() +FirePrimary() { + //emit-sfx 1024 + 0 from flare; + return (0); } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = turret; + piecenum = turret; + return (0); } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = flare; + piecenum = flare; + return (0); } - +SweetSpot(piecenum) +{ + piecenum = base; + return (0); +} Killed(severity, corpsetype) { @@ -107,8 +201,8 @@ Killed(severity, corpsetype) explode fan type BITMAPONLY | NOHEATCLOUD; explode turret type BITMAPONLY | NOHEATCLOUD; explode barrel type FIRE | SMOKE | FALL | NOHEATCLOUD; - - + //explode flare type BITMAPONLY | NOHEATCLOUD; + //explode wake type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } if( severity <= 50 ) @@ -118,8 +212,8 @@ Killed(severity, corpsetype) explode fan type FIRE | SMOKE | FALL | NOHEATCLOUD; explode turret type FIRE | SMOKE | FALL | NOHEATCLOUD; explode barrel type FIRE | SMOKE | FALL | NOHEATCLOUD; - - + //explode flare type FALL | NOHEATCLOUD; + //explode wake type FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) @@ -129,8 +223,8 @@ Killed(severity, corpsetype) explode fan type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode turret type SMOKE | FALL | NOHEATCLOUD; explode barrel type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; - - + //explode flare type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode wake type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; @@ -138,7 +232,7 @@ Killed(severity, corpsetype) explode fan type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode turret type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode barrel type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; - - + //explode flare type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode wake type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/corsh.cob b/scripts/Units/corsh.cob index c2065b4115ddffa498b2804046ad0d8c92486afb..d40117c091aea32e081e980e62e9d376e0aed94a 100644 GIT binary patch literal 3900 zcmb_f&1+m$6u&c>jJAICNd+~a4t^}uEJpDIUA2j+DY05J)lyxUm&|P$GMSgYzG)k% zFgsnT8$kr2e}GHHx)T)XR*ACNm-#s6{bKVQ7 zIOq05s*qz-&P_w}=fYjiU54Cyw{x?2o`o(Y<)lRCN;P>4s)FaTK0gIb|7)uE&|a$~ zwDCBqU47tl$#lY)j~K3}_}+~hF2O(A`QL$R@&wO}*&FCl%&Us|FSRUe%k$5+S}f0? z7E~G4+vn%vbW*7Yu2_48&D2W?`@yNtjXR3x8hTS9c9{V1SjK(B+6+F^yD^47WRf{i z^Ny=c$$id>HfqNHnZvFJ?k_|(<{HI5_7`Unuu)L+Ya8+$2z~OIIBLchzt;Yh+MpzUjJr&m^6@Q>yh|H< zv{*mfGt95VMvug@9)}v@ere|&YPy-v^!U4j`@}g!7JPK(k?~Gf260Doj`P_)YU7r1 zI1j#m&*Q*ngdN&BtC_wz`jn%6iciH>>c8vUb>oXJ=89uTe4WQkl#@IY9%G-Ofjd+W z@d1|_rH(}2Fu7y9S=V?a0Cao^%4{^QvQ{#5yA^LTXzR-NM8J4j>eJSFW@22w5v-%lh3=jR@lWJnW6B&t@(xIqUwi597q`&<8P+uNJ<&))T+Ij3+*v2li@mr&Jy47Qb>Q zW}NNY!Ta$(j{13bCqMC%{LEqfk-rBBt_6NSL1LRL?=ugdYpQ$DZUy}&x5++D@^N;P ze8LT4G5|61&LAewVZXw;2fyVahkd@mQ(V7%>$UzLwSMF8X6oNf9oE-w?)=~Vu8|k* zcRxPXJc^z^Batd-9@*d;^$VZTikZ&O0L#{xsLVkt(4cW5~e+xopAP++xhs;8rhCBy3 zo~^F7{hOUu;pWoL`h3xA4pUOp)dO;K{=0FZ*`7MP#Gs zb~?W4wmT2DHjd`4jWpkKhg!L}Gt7tbtnYfG>+>!1HO_fN+{_BM)M~d8bu~TX-N|;E VdslSx+!yX#x(-X)feX)V_b(8_fMh!hv@+!QHwqqr%Gpx{zmi3>ME7j+>>Ju^2inKUMx-j8$s|MPLry)Ugh z=N^_Eko+*|+>}Os7PNUq^1WnQ>pwJ3WVH-ky;aL5G^Xnsil+2Y&@KACdRCJ?Q`0dT z7M89a>=z$64$ z=ler(4eb^}U)5#j_aM2gTNXLZpYNju&bg79?L=bhj_-`|Ao1+ti(K$kOYp4E$lkRk zGPqh`wa1oQXk_+Y*dF ze&QO(mBwiGx~fZ4J)>>-BuC53FmTwpjKicp4gb0}?^T!Txfo`z{0(Ed;VZ9$2SANxHJED zr#zlsO}=x6F`r-r-2*$qV@IA~-`14z9gXJSIIAPym(&)Ts*SD9Hnp+ulhuAE`m}SR zuGO63`xArsR#7L;!@gmLW#nzezO0Yps@7~b9nfLi@hxV}SY4wmh7j# zpY}1UmZ}@yq|GF5f0viTchYH;YM2AD+ckI>dfv$KR!0`z}dQ*a5vRK0-{HE=!NY%{^sIm zTrBv<*U;y+aE1pVRWAPTrV1WgZ7F`$dyI{}L*6gJoe#15KsQHuSWVm>d0^x7Z-%>X zIjKX2xicT_H~imngouBSjkROX-gk7Qnf7Q^&pD0L+Zzi8uER{4p?()cY`(!01M6$p zWCwPveg7qTf2LZ08tut#SO?`|b%WFQfAsr)^lNdC^J~23*Vg~X?+UR+zt^K*@M*rr zYjJ!AM){lHD{*ap)!JTP&6hl@+{R_xA4aTko8GuhU*!gNL?k~+{*}C?;(aIiUGkS? zN(7Hdj!I@FbCQ=OrzQL!`)|oz$wRsoha^u*rX|lvPD^shy5vpCWy!~qFCY@vaq?f=gR(2^~y$3#?X$rmpa|9xXzaSjb7WG$=3_F+Re+t V4K~WM7`QibMY)>yq|& //how 'heavy' the unit is, on a scale of 1-10 #define UNITSIZE 3 #define MAXTILT 100 + +InitState() +{ + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; +} + +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + call-script Go(); + currentstate = 0; + } + if( statechg_DesiredState == 1 ) + { + call-script Stop(); + currentstate = 1; + } + } + statechg_StateChanging = FALSE; +} + Create() { hide bombbay; hide thrustb; hide thrusta2; hide thrusta1; + call-script InitState(); } Activate() @@ -22,6 +68,7 @@ Activate() show thrustb; show thrusta2; show thrusta1; + start-script RequestState(0); } Deactivate() @@ -29,14 +76,18 @@ Deactivate() hide thrustb; hide thrusta2; hide thrusta1; + start-script RequestState(1); } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = bombbay; + piecenum = bombbay; } - +SweetSpot(piecenum) +{ + piecenum = base; +} Killed(severity, corpsetype) { diff --git a/scripts/Units/corshad.cob b/scripts/Units/corshad.cob index 2259aca3fdb73f5e5beea04abcb171003fda5b64..6007a9c24acf3dba89ca485e4db0a38456c9e4e5 100644 GIT binary patch literal 1695 zcmds1Jx?1!5FLztAcUfAQJRw|pr8QPkwO$i#D^5abyU7HD`E*a`@AM`f#ik~TK)_L zKZgI1miP8{jIp?e28olNW_ISy?0l@QE+R`n12~-%sX_94fZ+*Pjzl(ajv?nv&3I=k zGSoqr`etcUAJ4SwS-_PT9H1Uzq#c>B;M8ztzS$g%na=O;3EW!9KO4*3%tbr-(ry^u za|l&^FEy3EZ{)?OFMR6PJEr4&&Q=+>AL6_Xy4I?3vK^VVU?=s>nY5+67qU(g_FLwgMm0^C8Kba7^UwtZicB4l3@^+NCNEd(%AZk0t6^cdI$7{M^0ni`*3^ ziOX3&hJ377=SNN)>|;o2&l@odlXn%vM9vseeL8~}rdc27RF#vnukyk5@}4lm=^mPN zh93SyWe(Qxkv(uZtYZ<9bD>_otx_KcJ7-Ci{gm(eb#EOyLvLFkFb`+=k-h1Dec_?E z_w@Ohdf}S57vc+$04b0I*T4;M3-I5)3akT7;5)Dj{02^dGoTOr1IEA&a0lE2zj8@j z-jlt{u1j3%tQ_0^&*zt*~>mpeJ=o}b%O a$?}UVOGlEW11s)NF&wybOO<9&GI<7sdU@#p literal 862 zcmchV&q_i;6vjVq{s~$%3m3Hr1Zmeo-LwqRO+;Xu+&W_eNtSWF3O+<{5Ye)S=^=WE z9-!~j8MvT<3-Mll_d7G^%sJn{EdnS7zNqo}PJkcsOD?#1c)-s9W|^lJ6;QP;Wf=-4 zS>=0WgI=hiE^DZ3HQV&5B_{Sw8ms@aP8HNj27|J>4toWv&P!GENrkDb zt)s`7m-l?V?wwzA3C&ht`N{ieX)pMAVyJWKze^wQn!$TW{_` @@ -25,8 +27,8 @@ HitByWeapon(anglex, anglez, damage) // angle[x|z] is always [-500;500], damage i turn BASEPIECE to x-axis <0> - (anglex * amount) /100 speed HITSPEED; wait-for-turn BASEPIECE around z-axis; wait-for-turn BASEPIECE around x-axis; - turn BASEPIECE to z-axis <0.0> speed HITSPEED / 4; - turn BASEPIECE to x-axis <0.0> speed HITSPEED / 4; + turn BASEPIECE to z-axis <0.000000> speed HITSPEED / 4; + turn BASEPIECE to x-axis <0.000000> speed HITSPEED / 4; } HitByWeaponId(anglex, anglez, weaponid, dmg) //weaponID is always 0,lasers and flamers give angles of 0 { @@ -34,13 +36,6 @@ HitByWeaponId(anglex, anglez, weaponid, dmg) //weaponID is always 0,lasers and f return (100); //return damage percent } -#define TB_BASE base -#define TB_TURNRATE <30.0> -#define TB_TILT_X <-0.32> -#define TB_BANK_Z <0.5> // Do not define this if you dont want banking -#define TB_WAKE_PIECE wake -#define TB_WAKE_FOAM 1024 + 1 -#include "../tilt_bank_submarine.h" Create() @@ -49,38 +44,46 @@ Create() hide torp1; hide torp2; gun_1 = torp1; - call-script TB_Init(); } -StartMoving(reversing) +StartMoving() { - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; - START_TILTBANK; + signal SIG_MOVE; + set-signal-mask SIG_MOVE; + while( TRUE ) + { + emit-sfx 1024 + 0 from wake; + sleep 250; + emit-sfx 1024 + 0 from wake; + emit-sfx 1024 + 1 from wake; + sleep 250; + } } StopMoving() { - signal SIGNAL_MOVE; - STOP_TILTBANK; + signal SIG_MOVE; } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { return(1); } -FireWeapon1() +FirePrimary() { gun_1 = !gun_1; } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = gun_1; + piecenum = gun_1; } - +SweetSpot(piecenum) +{ + piecenum = base; +} Killed(severity, corpsetype) { @@ -99,6 +102,7 @@ Killed(severity, corpsetype) explode base type BITMAPONLY | NOHEATCLOUD; explode torp2 type NOHEATCLOUD; explode torp1 type FIRE | SMOKE | NOHEATCLOUD; + //explode wake type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) @@ -107,11 +111,13 @@ Killed(severity, corpsetype) explode base type FIRE | SMOKE | NOHEATCLOUD; explode torp2 type FIRE | SMOKE | NOHEATCLOUD; explode torp1 type EXPLODE_ON_HIT | FIRE | SMOKE | NOHEATCLOUD; + //explode wake type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; explode base type EXPLODE_ON_HIT | FIRE | SMOKE | NOHEATCLOUD; explode torp2 type EXPLODE_ON_HIT | FIRE | SMOKE | NOHEATCLOUD; explode torp1 type EXPLODE_ON_HIT | FIRE | SMOKE | NOHEATCLOUD; + //explode wake type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/corshark.cob b/scripts/Units/corshark.cob index 293601b647370c960f759ffd4125ccc2ff3bab0d..3facdb19bbe0752e68266d5c831de2e3196e62bd 100644 GIT binary patch literal 1695 zcmb_czfTlV5T5&OjK#B)#9|W~3yYP4&IC0f5JLhv6H0FNUdVLiDGP#j0C)Aa{;!e^bZGYp|VUH1Ek1!~{v zGiT+LN6Xp6z0%itXmvhUYfy`i?vs0W{DD-vg=I)!$x}`3xSCm?$)WFN$pe2}`Q-8) zooEkUklX4E@_sQNH(U>Qd4gP{rdF1^=1BXIKSKk<;XZhl(}LPIe3!rIm|631Z(759 z!rE|N=5^+}yzXAPb9AEW9^UwV?tP%Y?lNNZh-CXk~unm;JDR2&40N;Thz$L){-OqqU z;3cpMyaTp?9pDi73VZ{Ofm7fNSV_y*qfMLS*?#D+4&_Z@lhR7ROp0 zzDoDji*zq3MzWk1R{f37wixL{|G?U^pJ%1KO?P+gP|B>xU%0;u@;>=wk!_0JKTCrbxU2h9=x{ z&Pg`Kk+b)BmXtLMa`oqZ9enZ8Jbj;tXYOShlDexm5e1RDdy$Sf)SZfS!l5dzL%nd` ziX-RV&Oj*R@XpkME$-);6uYn!Fk%<1i+cKr)8E#MJ->%Y+!ii|e0V+>jYiz7gia9)h^4-j=OOfQ-^5oeXGuTZ561JXzBqFBrTxWzbhDLW=HKau*cyX} zhz5&&Jr3;S-a_0-_?P2+4IFsD;dvfMYgU}iH{1?H>ZtN}ZN126;9dvLGUUS^y*|Oa z!3)PW-Bq8Hwtn#p_!;aKa(o|zTfY13)kEXCV(;?vy6{|i%z*ztn5>DrR3Dc7{tlXC zW4^IJ^6Gss?hiWd-q*E1<)5WVG4kQwC)xFGk?jJ7q__)j(5Uk1-tfFnA2;oH5T7+G z+36PB`$b|CV=;F{nd%--a`p?rb^FGa5sl&moVm3-c-CFh6S( zuI%rKfxKjK9{QHC0&w|c_ zE`zRtu7hrYRzYi^$Dj@<1Kr8;#n%tgcE8t+<)x0b7N0D2v)o$QX1>_&ZrII1+RjtE zpSK73-QITAeGa+T58^_$Rlv;J?QD=rUVWJk0{*NmXPcX8$MW8wKkI+z>}mT&YOmTG Gsr>@2teX@7 diff --git a/scripts/Units/corshiva.bos b/scripts/Units/corshiva.bos index 050e823abf7..da9d5179a14 100644 --- a/scripts/Units/corshiva.bos +++ b/scripts/Units/corshiva.bos @@ -1,17 +1,19 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece pelvis, aimy1, torso, aimx1, rturret, rflare, rrecoil, lturret, lflare, lrecoil, rlauncher, rocketflare, ldoor, rdoor, lthigh, rleg, rankle, rfoot, rwake, rtoe1, rtoe2, rtoe3, rthigh, lleg, lankle, lfoot, lwake, ltoe1, ltoe2, ltoe3; -static-var isMoving, isAiming, restore_delay, gun_left; +static-var bMoving, bAiming, restore_delay, gun_left, firststep; static-var animSpeed, maxSpeed, animFramesPerKeyframe, curSpeed, doorOpen; // Signal definitions -#define SIGNAL_AIM1 256 -#define SIGNAL_AIM3 1024 -#define SIGNAL_MOVE 1 +#define SIG_AIM 2 +#define SIG_AIM_3 8 +#define SIG_WALK 16 // Generated for N:\animations\corshiva_anim_v5_baketest.blend // Using https://github.com/Beherith/Skeletor_S3O // this animation uses the static-var animSpeed which contains how many frames each keyframe takes @@ -19,7 +21,7 @@ static-var animSpeed, maxSpeed, animFramesPerKeyframe, curSpeed, doorOpen; // Using https://github.com/Beherith/Skeletor_S3O // this animation uses the static-var animSpeed which contains how many frames each keyframe takes Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations\corshiva_anim_walk_v6.blend - if (isMoving) { + if (bMoving) { turn lankle to x-axis <9.694950> speed <137.523174> / animSpeed; turn lankle to z-axis <-0.373805> speed <11.236899> / animSpeed; turn lankle to y-axis <-0.324764> speed <9.472937> / animSpeed; @@ -52,8 +54,8 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn torso to x-axis <-3.763759> speed <112.912760> / animSpeed; sleep 197; } - while(isMoving) { - if (isMoving) { + while(bMoving) { + if (bMoving) { turn lankle to x-axis <-36.575663> speed <1388.118384> / animSpeed; turn lankle to z-axis <-1.310726> speed <28.107630> / animSpeed; turn lankle to y-axis <-0.854192> speed <15.882829> / animSpeed; @@ -70,8 +72,8 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn ltoe1 to z-axis <1.654374> speed <50.563249> / animSpeed; turn ltoe1 to y-axis <1.036763> speed <29.810467> / animSpeed; turn lturret to x-axis <4.811241> speed <112.652619> / animSpeed; - turn lturret to z-axis <-0.0> speed <60.463861> / animSpeed; - turn lturret to y-axis <-0.0> speed <3.982185> / animSpeed; + turn lturret to z-axis <-0.000000> speed <60.463861> / animSpeed; + turn lturret to y-axis <-0.000000> speed <3.982185> / animSpeed; move pelvis to z-axis [0.194621] speed [40.870453] / animSpeed; move pelvis to y-axis [0.778485] speed [7.784847] / animSpeed; turn rankle to z-axis <-0.792556> speed <4.716040> / animSpeed; @@ -91,7 +93,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn torso to x-axis <-5.310977> speed <46.416540> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { + if (bMoving) { turn lankle to x-axis <-3.998318> speed <977.320336> / animSpeed; turn lankle to z-axis <-0.186133> speed <33.737789> / animSpeed; turn lankle to y-axis <-0.508584> speed <10.368224> / animSpeed; @@ -108,7 +110,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn ltoe1 to z-axis <0.031240> speed <48.694030> / animSpeed; turn ltoe1 to y-axis <0.013580> speed <30.695500> / animSpeed; turn lturret to x-axis <2.660585> speed <64.519687> / animSpeed; - turn lturret to z-axis <6.0> speed <180.0> / animSpeed; + turn lturret to z-axis <6.000000> speed <180.000005> / animSpeed; move pelvis to z-axis [1.297475] speed [33.085606] / animSpeed; move pelvis to y-axis [0.064874] speed [21.408330] / animSpeed; turn rankle to x-axis <-26.014456> speed <583.249097> / animSpeed; @@ -125,12 +127,12 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn rthigh to y-axis <2.615936> speed <23.734974> / animSpeed; turn rtoe1 to x-axis <-8.385748> speed <721.929822> / animSpeed; turn rturret to x-axis <-2.981100> speed <196.309888> / animSpeed; - turn rturret to z-axis <-6.0> speed <180.0> / animSpeed; + turn rturret to z-axis <-6.000000> speed <180.000005> / animSpeed; turn torso to x-axis <2.626489> speed <238.123978> / animSpeed; turn torso to z-axis <2.264458> speed <67.933749> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { + if (bMoving) { turn lankle to x-axis <-12.747822> speed <262.485092> / animSpeed; turn lankle to z-axis <1.038795> speed <36.747833> / animSpeed; turn lankle to y-axis <0.364484> speed <26.192033> / animSpeed; @@ -143,7 +145,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn lthigh to x-axis <0.945509> speed <1263.473862> / animSpeed; turn lthigh to z-axis <3.199308> speed <41.850409> / animSpeed; turn lthigh to y-axis <-1.803032> speed <105.352916> / animSpeed; - turn ltoe1 to x-axis <-0.0> speed <58.228430> / animSpeed; + turn ltoe1 to x-axis <-0.000000> speed <58.228430> / animSpeed; turn lturret to x-axis <-3.096177> speed <172.702846> / animSpeed; turn lturret to z-axis <3.990750> speed <60.277512> / animSpeed; turn lturret to y-axis <0.131441> speed <3.943257> / animSpeed; @@ -166,7 +168,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn torso to z-axis <1.132229> speed <33.966874> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { + if (bMoving) { turn lankle to x-axis <-6.514551> speed <186.998123> / animSpeed; turn lankle to z-axis <0.629472> speed <12.279695> / animSpeed; turn lankle to y-axis <0.043820> speed <9.619905> / animSpeed; @@ -199,10 +201,10 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn rturret to x-axis <8.566328> speed <146.089781> / animSpeed; turn rturret to z-axis <-2.015462> speed <59.682607> / animSpeed; turn torso to x-axis <-3.763759> speed <95.853716> / animSpeed; - turn torso to z-axis <-0.0> speed <33.966874> / animSpeed; + turn torso to z-axis <-0.000000> speed <33.966874> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { + if (bMoving) { turn lankle to x-axis <-5.727493> speed <23.611729> / animSpeed; turn lankle to z-axis <0.742267> speed <3.383836> / animSpeed; turn lfoot to x-axis <-2.167152> speed <241.825170> / animSpeed; @@ -217,8 +219,8 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn ltoe1 to x-axis <-32.995899> speed <868.351908> / animSpeed; turn ltoe1 to z-axis <-0.110806> speed <5.842799> / animSpeed; turn lturret to x-axis <-9.524763> speed <155.621519> / animSpeed; - turn lturret to z-axis <0.0> speed <59.572035> / animSpeed; - turn lturret to y-axis <-0.0> speed <3.949070> / animSpeed; + turn lturret to z-axis <0.000000> speed <59.572035> / animSpeed; + turn lturret to y-axis <-0.000000> speed <3.949070> / animSpeed; move pelvis to z-axis [0.194621] speed [40.870453] / animSpeed; move pelvis to y-axis [0.778485] speed [7.784847] / animSpeed; turn rankle to x-axis <-30.519204> speed <1210.011554> / animSpeed; @@ -235,12 +237,12 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn rthigh to y-axis <-13.812406> speed <405.729540> / animSpeed; turn rtoe1 to x-axis <-12.323692> speed <427.939150> / animSpeed; turn rturret to x-axis <4.811241> speed <112.652619> / animSpeed; - turn rturret to z-axis <0.0> speed <60.463861> / animSpeed; - turn rturret to y-axis <0.0> speed <3.982185> / animSpeed; + turn rturret to z-axis <0.000000> speed <60.463861> / animSpeed; + turn rturret to y-axis <0.000000> speed <3.982185> / animSpeed; turn torso to x-axis <-5.081074> speed <39.519466> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { + if (bMoving) { turn lankle to x-axis <-25.823940> speed <602.893392> / animSpeed; turn lankle to z-axis <0.973663> speed <6.941907> / animSpeed; turn lankle to y-axis <1.154590> speed <30.696019> / animSpeed; @@ -255,7 +257,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn lthigh to y-axis <-2.593736> speed <19.974180> / animSpeed; turn ltoe1 to x-axis <5.893688> speed <1166.687630> / animSpeed; turn lturret to x-axis <-2.981100> speed <196.309888> / animSpeed; - turn lturret to z-axis <6.0> speed <180.0> / animSpeed; + turn lturret to z-axis <6.000000> speed <180.000005> / animSpeed; move pelvis to z-axis [1.297475] speed [33.085606] / animSpeed; move pelvis to y-axis [0.064874] speed [21.408330] / animSpeed; turn rankle to x-axis <-2.753621> speed <832.967503> / animSpeed; @@ -272,13 +274,13 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn rthigh to y-axis <-1.932739> speed <356.390033> / animSpeed; turn rtoe1 to x-axis <1.940948> speed <427.939176> / animSpeed; turn rturret to x-axis <2.660585> speed <64.519687> / animSpeed; - turn rturret to z-axis <-6.0> speed <180.0> / animSpeed; + turn rturret to z-axis <-6.000000> speed <180.000005> / animSpeed; turn torso to x-axis <2.833146> speed <237.426607> / animSpeed; turn torso to z-axis <-2.797720> speed <83.931606> / animSpeed; turn torso to y-axis <0.321296> speed <9.638873> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { + if (bMoving) { turn lankle to x-axis <-24.522093> speed <39.055380> / animSpeed; turn lankle to z-axis <-1.201320> speed <65.249513> / animSpeed; turn lankle to y-axis <-0.880721> speed <61.059343> / animSpeed; @@ -315,7 +317,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn torso to y-axis <0.160648> speed <4.819437> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { + if (bMoving) { turn lankle to x-axis <9.694950> speed <1026.511299> / animSpeed; turn lankle to z-axis <-0.373805> speed <24.825474> / animSpeed; turn lankle to y-axis <-0.324764> speed <16.678711> / animSpeed; @@ -348,13 +350,13 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn rturret to x-axis <-4.337379> speed <37.236068> / animSpeed; turn rturret to z-axis <-1.985734> speed <60.150458> / animSpeed; turn torso to x-axis <-3.763759> speed <98.953561> / animSpeed; - turn torso to z-axis <-0.0> speed <41.965806> / animSpeed; - turn torso to y-axis <0.0> speed <4.819436> / animSpeed; + turn torso to z-axis <-0.000000> speed <41.965806> / animSpeed; + turn torso to y-axis <0.000000> speed <4.819436> / animSpeed; sleep ((33*animSpeed) -1); } } } -// Call this from StopMoving()! +// Call this from MotionControl()! StopWalking() { move pelvis to y-axis [0] speed [8.433585]; move pelvis to z-axis [0] speed [6.811742]; @@ -375,7 +377,7 @@ StopWalking() { turn ltoe1 to z-axis <0> speed <8.427208>; turn lturret to x-axis <0> speed <42.831642>; turn lturret to y-axis <0> speed <0.663697>; - turn lturret to z-axis <0> speed <30.0>; + turn lturret to z-axis <0> speed <30.000001>; turn rankle to x-axis <0> speed <201.668592>; turn rankle to y-axis <0> speed <10.319140>; turn rankle to z-axis <0> speed <11.019799>; @@ -392,7 +394,7 @@ StopWalking() { turn rtoe1 to z-axis <0> speed <1.835816>; turn rturret to x-axis <0> speed <33.388845>; turn rturret to y-axis <0> speed <0.663697>; - turn rturret to z-axis <0> speed <30.0>; + turn rturret to z-axis <0> speed <30.000001>; turn torso to x-axis <0> speed <39.687330>; turn torso to y-axis <0> speed <1.606479>; turn torso to z-axis <0> speed <13.988601>; @@ -461,9 +463,9 @@ Animate() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animati turn lthigh to x-axis <4.515302> speed <54.302113> ; turn lthigh to z-axis <0.604679> speed <1.590455> ; turn lthigh to y-axis <-0.570866> speed <0.816889> ; - turn lturret to x-axis <0.0> speed <1.178919> ; - turn lturret to z-axis <-0.0> speed <25.329407> ; - turn lturret to y-axis <0.0> speed <15.960054> ; + turn lturret to x-axis <0.000000> speed <1.178919> ; + turn lturret to z-axis <-0.000000> speed <25.329407> ; + turn lturret to y-axis <0.000000> speed <15.960054> ; turn pelvis to x-axis <-15.480665> speed <50.372526> ; turn pelvis to z-axis <-2.231866> speed <6.695597> ; turn pelvis to y-axis <1.700530> speed <5.101591> ; @@ -476,9 +478,9 @@ Animate() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animati turn rthigh to x-axis <8.890320> speed <41.421142> ; turn rthigh to z-axis <0.452878> speed <1.583093> ; turn rthigh to y-axis <-0.154546> speed <1.366826> ; - turn rturret to x-axis <0.0> speed <1.178919> ; - turn rturret to z-axis <-0.0> speed <25.329407> ; - turn rturret to y-axis <0.0> speed <15.960054> ; + turn rturret to x-axis <0.000000> speed <1.178919> ; + turn rturret to z-axis <-0.000000> speed <25.329407> ; + turn rturret to y-axis <0.000000> speed <15.960054> ; sleep 329; } if (bAnimate) { @@ -527,18 +529,18 @@ StopAnimation() { turn torso to y-axis <0> speed <1.639040>; turn torso to z-axis <0> speed <0.912995>; } -Movement(moving, aiming, justmoved) +MotionControl(moving, aiming, justmoved) { justmoved = TRUE; while( TRUE ) { - //get PRINT(isMoving, isAiming, justmoved); - moving = isMoving; - aiming = isAiming; + //get PRINT(bMoving, bAiming, justmoved); + moving = bMoving; + aiming = bAiming; if( moving ) { - signal SIGNAL_MOVE; + signal SIG_WALK; if( aiming ) { call-script walk(); @@ -560,13 +562,13 @@ Movement(moving, aiming, justmoved) sleep 100; if (RAND(1,200) ==1){ //this is bad place and thread to do this, just showing off... - if (!isAiming){ + if (!bAiming){ bAnimate = TRUE; start-script Animate(); sleep 2000; call-script StopAnimation() ; } - + //explode rrecoil type FIRE | SMOKE | FALL; } } } @@ -594,7 +596,7 @@ UnitSpeed(){ #define UNITSIZE 10 #define MAXTILT 100 -#include "../unit_hitbyweaponid_and_smoke.h" +#include "unit_hitbyweaponid_and_smoke.h" Create() { @@ -605,14 +607,13 @@ Create() hide rflare; hide aimx1; hide aimy1; - isMoving = FALSE; - isAiming = FALSE; + bMoving = FALSE; + bAiming = FALSE; doorOpen = FALSE; gun_left = TRUE; animFramesPerKeyframe = 6; animSpeed = 6; - call-script CATT1_Init(); hide lflare; hide rflare; //turn lflare to x-axis <105> now; @@ -628,11 +629,11 @@ SetMaxReloadTime(maxtime_ms) //this is called by engine immediately after Create //restore_delay = maxtime_ms; } -StartMoving(reversing) +StartMoving() { - signal SIGNAL_MOVE; - isMoving=TRUE; - set-signal-mask SIGNAL_MOVE; + signal SIG_WALK; + bMoving=TRUE; + set-signal-mask SIG_WALK; start-script UnitSpeed(); start-script Walk(); set ARMORED to 0; @@ -640,57 +641,133 @@ StartMoving(reversing) StopMoving() { - isMoving = FALSE; - signal SIGNAL_MOVE; + bMoving = FALSE; + signal SIG_WALK; call-script StopWalking(); set ARMORED to 1; } +static-var aimy1delta, timetozero, deceleratethreshold; +static-var aimy1velocity, aimy1target, aimy1position, gameFrame; + //-------------------------------CONSTANT ACCELERATION TURRET TURNING--------------------------- // MaxVelocity and acceleration are in degrees per frame (not second!) // Jerk is the minimum velocity of the turret // A high precision requirement can result in overshoots if desired // (c) CC BY NC ND Beherith mysterme@gmail.com - -#define CATT1_PIECE_X aimx1 -#define CATT1_PIECE_Y aimy1 - -#define CATT1_MAX_VELOCITY <7.0> -#define CATT1_ACCELERATION <0.5> -#define CATT1_JERK <1.0> -#define CATT1_PRECISION <1.2> -#define CATT1_RESTORE_SPEED <3.0> -#define CATT1_PITCH_SPEED <85> - -#include "../constant_acceleration_turret_turning_1.h" - +#define MAX_AIMY1_VELOCITY <7.00> +#define AIMY1_ACCELERATION <0.5> +#define AIMY1_JERK <1.0> +#define AIMY1_PRECISION <1.2> +#define AIMY1_RESTORE_SPEED <3.0> RestoreAfterDelay() { sleep restore_delay; + turn aimx1 to x-axis <0.000000> speed <125.000000>; turn rdoor to z-axis <0> speed <100>; turn ldoor to z-axis <0> speed <100>; - isAiming = FALSE; + bAiming = FALSE; doorOpen = FALSE; -} + while ( get ABS(aimy1position) > AIMY1_RESTORE_SPEED){ + if (aimy1position > 0 ) { + aimy1position = aimy1position - AIMY1_RESTORE_SPEED; + aimy1velocity = (-1) * AIMY1_RESTORE_SPEED; + } + else + { + aimy1position = aimy1position + AIMY1_RESTORE_SPEED; + aimy1velocity = AIMY1_RESTORE_SPEED; + } + turn aimy1 to y-axis aimy1position speed 30 * AIMY1_RESTORE_SPEED; + sleep 30; + } + aimy1velocity = 0; +} AimWeapon1(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; - isAiming = TRUE; - call-script CATT1_Aim(heading,pitch); + signal SIG_AIM; + set-signal-mask SIG_AIM; + + bAiming = TRUE; + //signal SIG_HEAD; + //We can do this any time + turn aimx1 to x-axis <0.000000> - pitch speed <85.000000>; + + aimy1target = heading; + aimy1delta = aimy1target - aimy1position; + + + while( ( get ABS(aimy1delta) > AIMY1_PRECISION ) OR (get ABS(aimy1velocity) > AIMY1_JERK)){ + if (gameFrame != get(GAME_FRAME)){ //this is to make sure we dont get double-called, as previous aimweapon thread runs before new aimweaponthread can signal-kill previous one + gameFrame = get(GAME_FRAME); + + //Clamp aimy1position and aimy1delta between <-180>;<180> + while (aimy1position > <180>) aimy1position = aimy1position - <360>; + while (aimy1position < <-180>) aimy1position = aimy1position + <360>; + while (aimy1delta > <180>) aimy1delta = aimy1delta - <360>; + while (aimy1delta < <-180>) aimy1delta = aimy1delta + <360>; + + //number of frames required to decelerate to 0 + timetozero = get ABS(aimy1velocity) / AIMY1_ACCELERATION; + + //distance from target where we should start decelerating, always 'positive' + //pos = t * v - (t*(t-1)*a/2) + deceleratethreshold = timetozero * (get ABS(aimy1velocity)) - (timetozero * (timetozero - 1) * AIMY1_ACCELERATION / 2); + + //get PRINT ( aimy1delta , deceleratethreshold, aimy1velocity, timetozero ); + + if (get ABS(aimy1delta) <= deceleratethreshold){ //we need to decelerate + if (aimy1velocity > 0) aimy1velocity = aimy1velocity - AIMY1_ACCELERATION; + else aimy1velocity = aimy1velocity + AIMY1_ACCELERATION; + } + else //we need to accelerate + { + if (aimy1delta > 0) aimy1velocity = get MIN( MAX_AIMY1_VELOCITY, aimy1velocity + AIMY1_ACCELERATION); + else aimy1velocity = get MAX((-1) * MAX_AIMY1_VELOCITY, aimy1velocity - AIMY1_ACCELERATION); + } + + //Apply jerk at very low velocities + if (get ABS(aimy1velocity) < AIMY1_JERK){ + if ((aimy1delta > AIMY1_JERK)) aimy1velocity = AIMY1_JERK; + if ((aimy1delta < (-1) * AIMY1_JERK)) aimy1velocity = (-1) * AIMY1_JERK; + } + + aimy1position = aimy1position + aimy1velocity; + turn aimy1 to y-axis aimy1position now; + aimy1delta = aimy1target - aimy1position ; + } + sleep 30; + } + aimy1velocity = 0; + start-script RestoreAfterDelay(); return (1); } +/* +AimPrimary(heading, pitch) +{ + + signal SIG_AIM; + set-signal-mask SIG_AIM; + bAiming = TRUE; + turn aimy1 to y-axis heading speed <180.000000>; + turn aimx1 to x-axis <0.000000> - pitch speed <110.000000>; + wait-for-turn aimy1 around y-axis; + wait-for-turn aimx1 around x-axis; + + start-script RestoreAfterDelay(); + return (1); +}*/ -AimWeapon2(heading, pitch) +AimSecondary(heading, pitch) { - signal SIGNAL_AIM3; - set-signal-mask SIGNAL_AIM3; + signal SIG_AIM_3; + set-signal-mask SIG_AIM_3; if (!doorOpen){ turn rdoor to z-axis <-115> speed <100>; @@ -703,11 +780,11 @@ AimWeapon2(heading, pitch) return (1); } -FireWeapon1() +FirePrimary() { if( gun_left ) { - move lrecoil to z-axis [-3.0] speed [70.0]; + move lrecoil to z-axis [-3.000000] speed [70.000000]; emit-sfx 1024 + 0 from lflare; turn lturret to y-axis <5> now; turn aimy1 to x-axis <-1> now; @@ -715,11 +792,11 @@ FireWeapon1() turn aimy1 to x-axis <0> speed <3>; turn lturret to y-axis <0> speed <8>; - move lrecoil to z-axis [0.0] speed [3.0]; + move lrecoil to z-axis [0.000000] speed [3.000000]; } else { - move rrecoil to z-axis [-3.0] speed [70.0]; + move rrecoil to z-axis [-3.000000] speed [70.000000]; emit-sfx 1024 + 0 from rflare; turn rturret to y-axis <-5> now; turn aimy1 to x-axis <-1> now; @@ -727,13 +804,13 @@ FireWeapon1() turn aimy1 to x-axis <0> speed <3>; turn rturret to y-axis <0> speed <8>; - move rrecoil to z-axis [0.0] speed [3.0]; + move rrecoil to z-axis [0.000000] speed [3.000000]; } gun_left = !gun_left; } -FireWeapon2() +FireSecondary() { turn aimy1 to x-axis <-2> now; turn rdoor to z-axis <-125> now; @@ -745,28 +822,46 @@ FireWeapon2() } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = lflare + gun_left; + if( gun_left ) + { + piecenum = lflare; + } + else + { + piecenum = rflare; + } } -AimFromWeapon2(pieceIndex) //not needed? +AimFromSecondary(piecenum) //not needed? { - pieceIndex = rlauncher; + piecenum = rlauncher; } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = lflare + gun_left; + if( gun_left ) + { + piecenum = lflare; + } + else + { + piecenum = rflare; + } } -QueryWeapon2(pieceIndex) +QuerySecondary(piecenum) { - pieceIndex = rocketflare; // not sure what should go here + + piecenum = rocketflare; // not sure what should go here } - +SweetSpot(piecenum) +{ + piecenum = aimy1; +} Killed(severity, corpsetype) @@ -778,11 +873,11 @@ Killed(severity, corpsetype) explode rthigh type BITMAPONLY | NOHEATCLOUD; explode rleg type BITMAPONLY | NOHEATCLOUD; explode rfoot type FIRE | SMOKE | FALL | NOHEATCLOUD; - - + //explode lthigh type BITMAPONLY | NOHEATCLOUD; + //explode lleg type BITMAPONLY | NOHEATCLOUD; explode lfoot type BITMAPONLY | NOHEATCLOUD; explode torso type BITMAPONLY | NOHEATCLOUD; - + //explode rflare type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } if( severity <= 50 ) @@ -792,7 +887,7 @@ Killed(severity, corpsetype) explode rthigh type FALL | NOHEATCLOUD; explode rleg type FALL | NOHEATCLOUD; explode rfoot type FIRE | SMOKE | FALL | NOHEATCLOUD; - + //explode lthigh type FALL | NOHEATCLOUD; explode lleg type FALL | NOHEATCLOUD; explode lfoot type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); @@ -805,7 +900,7 @@ Killed(severity, corpsetype) explode rleg type FIRE | SMOKE | FALL | NOHEATCLOUD; explode rfoot type FIRE | SMOKE | FALL | NOHEATCLOUD; explode lthigh type SMOKE | FALL | NOHEATCLOUD; - + //explode lleg type SMOKE | FALL | NOHEATCLOUD; explode lfoot type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode torso type BITMAPONLY | NOHEATCLOUD; return(corpsetype); @@ -815,7 +910,7 @@ Killed(severity, corpsetype) explode rthigh type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode rleg type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode rfoot type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; - + //explode lthigh type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode lleg type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode lfoot type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode torso type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; diff --git a/scripts/Units/corshroud.bos b/scripts/Units/corshroud.bos index 7c5d493f8de..0728eb1a3d3 100644 --- a/scripts/Units/corshroud.bos +++ b/scripts/Units/corshroud.bos @@ -1,58 +1,138 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, tower; -static-var recentlyDamaged; +static-var Static_Var_1, statechg_DesiredState, statechg_StateChanging; -#define SIGNAL_TURNON 4 - -#include "../damagedsmoke.h" -Create() -{ - recentlyDamaged = 0; - SLEEP_UNTIL_UNITFINISHED; - start-script DamagedSmoke(); +SmokeUnit(healthpercent, sleeptime, smoketype) +{ + while( get BUILD_PERCENT_LEFT ) + { + sleep 400; + } + while( TRUE ) + { + healthpercent = get HEALTH; + if( healthpercent < 66 ) + { + smoketype = 256 | 2; + if( Rand( 1, 66 ) < healthpercent ) + { + smoketype = 256 | 1; + } + emit-sfx smoketype from base; + } + sleeptime = healthpercent * 50; + if( sleeptime < 200 ) + { + sleeptime = 200; + } + sleep sleeptime; + } + return (0); + // Build by COBBLER Ver4.0 Copyright @1998 DIGITAL CONCEPT SOFTWARE (MANU@inext.fr) / http://www.annihilationcenter.com/DCS/ } -Activate() +Go() { - // prevent manual reactivation - if( recentlyDamaged ) + if( Static_Var_1 ) { set ACTIVATION to 0; return (0); } spin tower around y-axis speed <40.005495>; + return (0); } -Deactivate() +Stop() { stop-spin tower around y-axis; + return (0); +} + +InitState() +{ + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; + return (0); +} + +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + call-script Go(); + currentstate = 0; + } + if( statechg_DesiredState == 1 ) + { + call-script Stop(); + currentstate = 1; + } + } + statechg_StateChanging = FALSE; + return (0); } -TurnOffWhileDamaged(){ - signal SIGNAL_TURNON; - set-signal-mask SIGNAL_TURNON; - - recentlyDamaged = 1; - set ACTIVATION to 0; +Create() +{ + call-script InitState(); + start-script SmokeUnit(); + Static_Var_1 = 0; + return (0); +} - sleep 8000; +Activate() +{ + start-script RequestState(0); + return (0); +} - recentlyDamaged = 0; - set ACTIVATION to 100; +Deactivate() +{ + start-script RequestState(1); + return (0); } HitByWeapon(anglex, anglez) { - start-script TurnOffWhileDamaged(); + if( get ACTIVATION ) + { + Static_Var_1 = 1; + } + if( Static_Var_1 ) + { + signal 2; + set-signal-mask 2; + set ACTIVATION to 0; + sleep 8000; + Static_Var_1 = 0; + set ACTIVATION to 100; + } + return (0); } - +SweetSpot(piecenum) +{ + piecenum = base; + return (0); +} Killed(severity, corpsetype) { diff --git a/scripts/Units/corshroud.cob b/scripts/Units/corshroud.cob index c7780a05b55d4324fc495511dbd5f296d81b6190..65413e688fa7b3511e573b845447c36003b66c4d 100644 GIT binary patch literal 1880 zcmbVNJ&P1U5Ut%CXBR|l0|Vi}Nz4=m!9XxrPw|68Ty79UcfIRi@Vwc*8}ASdHWds^ z1b>6S;4m{YGBh+Y5e$q36Y;(7s@-99<#gat)zww6URTfTCL(ei=mM`hA}g?bUZf(2 zz-Qn*)?Z;I>pDZnb=@f@W{Hzg>Q2CA>?JrP?>HHxj$Di}#GIk76RuI$&B2GKiyT_! zuF-MF0_SCo2?)4HjWSvZb@YvUQ3p=tGLB0vj;Lk9!TiAcO@7mIk^Sxe`R3D3R}sx6YSG$uo(z`nQ(vMw zjhAbisd3p|hp93Mtweg*O)!_T{OyYY@DsgGNpH>aGOq0!oG3N8#XV3P2 zILnfKyNCIC^qc#lJglWwm@scz-c^DP)`as;;@t#)wz#Lc4t?JSXHkpq*W$)&y=k|| z-+Di((Q0@POtCd*U}vy*hkIuNPrTC$s+DK4dt^?gJTq8+`{H_Y?hGO3%wTOV)FVdA zzRiB&d(L9NyV{TQIBGvOX1_kUp@n|Y5S_ck#KL0j6ogzMf+%uWTO?6L5I;a6mN}D+2J>Z%ij7!V`vXMs11$X! zVwKjy&Q`Fr^u4{kcnL9q$IQ;Wc{4kENs34saDjKg0r-1Jh&%(Yz%tG~Sn*utD1d}w zN-e?goaEU{D%W=vT^BK0=5ln@gd%^z#vBO5IqdCZ6G{~DE&bX}#3P<~3DbKOG4a9k z9VOY6T4XKy^mqvy<9v+4i0r3K9o?k=H`g=+n3;2}!6ko(g;vA#QK?YF=3$H;ZW_i> zyK8d;J-x|(&v<|KIG;m-FJ^}WHL*D*`+wf-x)t8Z_;;aCt@!;0wCz0E40}8M*+%ip zpvchte0Kxv!}J6tzTYSxy%lq_MkjptC(Gwd{6?bLy5y*I|GlHL;X#9z`-|(Eckx2q z7o^#X-_JPRN9v%@INcICR`(4qb@|E1bt4^8neWmWp*yOUJBZ&kIuFl8+6s^dj({R? z3)}3c>9QOL7g{>aYu%P#Y06U^ diff --git a/scripts/Units/corsilo.bos b/scripts/Units/corsilo.bos index 8a898ba1f21..beddc02580a 100644 --- a/scripts/Units/corsilo.bos +++ b/scripts/Units/corsilo.bos @@ -1,7 +1,9 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, door1, door2, flare, cagelight1, cagelight2, cagelight3, cagelight4, cagelight_emit1, cagelight_emit2, cagelight_emit3, cagelight_emit4; @@ -14,12 +16,11 @@ static-var silo_state; // 3 = closing, fired missile // 4 = closing, no missile fired -#define BASEPIECE base -#define MAXTILT 0 -#include "../unit_hitbyweaponid_and_smoke.h" +#define SMOKEPIECE base +#include "smokeunit_thread_nohit.h" // Signal definitions -#define SIGNAL_AIM1 256 +#define SIG_AIM 2 Create() { @@ -88,7 +89,7 @@ CloseSiloDoors() CloseSilo_Fired() { silo_state = 3; - signal SIGNAL_AIM1; // kill any OpenSilo threads + signal SIG_AIM; // kill any OpenSilo threads start-script CloseSiloDoors(); } @@ -103,10 +104,10 @@ RestoreAfterDelay() return (0); } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; start-script OpenSilo(); start-script RestoreAfterDelay(); if (silo_state == 2) @@ -116,7 +117,7 @@ AimWeapon1(heading, pitch) return (0); } -FireWeapon1() +FirePrimary() { shotcount = shotcount + 1; call-script lua_UnitScriptLight(1, shotcount); @@ -125,13 +126,17 @@ FireWeapon1() return (0); } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = flare; + piecenum = flare; return (0); } - +SweetSpot(piecenum) +{ + piecenum = base; + return (0); +} Killed(severity, corpsetype) { diff --git a/scripts/Units/corsilo.cob b/scripts/Units/corsilo.cob index 4ceb9ede18bac8dbbe3ad7ae5dd3c90ef0164da1..2b721888b7d06778a44aff96c7ba6b44d61ddcde 100644 GIT binary patch literal 2963 zcmcImOKVe65S}JYYJI?U;X(w7tAe^nA1k5I7gDfjYY-n@G}rdDUYj)G=2oc-DHMtu z_g%QqMK}He{R#d9!L8_4#C`p~x#uJ&F^Mf`l|m*M2r|KW8WaWtDdz+FQby5WF%x9Hvn=M-et=5Y-nKf;0sjo_smfS? z#+jj@nA6xJU?~e#HlVS{cFW_((D*?bW6Z{&tXn?nrI-z*n8s(V%{l_qXloN2Z{F$$ zX!t|4ewoS#3s#=#ko)s-^YG{Q(E5Q0^~~5l!?ceLYsc`ee+lwweyan~7*ZCEL3)ZZ zP+X@{UL((EK>T}ieIMLNOy**2!IP`#@V)d%ImOouKvAds#$3yJ=5vtejJ1 zF4lm`1I{%IR;O=mcozD;O?|&wxtoWdm$446LQ|B0IbClI;p=jJbooBIA*+)`J6}+p zFR0EJ)Xn!j1k8E(2u=mj9$l?Yw|sbXL>=V>teSS@ot$yV^ZrSBrn%cI<){AaSs?4| zm9owrDQost{`>Caa4F3i3hljh>R2z)uQ#fD^``sa^{uh$*h9Pl_Qp@M7VIZ?M}>IT z{q|@Q%RxWxiObz9roZzpKYf+oO>5B|XJXXFS@PrOS6l8ez7HSR+#v0DXzQn(@l}s^ z!TNj|*2FvKhjz*!mwU&YvHOnfrl)-`J!9}6ZRmTEOd;*_1B#@K zwbI}9P{5h;T~I0G-3LQWe=^ji-(Ok20=*;Jb^7#+=Vnr{@peI7F6|d_>CZRh*RQ_| zw*Fr*U{1#RpY@-lXV=$BeERjf${E;x#}S96`|GkJoxT5y{(9wd^K!NMGwJ2yY#sG|jx&eO{&+7-z*Arkcm;e1E~B_>z!b0y zJOf?=`vCus_X5}lUIXs{{ziQSJ^^2VZ@^FB2pGnX9DnF80GEI(zz8q~Oak*j30MUh zz#h-l+NQa;6(uqsB{MtsO<1pO$!u)G#7Jd3T%oSC8b|eHA=-G7$ep^`Dn*r=%vNd* zLvF5CiyN)u%FQS?YjW2#l3Hx0*Ao-ZnM$}L(@}LXj;dk2BQ$aR(zc0r+@bW`n50y% zC2}jOR1oHI*f6q&45RvYOx7!5Y-BauFcsD_+G59A?0AcvXt67%8u<=-_Pq4$x$1dB Fegj&|@3jB` literal 3018 zcmb7`PiS0K6vj^`(`l_$UYCN4K?FfWCTSNUE|N6(2P?(~Q7V{>$!i^*$qbVz(v@B4 zM#QBQ5y`@Cx)AEJTS0N-%C(@lD0EZMl?e6wop;a7?Q4_Zl&|;RbG~!Vch0--wM{d7 zL^vUQ)G%vm<#+73*$cu*ct+Y-_E8z2}pk{WA8> z5$8UkZBw>+t@v=++RTS-PNrt3;#kotB+q}16vqmO)g9t+j+~(**9@0DD~XSZzH*+|NIkulc-SH*b)I{)(imF3kIuZ$#N(yG+U7lkHezBf)T4CN zwfkac@$l%E*iW=&{ZuQl)Q_C?)jHKP3a+S!a&r#x^c=HamXn&C_tTArTM$w|^vv_H zqIxC~%W9oD@97I2LVJB?5AqQ@}Z+}iUOmR2! z{CS+`On2zl6o)Np5QmOwje<8K?s9ea{!IQkhaP^Ip=#1@b@bI2f>FY&ABG>Tzy)Ej`?>f`VrM@gzpIFWUKpH2l$RA zpRJ{tYW10F^_gmonO>IxJ=e}FNbf%NLTmWmxpwz1KI}lODUW^F$-}Vp-k(x@9nMbYe*V6s5jjE_2&1XlRak!Inwf=cj z44uS>#yvR2(P_-r>0I}R?%=x))$rb=FR$z0yHs~2)g}J_)D0a`H_ivu-9me+yP4|7 zyz2cxWgg$KQUBqObJYDj`RjFwJuLT^wcK%z+)=BZo3Lkv8^T}035h!?41{lm8^Vvm z@4~-AQwjM$;djDK;V0o2;Sb@q@Q-j@AG^ner-W0&lJJsnRyZfTExarAgo*I6@R{(H za9y}5yxg0tTz;$Uj)pt0Z09Fi?GCyZ%kA~S@Way1jLYt%wEm^;#+y66$@-QD>UU#>&ZRK6?zZdO7zdJ5%OA7m_SeR`WXWLV=?djQeqa5_| P06%9@e$GPueA@m4%zO3* diff --git a/scripts/Units/corsjam.bos b/scripts/Units/corsjam.bos index 69fc56c7577..8307aaa9866 100644 --- a/scripts/Units/corsjam.bos +++ b/scripts/Units/corsjam.bos @@ -1,44 +1,81 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, dish, wake; -static-var oldHead; +static-var Static_Var_1, oldHead; static-var recently_damaged, desired_activation; // Signal definitions -#define SIGNAL_MOVE 1 -#define SIGNAL_TURNON 4 -#define SIGNAL_OFF 8 - -#define RB_MASS 30 -#define RB_LENGTH 6 -#define RB_WIDTH 3 -#define RB_PITCH_SPEED 200 -#define RB_PITCH_ACCELERATION 10 -#define RB_ROLL_ACCELERATION 6 -#define RB_WAKE_PIECE wake -#define RB_WAKE_PERIOD 6 -#define RB_WAKE_CEG 1024 + 0 -#define RB_ONHIT start-script OffOnHit(); -#include "../bar_ships_common.h" +#define SIG_MOVE 4 +#define SIG_ACTIVATE 2 +#define SIG_OFF 8 + +RockOnWaves() +{ + var rockDir, rockAng, rockSpeed; + rockDir = <-0.1>; + rockAng = <-0.1>; + while( TRUE ) + { + while( get ABS(rockAng) < <1.31> ) + { + rockSpeed = <1.45> - get ABS(rockAng); + turn base to x-axis rockAng speed rockSpeed*4; + wait-for-turn base around x-axis; + rockAng = rockAng + rockDir; + } + rockDir = 0 - rockDir; + rockAng = rockAng + rockDir + rockDir; + } +} + +SmokeUnit(healthpercent, sleeptime, smoketype) +{ + while( get BUILD_PERCENT_LEFT ) + { + sleep 500; + } + start-script RockOnWaves(); + while( TRUE ) + { + healthpercent = get HEALTH; + if( healthpercent < 66 ) + { + smoketype = 258; + if( Rand( 1, 66 ) < healthpercent ) + { + smoketype = 257; + } + emit-sfx smoketype from base; + } + sleeptime = healthpercent * 50; + if( sleeptime < 200 ) + { + sleeptime = 200; + } + sleep sleeptime; + } +} + Create() { hide wake; + start-script SmokeUnit(); recently_damaged = 0; desired_activation = 1; - start-script InitRockBoat(); - SLEEP_UNTIL_UNITFINISHED; - start-script BoatPhysics(); + Static_Var_1 = 0; } Activate() { - signal SIGNAL_TURNON; - set-signal-mask SIGNAL_TURNON; + signal SIG_ACTIVATE; + set-signal-mask SIG_ACTIVATE; desired_activation = 1; // if we are in this function, the unit is already on // implied set ACTIVATION to 1; @@ -70,10 +107,10 @@ Deactivate() //set desired state if deactivated and not recently damaged desired_activation = 0; } - signal SIGNAL_TURNON; - set-signal-mask SIGNAL_TURNON; + signal SIG_ACTIVATE; + set-signal-mask SIG_ACTIVATE; - spin dish around z-axis speed <0.0>; + spin dish around z-axis speed <0.000000>; } static-var Stunned; @@ -89,29 +126,59 @@ SetStunned(State) OffOnHit() { - signal SIGNAL_OFF; - set-signal-mask SIGNAL_OFF; - recently_damaged = 1; - set ACTIVATION to 0; // turn off unit - sleep 8000; //hardcoded time to stay off after being hit - recently_damaged = 0; - set ACTIVATION to desired_activation; +signal SIG_OFF; +set-signal-mask SIG_OFF; +recently_damaged = 1; +set ACTIVATION to 0; // turn off unit +sleep 8000; //hardcoded time to stay off after being hit +recently_damaged = 0; +set ACTIVATION to desired_activation; } +HitByWeapon(anglex, anglez) +{ + start-script OffOnHit(); +} - - -StartMoving(reversing) +waveSplash() { + while( TRUE ) + { + turn base to x-axis <-3.0> speed <3.0>; + move base to y-axis [0.35] speed [0.23]; + wait-for-turn base around x-axis; + turn base to x-axis <0.0> speed <3.0>; + move base to y-axis [0.0] speed [0.23]; + wait-for-turn base around x-axis; + } +} +StartMoving() +{ + signal SIG_MOVE; + set-signal-mask SIG_MOVE; + var waketime; + start-script waveSplash(); + while( TRUE ) + { + emit-sfx 1024 + 0 from wake; + waketime = (get CURRENT_SPEED) * 100 / get MAX_SPEED; + if( waketime < 50 ) waketime = 50; + sleep 14000 / waketime; + } } StopMoving() { - + signal SIG_MOVE; + turn base to x-axis <0.0> speed <3.0>; + move base to y-axis [0.0] speed [0.23]; } - +SweetSpot(piecenum) +{ + piecenum = base; +} Killed(severity, corpsetype) { diff --git a/scripts/Units/corsjam.cob b/scripts/Units/corsjam.cob index 51f132771ccc3fd5d613cde8dcb37fea30ec07b6..f1bcf16ef17b06cb22d2988fc80fa13b8b780173 100644 GIT binary patch literal 2795 zcmb_eJ!lkB5T0Bvm#C;KiYOv3))t3I3bBZZq7Ws)LlO}rYi^Sq7x&I&lVBrhEG#TU z8xd`66dMsM8!ZKE!9s+HT1pCAIlpiA&D|r(MHAg)GV|ttzV}1&BC;LS2}*JzUEut_ zZV}nHRpcD#2-c(E66OMEmkBf6e$dxwd(^WVq18nRv6tE+!1~ipP}m{mDj(=oh_Qp*=vH`xv8r0>7uw zHRnbSVnR3TnYMl^9Nu>!QkO#l!_V@ye31t~hFRPl7uVs%(TBLpa)zD}8PLs`Fu(;x{H)U0|X(c=kN%*;$~CYo34B1=BUTt(lLq&QbT| z#Z2~dC@L;i>kemU_@k$5<_&u^FKby1inJd%1EGl12xh&~W`1SL*n7VoRpRO`L$o^n zeC=jnsQI_6%d^NIeVLQ@i1qb8;hgPYv%p)|bi%pZ4IT5+L|@`8Ys}q4y~9@J71$aE z%+u`C<>@;FC9p94s{L(K*WNPrTwr~CmcwvnJ-$I@H^*T#LZ8pS8Vw0s?*?^C$1~f5 zONa?Fo5rIvrr}3F%b|)kIn>rB2XQ^&`cc2(>>MiY4nviJq0Wf;6jN7Ud%{c)EeD*N zbK{NUT{XN9vH;!;+RK!2Unvhdz4T@GmrFYvwCmk=_xGNwLmlrged+U}w-v)Yc9*YP zUvyk!w$0$jdQ8WB_NH>__rtZ>{j<*4{j`PIUH<0!1JihN`h<=zg3B1@3A&rJQlO9S z18kIakDTnste21bLY(QtURPo6dfemAsrnaN?`nuJ)?NhvA3bhluJw8!XFsm@0oOa< z3VZMWgfDY%6yJa8owYX8pB@Oe=NmZ-HlH8g?)&>ZL{=r-s+=n?1{=oRQK=soBI=o4rO^c{4eHeMY{Mxyz6R!Y}u z)%apkNo8Orj?!38j;ED*3a8@8#8RA=(zzsw%Q7@EF_fHzJE;H0NF3E`i7X&hsXiUe rPDv?^X43Pu`ARYgxmGuEAx4gREtSE_^fdBZjb>vhR}irfRb%-L_eR8H literal 3807 zcmb`KPiS0K6vppNCex}YS6m5Erzw!IfRO=)y(u5Apk*chAiAbsAgggp+&kIo~0)*7WNht$e;gd0z;JB#&u3ueBEI5nH2OkKprjBb_g#^_bSsYD6&c(FxXl zLc0-(Gn??hIX5fkec3rIHDhRrgQTIja0p)nbY77amH%8wyPMzqQ8DlpjPQ;`IXc1NKGtiB7d&)x)d>l)n&*IQMXzId*V)SR0QM@EN=)(f9tDU>SLFi!uN1>` z_*_Z-zjJsUP$38H@VemSeZh{Nd&+V6=eYbH!C?-ovyr)fNwpD!IlwlDv--~7pE2sj zPVc=wyHnwq3v{{7c+B=T z5*x15e7(O9D_nl()<4KGhpE0?7h03|FnaeV-VJjsJ7rJvXV%a!m|rah_2N0lqRYMm zc&FMAddt@ITBCn= z+>foL?<>{%t4PAJ=lIx+cd^$8KK|@}Nin)Jo)dJr&1N)~&&Z!C9{%Ldah9W9;+nc3 z&+9RLPP`B9Yx6&)Z`h&rFPxqy`s;mQKK$>81@F__)eE|oSH_vN(@uE(-8(&uZa!$`CUu>Rt!mT;ZGxoE|Oz**1a(~&mLtgJF zVln$ClD?klz0bsZ99&!Tsd)!~DC1&tv^sg;0fir-@MYyJ7ri_5w^jOJ%V+IEin)kG z%5xSc`Jm#1k8LzN?5%fO+5Y^b51x~I%(?hIewgyP&EmH9TiiScdveV^txY>vENE4^ z*qw`ao)2Ho_gTt^%DL@T1GsUHo8R|F%)=geEl#>$-&1E^D{&vh*ed7xfL=1_;KFm{oUVY0 z`)p>gzn9KcJ3V0D(ffOeEj~8;DbJHBkKu14kLTShPnU!#&+{pdmOblv8z0r@_1r8E zb^KSX%avH~rgN1u>I0Gwl=LUbK>;=;mn5G^zLxwV*_G6lbXLOub&HZ0C2Nu$$s3YO zl6NGRB_ByXm3%JwO7gAbJIRldql5lvdDvY)JnW1Dzn0d{Z1=m{VY%oI`x|4^GyT!w zGcOdKt>NHkFC6J?c1{(&mCfOL5uQ3-bVfy3=#Kh3Y>pHi->wv+mC>t%LD37xPo6wJ oP?WGT>YN@e4tM&4Q`!%=()L(?V?(eLo$Vs@`rB*awT@!{1Ldp(7ytkO diff --git a/scripts/Units/corsktl.bos b/scripts/Units/corsktl.bos index db5d964bc1d..39caf2be5ee 100644 --- a/scripts/Units/corsktl.bos +++ b/scripts/Units/corsktl.bos @@ -1,166 +1,168 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, lbLeg, lbFoot, rbLeg, rbFoot, lfLeg, lfFoot, rfLeg, rfFoot; -static-var isMoving; +static-var bMoving; -Movement() +MotionControl() { while( TRUE ) { - if( isMoving ) + if( bMoving ) { turn base to y-axis <-18> speed <60>; move base to x-axis [0] speed [10]; - turn rfleg to y-axis <0> speed <255.0>; - turn rfleg to z-axis <0> speed <135.0>; - turn rffoot to z-axis <0> speed <285.0>; + turn rfleg to y-axis <0> speed <255.000000>; + turn rfleg to z-axis <0> speed <135.000000>; + turn rffoot to z-axis <0> speed <285.000000>; - turn lfleg to y-axis <19> speed <405.0>; - turn lfleg to z-axis <-24> speed <300.0>; - turn lffoot to z-axis <13> speed <30.0>; + turn lfleg to y-axis <19> speed <405.000000>; + turn lfleg to z-axis <-24> speed <300.000000>; + turn lffoot to z-axis <13> speed <30.000000>; - turn lbleg to y-axis <0> speed <405.0>; - turn lbleg to z-axis <0> speed <75.0>; - turn lbfoot to z-axis <0> speed <180.0>; + turn lbleg to y-axis <0> speed <405.000000>; + turn lbleg to z-axis <0> speed <75.000000>; + turn lbfoot to z-axis <0> speed <180.000000>; - turn rbleg to y-axis <19> speed <285.0>; - turn rbleg to z-axis <24> speed <15.0>; - turn rbfoot to z-axis <-13> speed <90.0>; + turn rbleg to y-axis <19> speed <285.000000>; + turn rbleg to z-axis <24> speed <15.000000>; + turn rbfoot to z-axis <-13> speed <90.000000>; sleep 60; } - if( isMoving ) + if( bMoving ) { //step 1 turn base to y-axis <-12> speed <60>; move base to x-axis [2] speed [10]; - turn rfleg to y-axis <-27> speed <405.0>; - turn rfleg to z-axis <5> speed <75.0>; - turn rffoot to z-axis <-12> speed <180.0>; + turn rfleg to y-axis <-27> speed <405.000000>; + turn rfleg to z-axis <5> speed <75.000000>; + turn rffoot to z-axis <-12> speed <180.000000>; - turn lfleg to y-axis <0> speed <285.0>; - turn lfleg to z-axis <-23> speed <15.0>; - turn lffoot to z-axis <7> speed <90.0>; + turn lfleg to y-axis <0> speed <285.000000>; + turn lfleg to z-axis <-23> speed <15.000000>; + turn lffoot to z-axis <7> speed <90.000000>; - turn lbleg to y-axis <17> speed <255.0>; - turn lbleg to z-axis <9> speed <135.0>; - turn lbfoot to z-axis <-19> speed <285.0>; + turn lbleg to y-axis <17> speed <255.000000>; + turn lbleg to z-axis <9> speed <135.000000>; + turn lbfoot to z-axis <-19> speed <285.000000>; - turn rbleg to y-axis <46> speed <405.0>; - turn rbleg to z-axis <4> speed <300.0>; - turn rbfoot to z-axis <-11> speed <30.0>; + turn rbleg to y-axis <46> speed <405.000000>; + turn rbleg to z-axis <4> speed <300.000000>; + turn rbfoot to z-axis <-11> speed <30.000000>; sleep 60; } - if( isMoving ) + if( bMoving ) { turn base to y-axis <12> speed <60>; move base to x-axis [2] speed [10]; //step 2 - turn rfleg to y-axis <-46> speed <285.0>; - turn rfleg to z-axis <4> speed <15.0>; - turn rffoot to z-axis <-11> speed <15.0>; + turn rfleg to y-axis <-46> speed <285.000000>; + turn rfleg to z-axis <4> speed <15.000000>; + turn rffoot to z-axis <-11> speed <15.000000>; - turn lfleg to y-axis <-17> speed <255.0>; - turn lfleg to z-axis <9> speed <480.0>; - turn lffoot to z-axis <-19> speed <390.0>; + turn lfleg to y-axis <-17> speed <255.000000>; + turn lfleg to z-axis <9> speed <480.000000>; + turn lffoot to z-axis <-19> speed <390.000000>; - turn lbleg to y-axis <0> speed <255.0>; - turn lbleg to z-axis <-23> speed <480.0>; - turn lbfoot to z-axis <7> speed <390.0>; + turn lbleg to y-axis <0> speed <255.000000>; + turn lbleg to z-axis <-23> speed <480.000000>; + turn lbfoot to z-axis <7> speed <390.000000>; - turn rbleg to y-axis <27> speed <285.0>; - turn rbleg to z-axis <5> speed <15.0>; - turn rbfoot to z-axis <-12> speed <15.0>; + turn rbleg to y-axis <27> speed <285.000000>; + turn rbleg to z-axis <5> speed <15.000000>; + turn rbfoot to z-axis <-12> speed <15.000000>; sleep 60; } - if( isMoving ) + if( bMoving ) { turn base to y-axis <18> speed <60>; move base to x-axis [0] speed [10]; //step 3 - turn rfleg to y-axis <-19> speed <405.0>; - turn rfleg to z-axis <24> speed <300.0>; - turn rffoot to z-axis <-13> speed <30.0>; + turn rfleg to y-axis <-19> speed <405.000000>; + turn rfleg to z-axis <24> speed <300.000000>; + turn rffoot to z-axis <-13> speed <30.000000>; - turn lfleg to y-axis <0> speed <255.0>; - turn lfleg to z-axis <0> speed <135.0>; - turn lffoot to z-axis <0> speed <285.0>; + turn lfleg to y-axis <0> speed <255.000000>; + turn lfleg to z-axis <0> speed <135.000000>; + turn lffoot to z-axis <0> speed <285.000000>; - turn lbleg to y-axis <-19> speed <285.0>; - turn lbleg to z-axis <-24> speed <15.0>; - turn lbfoot to z-axis <13> speed <90.0>; + turn lbleg to y-axis <-19> speed <285.000000>; + turn lbleg to z-axis <-24> speed <15.000000>; + turn lbfoot to z-axis <13> speed <90.000000>; - turn rbleg to y-axis <0> speed <405.0>; - turn rbleg to z-axis <0> speed <75.0>; - turn rbfoot to z-axis <0> speed <180.0>; + turn rbleg to y-axis <0> speed <405.000000>; + turn rbleg to z-axis <0> speed <75.000000>; + turn rbfoot to z-axis <0> speed <180.000000>; sleep 60; } - if( isMoving ) + if( bMoving ) { turn base to y-axis <12> speed <60>; move base to x-axis [-2] speed [10]; //step 4 - turn rfleg to y-axis <0> speed <285.0>; - turn rfleg to z-axis <23> speed <15.0>; - turn rffoot to z-axis <-7> speed <90.0>; + turn rfleg to y-axis <0> speed <285.000000>; + turn rfleg to z-axis <23> speed <15.000000>; + turn rffoot to z-axis <-7> speed <90.000000>; - turn lfleg to y-axis <27> speed <405.0>; - turn lfleg to z-axis <-5> speed <75.0>; - turn lffoot to z-axis <12> speed <180.0>; + turn lfleg to y-axis <27> speed <405.000000>; + turn lfleg to z-axis <-5> speed <75.000000>; + turn lffoot to z-axis <12> speed <180.000000>; - turn lbleg to y-axis <-46> speed <405.0>; - turn lbleg to z-axis <-4> speed <300.0>; - turn lbfoot to z-axis <11> speed <30.0>; + turn lbleg to y-axis <-46> speed <405.000000>; + turn lbleg to z-axis <-4> speed <300.000000>; + turn lbfoot to z-axis <11> speed <30.000000>; - turn rbleg to y-axis <-17> speed <255.0>; - turn rbleg to z-axis <-9> speed <135.0>; - turn rbfoot to z-axis <19> speed <285.0>; + turn rbleg to y-axis <-17> speed <255.000000>; + turn rbleg to z-axis <-9> speed <135.000000>; + turn rbfoot to z-axis <19> speed <285.000000>; sleep 60; } - if( isMoving ) + if( bMoving ) { turn base to y-axis <-12> speed <60>; move base to x-axis [-2] speed [10]; //step 5 - turn rfleg to y-axis <17> speed <255.0>; - turn rfleg to z-axis <-9> speed <480.0>; - turn rffoot to z-axis <19> speed <390.0>; + turn rfleg to y-axis <17> speed <255.000000>; + turn rfleg to z-axis <-9> speed <480.000000>; + turn rffoot to z-axis <19> speed <390.000000>; - turn lfleg to y-axis <46> speed <285.0>; - turn lfleg to z-axis <-4> speed <15.0>; - turn lffoot to z-axis <11> speed <15.0>; + turn lfleg to y-axis <46> speed <285.000000>; + turn lfleg to z-axis <-4> speed <15.000000>; + turn lffoot to z-axis <11> speed <15.000000>; - turn lbleg to y-axis <-27> speed <285.0>; - turn lbleg to z-axis <-5> speed <15.0>; - turn lbfoot to z-axis <12> speed <15.0>; + turn lbleg to y-axis <-27> speed <285.000000>; + turn lbleg to z-axis <-5> speed <15.000000>; + turn lbfoot to z-axis <12> speed <15.000000>; - turn rbleg to y-axis <0> speed <255.0>; - turn rbleg to z-axis <23> speed <480.0>; - turn rbfoot to z-axis <-7> speed <390.0>; + turn rbleg to y-axis <0> speed <255.000000>; + turn rbleg to z-axis <23> speed <480.000000>; + turn rbfoot to z-axis <-7> speed <390.000000>; sleep 60; } - if( !isMoving ) + if( !bMoving ) { sleep 100; } @@ -170,38 +172,37 @@ Movement() Create() { - isMoving = FALSE; - start-script Movement(); + bMoving = FALSE; + start-script MotionControl(); } +#define SMOKEPIECE base +#include "smokeunit_thread_nohit.h" -#define BASEPIECE base -#include "../unit_hitbyweaponid_and_smoke.h" - -StartMoving(reversing) +StartMoving() { - isMoving = TRUE; + bMoving = TRUE; } StopMoving() { - isMoving = FALSE; + bMoving = FALSE; - turn rfleg to y-axis <0> speed <255.0>; - turn rfleg to z-axis <0> speed <135.0>; - turn rffoot to z-axis <0> speed <285.0>; + turn rfleg to y-axis <0> speed <255.000000>; + turn rfleg to z-axis <0> speed <135.000000>; + turn rffoot to z-axis <0> speed <285.000000>; - turn lfleg to y-axis <0> speed <405.0>; - turn lfleg to z-axis <0> speed <300.0>; - turn lffoot to z-axis <0> speed <30.0>; + turn lfleg to y-axis <0> speed <405.000000>; + turn lfleg to z-axis <0> speed <300.000000>; + turn lffoot to z-axis <0> speed <30.000000>; - turn lbleg to y-axis <0> speed <405.0>; - turn lbleg to z-axis <0> speed <75.0>; - turn lbfoot to z-axis <0> speed <180.0>; + turn lbleg to y-axis <0> speed <405.000000>; + turn lbleg to z-axis <0> speed <75.000000>; + turn lbfoot to z-axis <0> speed <180.000000>; - turn rbleg to y-axis <0> speed <285.0>; - turn rbleg to z-axis <0> speed <15.0>; - turn rbfoot to z-axis <0> speed <90.0>; + turn rbleg to y-axis <0> speed <285.000000>; + turn rbleg to z-axis <0> speed <15.000000>; + turn rbfoot to z-axis <0> speed <90.000000>; turn base to y-axis <0> speed <60>; move base to x-axis [0] speed [10]; @@ -224,31 +225,34 @@ FireWeapon1() emit-sfx 4096 + 1 from base; //Weapon2 detonates the mine once weapon1 fires } -QueryWeapon1(pieceIndex) +QueryWeapon1(piecenum) { - pieceIndex = base; + piecenum = base; } -AimFromWeapon1(pieceIndex) +AimFromWeapon1(piecenum) { - pieceIndex = base; + piecenum = base; } -QueryWeapon2(pieceIndex) +QueryWeapon2(piecenum) { - pieceIndex = base; + piecenum = base; } -AimFromWeapon2(pieceIndex) +AimFromWeapon2(piecenum) { - pieceIndex = base; + piecenum = base; } FireWeapon2() { } - +SweetSpot(piecenum) +{ + piecenum = base; +} Killed(severity, corpsetype) { @@ -256,21 +260,53 @@ Killed(severity, corpsetype) { corpsetype = 1 ; explode base type BITMAPONLY | NOHEATCLOUD; + //explode rfleg type BITMAPONLY | NOHEATCLOUD; + //explode rffoot type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lfleg type BITMAPONLY | NOHEATCLOUD; + //explode lffoot type BITMAPONLY | NOHEATCLOUD; + //explode rbleg type BITMAPONLY | NOHEATCLOUD; + //explode rbfoot type BITMAPONLY | NOHEATCLOUD; + //explode lbleg type BITMAPONLY | NOHEATCLOUD; + //explode lbfoot type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } if( severity <= 50 ) { corpsetype = 2 ; explode base type BITMAPONLY | NOHEATCLOUD; + //explode rfleg type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rffoot type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lfleg type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lffoot type FALL | NOHEATCLOUD; + //explode rbleg type FALL | NOHEATCLOUD; + //explode rbfoot type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lbleg type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lbfoot type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) { corpsetype = 3 ; explode base type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rfleg type SMOKE | FALL | NOHEATCLOUD; + //explode rffoot type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode lfleg type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode lffoot type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rbleg type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rbfoot type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lbleg type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode lbfoot type SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; explode base type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rfleg type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode rffoot type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode lfleg type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode lffoot type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode rbleg type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rbfoot type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lbleg type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode lbfoot type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/corsktl.cob b/scripts/Units/corsktl.cob index 2aacd703e2329b53ca79ce36b3d11b762d6c1756..dd5fdabbc6b2850bb3c192afd9f2f499eb4abfdc 100644 GIT binary patch delta 701 zcma*jF-RLx7zgl|mop@3E`Dc%wGbgHNC-kRWG%!5N+=3K5FL}iL4)>A-+kZv-g~{-k26_ADMb*0 zo1jt}qkJ(07vK%dVZBcW*=JEM#KT-L4gFK|Q*%01l+@e^scMM!P#PdjwSFu>yk+J` zzxY9EqjQ=c#3xNj3Scc`k&n!W)gwPEAmLvBJW3TpbmGVLP`vBMrIT6;k?ds2JZ4P9&(Kw}1C2iUm zRW(SwWTiP{#WLUVXz~NQ%MJhEERFS0!JIx1^0qaekq4K5VT`hw%;kj!^R_=nlO*q1 z$-HbXNm4jSx>xZpE7m$i^&hx~I!JdEu_v%TB{n e<%U;$xnkEgT!%l6ZAU6i+x99OuE&oP^Zx(>Lujx7 delta 1211 zcmZvbOK4L;6oyZ3ZZDd|Wctv$h!7u@QYu_j&_x$X>cR@zf}mnW8k>uhl13y7g<$3N$sNuD3vJUr%$hypvo zA`Tu_em?Yz>>Uuf1jcb*8F)2zCKE}?Q;wAK6rw~*zLL2>JwYyQb=qbE#XaTe=f1*y z*k@upi1lGh!9*WjGGl%Eb#}OIGGX-KP1}{xJYzxCfw9w^}Wo2t{>ZFNa#12JIc6j!djY`qH89$Vi1GQ}JUcw$fR;+TAa%hc}Gk(&>)6D+^-l_8? z`@qu=^Tpx>YG7N`VkxeKXE^JyP}0Bix#Bq+#9?j|H15s$`f6d1|2R$>(k}}`{!@3z zsa$&lsa4dm3f937@C*C_eNf*8c7uIj1dM_e{N>lcI(P(LfDYIIZ^3);8GHjj!Hz*_ zfI}bzC%^=#4$8DlVKWUbfGc1gEP%7k+fgH0YRTlysMd<)^g^q;d@-usXf93FlP5V< VYt*hs_4AG9Vx&K+JNjCG`7he-bYK7g diff --git a/scripts/Units/corsnap.bos b/scripts/Units/corsnap.bos index db50f861c80..1fdff03b018 100644 --- a/scripts/Units/corsnap.bos +++ b/scripts/Units/corsnap.bos @@ -1,35 +1,123 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" -piece ground, base, flare, turret, fan, sleeve, barrel, wake; +piece base, flare, turret, fan, sleeve, barrel, wake; -static-var restore_delay; +static-var Static_Var_1, restore_delay, Wobble_status; // Signal definitions -#define SIGNAL_AIM1 256 -#define SIGNAL_MOVE 1 -#define SIGNAL_IDLE 8 +#define SIG_AIM 2 +#define SIG_MOVE 4 +#define SIG_IDLE 8 +WobbleUnit() +{ + while( TRUE ) + { + if( Wobble_status) + { + if( get GROUND_WATER_HEIGHT(get UNIT_XZ) < 0 ) //Over Water + { + move base to y-axis [-0.500000] speed [0.50000]; + } + else + { + move base to y-axis [0.500000] speed [0.50000]; + } + } + else + { + if( get GROUND_WATER_HEIGHT(get UNIT_XZ) < 0 ) //Over Water + { + move base to y-axis [-1.500000] speed [0.50000]; + } + else + { + move base to y-axis [1.500000] speed [0.50000]; + } + } + Wobble_status = !Wobble_status; + sleep 260; + } +} -#define HOVER_BASE base -#define HOVER_BANKSPEED <12> -#define HOVER_ROCKBASE ground -#define HOVER_WOBBLE_PERIOD 45 -#define HOVER_WOBBLE_AMPLITUDE [0.7] -#define HOVER_WAKEPIECE wake -#define HOVER_IDLE_SFX 1024 + 3 -#define HOVER_WAKE_SFX_1 1024 + 1 -#define HOVER_WAKE_SFX_2 1024 + 2 -#include "../bar_hovercraft_common.h" +BankControl() +{ + var lastHeading, currHeading, diffHeading; + lastHeading = GET HEADING; + while (TRUE) + { + currHeading = GET HEADING; + diffHeading = currHeading - lastHeading; + // Set values for tilt + + //Remove Extreme values + if ( diffHeading > 1500 ) diffHeading = 1500; + if ( diffHeading < -1500 ) diffHeading = -1500; + //get PRINT(diffHeading); + turn base to z-axis 1.0 * diffHeading speed <23>; + + lastHeading = currHeading; + sleep 67; + } +} +RockUnit(anglex, anglez) +{ + turn base to x-axis anglex speed <50.000000>; + turn base to z-axis <0> - anglez speed <50.000000>; + wait-for-turn base around z-axis; + wait-for-turn base around x-axis; + turn base to z-axis <0.000000> speed <20.000000>; + turn base to x-axis <0.000000> speed <20.000000>; + return (0); +} #define BASEPIECE base #define HITSPEED <35.0> //how 'heavy' the unit is, on a scale of 1-10 #define UNITSIZE 4 #define MAXTILT 200 -#include "../unit_hitbyweaponid_and_smoke.h" +#include "unit_hitbyweaponid_and_smoke.h" + +HoverIdle() +{ + signal SIG_IDLE; + set-signal-mask SIG_IDLE; + while( TRUE ) + { + emit-sfx 1024 + 3 from wake; + sleep 1750; + } +} +StartMoving() +{ + signal SIG_MOVE; + set-signal-mask SIG_MOVE; + signal SIG_IDLE; + var waketime; + var bowtime; + while( TRUE ) + { + emit-sfx 1024 + 1 from wake; + if (bowtime) emit-sfx 1024 + 2 from wake; + bowtime = !bowtime; + waketime = (get CURRENT_SPEED) * 100 / get MAX_SPEED; + if( waketime < 30 ) waketime = 30; + sleep 15000 / waketime; + } +} + +StopMoving() +{ + signal SIG_MOVE; + signal SIG_IDLE; + start-script HoverIdle(); + return (0); +} Create() { @@ -38,13 +126,19 @@ Create() hide flare; spin fan around y-axis speed <-300> accelerate <30>; restore_delay = 3000; - SLEEP_UNTIL_UNITFINISHED; - start-script HoverCraftMotion(); + while( get BUILD_PERCENT_LEFT ) + { + sleep 400; + } + start-script BankControl(); + start-script WobbleUnit(); + return (0); } -SetMaxReloadTime(reloadMS) +SetMaxReloadTime(Func_Var_1) { - restore_delay = reloadMS * 2; + restore_delay = Func_Var_1 * 2; + return (0); } static-var Stunned; @@ -53,8 +147,8 @@ ExecuteRestoreAfterDelay() if (Stunned) { return (1); } - turn turret to y-axis <0.0> speed <90.0>; - turn sleeve to x-axis <0.0> speed <50.0>; + turn turret to y-axis <0.000000> speed <90.000000>; + turn sleeve to x-axis <0.000000> speed <50.000000>; } SetStunned(State) { @@ -69,37 +163,44 @@ RestoreAfterDelay() start-script ExecuteRestoreAfterDelay(); } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; - turn turret to y-axis heading speed <130.0>; - turn sleeve to x-axis <0.0> - pitch speed <80.0>; + signal SIG_AIM; + set-signal-mask SIG_AIM; + turn turret to y-axis heading speed <130.000000>; + turn sleeve to x-axis <0.000000> - pitch speed <80.000000>; wait-for-turn turret around y-axis; wait-for-turn sleeve around x-axis; start-script RestoreAfterDelay(); return (1); } -FireWeapon1() +FirePrimary() { emit-sfx 1024 + 0 from flare; - move barrel to z-axis [-6.0] speed [1250.0]; + move barrel to z-axis [-6.000000] speed [1250.000000]; wait-for-move barrel along z-axis; - move barrel to z-axis [0.0] speed [7.500000]; + move barrel to z-axis [0.000000] speed [7.500000]; + return (0); } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = turret; + piecenum = turret; + return (0); } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = flare; + piecenum = flare; + return (0); } - +SweetSpot(piecenum) +{ + piecenum = base; + return (0); +} Killed(severity, corpsetype) { @@ -111,7 +212,7 @@ Killed(severity, corpsetype) explode turret type BITMAPONLY | NOHEATCLOUD; explode sleeve type BITMAPONLY | NOHEATCLOUD; explode barrel type FIRE | SMOKE | FALL | NOHEATCLOUD; - + //explode flare type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } if( severity <= 50 ) @@ -122,7 +223,7 @@ Killed(severity, corpsetype) explode turret type FIRE | SMOKE | FALL | NOHEATCLOUD; explode sleeve type FIRE | SMOKE | FALL | NOHEATCLOUD; explode barrel type FIRE | SMOKE | FALL | NOHEATCLOUD; - + //explode flare type FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) @@ -133,7 +234,7 @@ Killed(severity, corpsetype) explode turret type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; explode sleeve type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; explode barrel type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; - + //explode flare type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; @@ -142,6 +243,6 @@ Killed(severity, corpsetype) explode turret type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode sleeve type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode barrel type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; - + //explode flare type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/corsok.bos b/scripts/Units/corsok.bos index eb169694a81..8e8f339c2d1 100644 --- a/scripts/Units/corsok.bos +++ b/scripts/Units/corsok.bos @@ -1,29 +1,20 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" -piece ground, rmis, lmis, rlauncher, llauncher, flare, turret, wake, support, cannon, +piece rmis, lmis, rlauncher, llauncher, flare, turret, wake, support, cannon, body, base; -static-var isAiming; +static-var Static_Var_1, bAiming; // Signal definitions -#define SIGNAL_AIM1 256 -#define SIGNAL_AIM2 512 -#define SIGNAL_MOVE 1 -#define SIGNAL_IDLE 8 +#define SIG_AIM 2 +#define SIG_AIM_2 4 +#define SIG_MOVE 8 +#define SIG_IDLE 16 -#define HOVER_BASE base -#define HOVER_BANKSPEED <7> -#define HOVER_ROCKBASE ground -#define HOVER_WOBBLE_PERIOD 80 -#define HOVER_WOBBLE_AMPLITUDE [0.7] -#define HOVER_WAKEPIECE wake -#define HOVER_WAKE_SFX_1 1024 + 0 -#define HOVER_WAKE_SFX_2 1024 + 1 -#define HOVER_IDLE_SFX 1024 + 2 -#include "../bar_hovercraft_common.h" - #define BASEPIECE base #define HITSPEED <25.0> @@ -31,8 +22,44 @@ static-var isAiming; #define UNITSIZE 10 #define MAXTILT 200 -#include "../unit_hitbyweaponid_and_smoke.h" +#include "unit_hitbyweaponid_and_smoke.h" + +HoverIdle() +{ + signal SIG_IDLE; + set-signal-mask SIG_IDLE; + while( TRUE ) + { + emit-sfx 1024 + 2 from wake; + sleep 1800; + } +} +StartMoving() +{ + signal SIG_MOVE; + set-signal-mask SIG_MOVE; + signal SIG_IDLE; + var waketime; + var bowtime; + while( TRUE ) + { + emit-sfx 1024 + 0 from wake; + if (bowtime) emit-sfx 1024 + 1 from wake; + bowtime = !bowtime; + waketime = (get CURRENT_SPEED) * 100 / get MAX_SPEED; + if( waketime < 30 ) waketime = 30; + sleep 15000 / waketime; + } +} + +StopMoving() +{ + signal SIG_MOVE; + signal SIG_IDLE; + start-script HoverIdle(); + return (0); +} Create() { @@ -40,8 +67,10 @@ Create() hide flare; hide rmis; hide lmis; - isAiming = FALSE; - start-script HoverCraftMotion(); + cache body; + cache turret; + bAiming = FALSE; + return (0); } static-var Stunned; @@ -50,10 +79,12 @@ ExecuteRestoreAfterDelay() if (Stunned) { return (1); } - turn turret to y-axis <0.0> speed <75.0>; - turn support to x-axis <0.0> speed <50.0>; - - isAiming = FALSE; + turn turret to y-axis <0.00000> speed <75.00000>; + turn support to x-axis <0.00000> speed <50.00000>; + cache support; + cache cannon; + cache turret; + bAiming = FALSE; } SetStunned(State) { @@ -68,72 +99,87 @@ RestoreAfterDelay() start-script ExecuteRestoreAfterDelay(); } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = flare; + piecenum = flare; + return (0); } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = turret; + piecenum = turret; + return (0); } -FireWeapon1() +FirePrimary() { emit-sfx 1024 + 0 from flare; - move cannon to z-axis [-10.0] speed [1250.0]; + move cannon to z-axis [-10.00000] speed [1250.00000]; sleep 150; - move cannon to z-axis [0.0] speed [7.50000]; + move cannon to z-axis [0.00000] speed [7.50000]; + return (0); } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; - isAiming = TRUE; - turn turret to y-axis heading speed <120.0>; - turn support to x-axis <0.0> - pitch speed <80.0>; + signal SIG_AIM; + set-signal-mask SIG_AIM; + bAiming = TRUE; + dont-cache turret; + dont-cache support; + dont-cache cannon; + turn turret to y-axis heading speed <120.00000>; + turn support to x-axis <0.00000> - pitch speed <80.00000>; wait-for-turn turret around y-axis; wait-for-turn support around x-axis; start-script RestoreAfterDelay(); return (1); } -QueryWeapon2(pieceIndex) +QuerySecondary(piecenum) { - pieceIndex = base; + piecenum = base; + return (0); } -AimFromWeapon2(pieceIndex) +AimFromSecondary(piecenum) { - pieceIndex = base; + piecenum = base; + return (0); } -FireWeapon2() +FireSecondary() { + return (0); } -AimWeapon2(heading, pitch) +AimSecondary(heading, pitch) { - signal SIGNAL_AIM2; - set-signal-mask SIGNAL_AIM2; + signal SIG_AIM_2; + set-signal-mask SIG_AIM_2; start-script RestoreAfterDelay(); return (1); } - +SweetSpot(piecenum) +{ + piecenum = body; + return (0); +} Killed(severity, corpsetype) { hide flare; hide rmis; hide lmis; - - if( severity <= 25 ) + if( Static_Var_1 >= 4 ) { - corpsetype = 1; - explode base type FIRE | SMOKE | FALL | NOHEATCLOUD; - return (corpsetype); + if( severity <= 25 ) + { + corpsetype = 1; + explode base type FIRE | SMOKE | FALL | NOHEATCLOUD; + return (corpsetype); + } } if( severity <= 50 ) { @@ -149,6 +195,9 @@ Killed(severity, corpsetype) explode cannon type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP1 | NOHEATCLOUD; explode base type FIRE | SMOKE | FALL | NOHEATCLOUD; explode body type FIRE | SMOKE | FALL | BITMAP4 | NOHEATCLOUD; + //explode support type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP3 | NOHEATCLOUD; + //explode rlauncher type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP3 | NOHEATCLOUD; + //explode llauncher type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP3 | NOHEATCLOUD; explode turret type FIRE | SMOKE | FALL | BITMAP4 | NOHEATCLOUD; return (corpsetype); } @@ -157,6 +206,8 @@ Killed(severity, corpsetype) explode base type FIRE | SMOKE | FALL | NOHEATCLOUD; explode body type FIRE | SMOKE | FALL | EXPLODE_ON_HIT | BITMAP4 | NOHEATCLOUD; explode support type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP3 | NOHEATCLOUD; + //explode rlauncher type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP3 | NOHEATCLOUD; + //explode llauncher type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP3 | NOHEATCLOUD; explode turret type FIRE | SMOKE | FALL | EXPLODE_ON_HIT | BITMAP4 | NOHEATCLOUD; return (corpsetype); } diff --git a/scripts/Units/corsok.cob b/scripts/Units/corsok.cob index 85cb3bc4eb1c14004141612eda558c5af7757709..54e4592e0842fdf76892f157cf3cb1b681465606 100644 GIT binary patch literal 3722 zcmdT{&x;&Y5U!n_oy4EC5Pg+s%!@Xe=^lG~b{$Vc zAQ#EWgXAEh2af^q>Poq z$O+&!;O zCH*KRT8m`272O+jRLOP=*3$1Q>N?(U9ZT+|&SLWUi@SX673#xY=C*oRgR~`LO;#uO z&<>UEF{yRku(#Y#KS5-RWoxRf7E0w0c`e7X{LB0-9wj*;-;BjGlC$?A=6Tvp<(MX( zpOUuITm-2Ro=keB+*v^Vp$Bmnu4PPoHY8N2vgB(($ob=e&jp_2G{$ z*7K{uzCy>}d~c-Nirx$Q#)AHppob9SqdJ4kg_hzRO`WN0SW?G%q`y`WbX3W5ms zSb$4%^0oOx@+{nQoa>N7*CB`HHg4!^c^|}r&z6@Vq>|Up$Qs#~s;|bV^Zj5g;yln! z|C5Y~9&oMPcl;gL3VM4V@X@%W@BLJSSvwhWQ)jbApR1?JJ$k1DKR?5dc7~|qXU+-w zs`q=rUv@q3lzJZ_H5R0vdo0l{R6wp(_HthA-0F|saLzObID9^wLt})#oqN1eYdgdX zF|Vv2ws8dXhrGIm^nJg19qhmH%Q{)pyf*ZVJ>F+w;KcGQa@c(Uc5=MLhdH>1oK^dT zN9}{z$yuFU^MyO0d%}D%p0DMHrk8*Gg^uXic~_`=mm5%<+GodtKXeOzbgRBE=&$!} z?C+7T!`&er)>D~zjwzKNNOI5p+dGvxY#;97^(U-$@1wnM`|pSG%x{Ly5o^P`)VKVc zg*-Ml#-o07I)2Xe+}w}3x|w~^*Zj$|y+d>j9@uN0b(pwsu?E`eddZlI-TFJk*<(7! z)LdOZgO8vAHm9`RN2hjavl^I_weXpNDD^Jv`uB^*4C@)}f;Bqlztixwb5wKbH!I{C zpbp05JXCWrF7?6yHSujG{%K7|IfpQKO-{W}OU~5C7US=ea3R+h2>0wU z;29tRrobiOZQvc?8t^UfBk&9GEAS_(lXm+dF%YglLFuzWIiapC0YH(h^HxN~l=$a1%Fp>X+AZWvFc z=Zao2NmDnF8;vhaTt3~-lTn;cWg{7F=Gn*|H7cTyRB&7QgpK7x z@4%s$aaPDyG903ye3b0TkpJYvc#`&CcexDbs|&+8cT!C9+!b;VUv#oJ8IQBPkbaz| O;Ou-hn9BKh&&l6Pa51F- literal 4547 zcmb7HO=w(I6h1SVPU;W%{8?D6I_OsAHAT>kB({c%2r(gOcX^q4sY568!pj>q-874c zBGQ%rlpqB+E<`F61Sz-?1rfoWD{-T)+C>qR!uWmX-ZOLOB~Rm&llybd`ObIFJ@>uW zhKSq+xgGM`l*l2B{C#_eNEC^@1bGDOH!;?tI{u0@;(AoW7_RG7w4nDw-Jy2xQPF%A8usqi zt?44IsYq51L7Gv&LeDtn%aQnNBpo}y6<$4qkzM~Pie9L6TGIWqr8Y2^Kme}TD= zWBPJGnJ-7zcdlL!1USlx>bCl+&I zta{+j^(yQou0_O(>5DyX$wG7DS;8%H0}T4d^#td%UqLacqsq?o29@B!`@rc)&-&wT z(3HQ>pLYBChj&QN&--hAP*u8dPOPVJ@S|9jExK`HUv~gB*>E`4EHokyDjV7}NYuWAnf2Qa%^+`M3Pd z$8ux5u#fHiN3M5LhvzTv*3SUtUdP*W&TC@N=Q+;(-M$W6){D;?+EFF`K2yg%4Em1N z=TU^at41zo?pe)7HGmEG4bylSUyk|@HpKs(hUk-ej9rgsIa6itEh@(xn-drs!{>CL zx8t5+((fA-iE){a#kc#Z{_IuUMSIVgkHw@9=~VlU{b^_45<8d@<8_P{-!RJ~-!Gvp zVahhPHrvp~-cMHhIUkejD&EA?Gw{zB)`{m~?=bV#v%s^J_IYE>t6a1FbQ2u?vzRzM z3-;_)e`bKyKIOS_YBi@VbFsdCKj;O17g)YD;T;M66f<(~s7pZ{i(x!QG4v_#?}GQc z?EPvajCUJ*gzuOue!m{kSY{29K*wzcwZX*Z3yG4_bV$F9~l z!GnAmi@(sH^VtWniGHfGvHQcigl9!8<3JqZ@2A&zB!=@MhKv7e!;OCq`Q60tD$?ZM zdl<<__1n|l9(yG_npu3~sKwlHwbuEzo3qAY{TA@iZv7#pbNJ;6?)&ud2tb9`rc^ zC~3L=c?Xx;aCpAViR+8BiKZQAtS#3NNAI1-`OM>xW{9&xN8s4Eb%?8Rm<;sVUlnoM zFfqR0`#2aT;_MzUj(wM3tcXia{}+4LV;S}??*nq;Ht|ef&Jk)k3f@0JZbHtZcwa+) zf?R_PA%{VRgzkmJkkgO^(uMRO=OFxl{)doDkk27sLB50h2>AnY1JcC%=5EMCkjEfT zLgpdMkOb0$Y(maK&O>$}7a$)%b|IfYK80L{d;Wqv-a8L zez%ZQ-Qwx37t>@T>p$BGS8_60PtK&BrSZ$)=TnKib0;Ig}j;|!Og+OMwS=SPWpY+ NXEp0=$!fBh%0J;~QF;IX diff --git a/scripts/Units/corsolar.bos b/scripts/Units/corsolar.bos index faf42f81a05..aa1beafd15a 100644 --- a/scripts/Units/corsolar.bos +++ b/scripts/Units/corsolar.bos @@ -1,38 +1,15 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" - +#include "sfxtype.h" +#include "exptype.h" piece base, fan, d1,d2,d3,d4; -static-var recentlyHit, wantOpen; - -//#define DEBUG -#include "../debug.h" - -#define SIGNAL_TURNON 4 - -#include "../damagedsmoke.h" -Create() -{ - recentlyHit = 0; - wantOpen = 1; - SLEEP_UNTIL_UNITFINISHED; - start-script DamagedSmoke(); -} - -// open it on when built -// close it up when hit -// open it when time passed -// dont open it while hit -// dont reopen it if off after being hit !!! -// dont let any of the above conflict in time. -// dont change state while stunned -// obey desired state changes while closed for hit - +static-var Static_Var_1, Static_Var_2, Static_Var_3; - -Open() +activatescr() { + set ACTIVATION to 100; turn d1 to x-axis <90> speed <30>; turn d3 to x-axis <-90> speed <30>; turn d1 to y-axis <180> speed <60>; @@ -42,18 +19,11 @@ Open() turn d4 to z-axis <90> speed <30>; turn d2 to y-axis <180> speed <60>; turn d4 to y-axis <180> speed <60>; - wait-for-turn d1 around x-axis; spin fan around y-axis speed <15> accelerate <0.1>; - - set ARMORED to 0; - set ACTIVATION to 100; } -Close() +deactivatescr() { - set ACTIVATION to 0; - - stop-spin fan around y-axis decelerate <0.2>; turn d1 to x-axis <0> speed <30>; turn d3 to x-axis <0> speed <30>; @@ -64,46 +34,109 @@ Close() turn d4 to z-axis <0> speed <30>; turn d2 to y-axis <0> speed <60>; turn d4 to y-axis <0> speed <60>; - wait-for-turn d1 around x-axis; + + stop-spin fan around y-axis decelerate <0.2>; +} - set ARMORED to 1; +SmokeUnit(healthpercent, sleeptime, smoketype) +{ + while( get BUILD_PERCENT_LEFT ) + { + sleep 500; + } + while( TRUE ) + { + healthpercent = get HEALTH; + if( healthpercent < 66 ) + { + smoketype = 258; + if( Rand( 1, 66 ) < healthpercent ) + { + smoketype = 257; + } + emit-sfx smoketype from base; + } + sleeptime = healthpercent * 50; + if( sleeptime < 200 ) + { + sleeptime = 200; + } + sleep sleeptime; + } +} + +RequestState(requestedstate, currentstate) +{ + if( Static_Var_3 ) + { + Static_Var_2 = requestedstate; + return (0); + } + Static_Var_3 = 1; + currentstate = Static_Var_2; + Static_Var_2 = requestedstate; + while( Static_Var_2 != currentstate ) + { + if( Static_Var_2 ) + { + call-script deactivatescr(); + currentstate = 1; + } + else + { + call-script activatescr(); + currentstate = 0; + } + } + Static_Var_3 = 0; +} + +Create() +{ + Static_Var_2 = 1; + Static_Var_3 = 0; + start-script SmokeUnit(); + Static_Var_1 = 0; } Activate() { - if( recentlyHit ) + if( Static_Var_1 ) { - set ACTIVATION to 0; // dont open it while hit, feedback it - wantOpen = 1; + set ACTIVATION to 0; return (0); } - call-script Open(); + set ARMORED to 0; + start-script RequestState(0); } Deactivate() { - call-script Close(); + set ARMORED to 1; + start-script RequestState(1); } HitByWeapon(anglex, anglez) { - if (!recentlyHit){ - start-script Close(); - recentlyHit = 1; - wantOpen = get ACTIVATION; + if( get ACTIVATION ) + { + Static_Var_1 = 1; } - // Signal after Close() so as not to interrupt it - signal SIGNAL_TURNON; - set-signal-mask SIGNAL_TURNON; - - sleep 8000; - recentlyHit = 0; - if (wantOpen){ - start-script Open(); + if( Static_Var_1 ) + { + signal 2; + set-signal-mask 2; + set ACTIVATION to 0; + sleep 8000; + Static_Var_1 = 0; + set ACTIVATION to 100; } } - +SweetSpot(piecenum) +{ + piecenum = base; +} Killed(severity, corpsetype) { diff --git a/scripts/Units/corsolar.cob b/scripts/Units/corsolar.cob index 97eb5c4f41ea1412f9a0f3e650cd65e6ba537ec6..6e3397944f35bdcece27527e47538d8fcaba1cb5 100644 GIT binary patch literal 3010 zcmd5;F>4f25T3hS&Jdf8Xkq1oRw8&tOTiceDmKB3q?4T46%S)BCL2W&yha2o3rlMe z(MBYo2wGa$2$nYf0Kvi{g%H2*?fZ`Bx+@ne4~F-4X1;G`zV~*yhMA4Sny}|}vk|QP zeSx#F)9erp&ofwSQ9Y_*&oyCEJQi_3wR%5+eyOb5lvbWkkR;Q*aeL;J6Y$%}q4wINx|*9R$qP`RmN`T=00ja2p<13vkRK z-oD!(H7DtBjktcu&0N*^z?kpnBev|3KK2vlYG&y`81Ibqa$V8~9ll~w&kfH*UWRqg z$jumgCf3#RxkcIH9>+cN$x+lxJlnyz@3-eH z@=*tBP^QNsd+>V9V-RB5^RRksr$_0ebr>zApD^yCdCi8wOUr-7OV@wJ7q#E6zGZc* z?u~M_hFVo&{-$pg=6}y@kDlbr!SkjZT)XEv{OUhEMHly{qYk1B4VyR?)hcB!+L+U3r&B}XiowB)EI$LtpY C!N@NF literal 1995 zcmb7FJ!=$E6utYANw9hm1+APy#V=%yB6e;}5JAL%f|ib%Q5KWkMVEkuXpzQ7E5#y6 zz(#EBY*HwKVCir07l>5~F`o10o#bU0BQ6}?yZ79WGk4ybZJXHykN|59vnE#l_KlmJ z18xE*U=Oic+H?&EFyL0=j$@(Srk%E3v(t3kHsRw+Zkii6<`{oC_!{gJ#jt0i+j8cB zAGVo$5q`y4+VZ`p;Ij_mIt^#t#2sZWYJH==;G;hJu$avyK9AdWXG<4jXe)M-0eA-L z>|)FODva(-S2Blq@LxvoFn%9Exl z$2@V>nk{gCj!{2p8H>1TP3Ea)m17<`;{>_lN6ov#`fe9C9k8^6Z%SX|wV#nsJN+}~!bIdV3d zqtC(2aMQ|jh_m_=PCiH74C#x{xbiJcw!P2TPp$m1rr)3+?>({EceT9FlWc%H5$C9< zYS8ArigoyRGc50=-#;n$-2;fleN%7USN8RF@VtjY&-gsD1@EDB>YKqj`^lxH-Z|uI zR{U166zx^UxN-lyvF*=E#8>0}dyRO1b|TxK3E0e|zF3$4js;yyK^Ob&q-&XVpi{bJ zOUFv!r9-wqW9Y7U>Y; +/* 9:*/ return (0); +/* a:*/ // Build by COBBLER Ver4.0 Copyright @1998 DIGITAL CONCEPT SOFTWARE (MANU@inext.fr) / http://www.annihilationcenter.com/DCS/ +/* 37:*/} + +Stop() +/* 2f:*/{ +/* 33:*/ spin dish around y-axis speed <0.000000>; +/* 38:*/ return (0); +/* 39:*/} + +InitState() +/* 39:*/{ +/* 3b:*/ statechg_DesiredState = TRUE; +/* 3f:*/ statechg_StateChanging = FALSE; +/* 43:*/ return (0); +/* 44:*/} + +RequestState(requestedstate, currentstate) +/* 46:*/{ +/* 48:*/ if( statechg_StateChanging ) +/* 4a:*/ { +/* 4c:*/ statechg_DesiredState = requestedstate; +/* 50:*/ return (0); +/* 51:*/ } +/* 53:*/ statechg_StateChanging = TRUE; +/* 57:*/ currentstate = statechg_DesiredState; +/* 5b:*/ statechg_DesiredState = requestedstate; +/* 62:*/ while( statechg_DesiredState != currentstate ) +/* 64:*/ { +/* 69:*/ if( statechg_DesiredState == 0 ) +/* 6b:*/ { +/* 6b:*/ call-script Go(); +/* 70:*/ currentstate = 0; +/* 72:*/ } +/* 77:*/ if( statechg_DesiredState == 1 ) +/* 79:*/ { +/* 79:*/ call-script Stop(); +/* 7e:*/ currentstate = 1; +/* 80:*/ } +/* 82:*/ } +/* 84:*/ statechg_StateChanging = FALSE; +/* 88:*/ return (0); +/* 89:*/} + +Create() +/* 89:*/{ +/* 89:*/ dont-shade dish; +/* 8b:*/ dont-cache dish; +/* 8d:*/ call-script InitState(); +/* 92:*/ return (0); +/* 93:*/} Activate() -{ - spin dish around y-axis speed <60.010989>; -} +/* 93:*/{ +/* 95:*/ start-script RequestState(0); +/* 9a:*/ return (0); +/* 9b:*/} Deactivate() -{ - spin dish around y-axis speed <0.0>; -} - +/* 9b:*/{ +/* 9d:*/ start-script RequestState(1); +/* a2:*/ return (0); +/* a3:*/} +SweetSpot(piecenum) +/* a4:*/{ +/* a6:*/ piecenum = base; +/* aa:*/ return (0); +/* ab:*/} Killed(severity, corpsetype) { diff --git a/scripts/Units/corsonar.cob b/scripts/Units/corsonar.cob index 949b99900b9df9bb3b3c908ca4c3a94739d34781..d922413dc9a16a36b850abf9e1dfea133b3768f3 100644 GIT binary patch literal 1317 zcmbVMJxc>o5Zrv7n(7r=h=o^+MX<6|6huS_UMWIi^1y?TM03VYuJV_p@`s3}U}Gu% z0kN^wnRjpX2r+5`!|v_Q&dzN@$|AA=6oI8e7LiI?78wEez&f5E5DTVg*kin1LsAoi z5pnQ6sRt&{BYzr?v*p^iF6n$8*OU+(po~52Nh2`yRrGtuHPnadyXd(^uRlIZZA!DA z?Wh>;IYCW(`fgIsdWRec12@N1`?@1P=QRD?v7d7_KgV3>WGgV6IlYNDdCu-HsgLl% z?~xz%p?7da6POZv6Z+1_4}IQU_2`dU`b>TOZuFk)Et3>xHyU|<{{6@aeLY2#M#+eo z`_c|kA}2-Eo|{L_dBxuRz76vHzB{Cx2M{An$J$uao@Dsy)ryUvEc^DzFHw0&SoR41sIl2H=0sBk%;g z0I$G1@BvgSm<3jV5ZLQUl=S+t-;I+fX(m>V?D?e~_=lYf%i4A;iHA&fZBx_e%GxCA U_YygXJ007W)8@cRJ06_LCrKV#DF6Tf literal 552 zcmaJ;I|{-;6ny!pjly=pMg%(%4BkN0%EsQtm@F7cWr9bs60!C?9>F76S~wH4k|IgM z@MhnenU^K5h`4|a90Bt@Es+=S1}12JP%UMve7X_Rn8Mc({+G<+#m~Z>`Zx=LooJDp19&^rhn6nDLx12j;ugG12au@I4lzXKIdzx}X zYKq(~D03aua<0jtl=B-&MQ)YXXpQ$$<7JzBdw>V<-#NHo7w~`qFaj1Q9b{VOVHTfB UmO3zW9Vdy7WFMqjqBuRs7d=EMLI3~& diff --git a/scripts/Units/corspec.bos b/scripts/Units/corspec.bos index ca382cb8c30..ec062396883 100644 --- a/scripts/Units/corspec.bos +++ b/scripts/Units/corspec.bos @@ -1,30 +1,32 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece pelvis, lleg, lfoot, rleg, rfoot, rthigh, lthigh,head,dish,rotator; -static-var isMoving; +static-var bMoving, Static_Var_2, Static_Var_3, Static_Var_4, Static_Var_5; static-var recently_damaged, desired_activation; // Signal definitions -#define SIGNAL_TURNON 4 -#define SIGNAL_OFF 8 +#define SIG_ACTIVATE 2 +#define SIG_OFF 8 // For N:\animations\corspec_anim_walk.blend Created by https://github.com/Beherith/Skeletor_S3O V((0, 2, 8)) // this animation uses the static-var animFramesPerKeyframe which contains how many frames each keyframe takes static-var animSpeed, maxSpeed, animFramesPerKeyframe; -#define SIGNAL_MOVE 1 +#define SIG_WALK 4 Walk() {// For N:\animations\corspec_anim_walk.blend Created by https://github.com/Beherith/Skeletor_S3O V((0, 2, 8)) //CC BY NC ND (c) Beherith - set-signal-mask SIGNAL_MOVE; - if (isMoving) { //Frame:5 - turn lfoot to x-axis <26.466910> speed <49.0> / animSpeed; //delta=-1.63 + set-signal-mask SIG_WALK; + if (bMoving) { //Frame:5 + turn lfoot to x-axis <26.466910> speed <49.000477> / animSpeed; //delta=-1.63 turn lleg to x-axis <-9.730538> speed <130.748442> / animSpeed; //delta=4.36 turn lthigh to x-axis <-39.987742> speed <70.213388> / animSpeed; //delta=2.34 turn lthigh to z-axis <-3.971332> speed <122.904832> / animSpeed; //delta=4.10 turn lthigh to y-axis <-0.268346> speed <6.294698> / animSpeed; //delta=-0.21 - turn pelvis to z-axis <-2.0> speed <60.0> / animSpeed; //delta=2.00 + turn pelvis to z-axis <-2.000000> speed <60.000000> / animSpeed; //delta=2.00 turn pelvis to y-axis <-4.999999> speed <149.999983> / animSpeed; //delta=-5.00 turn rfoot to x-axis <-14.434193> speed <433.025866> / animSpeed; //delta=14.43 turn rfoot to z-axis <-1.616138> speed <48.484150> / animSpeed; //delta=1.62 @@ -35,8 +37,8 @@ Walk() {// For N:\animations\corspec_anim_walk.blend Created by https://github.c turn rthigh to y-axis <-0.628582> speed <18.857449> / animSpeed; //delta=-0.63 sleep ((33*animSpeed) -1); } - while(isMoving) { - if (isMoving) { //Frame:10 + while(bMoving) { + if (bMoving) { //Frame:10 turn lfoot to x-axis <70.181935> speed <1311.450774> / animSpeed; //delta=-43.72 turn lfoot to z-axis <2.375184> speed <28.664216> / animSpeed; //delta=-0.96 turn lfoot to y-axis <-3.729687> speed <126.793378> / animSpeed; //delta=-4.23 @@ -44,9 +46,9 @@ Walk() {// For N:\animations\corspec_anim_walk.blend Created by https://github.c turn lthigh to x-axis <-18.848920> speed <634.164674> / animSpeed; //delta=-21.14 turn lthigh to z-axis <-6.312246> speed <70.227424> / animSpeed; //delta=2.34 turn lthigh to y-axis <2.831168> speed <92.985423> / animSpeed; //delta=3.10 - turn pelvis to x-axis <6.0> speed <180.0> / animSpeed; //delta=-6.00 - turn pelvis to z-axis <-0.0> speed <60.0> / animSpeed; //delta=-2.00 - turn pelvis to y-axis <-7.0> speed <60.0> / animSpeed; //delta=-2.00 + turn pelvis to x-axis <6.000000> speed <180.000005> / animSpeed; //delta=-6.00 + turn pelvis to z-axis <-0.000000> speed <60.000000> / animSpeed; //delta=-2.00 + turn pelvis to y-axis <-7.000000> speed <60.000019> / animSpeed; //delta=-2.00 turn rfoot to x-axis <-27.878513> speed <403.329620> / animSpeed; //delta=13.44 turn rfoot to z-axis <-1.255349> speed <10.823688> / animSpeed; //delta=-0.36 turn rfoot to y-axis <0.700846> speed <13.205318> / animSpeed; //delta=0.44 @@ -56,7 +58,7 @@ Walk() {// For N:\animations\corspec_anim_walk.blend Created by https://github.c turn rthigh to y-axis <-2.740744> speed <63.364872> / animSpeed; //delta=-2.11 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:15 + if (bMoving) { //Frame:15 turn lfoot to x-axis <46.418147> speed <712.913665> / animSpeed; //delta=23.76 turn lfoot to z-axis <-0.001699> speed <71.306494> / animSpeed; //delta=2.38 turn lfoot to y-axis <0.002671> speed <111.970736> / animSpeed; //delta=3.73 @@ -64,9 +66,9 @@ Walk() {// For N:\animations\corspec_anim_walk.blend Created by https://github.c turn lthigh to x-axis <-26.629176> speed <233.407696> / animSpeed; //delta=7.78 turn lthigh to z-axis <-5.205854> speed <33.191774> / animSpeed; //delta=-1.11 turn lthigh to y-axis <0.463729> speed <71.023150> / animSpeed; //delta=-2.37 - turn pelvis to x-axis <3.0> speed <90.0> / animSpeed; //delta=3.00 - turn pelvis to z-axis <2.0> speed <60.0> / animSpeed; //delta=-2.00 - turn pelvis to y-axis <-5.0> speed <60.0> / animSpeed; //delta=2.00 + turn pelvis to x-axis <3.000000> speed <90.000003> / animSpeed; //delta=3.00 + turn pelvis to z-axis <2.000000> speed <60.000000> / animSpeed; //delta=-2.00 + turn pelvis to y-axis <-5.000000> speed <60.000006> / animSpeed; //delta=2.00 turn rfoot to x-axis <-24.655513> speed <96.690019> / animSpeed; //delta=-3.22 turn rfoot to z-axis <-1.850861> speed <17.865364> / animSpeed; //delta=0.60 turn rfoot to y-axis <-0.528248> speed <36.872802> / animSpeed; //delta=-1.23 @@ -76,16 +78,16 @@ Walk() {// For N:\animations\corspec_anim_walk.blend Created by https://github.c turn rthigh to y-axis <1.439518> speed <125.407860> / animSpeed; //delta=4.18 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:20 + if (bMoving) { //Frame:20 turn lfoot to x-axis <13.179870> speed <997.148290> / animSpeed; //delta=33.24 turn lfoot to z-axis <1.629828> speed <48.945820> / animSpeed; //delta=-1.63 turn lfoot to y-axis <0.238299> speed <7.068858> / animSpeed; //delta=0.24 turn lleg to x-axis <-0.309187> speed <688.982231> / animSpeed; //delta=-22.97 turn lthigh to x-axis <-13.714644> speed <387.435958> / animSpeed; //delta=-12.91 turn lthigh to z-axis <-2.233255> speed <89.177959> / animSpeed; //delta=-2.97 - turn pelvis to x-axis <1.0> speed <60.0> / animSpeed; //delta=2.00 - turn pelvis to z-axis <3.0> speed <30.0> / animSpeed; //delta=-1.00 - turn pelvis to y-axis <0.0> speed <149.999996> / animSpeed; //delta=5.00 + turn pelvis to x-axis <1.000000> speed <60.000003> / animSpeed; //delta=2.00 + turn pelvis to z-axis <3.000000> speed <30.000003> / animSpeed; //delta=-1.00 + turn pelvis to y-axis <0.000000> speed <149.999996> / animSpeed; //delta=5.00 turn rfoot to x-axis <-0.452667> speed <726.085379> / animSpeed; //delta=-24.20 turn rfoot to z-axis <-1.544635> speed <9.186789> / animSpeed; //delta=-0.31 turn rfoot to y-axis <-0.721502> speed <5.797635> / animSpeed; //delta=-0.19 @@ -95,16 +97,16 @@ Walk() {// For N:\animations\corspec_anim_walk.blend Created by https://github.c turn rthigh to y-axis <-0.204136> speed <49.309610> / animSpeed; //delta=-1.64 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:25 + if (bMoving) { //Frame:25 turn lfoot to x-axis <-10.804440> speed <719.529300> / animSpeed; //delta=23.98 turn lfoot to y-axis <-0.162885> speed <12.035521> / animSpeed; //delta=-0.40 turn lleg to x-axis <1.993515> speed <69.081041> / animSpeed; //delta=-2.30 turn lthigh to x-axis <17.063926> speed <923.357120> / animSpeed; //delta=-30.78 turn lthigh to z-axis <-1.680530> speed <16.581764> / animSpeed; //delta=-0.55 turn lthigh to y-axis <0.991576> speed <13.256465> / animSpeed; //delta=0.44 - turn pelvis to x-axis <-0.0> speed <30.0> / animSpeed; //delta=1.00 - turn pelvis to z-axis <2.0> speed <30.0> / animSpeed; //delta=1.00 - turn pelvis to y-axis <5.0> speed <149.999996> / animSpeed; //delta=5.00 + turn pelvis to x-axis <-0.000000> speed <30.000000> / animSpeed; //delta=1.00 + turn pelvis to z-axis <2.000000> speed <30.000003> / animSpeed; //delta=1.00 + turn pelvis to y-axis <5.000000> speed <149.999996> / animSpeed; //delta=5.00 turn rfoot to x-axis <25.803908> speed <787.697250> / animSpeed; //delta=-26.26 turn rfoot to z-axis <-1.411584> speed <3.991531> / animSpeed; //delta=-0.13 turn rfoot to y-axis <-0.515103> speed <6.191977> / animSpeed; //delta=0.21 @@ -114,7 +116,7 @@ Walk() {// For N:\animations\corspec_anim_walk.blend Created by https://github.c turn rthigh to y-axis <-0.375551> speed <5.142446> / animSpeed; //delta=-0.17 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:30 + if (bMoving) { //Frame:30 turn lfoot to x-axis <-28.122044> speed <519.528120> / animSpeed; //delta=17.32 turn lfoot to z-axis <1.259065> speed <12.084914> / animSpeed; //delta=0.40 turn lfoot to y-axis <-0.693546> speed <15.919843> / animSpeed; //delta=-0.53 @@ -122,9 +124,9 @@ Walk() {// For N:\animations\corspec_anim_walk.blend Created by https://github.c turn lthigh to x-axis <51.840559> speed <1043.298965> / animSpeed; //delta=-34.78 turn lthigh to z-axis <-5.526871> speed <115.390252> / animSpeed; //delta=3.85 turn lthigh to y-axis <4.437991> speed <103.392442> / animSpeed; //delta=3.45 - turn pelvis to x-axis <6.0> speed <180.0> / animSpeed; //delta=-6.00 - turn pelvis to z-axis <-0.0> speed <60.0> / animSpeed; //delta=2.00 - turn pelvis to y-axis <7.0> speed <60.0> / animSpeed; //delta=2.00 + turn pelvis to x-axis <6.000000> speed <180.000005> / animSpeed; //delta=-6.00 + turn pelvis to z-axis <-0.000000> speed <60.000000> / animSpeed; //delta=2.00 + turn pelvis to y-axis <7.000000> speed <60.000006> / animSpeed; //delta=2.00 turn rfoot to x-axis <68.089186> speed <1268.558330> / animSpeed; //delta=-42.29 turn rfoot to z-axis <-2.157722> speed <22.384155> / animSpeed; //delta=0.75 turn rfoot to y-axis <3.499864> speed <120.449000> / animSpeed; //delta=4.01 @@ -134,7 +136,7 @@ Walk() {// For N:\animations\corspec_anim_walk.blend Created by https://github.c turn rthigh to y-axis <-3.234256> speed <85.761148> / animSpeed; //delta=-2.86 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:35 + if (bMoving) { //Frame:35 turn lfoot to x-axis <-24.880019> speed <97.260733> / animSpeed; //delta=-3.24 turn lfoot to z-axis <1.854115> speed <17.851494> / animSpeed; //delta=-0.60 turn lfoot to y-axis <0.535930> speed <36.884280> / animSpeed; //delta=1.23 @@ -142,9 +144,9 @@ Walk() {// For N:\animations\corspec_anim_walk.blend Created by https://github.c turn lthigh to x-axis <6.570095> speed <1358.113905> / animSpeed; //delta=45.27 turn lthigh to z-axis <2.723643> speed <247.515432> / animSpeed; //delta=-8.25 turn lthigh to y-axis <-1.313192> speed <172.535480> / animSpeed; //delta=-5.75 - turn pelvis to x-axis <3.0> speed <90.0> / animSpeed; //delta=3.00 - turn pelvis to z-axis <-2.0> speed <60.0> / animSpeed; //delta=2.00 - turn pelvis to y-axis <5.0> speed <60.0> / animSpeed; //delta=-2.00 + turn pelvis to x-axis <3.000000> speed <90.000003> / animSpeed; //delta=3.00 + turn pelvis to z-axis <-2.000000> speed <60.000000> / animSpeed; //delta=2.00 + turn pelvis to y-axis <5.000000> speed <60.000006> / animSpeed; //delta=-2.00 turn rfoot to x-axis <45.741719> speed <670.424014> / animSpeed; //delta=22.35 turn rfoot to z-axis <0.001567> speed <64.778665> / animSpeed; //delta=-2.16 turn rfoot to y-axis <-0.002470> speed <105.069999> / animSpeed; //delta=-3.50 @@ -154,7 +156,7 @@ Walk() {// For N:\animations\corspec_anim_walk.blend Created by https://github.c turn rthigh to y-axis <-0.770711> speed <73.906346> / animSpeed; //delta=2.46 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:40 + if (bMoving) { //Frame:40 turn lfoot to x-axis <-0.295343> speed <737.540290> / animSpeed; //delta=-24.58 turn lfoot to z-axis <1.544707> speed <9.282230> / animSpeed; //delta=0.31 turn lfoot to y-axis <0.716862> speed <5.427956> / animSpeed; //delta=0.18 @@ -162,9 +164,9 @@ Walk() {// For N:\animations\corspec_anim_walk.blend Created by https://github.c turn lthigh to x-axis <-28.319983> speed <1046.702333> / animSpeed; //delta=34.89 turn lthigh to z-axis <2.277032> speed <13.398340> / animSpeed; //delta=0.45 turn lthigh to y-axis <-0.293105> speed <30.602611> / animSpeed; //delta=1.02 - turn pelvis to x-axis <1.0> speed <60.0> / animSpeed; //delta=2.00 - turn pelvis to z-axis <-3.0> speed <30.0> / animSpeed; //delta=1.00 - turn pelvis to y-axis <0.0> speed <149.999996> / animSpeed; //delta=-5.00 + turn pelvis to x-axis <1.000000> speed <60.000003> / animSpeed; //delta=2.00 + turn pelvis to z-axis <-3.000000> speed <30.000003> / animSpeed; //delta=1.00 + turn pelvis to y-axis <0.000000> speed <149.999996> / animSpeed; //delta=-5.00 turn rfoot to x-axis <12.831917> speed <987.294069> / animSpeed; //delta=32.91 turn rfoot to z-axis <-1.627522> speed <48.872677> / animSpeed; //delta=1.63 turn rfoot to y-axis <-0.248528> speed <7.381765> / animSpeed; //delta=-0.25 @@ -173,16 +175,16 @@ Walk() {// For N:\animations\corspec_anim_walk.blend Created by https://github.c turn rthigh to z-axis <2.131224> speed <85.216390> / animSpeed; //delta=2.84 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:45 + if (bMoving) { //Frame:45 turn lfoot to x-axis <26.466910> speed <802.867578> / animSpeed; //delta=-26.76 turn lfoot to z-axis <1.419711> speed <3.749902> / animSpeed; //delta=0.12 turn lfoot to y-axis <0.496760> speed <6.603061> / animSpeed; //delta=-0.22 turn lleg to x-axis <-9.730538> speed <687.876778> / animSpeed; //delta=22.93 turn lthigh to x-axis <-39.987742> speed <350.032783> / animSpeed; //delta=11.67 turn lthigh to z-axis <-3.971332> speed <187.450913> / animSpeed; //delta=6.25 - turn pelvis to x-axis <-0.0> speed <30.0> / animSpeed; //delta=1.00 - turn pelvis to z-axis <-2.0> speed <30.0> / animSpeed; //delta=-1.00 - turn pelvis to y-axis <-5.0> speed <149.999996> / animSpeed; //delta=-5.00 + turn pelvis to x-axis <-0.000000> speed <30.000000> / animSpeed; //delta=1.00 + turn pelvis to z-axis <-2.000000> speed <30.000003> / animSpeed; //delta=-1.00 + turn pelvis to y-axis <-5.000000> speed <149.999996> / animSpeed; //delta=-5.00 turn rfoot to x-axis <-10.748712> speed <707.418863> / animSpeed; //delta=23.58 turn rfoot to y-axis <0.164666> speed <12.395835> / animSpeed; //delta=0.41 turn rleg to x-axis <1.958833> speed <59.865166> / animSpeed; //delta=-2.00 @@ -192,25 +194,25 @@ Walk() {// For N:\animations\corspec_anim_walk.blend Created by https://github.c } } } -// Call this from StopMoving()! +// Call this from MotionControl()! StopWalking() { turn lfoot to x-axis <24.833560> speed <262.290155>; turn lfoot to y-axis <0.539711> speed <25.358676>; turn lfoot to z-axis <1.401140> speed <14.261299>; turn lleg to x-axis <-5.372256> speed <373.028543>; turn lthigh to x-axis <-37.647296> speed <271.622781>; - turn lthigh to y-axis <0.0> speed <34.507096>; + turn lthigh to y-axis <0.000000> speed <34.507096>; turn lthigh to z-axis <0.125496> speed <49.503086>; - turn pelvis to x-axis <0.0> speed <36.0>; - turn pelvis to y-axis <0.0> speed <29.999999>; - turn pelvis to z-axis <0.0> speed <12.0>; - turn rfoot to x-axis <0.0> speed <253.711666>; - turn rfoot to y-axis <0.0> speed <24.089800>; - turn rfoot to z-axis <0.0> speed <12.955733>; - turn rleg to x-axis <0.0> speed <372.346212>; - turn rthigh to x-axis <0.0> speed <273.467334>; - turn rthigh to y-axis <0.0> speed <25.081572>; - turn rthigh to z-axis <0.0> speed <45.450180>; + turn pelvis to x-axis <0.000000> speed <36.000001>; + turn pelvis to y-axis <0.000000> speed <29.999999>; + turn pelvis to z-axis <0.000000> speed <12.000000>; + turn rfoot to x-axis <0.000000> speed <253.711666>; + turn rfoot to y-axis <0.000000> speed <24.089800>; + turn rfoot to z-axis <0.000000> speed <12.955733>; + turn rleg to x-axis <0.000000> speed <372.346212>; + turn rthigh to x-axis <0.000000> speed <273.467334>; + turn rthigh to y-axis <0.000000> speed <25.081572>; + turn rthigh to z-axis <0.000000> speed <45.450180>; } // REMEMBER TO animspeed = 5 in Create() !! UnitSpeed(){ @@ -227,16 +229,16 @@ UnitSpeed(){ sleep 164; } } -StartMoving(reversing){ - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; - isMoving=TRUE; +StartMoving(){ + signal SIG_WALK; + set-signal-mask SIG_WALK; + bMoving=TRUE; start-script Walk(); start-script UnitSpeed(); } StopMoving(){ - signal SIGNAL_MOVE; - isMoving=FALSE; + signal SIG_WALK; + bMoving=FALSE; call-script StopWalking(); } @@ -253,23 +255,53 @@ close() return (0); } -#define SMOKE_PIECE pelvis -#include "../damagedsmoke.h" +SmokeUnit(healthpercent, sleeptime, smoketype) +{ + while( get BUILD_PERCENT_LEFT ) + { + sleep 400; + } + while( TRUE ) + { + healthpercent = get HEALTH; + if( healthpercent < 66 ) + { + smoketype = 256 | 2; + if( Rand( 1, 66 ) < healthpercent ) + { + smoketype = 256 | 1; + } + emit-sfx smoketype from pelvis; + } + sleeptime = healthpercent * 50; + if( sleeptime < 200 ) + { + sleeptime = 200; + } + sleep sleeptime; + } + return (0); +} + Create() { - isMoving = FALSE; + bMoving = FALSE; + Static_Var_2 = 0; + Static_Var_3 = 1; + Static_Var_4 = 3000; + start-script SmokeUnit(); animSpeed = 5; + Static_Var_5 = 0; recently_damaged = 0; desired_activation = 1; - SLEEP_UNTIL_UNITFINISHED; - start-script DamagedSmoke(); + return (0); } Activate() { - signal SIGNAL_TURNON; - set-signal-mask SIGNAL_TURNON; + signal SIG_ACTIVATE; + set-signal-mask SIG_ACTIVATE; desired_activation = 1; // if we are in this function, the unit is already on // implied set ACTIVATION to 1; @@ -303,10 +335,10 @@ Deactivate() //set desired state if deactivated and not recently damaged desired_activation = 0; } - signal SIGNAL_TURNON; - set-signal-mask SIGNAL_TURNON; + signal SIG_ACTIVATE; + set-signal-mask SIG_ACTIVATE; - turn dish to x-axis <0.0> speed <-100.0>; + turn dish to x-axis <0.000000> speed <-100.000000>; wait-for-turn dish around x-axis; call-script close(); return (0); @@ -314,8 +346,8 @@ Deactivate() OffOnHit() { -signal SIGNAL_OFF; -set-signal-mask SIGNAL_OFF; +signal SIG_OFF; +set-signal-mask SIG_OFF; recently_damaged = 1; set ACTIVATION to 0; // turn off unit sleep 8000; //hardcoded time to stay off after being hit @@ -341,7 +373,11 @@ SetStunned(State) } } - +SweetSpot(piecenum) +{ + piecenum = head; + return (0); +} Killed(severity, corpsetype) { @@ -349,6 +385,12 @@ Killed(severity, corpsetype) { corpsetype = 1 ; explode pelvis type BITMAPONLY | NOHEATCLOUD; + //explode lthigh type BITMAPONLY | NOHEATCLOUD; + //explode lleg type BITMAPONLY | NOHEATCLOUD; + //explode lfoot type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rthigh type BITMAPONLY | NOHEATCLOUD; + //explode rleg type BITMAPONLY | NOHEATCLOUD; + //explode rfoot type BITMAPONLY | NOHEATCLOUD; explode head type BITMAPONLY | NOHEATCLOUD; explode rotator type BITMAPONLY | NOHEATCLOUD; explode dish type FIRE | SMOKE | FALL | NOHEATCLOUD; @@ -359,6 +401,12 @@ Killed(severity, corpsetype) corpsetype = 2 ; explode pelvis type BITMAPONLY | NOHEATCLOUD; explode lthigh type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lleg type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lfoot type FALL | NOHEATCLOUD; + //explode rthigh type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rleg type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rfoot type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode head type FIRE | SMOKE | FALL | NOHEATCLOUD; explode rotator type FIRE | SMOKE | FALL | NOHEATCLOUD; explode dish type FALL | NOHEATCLOUD; return(corpsetype); @@ -368,6 +416,11 @@ Killed(severity, corpsetype) corpsetype = 3 ; explode pelvis type FIRE | SMOKE | FALL | NOHEATCLOUD; explode lthigh type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lleg type SMOKE | FALL | NOHEATCLOUD; + //explode lfoot type SMOKE | FALL | NOHEATCLOUD; + //explode rthigh type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rleg type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rfoot type FIRE | SMOKE | FALL | NOHEATCLOUD; explode head type FIRE | SMOKE | FALL | NOHEATCLOUD; explode rotator type SMOKE | FALL | NOHEATCLOUD; explode dish type FIRE | SMOKE | FALL | NOHEATCLOUD; @@ -376,6 +429,10 @@ Killed(severity, corpsetype) corpsetype = 3 ; explode pelvis type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode lthigh type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lleg type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode lfoot type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rthigh type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rleg type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode rfoot type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode head type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode rotator type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; diff --git a/scripts/Units/corspec.cob b/scripts/Units/corspec.cob index 7194773ebe7fa4a93760e8fcc724de43a2f3ee28..056078425419fd5ae16b57605cfd7d0292610e10 100644 GIT binary patch literal 9848 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 ClWBTBA51-c9gc1E6U8Y z`$5^JY|hP%K$dO6h{iYvi=Y#X=#m9dM-~Zb7c?_fHby08E)3E7Jm-7g+tcqoqbi9f zIeh0k=lR~}ec$t(bIecS4qP~P6d3kbvcJAE$G#&I(9XMD1^ZCg_x4JQyX4)00ph%U!JYiD#Xb6` z1ef*J5_^T^7I*bO2XW*k?_E_E_q%~X9Jz_x^+Ah!>|Y6vv}$kXofg-1ZV;#Tdauct zyzKvbf`d!GkoSv`{PhSgamxGf2+R8+T0#DZQ{JD))=ii9JyH zLfkJS{>>s8c!^X0TEmcZ}Rolze)}w4%#C(dCz>s;ucXHz~NtCh>L064+>6sW4NsNN4)YL zm}=vl^On{6ZfrE=xtIBvA{q&`-Zw*OGDrdwLbQ0iyJ3v?0?mIHImM`IeOOS($yqBa9&u5+dbF%;0NI=aXN?Fm!2P| zb2xQemC0r4uSqV6VIlA7?^t`|PYr5TaoaAnxFxbrQnTvcmm_i9N+XCP)b_dSti9

      g%g-*fsUCeoQj>#|sO2Z@t9E5o%lGjh#Kb5wWN7UR!1J{KG(F%DV;5rt|lg zh-RljPifrUfj#B@sfYrn;XA(_tURa3RigR??wrKHn@xjlZ;I4@L=C7rLm_uGzXm7(KHb>Lt zd`6A25O?T(miM<2Ev}3FroKQU;0^cLm=*~m&R_8ld1JWPJ{!~QR*E5|*-V{{cZIx1 za64lm@6m`R1|phW6VdFm5zY1kIz!9DQzF$Y=5I$>Jl8`EX>QB zcqvb7;tLUNKYN?S-Ob4YFYPhcwD+yq_I+jJZ<4($)OP7*tCzjQPK5`zrnZzk=e=KqyTMd}v z_y~EcX4v!CqjDZ2hK0BXUb1uj1IbaS?K98WI8M`$tN~qn-@D7=#>?6ZwS6Jy(Z#IV1 z;JoPE>_#HeIDDQnnjI5)r;B}0?m1)a#l9ym+H7&L@5!-qFWqyZ9X6Sl7%sNY#ztNbh zAN<<_-FC~e{%;DKewyTU*Z72+dSPL%M`G{hbu~Luds{91;@ChirdqpZbjFX(kuxRT zWg&j@FOuv0zGU5n``ebwk}(ekAIJDCpPM@)x#IJe_a)r#p1geMbA+()IqHR1-yvF3 zn_Doa=`oFA6<*@Pu}}+nPqP~QBSbK2jbD;))pW@?~@-55T z=akR$$UNV~n|xKSst#u^H0dMl@ZMi>&wlO^I!-&h_r74?;@_cMu5ySC`oX_jy(#Q6-1CBA7uSo+BL-l69G%Jf@$K%xHf?!)4tOnSdp~i{=Y2QqrERgl z{Cpnc9%!F|Y!OGsKkp%8E7m{6XXJe`{#HO<=9%+UA^swh-Y6Ji)o zM)crL%kMj${S^8Y$G<(%-dx(Fe&93nx=?Jsf~)pTmOestZ(>vPK|88folhNSo;c1c z@!mJwb4z24)Z1#Yzl0$1V+Hv!H@vXWhHpqdeU3VldGhVNDhb%MyLvBYZmM z?dC`Md?<&@XOp!RaMOn=pGHTW%lY{X#xyTYG=LaFZgwg64&i2(`boR*70-!%0|VvQ zu}3N|zMKuV;VYJdFJ)|~JIRxOHkBvMfnL24$wmD%+#wdVNq-f`D`WI)$K(!kl}F8G zbNtz4Q5(8eRfn`m-)YOouqvDTGbbI-`aOXU*JpDlgEl6!)X+NOyZ*SEzs^&gHaw~i~f z-lw@~rUn6QM?Hm_fq`n&i%}<`-hkSIx)qgwljZ()47DGX|L0>f>Niohqkb24H|k#0 z{iugfkD&IT_M!Hpo<$uo!@04j6HzZior*dGbrxzJ>O9o>s0&b+7uwdkhEhi-8?EhY z+->cxrH0O8u?f9}uF{f@jqD{tnjM|RcGuX}v7zV|71kBj6q_2>b*wGAgR_wI!F9Vxh@3wQgu}T^*%DsiVvN8}t7JxBvhE diff --git a/scripts/Units/corspy.bos b/scripts/Units/corspy.bos index 679af877c94..2219124d866 100644 --- a/scripts/Units/corspy.bos +++ b/scripts/Units/corspy.bos @@ -1,17 +1,19 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece head, rthigh, lthigh, rfoot, lleg, lfoot, rleg, pelvis ; -static-var isMoving, buildTimer; +static-var bMoving, Static_Var_2, Static_Var_3; // Generated for D:\spring\animation\corspy_anim_walk.blend // Using https://github.com/Beherith/Skeletor_S3O // this animation uses the static-var animFramesPerKeyframe which contains how many frames each keyframe takes static-var animSpeed, maxSpeed, animFramesPerKeyframe; -#define SIGNAL_MOVE 1 +#define SIG_WALK 4 Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\animation\corspy_anim_walk.blend - //set-signal-mask SIGNAL_MOVE; - if (isMoving) { //Frame:4 + //set-signal-mask SIG_WALK; + if (bMoving) { //Frame:4 turn head to x-axis <-8.500000> speed <254.999990> / animSpeed; turn head to z-axis <-0.884000> speed <26.519997> / animSpeed; turn head to y-axis <0.884000> speed <26.519997> / animSpeed; @@ -26,7 +28,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn lthigh to y-axis <-1.186994> speed <424.911176> / animSpeed; move pelvis to z-axis [0.039343] speed [31.395532] / animSpeed; move pelvis to y-axis [0.983569] speed [108.822112] / animSpeed; - turn pelvis to x-axis <-0.0> speed <329.999975> / animSpeed; + turn pelvis to x-axis <-0.000000> speed <329.999975> / animSpeed; turn pelvis to y-axis <5.357556> speed <160.726680> / animSpeed; turn rfoot to x-axis <27.198047> speed <1276.335013> / animSpeed; turn rfoot to z-axis <-1.693794> speed <50.808809> / animSpeed; @@ -38,8 +40,8 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn rthigh to y-axis <3.653189> speed <448.085361> / animSpeed; sleep 131; } - while(isMoving) { - if (isMoving) { //Frame:8 + while(bMoving) { + if (bMoving) { //Frame:8 turn head to x-axis <-4.700000> speed <113.999990> / animSpeed; turn head to z-axis <-2.992000> speed <63.239997> / animSpeed; turn head to y-axis <2.992000> speed <63.239997> / animSpeed; @@ -66,7 +68,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn rthigh to y-axis <-1.517551> speed <155.122199> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:12 + if (bMoving) { //Frame:12 turn head to x-axis <8.399999> speed <392.999967> / animSpeed; turn head to z-axis <-5.508000> speed <75.480002> / animSpeed; turn head to y-axis <5.508000> speed <75.480002> / animSpeed; @@ -93,7 +95,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn rthigh to y-axis <1.889787> speed <102.220164> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:16 + if (bMoving) { //Frame:16 turn head to x-axis <1.700000> speed <200.999981> / animSpeed; turn head to z-axis <-7.615999> speed <63.239974> / animSpeed; turn head to y-axis <7.615999> speed <63.239974> / animSpeed; @@ -111,7 +113,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn rfoot to x-axis <8.011376> speed <1149.500910> / animSpeed; turn rfoot to z-axis <-2.255484> speed <20.746905> / animSpeed; turn rfoot to y-axis <0.964495> speed <11.456472> / animSpeed; - turn rleg to x-axis <-4.299766> speed <356.0> / animSpeed; + turn rleg to x-axis <-4.299766> speed <356.000059> / animSpeed; turn rleg to z-axis <0.087867> speed <39.959610> / animSpeed; turn rleg to y-axis <-0.257089> speed <44.371897> / animSpeed; turn rthigh to x-axis <-3.942633> speed <1535.786310> / animSpeed; @@ -119,7 +121,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn rthigh to y-axis <-0.126288> speed <60.482276> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:20 + if (bMoving) { //Frame:20 turn head to x-axis <-8.500000> speed <305.999975> / animSpeed; turn head to z-axis <-8.500000> speed <26.520019> / animSpeed; turn head to y-axis <8.500000> speed <26.520019> / animSpeed; @@ -145,7 +147,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn rthigh to y-axis <0.747492> speed <26.213417> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:24 + if (bMoving) { //Frame:24 turn head to x-axis <-4.700000> speed <113.999990> / animSpeed; turn head to z-axis <-4.700000> speed <113.999990> / animSpeed; turn head to y-axis <4.700000> speed <113.999990> / animSpeed; @@ -156,7 +158,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn lleg to z-axis <-1.593439> speed <7.219029> / animSpeed; turn lleg to y-axis <0.860034> speed <50.364661> / animSpeed; turn lthigh to x-axis <-102.290627> speed <1276.544119> / animSpeed; - turn lthigh to z-axis <-1.227646> speed <41.0> / animSpeed; + turn lthigh to z-axis <-1.227646> speed <41.000950> / animSpeed; turn lthigh to y-axis <0.404285> speed <48.812960> / animSpeed; move pelvis to z-axis [0.629484] speed [33.047922] / animSpeed; turn pelvis to y-axis <-7.109897> speed <65.614217> / animSpeed; @@ -171,7 +173,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn rthigh to y-axis <1.276401> speed <15.867266> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:28 + if (bMoving) { //Frame:28 turn head to x-axis <8.399999> speed <392.999967> / animSpeed; turn head to z-axis <8.399999> speed <392.999967> / animSpeed; turn head to y-axis <-8.399999> speed <392.999967> / animSpeed; @@ -198,7 +200,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn rthigh to y-axis <-0.304817> speed <47.436538> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:32 + if (bMoving) { //Frame:32 turn head to x-axis <1.700000> speed <200.999981> / animSpeed; turn head to z-axis <1.700000> speed <200.999981> / animSpeed; turn head to y-axis <-1.700000> speed <200.999981> / animSpeed; @@ -224,7 +226,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn rthigh to y-axis <0.759533> speed <31.930506> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:36 + if (bMoving) { //Frame:36 turn head to x-axis <-8.500000> speed <305.999975> / animSpeed; turn head to z-axis <-0.884000> speed <77.519982> / animSpeed; turn head to y-axis <0.884000> speed <77.519982> / animSpeed; @@ -253,16 +255,16 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani } } } -// Call this from StopMoving()! +// Call this from MotionControl()! StopWalking() { move pelvis to y-axis [-2.643835] speed [27.205528]; move pelvis to z-axis [1.085860] speed [14.163395]; - turn head to x-axis <0.0> speed <98.249992>; - turn head to y-axis <0.0> speed <98.249992>; - turn head to z-axis <0.0> speed <98.249992>; + turn head to x-axis <0.000000> speed <98.249992>; + turn head to y-axis <0.000000> speed <98.249992>; + turn head to z-axis <0.000000> speed <98.249992>; turn lfoot to x-axis <-14.935460> speed <390.333876>; - turn lfoot to y-axis <0.0> speed <19.098727>; - turn lfoot to z-axis <0.0> speed <25.747446>; + turn lfoot to y-axis <0.000000> speed <19.098727>; + turn lfoot to z-axis <0.000000> speed <25.747446>; turn lleg to x-axis <-12.244538> speed <387.738000>; turn lleg to y-axis <2.547105> speed <167.296157>; turn lleg to z-axis <-1.053010> speed <146.469962>; @@ -270,10 +272,10 @@ StopWalking() { turn lthigh to y-axis <-15.350700> speed <106.227794>; turn lthigh to z-axis <-1.422855> speed <24.010606>; turn pelvis to x-axis <10.999999> speed <82.499994>; - turn pelvis to y-axis <0.0> speed <40.181670>; + turn pelvis to y-axis <0.000000> speed <40.181670>; turn rfoot to x-axis <-15.346453> speed <404.161832>; - turn rfoot to y-axis <0.0> speed <21.519060>; - turn rfoot to z-axis <0.0> speed <14.771893>; + turn rfoot to y-axis <0.000000> speed <21.519060>; + turn rfoot to z-axis <0.000000> speed <14.771893>; turn rleg to x-axis <-12.530351> speed <375.374441>; turn rleg to y-axis <-3.121162> speed <131.333077>; turn rleg to z-axis <1.391352> speed <106.810614>; @@ -296,47 +298,47 @@ UnitSpeed(){ sleep 131; } } -StartMoving(reversing){ - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; - isMoving=TRUE; +StartMoving(){ + signal SIG_WALK; + set-signal-mask SIG_WALK; + bMoving=TRUE; start-script UnitSpeed(); start-script Walk(); } StopMoving(){ - signal SIGNAL_MOVE; - isMoving=FALSE; + signal SIG_WALK; + bMoving=FALSE; call-script StopWalking(); } Create() { - buildTimer = 1; + Static_Var_3 = 1; animSpeed = 4; - isMoving = FALSE; + bMoving = FALSE; } -#define BASEPIECE pelvis -#include "../unit_hitbyweaponid_and_smoke.h" +#define SMOKEPIECE pelvis +#include "smokeunit_thread_nohit.h" Reload() { sleep 5000; - buildTimer = 1; + Static_Var_3 = 1; } -QueryNanoPiece(pieceIndex) +QueryNanoPiece(piecenum) { - pieceIndex = head; + piecenum = head; } -StartBuilding(heading) +StartBuilding(Func_Var_1) { - while( !buildTimer ) + while( !Static_Var_3 ) { sleep 100; } - buildTimer = 0; + Static_Var_3 = 0; set INBUILDSTANCE to 1; start-script Reload(); } @@ -346,8 +348,15 @@ StopBuilding() set INBUILDSTANCE to 0; } +setSFXoccupy(Func_Var_1) +{ + Static_Var_2 = Func_Var_1; +} - +SweetSpot(piecenum) +{ + piecenum = head; +} Killed(severity, corpsetype) { diff --git a/scripts/Units/corspy.cob b/scripts/Units/corspy.cob index 05ce4f3103c11f997916c4343d576278f536233a..04d88cf3b69f57b3daf56faec3d6931071b056f6 100644 GIT binary patch literal 12950 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 delta 3287 zcmZ{nZ)lrU6vpqHf9u<|+nZ%=8oMm*N|UBrX)>)_mEj@|Ejn14Lx&EHG)UFD797|Q zGZxkl9qTY&HXLla!m3OdSY#gxR@M(i3sxvNSkZncZ0bG?EOcOnf#-Sh-tM)`l=Hi} z=REh^bN}Q`dcN>ozBQnf+9XyX_VY%iLek>Z)2`G-v0ub?Nq?oi)VkgB>0BaV|GGt~ zfa7y~rGb>VO5&RN$mhDI#Z|fsf7k*$$viniPLK#;y0#FZ=*T|dX1F|`Y=t1%Xd5N4M?~yejX!el>a+JJIE|S3w z(6o_9$dlwaIY$mfnsi+SY8r|r?5iE_*6HpFj2$G$$XRlkjM<3h$X>EUPLfNcT?tK= zJW39cSIK#Dm2BJyWfwU>ULdDQR9IDo3gcDK9U%M2bL13xhpeuKrh`024wKi&o8$ws zc@vZe$+>vKZk9X7YojmGH$&bdYc@l>k1UX*Bx<|08MXcA;_0vheJ7bGN5~0sfwaQV zq{(h_kQ^gt$z?LO1?6;SQ{)|TA{NmNwOd8kQ494ka+thE-XtH8%~5EuXZ_LgjblF=)i>Cm zXMB}xtV7HSNA&A;$UngT1#+6aONL|6b&`2 zor_l`?BCC>-3dl!$b00J#7|e6_`YozSs+Kr>*OLCj3e4cW-Fumy*So?lKpXVj=WFC zw?ln^>?6;SQ`=M3K0N*Q`yERjaHn-PS}#iMXeLpOkt%2l1-9Jq}>2d zmOM%hkypuia+PdsgtChqATN;97jH)-%izas|KHA43RL(YX~^%&5)zy)Zy!a z?@&1(%a=I(IruX{YHQsa64cprq=+6Am=7ffp>#qHzTWVXML5_ew9uf1ADRu)m_0Nz zn+nnLPc+ECg2A$pzKnR~ts5&ch$PA>m-nPw5L{S_Hwh?7|I3B0jpjf<570cCO5CoVLgH8MB!4DHahm~UNDS3-_SXxtn$+^B&new>|%lvB- zt{0iU5sP%KNcga7v;8?Yk2$JG6^?v=Lg4NO7QNqGZj%g^^EfgVS9Ml8YlW90_biHNk>efB_RO`0li|!cYL78Zg;cEm|~6JQSe(Tv}9y27US7V&7C^`lgaIZrtpI>6=Q7-c(}Zrjqvdc+t#h zYB=xaMB}Z=)L`_c2Gch+nDM3t6E`)OxTztPjTLX%O5G7#5!)fRYFz9Ov1PGUv54HH zda)JxKVelYm{Dr8SiM+MtWE4`vFF8J7JE(X9kCC^hQ-c^mBc<1`$BA7>}#=a#I9$Q v{vrER@`c_Ho*jIpkncbKepiq3^we|tzWm#Tp2K~|-!16c-MjT0yZ8JHEs5dM diff --git a/scripts/Units/corssub.bos b/scripts/Units/corssub.bos index 3070f9582ea..d55cec7efe8 100644 --- a/scripts/Units/corssub.bos +++ b/scripts/Units/corssub.bos @@ -1,12 +1,14 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, torp1, torp2, bubbles1, bubbles2, bubbles3 ; static-var gun_1; // Signal definitions -#define SIGNAL_MOVE 1 +#define SIG_MOVE 2 #define BASEPIECE base @@ -26,8 +28,8 @@ HitByWeapon(anglex, anglez, damage) // angle[x|z] is always [-500;500], damage i turn BASEPIECE to x-axis <0> - (anglex * amount) /100 speed HITSPEED; wait-for-turn BASEPIECE around z-axis; wait-for-turn BASEPIECE around x-axis; - turn BASEPIECE to z-axis <0.0> speed HITSPEED / 4; - turn BASEPIECE to x-axis <0.0> speed HITSPEED / 4; + turn BASEPIECE to z-axis <0.000000> speed HITSPEED / 4; + turn BASEPIECE to x-axis <0.000000> speed HITSPEED / 4; } HitByWeaponId(anglex, anglez, weaponid, dmg) //weaponID is always 0,lasers and flamers give angles of 0 { @@ -35,14 +37,6 @@ HitByWeaponId(anglex, anglez, weaponid, dmg) //weaponID is always 0,lasers and f return (100); //return damage percent } -#define TB_BASE base -#define TB_TURNRATE <15.0> -#define TB_TILT_X <-0.32> -#define TB_BANK_Z <0.5> // Do not define this if you dont want banking -#define TB_WAKE_PIECE bubbles2 -#define TB_WAKE_PIECE2 bubbles3 -#include "../tilt_bank_submarine.h" - Create() { @@ -52,29 +46,32 @@ Create() hide bubbles3; hide bubbles1; gun_1 = torp1; - call-script TB_Init(); } -StartMoving(reversing) +StartMoving() { - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; - - START_TILTBANK; + signal SIG_MOVE; + set-signal-mask SIG_MOVE; + while( TRUE ) + { + emit-sfx 259 from bubbles1; + emit-sfx 259 from bubbles2; + emit-sfx 259 from bubbles3; + sleep 300; + } } StopMoving() { - signal SIGNAL_MOVE; - STOP_TILTBANK; + signal SIG_MOVE; } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { return (1); } -FireWeapon1() +FirePrimary() { if( gun_1 == 1 ) { @@ -88,24 +85,27 @@ FireWeapon1() } } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = base; + piecenum = base; } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { if( gun_1 == 1 ) { - pieceIndex = torp1; + piecenum = torp1; } if( gun_1 == 2 ) { - pieceIndex = torp2; + piecenum = torp2; } } - +SweetSpot(piecenum) +{ + piecenum = base; +} Killed(severity, corpsetype) { diff --git a/scripts/Units/corssub.cob b/scripts/Units/corssub.cob index 3209bec6a92c8ba096fe408bb4bf35403df3ae13..af90d8f496127c95f4c71a35a268bc6a56fe64b2 100644 GIT binary patch literal 2328 zcmcguzl#$=6n>ZFR>i`x({9D~iro1RoC=2`LL|l6nZ#R;h1~7Bx2Fa~wzd<&N((y+ z!NOXs6f416!Afi_v=A%7@0*#I3~Q3@O!D1(^WOJt$SL!+srOs!$23)*!pWM5RABaH*#rrU+)d;kb9a+?0PwaCTP=MD0z;(tRQ88`)-a*_Z!1RP6esHWpV6%QBJ*kvFB8f znp5vg3{$-x?~i^5xNqt(S>6T}Ki>^MpYCs2pBi6L!Mw_4V%FzR9eb)K&bOw`xElO$z7&q}$H gj>pN4jD`n^lv$Cl+rJw!IvkD0$-%lRQ_DH|3q4J;>Hq)$ literal 2571 zcmbVOL2FY%5S}J!)S~zVJ$MkFCodvNy?Lrtilqou3koVWF%J!mNl4Q|L2Ly<5cJ@w z)Qbnbc=88$6N=y;@FqwP)l(0GdWzq-Z@*-Hwnc22&g{%LGvDm)TUs!){g5K$RL*P| znm-$R%?|G~I}bUD^$lo?b5SU{2)}R-L4O~DF_w>VrCgMU$rv?b)D{g#Hd~C2cpqIh zT|{(%`#@hQ#lOnKCtJ={y$nul8RIcx+hezc!%PUMrr6a#S~DwL1~lfKJ=k9Fu9 z34E$USIC1ny13uUqvpAdz{u9Y_*OuUwA;@(JqyGA;aQLu{lrNVZ?ow+zkoK-xe9e2-Xa~Z2B<+jyBPjF-Y&t(+$81A1qGnf6Si95zv zTyQy?90c4LSB~yrbOJFycUVK*HTM_5SXXna&vp32xmjPi+)LtgKbX(8=HixfE}dV9 zBh04LJ^w)*a`Q~yGIxF<*4070Kby}R20qN=Tfy}hw3YCkj1{B%-ba_aTeE3>gLd_x z9cO6w)aNhx|fbqx5-RUp+6@*LN7!A(ZPC8sI5jt9~tBT8o#~;`PYm zcjI-N7|-h<3bQZk?Z#`(*A=fPe!UYf;l)clv%LPNw`!~RbI(P4qP2PppY6@G8AuJX z2swb^jzi8su0d`>_+31Nynyh3ox6}l$OFh@$TP?qA-yQ16Z}T}>+ORx`9GYc?}}YqDAI+DyIC9j`R!>|7_QbQ8PMt#rBLNNQHC%qP}ub=qb3chss2)oLS|FU#nA GPTOx%7Qh_< diff --git a/scripts/Units/corstorm.bos b/scripts/Units/corstorm.bos index 5905dfbdf91..e0882174c33 100644 --- a/scripts/Units/corstorm.bos +++ b/scripts/Units/corstorm.bos @@ -1,24 +1,26 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece aimy1, rfirept, lfirept, pelvis, rfoot, lfoot, launcher, lthigh, rthigh, rleg, lleg, turret,rexhaust,lexhaust,lknee,rknee, aimx1; static-var gun_1, notMoving, moveSpeed, currentSpeed, animSpeed, wpn1_lasthead; -static-var maxSpeed, animFramesPerKeyframe, isMoving; +static-var maxSpeed, animFramesPerKeyframe, bMoving; lua_UnitScriptDecal(lightIndex, xpos,zpos, heading) { return 0; } // Signal definitions -#define SIGNAL_MOVE 1 -#define SIGNAL_AIM1 256 +#define SIG_WALK 4 +#define SIG_AIM 8 walk() // (c) CC BY NC ND Beherith mysterme@gmail.com { - set-signal-mask SIGNAL_MOVE; if (isMoving) { //Frame:4 + set-signal-mask SIG_WALK; if (bMoving) { //Frame:4 turn launcher to x-axis <0.700000> speed <155.999983> / animSpeed; turn lfoot to x-axis <-45.174461> speed <1339.883614> / animSpeed; turn lfoot to z-axis <-8.711228> speed <587.665429> / animSpeed; @@ -32,7 +34,7 @@ walk() // (c) CC BY NC ND Beherith mysterme@gmail.com turn lthigh to x-axis <28.463688> speed <786.618223> / animSpeed; turn lthigh to z-axis <6.414564> speed <383.071557> / animSpeed; turn lthigh to y-axis <-1.128280> speed <123.646459> / animSpeed; - turn pelvis to x-axis <-0.0> speed <149.999983> / animSpeed; + turn pelvis to x-axis <-0.000000> speed <149.999983> / animSpeed; turn rfoot to x-axis <38.546265> speed <1128.417134> / animSpeed; turn rfoot to z-axis <-6.897524> speed <101.979838> / animSpeed; turn rfoot to y-axis <-1.430482> speed <57.160004> / animSpeed; @@ -47,8 +49,8 @@ walk() // (c) CC BY NC ND Beherith mysterme@gmail.com turn rthigh to y-axis <2.035195> speed <143.623734> / animSpeed; sleep 131; } - while(isMoving) { - if (isMoving) { //Frame:8 + while(bMoving) { + if (bMoving) { //Frame:8 turn launcher to x-axis <-2.450000> speed <94.499997> / animSpeed; turn lfoot to x-axis <-39.050804> speed <183.709720> / animSpeed; turn lfoot to z-axis <-3.901796> speed <144.282974> / animSpeed; @@ -64,7 +66,7 @@ walk() // (c) CC BY NC ND Beherith mysterme@gmail.com turn lthigh to y-axis <0.884297> speed <60.377311> / animSpeed; move pelvis to y-axis [-0.790000] speed [23.699999] / animSpeed; turn pelvis to x-axis <4.568749> speed <137.062482> / animSpeed; - turn pelvis to y-axis <-4.0> speed <119.999986> / animSpeed; + turn pelvis to y-axis <-4.000000> speed <119.999986> / animSpeed; turn rfoot to x-axis <5.633654> speed <987.378323> / animSpeed; turn rfoot to z-axis <0.002615> speed <207.004152> / animSpeed; turn rfoot to y-axis <-0.002489> speed <42.839816> / animSpeed; @@ -73,13 +75,13 @@ walk() // (c) CC BY NC ND Beherith mysterme@gmail.com turn rknee to y-axis <-0.903029> speed <17.539158> / animSpeed; turn rleg to x-axis <47.379492> speed <1996.137709> / animSpeed; turn rleg to z-axis <-2.989707> speed <65.145727> / animSpeed; - turn rleg to y-axis <5.0> speed <92.860037> / animSpeed; + turn rleg to y-axis <5.000039> speed <92.860037> / animSpeed; turn rthigh to x-axis <-58.670553> speed <899.234907> / animSpeed; turn rthigh to z-axis <-3.659250> speed <66.775942> / animSpeed; turn rthigh to y-axis <5.419124> speed <101.517866> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:12 + if (bMoving) { //Frame:12 turn launcher to x-axis <7.100000> speed <286.499986> / animSpeed; turn lfoot to x-axis <-41.708304> speed <79.725007> / animSpeed; turn lfoot to z-axis <-0.001299> speed <117.014899> / animSpeed; @@ -110,7 +112,7 @@ walk() // (c) CC BY NC ND Beherith mysterme@gmail.com turn rthigh to y-axis <1.835031> speed <107.522806> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:16 + if (bMoving) { //Frame:16 turn launcher to x-axis <3.400000> speed <110.999991> / animSpeed; turn lfoot to x-axis <-3.910388> speed <1133.937479> / animSpeed; turn lknee to x-axis <25.256626> speed <395.785377> / animSpeed; @@ -139,7 +141,7 @@ walk() // (c) CC BY NC ND Beherith mysterme@gmail.com turn rthigh to y-axis <1.625487> speed <6.286304> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:20 + if (bMoving) { //Frame:20 turn launcher to x-axis <0.100000> speed <98.999991> / animSpeed; turn lfoot to x-axis <38.552084> speed <1273.874173> / animSpeed; turn lknee to x-axis <-3.971019> speed <876.829355> / animSpeed; @@ -151,9 +153,9 @@ walk() // (c) CC BY NC ND Beherith mysterme@gmail.com turn lthigh to x-axis <-28.531841> speed <1124.294797> / animSpeed; turn lthigh to z-axis <1.384001> speed <106.589691> / animSpeed; turn lthigh to y-axis <-1.972103> speed <116.931095> / animSpeed; - move pelvis to y-axis [0.0] speed [11.700000] / animSpeed; - turn pelvis to x-axis <-0.0> speed <88.499997> / animSpeed; - turn pelvis to y-axis <0.0> speed <163.593733> / animSpeed; + move pelvis to y-axis [0.000000] speed [11.700000] / animSpeed; + turn pelvis to x-axis <-0.000000> speed <88.499997> / animSpeed; + turn pelvis to y-axis <0.000000> speed <163.593733> / animSpeed; turn rfoot to x-axis <-45.601082> speed <1486.777649> / animSpeed; turn rfoot to z-axis <8.777723> speed <72.755435> / animSpeed; turn rfoot to y-axis <2.942875> speed <14.622197> / animSpeed; @@ -168,7 +170,7 @@ walk() // (c) CC BY NC ND Beherith mysterme@gmail.com turn rthigh to y-axis <1.053705> speed <17.153451> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:24 + if (bMoving) { //Frame:24 turn launcher to x-axis <-3.700000> speed <113.999996> / animSpeed; turn lfoot to x-axis <5.205345> speed <1000.402167> / animSpeed; turn lknee to x-axis <-38.112097> speed <1024.232325> / animSpeed; @@ -197,7 +199,7 @@ walk() // (c) CC BY NC ND Beherith mysterme@gmail.com turn rthigh to y-axis <0.135399> speed <27.549188> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:28 + if (bMoving) { //Frame:28 turn launcher to x-axis <7.299999> speed <329.999975> / animSpeed; turn lfoot to x-axis <47.099178> speed <1256.814981> / animSpeed; turn lfoot to z-axis <-8.698515> speed <260.859201> / animSpeed; @@ -228,8 +230,8 @@ walk() // (c) CC BY NC ND Beherith mysterme@gmail.com turn rthigh to y-axis <-1.948095> speed <62.504826> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:32 - turn launcher to x-axis <3.0> speed <128.999994> / animSpeed; + if (bMoving) { //Frame:32 + turn launcher to x-axis <3.000000> speed <128.999994> / animSpeed; turn lfoot to x-axis <3.635010> speed <1303.925050> / animSpeed; turn lfoot to z-axis <-6.350171> speed <70.450323> / animSpeed; turn lfoot to y-axis <-2.491368> speed <91.408108> / animSpeed; @@ -243,7 +245,7 @@ walk() // (c) CC BY NC ND Beherith mysterme@gmail.com turn lthigh to z-axis <3.505405> speed <71.676934> / animSpeed; turn lthigh to y-axis <-1.514817> speed <9.411657> / animSpeed; move pelvis to y-axis [-0.390000] speed [23.399999] / animSpeed; - turn pelvis to x-axis <3.299998> speed <99.0> / animSpeed; + turn pelvis to x-axis <3.299998> speed <99.000036> / animSpeed; turn pelvis to y-axis <3.749998> speed <112.500029> / animSpeed; turn rfoot to x-axis <-2.631426> speed <1150.192505> / animSpeed; turn rknee to x-axis <25.001153> speed <390.905062> / animSpeed; @@ -257,8 +259,8 @@ walk() // (c) CC BY NC ND Beherith mysterme@gmail.com turn rthigh to y-axis <-1.582810> speed <10.958560> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:36 - turn launcher to x-axis <-0.0> speed <89.999990> / animSpeed; + if (bMoving) { //Frame:36 + turn launcher to x-axis <-0.000000> speed <89.999990> / animSpeed; turn lfoot to x-axis <-45.174461> speed <1464.284129> / animSpeed; turn lfoot to z-axis <-8.711228> speed <70.831730> / animSpeed; turn lfoot to y-axis <-2.849490> speed <10.743672> / animSpeed; @@ -271,9 +273,9 @@ walk() // (c) CC BY NC ND Beherith mysterme@gmail.com turn lthigh to x-axis <28.463688> speed <949.236400> / animSpeed; turn lthigh to z-axis <6.414564> speed <87.274763> / animSpeed; turn lthigh to y-axis <-1.128280> speed <11.596121> / animSpeed; - move pelvis to y-axis [0.0] speed [11.700000] / animSpeed; - turn pelvis to x-axis <-0.0> speed <98.999946> / animSpeed; - turn pelvis to y-axis <0.0> speed <112.499952> / animSpeed; + move pelvis to y-axis [0.000000] speed [11.700000] / animSpeed; + turn pelvis to x-axis <-0.000000> speed <98.999946> / animSpeed; + turn pelvis to y-axis <0.000000> speed <112.499952> / animSpeed; turn rfoot to x-axis <38.366183> speed <1229.928296> / animSpeed; turn rknee to x-axis <-3.925581> speed <867.802018> / animSpeed; turn rknee to z-axis <-1.245253> speed <55.816170> / animSpeed; @@ -288,9 +290,9 @@ walk() // (c) CC BY NC ND Beherith mysterme@gmail.com } } } -// Call this from StopMoving()! +// Call this from MotionControl()! StopWalking() { - move pelvis to y-axis [0.0] speed [5.925000]; + move pelvis to y-axis [0.000000] speed [5.925000]; turn launcher to x-axis <5.899999> speed <82.499994>; turn lfoot to x-axis <-0.511674> speed <366.071032>; turn lfoot to y-axis <-0.309917> speed <22.852027>; @@ -305,7 +307,7 @@ StopWalking() { turn lthigh to y-axis <2.993269> speed <30.911615>; turn lthigh to z-axis <-6.354488> speed <95.767889>; turn pelvis to x-axis <-4.999999> speed <37.499996>; - turn pelvis to y-axis <0.0> speed <40.898433>; + turn pelvis to y-axis <0.000000> speed <40.898433>; turn rfoot to x-axis <0.932360> speed <371.694412>; turn rfoot to y-axis <0.474851> speed <22.005134>; turn rfoot to z-axis <-10.296852> speed <64.797402>; @@ -335,31 +337,28 @@ UnitSpeed(){ } -#define DEBUG -#include "../debug.h" #define BASEPIECE pelvis -#define HITSPEED <45.0> +#define HITSPEED <65.0> //how 'heavy' the unit is, on a scale of 1-10 #define UNITSIZE 1 #define MAXTILT 100 -#define RECOIL_POWER 10000 -#include "../unit_hitbyweaponid_and_smoke.h" -StartMoving(reversing) +#include "unit_hitbyweaponid_and_smoke.h" + +StartMoving() { - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; - isMoving = 1; + signal SIG_WALK; + set-signal-mask SIG_WALK; + bMoving = 1; start-script UnitSpeed(); start-script walk(); } - StopMoving() { - signal SIGNAL_MOVE; - isMoving = 0; + signal SIG_WALK; + bMoving = 0; start-script StopWalking(); } @@ -378,19 +377,22 @@ Create() animSpeed = 4; hide lfirept; hide rfirept; - //start-script StopMoving(); // This would place it in power stance on build? + start-script StopMoving(); } +SweetSpot(piecenum) +{ + piecenum = aimy1; +} - -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = turret; + piecenum = turret; } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = rfirept + gun_1; + piecenum = rfirept + gun_1; } static-var Stunned; @@ -399,9 +401,9 @@ ExecuteRestoreAfterDelay() if (Stunned) { return (1); } - turn aimy1 to y-axis <0.0> speed <90.021978>; - turn aimx1 to x-axis <0.0> speed <45.010989>; - wpn1_lasthead = 0xbadface; + turn aimy1 to y-axis <0.000000> speed <90.021978>; + turn aimx1 to x-axis <0.000000> speed <45.010989>; + wpn1_lasthead = 1000000; } SetStunned(State) { @@ -412,19 +414,19 @@ SetStunned(State) } RestoreAfterDelay() { - set-signal-mask SIGNAL_AIM1; + set-signal-mask SIG_AIM; sleep 5000; start-script ExecuteRestoreAfterDelay(); } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; + signal SIG_AIM; turn aimy1 to y-axis heading speed <90.021978>; - turn aimx1 to x-axis <0.0> - pitch speed <45.010989>; - if ((wpn1_lasthead == 0xbadface) OR ABSOLUTE_GREATER_THAN(WRAPDELTA(heading - wpn1_lasthead), <7>)) + turn aimx1 to x-axis <0.000000> - pitch speed <45.010989>; + if (((get ABS(wpn1_lasthead - heading)) > 65536) OR(((get ABS(wpn1_lasthead - heading)) > 1300) AND ((get ABS(wpn1_lasthead - heading)) < 64236))) { - wpn1_lasthead = 0xbadface; + wpn1_lasthead = 1000000; wait-for-turn aimy1 around y-axis; wait-for-turn aimx1 around x-axis; } @@ -433,7 +435,7 @@ AimWeapon1(heading, pitch) return (1); } -FireWeapon1() +FirePrimary() { if( gun_1 ) { @@ -458,7 +460,7 @@ FireWeapon1() // WHY DO WE NEED TO SLEEP A FRAME HERE? well simple! // the order of the calls is //1. AimFromWeapon - //2. FireWeapon1 + //2. FirePrimary //3. QueryWeapon // If we swap guns on fireprimary, then we would shoot from other barrel that we aimed from, so we delay swapping barrels by one frame gun_1 = !gun_1; @@ -466,8 +468,8 @@ FireWeapon1() //use call-script DeathAnim(); from Killed() DeathAnim() {// For N:\animations\corstorm_anim_death.blend Created by https://github.com/Beherith/Skeletor_S3O V((0, 2, 8)) - signal SIGNAL_MOVE; - signal SIGNAL_AIM1; + signal SIG_WALK; + signal SIG_AIM; call-script StopWalking(); turn aimy1 to y-axis <0> speed <180>; turn aimx1 to x-axis <0> speed <180>; @@ -515,8 +517,8 @@ DeathAnim() {// For N:\animations\corstorm_anim_death.blend Created by https://g move pelvis to z-axis [11.873957] speed [8.092937] ; //delta=1.62 move pelvis to y-axis [-4.178505] speed [14.959669] ; //delta=-2.99 turn pelvis to x-axis <17.638905> speed <26.739495> ; //delta=-5.35 - turn pelvis to z-axis <0.0> speed <19.745808> ; //delta=3.95 - turn pelvis to y-axis <-0.0> speed <20.923533> ; //delta=4.18 + turn pelvis to z-axis <0.000000> speed <19.745808> ; //delta=3.95 + turn pelvis to y-axis <-0.000000> speed <20.923533> ; //delta=4.18 turn rfoot to x-axis <-14.027358> speed <57.854568> ; //delta=11.57 turn rfoot to z-axis <-10.616333> speed <1.555319> ; //delta=0.31 turn rfoot to y-axis <-2.293257> speed <10.766926> ; //delta=-2.15 @@ -575,7 +577,7 @@ DeathAnim() {// For N:\animations\corstorm_anim_death.blend Created by https://g turn rfoot to x-axis <67.939215> speed <766.616864> ; //delta=-76.66 turn rfoot to z-axis <6.278843> speed <166.969720> ; //delta=-16.70 turn rfoot to y-axis <-10.416555> speed <91.261486> ; //delta=-9.13 - turn rknee to x-axis <-121.0> speed <1377.156460> ; //delta=137.72 //WARNING: possible gimbal lock issue detected in frame 20 bone rknee + turn rknee to x-axis <-121.000216> speed <1377.156460> ; //delta=137.72 //WARNING: possible gimbal lock issue detected in frame 20 bone rknee turn rknee to z-axis <16.952591> speed <148.898092> ; //delta=-14.89 //WARNING: possible gimbal lock issue detected in frame 20 bone rknee @@ -613,6 +615,19 @@ Killed(severity, corpsetype) corpsetype = 1 ; explode pelvis type BITMAPONLY | NOHEATCLOUD; explode aimy1 type BITMAPONLY | NOHEATCLOUD; + //explode turret type BITMAPONLY | NOHEATCLOUD; + //explode launcher type BITMAPONLY | NOHEATCLOUD; + //explode rfirept type BITMAPONLY | NOHEATCLOUD; + //explode lfirept type BITMAPONLY | NOHEATCLOUD; + //explode lexhaust type BITMAPONLY | NOHEATCLOUD; + //explode rexhaust type BITMAPONLY | NOHEATCLOUD; + //explode lthigh type BITMAPONLY | NOHEATCLOUD; + //explode lknee type BITMAPONLY | NOHEATCLOUD; + //explode lleg type BITMAPONLY | NOHEATCLOUD; + //explode lfoot type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rthigh type BITMAPONLY | NOHEATCLOUD; + //explode rknee type BITMAPONLY | NOHEATCLOUD; + //explode rleg type BITMAPONLY | NOHEATCLOUD; explode rfoot type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } @@ -623,7 +638,18 @@ Killed(severity, corpsetype) explode aimy1 type FALL | NOHEATCLOUD; explode turret type FALL | NOHEATCLOUD; explode launcher type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rfirept type FALL | NOHEATCLOUD; + //explode lfirept type FALL | NOHEATCLOUD; + //explode lexhaust type FALL | NOHEATCLOUD; + //explode rexhaust type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lthigh type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lknee type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lleg type FALL | NOHEATCLOUD; explode lfoot type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rthigh type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rknee type FALL | NOHEATCLOUD; + //explode rleg type FALL | NOHEATCLOUD; + //explode rfoot type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) @@ -632,16 +658,37 @@ Killed(severity, corpsetype) explode pelvis type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; explode aimy1 type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; explode turret type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode launcher type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rfirept type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode lfirept type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lexhaust type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rexhaust type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode lthigh type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode lknee type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode lleg type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode lfoot type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rthigh type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rknee type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode rleg type SMOKE | FALL | NOHEATCLOUD; + //explode rfoot type SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; explode pelvis type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode aimy1 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode turret type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode launcher type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode rfirept type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode lfirept type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode lexhaust type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode rexhaust type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode lthigh type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode lknee type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode lleg type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lfoot type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rthigh type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rknee type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rleg type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rfoot type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/corstorm.cob b/scripts/Units/corstorm.cob index c4dbd07cce839bc3adfc939438128082e496abdd..dc3da3860e97a72016a95cf5610f342d681916f4 100644 GIT binary patch literal 18474 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 X)jk>1#)YJXF?P @@ -26,10 +28,9 @@ HitByWeapon(anglex, anglez, damage) // angle[x|z] is always [-500;500], damage i turn BASEPIECE to x-axis <0> - (anglex * amount) /100 speed HITSPEED; wait-for-turn BASEPIECE around z-axis; wait-for-turn BASEPIECE around x-axis; - turn BASEPIECE to z-axis <0.0> speed HITSPEED / 4; - turn BASEPIECE to x-axis <0.0> speed HITSPEED / 4; + turn BASEPIECE to z-axis <0.000000> speed HITSPEED / 4; + turn BASEPIECE to x-axis <0.000000> speed HITSPEED / 4; } - HitByWeaponId(anglex, anglez, weaponid, dmg) //weaponID is always 0,lasers and flamers give angles of 0 { start-script HitByWeapon(dmg, anglez,anglex); //I dont know why param order must be switched, and this also runs a frame later :( @@ -37,58 +38,57 @@ HitByWeaponId(anglex, anglez, weaponid, dmg) //weaponID is always 0,lasers and f } -#define TB_BASE base -#define TB_TURNRATE <30.0> -#define TB_TILT_X <-0.32> -#define TB_BANK_Z <0.5> // Do not define this if you dont want banking -#define TB_WAKE_PIECE wake -#define TB_WAKE_FOAM 1024 + 1 -#include "../tilt_bank_submarine.h" - - Create() { hide tube1; hide wake; hide tube2; gun_1 = tube1; - call-script TB_Init(); } -StartMoving(reversing) +StartMoving() { - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; - START_TILTBANK; + signal SIG_MOVE; + set-signal-mask SIG_MOVE; + while( TRUE ) + { + emit-sfx 1024 + 0 from wake; + sleep 250; + emit-sfx 1024 + 0 from wake; + emit-sfx 1024 + 1 from wake; + sleep 250; + } } StopMoving() -{ - signal SIGNAL_MOVE; - STOP_TILTBANK; +{ + signal SIG_MOVE; } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = gun_1; + piecenum = gun_1; } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { return(1); } -FireWeapon1() +FirePrimary() { gun_1 = !gun_1; } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = gun_1; + piecenum = gun_1; } - +SweetSpot(piecenum) +{ + piecenum = base; +} Killed(severity, corpsetype) { @@ -98,7 +98,7 @@ Killed(severity, corpsetype) explode base type BITMAPONLY | NOHEATCLOUD; explode tube1 type BITMAPONLY | NOHEATCLOUD; explode tube2 type BITMAPONLY | NOHEATCLOUD; - + //explode wake type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } if( severity <= 50 ) @@ -107,7 +107,7 @@ Killed(severity, corpsetype) explode base type BITMAPONLY | NOHEATCLOUD; explode tube1 type FIRE | SMOKE | NOHEATCLOUD; explode tube2 type FIRE | SMOKE | NOHEATCLOUD; - + //explode wake type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) @@ -116,13 +116,13 @@ Killed(severity, corpsetype) explode base type BITMAPONLY | NOHEATCLOUD; explode tube1 type EXPLODE_ON_HIT | FIRE | SMOKE | NOHEATCLOUD; explode tube2 type EXPLODE_ON_HIT | FIRE | SMOKE | NOHEATCLOUD; - + //explode wake type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; explode base type BITMAPONLY | NOHEATCLOUD; explode tube1 type EXPLODE_ON_HIT | FIRE | NOHEATCLOUD; explode tube2 type EXPLODE_ON_HIT | FIRE | NOHEATCLOUD; - + //explode wake type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/corsub.cob b/scripts/Units/corsub.cob index 09bc81a1bc8c6797e343483b35073540a7e3afa8..737f823c16ca9dee38ec7e3c313aad645478d58d 100644 GIT binary patch literal 1698 zcmbtUJ&O}j6utRW5aih@SPa;S#q9PAtHQD(!b*yiW?~-8;3gBtS(j)tjh)qkAc!E? zY-wp}CH?^ag1xns=iGUheZ<6FagvjJ-~D>$-uEV55xE3(fk!P7eDyi$iF^m7FLDdQ zK}yngG1?9vm|KvOATL5n+HtboaqYD2I#@D}l5v#cdQL`tcQx2(lD$5>r*YqCOPjbG zP?<}c)#Uo?m8Ld1TQ2uDKI9;YC`aST9Qu)>IVP3YAGxRbj1yLdAWWyqdQUMxtGm4C zDxc+1viEqd)U6*%>rZ1HV)58KId{z;iP{BHdx2!0aq6Z`&$ea`b?s#y>2;$smuGZr zHF!aOHno}ei~h8wHT3dCzSf#p+3vd+R*(5BIM8hK=wcr(dFGTccbgY&$`!RNUOx2P zs(zVcG3#pDOxF4BY>dw}DoJxse*}(tUf^u=PlCOMlo9TfyP$LDUI|Q;HKh5duJdW_ zsAt{}i{GRYxLihH+{<~mun=?f9R|;Jyv~aI8^^~H$F0DT_m%TL4@Y~Cwdug|EWZDe zv&@|{_+NfCdk*JL)y{=7?xUtN#4YonYY6NE74Qal2YduhfKR|@;0wV2>g&KwU<23! zc7Y)<24=uZ;1%#1I0oJV?}6RCy0aMiY+lS_{oX|GmOiVz463ZG9u&{>**^4Q9@N|U zbf+w)du2Y&%7tKQ>P}vI(;puCa$$?Xk@wYLUQ}{FKRECcsSd|}Lw`4AoIUe$ls)nC E8v+!D)c^nh literal 2197 zcma)7J!?}@7=H8BRuMTJ6daW6)I}ue*eOOVmLgOQC^$5?<|3DTa(h!1gt$2Apibh{ z!Og$mYVjvHJ9TjArh^cl=iKuq$7_hTJbk~vPtvl8oB_(f*Mdj|ls~VQMLq%Ffh&-I zfl5#`K8gmvP!~Xh5}10)6stu;mNrt_NX1l)w3f^{r=v=CmSCOveW9+J`2}DZOP%JV ze6*V7Myt~rQY{(U+R(8F3B>lLy)lM%npsb&?dz}DSv>uOnL!BU$ueJprD@)L&3QJB zBjxP=F3IaINOeBzYv79?-KU)s@vOZ~Lr^y5Dx$zrcgNE)4|S(Ko#vs+??Y$dzBP`N zcRLFvpNDUzjND4?K7;HQvH~M+!M>=cpHliuE4%Xtu*}=U!%!c}N0Z5fcNKR_hD>X@ zob>Z&)jpKk-d#V(V@M|J?PP+Q=#B9|$4Kma?2TQ|jAcDi`dtL&p2;6`5cEd7#^@U~ zYp~79p}p(e-{8hvI=9w&0KGpq^J^@3Nk4rbjHj$~apjy#@8|o`O?I-K|DYdYOAJ0i zG>GqO^T0lx&BdL9e?HFkz=gX!lR)i+c5hK*d092c>g_U-u&C=tTr`1SL{Lktj>L|Y)+T|e{!-X-csj~;Lq=% zc{bLY`lBwt19)rddBb^j`b_6XjQY!A#eUZ2#i-AsoVpX{zQ80w_Ez3t5n4~*73D+v zm}Pq-U#8lZxkr6lyq{lZozAY#M^}e8UsUHEV^EibbyQwd=OLY4ozJcg@4l$cd&YQm zRL<975C6*bHkV7~d@i~*fi`detis_kumRi$T0jK!fDyp|$t(Djba5(7u{8n3Fwy%zU2lR+;_RTGHHZpKNZ{OwVcxN speed <430.141938> / animSpeed; //delta=14.34 move lbleg to y-axis [-2.334006] speed [70.020182] / animSpeed; //delta=-2.33 turn lbleg to x-axis <19.481701> speed <584.451023> / animSpeed; //delta=-19.48 - turn lbleg to y-axis <-0.0> speed <170.999984> / animSpeed; //delta=5.70 + turn lbleg to y-axis <-0.000000> speed <170.999984> / animSpeed; //delta=5.70 turn lffoot to x-axis <-19.354488> speed <580.634655> / animSpeed; //delta=19.35 move lfleg to y-axis [1.006599] speed [30.197968] / animSpeed; //delta=1.01 turn lfleg to x-axis <21.784940> speed <653.548188> / animSpeed; //delta=-21.78 - turn lfleg to y-axis <-0.0> speed <149.999983> / animSpeed; //delta=-5.00 + turn lfleg to y-axis <-0.000000> speed <149.999983> / animSpeed; //delta=-5.00 turn rbfoot to x-axis <19.443259> speed <583.297762> / animSpeed; //delta=-19.44 move rbleg to y-axis [1.788061] speed [53.641845] / animSpeed; //delta=1.79 turn rbleg to x-axis <-22.741834> speed <682.255012> / animSpeed; //delta=22.74 - turn rbleg to y-axis <0.0> speed <167.999986> / animSpeed; //delta=-5.60 + turn rbleg to y-axis <0.000000> speed <167.999986> / animSpeed; //delta=-5.60 turn rffoot to x-axis <25.808623> speed <774.258684> / animSpeed; //delta=-25.81 move rfleg to y-axis [-4.251511] speed [127.545333] / animSpeed; //delta=-4.25 turn rfleg to x-axis <-26.768777> speed <803.063299> / animSpeed; //delta=26.77 - turn rfleg to y-axis <-0.0> speed <164.999988> / animSpeed; //delta=5.50 + turn rfleg to y-axis <-0.000000> speed <164.999988> / animSpeed; //delta=5.50 move torso to y-axis [0.842832] speed [25.284952] / animSpeed; //delta=0.84 - turn turret to y-axis <-2.0> speed <60.0> / animSpeed; //delta=-2.00 + turn turret to y-axis <-2.000000> speed <60.000000> / animSpeed; //delta=-2.00 sleep ((33*animSpeed) -1); } - while(isMoving) { - if (isMoving) { //Frame:12 + while(bMoving) { + if (bMoving) { //Frame:12 //call-script lua_UnitScriptDecal(1, (get PIECE_XZ(lbfoot) & 0xffff0000) / 0x00010000 , (get PIECE_XZ(lbfoot) & 0x0000ffff), get HEADING(0)); turn lbfoot to x-axis <-18.276130> speed <118.141953> / animSpeed; //delta=3.94 move lbleg to y-axis [-3.471509] speed [34.125080] / animSpeed; //delta=-1.14 @@ -55,16 +57,16 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn rbfoot to x-axis <44.038608> speed <737.860470> / animSpeed; //delta=-24.60 move rbleg to y-axis [0.092369] speed [50.870780] / animSpeed; //delta=-1.70 turn rbleg to x-axis <-45.483671> speed <682.255114> / animSpeed; //delta=22.74 - turn rffoot to x-axis <-0.0> speed <774.258684> / animSpeed; //delta=25.81 + turn rffoot to x-axis <-0.000000> speed <774.258684> / animSpeed; //delta=25.81 move rfleg to y-axis [-1.053504] speed [95.940206] / animSpeed; //delta=3.20 - turn rfleg to x-axis <-0.0> speed <803.063299> / animSpeed; //delta=-26.77 - move torso to y-axis [1.0] speed [4.715048] / animSpeed; //delta=0.16 + turn rfleg to x-axis <-0.000000> speed <803.063299> / animSpeed; //delta=-26.77 + move torso to y-axis [1.000000] speed [4.715048] / animSpeed; //delta=0.16 turn torso to x-axis <0.367080> speed <11.012392> / animSpeed; //delta=-0.37 turn torso to z-axis <0.380266> speed <11.407970> / animSpeed; //delta=-0.38 - turn turret to y-axis <0.0> speed <60.0> / animSpeed; //delta=2.00 + turn turret to y-axis <0.000000> speed <60.000000> / animSpeed; //delta=2.00 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:18 + if (bMoving) { //Frame:18 turn lbfoot to x-axis <-19.997443> speed <51.639406> / animSpeed; //delta=1.72 move lbleg to y-axis [-1.013877] speed [73.728948] / animSpeed; //delta=2.46 turn lbleg to x-axis <19.481701> speed <584.451023> / animSpeed; //delta=19.48 @@ -78,32 +80,32 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations move rfleg to y-axis [0.933998] speed [59.625063] / animSpeed; //delta=1.99 turn rfleg to x-axis <24.115777> speed <723.473325> / animSpeed; //delta=-24.12 move torso to y-axis [0.856374] speed [4.308779] / animSpeed; //delta=-0.14 - turn torso to x-axis <-0.0> speed <11.012392> / animSpeed; //delta=0.37 + turn torso to x-axis <-0.000000> speed <11.012392> / animSpeed; //delta=0.37 turn torso to z-axis <0.630797> speed <7.515927> / animSpeed; //delta=-0.25 - turn turret to y-axis <2.0> speed <60.0> / animSpeed; //delta=2.00 + turn turret to y-axis <2.000000> speed <60.000000> / animSpeed; //delta=2.00 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:24 + if (bMoving) { //Frame:24 call-script lua_UnitScriptDecal(1, (get PIECE_XZ(rffoot) & 0xffff0000) / 0x00010000 , (get PIECE_XZ(rffoot) & 0x0000ffff), get HEADING(0)); turn lbfoot to x-axis <-3.752093> speed <487.360515> / animSpeed; //delta=-16.25 move lbleg to y-axis [1.443754] speed [73.728940] / animSpeed; //delta=2.46 - turn lbleg to x-axis <-0.0> speed <584.451023> / animSpeed; //delta=19.48 + turn lbleg to x-axis <-0.000000> speed <584.451023> / animSpeed; //delta=19.48 turn lffoot to x-axis <1.115736> speed <193.623236> / animSpeed; //delta=6.45 move lfleg to y-axis [-3.314694] speed [47.258878] / animSpeed; //delta=-1.58 turn lfleg to x-axis <-25.309881> speed <151.963427> / animSpeed; //delta=5.07 - turn rbfoot to x-axis <-0.0> speed <558.579120> / animSpeed; //delta=18.62 + turn rbfoot to x-axis <-0.000000> speed <558.579120> / animSpeed; //delta=18.62 move rbleg to y-axis [-1.196503] speed [47.904142] / animSpeed; //delta=-1.60 - turn rbleg to x-axis <-0.0> speed <578.917084> / animSpeed; //delta=-19.30 + turn rbleg to x-axis <-0.000000> speed <578.917084> / animSpeed; //delta=-19.30 turn rffoot to x-axis <-42.724404> speed <576.366060> / animSpeed; //delta=19.21 move rfleg to y-axis [0.319000] speed [18.449937] / animSpeed; //delta=-0.61 turn rfleg to x-axis <44.531556> speed <612.473359> / animSpeed; //delta=-20.42 - move torso to y-axis [1.0] speed [4.308779] / animSpeed; //delta=0.14 + move torso to y-axis [1.000000] speed [4.308779] / animSpeed; //delta=0.14 turn torso to x-axis <-0.341367> speed <10.241022> / animSpeed; //delta=0.34 turn torso to z-axis <0.459381> speed <5.142475> / animSpeed; //delta=0.17 - turn turret to y-axis <3.0> speed <30.0> / animSpeed; //delta=1.00 + turn turret to y-axis <3.000000> speed <30.000003> / animSpeed; //delta=1.00 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:30 + if (bMoving) { //Frame:30 turn lbfoot to x-axis <19.443259> speed <695.860543> / animSpeed; //delta=-23.20 move lbleg to y-axis [1.788061] speed [10.329219] / animSpeed; //delta=0.34 turn lbleg to x-axis <-22.741834> speed <682.255012> / animSpeed; //delta=22.74 @@ -117,17 +119,17 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations move rfleg to y-axis [1.006599] speed [20.627969] / animSpeed; //delta=0.69 turn rfleg to x-axis <21.784940> speed <682.398497> / animSpeed; //delta=22.75 move torso to y-axis [0.870629] speed [3.881131] / animSpeed; //delta=-0.13 - turn torso to x-axis <-0.0> speed <10.241022> / animSpeed; //delta=-0.34 - turn torso to z-axis <-0.0> speed <13.781423> / animSpeed; //delta=0.46 - turn turret to y-axis <2.0> speed <30.0> / animSpeed; //delta=-1.00 + turn torso to x-axis <-0.000000> speed <10.241022> / animSpeed; //delta=-0.34 + turn torso to z-axis <-0.000000> speed <13.781423> / animSpeed; //delta=0.46 + turn turret to y-axis <2.000000> speed <30.000003> / animSpeed; //delta=-1.00 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:36 + if (bMoving) { //Frame:36 //call-script lua_UnitScriptDecal(1, (get PIECE_XZ(rbfoot) & 0xffff0000) / 0x00010000 , (get PIECE_XZ(rbfoot) & 0x0000ffff), get HEADING(0)); turn lbfoot to x-axis <44.038608> speed <737.860470> / animSpeed; //delta=-24.60 move lbleg to y-axis [0.092369] speed [50.870780] / animSpeed; //delta=-1.70 turn lbleg to x-axis <-45.483671> speed <682.255114> / animSpeed; //delta=22.74 - turn lffoot to x-axis <-0.0> speed <774.258684> / animSpeed; //delta=25.81 + turn lffoot to x-axis <-0.000000> speed <774.258684> / animSpeed; //delta=25.81 move lfleg to y-axis [-1.141006] speed [93.315160] / animSpeed; //delta=3.11 turn lfleg to x-axis <-0.900000> speed <776.063301> / animSpeed; //delta=-25.87 turn rbfoot to x-axis <-18.276130> speed <118.141953> / animSpeed; //delta=3.94 @@ -139,10 +141,10 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations move torso to y-axis [1.065929] speed [5.859007] / animSpeed; //delta=0.20 turn torso to x-axis <0.463336> speed <13.900090> / animSpeed; //delta=-0.46 turn torso to z-axis <-0.426746> speed <12.802373> / animSpeed; //delta=0.43 - turn turret to y-axis <0.0> speed <60.0> / animSpeed; //delta=-2.00 + turn turret to y-axis <0.000000> speed <60.000000> / animSpeed; //delta=-2.00 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:42 + if (bMoving) { //Frame:42 turn lbfoot to x-axis <18.619304> speed <762.579112> / animSpeed; //delta=25.42 move lbleg to y-axis [0.400301] speed [9.237975] / animSpeed; //delta=0.31 turn lbleg to x-axis <-19.297236> speed <785.593042> / animSpeed; //delta=-26.19 @@ -156,32 +158,32 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations move rfleg to y-axis [-1.739398] speed [66.651871] / animSpeed; //delta=-2.22 turn rfleg to x-axis <-20.244433> speed <513.728111> / animSpeed; //delta=17.12 move torso to y-axis [0.884884] speed [5.431355] / animSpeed; //delta=-0.18 - turn torso to x-axis <-0.0> speed <13.900090> / animSpeed; //delta=0.46 + turn torso to x-axis <-0.000000> speed <13.900090> / animSpeed; //delta=0.46 turn torso to z-axis <-0.646290> speed <6.586326> / animSpeed; //delta=0.22 - turn turret to y-axis <-2.0> speed <60.0> / animSpeed; //delta=-2.00 + turn turret to y-axis <-2.000000> speed <60.000000> / animSpeed; //delta=-2.00 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:48 + if (bMoving) { //Frame:48 call-script lua_UnitScriptDecal(1, (get PIECE_XZ(lffoot) & 0xffff0000) / 0x00010000 , (get PIECE_XZ(lffoot) & 0x0000ffff), get HEADING(0)); - turn lbfoot to x-axis <-0.0> speed <558.579120> / animSpeed; //delta=18.62 + turn lbfoot to x-axis <-0.000000> speed <558.579120> / animSpeed; //delta=18.62 move lbleg to y-axis [-1.196503] speed [47.904142] / animSpeed; //delta=-1.60 - turn lbleg to x-axis <-0.0> speed <578.917084> / animSpeed; //delta=-19.30 + turn lbleg to x-axis <-0.000000> speed <578.917084> / animSpeed; //delta=-19.30 turn lffoot to x-axis <-42.724404> speed <576.366060> / animSpeed; //delta=19.21 move lfleg to y-axis [0.319000] speed [18.449937] / animSpeed; //delta=-0.61 turn lfleg to x-axis <44.531556> speed <612.473359> / animSpeed; //delta=-20.42 turn rbfoot to x-axis <-3.752093> speed <487.360515> / animSpeed; //delta=-16.25 move rbleg to y-axis [1.443754] speed [73.728940] / animSpeed; //delta=2.46 - turn rbleg to x-axis <-0.0> speed <584.451023> / animSpeed; //delta=19.48 + turn rbleg to x-axis <-0.000000> speed <584.451023> / animSpeed; //delta=19.48 turn rffoot to x-axis <1.115736> speed <193.623236> / animSpeed; //delta=6.45 move rfleg to y-axis [-3.314694] speed [47.258878] / animSpeed; //delta=-1.58 turn rfleg to x-axis <-25.309881> speed <151.963427> / animSpeed; //delta=5.07 - move torso to y-axis [1.0] speed [3.453480] / animSpeed; //delta=0.12 + move torso to y-axis [1.000000] speed [3.453480] / animSpeed; //delta=0.12 turn torso to x-axis <-0.402352> speed <12.070557> / animSpeed; //delta=0.40 turn torso to z-axis <-0.451140> speed <5.854509> / animSpeed; //delta=-0.20 - turn turret to y-axis <-3.0> speed <30.0> / animSpeed; //delta=-1.00 + turn turret to y-axis <-3.000000> speed <30.000003> / animSpeed; //delta=-1.00 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:54 + if (bMoving) { //Frame:54 turn lbfoot to x-axis <-14.338065> speed <430.141938> / animSpeed; //delta=14.34 move lbleg to y-axis [-2.334006] speed [34.125080] / animSpeed; //delta=-1.14 turn lbleg to x-axis <19.481701> speed <584.451023> / animSpeed; //delta=-19.48 @@ -195,36 +197,36 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations move rfleg to y-axis [-4.251511] speed [28.104501] / animSpeed; //delta=-0.94 turn rfleg to x-axis <-26.768777> speed <43.766879> / animSpeed; //delta=1.46 move torso to y-axis [0.899139] speed [3.025836] / animSpeed; //delta=-0.10 - turn torso to x-axis <-0.0> speed <12.070557> / animSpeed; //delta=-0.40 - turn torso to z-axis <-0.0> speed <13.534190> / animSpeed; //delta=-0.45 - turn turret to y-axis <-2.0> speed <30.0> / animSpeed; //delta=1.00 + turn torso to x-axis <-0.000000> speed <12.070557> / animSpeed; //delta=-0.40 + turn torso to z-axis <-0.000000> speed <13.534190> / animSpeed; //delta=-0.45 + turn turret to y-axis <-2.000000> speed <30.000003> / animSpeed; //delta=1.00 sleep ((33*animSpeed) -1); } } } -// Call this from StopMoving()! +// Call this from MotionControl()! StopWalking() { - move lbleg to y-axis [0.0] speed [12.288158]; - move lfleg to y-axis [0.0] speed [15.552527]; - move rbleg to y-axis [0.0] speed [12.288158]; - move rfleg to y-axis [0.0] speed [21.257555]; - move torso to y-axis [0.0] speed [2.500000]; - turn lbfoot to x-axis <0.0> speed <127.096519>; - turn lbleg to x-axis <0.0> speed <130.932174>; + move lbleg to y-axis [0.000000] speed [12.288158]; + move lfleg to y-axis [0.000000] speed [15.552527]; + move rbleg to y-axis [0.000000] speed [12.288158]; + move rfleg to y-axis [0.000000] speed [21.257555]; + move torso to y-axis [0.000000] speed [2.500000]; + turn lbfoot to x-axis <0.000000> speed <127.096519>; + turn lbleg to x-axis <0.000000> speed <130.932174>; turn lbleg to y-axis <-5.699999> speed <28.499997>; - turn lffoot to x-axis <0.0> speed <194.749310>; - turn lfleg to x-axis <0.0> speed <189.555149>; + turn lffoot to x-axis <0.000000> speed <194.749310>; + turn lfleg to x-axis <0.000000> speed <189.555149>; turn lfleg to y-axis <4.999999> speed <24.999997>; - turn rbfoot to x-axis <0.0> speed <127.096519>; - turn rbleg to x-axis <0.0> speed <130.932174>; + turn rbfoot to x-axis <0.000000> speed <127.096519>; + turn rbleg to x-axis <0.000000> speed <130.932174>; turn rbleg to y-axis <5.600000> speed <27.999998>; - turn rffoot to x-axis <0.0> speed <194.749310>; - turn rfleg to x-axis <0.0> speed <189.555149>; + turn rffoot to x-axis <0.000000> speed <194.749310>; + turn rfleg to x-axis <0.000000> speed <189.555149>; turn rfleg to y-axis <-5.500000> speed <27.499998>; - turn torso to x-axis <0.0> speed <5.0>; - turn torso to z-axis <0.0> speed <5.0>; - turn turret to x-axis <0.0> speed <10.550000>; - turn turret to y-axis <0.0> speed <10.0>; + turn torso to x-axis <0.000000> speed <5.000000>; + turn torso to z-axis <0.000000> speed <5.000000>; + turn turret to x-axis <0.000000> speed <10.550000>; + turn turret to y-axis <0.000000> speed <10.000000>; } // REMEMBER TO animspeed = 6 in Create() !! UnitSpeed(){ @@ -241,17 +243,17 @@ UnitSpeed(){ sleep 197; } } -StartMoving(reversing){ - isMoving = TRUE; - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; +StartMoving(){ + bMoving = TRUE; + signal SIG_WALK; + set-signal-mask SIG_WALK; start-script Walk(); start-script UnitSpeed(); } StopMoving(){ - signal SIGNAL_MOVE; - isMoving = FALSE; + signal SIG_WALK; + bMoving = FALSE; call-script StopWalking(); } @@ -261,73 +263,104 @@ StopMoving(){ #define UNITSIZE 10 #define MAXTILT 100 -#include "../unit_hitbyweaponid_and_smoke.h" +#include "unit_hitbyweaponid_and_smoke.h" Create() { hide lflare; hide rflare; hide aimy1; - isMoving = FALSE; - isAiming = FALSE; + bMoving = FALSE; + bAiming = FALSE; animSpeed = 6; - gun_1 = 0; + Static_Var_3 = 1; + gun_1 = rflare; + hide rflare; + hide lflare; restore_delay = 3000; + return (0); } -SetMaxReloadTime(reloadMS) +SetMaxReloadTime(Func_Var_1) { - restore_delay = reloadMS * 2; + restore_delay = Func_Var_1 * 2; + return (0); } +SweetSpot(piecenum) +{ + piecenum = torso; + return (0); +} + RestoreAfterDelay() { sleep restore_delay; - turn aimy1 to y-axis <0.0> speed 1.5 * <90.0>; - isAiming = FALSE; + turn aimy1 to y-axis <0.000000> speed 1.5 * <90.000000>; + bAiming = FALSE; + return (0); } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = turret; + piecenum = turret; + return (0); } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = lflare + gun_1; + if( gun_1 == 0 ) + { + piecenum = rflare; + } + if( gun_1 == 1 ) + { + piecenum = lflare; + } + return (0); } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; - isAiming = TRUE; - turn aimy1 to y-axis heading speed 1.5 * <140.0>; + signal SIG_AIM; + set-signal-mask SIG_AIM; + bAiming = TRUE; + turn aimy1 to y-axis heading speed 1.5 * <140.000000>; wait-for-turn aimy1 around y-axis; start-script RestoreAfterDelay(); return (1); } -FireWeapon1() +FirePrimary() { if( gun_1 == 0 ) - { - move rbarrel to z-axis [-3] now; - move rbarrel to z-axis [0] speed [6]; - } - else { move lbarrel to z-axis [-3] now; move lbarrel to z-axis [0] speed [6]; + //show rflare; + //sleep 150; + //hide rflare; + gun_1 = lflare; + return (0); + } + if( gun_1 == 1 ) + { + + move rbarrel to z-axis [-3] now; + move rbarrel to z-axis [0] speed [6]; + //show lflare; + //sleep 150; + //hide lflare; + gun_1 = rflare; } - gun_1 = !gun_1; + return (0); } //use call-script DeathAnim(); from Killed() DeathAnim() {// For N:\animations\corsumo_anim_death.blend Created by https://github.com/Beherith/Skeletor_S3O V((0, 2, 8)) - signal SIGNAL_MOVE; - signal SIGNAL_AIM1; + signal SIG_WALK; + signal SIG_AIM; call-script StopWalking(); turn aimy1 to y-axis <0> speed <60>; if (TRUE) { //Frame:10 @@ -431,6 +464,7 @@ Killed(severity, corpsetype) explode Lbarrel type FALL | BITMAP4 | NOHEATCLOUD; explode lflare type FALL | BITMAP1 | NOHEATCLOUD; explode Rbarrel type FALL | BITMAP3 | NOHEATCLOUD; + //explode rflare type FALL | BITMAP4 | NOHEATCLOUD; explode turret type FALL | BITMAP4 | NOHEATCLOUD; return (corpsetype); } @@ -440,6 +474,7 @@ Killed(severity, corpsetype) explode Lbarrel type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP4 | NOHEATCLOUD; explode lflare type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP1 | NOHEATCLOUD; explode Rbarrel type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP3 | NOHEATCLOUD; + //explode rflare type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP4 | NOHEATCLOUD; explode turret type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP4 | NOHEATCLOUD; return (corpsetype); } @@ -447,6 +482,7 @@ Killed(severity, corpsetype) explode Lbarrel type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP4 | NOHEATCLOUD; explode lflare type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP1 | NOHEATCLOUD; explode Rbarrel type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP3 | NOHEATCLOUD; + //explode rflare type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP4 | NOHEATCLOUD; explode turret type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP4 | NOHEATCLOUD; return (corpsetype); } diff --git a/scripts/Units/corsumo.cob b/scripts/Units/corsumo.cob index 9d7e5fd75ce6660d0fcd46818d5dd88355f92963..e89731f793c8192c73f1dfdfa0990d58eaba5c09 100644 GIT binary patch literal 13079 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 BRdxUX diff --git a/scripts/Units/corsumo.lua_old b/scripts/Units/corsumo.lua_old index 2c69d785250..d55b16d6f2c 100644 --- a/scripts/Units/corsumo.lua_old +++ b/scripts/Units/corsumo.lua_old @@ -4,9 +4,9 @@ local torso, turret = piece('torso', 'turret') local rbarrel, lbarrel, rflare, lflare = piece('rbarrel','lbarrel', 'rflare', 'lflare') local rfleg, rffoot, lfleg, lffoot, rbleg, rbfoot, lbleg, lbfoot = piece('rfleg', 'rffoot', 'lfleg', 'lffoot', 'rbleg', 'rbfoot', 'lbleg', 'lbfoot') -local SIGNAL_MOVE = 1 -local SIGNAL_AIM1 = 2 -local SIGNAL_IDLE = 4 +local SIG_WALK = 1 +local SIG_AIM = 2 +local SIG_RESTORE = 4 -------------------------------------------------------------------------------------- local sfxNone=SFX.NONE @@ -26,8 +26,8 @@ local gun_1 = 0 local SPEED = 1.9 local function Walk() - Signal(SIGNAL_MOVE) - SetSignalMask(SIGNAL_MOVE) + Signal(SIG_WALK) + SetSignalMask(SIG_WALK) --Turn(torso, x_axis, 0, math.rad(20)) --Turn(torso, z_axis, 0, math.rad(20)) @@ -125,7 +125,7 @@ function script.StartMoving() end function script.StopMoving() - Signal(SIGNAL_MOVE) + Signal(SIG_WALK) Turn( rfleg, x_axis, math.rad(0),math.rad(60)) Turn( rffoot, x_axis, math.rad(0),math.rad(60)) @@ -168,15 +168,15 @@ function script.AimFromWeapon(num) end local function RestoreAfterDelay() - Signal(SIGNAL_IDLE) - SetSignalMask(SIGNAL_IDLE) + Signal(SIG_RESTORE) + SetSignalMask(SIG_RESTORE) Sleep(6000) Turn(turret, y_axis, 0, math.rad(90)) end function script.AimWeapon(num, heading, pitch) - Signal(SIGNAL_AIM1) - SetSignalMask(SIGNAL_AIM1) + Signal(SIG_AIM) + SetSignalMask(SIG_AIM) Turn(turret, y_axis, heading, math.rad(180)) WaitForTurn(turret, y_axis) StartThread(RestoreAfterDelay) diff --git a/scripts/Units/corsy.bos b/scripts/Units/corsy.bos index bc3b3d48bd1..7115616e9ef 100644 --- a/scripts/Units/corsy.bos +++ b/scripts/Units/corsy.bos @@ -1,13 +1,110 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" -#include "../factories_common.h" +#include "sfxtype.h" +#include "exptype.h" piece base, pad, head1, head2, head3, head4,nano1,nano2,nano3,nano4; -static-var spray; +static-var spray, unitviewer, statechg_DesiredState, statechg_StateChanging; // Signal definitions -#define SIGNAL_TURNON 4 +#define SIG_ACTIVATE 2 + + +activatescr() +{ + if( TRUE ) + { + turn head1 to y-axis <45> speed <45>; + turn head2 to y-axis <-45> speed <45>; + turn head3 to y-axis <45> speed <45>; + turn head4 to y-axis <-45> speed <45>; + wait-for-turn head1 around y-axis; + } + sleep 11; +} + +deactivatescr() +{ + if( TRUE ) + { + turn head1 to y-axis [0] speed <45>; + turn head2 to y-axis [0] speed <45>; + turn head3 to y-axis [0] speed <45>; + turn head4 to y-axis [0] speed <45>; + wait-for-turn head1 around y-axis; + } + sleep 7; +} + +OpenYard() +{ + set YARD_OPEN to 1; + while( !get YARD_OPEN ) + { + set BUGGER_OFF to 1; + sleep 1500; + set YARD_OPEN to 1; + } +} + +CloseYard() +{ + set YARD_OPEN to 0; + while( get YARD_OPEN ) + { + set BUGGER_OFF to 1; + sleep 1500; + set YARD_OPEN to 0; + } +} + +Go() +{ + + call-script activatescr(); + call-script OpenYard(); + set INBUILDSTANCE to 1; +} + +Stop() +{ + set INBUILDSTANCE to 0; + call-script CloseYard(); + call-script deactivatescr(); +} + +InitState() +{ + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; +} + +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + call-script Go(); + currentstate = 0; + } + if( statechg_DesiredState == 1 ) + { + call-script Stop(); + currentstate = 1; + } + } + statechg_StateChanging = FALSE; +} Create() { @@ -16,17 +113,37 @@ Create() hide nano3; hide nano4; hide pad; - spray = 0; + unitviewer = FALSE; + spray = base; + call-script InitState(); } -#define BASEPIECE base -#define MAXTILT 0 -#include "../unit_hitbyweaponid_and_smoke.h" +#define SMOKEPIECE base +#include "smokeunit_thread_nohit.h" -QueryNanoPiece(pieceIndex) +QueryNanoPiece(piecenum) { - spray = (spray + 1) % 4; - pieceIndex = nano1 + spray; + if( spray == 0 ) + { + piecenum = nano1; + } + if( spray == 1 ) + { + piecenum = nano2; + } + if( spray == 2 ) + { + piecenum = nano3; + } + if( spray == 3 ) + { + piecenum = nano4; + } + spray = spray+1; + if( spray >3 ) + { + spray = 0; + } } @@ -48,39 +165,28 @@ StopBuilding() Activate() { - signal SIGNAL_TURNON; - set-signal-mask SIGNAL_TURNON; - - turn head1 to y-axis <45> speed <45>; - turn head2 to y-axis <-45> speed <45>; - turn head3 to y-axis <45> speed <45>; - turn head4 to y-axis <-45> speed <45>; - wait-for-turn head1 around y-axis; - - FACTORY_OPEN_BUILD; + signal SIG_ACTIVATE; + start-script RequestState(0); } Deactivate() { - signal SIGNAL_TURNON; - set-signal-mask SIGNAL_TURNON; - sleep 5000; - - turn head1 to y-axis [0] speed <45>; - turn head2 to y-axis [0] speed <45>; - turn head3 to y-axis [0] speed <45>; - turn head4 to y-axis [0] speed <45>; - wait-for-turn head1 around y-axis; - - FACTORY_CLOSE_BUILD; + signal SIG_ACTIVATE; + set-signal-mask SIG_ACTIVATE; + sleep 5000; + set-signal-mask 0; + start-script RequestState(1); } -QueryBuildInfo(pieceIndex) +QueryBuildInfo(piecenum) { - pieceIndex = pad; + piecenum = pad; } - +SweetSpot(piecenum) +{ + piecenum = base; +} Killed(severity, corpsetype) { diff --git a/scripts/Units/corsy.cob b/scripts/Units/corsy.cob index 0c794a40cc6f212d1e487852a9469b0006e2f7bb..9abd457999f8b9e5b47db5869163e0ba26193a99 100644 GIT binary patch literal 4484 zcmcInJ**T}6h3d?vLF^*urO9mVnwuA963cV@F|PqOqZ}kj@zGY%DM)HUvXrVPk~vJNKU5%P{lU!8pk`cjlb${M>WSoqew< zB2NK(fj?G7c46gpbDxNFB5wmP;QeE)E3V;IsO+`eb6EKP@3V_l5^)X63%bUwd-te= z`-gP2r>XrYp z!8pstGe3-%2V0e)50U_O;hBBoMgLl>!roOG`e%BTAy4{ZU;I0I93JUQAEUlE+YLV> zLC1IPX~dNTc0dy{_1kN?@8AfQ>aXY{o-6Z5TkfgR_B|}x&h_B=dGtNK3meld^7p!1 z&~dMvGhU{*7_puD?0CCBNroNk#*22;n;rY}Ly%K%docgppY+7FsKlx>i*-+UeI-d&iMnTSES?z3|_A@5W zJL>UPLC;<@|Amd;#~|?Ne!h3ta@wN@_&kGt#vy*l&*k8Uy|Q{Rrg7EXP%-Se5@19kqpv8ws$83eCr!~Ij1 zgms41{Bb6$bnJVTj=inY*;z^gXNJ|{G2bdX`z=ZWXNJ}6Y<3ceXg|YhI_(Q&+QY(k zNxwCr&Oe4avmWfz|5fKYy|Mb&v9Z2bo#R?qU+VZXKXq)Zk9BOUzjbV^@0Me{*PZ&l zi5}beI){RBW>~jn`)+5Z&iSgdum95bI&o|s>g>mAT_=vsL!CG_4`#!7Jk#veGIh7v zF#Ba}iZk=Lb5S=}%hA@l_BJnN_UxC{Z5E#STVdacIyS|5iSw+AWAjocPH|r1ILq{L zr`f5>vp6qt%qpAWys*3nfiu7u_yo8HTnD}Z{s#8Js0$2%uYeoCP2eZsci=Yg7r_7X zKLb7ot^;2K-vT#)?}49zUx43$JHS7{Ui=~ZG>`z#14n>kz)7G3ybhcLdcb*L2uy*? zz=uG(nGY_ddA7AVm3|h#ot|W)H`8ffjt<9LnLfQdmTo?t$cfP)@8+1f;;WSb!6=``Qi9t`_~(FOH7e|agS zB**6Ycxz>x7@bEJA7okHos4riIT#MJzPyueWim)(#dyA_c`o`fQ#xSd-AEg>D@x=+a3# zi59wui-UtW3I0sF2!bF8E`p3Qd#`$=eoc(aIQzWE_a*m5S9h(g)v=a3!^?U=0T3^qb_p%<$-ZcPK=!U)L{>Z zg?WTIQ!s}qmgM)q>4W9UXO_EiIwR>qbx++;hxV*ly&nb0 zn3_|kyqUvKD)?ToX3oP!=}crx?#el-Y1)zHI4l5IFnFzES_J*XOqGGNVyc9_%~U%rS>Kgl_=f4(V$?vL!d475~P7+ZzLJ zZwxr!82WDO;vL%UJqmS|lWPWV%5u8?cOvym?r?|f{`gqJ^4~W%iSZnvw~!}WB2b%2a_4BO@mlTZ^BuWteSm zY=_?5XHf57^_txdeG=BGPr^F&N!VU}O7${*nkq&w_t_))VUIR;u~pxs&pz8a^A3df zF~s?fhIguuU@4tz0S7_zq&??Kd7U~@Py1dy^0J+q0O#2c^{wXt&ifPM*7pGCy$W&F zx{iIu*L{=B{8$Tl_MNh~!q;`y*TsDIQK(z3VooHpnlLI=pE=Ih`&|)LFYgdpsSz+ zG!I$^JperfZGfJEo`YV1UV&bN-h)1XK7qb~zJV^xC2=cp7i+DtrE5vtY}6;Jq2$Kn zyYWm?oxIz)lejAj$=uTAxZbGLlIg@vw&JLNYCR*tfg6- v#zg&A!(FP)&L&lNGoDXeGp@SZNn9PU@1T8$>^to0h&N#0LHiEbci8<0rhnhy diff --git a/scripts/Units/cortarg.bos b/scripts/Units/cortarg.bos index 05727d6de06..19e8b260c2f 100644 --- a/scripts/Units/cortarg.bos +++ b/scripts/Units/cortarg.bos @@ -1,23 +1,112 @@ -#include "../recoil_common_includes.h" +#define TA // This is a TA script + +#include "sfxtype.h" +#include "exptype.h" piece base; +static-var statechg_DesiredState, statechg_StateChanging; + + +activatescr() +{ + return (0); +} + +deactivatescr() +{ + return (0); +} + +SmokeUnit(healthpercent, sleeptime, smoketype) +{ + while( get BUILD_PERCENT_LEFT ) + { + sleep 400; + } + while( TRUE ) + { + healthpercent = get HEALTH; + if( healthpercent < 66 ) + { + smoketype = 256 | 2; + if( Rand( 1, 66 ) < healthpercent ) + { + smoketype = 256 | 1; + } + emit-sfx smoketype from base; + } + sleeptime = healthpercent * 50; + if( sleeptime < 200 ) + { + sleeptime = 200; + } + sleep sleeptime; + } + return (0); +} + +InitState() +{ + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; + return (0); +} -//#define BASEPIECE base -//#define MAXTILT 0 -//#include "../unit_hitbyweaponid_and_smoke.h" +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + call-script activatescr(); + currentstate = 0; + } + if( statechg_DesiredState == 1 ) + { + call-script deactivatescr(); + currentstate = 1; + } + } + statechg_StateChanging = FALSE; + return (0); +} Create() { + call-script InitState(); + start-script SmokeUnit(); return (0); } +Activate() +{ + start-script RequestState(0); + return (0); +} + +Deactivate() +{ + start-script RequestState(1); + return (0); +} HitByWeapon(anglex, anglez) { - SLEEP_UNTIL_UNITFINISHED; + while( get BUILD_PERCENT_LEFT ) + { + sleep 500; + } signal 2; set-signal-mask 2; set ACTIVATION to 0; @@ -26,7 +115,11 @@ HitByWeapon(anglex, anglez) return (0); } - +SweetSpot(piecenum) +{ + piecenum = base; + return (0); +} Killed(severity, corpsetype) { diff --git a/scripts/Units/cortarg.cob b/scripts/Units/cortarg.cob index a44fdf66eac603fa158d61ac594371c636db8ecc..5a124353c0de65c97f464115c80e1030a00b1459 100644 GIT binary patch literal 1516 zcmbtUJx^3o5S{(tiLtqa1}onWfMjD!0Rjca2HgOm+jaLA8-ZQehlIjpe*rO6l!ngA z#KMAxgisI)N@@!e8Vd`5falyhvtBk>sE?ezb7$t9nLF=3sv`0TC;_whDP!d`H72qI z^nhvX3#=tqb|JWuxzv^%eg*v#OvvdFP zR6o>F{j@(y8JF7J+Zm-1-@yrUG-f@@N{k(mkfT3+EN(SYUg%qSAD9nb@WCXHw()p( z-l-qUA7+xd3WI!H7T+OE>%nGVao#!B7>$P>z`rkUb0;Ug>({FDlVrW?7wQXlsTaSS zU=N~wr*=LbzN`5sk#Fa>RWy$1@cmogoDto&Pw$7_2gV*VDUa`|g5suaGv+>5odH&U z6XG7+y#u&=sb=^dRC7u-dB*?IY_Ya#&Zs8e>)&efJpaODdGaz~184&ufzQAxa1ML} zz61QWw}!<9IX3hue&Yveea8UuUp8A&gQ0X%j;&}%P&{SbHe}t literal 519 zcmb7Bu?_)26nwYN(OIR+H9Eybr@PQdM50qk95x{lE?lGYDL%*t_yC2@2WZT!J+9=E z$(ziZH~V(a7m*U+0V^Q?E)cH34QNBWqk39t+aCv7LU4duonq)~nFYEAN^JzcM4py7 z&}FA7R7nFnWBKXLY5in}Rojo75HU|Z@3V^QlS*L^<#waL!CqLl`*cC`3>AH|&h+St zy$@$?Hu8!&9eP~O5R^IG``?^JA!q7x_~yUl@XTMmJciyD!2k6Co`AyA{k=&tBZGC; UJ5EfJ?zS>qZ#HHr^W speed <12.5> *1000/(WALK_PERIOD);\ @@ -211,10 +213,10 @@ StopWalk() turn leg3a to z-axis <0> speed <20> *1000/(WALK_PERIOD); } -StartMoving(reversing) +StartMoving() { - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; + signal SIG_MOVE; + set-signal-mask SIG_MOVE; start-script UnitSpeed(); start-script DoTheWalking(); moving=TRUE; @@ -222,9 +224,9 @@ StartMoving(reversing) StopMoving() { - signal SIGNAL_MOVE; + signal SIG_MOVE; moving=FALSE; - set-signal-mask SIGNAL_MOVE; + set-signal-mask SIG_MOVE; start-script StopWalk(); } @@ -235,7 +237,7 @@ StopMoving() #define UNITSIZE 8 #define MAXTILT 100 -#include "../unit_hitbyweaponid_and_smoke.h" +#include "unit_hitbyweaponid_and_smoke.h" Create() { @@ -245,8 +247,8 @@ Create() moving = FALSE; gun_1 = 0; firing = 0; - turn body to x-axis <-15.0> speed <55.0>; - turn aimy1 to x-axis <15.0> speed <55.0>; + turn body to x-axis <-15.000000> speed <55.000000>; + turn aimy1 to x-axis <15.000000> speed <55.000000>; restore_delay = 3000; turn leg6a to y-axis <30> now; turn leg4a to y-axis <-30> now; @@ -257,11 +259,14 @@ Create() } +SweetSpot(piecenum) +{ + piecenum = body; +} - -SetMaxReloadTime(reloadMS) +SetMaxReloadTime(Func_Var_1) { - restore_delay = reloadMS * 2; + restore_delay = Func_Var_1 * 2; } static-var Stunned; @@ -270,11 +275,12 @@ ExecuteRestoreAfterDelay() if (Stunned) { return (1); } - turn head to y-axis <0.0> speed <55.0>; - turn head to x-axis <0.0> speed <55.0>; + turn head to y-axis <0.000000> speed <55.000000>; + turn head to x-axis <0.000000> speed <55.000000>; wait-for-turn head around y-axis; - wpn1_lasthead = 0xbadface; - wpn2_lasthead = 0xbadface; + wpn1_lasthead = 1000000; + wpn2_lasthead = 1000000; + Static_Var_2 = 0; } SetStunned(State) { @@ -285,19 +291,19 @@ SetStunned(State) } RestoreAfterDelay() { - set-signal-mask SIGNAL_AIM1; + set-signal-mask SIG_AIM; sleep restore_delay; start-script ExecuteRestoreAfterDelay(); } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - turn head to y-axis heading speed <180.0>; - turn head to x-axis <0.0> - pitch speed <110.0>; - if ((wpn1_lasthead == 0xbadface) OR ABSOLUTE_GREATER_THAN(WRAPDELTA(heading - wpn1_lasthead), <7>)) + signal SIG_AIM; + turn head to y-axis heading speed <180.000000>; + turn head to x-axis <0.000000> - pitch speed <110.000000>; + if (((get ABS(wpn1_lasthead - heading)) > 65536) OR(((get ABS(wpn1_lasthead - heading)) > 1300) AND ((get ABS(wpn1_lasthead - heading)) < 64236))) { - wpn1_lasthead = 0xbadface; + wpn1_lasthead = 1000000; wait-for-turn head around y-axis; wait-for-turn head around x-axis; } @@ -306,14 +312,14 @@ AimWeapon1(heading, pitch) return (1); } -FireWeapon1() +FirePrimary() { if( gun_1 == 0 AND firing == 0) { firing = 1; - move barrel1 to z-axis [-1.900000] speed [400.0]; + move barrel1 to z-axis [-1.900000] speed [400.000000]; wait-for-move barrel1 along z-axis; - move barrel1 to z-axis [0.0] speed [5.0]; + move barrel1 to z-axis [0.000000] speed [5.000000]; wait-for-move barrel1 along z-axis; gun_1 = !gun_1; firing = 0; @@ -322,9 +328,9 @@ FireWeapon1() if( gun_1 == 1 AND firing == 0) { firing = 1; - move barrel2 to z-axis [-1.900000] speed [400.0]; + move barrel2 to z-axis [-1.900000] speed [400.000000]; wait-for-move barrel2 along z-axis; - move barrel2 to z-axis [0.0] speed [5.0]; + move barrel2 to z-axis [0.000000] speed [5.000000]; wait-for-move barrel2 along z-axis; gun_1 = !gun_1; firing = 0; @@ -333,30 +339,30 @@ FireWeapon1() return (0); } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { if( gun_1 == 0 ) { - pieceIndex = flare1; + piecenum = flare1; return (0); } if( gun_1 == 1 ) { - pieceIndex = flare2; + piecenum = flare2; return (0); } } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { if( gun_1 == 0 ) { - pieceIndex = flare1; + piecenum = flare1; return (0); } if( gun_1 == 1 ) { - pieceIndex = flare2; + piecenum = flare2; return (0); } @@ -368,35 +374,89 @@ Killed(severity, corpsetype) { corpsetype = 1 ; explode body type BITMAPONLY | NOHEATCLOUD; + //explode leg5a type BITMAPONLY | NOHEATCLOUD; + //explode leg5b type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg6a type BITMAPONLY | NOHEATCLOUD; + //explode leg6b type BITMAPONLY | NOHEATCLOUD; + //explode leg4a type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg4b type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg3a type BITMAPONLY | NOHEATCLOUD; + //explode leg3b type BITMAPONLY | NOHEATCLOUD; + //explode leg1a type BITMAPONLY | NOHEATCLOUD; + //explode leg1b type BITMAPONLY | NOHEATCLOUD; + //explode leg2a type BITMAPONLY | NOHEATCLOUD; + //explode leg2b type BITMAPONLY | NOHEATCLOUD; explode head type BITMAPONLY | NOHEATCLOUD; explode barrel1 type BITMAPONLY | NOHEATCLOUD; + //explode flare1 type BITMAPONLY | NOHEATCLOUD; explode barrel2 type BITMAPONLY | NOHEATCLOUD; + //explode flare2 type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } if( severity <= 50 ) { corpsetype = 2 ; explode body type BITMAPONLY | NOHEATCLOUD; + //explode leg5a type FALL | NOHEATCLOUD; + //explode leg5b type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg6a type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg6b type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg4a type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg4b type FALL | NOHEATCLOUD; + //explode leg3a type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg3b type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg1a type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg1b type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg2a type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg2b type FALL | NOHEATCLOUD; explode head type FIRE | SMOKE | FALL | NOHEATCLOUD; explode barrel1 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare1 type FIRE | SMOKE | FALL | NOHEATCLOUD; explode barrel2 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare2 type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) { corpsetype = 3 ; explode body type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg5a type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg5b type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode leg6a type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg6b type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg4a type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode leg4b type SMOKE | FALL | NOHEATCLOUD; + //explode leg3a type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg3b type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode leg1a type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode leg1b type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg2a type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg2b type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode head type SMOKE | FALL | NOHEATCLOUD; explode barrel1 type FIRE | SMOKE | FALL | NOHEATCLOUD; explode flare1 type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; explode barrel2 type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode flare2 type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; explode body type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg5a type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode leg5b type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode leg6a type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg6b type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg4a type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg4b type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode leg3a type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg3b type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode leg1a type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg1b type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg2a type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode leg2b type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode head type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode barrel1 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode flare1 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode barrel2 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode flare2 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; return corpsetype; } \ No newline at end of file diff --git a/scripts/Units/cortermite.cob b/scripts/Units/cortermite.cob index 770a5b673f4727e34b5acebcbf600fddd62d880d..f65d610314f4841c467bd3cb287cf870c054418e 100644 GIT binary patch literal 8443 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 diff --git a/scripts/Units/corthovr.bos b/scripts/Units/corthovr.bos index ee411d7603f..ace6283cc0a 100644 --- a/scripts/Units/corthovr.bos +++ b/scripts/Units/corthovr.bos @@ -1,25 +1,67 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" -piece ground, base, arm, tower, wake, rdoor, ldoor, boom1, boom2, boom3, boom4, magnet, link, boom5, boom6, fan1, fan2; +piece base, arm, tower, wake, rdoor, ldoor, boom1, boom2, boom3, boom4, magnet, link, boom5, boom6, fan1, fan2; +static-var Static_Var_1, Static_Var_2, Static_Var_3, Static_Var_4, Static_Var_5, Wobble_status; // Signal definitions -#define SIGNAL_MOVE 1 -#define SIGNAL_IDLE 8 +#define SIG_MOVE 2 +#define SIG_IDLE 4 +WobbleUnit() +{ + while( TRUE ) + { + if( Wobble_status) + { + if( get GROUND_WATER_HEIGHT(get UNIT_XZ) < 0 ) //Over Water + { + move base to y-axis [1.250000] speed [0.50000]; + } + else + { + move base to y-axis [2.500000] speed [0.50000]; + } + } + else + { + if( get GROUND_WATER_HEIGHT(get UNIT_XZ) < 0 ) //Over Water + { + move base to y-axis [0.250000] speed [0.50000]; + } + else + { + move base to y-axis [1.500000] speed [0.50000]; + } + } + Wobble_status = !Wobble_status; + //get PRINT (get GROUND_WATER_HEIGHT(get UNIT_XZ)); + sleep 260; + } +} -#define HOVER_BASE base -#define HOVER_BANKSPEED <4> -#define HOVER_ROCKBASE ground -#define HOVER_WOBBLE_PERIOD 85 -#define HOVER_WOBBLE_AMPLITUDE [1.2] -#define HOVER_WAKEPIECE wake -#define HOVER_IDLE_SFX 1024 + 2 -#define HOVER_WAKE_SFX_1 1024 + 0 -#define HOVER_WAKE_SFX_2 1024 + 1 -#include "../bar_hovercraft_common.h" +BankControl() +{ + var lastHeading, currHeading, diffHeading; + lastHeading = GET HEADING; + while (TRUE) + { + currHeading = GET HEADING; + diffHeading = currHeading - lastHeading; + // Set values for tilt + //Remove Extreme values + if ( diffHeading > 1250 ) diffHeading = 1250; + if ( diffHeading < -1250 ) diffHeading = -1250; + turn base to z-axis 1.0 * diffHeading speed <7>; + + lastHeading = currHeading; + sleep 67; + } +} #define BASEPIECE base #define HITSPEED <35.0> @@ -27,32 +69,204 @@ piece ground, base, arm, tower, wake, rdoor, ldoor, boom1, boom2, boom3, boom4, #define UNITSIZE 10 #define MAXTILT 200 -#include "../unit_hitbyweaponid_and_smoke.h" +#include "unit_hitbyweaponid_and_smoke.h" Create() { hide link; hide wake; - SLEEP_UNTIL_UNITFINISHED; - start-script HoverCraftMotion(); + while( get BUILD_PERCENT_LEFT ) + { + sleep 400; + } + start-script BankControl(); + start-script WobbleUnit(); + return (0); +} + +HoverIdle() +{ + signal SIG_IDLE; + set-signal-mask SIG_IDLE; + while( TRUE ) + { + emit-sfx 1024 + 2 from wake; + sleep 1750; + } +} + +StartMoving() +{ + signal SIG_MOVE; + set-signal-mask SIG_MOVE; + signal SIG_IDLE; + var waketime; + var bowtime; + while( TRUE ) + { + emit-sfx 1024 + 0 from wake; + if (bowtime) emit-sfx 1024 + 1 from wake; + bowtime = !bowtime; + waketime = (get CURRENT_SPEED) * 100 / get MAX_SPEED; + if( waketime < 30 ) waketime = 30; + sleep 15000 / waketime; + } +} + +StopMoving() +{ + signal SIG_MOVE; + signal SIG_IDLE; + start-script HoverIdle(); + return (0); +} + +SweetSpot(piecenum) +{ + piecenum = base; + return (0); +} + +StartDoorOpen() +{ + signal 4; + set-signal-mask 4; + turn rdoor to z-axis <-90.> speed <100.>; + turn ldoor to z-axis <90.> speed <100.>; + wait-for-turn rdoor around z-axis; + wait-for-turn ldoor around z-axis; + move rdoor to y-axis [-9.] speed [25.]; + move ldoor to y-axis [-9.] speed [25.]; + wait-for-move ldoor along y-axis; + wait-for-move ldoor along y-axis; + sleep 5000; + move rdoor to y-axis [0.] speed [25.]; + move ldoor to y-axis [0.] speed [25.]; + wait-for-move rdoor along y-axis; + wait-for-move ldoor along y-axis; + turn rdoor to z-axis <0.> speed <100.>; + turn ldoor to z-axis <0.> speed <100.>; + wait-for-turn rdoor around z-axis; + wait-for-turn ldoor around z-axis; + return (0); +} + +BoomCalc(posxz, posy) +{ + var Func_Var_3, Func_Var_4, Func_Var_5; + Func_Var_3 = get PIECE_XZ(tower) - posxz; + Func_Var_4 = posy - get PIECE_Y(tower); + Func_Var_5 = get XZ_HYPOT(Func_Var_3); + Static_Var_2 = get HYPOT(Func_Var_5,Func_Var_4) -[32]; + Static_Var_3 = get XZ_ATAN(Func_Var_3); + Static_Var_4 = get ATAN(Func_Var_4,Func_Var_5); + Static_Var_5 = Static_Var_2 < 14745600; + return (0); +} + +BoomExtend() +{ + start-script StartDoorOpen(); + turn tower to y-axis Static_Var_3 speed <200.>; + wait-for-turn tower around y-axis; + move boom1 to z-axis Static_Var_2 / 6 speed [60.]; + move boom2 to z-axis Static_Var_2 / 6 speed [60.]; + move boom3 to z-axis Static_Var_2 / 6 speed [60.]; + move boom4 to z-axis Static_Var_2 / 6 speed [60.]; + move boom5 to z-axis Static_Var_2 / 6 speed [60.]; + move boom6 to z-axis Static_Var_2 / 6 speed [60.]; + wait-for-move boom1 along z-axis; + wait-for-move boom2 along z-axis; + wait-for-move boom3 along z-axis; + wait-for-move boom4 along z-axis; + wait-for-move boom5 along z-axis; + wait-for-move boom6 along z-axis; + turn magnet to x-axis Static_Var_4 speed <80.>; + turn arm to x-axis <0.> - Static_Var_4 speed <80.>; + wait-for-turn arm around x-axis; + wait-for-turn magnet around x-axis; + return (0); +} + +BoomReset() +{ + turn arm to x-axis <0.> speed <60.>; + turn magnet to x-axis <0.> speed <60.>; + wait-for-turn arm around x-axis; + wait-for-turn magnet around x-axis; + turn tower to y-axis <0.> speed <200.>; + move boom1 to z-axis [0.] speed [50.]; + move boom2 to z-axis [0.] speed [50.]; + move boom3 to z-axis [0.] speed [50.]; + move boom4 to z-axis [0.] speed [50.]; + move boom5 to z-axis [0.] speed [50.]; + move boom6 to z-axis [0.] speed [50.]; + return (0); +} + +BoomToPad() +{ + start-script StartDoorOpen(); + turn magnet to x-axis <0.> speed <60.>; + turn arm to x-axis <0.> speed <60.>; + wait-for-turn magnet around x-axis; + wait-for-turn arm around x-axis; + turn tower to y-axis <0.> speed <200.>; + move boom1 to z-axis [0.] speed [60.]; + move boom2 to z-axis [0.] speed [60.]; + move boom3 to z-axis [0.] speed [60.]; + move boom4 to z-axis [0.] speed [60.]; + move boom5 to z-axis [0.] speed [60.]; + move boom6 to z-axis [0.] speed [60.]; + wait-for-turn tower around y-axis; + wait-for-turn arm around x-axis; + wait-for-move boom1 along z-axis; + wait-for-move boom2 along z-axis; + wait-for-move boom3 along z-axis; + wait-for-move boom4 along z-axis; + wait-for-move boom5 along z-axis; + wait-for-move boom6 along z-axis; + turn magnet to x-axis <-30.> speed <60.>; + turn arm to x-axis <30.> speed <60.>; + wait-for-turn arm around x-axis; + return (0); } TransportPickup(unitid) { - set BUSY to 1; - attach-unit unitid to link; - set BUSY to 0; + call-script BoomCalc(get UNIT_XZ(unitid),get UNIT_Y(unitid) + get UNIT_HEIGHT(unitid)); + if( Static_Var_5 AND get UNKNOWN_UNIT_VALUE(74)(unitid) == get UNKNOWN_UNIT_VALUE(74)(get UNKNOWN_UNIT_VALUE(71)) ) + { + set BUSY to 1; + call-script BoomExtend(); + move link to y-axis [0.] - get UNIT_HEIGHT(unitid) now; + attach-unit unitid to link; + call-script BoomToPad(); + attach-unit unitid to 0 - 1; + call-script BoomReset(); + set BUSY to 0; + } + return (0); } TransportDrop(unitid, position) { - set BUSY to 1; - drop-unit unitid; - set BUSY to 0; + call-script BoomCalc(position,get GROUND_HEIGHT(position) + get UNIT_HEIGHT(unitid)); + if( Static_Var_5 ) + { + set BUSY to 1; + call-script BoomToPad(); + move link to y-axis [0.] - get UNIT_HEIGHT(unitid) now; + attach-unit unitid to link; + call-script BoomExtend(); + drop-unit unitid; + call-script BoomReset(); + set BUSY to 0; + } + return (0); } - Killed(severity, corpsetype) { if( severity <= 25 ) @@ -63,6 +277,17 @@ Killed(severity, corpsetype) explode ldoor type BITMAPONLY | NOHEATCLOUD; explode tower type BITMAPONLY | NOHEATCLOUD; explode arm type BITMAPONLY | NOHEATCLOUD; + //explode boom1 type BITMAPONLY | NOHEATCLOUD; + //explode boom2 type BITMAPONLY | NOHEATCLOUD; + //explode boom3 type BITMAPONLY | NOHEATCLOUD; + //explode boom4 type BITMAPONLY | NOHEATCLOUD; + //explode boom5 type BITMAPONLY | NOHEATCLOUD; + //explode boom6 type BITMAPONLY | NOHEATCLOUD; + //explode magnet type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode link type BITMAPONLY | NOHEATCLOUD; + //explode fan1 type BITMAPONLY | NOHEATCLOUD; + //explode fan2 type BITMAPONLY | NOHEATCLOUD; + //explode wake type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } if( severity <= 50 ) @@ -73,6 +298,17 @@ Killed(severity, corpsetype) explode ldoor type FIRE | SMOKE | FALL | NOHEATCLOUD; explode tower type FIRE | SMOKE | FALL | NOHEATCLOUD; explode arm type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode boom1 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode boom2 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode boom3 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode boom4 type FALL | NOHEATCLOUD; + //explode boom5 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode boom6 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode magnet type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode link type FALL | NOHEATCLOUD; + //explode fan1 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode fan2 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode wake type FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) @@ -83,7 +319,17 @@ Killed(severity, corpsetype) explode ldoor type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode tower type FIRE | SMOKE | FALL | NOHEATCLOUD; explode arm type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode boom1 type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode boom2 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode boom3 type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode boom4 type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode boom5 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode boom6 type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode magnet type SMOKE | FALL | NOHEATCLOUD; + //explode link type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode fan1 type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; explode fan2 type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode wake type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; @@ -92,6 +338,16 @@ Killed(severity, corpsetype) explode ldoor type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode tower type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode arm type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode boom1 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode boom2 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode boom3 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode boom4 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode boom5 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode boom6 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode magnet type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode link type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode fan1 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode fan2 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode wake type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/corthovr.cob b/scripts/Units/corthovr.cob index e554c70eb5b7c852fc1d21e3dbeac9f3973b7458..5d761613bb8fa8696e74fce0b825b8efccb62131 100644 GIT binary patch literal 6482 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 J!8snY;eWh347UIP diff --git a/scripts/Units/corthud.bos b/scripts/Units/corthud.bos index bae98718c99..98796d39fee 100644 --- a/scripts/Units/corthud.bos +++ b/scripts/Units/corthud.bos @@ -1,10 +1,12 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece torso, gun, rfirept, lfirept, rgun, lgun, pelvis, rleg, rfoot, lleg, lfoot, lthigh, rthigh, aimx1, aimy1,ltoe,rtoe; -static-var isMoving, isAiming, gun_1, wpnheading, animSpeed, maxSpeed, animFramesPerKeyframe, StompXZ, StompHeading; +static-var bMoving, bAiming, gun_1, wpnheading, animSpeed, maxSpeed, animFramesPerKeyframe, StompXZ, StompHeading; lua_UnitScriptDecal(lightIndex, xpos,zpos, heading) { @@ -12,11 +14,11 @@ lua_UnitScriptDecal(lightIndex, xpos,zpos, heading) } // Signal definitions -#define SIGNAL_AIM1 256 -#define SIGNAL_MOVE 1 +#define SIG_AIM 4 +#define SIG_WALK 2 Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations\corthud_anim_walk.blend - set-signal-mask SIGNAL_MOVE; - if (isMoving) { //Frame:4 + set-signal-mask SIG_WALK; + if (bMoving) { //Frame:4 turn gun to x-axis <-6.599999> speed <197.999970> / animSpeed; turn lfoot to x-axis <-19.636401> speed <576.401349> / animSpeed; turn lfoot to z-axis <-11.014305> speed <147.893476> / animSpeed; @@ -27,7 +29,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn lthigh to x-axis <40.929673> speed <1227.890189> / animSpeed; turn lthigh to z-axis <13.142189> speed <394.265669> / animSpeed; turn lthigh to y-axis <-6.410377> speed <627.692575> / animSpeed; - turn ltoe to x-axis <1.300000> speed <39.0> / animSpeed; + turn ltoe to x-axis <1.300000> speed <39.000005> / animSpeed; turn rfoot to x-axis <20.280490> speed <626.282720> / animSpeed; turn rfoot to z-axis <-1.502973> speed <246.114015> / animSpeed; turn rfoot to y-axis <0.474751> speed <5.886180> / animSpeed; @@ -45,9 +47,9 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn torso to y-axis <-6.065435> speed <181.963053> / animSpeed; sleep 131; } - while(isMoving) { - if (isMoving) { //Frame:8 - turn gun to x-axis <-10.600000> speed <120.0> / animSpeed; + while(bMoving) { + if (bMoving) { //Frame:8 + turn gun to x-axis <-10.600000> speed <120.000037> / animSpeed; turn lfoot to x-axis <7.944267> speed <827.420053> / animSpeed; turn lfoot to z-axis <-9.756190> speed <37.743446> / animSpeed; turn lfoot to y-axis <-7.350180> speed <266.184994> / animSpeed; @@ -71,15 +73,15 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn rthigh to z-axis <3.626211> speed <105.595977> / animSpeed; turn rthigh to y-axis <5.327848> speed <67.633363> / animSpeed; turn rtoe to x-axis <-26.699998> speed <983.999928> / animSpeed; - turn rtoe to z-axis <-0.0> speed <182.999978> / animSpeed; - turn rtoe to y-axis <0.0> speed <182.999978> / animSpeed; + turn rtoe to z-axis <-0.000000> speed <182.999978> / animSpeed; + turn rtoe to y-axis <0.000000> speed <182.999978> / animSpeed; turn torso to x-axis <0.112818> speed <103.692252> / animSpeed; turn torso to z-axis <-0.847419> speed <12.711288> / animSpeed; turn torso to y-axis <-12.130870> speed <181.963053> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:12 - turn gun to x-axis <-0.0> speed <317.999982> / animSpeed; + if (bMoving) { //Frame:12 + turn gun to x-axis <-0.000001> speed <317.999982> / animSpeed; turn lfoot to x-axis <-20.910981> speed <865.657450> / animSpeed; turn lfoot to z-axis <-3.878097> speed <176.342797> / animSpeed; turn lfoot to y-axis <-15.547735> speed <245.926664> / animSpeed; @@ -103,14 +105,14 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn rthigh to x-axis <-38.191341> speed <193.408520> / animSpeed; turn rthigh to z-axis <-1.591400> speed <156.528351> / animSpeed; turn rthigh to y-axis <4.223383> speed <33.133952> / animSpeed; - turn rtoe to x-axis <-0.499997> speed <786.0> / animSpeed; + turn rtoe to x-axis <-0.499997> speed <786.000036> / animSpeed; turn rtoe to z-axis <-0.499997> speed <14.999915> / animSpeed; turn rtoe to y-axis <0.499997> speed <14.999915> / animSpeed; turn torso to z-axis <-0.590221> speed <7.715946> / animSpeed; turn torso to y-axis <-8.445438> speed <110.562953> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:16 + if (bMoving) { //Frame:16 turn gun to x-axis <-2.900001> speed <86.999991> / animSpeed; turn lfoot to x-axis <-13.641220> speed <218.092841> / animSpeed; turn lfoot to z-axis <0.698070> speed <137.285005> / animSpeed; @@ -142,7 +144,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn torso to y-axis <-0.337490> speed <243.238443> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:20 + if (bMoving) { //Frame:20 call-script lua_UnitScriptDecal(1, (get PIECE_XZ(rtoe) & 0xffff0000) / 0x00010000 , (get PIECE_XZ(rtoe) & 0x0000ffff), get HEADING(0)); turn gun to x-axis <-6.599999> speed <110.999953> / animSpeed; turn lfoot to x-axis <20.034712> speed <1010.277954> / animSpeed; @@ -155,10 +157,10 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn lthigh to z-axis <0.235525> speed <164.024892> / animSpeed; turn lthigh to y-axis <-1.978531> speed <34.992890> / animSpeed; turn ltoe to x-axis <6.099999> speed <374.999976> / animSpeed; - move pelvis to z-axis [0.0] speed [6.074375] / animSpeed; - move pelvis to y-axis [0.0] speed [18.676876] / animSpeed; - turn pelvis to x-axis <-0.0> speed <114.449258> / animSpeed; - turn pelvis to y-axis <-0.0> speed <86.557139> / animSpeed; + move pelvis to z-axis [0.000000] speed [6.074375] / animSpeed; + move pelvis to y-axis [0.000000] speed [18.676876] / animSpeed; + turn pelvis to x-axis <-0.000000> speed <114.449258> / animSpeed; + turn pelvis to y-axis <-0.000000> speed <86.557139> / animSpeed; turn rfoot to x-axis <-20.376049> speed <452.023315> / animSpeed; turn rfoot to z-axis <11.064463> speed <23.538821> / animSpeed; turn rfoot to y-axis <-1.372614> speed <200.814375> / animSpeed; @@ -175,8 +177,8 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn torso to y-axis <7.770459> speed <243.238468> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:24 - turn gun to x-axis <-10.600000> speed <120.0> / animSpeed; + if (bMoving) { //Frame:24 + turn gun to x-axis <-10.600000> speed <120.000037> / animSpeed; turn lfoot to x-axis <39.860813> speed <594.783033> / animSpeed; turn lfoot to z-axis <-15.635314> speed <514.045353> / animSpeed; turn lfoot to y-axis <20.602533> speed <632.068933> / animSpeed; @@ -200,14 +202,14 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn rthigh to z-axis <-2.608810> speed <292.250926> / animSpeed; turn rthigh to y-axis <0.580910> speed <126.851300> / animSpeed; turn rtoe to x-axis <-55.599997> speed <1706.999921> / animSpeed; - turn rtoe to z-axis <0.0> speed <39.0> / animSpeed; - turn rtoe to y-axis <-0.0> speed <39.0> / animSpeed; + turn rtoe to z-axis <0.000000> speed <39.000005> / animSpeed; + turn rtoe to y-axis <-0.000000> speed <39.000005> / animSpeed; turn torso to z-axis <0.798649> speed <7.715941> / animSpeed; turn torso to y-axis <11.455892> speed <110.563004> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:28 - turn gun to x-axis <-0.0> speed <317.999982> / animSpeed; + if (bMoving) { //Frame:28 + turn gun to x-axis <-0.000001> speed <317.999982> / animSpeed; turn lfoot to x-axis <21.389480> speed <554.139992> / animSpeed; turn lfoot to z-axis <-9.970639> speed <169.940238> / animSpeed; turn lfoot to y-axis <3.801959> speed <504.017234> / animSpeed; @@ -238,7 +240,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn torso to y-axis <7.770460> speed <110.562953> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:32 + if (bMoving) { //Frame:32 turn gun to x-axis <-2.900001> speed <86.999991> / animSpeed; turn lfoot to x-axis <-4.635911> speed <780.761724> / animSpeed; turn lfoot to z-axis <-11.836854> speed <55.986429> / animSpeed; @@ -270,7 +272,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn torso to y-axis <-0.337488> speed <243.238455> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:36 + if (bMoving) { //Frame:36 call-script lua_UnitScriptDecal(1, (get PIECE_XZ(ltoe) & 0xffff0000) / 0x00010000 , (get PIECE_XZ(ltoe) & 0x0000ffff), get HEADING(0)); turn gun to x-axis <-6.599999> speed <110.999953> / animSpeed; turn lfoot to x-axis <-19.636401> speed <450.014715> / animSpeed; @@ -283,10 +285,10 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn lthigh to z-axis <13.142189> speed <160.911914> / animSpeed; turn lthigh to y-axis <-6.410377> speed <100.722915> / animSpeed; turn ltoe to x-axis <1.300000> speed <23.999923> / animSpeed; - move pelvis to z-axis [0.0] speed [6.074375] / animSpeed; - move pelvis to y-axis [0.0] speed [18.676876] / animSpeed; - turn pelvis to x-axis <-0.0> speed <114.449258> / animSpeed; - turn pelvis to y-axis <-0.0> speed <51.116429> / animSpeed; + move pelvis to z-axis [0.000000] speed [6.074375] / animSpeed; + move pelvis to y-axis [0.000000] speed [18.676876] / animSpeed; + turn pelvis to x-axis <-0.000000> speed <114.449258> / animSpeed; + turn pelvis to y-axis <-0.000000> speed <51.116429> / animSpeed; turn rfoot to x-axis <20.280490> speed <1024.895131> / animSpeed; turn rfoot to z-axis <-1.502973> speed <24.066665> / animSpeed; turn rfoot to y-axis <0.474751> speed <116.009663> / animSpeed; @@ -306,38 +308,38 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations } } } -// Call this from StopMoving()! +// Call this from MotionControl()! StopWalking() { - move pelvis to y-axis [0.0] speed [7.125000]; - move pelvis to z-axis [0.0] speed [4.176133]; - turn gun to x-axis <0.0> speed <79.499995>; + move pelvis to y-axis [0.000000] speed [7.125000]; + move pelvis to z-axis [0.000000] speed [4.176133]; + turn gun to x-axis <0.000000> speed <79.499995>; turn lfoot to x-axis <-0.423023> speed <252.569489>; turn lfoot to y-axis <-0.167349> speed <158.017233>; turn lfoot to z-axis <-6.084522> speed <128.511338>; - turn lleg to x-axis <0.0> speed <353.678023>; - turn lleg to y-axis <0.0> speed <68.453136>; - turn lleg to z-axis <0.0> speed <43.281153>; - turn lthigh to x-axis <0.0> speed <369.886177>; + turn lleg to x-axis <0.000000> speed <353.678023>; + turn lleg to y-axis <0.000000> speed <68.453136>; + turn lleg to z-axis <0.000000> speed <43.281153>; + turn lthigh to x-axis <0.000000> speed <369.886177>; turn lthigh to y-axis <14.512709> speed <156.923144>; - turn lthigh to z-axis <0.0> speed <98.566417>; - turn ltoe to x-axis <0.0> speed <426.749980>; - turn pelvis to x-axis <0.0> speed <32.326038>; - turn pelvis to y-axis <0.0> speed <68.929443>; + turn lthigh to z-axis <0.000000> speed <98.566417>; + turn ltoe to x-axis <0.000000> speed <426.749980>; + turn pelvis to x-axis <0.000000> speed <32.326038>; + turn pelvis to y-axis <0.000000> speed <68.929443>; turn rfoot to x-axis <-0.595601> speed <256.223783>; turn rfoot to y-axis <0.278545> speed <156.176555>; turn rfoot to z-axis <6.700828> speed <127.321340>; - turn rleg to x-axis <0.0> speed <347.486484>; - turn rleg to y-axis <0.0> speed <82.862748>; - turn rleg to z-axis <0.0> speed <47.130923>; - turn rthigh to x-axis <0.0> speed <371.202895>; + turn rleg to x-axis <0.000000> speed <347.486484>; + turn rleg to y-axis <0.000000> speed <82.862748>; + turn rleg to z-axis <0.000000> speed <47.130923>; + turn rthigh to x-axis <0.000000> speed <371.202895>; turn rthigh to y-axis <-16.624781> speed <147.736379>; - turn rthigh to z-axis <0.0> speed <73.062732>; - turn rtoe to x-axis <0.0> speed <426.749980>; - turn rtoe to y-axis <0.0> speed <45.749994>; - turn rtoe to z-axis <0.0> speed <45.749994>; + turn rthigh to z-axis <0.000000> speed <73.062732>; + turn rtoe to x-axis <0.000000> speed <426.749980>; + turn rtoe to y-axis <0.000000> speed <45.749994>; + turn rtoe to z-axis <0.000000> speed <45.749994>; turn torso to x-axis <-6.799999> speed <25.923064>; - turn torso to y-axis <0.0> speed <60.809617>; - turn torso to z-axis <0.0> speed <4.243770>; + turn torso to y-axis <0.000000> speed <60.809617>; + turn torso to z-axis <0.000000> speed <4.243770>; } UnitSpeed(){ @@ -362,16 +364,16 @@ UnitSpeed(){ #define UNITSIZE 2 #define MAXTILT 100 -#include "../unit_hitbyweaponid_and_smoke.h" +#include "unit_hitbyweaponid_and_smoke.h" RockUnit(anglex, anglez) { - turn pelvis to x-axis anglex speed <50.0>; - turn pelvis to z-axis <0> - anglez speed <50.0>; + turn pelvis to x-axis anglex speed <50.000000>; + turn pelvis to z-axis <0> - anglez speed <50.000000>; wait-for-turn pelvis around z-axis; wait-for-turn pelvis around x-axis; - turn pelvis to z-axis <0.0> speed <20.0>; - turn pelvis to x-axis <0.0> speed <20.0>; + turn pelvis to z-axis <0.000000> speed <20.000000>; + turn pelvis to x-axis <0.000000> speed <20.000000>; } @@ -383,45 +385,48 @@ Create() hide aimy1; hide rfirept; hide lfirept; - isMoving = FALSE; - isAiming = 0; + bMoving = FALSE; + bAiming = 0; wpnheading = 0; animSpeed = 4; gun_1 = torso; } -StartMoving(reversing) +StartMoving() { - isMoving = TRUE; - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; + bMoving = TRUE; + signal SIG_WALK; + set-signal-mask SIG_WALK; start-script Walk(); start-script UnitSpeed(); } StopMoving() { - signal SIGNAL_MOVE; - isMoving = FALSE; + signal SIG_WALK; + bMoving = FALSE; call-script StopWalking(); } +SweetSpot(piecenum) +{ + piecenum = torso; +} - -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = gun; + piecenum = gun; } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { if( gun_1 == 0 ) { - pieceIndex = rfirept; + piecenum = rfirept; } if( gun_1 == 1 ) { - pieceIndex = lfirept; + piecenum = lfirept; } } @@ -431,10 +436,10 @@ ExecuteRestoreAfterDelay() if (Stunned) { return (1); } - turn aimy1 to y-axis <0.0> speed <90>; - turn aimx1 to x-axis <0.0> speed <45>; + turn aimy1 to y-axis <0.000000> speed <90>; + turn aimx1 to x-axis <0.000000> speed <45>; wpnheading = 0; - isAiming = 0; + bAiming = 0; } SetStunned(State) @@ -447,26 +452,27 @@ SetStunned(State) RestoreAfterDelay() { - set-signal-mask SIGNAL_AIM1; + set-signal-mask SIG_AIM; sleep 2750; start-script ExecuteRestoreAfterDelay(); } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; + //get PRINT ( heading,bAiming,wpnheading,RAND(1,256) ) ; + signal SIG_AIM; - if (isAiming == 1) return; + if (bAiming == 1) return; turn aimy1 to y-axis heading speed <140>; - turn aimx1 to x-axis <0.0> - pitch speed <50>; + turn aimx1 to x-axis <0.000000> - pitch speed <50>; //needed for luarules\gadgets\unit_continuous_aim.lua if ((get ABS(wpnheading - heading)) > 500){ - isAiming = 1; + bAiming = 1; wait-for-turn aimy1 around y-axis; wait-for-turn aimx1 around x-axis; - isAiming = 0; + bAiming = 0; } wpnheading = heading; start-script RestoreAfterDelay(); @@ -475,26 +481,26 @@ AimWeapon1(heading, pitch) -FireWeapon1() +FirePrimary() { if( gun_1 == 0 ) { - move rgun to z-axis [-2.0] speed [60.0]; + move rgun to z-axis [-2.000000] speed [60.000000]; emit-sfx 1024 + 0 from rfirept; wait-for-move rgun along z-axis; gun_1 = gun; - move rgun to z-axis [0.0] speed [4.0]; + move rgun to z-axis [0.000000] speed [4.000000]; wait-for-move rgun along z-axis; return (0); } if( gun_1 == 1 ) { - move lgun to z-axis [-2.0] speed [60.0]; + move lgun to z-axis [-2.000000] speed [60.000000]; emit-sfx 1024 + 0 from lfirept; wait-for-move lgun along z-axis; gun_1 = torso; - move lgun to z-axis [0.0] speed [4.0]; + move lgun to z-axis [0.000000] speed [4.000000]; wait-for-move lgun along z-axis; return (0); } @@ -504,8 +510,8 @@ FireWeapon1() // For N:\animations\corthud_anim_death.blend Created by https://github.com/Beherith/Skeletor_S3O V((0, 2, 8)) //use call-script DeathAnim(); from Killed() DeathAnim() {// For N:\animations\corthud_anim_death.blend Created by https://github.com/Beherith/Skeletor_S3O V((0, 2, 8)) - signal SIGNAL_MOVE; - signal SIGNAL_AIM1; + signal SIG_WALK; + signal SIG_AIM; call-script StopWalking(); turn aimy1 to y-axis <0> speed <200>; turn aimx1 to x-axis <0> speed <200>; @@ -526,7 +532,7 @@ DeathAnim() {// For N:\animations\corthud_anim_death.blend Created by https://gi turn rfoot to y-axis <1.020098> speed <2.224660> ; //delta=0.74 turn rleg to x-axis <7.655927> speed <25.888408> ; //delta=-8.63 turn rleg to z-axis <-0.901071> speed <4.770375> ; //delta=-1.59 - turn rleg to y-axis <-0.879568> speed <2.0> ; //delta=-0.67 + turn rleg to y-axis <-0.879568> speed <2.000630> ; //delta=-0.67 turn rthigh to x-axis <7.473859> speed <22.955275> ; //delta=-7.65 turn rthigh to z-axis <-1.678257> speed <7.212598> ; //delta=-2.40 turn rthigh to y-axis <-16.617184> speed <4.642435> ; //delta=-1.55 @@ -605,6 +611,14 @@ Killed(severity, corpsetype) explode ltoe type FIRE | SMOKE | FALL | NOHEATCLOUD; explode torso type BITMAPONLY | NOHEATCLOUD; explode gun type BITMAPONLY | NOHEATCLOUD; + //explode lgun type BITMAPONLY | NOHEATCLOUD; + //explode lfirept type BITMAPONLY | NOHEATCLOUD; + //explode rgun type BITMAPONLY | NOHEATCLOUD; + //explode rfirept type BITMAPONLY | NOHEATCLOUD; + //explode rthigh type BITMAPONLY | NOHEATCLOUD; + //explode rleg type BITMAPONLY | NOHEATCLOUD; + //explode rfoot type BITMAPONLY | NOHEATCLOUD; + //explode rtoe type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } if( severity <= 50 ) @@ -617,6 +631,14 @@ Killed(severity, corpsetype) explode ltoe type FIRE | SMOKE | FALL | NOHEATCLOUD; explode torso type FALL | NOHEATCLOUD; explode gun type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lgun type FALL | NOHEATCLOUD; + //explode lfirept type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rgun type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rfirept type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rthigh type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rleg type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rfoot type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rtoe type FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) @@ -629,6 +651,14 @@ Killed(severity, corpsetype) explode ltoe type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; explode torso type FIRE | SMOKE | FALL | NOHEATCLOUD; explode gun type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lgun type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode lfirept type SMOKE | FALL | NOHEATCLOUD; + //explode rgun type SMOKE | FALL | NOHEATCLOUD; + //explode rfirept type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rthigh type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rleg type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rfoot type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode rtoe type SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; @@ -639,5 +669,13 @@ Killed(severity, corpsetype) explode ltoe type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode torso type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode gun type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode lgun type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lfirept type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode rgun type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode rfirept type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rthigh type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode rleg type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode rfoot type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode rtoe type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/corthud.cob b/scripts/Units/corthud.cob index f917086173dc3526fc8f60beb5e29f739d494cb2..6c7df22b0f80195d8d4a55cdb137b5c875b2c884 100644 GIT binary patch literal 19007 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 + rockAng = <-0.1>; + while( TRUE ) + { + while( get ABS(rockAng) < <1.31> ) + { + rockSpeed = <1.45> - get ABS(rockAng); + turn base to x-axis rockAng speed rockSpeed*5; + turn base to z-axis rockAng speed rockSpeed*5; + wait-for-turn base around x-axis; + wait-for-turn base around z-axis; + rockAng = rockAng + rockDir; + } + rockDir = 0 - rockDir; + rockAng = rockAng + rockDir + rockDir; + } +} -#define WATER_ROCK_UNITSIZE 10 -#include "../floatmotion.h" #define BASEPIECE base #define HITSPEED <25.0> @@ -13,26 +35,78 @@ piece base, wheel,wheel2,frame; #define UNITSIZE 2 #define MAXTILT 200 -#include "../unit_hitbyweaponid_and_smoke.h" +#include "unit_hitbyweaponid_and_smoke.h" -Activate() +Go() { - spin wheel around z-axis speed <35.005495> accelerate <1>; + dont-cache wheel; + spin wheel around z-axis speed <35.005495>; } -Deactivate() +Stop() { stop-spin wheel around z-axis; + cache wheel; +} + +InitState() +{ + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; +} + +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + call-script Go(); + currentstate = 0; + } + if( statechg_DesiredState == 1 ) + { + call-script Stop(); + currentstate = 1; + } + } + statechg_StateChanging = FALSE; } Create() { - SLEEP_UNTIL_UNITFINISHED; - start-script FloatMotion(); - start-script Activate(); + dont-shade wheel; + call-script InitState(); + while( get BUILD_PERCENT_LEFT ) + { + sleep 400; + } + start-script RockOnWaves(); +} + +Activate() +{ + start-script RequestState(0); } +Deactivate() +{ + start-script RequestState(1); +} + +SweetSpot(piecenum) +{ + piecenum = base; +} Killed(severity, corpsetype) { diff --git a/scripts/Units/cortide.cob b/scripts/Units/cortide.cob index 6e920b648e187d51ca258ff31d24be0d30de1f5c..026f7281445a39dcb89609c650e1aea95d403fca 100644 GIT binary patch literal 2919 zcmb_eJ8KkC6h6DzY=RFQ8;Ok!*aeFvf~Bm9U_y$-tP&B6jM*z$^4Lu>CZyX&M6^g_ zZDna`DO!m51FWn9Vkc^4W3hhUopWX<;{;d8gp+gcd3@)2LnIQmX_Wi^5~? zRF5Y)Hi?~?Ww$+lfP3rn9tMp z%s69Ve7+xiw`>+=e%9!r&j4!5XeRT?{#;NyhO>T1fPM2u{rzPAwCUG@IpA*lW^ts8 zO@Q3ukbfD2pq9w<{Wd$P_w~{_jKR6k&T<4=iqD+0@v?7`HB-la+`++er%x6mkMHBa zmo}U=?|ENhdp&p(BkAW8TuhhNroG;yVTf7K5ufQTM%K?`s^4Sv^M5`fB_ z!z=8`LDEykuQE73+Gls>g<|Xz9D7XM=R9K{XwT1LSkJr=`Vs01^pw%RNYC9hJbP1i z&(6_$Pu+Rqg-Ne}0Gu+$uwL*U;!fTLmnFQ(U?iP)2vJ^VJ6xo*ng~F@QE+1N?B}TG zuF4sUJIyA6eWyaMUZ)%S0(Q)*c zwKD%f`e=2Tj~}A;dk}x$SH!Y8Fz)};fW zvmn0lm!Mam*Pu5b{-1dO`Ud(1s^FiT5zr~nInYJWIOsCyDrg!s2f78i3yMGs?d8?E zjm2okZOe2kp4?k>QK!8jjrI1byS>qhv(lNS+-OT9Zg*q`szw~eP8QteL$|G$sVzs@ swdJ_A!^3qK*|D+fT-@liW0`HOt+}S$kG7rct~j@r{GN~pThY3cKb*~B#veff0R>y1xu+gpav>gy7FH3#!crTN z6k6F?2!dFN3jP5W+6Bb&z{XC$pM5)bo989Lm@wIy*_rvy%+5Sgan5ZORYZ5o&XsiX zvvbV3W1@?qBa)jsU9Fsyl5%nugIXmi*UJekdWc^{Y<9xbN4$-~dL1f!JjM{8Ll^`f z@*xf?d`4h~_#8kVe5zt&pV1(Dyvx<3C)sBi^e489Nk)84z2EX}tj@PBN8&vw_(|;J z7@n(F67uje$%k0jT3|c3-U9^rSKj-*WXsv_{>$g{$Rt+q+oZCjW2U%voGFaglA7zU`A@NZoedc)I$% zO)sxa*PYL8UN?OF-X?Fl?j(P2<|eM&;!bf@7J7lpws7d%(uIO$4y}#z) zg*}XY3=>~m4EJx}fj@TkHcMiOVLJo9#VnqD6JlG!6m3j4+t|i`Q&h9{enOYzYwt9y zX5#(8Abhvz6Ys&k(LeL$WG1m+tPJuh_H5W4uKm2j3?tJEW_Cpkvcmc~1sB$O&K!FD`OsaUFZPtmS)nIK(C#J>yz#6nMttF(~}t2_b=d{4!GWa z9o!}2D35=^nZ+mI%my4k_v_#+<0Bla?@^Eq_gRpO_0fxsVm~g#wpbg*#_gx*pbVdj zzKePy-hP`B;eWve(LK>a(G$_K=%whD=#A)|=)LH(=uEqlcBebtR%hOwYjscFxs;^~ zo%yL|EV;>aF1?mDFU)mrWNu=%+q#u@GdG!~#-3Wt(423z+ga0HNpEKE_Vp}l=YPlD K)x~r!bAJFIT&y$z diff --git a/scripts/Units/cortitan.bos b/scripts/Units/cortitan.bos index d01557c2a69..9154dbd5ef5 100644 --- a/scripts/Units/cortitan.bos +++ b/scripts/Units/cortitan.bos @@ -1,8 +1,28 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, flare1, flare2, thrusta1, thrusta2, thrustb1, thrustb2; +static-var Static_Var_1, Static_Var_2, Static_Var_3, statechg_DesiredState, statechg_StateChanging; + + +activatescr() +{ + if( TRUE ) + { + } + sleep 20; +} + +deactivatescr() +{ + if( TRUE ) + { + } + sleep 12; +} #define BASEPIECE base @@ -11,6 +31,37 @@ piece base, flare1, flare2, thrusta1, thrusta2, thrustb1, thrustb2; #define UNITSIZE 3 #define MAXTILT 100 +InitState() +{ + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; +} + +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + call-script activatescr(); + currentstate = 0; + } + if( statechg_DesiredState == 1 ) + { + call-script deactivatescr(); + currentstate = 1; + } + } + statechg_StateChanging = FALSE; +} Create() { @@ -20,6 +71,7 @@ Create() hide thrustb2; hide thrusta1; hide thrustb1; + call-script InitState(); } Activate() @@ -28,6 +80,7 @@ Activate() show thrustb2; show thrusta1; show thrustb1; + start-script RequestState(0); } Deactivate() @@ -36,13 +89,17 @@ Deactivate() hide thrustb2; hide thrusta1; hide thrustb1; + start-script RequestState(1); } +SweetSpot(piecenum) +{ + piecenum = base; +} - -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = flare1; + piecenum = flare1; } Killed(severity, corpsetype) diff --git a/scripts/Units/cortitan.cob b/scripts/Units/cortitan.cob index 3ac1dc522c45ee58cd4c0d54f5c454470abcffe8..a72cadf593d3f7cf642bce366cb107e97829c2e9 100644 GIT binary patch literal 2085 zcmd5-J!>055FMT6voRqo*hK<{T$Rd&ttzEM+?WthqA~<@lGa$DeE4*-ad(Ar?JA|q zkUx+rY160nA8?l@T`Iq~HzQw+4ip#0g2(L6%zHaCyW*N6vH~mt-y0%}u>3uOV;k59 zHn2Z|ZMeuGMWh?MCJgs$+;27<*IY_F4r|MM2p3}y7^}%^ZboiF^O(lH>2ps_NuUoj zp~V<$U|kXR+}_lv)?s?&@|+0ztnVgw8b@AP|DxkL@2Icb>psiaE5sy0efqPwol)fl z&34IqtGwXDn!Hex)+XDrd!~M-S`VflX3`ZGF$i1MD>@r-vHICBc*41O4(&W}j=lAv&9nd$lt-H^^U~sdsN0b#cB8yHDmmrbtrG z`cn0(^JPw={sLCI3r^h9^y~yK<`l3NBfpNvxz@#OhKc4Bu%^j**YS7f3KiJ=VHCjiruH)`>a{-{Xl!?9Ov!bdRe9pdbfGl zx==sgip_+NhI#XFOg~Xh0c$h9i+930Z!?eZ$IyAq)2GeG`u$(N@e+)OH5agVIVT>+ z?;^i%Pk;e%2%G|+fpg#s!0+N2a1MM0z5zdgpTIBR0=NWz1AlX9lFpI$dFRu|TwYIncHGW}@6+s9 kUJgeiKagHJ_OdrhGrv`umgM`{WSpm4wlGi6JiV4&0W~h2&j0`b literal 1046 zcmcIju}T9$5S^TtOC@frRT?`5@BTovvx$}1WiPH6I8-hd!A{WH%2LE15bSL2Z7l6< z?Cfl9eDAU&>j{z~-tl-dJ8yR097!x9ZJ+}@1NszmB4@xAu!6&Tu=K@56o6ZvW6z0a z%2?-}EfX20(o2l=#MD}Ftp(Rw@GmX;r@prv8P1`fXl*j@$6V9};7cp4Ei&k~jr0?< z>(8{GOwBD=Oy|2t^JbmjBh>3Is^_j@ojZp)_oO%8%kLEW%y{N~o+D%*=W)-b4@z0T zU;y7**Zea3j)4dq5uE@ diff --git a/scripts/Units/cortl.bos b/scripts/Units/cortl.bos index 0d86cbd10a4..b1ee0e170e7 100644 --- a/scripts/Units/cortl.bos +++ b/scripts/Units/cortl.bos @@ -1,50 +1,76 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, flare, gun; // Signal definitions -#define SIGNAL_AIM1 256 - -#define WATER_ROCK_UNITSIZE 7 -#include "../floatmotion.h" +#define SIG_AIM 2 +RockOnWaves() +{ + var rockDir, rockAng, rockSpeed; + rockDir = <-0.1>; + rockAng = <-0.1>; + while( TRUE ) + { + while( get ABS(rockAng) < <1.31> ) + { + rockSpeed = <1.45> - get ABS(rockAng); + turn base to x-axis rockAng speed rockSpeed*5; + turn base to z-axis rockAng speed rockSpeed*5; + wait-for-turn base around x-axis; + wait-for-turn base around z-axis; + rockAng = rockAng + rockDir; + } + rockDir = 0 - rockDir; + rockAng = rockAng + rockDir + rockDir; + } +} #define BASEPIECE base #define HITSPEED <25.0> //how 'heavy' the unit is, on a scale of 1-10 #define UNITSIZE 3 #define MAXTILT 200 -#define RECOIL_POWER -50000 -#include "../unit_hitbyweaponid_and_smoke.h" + +#include "unit_hitbyweaponid_and_smoke.h" Create() { hide flare; - SLEEP_UNTIL_UNITFINISHED; - start-script FloatMotion(); + while( get BUILD_PERCENT_LEFT ) + { + sleep 400; + } + start-script RockOnWaves(); } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; - turn gun to y-axis heading speed <120.0>; + signal SIG_AIM; + set-signal-mask SIG_AIM; + turn gun to y-axis heading speed <120.000000>; wait-for-turn gun around y-axis; return (1); } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = base; + piecenum = base; } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = flare; + piecenum = flare; } +SweetSpot(piecenum) +{ + piecenum = base; +} Killed(severity, corpsetype) { diff --git a/scripts/Units/cortl.cob b/scripts/Units/cortl.cob index 900ca369446e6402caac626d3a687f52dcbe7df4..ef173cd8e657edaf223cd1c186ebc96832fba476 100644 GIT binary patch literal 2486 zcmbVOJ#Q015FI-g6QE!zY0%Xug++lVC_+F8M1d14ilFilALJB&;W!{uxuHNvh>Dty zhKe3Rh4>AKmKISWQJDAkW_*_;c4A*NncbP$H*aQkl>{Pk2C@WMEsK<(`TbZC2~NXC z!Tu_=gk@(^a%J~xJRX;;u;I(^iNU?cYE)dT`xnqftt>VtX zXthsblqch9`|tb|tg|^RsZ}Pku^AD|YH4aL=git=E#<{MQwLuB-^Ksv3 ztETgLg(c6@#(o>t*Yk(#@z}`CSn?qU(cT+Ro+e zl#g)6!+OiTpCj&M2@CE4i+2$?*3BikQq#B2h4$#X+9Gc&`8v1^^jtny9>e47Jbo$$ zZAaz1OhC@In&Ok|gogu1tpBW-W!M2`fu zu5yiB`0c-pTlSu4^IUq!XX{bAu5IP`;4U+cki3hw<{59p8)C1xXNb+v_QiWP%RlQp zb6AgveSyJY+UwUKVtj~CUfhSON6^y19df58vkGBi%m~_izP2gnh{^m`bDoR8qsrxz zav|19xsVjO;Lnri!nJ=R;5?1vJZENc-(gPW{ztjoWLk_!;&yWDlOOR`j4aj{+1W6$L-{vNy26+J4g>)g$Aul0s zA@3mXAs-+gA)DQuy?dSQ=xMw!x0Av8a668A-Hz1T-Mx6LlMM3KJ59OKkE1~>*OPXw wpR}X?kjq>B?qs`h5ch}Xt3Qk5LA}=<$lavXiktE<+K=T?E9%Gc_@E>I0OV$-sQ>@~ literal 2880 zcmbuBziU)M5Xa|!|!ZJw7P@xt(SX1_Dvnc1BsWf9q`Qc}5B6e;MJ zUtNuNRi3L1tNsE|wde}2=q3PE%dS`}I+oZG{!qc}Vo@u3jE40#O!#|Ap7$OI3Woa50bCuS-DW55Ab!hLHmIAkkZM-9or~3N`v2C=J&WrmF1p>NUkB7Mpl;iLyR!DY&8}XX zt~3GT^EQ3cb-V1mxi@j$7I%`3TEWR^#W7oUb~0V@^J??Nm%SZ|VXj4IMaRM8 z>(~^}KK)>y^%(2gkjL&+9&RC~K1Y8K8>y6Q8Ae-|m@EoD0(SXCo3>nWWZ4y3~D|Wm8-d}T&Fo&^^apH@M z@&4`G_XlTZv!Y94*v!ChG4o&EgcwVhJjQgx#u)#mXwBC9G2J9zJEuW46Ymp%@NUs3 z&VzZQf9A`VI|;s1?&p>7*`PgKdwEB97~AyAwdVphe}}v+_~Anjx$9qbfv)NJ`%S(q z?X1|N2X^0I2RtUb(_qkr8(R_F`m@ zxsQ{No`<~w&jKE^e*E18OH|Ftu4?IcW!Jj|e?o_+mXt(5CqkH speed <100.016484>; - turn turret to x-axis <0.0> speed <50.005495>; + turn turret to y-axis <0.000000> speed <100.016484>; + turn turret to x-axis <0.000000> speed <50.005495>; wait-for-turn turret around y-axis; wait-for-turn turret around x-axis; @@ -96,7 +102,7 @@ SetStunned(State) } RestoreAfterDelay() { - set-signal-mask SIGNAL_AIM2; + set-signal-mask SIGNAL_AIM; sleep restoreDelay; start-script ExecuteRestoreAfterDelay(); } @@ -109,27 +115,28 @@ Create() turretOpen = 0; restoreDelay = 10000; - SLEEP_UNTIL_UNITFINISHED; + while( get BUILD_PERCENT_LEFT ) + { + sleep 1000; + } start-script RestoreAfterDelay(); return (0); } - -#define BASEPIECE base -#define MAXTILT 0 -#include "../unit_hitbyweaponid_and_smoke.h" +#define SMOKEPIECE base +#include "smokeunit_thread_nohit.h" Activate() { - signal SIGNAL_AIM2; - trajectoryMode = HIGH_TRAJECTORY; + signal SIGNAL_AIM; + start-script RequestState(HIGH_TRAJECTORY); } Deactivate() { - signal SIGNAL_AIM2; - trajectoryMode = LOW_TRAJECTORY; + signal SIGNAL_AIM; + start-script RequestState(LOW_TRAJECTORY); } aimCommon(heading, pitch) @@ -139,13 +146,13 @@ aimCommon(heading, pitch) sleep 250; } - turn turret to y-axis heading speed <30.0>; - turn turret to x-axis <0.0> - pitch speed <45.0>; + turn turret to y-axis heading speed <30.000000>; + turn turret to x-axis <0.000000> - pitch speed <45.000000>; wait-for-turn turret around y-axis; wait-for-turn turret around x-axis; } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { start-script Go(); @@ -154,8 +161,8 @@ AimWeapon1(heading, pitch) return(0); } - signal SIGNAL_AIM2; - set-signal-mask SIGNAL_AIM2; + signal SIGNAL_AIM; + set-signal-mask SIGNAL_AIM; call-script aimCommon(heading, pitch); start-script RestoreAfterDelay(); @@ -171,7 +178,7 @@ AimWeapon1(heading, pitch) return (1); } -AimWeapon2(heading, pitch) +AimSecondary(heading, pitch) { start-script Go(); @@ -180,8 +187,8 @@ AimWeapon2(heading, pitch) return(0); } - signal SIGNAL_AIM2; - set-signal-mask SIGNAL_AIM2; + signal SIGNAL_AIM; + set-signal-mask SIGNAL_AIM; call-script aimCommon(heading, pitch); start-script RestoreAfterDelay(); @@ -191,44 +198,47 @@ AimWeapon2(heading, pitch) fireCommon() { emit-sfx 1024 + 0 from flare; - move barrel to z-axis [-3.0] speed [375.0]; - move bore to z-axis [-2.0] speed [250.0]; + move barrel to z-axis [-3.000000] speed [375.000000]; + move bore to z-axis [-2.000000] speed [250.000000]; sleep 150; - move barrel to z-axis [0.0] speed [2.250000]; - move bore to z-axis [0.0] speed [1.500000]; + move barrel to z-axis [0.000000] speed [2.250000]; + move bore to z-axis [0.000000] speed [1.500000]; } -FireWeapon1() +FirePrimary() { call-script fireCommon(); } -FireWeapon2() +FireSecondary() { call-script fireCommon(); } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = aimpoint; + piecenum = aimpoint; } -AimFromWeapon2(pieceIndex) +AimFromSecondary(piecenum) { - pieceIndex = aimpoint; + piecenum = aimpoint; } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = flare; + piecenum = flare; } -QueryWeapon2(pieceIndex) +QuerySecondary(piecenum) { - pieceIndex = flare; + piecenum = flare; } - +SweetSpot(piecenum) +{ + piecenum = base; +} Killed(severity, corpsetype) { diff --git a/scripts/Units/cortoast.cob b/scripts/Units/cortoast.cob index f8ec102676267933e67a56b408bb94f61b72d7bf..ba4500a7e66504f61438d8581726349ca5581b4b 100644 GIT binary patch literal 4602 zcmd5&GIt;}$%}7ZtRpB{ z2}Qb8!Bt(kaHB4?h|t-&=}K@R2ri^xVZgdlM%(fG?!70u$-GRH(S<4B-1F}F`_4J{ zzN94)c>>rE{IW-6FIIl8J|OZ`EYb&_!}Arag}4~c|KL_@RF)VnQUvmJC9jjXFk-h% z=Sl&)MMOPleYqvEi&ub{r(?WHI?KWPeanYI{Ch{@M^GtWkq1X~tX*|4Gm(#R4@8wI z%0gthKYmJiVh_CtIf!W9%`MiIpZ5=|o0NChn}a*_#_95V^P7zy@(O#Svn;J|ZIOT8 zEdPGR)i%v6^ZHb>Ge(Rndt<3Z@dps49AWP6!#T6nr3%l2>*vFM<+GIc`*Q->_g(e$ z3-ua<@vRPOcaEH|l#9sb^3ay`hI(>kugLS7*V#BeFICcavww1j*S-Dc+Y0R~kn#B7U539BHtH#v+ z@;QFS&5U+@#wo-sN_NI{=H9PtF!LRa;)sUGYvV)In4Br=NyC>Fn0L(3a%fWWm@e?2K zjE`5K;Vs;Le$azOzh4~Nf6VV&JMd(EVLz9~^qeL64}0k9=z2SbAJmSXAFzQ#dzXWD z(hX$T+PK&r#t!t})`pv4%UKfSNV{Pi$MGZ2ag)l5I~(u&y>pM?{pYkxia<}op!`6X=HK-@X+;A_bcY7BLZoR$j`%q-l+uYgqJ^CU1^-jvs zVh|tQf@;vyeqls6`dth|+p8#c7gagkZQs4KI9q*Z4C=G-rqi%HFn*Rce@1yl>!N#uk10SXHO@ri`s|oxY>;bUK?n9p}SX zOw5(PO_`4}W2)TuGC6YI)R+C*$EqA{jnHu&{~oaKcHfiRz9;0ynM~6Yt+CJ8zF*pt zJe}_88v1EZW~uw%^eT_TPQ7ZdM&GLhMY7+lHSEBB!n$>~)687^yjy>*e-_S~ zOV??5>WtKf`DUq8&$jwclXHBId9%`Zv-0`B%x$;))lb*3ex3=PP2bCWzx>xT40G;g zo}@MhTn0V?J_oJ>KLH!SpTMIy1g`b-+yaXDk$M1l2si{h3%mdv0p@{4pa!&nw}DH*$H1q+SHL>(9dI4^ z9{3UX8Mpy#0KWrC*L2SH($r+qXeF!0%cl~lW=U7hnm2l8HLGUz%*d;6nMN-&XR(o_ z=GaPR(i5gtUz4hVMX%E_%WxQ1&ZUOV)pl~hEOwfi%r~>+Yv)b9n{?z@BWu1%^$Al~ zvEFRYCG9q~&GtgtY}eB@idEA{I?H@mX{N@ToP?-0l!r#}IGHA406q@&XL=@GQ&;;i z)KxDUl+;Z!Io)ivP}Wj?)yPV#o*Kzqx0aJ6eO~zYFtli3OP0_T0sC&!>}2u}XwhR# literal 4244 zcmbVPzi(Sr6h3xbHxwwZh(dq?iw-a_IGz|l#7$^}pi&@}kYFHA{8B7zKg)TBWp zWvE&v7!aT$@dqFl76h3P5{yACNC?ycBqS-?d|#3P)e=x%d3~?z!jQ zI0X@z0j7bsr$i26u!4b zg?fv@_^N~2^^x->7uJG2KJz-Y^Kq$?EqAu}PdMAlCxW>C+|`#%A!tl5yY-^hmU75P zO5lSZu9G```y73}exfoeMyx+Sp+9BK1BDs9E9EJziTZMx515bTq>t)+ z-h;lGKkc|*`d)y@@lA}D-(n7rQg&x#whS|DV{@|&ZMeogTkWepr=1h`HO!mwexZS{ z1?$A~zzf!oMc#TA<(%&63MPFXLp2+vW7@vG?_th)7JNVUAaGvb9DT|?P_&v;$GuqJ ze(&wMWW5>25B)Tz@1dWAJeI?F^mFL#cloXN{_uV|jB?%e2=D2iemx(ohq)^xh`QRn z-uCufw!2AJ>9~7Jnfqa_!~GaXv!lx>JG*1N)3nKAxI1(L4ZyWsDsh(F!##fO?D4GL zf-}`S;A8APkj3Kulyk}TyY>|0u`_5N$P_aU!P|v5!u-f}V81Jl>oYJ2eJN|~pjQ0* zV)f2=6{FjcSK}j(y`gp=FOrmh3t#vAls6(#WjSr+onjxbUuefX8XJAvgV48I%Fb}$ zogTAS-HYGrTjS#V&%O3*n8jQe;-z&7>=7Vwax_eLgH#fYybhCOh_kZbGgGv6A^z0%2FeP){ zOQGcYb;iGm=5MvWN}K3#-^b?G^ET%ZF{aI}mNsV%sed0M)4jhF8 z|L6J=$RXLSz;WPl;5_giunl|#d<*OVKLFQ&-vIu9x(vJotODnNE#MOH0q`;KDewjG z4X^|J2>c4%0QP|+==i&V2Z32&4mbn60MvkWpb2aMo4^~uMc@*UbmI2eUbh>kveryC zVlSUgWI0Vb^5pq=t(V5n#T#kTjjQWv++B#9wM|)$)8(|+ZpU>wsGRS{wKSH+MtXAd z`MB0e+E3NPnJm;=wR3TOxs|*UOLZ-6yh{6pxMpIl(V9 +#define HITSPEED <55.0> //how 'heavy' the unit is, on a scale of 1-10 #define UNITSIZE 10 #define MAXTILT 100 -#define RECOIL_POWER 30000 -#include "../unit_hitbyweaponid_and_smoke.h" - -#define TB_BASE base -#define TB_TURNRATE <10.0> -#define TB_TILT_X <0.20> -#define TB_BANK_Z <0.20> // Do not define this if you dont want banking -#include "../tilt_bank_mobileunit.h" +#include "unit_hitbyweaponid_and_smoke.h" static-var weapon1_active_accuracy, weapon1_default_accuracy; static-var weapon1_active_range, weapon1_default_range, weapon2_default_range; @@ -41,6 +37,12 @@ Create() hide flare1; hide flare2; hide flare5; + hide flare1; + hide flare2; + hide flare3; + hide flare4; + hide flare5; + hide flare6; turn flare1 to x-axis <5> now; turn flare2 to x-axis <-54> now; turn flare3 to x-axis <-115> now; @@ -58,30 +60,16 @@ Create() weapon2_default_range = get WEAPON_RANGE(2); get WEAPON_RANGE(-1,get MIN(weapon1_default_range,weapon2_default_range)); get WEAPON_RANGE(-2,get MIN(weapon1_default_range,weapon2_default_range)); - call-script TB_Init(); -} -StartMoving(reversing) -{ - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; - START_TILTBANK; -} - -StopMoving() -{ - signal SIGNAL_MOVE; - STOP_TILTBANK; + return (0); } - - static-var Stunned; ExecuteRestoreAfterDelay() { if (Stunned) { return (1); } - turn turret to y-axis <0.0> speed <20.0>; + turn turret to y-axis <0.000000> speed <20.000000>; global_pitch = -1000000; global_heading = -1000000; } @@ -101,7 +89,7 @@ RestoreAfterDelay() Activate() { // signal kills any current aim animations - signal SIGNAL_AIM1; + signal SIG_AIM; // variable setting weapon state fire_mode = 1; // set last heading values to large negative, ensure first aim waits for the turn @@ -114,7 +102,7 @@ Activate() Deactivate() { // signal kills any current aim animations - signal SIGNAL_AIM1; + signal SIG_AIM; // variable setting weapon state fire_mode = 0; // set last heading values to large negative, ensure first aim waits for the turn @@ -125,7 +113,7 @@ Deactivate() } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { if( fire_mode == 1 ) @@ -133,8 +121,8 @@ AimWeapon1(heading, pitch) return(0); } - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; // out of firing arc aim calls happen during "preaiming" logic // logic to reset gun to neutral if the target heading has been @@ -153,12 +141,12 @@ AimWeapon1(heading, pitch) out_of_arc_count = 0; // turn to face target - turn turret to y-axis heading speed <20.0>; + turn turret to y-axis heading speed <20.000000>; // prespin the hex barrel spindle if the unit has not recently fired - // in FireWeapon1, the spindle should be locked in place for a few frames + // in FirePrimary, the spindle should be locked in place for a few frames // after firing, then starts spinning the spindle into place - // before the next AimWeapon1 call + // before the next AimPrimary call if (recoiling == 0) { turn spindle to x-axis <60.005495> * gun_1 - pitch speed <360>; @@ -176,7 +164,7 @@ AimWeapon1(heading, pitch) return (1); } -AimWeapon2(heading, pitch) +AimSecondary(heading, pitch) { if( fire_mode == 0 ) @@ -184,8 +172,8 @@ AimWeapon2(heading, pitch) return(0); } - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; // out of firing arc aim calls happen during "preaiming" logic // logic to reset gun to neutral if the target heading has been @@ -204,12 +192,12 @@ AimWeapon2(heading, pitch) out_of_arc_count = 0; // turn to face target - turn turret to y-axis heading speed <20.0>; + turn turret to y-axis heading speed <20.000000>; // prespin the hex barrel spindle if the unit has not recently fired - // in FireWeapon1, the spindle should be locked in place for a few frames + // in FirePrimary, the spindle should be locked in place for a few frames // after firing, then starts spinning the spindle into place - // before the next AimWeapon1 call + // before the next AimPrimary call if (recoiling == 0) { turn spindle to x-axis <60.005495> * gun_1 - pitch speed <360>; @@ -227,7 +215,7 @@ AimWeapon2(heading, pitch) return (1); } -FireWeapon1() +FirePrimary() { recoiling = 1; if( gun_1 == 0 ) @@ -235,7 +223,7 @@ FireWeapon1() move barrel1 to z-axis [-4.500000] now; emit-sfx 1024 + 0 from flare1; sleep 32; - move barrel1 to z-axis [0.0] speed [5.0]; + move barrel1 to z-axis [0.000000] speed [5.000000]; } if( gun_1 == 1 ) { @@ -260,7 +248,7 @@ FireWeapon1() move barrel4 to z-axis [4.500000] now; emit-sfx 1024 + 0 from flare4; sleep 32; - move barrel4 to z-axis [0.0] speed [5.0]; + move barrel4 to z-axis [0.000000] speed [5.000000]; } if( gun_1 == 4 ) { @@ -291,7 +279,7 @@ FireWeapon1() return (0); } -FireWeapon2() +FireSecondary() { recoiling = 1; if( gun_1 == 0 ) @@ -299,7 +287,7 @@ FireWeapon2() move barrel1 to z-axis [-4.500000] now; emit-sfx 1024 + 0 from flare1; sleep 32; - move barrel1 to z-axis [0.0] speed [5.0]; + move barrel1 to z-axis [0.000000] speed [5.000000]; } if( gun_1 == 1 ) { @@ -324,7 +312,7 @@ FireWeapon2() move barrel4 to z-axis [4.500000] now; emit-sfx 1024 + 0 from flare4; sleep 32; - move barrel4 to z-axis [0.0] speed [5.0]; + move barrel4 to z-axis [0.000000] speed [5.000000]; } if( gun_1 == 4 ) { @@ -344,34 +332,56 @@ FireWeapon2() move barrel6 to y-axis [0.000000] speed [4.125]; move barrel6 to z-axis [0.000000] speed [2.475]; } - gun_1 = (gun_1 + 1) % 6; + ++gun_1; + if( gun_1 == 6 ) + { + gun_1 = flare1; + } sleep 96; turn spindle to x-axis <60.005495> * gun_1 - global_pitch speed <360>; recoiling = 0; return (0); } -QueryWeapon1(pieceIndex) +TargetCleared(Func_Var_1) { - pieceIndex = gun_1; + if( Func_Var_1 == 1 ) + { + signal SIG_AIM; + stop-spin turret around y-axis; + } + return (0); } -AimFromWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = spindle; + piecenum = gun_1; + return (0); } -QueryWeapon2(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = gun_1; + piecenum = spindle; + return (0); } -AimFromWeapon2(pieceIndex) +QuerySecondary(piecenum) { - pieceIndex = spindle; + piecenum = gun_1; + return (0); } +AimFromSecondary(piecenum) +{ + piecenum = spindle; + return (0); +} +SweetSpot(piecenum) +{ + piecenum = base; + return (0); +} Killed(severity, corpsetype) { @@ -383,6 +393,22 @@ Killed(severity, corpsetype) explode spindle type BITMAPONLY | NOHEATCLOUD; explode sleeve3 type BITMAPONLY | NOHEATCLOUD; explode barrel3 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare3 type BITMAPONLY | NOHEATCLOUD; + //explode sleeve2 type BITMAPONLY | NOHEATCLOUD; + //explode barrel2 type BITMAPONLY | NOHEATCLOUD; + //explode flare2 type BITMAPONLY | NOHEATCLOUD; + //explode sleeve1 type BITMAPONLY | NOHEATCLOUD; + //explode barrel1 type BITMAPONLY | NOHEATCLOUD; + //explode flare1 type BITMAPONLY | NOHEATCLOUD; + //explode sleeve6 type BITMAPONLY | NOHEATCLOUD; + //explode barrel6 type BITMAPONLY | NOHEATCLOUD; + //explode flare6 type BITMAPONLY | NOHEATCLOUD; + //explode sleeve5 type BITMAPONLY | NOHEATCLOUD; + //explode barrel5 type BITMAPONLY | NOHEATCLOUD; + //explode flare5 type BITMAPONLY | NOHEATCLOUD; + //explode sleeve4 type BITMAPONLY | NOHEATCLOUD; + //explode barrel4 type BITMAPONLY | NOHEATCLOUD; + //explode flare4 type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } if( severity <= 50 ) @@ -393,6 +419,22 @@ Killed(severity, corpsetype) explode spindle type FIRE | SMOKE | FALL | NOHEATCLOUD; explode sleeve3 type FIRE | SMOKE | FALL | NOHEATCLOUD; explode barrel3 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare3 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode sleeve2 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode barrel2 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare2 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode sleeve1 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode barrel1 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare1 type FALL | NOHEATCLOUD; + //explode sleeve6 type FALL | NOHEATCLOUD; + //explode barrel6 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare6 type FALL | NOHEATCLOUD; + //explode sleeve5 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode barrel5 type FALL | NOHEATCLOUD; + //explode flare5 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode sleeve4 type FALL | NOHEATCLOUD; + //explode barrel4 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare4 type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) diff --git a/scripts/Units/cortron.bos b/scripts/Units/cortron.bos index 23c8aaf839e..9c383952208 100644 --- a/scripts/Units/cortron.bos +++ b/scripts/Units/cortron.bos @@ -1,39 +1,117 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, door1, door2, flare; -static-var restore_delay; +static-var gun_1, restore_delay, statechg_DesiredState, statechg_StateChanging; // Signal definitions -#define SIGNAL_AIM1 256 +#define SIG_AIM 2 +activatescr() +{ + if( TRUE ) + { + turn door1 to z-axis <180> speed <60>; + turn door2 to z-axis <-180> speed <60>; + wait-for-turn door1 around z-axis; + sleep 100; + } + return (0); +} + +deactivatescr() +{ + if( TRUE ) + { + turn door1 to z-axis <0> speed <60>; + turn door2 to z-axis <0> speed <60>; + wait-for-turn door1 around z-axis; + sleep 100; + } + return (0); +} + + +Go() +{ + call-script activatescr(); + gun_1 = flare; + return (0); +} + +Stop() +{ + gun_1 = base; + sleep 4000; + call-script deactivatescr(); + return (0); +} + +InitState() +{ + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; + return (0); +} + +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + call-script Go(); + currentstate = 0; + } + if( statechg_DesiredState == 1 ) + { + call-script Stop(); + currentstate = 1; + } + } + statechg_StateChanging = FALSE; + return (0); +} + Create() { hide flare; + gun_1 = base; restore_delay = 3000; + call-script InitState(); return (0); } - -#define BASEPIECE base -#define MAXTILT 0 -#include "../unit_hitbyweaponid_and_smoke.h" +#define SMOKEPIECE base +#include "smokeunit_thread_nohit.h" Activate() { - + start-script RequestState(0); + return (0); } Deactivate() { - + start-script RequestState(1); + return (0); } -SetMaxReloadTime(reloadMS) +SetMaxReloadTime(Func_Var_1) { - restore_delay = reloadMS * 2; + restore_delay = Func_Var_1 * 2; return (0); } @@ -41,35 +119,41 @@ RestoreAfterDelay() { sleep restore_delay; set-signal-mask 0; - turn door1 to z-axis <0> speed <60>; - turn door2 to z-axis <0> speed <60>; + start-script RequestState(1); + return (0); } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; - - turn door1 to z-axis <180> speed <60>; - turn door2 to z-axis <-180> speed <60>; - wait-for-turn door1 around z-axis; - + start-script RequestState(0); + signal SIG_AIM; + set-signal-mask SIG_AIM; + while( !gun_1 ) + { + sleep 250; + } start-script RestoreAfterDelay(); return (1); } -FireWeapon1() +FirePrimary() { + gun_1 = base; + start-script RequestState(1); + return (0); } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = flare; + piecenum = flare; return (0); } - +SweetSpot(piecenum) +{ + piecenum = base; + return (0); +} Killed(severity, corpsetype) { diff --git a/scripts/Units/cortron.cob b/scripts/Units/cortron.cob index 5e972baf539c3fdc7aa52a9f4b4672e456d9d98e..fe363a8850d5c3d67715dafb0b2334ec6e9b834c 100644 GIT binary patch literal 2761 zcmcImJ!@1!6usH3n;5^Iu~A~Nm7rLxQ7o*oQPd#8jjJevkY{#;#ofH*)ZYBPJ zAU2|Qf@oo*jg^hP*xOo&VkIKzId^8($s<`4&<7_ob3e}gm^({~A~FmVfr*01CanBw zn?)V~AAy57f5qAt6{0>Wr%TapEIdCwVAt<=ASjFKL9;?P*!lH~I?4%Ht*~oQR)GwB z+)AyadmrmCL}4toStFL$Z6ubIOE#{H(~q@SvAN`PB7dlRyaNK{P7ci%$Gi{a^znVc zQO}GM+DaKQfg<`q9s6vsz*FGz6Q_F`ea(v-^*x2TAp8Tv3=B- zh{GA?=WW#={p8u!T8h3nz1o(Mx#RPFqU|_IDz=7q&OTPzpBZHyaB?i-XJ#k&sGoQL1KY3; z-sj5NY#oE(r5)*g{SuX;0dnCBIl6o3`I|zYt}J}tYv}n7!hY)PRr({w&2uqd%6$L0 zl}_**(jx}rbo0vDY0NpxqkC{NmhwNgJvoEG^k)zCcL4WLWisH}s)kmt`PD2J#o-*Q zE*D!}Vej+f8}hT$%{S1~el2~zmwRYjw)sDD`7;Olb0vS-tsSf~joFL_y6=t~+6+1! z_d4&ejfA6IkVv`=zDSbe}Dlw$n`(-_wS*@d|W?#{u}8>uexT) z?dsYNa@OVVy;mRUMqAzo*T3DxM)Lg^HEy(yFeZDwo|;zkSTnBCg_kd;K3GfVf3A_T{0B?bKCTre^GqW(0O2dSwQ;F2GWKJe#n^`@BiJUX@ zi)O(cj;DsQdONvpF2F=iH?#4jizc2+W~J&_L#0vZ=Ex(ByOB;$klkkNFzzoL;81A JuC?OS$ZxlE(~kfE literal 2119 zcmb7FJ8M)y6h8aNCgOv!un;V^u<=pc4TwUTT(blvD4K}2d(BQ{aW^;ItYRutXcxrF zN+g|PFNjw80~R(`HdZ!*qJ@I6e&5_VyOYamaN*0Gne(0JoVlrr$N``V?36^xSow=4 zMOwgP;57EzSfwSVf~922=JkHqL}i1m+jEsGH6wML1t9k@b@i%|R?QrN$g?)jz^BaE z)KiWrM-z^F3St#!NGpgj(veRc^WZ9`=JKOhhK{*%rH(7l$zhFJhvpIHOfEU}|AWS} z6;qD#vrtDLV)A?zJfBCbE9AKtzNYJ*$20ZGIOh)S&eh#RRB=6V_Q*l%;%d;`XhU0u zWISER+m7tXW4*L}0FmoMtn|Th)n{>)D8D1+g1RR+1RMr`wey?oNBdUT|iAVWGb&_n1@GKv8>69c$6KeGgIN z>ul;?XM^;iPd`H+gENgm4)fsZVi>*%o#lM?zIc6!#IN~`$ZXAg^XKK@Ty5!Z8hZAX zeIx&^=kr+K<~W)C3H|83jr$%jTj#^yjgvR?cmLw#s852~W|}(NMIFyo=Y05k(z_BG zujPK7T!``WKJPw%4G8_mJZag^6ft}_bq410Ez%6fi( ztH@n_^WIqs_uJ%{N#}?Ar+#15YhRSF?}@zPytzB~akqS2SNDI!cakXE?dPrrxTNDsS^%`fdxU}8N_mhI}XMV4~bziKBw0*!?;0^E_7yx`@2Z7_j z954@D2KayTIq(YD0p0;0fKR}8U}6d-0>^+8Km?otW`G!&%WTrOa-q{dzj4DRYw7C6 zcDR#f(o1gH_EImsZ6#jrckYtkw26vKwtp$Pw`jX*(!SQ|Sy{B}{WP=jO5bKp+f6nk r?(}ls4Vmv`R^_XAZ03VDWTDgT+P2(G)~&SDG;6rO)3VY{GAn-oG!&!p diff --git a/scripts/Units/cortship.bos b/scripts/Units/cortship.bos index 9821f3f5151..e13cd134bbd 100644 --- a/scripts/Units/cortship.bos +++ b/scripts/Units/cortship.bos @@ -1,26 +1,49 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, arm, tower, wake, bow, rdoor, ldoor, boom1, boom2, boom3, boom4, magnet, link, boom5, boom6; - +static-var Static_Var_1, Static_Var_2, Static_Var_3, Static_Var_4, oldHead, Static_Var_5; // Signal definitions -#define SIGNAL_MOVE 1 +#define SIG_MOVE 2 +#define BASEPIECE base +#define HITSPEED <25.0> +//how 'heavy' the unit is, on a scale of 1-10 +#define UNITSIZE 9 +#define MAXTILT 200 -#define RB_MASS 40 -#define RB_LENGTH 8 -#define RB_WIDTH 3 -#define RB_PITCH_ACCELERATION 10 -#define RB_ROLL_ACCELERATION 8 -#define RB_WAKE_PIECE wake -#define RB_WAKE_CEG 1024 + 1 -#define RB_BOWSPLASH_PIECE bow -#define RB_BOWSPLASH_CEG 1024 + 2 +#include "unit_hitbyweaponid_and_smoke.h -#include "../bar_ships_common.h" +SetDirection(heading) +{ + var spd; + spd = (get ABS(oldHead) - get ABS(heading)) / 2; + oldHead = heading; +} + +RockOnWaves() +{ + var rockDir, rockAng, rockSpeed; + rockDir = <-0.1>; + rockAng = <-0.1>; + while( TRUE ) + { + while( get ABS(rockAng) < <1.31> ) + { + rockSpeed = <1.45> - get ABS(rockAng); + turn base to x-axis rockAng speed rockSpeed*3; + wait-for-turn base around x-axis; + rockAng = rockAng + rockDir; + } + rockDir = 0 - rockDir; + rockAng = rockAng + rockDir + rockDir; + } +} Create() @@ -28,9 +51,11 @@ Create() hide bow; hide link; hide wake; - start-script InitRockBoat(); - SLEEP_UNTIL_UNITFINISHED; - start-script BoatPhysics(); + while( get BUILD_PERCENT_LEFT ) + { + sleep 500; + } + start-script RockOnWaves(); } waveSplash() @@ -46,31 +71,164 @@ waveSplash() } } -StartMoving(reversing) +StartMoving() { - + signal SIG_MOVE; + set-signal-mask SIG_MOVE; + var waketime; + start-script waveSplash(); + var bowtime; + bowtime = 0; + while( TRUE ) + { + emit-sfx 1024 + 1 from wake; + if (bowtime) emit-sfx 1024 + 2 from bow; + bowtime = !bowtime; + waketime = (get CURRENT_SPEED) * 100 / get MAX_SPEED; + if( waketime < 50 ) waketime = 50; + sleep 10000 / waketime; + } } StopMoving() { + signal SIG_MOVE; + turn base to x-axis <0.0> speed <3.0>; + move base to y-axis [0.0] speed [0.25]; +} +SweetSpot(piecenum) +{ + piecenum = base; } +StartDoorOpen() +{ + signal 4; + set-signal-mask 4; + turn rdoor to z-axis <-90.> speed <100.>; + turn ldoor to z-axis <90.> speed <100.>; + wait-for-turn rdoor around z-axis; + wait-for-turn ldoor around z-axis; + sleep 5000; + turn rdoor to z-axis <0.> speed <100.>; + turn ldoor to z-axis <0.> speed <100.>; + wait-for-turn rdoor around z-axis; + wait-for-turn ldoor around z-axis; + return(0); +} + +BoomCalc(posxz, posy) +{ + var Func_Var_3, Func_Var_4, Func_Var_5; + Func_Var_3 = get PIECE_XZ(tower) - posxz; + Func_Var_4 = posy - get PIECE_Y(tower); + Func_Var_5 = get XZ_HYPOT(Func_Var_3); + Static_Var_2 = get HYPOT(Func_Var_5,Func_Var_4) -[32]; + Static_Var_3 = get XZ_ATAN(Func_Var_3); + Static_Var_4 = get ATAN(Func_Var_4,Func_Var_5); + Static_Var_5 = Static_Var_2 < 14745600; + return (0); +} + +BoomExtend() +{ + start-script StartDoorOpen(); + turn tower to y-axis Static_Var_3 speed <200.>; + wait-for-turn tower around y-axis; + move boom1 to z-axis Static_Var_2 / 6 speed [60.]; + move boom2 to z-axis Static_Var_2 / 6 speed [60.]; + move boom3 to z-axis Static_Var_2 / 6 speed [60.]; + move boom4 to z-axis Static_Var_2 / 6 speed [60.]; + move boom5 to z-axis Static_Var_2 / 6 speed [60.]; + move boom6 to z-axis Static_Var_2 / 6 speed [60.]; + wait-for-move boom1 along z-axis; + wait-for-move boom2 along z-axis; + wait-for-move boom3 along z-axis; + wait-for-move boom4 along z-axis; + wait-for-move boom5 along z-axis; + wait-for-move boom6 along z-axis; + turn magnet to x-axis Static_Var_4 speed <80.>; + turn arm to x-axis <0.> - Static_Var_4 speed <80.>; + wait-for-turn arm around x-axis; + wait-for-turn magnet around x-axis; + return (0); +} +BoomReset() +{ + turn arm to x-axis <0.> speed <60.>; + turn magnet to x-axis <0.> speed <60.>; + wait-for-turn arm around x-axis; + wait-for-turn magnet around x-axis; + turn tower to y-axis <0.> speed <200.>; + move boom1 to z-axis [0.] speed [50.]; + move boom2 to z-axis [0.] speed [50.]; + move boom3 to z-axis [0.] speed [50.]; + move boom4 to z-axis [0.] speed [50.]; + move boom5 to z-axis [0.] speed [50.]; + move boom6 to z-axis [0.] speed [50.]; + return (0); +} +BoomToPad() +{ + start-script StartDoorOpen(); + turn magnet to x-axis <0.> speed <60.>; + turn arm to x-axis <0.> speed <60.>; + wait-for-turn magnet around x-axis; + wait-for-turn arm around x-axis; + turn tower to y-axis <0.> speed <200.>; + move boom1 to z-axis [0.] speed [60.]; + move boom2 to z-axis [0.] speed [60.]; + move boom3 to z-axis [0.] speed [60.]; + move boom4 to z-axis [0.] speed [60.]; + move boom5 to z-axis [0.] speed [60.]; + move boom6 to z-axis [0.] speed [60.]; + wait-for-turn tower around y-axis; + wait-for-turn arm around x-axis; + wait-for-move boom1 along z-axis; + wait-for-move boom2 along z-axis; + wait-for-move boom3 along z-axis; + wait-for-move boom4 along z-axis; + wait-for-move boom5 along z-axis; + wait-for-move boom6 along z-axis; + turn magnet to x-axis <-30.> speed <60.>; + turn arm to x-axis <30.> speed <60.>; + wait-for-turn arm around x-axis; + return (0); +} TransportPickup(unitid) { - set BUSY to 1; - attach-unit unitid to link; - set BUSY to 0; + call-script BoomCalc(get UNIT_XZ(unitid),get UNIT_Y(unitid) + get UNIT_HEIGHT(unitid)); + if( Static_Var_4 AND get UNKNOWN_UNIT_VALUE(74)(unitid) == get UNKNOWN_UNIT_VALUE(74)(get UNKNOWN_UNIT_VALUE(71)) ) + { + set BUSY to 1; + call-script BoomExtend(); + move link to y-axis [0.000000] - get UNIT_HEIGHT(unitid) now; + attach-unit unitid to link; + call-script BoomToPad(); + attach-unit unitid to 0 - 1; + call-script BoomReset(); + set BUSY to 0; + } } TransportDrop(unitid, position) { - set BUSY to 1; - drop-unit unitid; - set BUSY to 0; + call-script BoomCalc(position,get GROUND_HEIGHT(position) + get UNIT_HEIGHT(unitid)); + if( Static_Var_4 ) + { + set BUSY to 1; + call-script BoomToPad(); + move link to y-axis [0.000000] - get UNIT_HEIGHT(unitid) now; + attach-unit unitid to link; + call-script BoomExtend(); + drop-unit unitid; + call-script BoomReset(); + set BUSY to 0; + } } Killed(severity, corpsetype) @@ -81,7 +239,17 @@ Killed(severity, corpsetype) explode base type BITMAPONLY | NOHEATCLOUD; explode tower type BITMAPONLY | NOHEATCLOUD; explode arm type BITMAPONLY | NOHEATCLOUD; + //explode boom1 type BITMAPONLY | NOHEATCLOUD; + //explode boom2 type BITMAPONLY | NOHEATCLOUD; + //explode boom3 type BITMAPONLY | NOHEATCLOUD; + //explode boom4 type BITMAPONLY | NOHEATCLOUD; + //explode boom5 type BITMAPONLY | NOHEATCLOUD; + //explode boom6 type BITMAPONLY | NOHEATCLOUD; + //explode magnet type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode link type BITMAPONLY | NOHEATCLOUD; explode rdoor type BITMAPONLY | NOHEATCLOUD; + //explode ldoor type BITMAPONLY | NOHEATCLOUD; + //explode wake type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } if( severity <= 50 ) @@ -90,7 +258,17 @@ Killed(severity, corpsetype) explode base type BITMAPONLY | NOHEATCLOUD; explode tower type FIRE | SMOKE | FALL | NOHEATCLOUD; explode arm type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode boom1 type FALL | NOHEATCLOUD; + //explode boom2 type FALL | NOHEATCLOUD; + //explode boom3 type FALL | NOHEATCLOUD; + //explode boom4 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode boom5 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode boom6 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode magnet type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode link type FALL | NOHEATCLOUD; explode rdoor type FALL | NOHEATCLOUD; + //explode ldoor type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode wake type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) @@ -99,15 +277,33 @@ Killed(severity, corpsetype) explode base type BITMAPONLY | NOHEATCLOUD; explode tower type SMOKE | FALL | NOHEATCLOUD; explode arm type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode boom1 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode boom2 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode boom3 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode boom4 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode boom5 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode boom6 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode magnet type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode link type FIRE | SMOKE | FALL | NOHEATCLOUD; explode rdoor type SMOKE | FALL | NOHEATCLOUD; explode ldoor type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode wake type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; explode base type BITMAPONLY | NOHEATCLOUD; explode tower type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode arm type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode boom1 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode boom2 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode boom3 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode boom4 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode boom5 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode boom6 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode magnet type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode link type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode rdoor type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode ldoor type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode wake type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/cortship.cob b/scripts/Units/cortship.cob index acdfbd49b301dead121e053a63df9a9f34c6e456..1b9bff424d5dc63fb09c27d46d93e058f7848d69 100644 GIT binary patch literal 6059 zcmcIoO=w(I6h29lG}gbTMQs<#pom4f7~>Bv3Jqz+YLSMfk_s*|O`df~GH;wrn@SNQ zBDzo)cA*wQDTrOT=*pc^Tok)=Un;tgf{P-hxT?hOJMVrocV1u8Nx@f6?z!jx@80*O zLuPhA;9fvFY_=IIpYsoxjXr2L3D}AK$5^d0n8Yxc;2+2XSm(le2Ue?YN^E>nGFTl< zHepLSu9V|y$#7ybBgwWvBgrO5!0pQYLRvMKdkiRbNs~?PFWi^g9w0sF(zoJa3|6rO zY*U=nA>V1y>T%tq+tsJM!LsW`I8oYrYp83t=(CI`J+921b)_BV!rFX^g?pGq-G{uE zM42a7@+OFc8nptg=ClE~MRce-n2ZD-_o_3|j{VS&cOn|=Oqtl<7zwD6Rdf4{wG&5z z81auH>hGz*AE4mhc^_6nh2MhGWfsV!FjAu>tLHoQOtkGGZ^v~I2UW}kO*L;3{ z2y%3%dRQ`&*BUg<4p+)_^FUwlXm;gCanbh&;L|Vr#69JUt5t`*AC#5tqKx*GwMst2 zoLQZtI4sLmfz@wswuNp8<|Fk}CKq_{gW!6(H__1CatZ-#w_Wb8v1Aa`Qd zoysE8C+~K}%Dbf>pVU!Y_XHiCBl<3@6Ll!VipihZAGk+`JqGqkdVc5OOm6{=59!rU zb6uYq%#ZsglhZ+&AZNC#$A{kwZOd%e$%ny*$;fOi#5eudF_C-Dq$9TJ2h=R=vF5TJ`dJYt_r^tyM3tw^qG8)r$G3 zzj1DyWu0x}ijTPBAuj*K<&U`R$2I@{ulyZWR`Wynt;$)8Yc8BNyn*4}!o9~3=;9Yw z-OCJL9!P=^is;!OZ zHNTx&s%G1XRPq`6F68Nbu6FBPfe71W=GHQ`81 z1HJ;Q}bCIFLwX~64%8NeHWc|Zm@1~>_L5AY%26Tm6JX~5Tj zZvp%2?TNRi(^@lY*wkV+pT63tw`1x{b2gQ>_tsnKY`YGjgW2r-fyQ+0c)DbJT4}AF z+A=m%&4t?1n>N+1wc4*_$Lo!wz_X^%$CI6n%({0R@Sur^@W9W&W_ZUQmeHVt(`5W xEkre++L3J8T61t`3;y>A96kkVwm9a0pZ34c*kbKy10EOZjd`a$>wllK{{TMhb2R_} literal 3965 zcmb`K&1;-h6vodalQf7QulNB4m1!4#K+!RNZq&3Ew1j9(0um6+BpKQvlf2_(Y>Xgv z(P9KQZlq|Dy6_M14-m6eM8U1#!i`;6=%R}TBJug%_nyhkbP}_0!kK&TInO!gIp^N@ zzLT<<-6^?8(it>6qLI(`U1lflHhV{MLhH*KOW8n%tz0d}bX}63^~E@j1FV!YblGFO zzV2hyaz>nihzHJE6!zpPCu^G=&a9%`lCt9BW1Citnxcb;>xk`mA47fxWqdf;%b8UN zL%e_=8_Wj8V@NhIQxU`b+66_=2189Zc4QY8{jCe+Dg59|F7!-^HQYx>pTPvabHmy9 zngpLiaHB`+T<8@eTs?m;Z}L+YI3Ej+1^2_&1h*?YJ3EYb#CRdEdPi(H(HnY6PL^Ot zG-4-b7bgrjw_EHvy#Nzty74z~>rdh$+6_Ba3-@xq#n}F+2wx z&}+DDJZuiH!(*@?UKgCaFWAw0KOBdDio?!6P?~eIxuMK-?mv`~80;;!hj=j5cjo?# zQMd2C}nD7DaAxT0FfIO_ASkE^N0O?U+&`z_dU<6_;DW5rM6IC z!sD$Ns}y;7{TuR2`Gor;)+|%EN7TUD_sxhCb91MVn-Sc{aZQfU`)a|_?PfPiDL%x4 zD}VZks(Lt_UDgC{&b1QsyS@E1*7U*O#a*y*p8&c&`<=~RUt+_xpD(3hdqkt>zwP|X zE_1;7Ghvn8`#<$3UO#_P=wPRiaI{XKRswu;`9s&z<>qK?IghlAJp zC`}Y^o(*)VjkRUP^Z8(mfr^|dF2t=CxMN8!kLhQ_Yj@xMdWD_7?!oC9qNiRvqyJVZ z_P@wKuKeWNeTLw>YoiauCKedWhC@uIX^*^*VCmtdSXY`i%*Bg3fq8wzNjWu=-g#ay z_|Qw|)b$IeG1_DQ*JF$lgmga!U!C`lqJALJr#wahRymi&^YLcFh1@n*+_jASrerMk zUAFjvS9+eliZLe08RLE~9lb=wr(b>a@yF}H z%uBq3@?Mc09-i0Np7&z3ACz|iOw2nQ^J+LS?`JXYetF&Qzh9geXCSSg-u+juFM4wM z+H3T+=lVM0dvl>aCfStZmgEhQ-;i*Qf0q0z`AzbdWJ|*TfZs~KlWafhSI#Wj>DqGbY<+QhIbW*VtL=KNQ@6F+`TBIL zSzA44)16woGm)Qften+6Z^h|MySB30%G;gE#=_G3E$gmNxAT^bH=51*qRrP<>sD(o zTPI(uw-r?x=JPdcFXnmMn&Eps&zGN;HeVhM-_L~aXHBG5>K$t~R+fV1x$ynG{R`Z% BDqjEq diff --git a/scripts/Units/coruwadves.bos b/scripts/Units/coruwadves.bos index 5b8669d940b..81f7cecd4b3 100644 --- a/scripts/Units/coruwadves.bos +++ b/scripts/Units/coruwadves.bos @@ -1,7 +1,9 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base; @@ -9,7 +11,11 @@ Create() { } - +SweetSpot(piecenum) +{ + piecenum = base; + return (0); +} Killed(severity, corpsetype) { diff --git a/scripts/Units/coruwadves.cob b/scripts/Units/coruwadves.cob index 9f20c008581784144a3699a9c224d806eb33b05f..94d55edd3fcf89c9de3a32cf9b63b08376c7a152 100644 GIT binary patch literal 461 zcmZQ!U|?VdVn!g20%91L0u)#P#A|?92Pn7!NHYpB34rAT*aR39m;_*aCIg5#jL!g- z2dM!;kRFhnB#5EFD!`DyCZGfr0~*T!(hs6RY80S!1CVA&U>0ByUOmiR;WCjzEro_x-Br|=WW`e?qR5L+tAx9s`dXPSDAO?l|b|5|o#3z8*xhOTU dB$Xk!JTxFElT!80dO_k0K=Y8zF#?G}&CvuhLHa;$B-NZ` wBy+5x<}ed!4#-Yo)q<=6sRe~mJP@Y=v2#&sVo554cV0ByUOmiR;WCjzEro_x-Br|=WW`e?qR5L+tAx9s`dXPSDAO?l|b|5|o#3z8*xhOTU dB$Xk!JTxFElT!80dO_k0K=Y8zF#?G}&CvuhLHa;$B-NZ` wBy+5x<}ed!4#-Yo)q<=6sRe~mJP@Y=v2#&sVo554cVJ1tZlKu;;lcxUm*xy{2zjU z!lM_#qj>VY&1?*%iVc0)$;_L1v$IPB5h(*DVAd1C&pywA$Sd#(EWk4cf@gd)!Dtv5 zIW3z}nDo63!H7H~Yh}YQeOzS+-=S}M^QH@&Aj-JK9NM-IXdEdQZCG7j`Mzq9yTMpg zvOO)sq%XEU&uY``r&Fw9>zk~`s@9;dpI(IpqanjRyI%7?OaOJ=zt-E=dLB3RA=zv& zt3&nsJ^tc+I78Mh&b_L6SnQ0cNRvFSvXkv2RUgZ{{fj|8a`61{GY#i^oQD;O@yRLh z$agUw`EN1K&Bd%1&hg&WK`_@fm?7rjxL?X~-xv56%u~q2ta-ogTph*=_luwItn&IA z=N)us!q^naVK$=|nDkMT`A$1je;2EqLf;JMGY;WmP8X|-*?g_TzKVMGzNp^2=5n_G z)uS-=MzB(kHfQYYuG;MJuRhMn(>}&PWF4O4fBT^RAlif0xAzS_*+CDuPi}1-H~~7q z1Mmd!e`^w$0p@@TumWrXTfi=G02~9G*GZfvvUk)bg$J+WxH0dCl_)Sw-aeIsZDP+ZY=Uu;cH300ZGbVxBvhE literal 1732 zcmai#zl#%55XUFUUIamT78Z6XEJOv@vk|nocovF?f`Vw}dRaAicR5Tru+T~iK`gHl zv=YJE#=`qA?CmTSv=IcqpSN!=>ypcb%+9=-@BDnTNoHnU(Sqn%%S_++IV$CO(M{1w zX&#EVLOUG7+RK97?S}ml(OtzUZv|WG2F&Q-c3tP5@ntoG-+D zrzB=6_B6-ThK^FQJmnAF(7|7ywrt37FmUuHOj`^a{$5ADX0Twe|H65x6WV#DtJ`9( zP}OrS;l+$O)NwIK>gi6xq4SvJIeYN`TFGyDC(b1Ls|M>??7?fp2VbD%b3WU5>JN^7 z@qI24{z9A>wCgdO-16#<94qLa*g6J(diL4(WhAHH)2zCw;X8md3wq{0EL3;mzHoLD z{A(S&_U6oH*>K&#ryb_ZEZFmdWVi|b%5ZhH9N4{LT-q4Zcw;oN`^EZc9*aEA*gvAX BbPfOj diff --git a/scripts/Units/coruwes.bos b/scripts/Units/coruwes.bos index dac6ebe0329..675682ca66b 100644 --- a/scripts/Units/coruwes.bos +++ b/scripts/Units/coruwes.bos @@ -1,6 +1,8 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base; @@ -8,7 +10,11 @@ Create() { } - +SweetSpot(piecenum) +{ + piecenum = base; + return (0); +} Killed(severity, corpsetype) { diff --git a/scripts/Units/coruwes.cob b/scripts/Units/coruwes.cob index 9f20c008581784144a3699a9c224d806eb33b05f..94d55edd3fcf89c9de3a32cf9b63b08376c7a152 100644 GIT binary patch literal 461 zcmZQ!U|?VdVn!g20%91L0u)#P#A|?92Pn7!NHYpB34rAT*aR39m;_*aCIg5#jL!g- z2dM!;kRFhnB#5EFD!`DyCZGfr0~*T!(hs6RY80S!1CVA&U>0ByUOmiR;WCjzEro_x-Br|=WW`e?qR5L+tAx9s`dXPSDAO?l|b|5|o#3z8*xhOTU dB$Xk!JTxFElT!80dO_k0K=Y8zF#?G}&CvuhLHa;$B-NZ` wBy+5x<}ed!4#-Yo)q<=6sRe~mJP@Y=v2#&sVo554cV0ByUOmiR;WCjzEro_x-Br|=WW`e?qR5L+tAx9s`dXPSDAO?l|b|5|o#3z8*xhOTU dB$Xk!JTxFElT!80dO_k0K=Y8zF#?G}&CvuhLHa;$B-NZ` wBy+5x<}ed!4#-Yo)q<=6sRe~mJP@Y=v2#&sVo554cVMSc-gs`dGlswFDZyf02G0FPsGQ`&vQZK75D&_=s<#Jd_$9G zXAVXrhWViNjg1Y6q3jQjd^rrvB7M|AP_@L28TphS-7lA;nn&cCg0Xp#XJjid(^`kI zy}+>66zvds(Aj`V-#Z(0oMq?3VL1}|zj)x!#)?do|<#2wh# zu-_Z!_j~;L{pddOd%t%)9CpW4)E+WlHpc@Vv_G9+Okm$N<}sG#2S)FSb#&(5ICFG1 z#%4$kGp!exsztu`6FUDDPC3NR%=o|<)2Kl{XV2@|y*s@(gsJBD3u@dI1_Dm#_M;dK1Vc$G%&b{Xgwd>vMK;>?OMT)Z}cV=#s+U?Iv&sJOWPu|Enee z1Iz*oKm@D<+rTbR0rvP@PaEfPn#j&s!lQcHK1udlja15wv~+op#GQ6asuxL;Ry*xf bDvf3{Ig&2Zx^&dyZX(BVYlUB{{92Q5fm>du literal 1732 zcmai#F>ez=5QWF~jXU%(=X4Ym+aPyrR9 z;0FK|H4P07e+Q^2sHk|~-i~uIj$>&&yEAXz%+Ai*nVIF1CCST{SzDUV85u82Zb{B- z|4_OW+5sPWw5&y80ldQI`Z^1IS;I%X-OIySY~;ZC+orkxCcEe9Yi}V77COO-RtZS9yQ^g; zo7arXHurtt@nuD=E#x6`$<~&S-l4&urF7;z+GAg3^E#R}gN=70{fFSSPG}dkt?7fq zLS4@bEvW|+y=&rPj&!Ei35U%&iCaB!u+}(3MJM(o#;XSFT78zpL5$}lpUm-`^JDkp z!Es(N|3*phsex7~(mz_r515IsKmI)lCgQ0Hj`UX6}QzbuQ;% zCc(cG-fN%j**xEY8g+Nx8+sAnlos%1>@}z4W$8V~$60)CTM3WJXLDLlnhktY&NM^E z8+kkj7?~qB=FpqWx5o?@IDaE7r?n*BJBgQhSj5Zhk_UAd?-tI)J50QB-WJsRmY6xb z)Ol3wheKj9^IN$p*_QlduX^}Tcr1A)c_Vo*`6&4;`6Br$`6l@;>1|C0Ps>SV>rX1w z)xqS-^V?N98tz@|H+QyC?v@X#{>|Otqsp!ic6O@1joFMx!-?H5$CYiDdl&dx;p?LP E1Kz@M4*&oF diff --git a/scripts/Units/coruwmex.bos b/scripts/Units/coruwmex.bos index 423ddc687a7..7f9309bc53c 100644 --- a/scripts/Units/coruwmex.bos +++ b/scripts/Units/coruwmex.bos @@ -1,25 +1,82 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, drive, emit1, emit2, emit3,emit4; -static-var resourceRate; +static-var Static_Var_1, Static_Var_2, Static_Var_3, statechg_DesiredState, statechg_StateChanging; // Signal definitions -#define SIGNAL_TURNON 4 +#define SIG_ACTIVATE 2 +Go() +{ + spin drive around y-axis speed Static_Var_1 accelerate Static_Var_2; +} + +Stop() +{ + stop-spin drive around y-axis decelerate Static_Var_3; + wait-for-turn drive around y-axis; +} + +InitState() +{ + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; +} + +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + call-script Go(); + currentstate = 0; + } + if( statechg_DesiredState == 1 ) + { + call-script Stop(); + currentstate = 1; + } + } + statechg_StateChanging = FALSE; +} + Create() { hide emit3; hide emit2; hide emit4; hide emit1; - resourceRate = 0; + Static_Var_1 = 0; + Static_Var_2 = 91; + Static_Var_3 = 182; + dont-shade drive; + dont-cache drive; + call-script InitState(); + while( get BUILD_PERCENT_LEFT ) + { + sleep 1000; + } } -EmitBubbles() +Activate() { + start-script RequestState(0); + signal SIG_ACTIVATE; + set-signal-mask SIG_ACTIVATE; while( TRUE ) { emit-sfx 259 from emit1; @@ -30,25 +87,20 @@ EmitBubbles() } } -Activate() +Deactivate() { - signal SIGNAL_TURNON; - set-signal-mask SIGNAL_TURNON; - spin drive around y-axis speed resourceRate accelerate 90; - start-script EmitBubbles(); + start-script RequestState(1); + signal SIG_ACTIVATE; } -Deactivate() +SweetSpot(piecenum) { - signal SIGNAL_TURNON; - stop-spin drive around y-axis decelerate 180; + piecenum = base; } - -SetSpeed(windOrMetal) +SetSpeed(Func_Var_1) { - resourceRate = windOrMetal * 20; - if (resourceRate > 0) call-script Activate(); // Because SetSpeed is called after Activate + Static_Var_1 = Func_Var_1 * 20; } Killed(severity, corpsetype) diff --git a/scripts/Units/coruwmex.cob b/scripts/Units/coruwmex.cob index 614678389225c815534e02b93544e921c986c9f2..8a95950a2cd7799cfde28e3256f596ea09466233 100644 GIT binary patch literal 2367 zcmcImziU%b6h3)L;|~}?+~aaw$FBbqX^ymXDEoc zIV!k_qm!FX;wCuxednFiTtXA_zy`jYdw!qu-5W?tM9us0Lf49w8%@~HE)_(^>&~ir9{@oew>btWuDgTWTBbVX+du#x}dJ)=nJquebQ@( zB?xrWd6<*dU`|?}Im~5DhFJEU%suiWj(+Ja1onA?qx;6YR=x*}%Q2sQ-0wZoJgvE2 zZXCdMqbBF)l>+66kt|kh}w*g}JOj{gKsTU+V8n*E{=O-I5u*?yAHP9t#M(rggo{OdWibw2N@HAmI`=(!x<75RRHB+k}k!te1e zuKPW^?r+6)a=`q*Y;Ln1nvEu(O}U>jo5%9qu^x5a52fq=HvKKpeu)8{W=MIb$zxeB zjlWD^UcHNp7>YGGo4*C>IdsYrQhLoG;ndL_JkW=qsrq=Xej`ntyEHpyWp!5|HWtE3-As2 z0sI2~0NELlbHE~S1-J@a1D1dlU=_GKlx{H`$-QTTqFeNfC=cWF7jf5=+dGlATbspT xkB2+4@5kB6{lo0hUHx{SMX)}ns%jsKw>h;c?;_0`MB<1x$a*%_s=)F zT|wXMdkgH5Pj$V)8i7b*YyFHy4Y_KT|@SO4%MY| zRoAPJtF9-{=XL#O_Oq|m|4O;e)>*&J*8KU|Y|C$D1K0yjfh&OD_dZYp&Vg&-2Dk$f z-~s3Z17HXob!;`Ua&p^D4)1HVmhH+xJ!$rMd2FldmTgjQTicLQv(@?cq- diff --git a/scripts/Units/coruwmme.bos b/scripts/Units/coruwmme.bos index e613dfe204e..18ccfb437ee 100644 --- a/scripts/Units/coruwmme.bos +++ b/scripts/Units/coruwmme.bos @@ -1,18 +1,79 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, disc; -static-var resourceRate; +static-var Static_Var_1, Static_Var_2, Static_Var_3, Static_Var_4, statechg_DesiredState, + statechg_StateChanging; static-var Stunned; // Signal definitions -#define SIGNAL_TURNON 4 +#define SIG_ACTIVATE 2 + + +Go() +{ + if (Stunned) { + return(0); + } + spin disc around y-axis speed Static_Var_1 accelerate Static_Var_2; + set ARMORED to 0; + Static_Var_4 = 1; +} + +Stop() +{ + stop-spin disc around y-axis decelerate Static_Var_3; + Static_Var_4 = 0; + set ARMORED to 1; + +} + +InitState() +{ + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; +} + +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + call-script Go(); + currentstate = 0; + } + if( statechg_DesiredState == 1 ) + { + call-script Stop(); + currentstate = 1; + } + } + statechg_StateChanging = FALSE; +} Create() { - resourceRate = 0; - SLEEP_UNTIL_UNITFINISHED; + Static_Var_4 = 0; + Static_Var_1 = 0; + Static_Var_2 = 91; + Static_Var_3 = 910; + call-script InitState(); + while( get BUILD_PERCENT_LEFT ) + { + sleep 1000; + } set ARMORED to 1; } @@ -20,37 +81,41 @@ SetStunned(State) { Stunned = State; if (Stunned) { - call-script Deactivate(); + call-script Stop(); } else { - call-script Activate(); + call-script Go(); } } Activate() { - signal SIGNAL_TURNON; - set-signal-mask SIGNAL_TURNON; - - spin disc around y-axis speed resourceRate accelerate 90; - set ARMORED to 0; + start-script RequestState(0); + signal SIG_ACTIVATE; + set-signal-mask SIG_ACTIVATE; while( TRUE ) { - emit-sfx 259 from disc; + if( Static_Var_4 ) + { + emit-sfx 259 from disc; + } sleep 250; } } Deactivate() { - signal SIGNAL_TURNON; - stop-spin disc around y-axis decelerate 180; - set ARMORED to 1; + start-script RequestState(1); + signal SIG_ACTIVATE; +} + +SweetSpot(piecenum) +{ + piecenum = base; } -SetSpeed(windOrMetal) +SetSpeed(Func_Var_1) { - resourceRate = windOrMetal * 10; - if (resourceRate > 0) call-script Activate(); // Because SetSpeed is called after Activate + Static_Var_1 = Func_Var_1 * 10; } Killed(severity, corpsetype) diff --git a/scripts/Units/coruwmme.cob b/scripts/Units/coruwmme.cob index 52deea65de56d8a9dec56055ca8f2b6c20798a55..10098257c217abbb6b18e4dbfa85393df3bf5347 100644 GIT binary patch literal 1697 zcmbVMzl#%55T0!I_6{w4f{j;guf=L12R1oQ5EZ$@6c&OcCa+jLl3cQtAzV3XD@1kL$h%}xefe6TP5DI`M=U3g?5CbTg~@wmJVu-AdbG<_MM9_8iD;Bnr+!mxug2M@-6ZX{7oJ~=Y9Fy z%zJD$3VuG9?@)~)o4rBvYu}^U8`AUi&wJv|K7q%&Y@hl^i)*s*4|}ul|DxaK`(PZJ zytekaq_%T8xA)B*((XEQ)$fJ&b0ieaz+IfgUF2UTDWAQ$3uuZt*qgr>>N#}EDWr6o zLBi@hcMj8{Pvb2Qd-T1Lcbz$`-ZiVodp>PF7G|C`=0Pt!^S9^csh!#5vOap`Ss(YU z5AO7|edOT&Yi|1gCnxWLF?zW++gavB8d(Rf05^aaz&qeQ@EQ0Dd;@+0{BOSrw1B(7 zL*Ow`0%PDMZ~(jlUITA|+e2wr!;#z>lvTUxR#6_rz5O^bWosO1Ye(q&gF)=eX0Ixr h(RM3#{n&mUK^P4yC5|F!_sZQ}h$r1ilzuts$!}5hbIt$& literal 948 zcma)5u}Z{15S>fnDi*SW2zDt1K`esx6(`z=9tdY87RKBbfpDB&w6U=gtn5Yfz|O`- z|G*Ejw(`BrE(VFgz+-0L%zHE0+(jayfB^V#5kb14$RSVw8#tGU9UW-aqNIvEFOrBO zEhkDZASKuDAW1q}dP+x*TXK;liRZNUk^`kB4xsw+W>18(?S=2E)hLY>st3Mnj^o~Z z>VC{QSH{ZDvH5kCAAzPf%aVwl!8z3U9c|6+=y%w4Jt2utr-SB;&F)>hu7?!g>-QdS z)CmG%}nIqnlARpfcf z9zAR4)X%oh_4A$mcVy2dHF4$pgp?e2YV&=d26NhcGxj*&cck>?Z==n3ih7gpf3%N( zXh|;v>%cy644eV{uUr8)z#VW8JOeMlE3kcT($dJll!NkOG%`ck%F6tb+>S|o%JSHt RxR)0N!f84&GR!BLd;; + rockAng = <-0.1>; + while( TRUE ) + { + while( get ABS(rockAng) < <1.31> ) + { + rockSpeed = <1.45> - get ABS(rockAng); + turn base to x-axis rockAng speed rockSpeed*5; + turn base to z-axis rockAng speed rockSpeed*5; + wait-for-turn base around x-axis; + wait-for-turn base around z-axis; + rockAng = rockAng + rockDir; + } + rockDir = 0 - rockDir; + rockAng = rockAng + rockDir + rockDir; + } +} MMStatus(State) @@ -15,7 +34,7 @@ MMStatus(State) Active = State; if (State) { - spin fan around y-axis speed <300.0> accelerate <10>; + spin fan around y-axis speed <300.000000> accelerate <10>; show emit; } else @@ -27,15 +46,15 @@ MMStatus(State) Create() { - start-script FloatMotion(); } +#define SMOKEPIECE base +#include "smokeunit_thread_nohit.h" -#define BASEPIECE base -#define MAXTILT 100 -#define UNITSIZE 10 -#include "../unit_hitbyweaponid_and_smoke.h" - +SweetSpot(piecenum) +{ + piecenum = base; +} Killed(severity, corpsetype) { diff --git a/scripts/Units/coruwmmm.cob b/scripts/Units/coruwmmm.cob index f56302adea3fa680c2614540d06688f75c035483..b25d159c905bd19b36cab3a19893bafac0c5a68d 100644 GIT binary patch literal 1449 zcmbtUJ!=$E6umo{%oY|tK@cIu{D2gLWvURHfCfXB5X&8t7qTR~8{AP5LMk2c z%7wuC*c0=T(x0tJ1s#4`V<}n##h0#@7%VNAwJx>SSaSuMg<2)*al#_FWK z*VO7ls`F2=u5@C_W}&-rzr0HMo#z~%nf($L&KlOgK~PEB2NP_H&PY(_OS65)hq2nR z873R=!Sj;W9+Bs>`R1Tf=DGu3y%yT8QBbA*p5RJZt+Jl(pI7#vF-!D<{<{7e+up|~ z^QVmarf=8w76sV1R4F!NwlxIQhaXM+y`7rAN5kLtHZYSjlV=y?Z%ht?85UaqHQv!X z=l&H}=A(#uX7n18EY0CN7}`rau5)8@_=4 z0Dc1eAKU}RKm$An-U9D|55NiV5!jmU9^RYm)Q{s#HZ}%L-8`Df?T4{$q725HB5@4Ua|Os}m;e9( literal 2556 zcmbuBziU)M5Xa{(mkS0An@R-<57H_;thA9N{z{O8Knk(T(|gKck`wbR0+x!MwWWoB zfUTXSHWq@7mDnhVa*)EpBF<-b=d$-aCB{pJ-TD2U+1b5oiO7`Fgi@y|qW}K0enjMf z(o>~VDtWG}WKGv_O?L&0tmT?{)3HSk@dt~|Q8xL6w;?7nMEEq=jPaRA9(`K6O?|*O z&gVGt=+oA1>N6R6pKrbG2FiPsQGTA9+=Q=bu&2HYqj&@WrukzpX4nE4$lKV z#=_S6!WwE1dDvtBDB2i5hf|C-&0b?!p885&i!Ygk^H3L)S-;_}KW4dfg@m z%DDW7RsK>pXCYar+s?)6HvWI>X3o;Oi3@MD^od~^Q@7~{??Qcc-X>SCL)RVVHq^~N zJ#XU=UAGJ8&D^AQTig{CdBe#<+nr8okk$6ceQo9OZfdX8OhoU>l=_18q&^O;%kNd5 zi=SV@%Bnd3R%q;*X#0f33yIBou(6r(d7b8tpAmVcxf4RinDWkmXFlfWB2)b6IUn@w z7un~N-u9f@aw~N4*ip&qz7BhI)Xgf2iCN)8A1Q+so%IzP@>y>UM~WF+d+WaVUW9YE zxilRraRJYDO#&W7)Ro5YIbu!SXorkDZL!YIjABJ@_tE?7+aXz)lhns@k`EWl`@8SH zKX%lM??c_P+8w4>7PG$cMy0ldsoNNDwyBMOv`6gkxXuW@ zNPSMA%figh#l8?8ysY4SrmMKA;XER**X?u1IC+f2T>opFo5YTBmSP+~69>Qp)`QxT zW>;xei#eurN$IuHwC3bD)eEJUO0SgODt%D;tn^)JSLuh+<&Az(b^2AWza^c{T2)l{ zx8=gUvZzW~?o~@W*UI80ByUOmiR;WCjzEro_x-Br|=WW`e?qR5L+tAx9s`dXPSDAO?l|b|5|o#3z8*xhOTU dB$Xk!JTxFElT!80dO_k0K=Y8zF#?G}&CvuhLHa;$B-NZ` wBy+5x<}ed!4#-Yo)q<=6sRe~mJP@Y=v2#&sVo554cV @@ -10,6 +28,41 @@ piece base, link, thrust1, thrust2, thrust3, thrust4; #define UNITSIZE 1 #define MAXTILT 100 + +InitState() +{ + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; + return (0); +} + +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + call-script pickupscr(); + currentstate = 0; + } + if( statechg_DesiredState == 1 ) + { + call-script dropoffscr(); + currentstate = 1; + } + } + statechg_StateChanging = FALSE; + return (0); +} + #define IDLEHOVERSCALE 32 #define IDLEHOVERSPEED 60 #define IDLEBASEPIECE base @@ -27,25 +80,41 @@ Create() turn thrust3 to x-axis <-90> now; turn thrust4 to x-axis <-90> now; - SLEEP_UNTIL_UNITFINISHED; + unitviewer = FALSE; + Static_Var_1 = 0; + call-script InitState(); + while( get BUILD_PERCENT_LEFT ) + { + sleep 400; + } start-script IdleHover(); return (0); } -QueryTransport(pieceIndex) +SweetSpot(piecenum) { - pieceIndex = 1; + piecenum = base; + return (0); } -BeginTransport(targetHeight) +QueryTransport(Func_Var_1, Func_Var_2) { - move link to y-axis [0.0] - targetHeight now; + Func_Var_1 = 1; + return (0); +} + +BeginTransport(Func_Var_1) +{ + move link to y-axis [0.000000] - Func_Var_1 now; + start-script RequestState(0); + return (0); } EndTransport() { - move link to y-axis [0.0] now; + start-script RequestState(1); + return (0); } Activate() @@ -54,6 +123,7 @@ Activate() show thrust2; show thrust1; show thrust3; + return (0); } Deactivate() @@ -62,8 +132,41 @@ Deactivate() hide thrust2; hide thrust1; hide thrust3; + return (0); +} + + + +StopMoving() +{ + signal 8; + Static_Var_1 = 0; + return (0); } +MoveRate1() +{ + signal 8; + set-signal-mask 8; + Static_Var_1 = 1; + return (0); +} + +MoveRate2() +{ + signal 8; + set-signal-mask 8; + Static_Var_1 = 2; + return (0); +} + +MoveRate3() +{ + signal 8; + set-signal-mask 8; + Static_Var_1 = 3; + return (0); +} Killed(severity, corpsetype) { diff --git a/scripts/Units/corvalk.cob b/scripts/Units/corvalk.cob index 6a0e2d618d17379119eeec7f37ba08a352e6db01..8b58b867e61cd1cd78e1e035604b57516db0fa0e 100644 GIT binary patch literal 4028 zcmdUyzl&T|6vyxG&Q9X*7n_hG@<7E#WwNmhx`_!IL|Jzf8-@M#vJP2iCNpn0SY-m~ z0wOjxDJ?B5`~xCb*xLp~5V5ru9KWCQ?s@z2e4ES^0iEG+?mfTH_uO~iOe=(NLev)B zS_H#pDT;orQ!o%dpnA^)sv+qFI*ZAoxcjhIs&Y?^ zkSd<2rMT$AMmu>yOrDmf9>eo`e0=aF&!XZZultsI*`W^`%L#ct)Y5fcV^}M6m#|A! zU;Mb$LUbUxpubtsk>(#c5a~QAaZ8_>5$B2IQMHW);FAdaLjZa<7$1s*X z9Q_?Bh%bDmaCyqNh+}I`v-}VrWyg61PxptrEJS~Qb{>|;@jDmuIk)FYb$LAY^bIGU zVZj{K)87>twYyDNEqtW5^X8a&zt5pi4v*_SRsGNhzVSnD*V7}@;2vTYv&O}*8rL!K zxHdb*JvL`t{Hk%uL%pwv(<5r?ofU_wpT$iJ9O`k|&x3=<#jhIIad7>-IQ*=`MxP}P zv0l=Y{dbD~*<0P(Ge7s^nE`ij`$Go_Ip>Kwk=dEi+4uLxmgyFBCfdm_N(>I%XPnD> z+WUDaagT8@X*yRWjtzG7RgGuoqrr~8umi`&ybW_~%p2`IugCjW-U`m-1vl^k6Y#N` z#qFKBq1%(SxZx^Jz3j;Y_dC3GcRCGsqh2cFxXgTOGP~nyGRqZZVso7>N4}aDUj`>bBHv&%m(woka+qE4cSW%(|WV zObR)5&+9|&^ZL+tlaK#y;rW+|)qRRZTD)_9if4j4nV(~yYENGi@vytZ9 z$d7)oZ}PKwAEEPkH2Lv7_+7^gs{O4<=l!*nfZWtDYkxF~PjUYh_oY3P!r{N%_jaZ4 zi?MI;owaYD)BmAw=J2R{b3E+e$Jx(DT@xStS(VwEfM91|<@>$U-(et7e(RtB( zqK`ydqR&LvMK?vaMPG@&7TpnjBl=eKy=d6mzPdjgZ;!&xXfPaHxx(^tzn6FO%{&Y1 z*|q&_95uV-1_9S-vF{(d(4{DaYEe>@zF@^B&B?e!10m-;)0 zoAcXw?*Q+M*`_bM`C$0&;Goyv4Px24)Mv`oO1U~4-s$b_WjkSObDV{}UjJ&yKOOCl O^D~jJM1D5%*TO%;+9JFF literal 2769 zcmcJRJ!n%=6vuDUG_6k0O$X&|E>dE3=pa(RKoKEACnwYPp}~-rBo#%(E^gxHCZ(GW zA_^k7RW}_4_l}N^Zt?%S@1ErLHLWexl*2jqeE!e5CpWD)=O#r}QMc^em^h!`hnzcl z*tr?eDV^)$E-fd!Q7MsKpK`67kS{(@gmVdp+tuW;gtGkc!{6+f!KT)>*qoD9wj84(W^+IKCkH&YNvMrWGt{k~mku1u zxt`pyZ&4rn$JiNGj914&o?*U<$6pCHu7P{rNxOK~6FY`%xg*6JaepUvF-z&Xkfz3srry3xMI ze%tB>KdZ~!2lI~m2!6mJA9G_q%!HlyGr(A{>fP0=hb)d8-1i~w>xgWc7`oWy;v;(kuzHXmyJZKm6N)d#=7h7lac$dl&3iIXaV&iXXm>-Z!S zgTC!twA=2P9qi<@v*EEb_X8I4&`XSK8ePCO6>yQC`4{WrN}ZPo!dbNcOI!=o2)O0~ zF8bUJ*K=b211@^rZ|${!<)AYm&8i0dR`gNyMf6SdL$oR4|GitHhG<#zMD$GbLbNV= zC3+)zFZv|onTk<)u!~UCiz@+r#6P_Tunx rVWHQ&Pt4`4VdC{>tCcOf`9?Q$t!De4>)q|FbbF@*pAP&?;Ah<*Gsnpb diff --git a/scripts/Units/corvamp.bos b/scripts/Units/corvamp.bos index 1fce47312e2..2b388eb006d 100644 --- a/scripts/Units/corvamp.bos +++ b/scripts/Units/corvamp.bos @@ -1,10 +1,23 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece missilea, missileb, base, thrustb1, thrustb2, thrusta; -static-var gun_1; +static-var statechg_DesiredState, statechg_StateChanging, gun_1; + + +activatescr() +{ + sleep 15; +} + +deactivatescr() +{ + sleep 9; +} #define BASEPIECE base #define HITSPEED <105.0> @@ -13,8 +26,58 @@ static-var gun_1; #define MAXTILT 100 -#define BARRELROLLSPEEED <200> -#include "air_barrelroll.h" +InitState() +{ + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; +} + +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + call-script activatescr(); + currentstate = 0; + } + if( statechg_DesiredState == 1 ) + { + call-script deactivatescr(); + currentstate = 1; + } + } + statechg_StateChanging = FALSE; +} + +static-var maxSpeed, currentSpeed; +BarrelRoll() // remember to start-script BarrelRoll(); in Create()! +{ + currentSpeed = (get CURRENT_SPEED); + maxSpeed = (get MAX_SPEED); + + while (TRUE){ + sleep 2000; + currentSpeed = (get CURRENT_SPEED); + //get PRINT(maxSpeed, currentSpeed, Static_Var_1); + if( Rand( 1, 5 ) == 1 AND (maxSpeed < (currentSpeed+100) ) ) + { + turn base to z-axis <240.054945> speed <120.027473>; + wait-for-turn base around z-axis; + turn base to z-axis <120.027473> speed <180.043956>; + wait-for-turn base around z-axis; + turn base to z-axis <0.000000> speed <120.027473>; + } + } +} Create() { @@ -23,35 +86,57 @@ Create() hide missileb; hide thrustb2; hide missilea; - gun_1 = 0; + gun_1 = 1; + call-script InitState(); start-script BarrelRoll(); } Activate() { show thrusta; + start-script RequestState(0); } Deactivate() { hide thrusta; + start-script RequestState(1); } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { return (1); } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = missilea + gun_1; - + if( gun_1 == 1 ) + { + piecenum = missilea; + } + if( gun_1 == 2 ) + { + piecenum = missileb; + } } -FireWeapon1() +FirePrimary() { - gun_1 = !gun_1; + if( gun_1 == 1 ) + { + gun_1 = 2; + return (0); + } + if( gun_1 == 2 ) + { + gun_1 = 1; + return (0); + } } +SweetSpot(piecenum) +{ + piecenum = base; +} Killed(severity, corpsetype) { diff --git a/scripts/Units/corvamp.cob b/scripts/Units/corvamp.cob index e2560dc9ecf9ee1e4fd74e37553fa5f718775b44..8c227fa13d0cf325168e1cc96798d7867c5b9fec 100644 GIT binary patch literal 2397 zcmc&$J&O}j6utS_tfI0HEJQ?@Lc1;Ef~~l&3bG1uV>*jWk|z#K+;wK6Y~_@Ke_|0V z6n}wO%GPUPXCt-?mR5_N^XA=T3`x*J-Q{rayC3I%yqA!=h@1i%z)?kH36g)oF_C+~ zb6^$cJ;;iwniV>m6+@k>v>Hx7PJMg!B% zXkF!Z(#KXk|8y?7NlklEW67{i2R8LhdMbQ3m=K^p|EGSfQO$fdiPmshTL z0!z?-XXWXf%$d~>{RICJ;<(OI35t2{l=$^C!+L>_%^{`B_qaUXT>ukfa!B=2otLNg z82FeRQuFja1DK{c-QCXVg>Q~Ck(+O*Jl`5^e!dreKHblvUKlfP22#?;B~s#R+RZ?{ zc>gu`-g0l}z82N`8*}$r+t0o4=jIN7_g*>EqIpP9f8b>fsrUFVW@YU^nI}Md%*i3O zPpY)(UAqqj-ZyRk^B&n3e;b?x&H(p;SHOE^_ zfkWUsP{j|172q6j5m*H-16P0z;5N_!!hRM#2{W7a6B*d@>DHqtYiDrDmVG?3sXtr` zlf=eb+i@%#iKTnpQ^@skzN|;XRuT=vWLNHvY_h9|n^9s_Z$Gs*Ywv7lvKhs(9mp_B a(+uGD@@FB~{kE63S17Yq;0| literal 1358 zcmb_cyGjE=6un6{iC7IHf`yREN-&D8;ERCRL_w?sH*wH~jgiepvGNBj#mZtk!P?p{ zP_VPJwb#Z*@SNEh-H3`37Z3M!?qlXo^h9I;C;>w`5&W4i_C!vBD_{bi8%U|-6_HbU zwL(_KQ~4@<_~Hik;)-_=EqM7c;@~Ts?TcttWFO#UrwZ;nho+Nfg^r z7Omv`w0VV;6fVcB+FXTP`?;8~UOlbT$7y-tBabOad0cL?3u;53L4%gaYD2tKy zV=eQ|I5?oPq speed <120.027473>; + wait-for-turn base around z-axis; + turn base to z-axis <120.027473> speed <180.043956>; + wait-for-turn base around z-axis; + turn base to z-axis <0.000000> speed <120.027473>; + } + } +} Create() { @@ -36,37 +58,44 @@ Deactivate() hide thrust2; } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { return (1); } -AimWeapon2(heading, pitch) +AimSecondary(heading, pitch) { return (1); } -FireWeapon1() +FirePrimary(Func_Var_1) { - gun_1 = !gun_1; + Static_Var_2 = !Static_Var_2; + return (0); } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = gun_1; + piecenum = Static_Var_2; + return (0); } -FireWeapon2() +FireSecondary(Func_Var_1) { - gun_1 = !gun_1; + Static_Var_2 = !Static_Var_2; + return (0); } -QueryWeapon2(pieceIndex) +QuerySecondary(piecenum) { - pieceIndex = gun_1; + piecenum = Static_Var_2; + return (0); } - +SweetSpot(piecenum) +{ + piecenum = base; +} Killed(severity, corpsetype) { diff --git a/scripts/Units/corveng.cob b/scripts/Units/corveng.cob index 807fb49243461933332caad0b370ab0dcc0f213f..3dbf293c5012b7f317979bd4696938aca392edcb 100644 GIT binary patch literal 1876 zcmcgtJxd#59RKIM#9CT-RzcyWP6|mVUE9l>?sc{bsM*INMUrO(k`inm4DBJDHl{;4j0EhMES%E)AER)&gFc(|Jdao zIat%&A*TlW=a0S8cacmmy75n||%`&K`3vb0~YiS!Q&5nKgd;#ysmfunp`08u$S8fg>OTJ_Dz~ zIlynnH{d()1Na480e^tMz%}q3--jjO1+WUd0$u}kU=w&7CW(&U_v2XB5*?;mYMnGX zAXC?&V{1{bnMA!XITo-j-RXbqQfNepc7}KRIyrU%4P!TB8jGz%t<%<^pUOrQ$GR)M ZXgG{wU2#lRcEh2TbT8Q-rWH%8as$;!n~eYf literal 1404 zcmbtUJxjw-6uqr!9bBH`A}DlpaA*VWR!czyse*JXMtx``T1lhgvDW$w3aw@M@ z$SQd%Uxp74eI|FasOr{!9EDQO8U74OmQSAJQ|>UPJj0u$UMj$w)}?g(lsBS86_gwS z=v4!qH5wbK?A|h8R33t0?0y7_o#Xwy#~*aY1z1`YwHWno1Mca+0OA~ z^UV7*#2nYGiMc5_hqHg1W1D0<$D7ULIfuEAOV<3u9Gr33UN-~1oIQAE(w2cH&;m5D z543?(0Dn=r0ImRjcV2*3-~%Y)Lp2Ue1GB(9Pz6?j4WI?=0uhh^i$NUgXuTapvJ~qe z(Nf(`!V@Yr9XPcb9yE1u)IO}pm+DJBjJ0#G9qaha8NGlnnSd`VVHD{dIS4zQFwzyL S__7srv?P1+aVM!*>B}c_s(=mv diff --git a/scripts/Units/corvipe.bos b/scripts/Units/corvipe.bos index cb9c411c0f8..ab8f14cde6e 100644 --- a/scripts/Units/corvipe.bos +++ b/scripts/Units/corvipe.bos @@ -1,5 +1,7 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, turret, flare, door1, door2, exhaust, aimpoint, lock1, lock2; @@ -7,8 +9,8 @@ static-var restore_delay, is_open; static-var Stunned; // Signal definitions -#define SIGNAL_AIM1 256 -#define SIGNAL_TURNON 4 +#define SIG_AIM 2 +#define SIG_OPENCLOSE 4 #define BASEPIECE base #define HITSPEED <20.0> @@ -16,13 +18,13 @@ static-var Stunned; #define UNITSIZE 5 #define MAXTILT 0 -#include "../unit_hitbyweaponid_and_smoke.h" +#include "unit_hitbyweaponid_and_smoke.h" Close() { - set-signal-mask SIGNAL_AIM1; + set-signal-mask SIG_AIM; is_open = 0; - move turret to y-axis [-44.0] speed [69.0]; + move turret to y-axis [-44.000000] speed [69.000000]; wait-for-move turret along y-axis; move door1 to x-axis [8.54000000] speed [47.600000]; move door2 to x-axis [-8.54000000] speed [47.600000]; @@ -40,7 +42,7 @@ Open() move lock1 to z-axis [3.6000000] speed [12.700000]; move lock2 to z-axis [-3.6000000] speed [12.700000]; wait-for-move door1 along x-axis; - move turret to y-axis [0] speed [69.0]; + move turret to y-axis [0] speed [69.000000]; wait-for-move turret along y-axis; is_open = 1; } @@ -71,7 +73,10 @@ Create() hide flare; restore_delay = 3000; is_open = 0; - SLEEP_UNTIL_UNITFINISHED; + while( get BUILD_PERCENT_LEFT ) + { + sleep 1000; + } // close and armor once construction is done // only if no target in range when done sleep 1000; @@ -81,10 +86,10 @@ Create() } } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; if ( is_open == 0 ) { start-script Open(); @@ -94,34 +99,37 @@ AimWeapon1(heading, pitch) { sleep 250; } - turn turret to y-axis heading speed <200.0>; + turn turret to y-axis heading speed <200.000000>; wait-for-turn turret around y-axis; start-script RestoreAfterDelay(); return (1); } -FireWeapon1() +FirePrimary() { emit-sfx 1024 + 0 from exhaust; } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { if (is_open == 1) { - pieceIndex = flare; + piecenum = flare; } else { - pieceIndex = aimpoint; + piecenum = aimpoint; } } +SweetSpot(piecenum) +{ + piecenum = turret; +} - -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = aimpoint; + piecenum = aimpoint; } Killed(severity, corpsetype) diff --git a/scripts/Units/corvipe.cob b/scripts/Units/corvipe.cob index 607e86d46ecef1375b259aacfaa66b0f262ab4de..f71a4dd6d5abcae13b47b072b93e4406d01bdbc1 100644 GIT binary patch literal 3683 zcmdT{O=w(I6h4`x(}-1{(nY%)apR)mG+HR7LYms32sSoK7t)eva??IKnK!(=p$QZk z(3Oj>+zcp|Zrn+sn^If|A`}$d2yT>ax^QQA1uN+H-Fwc<_1PDi**W2xd*As#-#zz* znG%ubfTw^%lOj`C`T2F9$bn}>-Uklhc>}9-T1kvnf)(GjKvElR7{%I5Eo1uVb-VO0tYgI>r8u3RHJNJ?5 zCusN}oR7@5lP^@>s>#o*981MXJcrEnJayoM9DR)~Wt>TJ$O>%!D3XORSKnYuJEk)} zBxwh(A+wp{N}KIIa4z^*Ov}Sqem1rc1AE#qE`7uEDP4d58(jxEjXL0sHflE-z3T1W z_;ebaNw_mL-FL%>K8Bwo)xCCWpT>s(etWUl{jBQ{Im|I~vk!h)<9=OPi*%-|KFDLN zr`q&ZugD``Qygzwhc^RidR)Du5j+~|y|DV1kJ(hOh;fQ~5W{$^b4vNY&jJFS4S!~s zo8vHIkG^;4I16zv@bEsIJ(~r_q`#kX>aT~{I?W*P_wPe&!}(*QIk6MomnIuolIq=h z`{__ST`W%AOFa9z_V7CkXMEf%SCg?;mS?f-K3vh7n|ii)k>_g==E3hV?@cj3)0lSd z?3Z)NPm|Aet@lqFX%CFUdb`)6d)SH28`H^DM4W>@UIyNMzbK^YJHb2a0p3dVgB@LY zKI}8DE%=9Xy^9ChvTu7AlH(s$-j3w;n0#g|^Lw0rC;xcv=z9>cq!a2oh=Sty%){r7 zu3K1T3H>H}eVvUck6FlkDK3kAJ^Yzeq4W>|8f26cY%DK18x9! z`2d2B0CT_@;6vala1*!#`~>_0+ynS~=M&%>@Hub;_zL(I_yPD0xDWgRJOZZiyW$1l zMc`%N72tK?7%&UW1MdQ7fpfrHSvj|P)}@2IFNl=-Z1wtsKv zicNc1yzCHZke9TcFY?OcovhbG@Q+fIQVxs4m9pAP3nwdiUL5w{GvYQbro;78(rj&z QXZ=!o`SPX1{(DCL0lcaamH+?% literal 3052 zcmcImJ&06S6h1RMj%yJNJE zXDDxOQ0z`@YmiM~rH(3@8|f&kKvZjbj3o60>FHAqc3g?!stRDpn@`Il&Y4*Hq5oF| z@0&=fO)rae^dX7QXMey`#JXaf#t1dd1{`JPlX3Q-!L+elwT|Y5_C)QGgET~Iu-s^4 zeW5KwTU>e1c4SW+>!s}_Y`I>>YVplyd6lL=Bg4{78DqR*V+>`i*?K<{Vv--1H~qaJ zAk@Q}c^;DZGcjAP(yVArD`19slzO(Fj;2FA&dz$nv*66G1$~V?=9D#XYdxneYq7a~ zfUWtn*)-l}gK)~!XPBXfk<4Nc!#ucZjD$DBX4%i)v!JgKxaMa>_SKUYL0*mIW=nt5 z(6g`X8}WYxJjHf5g|-*`J*AlSP(*u?Lt%aR7E!&Npa#x?n1EZozFTp7uTJ8=;N*zG zLm#HQKX|P^v>!qD^`D!Ae+Xc=5sS@!SqIOmW9-=fw&07oNMlmxgIlZ5^ePK_%Sq&4 z%_;Ub(rwV3*2{PGIxNQIyR`J5`W%<~lTHVV!Q7qzh&|TYIoEji z#kCN|K5*V`F6fgz9{RcIXY3rEz#diW3$Y)&5cF%QC`(egugL!97>-oGFeA>CwKj)Iq zIGev=!`$8w6l$O!%9<;q_lPv2JA_GPC{i4QHY%G7`7)6;e1(XGj&M8EI3I80&vFe6 zu{>vc&+z{9TSs|4l9zpcOdrn@u{)Sg!^iys0V!iHjLVh$O{}=x!+9{itmiq#c$OaX zJcpRqI~L-xCpP26=({iEH5>A>ew5?Ft@^#h4e~VoFM+qbjJLdux4ex1P+p7l8S+{V zdC`B|FY`kvYrzP8lDz1<9Q)T0iwpI}TThI)o)~XEG2VJ&e7Ps|zYBC5^b+(X0xW>K zp!1+Bpj)8Fpr@eMptm6Y2i*?Z3EB<%2J|gx9`qBa4>}FH2wDN%0Nn!J2HgSO1>FZd z0R01c1bPB`4m#2<_MbiG(tg(at`&1~Fzu!%Tx-6YopN%ZlPx>>q3?Qf=!{z&6z-^7 zF0$OsEEO(4=sM|HnRmr}G3fPNOWs!=$X!}EnQ3=@uqip*&YkUl9JoAWF-6SbJR9P^ zZ+ALyc|1h|#URgJAxoV!chbtTd`f?(#hp2s4wef^+ueTF?iJF>7Eev-@3g!FRao`B diff --git a/scripts/Units/corvoyr.bos b/scripts/Units/corvoyr.bos index 2f8ee300542..24feea1fcd9 100644 --- a/scripts/Units/corvoyr.bos +++ b/scripts/Units/corvoyr.bos @@ -1,22 +1,24 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece torso, rthigh, lthigh, lleg, lfoot, rleg, rfoot, dish1,belt,dish2,cover1,cover2,cover3,lens1,lens2,lens3, pelvis; -static-var isMoving; +static-var bMoving, Static_Var_2; static-var Stunned; // Signal definitions -#define SIGNAL_TURNON 4 +#define SIG_ACTIVATE 2 // For N:\animations\corvoyr_anim_walk.blend Created by https://github.com/Beherith/Skeletor_S3O V((0, 2, 8)) // this animation uses the static-var animFramesPerKeyframe which contains how many frames each keyframe takes static-var animSpeed, maxSpeed, animFramesPerKeyframe; -#define SIGNAL_MOVE 1 +#define SIG_WALK 4 Walk() {// For N:\animations\corvoyr_anim_walk.blend Created by https://github.com/Beherith/Skeletor_S3O V((0, 2, 8)) //CC BY NC ND (c) Beherith - set-signal-mask SIGNAL_MOVE; - if (isMoving) { //Frame:4 + set-signal-mask SIG_WALK; + if (bMoving) { //Frame:4 turn lfoot to x-axis <2.498132> speed <548.994061> / animSpeed; //delta=-18.30 turn lfoot to z-axis <-0.004969> speed <321.525153> / animSpeed; //delta=10.72 turn lfoot to y-axis <-0.003030> speed <88.669098> / animSpeed; //delta=-2.96 @@ -26,29 +28,29 @@ Walk() {// For N:\animations\corvoyr_anim_walk.blend Created by https://github.c turn lthigh to y-axis <-55.769652> speed <2076.881149> / animSpeed; //delta=-69.23 //WARNING: possible gimbal lock issue detected in frame 4 bone lthigh move pelvis to y-axis [-2.499635] speed [44.989042] / animSpeed; //delta=-1.50 - turn pelvis to z-axis <-4.0> speed <119.999986> / animSpeed; //delta=4.00 - turn pelvis to y-axis <-10.0> speed <299.999991> / animSpeed; //delta=-10.00 + turn pelvis to z-axis <-4.000000> speed <119.999986> / animSpeed; //delta=4.00 + turn pelvis to y-axis <-10.000000> speed <299.999991> / animSpeed; //delta=-10.00 turn rfoot to x-axis <-69.187747> speed <1624.829211> / animSpeed; //delta=54.16 - turn rfoot to z-axis <0.0> speed <317.155065> / animSpeed; //delta=-10.57 - turn rfoot to y-axis <0.0> speed <83.359052> / animSpeed; //delta=2.78 + turn rfoot to z-axis <0.000013> speed <317.155065> / animSpeed; //delta=-10.57 + turn rfoot to y-axis <0.000385> speed <83.359052> / animSpeed; //delta=2.78 turn rleg to x-axis <54.230876> speed <99.852175> / animSpeed; //delta=-3.33 turn rthigh to x-axis <18.536018> speed <1581.606305> / animSpeed; //delta=-52.72 turn rthigh to z-axis <5.676764> speed <183.106349> / animSpeed; //delta=6.10 turn rthigh to y-axis <9.547723> speed <752.060125> / animSpeed; //delta=25.07 sleep ((33*animSpeed) -1); } - while(isMoving) { - if (isMoving) { //Frame:8 + while(bMoving) { + if (bMoving) { //Frame:8 turn lfoot to x-axis <9.449029> speed <208.526903> / animSpeed; //delta=-6.95 turn lleg to x-axis <35.862055> speed <1245.720671> / animSpeed; //delta=41.52 turn lthigh to x-axis <-87.954805> speed <273.953765> / animSpeed; //delta=-9.13 turn lthigh to z-axis <27.160669> speed <2813.941513> / animSpeed; //delta=-93.80 turn lthigh to y-axis <42.799762> speed <2957.082419> / animSpeed; //delta=98.57 //WARNING: possible gimbal lock issue detected in frame 8 bone lthigh - move pelvis to y-axis [-3.0] speed [15.010958] / animSpeed; //delta=-0.50 - turn pelvis to x-axis <4.0> speed <119.999999> / animSpeed; //delta=-4.00 - turn pelvis to z-axis <-0.0> speed <119.999986> / animSpeed; //delta=-4.00 - turn pelvis to y-axis <-15.0> speed <150.0> / animSpeed; //delta=-5.00 + move pelvis to y-axis [-3.000000] speed [15.010958] / animSpeed; //delta=-0.50 + turn pelvis to x-axis <4.000000> speed <119.999999> / animSpeed; //delta=-4.00 + turn pelvis to z-axis <-0.000000> speed <119.999986> / animSpeed; //delta=-4.00 + turn pelvis to y-axis <-15.000000> speed <150.000021> / animSpeed; //delta=-5.00 turn rfoot to x-axis <-36.861424> speed <969.789669> / animSpeed; //delta=-32.33 turn rleg to x-axis <66.513755> speed <368.486383> / animSpeed; //delta=-12.28 turn rthigh to x-axis <23.060713> speed <135.740840> / animSpeed; //delta=-4.52 @@ -56,16 +58,16 @@ Walk() {// For N:\animations\corvoyr_anim_walk.blend Created by https://github.c turn rthigh to y-axis <9.866766> speed <9.571272> / animSpeed; //delta=0.32 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:12 + if (bMoving) { //Frame:12 turn lfoot to x-axis <23.034917> speed <407.576649> / animSpeed; //delta=-13.59 turn lleg to x-axis <37.682413> speed <54.610743> / animSpeed; //delta=-1.82 turn lthigh to x-axis <-63.158609> speed <743.885875> / animSpeed; //delta=-24.80 turn lthigh to z-axis <-8.928342> speed <1082.670335> / animSpeed; //delta=36.09 turn lthigh to y-axis <2.612451> speed <1205.619330> / animSpeed; //delta=-40.19 move pelvis to y-axis [-1.613899] speed [41.583019] / animSpeed; //delta=1.39 - turn pelvis to x-axis <2.0> speed <60.0> / animSpeed; //delta=2.00 - turn pelvis to z-axis <4.0> speed <119.999999> / animSpeed; //delta=-4.00 - turn pelvis to y-axis <-10.0> speed <150.0> / animSpeed; //delta=5.00 + turn pelvis to x-axis <2.000000> speed <60.000000> / animSpeed; //delta=2.00 + turn pelvis to z-axis <4.000000> speed <119.999999> / animSpeed; //delta=-4.00 + turn pelvis to y-axis <-10.000000> speed <150.000021> / animSpeed; //delta=5.00 turn rfoot to x-axis <-73.153573> speed <1088.764460> / animSpeed; //delta=36.29 turn rleg to x-axis <79.006793> speed <374.791126> / animSpeed; //delta=-12.49 turn rthigh to x-axis <8.674156> speed <431.596717> / animSpeed; //delta=14.39 @@ -73,16 +75,16 @@ Walk() {// For N:\animations\corvoyr_anim_walk.blend Created by https://github.c turn rthigh to y-axis <10.289436> speed <12.680101> / animSpeed; //delta=0.42 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:16 + if (bMoving) { //Frame:16 turn lfoot to x-axis <-34.696374> speed <1731.938735> / animSpeed; //delta=57.73 turn lleg to x-axis <69.133747> speed <943.540022> / animSpeed; //delta=-31.45 turn lthigh to x-axis <-35.312420> speed <835.385684> / animSpeed; //delta=-27.85 turn lthigh to z-axis <-7.175859> speed <52.574493> / animSpeed; //delta=-1.75 turn lthigh to y-axis <-2.401188> speed <150.409147> / animSpeed; //delta=-5.01 - move pelvis to y-axis [-1.0] speed [18.416981] / animSpeed; //delta=0.61 - turn pelvis to x-axis <1.0> speed <30.0> / animSpeed; //delta=1.00 - turn pelvis to z-axis <6.0> speed <60.0> / animSpeed; //delta=-2.00 - turn pelvis to y-axis <0.0> speed <299.999991> / animSpeed; //delta=10.00 + move pelvis to y-axis [-1.000000] speed [18.416981] / animSpeed; //delta=0.61 + turn pelvis to x-axis <1.000000> speed <30.000000> / animSpeed; //delta=1.00 + turn pelvis to z-axis <6.000000> speed <60.000006> / animSpeed; //delta=-2.00 + turn pelvis to y-axis <0.000000> speed <299.999991> / animSpeed; //delta=10.00 turn rfoot to x-axis <-42.717181> speed <913.091756> / animSpeed; //delta=-30.44 turn rleg to x-axis <90.748277> speed <352.244535> / animSpeed; //delta=-11.74 turn rleg to z-axis <-0.269048> speed <9.353566> / animSpeed; //delta=0.31 @@ -92,16 +94,16 @@ Walk() {// For N:\animations\corvoyr_anim_walk.blend Created by https://github.c turn rthigh to y-axis <4.301284> speed <179.644545> / animSpeed; //delta=-5.99 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:20 + if (bMoving) { //Frame:20 turn lfoot to x-axis <-69.655888> speed <1048.785417> / animSpeed; //delta=34.96 turn lleg to x-axis <54.424996> speed <441.262527> / animSpeed; //delta=14.71 turn lthigh to x-axis <18.799694> speed <1623.363418> / animSpeed; //delta=-54.11 turn lthigh to z-axis <-5.762684> speed <42.395266> / animSpeed; //delta=-1.41 turn lthigh to y-axis <-9.934393> speed <225.996168> / animSpeed; //delta=-7.53 move pelvis to y-axis [-2.528348] speed [45.850453] / animSpeed; //delta=-1.53 - turn pelvis to x-axis <-0.0> speed <30.0> / animSpeed; //delta=1.00 - turn pelvis to z-axis <4.0> speed <60.0> / animSpeed; //delta=2.00 - turn pelvis to y-axis <10.0> speed <299.999991> / animSpeed; //delta=10.00 + turn pelvis to x-axis <-0.000000> speed <30.000000> / animSpeed; //delta=1.00 + turn pelvis to z-axis <4.000000> speed <60.000006> / animSpeed; //delta=2.00 + turn pelvis to y-axis <10.000000> speed <299.999991> / animSpeed; //delta=10.00 turn rfoot to x-axis <1.269836> speed <1319.610522> / animSpeed; //delta=-43.99 turn rleg to x-axis <78.432018> speed <369.487757> / animSpeed; //delta=12.32 turn rleg to z-axis <-0.017466> speed <7.547467> / animSpeed; //delta=-0.25 @@ -112,16 +114,16 @@ Walk() {// For N:\animations\corvoyr_anim_walk.blend Created by https://github.c sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:24 + if (bMoving) { //Frame:24 turn lfoot to x-axis <-36.865557> speed <983.709936> / animSpeed; //delta=-32.79 turn lleg to x-axis <66.815253> speed <371.707706> / animSpeed; //delta=-12.39 turn lthigh to x-axis <23.295088> speed <134.861795> / animSpeed; //delta=-4.50 turn lthigh to z-axis <-3.702358> speed <61.809771> / animSpeed; //delta=-2.06 turn lthigh to y-axis <-10.384403> speed <13.500287> / animSpeed; //delta=-0.45 - move pelvis to y-axis [-3.0] speed [14.149547] / animSpeed; //delta=-0.47 - turn pelvis to x-axis <4.0> speed <119.999999> / animSpeed; //delta=-4.00 - turn pelvis to z-axis <-0.0> speed <119.999999> / animSpeed; //delta=4.00 - turn pelvis to y-axis <15.0> speed <150.0> / animSpeed; //delta=5.00 + move pelvis to y-axis [-3.000000] speed [14.149547] / animSpeed; //delta=-0.47 + turn pelvis to x-axis <4.000000> speed <119.999999> / animSpeed; //delta=-4.00 + turn pelvis to z-axis <-0.000000> speed <119.999999> / animSpeed; //delta=4.00 + turn pelvis to y-axis <15.000000> speed <150.000021> / animSpeed; //delta=5.00 turn rfoot to x-axis <7.620218> speed <190.511468> / animSpeed; //delta=-6.35 turn rleg to x-axis <36.463149> speed <1259.066075> / animSpeed; //delta=41.97 turn rthigh to x-axis <-87.089311> speed <220.110291> / animSpeed; //delta=-7.34 @@ -129,15 +131,15 @@ Walk() {// For N:\animations\corvoyr_anim_walk.blend Created by https://github.c turn rthigh to y-axis <13.589570> speed <942.241125> / animSpeed; //delta=-31.41 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:28 + if (bMoving) { //Frame:28 turn lfoot to x-axis <-71.956774> speed <1052.736510> / animSpeed; //delta=35.09 turn lleg to x-axis <78.974445> speed <364.775747> / animSpeed; //delta=-12.16 turn lthigh to x-axis <8.500066> speed <443.850640> / animSpeed; //delta=14.80 turn lthigh to z-axis <3.561027> speed <217.901549> / animSpeed; //delta=-7.26 move pelvis to y-axis [-1.512294] speed [44.631186] / animSpeed; //delta=1.49 - turn pelvis to x-axis <2.0> speed <60.0> / animSpeed; //delta=2.00 - turn pelvis to z-axis <-4.0> speed <119.999999> / animSpeed; //delta=4.00 - turn pelvis to y-axis <10.0> speed <150.0> / animSpeed; //delta=-5.00 + turn pelvis to x-axis <2.000000> speed <60.000000> / animSpeed; //delta=2.00 + turn pelvis to z-axis <-4.000000> speed <119.999999> / animSpeed; //delta=4.00 + turn pelvis to y-axis <10.000000> speed <150.000021> / animSpeed; //delta=-5.00 turn rfoot to x-axis <23.773006> speed <484.583634> / animSpeed; //delta=-16.15 turn rleg to x-axis <29.899621> speed <196.905850> / animSpeed; //delta=6.56 turn rthigh to x-axis <-57.455592> speed <889.011548> / animSpeed; //delta=-29.63 @@ -145,17 +147,17 @@ Walk() {// For N:\animations\corvoyr_anim_walk.blend Created by https://github.c turn rthigh to y-axis <-2.599492> speed <485.671849> / animSpeed; //delta=-16.19 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:32 + if (bMoving) { //Frame:32 turn lfoot to x-axis <-42.421489> speed <886.058550> / animSpeed; //delta=-29.54 turn lleg to x-axis <90.027050> speed <331.578159> / animSpeed; //delta=-11.05 turn lleg to z-axis <1.254578> speed <37.962064> / animSpeed; //delta=-1.27 turn lleg to y-axis <-1.262127> speed <38.168078> / animSpeed; //delta=-1.27 turn lthigh to x-axis <-45.987869> speed <1634.638045> / animSpeed; //delta=54.49 turn lthigh to y-axis <-2.461012> speed <239.440266> / animSpeed; //delta=7.98 - move pelvis to y-axis [-1.0] speed [15.368814] / animSpeed; //delta=0.51 - turn pelvis to x-axis <1.0> speed <30.0> / animSpeed; //delta=1.00 - turn pelvis to z-axis <-6.0> speed <60.0> / animSpeed; //delta=2.00 - turn pelvis to y-axis <0.0> speed <299.999991> / animSpeed; //delta=-10.00 + move pelvis to y-axis [-1.000000] speed [15.368814] / animSpeed; //delta=0.51 + turn pelvis to x-axis <1.000000> speed <30.000000> / animSpeed; //delta=1.00 + turn pelvis to z-axis <-6.000000> speed <60.000006> / animSpeed; //delta=2.00 + turn pelvis to y-axis <0.000000> speed <299.999991> / animSpeed; //delta=-10.00 turn rfoot to x-axis <-34.943675> speed <1761.500425> / animSpeed; //delta=58.72 turn rleg to x-axis <69.608042> speed <1191.252644> / animSpeed; //delta=-39.71 turn rthigh to x-axis <-35.023393> speed <672.965971> / animSpeed; //delta=-22.43 @@ -163,7 +165,7 @@ Walk() {// For N:\animations\corvoyr_anim_walk.blend Created by https://github.c turn rthigh to y-axis <3.391952> speed <179.743329> / animSpeed; //delta=5.99 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:36 + if (bMoving) { //Frame:36 turn lfoot to x-axis <2.498132> speed <1347.588624> / animSpeed; //delta=-44.92 turn lleg to x-axis <77.386077> speed <379.229178> / animSpeed; //delta=12.64 turn lleg to z-axis <0.014915> speed <37.189867> / animSpeed; //delta=1.24 @@ -173,9 +175,9 @@ Walk() {// For N:\animations\corvoyr_anim_walk.blend Created by https://github.c turn lthigh to y-axis <-55.769652> speed <1599.259204> / animSpeed; //delta=-53.31 //WARNING: possible gimbal lock issue detected in frame 36 bone lthigh move pelvis to y-axis [-2.499635] speed [44.989042] / animSpeed; //delta=-1.50 - turn pelvis to x-axis <-0.0> speed <30.0> / animSpeed; //delta=1.00 - turn pelvis to z-axis <-4.0> speed <60.0> / animSpeed; //delta=-2.00 - turn pelvis to y-axis <-10.0> speed <299.999991> / animSpeed; //delta=-10.00 + turn pelvis to x-axis <-0.000000> speed <30.000000> / animSpeed; //delta=1.00 + turn pelvis to z-axis <-4.000000> speed <60.000019> / animSpeed; //delta=-2.00 + turn pelvis to y-axis <-10.000000> speed <299.999991> / animSpeed; //delta=-10.00 turn rfoot to x-axis <-69.187747> speed <1027.322162> / animSpeed; //delta=34.24 turn rleg to x-axis <54.230876> speed <461.315006> / animSpeed; //delta=15.38 turn rthigh to x-axis <18.536018> speed <1606.782348> / animSpeed; //delta=-53.56 @@ -185,27 +187,27 @@ Walk() {// For N:\animations\corvoyr_anim_walk.blend Created by https://github.c } } } -// Call this from StopMoving()! +// Call this from MotionControl()! StopWalking() { - move pelvis to y-axis [-1.0] speed [11.462613]; + move pelvis to y-axis [-1.000000] speed [11.462613]; turn lfoot to x-axis <-15.801670> speed <432.984684>; turn lfoot to y-axis <2.952606> speed <22.167275>; turn lfoot to z-axis <10.712536> speed <80.381288>; turn lleg to x-axis <49.807751> speed <311.430168>; - turn lleg to y-axis <0.0> speed <9.542020>; - turn lleg to z-axis <0.0> speed <9.490516>; + turn lleg to y-axis <0.000000> speed <9.542020>; + turn lleg to z-axis <0.000000> speed <9.490516>; turn lthigh to x-axis <-32.798606> speed <482.159933>; turn lthigh to y-axis <13.459719> speed <739.270605>; turn lthigh to z-axis <-13.454992> speed <703.485378>; - turn pelvis to x-axis <0.0> speed <30.0>; - turn pelvis to y-axis <0.0> speed <74.999998>; - turn pelvis to z-axis <0.0> speed <30.0>; + turn pelvis to x-axis <0.000000> speed <30.000000>; + turn pelvis to y-axis <0.000000> speed <74.999998>; + turn pelvis to z-axis <0.000000> speed <30.000000>; turn rfoot to x-axis <-15.026773> speed <440.375106>; turn rfoot to y-axis <-2.778250> speed <20.839763>; turn rfoot to z-axis <-10.571822> speed <79.288766>; turn rleg to x-axis <50.902470> speed <314.766519>; - turn rleg to y-axis <0.0> speed <2.350710>; - turn rleg to z-axis <0.0> speed <2.338391>; + turn rleg to y-axis <0.000000> speed <2.350710>; + turn rleg to z-axis <0.000000> speed <2.338391>; turn rthigh to x-axis <-34.184192> speed <407.039796>; turn rthigh to y-axis <-15.520947> speed <305.222422>; turn rthigh to z-axis <11.780309> speed <431.371681>; @@ -225,16 +227,16 @@ UnitSpeed(){ sleep 131; } } -StartMoving(reversing){ - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; - isMoving=TRUE; +StartMoving(){ + signal SIG_WALK; + set-signal-mask SIG_WALK; + bMoving=TRUE; start-script UnitSpeed(); start-script Walk(); } StopMoving(){ - signal SIGNAL_MOVE; - isMoving=FALSE; + signal SIG_WALK; + bMoving=FALSE; call-script StopWalking(); } @@ -245,7 +247,7 @@ StopMoving(){ #define UNITSIZE 2 #define MAXTILT 100 -#include "../unit_hitbyweaponid_and_smoke.h" +#include "unit_hitbyweaponid_and_smoke.h" Lights() { @@ -262,15 +264,16 @@ Lights() Create() { - isMoving = FALSE; + bMoving = FALSE; + Static_Var_2 = 1000; animSpeed = 4; return (0); } Activate() { - signal SIGNAL_TURNON; - set-signal-mask SIGNAL_TURNON; + signal SIG_ACTIVATE; + set-signal-mask SIG_ACTIVATE; start-script Lights(); spin belt around y-axis speed <20.021978> accelerate <5>; spin dish1 around x-axis speed <100.021978> accelerate <50>; @@ -286,11 +289,11 @@ Activate() Deactivate() { - signal SIGNAL_TURNON; - set-signal-mask SIGNAL_TURNON; - turn belt to y-axis <0.0> speed <10.021978>; - turn dish1 to x-axis <0.0> speed <100.021978>; - turn dish2 to x-axis <0.0> speed <100.021978>; + signal SIG_ACTIVATE; + set-signal-mask SIG_ACTIVATE; + turn belt to y-axis <0.000000> speed <10.021978>; + turn dish1 to x-axis <0.000000> speed <100.021978>; + turn dish2 to x-axis <0.000000> speed <100.021978>; turn cover1 to x-axis <0> speed <90>; turn cover2 to x-axis <0> speed <60>; @@ -307,9 +310,9 @@ SetStunned(State) { Stunned = State; if (Stunned) { - spin belt around y-axis speed <0.0>; - spin dish1 around x-axis speed <0.0>; - spin dish2 around x-axis speed <0.0>; + spin belt around y-axis speed <0.000000>; + spin dish1 around x-axis speed <0.000000>; + spin dish2 around x-axis speed <0.000000>; } else { spin belt around y-axis speed <20.021978> accelerate <5>; spin dish1 around x-axis speed <100.021978> accelerate <50>; @@ -318,7 +321,11 @@ SetStunned(State) } - +SweetSpot(piecenum) +{ + piecenum = torso; + return (0); +} Killed(severity, corpsetype) { @@ -327,8 +334,21 @@ Killed(severity, corpsetype) corpsetype = 1 ; explode pelvis type BITMAPONLY | NOHEATCLOUD; explode rthigh type BITMAPONLY | NOHEATCLOUD; + //explode rleg type BITMAPONLY | NOHEATCLOUD; + //explode rfoot type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lthigh type BITMAPONLY | NOHEATCLOUD; + //explode lleg type BITMAPONLY | NOHEATCLOUD; + //explode lfoot type BITMAPONLY | NOHEATCLOUD; + //explode belt type BITMAPONLY | NOHEATCLOUD; + //explode dish2 type BITMAPONLY | NOHEATCLOUD; explode dish1 type BITMAPONLY | NOHEATCLOUD; explode torso type BITMAPONLY | NOHEATCLOUD; + //explode lens1 type BITMAPONLY | NOHEATCLOUD; + //explode cover2 type BITMAPONLY | NOHEATCLOUD; + //explode lens3 type BITMAPONLY | NOHEATCLOUD; + //explode lens2 type BITMAPONLY | NOHEATCLOUD; + //explode cover1 type BITMAPONLY | NOHEATCLOUD; + //explode cover3 type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } if( severity <= 50 ) @@ -337,8 +357,20 @@ Killed(severity, corpsetype) explode pelvis type BITMAPONLY | NOHEATCLOUD; explode rthigh type FIRE | SMOKE | FALL | NOHEATCLOUD; explode rleg type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rfoot type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lthigh type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lleg type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lfoot type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode belt type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode dish2 type FALL | NOHEATCLOUD; explode dish1 type FIRE | SMOKE | FALL | NOHEATCLOUD; explode torso type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lens1 type FALL | NOHEATCLOUD; + //explode cover2 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lens3 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lens2 type FALL | NOHEATCLOUD; + //explode cover1 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode cover3 type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) @@ -348,8 +380,19 @@ Killed(severity, corpsetype) explode rthigh type FIRE | SMOKE | FALL | NOHEATCLOUD; explode rleg type FIRE | SMOKE | FALL | NOHEATCLOUD; explode rfoot type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode lthigh type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode lleg type SMOKE | FALL | NOHEATCLOUD; + //explode lfoot type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode belt type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode dish2 type FIRE | SMOKE | FALL | NOHEATCLOUD; explode dish1 type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; explode torso type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lens1 type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode cover2 type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode lens3 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lens2 type SMOKE | FALL | NOHEATCLOUD; + //explode cover1 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode cover3 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; @@ -357,7 +400,18 @@ Killed(severity, corpsetype) explode rthigh type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode rleg type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode rfoot type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lthigh type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode lleg type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode lfoot type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode belt type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode dish2 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode dish1 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode torso type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lens1 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode cover2 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode lens3 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode lens2 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode cover1 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode cover3 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/corvoyr.cob b/scripts/Units/corvoyr.cob index 6c7490f3d4d1c374bc878506cf93b2fa4a55428d..7d8207fdfaaaf6e7a59db0f101fd08f7075b3805 100644 GIT binary patch literal 10477 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 a3Dub&$sZdYdUNFDhr_z7>1939H2N>Xt9Uj5 diff --git a/scripts/Units/corvp.bos b/scripts/Units/corvp.bos index 20c74c2c354..bb370358616 100644 --- a/scripts/Units/corvp.bos +++ b/scripts/Units/corvp.bos @@ -1,15 +1,116 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" -#include "../factories_common.h" +#include "sfxtype.h" +#include "exptype.h" piece pad,base,nano1,nano2,nano3,nano4,fan1,fan2,doorr,doorl,doorf, cagelight, cagelight_emit; -static-var spray; +static-var spray, unitviewer, statechg_DesiredState, statechg_StateChanging; // Signal definitions -#define SIGNAL_TURNON 4 +#define SIG_ACTIVATE 2 +activatescr() +{ + if( TRUE ) + { + + move doorl to x-axis [0.0] now; + move doorl to x-axis [17.0] speed [17]; + move doorr to x-axis [0.0] now; + move doorr to x-axis [-17.0] speed [17]; + move doorf to y-axis [0.0] now; + move doorf to y-axis [-16.0] speed [16]; + wait-for-move doorl along x-axis; + sleep 1000; + } + +} + +deactivatescr() +{ + if( TRUE ) + { + move doorl to x-axis [0.0] speed [17]; + move doorr to x-axis [0.0] speed [17]; + move doorf to y-axis [0.0] speed [16]; + wait-for-move doorl along x-axis; + sleep 500; + } + sleep 12; +} + + +OpenYard() +{ + set YARD_OPEN to 1; + while( !get YARD_OPEN ) + { + set BUGGER_OFF to 1; + sleep 1500; + set YARD_OPEN to 1; + } + set BUGGER_OFF to 0; +} + +CloseYard() +{ + set YARD_OPEN to 0; + while( get YARD_OPEN ) + { + set BUGGER_OFF to 1; + sleep 1500; + set YARD_OPEN to 0; + } + set BUGGER_OFF to 0; +} + +Go() +{ + call-script activatescr(); + call-script OpenYard(); + set INBUILDSTANCE to 1; +} + +Stop() +{ + set INBUILDSTANCE to 0; + call-script CloseYard(); + call-script deactivatescr(); +} + +InitState() +{ + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; +} + +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + call-script Go(); + currentstate = 0; + } + if( statechg_DesiredState == 1 ) + { + call-script Stop(); + currentstate = 1; + } + } + statechg_StateChanging = FALSE; +} Create() { @@ -19,43 +120,57 @@ Create() hide nano1; hide pad; hide cagelight_emit; + unitviewer = FALSE; spray = 0; + call-script InitState(); } +#define SMOKEPIECE base +#include "smokeunit_thread_nohit.h" -#define BASEPIECE base -#define MAXTILT 0 -#include "../unit_hitbyweaponid_and_smoke.h" +QueryNanoPiece(piecenum) +{ + if( spray == 0 ) + { + piecenum = nano1; + } + if( spray == 1 ) + { + piecenum = nano2; + } + if( spray == 2 ) + { + piecenum = nano3; + } + if( spray == 3 ) + { + piecenum = nano4; + } + spray = spray +1; + if( spray == 4 ) + { + spray=0; + } +} -QueryNanoPiece(pieceIndex) +Demo() { - spray = (spray + 1) % 4; - pieceIndex = nano1 + spray; + unitviewer = TRUE; } Activate() { - signal SIGNAL_TURNON; - set-signal-mask SIGNAL_TURNON; - - move doorl to x-axis [17.0] speed [17]; - move doorr to x-axis [-17.0] speed [17]; - move doorf to y-axis [-16.0] speed [16]; - wait-for-move doorl along x-axis; - FACTORY_OPEN_BUILD; + signal SIG_ACTIVATE; + start-script RequestState(0); } Deactivate() { - signal SIGNAL_TURNON; - set-signal-mask SIGNAL_TURNON; - sleep 5000; - - move doorl to x-axis [0.0] speed [17]; - move doorr to x-axis [0.0] speed [17]; - move doorf to y-axis [0.0] speed [16]; - wait-for-move doorl along x-axis; - FACTORY_CLOSE_BUILD; + signal SIG_ACTIVATE; + set-signal-mask SIG_ACTIVATE; + sleep 5000; + set-signal-mask 0; + start-script RequestState(1); } StartBuilding() @@ -67,7 +182,7 @@ StartBuilding() spin fan1 around z-axis speed <200> accelerate <5>; spin fan2 around z-axis speed <200> accelerate <5>; show cagelight_emit; - spin cagelight around y-axis speed <200> accelerate <1>; + spin cagelight around y-axis speed <200>; } StopBuilding() @@ -79,15 +194,18 @@ StopBuilding() stop-spin fan1 around z-axis decelerate <3>; stop-spin fan2 around z-axis decelerate <3>; hide cagelight_emit; - stop-spin cagelight around y-axis decelerate <1>; + turn cagelight to y-axis <0> speed <1000>; } -QueryBuildInfo(pieceIndex) +QueryBuildInfo(piecenum) { - pieceIndex = pad; + piecenum = pad; } - +SweetSpot(piecenum) +{ + piecenum = base; +} Killed(severity, corpsetype) { diff --git a/scripts/Units/corvp.cob b/scripts/Units/corvp.cob index 1824440e51ddfcc6d042781fb1d443630a945800..c08ba0186438e49c39357e5b1edac0a36c707f8b 100644 GIT binary patch literal 4970 zcmb_gONbm*6usTk(}|xzCC)+@ViQ+F(3vrUxN)2qObBQv;|IyYu5{Ooo%D3IJvAm- z1ZE><6%eu!7YZVRD@C%;!Vd@vE(6)?N@tO!7|*%y-R{?A6?BP#Q}1(s=iPhXn=A4S>g!IZJzpaDHlY7!?MDp2U#GH@3&Lai7cUd?eBkxPrn$h{3 zEtc@@;^;ibBa}~gfWt=+kmtM{%nvzS%h{SNtdF#suBRx(yskj0ry2bW9at*oybr4_5}rc3|g`|?w-%R6Sd3w5=xyzWED=qk6Rs-|H$dlhajH^Ffe}JPpGT& zJ!f~F53qmlF%$9o?hM8Lr0wr2M!oYG-MQRdW$YVB7{}!s^bckj7`I49&dLdX!n+;X zKSWz^k3oA)@D^xYFe(p>$^)atI?Bn~Y<%0B#D%`a-T$Gk95qHuqQbZ>yg4`ws*vGT-83`KcRhDeyo3rVwTyMu8s4= z$@foaGf!^Fg>@*3Igh>dSdo3%Ijy&<*jT?6+04U}Efc<9T(1Cc0#|^KfiHnuz-?d= zf3%(eQs6r96Ywi=7uW}mfXFiNJg^4v|7KnXE&!K+UEm6E4fqha348*40el182EGS= z0qy|50r!9f{H8nvECG)Kj{{EvPXW&W&jBw0F9IilGr(EkJP>!Y{`+y3>~zP{OTyJ_ zqh$DYJnqSfLAsOZ?3GkDvUDV;hy83LgO!|1-rG%f{Nlto;oin}dMSAWDsrlytzUgB ziAU*B&h94TtFOkxwB1j-iM*U_r}B~yj+I45fOwp(@Ae11{%}jfO&01xSEq-YpmI4$ zvW-!i$(jCOko05}_vAvnlgJQZR`k27-)HrETsGt33O}pTOVcq9jPF3do6?Q9l0kp# N-E2C0C)vg!{sC!DS#|&b literal 3260 zcmb7GO>0w85S^rH{FbM##D!5@iHle*xRO@8un1Bqq9ACV&1;RONr|Z-ZWJoICY0eC(!sAAC&QRrc>3tqcC_-PW~43&%W&MuTwE!(Dwk(J;JgxEIbmI{$o ziqUSLU!@Q6#9b}mT#wUV9(J*#SQg;RL3e6&F#3qG4{D2wDGx03z{rW37&VlOAtz$Y zS07=|jAab*A50z_it^>u7h>E46LYJoz$r2}|lb(99)W?b)lXoW3K)B6MJE7{h#W*6hat zvZmfsKhEso3j;hKa_0NMiOu%X9#+mdPAiC4@4YkYhjsPn&oJ{j3!d2_ENB;K>5*jO?8 z?fv<{uUzgo0-ST@+!+7P$J4EEnbl~j56+!y&LW5R5Z(cNe~Q=pQ7(1Y_r4H(`?u1y z*)~^)8aGa~!6l`&JJ`2B#MXCVk!$NGNDE5OUR@u613)_IKk=y&T4e5|Q_ z{`{d`=YvYmeZ}_y?fQUreL$<$UM|ME>&utbMSNJ7@qO!+a3=j6!tXxo2RQHR@Y~%< zu#}$JedtB!jrrp9oH5b5%zol+cP6l#aL$nVve|!VlWJ(|{#LxZ3xa&TW8plXVLrd> z(1vN`#=iC2$t7dl9p!mm@I2YiT0EDS4Bp}?-r^}-JY|cg;>A<8c*+(}<%_3q@s!QB zR^vHC(DQukd9wamJoyQPJY|cgZ1Ged;wfA_WsB#s-(NhHFP_2&@#K3P#N}BJ7un+S z(BtAFTU=y|i}J-qwzw!>Tx5%j;#oF)XS8`uk3-%UQAjyPQ{JpR4tiFY<#9&yUz59B-V1e9k<%Y z7HjottubfQ?dC#exNK)lHfEc4vR1DrRa=Owb}7D=SOfbWbk7m@Jmj8-Z8mNk -#define TB_TILT_X <0.18> -#define TB_BANK_Z <0.18> // Do not define this if you dont want banking -#include "../tilt_bank_mobileunit.h" +#include "unit_hitbyweaponid_and_smoke.h" Lights() { @@ -39,26 +34,15 @@ Lights() Create() { - call-script TB_Init(); -} - -StartMoving(reversing) -{ - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; - START_TILTBANK; -} - -StopMoving() -{ - signal SIGNAL_MOVE; - STOP_TILTBANK; + dont-cache dish; + dont-shade dish; + return (0); } Activate() { - signal SIGNAL_TURNON; - set-signal-mask SIGNAL_TURNON; + signal SIG_ACTIVATE; + set-signal-mask SIG_ACTIVATE; start-script Lights(); spin dish around y-axis speed <100.021978>; return (0); @@ -66,9 +50,9 @@ Activate() Deactivate() { - signal SIGNAL_TURNON; - set-signal-mask SIGNAL_TURNON; - turn dish to y-axis <0.0> speed <100.0>; + signal SIG_ACTIVATE; + set-signal-mask SIG_ACTIVATE; + turn dish to y-axis <0.000000> speed <100.000000>; wait-for-turn dish around y-axis; return (0); } @@ -77,13 +61,17 @@ SetStunned(State) { Stunned = State; if (Stunned) { - spin dish around y-axis speed <0.0>; + spin dish around y-axis speed <0.000000>; } else { spin dish around y-axis speed <100.021978>; } } - +SweetSpot(piecenum) +{ + piecenum = base; + return (0); +} Killed(severity, corpsetype) { diff --git a/scripts/Units/corvrad.cob b/scripts/Units/corvrad.cob index 08a7fdc1acb5758f2166a51c5ed59e24c3d35ad2..092e22dd0e18f9ecf2f993ffd8ad58f20d66d184 100644 GIT binary patch literal 2050 zcmbVNF^dyX5T0yePOY9+r#1@;7K$t)*5@gxXmJq5M&)vs#ak{Whgt8i3*ry36g)&5 zJ3G7U4#C1+8w)M0v=AE`LBH?4nav}bBWJ=ev-7^0`QG>5CJhnU539qrYa$6eKWAn{ zZo(eHPU877yrhYXEphlFU4!qaZ@^1dcQRLZNtQVFC61mrdU1Q4EH>S&=9rR&CRRr{ z_LD5&jv}-f)|1bNkB8o%UCrQZ!;*uf;@HY~vWDwE7kSU?ui8;P@q*62E{Yi%7ka;c z%(WSl=1;;|KYD6Hz1fRoo$uhqIBnrrXqfGM2xsc{njW;ycJ$ z2e<|;sLv~e%=!BR{m8&L5he@aPHicUYn2wR8FWU@?jk)gqkZ5^@Ui=Bb2yVYa`*_x zxqOu8VcrLX#0U=Fd#*X?1`X_PzS)Nybfg|{6(96P4&3}5)jV9#V~AVH_*3vzZ|t2h zd&^oB55fN*y@)+>5!g)oAe^QbF|(+vu<58Ck>^H!)jD|b{7g@3kL8hG(C-)u3~xT> zMSV_;VRqtf?-1wM9j^K+pO_QZ4iTJ&v%99VxDVFT6O*bR!pkDg(#`n2Oj`5xsG}c$ z=lnVAymbKBgJ(DGJPu~fUiJnT#{M@(~{=0B3+x;0H|!w5r(kDc{LkEky@b7nZNau-?_lp? zpJ88NKVUy$zhIY&a{j@MyuH@%N$YNZHNV~~$~b$uBUg(%E9F4W-^<%&F6WlZVx7T- pylr7CFI(mPUN7%RYa_?QTECPlMYoH@QhSg~rx>irQn%=>${*vUkF5Xz literal 2799 zcma);F^HU15Xa~CHX9NYKCO(Lu%xjGvWWJ%Gmyj>IC23S!P{g%E}yyV9=R_Efj|?|ZrniQ8pIIyuh|G)X(?7e&}cR3i|yf^=u`Omz0-(J_u zUX;vBCLOawTKU^PVzzM9Y*}(b`wz5Qzf zUql}qa_n)bU7gKo#fHh2_iUVD>kgXLie4dl{@0NWzN}za-5?BmZ1@L{oHJPBVE-KO z$@!u)XwGsQF|26#EG0Zg)Rp5rN2=+3!f_Tc$@A*#&vNxT2J_w%_ZJ82o7WKB@WGdq zc#h-RMtyl%4_41n@FHTCo7sDk>~jEjni;W^y<$6^ce3;FCElB|(^vWi z{^x|}INs(tbk$59aK-OJb{4b95g6_P40~ea?<#ccP@=bYrLcdEefkE(eN(CTC%r#> z^87JN)PxPZ&q2R=H?AjNc!JCM#@l^c&biI!u;oWA@4Qw^@wacwQF92Von3L05Bh(% z_b@pJY9UXoaE`ey(p*y$_NWEC<5ruyUeksg5A?0gIX~Xr-SxXn-v~m7Z`@1p=iGUv zn73Ln$xn`U%;=%_VxTAqx2iQ}=tzpiQOr=ozgK)E1rBbz-_-L(;7O|4jhMgd4M)s- z3DeB0W>w$t_zi-m$Mae1HFfFW*>m+!IOnm^{N}iRr_m3ZXZqzil-GOHir==9F@-e1-Q2R_!E7vG^{EzEx0KYU{E zIPF>6-)f(~6!+Z}SIfR}zaftD>=*Ykm=t$4#pR9Vd?OA}_E`4}*T-A25TCbOew zwRWZ6w0EwT!@9JUdU(A)KiR6rYtknhNnN~LS6kRmmBUb1%6g@~F&>vAJ6El*Yq>Ps PENxV6Ua?E-l|ugyWW>e4 diff --git a/scripts/Units/corvroc.bos b/scripts/Units/corvroc.bos index 3015064098b..45a505c25af 100644 --- a/scripts/Units/corvroc.bos +++ b/scripts/Units/corvroc.bos @@ -1,106 +1,154 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, turret, flare1, flare2 ; -static-var gun_1, restore_delay, timeLeft; +static-var gun_1, restore_delay, statechg_DesiredState, statechg_StateChanging, OpenedState; // Signal definitions -#define SIGNAL_MOVE 1 -#define SIGNAL_AIM1 256 -#define SIGNAL_IDLE 8 +#define SIG_AIM 2 +#define SIG_RESTORE 4 + +Go() +{ + turn turret to x-axis <0.000000> now; + turn turret to x-axis <-90.000000> speed <45.395604>; + sleep 1983; + OpenedState = 1; + return (0); +} + +Stop() +{ + OpenedState = 0; + turn turret to x-axis <-90.000000> now; + turn turret to x-axis <0.000000> speed <45.098901>; + sleep 1996; + return (0); +} #define BASEPIECE base -#define HITSPEED <35.0> +#define HITSPEED <55.0> //how 'heavy' the unit is, on a scale of 1-10 #define UNITSIZE 5 #define MAXTILT 100 -#define RECOIL_POWER 100000 -#include "../unit_hitbyweaponid_and_smoke.h" -#define TB_BASE base -#define TB_TURNRATE <11.0> -#define TB_TILT_X <0.15> -#define TB_BANK_Z <0.15> // Do not define this if you dont want banking -#include "../tilt_bank_mobileunit.h" +#include "unit_hitbyweaponid_and_smoke.h" -Create() +InitState() { - hide flare1; - hide flare2; - restore_delay = 3000; - call-script TB_Init(); + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; + return (0); } -StartMoving(reversing) +RequestState(requestedstate, currentstate) { - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; - START_TILTBANK; + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + call-script Go(); + currentstate = 0; + } + if( statechg_DesiredState == 1 ) + { + call-script Stop(); + currentstate = 1; + } + } + statechg_StateChanging = FALSE; + return (0); } -StopMoving() +Create() { - signal SIGNAL_MOVE; - STOP_TILTBANK; + hide flare1; + hide flare2; + hide flare1; + hide flare2; + OpenedState = 0; + restore_delay = 3000; + call-script InitState(); + return (0); } - -SetMaxReloadTime(reloadMS) +SetMaxReloadTime(Func_Var_1) { - restore_delay = 2 *reloadMS; + restore_delay = Func_Var_1; + return (0); } static-var Stunned; +ExecuteRestoreAfterDelay() +{ + if (Stunned) { + return (1); + } + set-signal-mask 0; + start-script RequestState(1); +} SetStunned(State) { Stunned = State; -} - -TimeToRestore(addTime){ - // This function may not be signal terminated - // If it has to be, it _must_ be immediately restarted - // PROBLEM: the time that is slept depends on number of aim calls. - while((timeLeft > 1) || Stunned){ - addTime = timeLeft; - timeLeft = 1; - sleep addTime; + if (!Stunned) { + start-script ExecuteRestoreAfterDelay(); } - // The restore section must be atomic :/ - timeLeft = 0; - turn turret to x-axis <0.0> speed <45>; +} +RestoreAfterDelay() +{ + signal SIG_RESTORE; + set-signal-mask SIG_RESTORE; + sleep restore_delay; + start-script ExecuteRestoreAfterDelay(); } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - if (timeLeft == 0) + start-script RequestState(0); + signal SIG_AIM; + set-signal-mask SIG_AIM; + while( !OpenedState ) { - // We - start-script TimeToRestore(); + sleep 250; } - timeLeft = restore_delay; - - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; - - turn turret to x-axis <-90.0> speed <45>; - wait-for-turn turret around x-axis; - + start-script RestoreAfterDelay(); return (1); } -FireWeapon1() +FirePrimary() { - gun_1 = !gun_1; } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = flare1 + gun_1; + if (gun_1){ + piecenum = flare1; + } + else + { + piecenum = flare2; + } + gun_1 = !gun_1; + return (0); } - +SweetSpot(piecenum) +{ + piecenum = base; + return (0); +} Killed(severity, corpsetype) { @@ -110,7 +158,7 @@ Killed(severity, corpsetype) explode base type BITMAPONLY | NOHEATCLOUD; explode turret type FIRE | SMOKE | FALL | NOHEATCLOUD; explode flare1 type BITMAPONLY | NOHEATCLOUD; - + //explode flare2 type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } if( severity <= 50 ) @@ -119,7 +167,7 @@ Killed(severity, corpsetype) explode base type BITMAPONLY | NOHEATCLOUD; explode turret type FIRE | SMOKE | FALL | NOHEATCLOUD; explode flare1 type FALL | NOHEATCLOUD; - + //explode flare2 type FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) @@ -128,13 +176,13 @@ Killed(severity, corpsetype) explode base type BITMAPONLY | NOHEATCLOUD; explode turret type SMOKE | FALL | NOHEATCLOUD; explode flare1 type FIRE | SMOKE | FALL | NOHEATCLOUD; - + //explode flare2 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; explode base type BITMAPONLY | NOHEATCLOUD; explode turret type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode flare1 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; - + //explode flare2 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/corvroc.cob b/scripts/Units/corvroc.cob index dad302dcdbef2ab194d36223cef8a493e2397e66..05e982939e72b0279c09de98f1e18549d895cb7e 100644 GIT binary patch literal 2932 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 diff --git a/scripts/Units/corwolv.bos b/scripts/Units/corwolv.bos index bd189bdcf9b..83e7e515fc7 100644 --- a/scripts/Units/corwolv.bos +++ b/scripts/Units/corwolv.bos @@ -1,5 +1,7 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, sleeve, barrel, gun, flare, turret; @@ -7,53 +9,44 @@ static-var restore_delay; static-var out_of_arc_count; // Signal definitions -#define SIGNAL_MOVE 1 -#define SIGNAL_AIM1 256 +#define SIG_AIM 2 + + #define BASEPIECE base #define HITSPEED <55.0> //how 'heavy' the unit is, on a scale of 1-10 #define UNITSIZE 3 -#define MAXTILT 200 -#define RECOIL_POWER 50000 -#include "../unit_hitbyweaponid_and_smoke.h" - +#define MAXTILT 100 -#define TB_BASE base -#define TB_TURNRATE <15.0> -#define TB_TILT_X <0.15> -#define TB_BANK_Z <0.10> // Do not define this if you dont want banking -#include "../tilt_bank_mobileunit.h" +#include "unit_hitbyweaponid_and_smoke.h" +RockUnit(anglex, anglez) +{ + turn base to x-axis (2 * anglex) speed <50.000000>; + turn base to z-axis <0> - (2 * anglez) speed <50.000000>; + wait-for-turn base around z-axis; + wait-for-turn base around x-axis; + turn base to z-axis <0.000000> speed <20.000000>; + turn base to x-axis <0.000000> speed <20.000000>; + return (0); +} Create() { hide flare; hide flare; - turn flare to z-axis <-45.0> now; - turn flare to x-axis <-45.0> now; + turn flare to z-axis <-45.00000> now; + turn flare to x-axis <-45.00000> now; + dont-cache flare; restore_delay = 3000; out_of_arc_count = 0; - call-script TB_Init(); -} - -StartMoving(reversing) -{ - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; - - START_TILTBANK; -} - -StopMoving() -{ - signal SIGNAL_MOVE; - STOP_TILTBANK; + return (0); } -SetMaxReloadTime(reloadMS) +SetMaxReloadTime(Func_Var_1) { - restore_delay = reloadMS * 2; + restore_delay = Func_Var_1 * 2; return (0); } @@ -63,8 +56,8 @@ ExecuteRestoreAfterDelay() if (Stunned) { return (1); } - turn turret to y-axis <0.0> speed <70.0>; - turn gun to x-axis <0.0> speed <60.0>; + turn turret to y-axis <0.000000> speed <70.000000>; + turn gun to x-axis <0.000000> speed <60.000000>; wait-for-turn turret around y-axis; wait-for-turn gun around x-axis; } @@ -81,10 +74,10 @@ RestoreAfterDelay() start-script ExecuteRestoreAfterDelay(); } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; // out of firing arc aim calls happen during "preaiming" logic // logic to reset gun to neutral if the target heading has been @@ -102,42 +95,46 @@ AimWeapon1(heading, pitch) } out_of_arc_count = 0; - turn turret to y-axis heading speed <110.0>; - turn gun to x-axis <45.0> - pitch speed <90.0>; + turn turret to y-axis heading speed <110.000000>; + turn gun to x-axis <45.000000> - pitch speed <90.000000>; wait-for-turn turret around y-axis; wait-for-turn gun around x-axis; start-script RestoreAfterDelay(); return (1); } -FireWeapon1() +FirePrimary() { emit-sfx 1024 + 0 from flare; - move barrel to z-axis [-6.0] speed [1000.0]; - move barrel to y-axis [-5.0] speed [1000.0]; - move sleeve to z-axis [-3.0] speed [1000.0]; - move sleeve to y-axis [-2.50000] speed [1000.0]; + move barrel to z-axis [-6.000000] speed [1000.000000]; + move barrel to y-axis [-5.00000] speed [1000.000000]; + move sleeve to z-axis [-3.000000] speed [1000.000000]; + move sleeve to y-axis [-2.50000] speed [1000.000000]; sleep 33; - move barrel to z-axis [0.0] speed [6.0]; - move barrel to y-axis [0.0] speed [5.0]; - move sleeve to z-axis [0.0] speed [3.0]; - move sleeve to y-axis [0.0] speed [2.500000]; + move barrel to z-axis [0.000000] speed [6.000000]; + move barrel to y-axis [0.00000] speed [5.000000]; + move sleeve to z-axis [0.000000] speed [3.000000]; + move sleeve to y-axis [0.00000] speed [2.500000]; return (0); } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = flare; + piecenum = flare; return (0); } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = sleeve; + piecenum = sleeve; return (0); } - +SweetSpot(piecenum) +{ + piecenum = base; + return (0); +} Killed(severity, corpsetype) { @@ -147,6 +144,9 @@ Killed(severity, corpsetype) explode base type BITMAPONLY | NOHEATCLOUD; explode turret type BITMAPONLY | NOHEATCLOUD; explode gun type BITMAPONLY | NOHEATCLOUD; + //explode sleeve type BITMAPONLY | NOHEATCLOUD; + //explode barrel type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } if( severity <= 50 ) @@ -155,7 +155,9 @@ Killed(severity, corpsetype) explode base type BITMAPONLY | NOHEATCLOUD; explode turret type FALL | NOHEATCLOUD; explode gun type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode sleeve type FIRE | SMOKE | FALL | NOHEATCLOUD; explode barrel type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare type FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) @@ -164,7 +166,9 @@ Killed(severity, corpsetype) explode base type FIRE | SMOKE | FALL | NOHEATCLOUD; explode turret type FIRE | SMOKE | FALL | NOHEATCLOUD; explode gun type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode sleeve type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; explode barrel type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; @@ -173,5 +177,6 @@ Killed(severity, corpsetype) explode gun type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode sleeve type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode barrel type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode flare type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/corwolv.cob b/scripts/Units/corwolv.cob index f9b992b7e29610405b8ef6bed0838b020aa60c10..38dc2db6a79585ef4eed45e0a134353cd90defcc 100644 GIT binary patch literal 3419 zcmcgu&udgy6h4_GqtwE9*+{oZ$CcM1Sq#z8^ zrF30TL>GdKc3&t$7KQ!?UAJ@-aG~HrFg5Y}?!D*DotZo^L7Z?n_nx2M{qA}1Wk^Im zhEyTXDk4MB{H^Q|Iq;##6yz}Wi_j8RqEIRk{$L(}p7DART9Uy?Mh2rwQi-@{95v&t zKN^l?sv7O_HYky?D!iRI)|14=eU7E}(3;$TddSrtfM0XjTVshqVu@HvaWaQ~YYVi+ z)tB4JXS|@Y%?s9CDi&(XANp#Kvi@apT92BXkZ;!F8OhmwsG?6iWI3jb=clIcBp05$ zo8FdM+dzS9C_x5osIS~}Th#VCI&<@6SG)xZ49L#CXdOd|dzeWl%fDl(CoZ_xOu$pRL1Q$kaHl)n0~?xENDl zdEjQ~92;R~`0nH{%xA1MCb+Ybm~dw7ozA;6*>&5!4~x3XxC=Z(A#XAQZvrfBhvydX zu&*6q%FZGE)soZ}1VYPLH*&HD^- z`o80rvxBR*_i&$2Yw!&c=5_UMSNeRNJoE-9oE_$q1AQ+S^#Z@Gn{+>uVLp#imd_sH zyzOOh>}DngQS7Jn6<>@H+S|}Fg?oy&74L%>re2?Y4iUeRkMqL*tWC@z7W>`tSibjI zcy~O@+hEbzX|uM+saOb@IPEOL$2H>_*NdMRY1>SW#fhAa&Na7(|3Y3s)*v5zB=QO5AS8i& z4LJrm1^E^-3YmnQtK}z`E}L||*^r63=5=$aQOiT?`575+PG7g?Q<+I~BNHaSm@bZ+ zdNZAwtj!rYvuLJUxfwSLc{4L7W^{=pvt|)DanqpUd^48|wR#;@e@GXMEYyv;VX)3JQQKW*4;zmS41;K(^L0r2N1rZ{MbkRkzt@ZoPy=UgmKN&M{xaXe7cOLiL`zIw4 zIRYw!UYrt{!OGvG4~e`1`Uo_K{nuEfQcPkhB*o+r8dpk*te2Aq!BWFEy=<+;*^t14i_J?-dkdBi!>)?&`l zcws6jR=q6NX{^NOvl#HOXkD?L#t1bn2Rq6PlX*Pxw9nCUWqhelX;0K2IY>pc2Fr~; z))&U3i^U!H9s1Lb_0snuSgvnlr7z7ll<4gFcO^}YrrV{$(!Z|1O1 zgU}1s%=3`MpNaW$m1;q2x_;j+a!a{jpq3Mt{mUf9xM~ z$>VWP9q&L14EH7OG572VS>ki0u0|%z%r8Mkk)#T9 zW1ZgRoFB1>ub35&zkdOam}};A;~sK@5BXacU>t1X9Q0hFx0UtSY$oBJFjwlW7UrdP z>;Bz(3meAx`2NwH|G;qTS%x=<(B^CBV);|9c?HaObC`_J7=Pz5t%ur+>hN7yXRt6s zM*|i`dNtNS1w;}7gZO_mqsI-hvI*o(X^&zRqR z-mTl=EVO>$(D%Ff2phS?HC}yYRHrjSEO?q7d6Q4dk$EwPK`vMP?9MWA^cC&UU+hm? z6>^Ry*w`DQek^L+*Cga|zHyJ_8fFad-)H;{@~?-U@N(c= zV0T$$f6C|f5BehhJq&(B-R*(SdNS1ARUPFl-(v;Ly`j$ho`Q{i-}#rQw})&j_Vk#} zF!*JT{YGN%6~}Z#Kg2;FI4|^P5BRQP8Tv$e#hsuhMm$506Qttj;CD2F_~vi%uh1r$ z8N{=_-XYlAp65$!`Z3=)j((d%oB|9Phka)qlj2+?4&qvz%VEzr^tZj@V1H2D4f=$* zvmq}1Gy{jnK<|S- z2mJ*46Lb@F1kT4m&w~1(FF@abegN@*rXN8+gMJ151-c2k3o1Q~vO!OR=0GPvbg@t1es3`kjtz$hflBZ2KJNd1K;bpmTdMra<-NBoMe3nGWieq&M&3_ diff --git a/scripts/Units/exptype.h b/scripts/Units/exptype.h new file mode 100644 index 00000000000..7a83187b285 --- /dev/null +++ b/scripts/Units/exptype.h @@ -0,0 +1,193 @@ +/* +** EXPtype.h -- Explosion Type information and GET/SET constants for scripts +** +** This Script contains constants compatible only with Spring RTS engine +** not for use with Total Annihilation or TA:Kindgoms +*/ + +#ifndef CONSTANTS_H_ +#define CONSTANTS_H_ + +// Indices for emit-sfx +#ifndef __SFXTYPE_H_ +#define SFXTYPE_VTOL 0 +//#define SFXTYPE_THRUST 1 +#define SFXTYPE_WAKE1 2 +#define SFXTYPE_WAKE2 3 // same as SFX_WAKE +#define SFXTYPE_REVERSEWAKE1 4 +#define SFXTYPE_REVERSEWAKE2 5 // same as SFX_REVERSE_WAKE + +#define SFXTYPE_WHITESMOKE 257 +#define SFXTYPE_BLACKSMOKE 258 +#define SFXTYPE_SUBBUBBLES 259 +#endif + +#define SHATTER 1 // The piece will shatter instead of remaining whole +#define EXPLODE_ON_HIT 2 // The piece will explode when it hits the ground +#define FALL 4 // The piece will fall due to gravity instead of just flying off +#define SMOKE 8 // A smoke trail will follow the piece through the air +#define FIRE 16 // A fire trail will follow the piece through the air +#define BITMAPONLY 32 // The piece will not fly off or shatter or anything. Only a bitmap explosion will be rendered. +#define NOCEGTRAIL 64 // Disables the cegtrail for the specific piece (defined in the unit fbi) +#define NOHEATCLOUD 128 // No engine default heat cloud for explosion +#define BITMAP 10000001 + +// Bitmap Explosion Types +#define BITMAP1 256 +#define BITMAP2 512 +#define BITMAP3 1024 +#define BITMAP4 2048 +#define BITMAP5 4096 +#define BITMAPNUKE 8192 +#define BITMAPMASK 16128 // Mask of the possible bitmap bits + +#define EXPTYPE_SMALLEXPLOSION 256 +#define EXPTYPE_MEDIUMEXPLOSION 512 +#define EXPTYPE_LARGEEXPLOSION 1024 +#define EXPTYPE_XLARGEEXPLOSION 2048 +#define EXPTYPE_BLOODEXPLOSION 4096 + +//Customized effects (in FBI/TDF/LUA) +// Explosion generators +#define UNIT_SFX0 1024 +#define UNIT_SFX1 1025 +#define UNIT_SFX2 1026 +#define UNIT_SFX3 1027 +#define UNIT_SFX4 1028 +#define UNIT_SFX5 1029 +#define UNIT_SFX6 1030 +#define UNIT_SFX7 1031 +#define UNIT_SFX8 1032 +#define UNIT_SFX9 1033 + +// Weapons +#define FIRE_W1 2048 +#define FIRE_W2 2049 +#define FIRE_W3 2050 +#define FIRE_W4 2051 +#define FIRE_W5 2052 +#define FIRE_W6 2053 +#define FIRE_W7 2054 +#define FIRE_W8 2055 +#define FIRE_W9 2056 + +#define DETO_W1 4096 +#define DETO_W2 4097 +#define DETO_W3 4098 +#define DETO_W4 4099 +#define DETO_W5 4100 +#define DETO_W6 4101 +#define DETO_W7 4102 +#define DETO_W8 4103 +#define DETO_W9 4104 + + +// COB constants +#define ACTIVATION 1 // set or get +#define STANDINGMOVEORDERS 2 // set or get +#define STANDINGFIREORDERS 3 // set or get +#define HEALTH 4 // get (0-100%) +#define INBUILDSTANCE 5 // set or get +#define BUSY 6 // set or get (used by misc. special case missions like transport ships) +#define PIECE_XZ 7 // get +#define PIECE_Y 8 // get +#define UNIT_XZ 9 // get +#define UNIT_Y 10 // get +#define UNIT_HEIGHT 11 // get +#define XZ_ATAN 12 // get atan of packed x,z coords +#define XZ_HYPOT 13 // get hypot of packed x,z coords +#define ATAN 14 // get ordinary two-parameter atan +#define HYPOT 15 // get ordinary two-parameter hypot +#define GROUND_HEIGHT 16 // get land height, 0 if below water +#define BUILD_PERCENT_LEFT 17 // get 0 = unit is built and ready, 1-100 = How much is left to build +#define YARD_OPEN 18 // set or get (change which plots we occupy when building opens and closes) +#define BUGGER_OFF 19 // set or get (ask other units to clear the area) +#define ARMORED 20 // set or get + +#define IN_WATER 28 +#define CURRENT_SPEED 29 +#define VETERAN_LEVEL 32 +#define ON_ROAD 34 + +#define MAX_ID 70 +#define MY_ID 71 +#define UNIT_TEAM 72 +#define UNIT_BUILD_PERCENT_LEFT 73 +#define UNIT_ALLIED 74 +#define MAX_SPEED 75 +#define CLOAKED 76 +#define WANT_CLOAK 77 +#define GROUND_WATER_HEIGHT 78 // get land height, negative if below water +#define UPRIGHT 79 // set or get +#define POW 80 // get +#define PRINT 81 // get, so multiple args can be passed +#define HEADING 82 // get +#define TARGET_ID 83 // get +#define LAST_ATTACKER_ID 84 // get +#define LOS_RADIUS 85 // set or get +#define AIR_LOS_RADIUS 86 // set or get +#define RADAR_RADIUS 87 // set or get +#define JAMMER_RADIUS 88 // set or get +#define SONAR_RADIUS 89 // set or get +#define SONAR_JAM_RADIUS 90 // set or get +#define SEISMIC_RADIUS 91 // set or get +#define DO_SEISMIC_PING 92 // get +#define CURRENT_FUEL 93 // set or get +#define TRANSPORT_ID 94 // get +#define SHIELD_POWER 95 // set or get +#define STEALTH 96 // set or get +#define CRASHING 97 // set or get, returns whether aircraft isCrashing state +#define CHANGE_TARGET 98 // set, the value it's set to determines the affected weapon +#define CEG_DAMAGE 99 // set +#define COB_ID 100 // get +#define PLAY_SOUND 101 // get, so multiple args can be passed +#define KILL_UNIT 102 // get KILL_UNIT(unitId, SelfDestruct=true, Reclaimed=false) +#define ALPHA_THRESHOLD 103 // set or get +#define SET_WEAPON_UNIT_TARGET 106 // get (fake set) +#define SET_WEAPON_GROUND_TARGET 107 // get (fake set) +#define SONAR_STEALTH 108 // set or get +#define REVERSING 109 // get + +// Indices for SET, GET, and GET_UNIT_VALUE for LUA return values +#define LUA0 110 // (LUA0 returns the lua call status, 0 or 1) +#define LUA1 111 +#define LUA2 112 +#define LUA3 113 +#define LUA4 114 +#define LUA5 115 +#define LUA6 116 +#define LUA7 117 +#define LUA8 118 +#define LUA9 119 + +#define FLANK_B_MODE 120 // set or get +#define FLANK_B_DIR 121 // set or get, set is through get for multiple args +#define FLANK_B_MOBILITY_ADD 122 // set or get +#define FLANK_B_MAX_DAMAGE 123 // set or get +#define FLANK_B_MIN_DAMAGE 124 // set or get +#define WEAPON_RELOADSTATE 125 // get (with fake set) get WEAPON_RELOADSTATE(weaponNum) for GET +#define WEAPON_RELOADTIME 126 // get (with fake set) get WEAPON_RELOADSTATE(-weaponNum,val) for SET +#define WEAPON_ACCURACY 127 // get (with fake set) +#define WEAPON_SPRAY 128 // get (with fake set) +#define WEAPON_RANGE 129 // get (with fake set) +#define WEAPON_PROJECTILE_SPEED 130 // get (with fake set) +#define WEAPON_STOCKPILE_COUNT 139 // get (with fake set) + + +#define MIN 131 // get +#define MAX 132 // get +#define ABS 133 // get +#define GAME_FRAME 134 // get +#define KSIN 135 // get, kiloSine 1024*sin(x) as COB uses only integers +#define KCOS 136 // get, kiloCosine 1024*cos(x) + +#define KTAN 137 // get, kiloTangent 1024*tan(x) carefull with angles close to 90 deg. might cause overflow +#define SQRT 138 // get, square root (floored to integer) + +#define ENERGY_MAKE 140 // set or get (100*E production) + +#define METAL_MAKE 141 // set or get (100*M production) + +// NOTE: shared variables use codes [1024 - 5119] + +#endif \ No newline at end of file diff --git a/scripts/Units/hitweap.h b/scripts/Units/hitweap.h new file mode 100644 index 00000000000..ef746723283 --- /dev/null +++ b/scripts/Units/hitweap.h @@ -0,0 +1,27 @@ +/* Hitweap.h -- Rock the unit when it takes a hit */ + +#ifndef __HITWEAP_H_ +#define __HITWEAP_H_ + +/* +** HitByWeapon() -- Called when the unit is hit. Makes it rock a bit +** to look like it is shaking from the impact. +*/ + +HitByWeapon(anglex,anglez) + { + + #define ROCK_SPEED 105 + #define RESTORE_SPEED 30 + + + turn base to z-axis anglez speed <105>; + turn base to x-axis anglex speed <105>; + + wait-for-turn base around z-axis; + wait-for-turn base around x-axis; + + turn base to z-axis <0> speed <30>; + turn base to x-axis <0> speed <30>; + } +#endif diff --git a/scripts/Units/idlehover.h b/scripts/Units/idlehover.h index 1e8ef580438..7d2d5e261b7 100644 --- a/scripts/Units/idlehover.h +++ b/scripts/Units/idlehover.h @@ -3,33 +3,15 @@ //#define IDLEHOVERSPEED 60 //#define IDLEBASEPIECE base -#ifndef IDLEBASEPIECE - #define IDLEBASEPIECE base -#endif - -#ifndef IDLEHOVERSPEED - #define IDLEHOVERSPEED 60 -#endif - -#ifndef IDLEHOVERSCALE - #define IDLEHOVERSCALE 32 -#endif - -static-var IdleX, IdleY, IdleZ; +static-var isIdle, IdleX, IdleY, IdleZ, wasIdle; IdleHover() { - // These three vars could be optimized to 1 var, but its not really needed - var newIdle; + var newIdleX; + var newIdleZ; + var newIdleY; + var IdleSpeed; var unitxz; - var unitz; - var unitx; var groundheight; - - var IdleSpeed; - var isIdle; - var wasIdle; - isIdle = FALSE; - wasIdle = FALSE; while(TRUE){ // Detect 'idleness' // A hover type aircraft is considered idle if it is moving very slowly and is a [32] elmos above the ground. @@ -39,16 +21,16 @@ IdleHover() //get PRINT(get GAME_FRAME, get CURRENT_SPEED, (get UNIT_Y)/65500, (get GROUND_HEIGHT)/65500); if ((get CURRENT_SPEED) < 10000) { unitxz = (get UNIT_XZ); - unitz = (unitxz & 0x0000ffff); // silly unpack - unitx = (unitxz & 0xffff0000) / 0x00010000; // top 16 bits divided by 65K + newIdleX = (unitxz & 0xffff0000) / 0x00010000; // top 16 bits divided by 65K // Below does not work, as -100 is returned as 31000... //if (newIdleX & 0x00008000) newIdleX = newIdleX & 0xffff0000; // If the number is negative, it must be padded with 1's for twos complement negative number, + newIdleZ = (unitxz & 0x0000ffff); // silly unpack //if (newIdleZ & 0x00008000) newIdleZ = newIdleZ & 0xffff0000; // If the number is negative, it must be padded with 1's for twos complement negative number // check if we are 'in map bounds' // As the packed XZ cant really deal with negative numbers. - if ((unitx>0) && (unitx < 16000) && (unitz>0) && (unitz < 16000)){ + if ((newIdleX>0) && (newIdleX < 16000) && (newIdleZ>0) && (newIdleZ < 16000)){ groundheight = (get GROUND_HEIGHT(unitxz)); // GROUND HEIGHT EXPECT PACKED COORDS! if (((get UNIT_Y) - groundheight) > [32] ){ isIdle = TRUE; @@ -61,25 +43,28 @@ IdleHover() //get PRINT((get GAME_FRAME), newIdleX, newIdleZ, (get GROUND_HEIGHT(unitxz))); if (isIdle){ + + newIdleX = Rand(-1*IDLEHOVERSCALE,IDLEHOVERSCALE); + + newIdleY = Rand(-1*IDLEHOVERSCALE / 2,IDLEHOVERSCALE / 2); + + newIdleZ = Rand(-1*IDLEHOVERSCALE,IDLEHOVERSCALE); + IdleSpeed = Rand(IDLEHOVERSPEED,IDLEHOVERSPEED*3); if (IdleSpeed < 10) IdleSpeed = 10; //wierd div by zero error? //get PRINT(newIdleX,newIdleY,newIdleZ,IdleSpeed); - newIdle = Rand(-1*IDLEHOVERSCALE,IDLEHOVERSCALE); - move IDLEBASEPIECE to x-axis [0.25] * newIdle speed [0.25] * (newIdle - IdleX)*30/IdleSpeed; - turn IDLEBASEPIECE to z-axis <0.25> * newIdle speed <0.25> * (newIdle - IdleX)*30/IdleSpeed; - IdleX = newIdle; - - newIdle = Rand(-1*IDLEHOVERSCALE / 2,IDLEHOVERSCALE / 2); - move IDLEBASEPIECE to y-axis [0.25] * newIdle speed [0.25] * (newIdle - IdleY)*30/IdleSpeed; - turn IDLEBASEPIECE to y-axis <0.25> * newIdle speed <0.25> * (newIdle - IdleY)*30/IdleSpeed; - IdleY = newIdle; - - newIdle = Rand(-1*IDLEHOVERSCALE,IDLEHOVERSCALE); - move IDLEBASEPIECE to z-axis [0.25] * newIdle speed [0.25] * (newIdle - IdleZ)*30/IdleSpeed; - turn IDLEBASEPIECE to x-axis <-0.25> * newIdle speed <0.25> * (newIdle - IdleZ)*30/IdleSpeed; - IdleZ = newIdle; + move IDLEBASEPIECE to x-axis [0.25]*newIdleX speed [0.25]*(newIdleX - IdleX)*30/IdleSpeed; + move IDLEBASEPIECE to y-axis [0.25]*newIdleY speed [0.25]*(newIdleY - IdleY)*30/IdleSpeed; + move IDLEBASEPIECE to z-axis [0.25]*newIdleZ speed [0.25]*(newIdleZ - IdleZ)*30/IdleSpeed; + + turn IDLEBASEPIECE to z-axis <0.25> * newIdleX speed <0.25> * (newIdleX - IdleX)*30/IdleSpeed; + turn IDLEBASEPIECE to y-axis <0.25> * newIdleY speed <0.25> * (newIdleY - IdleY)*30/IdleSpeed; + turn IDLEBASEPIECE to x-axis <-0.25> * newIdleZ speed <0.25> * (newIdleZ - IdleZ)*30/IdleSpeed; + IdleX = newIdleX; + IdleY = newIdleY; + IdleZ = newIdleZ; sleep 1000*IdleSpeed/30; sleep 98; } diff --git a/scripts/Units/legbal.bos b/scripts/Units/legbal.bos index 7de60b40700..2cf9c857250 100644 --- a/scripts/Units/legbal.bos +++ b/scripts/Units/legbal.bos @@ -1,21 +1,23 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece aimx1, aimy1, turret, launcher, flare, pelvis, rfoot, lfoot, lthigh, rthigh, rleg, lleg, lknee, rknee; static-var notMoving, moveSpeed, currentSpeed, animSpeed, wpn1_lasthead; -static-var maxSpeed, animFramesPerKeyframe, isMoving; +static-var maxSpeed, animFramesPerKeyframe, bMoving; // Signal definitions -#define SIGNAL_MOVE 1 -#define SIGNAL_AIM1 256 +#define SIG_WALK 4 +#define SIG_AIM 8 walk() // (c) CC BY NC ND Beherith mysterme@gmail.com { - set-signal-mask SIGNAL_MOVE; if (isMoving) { //Frame:4 + set-signal-mask SIG_WALK; if (bMoving) { //Frame:4 turn launcher to x-axis <0.700000> speed <155.999983> / animSpeed; turn lfoot to x-axis <-45.174461> speed <1339.883614> / animSpeed; turn lfoot to z-axis <-8.711228> speed <587.665429> / animSpeed; @@ -29,7 +31,7 @@ walk() // (c) CC BY NC ND Beherith mysterme@gmail.com turn lthigh to x-axis <28.463688> speed <786.618223> / animSpeed; turn lthigh to z-axis <6.414564> speed <383.071557> / animSpeed; turn lthigh to y-axis <-1.128280> speed <123.646459> / animSpeed; - turn pelvis to x-axis <-0.0> speed <149.999983> / animSpeed; + turn pelvis to x-axis <-0.000000> speed <149.999983> / animSpeed; turn rfoot to x-axis <38.546265> speed <1128.417134> / animSpeed; turn rfoot to z-axis <-6.897524> speed <101.979838> / animSpeed; turn rfoot to y-axis <-1.430482> speed <57.160004> / animSpeed; @@ -44,8 +46,8 @@ walk() // (c) CC BY NC ND Beherith mysterme@gmail.com turn rthigh to y-axis <2.035195> speed <143.623734> / animSpeed; sleep 131; } - while(isMoving) { - if (isMoving) { //Frame:8 + while(bMoving) { + if (bMoving) { //Frame:8 turn launcher to x-axis <-2.450000> speed <94.499997> / animSpeed; turn lfoot to x-axis <-39.050804> speed <183.709720> / animSpeed; turn lfoot to z-axis <-3.901796> speed <144.282974> / animSpeed; @@ -61,7 +63,7 @@ walk() // (c) CC BY NC ND Beherith mysterme@gmail.com turn lthigh to y-axis <0.884297> speed <60.377311> / animSpeed; move pelvis to y-axis [-0.790000] speed [23.699999] / animSpeed; turn pelvis to x-axis <4.568749> speed <137.062482> / animSpeed; - turn pelvis to y-axis <-4.0> speed <119.999986> / animSpeed; + turn pelvis to y-axis <-4.000000> speed <119.999986> / animSpeed; turn rfoot to x-axis <5.633654> speed <987.378323> / animSpeed; turn rfoot to z-axis <0.002615> speed <207.004152> / animSpeed; turn rfoot to y-axis <-0.002489> speed <42.839816> / animSpeed; @@ -70,13 +72,13 @@ walk() // (c) CC BY NC ND Beherith mysterme@gmail.com turn rknee to y-axis <-0.903029> speed <17.539158> / animSpeed; turn rleg to x-axis <47.379492> speed <1996.137709> / animSpeed; turn rleg to z-axis <-2.989707> speed <65.145727> / animSpeed; - turn rleg to y-axis <5.0> speed <92.860037> / animSpeed; + turn rleg to y-axis <5.000039> speed <92.860037> / animSpeed; turn rthigh to x-axis <-58.670553> speed <899.234907> / animSpeed; turn rthigh to z-axis <-3.659250> speed <66.775942> / animSpeed; turn rthigh to y-axis <5.419124> speed <101.517866> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:12 + if (bMoving) { //Frame:12 turn launcher to x-axis <7.100000> speed <286.499986> / animSpeed; turn lfoot to x-axis <-41.708304> speed <79.725007> / animSpeed; turn lfoot to z-axis <-0.001299> speed <117.014899> / animSpeed; @@ -107,7 +109,7 @@ walk() // (c) CC BY NC ND Beherith mysterme@gmail.com turn rthigh to y-axis <1.835031> speed <107.522806> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:16 + if (bMoving) { //Frame:16 turn launcher to x-axis <3.400000> speed <110.999991> / animSpeed; turn lfoot to x-axis <-3.910388> speed <1133.937479> / animSpeed; turn lknee to x-axis <25.256626> speed <395.785377> / animSpeed; @@ -136,7 +138,7 @@ walk() // (c) CC BY NC ND Beherith mysterme@gmail.com turn rthigh to y-axis <1.625487> speed <6.286304> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:20 + if (bMoving) { //Frame:20 turn launcher to x-axis <0.100000> speed <98.999991> / animSpeed; turn lfoot to x-axis <38.552084> speed <1273.874173> / animSpeed; turn lknee to x-axis <-3.971019> speed <876.829355> / animSpeed; @@ -148,9 +150,9 @@ walk() // (c) CC BY NC ND Beherith mysterme@gmail.com turn lthigh to x-axis <-28.531841> speed <1124.294797> / animSpeed; turn lthigh to z-axis <1.384001> speed <106.589691> / animSpeed; turn lthigh to y-axis <-1.972103> speed <116.931095> / animSpeed; - move pelvis to y-axis [0.0] speed [11.700000] / animSpeed; - turn pelvis to x-axis <-0.0> speed <88.499997> / animSpeed; - turn pelvis to y-axis <0.0> speed <163.593733> / animSpeed; + move pelvis to y-axis [0.000000] speed [11.700000] / animSpeed; + turn pelvis to x-axis <-0.000000> speed <88.499997> / animSpeed; + turn pelvis to y-axis <0.000000> speed <163.593733> / animSpeed; turn rfoot to x-axis <-45.601082> speed <1486.777649> / animSpeed; turn rfoot to z-axis <8.777723> speed <72.755435> / animSpeed; turn rfoot to y-axis <2.942875> speed <14.622197> / animSpeed; @@ -165,7 +167,7 @@ walk() // (c) CC BY NC ND Beherith mysterme@gmail.com turn rthigh to y-axis <1.053705> speed <17.153451> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:24 + if (bMoving) { //Frame:24 turn launcher to x-axis <-3.700000> speed <113.999996> / animSpeed; turn lfoot to x-axis <5.205345> speed <1000.402167> / animSpeed; turn lknee to x-axis <-38.112097> speed <1024.232325> / animSpeed; @@ -194,7 +196,7 @@ walk() // (c) CC BY NC ND Beherith mysterme@gmail.com turn rthigh to y-axis <0.135399> speed <27.549188> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:28 + if (bMoving) { //Frame:28 turn launcher to x-axis <7.299999> speed <329.999975> / animSpeed; turn lfoot to x-axis <47.099178> speed <1256.814981> / animSpeed; turn lfoot to z-axis <-8.698515> speed <260.859201> / animSpeed; @@ -225,8 +227,8 @@ walk() // (c) CC BY NC ND Beherith mysterme@gmail.com turn rthigh to y-axis <-1.948095> speed <62.504826> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:32 - turn launcher to x-axis <3.0> speed <128.999994> / animSpeed; + if (bMoving) { //Frame:32 + turn launcher to x-axis <3.000000> speed <128.999994> / animSpeed; turn lfoot to x-axis <3.635010> speed <1303.925050> / animSpeed; turn lfoot to z-axis <-6.350171> speed <70.450323> / animSpeed; turn lfoot to y-axis <-2.491368> speed <91.408108> / animSpeed; @@ -240,7 +242,7 @@ walk() // (c) CC BY NC ND Beherith mysterme@gmail.com turn lthigh to z-axis <3.505405> speed <71.676934> / animSpeed; turn lthigh to y-axis <-1.514817> speed <9.411657> / animSpeed; move pelvis to y-axis [-0.390000] speed [23.399999] / animSpeed; - turn pelvis to x-axis <3.299998> speed <99.0> / animSpeed; + turn pelvis to x-axis <3.299998> speed <99.000036> / animSpeed; turn pelvis to y-axis <3.749998> speed <112.500029> / animSpeed; turn rfoot to x-axis <-2.631426> speed <1150.192505> / animSpeed; turn rknee to x-axis <25.001153> speed <390.905062> / animSpeed; @@ -254,8 +256,8 @@ walk() // (c) CC BY NC ND Beherith mysterme@gmail.com turn rthigh to y-axis <-1.582810> speed <10.958560> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:36 - turn launcher to x-axis <-0.0> speed <89.999990> / animSpeed; + if (bMoving) { //Frame:36 + turn launcher to x-axis <-0.000000> speed <89.999990> / animSpeed; turn lfoot to x-axis <-45.174461> speed <1464.284129> / animSpeed; turn lfoot to z-axis <-8.711228> speed <70.831730> / animSpeed; turn lfoot to y-axis <-2.849490> speed <10.743672> / animSpeed; @@ -268,9 +270,9 @@ walk() // (c) CC BY NC ND Beherith mysterme@gmail.com turn lthigh to x-axis <28.463688> speed <949.236400> / animSpeed; turn lthigh to z-axis <6.414564> speed <87.274763> / animSpeed; turn lthigh to y-axis <-1.128280> speed <11.596121> / animSpeed; - move pelvis to y-axis [0.0] speed [11.700000] / animSpeed; - turn pelvis to x-axis <-0.0> speed <98.999946> / animSpeed; - turn pelvis to y-axis <0.0> speed <112.499952> / animSpeed; + move pelvis to y-axis [0.000000] speed [11.700000] / animSpeed; + turn pelvis to x-axis <-0.000000> speed <98.999946> / animSpeed; + turn pelvis to y-axis <0.000000> speed <112.499952> / animSpeed; turn rfoot to x-axis <38.366183> speed <1229.928296> / animSpeed; turn rknee to x-axis <-3.925581> speed <867.802018> / animSpeed; turn rknee to z-axis <-1.245253> speed <55.816170> / animSpeed; @@ -285,9 +287,9 @@ walk() // (c) CC BY NC ND Beherith mysterme@gmail.com } } } -// Call this from StopMoving()! +// Call this from MotionControl()! StopWalking() { - move pelvis to y-axis [0.0] speed [5.925000] / 2; + move pelvis to y-axis [0.000000] speed [5.925000] / 2; turn launcher to x-axis <5.899999> speed <82.499994> / 2; turn lfoot to x-axis <-0.511674> speed <366.071032> / 2; turn lfoot to y-axis <-0.309917> speed <22.852027> / 2; @@ -302,7 +304,7 @@ StopWalking() { turn lthigh to y-axis <2.993269> speed <30.911615> / 2; turn lthigh to z-axis <-6.354488> speed <95.767889> / 2; turn pelvis to x-axis <-4.999999> speed <37.499996> / 2; - turn pelvis to y-axis <0.0> speed <40.898433> / 2; + turn pelvis to y-axis <0.000000> speed <40.898433> / 2; turn rfoot to x-axis <0.932360> speed <371.694412> / 2; turn rfoot to y-axis <0.474851> speed <22.005134> / 2; turn rfoot to z-axis <-10.296852> speed <64.797402> / 2; @@ -339,21 +341,21 @@ UnitSpeed(){ #define UNITSIZE 1 #define MAXTILT 100 -#include "../unit_hitbyweaponid_and_smoke.h" +#include "unit_hitbyweaponid_and_smoke.h" -StartMoving(reversing) +StartMoving() { - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; - isMoving = 1; + signal SIG_WALK; + set-signal-mask SIG_WALK; + bMoving = 1; start-script UnitSpeed(); start-script walk(); } StopMoving() { - signal SIGNAL_MOVE; - isMoving = 0; + signal SIG_WALK; + bMoving = 0; start-script StopWalking(); } @@ -369,16 +371,19 @@ Create() start-script StopMoving(); } +SweetSpot(piecenum) +{ + piecenum = aimy1; +} - -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = turret; + piecenum = turret; } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = flare; + piecenum = flare; } static-var Stunned; @@ -387,9 +392,9 @@ ExecuteRestoreAfterDelay() if (Stunned) { return (1); } - turn aimy1 to y-axis <0.0> speed <90.021978>; - turn aimx1 to x-axis <0.0> speed <45.010989>; - wpn1_lasthead = 0xbadface; + turn aimy1 to y-axis <0.000000> speed <90.021978>; + turn aimx1 to x-axis <0.000000> speed <45.010989>; + wpn1_lasthead = 1000000; } SetStunned(State) { @@ -400,19 +405,19 @@ SetStunned(State) } RestoreAfterDelay() { - set-signal-mask SIGNAL_AIM1; + set-signal-mask SIG_AIM; sleep 5000; start-script ExecuteRestoreAfterDelay(); } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; + signal SIG_AIM; turn aimy1 to y-axis heading speed <90.021978>; - turn aimx1 to x-axis <0.0> - pitch speed <45.010989>; - if ((wpn1_lasthead == 0xbadface) OR ABSOLUTE_GREATER_THAN(WRAPDELTA(heading - wpn1_lasthead), <7>)) + turn aimx1 to x-axis <0.000000> - pitch speed <45.010989>; + if (((get ABS(wpn1_lasthead - heading)) > 65536) OR(((get ABS(wpn1_lasthead - heading)) > 1300) AND ((get ABS(wpn1_lasthead - heading)) < 64236))) { - wpn1_lasthead = 0xbadface; + wpn1_lasthead = 1000000; wait-for-turn aimy1 around y-axis; wait-for-turn aimx1 around x-axis; } @@ -421,7 +426,7 @@ AimWeapon1(heading, pitch) return (1); } -FireWeapon1() +FirePrimary() { emit-sfx UNIT_SFX0 from launcher; turn turret to y-axis <8> now; @@ -432,15 +437,15 @@ FireWeapon1() // WHY DO WE NEED TO SLEEP A FRAME HERE? well simple! // the order of the calls is //1. AimFromWeapon - //2. FireWeapon1 + //2. FirePrimary //3. QueryWeapon // If we swap guns on fireprimary, then we would shoot from other barrel that we aimed from, so we delay swapping barrels by one frame } //use call-script DeathAnim(); from Killed() DeathAnim() {// For N:\animations\corstorm_anim_death.blend Created by https://github.com/Beherith/Skeletor_S3O V((0, 2, 8)) - signal SIGNAL_MOVE; - signal SIGNAL_AIM1; + signal SIG_WALK; + signal SIG_AIM; call-script StopWalking(); turn aimy1 to y-axis <0> speed <180>; turn aimx1 to x-axis <0> speed <180>; @@ -488,8 +493,8 @@ DeathAnim() {// For N:\animations\corstorm_anim_death.blend Created by https://g move pelvis to z-axis [11.873957] speed [8.092937] ; //delta=1.62 move pelvis to y-axis [-4.178505] speed [14.959669] ; //delta=-2.99 turn pelvis to x-axis <17.638905> speed <26.739495> ; //delta=-5.35 - turn pelvis to z-axis <0.0> speed <19.745808> ; //delta=3.95 - turn pelvis to y-axis <-0.0> speed <20.923533> ; //delta=4.18 + turn pelvis to z-axis <0.000000> speed <19.745808> ; //delta=3.95 + turn pelvis to y-axis <-0.000000> speed <20.923533> ; //delta=4.18 turn rfoot to x-axis <-14.027358> speed <57.854568> ; //delta=11.57 turn rfoot to z-axis <-10.616333> speed <1.555319> ; //delta=0.31 turn rfoot to y-axis <-2.293257> speed <10.766926> ; //delta=-2.15 @@ -548,7 +553,7 @@ DeathAnim() {// For N:\animations\corstorm_anim_death.blend Created by https://g turn rfoot to x-axis <67.939215> speed <766.616864> ; //delta=-76.66 turn rfoot to z-axis <6.278843> speed <166.969720> ; //delta=-16.70 turn rfoot to y-axis <-10.416555> speed <91.261486> ; //delta=-9.13 - turn rknee to x-axis <-121.0> speed <1377.156460> ; //delta=137.72 //WARNING: possible gimbal lock issue detected in frame 20 bone rknee + turn rknee to x-axis <-121.000216> speed <1377.156460> ; //delta=137.72 //WARNING: possible gimbal lock issue detected in frame 20 bone rknee turn rknee to z-axis <16.952591> speed <148.898092> ; //delta=-14.89 //WARNING: possible gimbal lock issue detected in frame 20 bone rknee @@ -586,6 +591,19 @@ Killed(severity, corpsetype) corpsetype = 1 ; explode pelvis type BITMAPONLY | NOHEATCLOUD; explode aimy1 type BITMAPONLY | NOHEATCLOUD; + //explode turret type BITMAPONLY | NOHEATCLOUD; + //explode launcher type BITMAPONLY | NOHEATCLOUD; + //explode rfirept type BITMAPONLY | NOHEATCLOUD; + //explode lfirept type BITMAPONLY | NOHEATCLOUD; + //explode lexhaust type BITMAPONLY | NOHEATCLOUD; + //explode rexhaust type BITMAPONLY | NOHEATCLOUD; + //explode lthigh type BITMAPONLY | NOHEATCLOUD; + //explode lknee type BITMAPONLY | NOHEATCLOUD; + //explode lleg type BITMAPONLY | NOHEATCLOUD; + //explode lfoot type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rthigh type BITMAPONLY | NOHEATCLOUD; + //explode rknee type BITMAPONLY | NOHEATCLOUD; + //explode rleg type BITMAPONLY | NOHEATCLOUD; explode rfoot type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } @@ -596,7 +614,18 @@ Killed(severity, corpsetype) explode aimy1 type FALL | NOHEATCLOUD; explode turret type FALL | NOHEATCLOUD; explode launcher type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rfirept type FALL | NOHEATCLOUD; + //explode lfirept type FALL | NOHEATCLOUD; + //explode lexhaust type FALL | NOHEATCLOUD; + //explode rexhaust type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lthigh type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lknee type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lleg type FALL | NOHEATCLOUD; explode lfoot type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rthigh type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rknee type FALL | NOHEATCLOUD; + //explode rleg type FALL | NOHEATCLOUD; + //explode rfoot type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) @@ -605,16 +634,37 @@ Killed(severity, corpsetype) explode pelvis type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; explode aimy1 type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; explode turret type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode launcher type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rfirept type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode lfirept type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lexhaust type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rexhaust type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode lthigh type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode lknee type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode lleg type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode lfoot type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rthigh type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rknee type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode rleg type SMOKE | FALL | NOHEATCLOUD; + //explode rfoot type SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; explode pelvis type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode aimy1 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode turret type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode launcher type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode rfirept type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode lfirept type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode lexhaust type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode rexhaust type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode lthigh type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode lknee type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode lleg type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lfoot type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rthigh type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rknee type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rleg type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rfoot type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/legbal.cob b/scripts/Units/legbal.cob index d5b80453250e23f56e407267d7fe7159ba5cff82..05664d32c5851dfa1a473bafc3dda7fff79f3f83 100644 GIT binary patch literal 18490 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 HhJXJb2X9T* literal 17423 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 BB@qAs diff --git a/scripts/Units/legbar.bos b/scripts/Units/legbar.bos index a8197d32aea..0eff1a345f2 100644 --- a/scripts/Units/legbar.bos +++ b/scripts/Units/legbar.bos @@ -1,22 +1,24 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, flare, turret, barrel, sleeve; static-var restore_delay; // Signal definitions -#define SIGNAL_AIM1 256 +#define SIG_AIM 2 RockUnit(anglex, anglez) { - turn base to x-axis anglex speed <50.0>; - turn base to z-axis <0> - anglez speed <50.0>; + turn base to x-axis anglex speed <50.000000>; + turn base to z-axis <0> - anglez speed <50.000000>; wait-for-turn base around z-axis; wait-for-turn base around x-axis; - turn base to z-axis <0.0> speed <20.0>; - turn base to x-axis <0.0> speed <20.0>; + turn base to z-axis <0.000000> speed <20.000000>; + turn base to x-axis <0.000000> speed <20.000000>; } #define BASEPIECE base @@ -26,7 +28,7 @@ RockUnit(anglex, anglez) #define MAXTILT 100 -StartMoving(reversing) +StartMoving() { turn base to x-axis <-7> speed <11>; wait-for-turn base around x-axis; @@ -45,9 +47,9 @@ Create() restore_delay = 3000; } -SetMaxReloadTime(reloadMS) +SetMaxReloadTime(Func_Var_1) { - restore_delay = reloadMS * 2; + restore_delay = Func_Var_1 * 2; } static-var Stunned; @@ -57,8 +59,8 @@ ExecuteRestoreAfterDelay() return (1); } set-signal-mask 0; - turn turret to y-axis <0.0> speed <90.0>; - turn sleeve to x-axis <0.0> speed <50.0>; + turn turret to y-axis <0.000000> speed <90.000000>; + turn sleeve to x-axis <0.000000> speed <50.000000>; } SetStunned(State) { @@ -73,37 +75,40 @@ RestoreAfterDelay() start-script ExecuteRestoreAfterDelay(); } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; - turn turret to y-axis heading speed <90.0>; - turn sleeve to x-axis <0.0> - pitch speed <50.0>; + signal SIG_AIM; + set-signal-mask SIG_AIM; + turn turret to y-axis heading speed <90.000000>; + turn sleeve to x-axis <0.000000> - pitch speed <50.000000>; wait-for-turn turret around y-axis; wait-for-turn sleeve around x-axis; start-script RestoreAfterDelay(); return (1); } -FireWeapon1() +FirePrimary() { emit-sfx 1024 + 0 from flare; - move barrel to z-axis [-2.400000] speed [500.0]; + move barrel to z-axis [-2.400000] speed [500.000000]; wait-for-move barrel along z-axis; - move barrel to z-axis [0.0] speed [3.0]; + move barrel to z-axis [0.000000] speed [3.000000]; } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = sleeve; + piecenum = sleeve; } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = flare; + piecenum = flare; } - +SweetSpot(piecenum) +{ + piecenum = base; +} Killed(severity, corpsetype) { @@ -112,9 +117,9 @@ Killed(severity, corpsetype) corpsetype = 1 ; explode base type BITMAPONLY | NOHEATCLOUD; explode turret type BITMAPONLY | NOHEATCLOUD; - + //explode sleeve type BITMAPONLY | NOHEATCLOUD; explode barrel type FIRE | SMOKE | FALL | NOHEATCLOUD; - + //explode flare type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } if( severity <= 50 ) @@ -124,7 +129,7 @@ Killed(severity, corpsetype) explode turret type FALL | NOHEATCLOUD; explode sleeve type FALL | NOHEATCLOUD; explode barrel type FIRE | SMOKE | FALL | NOHEATCLOUD; - + //explode flare type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) @@ -134,7 +139,7 @@ Killed(severity, corpsetype) explode turret type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; explode sleeve type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode barrel type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; - + //explode flare type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; @@ -142,6 +147,6 @@ Killed(severity, corpsetype) explode turret type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode sleeve type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode barrel type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; - + //explode flare type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/legbar.cob b/scripts/Units/legbar.cob index d6aa791a89645605605a4256aee90815a8b23d3e..395d86b0485f0d161ea8361bd067ac63389abfc2 100644 GIT binary patch literal 2250 zcmb_dziSjh6n^(37eSOMwaS5=SR7VXN>BqL!FU%-A?szLi<{fHHy3k-a9|rm&?aIb z*ok1JSlEdFL2ApC78WT4mGk>%XEy748!q6%mpAv`_ul*7n>kV!k(0m-uv-zS!t!Hg zMcx8?z&U*X0V~a_A}Xq?w$FeIORh8}wK)11Ekop>EI2jfraapNRcxGp+?hw_U4S5; zpU)|a`8--#YFK@{&`W;f=XmUE*m$9r=h;|c4(oIEp48HMALz{SirPKzuzIqBEE1fh z&X31M>aBEV+3e`eefvGrZ+F+KsY%>A;%VK6icy|?``yi8HI35!{JQk_j#-yn=J0Ma z4VblV6LY?TE^1+J*8kOvl9h&f$~@Ijd|UivHIYxQb++&hN;vuVX6N2WwcB%U4!<9P z*0MRsvAb~Z(9gvC^Eo^p_#28(o*(MAxzKHA04bYA;az`E?=$u7S7=}C{2t@AD?FR@ zH`T0U=ag5=)i~f~bm5~3 zaR>Q)YUMjEyYops%W{fyPt&J3H|3lKE&^@fHgFGk3_Jr~0-u4ez#i}o*a!GOxPnEW z08RmOKnu7AECXx61K<&`4eS7~fj7WA;63mO_yV-!?)_W6&`8GwiCK&{!`@w-;|+Jb zoan%4>1eYUY_)Y12dm5Bx|XY3x;rqst@|cU^!%F9$rT+1Loz#N(Cg_{`8PNpt}i9w zdXNldAxyMC!@ZEiS?K0KCqp0WJk+ST5gWN4MiHvs3Hn;rq9D;?21%j~JTQ^;Bds^J F`~d^syL$it delta 529 zcmZ9{F-QY36b9gzyY$+jl@luMP=`VXDFqR`i&DBcX%TU#C{pPm^-8IOB8Z}^Sf4mm zIh{ms6TwLoaS+@b#L-c3cl3X9f$G6W@+WyOx##}ZL|zk70wOS{h%Aiq9bn-RzM+5| zcRKk?4wUA=)@N@@H92c1`Ahk#!&Pgtk5Eia$5pQ7lHwa{hf8+%P-m3GgF2N9uuX2% zl|jw~GC`ILC3i9MLNv)2I<0biuT#YUOT8t#VKyZu%Rl^SQIDk61aC)DMd{kxV*g)@ z(=eMBvj6*vO($72n{r0_ABTs{{U)1Y$tccjjbT!OdGJ6UdITr%0PpYtpAdJ51|SOs z7=;p4p$;3c2OS9D3a;T6?%)YtVA@|=nOXJPRB5vvTOOXREjInt5h{DFnwgJ#jdIIx Pm^igoYpsWY&tpSB{peF& diff --git a/scripts/Units/legbart.bos b/scripts/Units/legbart.bos index 37e56038aec..bcbbc49d421 100644 --- a/scripts/Units/legbart.bos +++ b/scripts/Units/legbart.bos @@ -1,15 +1,17 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece tail, torso, rleg, rfoot, rtoes, lleg, lfoot, ltoes, lthigh, rthigh, turret, gun, sleeve, barrel, flare, aimy1; //MAKE SURE FIRE POINTS REMAIN CONSECUTIVE! -static-var isMoving, isAiming, isReady; +static-var bMoving, bAiming, isReady; // Signal definitions -#define SIGNAL_AIM1 256 +#define SIG_AIM 4 // // LICENSED CC BY NC ND to Beherith mysterme@gmail.com @@ -17,10 +19,10 @@ static-var isMoving, isAiming, isReady; // Using https://github.com/Beherith/Skeletor_S3O // this animation uses the static-var animFramesPerKeyframe which contains how many frames each keyframe takes static-var animSpeed, maxSpeed, animFramesPerKeyframe; -#define SIGNAL_MOVE 1 +#define SIG_WALK 16 Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations\corcat_anim_walk_v2.blend - set-signal-mask SIGNAL_MOVE; - if (isMoving) { //Frame:8 + set-signal-mask SIG_WALK; + if (bMoving) { //Frame:8 turn lfoot to x-axis <-0.607104> speed <36.255456> / animSpeed; //delta=1.21 turn lfoot to z-axis <-7.167780> speed <425.045024> / animSpeed; //delta=14.17 turn lfoot to y-axis <1.409795> speed <225.511092> / animSpeed; //delta=-7.52 @@ -31,8 +33,8 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn lthigh to z-axis <4.523728> speed <266.002323> / animSpeed; //delta=-8.87 turn lthigh to y-axis <1.141126> speed <16.796997> / animSpeed; //delta=0.56 turn ltoes to x-axis <-17.599999> speed <527.999970> / animSpeed; //delta=17.60 - turn torso to z-axis <-1.0> speed <30.0> / animSpeed; //delta=1.00 - turn torso to y-axis <2.0> speed <60.0> / animSpeed; //delta=2.00 + turn torso to z-axis <-1.000000> speed <30.000000> / animSpeed; //delta=1.00 + turn torso to y-axis <2.000000> speed <60.000000> / animSpeed; //delta=2.00 turn rfoot to x-axis <-24.860664> speed <712.502787> / animSpeed; //delta=23.75 turn rfoot to z-axis <7.373261> speed <470.093012> / animSpeed; //delta=-15.67 turn rfoot to y-axis <-1.071550> speed <35.986550> / animSpeed; //delta=1.20 @@ -42,11 +44,11 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn rthigh to x-axis <14.599454> speed <470.594499> / animSpeed; //delta=-15.69 turn rthigh to z-axis <-4.058825> speed <274.498891> / animSpeed; //delta=9.15 turn rthigh to y-axis <0.892828> speed <46.233794> / animSpeed; //delta=1.54 - turn rtoes to x-axis <-0.700001> speed <21.0> / animSpeed; //delta=0.70 + turn rtoes to x-axis <-0.700001> speed <21.000017> / animSpeed; //delta=0.70 sleep ((33*animSpeed) -1); } - while(isMoving) { - if (isMoving) { //Frame:12 + while(bMoving) { + if (bMoving) { //Frame:12 turn lfoot to x-axis <5.543772> speed <184.526274> / animSpeed; //delta=-6.15 turn lfoot to z-axis <-6.857141> speed <9.319161> / animSpeed; //delta=-0.31 turn lfoot to y-axis <3.761377> speed <70.547474> / animSpeed; //delta=2.35 @@ -75,7 +77,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn rtoes to y-axis <-2.850000> speed <85.499992> / animSpeed; //delta=-2.85 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:16 + if (bMoving) { //Frame:16 turn lfoot to x-axis <18.001884> speed <373.743354> / animSpeed; //delta=-12.46 turn lfoot to y-axis <5.924599> speed <64.896650> / animSpeed; //delta=2.16 turn lleg to x-axis <52.866675> speed <826.231677> / animSpeed; //delta=-27.54 @@ -87,8 +89,8 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn ltoes to x-axis <-1.900001> speed <252.374969> / animSpeed; //delta=-8.41 move torso to z-axis [2.506887] speed [42.216704] / animSpeed; //delta=1.41 move torso to y-axis [0.522713] speed [7.840696] / animSpeed; //delta=0.26 - turn torso to z-axis <-0.0> speed <19.875000> / animSpeed; //delta=-0.66 - turn torso to y-axis <3.0> speed <6.562501> / animSpeed; //delta=0.22 + turn torso to z-axis <-0.000000> speed <19.875000> / animSpeed; //delta=-0.66 + turn torso to y-axis <3.000000> speed <6.562501> / animSpeed; //delta=0.22 turn rfoot to x-axis <0.723636> speed <543.889008> / animSpeed; //delta=-18.13 turn rfoot to z-axis <4.464675> speed <80.757975> / animSpeed; //delta=2.69 turn rfoot to y-axis <-1.965915> speed <13.596183> / animSpeed; //delta=-0.45 @@ -103,7 +105,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn rtoes to y-axis <-5.699999> speed <85.499992> / animSpeed; //delta=-2.85 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:20 + if (bMoving) { //Frame:20 turn lfoot to x-axis <23.613060> speed <168.335288> / animSpeed; //delta=-5.61 turn lfoot to z-axis <-7.850199> speed <28.854958> / animSpeed; //delta=0.96 turn lfoot to y-axis <3.583600> speed <70.229973> / animSpeed; //delta=-2.34 @@ -131,7 +133,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn rtoes to y-axis <-3.800000> speed <56.999995> / animSpeed; //delta=1.90 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:24 + if (bMoving) { //Frame:24 turn lfoot to x-axis <21.407638> speed <66.162659> / animSpeed; //delta=2.21 turn lfoot to z-axis <-7.384316> speed <13.976488> / animSpeed; //delta=-0.47 turn lfoot to y-axis <1.355770> speed <66.834881> / animSpeed; //delta=-2.23 @@ -143,8 +145,8 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn lthigh to y-axis <0.899349> speed <149.249993> / animSpeed; //delta=-4.97 turn ltoes to x-axis <-0.400000> speed <7.875004> / animSpeed; //delta=-0.26 move torso to y-axis [-2.638529] speed [47.418630] / animSpeed; //delta=-1.58 - turn torso to z-axis <1.0> speed <13.124999> / animSpeed; //delta=-0.44 - turn torso to y-axis <2.0> speed <21.428568> / animSpeed; //delta=-0.71 + turn torso to z-axis <1.000000> speed <13.124999> / animSpeed; //delta=-0.44 + turn torso to y-axis <2.000000> speed <21.428568> / animSpeed; //delta=-0.71 turn rfoot to x-axis <-8.476550> speed <143.094034> / animSpeed; //delta=4.77 turn rfoot to z-axis <5.788201> speed <21.809392> / animSpeed; //delta=-0.73 turn rfoot to y-axis <0.003190> speed <35.530988> / animSpeed; //delta=1.18 @@ -159,7 +161,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn rtoes to y-axis <-1.425000> speed <71.249993> / animSpeed; //delta=2.37 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:28 + if (bMoving) { //Frame:28 turn lfoot to x-axis <13.005502> speed <252.064102> / animSpeed; //delta=8.40 turn lfoot to z-axis <-7.136535> speed <7.433414> / animSpeed; //delta=-0.25 turn lfoot to y-axis <0.537964> speed <24.534192> / animSpeed; //delta=-0.82 @@ -183,11 +185,11 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn rthigh to z-axis <-3.529476> speed <37.240031> / animSpeed; //delta=-1.24 turn rthigh to y-axis <3.179640> speed <20.404264> / animSpeed; //delta=0.68 turn rtoes to x-axis <-13.087500> speed <799.406169> / animSpeed; //delta=-26.65 - turn rtoes to z-axis <-0.0> speed <6.0> / animSpeed; //delta=-0.20 - turn rtoes to y-axis <0.0> speed <42.749996> / animSpeed; //delta=1.42 + turn rtoes to z-axis <-0.000000> speed <6.000000> / animSpeed; //delta=-0.20 + turn rtoes to y-axis <0.000000> speed <42.749996> / animSpeed; //delta=1.42 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:32 + if (bMoving) { //Frame:32 turn lfoot to x-axis <2.065177> speed <328.209740> / animSpeed; //delta=10.94 turn lfoot to y-axis <0.202292> speed <10.070156> / animSpeed; //delta=-0.34 turn lleg to x-axis <-9.290025> speed <17.959316> / animSpeed; //delta=0.60 @@ -198,7 +200,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations move torso to z-axis [0.040706] speed [43.601854] / animSpeed; //delta=-1.45 move torso to y-axis [-2.230074] speed [10.721934] / animSpeed; //delta=0.36 turn torso to z-axis <1.500000> speed <4.499998> / animSpeed; //delta=-0.15 - turn torso to y-axis <0.0> speed <31.607145> / animSpeed; //delta=-1.05 + turn torso to y-axis <0.000000> speed <31.607145> / animSpeed; //delta=-1.05 turn rfoot to x-axis <-4.875125> speed <145.368052> / animSpeed; //delta=-4.85 turn rfoot to z-axis <2.207147> speed <78.889729> / animSpeed; //delta=2.63 turn rfoot to y-axis <-0.081269> speed <24.465899> / animSpeed; //delta=-0.82 @@ -208,10 +210,10 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn rthigh to x-axis <29.660277> speed <433.979770> / animSpeed; //delta=14.47 turn rthigh to z-axis <-1.588963> speed <58.215393> / animSpeed; //delta=-1.94 turn rthigh to y-axis <1.420066> speed <52.787237> / animSpeed; //delta=-1.76 - turn rtoes to x-axis <-0.0> speed <392.625015> / animSpeed; //delta=-13.09 + turn rtoes to x-axis <-0.000000> speed <392.625015> / animSpeed; //delta=-13.09 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:36 + if (bMoving) { //Frame:36 turn lfoot to x-axis <-8.790284> speed <325.663838> / animSpeed; //delta=10.86 turn lfoot to z-axis <-7.273310> speed <3.586310> / animSpeed; //delta=0.12 turn lleg to x-axis <-4.456412> speed <145.008417> / animSpeed; //delta=-4.83 @@ -234,7 +236,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn rtoes to x-axis <-11.733333> speed <351.999980> / animSpeed; //delta=11.73 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:40 + if (bMoving) { //Frame:40 turn lfoot to x-axis <-24.832731> speed <481.273383> / animSpeed; //delta=16.04 turn lfoot to y-axis <0.575514> speed <13.996541> / animSpeed; //delta=0.47 turn lleg to x-axis <10.007092> speed <433.905107> / animSpeed; //delta=-14.46 @@ -243,9 +245,9 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn lthigh to z-axis <4.051203> speed <8.445444> / animSpeed; //delta=-0.28 turn lthigh to y-axis <-0.992236> speed <6.935980> / animSpeed; //delta=0.23 turn ltoes to x-axis <-0.700001> speed <23.250021> / animSpeed; //delta=0.78 - move torso to y-axis [0.0] speed [33.750619] / animSpeed; //delta=1.13 - turn torso to z-axis <1.0> speed <10.714287> / animSpeed; //delta=0.36 - turn torso to y-axis <-2.0> speed <28.392857> / animSpeed; //delta=-0.95 + move torso to y-axis [0.000000] speed [33.750619] / animSpeed; //delta=1.13 + turn torso to z-axis <1.000000> speed <10.714287> / animSpeed; //delta=0.36 + turn torso to y-axis <-2.000000> speed <28.392857> / animSpeed; //delta=-0.95 turn rfoot to x-axis <2.447981> speed <154.621739> / animSpeed; //delta=-5.15 turn rfoot to z-axis <7.048637> speed <44.921394> / animSpeed; //delta=-1.50 turn rfoot to y-axis <-2.604198> speed <71.571663> / animSpeed; //delta=-2.39 @@ -258,7 +260,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn rtoes to x-axis <-13.956249> speed <66.687500> / animSpeed; //delta=2.22 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:44 + if (bMoving) { //Frame:44 turn lfoot to x-axis <-19.738897> speed <152.815015> / animSpeed; //delta=-5.09 turn lfoot to z-axis <-7.205919> speed <4.970346> / animSpeed; //delta=-0.17 turn lfoot to y-axis <1.225869> speed <19.510629> / animSpeed; //delta=0.65 @@ -287,7 +289,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn rtoes to x-axis <-7.508333> speed <193.437489> / animSpeed; //delta=-6.45 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:48 + if (bMoving) { //Frame:48 turn lfoot to x-axis <-7.275365> speed <373.905959> / animSpeed; //delta=-12.46 turn lfoot to z-axis <-5.751242> speed <43.640311> / animSpeed; //delta=-1.45 turn lfoot to y-axis <1.947651> speed <21.653465> / animSpeed; //delta=0.72 @@ -301,8 +303,8 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn ltoes to z-axis <0.600000> speed <9.999999> / animSpeed; //delta=-0.33 turn ltoes to y-axis <4.275000> speed <71.249993> / animSpeed; //delta=2.37 move torso to z-axis [2.506887] speed [42.216704] / animSpeed; //delta=1.41 - turn torso to z-axis <-0.0> speed <15.803571> / animSpeed; //delta=0.53 - turn torso to y-axis <-3.0> speed <8.571422> / animSpeed; //delta=-0.29 + turn torso to z-axis <-0.000000> speed <15.803571> / animSpeed; //delta=0.53 + turn torso to y-axis <-3.000000> speed <8.571422> / animSpeed; //delta=-0.29 turn rfoot to x-axis <17.956610> speed <246.523017> / animSpeed; //delta=-8.22 turn rfoot to y-axis <-5.919102> speed <42.806499> / animSpeed; //delta=-1.43 turn rleg to x-axis <52.758922> speed <527.810176> / animSpeed; //delta=-17.59 @@ -314,7 +316,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn rtoes to x-axis <-1.900001> speed <168.249971> / animSpeed; //delta=-5.61 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:52 + if (bMoving) { //Frame:52 turn lfoot to x-axis <-2.790972> speed <134.531775> / animSpeed; //delta=-4.48 turn lfoot to z-axis <-5.056621> speed <20.838613> / animSpeed; //delta=-0.69 turn lfoot to y-axis <1.262281> speed <20.561109> / animSpeed; //delta=-0.69 @@ -341,7 +343,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn rtoes to x-axis <-0.662500> speed <37.125023> / animSpeed; //delta=-1.24 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:56 + if (bMoving) { //Frame:56 turn lfoot to x-axis <-9.144840> speed <190.616046> / animSpeed; //delta=6.35 turn lfoot to z-axis <-6.164016> speed <33.221857> / animSpeed; //delta=1.11 turn lfoot to y-axis <-0.603993> speed <55.988220> / animSpeed; //delta=-1.87 @@ -351,11 +353,11 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn lthigh to x-axis <41.846930> speed <689.224776> / animSpeed; //delta=-22.97 turn lthigh to y-axis <-3.561861> speed <87.312825> / animSpeed; //delta=-2.91 turn ltoes to x-axis <-24.599999> speed <889.374949> / animSpeed; //delta=-29.65 - turn ltoes to z-axis <0.0> speed <15.999999> / animSpeed; //delta=0.53 - turn ltoes to y-axis <-0.0> speed <113.999990> / animSpeed; //delta=-3.80 + turn ltoes to z-axis <0.000000> speed <15.999999> / animSpeed; //delta=0.53 + turn ltoes to y-axis <-0.000000> speed <113.999990> / animSpeed; //delta=-3.80 move torso to y-axis [-2.638529] speed [59.297075] / animSpeed; //delta=-1.98 - turn torso to z-axis <-1.0> speed <14.196429> / animSpeed; //delta=0.47 - turn torso to y-axis <-2.0> speed <21.428574> / animSpeed; //delta=0.71 + turn torso to z-axis <-1.000000> speed <14.196429> / animSpeed; //delta=0.47 + turn torso to y-axis <-2.000000> speed <21.428574> / animSpeed; //delta=0.71 turn rfoot to x-axis <21.410393> speed <85.678337> / animSpeed; //delta=2.86 turn rfoot to z-axis <7.384462> speed <15.173265> / animSpeed; //delta=0.51 turn rfoot to y-axis <-1.356172> speed <69.782869> / animSpeed; //delta=2.33 @@ -368,7 +370,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn rtoes to x-axis <-0.400000> speed <7.875004> / animSpeed; //delta=-0.26 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:60 + if (bMoving) { //Frame:60 turn lfoot to x-axis <-11.384602> speed <67.192848> / animSpeed; //delta=2.24 turn lfoot to z-axis <-3.537009> speed <78.810225> / animSpeed; //delta=-2.63 turn lleg to x-axis <-33.168481> speed <792.155697> / animSpeed; //delta=26.41 @@ -394,7 +396,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn rtoes to x-axis <0.108239> speed <15.247160> / animSpeed; //delta=-0.51 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:64 + if (bMoving) { //Frame:64 turn lfoot to x-axis <-10.332776> speed <31.554782> / animSpeed; //delta=-1.05 turn lfoot to y-axis <-0.470625> speed <4.453404> / animSpeed; //delta=0.15 turn lleg to x-axis <-39.182353> speed <180.416168> / animSpeed; //delta=6.01 @@ -405,7 +407,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations move torso to z-axis [1.895014] speed [23.533258] / animSpeed; //delta=-0.78 move torso to y-axis [-3.700732] speed [4.054613] / animSpeed; //delta=-0.14 turn torso to z-axis <-1.500000> speed <4.285711> / animSpeed; //delta=0.14 - turn torso to y-axis <0.0> speed <31.607142> / animSpeed; //delta=1.05 + turn torso to y-axis <0.000000> speed <31.607142> / animSpeed; //delta=1.05 turn rfoot to x-axis <-1.589766> speed <366.481170> / animSpeed; //delta=12.22 turn rfoot to y-axis <0.255582> speed <14.726066> / animSpeed; //delta=0.49 turn rleg to x-axis <-14.572159> speed <50.075720> / animSpeed; //delta=1.67 @@ -415,7 +417,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn rtoes to x-axis <0.400000> speed <8.752839> / animSpeed; //delta=-0.29 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:68 + if (bMoving) { //Frame:68 turn lfoot to x-axis <-4.699048> speed <169.011849> / animSpeed; //delta=-5.63 turn lfoot to z-axis <-5.563798> speed <62.103805> / animSpeed; //delta=2.07 turn lfoot to y-axis <0.024479> speed <14.853129> / animSpeed; //delta=0.50 @@ -439,7 +441,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn rtoes to x-axis <0.075000> speed <9.750002> / animSpeed; //delta=0.33 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:72 + if (bMoving) { //Frame:72 turn lfoot to x-axis <-0.607104> speed <122.758319> / animSpeed; //delta=-4.09 turn lfoot to z-axis <-7.167780> speed <48.119460> / animSpeed; //delta=1.60 turn lfoot to y-axis <1.409795> speed <41.559472> / animSpeed; //delta=1.39 @@ -450,10 +452,10 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn lthigh to z-axis <4.523728> speed <47.438641> / animSpeed; //delta=-1.58 turn lthigh to y-axis <1.141126> speed <54.113352> / animSpeed; //delta=1.80 turn ltoes to x-axis <-17.599999> speed <175.999990> / animSpeed; //delta=5.87 - move torso to z-axis [0.0] speed [20.221242] / animSpeed; //delta=-0.67 - move torso to y-axis [0.0] speed [61.391501] / animSpeed; //delta=2.05 - turn torso to z-axis <-1.0> speed <11.718748> / animSpeed; //delta=-0.39 - turn torso to y-axis <2.0> speed <28.392857> / animSpeed; //delta=0.95 + move torso to z-axis [0.000000] speed [20.221242] / animSpeed; //delta=-0.67 + move torso to y-axis [0.000000] speed [61.391501] / animSpeed; //delta=2.05 + turn torso to z-axis <-1.000000> speed <11.718748> / animSpeed; //delta=-0.39 + turn torso to y-axis <2.000000> speed <28.392857> / animSpeed; //delta=0.95 turn rfoot to x-axis <-24.859715> speed <422.878416> / animSpeed; //delta=14.10 turn rfoot to y-axis <-0.624135> speed <23.131710> / animSpeed; //delta=-0.77 turn rleg to x-axis <9.975068> speed <517.259891> / animSpeed; //delta=-17.24 @@ -467,24 +469,24 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations } } } -// Call this from StopMoving()! +// Call this from MotionControl()! StopWalking() { - move torso to y-axis [0.0] speed [15.347875]; - move torso to z-axis [0.0] speed [10.900463]; + move torso to y-axis [0.000000] speed [15.347875]; + move torso to z-axis [0.000000] speed [10.900463]; turn lfoot to x-axis <0.601412> speed <120.318346>; turn lfoot to y-axis <8.926831> speed <28.188887>; - turn lfoot to z-axis <7.0> speed <53.130628>; + turn lfoot to z-axis <7.000388> speed <53.130628>; turn lleg to x-axis <1.306523> speed <266.929038>; turn lleg to y-axis <2.465494> speed <26.152755>; turn lleg to z-axis <-3.248917> speed <22.701822>; turn lthigh to x-axis <-0.834217> speed <226.031271>; turn lthigh to y-axis <0.581226> speed <103.729077>; turn lthigh to z-axis <-4.343016> speed <99.384945>; - turn ltoes to x-axis <0.0> speed <222.343737>; - turn ltoes to y-axis <0.0> speed <28.499997>; - turn ltoes to z-axis <0.0> speed <4.0>; - turn torso to y-axis <0.0> speed <7.901786>; - turn torso to z-axis <0.0> speed <4.968750>; + turn ltoes to x-axis <0.000000> speed <222.343737>; + turn ltoes to y-axis <0.000000> speed <28.499997>; + turn ltoes to z-axis <0.000000> speed <4.000000>; + turn torso to y-axis <0.000000> speed <7.901786>; + turn torso to z-axis <0.000000> speed <4.968750>; turn rfoot to x-axis <-1.110571> speed <135.972252>; turn rfoot to y-axis <-2.271102> speed <17.892916>; turn rfoot to z-axis <-8.296506> speed <58.761626>; @@ -494,10 +496,10 @@ StopWalking() { turn rthigh to x-axis <-1.087029> speed <272.463947>; turn rthigh to y-axis <-0.648298> speed <99.610892>; turn rthigh to z-axis <5.091138> speed <96.919789>; - turn rtoes to x-axis <0.0> speed <204.562458>; - turn rtoes to y-axis <0.0> speed <21.374998>; - turn rtoes to z-axis <0.0> speed <3.0>; - turn torso to x-axis <-3.0> speed <-1.250000>; + turn rtoes to x-axis <0.000000> speed <204.562458>; + turn rtoes to y-axis <0.000000> speed <21.374998>; + turn rtoes to z-axis <0.000000> speed <3.000000>; + turn torso to x-axis <-3.000000> speed <-1.250000>; } @@ -516,16 +518,16 @@ UnitSpeed(){ sleep 131; } } -StartMoving(reversing){ - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; - isMoving=TRUE; +StartMoving(){ + signal SIG_WALK; + set-signal-mask SIG_WALK; + bMoving=TRUE; start-script UnitSpeed(); start-script Walk(); } StopMoving(){ - signal SIGNAL_MOVE; - isMoving=FALSE; + signal SIG_WALK; + bMoving=FALSE; call-script StopWalking(); } @@ -545,10 +547,10 @@ ExecuteRestoreAfterDelay() if (Stunned) { return (1); } - turn gun to x-axis <0.0> speed <45.0>; - turn aimy1 to y-axis <0.0> speed <45.0>; + turn gun to x-axis <0.000000> speed <45.000000>; + turn aimy1 to y-axis <0.000000> speed <45.000000>; turn turret to x-axis <0> speed <10>; - isAiming = FALSE; + bAiming = FALSE; } @@ -570,28 +572,31 @@ Create() { hide flare; hide aimy1; - isMoving = FALSE; - isAiming = FALSE; + bMoving = FALSE; + bAiming = FALSE; isReady = 1; animSpeed = 4; } +SweetSpot(piecenum) +{ + piecenum = torso; +} - -AimFromWeapon1(pieceIndex) +AimFromWeapon1(piecenum) { - pieceIndex = aimy1; + piecenum = aimy1; } -FireWeapon1() +FirePrimary() { - move barrel to z-axis [-5.0] speed [60.0]; - move sleeve to z-axis [-5.0] speed [60.0]; + move barrel to z-axis [-5.000000] speed [60.000000]; + move sleeve to z-axis [-5.000000] speed [60.000000]; emit-sfx 1024 + 0 from flare; wait-for-move barrel along z-axis; - move barrel to z-axis [0.0] speed [3.0]; - move sleeve to z-axis [0.0] speed [3.0]; + move barrel to z-axis [0.000000] speed [3.000000]; + move sleeve to z-axis [0.000000] speed [3.000000]; return (0); } @@ -600,14 +605,15 @@ static-var tilt; AimWeapon1(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; - isAiming = TRUE; + signal SIG_AIM; + set-signal-mask SIG_AIM; + bAiming = TRUE; + //signal SIG_HEAD; //We can do this any time tilt = heading; tilt = get ABS(tilt)/10; tilt = -1*tilt; - turn gun to x-axis <0.0> - pitch speed <85.0>; + turn gun to x-axis <0.000000> - pitch speed <85.000000>; turn aimy1 to y-axis heading speed <140>; turn turret to x-axis tilt speed <10>; wait-for-turn aimy1 around y-axis; @@ -617,9 +623,9 @@ AimWeapon1(heading, pitch) } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = flare; + piecenum = flare; } @@ -629,36 +635,96 @@ Killed(severity, corpsetype) { corpsetype = 1 ; explode torso type BITMAPONLY | NOHEATCLOUD; + //explode thing type BITMAPONLY | NOHEATCLOUD; + //explode lturret type BITMAPONLY | NOHEATCLOUD; explode barrel type BITMAPONLY | NOHEATCLOUD; + //explode lflare2 type BITMAPONLY | NOHEATCLOUD; + //explode lbarrel1 type BITMAPONLY | NOHEATCLOUD; + //explode lflare1 type BITMAPONLY | NOHEATCLOUD; + //explode rturret type BITMAPONLY | NOHEATCLOUD; + //explode rbarrel2 type BITMAPONLY | NOHEATCLOUD; + //explode rflare2 type BITMAPONLY | NOHEATCLOUD; + //explode rbarrel1 type BITMAPONLY | NOHEATCLOUD; + //explode rflare1 type BITMAPONLY | NOHEATCLOUD; explode lthigh type BITMAPONLY | NOHEATCLOUD; explode lleg type BITMAPONLY | NOHEATCLOUD; + //explode lfoot type BITMAPONLY | NOHEATCLOUD; + //explode ltoes type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rthigh type BITMAPONLY | NOHEATCLOUD; + //explode rleg type BITMAPONLY | NOHEATCLOUD; + //explode rfoot type BITMAPONLY | NOHEATCLOUD; + //explode rtoes type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } if( severity <= 50 ) { corpsetype = 2 ; explode torso type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode thing type FIRE | SMOKE | FALL | NOHEATCLOUD; explode turret type FALL | NOHEATCLOUD; explode barrel type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lflare2 type FALL | NOHEATCLOUD; + //explode lbarrel1 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lflare1 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rturret type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rbarrel2 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rflare2 type FALL | NOHEATCLOUD; + //explode rbarrel1 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rflare1 type FALL | NOHEATCLOUD; explode lthigh type FIRE | SMOKE | FALL | NOHEATCLOUD; explode lleg type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lfoot type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode ltoes type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rthigh type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rleg type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rfoot type FALL | NOHEATCLOUD; + //explode rtoes type FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) { corpsetype = 3 ; explode torso type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode thing type FIRE | SMOKE | FALL | NOHEATCLOUD; explode turret type FIRE | SMOKE | FALL | NOHEATCLOUD; explode barrel type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lflare2 type SMOKE | FALL | NOHEATCLOUD; + //explode lbarrel1 type SMOKE | FALL | NOHEATCLOUD; + //explode lflare1 type SMOKE | FALL | NOHEATCLOUD; + //explode rturret type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rbarrel2 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rflare2 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rbarrel1 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rflare1 type SMOKE | FALL | NOHEATCLOUD; explode lthigh type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode lleg type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode lfoot type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode ltoes type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rthigh type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rleg type SMOKE | FALL | NOHEATCLOUD; + //explode rfoot type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode rtoes type SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; explode torso type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode turret type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode barrel type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lflare2 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lbarrel1 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode lflare1 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode rturret type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rbarrel2 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rflare2 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rbarrel1 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rflare1 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode lthigh type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode lleg type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lfoot type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode ltoes type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rthigh type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rleg type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rfoot type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rtoes type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/legbart.cob b/scripts/Units/legbart.cob index 38d1c1173ab632d154553a2480a345b3942ced5c..150dbf495a4abf28c06d139d3ae32192ea5b13f0 100644 GIT binary patch literal 20459 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 TQ<;peEU(Qa$+iIXL$ delta 4844 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 a-O_Pmz|pYbhS+1v&FwdJSp(b=UjJVqcJ6Wj diff --git a/scripts/Units/legbastion.bos b/scripts/Units/legbastion.bos index a500e2a236c..229bdd94b76 100644 --- a/scripts/Units/legbastion.bos +++ b/scripts/Units/legbastion.bos @@ -1,38 +1,48 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, base2, base3, sauron, sauronarms, ring1, ring2, ring3, fr1, fr2, fr3, aimfromy, aimy, flare, fireline, lineflare, lightpoint, ambienttop, lp1, lp2, lp3, lp4; -static-var restore_delay, dakka, shotcount, timer, lastfired, gameframe, isOpen; +static-var restore_delay, Static_Var_3, dakka, shotcount, timer, lastfired, gameframe, state, statechg_DesiredState, statechg_StateChanging; // Signal definitions -#define SIGNAL_AIM1 256 -#define SIGNAL_LIGHT 4 -#define SIGNAL_IDLE 8 +#define SIG_AIM 2 +#define SIG_LIGHT 4 +#define SIG_RESTORE 8 + + +//-------------------------------CONSTANT maxaccTURRET TURNING--------------------------- +// speed and maxaccare in degrees per frame (not second!) +// Jerk is the minimum velocity of the turret +// A high precision requirement can result in overshoots if desired +// (c) CC BY NC ND Beherith mysterme@gmail.com +#define MAX_AIMY1_VELOCITY <3.00> +#define AIMY1_maxacc<0.16> +#define AIMY1_JERK <0.5> +#define AIMY1_PRECISION <1.2> +#define AIMY1_RESTORE_SPEED <1.0> + +static-var timetozero, deceleratethreshold; +static-var Stunned; -#include "../opencloseanim.h" +static-var aimy1delta, aimy1velocity, aimy1target, aimy1position, gameFrame1; -static-var Stunned; -Open() -{ - set ARMORED to 0; - if( !isOpen ) - { - move base2 to y-axis [0] speed [20]; - move base3 to y-axis [0] speed [20]; +activatescr () { + move base2 to y-axis [0] speed [20]; + move base3 to y-axis [0] speed [20]; - turn sauronarms to x-axis <0.0> speed <85>; - start-script SpinIdle(); - //show fireline; - } - isOpen = 1; + turn sauronarms to x-axis <0.000000> speed <85>; + start-script SpinIdle(); + //show fireline; + state=1; } -Close() -{ - signal SIGNAL_AIM1; - isOpen=0; +deactivatescr() { + signal SIG_AIM; + state=0; //hide fireline; move base2 to y-axis [-10] speed [15]; @@ -41,14 +51,14 @@ Close() wait-for-move base3 along y-axis; - turn sauronarms to x-axis <-90.0> speed <85>; + turn sauronarms to x-axis <-90.000000> speed <85>; turn sauron to y-axis <0> speed <35>; - turn ring1 to x-axis <0.0> speed <85>; - turn ring2 to x-axis <0.0> speed <85>; - turn ring2 to y-axis <0.0> speed <85>; - turn ring3 to z-axis <0.0> speed <85>; + turn ring1 to x-axis <0.000000> speed <85>; + turn ring2 to x-axis <0.000000> speed <85>; + turn ring2 to y-axis <0.000000> speed <85>; + turn ring3 to z-axis <0.000000> speed <85>; stop-spin ring1 around x-axis; stop-spin ring2 around x-axis; stop-spin ring2 around y-axis; @@ -56,43 +66,118 @@ Close() stop-spin fr1 around z-axis; stop-spin fr2 around z-axis; stop-spin fr3 around z-axis; +} + + +Go() +{ + + set ARMORED to 0; + if( !state ) + { + call-script activatescr(); + } + state = 1; +} + +Stop() +{ + state = 0; + call-script deactivatescr(); set ARMORED to 1; } + +InitState() +{ + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; +} + +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + call-script Go(); + currentstate = 0; + } + if( statechg_DesiredState == 1 ) + { + call-script Stop(); + currentstate = 1; + } + } + statechg_StateChanging = FALSE; +} + + + Activate() { - start-script OpenCloseAnim(1); + start-script RequestState(0); } Deactivate() { - signal SIGNAL_AIM1; - start-script OpenCloseAnim(0); + signal SIG_AIM; + start-script RequestState(1); } + + + + + + + + + + + + + + lua_UnitScriptLight(lightIndex, count) { return 0; } Create() { - isOpen=1; + + + state=1; + call-script InitState(); + dakka = 0; lastfired = get(GAME_FRAME); shotcount = 0; + //Static_Var_3 = 0; restore_delay = 2000; - SLEEP_UNTIL_UNITFINISHED; + while( get BUILD_PERCENT_LEFT ) + { + sleep 250; + } start-script SpinIdle(); - start-script OpenCloseAnim(1); } RestoreAfterDelay() { - signal SIGNAL_IDLE; - set-signal-mask SIGNAL_IDLE; + //get PRINT(888); + signal SIG_RESTORE; + set-signal-mask SIG_RESTORE; sleep restore_delay; gameframe = get(GAME_FRAME); @@ -101,9 +186,9 @@ RestoreAfterDelay() { gameframe = get(GAME_FRAME); } - if(isOpen==1) { + if(state==1) { dakka = 0; - turn sauronarms to x-axis <0.0> speed <85>; + turn sauronarms to x-axis <0.000000> speed <85>; turn sauron to y-axis <0> speed <35>; start-script SpinIdle(); } @@ -126,15 +211,14 @@ SpinFiring() { spin ring3 around z-axis speed <70> accelerate <200>; } -#define BASEPIECE base -#define MAXTILT 0 -#include "../unit_hitbyweaponid_and_smoke.h" +#define SMOKEPIECE base +#include "smokeunit_thread_nohit.h" //this used to sweepfire, mothballed for now until engine update Enlighten() { //get PRINT(999); - signal SIGNAL_LIGHT; - set-signal-mask SIGNAL_LIGHT; + signal SIG_LIGHT; + set-signal-mask SIG_LIGHT; @@ -153,9 +237,9 @@ Enlighten() { } -AimWeapon1(heading, pitch) { +AimPrimary(heading, pitch) { - if (isOpen==0) return (0); + if (state==0) return (0); gameframe = get(GAME_FRAME); //get PRINT(lastfired, gameframe); @@ -163,18 +247,21 @@ AimWeapon1(heading, pitch) { lastfired = gameframe; //get PRINT(1, heading, pitch); - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; - turn sauronarms to x-axis <0.0> - pitch speed <85>; + signal SIG_AIM; + set-signal-mask SIG_AIM; + turn sauronarms to x-axis <0.000000> - pitch speed <85>; turn sauron to y-axis heading speed <35>; wait-for-turn sauron around y-axis; wait-for-turn sauronarms around x-axis; + + //sleep 30; + return (1); } -FireWeapon1() +FirePrimary() { //get PRINT(11); start-script SpinFiring(); @@ -189,21 +276,94 @@ FireWeapon1() } Shot1() { + //get PRINT(111); + //emit-sfx 1024 + 0 from lineflare; } -AimFromWeapon1(pieceIndex) +/* + +AimPrimary(heading, pitch) { + + signal SIG_AIM; + set-signal-mask SIG_AIM; + //We can do this any time + + aimy1target = heading; + aimy1delta = aimy1target - aimy1position; + + + while( ( get ABS(aimy1delta) > AIMY1_PRECISION ) OR (get ABS(aimy1velocity) > AIMY1_JERK)){ + if (gameFrame1 != get(GAME_FRAME)){ //this is to make sure we dont get double-called, as previous aimweapon thread runs before new aimweaponthread can signal-kill previous one + gameFrame1 = get(GAME_FRAME); + + //Clamp aimy1position and aimy1delta between <-180>;<180> + while (aimy1position > <180>) aimy1position = aimy1position - <360>; + while (aimy1position < <-180>) aimy1position = aimy1position + <360>; + while (aimy1delta > <180>) aimy1delta = aimy1delta - <360>; + while (aimy1delta < <-180>) aimy1delta = aimy1delta + <360>; + + //number of frames required to decelerate to 0 + timetozero = get ABS(aimy1velocity) / AIMY1_maxacc; + + //distance from target where we should start decelerating, always 'positive' + //pos = t * v - (t*(t-1)*a/2) + deceleratethreshold = timetozero * (get ABS(aimy1velocity)) - (timetozero * (timetozero - 1) * AIMY1_maxacc/ 2); + + //get PRINT ( aimy1delta , deceleratethreshold, aimy1velocity, timetozero ); + + if (get ABS(aimy1delta) <= deceleratethreshold){ //we need to decelerate + if (aimy1velocity > 0) aimy1velocity = aimy1velocity - AIMY1_maxacc; + else aimy1velocity = aimy1velocity + AIMY1_maxacc; + } + else //we need to accelerate + { + if (aimy1delta > 0) aimy1velocity = get MIN( MAX_AIMY1_VELOCITY, aimy1velocity + AIMY1_maxacc); + else aimy1velocity = get MAX((-1) * MAX_AIMY1_VELOCITY, aimy1velocity - AIMY1_maxacc); + } + + //Apply jerk at very low velocities + if (get ABS(aimy1velocity) < AIMY1_JERK){ + if ((aimy1delta > AIMY1_JERK)) aimy1velocity = AIMY1_JERK; + if ((aimy1delta < (-1) * AIMY1_JERK)) aimy1velocity = (-1) * AIMY1_JERK; + } + + aimy1position = aimy1position + aimy1velocity; + turn sauron to y-axis aimy1position now; + aimy1delta = aimy1target - aimy1position ; + } + sleep 30; + } + + start-script RestoreAfterDelay(); + + aimy1velocity = 0; + return (1); +}//*/ + + + + + +AimFromPrimary(piecenum) { - pieceIndex = aimfromy; + piecenum = aimfromy; } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = lineflare; + piecenum = lineflare; } + + +SweetSpot(piecenum) +{ + piecenum = aimy; +} + Killed(severity, corpsetype) { if( severity <= 25 ) diff --git a/scripts/Units/legbastion.cob b/scripts/Units/legbastion.cob index 1a668858089328b4197195d20fd0e58bf3028e6f..70af116881bc25e9d4b1faec95d7608dbe05cd7c 100644 GIT binary patch literal 6734 zcmd^DONbmr7_QmfOk#Yb)vOxvF?dmf!af88zOrkK#&}pAqX!S!&TengWOiok?M+w& zAD0{iy?F2@!IKveJjGiO0|5~XD0tC>K|wF(5JMDW{J!e?I<=kd?MyBTHhfc6|GWPB z|LWcyF~-~q+yb0lXUxqQ`5Xgr^KHiTfd{ZYiLnt31)#bS#J~g%3>GE4A&=L6RQe#c zOfZ7MK0!0M)=g=jwnoN=g7p|Pf0)cP1I}sB^s_mqtK~L1`EwU9k4wBWmZ!K(tC7dg zx#;wzct?(3yy(YE-j8`M5CrxzjDd0cdRST>Qfi+vUbBW*Ws|wFu_6|0V!H`^Kce~e zeVXiwR%UMlm_;Agl+ZR7Y3{5xgU&r;Kpr*(Bbd{VIl3+|v(4arOK)a;%qh#bR-Y*d z&K||ZGcD8r33#X{UzP@6xnHL%yWEp_w8i~sO+TiEcmc*r9^*WL0hMRtq>gVxvB^Gl zsB3cvS<;KTIUjO1-q|c4=RDm@F=f1;!Q-BJ9(=?faz12}bZc`a(>qIH=&?Teh%Y^} zy&0Txbn?q`B3~wG+8U$%oaXXtiB1?yFqf~sTPkg(AG#m8f)H{ zv3-afe2qdQpQ7a7$O&|Ko)5zrX@8P7)(Dt`2N?ij_U|FGb-p}L-8**vX4BRP$+SUx zeq8K3o{8c+Nx5Ly>X2u~vh&&NVqyJO*xn(Uz56x!L*Wc> zf+%IA!#RDhe(y#jaBa^MHO*coOZNvEtAK!+xA7php?D;J7 zH(_lL2dZJln#Wbp7is#)#+I~xRcl`tM``e zW1IX!Q2S@iUvCvJ&$-P(KfBlL-1R-o*!?j~_2B^!>6dc(d9mk_XVQG$y;O9$c*Vsu z4-)goJS@;b$$cbSv`=xaDN3CwXNSw;yG-{+#>;YXxFAoPM<{@rqFvTJW40sKy34FT zmlHcjPN?hOH>@L@n-*%KpCBM$jip1J0`L%mVPXDn;+xvwfd?+oRPwzojm zw6b$-BXH6f8}&JI-NI;s^|ns@HEZ2pYu}PrF10So^UC%0xi5dseEDmAW62)RfqVwW zk@9AC*yhxpIp&O8^;Rdx`n(c*>VX#h!M^Nj&HKcUo9F4Tc|QJH_lxxTcazW8H>vo1 z{pEdu8uHK6-k%51Ih}uaDo zuGI(Z6Ux!A?vbk8sWu1EQGX1g!`!KduQs--J*b}siRb^?TXnT4{vf#=wEyIz>O9q# zilItQeMvrR%J!#wSE@(rY+P-R(%;qep&#Raq4%yd9$#*)e)HwjV>$!>KJw*sesyws zf7Qw9{Z%KY@2N7ms+!ZcRhf>zCw*Jh$*C90v&zYU_Jci$j7#XhV$KlNdmZ9gZ) zo~*K`o~*N1d~fn~cQ^1h@B#2Ka16KrtivAx{6k;DGe|A~GAeg)0~4gBG;5f}yT2gZPDU^nm*Fbi~mL%>_WJHUIuhrlPm zXTWjb1n?zr3iu8<4g3Q92K)~E0bBqYx5FQ>2^a z<`Od>`KzaUrk(csW>+^(+bKlM3(>2~(UMzCIYqN0*D{^uaPJ<9&n0m`eJ`W zQKq|;_L697A&rt9Q72q6?S9ah^Z5IBg3DJ cWFznQ;%;if#eH$qO_|e9e;k+qCV_{{KQ3FgIsgCw literal 5561 zcmcgwO=w(I6uwEOlloKpTI(Mc89@}(#Y|FEu+XH9wbH89vUxPFz5qRs*OgKXfztfbOhrlMmMz~a&y&a zE2iK?Wc6ipV^O8PqEDGSSdGedMvOlejY606_3VWH`|IG>=5s|XGq5p8k8wUuU$ttX zk11m{pWe5dsz$rLj_uFukfr#jb1!MXcF-Pamnq}OwXU|&a#!X2og&UQriFalieBU_ z9>z3C#+W3_c1j1#nu}1r;uBS)jebfS)Mt$J-H!)#usMZYKVPG_+3R1u?$*R5*=3U{ zE>|1r$IrR=^rd(!UtGT)#!K1HcLuRxFJp|=$E$T9ZJ!%#Qs|dumS4z2f2Izbw*MhA z_O!){SWJJ)MWG+@Li-_4v5Ggy9&1weal-%}&!F_wL$uEx;=VZLIpW;-s5e=wVi;0i zWMQB#&m=L(ez|u@%hzc-u2t-uv;VZ7I@-fGNCs)DQoe-~tl@dQ8-~bxng;755zp2Z z&Jkz1hlj<^^`_e`a$@sSRXcBVMZ44qV`Xi5M=0hC)QfOmfoFBE7iV;zkB@a2W`{BF zfF9Rck748%+`+;|)7u~`%w4&6b$%J^u=7yP3vH?w>Su~vUfTs;eRcmz_Q8XNEbL>+ z4&AmQWBiPxEDQVkv0Dlqtz+I*bICX|maxwy+fHMUh5ZiBn*IFwa-kQVN5ysUa3LGC zpK!0`{e0Od)`j~4$9(H7Xk;G3p8d+#v+4CIx7wknIiDuq_sua58ix_uC68}nSaYtSJFRu~G0TaqM+~lpmxOYFHq;Bo1FezrwQE<_Q_OwR z#;cfed<~=glcq{}boHV}(jBCuHPQ`r$m5=s`)LU2Q*{~?H|<@bg3pDW3FZR#jcmz= z?wB*s@5fQf*&x}f7*RXrhPB{5`w;@8y$WgcDgAOvzZ@y!Uevd*czv>XXRYqvqBkh( z+w?tjCh#L4)L|TbA9l+Ye${(t{kjnaDD?Zj=>0Zn%g6E^c!Tb1*vt}$Ee&8TYqMD;KSVb1$Gf$k%8z@4g0n%-@J~THk1>_br%=cio5k=Y)-M#K4T_bqfRv5KZByV z=TNTPNUl1HF6;Bz4c9a7kmg$*(mLO=$2Xbs?HCy!^B2lAw(tJNdnt2Xs zzIh?dzb8W)e}=B2^}DzRKI7w07v^3)7S_S;2w#UyNF4357uKtT_NBavRvkpE4x*)R zeUG?Q2gy|j(W--J)j{-st%Lll4zi~@h*lk>uR2JsI!LZMNUl1FUatL8l&(Vl4OGyhz#I!OM1)j@et9pryl9i*>1D1Oz!ej8#xs)OWz zSBHO+YyKb5zsYr3U$k;9TDcajo)@j27pMv?jF&@a;^31dC|(X)+^Vd zm21(;wdiusGmZO!9QXzJ9ry#d2HcMeY5{l~I1gL`PU12;2mA}Hp=`3v<<&1RG$Mf{XI8WS6 z5^LI8ijN-7(tP%KFYV?B(uEVb+tW*^^?b6JcY4Y6e4g}Xl2*LzX1i(jRI`=XWN+F_ zvjw*=&37-qki^{%L?Pv7;&!}{G-unLlZksGYteR+x#_fBs5cx;B%05j=;RFw_x3t{ zh3A%%o;Tib`_on{X}V+aVq#wt_C4tqM speed <509.978555> / animSpeed; turn lleg to x-axis <51.319873> speed <1547.548193> / animSpeed; turn lloarm to x-axis <-7.847358> speed <332.011073> / animSpeed; @@ -28,8 +30,8 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\PtaQ turn torso to x-axis <-3.172586> speed <95.177578> / animSpeed; sleep 131; } - while(isMoving) { - if (isMoving) { //Frame:9 + while(bMoving) { + if (bMoving) { //Frame:9 turn lfoot to x-axis <-55.425424> speed <447.881390> / animSpeed; turn lhand to x-axis <-17.772354> speed <176.032109> / animSpeed; turn lleg to x-axis <41.040657> speed <308.376484> / animSpeed; @@ -53,7 +55,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\PtaQ turn torso to x-axis <-1.490819> speed <50.453009> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:13 + if (bMoving) { //Frame:13 turn lfoot to x-axis <-43.868229> speed <346.715873> / animSpeed; turn lhand to x-axis <50.947453> speed <2061.594212> / animSpeed; turn lleg to x-axis <2.293790> speed <1162.406004> / animSpeed; @@ -62,7 +64,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\PtaQ turn lthigh to x-axis <38.376586> speed <686.902528> / animSpeed; turn lthigh to z-axis <5.501472> speed <85.581634> / animSpeed; turn luparm to x-axis <50.444632> speed <474.885090> / animSpeed; - turn pelvis to z-axis <-5.0> speed <74.999998> / animSpeed; + turn pelvis to z-axis <-5.000000> speed <74.999998> / animSpeed; turn rfoot to x-axis <-27.019617> speed <352.130403> / animSpeed; turn rhand to x-axis <40.893575> speed <188.698148> / animSpeed; turn rleg to x-axis <62.865143> speed <373.940973> / animSpeed; @@ -78,7 +80,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\PtaQ turn torso to x-axis <0.190948> speed <50.453006> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:17 + if (bMoving) { //Frame:17 turn lfoot to x-axis <-38.088680> speed <173.386469> / animSpeed; turn lhand to x-axis <67.793978> speed <505.395750> / animSpeed; turn lleg to x-axis <7.177674> speed <146.516529> / animSpeed; @@ -87,14 +89,14 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\PtaQ turn lthigh to x-axis <44.924528> speed <196.438255> / animSpeed; turn lthigh to z-axis <2.656377> speed <85.352851> / animSpeed; turn luparm to x-axis <37.627512> speed <384.513593> / animSpeed; - turn pelvis to z-axis <-2.500000> speed <75.0> / animSpeed; + turn pelvis to z-axis <-2.500000> speed <75.000004> / animSpeed; turn rfoot to x-axis <0.338432> speed <820.741462> / animSpeed; turn rhand to x-axis <26.140831> speed <442.582325> / animSpeed; turn rleg to x-axis <41.913476> speed <628.550003> / animSpeed; turn rloarm to x-axis <-25.299279> speed <378.420800> / animSpeed; turn rloarm to z-axis <2.751657> speed <65.150016> / animSpeed; - move rthigh to z-axis [0.0] speed [3.122542] / animSpeed; - move rthigh to y-axis [0.0] speed [40.593038] / animSpeed; + move rthigh to z-axis [0.000000] speed [3.122542] / animSpeed; + move rthigh to y-axis [0.000000] speed [40.593038] / animSpeed; turn rthigh to x-axis <-40.592504> speed <314.450093> / animSpeed; turn rthigh to z-axis <1.806943> speed <63.369661> / animSpeed; turn ruparm to x-axis <1.963109> speed <887.192024> / animSpeed; @@ -103,31 +105,31 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\PtaQ turn torso to x-axis <-1.490819> speed <50.453010> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:21 + if (bMoving) { //Frame:21 turn lfoot to x-axis <18.476638> speed <1696.959543> / animSpeed; turn lhand to x-axis <111.071976> speed <1298.339936> / animSpeed; turn lleg to x-axis <24.763254> speed <527.567389> / animSpeed; turn lloarm to x-axis <-30.336599> speed <637.087602> / animSpeed; - turn lloarm to z-axis <0.0> speed <68.947509> / animSpeed; + turn lloarm to z-axis <0.000004> speed <68.947509> / animSpeed; turn lthigh to x-axis <44.551213> speed <11.199427> / animSpeed; - turn lthigh to z-axis <0.0> speed <79.691318> / animSpeed; + turn lthigh to z-axis <0.000000> speed <79.691318> / animSpeed; turn luparm to x-axis <-22.240006> speed <1796.025546> / animSpeed; move pelvis to y-axis [-1.935278] speed [22.468185] / animSpeed; - turn pelvis to z-axis <0.0> speed <75.0> / animSpeed; + turn pelvis to z-axis <0.000000> speed <75.000004> / animSpeed; turn rfoot to x-axis <-40.519687> speed <1225.743574> / animSpeed; turn rhand to x-axis <-11.904617> speed <1141.363440> / animSpeed; turn rleg to x-axis <51.098182> speed <275.541169> / animSpeed; turn rloarm to x-axis <-7.847351> speed <523.557820> / animSpeed; - turn rloarm to z-axis <-0.0> speed <82.550025> / animSpeed; + turn rloarm to z-axis <-0.000011> speed <82.550025> / animSpeed; turn rthigh to x-axis <-8.556187> speed <961.089527> / animSpeed; - turn rthigh to z-axis <0.0> speed <54.208287> / animSpeed; + turn rthigh to z-axis <0.000001> speed <54.208287> / animSpeed; turn ruparm to x-axis <23.882332> speed <657.576697> / animSpeed; turn aimx1 to x-axis <-11.600052> speed <106.480054> / animSpeed; turn aimx1 to y-axis <0.476332> speed <4.345819> / animSpeed; turn torso to x-axis <-3.172586> speed <50.453006> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:25 + if (bMoving) { //Frame:25 move lfoot to z-axis [1.092890] speed [32.786690] / animSpeed; move lfoot to y-axis [1.821483] speed [54.644476] / animSpeed; turn lfoot to x-axis <-17.922510> speed <1091.974462> / animSpeed; @@ -154,7 +156,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\PtaQ turn torso to x-axis <0.190948> speed <100.906015> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:29 + if (bMoving) { //Frame:29 move lfoot to z-axis [-0.104085] speed [35.909232] / animSpeed; move lfoot to y-axis [1.353101] speed [14.051439] / animSpeed; turn lfoot to x-axis <7.066146> speed <749.659681> / animSpeed; @@ -170,7 +172,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\PtaQ turn lthigh to z-axis <-4.447339> speed <60.271359> / animSpeed; turn luparm to x-axis <-27.668272> speed <647.961793> / animSpeed; move pelvis to y-axis [-2.684218] speed [22.468185] / animSpeed; - turn pelvis to z-axis <5.0> speed <74.999985> / animSpeed; + turn pelvis to z-axis <5.000000> speed <74.999985> / animSpeed; turn rfoot to x-axis <-45.385777> speed <29.115560> / animSpeed; turn rhand to x-axis <49.760909> speed <1929.301832> / animSpeed; turn rleg to x-axis <6.570218> speed <786.714145> / animSpeed; @@ -183,18 +185,18 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\PtaQ turn aimx1 to y-axis <0.186611> speed <8.691639> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:33 - move lfoot to z-axis [0.0] speed [3.122542] / animSpeed; - move lfoot to y-axis [0.0] speed [40.593038] / animSpeed; + if (bMoving) { //Frame:33 + move lfoot to z-axis [0.000000] speed [3.122542] / animSpeed; + move lfoot to y-axis [0.000000] speed [40.593038] / animSpeed; turn lfoot to x-axis <0.441607> speed <198.736165> / animSpeed; turn lhand to x-axis <26.392753> speed <419.944960> / animSpeed; - move lleg to z-axis [0.0] speed [3.122542] / animSpeed; - move lleg to y-axis [0.0] speed [40.593038] / animSpeed; + move lleg to z-axis [0.000000] speed [3.122542] / animSpeed; + move lleg to y-axis [0.000000] speed [40.593038] / animSpeed; turn lleg to x-axis <42.207472> speed <1242.046778> / animSpeed; turn lloarm to x-axis <-25.426511> speed <389.082657> / animSpeed; turn lloarm to z-axis <-2.746616> speed <65.721100> / animSpeed; - move lthigh to z-axis [0.0] speed [3.122542] / animSpeed; - move lthigh to y-axis [0.0] speed [40.593038] / animSpeed; + move lthigh to z-axis [0.000000] speed [3.122542] / animSpeed; + move lthigh to y-axis [0.000000] speed [40.593038] / animSpeed; turn lthigh to x-axis <-40.752880> speed <1057.343302> / animSpeed; turn lthigh to z-axis <-1.806381> speed <79.228758> / animSpeed; turn luparm to x-axis <2.016109> speed <890.531411> / animSpeed; @@ -213,25 +215,25 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\PtaQ turn torso to x-axis <-1.490819> speed <50.453010> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:37 + if (bMoving) { //Frame:37 turn lfoot to x-axis <-40.496045> speed <1228.129549> / animSpeed; turn lhand to x-axis <-11.904617> speed <1148.921078> / animSpeed; turn lleg to x-axis <51.319873> speed <273.372038> / animSpeed; turn lloarm to x-axis <-7.847358> speed <527.374598> / animSpeed; - turn lloarm to z-axis <0.0> speed <82.398847> / animSpeed; + turn lloarm to z-axis <0.000012> speed <82.398847> / animSpeed; turn lthigh to x-axis <-8.632269> speed <963.618345> / animSpeed; - turn lthigh to z-axis <-0.0> speed <54.191421> / animSpeed; + turn lthigh to z-axis <-0.000000> speed <54.191421> / animSpeed; turn luparm to x-axis <23.882334> speed <655.986744> / animSpeed; move pelvis to y-axis [-1.935278] speed [22.468185] / animSpeed; - turn pelvis to z-axis <-0.0> speed <74.999998> / animSpeed; + turn pelvis to z-axis <-0.000000> speed <74.999998> / animSpeed; turn rfoot to x-axis <19.931631> speed <885.443219> / animSpeed; - turn rfoot to z-axis <0.0> speed <72.959707> / animSpeed; + turn rfoot to z-axis <0.000001> speed <72.959707> / animSpeed; turn rhand to x-axis <111.071976> speed <1304.334451> / animSpeed; turn rleg to x-axis <30.067623> speed <2113.400924> / animSpeed; turn rloarm to x-axis <-30.336586> speed <635.290170> / animSpeed; - turn rloarm to z-axis <-0.0> speed <68.984855> / animSpeed; + turn rloarm to z-axis <-0.000004> speed <68.984855> / animSpeed; turn rthigh to x-axis <41.567104> speed <656.162272> / animSpeed; - turn rthigh to z-axis <0.0> speed <99.735834> / animSpeed; + turn rthigh to z-axis <0.000015> speed <99.735834> / animSpeed; turn ruparm to x-axis <-22.240009> speed <1796.332700> / animSpeed; turn aimx1 to x-axis <-11.600052> speed <106.480054> / animSpeed; turn aimx1 to y-axis <0.476332> speed <4.345819> / animSpeed; @@ -240,40 +242,40 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\PtaQ } } } -// Call this from StopMoving()! +// Call this from MotionControl()! StopWalking() { - move lfoot to y-axis [0.0] speed [13.661119]; - move lfoot to z-axis [0.0] speed [8.977308]; - move lleg to y-axis [0.0] speed [13.661119]; - move lleg to z-axis [0.0] speed [8.977308]; - move lthigh to y-axis [0.0] speed [13.661119]; - move lthigh to z-axis [0.0] speed [8.977308]; + move lfoot to y-axis [0.000000] speed [13.661119]; + move lfoot to z-axis [0.000000] speed [8.977308]; + move lleg to y-axis [0.000000] speed [13.661119]; + move lleg to z-axis [0.000000] speed [8.977308]; + move lthigh to y-axis [0.000000] speed [13.661119]; + move lthigh to z-axis [0.000000] speed [8.977308]; move pelvis to y-axis [-1.935278] speed [5.617046]; move pelvis to z-axis [1.539426] speed [-1.282855]; - move rthigh to y-axis [0.0] speed [13.661119]; - move rthigh to z-axis [0.0] speed [8.977308]; + move rthigh to y-axis [0.000000] speed [13.661119]; + move rthigh to z-axis [0.000000] speed [8.977308]; turn lfoot to x-axis <-40.477439> speed <424.239886>; turn lhand to x-axis <5.094668> speed <565.246879>; turn lleg to x-axis <-0.265067> speed <386.887048>; turn lloarm to x-axis <-18.914394> speed <347.129718>; - turn lloarm to z-axis <0.0> speed <36.885144>; + turn lloarm to z-axis <0.000000> speed <36.885144>; turn lthigh to x-axis <41.705589> speed <377.533936>; - turn lthigh to z-axis <0.0> speed <21.395409>; + turn lthigh to z-axis <0.000000> speed <21.395409>; turn luparm to x-axis <12.855118> speed <449.006386>; - turn pelvis to z-axis <0.0> speed <18.750001>; + turn pelvis to z-axis <0.000000> speed <18.750001>; turn rfoot to x-axis <-41.208143> speed <458.548306>; - turn rfoot to z-axis <0.0> speed <18.239942>; + turn rfoot to z-axis <0.000000> speed <18.239942>; turn rhand to x-axis <5.094668> speed <794.829808>; turn rleg to x-axis <-3.483926> speed <528.350231>; turn rloarm to x-axis <-18.914394> speed <339.100681>; - turn rloarm to z-axis <0.0> speed <37.450493>; + turn rloarm to z-axis <0.000000> speed <37.450493>; turn rthigh to x-axis <45.731275> speed <275.001678>; - turn rthigh to z-axis <0.0> speed <24.933959>; + turn rthigh to z-axis <0.000000> speed <24.933959>; turn ruparm to x-axis <12.855118> speed <449.083175>; turn aimx1 to x-axis <-11.600052> speed <53.240033>; turn aimx1 to y-axis <0.476332> speed <2.172910>; turn aimx1 to z-axis <-0.114163> speed <-0.095136>; - turn torso to x-axis <0.0> speed <25.226504>; + turn torso to x-axis <0.000000> speed <25.226504>; } // REMEMBER TO animspeed = 4 in Create() !! UnitSpeed(){ @@ -291,17 +293,17 @@ UnitSpeed(){ } } -StartMoving(reversing){ - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; - isMoving=TRUE; +StartMoving(){ + signal SIG_WALK; + set-signal-mask SIG_WALK; + bMoving=TRUE; start-script UnitSpeed(); start-script Walk(); } StopMoving(){ - signal SIGNAL_MOVE; - isMoving=FALSE; + signal SIG_WALK; + bMoving=FALSE; call-script StopWalking(); } @@ -334,17 +336,17 @@ ExecuteRestoreAfterDelay() return (1); } set-signal-mask 0; - turn aimx1 to y-axis <0.0> speed <90.0>; - turn aimx1 to x-axis <0.0> speed <50.0>; - move lturret to z-axis [0.0] speed [2.250000]; - move rturret to z-axis [0.0] speed [2.250000]; - move uturret to z-axis [0.0] speed [2.250000]; + turn aimx1 to y-axis <0.000000> speed <90.000000>; + turn aimx1 to x-axis <0.000000> speed <50.000000>; + move lturret to z-axis [0.000000] speed [2.250000]; + move rturret to z-axis [0.000000] speed [2.250000]; + move uturret to z-axis [0.000000] speed [2.250000]; wait-for-move lturret along z-axis; wait-for-turn aimx1 around x-axis; wait-for-turn aimx1 around y-axis; gun_1 = 0; gun_2 = 0; - wpn1_lasthead = 0xbadface; + wpn1_lasthead = 1000000; } SetStunned(State) { @@ -355,27 +357,30 @@ SetStunned(State) } RestoreAfterDelay() { - set-signal-mask SIGNAL_AIM1; + set-signal-mask SIG_AIM; sleep restore_delay; start-script ExecuteRestoreAfterDelay(); } -SetMaxReloadTime(reloadMS) +SetMaxReloadTime(Func_Var_1) { - restore_delay = reloadMS * 2; + restore_delay = Func_Var_1 * 2; } +SweetSpot(piecenum) +{ + piecenum = aimx1; +} - -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - turn aimx1 to y-axis heading speed <200.0>; - turn aimx1 to x-axis <0.0> - pitch speed <100.0>; - if ((wpn1_lasthead == 0xbadface) OR ABSOLUTE_GREATER_THAN(WRAPDELTA(heading - wpn1_lasthead), <7>)) + signal SIG_AIM; + turn aimx1 to y-axis heading speed <200.000000>; + turn aimx1 to x-axis <0.000000> - pitch speed <100.000000>; + if (((get ABS(wpn1_lasthead - heading)) > 65536) OR(((get ABS(wpn1_lasthead - heading)) > 1300) AND ((get ABS(wpn1_lasthead - heading)) < 64236))) { - wpn1_lasthead = 0xbadface; + wpn1_lasthead = 1000000; wait-for-turn aimx1 around x-axis; } start-script RestoreAfterDelay(); @@ -390,20 +395,20 @@ AimWeapon1(heading, pitch) return (1); } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = aimx1; + piecenum = aimx1; } -FireWeapon1() +FirePrimary() { return(1); } Shot1(zero) { - signal SIGNAL_SHOOT1; - set-signal-mask SIGNAL_SHOOT1; + signal SIG_FIRE1; + set-signal-mask SIG_FIRE1; if (gun_1 == 0) { @@ -425,9 +430,9 @@ Shot1(zero) move lturret to z-axis [-4.5] now; move rturret to z-axis [-4.5] now; move uturret to z-axis [-4.5] now; - move lturret to z-axis [0.0] speed [2.50000]; - move rturret to z-axis [0.0] speed [2.50000]; - move uturret to z-axis [0.0] speed [2.50000]; + move lturret to z-axis [0.000000] speed [2.50000]; + move rturret to z-axis [0.000000] speed [2.50000]; + move uturret to z-axis [0.000000] speed [2.50000]; } sleep 32; ++gun_1; @@ -438,19 +443,19 @@ Shot1(zero) return(1); } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { if (gun_1 == 0) { - pieceIndex = lflare; + piecenum = lflare; } else if (gun_1 == 1) { - pieceIndex = rflare; + piecenum = rflare; } else if (gun_1 == 2) { - pieceIndex = uflare; + piecenum = uflare; } } @@ -465,7 +470,17 @@ Killed(severity, corpsetype) { corpsetype = 2; explode lfoot type FALL | BITMAP4 | NOHEATCLOUD; + //explode lhand type FALL | BITMAP5 | NOHEATCLOUD; explode lleg type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP1 | NOHEATCLOUD; + //explode lloarm type FALL | BITMAP2 | NOHEATCLOUD; + //explode lthigh type FALL | BITMAP3 | NOHEATCLOUD; + //explode luparm type FALL | BITMAP4 | NOHEATCLOUD; + //explode rfoot type FALL | BITMAP1 | NOHEATCLOUD; + //explode rhand type FALL | BITMAP2 | NOHEATCLOUD; + //explode rleg type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP3 | NOHEATCLOUD; + //explode rloarm type FALL | BITMAP4 | NOHEATCLOUD; + //explode rthigh type FALL | BITMAP5 | NOHEATCLOUD; + //explode ruparm type FALL | BITMAP1 | NOHEATCLOUD; return (corpsetype); } if( severity <= 99 ) @@ -473,6 +488,16 @@ Killed(severity, corpsetype) corpsetype = 3; explode lfoot type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP4 | NOHEATCLOUD; explode lhand type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP5 | NOHEATCLOUD; + //explode lleg type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP1 | NOHEATCLOUD; + //explode lloarm type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP2 | NOHEATCLOUD; + //explode lthigh type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP3 | NOHEATCLOUD; + //explode luparm type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP4 | NOHEATCLOUD; + //explode rfoot type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP1 | NOHEATCLOUD; + //explode rhand type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP2 | NOHEATCLOUD; + //explode rleg type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP3 | NOHEATCLOUD; + //explode rloarm type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP4 | NOHEATCLOUD; + //explode rthigh type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP5 | NOHEATCLOUD; + //explode ruparm type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP1 | NOHEATCLOUD; return (corpsetype); } corpsetype = 3; @@ -480,5 +505,13 @@ Killed(severity, corpsetype) explode lhand type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP5 | NOHEATCLOUD; explode lleg type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP1 | NOHEATCLOUD; explode lloarm type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP2 | NOHEATCLOUD; + //explode lthigh type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP3 | NOHEATCLOUD; + //explode luparm type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP4 | NOHEATCLOUD; + //explode rfoot type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP1 | NOHEATCLOUD; + //explode rhand type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP2 | NOHEATCLOUD; + //explode rleg type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP3 | NOHEATCLOUD; + //explode rloarm type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP4 | NOHEATCLOUD; + //explode rthigh type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP5 | NOHEATCLOUD; + //explode ruparm type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP1 | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/legcen.cob b/scripts/Units/legcen.cob index 60affdac4bb6aed94fa89e2ef2400265d8d218c8..ec12376f3787202522528a7d345f6912ad4ea9e1 100644 GIT binary patch delta 3492 zcmc(h4QyN0702(fpA)-@sCIr35p=wC~H>Mo$F^K zx33l2hO{UDuCMPs_uTV!uiuXTM~7N9A%vd^GoMxn!JqsSO$sr{{D^7ikzgv<+A8n< zT1pE zzuEOHz)r`T@{u4*@eax+^(g5#kgYQ4HSBU4l*OJ|rkr|Pv*}!qX{RZ-7uMHW%k%56 zLqbavFs!BJ;K8VE<%^ioOu7}3fJ>Agu1efJW^@5{}{+=;Cp2?a!H6c zVtb2mQ}(`!sj{>@9J6LhJ;}mTZqhYKl^gUM^m4x%Ysxe7KWRut0Reh;PMbCqI-n4vJg^lgu;O8GT^8xPiZe$;*%8VaA zX|I6PM^+R|Bd%&^fMf7M(3&sM|78E_1Wucm#*sSAh#D|S~uuxaQV%1)Zik&k{$LB&@Fh$Z${3lF+f7- zTy5B|HL!H5+K|V8X1Dh$tf*G?vboxnGl%U_$zmVR+u$wvG-EE=dS;(gm0_4gb%^K znn`X~Ns}JH7MZ3$VZStJ46n$H99&rlic(!r{|n5k9gtTav%7x!W%7D0-(83YOj?R; zz@VRCD3GRiu`7_4OY2z~m!L9RJ<9C&F&)T!&JpB`Avo8$y1|JLgAu$FOwwhLbtc`1 z?m9C+et%sAJ&kVMTh}7B^-kL%BOGM;4=~NG7f1c-kR|FjQXiMTLBHa(8Zx}eeu&rN zXuY~3Ik^ajTH;48vyF&`fxe}m~9 zJL1B1)J#v{hK3B?$s3x^KQFeVcKdu(1Bx1&x?b=*U)LG;z)h6I$I(u16OEl(a>gyN zpgu^)vAHou0X*J#fi?KkieTiC1m#VbUkG*Sz4r#ZO`UWQy-j^u2j>8KRWQ=I&{`1l zSbmhczZ{2}LXlIwmc-LqHHx>&`%QwwsPU6`ws$el@7x8pKFh{=ZzqzUGCb;nU_YMEJi zZ;{mU+wqJLNmsuAU+NgrYt*j)n-cxl4C~Ncx)@<5nEo<-Emxp2yyqexS3!Kl>sBrl z0_Db3ydk)|AR;)1MIVLk)bUPy3C$qU8VVjbm&o!~C9;!6X3iz@LhEY|Uj@G3Hoq>) z?<8smbs`+eLWFzD^e#-dg&c_rRJGSSx>&Zgp1QE8eIZ?e&F!7z-#B9($2+e_B|UGk za;o3T)C6}`U+Cq!DrPlbl*{{GkjtmC&{y^p*Q;a}`xDl9SzcKsa_u4SfEtQgvHdap ziNN@Or2LCCRC&CLE;NdTQ>!QAmLqi+-M%HZ*i-y-M8y#MA!{{c} iT|Bz(v!9EHM~8}2eK)P!kP_KjhekIQhOqpC1OEmWkTG}w delta 2827 zcmai$4Qx|Y6vyA`$JVvo+VXnWZfjXbH{Le3(T0yP>f|FhK!argMEMZNtTF>`fCi1| zz|VjL7=JYZH(@4F@Tvd(S=h zoOAEF_r8{BTUc&U6vfR1n1v2S;a~FERjDXlOhpyLHEmU`<>g}S)!tquq`1|T6uC|A z(XEYfYH!`IQM9#Fr5mkRG^#+5KA;G`qm5-lpHLJF%Vo$uqQk7>(Ht+1*uCPwHx`4|<+yCt#MYFC+%ygIP-%(Li)ggOMB;eJ z(DNAfTQr)6PA*p=%NnPdxW{^!?nhomTwHJ(J@^sC)@;h~im3&<#eI>J{(Xl188OrO zFt*xsga7MnQ?LBcRd6m&CD8{$!wqmM%iNYI+ocqs>2p8AHY$Y zCaO4s{R24!9Zt;>W*yiRir_836Zd6Jq7m4c)j)@lZP(~cjIwX5ZJBH`biP#%&9RpA zFCS_78)L~J_cA<=7-eA^msikgQE36%9dWVYg3+L2kW-_nh+0)Tgj#2ue5enp*zRnm zCU~+{5zgkJcvSf(A33TWHQ6!oikx(A;czD(+42+CX0K!)C`T(h|A%qTBi(u!`>&S< ziehh$Mr(0CM-wxPbe58Z$40Mj;G`?2TTioPn6W-IQbsuFw(3?7 zyplTHawQ$-aw0CfRaye8NBfUeH^C!i8$AuQ6em4ea6pYdQaDB34ji=Z_%lQ+e8r_L{pGv!s@WtpNI(#v4 zXFjXrl_*`2k94IAmwoa7Nk!ff{3Fc^3eEW0AH=u*2;B~mr_lz~=4r|Ljd?+gFS22M zUa7FIFdK5sgySsFV{z$3r$^>mW&TRukBIlceLTCW2tH=a544H#9!8pByGeOO)?l!d^ETQL7G+3j1@phpqZb*CC?EXm} zrxqL?tokbCJf+;?x8!uO``G5lg$TPiX*`9Rx#deM=28jmz@ox9J;|Ci^QAgnYNyLZ z0u)j$aznvs*O-2pznJ%vE1_yGD~qZv(d#w^x8(cjD%KQ*$&c5IhU=BP9R6TiB_&O$ zNyRjMr#px2A=UCA7&5~$nu85@jz3sEPVZ2hW%P3v&I~CCDs{TVyI*Gg|+ zB2O#cE0ZIfy1v_?Ot*54DQSFPn-bEm1eaQPD7XIJ-OGJaSA}aWtRN+GUEWr>URiB* zD+@E+Q|4Y6$R^&TR zq*Y_pu+L1LcHC7lHvgAYz04U?M0Y?LpW(JUaH>2%uQ$~!eZ8p}=PL?0L3%32Q4lqi z)qF57tMqxFv9X{#GkFBc=)cOYqr0+#&&^sX&2`7IC7 zMW&5!eI3khW*_q&bBg(d`HAUa z9K-q6$Y{)HW+F3%nZ?Xw?qilPD~2lzl*jqyX=WX>nc2#8Fgut%%wFaIbAH7-x|HO*Mu T^l((Ee +//how 'heavy' the unit is, on a scale of 1-10 +#define UNITSIZE 1 +#define MAXTILT 100 + +InitState() +{ + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; +} + +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + call-script activatescr(); + currentstate = 0; + } + if( statechg_DesiredState == 1 ) + { + call-script deactivatescr(); + currentstate = 1; + } + } + statechg_StateChanging = FALSE; +} + Create() { hide thrust; hide firepoint; + Static_Var_1 = 3000; + call-script InitState(); } Activate() { show thrust; + start-script RequestState(0); } Deactivate() { hide thrust; + start-script RequestState(1); +} + +QueryPrimary(piecenum) +{ + piecenum = firepoint; } -QueryWeapon1(pieceIndex) + +SweetSpot(piecenum) { - pieceIndex = firepoint; + piecenum = base; } Killed(severity, corpsetype) diff --git a/scripts/Units/legcib.cob b/scripts/Units/legcib.cob index f42bbd383159f0ed0f1ed98e9c9134fe3482cd51..25daf4608de69659261a5f6cddfe9851790ae78a 100644 GIT binary patch literal 1332 zcmbVMyGjE=6uo(^Vicwm8(Gj&A@~J~T8K?F2o@HJ$%rdHHxng|Y-QF7^)-9H$kFm1^7B@hbMppp$<2Q&j6;`CV7(?? z);O4Uk_qfWA3urAPn^#k|JtL?KDWmQTvsT=f#*Nmdad}~6J32kp9XV`u TwH!sUzPyOejhN%O*ERA5|I%tg literal 597 zcma)&y=nqM6orrLUt=*=A>H<|P%AqT1&cs1RjPoiPRPQdvW|l9;3I^P2g^hF2%h8a z1eGZ6@^SCnd(WAl5`Z!(l7#s0w*c%(DF7NQ8b*w>pvV>qCNRhOQN>`C_0DSf{8=pw zjMmZz%}jsU2WRxlTfIjmVcB3@F|EAj_5K_`nlaTsjb9(<=%EOn^VGMkTJAe!s=ahg zo$H$Kmo(hxmhV(Ex$iqu`RaXd`R=6o$M+uX_Z6+mRZ=5$qIc8m2HP7*uABwAT~#Hn2_;< speed <113.735764> / animSpeed; //delta=-3.79 turn head to x-axis <-2.620635> speed <39.654598> / animSpeed; //delta=1.32 turn head to y-axis <-3.829846> speed <114.895376> / animSpeed; //delta=-3.83 @@ -30,7 +32,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn lthigh to z-axis <10.085981> speed <605.673206> / animSpeed; //delta=-20.19 turn lthigh to y-axis <15.046731> speed <118.088344> / animSpeed; //delta=3.94 if (leftArm) turn luparm to x-axis <9.919362> speed <279.367450> / animSpeed; //delta=9.31 - if (leftArm) turn luparm to z-axis <-12.399998> speed <114.0> / animSpeed; //delta=-3.80 + if (leftArm) turn luparm to z-axis <-12.399998> speed <114.000041> / animSpeed; //delta=-3.80 if (leftArm) turn luparm to y-axis <0.965138> speed <187.380006> / animSpeed; //delta=-6.25 turn pelvis to z-axis <-1.666667> speed <49.999997> / animSpeed; //delta=1.67 turn pelvis to y-axis <-2.296296> speed <68.888891> / animSpeed; //delta=-2.30 @@ -47,8 +49,8 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn aimy1 to y-axis <7.879434> speed <236.383029> / animSpeed; //delta=7.88 sleep ((33*animSpeed) -1); } - while(isMoving) { - if (isMoving) { //Frame:8 + while(bMoving) { + if (bMoving) { //Frame:8 if (leftArm) turn biggun to x-axis <-46.675856> speed <46.179694> / animSpeed; //delta=-1.54 turn head to x-axis <-1.563179> speed <31.723679> / animSpeed; //delta=-1.06 turn head to y-axis <-6.127755> speed <68.937274> / animSpeed; //delta=-2.30 @@ -75,7 +77,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn aimy1 to y-axis <13.926961> speed <181.425790> / animSpeed; //delta=6.05 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:12 + if (bMoving) { //Frame:12 if (leftArm) turn biggun to x-axis <-46.110552> speed <16.959121> / animSpeed; //delta=-0.57 turn head to x-axis <0.023005> speed <47.585527> / animSpeed; //delta=-1.59 turn head to y-axis <-7.659692> speed <45.958102> / animSpeed; //delta=-1.53 @@ -86,9 +88,9 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn lthigh to y-axis <14.540810> speed <93.704134> / animSpeed; //delta=-3.12 if (leftArm) turn luparm to x-axis <20.474264> speed <98.952127> / animSpeed; //delta=-3.30 if (leftArm) turn luparm to y-axis <5.388938> speed <71.821661> / animSpeed; //delta=2.39 - move pelvis to y-axis [-2.0] speed [18.888888] / animSpeed; //delta=-0.63 - turn pelvis to z-axis <-5.0> speed <27.777769> / animSpeed; //delta=0.93 - turn pelvis to y-axis <-6.0> speed <24.444453> / animSpeed; //delta=-0.81 + move pelvis to y-axis [-2.000000] speed [18.888888] / animSpeed; //delta=-0.63 + turn pelvis to z-axis <-5.000000> speed <27.777769> / animSpeed; //delta=0.93 + turn pelvis to y-axis <-6.000000> speed <24.444453> / animSpeed; //delta=-0.81 turn rfoot to x-axis <-34.556331> speed <305.131751> / animSpeed; //delta=10.17 turn rleg to x-axis <32.187523> speed <882.363941> / animSpeed; //delta=-29.41 if (rightArm) turn rloarm to x-axis <-64.499997> speed <87.888552> / animSpeed; //delta=2.93 @@ -102,7 +104,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn aimy1 to y-axis <15.758869> speed <54.957239> / animSpeed; //delta=1.83 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:16 + if (bMoving) { //Frame:16 if (leftArm) turn biggun to x-axis <-47.068049> speed <28.724907> / animSpeed; //delta=0.96 turn head to x-axis <-0.505722> speed <15.861819> / animSpeed; //delta=0.53 turn head to y-axis <-6.127755> speed <45.958102> / animSpeed; //delta=1.53 @@ -130,7 +132,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn aimy1 to y-axis <13.926961> speed <54.957239> / animSpeed; //delta=-1.83 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:20 + if (bMoving) { //Frame:20 if (leftArm) turn biggun to x-axis <-49.335727> speed <68.030323> / animSpeed; //delta=2.27 turn head to x-axis <-2.091907> speed <47.585562> / animSpeed; //delta=1.59 turn head to y-axis <-3.829846> speed <68.937274> / animSpeed; //delta=2.30 @@ -141,7 +143,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn lthigh to y-axis <8.321622> speed <266.996423> / animSpeed; //delta=-8.90 if (leftArm) turn luparm to x-axis <15.615877> speed <102.946916> / animSpeed; //delta=3.43 if (leftArm) turn luparm to y-axis <5.076670> speed <9.368019> / animSpeed; //delta=-0.31 - turn pelvis to z-axis <-2.0> speed <58.888879> / animSpeed; //delta=-1.96 + turn pelvis to z-axis <-2.000000> speed <58.888879> / animSpeed; //delta=-1.96 turn pelvis to y-axis <-2.772487> speed <67.619039> / animSpeed; //delta=2.25 turn rfoot to x-axis <-39.119034> speed <357.682424> / animSpeed; //delta=11.92 turn rleg to x-axis <104.636879> speed <789.433742> / animSpeed; //delta=-26.31 @@ -158,10 +160,10 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn aimy1 to y-axis <7.879434> speed <181.425790> / animSpeed; //delta=-6.05 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:24 + if (bMoving) { //Frame:24 if (leftArm) turn biggun to x-axis <-52.006372> speed <80.119348> / animSpeed; //delta=2.67 turn head to x-axis <-3.149363> speed <31.723676> / animSpeed; //delta=1.06 - turn head to y-axis <0.0> speed <114.895376> / animSpeed; //delta=3.83 + turn head to y-axis <0.000000> speed <114.895376> / animSpeed; //delta=3.83 turn lfoot to x-axis <-23.280778> speed <357.540911> / animSpeed; //delta=11.92 turn lleg to x-axis <46.510843> speed <277.878733> / animSpeed; //delta=9.26 turn lthigh to x-axis <-23.415420> speed <612.523459> / animSpeed; //delta=-20.42 @@ -169,9 +171,9 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn lthigh to y-axis <1.272165> speed <211.483711> / animSpeed; //delta=-7.05 if (leftArm) turn luparm to x-axis <11.452920> speed <124.888703> / animSpeed; //delta=4.16 if (leftArm) turn luparm to y-axis <3.308728> speed <53.038265> / animSpeed; //delta=-1.77 - move pelvis to y-axis [-2.0] speed [25.555551] / animSpeed; //delta=0.85 - turn pelvis to z-axis <-0.0> speed <60.0> / animSpeed; //delta=-2.00 - turn pelvis to y-axis <0.0> speed <83.174607> / animSpeed; //delta=2.77 + move pelvis to y-axis [-2.000000] speed [25.555551] / animSpeed; //delta=0.85 + turn pelvis to z-axis <-0.000000> speed <60.000006> / animSpeed; //delta=-2.00 + turn pelvis to y-axis <0.000000> speed <83.174607> / animSpeed; //delta=2.77 turn rfoot to x-axis <-45.278120> speed <184.772566> / animSpeed; //delta=6.16 turn rleg to x-axis <90.786697> speed <415.505474> / animSpeed; //delta=13.85 turn rleg to z-axis <0.843235> speed <24.355743> / animSpeed; //delta=-0.81 @@ -183,11 +185,11 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani if (rightArm) turn ruparm to x-axis <16.947865> speed <91.311783> / animSpeed; //delta=-3.04 if (rightArm) turn ruparm to y-axis <0.900000> speed <45.888888> / animSpeed; //delta=-1.53 turn aimy1 to x-axis <-4.594870> speed <18.402335> / animSpeed; //delta=0.61 - turn aimy1 to z-axis <-0.0> speed <61.681404> / animSpeed; //delta=2.06 - turn aimy1 to y-axis <0.0> speed <236.383029> / animSpeed; //delta=-7.88 + turn aimy1 to z-axis <-0.000000> speed <61.681404> / animSpeed; //delta=2.06 + turn aimy1 to y-axis <0.000000> speed <236.383029> / animSpeed; //delta=-7.88 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:28 + if (bMoving) { //Frame:28 if (leftArm) turn biggun to x-axis <-53.142724> speed <34.090567> / animSpeed; //delta=1.14 turn head to x-axis <-2.620635> speed <15.861851> / animSpeed; //delta=-0.53 turn head to y-axis <3.829846> speed <114.895376> / animSpeed; //delta=3.83 @@ -216,7 +218,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn aimy1 to y-axis <-7.879434> speed <236.383029> / animSpeed; //delta=-7.88 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:32 + if (bMoving) { //Frame:32 if (leftArm) turn biggun to x-axis <-55.253092> speed <63.311038> / animSpeed; //delta=2.11 turn head to x-axis <-1.563179> speed <31.723670> / animSpeed; //delta=-1.06 turn head to y-axis <6.127755> speed <68.937274> / animSpeed; //delta=2.30 @@ -242,7 +244,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn aimy1 to y-axis <-13.926961> speed <181.425790> / animSpeed; //delta=-6.05 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:36 + if (bMoving) { //Frame:36 if (leftArm) turn biggun to x-axis <-56.389444> speed <34.090567> / animSpeed; //delta=1.14 turn head to x-axis <0.023005> speed <47.585536> / animSpeed; //delta=-1.59 turn head to y-axis <7.659692> speed <45.958102> / animSpeed; //delta=1.53 @@ -253,12 +255,12 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn lthigh to y-axis <5.332458> speed <15.498655> / animSpeed; //delta=-0.52 if (leftArm) turn luparm to x-axis <-3.274263> speed <167.758466> / animSpeed; //delta=5.59 if (leftArm) turn luparm to y-axis <-6.556594> speed <45.333998> / animSpeed; //delta=-1.51 - move pelvis to y-axis [-2.0] speed [25.555555] / animSpeed; //delta=-0.85 - turn pelvis to z-axis <5.0> speed <31.089813> / animSpeed; //delta=-1.04 - turn pelvis to y-axis <6.0> speed <29.200275> / animSpeed; //delta=0.97 + move pelvis to y-axis [-2.000000] speed [25.555555] / animSpeed; //delta=-0.85 + turn pelvis to z-axis <5.000000> speed <31.089813> / animSpeed; //delta=-1.04 + turn pelvis to y-axis <6.000000> speed <29.200275> / animSpeed; //delta=0.97 turn rfoot to x-axis <4.673420> speed <156.586261> / animSpeed; //delta=-5.22 turn rleg to x-axis <17.968366> speed <112.905793> / animSpeed; //delta=3.76 - if (rightArm) turn rloarm to x-axis <-38.0> speed <43.722158> / animSpeed; //delta=-1.46 + if (rightArm) turn rloarm to x-axis <-38.000000> speed <43.722158> / animSpeed; //delta=-1.46 turn rthigh to x-axis <-40.972853> speed <227.481055> / animSpeed; //delta=-7.58 turn rthigh to z-axis <-12.483621> speed <13.132763> / animSpeed; //delta=-0.44 turn rthigh to y-axis <-18.495587> speed <4.624260> / animSpeed; //delta=-0.15 @@ -269,7 +271,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn aimy1 to y-axis <-15.758869> speed <54.957239> / animSpeed; //delta=-1.83 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:40 + if (bMoving) { //Frame:40 if (leftArm) turn biggun to x-axis <-55.431951> speed <28.724805> / animSpeed; //delta=-0.96 turn head to x-axis <-0.505722> speed <15.861819> / animSpeed; //delta=0.53 turn head to y-axis <6.127755> speed <45.958102> / animSpeed; //delta=-1.53 @@ -298,7 +300,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn aimy1 to y-axis <-13.926961> speed <54.957239> / animSpeed; //delta=1.83 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:44 + if (bMoving) { //Frame:44 if (leftArm) turn biggun to x-axis <-53.164273> speed <68.030323> / animSpeed; //delta=-2.27 turn head to x-axis <-2.091907> speed <47.585562> / animSpeed; //delta=1.59 turn head to y-axis <3.829846> speed <68.937274> / animSpeed; //delta=-2.30 @@ -326,10 +328,10 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn aimy1 to y-axis <-7.879434> speed <181.425790> / animSpeed; //delta=6.05 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:48 + if (bMoving) { //Frame:48 if (leftArm) turn biggun to x-axis <-50.493628> speed <80.119348> / animSpeed; //delta=-2.67 turn head to x-axis <-3.149363> speed <31.723676> / animSpeed; //delta=1.06 - turn head to y-axis <0.0> speed <114.895376> / animSpeed; //delta=-3.83 + turn head to y-axis <0.000000> speed <114.895376> / animSpeed; //delta=-3.83 turn lfoot to x-axis <-44.880435> speed <188.924672> / animSpeed; //delta=6.30 turn lleg to x-axis <90.690391> speed <407.363547> / animSpeed; //delta=13.58 turn lleg to z-axis <-1.028354> speed <29.811568> / animSpeed; //delta=0.99 @@ -339,9 +341,9 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn lthigh to y-axis <9.180887> speed <243.372656> / animSpeed; //delta=8.11 if (leftArm) turn luparm to x-axis <2.662867> speed <125.339441> / animSpeed; //delta=-4.18 if (leftArm) turn luparm to y-axis <-1.793232> speed <71.050921> / animSpeed; //delta=2.37 - move pelvis to y-axis [-2.0] speed [25.555551] / animSpeed; //delta=0.85 - turn pelvis to z-axis <-0.0> speed <62.666668> / animSpeed; //delta=2.09 - turn pelvis to y-axis <0.0> speed <86.222221> / animSpeed; //delta=-2.87 + move pelvis to y-axis [-2.000000] speed [25.555551] / animSpeed; //delta=0.85 + turn pelvis to z-axis <-0.000000> speed <62.666668> / animSpeed; //delta=2.09 + turn pelvis to y-axis <0.000000> speed <86.222221> / animSpeed; //delta=-2.87 turn rfoot to x-axis <-23.519080> speed <364.135724> / animSpeed; //delta=12.14 turn rleg to x-axis <46.484300> speed <278.590678> / animSpeed; //delta=9.29 if (rightArm) turn rloarm to x-axis <-53.199999> speed <206.555576> / animSpeed; //delta=6.89 @@ -351,11 +353,11 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani if (rightArm) turn ruparm to x-axis <23.351554> speed <90.983396> / animSpeed; //delta=3.03 if (rightArm) turn ruparm to y-axis <0.479402> speed <36.051284> / animSpeed; //delta=1.20 turn aimy1 to x-axis <-4.594870> speed <18.402335> / animSpeed; //delta=0.61 - turn aimy1 to z-axis <-0.0> speed <64.422792> / animSpeed; //delta=-2.15 - turn aimy1 to y-axis <0.0> speed <236.383029> / animSpeed; //delta=7.88 + turn aimy1 to z-axis <-0.000000> speed <64.422792> / animSpeed; //delta=-2.15 + turn aimy1 to y-axis <0.000000> speed <236.383029> / animSpeed; //delta=7.88 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:52 + if (bMoving) { //Frame:52 if (leftArm) turn biggun to x-axis <-48.215180> speed <68.353460> / animSpeed; //delta=-2.28 turn head to x-axis <-2.620635> speed <15.861851> / animSpeed; //delta=-0.53 turn head to y-axis <-3.829846> speed <114.895376> / animSpeed; //delta=-3.83 @@ -386,38 +388,38 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani } } } -// Call this from StopMoving()! +// Call this from MotionControl()! StopWalking() { - move pelvis to y-axis [-1.0] speed [6.944444]; + move pelvis to y-axis [-1.000000] speed [6.944444]; if (leftArm) turn biggun to x-axis <-52.006372> speed <28.433941>; turn head to x-axis <-1.298815> speed <11.896390>; - turn head to y-axis <0.0> speed <28.723844>; + turn head to y-axis <0.000000> speed <28.723844>; turn lfoot to x-axis <2.870126> speed <274.263975>; turn lleg to x-axis <22.425678> speed <349.693872>; - turn lleg to y-axis <0.0> speed <7.922289>; - turn lleg to z-axis <0.0> speed <7.923996>; + turn lleg to y-axis <0.000000> speed <7.922289>; + turn lleg to z-axis <0.000000> speed <7.923996>; turn lthigh to x-axis <-21.115098> speed <255.919901>; turn lthigh to y-axis <11.110453> speed <66.749106>; turn lthigh to z-axis <-10.103126> speed <151.418301>; if (leftArm) turn luparm to x-axis <19.231610> speed <69.841862>; if (leftArm) turn luparm to y-axis <7.211138> speed <46.845002>; if (leftArm) turn luparm to z-axis <-16.200000> speed <28.500010>; - turn pelvis to y-axis <0.0> speed <21.666665>; - turn pelvis to z-axis <0.0> speed <18.055557>; + turn pelvis to y-axis <0.000000> speed <21.666665>; + turn pelvis to z-axis <0.000000> speed <18.055557>; turn rfoot to x-axis <0.415283> speed <248.713120>; turn rleg to x-axis <25.768060> speed <346.011740>; - turn rleg to y-axis <0.0> speed <6.521982>; - turn rleg to z-axis <0.0> speed <6.524652>; + turn rleg to y-axis <0.000000> speed <6.521982>; + turn rleg to z-axis <0.000000> speed <6.524652>; if (rightArm) turn rloarm to x-axis <-53.199995> speed <51.638894>; turn rthigh to x-axis <-21.950628> speed <255.149679>; turn rthigh to y-axis <-11.905752> speed <66.515336>; turn rthigh to z-axis <9.396449> speed <151.125663>; if (rightArm) turn ruparm to x-axis <24.693159> speed <39.648544>; - if (rightArm) turn ruparm to y-axis <0.0> speed <31.089853>; + if (rightArm) turn ruparm to y-axis <0.000000> speed <31.089853>; if (rightArm) turn ruparm to z-axis <12.399998> speed <-7.153845>; turn aimy1 to x-axis <-2.263907> speed <15.181924>; - turn aimy1 to y-axis <0.0> speed <59.095757>; - turn aimy1 to z-axis <0.0> speed <18.561539>; + turn aimy1 to y-axis <0.000000> speed <59.095757>; + turn aimy1 to z-axis <0.000000> speed <18.561539>; } // REMEMBER TO animspeed = 4 in Create() !! UnitSpeed(){ @@ -434,16 +436,16 @@ UnitSpeed(){ sleep 131; } } -StartMoving(reversing){ - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; - isMoving=TRUE; +StartMoving(){ + signal SIG_WALK; + set-signal-mask SIG_WALK; + bMoving=TRUE; start-script Walk(); start-script UnitSpeed(); } StopMoving(){ - signal SIGNAL_MOVE; - isMoving = FALSE; + signal SIG_WALK; + bMoving = FALSE; call-script StopWalking(); } @@ -454,7 +456,7 @@ AmIBored() { //return isAiming == false and isBuilding == false and isMoving == false if (isAiming == 0){ if (isBuilding == 0 ){ - if (isMoving == 0){ + if (bMoving == 0){ return (1); } } @@ -478,13 +480,13 @@ Create(){ hide hatpoint; hide aimy1; hide teleport; - //turn rloarm to x-axis <-15> speed <130.0> ; //-- Turn(rloarm, x-axis, math.rad(-15),math.rad(130)) + //turn rloarm to x-axis <-15> speed <130.0000> ; //-- Turn(rloarm, x-axis, math.rad(-15),math.rad(130)) turn lflare to x-axis <90> now; // Turn(lflare, x-axis,math.rad(90)) turn nano to x-axis <90> now; //Turn(nano, x-axis,math.rad(90)) turn laserflare to x-axis <90> now; // Turn(laserflare, x-axis,math.rad(90)) spin dish around y-axis speed <100>; //Spin(dish, y-axis, 2.5) animSpeed = 4; - isMoving = 0; + bMoving = 0; isAiming = 0; isBuilding = 0; isAimingDgun = 0; @@ -495,23 +497,23 @@ Create(){ call-script StopWalking(); } -QueryNanoPiece(pieceIndex) +QueryNanoPiece(piecenum) { - pieceIndex = nano; + piecenum = nano; return (0); } RestoreAfterDelay(){ - set-signal-mask SIGNAL_AIM1; + set-signal-mask SIG_AIM; sleep 1000; - turn torso to y-axis <0> speed <105.0> ; //-- Turn(torso, y-axis, 0, math.rad(305)) + turn torso to y-axis <0> speed <105.0000> ; //-- Turn(torso, y-axis, 0, math.rad(305)) - turn biggun to x-axis <-38> speed <95.0> ; //-- Turn(biggun, x-axis, math.rad(-38), math.rad(95)) - turn luparm to x-axis <0> speed <95.0> ; //-- Turn(luparm, x-axis, 0, math.rad(95)) - turn rloarm to x-axis <-38> speed <95.0> ; //-- Turn(rloarm, x-axis, math.rad(-38), math.rad(95)) - turn ruparm to x-axis <0> speed <95.0> ; //-- Turn(ruparm, x-axis, 0, math.rad(95)) + turn biggun to x-axis <-38> speed <95.0000> ; //-- Turn(biggun, x-axis, math.rad(-38), math.rad(95)) + turn luparm to x-axis <0> speed <95.0000> ; //-- Turn(luparm, x-axis, 0, math.rad(95)) + turn rloarm to x-axis <-38> speed <95.0000> ; //-- Turn(rloarm, x-axis, math.rad(-38), math.rad(95)) + turn ruparm to x-axis <0> speed <95.0000> ; //-- Turn(ruparm, x-axis, 0, math.rad(95)) isAiming = 0; isAimingDgun = 0; @@ -525,8 +527,8 @@ ResumeBuilding() sleep 800; if( isBuilding AND ( !isAiming ) ) { - turn torso to y-axis buildHeading speed <150.0>; - turn luparm to x-axis <-55.0> - buildPitch speed <45.0>; + turn torso to y-axis buildHeading speed <150.000000>; + turn luparm to x-axis <-55.000000> - buildPitch speed <45.000000>; } return (0); } @@ -536,32 +538,36 @@ ResumeBuilding() //--gun functions; //----------------------------------------------------------------------- - +SweetSpot(piecenum) +{ + piecenum = torso; + return (0); +} /////////// pew pew laser -QueryWeapon1(pieceIndex) //pew laser +QueryPrimary(piecenum) //pew laser { - pieceIndex = laserflare; + piecenum = laserflare; return (0); } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = ruparm; + piecenum = ruparm; return (0); } -AimWeapon1(heading, pitch) //pew pew +AimPrimary(heading, pitch) //pew pew { if (isAimingDgun){ return (0); } rightarm = 0; //call-script FixArms(0, 1); - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; - turn torso to y-axis heading speed <300.0> ; //-- Turn(torso, y-axis, heading, math.rad(300)) - turn rloarm to x-axis <-55> speed <390.0> ; //-- Turn(rloarm, x-axis, math.rad(-55), math.rad(390)) - turn ruparm to x-axis <-40> - pitch speed <390.0> ; //-- Turn(ruparm, x-axis, math.rad(-45) - pitch, math.rad(390)) + signal SIG_AIM; + set-signal-mask SIG_AIM; + turn torso to y-axis heading speed <300.0000> ; //-- Turn(torso, y-axis, heading, math.rad(300)) + turn rloarm to x-axis <-55> speed <390.0000> ; //-- Turn(rloarm, x-axis, math.rad(-55), math.rad(390)) + turn ruparm to x-axis <-40> - pitch speed <390.0000> ; //-- Turn(ruparm, x-axis, math.rad(-45) - pitch, math.rad(390)) wait-for-turn torso around y-axis; //wait-for-turn rloarm around x-axis; //wait-for-turn ruparm around x-axis; @@ -574,7 +580,7 @@ AimWeapon1(heading, pitch) //pew pew return (1); } -FireWeapon1() +FirePrimary() { sleep 100; return (0); @@ -582,19 +588,19 @@ FireWeapon1() /////////// uw weapon -QueryWeapon2(pieceIndex) //uw weapon +QuerySecondary(piecenum) //uw weapon { - pieceIndex = laserflare; + piecenum = laserflare; return (0); } -AimFromWeapon2(pieceIndex) +AimFromSecondary(piecenum) { - pieceIndex = laserflare; + piecenum = laserflare; return (0); } -AimWeapon2(heading, pitch) +AimSecondary(heading, pitch) { if( get PIECE_Y(head) > 0 ) { @@ -609,11 +615,11 @@ AimWeapon2(heading, pitch) } rightarm = 0; //call-script FixArms(0, 1); - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; - turn torso to y-axis heading speed <300.0> ; //-- Turn(torso, y-axis, heading, math.rad(300)) - turn rloarm to x-axis <-55> speed <390.0> ; //-- Turn(rloarm, x-axis, math.rad(-55), math.rad(390)) - turn ruparm to x-axis <-40> - pitch speed <390.0> ; //-- Turn(ruparm, x-axis, math.rad(-45) - pitch, math.rad(390)) + signal SIG_AIM; + set-signal-mask SIG_AIM; + turn torso to y-axis heading speed <300.0000> ; //-- Turn(torso, y-axis, heading, math.rad(300)) + turn rloarm to x-axis <-55> speed <390.0000> ; //-- Turn(rloarm, x-axis, math.rad(-55), math.rad(390)) + turn ruparm to x-axis <-40> - pitch speed <390.0000> ; //-- Turn(ruparm, x-axis, math.rad(-45) - pitch, math.rad(390)) wait-for-turn torso around y-axis; //wait-for-turn rloarm around x-axis; //wait-for-turn ruparm around x-axis; @@ -626,25 +632,25 @@ AimWeapon2(heading, pitch) return (1); } -FireWeapon2() +FireSecondary() { sleep 100; return (0); } -QueryWeapon3(pieceIndex) //dgun +QueryTertiary(piecenum) //dgun { - pieceIndex = lflare; + piecenum = lflare; return (0); } -AimFromWeapon3(pieceIndex) +AimFromTertiary(piecenum) { - pieceIndex = biggun; + piecenum = biggun; return (0); } -FireWeapon3() +FireTertiary() { //emit-sfx 1024 + 0 from lflare; isAimingDgun = 0; @@ -660,31 +666,31 @@ FireWeapon3() return (0); } -AimWeapon3(heading, pitch) +AimTertiary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; isAimingDgun = 1; isAiming = 1; leftArm = 0; //call-script FixArms(1, 0); - turn torso to y-axis heading speed <360.0> ; //-- Turn(torso, y-axis, heading, math.rad(300)) - turn biggun to x-axis <-85> speed <390.0> ; //-- Turn(biggun, x-axis, math.rad(-85), math.rad(390)) - turn luparm to x-axis <5> - pitch speed <390.0> ; //-- Turn(luparm, x-axis, math.rad(-5) - pitch, math.rad(390)) + turn torso to y-axis heading speed <360.0000> ; //-- Turn(torso, y-axis, heading, math.rad(300)) + turn biggun to x-axis <-85> speed <390.0000> ; //-- Turn(biggun, x-axis, math.rad(-85), math.rad(390)) + turn luparm to x-axis <5> - pitch speed <390.0000> ; //-- Turn(luparm, x-axis, math.rad(-5) - pitch, math.rad(390)) wait-for-turn torso around y-axis; //wait-for-turn biggun around x-axis; return (1); } -QueryWeapon4(pieceIndex) //ferret +QueryWeapon4(piecenum) //ferret { - pieceIndex = misflare; + piecenum = misflare; return (0); } -AimFromWeapon4(pieceIndex) +AimFromWeapon4(piecenum) { - pieceIndex = turretmis; + piecenum = turretmis; return (0); } @@ -696,17 +702,17 @@ FireWeapon4() AimWeapon4(heading, pitch) { - signal SIGNAL_AIM2; - set-signal-mask SIGNAL_AIM2; - turn turretmis to y-axis heading speed <250.0>; - turn misbox to x-axis <0> - pitch speed <200.0>; + signal SIG_AIM_2; + set-signal-mask SIG_AIM_2; + turn turretmis to y-axis heading speed <250.000000>; + turn misbox to x-axis <0> - pitch speed <200.000000>; wait-for-turn turretmis around y-axis; wait-for-turn misbox around x-axis; return (1); } SprayNano(heading, pitch){ - set-signal-mask SIGNAL_AIM1; + set-signal-mask SIG_AIM; sleep 1000; while (1){ @@ -720,15 +726,15 @@ SprayNano(heading, pitch){ StartBuilding(heading, pitch) { - signal SIGNAL_AIM1; - //set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + //set-signal-mask SIG_AIM; isBuilding = 1; rightArm = 0; - //turn torso to x-axis <0> speed <395.0> ; //-- Turn(torso, x-axis, 0, math.rad(395)) - //turn pelvis to x-axis <0> speed <395.0> ; //-- Turn(pelvis, x-axis, 0, math.rad(395)) - turn torso to y-axis heading speed <300.0> ; //-- Turn(torso, y-axis, heading, math.rad(300)) - turn rloarm to x-axis <-40> speed <390.0> ; //-- Turn(rloarm, x-axis, math.rad(-55), math.rad(390)) - turn ruparm to x-axis <-55> -pitch speed <390.0> ; //-- Turn(ruparm, x-axis, math.rad(-55) - pitch, math.rad(390)) + //turn torso to x-axis <0> speed <395.0000> ; //-- Turn(torso, x-axis, 0, math.rad(395)) + //turn pelvis to x-axis <0> speed <395.0000> ; //-- Turn(pelvis, x-axis, 0, math.rad(395)) + turn torso to y-axis heading speed <300.0000> ; //-- Turn(torso, y-axis, heading, math.rad(300)) + turn rloarm to x-axis <-40> speed <390.0000> ; //-- Turn(rloarm, x-axis, math.rad(-55), math.rad(390)) + turn ruparm to x-axis <-55> -pitch speed <390.0000> ; //-- Turn(ruparm, x-axis, math.rad(-55) - pitch, math.rad(390)) wait-for-turn ruparm around x-axis; set INBUILDSTANCE to 1; @@ -739,13 +745,24 @@ StartBuilding(heading, pitch) } + + +TargetCleared(Func_Var_1) +{ + signal SIG_AIM; + set-signal-mask SIG_AIM; + call-script RestoreAfterDelay(); + return (0); +} + + StopBuilding() { rightArm = 1; isBuilding = 0; set INBUILDSTANCE to 0; - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; call-script RestoreAfterDelay(); return (0); } diff --git a/scripts/Units/legcom.cob b/scripts/Units/legcom.cob index 1bf3b0767d08f7a03e73290a5e65bc6da5487bd7..2b555728c31dafda51116b8cd4f7ee72b2e4b297 100644 GIT binary patch delta 4143 zcmai%4Nz3q702IM7TiTX7VbU;7Lb*X2a3X?xaflbRZ(1VK~2>dgFDJ3)SyU7txX)m zXliOS6a2?UQ;lU>6OATuV?L*8BF&^RY0`m68a2^sYO67tierqXB0cvlMD#iB&iwAa zxA*IubI&>V><8QF$TQ@zDvFZEBrzxB6=g7g%g;WaqU2BKZzh-D6RH%292SSQ)iaVl zZ(X2M2Hf$2UPN$+Xg!ckcOj4=)V2>Tij{{Al53QOIpmag5l4dFLndkJmKVv?KN11b z=w;MIy6p8lP0rbd7syBXxJq7n2_B1}$1vHV(N(m#1=XU(BGe6u=Dh;gZSkoO-l3Rw zNyN#?f?h{Tn5G7wG50URys$Ou)=YCx8M?##+O|u>~ehH zoUOPTq0uq82YD$Hor8p`cZEiU^9cEoHnX5*kkoMVAe|-Z9OPBI7Mu4vjucxhEk;|u zpo3_&>GUsrY@0(d$h2#$Rh8YZUfFA&my96yKa3;XE(Jvjs+2k+J94cWJH|Y|3+<6Q zy@R-10mon`Ed(VB6!Ft}R1L1Z?HOgEeXvfK(KA@%@gBBxQPkaJm21$a*d3+OgXoOX ztj~oh3aWE6kQP0cmY_UVU_-Q%D$o|~rz_}=UO}&+K1QQlw8r>oJ&wgJqIc!ElBKsX z@6~N)@%Nky88{|nU&Fvx&>AZ}erK#sXK*ssr=C7!K88~$cj%OdRSqBh1l`#JUpO-O z*eFh@3qs-MkYD|WyMxu!=q=R5$)ng9H-{ETC&!gIr`qKlKb?jr*=0Y=Q6dB60|bY9 z=@op%{Y8jN@RJ*X1TE+8HD)0@{%%&b4#5PCstrdzmypdtwA|@JeqyqE=?k+TJdZ%4 z#!|L>1hyqQ*>!`7!qRgEkB>~ki9{P~*f~~E6nYZVS-DQmF26%cp^nC+Y$MOi!nvee z8jq8#wsdVVFy$hDloJoRoOBeeE{(R}O>Qf3(xs{8*F(Y#%sPd}{B>*&ujNM(h;b)j zZE`*>$E(RYM^JaNuD*BKY=uaar|9ZNz87vy>etYkq7mWE6faw`J4LAT&znabMq=tZ z`YYN}({molF!wj~hD04059@J0RaYPDQ-ZhtA$5k5Z}qUboZfbG+P#r{1)|cNbPnz` zjS5i7?Q|^Xb}zPadkF1m!jf&p_3$KINK2-jh<2w_7Ci1nvUh6Iv3TcHIq4bHebSK`5u%RPAjgqh`eTjPZvyeWVpNx<6x-RsjuV8gz5~^}F zYtm&lUx%$2ujD3#k~tO1DE@!xT*fp_!Q@ezIy29l9n;Vp@(>3c7?}703%BSRgFF zj4-0|M1f6p%`?k#3OxnBJ`ZmkQ%xt(K1QQhd^M(4y(ehC^X6c|SS{yIeQ70d4-yhiDAyaeD$iq@61aYWiTJl@^Had zvn+fcmF|XvEMc_)}p;u(Xs*!|u{42U>OiYiF{?WgvMZxijPjmXJ zs+fWUlO7^JN+xSGkK3W)%EAc8LbOc2?G)^7VfLRDCBDZkO{2y-YG z6h|W5K39zVf6%|VO~GqZf8jO;JseWsrrg9kOpe>s5{Qqm$EavwBKb)sY1*jqJ@_sv}WZ_d%zn4xULdzod-9_B;l6Xq!M zC6f`SC?l8xW&*R7*}*)=yu=)3qWH>oGRaI9GnM%%^D^@ebC{9;CR3OkW=xf`S}Em+ zY0NC$+R*1m_IP@Gk;@FGnW|43`KD;Y0M~QJX68k$po1DnV&IhnN7?N z=2>PB6J*|)F_$Idhd(nPGhNIP<`nZabCJ2qTxY`kiehJC87Jdn+>FMIV#YD0OeIt8 z$Me&hSI=5eSJynNaaprc^FUqG%Ic>2hCtIwrM$kOqG?&ffY<)Viu$Iy{%2##thz82lUyvT_+-i)cU>++hK>jzAoUDx+62mkQG!t_7mwW{gSvja`{)-_MOzb?>J Kw-_|z;C}(x%(dzO delta 4055 zcma)<4RBP|702Is*(AHyBlQXWu|>I zzq@buew}mgIsbe2okMiuAeGuQP0L|2n3Iz=Esj6cvm~HtZ!mKfYFaUW@8eH$>Q3q@ zEuwQhD^1FWd$OQs5lj(1{T^D5)+s{%>ZGpOxLK?kqbAC!y1a~J67&iR$dLP-EKj5pj#JmXS#K+JJG8Lyq&jd zmRZvNIyR=|YR+h789!>47m*!h$mb4OTd&6Qs4a4TfwiUqOI$@S zt9I4x6D;u82dobK=5lz66L}NVqrztdJxMA9o=7t35-ubK&vf7ND$xBtZy9K^VcFD7Dt7Th4d8mSp z^U%d^t(RWO2Lfjj>K}fcH*tyzLPN ziBSH>0RE`be#spduB>ctif2zCde=O2`eRMo6QY_?=P(B}1kf^dnTKHqpl@&B}Cq z!iu1F^CW_)etI64QVn=+c40-i3zcae%0p|K;a$1KYWQ0pSQp@K1k(&^4u$t+?!5{d zT$%8tXUWgbS!3h3XiYcR)`3!i1L-d6L@-_G-+qN%MHx7sZf8FSrwdBJXnH=oILMmw zYh+iL=*aMd)Mqg+XB4v!KmJa}6rTd@dWXfy*P<$K@Fe`y1A-7^mSX5Dy@6t0yane^v>DZique|hj*d3Ov z(4#`{EJpJmpj&YN6hqPk8B&fQ*F=w4_bfWJXRm__{Ih*QS6?#jL6$sFlkJ(@jDbQ2DHgsdM5JCPLO{vn+3m>eOkreIyJijSgn2c8|y+imDRSjy!g9g($Md<%OD5LjS+bU?|EC~P{HV!=G2^#hiboa zhu*-Nn+@8Dom?j1c`keL-pv6eI-G_hs4i+^HQrg|*SEVu(sRDZ&iksQ{J?lHMuw>p zCFNK{v0+R9f_LYXy$Zi8P75nKO;>6AzcgJXG0j8WR6{NSU&fqb;!^~nU-KfwBW;9 zU5&S^*u!fxJam=g-jsJuaQ{%3WFfOQTgMAsoUzqkBhSvX)`l+6xa@b415|nAHM+Ud zpgXat^8ddwKZv19lUBof%U)7fVZpblp&SFnHrMwq#g#K3BtL>P{kF9(zMS=^q`_uZ zVwvf}BD0uAvDx%H2EQ6lWRNa!%A8J(h_32#{P}2jy%%CaHiJ{rX$I=LYs@qSgXq#J)b8|X5 zLA&cx(NX7QYrE?*`A&7PE`OpfJC3!@_0x?t&(#0hrn7S3=)By-P(WUrNXPs09%7?# zr8Wf}^X+suHqBqJ&z+2)1Txg`F$>K2xUK6`mfBG!jeWj{>0tVp z*O}AI-K|f|d5L+IInBJk zQ0vk@;+HGTD3jE{e>a&TW+qd|G&6TF?aYJBR;Gt}oatj;U|wcUGaoRYF#lonMjnqz zVKNyv<6%me8B8@Zr*WR9&F7aT%0-7rk1##VUgjY4B=anDoat{w zO2d6!&G)a_xM}H{){gb-O10Xy_PHC^w?}-v_Byw1 speed <113.735764> / animSpeed; //delta=-3.79 turn head to x-axis <-2.620635> speed <39.654598> / animSpeed; //delta=1.32 turn head to y-axis <-3.829846> speed <114.895376> / animSpeed; //delta=-3.83 @@ -31,7 +33,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn lthigh to z-axis <10.085981> speed <605.673206> / animSpeed; //delta=-20.19 turn lthigh to y-axis <15.046731> speed <118.088344> / animSpeed; //delta=3.94 if (leftArm) turn luparm to x-axis <9.919362> speed <279.367450> / animSpeed; //delta=9.31 - if (leftArm) turn luparm to z-axis <-12.399998> speed <114.0> / animSpeed; //delta=-3.80 + if (leftArm) turn luparm to z-axis <-12.399998> speed <114.000041> / animSpeed; //delta=-3.80 if (leftArm) turn luparm to y-axis <0.965138> speed <187.380006> / animSpeed; //delta=-6.25 turn pelvis to z-axis <-1.666667> speed <49.999997> / animSpeed; //delta=1.67 turn pelvis to y-axis <-2.296296> speed <68.888891> / animSpeed; //delta=-2.30 @@ -48,8 +50,8 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn aimy1 to y-axis <7.879434> speed <236.383029> / animSpeed; //delta=7.88 sleep ((33*animSpeed) -1); } - while(isMoving) { - if (isMoving) { //Frame:8 + while(bMoving) { + if (bMoving) { //Frame:8 if (leftArm) turn biggun to x-axis <-46.675856> speed <46.179694> / animSpeed; //delta=-1.54 turn head to x-axis <-1.563179> speed <31.723679> / animSpeed; //delta=-1.06 turn head to y-axis <-6.127755> speed <68.937274> / animSpeed; //delta=-2.30 @@ -76,7 +78,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn aimy1 to y-axis <13.926961> speed <181.425790> / animSpeed; //delta=6.05 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:12 + if (bMoving) { //Frame:12 if (leftArm) turn biggun to x-axis <-46.110552> speed <16.959121> / animSpeed; //delta=-0.57 turn head to x-axis <0.023005> speed <47.585527> / animSpeed; //delta=-1.59 turn head to y-axis <-7.659692> speed <45.958102> / animSpeed; //delta=-1.53 @@ -87,9 +89,9 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn lthigh to y-axis <14.540810> speed <93.704134> / animSpeed; //delta=-3.12 if (leftArm) turn luparm to x-axis <20.474264> speed <98.952127> / animSpeed; //delta=-3.30 if (leftArm) turn luparm to y-axis <5.388938> speed <71.821661> / animSpeed; //delta=2.39 - move pelvis to y-axis [-2.0] speed [18.888888] / animSpeed; //delta=-0.63 - turn pelvis to z-axis <-5.0> speed <27.777769> / animSpeed; //delta=0.93 - turn pelvis to y-axis <-6.0> speed <24.444453> / animSpeed; //delta=-0.81 + move pelvis to y-axis [-2.000000] speed [18.888888] / animSpeed; //delta=-0.63 + turn pelvis to z-axis <-5.000000> speed <27.777769> / animSpeed; //delta=0.93 + turn pelvis to y-axis <-6.000000> speed <24.444453> / animSpeed; //delta=-0.81 turn rfoot to x-axis <-34.556331> speed <305.131751> / animSpeed; //delta=10.17 turn rleg to x-axis <32.187523> speed <882.363941> / animSpeed; //delta=-29.41 if (rightArm) turn rloarm to x-axis <-64.499997> speed <87.888552> / animSpeed; //delta=2.93 @@ -103,7 +105,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn aimy1 to y-axis <15.758869> speed <54.957239> / animSpeed; //delta=1.83 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:16 + if (bMoving) { //Frame:16 if (leftArm) turn biggun to x-axis <-47.068049> speed <28.724907> / animSpeed; //delta=0.96 turn head to x-axis <-0.505722> speed <15.861819> / animSpeed; //delta=0.53 turn head to y-axis <-6.127755> speed <45.958102> / animSpeed; //delta=1.53 @@ -131,7 +133,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn aimy1 to y-axis <13.926961> speed <54.957239> / animSpeed; //delta=-1.83 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:20 + if (bMoving) { //Frame:20 if (leftArm) turn biggun to x-axis <-49.335727> speed <68.030323> / animSpeed; //delta=2.27 turn head to x-axis <-2.091907> speed <47.585562> / animSpeed; //delta=1.59 turn head to y-axis <-3.829846> speed <68.937274> / animSpeed; //delta=2.30 @@ -142,7 +144,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn lthigh to y-axis <8.321622> speed <266.996423> / animSpeed; //delta=-8.90 if (leftArm) turn luparm to x-axis <15.615877> speed <102.946916> / animSpeed; //delta=3.43 if (leftArm) turn luparm to y-axis <5.076670> speed <9.368019> / animSpeed; //delta=-0.31 - turn pelvis to z-axis <-2.0> speed <58.888879> / animSpeed; //delta=-1.96 + turn pelvis to z-axis <-2.000000> speed <58.888879> / animSpeed; //delta=-1.96 turn pelvis to y-axis <-2.772487> speed <67.619039> / animSpeed; //delta=2.25 turn rfoot to x-axis <-39.119034> speed <357.682424> / animSpeed; //delta=11.92 turn rleg to x-axis <104.636879> speed <789.433742> / animSpeed; //delta=-26.31 @@ -159,10 +161,10 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn aimy1 to y-axis <7.879434> speed <181.425790> / animSpeed; //delta=-6.05 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:24 + if (bMoving) { //Frame:24 if (leftArm) turn biggun to x-axis <-52.006372> speed <80.119348> / animSpeed; //delta=2.67 turn head to x-axis <-3.149363> speed <31.723676> / animSpeed; //delta=1.06 - turn head to y-axis <0.0> speed <114.895376> / animSpeed; //delta=3.83 + turn head to y-axis <0.000000> speed <114.895376> / animSpeed; //delta=3.83 turn lfoot to x-axis <-23.280778> speed <357.540911> / animSpeed; //delta=11.92 turn lleg to x-axis <46.510843> speed <277.878733> / animSpeed; //delta=9.26 turn lthigh to x-axis <-23.415420> speed <612.523459> / animSpeed; //delta=-20.42 @@ -170,9 +172,9 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn lthigh to y-axis <1.272165> speed <211.483711> / animSpeed; //delta=-7.05 if (leftArm) turn luparm to x-axis <11.452920> speed <124.888703> / animSpeed; //delta=4.16 if (leftArm) turn luparm to y-axis <3.308728> speed <53.038265> / animSpeed; //delta=-1.77 - move pelvis to y-axis [-2.0] speed [25.555551] / animSpeed; //delta=0.85 - turn pelvis to z-axis <-0.0> speed <60.0> / animSpeed; //delta=-2.00 - turn pelvis to y-axis <0.0> speed <83.174607> / animSpeed; //delta=2.77 + move pelvis to y-axis [-2.000000] speed [25.555551] / animSpeed; //delta=0.85 + turn pelvis to z-axis <-0.000000> speed <60.000006> / animSpeed; //delta=-2.00 + turn pelvis to y-axis <0.000000> speed <83.174607> / animSpeed; //delta=2.77 turn rfoot to x-axis <-45.278120> speed <184.772566> / animSpeed; //delta=6.16 turn rleg to x-axis <90.786697> speed <415.505474> / animSpeed; //delta=13.85 turn rleg to z-axis <0.843235> speed <24.355743> / animSpeed; //delta=-0.81 @@ -184,11 +186,11 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani if (rightArm) turn ruparm to x-axis <16.947865> speed <91.311783> / animSpeed; //delta=-3.04 if (rightArm) turn ruparm to y-axis <0.900000> speed <45.888888> / animSpeed; //delta=-1.53 turn aimy1 to x-axis <-4.594870> speed <18.402335> / animSpeed; //delta=0.61 - turn aimy1 to z-axis <-0.0> speed <61.681404> / animSpeed; //delta=2.06 - turn aimy1 to y-axis <0.0> speed <236.383029> / animSpeed; //delta=-7.88 + turn aimy1 to z-axis <-0.000000> speed <61.681404> / animSpeed; //delta=2.06 + turn aimy1 to y-axis <0.000000> speed <236.383029> / animSpeed; //delta=-7.88 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:28 + if (bMoving) { //Frame:28 if (leftArm) turn biggun to x-axis <-53.142724> speed <34.090567> / animSpeed; //delta=1.14 turn head to x-axis <-2.620635> speed <15.861851> / animSpeed; //delta=-0.53 turn head to y-axis <3.829846> speed <114.895376> / animSpeed; //delta=3.83 @@ -217,7 +219,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn aimy1 to y-axis <-7.879434> speed <236.383029> / animSpeed; //delta=-7.88 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:32 + if (bMoving) { //Frame:32 if (leftArm) turn biggun to x-axis <-55.253092> speed <63.311038> / animSpeed; //delta=2.11 turn head to x-axis <-1.563179> speed <31.723670> / animSpeed; //delta=-1.06 turn head to y-axis <6.127755> speed <68.937274> / animSpeed; //delta=2.30 @@ -243,7 +245,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn aimy1 to y-axis <-13.926961> speed <181.425790> / animSpeed; //delta=-6.05 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:36 + if (bMoving) { //Frame:36 if (leftArm) turn biggun to x-axis <-56.389444> speed <34.090567> / animSpeed; //delta=1.14 turn head to x-axis <0.023005> speed <47.585536> / animSpeed; //delta=-1.59 turn head to y-axis <7.659692> speed <45.958102> / animSpeed; //delta=1.53 @@ -254,12 +256,12 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn lthigh to y-axis <5.332458> speed <15.498655> / animSpeed; //delta=-0.52 if (leftArm) turn luparm to x-axis <-3.274263> speed <167.758466> / animSpeed; //delta=5.59 if (leftArm) turn luparm to y-axis <-6.556594> speed <45.333998> / animSpeed; //delta=-1.51 - move pelvis to y-axis [-2.0] speed [25.555555] / animSpeed; //delta=-0.85 - turn pelvis to z-axis <5.0> speed <31.089813> / animSpeed; //delta=-1.04 - turn pelvis to y-axis <6.0> speed <29.200275> / animSpeed; //delta=0.97 + move pelvis to y-axis [-2.000000] speed [25.555555] / animSpeed; //delta=-0.85 + turn pelvis to z-axis <5.000000> speed <31.089813> / animSpeed; //delta=-1.04 + turn pelvis to y-axis <6.000000> speed <29.200275> / animSpeed; //delta=0.97 turn rfoot to x-axis <4.673420> speed <156.586261> / animSpeed; //delta=-5.22 turn rleg to x-axis <17.968366> speed <112.905793> / animSpeed; //delta=3.76 - if (rightArm) turn rloarm to x-axis <-38.0> speed <43.722158> / animSpeed; //delta=-1.46 + if (rightArm) turn rloarm to x-axis <-38.000000> speed <43.722158> / animSpeed; //delta=-1.46 turn rthigh to x-axis <-40.972853> speed <227.481055> / animSpeed; //delta=-7.58 turn rthigh to z-axis <-12.483621> speed <13.132763> / animSpeed; //delta=-0.44 turn rthigh to y-axis <-18.495587> speed <4.624260> / animSpeed; //delta=-0.15 @@ -270,7 +272,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn aimy1 to y-axis <-15.758869> speed <54.957239> / animSpeed; //delta=-1.83 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:40 + if (bMoving) { //Frame:40 if (leftArm) turn biggun to x-axis <-55.431951> speed <28.724805> / animSpeed; //delta=-0.96 turn head to x-axis <-0.505722> speed <15.861819> / animSpeed; //delta=0.53 turn head to y-axis <6.127755> speed <45.958102> / animSpeed; //delta=-1.53 @@ -299,7 +301,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn aimy1 to y-axis <-13.926961> speed <54.957239> / animSpeed; //delta=1.83 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:44 + if (bMoving) { //Frame:44 if (leftArm) turn biggun to x-axis <-53.164273> speed <68.030323> / animSpeed; //delta=-2.27 turn head to x-axis <-2.091907> speed <47.585562> / animSpeed; //delta=1.59 turn head to y-axis <3.829846> speed <68.937274> / animSpeed; //delta=-2.30 @@ -327,10 +329,10 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn aimy1 to y-axis <-7.879434> speed <181.425790> / animSpeed; //delta=6.05 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:48 + if (bMoving) { //Frame:48 if (leftArm) turn biggun to x-axis <-50.493628> speed <80.119348> / animSpeed; //delta=-2.67 turn head to x-axis <-3.149363> speed <31.723676> / animSpeed; //delta=1.06 - turn head to y-axis <0.0> speed <114.895376> / animSpeed; //delta=-3.83 + turn head to y-axis <0.000000> speed <114.895376> / animSpeed; //delta=-3.83 turn lfoot to x-axis <-44.880435> speed <188.924672> / animSpeed; //delta=6.30 turn lleg to x-axis <90.690391> speed <407.363547> / animSpeed; //delta=13.58 turn lleg to z-axis <-1.028354> speed <29.811568> / animSpeed; //delta=0.99 @@ -340,9 +342,9 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn lthigh to y-axis <9.180887> speed <243.372656> / animSpeed; //delta=8.11 if (leftArm) turn luparm to x-axis <2.662867> speed <125.339441> / animSpeed; //delta=-4.18 if (leftArm) turn luparm to y-axis <-1.793232> speed <71.050921> / animSpeed; //delta=2.37 - move pelvis to y-axis [-2.0] speed [25.555551] / animSpeed; //delta=0.85 - turn pelvis to z-axis <-0.0> speed <62.666668> / animSpeed; //delta=2.09 - turn pelvis to y-axis <0.0> speed <86.222221> / animSpeed; //delta=-2.87 + move pelvis to y-axis [-2.000000] speed [25.555551] / animSpeed; //delta=0.85 + turn pelvis to z-axis <-0.000000> speed <62.666668> / animSpeed; //delta=2.09 + turn pelvis to y-axis <0.000000> speed <86.222221> / animSpeed; //delta=-2.87 turn rfoot to x-axis <-23.519080> speed <364.135724> / animSpeed; //delta=12.14 turn rleg to x-axis <46.484300> speed <278.590678> / animSpeed; //delta=9.29 if (rightArm) turn rloarm to x-axis <-53.199999> speed <206.555576> / animSpeed; //delta=6.89 @@ -352,11 +354,11 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani if (rightArm) turn ruparm to x-axis <23.351554> speed <90.983396> / animSpeed; //delta=3.03 if (rightArm) turn ruparm to y-axis <0.479402> speed <36.051284> / animSpeed; //delta=1.20 turn aimy1 to x-axis <-4.594870> speed <18.402335> / animSpeed; //delta=0.61 - turn aimy1 to z-axis <-0.0> speed <64.422792> / animSpeed; //delta=-2.15 - turn aimy1 to y-axis <0.0> speed <236.383029> / animSpeed; //delta=7.88 + turn aimy1 to z-axis <-0.000000> speed <64.422792> / animSpeed; //delta=-2.15 + turn aimy1 to y-axis <0.000000> speed <236.383029> / animSpeed; //delta=7.88 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:52 + if (bMoving) { //Frame:52 if (leftArm) turn biggun to x-axis <-48.215180> speed <68.353460> / animSpeed; //delta=-2.28 turn head to x-axis <-2.620635> speed <15.861851> / animSpeed; //delta=-0.53 turn head to y-axis <-3.829846> speed <114.895376> / animSpeed; //delta=-3.83 @@ -387,38 +389,38 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani } } } -// Call this from StopMoving()! +// Call this from MotionControl()! StopWalking() { - move pelvis to y-axis [-1.0] speed [6.944444]; + move pelvis to y-axis [-1.000000] speed [6.944444]; if (leftArm) turn biggun to x-axis <-52.006372> speed <28.433941>; turn head to x-axis <-1.298815> speed <11.896390>; - turn head to y-axis <0.0> speed <28.723844>; + turn head to y-axis <0.000000> speed <28.723844>; turn lfoot to x-axis <2.870126> speed <274.263975>; turn lleg to x-axis <22.425678> speed <349.693872>; - turn lleg to y-axis <0.0> speed <7.922289>; - turn lleg to z-axis <0.0> speed <7.923996>; + turn lleg to y-axis <0.000000> speed <7.922289>; + turn lleg to z-axis <0.000000> speed <7.923996>; turn lthigh to x-axis <-21.115098> speed <255.919901>; turn lthigh to y-axis <11.110453> speed <66.749106>; turn lthigh to z-axis <-10.103126> speed <151.418301>; if (leftArm) turn luparm to x-axis <19.231610> speed <69.841862>; if (leftArm) turn luparm to y-axis <7.211138> speed <46.845002>; if (leftArm) turn luparm to z-axis <-16.200000> speed <28.500010>; - turn pelvis to y-axis <0.0> speed <21.666665>; - turn pelvis to z-axis <0.0> speed <18.055557>; + turn pelvis to y-axis <0.000000> speed <21.666665>; + turn pelvis to z-axis <0.000000> speed <18.055557>; turn rfoot to x-axis <0.415283> speed <248.713120>; turn rleg to x-axis <25.768060> speed <346.011740>; - turn rleg to y-axis <0.0> speed <6.521982>; - turn rleg to z-axis <0.0> speed <6.524652>; + turn rleg to y-axis <0.000000> speed <6.521982>; + turn rleg to z-axis <0.000000> speed <6.524652>; if (rightArm) turn rloarm to x-axis <-53.199995> speed <51.638894>; turn rthigh to x-axis <-21.950628> speed <255.149679>; turn rthigh to y-axis <-11.905752> speed <66.515336>; turn rthigh to z-axis <9.396449> speed <151.125663>; if (rightArm) turn ruparm to x-axis <24.693159> speed <39.648544>; - if (rightArm) turn ruparm to y-axis <0.0> speed <31.089853>; + if (rightArm) turn ruparm to y-axis <0.000000> speed <31.089853>; if (rightArm) turn ruparm to z-axis <12.399998> speed <-7.153845>; turn aimy1 to x-axis <-2.263907> speed <15.181924>; - turn aimy1 to y-axis <0.0> speed <59.095757>; - turn aimy1 to z-axis <0.0> speed <18.561539>; + turn aimy1 to y-axis <0.000000> speed <59.095757>; + turn aimy1 to z-axis <0.000000> speed <18.561539>; } // REMEMBER TO animspeed = 4 in Create() !! UnitSpeed(){ @@ -435,16 +437,16 @@ UnitSpeed(){ sleep 131; } } -StartMoving(reversing){ - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; - isMoving=TRUE; +StartMoving(){ + signal SIG_WALK; + set-signal-mask SIG_WALK; + bMoving=TRUE; start-script Walk(); start-script UnitSpeed(); } StopMoving(){ - signal SIGNAL_MOVE; - isMoving = FALSE; + signal SIG_WALK; + bMoving = FALSE; call-script StopWalking(); } @@ -455,7 +457,7 @@ AmIBored() { //return isAiming == false and isBuilding == false and isMoving == false if (isAiming == 0){ if (isBuilding == 0 ){ - if (isMoving == 0){ + if (bMoving == 0){ return (1); } } @@ -479,14 +481,14 @@ Create(){ hide hatpoint; hide aimy1; hide teleport; - //turn rloarm to x-axis <-15> speed <130.0> ; //-- Turn(rloarm, x-axis, math.rad(-15),math.rad(130)) + //turn rloarm to x-axis <-15> speed <130.0000> ; //-- Turn(rloarm, x-axis, math.rad(-15),math.rad(130)) turn lflare to x-axis <90> now; // Turn(lflare, x-axis,math.rad(90)) turn flare to x-axis <90> now; turn nano to x-axis <90> now; //Turn(nano, x-axis,math.rad(90)) turn laserflare to x-axis <90> now; // Turn(laserflare, x-axis,math.rad(90)) spin dish around y-axis speed <100>; //Spin(dish, y-axis, 2.5) animSpeed = 4; - isMoving = 0; + bMoving = 0; isAiming = 0; isBuilding = 0; isAimingDgun = 0; @@ -497,29 +499,29 @@ Create(){ call-script StopWalking(); } -QueryNanoPiece(pieceIndex) +QueryNanoPiece(piecenum) { - pieceIndex = nano; + piecenum = nano; return (0); } RestoreAfterDelay(){ - set-signal-mask SIGNAL_AIM1; + set-signal-mask SIG_AIM; sleep 1000; - turn torso to y-axis <0> speed <105.0> ; //-- Turn(torso, y-axis, 0, math.rad(305)) + turn torso to y-axis <0> speed <105.0000> ; //-- Turn(torso, y-axis, 0, math.rad(305)) - turn biggun to x-axis <-38> speed <95.0> ; //-- Turn(biggun, x-axis, math.rad(-38), math.rad(95)) - turn luparm to x-axis <0> speed <95.0> ; //-- Turn(luparm, x-axis, 0, math.rad(95)) - turn rloarm to x-axis <-38> speed <95.0> ; //-- Turn(rloarm, x-axis, math.rad(-38), math.rad(95)) - turn ruparm to x-axis <0> speed <95.0> ; //-- Turn(ruparm, x-axis, 0, math.rad(95)) + turn biggun to x-axis <-38> speed <95.0000> ; //-- Turn(biggun, x-axis, math.rad(-38), math.rad(95)) + turn luparm to x-axis <0> speed <95.0000> ; //-- Turn(luparm, x-axis, 0, math.rad(95)) + turn rloarm to x-axis <-38> speed <95.0000> ; //-- Turn(rloarm, x-axis, math.rad(-38), math.rad(95)) + turn ruparm to x-axis <0> speed <95.0000> ; //-- Turn(ruparm, x-axis, 0, math.rad(95)) stop-spin barrelr around y-axis; isAiming = 0; isAimingDgun = 0; rightarm = 1; leftarm = 1; - wpn1_lasthead = 0xbadface; + wpn1_lasthead = 1000000; } @@ -528,8 +530,8 @@ ResumeBuilding() sleep 800; if( isBuilding AND ( !isAiming ) ) { - turn torso to y-axis buildHeading speed <150.0>; - turn luparm to x-axis <-55.0> - buildPitch speed <45.0>; + turn torso to y-axis buildHeading speed <150.000000>; + turn luparm to x-axis <-55.000000> - buildPitch speed <45.000000>; } return (0); } @@ -539,35 +541,39 @@ ResumeBuilding() //--gun functions; //----------------------------------------------------------------------- - +SweetSpot(piecenum) +{ + piecenum = torso; + return (0); +} /////////// pew pew laser -QueryWeapon1(pieceIndex) //pew laser +QueryPrimary(piecenum) //pew laser { - pieceIndex = flare; + piecenum = flare; return (0); } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = ruparm; + piecenum = ruparm; return (0); } -AimWeapon1(heading, pitch) //pew pew +AimPrimary(heading, pitch) //pew pew { if (isAimingDgun){ return (0); } rightarm = 0; //call-script FixArms(0, 1); - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; - turn torso to y-axis heading + <10> speed <300.0> ; //-- Turn(torso, y-axis, heading, math.rad(300)) - turn rloarm to x-axis <-55> speed <390.0> ; //-- Turn(rloarm, x-axis, math.rad(-55), math.rad(390)) - turn ruparm to x-axis <-40> - pitch speed <390.0> ; //-- Turn(ruparm, x-axis, math.rad(-45) - pitch, math.rad(390)) - if ((wpn1_lasthead == 0xbadface) OR ABSOLUTE_GREATER_THAN(WRAPDELTA(heading - wpn1_lasthead), <7>)) + signal SIG_AIM; + set-signal-mask SIG_AIM; + turn torso to y-axis heading + <10> speed <300.0000> ; //-- Turn(torso, y-axis, heading, math.rad(300)) + turn rloarm to x-axis <-55> speed <390.0000> ; //-- Turn(rloarm, x-axis, math.rad(-55), math.rad(390)) + turn ruparm to x-axis <-40> - pitch speed <390.0000> ; //-- Turn(ruparm, x-axis, math.rad(-45) - pitch, math.rad(390)) + if (((get ABS(wpn1_lasthead - heading)) > 65536) OR(((get ABS(wpn1_lasthead - heading)) > 1300) AND ((get ABS(wpn1_lasthead - heading)) < 64236))) { - wpn1_lasthead = 0xbadface; + wpn1_lasthead = 1000000; wait-for-turn torso around y-axis; } wpn1_lasthead = heading; @@ -582,35 +588,35 @@ AimWeapon1(heading, pitch) //pew pew return (1); } -FireWeapon1() +FirePrimary() { - spin barrelr around y-axis speed <900.0>; + spin barrelr around y-axis speed <900.000000>; return (1); } Shot1(zero) { - signal SIGNAL_SHOOT1; - set-signal-mask SIGNAL_SHOOT1; + signal SIG_FIRE1; + set-signal-mask SIG_FIRE1; emit-sfx 1024 + 3 from flare; return(1); } /////////// uw weapon -QueryWeapon2(pieceIndex) //uw weapon +QuerySecondary(piecenum) //uw weapon { - pieceIndex = laserflare; + piecenum = laserflare; return (0); } -AimFromWeapon2(pieceIndex) +AimFromSecondary(piecenum) { - pieceIndex = laserflare; + piecenum = laserflare; return (0); } -AimWeapon2(heading, pitch) +AimSecondary(heading, pitch) { if( get PIECE_Y(head) > 0 ) { @@ -625,11 +631,11 @@ AimWeapon2(heading, pitch) } rightarm = 0; //call-script FixArms(0, 1); - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; - turn torso to y-axis heading speed <300.0> ; //-- Turn(torso, y-axis, heading, math.rad(300)) - turn rloarm to x-axis <-55> speed <390.0> ; //-- Turn(rloarm, x-axis, math.rad(-55), math.rad(390)) - turn ruparm to x-axis <-40> - pitch speed <390.0> ; //-- Turn(ruparm, x-axis, math.rad(-45) - pitch, math.rad(390)) + signal SIG_AIM; + set-signal-mask SIG_AIM; + turn torso to y-axis heading speed <300.0000> ; //-- Turn(torso, y-axis, heading, math.rad(300)) + turn rloarm to x-axis <-55> speed <390.0000> ; //-- Turn(rloarm, x-axis, math.rad(-55), math.rad(390)) + turn ruparm to x-axis <-40> - pitch speed <390.0000> ; //-- Turn(ruparm, x-axis, math.rad(-45) - pitch, math.rad(390)) wait-for-turn torso around y-axis; //wait-for-turn rloarm around x-axis; //wait-for-turn ruparm around x-axis; @@ -642,25 +648,25 @@ AimWeapon2(heading, pitch) return (1); } -FireWeapon2() +FireSecondary() { sleep 100; return (0); } -QueryWeapon3(pieceIndex) //dgun +QueryTertiary(piecenum) //dgun { - pieceIndex = lflare; + piecenum = lflare; return (0); } -AimFromWeapon3(pieceIndex) +AimFromTertiary(piecenum) { - pieceIndex = biggun; + piecenum = biggun; return (0); } -FireWeapon3() +FireTertiary() { //emit-sfx 1024 + 0 from lflare; isAimingDgun = 0; @@ -676,31 +682,31 @@ FireWeapon3() return (0); } -AimWeapon3(heading, pitch) +AimTertiary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; isAimingDgun = 1; isAiming = 1; leftArm = 0; //call-script FixArms(1, 0); - turn torso to y-axis heading speed <360.0> ; //-- Turn(torso, y-axis, heading, math.rad(300)) - turn biggun to x-axis <-85> speed <390.0> ; //-- Turn(biggun, x-axis, math.rad(-85), math.rad(390)) - turn luparm to x-axis <5> - pitch speed <390.0> ; //-- Turn(luparm, x-axis, math.rad(-5) - pitch, math.rad(390)) + turn torso to y-axis heading speed <360.0000> ; //-- Turn(torso, y-axis, heading, math.rad(300)) + turn biggun to x-axis <-85> speed <390.0000> ; //-- Turn(biggun, x-axis, math.rad(-85), math.rad(390)) + turn luparm to x-axis <5> - pitch speed <390.0000> ; //-- Turn(luparm, x-axis, math.rad(-5) - pitch, math.rad(390)) wait-for-turn torso around y-axis; //wait-for-turn biggun around x-axis; return (1); } -QueryWeapon4(pieceIndex) //ferret +QueryWeapon4(piecenum) //ferret { - pieceIndex = misflare; + piecenum = misflare; return (0); } -AimFromWeapon4(pieceIndex) +AimFromWeapon4(piecenum) { - pieceIndex = turretmis; + piecenum = turretmis; return (0); } @@ -712,17 +718,17 @@ FireWeapon4() AimWeapon4(heading, pitch) { - signal SIGNAL_AIM2; - set-signal-mask SIGNAL_AIM2; - turn turretmis to y-axis heading speed <250.0>; - turn misbox to x-axis <0> - pitch speed <200.0>; + signal SIG_AIM_2; + set-signal-mask SIG_AIM_2; + turn turretmis to y-axis heading speed <250.000000>; + turn misbox to x-axis <0> - pitch speed <200.000000>; wait-for-turn turretmis around y-axis; wait-for-turn misbox around x-axis; return (1); } SprayNano(heading, pitch){ - set-signal-mask SIGNAL_AIM1; + set-signal-mask SIG_AIM; sleep 1000; while (1){ @@ -736,15 +742,15 @@ SprayNano(heading, pitch){ StartBuilding(heading, pitch) { - signal SIGNAL_AIM1; - //set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + //set-signal-mask SIG_AIM; isBuilding = 1; rightArm = 0; - //turn torso to x-axis <0> speed <395.0> ; //-- Turn(torso, x-axis, 0, math.rad(395)) - //turn pelvis to x-axis <0> speed <395.0> ; //-- Turn(pelvis, x-axis, 0, math.rad(395)) - turn torso to y-axis heading speed <300.0> ; //-- Turn(torso, y-axis, heading, math.rad(300)) - turn rloarm to x-axis <-40> speed <390.0> ; //-- Turn(rloarm, x-axis, math.rad(-55), math.rad(390)) - turn ruparm to x-axis <-55> -pitch speed <390.0> ; //-- Turn(ruparm, x-axis, math.rad(-55) - pitch, math.rad(390)) + //turn torso to x-axis <0> speed <395.0000> ; //-- Turn(torso, x-axis, 0, math.rad(395)) + //turn pelvis to x-axis <0> speed <395.0000> ; //-- Turn(pelvis, x-axis, 0, math.rad(395)) + turn torso to y-axis heading speed <300.0000> ; //-- Turn(torso, y-axis, heading, math.rad(300)) + turn rloarm to x-axis <-40> speed <390.0000> ; //-- Turn(rloarm, x-axis, math.rad(-55), math.rad(390)) + turn ruparm to x-axis <-55> -pitch speed <390.0000> ; //-- Turn(ruparm, x-axis, math.rad(-55) - pitch, math.rad(390)) wait-for-turn ruparm around x-axis; set INBUILDSTANCE to 1; @@ -754,13 +760,25 @@ StartBuilding(heading, pitch) return (0); } + + + +TargetCleared(Func_Var_1) +{ + signal SIG_AIM; + set-signal-mask SIG_AIM; + call-script RestoreAfterDelay(); + return (0); +} + + StopBuilding() { rightArm = 1; isBuilding = 0; set INBUILDSTANCE to 0; - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; call-script RestoreAfterDelay(); return (0); } diff --git a/scripts/Units/legcomlvl2.cob b/scripts/Units/legcomlvl2.cob index 6375aa6486f0c54f3ea8cb26197aca621f8ad536..b17d25c4a042e89c4d2958d168ad8f0093f6a714 100644 GIT binary patch delta 4410 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 IeEz=w0SYDJYXATM delta 4214 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 aB~g=!(ZNb$8iwm4_9gf{REN68{{I0*yS@zo diff --git a/scripts/Units/legcomlvl3.bos b/scripts/Units/legcomlvl3.bos index c33c515e5e8..9b68b427b46 100644 --- a/scripts/Units/legcomlvl3.bos +++ b/scripts/Units/legcomlvl3.bos @@ -1,5 +1,7 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" //INCREMENT THIS COUNTER FOR EVERY HOUR OF YOUR LIFE WASTED HERE: 20 @@ -9,19 +11,19 @@ piece head, torso, luparm, biggun, ruparm,rloarm,lflare, nano, laserflare, pelvi static-var isAiming, isBuilding, isAimingDgun, buildHeading, buildPitch, leftArm, rightArm, animSpeed, wpn1_lasthead; // Signal definitions -#define SIGNAL_AIM1 256 -#define SIGNAL_MOVE 1 -#define SIGNAL_AIM2 512 -#define SIGNAL_SHOOT1 16 +#define SIG_AIM 2 +#define SIG_WALK 4 +#define SIG_AIM_2 8 +#define SIG_FIRE1 16 // Generated for D:\spring\animation\armcom_anim_walk_v4.blend // Using https://github.com/Beherith/Skeletor_S3O // this animation uses the static-var animFramesPerKeyframe which contains how many frames each keyframe takes -static-var maxSpeed, animFramesPerKeyframe, isMoving; +static-var maxSpeed, animFramesPerKeyframe, bMoving; Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\animation\armcom_anim_walk_v4.blend // (c) CC BY NC ND Beherith mysterme@gmail.com - set-signal-mask SIGNAL_MOVE; - if (isMoving) { //Frame:4 + set-signal-mask SIG_WALK; + if (bMoving) { //Frame:4 if (leftArm) turn biggun to x-axis <-48.215180> speed <113.735764> / animSpeed; //delta=-3.79 turn head to x-axis <-2.620635> speed <39.654598> / animSpeed; //delta=1.32 turn head to y-axis <-3.829846> speed <114.895376> / animSpeed; //delta=-3.83 @@ -31,7 +33,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn lthigh to z-axis <10.085981> speed <605.673206> / animSpeed; //delta=-20.19 turn lthigh to y-axis <15.046731> speed <118.088344> / animSpeed; //delta=3.94 if (leftArm) turn luparm to x-axis <9.919362> speed <279.367450> / animSpeed; //delta=9.31 - if (leftArm) turn luparm to z-axis <-12.399998> speed <114.0> / animSpeed; //delta=-3.80 + if (leftArm) turn luparm to z-axis <-12.399998> speed <114.000041> / animSpeed; //delta=-3.80 if (leftArm) turn luparm to y-axis <0.965138> speed <187.380006> / animSpeed; //delta=-6.25 turn pelvis to z-axis <-1.666667> speed <49.999997> / animSpeed; //delta=1.67 turn pelvis to y-axis <-2.296296> speed <68.888891> / animSpeed; //delta=-2.30 @@ -48,8 +50,8 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn aimy1 to y-axis <7.879434> speed <236.383029> / animSpeed; //delta=7.88 sleep ((33*animSpeed) -1); } - while(isMoving) { - if (isMoving) { //Frame:8 + while(bMoving) { + if (bMoving) { //Frame:8 if (leftArm) turn biggun to x-axis <-46.675856> speed <46.179694> / animSpeed; //delta=-1.54 turn head to x-axis <-1.563179> speed <31.723679> / animSpeed; //delta=-1.06 turn head to y-axis <-6.127755> speed <68.937274> / animSpeed; //delta=-2.30 @@ -76,7 +78,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn aimy1 to y-axis <13.926961> speed <181.425790> / animSpeed; //delta=6.05 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:12 + if (bMoving) { //Frame:12 if (leftArm) turn biggun to x-axis <-46.110552> speed <16.959121> / animSpeed; //delta=-0.57 turn head to x-axis <0.023005> speed <47.585527> / animSpeed; //delta=-1.59 turn head to y-axis <-7.659692> speed <45.958102> / animSpeed; //delta=-1.53 @@ -87,9 +89,9 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn lthigh to y-axis <14.540810> speed <93.704134> / animSpeed; //delta=-3.12 if (leftArm) turn luparm to x-axis <20.474264> speed <98.952127> / animSpeed; //delta=-3.30 if (leftArm) turn luparm to y-axis <5.388938> speed <71.821661> / animSpeed; //delta=2.39 - move pelvis to y-axis [-2.0] speed [18.888888] / animSpeed; //delta=-0.63 - turn pelvis to z-axis <-5.0> speed <27.777769> / animSpeed; //delta=0.93 - turn pelvis to y-axis <-6.0> speed <24.444453> / animSpeed; //delta=-0.81 + move pelvis to y-axis [-2.000000] speed [18.888888] / animSpeed; //delta=-0.63 + turn pelvis to z-axis <-5.000000> speed <27.777769> / animSpeed; //delta=0.93 + turn pelvis to y-axis <-6.000000> speed <24.444453> / animSpeed; //delta=-0.81 turn rfoot to x-axis <-34.556331> speed <305.131751> / animSpeed; //delta=10.17 turn rleg to x-axis <32.187523> speed <882.363941> / animSpeed; //delta=-29.41 if (rightArm) turn rloarm to x-axis <-64.499997> speed <87.888552> / animSpeed; //delta=2.93 @@ -103,7 +105,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn aimy1 to y-axis <15.758869> speed <54.957239> / animSpeed; //delta=1.83 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:16 + if (bMoving) { //Frame:16 if (leftArm) turn biggun to x-axis <-47.068049> speed <28.724907> / animSpeed; //delta=0.96 turn head to x-axis <-0.505722> speed <15.861819> / animSpeed; //delta=0.53 turn head to y-axis <-6.127755> speed <45.958102> / animSpeed; //delta=1.53 @@ -131,7 +133,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn aimy1 to y-axis <13.926961> speed <54.957239> / animSpeed; //delta=-1.83 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:20 + if (bMoving) { //Frame:20 if (leftArm) turn biggun to x-axis <-49.335727> speed <68.030323> / animSpeed; //delta=2.27 turn head to x-axis <-2.091907> speed <47.585562> / animSpeed; //delta=1.59 turn head to y-axis <-3.829846> speed <68.937274> / animSpeed; //delta=2.30 @@ -142,7 +144,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn lthigh to y-axis <8.321622> speed <266.996423> / animSpeed; //delta=-8.90 if (leftArm) turn luparm to x-axis <15.615877> speed <102.946916> / animSpeed; //delta=3.43 if (leftArm) turn luparm to y-axis <5.076670> speed <9.368019> / animSpeed; //delta=-0.31 - turn pelvis to z-axis <-2.0> speed <58.888879> / animSpeed; //delta=-1.96 + turn pelvis to z-axis <-2.000000> speed <58.888879> / animSpeed; //delta=-1.96 turn pelvis to y-axis <-2.772487> speed <67.619039> / animSpeed; //delta=2.25 turn rfoot to x-axis <-39.119034> speed <357.682424> / animSpeed; //delta=11.92 turn rleg to x-axis <104.636879> speed <789.433742> / animSpeed; //delta=-26.31 @@ -159,10 +161,10 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn aimy1 to y-axis <7.879434> speed <181.425790> / animSpeed; //delta=-6.05 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:24 + if (bMoving) { //Frame:24 if (leftArm) turn biggun to x-axis <-52.006372> speed <80.119348> / animSpeed; //delta=2.67 turn head to x-axis <-3.149363> speed <31.723676> / animSpeed; //delta=1.06 - turn head to y-axis <0.0> speed <114.895376> / animSpeed; //delta=3.83 + turn head to y-axis <0.000000> speed <114.895376> / animSpeed; //delta=3.83 turn lfoot to x-axis <-23.280778> speed <357.540911> / animSpeed; //delta=11.92 turn lleg to x-axis <46.510843> speed <277.878733> / animSpeed; //delta=9.26 turn lthigh to x-axis <-23.415420> speed <612.523459> / animSpeed; //delta=-20.42 @@ -170,9 +172,9 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn lthigh to y-axis <1.272165> speed <211.483711> / animSpeed; //delta=-7.05 if (leftArm) turn luparm to x-axis <11.452920> speed <124.888703> / animSpeed; //delta=4.16 if (leftArm) turn luparm to y-axis <3.308728> speed <53.038265> / animSpeed; //delta=-1.77 - move pelvis to y-axis [-2.0] speed [25.555551] / animSpeed; //delta=0.85 - turn pelvis to z-axis <-0.0> speed <60.0> / animSpeed; //delta=-2.00 - turn pelvis to y-axis <0.0> speed <83.174607> / animSpeed; //delta=2.77 + move pelvis to y-axis [-2.000000] speed [25.555551] / animSpeed; //delta=0.85 + turn pelvis to z-axis <-0.000000> speed <60.000006> / animSpeed; //delta=-2.00 + turn pelvis to y-axis <0.000000> speed <83.174607> / animSpeed; //delta=2.77 turn rfoot to x-axis <-45.278120> speed <184.772566> / animSpeed; //delta=6.16 turn rleg to x-axis <90.786697> speed <415.505474> / animSpeed; //delta=13.85 turn rleg to z-axis <0.843235> speed <24.355743> / animSpeed; //delta=-0.81 @@ -184,11 +186,11 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani if (rightArm) turn ruparm to x-axis <16.947865> speed <91.311783> / animSpeed; //delta=-3.04 if (rightArm) turn ruparm to y-axis <0.900000> speed <45.888888> / animSpeed; //delta=-1.53 turn aimy1 to x-axis <-4.594870> speed <18.402335> / animSpeed; //delta=0.61 - turn aimy1 to z-axis <-0.0> speed <61.681404> / animSpeed; //delta=2.06 - turn aimy1 to y-axis <0.0> speed <236.383029> / animSpeed; //delta=-7.88 + turn aimy1 to z-axis <-0.000000> speed <61.681404> / animSpeed; //delta=2.06 + turn aimy1 to y-axis <0.000000> speed <236.383029> / animSpeed; //delta=-7.88 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:28 + if (bMoving) { //Frame:28 if (leftArm) turn biggun to x-axis <-53.142724> speed <34.090567> / animSpeed; //delta=1.14 turn head to x-axis <-2.620635> speed <15.861851> / animSpeed; //delta=-0.53 turn head to y-axis <3.829846> speed <114.895376> / animSpeed; //delta=3.83 @@ -217,7 +219,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn aimy1 to y-axis <-7.879434> speed <236.383029> / animSpeed; //delta=-7.88 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:32 + if (bMoving) { //Frame:32 if (leftArm) turn biggun to x-axis <-55.253092> speed <63.311038> / animSpeed; //delta=2.11 turn head to x-axis <-1.563179> speed <31.723670> / animSpeed; //delta=-1.06 turn head to y-axis <6.127755> speed <68.937274> / animSpeed; //delta=2.30 @@ -243,7 +245,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn aimy1 to y-axis <-13.926961> speed <181.425790> / animSpeed; //delta=-6.05 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:36 + if (bMoving) { //Frame:36 if (leftArm) turn biggun to x-axis <-56.389444> speed <34.090567> / animSpeed; //delta=1.14 turn head to x-axis <0.023005> speed <47.585536> / animSpeed; //delta=-1.59 turn head to y-axis <7.659692> speed <45.958102> / animSpeed; //delta=1.53 @@ -254,12 +256,12 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn lthigh to y-axis <5.332458> speed <15.498655> / animSpeed; //delta=-0.52 if (leftArm) turn luparm to x-axis <-3.274263> speed <167.758466> / animSpeed; //delta=5.59 if (leftArm) turn luparm to y-axis <-6.556594> speed <45.333998> / animSpeed; //delta=-1.51 - move pelvis to y-axis [-2.0] speed [25.555555] / animSpeed; //delta=-0.85 - turn pelvis to z-axis <5.0> speed <31.089813> / animSpeed; //delta=-1.04 - turn pelvis to y-axis <6.0> speed <29.200275> / animSpeed; //delta=0.97 + move pelvis to y-axis [-2.000000] speed [25.555555] / animSpeed; //delta=-0.85 + turn pelvis to z-axis <5.000000> speed <31.089813> / animSpeed; //delta=-1.04 + turn pelvis to y-axis <6.000000> speed <29.200275> / animSpeed; //delta=0.97 turn rfoot to x-axis <4.673420> speed <156.586261> / animSpeed; //delta=-5.22 turn rleg to x-axis <17.968366> speed <112.905793> / animSpeed; //delta=3.76 - if (rightArm) turn rloarm to x-axis <-38.0> speed <43.722158> / animSpeed; //delta=-1.46 + if (rightArm) turn rloarm to x-axis <-38.000000> speed <43.722158> / animSpeed; //delta=-1.46 turn rthigh to x-axis <-40.972853> speed <227.481055> / animSpeed; //delta=-7.58 turn rthigh to z-axis <-12.483621> speed <13.132763> / animSpeed; //delta=-0.44 turn rthigh to y-axis <-18.495587> speed <4.624260> / animSpeed; //delta=-0.15 @@ -270,7 +272,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn aimy1 to y-axis <-15.758869> speed <54.957239> / animSpeed; //delta=-1.83 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:40 + if (bMoving) { //Frame:40 if (leftArm) turn biggun to x-axis <-55.431951> speed <28.724805> / animSpeed; //delta=-0.96 turn head to x-axis <-0.505722> speed <15.861819> / animSpeed; //delta=0.53 turn head to y-axis <6.127755> speed <45.958102> / animSpeed; //delta=-1.53 @@ -299,7 +301,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn aimy1 to y-axis <-13.926961> speed <54.957239> / animSpeed; //delta=1.83 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:44 + if (bMoving) { //Frame:44 if (leftArm) turn biggun to x-axis <-53.164273> speed <68.030323> / animSpeed; //delta=-2.27 turn head to x-axis <-2.091907> speed <47.585562> / animSpeed; //delta=1.59 turn head to y-axis <3.829846> speed <68.937274> / animSpeed; //delta=-2.30 @@ -327,10 +329,10 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn aimy1 to y-axis <-7.879434> speed <181.425790> / animSpeed; //delta=6.05 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:48 + if (bMoving) { //Frame:48 if (leftArm) turn biggun to x-axis <-50.493628> speed <80.119348> / animSpeed; //delta=-2.67 turn head to x-axis <-3.149363> speed <31.723676> / animSpeed; //delta=1.06 - turn head to y-axis <0.0> speed <114.895376> / animSpeed; //delta=-3.83 + turn head to y-axis <0.000000> speed <114.895376> / animSpeed; //delta=-3.83 turn lfoot to x-axis <-44.880435> speed <188.924672> / animSpeed; //delta=6.30 turn lleg to x-axis <90.690391> speed <407.363547> / animSpeed; //delta=13.58 turn lleg to z-axis <-1.028354> speed <29.811568> / animSpeed; //delta=0.99 @@ -340,9 +342,9 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn lthigh to y-axis <9.180887> speed <243.372656> / animSpeed; //delta=8.11 if (leftArm) turn luparm to x-axis <2.662867> speed <125.339441> / animSpeed; //delta=-4.18 if (leftArm) turn luparm to y-axis <-1.793232> speed <71.050921> / animSpeed; //delta=2.37 - move pelvis to y-axis [-2.0] speed [25.555551] / animSpeed; //delta=0.85 - turn pelvis to z-axis <-0.0> speed <62.666668> / animSpeed; //delta=2.09 - turn pelvis to y-axis <0.0> speed <86.222221> / animSpeed; //delta=-2.87 + move pelvis to y-axis [-2.000000] speed [25.555551] / animSpeed; //delta=0.85 + turn pelvis to z-axis <-0.000000> speed <62.666668> / animSpeed; //delta=2.09 + turn pelvis to y-axis <0.000000> speed <86.222221> / animSpeed; //delta=-2.87 turn rfoot to x-axis <-23.519080> speed <364.135724> / animSpeed; //delta=12.14 turn rleg to x-axis <46.484300> speed <278.590678> / animSpeed; //delta=9.29 if (rightArm) turn rloarm to x-axis <-53.199999> speed <206.555576> / animSpeed; //delta=6.89 @@ -352,11 +354,11 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani if (rightArm) turn ruparm to x-axis <23.351554> speed <90.983396> / animSpeed; //delta=3.03 if (rightArm) turn ruparm to y-axis <0.479402> speed <36.051284> / animSpeed; //delta=1.20 turn aimy1 to x-axis <-4.594870> speed <18.402335> / animSpeed; //delta=0.61 - turn aimy1 to z-axis <-0.0> speed <64.422792> / animSpeed; //delta=-2.15 - turn aimy1 to y-axis <0.0> speed <236.383029> / animSpeed; //delta=7.88 + turn aimy1 to z-axis <-0.000000> speed <64.422792> / animSpeed; //delta=-2.15 + turn aimy1 to y-axis <0.000000> speed <236.383029> / animSpeed; //delta=7.88 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:52 + if (bMoving) { //Frame:52 if (leftArm) turn biggun to x-axis <-48.215180> speed <68.353460> / animSpeed; //delta=-2.28 turn head to x-axis <-2.620635> speed <15.861851> / animSpeed; //delta=-0.53 turn head to y-axis <-3.829846> speed <114.895376> / animSpeed; //delta=-3.83 @@ -387,38 +389,38 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani } } } -// Call this from StopMoving()! +// Call this from MotionControl()! StopWalking() { - move pelvis to y-axis [-1.0] speed [6.944444]; + move pelvis to y-axis [-1.000000] speed [6.944444]; if (leftArm) turn biggun to x-axis <-52.006372> speed <28.433941>; turn head to x-axis <-1.298815> speed <11.896390>; - turn head to y-axis <0.0> speed <28.723844>; + turn head to y-axis <0.000000> speed <28.723844>; turn lfoot to x-axis <2.870126> speed <274.263975>; turn lleg to x-axis <22.425678> speed <349.693872>; - turn lleg to y-axis <0.0> speed <7.922289>; - turn lleg to z-axis <0.0> speed <7.923996>; + turn lleg to y-axis <0.000000> speed <7.922289>; + turn lleg to z-axis <0.000000> speed <7.923996>; turn lthigh to x-axis <-21.115098> speed <255.919901>; turn lthigh to y-axis <11.110453> speed <66.749106>; turn lthigh to z-axis <-10.103126> speed <151.418301>; if (leftArm) turn luparm to x-axis <19.231610> speed <69.841862>; if (leftArm) turn luparm to y-axis <7.211138> speed <46.845002>; if (leftArm) turn luparm to z-axis <-16.200000> speed <28.500010>; - turn pelvis to y-axis <0.0> speed <21.666665>; - turn pelvis to z-axis <0.0> speed <18.055557>; + turn pelvis to y-axis <0.000000> speed <21.666665>; + turn pelvis to z-axis <0.000000> speed <18.055557>; turn rfoot to x-axis <0.415283> speed <248.713120>; turn rleg to x-axis <25.768060> speed <346.011740>; - turn rleg to y-axis <0.0> speed <6.521982>; - turn rleg to z-axis <0.0> speed <6.524652>; + turn rleg to y-axis <0.000000> speed <6.521982>; + turn rleg to z-axis <0.000000> speed <6.524652>; if (rightArm) turn rloarm to x-axis <-53.199995> speed <51.638894>; turn rthigh to x-axis <-21.950628> speed <255.149679>; turn rthigh to y-axis <-11.905752> speed <66.515336>; turn rthigh to z-axis <9.396449> speed <151.125663>; if (rightArm) turn ruparm to x-axis <24.693159> speed <39.648544>; - if (rightArm) turn ruparm to y-axis <0.0> speed <31.089853>; + if (rightArm) turn ruparm to y-axis <0.000000> speed <31.089853>; if (rightArm) turn ruparm to z-axis <12.399998> speed <-7.153845>; turn aimy1 to x-axis <-2.263907> speed <15.181924>; - turn aimy1 to y-axis <0.0> speed <59.095757>; - turn aimy1 to z-axis <0.0> speed <18.561539>; + turn aimy1 to y-axis <0.000000> speed <59.095757>; + turn aimy1 to z-axis <0.000000> speed <18.561539>; } // REMEMBER TO animspeed = 4 in Create() !! UnitSpeed(){ @@ -435,16 +437,16 @@ UnitSpeed(){ sleep 131; } } -StartMoving(reversing){ - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; - isMoving=TRUE; +StartMoving(){ + signal SIG_WALK; + set-signal-mask SIG_WALK; + bMoving=TRUE; start-script Walk(); start-script UnitSpeed(); } StopMoving(){ - signal SIGNAL_MOVE; - isMoving = FALSE; + signal SIG_WALK; + bMoving = FALSE; call-script StopWalking(); } @@ -455,7 +457,7 @@ AmIBored() { //return isAiming == false and isBuilding == false and isMoving == false if (isAiming == 0){ if (isBuilding == 0 ){ - if (isMoving == 0){ + if (bMoving == 0){ return (1); } } @@ -479,14 +481,14 @@ Create(){ hide hatpoint; hide aimy1; hide teleport; - //turn rloarm to x-axis <-15> speed <130.0> ; //-- Turn(rloarm, x-axis, math.rad(-15),math.rad(130)) + //turn rloarm to x-axis <-15> speed <130.0000> ; //-- Turn(rloarm, x-axis, math.rad(-15),math.rad(130)) turn lflare to x-axis <90> now; // Turn(lflare, x-axis,math.rad(90)) turn flare to x-axis <90> now; turn nano to x-axis <90> now; //Turn(nano, x-axis,math.rad(90)) turn laserflare to x-axis <90> now; // Turn(laserflare, x-axis,math.rad(90)) spin dish around y-axis speed <100>; //Spin(dish, y-axis, 2.5) animSpeed = 4; - isMoving = 0; + bMoving = 0; isAiming = 0; isBuilding = 0; isAimingDgun = 0; @@ -497,29 +499,29 @@ Create(){ call-script StopWalking(); } -QueryNanoPiece(pieceIndex) +QueryNanoPiece(piecenum) { - pieceIndex = nano; + piecenum = nano; return (0); } RestoreAfterDelay(){ - set-signal-mask SIGNAL_AIM1; + set-signal-mask SIG_AIM; sleep 1000; - turn torso to y-axis <0> speed <105.0> ; //-- Turn(torso, y-axis, 0, math.rad(305)) + turn torso to y-axis <0> speed <105.0000> ; //-- Turn(torso, y-axis, 0, math.rad(305)) - turn biggun to x-axis <-38> speed <95.0> ; //-- Turn(biggun, x-axis, math.rad(-38), math.rad(95)) - turn luparm to x-axis <0> speed <95.0> ; //-- Turn(luparm, x-axis, 0, math.rad(95)) - turn rloarm to x-axis <-38> speed <95.0> ; //-- Turn(rloarm, x-axis, math.rad(-38), math.rad(95)) - turn ruparm to x-axis <0> speed <95.0> ; //-- Turn(ruparm, x-axis, 0, math.rad(95)) + turn biggun to x-axis <-38> speed <95.0000> ; //-- Turn(biggun, x-axis, math.rad(-38), math.rad(95)) + turn luparm to x-axis <0> speed <95.0000> ; //-- Turn(luparm, x-axis, 0, math.rad(95)) + turn rloarm to x-axis <-38> speed <95.0000> ; //-- Turn(rloarm, x-axis, math.rad(-38), math.rad(95)) + turn ruparm to x-axis <0> speed <95.0000> ; //-- Turn(ruparm, x-axis, 0, math.rad(95)) stop-spin barrelr around y-axis; isAiming = 0; isAimingDgun = 0; rightarm = 1; leftarm = 1; - wpn1_lasthead = 0xbadface; + wpn1_lasthead = 1000000; } @@ -528,8 +530,8 @@ ResumeBuilding() sleep 800; if( isBuilding AND ( !isAiming ) ) { - turn torso to y-axis buildHeading speed <150.0>; - turn luparm to x-axis <-55.0> - buildPitch speed <45.0>; + turn torso to y-axis buildHeading speed <150.000000>; + turn luparm to x-axis <-55.000000> - buildPitch speed <45.000000>; } return (0); } @@ -539,35 +541,39 @@ ResumeBuilding() //--gun functions; //----------------------------------------------------------------------- - +SweetSpot(piecenum) +{ + piecenum = torso; + return (0); +} /////////// pew pew laser -QueryWeapon1(pieceIndex) //pew laser +QueryPrimary(piecenum) //pew laser { - pieceIndex = flare; + piecenum = flare; return (0); } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = ruparm; + piecenum = ruparm; return (0); } -AimWeapon1(heading, pitch) //pew pew +AimPrimary(heading, pitch) //pew pew { if (isAimingDgun){ return (0); } rightarm = 0; //call-script FixArms(0, 1); - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; - turn torso to y-axis heading + <10> speed <300.0> ; //-- Turn(torso, y-axis, heading, math.rad(300)) - turn rloarm to x-axis <-55> speed <390.0> ; //-- Turn(rloarm, x-axis, math.rad(-55), math.rad(390)) - turn ruparm to x-axis <-40> - pitch speed <390.0> ; //-- Turn(ruparm, x-axis, math.rad(-45) - pitch, math.rad(390)) - if ((wpn1_lasthead == 0xbadface) OR ABSOLUTE_GREATER_THAN(WRAPDELTA(heading - wpn1_lasthead), <7>)) + signal SIG_AIM; + set-signal-mask SIG_AIM; + turn torso to y-axis heading + <10> speed <300.0000> ; //-- Turn(torso, y-axis, heading, math.rad(300)) + turn rloarm to x-axis <-55> speed <390.0000> ; //-- Turn(rloarm, x-axis, math.rad(-55), math.rad(390)) + turn ruparm to x-axis <-40> - pitch speed <390.0000> ; //-- Turn(ruparm, x-axis, math.rad(-45) - pitch, math.rad(390)) + if (((get ABS(wpn1_lasthead - heading)) > 65536) OR(((get ABS(wpn1_lasthead - heading)) > 1300) AND ((get ABS(wpn1_lasthead - heading)) < 64236))) { - wpn1_lasthead = 0xbadface; + wpn1_lasthead = 1000000; wait-for-turn torso around y-axis; } wpn1_lasthead = heading; @@ -582,35 +588,35 @@ AimWeapon1(heading, pitch) //pew pew return (1); } -FireWeapon1() +FirePrimary() { - spin barrelr around y-axis speed <900.0>; + spin barrelr around y-axis speed <900.000000>; return (1); } Shot1(zero) { - signal SIGNAL_SHOOT1; - set-signal-mask SIGNAL_SHOOT1; + signal SIG_FIRE1; + set-signal-mask SIG_FIRE1; emit-sfx 1024 + 3 from flare; return(1); } /////////// uw weapon -QueryWeapon2(pieceIndex) //uw weapon +QuerySecondary(piecenum) //uw weapon { - pieceIndex = laserflare; + piecenum = laserflare; return (0); } -AimFromWeapon2(pieceIndex) +AimFromSecondary(piecenum) { - pieceIndex = laserflare; + piecenum = laserflare; return (0); } -AimWeapon2(heading, pitch) +AimSecondary(heading, pitch) { if( get PIECE_Y(head) > 0 ) { @@ -625,11 +631,11 @@ AimWeapon2(heading, pitch) } rightarm = 0; //call-script FixArms(0, 1); - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; - turn torso to y-axis heading speed <300.0> ; //-- Turn(torso, y-axis, heading, math.rad(300)) - turn rloarm to x-axis <-55> speed <390.0> ; //-- Turn(rloarm, x-axis, math.rad(-55), math.rad(390)) - turn ruparm to x-axis <-40> - pitch speed <390.0> ; //-- Turn(ruparm, x-axis, math.rad(-45) - pitch, math.rad(390)) + signal SIG_AIM; + set-signal-mask SIG_AIM; + turn torso to y-axis heading speed <300.0000> ; //-- Turn(torso, y-axis, heading, math.rad(300)) + turn rloarm to x-axis <-55> speed <390.0000> ; //-- Turn(rloarm, x-axis, math.rad(-55), math.rad(390)) + turn ruparm to x-axis <-40> - pitch speed <390.0000> ; //-- Turn(ruparm, x-axis, math.rad(-45) - pitch, math.rad(390)) wait-for-turn torso around y-axis; //wait-for-turn rloarm around x-axis; //wait-for-turn ruparm around x-axis; @@ -642,25 +648,25 @@ AimWeapon2(heading, pitch) return (1); } -FireWeapon2() +FireSecondary() { sleep 100; return (0); } -QueryWeapon3(pieceIndex) //dgun +QueryTertiary(piecenum) //dgun { - pieceIndex = lflare; + piecenum = lflare; return (0); } -AimFromWeapon3(pieceIndex) +AimFromTertiary(piecenum) { - pieceIndex = biggun; + piecenum = biggun; return (0); } -FireWeapon3() +FireTertiary() { //emit-sfx 1024 + 0 from lflare; isAimingDgun = 0; @@ -676,31 +682,31 @@ FireWeapon3() return (0); } -AimWeapon3(heading, pitch) +AimTertiary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; isAimingDgun = 1; isAiming = 1; leftArm = 0; //call-script FixArms(1, 0); - turn torso to y-axis heading speed <360.0> ; //-- Turn(torso, y-axis, heading, math.rad(300)) - turn biggun to x-axis <-85> speed <390.0> ; //-- Turn(biggun, x-axis, math.rad(-85), math.rad(390)) - turn luparm to x-axis <5> - pitch speed <390.0> ; //-- Turn(luparm, x-axis, math.rad(-5) - pitch, math.rad(390)) + turn torso to y-axis heading speed <360.0000> ; //-- Turn(torso, y-axis, heading, math.rad(300)) + turn biggun to x-axis <-85> speed <390.0000> ; //-- Turn(biggun, x-axis, math.rad(-85), math.rad(390)) + turn luparm to x-axis <5> - pitch speed <390.0000> ; //-- Turn(luparm, x-axis, math.rad(-5) - pitch, math.rad(390)) wait-for-turn torso around y-axis; //wait-for-turn biggun around x-axis; return (1); } -QueryWeapon4(pieceIndex) //ferret +QueryWeapon4(piecenum) //ferret { - pieceIndex = misflare; + piecenum = misflare; return (0); } -AimFromWeapon4(pieceIndex) +AimFromWeapon4(piecenum) { - pieceIndex = turretmis; + piecenum = turretmis; return (0); } @@ -712,17 +718,17 @@ FireWeapon4() AimWeapon4(heading, pitch) { - signal SIGNAL_AIM2; - set-signal-mask SIGNAL_AIM2; - turn turretmis to y-axis heading speed <250.0>; - turn misbox to x-axis <0> - pitch speed <200.0>; + signal SIG_AIM_2; + set-signal-mask SIG_AIM_2; + turn turretmis to y-axis heading speed <250.000000>; + turn misbox to x-axis <0> - pitch speed <200.000000>; wait-for-turn turretmis around y-axis; wait-for-turn misbox around x-axis; return (1); } SprayNano(heading, pitch){ - set-signal-mask SIGNAL_AIM1; + set-signal-mask SIG_AIM; sleep 1000; while (1){ @@ -736,15 +742,15 @@ SprayNano(heading, pitch){ StartBuilding(heading, pitch) { - signal SIGNAL_AIM1; - //set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + //set-signal-mask SIG_AIM; isBuilding = 1; rightArm = 0; - //turn torso to x-axis <0> speed <395.0> ; //-- Turn(torso, x-axis, 0, math.rad(395)) - //turn pelvis to x-axis <0> speed <395.0> ; //-- Turn(pelvis, x-axis, 0, math.rad(395)) - turn torso to y-axis heading speed <300.0> ; //-- Turn(torso, y-axis, heading, math.rad(300)) - turn rloarm to x-axis <-40> speed <390.0> ; //-- Turn(rloarm, x-axis, math.rad(-55), math.rad(390)) - turn ruparm to x-axis <-55> -pitch speed <390.0> ; //-- Turn(ruparm, x-axis, math.rad(-55) - pitch, math.rad(390)) + //turn torso to x-axis <0> speed <395.0000> ; //-- Turn(torso, x-axis, 0, math.rad(395)) + //turn pelvis to x-axis <0> speed <395.0000> ; //-- Turn(pelvis, x-axis, 0, math.rad(395)) + turn torso to y-axis heading speed <300.0000> ; //-- Turn(torso, y-axis, heading, math.rad(300)) + turn rloarm to x-axis <-40> speed <390.0000> ; //-- Turn(rloarm, x-axis, math.rad(-55), math.rad(390)) + turn ruparm to x-axis <-55> -pitch speed <390.0000> ; //-- Turn(ruparm, x-axis, math.rad(-55) - pitch, math.rad(390)) wait-for-turn ruparm around x-axis; set INBUILDSTANCE to 1; @@ -754,13 +760,25 @@ StartBuilding(heading, pitch) return (0); } + + + +TargetCleared(Func_Var_1) +{ + signal SIG_AIM; + set-signal-mask SIG_AIM; + call-script RestoreAfterDelay(); + return (0); +} + + StopBuilding() { rightArm = 1; isBuilding = 0; set INBUILDSTANCE to 0; - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; call-script RestoreAfterDelay(); return (0); } diff --git a/scripts/Units/legcomlvl3.cob b/scripts/Units/legcomlvl3.cob index 8e5b9792bc96f9e473d3dc096177839ad8e8bd24..a9bb196300b49efd6cc7181f247d742abb77dcf1 100644 GIT binary patch delta 4410 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 IeEz=w0SYDJYXATM delta 4214 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 aB~g=!(ZNb$8iwm4_9gf{REN68{{I0*yS@zo diff --git a/scripts/Units/legcomlvl4.bos b/scripts/Units/legcomlvl4.bos index d4cceedcec1..65a0511216b 100644 --- a/scripts/Units/legcomlvl4.bos +++ b/scripts/Units/legcomlvl4.bos @@ -1,5 +1,7 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" //INCREMENT THIS COUNTER FOR EVERY HOUR OF YOUR LIFE WASTED HERE: 20 @@ -10,19 +12,19 @@ piece head, torso, luparm, biggun, ruparm,rloarm,lflare, nano, laserflare, pelvi static-var isAiming, isBuilding, isAimingDgun, buildHeading, buildPitch, leftArm, rightArm,animSpeed, torsoaim, gun_1, wpn1_lasthead; // Signal definitions -#define SIGNAL_AIM1 256 -#define SIGNAL_MOVE 1 -#define SIGNAL_AIM2 512 -#define SIGNAL_SHOOT1 16 +#define SIG_AIM 2 +#define SIG_WALK 4 +#define SIG_AIM_2 8 +#define SIG_FIRE1 16 // Generated for D:\spring\animation\armcom_anim_walk_v4.blend // Using https://github.com/Beherith/Skeletor_S3O // this animation uses the static-var animFramesPerKeyframe which contains how many frames each keyframe takes -static-var maxSpeed, animFramesPerKeyframe, isMoving; +static-var maxSpeed, animFramesPerKeyframe, bMoving; Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\animation\armcom_anim_walk_v4.blend // (c) CC BY NC ND Beherith mysterme@gmail.com - set-signal-mask SIGNAL_MOVE; - if (isMoving) { //Frame:4 + set-signal-mask SIG_WALK; + if (bMoving) { //Frame:4 if (leftArm) turn biggun to x-axis <-48.215180> speed <113.735764> / animSpeed; //delta=-3.79 turn head to x-axis <-2.620635> speed <39.654598> / animSpeed; //delta=1.32 turn head to y-axis <-3.829846> speed <114.895376> / animSpeed; //delta=-3.83 @@ -32,7 +34,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn lthigh to z-axis <10.085981> speed <605.673206> / animSpeed; //delta=-20.19 turn lthigh to y-axis <15.046731> speed <118.088344> / animSpeed; //delta=3.94 if (leftArm) turn luparm to x-axis <9.919362> speed <279.367450> / animSpeed; //delta=9.31 - if (leftArm) turn luparm to z-axis <-12.399998> speed <114.0> / animSpeed; //delta=-3.80 + if (leftArm) turn luparm to z-axis <-12.399998> speed <114.000041> / animSpeed; //delta=-3.80 if (leftArm) turn luparm to y-axis <0.965138> speed <187.380006> / animSpeed; //delta=-6.25 turn pelvis to z-axis <-1.666667> speed <49.999997> / animSpeed; //delta=1.67 turn pelvis to y-axis <-2.296296> speed <68.888891> / animSpeed; //delta=-2.30 @@ -49,8 +51,8 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn aimy1 to y-axis <7.879434> speed <236.383029> / animSpeed; //delta=7.88 sleep ((33*animSpeed) -1); } - while(isMoving) { - if (isMoving) { //Frame:8 + while(bMoving) { + if (bMoving) { //Frame:8 if (leftArm) turn biggun to x-axis <-46.675856> speed <46.179694> / animSpeed; //delta=-1.54 turn head to x-axis <-1.563179> speed <31.723679> / animSpeed; //delta=-1.06 turn head to y-axis <-6.127755> speed <68.937274> / animSpeed; //delta=-2.30 @@ -77,7 +79,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn aimy1 to y-axis <13.926961> speed <181.425790> / animSpeed; //delta=6.05 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:12 + if (bMoving) { //Frame:12 if (leftArm) turn biggun to x-axis <-46.110552> speed <16.959121> / animSpeed; //delta=-0.57 turn head to x-axis <0.023005> speed <47.585527> / animSpeed; //delta=-1.59 turn head to y-axis <-7.659692> speed <45.958102> / animSpeed; //delta=-1.53 @@ -88,9 +90,9 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn lthigh to y-axis <14.540810> speed <93.704134> / animSpeed; //delta=-3.12 if (leftArm) turn luparm to x-axis <20.474264> speed <98.952127> / animSpeed; //delta=-3.30 if (leftArm) turn luparm to y-axis <5.388938> speed <71.821661> / animSpeed; //delta=2.39 - move pelvis to y-axis [-2.0] speed [18.888888] / animSpeed; //delta=-0.63 - turn pelvis to z-axis <-5.0> speed <27.777769> / animSpeed; //delta=0.93 - turn pelvis to y-axis <-6.0> speed <24.444453> / animSpeed; //delta=-0.81 + move pelvis to y-axis [-2.000000] speed [18.888888] / animSpeed; //delta=-0.63 + turn pelvis to z-axis <-5.000000> speed <27.777769> / animSpeed; //delta=0.93 + turn pelvis to y-axis <-6.000000> speed <24.444453> / animSpeed; //delta=-0.81 turn rfoot to x-axis <-34.556331> speed <305.131751> / animSpeed; //delta=10.17 turn rleg to x-axis <32.187523> speed <882.363941> / animSpeed; //delta=-29.41 if (rightArm) turn rloarm to x-axis <-64.499997> speed <87.888552> / animSpeed; //delta=2.93 @@ -104,7 +106,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn aimy1 to y-axis <15.758869> speed <54.957239> / animSpeed; //delta=1.83 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:16 + if (bMoving) { //Frame:16 if (leftArm) turn biggun to x-axis <-47.068049> speed <28.724907> / animSpeed; //delta=0.96 turn head to x-axis <-0.505722> speed <15.861819> / animSpeed; //delta=0.53 turn head to y-axis <-6.127755> speed <45.958102> / animSpeed; //delta=1.53 @@ -132,7 +134,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn aimy1 to y-axis <13.926961> speed <54.957239> / animSpeed; //delta=-1.83 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:20 + if (bMoving) { //Frame:20 if (leftArm) turn biggun to x-axis <-49.335727> speed <68.030323> / animSpeed; //delta=2.27 turn head to x-axis <-2.091907> speed <47.585562> / animSpeed; //delta=1.59 turn head to y-axis <-3.829846> speed <68.937274> / animSpeed; //delta=2.30 @@ -143,7 +145,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn lthigh to y-axis <8.321622> speed <266.996423> / animSpeed; //delta=-8.90 if (leftArm) turn luparm to x-axis <15.615877> speed <102.946916> / animSpeed; //delta=3.43 if (leftArm) turn luparm to y-axis <5.076670> speed <9.368019> / animSpeed; //delta=-0.31 - turn pelvis to z-axis <-2.0> speed <58.888879> / animSpeed; //delta=-1.96 + turn pelvis to z-axis <-2.000000> speed <58.888879> / animSpeed; //delta=-1.96 turn pelvis to y-axis <-2.772487> speed <67.619039> / animSpeed; //delta=2.25 turn rfoot to x-axis <-39.119034> speed <357.682424> / animSpeed; //delta=11.92 turn rleg to x-axis <104.636879> speed <789.433742> / animSpeed; //delta=-26.31 @@ -160,10 +162,10 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn aimy1 to y-axis <7.879434> speed <181.425790> / animSpeed; //delta=-6.05 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:24 + if (bMoving) { //Frame:24 if (leftArm) turn biggun to x-axis <-52.006372> speed <80.119348> / animSpeed; //delta=2.67 turn head to x-axis <-3.149363> speed <31.723676> / animSpeed; //delta=1.06 - turn head to y-axis <0.0> speed <114.895376> / animSpeed; //delta=3.83 + turn head to y-axis <0.000000> speed <114.895376> / animSpeed; //delta=3.83 turn lfoot to x-axis <-23.280778> speed <357.540911> / animSpeed; //delta=11.92 turn lleg to x-axis <46.510843> speed <277.878733> / animSpeed; //delta=9.26 turn lthigh to x-axis <-23.415420> speed <612.523459> / animSpeed; //delta=-20.42 @@ -171,9 +173,9 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn lthigh to y-axis <1.272165> speed <211.483711> / animSpeed; //delta=-7.05 if (leftArm) turn luparm to x-axis <11.452920> speed <124.888703> / animSpeed; //delta=4.16 if (leftArm) turn luparm to y-axis <3.308728> speed <53.038265> / animSpeed; //delta=-1.77 - move pelvis to y-axis [-2.0] speed [25.555551] / animSpeed; //delta=0.85 - turn pelvis to z-axis <-0.0> speed <60.0> / animSpeed; //delta=-2.00 - turn pelvis to y-axis <0.0> speed <83.174607> / animSpeed; //delta=2.77 + move pelvis to y-axis [-2.000000] speed [25.555551] / animSpeed; //delta=0.85 + turn pelvis to z-axis <-0.000000> speed <60.000006> / animSpeed; //delta=-2.00 + turn pelvis to y-axis <0.000000> speed <83.174607> / animSpeed; //delta=2.77 turn rfoot to x-axis <-45.278120> speed <184.772566> / animSpeed; //delta=6.16 turn rleg to x-axis <90.786697> speed <415.505474> / animSpeed; //delta=13.85 turn rleg to z-axis <0.843235> speed <24.355743> / animSpeed; //delta=-0.81 @@ -185,11 +187,11 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani if (rightArm) turn ruparm to x-axis <16.947865> speed <91.311783> / animSpeed; //delta=-3.04 if (rightArm) turn ruparm to y-axis <0.900000> speed <45.888888> / animSpeed; //delta=-1.53 turn aimy1 to x-axis <-4.594870> speed <18.402335> / animSpeed; //delta=0.61 - turn aimy1 to z-axis <-0.0> speed <61.681404> / animSpeed; //delta=2.06 - turn aimy1 to y-axis <0.0> speed <236.383029> / animSpeed; //delta=-7.88 + turn aimy1 to z-axis <-0.000000> speed <61.681404> / animSpeed; //delta=2.06 + turn aimy1 to y-axis <0.000000> speed <236.383029> / animSpeed; //delta=-7.88 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:28 + if (bMoving) { //Frame:28 if (leftArm) turn biggun to x-axis <-53.142724> speed <34.090567> / animSpeed; //delta=1.14 turn head to x-axis <-2.620635> speed <15.861851> / animSpeed; //delta=-0.53 turn head to y-axis <3.829846> speed <114.895376> / animSpeed; //delta=3.83 @@ -218,7 +220,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn aimy1 to y-axis <-7.879434> speed <236.383029> / animSpeed; //delta=-7.88 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:32 + if (bMoving) { //Frame:32 if (leftArm) turn biggun to x-axis <-55.253092> speed <63.311038> / animSpeed; //delta=2.11 turn head to x-axis <-1.563179> speed <31.723670> / animSpeed; //delta=-1.06 turn head to y-axis <6.127755> speed <68.937274> / animSpeed; //delta=2.30 @@ -244,7 +246,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn aimy1 to y-axis <-13.926961> speed <181.425790> / animSpeed; //delta=-6.05 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:36 + if (bMoving) { //Frame:36 if (leftArm) turn biggun to x-axis <-56.389444> speed <34.090567> / animSpeed; //delta=1.14 turn head to x-axis <0.023005> speed <47.585536> / animSpeed; //delta=-1.59 turn head to y-axis <7.659692> speed <45.958102> / animSpeed; //delta=1.53 @@ -255,12 +257,12 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn lthigh to y-axis <5.332458> speed <15.498655> / animSpeed; //delta=-0.52 if (leftArm) turn luparm to x-axis <-3.274263> speed <167.758466> / animSpeed; //delta=5.59 if (leftArm) turn luparm to y-axis <-6.556594> speed <45.333998> / animSpeed; //delta=-1.51 - move pelvis to y-axis [-2.0] speed [25.555555] / animSpeed; //delta=-0.85 - turn pelvis to z-axis <5.0> speed <31.089813> / animSpeed; //delta=-1.04 - turn pelvis to y-axis <6.0> speed <29.200275> / animSpeed; //delta=0.97 + move pelvis to y-axis [-2.000000] speed [25.555555] / animSpeed; //delta=-0.85 + turn pelvis to z-axis <5.000000> speed <31.089813> / animSpeed; //delta=-1.04 + turn pelvis to y-axis <6.000000> speed <29.200275> / animSpeed; //delta=0.97 turn rfoot to x-axis <4.673420> speed <156.586261> / animSpeed; //delta=-5.22 turn rleg to x-axis <17.968366> speed <112.905793> / animSpeed; //delta=3.76 - if (rightArm) turn rloarm to x-axis <-38.0> speed <43.722158> / animSpeed; //delta=-1.46 + if (rightArm) turn rloarm to x-axis <-38.000000> speed <43.722158> / animSpeed; //delta=-1.46 turn rthigh to x-axis <-40.972853> speed <227.481055> / animSpeed; //delta=-7.58 turn rthigh to z-axis <-12.483621> speed <13.132763> / animSpeed; //delta=-0.44 turn rthigh to y-axis <-18.495587> speed <4.624260> / animSpeed; //delta=-0.15 @@ -271,7 +273,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn aimy1 to y-axis <-15.758869> speed <54.957239> / animSpeed; //delta=-1.83 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:40 + if (bMoving) { //Frame:40 if (leftArm) turn biggun to x-axis <-55.431951> speed <28.724805> / animSpeed; //delta=-0.96 turn head to x-axis <-0.505722> speed <15.861819> / animSpeed; //delta=0.53 turn head to y-axis <6.127755> speed <45.958102> / animSpeed; //delta=-1.53 @@ -300,7 +302,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn aimy1 to y-axis <-13.926961> speed <54.957239> / animSpeed; //delta=1.83 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:44 + if (bMoving) { //Frame:44 if (leftArm) turn biggun to x-axis <-53.164273> speed <68.030323> / animSpeed; //delta=-2.27 turn head to x-axis <-2.091907> speed <47.585562> / animSpeed; //delta=1.59 turn head to y-axis <3.829846> speed <68.937274> / animSpeed; //delta=-2.30 @@ -328,10 +330,10 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn aimy1 to y-axis <-7.879434> speed <181.425790> / animSpeed; //delta=6.05 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:48 + if (bMoving) { //Frame:48 if (leftArm) turn biggun to x-axis <-50.493628> speed <80.119348> / animSpeed; //delta=-2.67 turn head to x-axis <-3.149363> speed <31.723676> / animSpeed; //delta=1.06 - turn head to y-axis <0.0> speed <114.895376> / animSpeed; //delta=-3.83 + turn head to y-axis <0.000000> speed <114.895376> / animSpeed; //delta=-3.83 turn lfoot to x-axis <-44.880435> speed <188.924672> / animSpeed; //delta=6.30 turn lleg to x-axis <90.690391> speed <407.363547> / animSpeed; //delta=13.58 turn lleg to z-axis <-1.028354> speed <29.811568> / animSpeed; //delta=0.99 @@ -341,9 +343,9 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn lthigh to y-axis <9.180887> speed <243.372656> / animSpeed; //delta=8.11 if (leftArm) turn luparm to x-axis <2.662867> speed <125.339441> / animSpeed; //delta=-4.18 if (leftArm) turn luparm to y-axis <-1.793232> speed <71.050921> / animSpeed; //delta=2.37 - move pelvis to y-axis [-2.0] speed [25.555551] / animSpeed; //delta=0.85 - turn pelvis to z-axis <-0.0> speed <62.666668> / animSpeed; //delta=2.09 - turn pelvis to y-axis <0.0> speed <86.222221> / animSpeed; //delta=-2.87 + move pelvis to y-axis [-2.000000] speed [25.555551] / animSpeed; //delta=0.85 + turn pelvis to z-axis <-0.000000> speed <62.666668> / animSpeed; //delta=2.09 + turn pelvis to y-axis <0.000000> speed <86.222221> / animSpeed; //delta=-2.87 turn rfoot to x-axis <-23.519080> speed <364.135724> / animSpeed; //delta=12.14 turn rleg to x-axis <46.484300> speed <278.590678> / animSpeed; //delta=9.29 if (rightArm) turn rloarm to x-axis <-53.199999> speed <206.555576> / animSpeed; //delta=6.89 @@ -353,11 +355,11 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani if (rightArm) turn ruparm to x-axis <23.351554> speed <90.983396> / animSpeed; //delta=3.03 if (rightArm) turn ruparm to y-axis <0.479402> speed <36.051284> / animSpeed; //delta=1.20 turn aimy1 to x-axis <-4.594870> speed <18.402335> / animSpeed; //delta=0.61 - turn aimy1 to z-axis <-0.0> speed <64.422792> / animSpeed; //delta=-2.15 - turn aimy1 to y-axis <0.0> speed <236.383029> / animSpeed; //delta=7.88 + turn aimy1 to z-axis <-0.000000> speed <64.422792> / animSpeed; //delta=-2.15 + turn aimy1 to y-axis <0.000000> speed <236.383029> / animSpeed; //delta=7.88 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:52 + if (bMoving) { //Frame:52 if (leftArm) turn biggun to x-axis <-48.215180> speed <68.353460> / animSpeed; //delta=-2.28 turn head to x-axis <-2.620635> speed <15.861851> / animSpeed; //delta=-0.53 turn head to y-axis <-3.829846> speed <114.895376> / animSpeed; //delta=-3.83 @@ -388,38 +390,38 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani } } } -// Call this from StopMoving()! +// Call this from MotionControl()! StopWalking() { - move pelvis to y-axis [-1.0] speed [6.944444]; + move pelvis to y-axis [-1.000000] speed [6.944444]; if (leftArm) turn biggun to x-axis <-52.006372> speed <28.433941>; turn head to x-axis <-1.298815> speed <11.896390>; - turn head to y-axis <0.0> speed <28.723844>; + turn head to y-axis <0.000000> speed <28.723844>; turn lfoot to x-axis <2.870126> speed <274.263975>; turn lleg to x-axis <22.425678> speed <349.693872>; - turn lleg to y-axis <0.0> speed <7.922289>; - turn lleg to z-axis <0.0> speed <7.923996>; + turn lleg to y-axis <0.000000> speed <7.922289>; + turn lleg to z-axis <0.000000> speed <7.923996>; turn lthigh to x-axis <-21.115098> speed <255.919901>; turn lthigh to y-axis <11.110453> speed <66.749106>; turn lthigh to z-axis <-10.103126> speed <151.418301>; if (leftArm) turn luparm to x-axis <19.231610> speed <69.841862>; if (leftArm) turn luparm to y-axis <7.211138> speed <46.845002>; if (leftArm) turn luparm to z-axis <-16.200000> speed <28.500010>; - turn pelvis to y-axis <0.0> speed <21.666665>; - turn pelvis to z-axis <0.0> speed <18.055557>; + turn pelvis to y-axis <0.000000> speed <21.666665>; + turn pelvis to z-axis <0.000000> speed <18.055557>; turn rfoot to x-axis <0.415283> speed <248.713120>; turn rleg to x-axis <25.768060> speed <346.011740>; - turn rleg to y-axis <0.0> speed <6.521982>; - turn rleg to z-axis <0.0> speed <6.524652>; + turn rleg to y-axis <0.000000> speed <6.521982>; + turn rleg to z-axis <0.000000> speed <6.524652>; if (rightArm) turn rloarm to x-axis <-53.199995> speed <51.638894>; turn rthigh to x-axis <-21.950628> speed <255.149679>; turn rthigh to y-axis <-11.905752> speed <66.515336>; turn rthigh to z-axis <9.396449> speed <151.125663>; if (rightArm) turn ruparm to x-axis <24.693159> speed <39.648544>; - if (rightArm) turn ruparm to y-axis <0.0> speed <31.089853>; + if (rightArm) turn ruparm to y-axis <0.000000> speed <31.089853>; if (rightArm) turn ruparm to z-axis <12.399998> speed <-7.153845>; turn aimy1 to x-axis <-2.263907> speed <15.181924>; - turn aimy1 to y-axis <0.0> speed <59.095757>; - turn aimy1 to z-axis <0.0> speed <18.561539>; + turn aimy1 to y-axis <0.000000> speed <59.095757>; + turn aimy1 to z-axis <0.000000> speed <18.561539>; } // REMEMBER TO animspeed = 4 in Create() !! UnitSpeed(){ @@ -436,16 +438,16 @@ UnitSpeed(){ sleep 131; } } -StartMoving(reversing){ - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; - isMoving=TRUE; +StartMoving(){ + signal SIG_WALK; + set-signal-mask SIG_WALK; + bMoving=TRUE; start-script Walk(); start-script UnitSpeed(); } StopMoving(){ - signal SIGNAL_MOVE; - isMoving = FALSE; + signal SIG_WALK; + bMoving = FALSE; call-script StopWalking(); } @@ -456,7 +458,7 @@ AmIBored() { //return isAiming == false and isBuilding == false and isMoving == false if (isAiming == 0){ if (isBuilding == 0 ){ - if (isMoving == 0){ + if (bMoving == 0){ return (1); } } @@ -483,7 +485,7 @@ Create(){ hide railflarer; hide railflarel; hide Ref_Point; - //turn rloarm to x-axis <-15> speed <130.0> ; //-- Turn(rloarm, x-axis, math.rad(-15),math.rad(130)) + //turn rloarm to x-axis <-15> speed <130.0000> ; //-- Turn(rloarm, x-axis, math.rad(-15),math.rad(130)) turn lflare to x-axis <90> now; // Turn(lflare, x-axis,math.rad(90)) turn flare to x-axis <90> now; turn nano to x-axis <90> now; //Turn(nano, x-axis,math.rad(90)) @@ -492,7 +494,7 @@ Create(){ animSpeed = 4; gun_1 = 1; torsoaim = 0; - isMoving = 0; + bMoving = 0; isAiming = 0; isBuilding = 0; isAimingDgun = 0; @@ -503,30 +505,30 @@ Create(){ call-script StopWalking(); } -QueryNanoPiece(pieceIndex) +QueryNanoPiece(piecenum) { - pieceIndex = nano; + piecenum = nano; return (0); } RestoreAfterDelay(){ - set-signal-mask SIGNAL_AIM1; + set-signal-mask SIG_AIM; sleep 1000; - turn torso to y-axis <0> speed <105.0> ; //-- Turn(torso, y-axis, 0, math.rad(305)) + turn torso to y-axis <0> speed <105.0000> ; //-- Turn(torso, y-axis, 0, math.rad(305)) - turn biggun to x-axis <-38> speed <95.0> ; //-- Turn(biggun, x-axis, math.rad(-38), math.rad(95)) - turn luparm to x-axis <0> speed <95.0> ; //-- Turn(luparm, x-axis, 0, math.rad(95)) - turn rloarm to x-axis <-38> speed <95.0> ; //-- Turn(rloarm, x-axis, math.rad(-38), math.rad(95)) - turn ruparm to x-axis <0> speed <95.0> ; //-- Turn(ruparm, x-axis, 0, math.rad(95)) + turn biggun to x-axis <-38> speed <95.0000> ; //-- Turn(biggun, x-axis, math.rad(-38), math.rad(95)) + turn luparm to x-axis <0> speed <95.0000> ; //-- Turn(luparm, x-axis, 0, math.rad(95)) + turn rloarm to x-axis <-38> speed <95.0000> ; //-- Turn(rloarm, x-axis, math.rad(-38), math.rad(95)) + turn ruparm to x-axis <0> speed <95.0000> ; //-- Turn(ruparm, x-axis, 0, math.rad(95)) stop-spin barrelr around y-axis; torsoaim = 0; isAiming = 0; isAimingDgun = 0; rightarm = 1; leftarm = 1; - wpn1_lasthead = 0xbadface; + wpn1_lasthead = 1000000; } @@ -535,8 +537,8 @@ ResumeBuilding() sleep 800; if( isBuilding AND ( !isAiming ) ) { - turn torso to y-axis buildHeading speed <150.0>; - turn luparm to x-axis <-55.0> - buildPitch speed <45.0>; + turn torso to y-axis buildHeading speed <150.000000>; + turn luparm to x-axis <-55.000000> - buildPitch speed <45.000000>; } return (0); } @@ -546,30 +548,34 @@ ResumeBuilding() //--gun functions; //----------------------------------------------------------------------- - +SweetSpot(piecenum) +{ + piecenum = torso; + return (0); +} /////////// pew pew laser -QueryWeapon1(pieceIndex) //pew laser +QueryPrimary(piecenum) //pew laser { - pieceIndex = flare; + piecenum = flare; return (0); } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = ruparm; + piecenum = ruparm; return (0); } -AimWeapon1(heading, pitch) //pew pew +AimPrimary(heading, pitch) //pew pew { if (isAimingDgun){ return (0); } rightarm = 0; //call-script FixArms(0, 1); - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; - turn torso to y-axis heading + <10> speed <300.0> ; //-- Turn(torso, y-axis, heading, math.rad(300)) + signal SIG_AIM; + set-signal-mask SIG_AIM; + turn torso to y-axis heading + <10> speed <300.0000> ; //-- Turn(torso, y-axis, heading, math.rad(300)) var gun_xz; gun_xz = get PIECE_XZ(rloarm); //get packed gun coordinates @@ -618,11 +624,11 @@ AimWeapon1(heading, pitch) //pew pew //var torsoaim; torsoaim = cauface - cauaim; //calculate angle of turret relative to the hull //torsoaim = heading; - turn rloarm to x-axis <-55> speed <390.0> ; //-- Turn(rloarm, x-axis, math.rad(-55), math.rad(390)) - turn ruparm to x-axis <-40> - pitch speed <390.0> ; //-- Turn(ruparm, x-axis, math.rad(-45) - pitch, math.rad(390)) - if ((wpn1_lasthead == 0xbadface) OR ABSOLUTE_GREATER_THAN(WRAPDELTA(heading - wpn1_lasthead), <7>)) + turn rloarm to x-axis <-55> speed <390.0000> ; //-- Turn(rloarm, x-axis, math.rad(-55), math.rad(390)) + turn ruparm to x-axis <-40> - pitch speed <390.0000> ; //-- Turn(ruparm, x-axis, math.rad(-45) - pitch, math.rad(390)) + if (((get ABS(wpn1_lasthead - heading)) > 65536) OR(((get ABS(wpn1_lasthead - heading)) > 1300) AND ((get ABS(wpn1_lasthead - heading)) < 64236))) { - wpn1_lasthead = 0xbadface; + wpn1_lasthead = 1000000; wait-for-turn torso around y-axis; } wpn1_lasthead = heading; @@ -637,35 +643,35 @@ AimWeapon1(heading, pitch) //pew pew return (1); } -FireWeapon1() +FirePrimary() { - spin barrelr around y-axis speed <900.0>; + spin barrelr around y-axis speed <900.000000>; return (1); } Shot1(zero) { - signal SIGNAL_SHOOT1; - set-signal-mask SIGNAL_SHOOT1; + signal SIG_FIRE1; + set-signal-mask SIG_FIRE1; emit-sfx 1024 + 3 from flare; return(1); } /////////// uw weapon -QueryWeapon2(pieceIndex) //uw weapon +QuerySecondary(piecenum) //uw weapon { - pieceIndex = laserflare; + piecenum = laserflare; return (0); } -AimFromWeapon2(pieceIndex) +AimFromSecondary(piecenum) { - pieceIndex = laserflare; + piecenum = laserflare; return (0); } -AimWeapon2(heading, pitch) +AimSecondary(heading, pitch) { if( get PIECE_Y(head) > 0 ) { @@ -680,12 +686,12 @@ AimWeapon2(heading, pitch) } rightarm = 0; //call-script FixArms(0, 1); - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; - turn torso to y-axis heading speed <300.0> ; //-- Turn(torso, y-axis, heading, math.rad(300)) + signal SIG_AIM; + set-signal-mask SIG_AIM; + turn torso to y-axis heading speed <300.0000> ; //-- Turn(torso, y-axis, heading, math.rad(300)) torsoaim = heading; - turn rloarm to x-axis <-55> speed <390.0> ; //-- Turn(rloarm, x-axis, math.rad(-55), math.rad(390)) - turn ruparm to x-axis <-40> - pitch speed <390.0> ; //-- Turn(ruparm, x-axis, math.rad(-45) - pitch, math.rad(390)) + turn rloarm to x-axis <-55> speed <390.0000> ; //-- Turn(rloarm, x-axis, math.rad(-55), math.rad(390)) + turn ruparm to x-axis <-40> - pitch speed <390.0000> ; //-- Turn(ruparm, x-axis, math.rad(-45) - pitch, math.rad(390)) wait-for-turn torso around y-axis; //wait-for-turn rloarm around x-axis; //wait-for-turn ruparm around x-axis; @@ -698,25 +704,25 @@ AimWeapon2(heading, pitch) return (1); } -FireWeapon2() +FireSecondary() { sleep 100; return (0); } -QueryWeapon3(pieceIndex) //dgun +QueryTertiary(piecenum) //dgun { - pieceIndex = lflare; + piecenum = lflare; return (0); } -AimFromWeapon3(pieceIndex) +AimFromTertiary(piecenum) { - pieceIndex = biggun; + piecenum = biggun; return (0); } -FireWeapon3() +FireTertiary() { //emit-sfx 1024 + 0 from lflare; isAimingDgun = 0; @@ -732,39 +738,39 @@ FireWeapon3() return (0); } -AimWeapon3(heading, pitch) +AimTertiary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; isAimingDgun = 1; isAiming = 1; leftArm = 0; //call-script FixArms(1, 0); - turn torso to y-axis heading speed <360.0> ; //-- Turn(torso, y-axis, heading, math.rad(300)) - turn biggun to x-axis <-85> speed <390.0> ; //-- Turn(biggun, x-axis, math.rad(-85), math.rad(390)) - turn luparm to x-axis <5> - pitch speed <390.0> ; //-- Turn(luparm, x-axis, math.rad(-5) - pitch, math.rad(390)) + turn torso to y-axis heading speed <360.0000> ; //-- Turn(torso, y-axis, heading, math.rad(300)) + turn biggun to x-axis <-85> speed <390.0000> ; //-- Turn(biggun, x-axis, math.rad(-85), math.rad(390)) + turn luparm to x-axis <5> - pitch speed <390.0000> ; //-- Turn(luparm, x-axis, math.rad(-5) - pitch, math.rad(390)) wait-for-turn torso around y-axis; //wait-for-turn biggun around x-axis; return (1); } -QueryWeapon4(pieceIndex) //ferret +QueryWeapon4(piecenum) //ferret { if (gun_1){ - pieceIndex = railflarer; + piecenum = railflarer; } else { - pieceIndex = railflarel; + piecenum = railflarel; } } -AimFromWeapon4(pieceIndex) +AimFromWeapon4(piecenum) { if (gun_1){ - pieceIndex = railflarer; + piecenum = railflarer; } else { - pieceIndex = railflarel; + piecenum = railflarel; } } @@ -772,29 +778,29 @@ FireWeapon4() { if (gun_1){ emit-sfx 1024 + 0 from railflarer; - move barrel1r to z-axis [-3.0] speed [500.0]; - move barrel2r to z-axis [-3.0] speed [500.0]; - move barrel3r to z-axis [-3.0] speed [500.0]; - move barrel4r to z-axis [-3.0] speed [500.0]; + move barrel1r to z-axis [-3.000000] speed [500.000000]; + move barrel2r to z-axis [-3.000000] speed [500.000000]; + move barrel3r to z-axis [-3.000000] speed [500.000000]; + move barrel4r to z-axis [-3.000000] speed [500.000000]; wait-for-move barrel1r along z-axis; - move barrel1r to z-axis [0.0] speed [3.0]; - move barrel2r to z-axis [0.0] speed [3.0]; - move barrel3r to z-axis [0.0] speed [3.0]; - move barrel4r to z-axis [0.0] speed [3.0]; + move barrel1r to z-axis [0.000000] speed [3.000000]; + move barrel2r to z-axis [0.000000] speed [3.000000]; + move barrel3r to z-axis [0.000000] speed [3.000000]; + move barrel4r to z-axis [0.000000] speed [3.000000]; sleep 300; gun_1 = 2; } else { emit-sfx 1024 + 0 from railflarel; - move barrel1l to z-axis [-3.0] speed [500.0]; - move barrel2l to z-axis [-3.0] speed [500.0]; - move barrel3l to z-axis [-3.0] speed [500.0]; - move barrel4l to z-axis [-3.0] speed [500.0]; + move barrel1l to z-axis [-3.000000] speed [500.000000]; + move barrel2l to z-axis [-3.000000] speed [500.000000]; + move barrel3l to z-axis [-3.000000] speed [500.000000]; + move barrel4l to z-axis [-3.000000] speed [500.000000]; wait-for-move barrel1l along z-axis; - move barrel1l to z-axis [0.0] speed [3.0]; - move barrel2l to z-axis [0.0] speed [3.0]; - move barrel3l to z-axis [0.0] speed [3.0]; - move barrel4l to z-axis [0.0] speed [3.0]; + move barrel1l to z-axis [0.000000] speed [3.000000]; + move barrel2l to z-axis [0.000000] speed [3.000000]; + move barrel3l to z-axis [0.000000] speed [3.000000]; + move barrel4l to z-axis [0.000000] speed [3.000000]; sleep 300; gun_1 = 0; } @@ -803,12 +809,12 @@ FireWeapon4() AimWeapon4(heading, pitch) { - signal SIGNAL_AIM2; - set-signal-mask SIGNAL_AIM2; - turn railturretr to y-axis heading - torsoaim speed <250.0>; - turn railsleever to x-axis <0> - pitch speed <200.0>; - turn railturretl to y-axis heading - torsoaim speed <250.0>; - turn railsleevel to x-axis <0> - pitch speed <200.0>; + signal SIG_AIM_2; + set-signal-mask SIG_AIM_2; + turn railturretr to y-axis heading - torsoaim speed <250.000000>; + turn railsleever to x-axis <0> - pitch speed <200.000000>; + turn railturretl to y-axis heading - torsoaim speed <250.000000>; + turn railsleevel to x-axis <0> - pitch speed <200.000000>; wait-for-turn railturretr around y-axis; wait-for-turn railsleever around x-axis; wait-for-turn railturretl around y-axis; @@ -817,7 +823,7 @@ AimWeapon4(heading, pitch) } SprayNano(heading, pitch){ - set-signal-mask SIGNAL_AIM1; + set-signal-mask SIG_AIM; sleep 1000; while (1){ @@ -831,15 +837,15 @@ SprayNano(heading, pitch){ StartBuilding(heading, pitch) { - signal SIGNAL_AIM1; - //set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + //set-signal-mask SIG_AIM; isBuilding = 1; rightArm = 0; - //turn torso to x-axis <0> speed <395.0> ; //-- Turn(torso, x-axis, 0, math.rad(395)) - //turn pelvis to x-axis <0> speed <395.0> ; //-- Turn(pelvis, x-axis, 0, math.rad(395)) - turn torso to y-axis heading speed <300.0> ; //-- Turn(torso, y-axis, heading, math.rad(300)) - turn rloarm to x-axis <-40> speed <390.0> ; //-- Turn(rloarm, x-axis, math.rad(-55), math.rad(390)) - turn ruparm to x-axis <-55> -pitch speed <390.0> ; //-- Turn(ruparm, x-axis, math.rad(-55) - pitch, math.rad(390)) + //turn torso to x-axis <0> speed <395.0000> ; //-- Turn(torso, x-axis, 0, math.rad(395)) + //turn pelvis to x-axis <0> speed <395.0000> ; //-- Turn(pelvis, x-axis, 0, math.rad(395)) + turn torso to y-axis heading speed <300.0000> ; //-- Turn(torso, y-axis, heading, math.rad(300)) + turn rloarm to x-axis <-40> speed <390.0000> ; //-- Turn(rloarm, x-axis, math.rad(-55), math.rad(390)) + turn ruparm to x-axis <-55> -pitch speed <390.0000> ; //-- Turn(ruparm, x-axis, math.rad(-55) - pitch, math.rad(390)) wait-for-turn ruparm around x-axis; set INBUILDSTANCE to 1; @@ -849,13 +855,25 @@ StartBuilding(heading, pitch) return (0); } + + + +TargetCleared(Func_Var_1) +{ + signal SIG_AIM; + set-signal-mask SIG_AIM; + call-script RestoreAfterDelay(); + return (0); +} + + StopBuilding() { rightArm = 1; isBuilding = 0; set INBUILDSTANCE to 0; - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; call-script RestoreAfterDelay(); return (0); } diff --git a/scripts/Units/legcomlvl4.cob b/scripts/Units/legcomlvl4.cob index 8e4dfb9e7103c1252a5fc4fe5d1f8a6e9e4aa725..2e21598d56e549161283d7b7533708ce16580dd5 100644 GIT binary patch delta 4526 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 delta 4318 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 KyF0G_F8VJn>Dd+l diff --git a/scripts/Units/legcomoff.bos b/scripts/Units/legcomoff.bos index 0902dc00369..41fd6c94ff8 100644 --- a/scripts/Units/legcomoff.bos +++ b/scripts/Units/legcomoff.bos @@ -1,5 +1,7 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" //INCREMENT THIS COUNTER FOR EVERY HOUR OF YOUR LIFE WASTED HERE: 20 @@ -9,18 +11,18 @@ piece head, torso, luparm, biggun, ruparm,rloarm,lflare, nano, laserflare, pelvi static-var isAiming, isBuilding, isAimingDgun, buildHeading, buildPitch, leftArm, rightArm,animSpeed; // Signal definitions -#define SIGNAL_AIM1 256 -#define SIGNAL_MOVE 1 -#define SIGNAL_AIM2 512 +#define SIG_AIM 2 +#define SIG_WALK 4 +#define SIG_AIM_2 8 // Generated for D:\spring\animation\armcom_anim_walk_v4.blend // Using https://github.com/Beherith/Skeletor_S3O // this animation uses the static-var animFramesPerKeyframe which contains how many frames each keyframe takes -static-var maxSpeed, animFramesPerKeyframe, isMoving; +static-var maxSpeed, animFramesPerKeyframe, bMoving; Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\animation\armcom_anim_walk_v4.blend // (c) CC BY NC ND Beherith mysterme@gmail.com - set-signal-mask SIGNAL_MOVE; - if (isMoving) { //Frame:4 + set-signal-mask SIG_WALK; + if (bMoving) { //Frame:4 if (leftArm) turn biggun to x-axis <-48.215180> speed <113.735764> / animSpeed; //delta=-3.79 turn head to x-axis <-2.620635> speed <39.654598> / animSpeed; //delta=1.32 turn head to y-axis <-3.829846> speed <114.895376> / animSpeed; //delta=-3.83 @@ -30,7 +32,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn lthigh to z-axis <10.085981> speed <605.673206> / animSpeed; //delta=-20.19 turn lthigh to y-axis <15.046731> speed <118.088344> / animSpeed; //delta=3.94 if (leftArm) turn luparm to x-axis <9.919362> speed <279.367450> / animSpeed; //delta=9.31 - if (leftArm) turn luparm to z-axis <-12.399998> speed <114.0> / animSpeed; //delta=-3.80 + if (leftArm) turn luparm to z-axis <-12.399998> speed <114.000041> / animSpeed; //delta=-3.80 if (leftArm) turn luparm to y-axis <0.965138> speed <187.380006> / animSpeed; //delta=-6.25 turn pelvis to z-axis <-1.666667> speed <49.999997> / animSpeed; //delta=1.67 turn pelvis to y-axis <-2.296296> speed <68.888891> / animSpeed; //delta=-2.30 @@ -47,8 +49,8 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn aimy1 to y-axis <7.879434> speed <236.383029> / animSpeed; //delta=7.88 sleep ((33*animSpeed) -1); } - while(isMoving) { - if (isMoving) { //Frame:8 + while(bMoving) { + if (bMoving) { //Frame:8 if (leftArm) turn biggun to x-axis <-46.675856> speed <46.179694> / animSpeed; //delta=-1.54 turn head to x-axis <-1.563179> speed <31.723679> / animSpeed; //delta=-1.06 turn head to y-axis <-6.127755> speed <68.937274> / animSpeed; //delta=-2.30 @@ -75,7 +77,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn aimy1 to y-axis <13.926961> speed <181.425790> / animSpeed; //delta=6.05 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:12 + if (bMoving) { //Frame:12 if (leftArm) turn biggun to x-axis <-46.110552> speed <16.959121> / animSpeed; //delta=-0.57 turn head to x-axis <0.023005> speed <47.585527> / animSpeed; //delta=-1.59 turn head to y-axis <-7.659692> speed <45.958102> / animSpeed; //delta=-1.53 @@ -86,9 +88,9 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn lthigh to y-axis <14.540810> speed <93.704134> / animSpeed; //delta=-3.12 if (leftArm) turn luparm to x-axis <20.474264> speed <98.952127> / animSpeed; //delta=-3.30 if (leftArm) turn luparm to y-axis <5.388938> speed <71.821661> / animSpeed; //delta=2.39 - move pelvis to y-axis [-2.0] speed [18.888888] / animSpeed; //delta=-0.63 - turn pelvis to z-axis <-5.0> speed <27.777769> / animSpeed; //delta=0.93 - turn pelvis to y-axis <-6.0> speed <24.444453> / animSpeed; //delta=-0.81 + move pelvis to y-axis [-2.000000] speed [18.888888] / animSpeed; //delta=-0.63 + turn pelvis to z-axis <-5.000000> speed <27.777769> / animSpeed; //delta=0.93 + turn pelvis to y-axis <-6.000000> speed <24.444453> / animSpeed; //delta=-0.81 turn rfoot to x-axis <-34.556331> speed <305.131751> / animSpeed; //delta=10.17 turn rleg to x-axis <32.187523> speed <882.363941> / animSpeed; //delta=-29.41 if (rightArm) turn rloarm to x-axis <-64.499997> speed <87.888552> / animSpeed; //delta=2.93 @@ -102,7 +104,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn aimy1 to y-axis <15.758869> speed <54.957239> / animSpeed; //delta=1.83 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:16 + if (bMoving) { //Frame:16 if (leftArm) turn biggun to x-axis <-47.068049> speed <28.724907> / animSpeed; //delta=0.96 turn head to x-axis <-0.505722> speed <15.861819> / animSpeed; //delta=0.53 turn head to y-axis <-6.127755> speed <45.958102> / animSpeed; //delta=1.53 @@ -130,7 +132,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn aimy1 to y-axis <13.926961> speed <54.957239> / animSpeed; //delta=-1.83 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:20 + if (bMoving) { //Frame:20 if (leftArm) turn biggun to x-axis <-49.335727> speed <68.030323> / animSpeed; //delta=2.27 turn head to x-axis <-2.091907> speed <47.585562> / animSpeed; //delta=1.59 turn head to y-axis <-3.829846> speed <68.937274> / animSpeed; //delta=2.30 @@ -141,7 +143,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn lthigh to y-axis <8.321622> speed <266.996423> / animSpeed; //delta=-8.90 if (leftArm) turn luparm to x-axis <15.615877> speed <102.946916> / animSpeed; //delta=3.43 if (leftArm) turn luparm to y-axis <5.076670> speed <9.368019> / animSpeed; //delta=-0.31 - turn pelvis to z-axis <-2.0> speed <58.888879> / animSpeed; //delta=-1.96 + turn pelvis to z-axis <-2.000000> speed <58.888879> / animSpeed; //delta=-1.96 turn pelvis to y-axis <-2.772487> speed <67.619039> / animSpeed; //delta=2.25 turn rfoot to x-axis <-39.119034> speed <357.682424> / animSpeed; //delta=11.92 turn rleg to x-axis <104.636879> speed <789.433742> / animSpeed; //delta=-26.31 @@ -158,10 +160,10 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn aimy1 to y-axis <7.879434> speed <181.425790> / animSpeed; //delta=-6.05 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:24 + if (bMoving) { //Frame:24 if (leftArm) turn biggun to x-axis <-52.006372> speed <80.119348> / animSpeed; //delta=2.67 turn head to x-axis <-3.149363> speed <31.723676> / animSpeed; //delta=1.06 - turn head to y-axis <0.0> speed <114.895376> / animSpeed; //delta=3.83 + turn head to y-axis <0.000000> speed <114.895376> / animSpeed; //delta=3.83 turn lfoot to x-axis <-23.280778> speed <357.540911> / animSpeed; //delta=11.92 turn lleg to x-axis <46.510843> speed <277.878733> / animSpeed; //delta=9.26 turn lthigh to x-axis <-23.415420> speed <612.523459> / animSpeed; //delta=-20.42 @@ -169,9 +171,9 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn lthigh to y-axis <1.272165> speed <211.483711> / animSpeed; //delta=-7.05 if (leftArm) turn luparm to x-axis <11.452920> speed <124.888703> / animSpeed; //delta=4.16 if (leftArm) turn luparm to y-axis <3.308728> speed <53.038265> / animSpeed; //delta=-1.77 - move pelvis to y-axis [-2.0] speed [25.555551] / animSpeed; //delta=0.85 - turn pelvis to z-axis <-0.0> speed <60.0> / animSpeed; //delta=-2.00 - turn pelvis to y-axis <0.0> speed <83.174607> / animSpeed; //delta=2.77 + move pelvis to y-axis [-2.000000] speed [25.555551] / animSpeed; //delta=0.85 + turn pelvis to z-axis <-0.000000> speed <60.000006> / animSpeed; //delta=-2.00 + turn pelvis to y-axis <0.000000> speed <83.174607> / animSpeed; //delta=2.77 turn rfoot to x-axis <-45.278120> speed <184.772566> / animSpeed; //delta=6.16 turn rleg to x-axis <90.786697> speed <415.505474> / animSpeed; //delta=13.85 turn rleg to z-axis <0.843235> speed <24.355743> / animSpeed; //delta=-0.81 @@ -183,11 +185,11 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani if (rightArm) turn ruparm to x-axis <16.947865> speed <91.311783> / animSpeed; //delta=-3.04 if (rightArm) turn ruparm to y-axis <0.900000> speed <45.888888> / animSpeed; //delta=-1.53 turn aimy1 to x-axis <-4.594870> speed <18.402335> / animSpeed; //delta=0.61 - turn aimy1 to z-axis <-0.0> speed <61.681404> / animSpeed; //delta=2.06 - turn aimy1 to y-axis <0.0> speed <236.383029> / animSpeed; //delta=-7.88 + turn aimy1 to z-axis <-0.000000> speed <61.681404> / animSpeed; //delta=2.06 + turn aimy1 to y-axis <0.000000> speed <236.383029> / animSpeed; //delta=-7.88 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:28 + if (bMoving) { //Frame:28 if (leftArm) turn biggun to x-axis <-53.142724> speed <34.090567> / animSpeed; //delta=1.14 turn head to x-axis <-2.620635> speed <15.861851> / animSpeed; //delta=-0.53 turn head to y-axis <3.829846> speed <114.895376> / animSpeed; //delta=3.83 @@ -216,7 +218,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn aimy1 to y-axis <-7.879434> speed <236.383029> / animSpeed; //delta=-7.88 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:32 + if (bMoving) { //Frame:32 if (leftArm) turn biggun to x-axis <-55.253092> speed <63.311038> / animSpeed; //delta=2.11 turn head to x-axis <-1.563179> speed <31.723670> / animSpeed; //delta=-1.06 turn head to y-axis <6.127755> speed <68.937274> / animSpeed; //delta=2.30 @@ -242,7 +244,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn aimy1 to y-axis <-13.926961> speed <181.425790> / animSpeed; //delta=-6.05 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:36 + if (bMoving) { //Frame:36 if (leftArm) turn biggun to x-axis <-56.389444> speed <34.090567> / animSpeed; //delta=1.14 turn head to x-axis <0.023005> speed <47.585536> / animSpeed; //delta=-1.59 turn head to y-axis <7.659692> speed <45.958102> / animSpeed; //delta=1.53 @@ -253,12 +255,12 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn lthigh to y-axis <5.332458> speed <15.498655> / animSpeed; //delta=-0.52 if (leftArm) turn luparm to x-axis <-3.274263> speed <167.758466> / animSpeed; //delta=5.59 if (leftArm) turn luparm to y-axis <-6.556594> speed <45.333998> / animSpeed; //delta=-1.51 - move pelvis to y-axis [-2.0] speed [25.555555] / animSpeed; //delta=-0.85 - turn pelvis to z-axis <5.0> speed <31.089813> / animSpeed; //delta=-1.04 - turn pelvis to y-axis <6.0> speed <29.200275> / animSpeed; //delta=0.97 + move pelvis to y-axis [-2.000000] speed [25.555555] / animSpeed; //delta=-0.85 + turn pelvis to z-axis <5.000000> speed <31.089813> / animSpeed; //delta=-1.04 + turn pelvis to y-axis <6.000000> speed <29.200275> / animSpeed; //delta=0.97 turn rfoot to x-axis <4.673420> speed <156.586261> / animSpeed; //delta=-5.22 turn rleg to x-axis <17.968366> speed <112.905793> / animSpeed; //delta=3.76 - if (rightArm) turn rloarm to x-axis <-38.0> speed <43.722158> / animSpeed; //delta=-1.46 + if (rightArm) turn rloarm to x-axis <-38.000000> speed <43.722158> / animSpeed; //delta=-1.46 turn rthigh to x-axis <-40.972853> speed <227.481055> / animSpeed; //delta=-7.58 turn rthigh to z-axis <-12.483621> speed <13.132763> / animSpeed; //delta=-0.44 turn rthigh to y-axis <-18.495587> speed <4.624260> / animSpeed; //delta=-0.15 @@ -269,7 +271,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn aimy1 to y-axis <-15.758869> speed <54.957239> / animSpeed; //delta=-1.83 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:40 + if (bMoving) { //Frame:40 if (leftArm) turn biggun to x-axis <-55.431951> speed <28.724805> / animSpeed; //delta=-0.96 turn head to x-axis <-0.505722> speed <15.861819> / animSpeed; //delta=0.53 turn head to y-axis <6.127755> speed <45.958102> / animSpeed; //delta=-1.53 @@ -298,7 +300,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn aimy1 to y-axis <-13.926961> speed <54.957239> / animSpeed; //delta=1.83 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:44 + if (bMoving) { //Frame:44 if (leftArm) turn biggun to x-axis <-53.164273> speed <68.030323> / animSpeed; //delta=-2.27 turn head to x-axis <-2.091907> speed <47.585562> / animSpeed; //delta=1.59 turn head to y-axis <3.829846> speed <68.937274> / animSpeed; //delta=-2.30 @@ -326,10 +328,10 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn aimy1 to y-axis <-7.879434> speed <181.425790> / animSpeed; //delta=6.05 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:48 + if (bMoving) { //Frame:48 if (leftArm) turn biggun to x-axis <-50.493628> speed <80.119348> / animSpeed; //delta=-2.67 turn head to x-axis <-3.149363> speed <31.723676> / animSpeed; //delta=1.06 - turn head to y-axis <0.0> speed <114.895376> / animSpeed; //delta=-3.83 + turn head to y-axis <0.000000> speed <114.895376> / animSpeed; //delta=-3.83 turn lfoot to x-axis <-44.880435> speed <188.924672> / animSpeed; //delta=6.30 turn lleg to x-axis <90.690391> speed <407.363547> / animSpeed; //delta=13.58 turn lleg to z-axis <-1.028354> speed <29.811568> / animSpeed; //delta=0.99 @@ -339,9 +341,9 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn lthigh to y-axis <9.180887> speed <243.372656> / animSpeed; //delta=8.11 if (leftArm) turn luparm to x-axis <2.662867> speed <125.339441> / animSpeed; //delta=-4.18 if (leftArm) turn luparm to y-axis <-1.793232> speed <71.050921> / animSpeed; //delta=2.37 - move pelvis to y-axis [-2.0] speed [25.555551] / animSpeed; //delta=0.85 - turn pelvis to z-axis <-0.0> speed <62.666668> / animSpeed; //delta=2.09 - turn pelvis to y-axis <0.0> speed <86.222221> / animSpeed; //delta=-2.87 + move pelvis to y-axis [-2.000000] speed [25.555551] / animSpeed; //delta=0.85 + turn pelvis to z-axis <-0.000000> speed <62.666668> / animSpeed; //delta=2.09 + turn pelvis to y-axis <0.000000> speed <86.222221> / animSpeed; //delta=-2.87 turn rfoot to x-axis <-23.519080> speed <364.135724> / animSpeed; //delta=12.14 turn rleg to x-axis <46.484300> speed <278.590678> / animSpeed; //delta=9.29 if (rightArm) turn rloarm to x-axis <-53.199999> speed <206.555576> / animSpeed; //delta=6.89 @@ -351,11 +353,11 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani if (rightArm) turn ruparm to x-axis <23.351554> speed <90.983396> / animSpeed; //delta=3.03 if (rightArm) turn ruparm to y-axis <0.479402> speed <36.051284> / animSpeed; //delta=1.20 turn aimy1 to x-axis <-4.594870> speed <18.402335> / animSpeed; //delta=0.61 - turn aimy1 to z-axis <-0.0> speed <64.422792> / animSpeed; //delta=-2.15 - turn aimy1 to y-axis <0.0> speed <236.383029> / animSpeed; //delta=7.88 + turn aimy1 to z-axis <-0.000000> speed <64.422792> / animSpeed; //delta=-2.15 + turn aimy1 to y-axis <0.000000> speed <236.383029> / animSpeed; //delta=7.88 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:52 + if (bMoving) { //Frame:52 if (leftArm) turn biggun to x-axis <-48.215180> speed <68.353460> / animSpeed; //delta=-2.28 turn head to x-axis <-2.620635> speed <15.861851> / animSpeed; //delta=-0.53 turn head to y-axis <-3.829846> speed <114.895376> / animSpeed; //delta=-3.83 @@ -386,38 +388,38 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani } } } -// Call this from StopMoving()! +// Call this from MotionControl()! StopWalking() { - move pelvis to y-axis [-1.0] speed [6.944444]; + move pelvis to y-axis [-1.000000] speed [6.944444]; if (leftArm) turn biggun to x-axis <-52.006372> speed <28.433941>; turn head to x-axis <-1.298815> speed <11.896390>; - turn head to y-axis <0.0> speed <28.723844>; + turn head to y-axis <0.000000> speed <28.723844>; turn lfoot to x-axis <2.870126> speed <274.263975>; turn lleg to x-axis <22.425678> speed <349.693872>; - turn lleg to y-axis <0.0> speed <7.922289>; - turn lleg to z-axis <0.0> speed <7.923996>; + turn lleg to y-axis <0.000000> speed <7.922289>; + turn lleg to z-axis <0.000000> speed <7.923996>; turn lthigh to x-axis <-21.115098> speed <255.919901>; turn lthigh to y-axis <11.110453> speed <66.749106>; turn lthigh to z-axis <-10.103126> speed <151.418301>; if (leftArm) turn luparm to x-axis <19.231610> speed <69.841862>; if (leftArm) turn luparm to y-axis <7.211138> speed <46.845002>; if (leftArm) turn luparm to z-axis <-16.200000> speed <28.500010>; - turn pelvis to y-axis <0.0> speed <21.666665>; - turn pelvis to z-axis <0.0> speed <18.055557>; + turn pelvis to y-axis <0.000000> speed <21.666665>; + turn pelvis to z-axis <0.000000> speed <18.055557>; turn rfoot to x-axis <0.415283> speed <248.713120>; turn rleg to x-axis <25.768060> speed <346.011740>; - turn rleg to y-axis <0.0> speed <6.521982>; - turn rleg to z-axis <0.0> speed <6.524652>; + turn rleg to y-axis <0.000000> speed <6.521982>; + turn rleg to z-axis <0.000000> speed <6.524652>; if (rightArm) turn rloarm to x-axis <-53.199995> speed <51.638894>; turn rthigh to x-axis <-21.950628> speed <255.149679>; turn rthigh to y-axis <-11.905752> speed <66.515336>; turn rthigh to z-axis <9.396449> speed <151.125663>; if (rightArm) turn ruparm to x-axis <24.693159> speed <39.648544>; - if (rightArm) turn ruparm to y-axis <0.0> speed <31.089853>; + if (rightArm) turn ruparm to y-axis <0.000000> speed <31.089853>; if (rightArm) turn ruparm to z-axis <12.399998> speed <-7.153845>; turn aimy1 to x-axis <-2.263907> speed <15.181924>; - turn aimy1 to y-axis <0.0> speed <59.095757>; - turn aimy1 to z-axis <0.0> speed <18.561539>; + turn aimy1 to y-axis <0.000000> speed <59.095757>; + turn aimy1 to z-axis <0.000000> speed <18.561539>; } // REMEMBER TO animspeed = 4 in Create() !! UnitSpeed(){ @@ -434,16 +436,16 @@ UnitSpeed(){ sleep 131; } } -StartMoving(reversing){ - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; - isMoving=TRUE; +StartMoving(){ + signal SIG_WALK; + set-signal-mask SIG_WALK; + bMoving=TRUE; start-script Walk(); start-script UnitSpeed(); } StopMoving(){ - signal SIGNAL_MOVE; - isMoving = FALSE; + signal SIG_WALK; + bMoving = FALSE; call-script StopWalking(); } @@ -454,7 +456,7 @@ AmIBored() { //return isAiming == false and isBuilding == false and isMoving == false if (isAiming == 0){ if (isBuilding == 0 ){ - if (isMoving == 0){ + if (bMoving == 0){ return (1); } } @@ -479,13 +481,13 @@ Create(){ hide hatpoint; hide aimy1; hide teleport; - //turn rloarm to x-axis <-15> speed <130.0> ; //-- Turn(rloarm, x-axis, math.rad(-15),math.rad(130)) + //turn rloarm to x-axis <-15> speed <130.0000> ; //-- Turn(rloarm, x-axis, math.rad(-15),math.rad(130)) turn lflare to x-axis <90> now; // Turn(lflare, x-axis,math.rad(90)) turn nano to x-axis <90> now; //Turn(nano, x-axis,math.rad(90)) turn laserflare to x-axis <90> now; // Turn(laserflare, x-axis,math.rad(90)) spin dish around y-axis speed <100>; //Spin(dish, y-axis, 2.5) animSpeed = 4; - isMoving = 0; + bMoving = 0; isAiming = 0; isBuilding = 0; isAimingDgun = 0; @@ -496,29 +498,29 @@ Create(){ call-script StopWalking(); } -QueryNanoPiece(pieceIndex) +QueryNanoPiece(piecenum) { - pieceIndex = nano; + piecenum = nano; return (0); } RestoreAfterDelay(){ - set-signal-mask SIGNAL_AIM1; + set-signal-mask SIG_AIM; sleep 1000; - turn torso to y-axis <0> speed <105.0> ; //-- Turn(torso, y-axis, 0, math.rad(305)) + turn torso to y-axis <0> speed <105.0000> ; //-- Turn(torso, y-axis, 0, math.rad(305)) - turn biggun to x-axis <-38> speed <95.0> ; //-- Turn(biggun, x-axis, math.rad(-38), math.rad(95)) - turn luparm to x-axis <0> speed <95.0> ; //-- Turn(luparm, x-axis, 0, math.rad(95)) - turn rloarm to x-axis <-38> speed <95.0> ; - turn rloarm to y-axis <0> speed <95.0> ; //-- Turn(rloarm, x-axis, math.rad(-38), math.rad(95)) - turn ruparm to x-axis <0> speed <95.0> ; //-- Turn(ruparm, x-axis, 0, math.rad(95)) - spin barrelr around y-axis speed <600.0>; + turn biggun to x-axis <-38> speed <95.0000> ; //-- Turn(biggun, x-axis, math.rad(-38), math.rad(95)) + turn luparm to x-axis <0> speed <95.0000> ; //-- Turn(luparm, x-axis, 0, math.rad(95)) + turn rloarm to x-axis <-38> speed <95.0000> ; + turn rloarm to y-axis <0> speed <95.0000> ; //-- Turn(rloarm, x-axis, math.rad(-38), math.rad(95)) + turn ruparm to x-axis <0> speed <95.0000> ; //-- Turn(ruparm, x-axis, 0, math.rad(95)) + spin barrelr around y-axis speed <600.000000>; sleep 200; - spin barrelr around y-axis speed <300.0>; + spin barrelr around y-axis speed <300.000000>; sleep 100; - spin barrelr around y-axis speed <150.0>; + spin barrelr around y-axis speed <150.000000>; sleep 50; stop-spin barrelr around y-axis; isAiming = 0; @@ -533,8 +535,8 @@ ResumeBuilding() sleep 800; if( isBuilding AND ( !isAiming ) ) { - turn torso to y-axis buildHeading speed <150.0>; - turn luparm to x-axis <-55.0> - buildPitch speed <45.0>; + turn torso to y-axis buildHeading speed <150.000000>; + turn luparm to x-axis <-55.000000> - buildPitch speed <45.000000>; } return (0); } @@ -544,33 +546,37 @@ ResumeBuilding() //--gun functions; //----------------------------------------------------------------------- - +SweetSpot(piecenum) +{ + piecenum = torso; + return (0); +} /////////// pew pew laser -QueryWeapon1(pieceIndex) //pew laser +QueryPrimary(piecenum) //pew laser { - pieceIndex = flare; + piecenum = flare; return (0); } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = ruparm; + piecenum = ruparm; return (0); } -AimWeapon1(heading, pitch) //pew pew +AimPrimary(heading, pitch) //pew pew { if (isAimingDgun){ return (0); } rightarm = 0; //call-script FixArms(0, 1); - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; - turn torso to y-axis heading speed <500.0> ; //-- Turn(torso, y-axis, heading, math.rad(300)) - turn rloarm to x-axis <-55> speed <390.0> ; //-- Turn(rloarm, x-axis, math.rad(-55), math.rad(390)) - turn rloarm to y-axis <10> speed <390.0>; - turn ruparm to x-axis <-40> - pitch speed <390.0> ; //-- Turn(ruparm, x-axis, math.rad(-45) - pitch, math.rad(390)) + signal SIG_AIM; + set-signal-mask SIG_AIM; + turn torso to y-axis heading speed <500.0000> ; //-- Turn(torso, y-axis, heading, math.rad(300)) + turn rloarm to x-axis <-55> speed <390.0000> ; //-- Turn(rloarm, x-axis, math.rad(-55), math.rad(390)) + turn rloarm to y-axis <10> speed <390.0000>; + turn ruparm to x-axis <-40> - pitch speed <390.0000> ; //-- Turn(ruparm, x-axis, math.rad(-45) - pitch, math.rad(390)) wait-for-turn torso around y-axis; //wait-for-turn rloarm around x-axis; //wait-for-turn ruparm around x-axis; @@ -583,27 +589,27 @@ AimWeapon1(heading, pitch) //pew pew return (1); } -FireWeapon1() +FirePrimary() { emit-sfx 1024 + 0 from flare; - spin barrelr around y-axis speed <900.0>; + spin barrelr around y-axis speed <900.000000>; } /////////// uw weapon -QueryWeapon2(pieceIndex) //uw weapon +QuerySecondary(piecenum) //uw weapon { - pieceIndex = flare; + piecenum = flare; return (0); } -AimFromWeapon2(pieceIndex) +AimFromSecondary(piecenum) { - pieceIndex = flare; + piecenum = flare; return (0); } -AimWeapon2(heading, pitch) +AimSecondary(heading, pitch) { if( get PIECE_Y(head) > 0 ) { @@ -618,11 +624,11 @@ AimWeapon2(heading, pitch) } rightarm = 0; //call-script FixArms(0, 1); - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; - turn torso to y-axis heading speed <300.0> ; //-- Turn(torso, y-axis, heading, math.rad(300)) - turn rloarm to x-axis <-55> speed <390.0> ; //-- Turn(rloarm, x-axis, math.rad(-55), math.rad(390)) - turn ruparm to x-axis <-40> - pitch speed <390.0> ; //-- Turn(ruparm, x-axis, math.rad(-45) - pitch, math.rad(390)) + signal SIG_AIM; + set-signal-mask SIG_AIM; + turn torso to y-axis heading speed <300.0000> ; //-- Turn(torso, y-axis, heading, math.rad(300)) + turn rloarm to x-axis <-55> speed <390.0000> ; //-- Turn(rloarm, x-axis, math.rad(-55), math.rad(390)) + turn ruparm to x-axis <-40> - pitch speed <390.0000> ; //-- Turn(ruparm, x-axis, math.rad(-45) - pitch, math.rad(390)) wait-for-turn torso around y-axis; //wait-for-turn rloarm around x-axis; //wait-for-turn ruparm around x-axis; @@ -635,25 +641,25 @@ AimWeapon2(heading, pitch) return (1); } -FireWeapon2() +FireSecondary() { sleep 100; return (0); } -QueryWeapon3(pieceIndex) //dgun +QueryTertiary(piecenum) //dgun { - pieceIndex = lflare; + piecenum = lflare; return (0); } -AimFromWeapon3(pieceIndex) +AimFromTertiary(piecenum) { - pieceIndex = biggun; + piecenum = biggun; return (0); } -FireWeapon3() +FireTertiary() { //emit-sfx 1024 + 0 from lflare; isAimingDgun = 0; @@ -669,31 +675,31 @@ FireWeapon3() return (0); } -AimWeapon3(heading, pitch) +AimTertiary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; isAimingDgun = 1; isAiming = 1; leftArm = 0; //call-script FixArms(1, 0); - turn torso to y-axis heading speed <360.0> ; //-- Turn(torso, y-axis, heading, math.rad(300)) - turn biggun to x-axis <-85> speed <390.0> ; //-- Turn(biggun, x-axis, math.rad(-85), math.rad(390)) - turn luparm to x-axis <5> - pitch speed <390.0> ; //-- Turn(luparm, x-axis, math.rad(-5) - pitch, math.rad(390)) + turn torso to y-axis heading speed <360.0000> ; //-- Turn(torso, y-axis, heading, math.rad(300)) + turn biggun to x-axis <-85> speed <390.0000> ; //-- Turn(biggun, x-axis, math.rad(-85), math.rad(390)) + turn luparm to x-axis <5> - pitch speed <390.0000> ; //-- Turn(luparm, x-axis, math.rad(-5) - pitch, math.rad(390)) wait-for-turn torso around y-axis; //wait-for-turn biggun around x-axis; return (1); } -QueryWeapon4(pieceIndex) //ferret +QueryWeapon4(piecenum) //ferret { - pieceIndex = misflare; + piecenum = misflare; return (0); } -AimFromWeapon4(pieceIndex) +AimFromWeapon4(piecenum) { - pieceIndex = turretmis; + piecenum = turretmis; return (0); } @@ -705,17 +711,17 @@ FireWeapon4() AimWeapon4(heading, pitch) { - signal SIGNAL_AIM2; - set-signal-mask SIGNAL_AIM2; - turn turretmis to y-axis heading speed <250.0>; - turn misbox to x-axis <0> - pitch speed <200.0>; + signal SIG_AIM_2; + set-signal-mask SIG_AIM_2; + turn turretmis to y-axis heading speed <250.000000>; + turn misbox to x-axis <0> - pitch speed <200.000000>; wait-for-turn turretmis around y-axis; wait-for-turn misbox around x-axis; return (1); } SprayNano(heading, pitch){ - set-signal-mask SIGNAL_AIM1; + set-signal-mask SIG_AIM; sleep 1000; while (1){ @@ -729,15 +735,15 @@ SprayNano(heading, pitch){ StartBuilding(heading, pitch) { - signal SIGNAL_AIM1; - //set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + //set-signal-mask SIG_AIM; isBuilding = 1; rightArm = 0; - //turn torso to x-axis <0> speed <395.0> ; //-- Turn(torso, x-axis, 0, math.rad(395)) - //turn pelvis to x-axis <0> speed <395.0> ; //-- Turn(pelvis, x-axis, 0, math.rad(395)) - turn torso to y-axis heading speed <300.0> ; //-- Turn(torso, y-axis, heading, math.rad(300)) - turn rloarm to x-axis <-40> speed <390.0> ; //-- Turn(rloarm, x-axis, math.rad(-55), math.rad(390)) - turn ruparm to x-axis <-55> -pitch speed <390.0> ; //-- Turn(ruparm, x-axis, math.rad(-55) - pitch, math.rad(390)) + //turn torso to x-axis <0> speed <395.0000> ; //-- Turn(torso, x-axis, 0, math.rad(395)) + //turn pelvis to x-axis <0> speed <395.0000> ; //-- Turn(pelvis, x-axis, 0, math.rad(395)) + turn torso to y-axis heading speed <300.0000> ; //-- Turn(torso, y-axis, heading, math.rad(300)) + turn rloarm to x-axis <-40> speed <390.0000> ; //-- Turn(rloarm, x-axis, math.rad(-55), math.rad(390)) + turn ruparm to x-axis <-55> -pitch speed <390.0000> ; //-- Turn(ruparm, x-axis, math.rad(-55) - pitch, math.rad(390)) wait-for-turn ruparm around x-axis; set INBUILDSTANCE to 1; @@ -747,13 +753,25 @@ StartBuilding(heading, pitch) return (0); } + + + +TargetCleared(Func_Var_1) +{ + signal SIG_AIM; + set-signal-mask SIG_AIM; + call-script RestoreAfterDelay(); + return (0); +} + + StopBuilding() { rightArm = 1; isBuilding = 0; set INBUILDSTANCE to 0; - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; call-script RestoreAfterDelay(); return (0); } diff --git a/scripts/Units/legcomoff.cob b/scripts/Units/legcomoff.cob index d73e88257e70149602ef41bd548c5d2e73cb10ba..c339278e8d0776ae076dc913593bdb51ff8fc5d2 100644 GIT binary patch delta 4205 zcma)<4RBP|702IMHpwRBW0$)RHrXU($;aE6K(fKGftQ#>AV`*E6Tm{m7I zzq|Ln`*qH}=bU@?FMH^#Uy;YGC`uNS!Aup3GLe7fvwxAIxa;_rDdhL`dPO0t$!hNQ z6wv$K%{t}4HA&E6geHsb6K=WzfgGXkJ!w+R+$~PdQ8mFThrA3M33>&&q^Y|OlcBu; z0n+FXXiRX%xAHJK<}n;19~I*wdFg3*OoAT7e3M2OvB@Q<1)EGl-I{7#D}VzgU;bU! zD27#1-yI%iO|3CfGJfPL&mv=jriPv{_Fjpm3HPYGbB!%k7?|KEFRIOglCY^%;8ydk z)QhlLqiqOJ)yM=_j84nZ%w-#P$7u90e-Zg_S$J8NKyI;VM1r@y#uc_>DCQB?eP^s+ zZM+nfI$ri48M7M~V>Rl7E6z&^2*(Lk?=|XX!lpPu&thks&Ju;=ylU?%<63`1hNXp8 zVQ;aZSJ7?J>0fx$vW$|E8?Uieb@6_6@St&AIzrt3GyIjyHJ}7R3#E>5Cu~+zW*YnV zq9;M8mtZRtuuino&7f3)GOqQbZeoi%-ihU*XQECQFf>u){vO`xvcwz7Ea#wia3E2m zyAV#)%)gtUC}=3mK~~aoT8-)yfvrh)s=?kQKMi6aX&pU-)?|$e(Vgt02hf+il3tem zD%Om%y%!%divRm_(G5=KBan|Yousry^{y`sk+^ za0`53&EaDsn^2ph&S#ZBqldeP)zj#CG}`1*Y_lz+W@+*mwAs~Omr=6K5igV`$6jb> zwVEesYEiAx%YGa2!hcG8q0{JL*L@M5X@c$avq>7Ag-xtb_s1F+_$8m5U~AhcG@2Cg zJ`2J^%lCX_+>&yS(IZ#FW!ESM3+=v&BX=9;PZ`HA&E>{XdQ9Rv_yPbA=58Y0UcHucL7ve*wrdD5$3Ntnal}5&I;qCC6 zu8l>qD-D~|i>U+0({=WzfplGc<$`e+5>TC?tJ@|STP~qHLnFd-8D8GSfefLp=r{Iy z7pa+B=+D@jnVo-cj!B}{HJF2|(dd{#Q`Ly{|-^5Ai;q=&H6rBgk^t}W_K zGmIjJ(KfAxcHqrvUh{qy3R$H&(O`8L&&ts;-Kx?T)r zuVZ_=Jx5cOah#(BA#RDiXgoA?JfvBY6jX`7P=fxkJN>Rk4n}TVImu z(CY|ZrO{Sw<1!J)x!jMwt9^s;>Cr6g;2z`bXZfaa#+M{TJ?gNG$EMv@dD;(^E~hupRH{WHF^ut-FJd+Ht#Qgo zipjPpfOW^DFWsl9WIt&y}D=e%~A zZIt~ufo?3*D1h~4|9`T)4*g|1twjFpM@S~Yf-|Z9Obvx*`w!CLvN?CqEQIEG&8zL4 zn4OsHfLSl2y{OPD=`uFx-uSl$M?4o~5;&z_O?8MV-xwc065VYdwv{`n5eLeVv9Kum z?SXHjW8}GwCQI#Ts<4Kg|3si<8`+i|GY zDLZc4il|k2%J?#JtYD$9&EVGO>O|u`@Z0hpAv{nI@y_cISOPclz2 zPcz4v=lvTM@)jAoG+5Nx)jDSA(%{Iu i?EL);3o}~B;rc~MO9P#^1iR+m77TO-SK(rP-+uuqQOfTC delta 4093 zcma)<3viUx7017`*(AG=$A-I?Wb-mh622@1vPp;=`4UY=36cah0V|+D*zy>uyu#=p zPM9ard8vg0RjgRj5-nhmke<66bm7ZPyEDJL z-{!lIbIv{Ie{a5ijZVEvg;q_|GMNk}T4>rp{#KugT20%-c*kp6KL6gz-{i13sI_o7 zooStJP&V9y1nod@uxQOESiEJChvnb(?$HcO4C>3+?$ zO3KH*y;_#$h*p;IN3F648Bw}?`xSHV*_ax<<`6zo|r5l%GmbX%&=!mJ)#{tWVHM zbXav-i;jDAih?`Z;CM{ub|E%K>$HLYB0R@!yewOwLTu@?;Dpb-!aDRsZ(!fo$M|L4 z&9K#W)xU4dCUnQ>^f$O;eKZgqu|keMVfHNwEwO_3V12B?7Inn>DG|ALoxK`w_si~W=5ZMa^803d!tDak072EtN8}AyDILY;{wL8s zz@U9d$`^19bW#B15-8=Te_{N<2HD?^<)VF{LD$hUQ0M-I9O=@yX%wyIpi^jz({aEX zhcj{M*55{H8tU?MkQG0L=A$xE;DvZ6jm4IDKXs!kekr|+c?mj=Kx;w`J&&^qv*<(B zuY5s20lu->?7&->!y!)KO;8_|KHX?dR2A@gqCuB%A+bh&aooHS7g6aj$cyEU8hR34 zc>-q~IlOU{B;*WLew-5O>-P4(#t!QAKI)UyW~@n?tkT^r@NJS)o^+cnTM?>5m2_N( zPIhbhAYFQ^&2{!>s183@8N=~w=i>bUg+l~q>ZL(C{S!&zaoHAQUSKoto#1?1FLV;2 z`in(}&^_MI%^@i-G}q*8xScx1V4Sn2JlJHOKcSz>j4m_JQ-ThspZ*QE%w}u5h6u}N zc4XR8@s#wEikhI|Dv@zSzC_m$7_17iu}}|bl%Jm|Sx^#WvQCeoJlRiQqA)$p{uL{N z+RZ}}I-SGpnhUo%I+j>-%}t{r54^Br0)i(V(cxYt z8%CN)H{iu z?4@)cp3c!F^;03m2=bfgZu6c+hxY6+DA#A**2611+$r`S@oAx^HB`c2ajx_GeBPE@ zCnqg3J1_}JLj{dN?$8E$53L@7mxq>dswlPka_BTmAQ2> zg#4j6ruXTt+|XCdk?xH}eV(80!InHB$99IDNQ`j*6&%bnI70%4U|r-j=_0!B6{zs! zdA@nXZ0)DtnFHZaR$J$D@L!Bc!9I^o203BwzKWc{Sx0yi+q031HW>IvbWrV>qz0d7Lbr4IVpW}BO z+#?(4GFnE~&}0Po5I#S$j4F^(&_F>fFVN{Zyk6j^U*T$jPfjc`NA6Fk^wvbGtZd9P z_gaR7-sX_@3YprccafR!gC6VHS6C*Wt>84^^DizU8;X!rw3M!5b&)zWfvd>9&Q0d**==xHfW@1_C z|9@qE2A!n_&4%Z`4WzEZf^SounL6^V&O0u}rK6uAAA+NO*7;7pob4N&0;^GqDTWhu zMn3gmx#6>SeA`#ZAdA2;V-!t5bXl|gFFV8WuEmyRKEfNAw>AAAB7757lxmEqf?CA+%WER2t!}hyK9&7#LH4&12r76{xS$ zQCF3MUsPG?rTzx&ui8X^-W3?@qr0biy%3g%&^j+x9XW41D%F*nsS z|L@qw>}Eb-4l}35Yt7m@e)xj9%EV64w82a^Q^b@r+EqGRY?cziL+{I&R{|IB{@AknIJ diff --git a/scripts/Units/legcomt2com.bos b/scripts/Units/legcomt2com.bos index ed95eb7ec19..478505d6889 100644 --- a/scripts/Units/legcomt2com.bos +++ b/scripts/Units/legcomt2com.bos @@ -1,5 +1,7 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" //INCREMENT THIS COUNTER FOR EVERY HOUR OF YOUR LIFE WASTED HERE: 20 @@ -10,19 +12,19 @@ piece head, torso, luparm, biggun, ruparm,rloarm,lflare, nano, laserflare, pelvi static-var fire_count, miniguncount, isAiming, isBuilding, isAimingDgun, buildHeading, buildPitch, leftArm, rightArm,animSpeed; // Signal definitions -#define SIGNAL_AIM1 256 -#define SIGNAL_MOVE 1 -#define SIGNAL_AIM2 512 -#define SIGNAL_AIM3 1024 +#define SIG_AIM 2 +#define SIG_WALK 4 +#define SIG_AIM_2 8 +#define SIG_AIM_3 16 // Generated for D:\spring\animation\armcom_anim_walk_v4.blend // Using https://github.com/Beherith/Skeletor_S3O // this animation uses the static-var animFramesPerKeyframe which contains how many frames each keyframe takes -static-var maxSpeed, animFramesPerKeyframe, isMoving; +static-var maxSpeed, animFramesPerKeyframe, bMoving; Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\animation\armcom_anim_walk_v4.blend // (c) CC BY NC ND Beherith mysterme@gmail.com - set-signal-mask SIGNAL_MOVE; - if (isMoving) { //Frame:4 + set-signal-mask SIG_WALK; + if (bMoving) { //Frame:4 if (leftArm) turn biggun to x-axis <-48.215180> speed <113.735764> / animSpeed; //delta=-3.79 turn head to x-axis <-2.620635> speed <39.654598> / animSpeed; //delta=1.32 turn head to y-axis <-3.829846> speed <114.895376> / animSpeed; //delta=-3.83 @@ -32,7 +34,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn lthigh to z-axis <10.085981> speed <605.673206> / animSpeed; //delta=-20.19 turn lthigh to y-axis <15.046731> speed <118.088344> / animSpeed; //delta=3.94 if (leftArm) turn luparm to x-axis <9.919362> speed <279.367450> / animSpeed; //delta=9.31 - if (leftArm) turn luparm to z-axis <-12.399998> speed <114.0> / animSpeed; //delta=-3.80 + if (leftArm) turn luparm to z-axis <-12.399998> speed <114.000041> / animSpeed; //delta=-3.80 if (leftArm) turn luparm to y-axis <0.965138> speed <187.380006> / animSpeed; //delta=-6.25 turn pelvis to z-axis <-1.666667> speed <49.999997> / animSpeed; //delta=1.67 turn pelvis to y-axis <-2.296296> speed <68.888891> / animSpeed; //delta=-2.30 @@ -49,8 +51,8 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn aimy1 to y-axis <7.879434> speed <236.383029> / animSpeed; //delta=7.88 sleep ((33*animSpeed) -1); } - while(isMoving) { - if (isMoving) { //Frame:8 + while(bMoving) { + if (bMoving) { //Frame:8 if (leftArm) turn biggun to x-axis <-46.675856> speed <46.179694> / animSpeed; //delta=-1.54 turn head to x-axis <-1.563179> speed <31.723679> / animSpeed; //delta=-1.06 turn head to y-axis <-6.127755> speed <68.937274> / animSpeed; //delta=-2.30 @@ -77,7 +79,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn aimy1 to y-axis <13.926961> speed <181.425790> / animSpeed; //delta=6.05 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:12 + if (bMoving) { //Frame:12 if (leftArm) turn biggun to x-axis <-46.110552> speed <16.959121> / animSpeed; //delta=-0.57 turn head to x-axis <0.023005> speed <47.585527> / animSpeed; //delta=-1.59 turn head to y-axis <-7.659692> speed <45.958102> / animSpeed; //delta=-1.53 @@ -88,9 +90,9 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn lthigh to y-axis <14.540810> speed <93.704134> / animSpeed; //delta=-3.12 if (leftArm) turn luparm to x-axis <20.474264> speed <98.952127> / animSpeed; //delta=-3.30 if (leftArm) turn luparm to y-axis <5.388938> speed <71.821661> / animSpeed; //delta=2.39 - move pelvis to y-axis [-2.0] speed [18.888888] / animSpeed; //delta=-0.63 - turn pelvis to z-axis <-5.0> speed <27.777769> / animSpeed; //delta=0.93 - turn pelvis to y-axis <-6.0> speed <24.444453> / animSpeed; //delta=-0.81 + move pelvis to y-axis [-2.000000] speed [18.888888] / animSpeed; //delta=-0.63 + turn pelvis to z-axis <-5.000000> speed <27.777769> / animSpeed; //delta=0.93 + turn pelvis to y-axis <-6.000000> speed <24.444453> / animSpeed; //delta=-0.81 turn rfoot to x-axis <-34.556331> speed <305.131751> / animSpeed; //delta=10.17 turn rleg to x-axis <32.187523> speed <882.363941> / animSpeed; //delta=-29.41 if (rightArm) turn rloarm to x-axis <-64.499997> speed <87.888552> / animSpeed; //delta=2.93 @@ -104,7 +106,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn aimy1 to y-axis <15.758869> speed <54.957239> / animSpeed; //delta=1.83 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:16 + if (bMoving) { //Frame:16 if (leftArm) turn biggun to x-axis <-47.068049> speed <28.724907> / animSpeed; //delta=0.96 turn head to x-axis <-0.505722> speed <15.861819> / animSpeed; //delta=0.53 turn head to y-axis <-6.127755> speed <45.958102> / animSpeed; //delta=1.53 @@ -132,7 +134,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn aimy1 to y-axis <13.926961> speed <54.957239> / animSpeed; //delta=-1.83 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:20 + if (bMoving) { //Frame:20 if (leftArm) turn biggun to x-axis <-49.335727> speed <68.030323> / animSpeed; //delta=2.27 turn head to x-axis <-2.091907> speed <47.585562> / animSpeed; //delta=1.59 turn head to y-axis <-3.829846> speed <68.937274> / animSpeed; //delta=2.30 @@ -143,7 +145,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn lthigh to y-axis <8.321622> speed <266.996423> / animSpeed; //delta=-8.90 if (leftArm) turn luparm to x-axis <15.615877> speed <102.946916> / animSpeed; //delta=3.43 if (leftArm) turn luparm to y-axis <5.076670> speed <9.368019> / animSpeed; //delta=-0.31 - turn pelvis to z-axis <-2.0> speed <58.888879> / animSpeed; //delta=-1.96 + turn pelvis to z-axis <-2.000000> speed <58.888879> / animSpeed; //delta=-1.96 turn pelvis to y-axis <-2.772487> speed <67.619039> / animSpeed; //delta=2.25 turn rfoot to x-axis <-39.119034> speed <357.682424> / animSpeed; //delta=11.92 turn rleg to x-axis <104.636879> speed <789.433742> / animSpeed; //delta=-26.31 @@ -160,10 +162,10 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn aimy1 to y-axis <7.879434> speed <181.425790> / animSpeed; //delta=-6.05 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:24 + if (bMoving) { //Frame:24 if (leftArm) turn biggun to x-axis <-52.006372> speed <80.119348> / animSpeed; //delta=2.67 turn head to x-axis <-3.149363> speed <31.723676> / animSpeed; //delta=1.06 - turn head to y-axis <0.0> speed <114.895376> / animSpeed; //delta=3.83 + turn head to y-axis <0.000000> speed <114.895376> / animSpeed; //delta=3.83 turn lfoot to x-axis <-23.280778> speed <357.540911> / animSpeed; //delta=11.92 turn lleg to x-axis <46.510843> speed <277.878733> / animSpeed; //delta=9.26 turn lthigh to x-axis <-23.415420> speed <612.523459> / animSpeed; //delta=-20.42 @@ -171,9 +173,9 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn lthigh to y-axis <1.272165> speed <211.483711> / animSpeed; //delta=-7.05 if (leftArm) turn luparm to x-axis <11.452920> speed <124.888703> / animSpeed; //delta=4.16 if (leftArm) turn luparm to y-axis <3.308728> speed <53.038265> / animSpeed; //delta=-1.77 - move pelvis to y-axis [-2.0] speed [25.555551] / animSpeed; //delta=0.85 - turn pelvis to z-axis <-0.0> speed <60.0> / animSpeed; //delta=-2.00 - turn pelvis to y-axis <0.0> speed <83.174607> / animSpeed; //delta=2.77 + move pelvis to y-axis [-2.000000] speed [25.555551] / animSpeed; //delta=0.85 + turn pelvis to z-axis <-0.000000> speed <60.000006> / animSpeed; //delta=-2.00 + turn pelvis to y-axis <0.000000> speed <83.174607> / animSpeed; //delta=2.77 turn rfoot to x-axis <-45.278120> speed <184.772566> / animSpeed; //delta=6.16 turn rleg to x-axis <90.786697> speed <415.505474> / animSpeed; //delta=13.85 turn rleg to z-axis <0.843235> speed <24.355743> / animSpeed; //delta=-0.81 @@ -185,11 +187,11 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani if (rightArm) turn ruparm to x-axis <16.947865> speed <91.311783> / animSpeed; //delta=-3.04 if (rightArm) turn ruparm to y-axis <0.900000> speed <45.888888> / animSpeed; //delta=-1.53 turn aimy1 to x-axis <-4.594870> speed <18.402335> / animSpeed; //delta=0.61 - turn aimy1 to z-axis <-0.0> speed <61.681404> / animSpeed; //delta=2.06 - turn aimy1 to y-axis <0.0> speed <236.383029> / animSpeed; //delta=-7.88 + turn aimy1 to z-axis <-0.000000> speed <61.681404> / animSpeed; //delta=2.06 + turn aimy1 to y-axis <0.000000> speed <236.383029> / animSpeed; //delta=-7.88 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:28 + if (bMoving) { //Frame:28 if (leftArm) turn biggun to x-axis <-53.142724> speed <34.090567> / animSpeed; //delta=1.14 turn head to x-axis <-2.620635> speed <15.861851> / animSpeed; //delta=-0.53 turn head to y-axis <3.829846> speed <114.895376> / animSpeed; //delta=3.83 @@ -218,7 +220,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn aimy1 to y-axis <-7.879434> speed <236.383029> / animSpeed; //delta=-7.88 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:32 + if (bMoving) { //Frame:32 if (leftArm) turn biggun to x-axis <-55.253092> speed <63.311038> / animSpeed; //delta=2.11 turn head to x-axis <-1.563179> speed <31.723670> / animSpeed; //delta=-1.06 turn head to y-axis <6.127755> speed <68.937274> / animSpeed; //delta=2.30 @@ -244,7 +246,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn aimy1 to y-axis <-13.926961> speed <181.425790> / animSpeed; //delta=-6.05 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:36 + if (bMoving) { //Frame:36 if (leftArm) turn biggun to x-axis <-56.389444> speed <34.090567> / animSpeed; //delta=1.14 turn head to x-axis <0.023005> speed <47.585536> / animSpeed; //delta=-1.59 turn head to y-axis <7.659692> speed <45.958102> / animSpeed; //delta=1.53 @@ -255,12 +257,12 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn lthigh to y-axis <5.332458> speed <15.498655> / animSpeed; //delta=-0.52 if (leftArm) turn luparm to x-axis <-3.274263> speed <167.758466> / animSpeed; //delta=5.59 if (leftArm) turn luparm to y-axis <-6.556594> speed <45.333998> / animSpeed; //delta=-1.51 - move pelvis to y-axis [-2.0] speed [25.555555] / animSpeed; //delta=-0.85 - turn pelvis to z-axis <5.0> speed <31.089813> / animSpeed; //delta=-1.04 - turn pelvis to y-axis <6.0> speed <29.200275> / animSpeed; //delta=0.97 + move pelvis to y-axis [-2.000000] speed [25.555555] / animSpeed; //delta=-0.85 + turn pelvis to z-axis <5.000000> speed <31.089813> / animSpeed; //delta=-1.04 + turn pelvis to y-axis <6.000000> speed <29.200275> / animSpeed; //delta=0.97 turn rfoot to x-axis <4.673420> speed <156.586261> / animSpeed; //delta=-5.22 turn rleg to x-axis <17.968366> speed <112.905793> / animSpeed; //delta=3.76 - if (rightArm) turn rloarm to x-axis <-38.0> speed <43.722158> / animSpeed; //delta=-1.46 + if (rightArm) turn rloarm to x-axis <-38.000000> speed <43.722158> / animSpeed; //delta=-1.46 turn rthigh to x-axis <-40.972853> speed <227.481055> / animSpeed; //delta=-7.58 turn rthigh to z-axis <-12.483621> speed <13.132763> / animSpeed; //delta=-0.44 turn rthigh to y-axis <-18.495587> speed <4.624260> / animSpeed; //delta=-0.15 @@ -271,7 +273,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn aimy1 to y-axis <-15.758869> speed <54.957239> / animSpeed; //delta=-1.83 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:40 + if (bMoving) { //Frame:40 if (leftArm) turn biggun to x-axis <-55.431951> speed <28.724805> / animSpeed; //delta=-0.96 turn head to x-axis <-0.505722> speed <15.861819> / animSpeed; //delta=0.53 turn head to y-axis <6.127755> speed <45.958102> / animSpeed; //delta=-1.53 @@ -300,7 +302,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn aimy1 to y-axis <-13.926961> speed <54.957239> / animSpeed; //delta=1.83 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:44 + if (bMoving) { //Frame:44 if (leftArm) turn biggun to x-axis <-53.164273> speed <68.030323> / animSpeed; //delta=-2.27 turn head to x-axis <-2.091907> speed <47.585562> / animSpeed; //delta=1.59 turn head to y-axis <3.829846> speed <68.937274> / animSpeed; //delta=-2.30 @@ -328,10 +330,10 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn aimy1 to y-axis <-7.879434> speed <181.425790> / animSpeed; //delta=6.05 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:48 + if (bMoving) { //Frame:48 if (leftArm) turn biggun to x-axis <-50.493628> speed <80.119348> / animSpeed; //delta=-2.67 turn head to x-axis <-3.149363> speed <31.723676> / animSpeed; //delta=1.06 - turn head to y-axis <0.0> speed <114.895376> / animSpeed; //delta=-3.83 + turn head to y-axis <0.000000> speed <114.895376> / animSpeed; //delta=-3.83 turn lfoot to x-axis <-44.880435> speed <188.924672> / animSpeed; //delta=6.30 turn lleg to x-axis <90.690391> speed <407.363547> / animSpeed; //delta=13.58 turn lleg to z-axis <-1.028354> speed <29.811568> / animSpeed; //delta=0.99 @@ -341,9 +343,9 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn lthigh to y-axis <9.180887> speed <243.372656> / animSpeed; //delta=8.11 if (leftArm) turn luparm to x-axis <2.662867> speed <125.339441> / animSpeed; //delta=-4.18 if (leftArm) turn luparm to y-axis <-1.793232> speed <71.050921> / animSpeed; //delta=2.37 - move pelvis to y-axis [-2.0] speed [25.555551] / animSpeed; //delta=0.85 - turn pelvis to z-axis <-0.0> speed <62.666668> / animSpeed; //delta=2.09 - turn pelvis to y-axis <0.0> speed <86.222221> / animSpeed; //delta=-2.87 + move pelvis to y-axis [-2.000000] speed [25.555551] / animSpeed; //delta=0.85 + turn pelvis to z-axis <-0.000000> speed <62.666668> / animSpeed; //delta=2.09 + turn pelvis to y-axis <0.000000> speed <86.222221> / animSpeed; //delta=-2.87 turn rfoot to x-axis <-23.519080> speed <364.135724> / animSpeed; //delta=12.14 turn rleg to x-axis <46.484300> speed <278.590678> / animSpeed; //delta=9.29 if (rightArm) turn rloarm to x-axis <-53.199999> speed <206.555576> / animSpeed; //delta=6.89 @@ -353,11 +355,11 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani if (rightArm) turn ruparm to x-axis <23.351554> speed <90.983396> / animSpeed; //delta=3.03 if (rightArm) turn ruparm to y-axis <0.479402> speed <36.051284> / animSpeed; //delta=1.20 turn aimy1 to x-axis <-4.594870> speed <18.402335> / animSpeed; //delta=0.61 - turn aimy1 to z-axis <-0.0> speed <64.422792> / animSpeed; //delta=-2.15 - turn aimy1 to y-axis <0.0> speed <236.383029> / animSpeed; //delta=7.88 + turn aimy1 to z-axis <-0.000000> speed <64.422792> / animSpeed; //delta=-2.15 + turn aimy1 to y-axis <0.000000> speed <236.383029> / animSpeed; //delta=7.88 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:52 + if (bMoving) { //Frame:52 if (leftArm) turn biggun to x-axis <-48.215180> speed <68.353460> / animSpeed; //delta=-2.28 turn head to x-axis <-2.620635> speed <15.861851> / animSpeed; //delta=-0.53 turn head to y-axis <-3.829846> speed <114.895376> / animSpeed; //delta=-3.83 @@ -388,38 +390,38 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani } } } -// Call this from StopMoving()! +// Call this from MotionControl()! StopWalking() { - move pelvis to y-axis [-1.0] speed [6.944444]; + move pelvis to y-axis [-1.000000] speed [6.944444]; if (leftArm) turn biggun to x-axis <-52.006372> speed <28.433941>; turn head to x-axis <-1.298815> speed <11.896390>; - turn head to y-axis <0.0> speed <28.723844>; + turn head to y-axis <0.000000> speed <28.723844>; turn lfoot to x-axis <2.870126> speed <274.263975>; turn lleg to x-axis <22.425678> speed <349.693872>; - turn lleg to y-axis <0.0> speed <7.922289>; - turn lleg to z-axis <0.0> speed <7.923996>; + turn lleg to y-axis <0.000000> speed <7.922289>; + turn lleg to z-axis <0.000000> speed <7.923996>; turn lthigh to x-axis <-21.115098> speed <255.919901>; turn lthigh to y-axis <11.110453> speed <66.749106>; turn lthigh to z-axis <-10.103126> speed <151.418301>; if (leftArm) turn luparm to x-axis <19.231610> speed <69.841862>; if (leftArm) turn luparm to y-axis <7.211138> speed <46.845002>; if (leftArm) turn luparm to z-axis <-16.200000> speed <28.500010>; - turn pelvis to y-axis <0.0> speed <21.666665>; - turn pelvis to z-axis <0.0> speed <18.055557>; + turn pelvis to y-axis <0.000000> speed <21.666665>; + turn pelvis to z-axis <0.000000> speed <18.055557>; turn rfoot to x-axis <0.415283> speed <248.713120>; turn rleg to x-axis <25.768060> speed <346.011740>; - turn rleg to y-axis <0.0> speed <6.521982>; - turn rleg to z-axis <0.0> speed <6.524652>; + turn rleg to y-axis <0.000000> speed <6.521982>; + turn rleg to z-axis <0.000000> speed <6.524652>; if (rightArm) turn rloarm to x-axis <-53.199995> speed <51.638894>; turn rthigh to x-axis <-21.950628> speed <255.149679>; turn rthigh to y-axis <-11.905752> speed <66.515336>; turn rthigh to z-axis <9.396449> speed <151.125663>; if (rightArm) turn ruparm to x-axis <24.693159> speed <39.648544>; - if (rightArm) turn ruparm to y-axis <0.0> speed <31.089853>; + if (rightArm) turn ruparm to y-axis <0.000000> speed <31.089853>; if (rightArm) turn ruparm to z-axis <12.399998> speed <-7.153845>; turn aimy1 to x-axis <-2.263907> speed <15.181924>; - turn aimy1 to y-axis <0.0> speed <59.095757>; - turn aimy1 to z-axis <0.0> speed <18.561539>; + turn aimy1 to y-axis <0.000000> speed <59.095757>; + turn aimy1 to z-axis <0.000000> speed <18.561539>; } // REMEMBER TO animspeed = 4 in Create() !! UnitSpeed(){ @@ -436,16 +438,16 @@ UnitSpeed(){ sleep 131; } } -StartMoving(reversing){ - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; - isMoving=TRUE; +StartMoving(){ + signal SIG_WALK; + set-signal-mask SIG_WALK; + bMoving=TRUE; start-script Walk(); start-script UnitSpeed(); } StopMoving(){ - signal SIGNAL_MOVE; - isMoving = FALSE; + signal SIG_WALK; + bMoving = FALSE; call-script StopWalking(); } @@ -456,7 +458,7 @@ AmIBored() { //return isAiming == false and isBuilding == false and isMoving == false if (isAiming == 0){ if (isBuilding == 0 ){ - if (isMoving == 0){ + if (bMoving == 0){ return (1); } } @@ -488,13 +490,13 @@ Create(){ hide hatpoint; hide aimy1; hide teleport; - //turn rloarm to x-axis <-15> speed <130.0> ; //-- Turn(rloarm, x-axis, math.rad(-15),math.rad(130)) + //turn rloarm to x-axis <-15> speed <130.0000> ; //-- Turn(rloarm, x-axis, math.rad(-15),math.rad(130)) turn lflare to x-axis <90> now; // Turn(lflare, x-axis,math.rad(90)) turn nano to x-axis <90> now; //Turn(nano, x-axis,math.rad(90)) turn laserflare to x-axis <90> now; // Turn(laserflare, x-axis,math.rad(90)) spin dish around y-axis speed <100>; //Spin(dish, y-axis, 2.5) animSpeed = 8; - isMoving = 0; + bMoving = 0; isAiming = 0; isBuilding = 0; isAimingDgun = 0; @@ -507,36 +509,36 @@ Create(){ call-script StopWalking(); } -QueryNanoPiece(pieceIndex) +QueryNanoPiece(piecenum) { - pieceIndex = nano; + piecenum = nano; return (0); } RestoreAfterDelay(){ - set-signal-mask SIGNAL_AIM1; + set-signal-mask SIG_AIM; sleep 1000; - turn torso to y-axis <0> speed <105.0> ; //-- Turn(torso, y-axis, 0, math.rad(305)) + turn torso to y-axis <0> speed <105.0000> ; //-- Turn(torso, y-axis, 0, math.rad(305)) - turn biggun to x-axis <-38> speed <95.0> ; //-- Turn(biggun, x-axis, math.rad(-38), math.rad(95)) - turn luparm to x-axis <0> speed <95.0> ; //-- Turn(luparm, x-axis, 0, math.rad(95)) - turn rloarm to x-axis <-38> speed <95.0> ; - turn rloarm to y-axis <0> speed <95.0> ; //-- Turn(rloarm, x-axis, math.rad(-38), math.rad(95)) - turn ruparm to x-axis <0> speed <95.0> ; //-- Turn(ruparm, x-axis, 0, math.rad(95)) - turn sptkturretl to y-axis <0> speed <500.0> ; - turn sptkturretr to y-axis <0> speed <500.0> ; - turn sptkturretl to x-axis <0> speed <500.0> ; - turn sptkturretr to x-axis <0> speed <500.0> ; - spin barrelr around y-axis speed <600.0>; - spin barrell around y-axis speed <-600.0>; + turn biggun to x-axis <-38> speed <95.0000> ; //-- Turn(biggun, x-axis, math.rad(-38), math.rad(95)) + turn luparm to x-axis <0> speed <95.0000> ; //-- Turn(luparm, x-axis, 0, math.rad(95)) + turn rloarm to x-axis <-38> speed <95.0000> ; + turn rloarm to y-axis <0> speed <95.0000> ; //-- Turn(rloarm, x-axis, math.rad(-38), math.rad(95)) + turn ruparm to x-axis <0> speed <95.0000> ; //-- Turn(ruparm, x-axis, 0, math.rad(95)) + turn sptkturretl to y-axis <0> speed <500.0000> ; + turn sptkturretr to y-axis <0> speed <500.0000> ; + turn sptkturretl to x-axis <0> speed <500.0000> ; + turn sptkturretr to x-axis <0> speed <500.0000> ; + spin barrelr around y-axis speed <600.000000>; + spin barrell around y-axis speed <-600.000000>; sleep 200; - spin barrelr around y-axis speed <300.0>; - spin barrell around y-axis speed <-300.0>; + spin barrelr around y-axis speed <300.000000>; + spin barrell around y-axis speed <-300.000000>; sleep 100; - spin barrelr around y-axis speed <150.0>; - spin barrell around y-axis speed <-150.0>; + spin barrelr around y-axis speed <150.000000>; + spin barrell around y-axis speed <-150.000000>; sleep 50; stop-spin barrelr around y-axis; stop-spin barrell around y-axis; @@ -552,8 +554,8 @@ ResumeBuilding() sleep 800; if( isBuilding AND ( !isAiming ) ) { - turn torso to y-axis buildHeading speed <150.0>; - turn luparm to x-axis <-55.0> - buildPitch speed <45.0>; + turn torso to y-axis buildHeading speed <150.000000>; + turn luparm to x-axis <-55.000000> - buildPitch speed <45.000000>; } return (0); } @@ -563,28 +565,32 @@ ResumeBuilding() //--gun functions; //----------------------------------------------------------------------- - +SweetSpot(piecenum) +{ + piecenum = torso; + return (0); +} /////////// pew pew laser -QueryWeapon1(pieceIndex) //pew laser +QueryPrimary(piecenum) //pew laser { if( miniguncount == 0) { - pieceIndex = flarer; + piecenum = flarer; } if( miniguncount == 1) { - pieceIndex = flarel; + piecenum = flarel; } return (0); } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = teleport; + piecenum = teleport; return (0); } -AimWeapon1(heading, pitch) //pew pew +AimPrimary(heading, pitch) //pew pew { if (isAimingDgun){ return (0); @@ -592,15 +598,15 @@ AimWeapon1(heading, pitch) //pew pew rightarm = 0; leftarm = 0; //call-script FixArms(0, 1); - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; - turn torso to y-axis heading speed <500.0> ; //-- Turn(torso, y-axis, heading, math.rad(300)) - turn rloarm to x-axis <-55> speed <390.0> ; //-- Turn(rloarm, x-axis, math.rad(-55), math.rad(390)) - turn rloarm to y-axis <15> speed <390.0>; - turn biggun to x-axis <-55> speed <390.0> ; //-- Turn(rloarm, x-axis, math.rad(-55), math.rad(390)) - turn biggun to y-axis <-20> speed <390.0>; - turn ruparm to x-axis <-40> - pitch speed <390.0> ; //-- Turn(ruparm, x-axis, math.rad(-45) - pitch, math.rad(390)) - turn luparm to x-axis <-40> - pitch speed <390.0> ; //-- Turn(ruparm, x-axis, math.rad(-45) - pitch, math.rad(390)) + signal SIG_AIM; + set-signal-mask SIG_AIM; + turn torso to y-axis heading speed <500.0000> ; //-- Turn(torso, y-axis, heading, math.rad(300)) + turn rloarm to x-axis <-55> speed <390.0000> ; //-- Turn(rloarm, x-axis, math.rad(-55), math.rad(390)) + turn rloarm to y-axis <15> speed <390.0000>; + turn biggun to x-axis <-55> speed <390.0000> ; //-- Turn(rloarm, x-axis, math.rad(-55), math.rad(390)) + turn biggun to y-axis <-20> speed <390.0000>; + turn ruparm to x-axis <-40> - pitch speed <390.0000> ; //-- Turn(ruparm, x-axis, math.rad(-45) - pitch, math.rad(390)) + turn luparm to x-axis <-40> - pitch speed <390.0000> ; //-- Turn(ruparm, x-axis, math.rad(-45) - pitch, math.rad(390)) wait-for-turn torso around y-axis; //wait-for-turn rloarm around x-axis; //wait-for-turn ruparm around x-axis; @@ -613,7 +619,7 @@ AimWeapon1(heading, pitch) //pew pew return (1); } -FireWeapon1() +FirePrimary() { if( miniguncount == 0) { @@ -626,25 +632,25 @@ FireWeapon1() miniguncount = 2; } miniguncount = miniguncount - 2; - spin barrelr around y-axis speed <900.0>; - spin barrell around y-axis speed <-900.0>; + spin barrelr around y-axis speed <900.000000>; + spin barrell around y-axis speed <-900.000000>; } /////////// uw weapon -QueryWeapon2(pieceIndex) //uw weapon +QuerySecondary(piecenum) //uw weapon { - pieceIndex = flarer; + piecenum = flarer; return (0); } -AimFromWeapon2(pieceIndex) +AimFromSecondary(piecenum) { - pieceIndex = flarer; + piecenum = flarer; return (0); } -AimWeapon2(heading, pitch) +AimSecondary(heading, pitch) { if( get PIECE_Y(head) > 0 ) { @@ -659,11 +665,11 @@ AimWeapon2(heading, pitch) } rightarm = 0; //call-script FixArms(0, 1); - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; - turn torso to y-axis heading speed <300.0> ; //-- Turn(torso, y-axis, heading, math.rad(300)) - turn rloarm to x-axis <-55> speed <390.0> ; //-- Turn(rloarm, x-axis, math.rad(-55), math.rad(390)) - turn ruparm to x-axis <-40> - pitch speed <390.0> ; //-- Turn(ruparm, x-axis, math.rad(-45) - pitch, math.rad(390)) + signal SIG_AIM; + set-signal-mask SIG_AIM; + turn torso to y-axis heading speed <300.0000> ; //-- Turn(torso, y-axis, heading, math.rad(300)) + turn rloarm to x-axis <-55> speed <390.0000> ; //-- Turn(rloarm, x-axis, math.rad(-55), math.rad(390)) + turn ruparm to x-axis <-40> - pitch speed <390.0000> ; //-- Turn(ruparm, x-axis, math.rad(-45) - pitch, math.rad(390)) wait-for-turn torso around y-axis; //wait-for-turn rloarm around x-axis; //wait-for-turn ruparm around x-axis; @@ -676,25 +682,25 @@ AimWeapon2(heading, pitch) return (1); } -FireWeapon2() +FireSecondary() { sleep 100; return (0); } -QueryWeapon3(pieceIndex) //dgun +QueryTertiary(piecenum) //dgun { - pieceIndex = lflare; + piecenum = lflare; return (0); } -AimFromWeapon3(pieceIndex) +AimFromTertiary(piecenum) { - pieceIndex = biggun; + piecenum = biggun; return (0); } -FireWeapon3() +FireTertiary() { //emit-sfx 1024 + 0 from lflare; isAimingDgun = 0; @@ -710,31 +716,31 @@ FireWeapon3() return (0); } -AimWeapon3(heading, pitch) +AimTertiary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; isAimingDgun = 1; isAiming = 1; leftArm = 0; //call-script FixArms(1, 0); - turn torso to y-axis heading speed <360.0> ; //-- Turn(torso, y-axis, heading, math.rad(300)) - turn biggun to x-axis <-85> speed <390.0> ; //-- Turn(biggun, x-axis, math.rad(-85), math.rad(390)) - turn luparm to x-axis <5> - pitch speed <390.0> ; //-- Turn(luparm, x-axis, math.rad(-5) - pitch, math.rad(390)) + turn torso to y-axis heading speed <360.0000> ; //-- Turn(torso, y-axis, heading, math.rad(300)) + turn biggun to x-axis <-85> speed <390.0000> ; //-- Turn(biggun, x-axis, math.rad(-85), math.rad(390)) + turn luparm to x-axis <5> - pitch speed <390.0000> ; //-- Turn(luparm, x-axis, math.rad(-5) - pitch, math.rad(390)) wait-for-turn torso around y-axis; //wait-for-turn biggun around x-axis; return (1); } -QueryWeapon4(pieceIndex) //ferret +QueryWeapon4(piecenum) //ferret { - pieceIndex = misflare; + piecenum = misflare; return (0); } -AimFromWeapon4(pieceIndex) +AimFromWeapon4(piecenum) { - pieceIndex = turretmis; + piecenum = turretmis; return (0); } @@ -746,46 +752,46 @@ FireWeapon4() AimWeapon4(heading, pitch) { - signal SIGNAL_AIM2; - set-signal-mask SIGNAL_AIM2; - turn turretmis to y-axis heading speed <250.0>; - turn misbox to x-axis <0> - pitch speed <200.0>; + signal SIG_AIM_2; + set-signal-mask SIG_AIM_2; + turn turretmis to y-axis heading speed <250.000000>; + turn misbox to x-axis <0> - pitch speed <200.000000>; wait-for-turn turretmis around y-axis; wait-for-turn misbox around x-axis; return (1); } -QueryWeapon5(pieceIndex) //minigun2 +QueryWeapon5(piecenum) //minigun2 { if(fire_count==0) { - pieceIndex=sptkflare1r; + piecenum=sptkflare1r; } if(fire_count==1) { - pieceIndex=sptkflare1l; + piecenum=sptkflare1l; } if(fire_count==2) { - pieceIndex=sptkflare2r; + piecenum=sptkflare2r; } if(fire_count==3) { - pieceIndex=sptkflare2l; + piecenum=sptkflare2l; } if(fire_count==4) { - pieceIndex=sptkflare3r; + piecenum=sptkflare3r; } if(fire_count==5) { - pieceIndex=sptkflare3l; + piecenum=sptkflare3l; } } -AimFromWeapon5(pieceIndex) +AimFromWeapon5(piecenum) { - pieceIndex = sptkaimy; + piecenum = sptkaimy; return (0); } @@ -794,10 +800,10 @@ AimWeapon5(heading, pitch) //pew pew if (isAimingDgun){ return (0); } - signal SIGNAL_AIM3; - set-signal-mask SIGNAL_AIM3; - turn sptkturretr to x-axis -1*pitch speed <100.0> ; - turn sptkturretl to x-axis -1*pitch speed <100.0> ; + signal SIG_AIM_3; + set-signal-mask SIG_AIM_3; + turn sptkturretr to x-axis -1*pitch speed <100.0000> ; + turn sptkturretl to x-axis -1*pitch speed <100.0000> ; wait-for-turn sptkturretr around x-axis; isAiming = 1; if( isBuilding == 1 ) @@ -846,7 +852,7 @@ FireWeapon5() } SprayNano(heading, pitch){ - set-signal-mask SIGNAL_AIM1; + set-signal-mask SIG_AIM; sleep 1000; while (1){ @@ -860,15 +866,15 @@ SprayNano(heading, pitch){ StartBuilding(heading, pitch) { - signal SIGNAL_AIM1; - //set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + //set-signal-mask SIG_AIM; isBuilding = 1; rightArm = 0; - //turn torso to x-axis <0> speed <395.0> ; //-- Turn(torso, x-axis, 0, math.rad(395)) - //turn pelvis to x-axis <0> speed <395.0> ; //-- Turn(pelvis, x-axis, 0, math.rad(395)) - turn torso to y-axis heading speed <300.0> ; //-- Turn(torso, y-axis, heading, math.rad(300)) - turn rloarm to x-axis <-40> speed <390.0> ; //-- Turn(rloarm, x-axis, math.rad(-55), math.rad(390)) - turn ruparm to x-axis <-55> -pitch speed <390.0> ; //-- Turn(ruparm, x-axis, math.rad(-55) - pitch, math.rad(390)) + //turn torso to x-axis <0> speed <395.0000> ; //-- Turn(torso, x-axis, 0, math.rad(395)) + //turn pelvis to x-axis <0> speed <395.0000> ; //-- Turn(pelvis, x-axis, 0, math.rad(395)) + turn torso to y-axis heading speed <300.0000> ; //-- Turn(torso, y-axis, heading, math.rad(300)) + turn rloarm to x-axis <-40> speed <390.0000> ; //-- Turn(rloarm, x-axis, math.rad(-55), math.rad(390)) + turn ruparm to x-axis <-55> -pitch speed <390.0000> ; //-- Turn(ruparm, x-axis, math.rad(-55) - pitch, math.rad(390)) wait-for-turn ruparm around x-axis; set INBUILDSTANCE to 1; @@ -878,13 +884,25 @@ StartBuilding(heading, pitch) return (0); } + + + +TargetCleared(Func_Var_1) +{ + signal SIG_AIM; + set-signal-mask SIG_AIM; + call-script RestoreAfterDelay(); + return (0); +} + + StopBuilding() { rightArm = 1; isBuilding = 0; set INBUILDSTANCE to 0; - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; call-script RestoreAfterDelay(); return (0); } diff --git a/scripts/Units/legcomt2com.cob b/scripts/Units/legcomt2com.cob index 990afa718c6a03c21737548b8c247621c4b526e0..aba13cf71879fd267140477464dd0703678ac927 100644 GIT binary patch delta 4623 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 delta 4384 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 speed <113.735764> / animSpeed; //delta=-3.79 turn head to x-axis <-2.620635> speed <39.654598> / animSpeed; //delta=1.32 turn head to y-axis <-3.829846> speed <114.895376> / animSpeed; //delta=-3.83 @@ -44,7 +75,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn lthigh to z-axis <10.085981> speed <605.673206> / animSpeed; //delta=-20.19 turn lthigh to y-axis <15.046731> speed <118.088344> / animSpeed; //delta=3.94 if (leftArm) turn luparm to x-axis <9.919362> speed <279.367450> / animSpeed; //delta=9.31 - if (leftArm) turn luparm to z-axis <-12.399998> speed <114.0> / animSpeed; //delta=-3.80 + if (leftArm) turn luparm to z-axis <-12.399998> speed <114.000041> / animSpeed; //delta=-3.80 if (leftArm) turn luparm to y-axis <0.965138> speed <187.380006> / animSpeed; //delta=-6.25 turn pelvis to z-axis <-1.666667> speed <49.999997> / animSpeed; //delta=1.67 turn pelvis to y-axis <-2.296296> speed <68.888891> / animSpeed; //delta=-2.30 @@ -61,8 +92,8 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn aimy1 to y-axis <7.879434> speed <236.383029> / animSpeed; //delta=7.88 sleep ((33*animSpeed) -1); } - while(isMoving) { - if (isMoving) { //Frame:8 + while(bMoving) { + if (bMoving) { //Frame:8 if (leftArm) turn biggun to x-axis <-46.675856> speed <46.179694> / animSpeed; //delta=-1.54 turn head to x-axis <-1.563179> speed <31.723679> / animSpeed; //delta=-1.06 turn head to y-axis <-6.127755> speed <68.937274> / animSpeed; //delta=-2.30 @@ -89,7 +120,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn aimy1 to y-axis <13.926961> speed <181.425790> / animSpeed; //delta=6.05 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:12 + if (bMoving) { //Frame:12 if (leftArm) turn biggun to x-axis <-46.110552> speed <16.959121> / animSpeed; //delta=-0.57 turn head to x-axis <0.023005> speed <47.585527> / animSpeed; //delta=-1.59 turn head to y-axis <-7.659692> speed <45.958102> / animSpeed; //delta=-1.53 @@ -100,9 +131,9 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn lthigh to y-axis <14.540810> speed <93.704134> / animSpeed; //delta=-3.12 if (leftArm) turn luparm to x-axis <20.474264> speed <98.952127> / animSpeed; //delta=-3.30 if (leftArm) turn luparm to y-axis <5.388938> speed <71.821661> / animSpeed; //delta=2.39 - move pelvis to y-axis [-2.0] speed [18.888888] / animSpeed; //delta=-0.63 - turn pelvis to z-axis <-5.0> speed <27.777769> / animSpeed; //delta=0.93 - turn pelvis to y-axis <-6.0> speed <24.444453> / animSpeed; //delta=-0.81 + move pelvis to y-axis [-2.000000] speed [18.888888] / animSpeed; //delta=-0.63 + turn pelvis to z-axis <-5.000000> speed <27.777769> / animSpeed; //delta=0.93 + turn pelvis to y-axis <-6.000000> speed <24.444453> / animSpeed; //delta=-0.81 turn rfoot to x-axis <-34.556331> speed <305.131751> / animSpeed; //delta=10.17 turn rleg to x-axis <32.187523> speed <882.363941> / animSpeed; //delta=-29.41 if (rightArm) turn rloarm to x-axis <-64.499997> speed <87.888552> / animSpeed; //delta=2.93 @@ -116,7 +147,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn aimy1 to y-axis <15.758869> speed <54.957239> / animSpeed; //delta=1.83 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:16 + if (bMoving) { //Frame:16 if (leftArm) turn biggun to x-axis <-47.068049> speed <28.724907> / animSpeed; //delta=0.96 turn head to x-axis <-0.505722> speed <15.861819> / animSpeed; //delta=0.53 turn head to y-axis <-6.127755> speed <45.958102> / animSpeed; //delta=1.53 @@ -144,7 +175,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn aimy1 to y-axis <13.926961> speed <54.957239> / animSpeed; //delta=-1.83 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:20 + if (bMoving) { //Frame:20 if (leftArm) turn biggun to x-axis <-49.335727> speed <68.030323> / animSpeed; //delta=2.27 turn head to x-axis <-2.091907> speed <47.585562> / animSpeed; //delta=1.59 turn head to y-axis <-3.829846> speed <68.937274> / animSpeed; //delta=2.30 @@ -155,7 +186,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn lthigh to y-axis <8.321622> speed <266.996423> / animSpeed; //delta=-8.90 if (leftArm) turn luparm to x-axis <15.615877> speed <102.946916> / animSpeed; //delta=3.43 if (leftArm) turn luparm to y-axis <5.076670> speed <9.368019> / animSpeed; //delta=-0.31 - turn pelvis to z-axis <-2.0> speed <58.888879> / animSpeed; //delta=-1.96 + turn pelvis to z-axis <-2.000000> speed <58.888879> / animSpeed; //delta=-1.96 turn pelvis to y-axis <-2.772487> speed <67.619039> / animSpeed; //delta=2.25 turn rfoot to x-axis <-39.119034> speed <357.682424> / animSpeed; //delta=11.92 turn rleg to x-axis <104.636879> speed <789.433742> / animSpeed; //delta=-26.31 @@ -172,10 +203,10 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn aimy1 to y-axis <7.879434> speed <181.425790> / animSpeed; //delta=-6.05 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:24 + if (bMoving) { //Frame:24 if (leftArm) turn biggun to x-axis <-52.006372> speed <80.119348> / animSpeed; //delta=2.67 turn head to x-axis <-3.149363> speed <31.723676> / animSpeed; //delta=1.06 - turn head to y-axis <0.0> speed <114.895376> / animSpeed; //delta=3.83 + turn head to y-axis <0.000000> speed <114.895376> / animSpeed; //delta=3.83 turn lfoot to x-axis <-23.280778> speed <357.540911> / animSpeed; //delta=11.92 turn lleg to x-axis <46.510843> speed <277.878733> / animSpeed; //delta=9.26 turn lthigh to x-axis <-23.415420> speed <612.523459> / animSpeed; //delta=-20.42 @@ -183,9 +214,9 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn lthigh to y-axis <1.272165> speed <211.483711> / animSpeed; //delta=-7.05 if (leftArm) turn luparm to x-axis <11.452920> speed <124.888703> / animSpeed; //delta=4.16 if (leftArm) turn luparm to y-axis <3.308728> speed <53.038265> / animSpeed; //delta=-1.77 - move pelvis to y-axis [-2.0] speed [25.555551] / animSpeed; //delta=0.85 - turn pelvis to z-axis <-0.0> speed <60.0> / animSpeed; //delta=-2.00 - turn pelvis to y-axis <0.0> speed <83.174607> / animSpeed; //delta=2.77 + move pelvis to y-axis [-2.000000] speed [25.555551] / animSpeed; //delta=0.85 + turn pelvis to z-axis <-0.000000> speed <60.000006> / animSpeed; //delta=-2.00 + turn pelvis to y-axis <0.000000> speed <83.174607> / animSpeed; //delta=2.77 turn rfoot to x-axis <-45.278120> speed <184.772566> / animSpeed; //delta=6.16 turn rleg to x-axis <90.786697> speed <415.505474> / animSpeed; //delta=13.85 turn rleg to z-axis <0.843235> speed <24.355743> / animSpeed; //delta=-0.81 @@ -197,11 +228,11 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani if (rightArm) turn ruparm to x-axis <16.947865> speed <91.311783> / animSpeed; //delta=-3.04 if (rightArm) turn ruparm to y-axis <0.900000> speed <45.888888> / animSpeed; //delta=-1.53 turn aimy1 to x-axis <-4.594870> speed <18.402335> / animSpeed; //delta=0.61 - turn aimy1 to z-axis <-0.0> speed <61.681404> / animSpeed; //delta=2.06 - turn aimy1 to y-axis <0.0> speed <236.383029> / animSpeed; //delta=-7.88 + turn aimy1 to z-axis <-0.000000> speed <61.681404> / animSpeed; //delta=2.06 + turn aimy1 to y-axis <0.000000> speed <236.383029> / animSpeed; //delta=-7.88 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:28 + if (bMoving) { //Frame:28 if (leftArm) turn biggun to x-axis <-53.142724> speed <34.090567> / animSpeed; //delta=1.14 turn head to x-axis <-2.620635> speed <15.861851> / animSpeed; //delta=-0.53 turn head to y-axis <3.829846> speed <114.895376> / animSpeed; //delta=3.83 @@ -230,7 +261,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn aimy1 to y-axis <-7.879434> speed <236.383029> / animSpeed; //delta=-7.88 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:32 + if (bMoving) { //Frame:32 if (leftArm) turn biggun to x-axis <-55.253092> speed <63.311038> / animSpeed; //delta=2.11 turn head to x-axis <-1.563179> speed <31.723670> / animSpeed; //delta=-1.06 turn head to y-axis <6.127755> speed <68.937274> / animSpeed; //delta=2.30 @@ -256,7 +287,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn aimy1 to y-axis <-13.926961> speed <181.425790> / animSpeed; //delta=-6.05 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:36 + if (bMoving) { //Frame:36 if (leftArm) turn biggun to x-axis <-56.389444> speed <34.090567> / animSpeed; //delta=1.14 turn head to x-axis <0.023005> speed <47.585536> / animSpeed; //delta=-1.59 turn head to y-axis <7.659692> speed <45.958102> / animSpeed; //delta=1.53 @@ -267,12 +298,12 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn lthigh to y-axis <5.332458> speed <15.498655> / animSpeed; //delta=-0.52 if (leftArm) turn luparm to x-axis <-3.274263> speed <167.758466> / animSpeed; //delta=5.59 if (leftArm) turn luparm to y-axis <-6.556594> speed <45.333998> / animSpeed; //delta=-1.51 - move pelvis to y-axis [-2.0] speed [25.555555] / animSpeed; //delta=-0.85 - turn pelvis to z-axis <5.0> speed <31.089813> / animSpeed; //delta=-1.04 - turn pelvis to y-axis <6.0> speed <29.200275> / animSpeed; //delta=0.97 + move pelvis to y-axis [-2.000000] speed [25.555555] / animSpeed; //delta=-0.85 + turn pelvis to z-axis <5.000000> speed <31.089813> / animSpeed; //delta=-1.04 + turn pelvis to y-axis <6.000000> speed <29.200275> / animSpeed; //delta=0.97 turn rfoot to x-axis <4.673420> speed <156.586261> / animSpeed; //delta=-5.22 turn rleg to x-axis <17.968366> speed <112.905793> / animSpeed; //delta=3.76 - if (rightArm) turn rloarm to x-axis <-38.0> speed <43.722158> / animSpeed; //delta=-1.46 + if (rightArm) turn rloarm to x-axis <-38.000000> speed <43.722158> / animSpeed; //delta=-1.46 turn rthigh to x-axis <-40.972853> speed <227.481055> / animSpeed; //delta=-7.58 turn rthigh to z-axis <-12.483621> speed <13.132763> / animSpeed; //delta=-0.44 turn rthigh to y-axis <-18.495587> speed <4.624260> / animSpeed; //delta=-0.15 @@ -283,7 +314,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn aimy1 to y-axis <-15.758869> speed <54.957239> / animSpeed; //delta=-1.83 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:40 + if (bMoving) { //Frame:40 if (leftArm) turn biggun to x-axis <-55.431951> speed <28.724805> / animSpeed; //delta=-0.96 turn head to x-axis <-0.505722> speed <15.861819> / animSpeed; //delta=0.53 turn head to y-axis <6.127755> speed <45.958102> / animSpeed; //delta=-1.53 @@ -312,7 +343,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn aimy1 to y-axis <-13.926961> speed <54.957239> / animSpeed; //delta=1.83 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:44 + if (bMoving) { //Frame:44 if (leftArm) turn biggun to x-axis <-53.164273> speed <68.030323> / animSpeed; //delta=-2.27 turn head to x-axis <-2.091907> speed <47.585562> / animSpeed; //delta=1.59 turn head to y-axis <3.829846> speed <68.937274> / animSpeed; //delta=-2.30 @@ -340,10 +371,10 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn aimy1 to y-axis <-7.879434> speed <181.425790> / animSpeed; //delta=6.05 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:48 + if (bMoving) { //Frame:48 if (leftArm) turn biggun to x-axis <-50.493628> speed <80.119348> / animSpeed; //delta=-2.67 turn head to x-axis <-3.149363> speed <31.723676> / animSpeed; //delta=1.06 - turn head to y-axis <0.0> speed <114.895376> / animSpeed; //delta=-3.83 + turn head to y-axis <0.000000> speed <114.895376> / animSpeed; //delta=-3.83 turn lfoot to x-axis <-44.880435> speed <188.924672> / animSpeed; //delta=6.30 turn lleg to x-axis <90.690391> speed <407.363547> / animSpeed; //delta=13.58 turn lleg to z-axis <-1.028354> speed <29.811568> / animSpeed; //delta=0.99 @@ -353,9 +384,9 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn lthigh to y-axis <9.180887> speed <243.372656> / animSpeed; //delta=8.11 if (leftArm) turn luparm to x-axis <2.662867> speed <125.339441> / animSpeed; //delta=-4.18 if (leftArm) turn luparm to y-axis <-1.793232> speed <71.050921> / animSpeed; //delta=2.37 - move pelvis to y-axis [-2.0] speed [25.555551] / animSpeed; //delta=0.85 - turn pelvis to z-axis <-0.0> speed <62.666668> / animSpeed; //delta=2.09 - turn pelvis to y-axis <0.0> speed <86.222221> / animSpeed; //delta=-2.87 + move pelvis to y-axis [-2.000000] speed [25.555551] / animSpeed; //delta=0.85 + turn pelvis to z-axis <-0.000000> speed <62.666668> / animSpeed; //delta=2.09 + turn pelvis to y-axis <0.000000> speed <86.222221> / animSpeed; //delta=-2.87 turn rfoot to x-axis <-23.519080> speed <364.135724> / animSpeed; //delta=12.14 turn rleg to x-axis <46.484300> speed <278.590678> / animSpeed; //delta=9.29 if (rightArm) turn rloarm to x-axis <-53.199999> speed <206.555576> / animSpeed; //delta=6.89 @@ -365,11 +396,11 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani if (rightArm) turn ruparm to x-axis <23.351554> speed <90.983396> / animSpeed; //delta=3.03 if (rightArm) turn ruparm to y-axis <0.479402> speed <36.051284> / animSpeed; //delta=1.20 turn aimy1 to x-axis <-4.594870> speed <18.402335> / animSpeed; //delta=0.61 - turn aimy1 to z-axis <-0.0> speed <64.422792> / animSpeed; //delta=-2.15 - turn aimy1 to y-axis <0.0> speed <236.383029> / animSpeed; //delta=7.88 + turn aimy1 to z-axis <-0.000000> speed <64.422792> / animSpeed; //delta=-2.15 + turn aimy1 to y-axis <0.000000> speed <236.383029> / animSpeed; //delta=7.88 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:52 + if (bMoving) { //Frame:52 if (leftArm) turn biggun to x-axis <-48.215180> speed <68.353460> / animSpeed; //delta=-2.28 turn head to x-axis <-2.620635> speed <15.861851> / animSpeed; //delta=-0.53 turn head to y-axis <-3.829846> speed <114.895376> / animSpeed; //delta=-3.83 @@ -400,38 +431,38 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani } } } -// Call this from StopMoving()! +// Call this from MotionControl()! StopWalking() { - move pelvis to y-axis [-1.0] speed [6.944444]; + move pelvis to y-axis [-1.000000] speed [6.944444]; if (leftArm) turn biggun to x-axis <-52.006372> speed <28.433941>; turn head to x-axis <-1.298815> speed <11.896390>; - turn head to y-axis <0.0> speed <28.723844>; + turn head to y-axis <0.000000> speed <28.723844>; turn lfoot to x-axis <2.870126> speed <274.263975>; turn lleg to x-axis <22.425678> speed <349.693872>; - turn lleg to y-axis <0.0> speed <7.922289>; - turn lleg to z-axis <0.0> speed <7.923996>; + turn lleg to y-axis <0.000000> speed <7.922289>; + turn lleg to z-axis <0.000000> speed <7.923996>; turn lthigh to x-axis <-21.115098> speed <255.919901>; turn lthigh to y-axis <11.110453> speed <66.749106>; turn lthigh to z-axis <-10.103126> speed <151.418301>; if (leftArm) turn luparm to x-axis <19.231610> speed <69.841862>; if (leftArm) turn luparm to y-axis <7.211138> speed <46.845002>; if (leftArm) turn luparm to z-axis <-16.200000> speed <28.500010>; - turn pelvis to y-axis <0.0> speed <21.666665>; - turn pelvis to z-axis <0.0> speed <18.055557>; + turn pelvis to y-axis <0.000000> speed <21.666665>; + turn pelvis to z-axis <0.000000> speed <18.055557>; turn rfoot to x-axis <0.415283> speed <248.713120>; turn rleg to x-axis <25.768060> speed <346.011740>; - turn rleg to y-axis <0.0> speed <6.521982>; - turn rleg to z-axis <0.0> speed <6.524652>; + turn rleg to y-axis <0.000000> speed <6.521982>; + turn rleg to z-axis <0.000000> speed <6.524652>; if (rightArm) turn rloarm to x-axis <-53.199995> speed <51.638894>; turn rthigh to x-axis <-21.950628> speed <255.149679>; turn rthigh to y-axis <-11.905752> speed <66.515336>; turn rthigh to z-axis <9.396449> speed <151.125663>; if (rightArm) turn ruparm to x-axis <24.693159> speed <39.648544>; - if (rightArm) turn ruparm to y-axis <0.0> speed <31.089853>; + if (rightArm) turn ruparm to y-axis <0.000000> speed <31.089853>; if (rightArm) turn ruparm to z-axis <12.399998> speed <-7.153845>; turn aimy1 to x-axis <-2.263907> speed <15.181924>; - turn aimy1 to y-axis <0.0> speed <59.095757>; - turn aimy1 to z-axis <0.0> speed <18.561539>; + turn aimy1 to y-axis <0.000000> speed <59.095757>; + turn aimy1 to z-axis <0.000000> speed <18.561539>; } // REMEMBER TO animspeed = 4 in Create() !! UnitSpeed(){ @@ -448,16 +479,16 @@ UnitSpeed(){ sleep 131; } } -StartMoving(reversing){ - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; - isMoving=TRUE; +StartMoving(){ + signal SIG_WALK; + set-signal-mask SIG_WALK; + bMoving=TRUE; start-script Walk(); start-script UnitSpeed(); } StopMoving(){ - signal SIGNAL_MOVE; - isMoving = FALSE; + signal SIG_WALK; + bMoving = FALSE; call-script StopWalking(); } @@ -468,7 +499,7 @@ AmIBored() { //return isAiming == false and isBuilding == false and isMoving == false if (isAiming == 0){ if (isBuilding == 0 ){ - if (isMoving == 0){ + if (bMoving == 0){ return (1); } } @@ -492,15 +523,15 @@ Create(){ hide hatpoint; hide aimy1; hide teleport; - shieldEnabled = 1; - start-script OpenCloseAnim(1); - //turn rloarm to x-axis <-15> speed <130.0> ; //-- Turn(rloarm, x-axis, math.rad(-15),math.rad(130)) + Static_Var_1 = 1; + call-script InitState(); + //turn rloarm to x-axis <-15> speed <130.0000> ; //-- Turn(rloarm, x-axis, math.rad(-15),math.rad(130)) turn lflare to x-axis <90> now; // Turn(lflare, x-axis,math.rad(90)) turn nano to x-axis <90> now; //Turn(nano, x-axis,math.rad(90)) turn laserflare to x-axis <90> now; // Turn(laserflare, x-axis,math.rad(90)) spin dish around y-axis speed <100>; //Spin(dish, y-axis, 2.5) animSpeed = 4; - isMoving = 0; + bMoving = 0; isAiming = 0; isBuilding = 0; isAimingDgun = 0; @@ -513,31 +544,31 @@ Create(){ Activate() { - start-script OpenCloseAnim(1); + start-script RequestState(0); } Deactivate() { - start-script OpenCloseAnim(0); + start-script RequestState(1); } -QueryNanoPiece(pieceIndex) +QueryNanoPiece(piecenum) { - pieceIndex = nano; + piecenum = nano; return (0); } RestoreAfterDelay(){ - set-signal-mask SIGNAL_AIM1; + set-signal-mask SIG_AIM; sleep 1000; - turn torso to y-axis <0> speed <105.0> ; //-- Turn(torso, y-axis, 0, math.rad(305)) + turn torso to y-axis <0> speed <105.0000> ; //-- Turn(torso, y-axis, 0, math.rad(305)) - turn biggun to x-axis <-38> speed <95.0> ; //-- Turn(biggun, x-axis, math.rad(-38), math.rad(95)) - turn luparm to x-axis <0> speed <95.0> ; //-- Turn(luparm, x-axis, 0, math.rad(95)) - turn rloarm to x-axis <-38> speed <95.0> ; //-- Turn(rloarm, x-axis, math.rad(-38), math.rad(95)) - turn ruparm to x-axis <0> speed <95.0> ; //-- Turn(ruparm, x-axis, 0, math.rad(95)) + turn biggun to x-axis <-38> speed <95.0000> ; //-- Turn(biggun, x-axis, math.rad(-38), math.rad(95)) + turn luparm to x-axis <0> speed <95.0000> ; //-- Turn(luparm, x-axis, 0, math.rad(95)) + turn rloarm to x-axis <-38> speed <95.0000> ; //-- Turn(rloarm, x-axis, math.rad(-38), math.rad(95)) + turn ruparm to x-axis <0> speed <95.0000> ; //-- Turn(ruparm, x-axis, 0, math.rad(95)) isAiming = 0; isAimingDgun = 0; @@ -551,8 +582,8 @@ ResumeBuilding() sleep 800; if( isBuilding AND ( !isAiming ) ) { - turn torso to y-axis buildHeading speed <150.0>; - turn luparm to x-axis <-55.0> - buildPitch speed <45.0>; + turn torso to y-axis buildHeading speed <150.000000>; + turn luparm to x-axis <-55.000000> - buildPitch speed <45.000000>; } return (0); } @@ -562,32 +593,36 @@ ResumeBuilding() //--gun functions; //----------------------------------------------------------------------- - +SweetSpot(piecenum) +{ + piecenum = torso; + return (0); +} /////////// pew pew laser -QueryWeapon1(pieceIndex) //pew laser +QueryPrimary(piecenum) //pew laser { - pieceIndex = laserflare; + piecenum = laserflare; return (0); } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = ruparm; + piecenum = ruparm; return (0); } -AimWeapon1(heading, pitch) //pew pew +AimPrimary(heading, pitch) //pew pew { if (isAimingDgun){ return (0); } rightarm = 0; //call-script FixArms(0, 1); - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; - turn torso to y-axis heading speed <300.0> ; //-- Turn(torso, y-axis, heading, math.rad(300)) - turn rloarm to x-axis <-55> speed <390.0> ; //-- Turn(rloarm, x-axis, math.rad(-55), math.rad(390)) - turn ruparm to x-axis <-40> - pitch speed <390.0> ; //-- Turn(ruparm, x-axis, math.rad(-45) - pitch, math.rad(390)) + signal SIG_AIM; + set-signal-mask SIG_AIM; + turn torso to y-axis heading speed <300.0000> ; //-- Turn(torso, y-axis, heading, math.rad(300)) + turn rloarm to x-axis <-55> speed <390.0000> ; //-- Turn(rloarm, x-axis, math.rad(-55), math.rad(390)) + turn ruparm to x-axis <-40> - pitch speed <390.0000> ; //-- Turn(ruparm, x-axis, math.rad(-45) - pitch, math.rad(390)) wait-for-turn torso around y-axis; //wait-for-turn rloarm around x-axis; //wait-for-turn ruparm around x-axis; @@ -600,7 +635,7 @@ AimWeapon1(heading, pitch) //pew pew return (1); } -FireWeapon1() +FirePrimary() { sleep 100; return (0); @@ -608,19 +643,19 @@ FireWeapon1() /////////// uw weapon -QueryWeapon2(pieceIndex) //uw weapon +QuerySecondary(piecenum) //uw weapon { - pieceIndex = laserflare; + piecenum = laserflare; return (0); } -AimFromWeapon2(pieceIndex) +AimFromSecondary(piecenum) { - pieceIndex = laserflare; + piecenum = laserflare; return (0); } -AimWeapon2(heading, pitch) +AimSecondary(heading, pitch) { if( get PIECE_Y(head) > 0 ) { @@ -635,11 +670,11 @@ AimWeapon2(heading, pitch) } rightarm = 0; //call-script FixArms(0, 1); - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; - turn torso to y-axis heading speed <300.0> ; //-- Turn(torso, y-axis, heading, math.rad(300)) - turn rloarm to x-axis <-55> speed <390.0> ; //-- Turn(rloarm, x-axis, math.rad(-55), math.rad(390)) - turn ruparm to x-axis <-40> - pitch speed <390.0> ; //-- Turn(ruparm, x-axis, math.rad(-45) - pitch, math.rad(390)) + signal SIG_AIM; + set-signal-mask SIG_AIM; + turn torso to y-axis heading speed <300.0000> ; //-- Turn(torso, y-axis, heading, math.rad(300)) + turn rloarm to x-axis <-55> speed <390.0000> ; //-- Turn(rloarm, x-axis, math.rad(-55), math.rad(390)) + turn ruparm to x-axis <-40> - pitch speed <390.0000> ; //-- Turn(ruparm, x-axis, math.rad(-45) - pitch, math.rad(390)) wait-for-turn torso around y-axis; //wait-for-turn rloarm around x-axis; //wait-for-turn ruparm around x-axis; @@ -652,25 +687,25 @@ AimWeapon2(heading, pitch) return (1); } -FireWeapon2() +FireSecondary() { sleep 100; return (0); } -QueryWeapon3(pieceIndex) //dgun +QueryTertiary(piecenum) //dgun { - pieceIndex = lflare; + piecenum = lflare; return (0); } -AimFromWeapon3(pieceIndex) +AimFromTertiary(piecenum) { - pieceIndex = biggun; + piecenum = biggun; return (0); } -FireWeapon3() +FireTertiary() { //emit-sfx 1024 + 0 from lflare; isAimingDgun = 0; @@ -686,31 +721,31 @@ FireWeapon3() return (0); } -AimWeapon3(heading, pitch) +AimTertiary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; isAimingDgun = 1; isAiming = 1; leftArm = 0; //call-script FixArms(1, 0); - turn torso to y-axis heading speed <360.0> ; //-- Turn(torso, y-axis, heading, math.rad(300)) - turn biggun to x-axis <-85> speed <390.0> ; //-- Turn(biggun, x-axis, math.rad(-85), math.rad(390)) - turn luparm to x-axis <5> - pitch speed <390.0> ; //-- Turn(luparm, x-axis, math.rad(-5) - pitch, math.rad(390)) + turn torso to y-axis heading speed <360.0000> ; //-- Turn(torso, y-axis, heading, math.rad(300)) + turn biggun to x-axis <-85> speed <390.0000> ; //-- Turn(biggun, x-axis, math.rad(-85), math.rad(390)) + turn luparm to x-axis <5> - pitch speed <390.0000> ; //-- Turn(luparm, x-axis, math.rad(-5) - pitch, math.rad(390)) wait-for-turn torso around y-axis; //wait-for-turn biggun around x-axis; return (1); } -QueryWeapon4(pieceIndex) //ferret +QueryWeapon4(piecenum) //ferret { - pieceIndex = misflare; + piecenum = misflare; return (0); } -AimFromWeapon4(pieceIndex) +AimFromWeapon4(piecenum) { - pieceIndex = turretmis; + piecenum = turretmis; return (0); } @@ -722,24 +757,24 @@ FireWeapon4() AimWeapon4(heading, pitch) { - signal SIGNAL_AIM2; - set-signal-mask SIGNAL_AIM2; - turn turretmis to y-axis heading speed <250.0>; - turn misbox to x-axis <0> - pitch speed <200.0>; + signal SIG_AIM_2; + set-signal-mask SIG_AIM_2; + turn turretmis to y-axis heading speed <250.000000>; + turn misbox to x-axis <0> - pitch speed <200.000000>; wait-for-turn turretmis around y-axis; wait-for-turn misbox around x-axis; return (1); } -QueryWeapon5(pieceIndex) //shield +QueryWeapon5(piecenum) //shield { - pieceIndex = teleport; + piecenum = teleport; return (0); } -AimFromWeapon5(pieceIndex) +AimFromWeapon5(piecenum) { - pieceIndex = teleport; + piecenum = teleport; return (0); } @@ -754,7 +789,7 @@ AimWeapon5(heading, pitch) } SprayNano(heading, pitch){ - set-signal-mask SIGNAL_AIM1; + set-signal-mask SIG_AIM; sleep 1000; while (1){ @@ -768,15 +803,15 @@ SprayNano(heading, pitch){ StartBuilding(heading, pitch) { - signal SIGNAL_AIM1; - //set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + //set-signal-mask SIG_AIM; isBuilding = 1; rightArm = 0; - //turn torso to x-axis <0> speed <395.0> ; //-- Turn(torso, x-axis, 0, math.rad(395)) - //turn pelvis to x-axis <0> speed <395.0> ; //-- Turn(pelvis, x-axis, 0, math.rad(395)) - turn torso to y-axis heading speed <300.0> ; //-- Turn(torso, y-axis, heading, math.rad(300)) - turn rloarm to x-axis <-40> speed <390.0> ; //-- Turn(rloarm, x-axis, math.rad(-55), math.rad(390)) - turn ruparm to x-axis <-55> -pitch speed <390.0> ; //-- Turn(ruparm, x-axis, math.rad(-55) - pitch, math.rad(390)) + //turn torso to x-axis <0> speed <395.0000> ; //-- Turn(torso, x-axis, 0, math.rad(395)) + //turn pelvis to x-axis <0> speed <395.0000> ; //-- Turn(pelvis, x-axis, 0, math.rad(395)) + turn torso to y-axis heading speed <300.0000> ; //-- Turn(torso, y-axis, heading, math.rad(300)) + turn rloarm to x-axis <-40> speed <390.0000> ; //-- Turn(rloarm, x-axis, math.rad(-55), math.rad(390)) + turn ruparm to x-axis <-55> -pitch speed <390.0000> ; //-- Turn(ruparm, x-axis, math.rad(-55) - pitch, math.rad(390)) wait-for-turn ruparm around x-axis; set INBUILDSTANCE to 1; @@ -786,13 +821,25 @@ StartBuilding(heading, pitch) return (0); } + + + +TargetCleared(Func_Var_1) +{ + signal SIG_AIM; + set-signal-mask SIG_AIM; + call-script RestoreAfterDelay(); + return (0); +} + + StopBuilding() { rightArm = 1; isBuilding = 0; set INBUILDSTANCE to 0; - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; call-script RestoreAfterDelay(); return (0); } diff --git a/scripts/Units/legcomt2def.cob b/scripts/Units/legcomt2def.cob index 8c6189ed3797acc61ef993127b0c213aa71e11ac..b2445e0ca777170bd539718b917216ef88de6692 100644 GIT binary patch literal 21094 zcmdU136xdUm3>Tw4X8h&MuwPQt8oOSKyboD5M)whQgDcdg8D#7O@0apQPa4bB1pv{ zomPVqI-)FtC>j$rYE*)x6GMwYv=uc9tu_&ZiVBL*d*65N=hQ!^pgP*UR=>4wz2Tnu zoV)LR@BLS;lO#D7tutDE$0Rubdu}^NB+1?9B+1z$lcWdEe~EpIOv_9Q9JelOnIR3& zxlcxwWa4pCeUXoQP1{nPQ%;hFOtjXJ&AwzpN#;oGa29k?zLpVnNBQI-FV9;FZ82}5 zU+9tvZ8Fp|Uhzg7lTm5k5cDNk*e6@;k2<1EUZ?KJcOH+y7p~zj_D8;?e@UjdTqi00 zD~<_yTC;ObNr=n-Jf2XJ`96eF?|yPV9edKgIx4;1j@SFQ3b}dgwcWduY?5ikYuHHF ztE;8!wkxGesZzRSqb=Q#FZR&UH_CgWWvgJ1)_dW*Dcyl0kaUaw(9+PYI0^)?uY;mn z`I4pk&C990_KNPdWi5=n?rl?fq>J&~HrD#_5RHXi($Nnc&sDqzdlx)s`Sut2p+<}N z)(c+;CvIh*ruLJMP3zkzd?#IN^*w+-+8KNix_SR->DEa8{sAFy;zr@nr!N5W<>7w3J9Mj(r%d!+7 z*q3BmWsMKQIk!R?&m-pC1V-ApE~{h;=B#-=^+jXO{6j6>CI@p`_Of(~ zKTqY+)ac9B_7-!_ms-)7)Am1YO=TpP8gr_DVD)~uA=Rrf=O>PRFES{IwZ@#aCs}z7 zR48=xL&tLyE-;?IyTkIGD13B}o96pa_=Y<*RVwk|j`}FSVdH**Kh%Kat8CG(-AN`1 z<2KTre}c86i(tRTm^;5^=|)Q}lP=1;9WkQaTJL=h#=Lf$#q=E%g1C7Y(;LpwuXgoT ze!q2T{xrt4e9_AP_19AQ!8VE04`y0<<7G^dF2odiTRM8*ka{H@O{d=x6E6{a*Hu{g zud{&Qr-w0B!dH2|Kf(8^>AsJEVR+Ou0(TMylz!1k;>v4*u z`!*FquZJlIAing!=5Wh5S8ATJxsfhOI+=L>;@B_DdgE|sec01kZ>(_gSfench3MU} zz}okV_bfJSf62yu8P;y}pYCv@9}`hW#dYzP)CK8cJm1AZFRvBLxi(TANHRHX|!KAg$`sE3yZm{GJ_U{X8zU=ztEldLRF|J>TnY8_4 z=e~Q3j8VcMH`00Qmus4NPvkv^S<%zh#(VPIL1RtN;g;?mU@>#9v1Vhvt&NxdlGY@# zfgAmJYM!M#pN>MF#+o%xTDr}$ruMMr81zwo*)Yr3nGBH6RCCjLI7#@HU~c7gU28uT zyF&egkMdtT#?t**^1zagW91+xulp&wSi8e_S$VxSS?oEjmtB`k8V-fJ%$?XcGXdmU!CqAFKO5*h36;}R%&hwepr&)VXl=WI?3mwi6d9`^_IF=Ed)@$uu6txauTO>0kMkM}%gh4{$$abqmJXTYHoF$*+8 zSLW3G^uMKgHTKM3Y3<9DLI~t(?3wkj#i)x!9)~_R+Lyb;%EN6-kVm>$YZv~+(!HbT zm^K~Hp}-Ex|2OA;yPK?|D4Uz+8z+3fJi_X`P{u&834D})a)VtTdG}6BjPwz zRB6Ax)6q}r{m#{v?ghEW*7r`iqii1L^@kAX)fhF(xo5kb1`1uw!^I9=#a=M#K8fdl z++ywBCUYuEKWy~tzEiBd&&ZsmG3w*%th_g*{xwEj{*a~n0-#F2NXK|;togIpyScyR z>mciD52H2--@>fr`#E$_ANi<{etOS$o{)7gv4ENjf44T zpq|LbFmTg+|0H~Eo%!%l8H*aDF6-La*tO<$`+R4?vDW@+G#Ykjj5^%GsO^f5hpdy8 zpICYAeU!E9|d0=UksTrmi0Z{jSd}cq93H=G3C%FuA|mUJcnLs z<(Iyh%GVfm(H2YhvaGklxS|foKWnk2`;Nk%h^Y&&v2-_YYZ{|=i@i_RS-#aA2=LRx zsQodXY1g&gEMK+6QDf9x)L?PEz4u(JyIZ<>GCuZ&QIq94F6o#T+EU1QL zw4BnJ%faGf%j1*`8HVYVLcjix@1#nyRDi@7-$k{(ftkON~*zcUp{EBABN! z>g+cy-FcXUsaIpv(kWK&^AcN)QERI#-O=I)>F9@!=N%HysdFvgViLm+52Ka{-;t9n z-=#9oX^h%(jHO#6@zB`wb>|-L7A6#Skd7v?hK8)Lm~yAoxW=AyHdwmpGKPp1+!zna zW_`Ube%*bpwfCcq7Atzpvvilgwr6ZpEbYDIcuTkDlRb1HR-nr|{(th}9yt}o~sj0+(5#tGvU<}|_3Kgd`k9sSVpTrBY%G|Tec zFKctk=BD``7QR!nmT$bgHwrd^kM=kBo~turRBV5P!iwnUv(7W=L4t`eE%-^jV`{Cu zF(OZ6%Aiq}?l~q3dGIjhBk})`Z(6>c^4v+UKOS3T>E6J@Y|7W`k8zM&?0;6CCz3Au zKMXz;)4j46O!+358IS(BQ7`5jd`Rl2hbhMi-vr=mG2ammraY3hbl&@_N1Z%hpzfuj zpWgeb=VhJs_hQPGGDa{hg!y5z_~^Z_y3JXCc=t%neP89RKMu!DdvR=sZb@rHuRrd5 z!M-=SLf)HbOyPJbmWMJ8wM@Dg+jb7!+cMvhj#$B(x#lU0d85_66vzVIhtB-^s$hY} zr~{p`P_5)qFYS-{SuOc_5CvN7*ZRF+)CS?3k9{%UatEVMah?mke}sK+_FJcR|HzSYD_X)PlySe?P_Q9qat==Tv9@yGe42 z5EsVo;e)N-XVK3ZBweiCn4eE2KkKrVZ;R9*aei@3gk2hYdLC!#+AEBT@=mX^dHpXL%Nl!@Uu)^&`%7bgOE*c@4S@MV{_c3((*299mq|ze8OMk{Q^elUeJ$TJ9PCYC&kW%^6F6L) zmn)^7iCHn;9`<&rf$S&4+|8eJwndhfZqY)Es-X^k6e^s9c) zHR?JW+ry+bH1;egwKY1sKa3Kri1zhz=G!wJ?D@7s_Y{SQyqMF5epc^l=binwtF0d& zQwZc~>}hkqrMpg^EqmB=DDuU)ce%jw@i)$t?_p0j;k&xG<$GLV7DZ5gbMN8i_ptIH zBG{oZ>TKtC%$hFh{fl$YJyhOHYK%JYIjgrrX{r~lhE0$83i022&vm@asT!j$S#I+@ zUhE*IaATY@IcvwWQePUQmM*k(n_y>wFvGeUJ4+XAK-`5wQgv7v{O^9Xga+VI387dcud+KJWXka_2XE-uGQyocAt! z`@ZXRJO3_IlrQt#IBOKdG>cao3ponAqF(7%P8o z-*c@Jz6nko`%{TvTg-EF-*f$6f6v8lO!=)SYn|m8znNY2L5W<$*i_&BFm@5c+F&t5 zz7uh;%f0s-q8T7&-@%fDpaXw+jnA*R57!Vc?qj@mKAZNnlY4+h>!$5#-v_)X_!4*_ zYY{+4%Ov(hng8nag|P^}4<1SRcFB7*u3NZKR(;QO|2E!D>UaIMv`jdd{e(J#J# z(fajThWv3%r@3sM;dkV$Q}R$h&pA$LFR#Zv`(u9CpWr%A}2n$UI792D_EaNE@)LEY;sz zXn8HlrH#1lfv+v#Ye{C8q@MlXhVf|FZ!&va%b&s6Xmpr7hkMf%83u6&9ASwJ00`ieQs`|U_&x1eM^Yt#zaqAiOtUaD%NEGDKCtl|NItaOvzMZGz;AxRnbS>yD zx)yAZYuE+(hYi6&S(2dw`VeEP^NGuaxW?G9zm?F(ejPjZGya;MKI?PZ$n%(Y+NaM0 zrZthrD2KHX>`<~}orRn<(a-;bK^e4x|1Sc&f^CsM#9C_eT`ECMljok{iZ+`B`(y0p z4ov&vJ3+E>BVX(b7r>`;8T%riuHD!d`Qo^UG4OH`V;^H1<}KI|&tt5EOsU(f_!!4Q z94pDsFh=UqadH~)oOS`>U| zpUz|Ky9w`N$WNZ|e*r)ja|&sVPHyEKi#i9?rW=m+dLyMx{iq;? z)Nvq2?wcFmy~SV4h;eOdpOm!@<0$Btx#V|JSJ5W=s%tp@&zIFr&~g4;U(^@%|9{Ns zew+xtf}C=EHZ>*~9}ao1U&k)y;ba!o(~WWK-A8eMgKHY+k~z5lelW?fELnS$#d(JN z_}dPReX;MB753S3lC%kY5QBI$mKm-|{l@xhYRtxQ6n%;3v|IZcadGSJeUEX^-Z;kT zXYm-1K6_)F7!-ZLV>>q|u^+D~-TvSQfQ0*?3+v2eYm%Y7=ws9qWzpZHF2#m$Ec4wH z%NzSooiUeX4SVDj`-sN}>4p&=dFXGvPCF1>PghK0aZhXt^B&`yZH)gfaIzD8jXaxhZ`&Lmu9xwdf0Mb=wN3koYe;v2 zUgKPI<|xiXwBMVfICmH4mb$`*e8ywOM31Q?yC1Hkb0h5u_=EFkFT)f23-W<;NANlt z?P0tLD~ zbVSRd^+fB3HW+Oz+C;P(wApA^quq?Q5N#>i!)TA9J%zRs?Rm7dXs@8XiS{T zcB7SyNs{(x8MH&ux}ue$9gTK8S|7Ai(FUTOjW!PLVzjYSD|1y9BWvQpuPKIL?h!Vnc^{c;-O;c+nA+qvWF#fr7V4u zv32?K5X3YSg5Lf2W9RaLk)HCJAdAmY<&ld2hY<@xGlV&#-6 zGis82dX}%M<;AMWRS=QXAWunE`Se^qJ+I4E&8(cBa{AO{VtGEFt4hi%t7rG(-|wY=dnZ%N>+5POYwDBwTve{FHjjfDAg!;4bhL@J J-{US-`rkW<=qmsK literal 20913 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 literal 1803 zcmai#v1=4j5XNWkHkV3ymUdTK2(GaaY!bCl1PxdSR$1Leg2`RbE40@x*a%i4`7^A{ zUtlX(+K7#yqSz?-{ocMwUY7F`GBW=oQhSrj$O%~Cb5%Z#aAbkY>T1c^=xxgIZq0 zsv_R$h49Y3KeKtUBOLYYd^XI2o&76Cy%Jk{${jfR%!zRq-`fv5dVk+dw|zH&AJj}c z^eOXs4>0gR#~y(youjC(Oe$S=eisHTLf@>}vpQY`DYN^<2 heading ) { - set HEADING to (0 - 1500 + get HEADING); + set UNKNOWN_UNIT_VALUE(82) to 0 - 1500 + get UNKNOWN_UNIT_VALUE(82); heading = heading + 1500; sleep 1; } while( heading > 255 ) { - set HEADING to (1500 + get HEADING); + set UNKNOWN_UNIT_VALUE(82) to 1500 + get UNKNOWN_UNIT_VALUE(82); heading = heading - 1500; sleep 1; } @@ -65,12 +70,14 @@ AimWeapon1(heading, pitch) PostFire() { - move lgun to z-axis [-1.0] speed [50.0]; + show flare; + move lgun to z-axis [-1.00000] speed [50.000000]; sleep 200; - move lgun to z-axis [0] speed [10.0]; + move lgun to z-axis [0] speed [10.000000]; + hide flare; } -FireWeapon1() +FirePrimary() { start-script PostFire(); return (1); diff --git a/scripts/Units/legdrone.cob b/scripts/Units/legdrone.cob index 68fda16f3f9b1b247d9fc2d11da9466a3e70c9fd..afe3d91339d6797f451d9dc010e34bea30e5e6a0 100644 GIT binary patch literal 2710 zcmbVOv2GJV5FIBMCs3fJK!SqkC=fyd$x1=(h!BXNFmym;Cpm-B8HbA#6bcj}I+~QU zd_C8h z1AfazY=%p{>TU)*w`R8*crIaaDQZOS0e)PsGPvgRsP1sWFvrA#3gjG~BbM1DU?>-3 zFyefAHpDIins~O(GZ$(!T<($0ab=ux2OimDJF>A4iy?(P1Gmn_*9OecJ9AMtTgzp= zJ1q}}Tk;TajR*5j%fnCHZ}wU85OC4{u>YEWUKyu#W6yXy$7jgy&j}RTbq?{J!80JW ziX*q11c%ON@gV>?H$L~gmuuMDTxn-Mn%o^z$wB^9&}-$MrWq zDtNZ3)2IDA+^cj67LQTJ!5-Jl9*mn$*u?Ry!E%2;lbbmw%7?oCm(Tjq8pt*Hr%qgv zm9P#5yxVNi=I}%7s%XFby83t+qd2=8rH}Zo>i8YzkM=Sz=EZr$yc0tpL+^}d zFIHoUJ#h}PN)vp$MV%LIDNJX5dLBNmyuWe271~0+Wi-mO?03?9Ow2Pd08{ky~K zhr!Mo$JMdLxKKwu)WJt^(mHHLv(&+wXUV0cPuVlud;%hxkPPw$Qb0aHjv>Dwe<1w7 z>=NV(WEpZBau4zV(ttdNWRM*44)PxI5%L-G1#$%0*v_*@z5T3^`$g93XR^B0@9a}q z%UY&B-OGxDM$zfEiUV2gbk~bsH`j?y1?PHo z=lZ*HB@_`fDxxpMq|8Q{6eNxJOvb1f> zS7f7(+1w6yjP10?__%h471yg}i>J+3^z|2mk8NNc#9?!(^^p2HV}3u6a+tC3%o_hC zIp9B`CHMQ-lRQtKRJgh0^ZCNeUqv=%YMAwAvkCTy{KkWd%?;*!tf`tiHM??NH#MMJ zPWGWQ4!`3sT=>sRCkE4Qc;h(Fo94WBK0IGJ=OxcZ=rBZZJQG%+~Uu8qQ{JIO^OAhuzM= zmU*M|8sq-S8*rAFxwqyW_YrWE10Qo^KFoxN%g+GkNJ;Nqm!EOntZOX1SaWk?Xj)#!)5$2?*K7@_j2H+pKiRX#3)ZU-f=L2_fFvD@#x08Ld+Jt z^!C5lciY5bURI%RB_AXoC0`_8CBG$os_meJkM%LhNy%BsMafmksN{hplRT9yN|q!q zB(EiJB=04wlA9CN>_%-NtGjFUtkTHb(0F5N0p)sDF?Do4t3SJ!Rc3257u?X)^l-g4 z9W6~Asm(Qpr|OyGpBZmWRjb*A8>`G^Zn9dDxACMtKiBY<0avZoD)nhseLO$os*?o& E1#@=7X8-^I diff --git a/scripts/Units/legfig.bos b/scripts/Units/legfig.bos index 73342495c72..7e52199e284 100644 --- a/scripts/Units/legfig.bos +++ b/scripts/Units/legfig.bos @@ -1,9 +1,26 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece flarer, flarel, base, thrust, wingl, wingr, wingl2, wingr2, gunl, gunr; -static-var gun_1; +static-var Static_Var_1, gun_1, statechg_DesiredState, statechg_StateChanging; + + +activatescr() +{ + show thrust; + sleep 66; + return (0); +} + +deactivatescr() +{ + hide thrust; + sleep 66; + return (0); +} #define BASEPIECE base #define HITSPEED <105.0> @@ -11,60 +28,132 @@ static-var gun_1; #define UNITSIZE 1 #define MAXTILT 100 +InitState() +{ + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; + return (0); +} -#define BARRELROLLSPEEED <200> -#include "air_barrelroll.h" +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + call-script activatescr(); + currentstate = 0; + } + if( statechg_DesiredState == 1 ) + { + call-script deactivatescr(); + currentstate = 1; + } + } + statechg_StateChanging = FALSE; + return (0); +} +static-var maxSpeed, currentSpeed; +BarrelRoll() // remember to start-script BarrelRoll(); in Create()! +{ + currentSpeed = (get CURRENT_SPEED); + maxSpeed = (get MAX_SPEED); + + while (TRUE){ + sleep 2000; + currentSpeed = (get CURRENT_SPEED); + //get PRINT(maxSpeed, currentSpeed, Static_Var_1); + if( Rand( 1, 5 ) == 1 AND (maxSpeed < (currentSpeed+100) ) ) + { + turn base to z-axis <240.054945> speed <120.027473>; + wait-for-turn base around z-axis; + turn base to z-axis <120.027473> speed <180.043956>; + wait-for-turn base around z-axis; + turn base to z-axis <0.000000> speed <120.027473>; + } + } +} Create() { hide flarel; hide flarer; hide thrust; + Static_Var_1 = 0; gun_1 = 0; + call-script InitState(); start-script BarrelRoll(); - + return (0); } Activate() { - show thrust; + start-script RequestState(0); + return (0); } Deactivate() { - hide thrust; + start-script RequestState(1); + return (0); } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { return (1); } -FireWeapon1() +FirePrimary() { gun_1 = !gun_1; + return (0); } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = flarer + gun_1; + if( gun_1 == 0 ) + { + piecenum = flarer; + } + if( gun_1 == 1 ) + { + piecenum = flarel; + } + return (0); } -AimWeapon2(heading, pitch) +AimSecondary(heading, pitch) { return (1); } -FireWeapon2() +FireSecondary() { gun_1 = !gun_1; + return (0); +} + +QuerySecondary(piecenum) +{ + + piecenum = gun_1; + return (0); } -QueryWeapon2(pieceIndex) +SweetSpot(piecenum) { - pieceIndex = flarer + gun_1; + piecenum = base; + return (0); } Killed(severity, corpsetype) diff --git a/scripts/Units/legfig.cob b/scripts/Units/legfig.cob index 0b28e4552e4ae0775bbb843f5aa1312e8d8fa68e..d1f95b0bba8aa446efa63578b2d36fa5e8b691bf 100644 GIT binary patch literal 2532 zcmds3J!lkB5T0Bv8x0n(un`f~<yKmKG+88q%COgV@NOch9)Gx#+t+V=Au_Yr$Fz z2}H27u}dW>ECOO9h_#)CU=z^qd;2E4hP#Lef-ZbF|MO<%%`R6J5d%yB;}wwzl+VQj zB9DMAU=s2dP^pO-1sO3FGYcwHBZfR#sYON_``hU|0@vzP#o#EPhoO`;FJ+%AMqZ$b z7}}%}nG+z0^ylr(!I*M>#xR!WRFI$N?v35G!;f}pjG>3fTm`GPqQBfWN52@ohDYss zMmf&stmSc6LY&uu*IG4B&P3)^(9?C$Oc-;F#<*%|9|KF>d`VXgy1bvrtOt2}989>c zK{@EpT+At$y4EMCpFJ@zsh-*PexpVV`n!|&_#8UMEiUGC;{_D4bR}{TcM-5J>sCqK!OvSNVS6 z8ACnoaiD!r&8K@FLq(rHsM`G94vC}Nu$;aR#F28J%6(5$7y5n-2jb6`v#RCiBzR{QoZ{V(?XZ|pKlkT3d<4D$J3tlpeF!)V@c+dQFmVtva2%KfP6DTa3%~+!4Y&>52Oa`XfTzGZ@Dg|h zyaqObH^5uq9q0FqWrCulHkCPuxJJqTH literal 1527 zcmc(fv1=4T6vp4(?cISkQ=}0Tu1aNb*}uT(5s(y~0V6g^Hp!T*OfJV{PZ0~XOO-|l z1T40(u}l{N!6IN|5lEFP*rW@Hm8IV|I}`T~5(Gt;`|W%4=9~9s<}DYA$aQcHj8{bP zbI)NU@(tXqi`+(}11qhnA{A9t(^R!0Rc#}NhcUNyp`oVy_^1h|U2*zb6nQ;$K~KBP zITbnG82wfq(IPKx&=;2y2dLG7oH@FW3Y&lAdQnvv!nuPQ9KVkruYc)Bbr~0U zUC4*XrTOGeL-B~L;dI>w_9Xruq=;e6@<9`|y;ec%pD-s}-yPPw*hmf+EA@i+!x*|z zo3Re{TQF> z&^$lavOe@6_j;Q0ysP8u@%-g|#T5H}ef8_y_tpNt`&ugPtBC{fJUr)B_qD|}xWB)B zU%yj3AE~|V$A8)@rnwKEfH}Z>Sp|LY3cLZE;2q%q*aI*N=D{;C0B^w-*a08FF4zN~ zz-RCU9D@^Z3eLbe_zvzS)@n1eZj9WsI?1$5E@kO+Ivt$^cQRdjtdstFZ$hS0tAqb= zpzX^rxX{EUO)Mo%EYqnmdRd;D#A;g@Ba6v~mTc7yHZpmU_EwC0+rp2FK`bkSp5e>N EPcNd7*Z=?k diff --git a/scripts/Units/legfloat.bos b/scripts/Units/legfloat.bos index 9a2e21bc071..ece4d8006b5 100644 --- a/scripts/Units/legfloat.bos +++ b/scripts/Units/legfloat.bos @@ -1,14 +1,16 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece hull, lankle, lwheel, rankle, rwheel, turret, gun, barrel, flare, aaturret, aagun, aabarrel, aaflare, smoke, fwater; -static-var restore_delay, oldheading, isAiming, Stunned, moving; +static-var restore_delay, oldheading, bAiming, Stunned, moving; // Signal definitions -#define SIGNAL_AIM1 256 -#define SIGNAL_AIM2 512 +#define SIG_AIM 2 +#define SIG_AIM_2 4 Steering(heading, steery, currentspeed) @@ -19,12 +21,12 @@ Steering(heading, steery, currentspeed) { if( get GROUND_WATER_HEIGHT(get UNIT_XZ) > 0 ) { - turn rankle to x-axis <0.0> speed <100.0>; - turn lankle to x-axis <0.0> speed <100.0>; + turn rankle to x-axis <0.000000> speed <100.000000>; + turn lankle to x-axis <0.000000> speed <100.000000>; heading = get HEADING; steery = ( heading - oldheading ) * 3; - turn rankle to y-axis steery speed <75.0>; - turn lankle to y-axis steery speed <75.0>; + turn rankle to y-axis steery speed <75.000000>; + turn lankle to y-axis steery speed <75.000000>; currentspeed = <5.5> * ((get CURRENT_SPEED) * 100 / get MAX_SPEED); if( currentspeed < <100> ) { @@ -37,13 +39,13 @@ Steering(heading, steery, currentspeed) } if( get GROUND_WATER_HEIGHT(get UNIT_XZ) <= 0 ) { - turn rankle to y-axis <0.0> speed <75.0>; - turn lankle to y-axis <0.0> speed <75.0>; - stop-spin rwheel around x-axis decelerate <5.0>; - stop-spin lwheel around x-axis decelerate <5.0>; + turn rankle to y-axis <0.000000> speed <75.000000>; + turn lankle to y-axis <0.000000> speed <75.000000>; + stop-spin rwheel around x-axis decelerate <5.000000>; + stop-spin lwheel around x-axis decelerate <5.000000>; sleep 50; - turn rankle to x-axis <-30.0> speed <50.0>; - turn lankle to x-axis <-30.0> speed <50.0>; + turn rankle to x-axis <-30.000000> speed <50.000000>; + turn lankle to x-axis <-30.000000> speed <50.000000>; } } } @@ -71,42 +73,91 @@ Wake() } } +SmokeUnit(healthpercent, sleeptime, smoketype) +{ + while( get BUILD_PERCENT_LEFT ) + { + sleep 400; + } + while( TRUE ) + { + healthpercent = get HEALTH; + if( healthpercent < 66 ) + { + smoketype = 256 | 2; + if( Rand( 1, 66 ) < healthpercent ) + { + smoketype = 256 | 1; + } + emit-sfx smoketype from smoke; + } + sleeptime = healthpercent * 50; + if( sleeptime < 200 ) + { + sleeptime = 200; + } + sleep sleeptime; + } +} + +HitByWeapon(Func_Var_1, Func_Var_2, Func_Var_3, Func_Var_4) +{ + Func_Var_4 = Func_Var_3 / 100 * 4; + if( Func_Var_4 < 3 ) + { + return (0); + } + if( Func_Var_4 > 100 ) + { + Func_Var_4 = 100; + } + turn hull to z-axis Func_Var_2 * Func_Var_4 / <0.549451> speed <85.000000>; + turn hull to x-axis <0.000000> - Func_Var_1 * Func_Var_4 / <0.549451> speed <85.000000>; + wait-for-turn hull around z-axis; + wait-for-turn hull around x-axis; + turn hull to z-axis <0.000000> speed <85.000000> / <0.021978>; + turn hull to x-axis <0.000000> speed <85.000000> / <0.021978>; +} -StartMoving(reversing) +HitByWeaponId(Func_Var_1, Func_Var_2, Func_Var_3, Func_Var_4) +{ + start-script HitByWeapon(Func_Var_4,Func_Var_2,Func_Var_1); + return (100); +} + +StartMoving() { start-script Steering(); moving = 1; - turn hull to x-axis <-7.0> speed <11.0>; + turn hull to x-axis <-7.000000> speed <11.000000>; wait-for-turn hull around x-axis; - turn hull to x-axis <0.0> speed <11.0>; + turn hull to x-axis <0.000000> speed <11.000000>; } StopMoving() { moving = 0; - turn hull to x-axis <1.0> speed <5.0>; + turn hull to x-axis <1.000000> speed <5.000000>; wait-for-turn hull around x-axis; - turn hull to x-axis <0.0> speed <5.0>; + turn hull to x-axis <0.000000> speed <5.000000>; signal 8; stop-spin rwheel around x-axis; stop-spin lwheel around x-axis; } -#define SMOKE_PIECE hull -#include "../damagedsmoke.h" + Create() { hide flare; hide fwater; moving= 0; restore_delay = 3000; + start-script SmokeUnit(); start-script Wake(); - SLEEP_UNTIL_UNITFINISHED; - start-script DamagedSmoke(); } -SetMaxReloadTime(reloadMS) +SetMaxReloadTime(Func_Var_1) { - restore_delay = reloadMS * 2; + restore_delay = Func_Var_1 * 2; } ExecuteRestoreAfterDelay() @@ -116,11 +167,11 @@ ExecuteRestoreAfterDelay() return (1); } set-signal-mask 0; - turn turret to y-axis <0.0> speed <90.0>; - turn gun to x-axis <0.0> speed <50.0>; - turn aaturret to y-axis <0.0> speed <120.0>; - turn aagun to x-axis <0.0> speed <70.0>; - stop-spin aabarrel around z-axis decelerate <5.0>; + turn turret to y-axis <0.000000> speed <90.000000>; + turn gun to x-axis <0.000000> speed <50.000000>; + turn aaturret to y-axis <0.000000> speed <120.000000>; + turn aagun to x-axis <0.000000> speed <70.000000>; + stop-spin aabarrel around z-axis decelerate <5.000000>; } SetStunned(State) @@ -134,20 +185,20 @@ SetStunned(State) RestoreAfterDelay() { - stop-spin aabarrel around z-axis decelerate <5.0>; + stop-spin aabarrel around z-axis decelerate <5.000000>; sleep restore_delay; start-script ExecuteRestoreAfterDelay(); } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; - turn turret to y-axis heading speed <60.0>; - turn gun to x-axis <0.0> - pitch speed <30.0>; + signal SIG_AIM; + set-signal-mask SIG_AIM; + turn turret to y-axis heading speed <60.000000>; + turn gun to x-axis <0.000000> - pitch speed <30.000000>; wait-for-turn turret around y-axis; wait-for-turn gun around x-axis; - isAiming = heading; + bAiming = heading; start-script RestoreAfterDelay(); return (1); } @@ -156,25 +207,25 @@ Rock_Main_Cannon() { if( get GROUND_WATER_HEIGHT(get UNIT_XZ) >= 0 ) { - turn hull to z-axis <0.0> - (GET KSIN(isAiming)) * 3 / 2 speed <125.0>; - turn hull to x-axis <0.0> - (GET KCOS(isAiming)) * 9 / 10 speed <75.0>; + turn hull to z-axis <0.000000> - (GET KSIN(bAiming)) * 3 / 2 speed <125.000000>; + turn hull to x-axis <0.000000> - (GET KCOS(bAiming)) * 9 / 10 speed <75.000000>; wait-for-turn hull around z-axis; wait-for-turn hull around x-axis; - turn hull to z-axis <0.0> speed <45.0>; - turn hull to x-axis <0.0> speed <27.0>; + turn hull to z-axis <0.000000> speed <45.000000>; + turn hull to x-axis <0.000000> speed <27.000000>; } if( get GROUND_WATER_HEIGHT(get UNIT_XZ) < 0 ) { - turn hull to z-axis <0.0> - (GET KSIN(isAiming)) * 3 speed <125.0>; - turn hull to x-axis <0.0> - (GET KCOS(isAiming)) * 9 / 5 speed <75.0>; + turn hull to z-axis <0.000000> - (GET KSIN(bAiming)) * 3 speed <125.000000>; + turn hull to x-axis <0.000000> - (GET KCOS(bAiming)) * 9 / 5 speed <75.000000>; wait-for-turn hull around z-axis; wait-for-turn hull around x-axis; - turn hull to z-axis <0.0> speed <15.0>; - turn hull to x-axis <0.0> speed <9.0>; + turn hull to z-axis <0.000000> speed <15.000000>; + turn hull to x-axis <0.000000> speed <9.000000>; } } -AimWeapon2(heading, pitch) +AimSecondary(heading, pitch) { var gun_xz; gun_xz = get PIECE_XZ(gun); //get packed gun coordinates @@ -223,53 +274,56 @@ AimWeapon2(heading, pitch) var trueaim; trueaim = cauaim - cauface; //calculate angle of turret relative to the hull - signal SIGNAL_AIM2; - set-signal-mask SIGNAL_AIM2; - turn aaturret to y-axis heading + trueaim speed <300.0>; //add the result to the y axis heading - turn aagun to x-axis <0.0> - pitch speed <65.0>; //the rest of the AimWeapon2 script + signal SIG_AIM_2; + set-signal-mask SIG_AIM_2; + turn aaturret to y-axis heading + trueaim speed <300.000000>; //add the result to the y axis heading + turn aagun to x-axis <0.000000> - pitch speed <65.000000>; //the rest of the AimSecondary script wait-for-turn aaturret around y-axis; wait-for-turn aagun around x-axis; start-script RestoreAfterDelay(); return (1); } -FireWeapon1() +FirePrimary() { start-script Rock_Main_Cannon(); emit-sfx 1024 + 0 from flare; emit-sfx 1024 + 3 from fwater; - move barrel to z-axis [-3.0] speed [500.0]; + move barrel to z-axis [-3.0000] speed [500.000000]; wait-for-move barrel along z-axis; - move barrel to z-axis [0.0] speed [3.0]; + move barrel to z-axis [0.000000] speed [3.000000]; } -FireWeapon2() +FireSecondary() { - spin aabarrel around z-axis speed <900.0>; + spin aabarrel around z-axis speed <900.000000>; return (1); } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = gun; + piecenum = gun; } -AimFromWeapon2(pieceIndex) +AimFromSecondary(piecenum) { - pieceIndex = aagun; + piecenum = aagun; } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = flare; + piecenum = flare; } -QueryWeapon2(pieceIndex) +QuerySecondary(piecenum) { - pieceIndex = aaflare; + piecenum = aaflare; } - +SweetSpot(piecenum) +{ + piecenum = hull; +} Killed(severity, corpsetype) { diff --git a/scripts/Units/legfort.bos b/scripts/Units/legfort.bos index 6a8a01e9674..0182bf8ba58 100644 --- a/scripts/Units/legfort.bos +++ b/scripts/Units/legfort.bos @@ -1,5 +1,7 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, link, thrustrr, thrustrl, thrustfr, thrustfl, thrustrra, thrustrla, thrustfra, thrustfla, radar, turret, sleeve, barrel1, flare1, barrel2, flare2, barrel3, flare3, turretr, sleevesr, barrel1r, flare1r, barrel2r, flare2r, @@ -9,9 +11,9 @@ piece base, link, thrustrr, thrustrl, thrustfr, thrustfl, thrustrra, thrustrla, static-var restore_delay, v1, gun_1, gun_2, gun_3; // Signal definitions -#define SIGNAL_AIM1 256 -#define SIGNAL_AIM2 512 -#define SIGNAL_AIM3 1024 +#define SIG_AIM 4 +#define SIG_AIM_2 8 +#define SIG_AIM_3 16 #define BASEPIECE base #define HITSPEED <55.0> @@ -41,8 +43,11 @@ Create() turn thrustfra to x-axis <-90> now; turn thrustrla to x-axis <-90> now; turn thrustfla to x-axis <-90> now; - spin radar around y-axis speed <60.0>; - SLEEP_UNTIL_UNITFINISHED; + spin radar around y-axis speed <60.000000>; + while( get BUILD_PERCENT_LEFT ) + { + sleep 400; + } sleep 1500; } @@ -62,59 +67,62 @@ Deactivate() hide thrustfla; } +SweetSpot(piecenum) +{ + piecenum = base; +} - -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { if( gun_1 == 1 ) { - pieceIndex = flare1; + piecenum = flare1; } if( gun_1 == 2 ) { - pieceIndex = flare2; + piecenum = flare2; } if( gun_1 == 3 ) { - pieceIndex = flare3; + piecenum = flare3; } } -QueryWeapon2(pieceIndex) +QuerySecondary(piecenum) { if( gun_2 == 0 ) { - pieceIndex = flare2r; + piecenum = flare2r; } if( gun_2 == 1 ) { - pieceIndex = flare1r; + piecenum = flare1r; } if( gun_2 == 2 ) { - pieceIndex = flare2r; + piecenum = flare2r; } } -QueryWeapon3(pieceIndex) +QueryTertiary(piecenum) { if( gun_3 == 0 ) { - pieceIndex = flare2l; + piecenum = flare2l; } if( gun_3 == 1 ) { - pieceIndex = flare1l; + piecenum = flare1l; } if( gun_3 == 2 ) { - pieceIndex = flare2l; + piecenum = flare2l; } } -SetMaxReloadTime(reloadMS) +SetMaxReloadTime(Func_Var_1) { - restore_delay = reloadMS * 2; + restore_delay = Func_Var_1 * 2; } static-var Stunned; @@ -123,8 +131,8 @@ ExecuteRestoreAfterDelay() if (Stunned) { return (1); } - turn base to y-axis <0.0> speed <250.0>; - turn base to x-axis <0.0> speed <250.0>; + turn base to y-axis <0.000000> speed <250.000000>; + turn base to x-axis <0.000000> speed <250.000000>; turn turret to z-axis <0> speed <250>; turn sleeve to x-axis <0> speed <250>; @@ -147,7 +155,7 @@ RestoreAfterDelay() start-script ExecuteRestoreAfterDelay(); } -StartMoving(reversing) +StartMoving() { sleep 1000; } @@ -158,51 +166,51 @@ StopMoving() MoveRate0() { - turn thrustrr to x-axis <0.0> speed <80.0>; - turn thrustrl to x-axis <0.0> speed <80.0>; - turn thrustfr to x-axis <0.0> speed <80.0>; - turn thrustfl to x-axis <0.0> speed <80.0>; + turn thrustrr to x-axis <0.000000> speed <80.000000>; + turn thrustrl to x-axis <0.000000> speed <80.000000>; + turn thrustfr to x-axis <0.000000> speed <80.000000>; + turn thrustfl to x-axis <0.000000> speed <80.000000>; } MoveRate1() { - turn thrustrr to x-axis <8.0> speed <60.0>; - turn thrustrl to x-axis <8.0> speed <60.0>; - turn thrustfr to x-axis <8.0> speed <60.0>; - turn thrustfl to x-axis <8.0> speed <60.0>; + turn thrustrr to x-axis <8.000000> speed <60.000000>; + turn thrustrl to x-axis <8.000000> speed <60.000000>; + turn thrustfr to x-axis <8.000000> speed <60.000000>; + turn thrustfl to x-axis <8.000000> speed <60.000000>; } MoveRate2() { - turn thrustrr to x-axis <18.0> speed <45.0>; - turn thrustrl to x-axis <18.0> speed <45.0>; - turn thrustfr to x-axis <18.0> speed <45.0>; - turn thrustfl to x-axis <18.0> speed <45.0>; + turn thrustrr to x-axis <18.000000> speed <45.000000>; + turn thrustrl to x-axis <18.000000> speed <45.000000>; + turn thrustfr to x-axis <18.000000> speed <45.000000>; + turn thrustfl to x-axis <18.000000> speed <45.000000>; } MoveRate3() { - turn thrustrr to x-axis <0.0> speed <70.0>; - turn thrustrl to x-axis <0.0> speed <70.0>; - turn thrustfr to x-axis <0.0> speed <70.0>; - turn thrustfl to x-axis <0.0> speed <70.0>; + turn thrustrr to x-axis <0.000000> speed <70.000000>; + turn thrustrl to x-axis <0.000000> speed <70.000000>; + turn thrustfr to x-axis <0.000000> speed <70.000000>; + turn thrustfl to x-axis <0.000000> speed <70.000000>; } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; turn turret to y-axis heading speed <70>; - turn sleeve to x-axis <0.0> - pitch speed <50.0>; + turn sleeve to x-axis <0.000000> - pitch speed <50.000000>; wait-for-turn turret around y-axis; wait-for-turn sleeve around x-axis; return (1); } -AimWeapon2(heading, pitch) +AimSecondary(heading, pitch) { - signal SIGNAL_AIM2; - set-signal-mask SIGNAL_AIM2; + signal SIG_AIM_2; + set-signal-mask SIG_AIM_2; var aimto; var aimsl; aimto= <90> + heading; @@ -216,17 +224,17 @@ AimWeapon2(heading, pitch) if (aimto < <0>){ aimsl = -2 * aimto / 3; } - turn sleevesr to z-axis pitch - aimsl speed <300.0>; - turn turretr to x-axis -1*aimto speed <300.0>; + turn sleevesr to z-axis pitch - aimsl speed <300.000000>; + turn turretr to x-axis -1*aimto speed <300.000000>; wait-for-turn sleevesr around z-axis; wait-for-turn turretr around x-axis; return (1); } -AimWeapon3(heading, pitch) +AimTertiary(heading, pitch) { - signal SIGNAL_AIM3; - set-signal-mask SIGNAL_AIM3; + signal SIG_AIM_3; + set-signal-mask SIG_AIM_3; var aimto; var aimsl; aimto= <-90> + heading; @@ -240,28 +248,28 @@ AimWeapon3(heading, pitch) if (aimto < <0>){ aimsl = -2 * aimto / 3; } - turn sleevesl to z-axis -1*pitch + aimsl speed <300.0>; - turn turretl to x-axis aimto speed <300.0>; + turn sleevesl to z-axis -1*pitch + aimsl speed <300.000000>; + turn turretl to x-axis aimto speed <300.000000>; wait-for-turn sleevesl around z-axis; wait-for-turn turretl around x-axis; return (1); } -FireWeapon1() +FirePrimary() { if( gun_1 == 1 ) { emit-sfx 1024 + 0 from flare1; move barrel1 to z-axis [-3.001648] now; sleep 100; - move barrel1 to z-axis [0.0] speed [1.000549]; + move barrel1 to z-axis [0.000000] speed [1.000549]; } if( gun_1 == 2 ) { emit-sfx 1024 + 0 from flare2; move barrel2 to z-axis [-3.001648] now; sleep 100; - move barrel2 to z-axis [0.0] speed [1.000549]; + move barrel2 to z-axis [0.000000] speed [1.000549]; } if( gun_1 == 3 ) { @@ -269,19 +277,19 @@ FireWeapon1() emit-sfx 1024 + 0 from flare3; move barrel3 to z-axis [-3.001648] now; sleep 100; - move barrel3 to z-axis [0.0] speed [1.000549]; + move barrel3 to z-axis [0.000000] speed [1.000549]; } ++gun_1; } -FireWeapon2() +FireSecondary() { if( gun_2 == 1 ) { emit-sfx 1024 + 0 from flare1r; move barrel1r to x-axis [-2] now; sleep 100; - move barrel1r to x-axis [0.0] speed [5]; + move barrel1r to x-axis [0.000000] speed [5]; } if( gun_2 == 2 ) { @@ -289,19 +297,19 @@ FireWeapon2() emit-sfx 1024 + 0 from flare2r; move barrel2r to x-axis [-2] now; sleep 100; - move barrel2r to x-axis [0.0] speed [5]; + move barrel2r to x-axis [0.000000] speed [5]; } ++gun_2; } -FireWeapon3() +FireTertiary() { if( gun_3 == 1 ) { emit-sfx 1024 + 0 from flare1l; move barrel1l to x-axis [2] now; sleep 100; - move barrel1l to x-axis [0.0] speed [5]; + move barrel1l to x-axis [0.000000] speed [5]; } if( gun_3 == 2 ) { @@ -309,24 +317,24 @@ FireWeapon3() emit-sfx 1024 + 0 from flare2l; move barrel2l to x-axis [2] now; sleep 100; - move barrel2l to x-axis [0.0] speed [5]; + move barrel2l to x-axis [0.000000] speed [5]; } ++gun_3; } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = turret; + piecenum = turret; } -AimFromWeapon2(pieceIndex) +AimFromSecondary(piecenum) { - pieceIndex = turretr; + piecenum = turretr; } -AimFromWeapon3(pieceIndex) +AimFromTertiary(piecenum) { - pieceIndex = turretl; + piecenum = turretl; } Killed(severity, corpsetype) diff --git a/scripts/Units/legfort.cob b/scripts/Units/legfort.cob index a9366c2f714e74810d2d907d9b914bca4e5cf969..a1c344d540557a2f513086b328c1288044c3b4f5 100644 GIT binary patch literal 7836 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 cbYk9#x|^V;0*qO; - turn base to z-axis <0> - anglez speed <50.0>; + turn base to x-axis anglex speed <50.000000>; + turn base to z-axis <0> - anglez speed <50.000000>; wait-for-turn base around z-axis; wait-for-turn base around x-axis; - turn base to z-axis <0.0> speed <20.0>; - turn base to x-axis <0.0> speed <20.0>; + turn base to z-axis <0.000000> speed <20.000000>; + turn base to x-axis <0.000000> speed <20.000000>; } Create() @@ -39,28 +62,39 @@ Create() hide smoke1; hide flare; hide smoke2; + bMoving = FALSE; + moveSpeed = get (MAX_SPEED); + animSpeed = 100; restore_delay = 200; } -SetMaxReloadTime(reloadMS) +setSFXoccupy(state) +{ + terrain = state; +} + +SetMaxReloadTime(Func_Var_1) { - restore_delay = reloadMS * 2; + restore_delay = Func_Var_1 * 2; } -StartMoving(reversing) +StartMoving() { + bMoving = TRUE; spin lwheel around x-axis speed <110> accelerate <5>; spin rwheel around x-axis speed <110> accelerate <5>; - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; - start-script Vehicle_Dirt_Ceg(); + signal SIG_MOVE; + set-signal-mask SIG_MOVE; + start-script UnitSpeed(); + start-script Smoke(); } StopMoving() { - signal SIGNAL_MOVE; + bMoving = FALSE; + signal SIG_MOVE; stop-spin lwheel around x-axis; stop-spin rwheel around x-axis; } @@ -71,16 +105,16 @@ ExecuteRestoreAfterDelay() if (Stunned) { return (1); } - turn turret to y-axis <0.0> speed <50.0>; - turn sleeve to x-axis <0.0> speed <25.0>; - spin barrel around z-axis speed <600.0>; + turn turret to y-axis <0.000000> speed <50.000000>; + turn sleeve to x-axis <0.000000> speed <25.000000>; + spin barrel around z-axis speed <600.000000>; sleep restore_delay; - spin barrel around z-axis speed <300.0>; + spin barrel around z-axis speed <300.000000>; sleep (restore_delay / 2); - spin barrel around z-axis speed <150.0>; + spin barrel around z-axis speed <150.000000>; sleep (restore_delay / 4); stop-spin barrel around z-axis; - wpn1_lasthead = 0xbadface; + wpn1_lasthead = 1000000; set-signal-mask 0; } SetStunned(State) @@ -96,15 +130,15 @@ RestoreAfterDelay() start-script ExecuteRestoreAfterDelay(); } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; - turn turret to y-axis heading speed <120.0>; - turn sleeve to x-axis <0.0> - pitch speed <65.0>; - if ((wpn1_lasthead == 0xbadface) OR ABSOLUTE_GREATER_THAN(WRAPDELTA(heading - wpn1_lasthead), <7>)) + signal SIG_AIM; + set-signal-mask SIG_AIM; + turn turret to y-axis heading speed <120.000000>; + turn sleeve to x-axis <0.000000> - pitch speed <65.000000>; + if (((get ABS(wpn1_lasthead - heading)) > 65536) OR(((get ABS(wpn1_lasthead - heading)) > 1300) AND ((get ABS(wpn1_lasthead - heading)) < 64236))) { - wpn1_lasthead = 0xbadface; + wpn1_lasthead = 1000000; wait-for-turn turret around y-axis; wait-for-turn sleeve around x-axis; } @@ -113,31 +147,34 @@ AimWeapon1(heading, pitch) return (1); } -FireWeapon1() +FirePrimary() { - spin barrel around z-axis speed <900.0>; + spin barrel around z-axis speed <900.000000>; return (1); } Shot1(zero) { - signal SIGNAL_SHOOT1; - set-signal-mask SIGNAL_SHOOT1; + signal SIG_FIRE1; + set-signal-mask SIG_FIRE1; emit-sfx 1024 + 0 from flare; return(1); } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = flare; + piecenum = flare; } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = sleeve; + piecenum = sleeve; } - +SweetSpot(piecenum) +{ + piecenum = base; +} Killed(severity, corpsetype) { @@ -147,6 +184,15 @@ Killed(severity, corpsetype) explode base type BITMAPONLY | NOHEATCLOUD; explode raxle type BITMAPONLY | NOHEATCLOUD; explode rwheel type BITMAPONLY | NOHEATCLOUD; + //explode turret type BITMAPONLY | NOHEATCLOUD; + //explode rsleeve type BITMAPONLY | NOHEATCLOUD; + //explode rbarrel type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rflare type BITMAPONLY | NOHEATCLOUD; + //explode lsleeve type BITMAPONLY | NOHEATCLOUD; + //explode lbarrel type BITMAPONLY | NOHEATCLOUD; + //explode lflare type BITMAPONLY | NOHEATCLOUD; + //explode laxle type BITMAPONLY | NOHEATCLOUD; + //explode lwheel type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 50 ) @@ -156,6 +202,14 @@ Killed(severity, corpsetype) explode raxle type FIRE | SMOKE | FALL | NOHEATCLOUD; explode rwheel type FIRE | SMOKE | FALL | NOHEATCLOUD; explode turret type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rsleeve type FALL | NOHEATCLOUD; + //explode rbarrel type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rflare type FALL | NOHEATCLOUD; + //explode lsleeve type FALL | NOHEATCLOUD; + //explode lbarrel type FALL | NOHEATCLOUD; + //explode lflare type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode laxle type FALL | NOHEATCLOUD; + //explode lwheel type FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) @@ -165,6 +219,14 @@ Killed(severity, corpsetype) explode raxle type FIRE | SMOKE | FALL | NOHEATCLOUD; explode rwheel type SMOKE | FALL | NOHEATCLOUD; explode turret type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rsleeve type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rbarrel type SMOKE | FALL | NOHEATCLOUD; + //explode rflare type SMOKE | FALL | NOHEATCLOUD; + //explode lsleeve type SMOKE | FALL | NOHEATCLOUD; + //explode lbarrel type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lflare type SMOKE | FALL | NOHEATCLOUD; + //explode laxle type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lwheel type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; @@ -174,5 +236,11 @@ Killed(severity, corpsetype) explode turret type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode sleeve type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode barrel type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode rflare type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lsleeve type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode lbarrel type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode lflare type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode laxle type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lwheel type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/leggat.cob b/scripts/Units/leggat.cob index e6150ddf93d01feb9caea6608a1ff7f30a099172..9349f50bb6fb44a0593084ca5b727cdc31a86fa2 100644 GIT binary patch literal 3397 zcmb_ePl#1z6hHG<)5@=qKtZ@vM4{N5DM|=pCUX$PnC3aqa;|T_$(MKLKJMJ7GmB_8 z?m|Myg&PfYq1#-!XwgE#l>|WqF5J6tl^_ZJe&>GY`OWJ+n^#@sq&{(Qf4&i7s3 zsEE7@>;&!(i)@GFlVRZ|@E33Z?{B{-GUSHc5RD7t?kxzu@8f$i>ZtFgUK??v<~Ies zHtdjAxJF68QTn+t$2@zZHS?v<_HEB%B;*+hzULWV8*(x=?x@nAQf9}MhjBcHCGM*> z>@^eKxqpYpY{i2%%>yH)=5QlU9*TS6Ikp`kC%GA?cg&w_;3Nq+0L=UC8zSgL#VHZ( z3Ej-59Pmyb<&c0w@MHgkS!j=Rs*F4Ia;Sj|QA|IZ#ZfBHg{oG8)HO)fXPh`6uJfI} z<=nYOo?Kgm=4yH39GAe(ck9L%g(%7E6){tyK~Xb{b^%7-_L^p<@=vu zp(bve20XoN%*Tf|@{m?_hE(6c>|AxmXrj)&_|RV!%-8goL!3+frZ)4iwRnHa$1{uL zulMXe1oP{@VK1H`+fx#p2>JxS+plc4aTa{cpYppK@J3(Ak-g=9%A+>asfB(=e}l1y zA8k4l+)JMMIQP}B`p0Nbx?%)z-)RXHKn9Z2_{o5S7IrRUS_Ff-Nd4B@a@E(zcF?!7Dr*N4H&?3DIBXAaizJUh=y zKYM(JnQISoCsqF*h5oU2#%tf;li;1c8<4VqyXUs)J>*(~rEVMR?q}oZJLeMpwK>p# z5;o)V9*W?a)v^^XY#3v-@8C&Y?|#rXm_P70j)TOIJ97>aqrF57C1)7d+u&O0eG%%l z*;>7W?8ROU%Fp^>vR}XckJ`ztyS|t+XG5Q@%+KOXvQLA=TfM#F|EUMPVz$EBX4)&h z-=6FjdooB2bMc(nnPY4C-;jSx)_@DZCEyxx8~6iw9nO=$N5Ey^I&cg48Mp)d3h=-9 zByb3r295&rz!FdZUjr9`AAlc$pMX2SUEm(@0QeJl0*t&QvIE!!yawz8-URjo6TpYS z$H4qbv#htgUzGZCe%i}i-Z;%QIb8U(^s?&9`pg%3qtR}yOWl{p)3rID<>}&y=CYT1 znHJ^o{7iG@OXztks7Ka(qh0zrzgp&npI$0`@u|;JO;9h}D=XOU@5bro@@&yuPK$M! zX%^n}`l-B}kk8w`Shpp3&J=mayMES#Wh*b`SToCzdnro`FJ-$Zd?_c>Rg{r=f5t<{ aQYOXOQywAUKWKQ zdQk)s4<1AiLGb295ph{qPcD1$?)z3=^0RmVON*#N8q z2FfB8NdAruh+GHW0K2emLrSe|N~Ua%(xKL8%Js6Ls`e7~vsKf8px-vG;YWQF^?C)G zj~Rwu2OrF|QPQuEex~1$XM12%U-}HJS&k9#baI(OcXdDyW44kPwUBqj^H%8C7PGc% zJ@}oq3|Gylx0hIC5T|R63)kA4)JujODBbl5Au?7qoSn{ZX=l-w+pCGeakwA*;~pgq z9nM+>v4x-WEUOop@SlkEyp7cyuhxYl` z*Qe`btRI%*EObv0L%z=o@burG_J82U9BKb|0SUd&R}K<(SuAESfe`wTn{#3=zFU{m z>sm`EZ^y4{_(|rE94^-1Kehd{fQbk9BlOd6j=NZXc23u`WUcMut$#0$Irx3mT$FnD z^k?0@_L*Dzq3=(OtratQ>Sw}!!teJ(`j|EDE-^;eoI$wednLEdBh0f0dz$A@pNDty z|MJ{t4DxCoT{92!>e|)YBkv?Re1BhjUY!r)LLSx=t~KuxIZ(%s@-nuY`+<*DZe1() zoi1+O*V=TSyyVxl`z{1MlLk*tc;#8|UEn$J8W;rG7GNh311;bha09pv@c$Pj{2?9$ zHUc|<-N4U41Naq4fvdppz!Go|cnmxPUH~tFSHL^qJ@7a15%>gr0ouT6I~7kRcH&T+ z speed <197.999970> / animSpeed; turn lfoot to x-axis <-19.636401> speed <576.401349> / animSpeed; turn lfoot to z-axis <-11.014305> speed <147.893476> / animSpeed; @@ -42,9 +44,9 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn torso to y-axis <-6.065435> speed <181.963053> / animSpeed; sleep 131; } - while(isMoving) { - if (isMoving) { //Frame:8 - turn gun to x-axis <-10.600000> speed <120.0> / animSpeed; + while(bMoving) { + if (bMoving) { //Frame:8 + turn gun to x-axis <-10.600000> speed <120.000037> / animSpeed; turn lfoot to x-axis <7.944267> speed <827.420053> / animSpeed; turn lfoot to z-axis <-9.756190> speed <37.743446> / animSpeed; turn lfoot to y-axis <-7.350180> speed <266.184994> / animSpeed; @@ -71,8 +73,8 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn torso to y-axis <-12.130870> speed <181.963053> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:12 - turn gun to x-axis <-0.0> speed <317.999982> / animSpeed; + if (bMoving) { //Frame:12 + turn gun to x-axis <-0.000001> speed <317.999982> / animSpeed; turn lfoot to x-axis <-20.910981> speed <865.657450> / animSpeed; turn lfoot to z-axis <-3.878097> speed <176.342797> / animSpeed; turn lfoot to y-axis <-15.547735> speed <245.926664> / animSpeed; @@ -99,7 +101,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn torso to y-axis <-8.445438> speed <110.562953> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:16 + if (bMoving) { //Frame:16 turn gun to x-axis <-2.900001> speed <86.999991> / animSpeed; turn lfoot to x-axis <-13.641220> speed <218.092841> / animSpeed; turn lfoot to z-axis <0.698070> speed <137.285005> / animSpeed; @@ -127,7 +129,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn torso to y-axis <-0.337490> speed <243.238443> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:20 + if (bMoving) { //Frame:20 turn gun to x-axis <-6.599999> speed <110.999953> / animSpeed; turn lfoot to x-axis <20.034712> speed <1010.277954> / animSpeed; turn lfoot to z-axis <1.499531> speed <24.043838> / animSpeed; @@ -138,10 +140,10 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn lthigh to x-axis <-41.089865> speed <370.201751> / animSpeed; turn lthigh to z-axis <0.235525> speed <164.024892> / animSpeed; turn lthigh to y-axis <-1.978531> speed <34.992890> / animSpeed; - move pelvis to z-axis [0.0] speed [6.074375] / animSpeed; - move pelvis to y-axis [0.0] speed [18.676876] / animSpeed; - turn pelvis to x-axis <-0.0> speed <114.449258> / animSpeed; - turn pelvis to y-axis <-0.0> speed <86.557139> / animSpeed; + move pelvis to z-axis [0.000000] speed [6.074375] / animSpeed; + move pelvis to y-axis [0.000000] speed [18.676876] / animSpeed; + turn pelvis to x-axis <-0.000000> speed <114.449258> / animSpeed; + turn pelvis to y-axis <-0.000000> speed <86.557139> / animSpeed; turn rfoot to x-axis <-20.376049> speed <452.023315> / animSpeed; turn rfoot to z-axis <11.064463> speed <23.538821> / animSpeed; turn rfoot to y-axis <-1.372614> speed <200.814375> / animSpeed; @@ -155,8 +157,8 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn torso to y-axis <7.770459> speed <243.238468> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:24 - turn gun to x-axis <-10.600000> speed <120.0> / animSpeed; + if (bMoving) { //Frame:24 + turn gun to x-axis <-10.600000> speed <120.000037> / animSpeed; turn lfoot to x-axis <39.860813> speed <594.783033> / animSpeed; turn lfoot to z-axis <-15.635314> speed <514.045353> / animSpeed; turn lfoot to y-axis <20.602533> speed <632.068933> / animSpeed; @@ -182,8 +184,8 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn torso to y-axis <11.455892> speed <110.563004> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:28 - turn gun to x-axis <-0.0> speed <317.999982> / animSpeed; + if (bMoving) { //Frame:28 + turn gun to x-axis <-0.000001> speed <317.999982> / animSpeed; turn lfoot to x-axis <21.389480> speed <554.139992> / animSpeed; turn lfoot to z-axis <-9.970639> speed <169.940238> / animSpeed; turn lfoot to y-axis <3.801959> speed <504.017234> / animSpeed; @@ -210,7 +212,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn torso to y-axis <7.770460> speed <110.562953> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:32 + if (bMoving) { //Frame:32 turn gun to x-axis <-2.900001> speed <86.999991> / animSpeed; turn lfoot to x-axis <-4.635911> speed <780.761724> / animSpeed; turn lfoot to z-axis <-11.836854> speed <55.986429> / animSpeed; @@ -238,7 +240,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn torso to y-axis <-0.337488> speed <243.238455> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:36 + if (bMoving) { //Frame:36 turn gun to x-axis <-6.599999> speed <110.999953> / animSpeed; turn lfoot to x-axis <-19.636401> speed <450.014715> / animSpeed; turn lfoot to z-axis <-11.014305> speed <24.676457> / animSpeed; @@ -249,10 +251,10 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn lthigh to x-axis <40.929673> speed <1479.544709> / animSpeed; turn lthigh to z-axis <13.142189> speed <160.911914> / animSpeed; turn lthigh to y-axis <-6.410377> speed <100.722915> / animSpeed; - move pelvis to z-axis [0.0] speed [6.074375] / animSpeed; - move pelvis to y-axis [0.0] speed [18.676876] / animSpeed; - turn pelvis to x-axis <-0.0> speed <114.449258> / animSpeed; - turn pelvis to y-axis <-0.0> speed <51.116429> / animSpeed; + move pelvis to z-axis [0.000000] speed [6.074375] / animSpeed; + move pelvis to y-axis [0.000000] speed [18.676876] / animSpeed; + turn pelvis to x-axis <-0.000000> speed <114.449258> / animSpeed; + turn pelvis to y-axis <-0.000000> speed <51.116429> / animSpeed; turn rfoot to x-axis <20.280490> speed <1024.895131> / animSpeed; turn rfoot to z-axis <-1.502973> speed <24.066665> / animSpeed; turn rfoot to y-axis <0.474751> speed <116.009663> / animSpeed; @@ -269,34 +271,34 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations } } } -// Call this from StopMoving()! +// Call this from MotionControl()! StopWalking() { - move pelvis to y-axis [0.0] speed [7.125000]; - move pelvis to z-axis [0.0] speed [4.176133]; - turn gun to x-axis <0.0> speed <79.499995>; + move pelvis to y-axis [0.000000] speed [7.125000]; + move pelvis to z-axis [0.000000] speed [4.176133]; + turn gun to x-axis <0.000000> speed <79.499995>; turn lfoot to x-axis <-0.423023> speed <252.569489>; turn lfoot to y-axis <-0.167349> speed <158.017233>; turn lfoot to z-axis <-6.084522> speed <128.511338>; - turn lleg to x-axis <0.0> speed <353.678023>; - turn lleg to y-axis <0.0> speed <68.453136>; - turn lleg to z-axis <0.0> speed <43.281153>; - turn lthigh to x-axis <0.0> speed <369.886177>; + turn lleg to x-axis <0.000000> speed <353.678023>; + turn lleg to y-axis <0.000000> speed <68.453136>; + turn lleg to z-axis <0.000000> speed <43.281153>; + turn lthigh to x-axis <0.000000> speed <369.886177>; turn lthigh to y-axis <14.512709> speed <156.923144>; - turn lthigh to z-axis <0.0> speed <98.566417>; - turn pelvis to x-axis <0.0> speed <32.326038>; - turn pelvis to y-axis <0.0> speed <68.929443>; + turn lthigh to z-axis <0.000000> speed <98.566417>; + turn pelvis to x-axis <0.000000> speed <32.326038>; + turn pelvis to y-axis <0.000000> speed <68.929443>; turn rfoot to x-axis <-0.595601> speed <256.223783>; turn rfoot to y-axis <0.278545> speed <156.176555>; turn rfoot to z-axis <6.700828> speed <127.321340>; - turn rleg to x-axis <0.0> speed <347.486484>; - turn rleg to y-axis <0.0> speed <82.862748>; - turn rleg to z-axis <0.0> speed <47.130923>; - turn rthigh to x-axis <0.0> speed <371.202895>; + turn rleg to x-axis <0.000000> speed <347.486484>; + turn rleg to y-axis <0.000000> speed <82.862748>; + turn rleg to z-axis <0.000000> speed <47.130923>; + turn rthigh to x-axis <0.000000> speed <371.202895>; turn rthigh to y-axis <-16.624781> speed <147.736379>; - turn rthigh to z-axis <0.0> speed <73.062732>; + turn rthigh to z-axis <0.000000> speed <73.062732>; turn torso to x-axis <-6.799999> speed <25.923064>; - turn torso to y-axis <0.0> speed <60.809617>; - turn torso to z-axis <0.0> speed <4.243770>; + turn torso to y-axis <0.000000> speed <60.809617>; + turn torso to z-axis <0.000000> speed <4.243770>; } UnitSpeed(){ @@ -321,16 +323,16 @@ UnitSpeed(){ #define UNITSIZE 2 #define MAXTILT 100 -#include "../unit_hitbyweaponid_and_smoke.h" +#include "unit_hitbyweaponid_and_smoke.h" RockUnit(anglex, anglez) { - turn pelvis to x-axis anglex speed <50.0>; - turn pelvis to z-axis <0> - anglez speed <50.0>; + turn pelvis to x-axis anglex speed <50.000000>; + turn pelvis to z-axis <0> - anglez speed <50.000000>; wait-for-turn pelvis around z-axis; wait-for-turn pelvis around x-axis; - turn pelvis to z-axis <0.0> speed <20.0>; - turn pelvis to x-axis <0.0> speed <20.0>; + turn pelvis to z-axis <0.000000> speed <20.000000>; + turn pelvis to x-axis <0.000000> speed <20.000000>; } @@ -340,45 +342,48 @@ Create() hide rfire; hide aimx1; hide aimy1; - isMoving = FALSE; - isAiming = 0; + bMoving = FALSE; + bAiming = 0; wpnheading = 0; animSpeed = 4; gun_1 = 1; } -StartMoving(reversing) +StartMoving() { - isMoving = TRUE; - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; + bMoving = TRUE; + signal SIG_WALK; + set-signal-mask SIG_WALK; start-script Walk(); start-script UnitSpeed(); } StopMoving() { - signal SIGNAL_MOVE; - isMoving = FALSE; + signal SIG_WALK; + bMoving = FALSE; call-script StopWalking(); } +SweetSpot(piecenum) +{ + piecenum = torso; +} - -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = gun; + piecenum = gun; } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { if( gun_1 == 0 ) { - pieceIndex = rfire; + piecenum = rfire; } if( gun_1 == 1 ) { - pieceIndex = lfire; + piecenum = lfire; } } @@ -388,10 +393,10 @@ ExecuteRestoreAfterDelay() if (Stunned) { return (1); } - turn aimy1 to y-axis <0.0> speed <90>; - turn aimx1 to x-axis <0.0> speed <45>; + turn aimy1 to y-axis <0.000000> speed <90>; + turn aimx1 to x-axis <0.000000> speed <45>; wpnheading = 0; - isAiming = 0; + bAiming = 0; } SetStunned(State) @@ -404,27 +409,27 @@ SetStunned(State) RestoreAfterDelay() { - set-signal-mask SIGNAL_AIM1; + set-signal-mask SIG_AIM; sleep 2750; start-script ExecuteRestoreAfterDelay(); } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - //get PRINT ( heading,isAiming,wpnheading,RAND(1,256) ) ; - signal SIGNAL_AIM1; + //get PRINT ( heading,bAiming,wpnheading,RAND(1,256) ) ; + signal SIG_AIM; - if (isAiming == 1) return; + if (bAiming == 1) return; turn aimy1 to y-axis heading speed <200>; - turn aimx1 to x-axis <0.0> - pitch speed <100>; + turn aimx1 to x-axis <0.000000> - pitch speed <100>; //needed for luarules\gadgets\unit_continuous_aim.lua if ((get ABS(wpnheading - heading)) > 500){ - isAiming = 1; + bAiming = 1; wait-for-turn aimy1 around y-axis; wait-for-turn aimx1 around x-axis; - isAiming = 0; + bAiming = 0; } wpnheading = heading; start-script RestoreAfterDelay(); @@ -433,15 +438,15 @@ AimWeapon1(heading, pitch) -FireWeapon1() +FirePrimary() { return(1); } Shot1(zero) { - signal SIGNAL_SHOOT1; - set-signal-mask SIGNAL_SHOOT1; + signal SIG_FIRE1; + set-signal-mask SIG_FIRE1; if (gun_1 == 0) { @@ -463,8 +468,8 @@ Shot1(zero) // For N:\animations\corthud_anim_death.blend Created by https://github.com/Beherith/Skeletor_S3O V((0, 2, 8)) //use call-script DeathAnim(); from Killed() DeathAnim() {// For N:\animations\corthud_anim_death.blend Created by https://github.com/Beherith/Skeletor_S3O V((0, 2, 8)) - signal SIGNAL_MOVE; - signal SIGNAL_AIM1; + signal SIG_WALK; + signal SIG_AIM; call-script StopWalking(); turn aimy1 to y-axis <0> speed <200>; turn aimx1 to x-axis <0> speed <200>; @@ -485,7 +490,7 @@ DeathAnim() {// For N:\animations\corthud_anim_death.blend Created by https://gi turn rfoot to y-axis <1.020098> speed <2.224660> ; //delta=0.74 turn rleg to x-axis <7.655927> speed <25.888408> ; //delta=-8.63 turn rleg to z-axis <-0.901071> speed <4.770375> ; //delta=-1.59 - turn rleg to y-axis <-0.879568> speed <2.0> ; //delta=-0.67 + turn rleg to y-axis <-0.879568> speed <2.000630> ; //delta=-0.67 turn rthigh to x-axis <7.473859> speed <22.955275> ; //delta=-7.65 turn rthigh to z-axis <-1.678257> speed <7.212598> ; //delta=-2.40 turn rthigh to y-axis <-16.617184> speed <4.642435> ; //delta=-1.55 @@ -561,6 +566,9 @@ Killed(severity, corpsetype) explode lfoot type BITMAPONLY | NOHEATCLOUD; explode torso type BITMAPONLY | NOHEATCLOUD; explode gun type BITMAPONLY | NOHEATCLOUD; + //explode rthigh type BITMAPONLY | NOHEATCLOUD; + //explode rleg type BITMAPONLY | NOHEATCLOUD; + //explode rfoot type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } if( severity <= 50 ) @@ -572,6 +580,9 @@ Killed(severity, corpsetype) explode lfoot type FIRE | SMOKE | FALL | NOHEATCLOUD; explode torso type FALL | NOHEATCLOUD; explode gun type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rthigh type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rleg type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rfoot type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) @@ -583,6 +594,9 @@ Killed(severity, corpsetype) explode lfoot type FIRE | SMOKE | FALL | NOHEATCLOUD; explode torso type FIRE | SMOKE | FALL | NOHEATCLOUD; explode gun type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rthigh type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rleg type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rfoot type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; @@ -592,5 +606,8 @@ Killed(severity, corpsetype) explode lfoot type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode torso type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode gun type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode rthigh type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode rleg type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode rfoot type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/leggob.cob b/scripts/Units/leggob.cob index f9465d9394700a6f12126842d10a22198b6be927..9b67dc8d98aa91672a0f1f6513336a36d7de80e6 100644 GIT binary patch literal 16720 zcmc&*4U|>Yb-n}RfPnHq5J)gS1pEQ314arlFbp9GMN@DLG&>Sehissc0voeYbCt^v0c6rXoq|(Oy717rzhTo@BdaY%9s&H?LV` z89sO8^YXGxsrJ{DW%i?sV_WY^684u8Gr4=f|LNhQN0V%l_6ctL*Gn9(_is|%iJXgz z^hV@8y>kz><0uPpy+?T5z!D6CFX{0y;NJ3lH@}n8>j?}m;u@!UdVfY{phukYo%_cg z_haEpobo+b-`(juM)_!6glCx6f5TEx!8Dc_1M9=Di50D3)e z<3+xQp7DCTb0oD3amx36IJVfob4Wz!Dc{4t^0>Vu1Y8;MxX5?i=^pp4@Fh<9jz7iY zs*k4f5vP3f&EC#W{xrpD%#-g_5H8jOEP{N*Dc|f9-hStE5PA@&e7`fp(_8mp$``P3 zk?)D{Wij7Pq6b0Bcisw*dsh5QobtVuKgvrwl2<{zxPv}iBnxBZt=Kn|J{yLUFI+Jw*IE*Y;$wKpL=>0 z5;Hb8pPcP+S+TXv&Ak!%8izvx=xcNH$SzOsLWu>Nn@6tlxb-5R&CO)_P-o|zePEYN zlA*cPE{{a~wp;iT$BX_b{h{akRVD}Yu=H-a&)a#|CsUlQ3H`42xbWftJzEp9n>}vT zfz-dmsUB6Y``pa_BE{L7Q1f}O#}pC)Ut1GS_=(3oEBf-LeCO@(xTbw6Ut1IU&-A#p zVrSwso(GnD-1hFNe8ef=SWOs!aq7VvFZwN36BZq3O{je@)g#andc$yUt1;#2JD4&h z+3uO*T5%LgQHE1~YUap$n^P#OtqqNJzBUXOU)$O+|0YkbLh7Nd4X;JsJMSJ$bs~;( zQ@)2QeC%94D3#CFhWlGR-%;X2TN@@!^tgc{pREm#Uh4Tyl=qme4JWSf^!5ooTN{>+ z_qf}k2JLKXL-li+b{~pAR^J1h)CP^kXAbspxQa)PxEiuyuIKwB76tINHDuVQJ#GgB zKyW2^q(55k@i~8YWL@#>Qcth9*w5CGMhwRP!xTLvDm~igAA#sSV%w zg2x?|cX6t(^uAu}akp>~ zKD4#r-J3n`JhQ$~-we3Yqy?Lv>cQ{tI$^+y)_rz_n}a>>L5W3M8+x5m*6u@nuaI8Ry5Zud`yUgh zdd!RLp-7JU+S;%x@{X`LrB_|)?XuGB6*z}+uo)}lwpbKB_AuGO*Vcv~-s5pSBo1tC zSo?QA4mQbmAG>ZiFvQb)T56ZA4a4!`E0*tqNNsrN^iqdgdRnT7tqtS8?CDLAwLNhf z2X_whxW$omL##G{MX(=lN-tI$Zl_~mXX4avVB4<8N7RO1Fcf`wyx$vkf6K?joS~@< zwl)+RJ?>{_ub?_rf8XQQn_8nfy|~}Mzc=np>!+;^uT3+$ODs;57_+tEnN1$ITI##4 z4HJIkaf@U>YHP!Lk#)nJCg)Y(1CiYOs##yCzW>|b8@?ZTuS^ns8A8hUioDOgK};se zWjuv=S&MHF#X0pGgHwGse#hfRO3d1vKQ!OR!6NydM6$dXr#)`>^oCP-$VZ&=-7(YS zzDpv4;}p`{vcuyhk4SMg=U;rq+aHs|NpdE8;4XV(K0&hfanWDRTA10UCS zgydo`-@{UqY;8DsiLVXSk@diyn>@W2#J_Z(`eRchUidwnej`r(v8LL`!2qnWh_kif zA7*;K_`DL<*tRzGKgr|H7QYdvd>wdqinTS)J4$t$r zUGlylPHi+|xW^5p^Cai-6!h43hR5wBGr=j}nMlN9-&{pzg5x9YvgKy4Z!dX|+S+i# z)t=rRq6cxxcPt)?`Ror}r9#5}fkAJM!HmZ)!-1=&`NF*Md1G5 z*tvlRBm2kLxq;lHK1XBc1~x|C1F>@hXJbE7oTIUG1A9K{_m8o21GyGYFLrL=p^H5( zc5dL~`i?Lc>*Qj)AWTEd+S>5=kG(%)=Ng7a;vjaeVObh<{_}8a7A1ZN|VEZ*_pwS10Ca*>iGC`CW539U~pqW4rhG8|?e7 zEF4psFMi68Db4rFN;=H5YlnNA(s{Gl34XjO%~Pgzq-oa@hw(QPD+_aw7yC-a_%Wq< zHr}yhWoYx_F;x8KAabD<`u~Mu>EKQCn zO+IUk&*XEqG*epMEj`x(x-=Jm(SL7{Rhn=~Bj9Ne^eESSvn6^0ALyw4*)W$mj4MhKN}x_aKkhs#|%g2XWMgxS*HF z%e=DmEspdOk+oWI>{FVY_ldLc8+Y1J=h9{>Pw*GwlQyMXI!AeO4!Vyq7yg#{#3i7t zwDg(XmM(3rXE^z&^Naa+hT{~KPi@ZM)RA%Xy4WJjM?BLW98z6~ox%>W-QNqoHuRMQ z+whS-XKf8Wg>UWrKwEtDkA`22SExtycX>*ia<<73qF3Ta=)EfRN(lV5{5=G*woCfE z74<(L{S;O0VdIdzuv`f_NBis*{6fJqf2b#M>`G>(@qbX|Kv$bBGG)QPglRnSPLb3; z*v*7o)p%AuDiitKHQeA${OFjZn&5Pq*Pk z$GMbM=UQygM`G_@!IF+*tsI<(@C^C>4Z)`KQ@uZ^FnVRhZ-A4=k<&Yl1>edTNzz8@ zH~mf8mOt&p|8$(Pw8^wC)%OL+ML+RRM7->LKGTLg@6PA%kw7`#DV^YL?u2>G={b3o z%i3-a`9eO8fpY9cRo0})7K5>_SGkA@bh2qpw|2P=B&lEU9q#xE9_f38k4i)DNqK3| z>mUi1r}pRzf*fZTZ5((36>^G1@N9XqOK~c{`i6E&g=nX#`UbkQ(swcWg?Bpa)%FaV z+qfeit$7!Sj0ud~rb`C)KphS_Hn}WQ35=be@=JB(SeO@?uQ`z=zw-2Kwf3d9NY^jy zv-J5pnViy}qx6Y^4Li(-&g32NqOZnEalSJq+Vm@miQ+M^3>Wc1&KlGkIE}yWlQsSg zZ>9T`zz=AS?GsGK>{CdHV>f{i?+YUPn+s)~dlwfHkS+L6=B z#waiGXJTKi!?cp7w6^0W<$khc7O9VFeXO-HfZ-Zbz-w?L_fQSS%|>p zym?}4j;VePLKDZg!akE@s^4rRSkOgivaIl8Ulx75zY_Vo;w8ebJhH!;LE?yg&gCQ5 zBY!J8e^&Nr&2RWvsu?AGDL8Bv)@67kojb*UBS=riNSk9Xiw<965Mj*5QYjQ7W~b=D zF}2ILE>FkK=0^_9v+=S<_O8>-w{M+ymiS>Bbkcb$%fIX#68KfUieM~?m!It)9L9b* z@_iRC@8jH7(DRIxrj3_X=cZ$Kh+S;FOc5XLHhX22g?UPv!5%ef9S`+Xo|j`h!83Nz zZEKdU%n7x!Casy|^I6Hi!xRwqwDH+fYT7&sCu3^QZ=;Lzr$pkjReZESd}QNu7QU-< z-jx&tG&!a;pA`S)f1Sn|$HHuJvK8!Nf;6gwcN&6RB+ zL=0`HV|-@chRXClPV8dyXb;XR6N95$VIIfSF6*#i;n*B@f*)^6^Re?XVQlNINVcLp zy6xtEVeFQRe&_P&mbEF(>_sU}n@8`AOvm03Ic*+2PTr8^O&S-na7^V~jXsVIj^x;1 zi#==1-()Z~;0sdo^#2>OHTfB#8Da?hY)yV(aytJ}k<-TfQHlADk(%5hHRQv0j~(-r zPuKZj4O!E^2cpip4x`RPh|Q+!k_}wsX3H`I*oTYb^cUCe>bI=)FUMVL3w=OrR_@Dj z*RkO9PR6KyXY)c1buy3SJDW%MQa{Q|8(3Y(vQKpFCbcZsqr6=|)=$!=Y}A3zq^Zx# z<(V~A_3p|XwMSRxsGYhpN9{-1se_f9DzL9B^p0iM1tchTtrfenWZSsWTq94l<^Q#f z)oz{nPsh7r2eoTg=1^tY`}eg$vF%CgcRuRI#VvH6|xR9kmtj@r5_bB<-} z&SWdLFKO`oa2^Es1=<8Cd_UT5Dvn}33T*~jHCi6+8nk6-Ytc5LZAE(pZ3xyxL(#s3 z#=k%E|DW$OIZ67VorZQ6+68D6(PpAuj&>zl9a;<8jcBXU9z=Twd5)n6>=?8a}Bl2k}6Ctv@Tf!q5L2yDuHSFmYhCU)i)K!BvT<(edUsT zV=^<}(17`%d~H+u@7Sba5hf%p;orK}B}sFxVQK!_q@^KOhu$WLi#c_Gg~vjDzOFuL SNpH3J#_Pu<_;=Zu6~4n`K!o~{P<%3@U;?Hy7>K9?g9x~YLMEW(H52>{1M_nHLB$|cv`|D! zqZc72Q5t22*-NdAuuwBsiJE0gm#Ju!68Q*}zVF<?<7g-2K6f_$ly%D4R+7U#kIAJuUYGECMQN^! zKCdm!?ZzY0wyjPQKJP-z=*|KEk$ndaBxOnZOmM&cQi;R$*puQ8VP72NH?YC;8}fPw zu9M&n9pG_&sVL-kbSL;+n^KejleW@FPy;PCwn_9v8X9socE_ zIy-xhJT~Rm11BDo`=NebzmL%X$R$qYj=tC9E)+i#r*cQ#<8g}^1mM>VCmxjh#&^6O ze|szS3vnvU<7OU6^&?K@ zE^PIF{>C#YPGg>O&jsVG9S{-pBTnU(ZSwv*l|Dkq3kT&Mg0alX z-70nvq;h9n?s4Ch@g+{>Udfw^lA>H3A~HxykejaqOxcsCdY%_cE`@vroVcnFb#gjx z?g}DoW+?I??$M(>zuX(C&BUoKRrh$@_J4KY)RsB(ysy`b%{DjtUgr6Yl9;i%`OWh^ zuD|%&=H_z|{hCjJ0kGHR=39??e#0deY;GQy<8hlrKbxD$iesFgAL~r4FJC9Crwk905(Bs031N>}FD8Jj|R=tvrFL7!| z&0{_{`#+!JY)z;;*V{3MOd!|Rgsy+|xI4sNo>cDa2RyE2S1Q-mgu^C!+>PRA;xwN7 zR(RZw&Z&OHsoYpi;5(Rh@Wg}T7OM&K53(lIzLwe%cnQC9oZD+mMfwh=PDxqkT((vm zfKk-peb1Oa^4?|_>S}94bG@$($IDpT+Aw>W=T{~5(AI{>BJZ6&dsCZ;qu$hS{U{$h zQ;$gXv$bK}VlQ{FjG?U!BhU7@zM`M44I3wUxmEHWv$f%n%RRqc!q3)*i${3e)i8s8 zwzXmAow<%Nl<`=-1~{n=8jIiA+tcByHoWC($d>6|?)@wZkZWs5`3F7jK?Z=}N^r^X zShB|F{B@Ce#T`pLzeB};wuWqo)c!{CpRFN-|LDgfOvs=gbDjtF+i`}MJ5_RuIQ8GA zmptw5|-;ziT`6LD>i~D?}HhlTR9(O?A z#la`ymvWrj`MpDJD8;zbmw$-l%F8k~wl?(ois3CbO?tH>mxCVQ_vJc|`xJ>7Lt7j6 zF88=o%=|*frtb`on~k{%`PtgA<#3N{AQQo9O!PU;<9==C7bFQxX{+VEuL zeKBEw2TtX_x7^EZl(Dw8Vam-tI>u1^yc0TSYs38e4|lkYwUC>cU+j+f?=C6@zu4Mv z!4$7wFN0IRJUGz5BSwn7%w-;otNDXGza|bCuir3EAvNN8)}Al+y*8)_}SX9 zbC}0nBk^o&Lpj#T?YSa;o))PMJFf8djuZWu^E_zp7);i){FWP>#z9X^60*2S;%D+x zKlkqGad2~3Yg4B3+r7o(eqnIRuN-~a<-S90=!L+bO)p03PHeqD>Nnm;Rr0=I&hsF@ ze!Yzj;`82A5MyX-!=3ke+_%Ig;?$->nU_04V$9ZtyCQWKpD2P{;?$S5k@w?gK&O7h zsoctL{{6T^)}gjGe6`^1Ko|#p#Hrk;`+3|KB^GUM=+URNV+_TAWT!c={3d++u(!pj z9kU~AsK5{Q+S;%x@{X`LqBE3gma;BL&2+hbAec#6pmxwbZJTjO!15(l<6 z+<3c>gRS!2$JT~DM|yr+q;}cbFaR&UtbRiywPAh#E)KWk*whYN8&3a(=Ql#;_QdJ9 zU0d#Piz4%eSZ$aKKJ*_?$}d(MuI9iBt^}7H4~Xrs;~i>44>*c_4)%M)lbd}^Og|>o z!PbUClgB+{)(UFVte<<_W>ag_rtQ1^`}>aP()wv@!_INWc8SHaCB|%RxP7a~T_g3~ z)`pSWJuWZnQCk~ckIWlZnVeU9Uy0=2r_KCA?fqYWZ@4e=Ua1m$8A2*|MuX42eoQ9G zWn6`LxdGoGvN^TK;MCsl{lMc+l$fE> za=telPumanJHkI#`LP*>`4)AsIseEd-u7LQ@BcOPJ-<6?u<%nKZGFV&`~(IKa5m?M zPw;ZTP9}m=U*2|~$8|S2UeYgDT&Hr*cOQ^0?<^4ojTMeYd_N zl#KWKt(Tf)Yr}h*eQlT#nGZa*%=7!1j4y{z{jxO@FDEmgFmA-DU)Ij_anKiYEaGf! z_{l^s7oS(c9NX50KD|6{5QPapm3woAm)l+RV=nVxyey4;uL(cAfgf>dZvpSgY|Xq_ z-c7`*+*oah%?Dz&;lG^^^h09Nri1;C&}WE`i902BY;E|>`@QY!WX?pK`e@%QkJ~Bl z3*yvA15WU`V>!t1xvdTNAMbHk-n8RX?nESFc5LQQnDA4%_b&JL9wP5iTN{=x^!z>} zb`Ym>Ps2r4?(ZYD;obUdE5%K22j6Tb(hB- zE^}vF8=4}&-<*TF3CGRWhMUKDemkj@;8gCK$aj+kriPS=9rxGz+A!>|X|1uf;mtu_ z?h*=vTw5ESuJ*WFDNJy@r2k@T1*F^mY7 zvVM&18_3_}b2PSZU~A+(5ZgC!64oQx9F6T8_|wsT{TSOfFu%?7i|rd&Ki=bF`v%^v z?+DW|PtN)UVH#rA)`nXi_u~=U*KkZE4r2QnmPT@Pn#i@a;kmJ1Zfsw}JtMpwv3(6U zMBd*sCHGisG)KR1oR9n1zJ@iC@r~_kxI6M~Gq$f`&UxOB*uI99ctK{zEw-;=$Wo7s z?Q1B9?d|*`-y4$A9ea*AOu9EIDeD&MNqCm|&V9rOx;UEF=&LYZtV5w6>ZAQ#V=dP8 zq^UieGw|TE>8c#c2h)dh1A%ab(a$!m@AiM%fBlIv1| zJs-FXeR1YJeZsuqb3KzzKD-Y;Lq2hDUXtrv#Do6gexczA0QTW$N|nRm(0n8GYGci09LJa*!8vCmrR&Qc8K7PeM@N1`v^qHjv|BGKQ6MYD$A1p4& z5Sy+x_A5{7an$>Zb)|fcZM%+)E95P8SKZi$bV4al&+)z;{fX1DS&2*XxC&?Tps$o? z_MB9tW29I>-w|su>`$B3_thX$rjAogZ|d*@0pbhVtU0EFlGm#K=EGVlyXT@pOZ#gG;TWyo{yL}#qpcQ25Id)C5Cz#IVwZ-XqOSPU1K@T zg=3{(2^D@>em_EPmdo=_=DF2*D3yR;={M%`OPLtfoS^L0Cv@1Gh)>yFX*~0u{3$N% zi88)VFftmudQBMnjli5;`zvpa@fc0}@f>PSZ4&Y|!I`1LGk(GiXDl1qd2=lISY`2^ zy4rj8=RL>T);!{PuX^D&m0boNz$=}P^*(7W-q+3ALtHp;9dyNw%BL;azQn5DNf}}% zbT00rxlEmH+yp3ilFm9>ta}Xj5#k4SfLL&?MK*vV!shgEgJNZxP)TLdgjj6qVfnFR3%I0DFhifuj zk&eT?WWe0`4|tm&3H!CCd-qi@p7njz83tu#RbY**`X(8F^c&xSCnoSJOKZ6G4QnxN z4C5!ZGxt8!44Zqvi3rr;Trm6oJEzAjp=VlnpeqSRap{WmkE0{%w z1~CDDB7%bbxW9${LY)xW3@A-n4}yiJJg*mdquD`dgc0B8y5qxn=1L?rvQ*zMq@906 z_dr`a=}osUYtziM|I=9Wkth4{V84apv!lgl-BMDZeI9~|`7xiNA8D$~0`b{}VxL_@ z%|o!VpZ)%z_B9GmY#$5jT=r9*Q;-zwH(7YHbn)P`ay;Yt;mGfr*jgKC6_NGTd1Q{* zXJ1}&e)A)-`D|Guwm#uwscvw}vy6(v_AuYZCHY(<<2Qi(ght*$Ke6Eg1`%jBmb$_q zVjdJ5NK?OT{%A@&i62?e&&JF3vUVPCzP)R|lVlvm!6xmex;*mGkwM-^A3-o?;^o=h z{Q~X9fp55Yc?0{#sOPoEr#x-ETyt_t`?UDQ#>+V}MsQ~sTN^Ly!3q%+<{9Lz_o1%U zruB`_&yu{^$IkGBjjQfbi)PV4p{XCfk4Nl3CK6YR#kcdsw>GXO<9j^&;b*+SlQiY| zP4Rof%c(u2sc$#oIvZE>WL~!eek0FYe&^$=9zjD|rNoDgs}&Q6EJJ_2XWs+v}t?@o;)efubq+$v~5=+xHEBk)$-nfw*1UjUEHp? zA>~3Sc=*4)!HOV{3wBg==%x9fdg;CDrT40r-m6|KDFb%#M7@>%c6!YvSoC^E^g;?3 z`D+6)#$U=;^;#|T|D>1V38P-hFRK@6S=sA^xB5i;s%)jJY`s^X=)KC;`>brznNO#n z9ol-dThZ=AdkF2%XfL9@inbrEv?@t@q4hyK3at$7M6|(Z zm1x7!&O)n38;|y3w5ez_&>9!l&6(QVP^g*P*3eoQo1a_Pm`ty0T$I!lT3UJ0&|IGc zKx;lfFPYF#7<1|Ld|hix^La&g$=JH4y88UQnx>XT`D9AV+(qn^oYR)CE9AkfuB|Ys zWeJ&)v0PR+G>vO(X-fH3Cg(5Cw+Zvg zp{B67xf$AcA~-6yaSd&Gy{=i%Qm9PELYD>A%?(Y-#D>O3^atmQTGGEmlg9bzkhF!r x^^2R6)_miVhKrK6#(X`VwzL!y^r;6dTox8I)GtWd(o speed <90.016484>; - turn barrel to x-axis <0.0> speed <50.005495>; + turn turret to y-axis <0.000000> speed <90.016484>; + turn barrel to x-axis <0.000000> speed <50.005495>; } SetStunned(State) { @@ -50,12 +52,12 @@ RestoreAfterDelay() start-script ExecuteRestoreAfterDelay(); } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; - turn turret to y-axis heading speed <250.0>; - turn barrel to x-axis <0.0> - pitch speed <240.0>; + signal SIG_AIM; + set-signal-mask SIG_AIM; + turn turret to y-axis heading speed <250.000000>; + turn barrel to x-axis <0.000000> - pitch speed <240.000000>; wait-for-turn turret around y-axis; wait-for-turn barrel around x-axis; start-script RestoreAfterDelay(); @@ -63,24 +65,27 @@ AimWeapon1(heading, pitch) } -FireWeapon1() +FirePrimary() { emit-sfx 1024 + 0 from flare; move barrel to z-axis [-2.5] now; - move barrel to z-axis [0.0] speed [2.5]; + move barrel to z-axis [0.000000] speed [2.5]; } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = turret; + piecenum = turret; } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = flare; + piecenum = flare; } - +SweetSpot(piecenum) +{ + piecenum = turret; +} Killed(severity, corpsetype) { @@ -90,6 +95,9 @@ Killed(severity, corpsetype) explode base type BITMAPONLY | NOHEATCLOUD; explode turret type BITMAPONLY | NOHEATCLOUD; explode barrel type BITMAPONLY | NOHEATCLOUD; + //explode flare1 type BITMAPONLY | NOHEATCLOUD; + //explode barrel2 type BITMAPONLY | NOHEATCLOUD; + //explode flare2 type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } if( severity <= 50 ) @@ -98,6 +106,9 @@ Killed(severity, corpsetype) explode base type BITMAPONLY | NOHEATCLOUD; explode turret type FIRE | SMOKE | FALL | NOHEATCLOUD; explode barrel type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare1 type FALL | NOHEATCLOUD; + //explode barrel2 type FALL | NOHEATCLOUD; + //explode flare2 type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) @@ -106,11 +117,15 @@ Killed(severity, corpsetype) explode base type FIRE | SMOKE | FALL | NOHEATCLOUD; explode turret type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; explode barrel type SMOKE | FALL | NOHEATCLOUD; + //explode flare1 type SMOKE | FALL | NOHEATCLOUD; + //explode flare2 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; explode base type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode turret type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode barrel type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode flare1 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare2 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/leghades.cob b/scripts/Units/leghades.cob index acf50decc6fcf97f6b8b1ad396ee90a3eb84985b..95cf6a9820a91735653bbedcfdc7dd373df66862 100644 GIT binary patch literal 1671 zcmb7EF^dyX5T0yuQ4!%479N5G?8G7n7J?u_?-~(eVk_Kw_fA$e$?@(5FI=;wjc}!9 zYAfw5^dI;W>})M8Y~}pE*?pV1CW|@vZsxt2`DVU1Nm?Ru8E656hDZd_dp7SlkzV}#X+9v2Gw^E^=x$1WtW?c^T60B2>qkMMt zv)upu5$_tfDmv!x7c(>=!6caQ-x!!9G{^A}p>VP?i#xb{QK%mrO!1r^pJIQ{Z z%ZHqwb821|E#+5Y>;c}OlYOG@V#f?G$9b%a*VR`)Kieeh@Ap45gt}litq*%yRljbR zRXtqACEzN+-`4xU4)6-dfH%My@DAYb?swo9aHTDB4Y&o|1$saqcn-V-#()P-fed)) zZ0xNJt$z}q3~V}y51u6>D?2B4f9mbP9{Y*2y+d!^Bb&xEW)A&yJhlh&Z?Kn)`Ysv8 yZYH~lv%$ypuA7vhr&H@@AvSz%!FV+B@;FITupXwdv*M@DSuZc*V~caer=>y6m8`J~j0u9no znFp1CDTMK1HckU6Okg!|ss%Dyfw&ileSl#T48$owTnoe speed <90.0>; + turn turret to y-axis <0.000000> speed <90.000000>; } SetStunned(State) { @@ -48,12 +50,12 @@ RestoreAfterDelay() start-script ExecuteRestoreAfterDelay(); } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; - turn turret to y-axis heading speed <200.0>; - turn barrel to x-axis -1*pitch speed <200.0>; + signal SIG_AIM; + set-signal-mask SIG_AIM; + turn turret to y-axis heading speed <200.000000>; + turn barrel to x-axis -1*pitch speed <200.000000>; wait-for-turn turret around y-axis; @@ -62,7 +64,7 @@ AimWeapon1(heading, pitch) return (1); } -FireWeapon1() +FirePrimary() { gun_1 = !gun_1; if( gun_1 == 0 ) @@ -79,19 +81,32 @@ FireWeapon1() wait-for-move barrel along z-axis; move barrel to z-axis [0.000000] speed [1.000000]; } + return (0); } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = turret; + piecenum = turret; } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = flare; + if( gun_1 == 0 ) + { + piecenum = flare; + return (0); + } + if( gun_1 == 1 ) + { + piecenum = flare; + return (0); + } } - +SweetSpot(piecenum) +{ + piecenum = turret; +} Killed(severity, corpsetype) { diff --git a/scripts/Units/leginc.bos b/scripts/Units/leginc.bos index aee387298d1..35dfae4a657 100644 --- a/scripts/Units/leginc.bos +++ b/scripts/Units/leginc.bos @@ -1,19 +1,21 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece aimy1, turret, flare, barrel, pelvis, rfhip, rfthigh, rfleg, rbhip, rbthigh, rbleg, lfhip, lfthigh, lfleg, lbhip, lbthigh, lbleg; -static-var restore_delay, animSpeed, maxSpeed, animFramesPerKeyframe, isMoving, oldhead, +static-var restore_delay, animSpeed, maxSpeed, animFramesPerKeyframe, bMoving, oldhead, targetswap, isfiring, timer; // Signal definitions -#define SIGNAL_AIM1 256 -#define SIGNAL_MOVE 1 +#define SIG_AIM 2 +#define SIG_WALK 4 Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations\corcrash_anim_walk.blend - set-signal-mask SIGNAL_MOVE; - if (isMoving) { //Frame:4 + set-signal-mask SIG_WALK; + if (bMoving) { //Frame:4 move lfleg to z-axis [-1.47] speed [43] / animSpeed; move lfhip to z-axis [-1.80000] speed [54] / animSpeed; move rbleg to z-axis [-1.47] speed [43] / animSpeed; @@ -25,22 +27,22 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations move lbhip to y-axis [0] speed [300] / animSpeed; sleep ((33*animSpeed) -1); } - while(isMoving) { - if (isMoving) { //Frame:8 + while(bMoving) { + if (bMoving) { //Frame:8 move pelvis to y-axis [2] speed [60] / animSpeed; - move lfleg to z-axis [0.0] speed [43] / animSpeed; - move lfhip to z-axis [0.0] speed [54] / animSpeed; - move rbleg to z-axis [0.0] speed [43] / animSpeed; - move rbhip to z-axis [0.0] speed [54] / animSpeed; - move rfleg to z-axis [0.0] speed [54] / animSpeed; - move rfhip to z-axis [0.0] speed [61] / animSpeed; + move lfleg to z-axis [0.000000] speed [43] / animSpeed; + move lfhip to z-axis [0.000000] speed [54] / animSpeed; + move rbleg to z-axis [0.000000] speed [43] / animSpeed; + move rbhip to z-axis [0.000000] speed [54] / animSpeed; + move rfleg to z-axis [0.000000] speed [54] / animSpeed; + move rfhip to z-axis [0.000000] speed [61] / animSpeed; move rfhip to y-axis [-2] speed [60] / animSpeed; - move lbleg to z-axis [0.0] speed [54] / animSpeed; - move lbhip to z-axis [0.0] speed [61] / animSpeed; + move lbleg to z-axis [0.000000] speed [54] / animSpeed; + move lbhip to z-axis [0.000000] speed [61] / animSpeed; move lbhip to y-axis [-2] speed [60] / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:12 + if (bMoving) { //Frame:12 move pelvis to y-axis [0] speed [60] / animSpeed; move lfleg to z-axis [1.8] speed [54] / animSpeed; move lfhip to z-axis [2.03] speed [61] / animSpeed; @@ -54,21 +56,21 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations move lbhip to y-axis [0] speed [60] / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { + if (bMoving) { move pelvis to y-axis [2] speed [60] / animSpeed; - move lfleg to z-axis [0.0] speed [54] / animSpeed; - move lfhip to z-axis [0.0] speed [61] / animSpeed; + move lfleg to z-axis [0.000000] speed [54] / animSpeed; + move lfhip to z-axis [0.000000] speed [61] / animSpeed; move lfhip to y-axis [-2] speed [60] / animSpeed; - move rbleg to z-axis [0.0] speed [54] / animSpeed; - move rbhip to z-axis [0.0] speed [61] / animSpeed; + move rbleg to z-axis [0.000000] speed [54] / animSpeed; + move rbhip to z-axis [0.000000] speed [61] / animSpeed; move rbhip to y-axis [-2] speed [60] / animSpeed; - move rfleg to z-axis [0.0] speed [43] / animSpeed; - move rfhip to z-axis [0.0] speed [54] / animSpeed; - move lbleg to z-axis [0.0] speed [43] / animSpeed; - move lbhip to z-axis [0.0] speed [54] / animSpeed; + move rfleg to z-axis [0.000000] speed [43] / animSpeed; + move rfhip to z-axis [0.000000] speed [54] / animSpeed; + move lbleg to z-axis [0.000000] speed [43] / animSpeed; + move lbhip to z-axis [0.000000] speed [54] / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:20 + if (bMoving) { //Frame:20 move pelvis to y-axis [0] speed [60] / animSpeed; move lfleg to z-axis [-1.47] speed [43] / animSpeed; move lfhip to z-axis [-1.8] speed [54] / animSpeed; @@ -84,17 +86,17 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations } } } -// Call this from StopMoving()! +// Call this from MotionControl()! StopWalking() { - move pelvis to y-axis [0.0] speed [20.250000]; - move lfleg to z-axis [0.0] speed [20.250000]; - move lfhip to z-axis [0.0] speed [30.481575]; - move lbleg to z-axis [0.0] speed [20.250000]; - move lbhip to z-axis [0.0] speed [30.481575]; - move rfleg to z-axis [0.0] speed [20.250000]; - move rfhip to z-axis [0.0] speed [30.481575]; - move rbleg to z-axis [0.0] speed [20.250000]; - move rbhip to z-axis [0.0] speed [30.481575]; + move pelvis to y-axis [0.000000] speed [20.250000]; + move lfleg to z-axis [0.000000] speed [20.250000]; + move lfhip to z-axis [0.000000] speed [30.481575]; + move lbleg to z-axis [0.000000] speed [20.250000]; + move lbhip to z-axis [0.000000] speed [30.481575]; + move rfleg to z-axis [0.000000] speed [20.250000]; + move rfhip to z-axis [0.000000] speed [30.481575]; + move rbleg to z-axis [0.000000] speed [20.250000]; + move rbhip to z-axis [0.000000] speed [30.481575]; move lbhip to y-axis [0] speed [300] / animSpeed; move lfhip to y-axis [0] speed [300] / animSpeed; move rbhip to y-axis [0] speed [300] / animSpeed; @@ -124,40 +126,40 @@ UnitSpeed(){ #define UNITSIZE 1 #define MAXTILT 100 -StartMoving(reversing) +StartMoving() { - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; - isMoving = TRUE; + signal SIG_WALK; + set-signal-mask SIG_WALK; + bMoving = TRUE; start-script UnitSpeed(); start-script walk(); } StopMoving() { - isMoving = FALSE; - signal SIGNAL_MOVE; + bMoving = FALSE; + signal SIG_WALK; call-script StopWalking(); } static-var Stunned; ExecuteRestoreAfterDelay() { - signal SIGNAL_AIM1; + signal SIG_AIM; isfiring = 0; oldhead = -1000000; if (Stunned) { return (1); } - turn aimy1 to y-axis <0.0> speed <20.0>; - turn barrel to x-axis <0.0> speed <20.0>; + turn aimy1 to y-axis <0.000000> speed <20.000000>; + turn barrel to x-axis <0.000000> speed <20.000000>; timer = 0; targetswap = 0; } RestoreAfterDelay() { - set-signal-mask SIGNAL_AIM1; + set-signal-mask SIG_AIM; sleep restore_delay; start-script ExecuteRestoreAfterDelay(); } @@ -173,7 +175,7 @@ SweepFire() } if (timer > 150) { - //signal SIGNAL_AIM1; + //signal SIG_AIM; //timer = 0; start-script ExecuteRestoreAfterDelay(); } @@ -190,22 +192,30 @@ Create() hide flare; hide aimy1; restore_delay = 1000; - isMoving = FALSE; + bMoving = FALSE; animSpeed = 20; start-script SweepFire(); start-script StopMoving(); +} + +SetMaxReloadTime(Func_Var_1) +{ restore_delay = 1000; } +SweetSpot(piecenum) +{ + piecenum = pelvis; +} -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = aimy1; + piecenum = aimy1; } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = flare; + piecenum = flare; } SetStunned(State) @@ -216,10 +226,10 @@ SetStunned(State) } } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; turn aimy1 to y-axis heading speed <25>; turn barrel to x-axis -1*pitch speed <5>; if (get ABS(oldhead - heading) > 500) @@ -241,7 +251,7 @@ AimWeapon1(heading, pitch) return (1); } -FireWeapon1() +FirePrimary() { start-script RestoreAfterDelay(); targetswap = 0; diff --git a/scripts/Units/leginc.cob b/scripts/Units/leginc.cob index 9922c40a8ede6d66561e0136ff283e1a6eac05ab..2f86d489dbd9b996c9c680543e7b8138f24e8e9b 100644 GIT binary patch literal 5815 zcmcgwO=w(I6h28N)2gUXs-j3?x)B#5W1E8D!WK0y+Cc3n;t!Zf^O8*aCNsRg)C3Vm zM5G&Ch_#zyz?I_0tsn@3(4`9(u7Vq}8x2@=p%B0C-g_qZzPx#F(t;08?$7z|Ip00! z-22|7CL;GaX-tdUi9VmN?ibmH%se3SIL7N}C!)!yM&+O$)wDlfkIrL?IvHFL&QB0? zVk+X?OzYnri6pukQ@Q=aW<>N~1k>@z}4p!o@Bk()m;|5pv@H=)0!2u3` zEBsn}k&i2}caM*g-zW3&gWC8dj&Ws7kDwjmnl{cR=8dUHniD~8-awH2T-|UsM6T@G zaJdq(dt{E)S5Z!(Hk>MR>Tp##ReO~=b@nQA>Tp##Rli|Qi{fHylel4AifY*Tt;)Un z4Rb%*@2%#35oFD|EX*}npq_(V7wu_a>p94ENj(R-F0mKny2M_P>yrB*$aSIL-5l=T z8$~g#fpU7o6)Nt}M*_U0skH!iWoVT@=gRJAIsUQ&kh{ zH>ioi+O~d)8~QECq1vmg9Rl-re~G=ynsD~~nmB^FaqslkP{8{-*9BZ}>%CkUa~mVp zL|M$$Z;w?<;Ki>0Ixt0^&Hx;%gXX@r#N;Z$WyxTno zcXv+b-`B@yP6z9PbDLY|*KU5DU$1#Ceq8hGg7<6ApI-<0bz$zu`!XR)OK@Q= zjrJS7BfLDFV!u&~YR$<=-!;q?$5U+a4aa$Hd6sodz2KXU-_H_F1vYrD1mD{a0mL#m;{SB_g~2qf&i8#U?ZBt5r*Cr2+vFbb1#D~{bR2YFd2EB&ro|p| zSk9?ka(vHVCa~9fwB)YBl{ekW4J}jTQiJe&&)mgsgp?%ZQvx5PBa}9NB zTNp#KICEy;CFyTb;FP2Jl^mF-)nHlHEPrHo;G%LuR14v zo6is39)-lVWmvn))8Jk0a*p;@cZFnJU0mg6a~$!L6M9<{sruoZi=`iT-BUg$94mJ& z)fmdW<;s@xT>l$ddvK`sDya3y}N7^P&-xq6& zd8bc4sxx^5Q!~du=bD@H}vn#PB>*$3AOW`vceK8pdFhJyX9}Yxsk!&+#a2IF8>q zj#}^Ia3ml49ng;BuUv|BWn9kDhU4;w<3d}0y!I0l^-rJsjpKgS7&ry(uKtB`rfGNcPx zgS-uS7jhZ$5#$rdHOS|XFCbq-UTG&6q?Psh>~vO_<>l2**6PRcB4*oZHrKnvSt4Bb z`StkRS{9#;FJ`?oKDm^|>2qk<4y-=_ literal 5404 zcmbtYO=w+36h28_UQ)$+B~_H7zHYVPs|9fpA*EV`qEtgEh|s>YH_6kRm&eUbZ4jaO zgDdOKACOYPolq#aaHF_TL8vZVxNu=ziA9itU5KFZ`)206H*@cs+_b%LGI!>D^PS(B z+@v8QcS7!heBBVa4I`h~8Id!P&mem-{~P02GM#N{oD@UbPewN%kUQdO$E3oD*j!Zf;HeK z16(x@5NS5w8+)l_kHHC0?)O%)f`bW~n!ZxT1mOSSgOS66$* zg|&~{z1iBIg0uEqj^c(Fm0DM0(tZwW9q;F`)^WbD)^WbD*75rwtaa6{-Y@mFws{F_ z9k(0SI&QbV*4FOL*80kpwYGOxc&@9yYG2mXT5(~mNA=k7PT$VCsp|=~8}>xpE^$M< z)fy^aUGFF^?43AYT~8>V-xGVVxZOMb1(fr~&UMw-Tl>8{D(46Q_X&GqtDLLdu-4UH z)bmGb(K%=v9Q+hdnc@QoG+|(obN_zEpz@i72-S6G~ZG(x69St#vGjIlFmQF zPrv#=urD~brG0)p<$Zn(WncWfmiGm@EZOt>pu8`v{r0|%@U*?ol1u~~JXieQz84_wxu0`q zhdRAKs597PG9msicV8Gx+v%U#^i~b??y`*Bc))*piRCjNbOen%d!-%cY-pjj5ay&eeBr)f~zR>nlgD zbN}zKLA}m7a?akOp8jxdV`>^+V(7Q&KfK0x=(F}Rw~UwU_%kZ_7s@%XOUL`}cL?9nBgB4-Kl+tdT47I~b9|e4h%vGAUIGp(^N`~$ywMl-*pSQq zO-hjZq@%PO#`bj*x*ph#BvQ{M=2`pjmbep}msxPDU*x8rzAg3$>qwh?RA+JsPt6*C z;9cV$g(o+;Vzw+_Xos{KuYW#FuD!D}$ersY)>Z9LcOQvbHs05~T(XzQMa%_alBq#Y zf8^$j$=9161m5@nd%m4VxyRXg-`UZgjoEp#WJl*)**WRix#aB7Pd^^@A8OY5ruIbvC5BGXF}N_78RQR1W58r%2^McjZvNx^gV-^jCZP!%vj6}9 diff --git a/scripts/Units/leginf.bos b/scripts/Units/leginf.bos index cba71d25f68..e76f98ee856 100644 --- a/scripts/Units/leginf.bos +++ b/scripts/Units/leginf.bos @@ -1,12 +1,14 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, turret, sleeve, gun, barrel1, barrel2, barrel3, flare; static-var gun_1, restore_delay; // Signal definitions -#define SIGNAL_AIM1 256 +#define SIG_AIM 2 @@ -18,12 +20,12 @@ static-var gun_1, restore_delay; RockUnit(anglex, anglez) { - turn base to x-axis anglex speed <50.0>; - turn base to z-axis <0> - anglez speed <50.0>; + turn base to x-axis anglex speed <50.000000>; + turn base to z-axis <0> - anglez speed <50.000000>; wait-for-turn base around z-axis; wait-for-turn base around x-axis; - turn base to z-axis <0.0> speed <20.0>; - turn base to x-axis <0.0> speed <20.0>; + turn base to z-axis <0.000000> speed <20.000000>; + turn base to x-axis <0.000000> speed <20.000000>; return (0); } @@ -35,9 +37,9 @@ Create() return (0); } -SetMaxReloadTime(reloadMS) +SetMaxReloadTime(Func_Var_1) { - restore_delay = reloadMS * 2; + restore_delay = Func_Var_1 * 2; return (0); } @@ -47,8 +49,8 @@ ExecuteRestoreAfterDelay() if (Stunned) { return (1); } - turn turret to y-axis <0.0> speed <40.0>; - turn sleeve to x-axis <0.0> speed <40.0>; + turn turret to y-axis <0.000000> speed <40.000000>; + turn sleeve to x-axis <0.000000> speed <40.000000>; wait-for-turn turret around y-axis; wait-for-turn sleeve around x-axis; } @@ -67,26 +69,26 @@ RestoreAfterDelay() start-script ExecuteRestoreAfterDelay(); } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; - turn turret to y-axis heading speed <40.0>; - turn sleeve to x-axis -1*pitch speed <40.0>; + signal SIG_AIM; + set-signal-mask SIG_AIM; + turn turret to y-axis heading speed <40.000000>; + turn sleeve to x-axis -1*pitch speed <40.000000>; wait-for-turn turret around y-axis; wait-for-turn sleeve around x-axis; start-script RestoreAfterDelay(); return (1); } -FireWeapon1() +FirePrimary() { emit-sfx 1024 + 0 from flare; if( gun_1 == 0 ) { move barrel1 to z-axis [-3] speed [30]; sleep 250; - turn gun to z-axis <0.0> speed <800.0>; + turn gun to z-axis <0.000000> speed <800.000000>; move barrel1 to z-axis [0] speed [6]; wait-for-turn gun around z-axis; } @@ -94,7 +96,7 @@ FireWeapon1() { move barrel3 to z-axis [-3] speed [30]; sleep 250; - turn gun to z-axis <120> speed <800.0>; + turn gun to z-axis <120> speed <800.000000>; move barrel3 to z-axis [0] speed [6]; wait-for-turn gun around z-axis; } @@ -102,7 +104,7 @@ FireWeapon1() { move barrel2 to z-axis [-3] speed [30]; sleep 250; - turn gun to z-axis <240> speed <800.0>; + turn gun to z-axis <240> speed <800.000000>; move barrel2 to z-axis [0] speed [6]; wait-for-turn gun around z-axis; } @@ -110,19 +112,23 @@ FireWeapon1() if( gun_1 >= 3 ) gun_1 = 0; } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = flare; + piecenum = flare; return (0); } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = sleeve; + piecenum = sleeve; return (0); } - +SweetSpot(piecenum) +{ + piecenum = base; + return (0); +} Killed(severity, corpsetype) { @@ -132,6 +138,9 @@ Killed(severity, corpsetype) explode base type BITMAPONLY | NOHEATCLOUD; explode turret type BITMAPONLY | NOHEATCLOUD; explode gun type BITMAPONLY | NOHEATCLOUD; + //explode sleeve type BITMAPONLY | NOHEATCLOUD; + //explode barrel1 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } if( severity <= 50 ) @@ -140,7 +149,9 @@ Killed(severity, corpsetype) explode base type BITMAPONLY | NOHEATCLOUD; explode turret type FALL | NOHEATCLOUD; explode gun type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode sleeve type FIRE | SMOKE | FALL | NOHEATCLOUD; explode barrel1 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare type FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) @@ -149,7 +160,9 @@ Killed(severity, corpsetype) explode base type FIRE | SMOKE | FALL | NOHEATCLOUD; explode turret type FIRE | SMOKE | FALL | NOHEATCLOUD; explode gun type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode sleeve type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; explode barrel1 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; @@ -158,5 +171,6 @@ Killed(severity, corpsetype) explode gun type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode sleeve type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode barrel1 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode flare type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/leginf.cob b/scripts/Units/leginf.cob index b658590e4d3e4938e035489465a3b3691064e192..a049905ef1bad1c3027d2f68446f83bd37fd97cb 100644 GIT binary patch literal 2620 zcmcguJ!@1!6usGOHhu(sV5NkxqF6|fHHxONNc;$h3TtBeeI^rG^7ez5x0(fu{Q+9r zNh%9FJ4?aJ#vdT|HVRf2g2Z!X=I%~5y9o*6gTtLS_uM<@-nnm+yogKyM}SgJWE7Uq zcWg`^6}b;g<2`|uVlE;^qFnUioJbCqTq%mPSgMbfE^LXc(9i*IW6S8KQ6*|YT6Nly0jkdTV18mXb?BA{z@Ub>+{$e zaW-R{lR<9OY|rw%exE%DKK4U-TSIgEI>Mlezo2wA%J%;h*TAd~IJ{rsk z@7QW+x|-~|)2mN=B}3}l#zT%f&)vP&G^|!?8l!$Z)NNyZPbDApG(x_g?v7cL@@-(* z_2HAxAu{Ff`Oh|{FG3nSbIkvn0q6zSA7*pCc|c9f8QT!b+zr(!~SdCgY;~@-CvL92=(mh3+_!JEKKxk<)=y-(GQczQ8AkzipwG8SZ&4uRvg4t#z-Q3?rA{!Z0lq zOdtO)P^a>B-SPXZjT-4cNR0gs5i_W+73TJJef4$OK9n5)pl31NL1VOk`YqTC^nLhW zJ)!3Qx(};IdvMtJf7Oq}p09Cg!~5VY4VugT86)i?a2>b_RDdSX23`Z_QRFmm6}SQL zf1Vcb9C!)50p0;0fzQAf;2ZD@kYgg_zyxp#I0H-p7l2E^HDIx^vc6oeW^yYvab{%6 zWDnxaMUyn*)koEukvp4arIndQvynAYGryLZ^tMUjHknIVt6n#&vfDXdt(DViEl%6A zP)&`lAGS=|))#OV(ngoJ^vob*vysWYYLX!9<9NeJ)=E>8$wp$#QzK7Wb!=lNx$NzX Mw^w8>iBltg0k=EH=l}o! delta 538 zcmZ{gKS)AR6vofJ&-b2^)g1%}BMcf!gc9EB5Qv+DL$x#%;$Yz)j0V?eC>jqqX=t@a zTZ6RK(AH*9TSG)swA51H0WVn4gCF;N_dDmi_r5{wYdRGoq6rWN=ZeU|D&N2(dI2$? zC=DI>m#KF(MQEXhXOz)~6sPn)U+JW}Xj>w)K93R{OO#jS?-2PoOEYY zfwOLWzK0AlzL7a`5zE6uX4i+kl}%Zims NHQ%gPN0PrI*&iR%Q8WMm diff --git a/scripts/Units/leginfestor.bos b/scripts/Units/leginfestor.bos index 6a83d5f81fe..8d3763816db 100644 --- a/scripts/Units/leginfestor.bos +++ b/scripts/Units/leginfestor.bos @@ -1,15 +1,17 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece body, turret, sleeve, barrel1, flare1, leg1a,leg1b,leg2a,leg2b,leg3a,leg3b,leg4a,leg4b,leg5a,leg5b,leg6a,leg6b, aimy, aimfromy, nanof; static-var moving, restore_delay, gun_1,moveSpeed, currentSpeed,WALK_PERIOD, wpn1_lasthead, wpn2_lasthead; // Signal definitions -#define SIGNAL_AIM1 256 +#define SIG_AIM 2 -#define SIGNAL_MOVE 1 -#define SIGNAL_BUILD 2 +#define SIG_MOVE 8 +#define SIG_BUILD 16 #define FRONT_RIGHT_UP\ turn leg6a to y-axis <70> speed <12.5> *1000/(WALK_PERIOD);\ @@ -212,10 +214,10 @@ StopWalk() turn leg3a to z-axis <0> speed <20> *1000/(WALK_PERIOD); } -StartMoving(reversing) +StartMoving() { - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; + signal SIG_MOVE; + set-signal-mask SIG_MOVE; start-script UnitSpeed(); start-script DoTheWalking(); moving=TRUE; @@ -223,9 +225,9 @@ StartMoving(reversing) StopMoving() { - signal SIGNAL_MOVE; + signal SIG_MOVE; moving=FALSE; - set-signal-mask SIGNAL_MOVE; + set-signal-mask SIG_MOVE; start-script StopWalk(); } @@ -236,7 +238,7 @@ StopMoving() #define UNITSIZE 8 #define MAXTILT 100 -#include "../unit_hitbyweaponid_and_smoke.h" +#include "unit_hitbyweaponid_and_smoke.h" Create() { @@ -254,15 +256,15 @@ Create() } -QueryNanoPiece(pieceIndex) +QueryNanoPiece(piecenum) { - pieceIndex = nanof; + piecenum = nanof; } BuildAnim(){ - set-signal-mask SIGNAL_BUILD; + set-signal-mask SIG_BUILD; } @@ -270,7 +272,7 @@ BuildAnim(){ StartBuilding(heading, pitch) { show nanof; - signal SIGNAL_BUILD; + signal SIG_BUILD; set INBUILDSTANCE to 1; start-script BuildAnim(); } @@ -278,8 +280,8 @@ StartBuilding(heading, pitch) StopBuilding() { hide nanof; - signal SIGNAL_BUILD; - set-signal-mask SIGNAL_BUILD; + signal SIG_BUILD; + set-signal-mask SIG_BUILD; } @@ -287,11 +289,14 @@ StopBuilding() +SweetSpot(piecenum) +{ + piecenum = body; +} - -SetMaxReloadTime(reloadMS) +SetMaxReloadTime(Func_Var_1) { - restore_delay = reloadMS * 2; + restore_delay = Func_Var_1 * 2; } static-var Stunned; @@ -300,11 +305,11 @@ ExecuteRestoreAfterDelay() if (Stunned) { return (1); } - turn turret to y-axis <0.0> speed <55.0>; - turn sleeve to x-axis <0.0> speed <55.0>; + turn turret to y-axis <0.000000> speed <55.000000>; + turn sleeve to x-axis <0.000000> speed <55.000000>; wait-for-turn sleeve around y-axis; - wpn1_lasthead = 0xbadface; - //wpn2_lasthead = 0xbadface; + wpn1_lasthead = 1000000; + //wpn2_lasthead = 1000000; } SetStunned(State) { @@ -315,19 +320,19 @@ SetStunned(State) } RestoreAfterDelay() { - set-signal-mask SIGNAL_AIM1; + set-signal-mask SIG_AIM; sleep restore_delay; start-script ExecuteRestoreAfterDelay(); } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - turn turret to y-axis heading speed <180.0>; - turn sleeve to x-axis <0.0> - pitch speed <110.0>; - if ((wpn1_lasthead == 0xbadface) OR ABSOLUTE_GREATER_THAN(WRAPDELTA(heading - wpn1_lasthead), <7>)) + signal SIG_AIM; + turn turret to y-axis heading speed <180.000000>; + turn sleeve to x-axis <0.000000> - pitch speed <110.000000>; + if (((get ABS(wpn1_lasthead - heading)) > 65536) OR(((get ABS(wpn1_lasthead - heading)) > 1300) AND ((get ABS(wpn1_lasthead - heading)) < 64236))) { - wpn1_lasthead = 0xbadface; + wpn1_lasthead = 1000000; wait-for-turn turret around y-axis; wait-for-turn sleeve around x-axis; } @@ -336,35 +341,35 @@ AimWeapon1(heading, pitch) return (1); } -FireWeapon1() { +FirePrimary() { //gun_1 = !gun_1; //if( gun_1 == 0 ) //{ - move barrel1 to z-axis [-2.0] speed [400.0]; + move barrel1 to z-axis [-2.000000] speed [400.000000]; wait-for-move barrel1 along z-axis; - move barrel1 to z-axis [0.0] speed [3.0]; + move barrel1 to z-axis [0.000000] speed [3.000000]; //} //if( gun_1 == 1 ) //{ - //move barrel2 to z-axis [-3.0] speed [400.0]; + //move barrel2 to z-axis [-3.000000] speed [400.000000]; //wait-for-move barrel2 along z-axis; - //move barrel2 to z-axis [0.0] speed [3.0]; + //move barrel2 to z-axis [0.000000] speed [3.000000]; //} return (0); } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = aimfromy; + piecenum = aimfromy; } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = flare1; + piecenum = flare1; return (0); @@ -376,22 +381,63 @@ Killed(severity, corpsetype) { corpsetype = 1 ; explode body type BITMAPONLY | NOHEATCLOUD; + //explode leg5a type BITMAPONLY | NOHEATCLOUD; + //explode leg5b type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg6a type BITMAPONLY | NOHEATCLOUD; + //explode leg6b type BITMAPONLY | NOHEATCLOUD; + //explode leg4a type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg4b type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg3a type BITMAPONLY | NOHEATCLOUD; + //explode leg3b type BITMAPONLY | NOHEATCLOUD; + //explode leg1a type BITMAPONLY | NOHEATCLOUD; + //explode leg1b type BITMAPONLY | NOHEATCLOUD; + //explode leg2a type BITMAPONLY | NOHEATCLOUD; + //explode leg2b type BITMAPONLY | NOHEATCLOUD; explode barrel1 type BITMAPONLY | NOHEATCLOUD; + //explode flare1 type BITMAPONLY | NOHEATCLOUD; + //explode flare2 type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } if( severity <= 50 ) { corpsetype = 2 ; explode body type BITMAPONLY | NOHEATCLOUD; + //explode leg5a type FALL | NOHEATCLOUD; + //explode leg5b type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg6a type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg6b type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg4a type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg4b type FALL | NOHEATCLOUD; + //explode leg3a type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg3b type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg1a type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg1b type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg2a type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg2b type FALL | NOHEATCLOUD; explode barrel1 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare1 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare2 type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) { corpsetype = 3 ; explode body type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg5a type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg5b type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode leg6a type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg6b type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg4a type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode leg4b type SMOKE | FALL | NOHEATCLOUD; + //explode leg3a type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg3b type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode leg1a type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode leg1b type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg2a type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg2b type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode barrel1 type FIRE | SMOKE | FALL | NOHEATCLOUD; explode flare1 type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode flare2 type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; @@ -410,5 +456,6 @@ Killed(severity, corpsetype) explode leg2b type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode barrel1 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode flare1 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare2 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/leginfestor.cob b/scripts/Units/leginfestor.cob index e606bf2e1d2630bddd211dbe034f0acf65d68af3..f652868df172865ad061140a07ad5d9c88b7930a 100644 GIT binary patch literal 8443 zcmbtZTWB0r7(ThSYHL@mctsZq`k=_BO^Xk;q-iZmX-S*31@R%1?xY>M*^Qe`ZKPrl z6crJvFM>jgASjCHgXoJAsER&lpHxu6I~LoADirDkdP?2X??Jb}qw1?IiecE+;*PSMX)ZGUXXe6jwAHAcVP+V;f?i9|;I z_Qk3)ZoYkMNM+pI`PNYP4>6`!Kv;A4?3(s@(6ve#jpxSO+smkLD;$|5cbv?byG?L1 zox4Fh=8Kis5-CFR~_M5*q>qq_e)wb?sZY}us%$u1sa@+RmR1~w}y0|b`sAI!bZ;rXPqF_T`R%=FkLBTzvHEnsfKe%Zn4P zv4U+nP9IJhr=BBedG1xjI}2x5K5uRnr!1d+IH|mQj^)Kk_vv(;KAdz<((@!OpVz+n zoR;^+thM2u8F_8${+70xH)h?3)AD)OP$xcXoLN5maMIdv_vgGg@n;)rI31@CCtU-2 z&Zgz_uAxqRR-CeY_Ti-R?)j1zCp}-%ar$u5Jz3AewER--=aqM3mfYEMjQf$9j?YMG z&*S_opf61LLR*{M6FJUvl4I=4Tnk+sclli1tT%pKc~gWghq|F#_tvuI6&-kAVep=! z8$R&$1^M`-EDm^eKK_BHNTFpMhrKciL>KFMPsP!`RtoGs}J!A4L*bU_!jvXN-Jj^c@5f zJ4IA#sTqUH4zppgd)M*@GS-#&#k@^<&y zl8+H1vI*aG%%^r3qbV+zeM{f1UZe-O(RNxs%cjb<@|8aEk0!}SyyYEgsfjg*7&q&K zm~m}A0%yrDzG9ATcfT-2>;PaDYB48vsEd*g-_Y&KE}Qe!O$-^f6T4qp8?Wq zKKVh8WFJD)&8g;GaI-aK%;}yOhkq9N-hyjW^c1_2w#?5j6Z=%}^2M?kgFf8@uSPd( zEs!7EUFLjxz1#p^Q;ad#Wig=t)Gx6^UlD!koyXIRqaF&&lJ!=^Pc1i#{-7?DrT z5NmJ7+9Mu$?a?sx$aw}|*k-)+s}n!=Q^xx7n)O5cE;Zxs#1_@jekU@tM;XS?XP%fO zx8PN5DVO$J^+}Q}E_rlo46Wp|FqYpNP7JQiEE)b@aN~Am^7tw5Q!;Gkk=GoxiZhSA zoX;8dvts6N{-wk$XMKk@dG;>FCb!z9$m@RC3g;}G|nSrs2qx_2h5&o z)EJ!(!?GD|)TTL#Mo@3;s2%1s2W|7ds4+aZFASz@RWmwOI}}pXIHUKM&6au?G(xj$ zHmuL>463z}DBK^K;n}EC-dv5QV%5@B<;~8+VF*uZ4Ko@xb_7Ruhm~4T9*d?zbMKLG z|7;`N9nLgr^>FiKBdl)?E5RH&M;o)%D!jjRa&t5_QjeyB`kdJo)kAG#cw4=eOo^*H zw>_#WvdOd8InMxQQ4$VY>US+^cR)TssU@GB(fk3_|_`O!zYo)zT+Uuk} gDD6RMub1|EX>XABh6xiyQ*->9ghz9x3dAPO|M@YaU;qFB literal 6860 zcmbVRUx<`d6u&dhu3Kh~WnmUL^wL9rnAO!nBzA4JOq9*pFsg^0b-vvOXJ>|S)?5&j zNDv7Vk*EmUhyD>7VGzEULM9dDQ@uol4-ytV7#N9=+wXVoJu`Q|xihQHa^}1Dp5OU< z&pqGw&8Cbo_kxyylHJDKjw?TXOO1I0bP4nb=l2o6nI^nWD{wQIW*HwR&`w_~s;`}^^>NI)L=4Al{G|v}*KG>2!t$X4$e}_-M-GWoQcX&9>v+!=Ro_pX- zJkK|vfNP;RW|%nC!CdtxJ^<&(5z@Ezg3Sy2i{>SiXRT-AG%p(Ot<=?EAl@}@EmT+P zpTBRRx;p+xbAQ#pP+jRc_xCN-Hy&Vukv~7)P~Xt=hIZe`OQ>(?zRlGqwf>0HI5f{# zGBAkI=|W{ zdEcZjJa^*LP`BJKkuteQU&o+v@5O!hZz?~P zu~V+JC;HC?v|XK8-_oZvZ`zmRGNIZRf3e4N`J;Zf^CuLm?vLNEJH^@qXLt_ceurXJ zzqL2UWk$Zazp2MP5BV~B-a`IptnK^>#i}xX4-V;8AG9aM{SL*d=T-Y+T&9y9^(QV9 zib40w?}MFm>v@ms?i7ReoVZM<+MLTD^}C%vp;&dl{9e>4Rz4!%YHe!&kH^}nHs|t3 zV{PY8C{~s6`(&qBwNJ+V4(+S<9PQO{ng3&_lZ+pOoF(*HlfnBHdZP62s@Kc+ftSWy zfcU~#hl*!E=Njk2gFfXMr;F=8PV_n5tOWA+$vDzau1fqu~ zvv$qrk%cEGiR&v&nm%?@Lqmtya4~)7a9mTJlw0=DY+og}S^F+4^6tIk7&5@{E~zqwWD*X_NDIeiL_@ z02dEq=6;y8-4m7NmCqx@pT|K_-{Uz8@hIBBqb4;s%msgYD5WeP7pY^$z#)C+m9mUQ z>vp}vb4hE{*YC@TPFF)io*lJ8Ir`DCA-{}hE!)}~adHU)uh<&lb6&x%C%tvw_6j

      i?SJ(6& z$u*VL{>rsYG>Be88{BiQ^}`tFB8xd8;(rEyV175Iem<2?o}4rEGmdq=(F=x*$To0Q zi&Hy{(PVn0&+@*(&n!L28*Rts+u8K@MljeLKbK+v`@){coUk^3(Y@y!JlgX6g2@=W z7hs2YVu!MnB*x+T*DaEqvR6_Lmqt$2Px?kb8vab%dQ31uY5V&e#e8`g(+F}-Imuxb zzvs2V>s~bEsy4=JdzkQOin-2%f_1ac=3paoKn!&=Pqf7x(--lF8o0&}Vz&uy#-uXTA^0J! z(ZdO@8FOQX@5np@q9>DRj4gj&Gw&YG@*o6#+UM?~4)};mQ^w;nw03;z(7aJMe)2_5 zY!2RZIiUZPm)L=sCMG?>rBYE=tCoit+7?pUjzvbrgybQd~`HV|>#mjrGH)ryEzVuR0p6^&b zUwWv=XTS3K2z}OE&xZQL=PKfLuFqsT*IcN-@mxUM@OOfLK`#JY0__2P3VIaa3g~^% z$Dk9SGobH5KY^}-QgDzBJ_i~HRY0$T_&K*?qJKL%(y=wZ+r(9@tTpd9E$P##nSRYAKzdqA&&4uB4Uj)L9=O@lrH9S5BR zodTT(od*q8hF^)cHqzk6#`s^km9#fiwQ-yLnAtVdg;o%KpB8W^ibwZW*ApE9|qo~uum%W%7uIZ&Li zZuXiD#ag6eEN`e)8Z2>8d7Fx*5_FAL3R9*&S*t~Lv$GUMyCO51$E?(A#!C5G)N4x7 ycyC_5NBO-%#w%pJQpPJ~+$ZBc8LyJ@DjBbq@#;~NFHTJHYYZMunKJS;X8r@EOJaWj diff --git a/scripts/Units/legionnaire.bos b/scripts/Units/legionnaire.bos index 277073fada0..590503e9a62 100644 --- a/scripts/Units/legionnaire.bos +++ b/scripts/Units/legionnaire.bos @@ -1,11 +1,24 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" -piece missilea, missileb, nose, base, thrustb1, thrustb2, thrusta; +piece missilea, missileb, nose, base, thrustb1, thrustb2, + thrusta; -static-var gun_1; +static-var statechg_DesiredState, statechg_StateChanging, gun_1; +activatescr() +{ + sleep 15; +} + +deactivatescr() +{ + sleep 9; +} + #define BASEPIECE base #define HITSPEED <105.0> //how 'heavy' the unit is, on a scale of 1-10 @@ -13,8 +26,58 @@ static-var gun_1; #define MAXTILT 100 -#define BARRELROLLSPEEED <200> -#include "air_barrelroll.h" +InitState() +{ + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; +} + +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + call-script activatescr(); + currentstate = 0; + } + if( statechg_DesiredState == 1 ) + { + call-script deactivatescr(); + currentstate = 1; + } + } + statechg_StateChanging = FALSE; +} + +static-var maxSpeed, currentSpeed; +BarrelRoll() // remember to start-script BarrelRoll(); in Create()! +{ + currentSpeed = (get CURRENT_SPEED); + maxSpeed = (get MAX_SPEED); + + while (TRUE){ + sleep 2000; + currentSpeed = (get CURRENT_SPEED); + //get PRINT(maxSpeed, currentSpeed, Static_Var_1); + if( Rand( 1, 5 ) == 1 AND (maxSpeed < (currentSpeed+100) ) ) + { + turn base to z-axis <240.054945> speed <120.027473>; + wait-for-turn base around z-axis; + turn base to z-axis <120.027473> speed <180.043956>; + wait-for-turn base around z-axis; + turn base to z-axis <0.000000> speed <120.027473>; + } + } +} Create() { @@ -24,30 +87,55 @@ Create() hide thrustb2; hide missilea; gun_1 = 1; + call-script InitState(); start-script BarrelRoll(); } Activate() { show thrusta; + start-script RequestState(0); } Deactivate() { hide thrusta; + start-script RequestState(1); } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { return (1); } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) +{ + if( gun_1 == 1 ) + { + piecenum = missilea; + } + if( gun_1 == 2 ) + { + piecenum = missileb; + } +} +FirePrimary() { - pieceIndex = missilea + gun_1; + if( gun_1 == 1 ) + { + gun_1 = 2; + return (0); + } + if( gun_1 == 2 ) + { + gun_1 = 1; + return (0); + } } -FireWeapon1() + + +SweetSpot(piecenum) { - gun_1 = !gun_1; + piecenum = base; } Killed(severity, corpsetype) @@ -56,6 +144,7 @@ Killed(severity, corpsetype) { corpsetype = 1 ; explode base type BITMAPONLY | NOHEATCLOUD; + return(corpsetype); } if( severity <= 50 ) diff --git a/scripts/Units/legionnaire.cob b/scripts/Units/legionnaire.cob index 97b92761c7b45f73985bdd9502e47d043139db57..4ec6c67b3e026a8a604b69498aabfe50715b9614 100644 GIT binary patch literal 1786 zcmbtUJ%|%Q6n@F&_7D{ZEJRS)!b&XSRd#xM3UWiYy6;;R@>)l4Q=|>CWpkx0b1Z?O!|>I0nrS7c5`T7 z<##gVHUt0eT5^+`e&1u!u+KVt8k^7LV;5NvW4`dwxb~>lInIu+>xDY!gU&kYS|{fs z(++;7*6oBf#~F-UhVd3u`qnDGh2Zn&iOi#5@9;vyebjLkUP|pb zf-Ppjh{5@`{23p@#kzGYkn-s>IAUZ$Gywst>Wu%qGtd81p7N36w><3Z8eHUZF}|C= zxEU$&MDcFWHAr_h*fd!~KlkWn!<{$&Tlo^+O)dL!Oy0%)s8-gM77l zc;9^Evpm+q=AJpr-0%1MsnUn<2By0c&2{tRzW9c}R_ZmkI^$kFeuO%5>2CI_tM=QE zCFs0$b$U+jp>7_=34W2{xQAI@Qg^J?JKb8?2ios)V0QpfguZwG)Qzy|ObcnQ1#c7S)lH-Pta7~t>sD$oTs zfD|Z!+rT~GKJWl|0z3y^0k46#zCSaw6M61S}&ygOyTN5gCC%l{zRZubn z(5ntQHCj7~9bdCv6vxe)vwH?+j>+ja|0geEf#F#_Wd78XRY&oP>>u-54ranl7{EHl za(>1IV`=RD^JP=3P;0)FUMtZ_<&1VJH?^C%A7?SUqAWI*=&M|6XK_n#zs|=6WoPjxQBDN%&|A$1TEt+tf*qL4|6W)H?318$LL(aWgS=XU!BgB&YjW8&8Wkk zvvS#H1K0!FzyaU`#{iyJ{9n0%*d=fS+yW246Yv7O0&l=OFabUQ2ajeRSaX9w`&$Fw zm-Rrqk(OE~@{Z`#wQJp)*W1 @@ -14,21 +23,54 @@ piece base, thrust, firepoint; #define UNITSIZE 3 #define MAXTILT 100 +InitState() +{ + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; +} +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + call-script Go(); + currentstate = 0; + } + if( statechg_DesiredState == 1 ) + { + call-script Stop(); + currentstate = 1; + } + } + statechg_StateChanging = FALSE; +} Create() { hide thrust; + call-script InitState(); } Activate() { show thrust; + start-script RequestState(0); } Deactivate() { hide thrust; + start-script RequestState(1); } AimWeapon1() @@ -48,22 +90,22 @@ AimWeapon3() FireWeapon1() { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; emit-sfx 1024 from base; emit-sfx 2048 + 2 from firepoint; //Weapon3 creates a dragon's eye once weapon1 fires emit-sfx 4096 + 1 from base; //Weapon2 detonates the crawling bomb once weapon1 fires sleep 1000; } -QueryWeapon1(pieceIndex) +QueryWeapon1(piecenum) { - pieceIndex = base; + piecenum = base; } -AimFromWeapon1(pieceIndex) +AimFromWeapon1(piecenum) { - pieceIndex = base; + piecenum = base; } FireWeapon2() @@ -71,14 +113,14 @@ FireWeapon2() emit-sfx 4096 from base; } -QueryWeapon2(pieceIndex) +QueryWeapon2(piecenum) { - pieceIndex = base; + piecenum = base; } -AimFromWeapon2(pieceIndex) +AimFromWeapon2(piecenum) { - pieceIndex = base; + piecenum = base; } FireWeapon3() @@ -86,17 +128,20 @@ FireWeapon3() return (0); } -QueryWeapon3(pieceIndex) +QueryWeapon3(piecenum) { - pieceIndex = base; + piecenum = base; } -AimFromWeapon3(pieceIndex) +AimFromWeapon3(piecenum) { - pieceIndex = base; + piecenum = base; } - +SweetSpot(piecenum) +{ + piecenum = base; +} Killed(severity, corpsetype) { diff --git a/scripts/Units/legkam.cob b/scripts/Units/legkam.cob index f64fe86c9b2843b232280d76eba15a2e7524e970..2f081f99cb3a80b93b0200ff364974be3dadbb65 100644 GIT binary patch literal 1654 zcmb`HziSjh6vy9PHme}WG=d=(*Ii=~Z(EB5C1Mo3xP^$#o^iy5^LE{vGX?^tu(q@j zEG%p!rFMdLDJ<-?x3M$-fquWUGrMC@h?;{B`{w=lzPE2DiA3ZSm;?QeNEc83_9Brp z^CBfUi}N;~9o1DfIE)o-q)W6^`+SUN`u$muD?Q|Z$kj*|t3~8=ai-ou4c3JEwvWs0 zI{kyS)TS2w%$IClvCmbQKGx1u$Idgahxy#k$9<2m&T0SS%Y>t{!jM26+WHtR<3?b|L#+O*?*zZf9eOKHKTZbceNVh*9ChmLwG9N{_ zpQF$|BCW&B!W@6M`Cbd`-K+22cbN3?4*0vqbIUDVHa? zNzKS;xvn3~^wb?LRGPk(4U<2laZ!)Fxsu<%p+{vgIVX)dXw5`c^Gf@S^_i}=`~m5! zRnb(pc>@XZtX7*h2=tOLFJaF%FOhUpYm=6Rkt_LltnbL}(Nv4MSIwqI?qaC2$R|dA E0-`yi9smFU literal 1085 zcmb`Fu}Z^G6oyY?TE)eyAn2COr9(^>M~hMi2kTUDN?NZNiET+zK@f3smF|K#xw!cP zzJU+m;HaCUqyM?dZGsf7(1eeid-9+EoSPeqhy<7ck3e5R|NT0ahd1%Q}cJwXL^S#ox%bc@iVMi@)2*dNIFTrVJR#Jy2

      wIEQ(lG6E%|w6oyR>3okzQ26v;zs U2Z^NgI36S^9buGyFYKoD4X#vrPyhe` diff --git a/scripts/Units/legkark.bos b/scripts/Units/legkark.bos index 59d948384ec..15f468d5683 100644 --- a/scripts/Units/legkark.bos +++ b/scripts/Units/legkark.bos @@ -1,20 +1,20 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece torso, rflare, lflare, pelvis, rarm, larm, aimy1, aimx1, leg2a, leg2b, leg3a, leg3b, leg4a, leg4b, leg5a, leg5b, shield, shldbot, shldout, shldin, shldtop, rhand, rheatray, backpack, neck, head; -static-var isMoving, isAiming, ReadyToAim, restore_delay, gun_1, wpn1_lasthead, WALK_PERIOD, moveSpeed, tdamage, shieldup; +static-var bMoving, bAiming, ReadyToAim, restore_delay, gun_1, wpn1_lasthead, statechg_DesiredState, + statechg_StateChanging, WALK_PERIOD, moveSpeed, tdamage, shieldup; // Signal definitions -#define SIGNAL_AIM1 256 -#define SIGNAL_MOVE 1 -#define SIGNAL_AIM2 512 - -#include "../opencloseanim.h" - +#define SIG_AIM 2 +#define SIG_WALK 4 +#define SIG_AIM_2 8 #define BASEPIECE pelvis #define HITSPEED <55.0> @@ -33,8 +33,8 @@ HitByWeapon(anglex, anglez, damage) // angle[x|z] is always [-500;500], damage i turn BASEPIECE to x-axis <0> - (anglex * amount) /100 speed HITSPEED; wait-for-turn BASEPIECE around z-axis; wait-for-turn BASEPIECE around x-axis; - turn BASEPIECE to z-axis <0.0> speed HITSPEED / 4; - turn BASEPIECE to x-axis <0.0> speed HITSPEED / 4; + turn BASEPIECE to z-axis <0.000000> speed HITSPEED / 4; + turn BASEPIECE to x-axis <0.000000> speed HITSPEED / 4; } HitByWeaponId(anglex, anglez, weaponid, dmg) //weaponID is always 0,lasers and flamers give angles of 0 { @@ -138,7 +138,7 @@ HitByWeaponId(anglex, anglez, weaponid, dmg) //weaponID is always 0,lasers and f #define WAIT_WALK\ sleep WALK_PERIOD;\ - while(!isMoving)\ + while(!bMoving)\ {\ sleep 111;\ } @@ -184,7 +184,7 @@ UnitSpeed() { while(TRUE) { - if (isMoving) + if (bMoving) { //currentSpeed = (moveSpeed * 80)/(get CURRENT_SPEED); //if (currentSpeed>300) currentSpeed=300; @@ -193,22 +193,22 @@ UnitSpeed() WALK_PERIOD=120; } sleep 142; - //get PRINT(isMoving, currentSpeed,0,0); + //get PRINT(bMoving, currentSpeed,0,0); } } -StartMoving(reversing) +StartMoving() { - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; - isMoving=TRUE; + signal SIG_WALK; + set-signal-mask SIG_WALK; + bMoving=TRUE; } StopMoving() { - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; - isMoving=FALSE; + signal SIG_WALK; + set-signal-mask SIG_WALK; + bMoving=FALSE; sleep 20*(WALK_PERIOD); turn leg2a to z-axis <-20> speed <50> *1000/(WALK_PERIOD); @@ -248,7 +248,7 @@ StopMoving() } -Open() +ready() { sleep 15; turn neck to x-axis <110> speed <110>; @@ -273,12 +273,10 @@ Open() move shldtop to y-axis [4.4] speed [4.4]; move shldtop to z-axis [1.1] speed [1.1]; sleep 100; - ReadyToAim = 1; } -Close() +holster() { - ReadyToAim = 0; sleep 15; turn neck to x-axis <0> speed <90>; turn head to x-axis <0> speed <90>; @@ -310,10 +308,76 @@ Close() set ARMORED to 1; shieldup = 1; sleep 100; - isAiming = FALSE; + return (0); } +Go() +{ + call-script ready(); + ReadyToAim = 1; +} + +Stop() +{ + ReadyToAim = 0; + call-script holster(); + bAiming = FALSE; +} +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState ) + { + call-script Stop(); + currentstate = 1; + } + else + { + call-script Go(); + currentstate = 0; + } + } + statechg_StateChanging = FALSE; +} + +SmokeUnit(healthpercent, sleeptime, smoketype) +{ + while( get BUILD_PERCENT_LEFT ) + { + sleep 500; + } + start-script UnitSpeed(); + start-script DoTheWalking(); + while( TRUE ) + { + healthpercent = get HEALTH; + if( healthpercent < 66 ) + { + smoketype = 258; + if( Rand( 1, 66 ) < healthpercent ) + { + smoketype = 257; + } + emit-sfx smoketype from torso; + } + sleeptime = healthpercent * 50; + if( sleeptime < 200 ) + { + sleeptime = 200; + } + sleep sleeptime; + } +} Create() { @@ -329,17 +393,28 @@ Create() turn leg3a to y-axis <30> now;//5 moveSpeed = (get MAX_SPEED); WALK_PERIOD=800; - isMoving = FALSE; - isAiming = FALSE; + bMoving = FALSE; + bAiming = FALSE; ReadyToAim = 0; restore_delay = 10000; gun_1 = rflare; tdamage = 0; shieldup = 1; set ARMORED to 1; + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; + start-script SmokeUnit(); +} + +SetMaxReloadTime(Func_Var_1) +{ restore_delay = 10000; } +SweetSpot(piecenum) +{ + piecenum = torso; +} static-var Stunned; ExecuteRestoreAfterDelay() @@ -348,13 +423,13 @@ ExecuteRestoreAfterDelay() return (1); } set-signal-mask 0; - start-script OpenCloseAnim(0); - turn aimy1 to y-axis <0.0> speed <90.0>; - turn aimx1 to x-axis <0.0> speed <45.0>; + start-script RequestState(1); + turn aimy1 to y-axis <0.000000> speed <90.000000>; + turn aimx1 to x-axis <0.000000> speed <45.000000>; wait-for-turn aimy1 around y-axis; wait-for-turn aimx1 around x-axis; - wpn1_lasthead = 0xbadface; - isAiming = FALSE; + wpn1_lasthead = 1000000; + bAiming = FALSE; } SetStunned(State) @@ -367,63 +442,67 @@ SetStunned(State) RestoreAfterDelay() { - set-signal-mask SIGNAL_AIM1; + set-signal-mask SIG_AIM; sleep restore_delay; start-script ExecuteRestoreAfterDelay(); } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = rflare; + piecenum = rflare; } -AimFromWeapon2(pieceIndex) +AimFromSecondary(piecenum) { - pieceIndex = lflare; + piecenum = lflare; } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = rflare; + piecenum = rflare; } -QueryWeapon2(pieceIndex) +QuerySecondary(piecenum) { - pieceIndex = lflare; + piecenum = lflare; } -FireWeapon1() +FirePrimary() { + show rflare; + sleep 100; + hide rflare; } - -FireWeapon2() +FireSecondary() { + show lflare; emit-sfx 1024 + 0 from lflare; - move shield to z-axis [-0.5500000] speed [1375.0]; - move shield to x-axis [-1.210000] speed [1375.0]; - move shield to y-axis [0.55000] speed [1375.0]; + move shield to z-axis [-0.5500000] speed [1375.000000]; + move shield to x-axis [-1.210000] speed [1375.000000]; + move shield to y-axis [0.55000] speed [1375.000000]; turn torso to y-axis <30> speed <200>; wait-for-move shield along z-axis; - move shield to z-axis [0.0] speed [1.375000]; + move shield to z-axis [0.000000] speed [1.375000]; move shield to x-axis [-1.7600000] speed [1.375000]; - move shield to y-axis [0.0] speed [1.375000]; + move shield to y-axis [0.000000] speed [1.375000]; turn torso to y-axis <0> speed <10>; + hide lflare; } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - start-script OpenCloseAnim(1); - isAiming = TRUE; + signal SIG_AIM; + start-script RequestState(0); + bAiming = TRUE; while( !ReadyToAim ) { return(0); } - turn aimy1 to y-axis heading speed <200.0>; - turn aimx1 to x-axis <0.0> - pitch speed <200.0>; - if ((wpn1_lasthead == 0xbadface) OR ABSOLUTE_GREATER_THAN(WRAPDELTA(heading - wpn1_lasthead), <7>)) + turn aimy1 to y-axis heading speed <200.000000>; + turn aimx1 to x-axis <0.000000> - pitch speed <200.000000>; + if (((get ABS(wpn1_lasthead - heading)) > 65536) OR(((get ABS(wpn1_lasthead - heading)) > 1300) AND ((get ABS(wpn1_lasthead - heading)) < 64236))) { - wpn1_lasthead = 0xbadface; + wpn1_lasthead = 1000000; wait-for-turn aimy1 around y-axis; wait-for-turn aimx1 around x-axis; } @@ -431,10 +510,10 @@ AimWeapon1(heading, pitch) wpn1_lasthead = heading; return (1); } -AimWeapon2(heading, pitch) +AimSecondary(heading, pitch) { - signal SIGNAL_AIM1; - isAiming = TRUE; + signal SIG_AIM; + bAiming = TRUE; while( !ReadyToAim ) { return(0); @@ -448,25 +527,57 @@ Killed(severity, corpsetype) { corpsetype = 1 ; explode pelvis type BITMAPONLY | NOHEATCLOUD; + //explode rthigh type BITMAPONLY | NOHEATCLOUD; + //explode rleg type BITMAPONLY | NOHEATCLOUD; + //explode lthigh type BITMAPONLY | NOHEATCLOUD; + //explode lleg type BITMAPONLY | NOHEATCLOUD; explode torso type BITMAPONLY | NOHEATCLOUD; + //explode larm type BITMAPONLY | NOHEATCLOUD; + //explode lflare type BITMAPONLY | NOHEATCLOUD; + //explode rarm type BITMAPONLY | NOHEATCLOUD; + //explode rflare type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } if( severity <= 50 ) { corpsetype = 2 ; explode pelvis type BITMAPONLY | NOHEATCLOUD; + //explode rthigh type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rleg type FALL | NOHEATCLOUD; + //explode lthigh type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lleg type FIRE | SMOKE | FALL | NOHEATCLOUD; explode torso type FALL | NOHEATCLOUD; + //explode larm type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lflare type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rarm type FALL | NOHEATCLOUD; + //explode rflare type FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) { corpsetype = 3 ; explode pelvis type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rthigh type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rleg type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lthigh type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode lleg type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode torso type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode larm type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lflare type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rarm type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rflare type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; explode pelvis type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rthigh type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rleg type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lthigh type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lleg type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode torso type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode larm type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lflare type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode rarm type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rflare type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/legkark.cob b/scripts/Units/legkark.cob index e859f8088049f18c1fc5f20903669ca1e03d427a..3162e51f07466d19ced304817d68dc02b6a0a23b 100644 GIT binary patch literal 9207 zcmbtaZH!!189uu^JD{Rm5lq2G2bzE}8V7cXjR{&Rf}}#$?pBP%u(O@pcI#JnuQr%<*<+?rirq z@0@er@2_*ty?0x1&bQZych5;xhV1c&PM9LP(5!ooi5?H6+M>)Jsh{9=WRg`$F1nOJm}#_ zJsOF2rHlK0#QLd5wl>fk}z}$ zQ_8l81KsT^Ca(nCOAsRMWi}MnM_*5-$KOK!AhZ3V@iLvW=gzs3OD+Y!`e7#&Ok#)q zEE&ZL)WorV08VCOeP6(xgG1wdn0~?g%{(gBJikx`3N`oH{)E9xx-P z%#VDVL(Rs;!#YVucJh4dKJVjUFG@yr*i6rDz{zYK9tgNRA7I-2W*y{1UhO{ls`vX6 z$S6NcSB%dO{a}75BRlQw<7LkL%iG~ODjDSmsEPaZ#Uc6mUBFGcCgVQMTa(ARz7cEO zbCcE~&W~c{imKgzpiJi6?6)@ELw^n5{^Q-G{|Ud*yDpR@9l#vHHV zNo{KH$=b||Sw7R|u$U+9jm`M1H89HOygW%h-h(F1llGv^=1FIX_R6gMR_#wJAIEI9 z3ws@NsXb`^PQM>;SOqMiPcKew;+B%{6kpyw%^^fcQGgB;_hyw=EUB&Rdu z2Y>N$q_LOCFFEDUZ|a_wl_M=HCwru6?@@nnWPJ8680;3rZ9Q)Y4y_y$u zcHlt4#s@e4V{)V^hK(z|&VzsUI!Ti~>74)ZS(CGO+l)@?ragPl4K(TGD4KLu!K1$7 zl;1??W880NKkWTBI`R|uTb360Tb4Gg-=uR`zr{4=NBt&RoOAVCOdBVs9H`$UH>}@c znsln)Vw!ZS-$WbMZ!t|e)o(FPI_Ku5t#6DrqTfUt)^9OQ_S73OP4?7pq7Cb}m^Ml$ z<*3swgf)WE{KIH@!Duq~x6hO*@0 zw^!n`vVA)ENO#NryV42R5slw_ALJr}-+YebMVqEC=;d?ycLEQe6?w@o*(T4I!6Q8V zr;ob#IYn$G55!w7O9lJp{A7^*Ck>+()b}`TCPn*ZikZzV$Cy&y$5c#S3$nIPKp%Y~ zyYfNa-9#il{+9y(G!&3mHKo1*FEixzNbXNTZYq)^kNNa>?2x!5Lp?VTfp-Aqh&0(a zMOyIZ)u5NSEU$9$RN$eQ<#HKcx;e*a_A&ZCLdF6l*I?oR^#!o)Vvu3fp)~)DTqvO_byiTao z@_@dfEHCL-5Ar_ik1>XIDSp->E6=Xrb3E703JjB%zEZd3TyO9`$^MOVn?2jicZgFq zdq!Ct)D6wz<6L;k?Am>)!7&Ro1`;_ek>3Bb@5FafxmW!NBR_-^%-KL z9P4PkIf9?-T)7#RN71Qs9G!8DqmPuwnV=l#S%qswIJ$3n0iSx*p&9!%Oz`fGHQlGV zduB@xzopBFUZM<@^Np^)?mr+AEdd`lsyyn^)LHpJCdX$ zOB?nq>4wP3w%*@NXKZ^pju}++b-ZWOu4_lVj{3*_P5tUW+d;`6`m2n_?dO+zvBzH< zaLk4J)4?D0JNcC-s?r|nO8#$v@mjbablT)v80Z@O%}=&9x^f|`S$JKZwfTkWxSU3} zsN=7%K?l!-HlXL%w3EYDmi zo?e)%{WakCfFcw;0@#NJy$8?$JO=nLU=KEcMZn#FuL3pz-vc}j zcmnVg;Ay~b0ozdLV}M5h{QnT!0M`QM05<_{2P^?T4OjuBfX@Q%1AGzi6~G4I1mI_Y zX90fzybSm^pt!@iD*#sm-VgX7;5NXWfF;1)fE7Ru&;+ak)&XAt+z$ z(Cus1x{K{Jt-8f-rPIBmbuY1t-BvqHJ87l5?hdu;tKGEYZfhCM?M;uYrK?@YbW^w3 zXdOugR3pqIZ&^3QdjpwJFVYaTXmgEr{REaxJs?Dem#GWUhnGZ!5b>}yTac& zo6p&N-sbZ*ztQG5uDI1hwX|NvP_M2aH5^-Oeyla^7G-dqLzQL~zsPI{d0MILKimem KW{MwRtL}gB_VdI5 literal 7504 zcmbVRYlxiH89uu^S>vV6XT8)bnO0B{+irH(HngPOTntKVyLG*RKRT1_x5<#%naS*| zB(^l64J`yoX+fbPZT=~uKZ+$3`e%_^MO3g*lvYXvTP1%?g|4DX2-K4&WQ2HvQg-AJ`5-J-?f8Zn^$}++klbM zW1Qcjukv_y9!LCRtmZTLb~EGI77C!VmLvXAhoj=7&X@QcYzO7YJVn%Hy@+))9nScC z#{v#V$~d~r=TQkfvRF4_NN=9J39q*oQ`(Zp7^QR74ZRp;>n6rB=`sdacBZe`XhS*S zX`|8N>a*?HQ_lgJde#?VPB!uWa()lD=rbjg9Y^(yYROUgaAY|ZtINji+2VkVBYVNt zGV}e&xp<6iVi^q7l01ZI@ergPeVT8dLKAc>K#fTlA6npkCQ!pQldHt2}pgpI&?Q%o*yf zgO2)c<;XYs^dL4oo;T7{9ws}-Jf;(Q+!T0M{P^2_en(IE_}C}PBNg8Z|LN%|zF~S? zC+V%0`s??^O;A8x?0ltf)Oq8 zlwY{B_*g&1m#XtU|Ml_l&HtByl|EbP#e5pJh zy3XetuScp6K3ebf;&UT~r#_&b`e2w|e7>lDFg@o!*a9cT^KWC|rTiK;);EqXmG6_> z;LwZrd8+SqzEDs3rutszf%ZAi>65VOp2>wf;Sj)h?pwULBYqTe+7AZr6W#~3JxYae z?l*%DS-Ov@gLZPR72P?9dUIk?oQxx3L*3YhcV6#)!fy@4LaY;iKhooeyGON(&zxav zq&?Wf_t>q)Tl=sX7uQSsyJ(Zz>#>d2E)|b@dQd#6TxD~%{ihhT|B7*^a@E~OY_4t5 zCY6KyD4wFtupHvOG7MXLxrm+0LGchfmBX<0I$J#IvqABsa+OWIkB8-|eS9vt>g?26 zQndLjeumk^Iar;;*}{5ge@=hT?|F{gH&>WqkHw@;k= z%Xf^Kj3Z_C-V!hu7D^_2^fw=voxRHh*`rr_%!Pk@Ov>a>m{ZTJnw`DF6flWRfA&68 zz$CV0!nAjqaPD($ct1#nN4twyH%?<&+>fi@@in3j>lgQ9Q5N@OQI_gQVW#>qmNE9Y zA0>;|MEw}chS{kO>POk7`Z1OXQ~emrgsFa%EY**(OqlA&SSHM=sZpze$p-YJWT}3P zW%8$fjAintev~ZLkFjhJChdsnX2TxBXz^jRx?r@LW3;}G`q6$f;8}e7(EB^*>{;IZ z?2WkBsYaP%;vBv%SX`z5r4vM|F-z{g#funnb`mP*m&N+~!$GNQq*tD71vd(g~`v}ie zXYTUHXIs-Uzh3p^%%PjhG5;-Q7eNp&*NgwU`6xGnA~)Kx*1U@c>GS&;?P&^J|&FkgkW z?j(f)cVEEO-W-H`m^SdkVG!;v3Ipyh0xsi<<9&=eQM_oOBrbC++UlFQa(!fgE!n(# zeg`@U;P974#3#+o1PA{|9{tDqZ8;wV)e8-vr$bx(}3t+Mu6+j({Ep9RocMdK&Zx(4Roh zf}RJx1o|uJb>)cwp|Cpz6zQKZ31lv?Ernhl{dE5 zn@joTMs3mER_kmzaBp61H5>8#_IbChdDou&-fDest+CtP-KcfuT6sS2<~r4O=ex}Z z$ersnTVYC6XRvN-JFj+fckBLq*K#MnGhga7+xg~&PTt;@*Q*EIT;7@MEH@ee>lbdW zEpBf&7kxw<+$SC<-4B-Yc8GRE{4nXZ*V?&^dhQq#2;>eY7c z>V9bD^#^K8u3c>}I`9`=wYGR*1OM*d;OhDA$*TR`$-h%JpR)P1&8KaCi_LG@>6Z4? v^7=f6`uxsj$HwNeA8QSJL @@ -18,7 +20,7 @@ static-var restore_delay, last_gun_heading; #define UNITSIZE 7 #define MAXTILT 100 -StartMoving(reversing) +StartMoving() { turn base to x-axis <-3> speed <11>; wait-for-turn base around x-axis; @@ -40,9 +42,9 @@ Create() restore_delay = 3000; } -SetMaxReloadTime(reloadMS) +SetMaxReloadTime(Func_Var_1) { - restore_delay = reloadMS * 2; + restore_delay = Func_Var_1 * 2; } static-var Stunned; @@ -52,12 +54,12 @@ ExecuteRestoreAfterDelay() return (1); } set-signal-mask 0; - turn turret to y-axis <0.0> speed <90.0>; - turn gun to x-axis <0.0> speed <50.0>; - turn lgun to x-axis <0.0> speed <50.0>; - turn rgun to x-axis <0.0> speed <50.0>; - stop-spin lgatling around z-axis decelerate <10.0>; - stop-spin rgatling around z-axis decelerate <10.0>; + turn turret to y-axis <0.000000> speed <90.000000>; + turn gun to x-axis <0.000000> speed <50.000000>; + turn lgun to x-axis <0.000000> speed <50.000000>; + turn rgun to x-axis <0.000000> speed <50.000000>; + stop-spin lgatling around z-axis decelerate <10.000000>; + stop-spin rgatling around z-axis decelerate <10.000000>; } SetStunned(State) { @@ -72,12 +74,12 @@ RestoreAfterDelay() start-script ExecuteRestoreAfterDelay(); } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; - turn turret to y-axis heading speed <90.0>; - turn gun to x-axis <0.0> - pitch speed <50.0>; + signal SIG_AIM; + set-signal-mask SIG_AIM; + turn turret to y-axis heading speed <90.000000>; + turn gun to x-axis <0.000000> - pitch speed <50.000000>; wait-for-turn turret around y-axis; wait-for-turn gun around x-axis; start-script RestoreAfterDelay(); @@ -91,100 +93,103 @@ Rock_Main_Cannon() turn base to x-axis <0> - (GET KCOS(last_gun_heading)) speed <50.005495>; wait-for-turn base around z-axis; wait-for-turn base around x-axis; - turn base to z-axis <0.0> speed <20.0>; - turn base to x-axis <0.0> speed <20.0>; + turn base to z-axis <0.000000> speed <20.000000>; + turn base to x-axis <0.000000> speed <20.000000>; } -FireWeapon1() +FirePrimary() { emit-sfx 1024 + 0 from flare; start-script Rock_Main_Cannon(); - move sleeve to z-axis [-2.400000] speed [500.0]; + move sleeve to z-axis [-2.400000] speed [500.000000]; wait-for-move sleeve along z-axis; - move sleeve to z-axis [0.0] speed [3.0]; + move sleeve to z-axis [0.000000] speed [3.000000]; } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = gun; + piecenum = gun; } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = flare; + piecenum = flare; } -AimWeapon2(heading, pitch) +AimSecondary(heading, pitch) { - signal SIGNAL_AIM2; - set-signal-mask SIGNAL_AIM2; - turn lgun to x-axis <0.0> - pitch speed <50.0>; + signal SIG_AIM_2; + set-signal-mask SIG_AIM_2; + turn lgun to x-axis <0.000000> - pitch speed <50.000000>; wait-for-turn turret around y-axis; wait-for-turn lgun around x-axis; start-script RestoreAfterDelay(); return (1); } -FireWeapon2() +FireSecondary() { - spin lgatling around z-axis speed <900.0>; + spin lgatling around z-axis speed <900.000000>; return (1); } Shot2(zero) { - signal SIGNAL_SHOOT1; - set-signal-mask SIGNAL_SHOOT1; + signal SIG_FIRE1; + set-signal-mask SIG_FIRE1; emit-sfx 1024 + 1 from lflare; return(1); } -AimFromWeapon2(pieceIndex) +AimFromSecondary(piecenum) { - pieceIndex = lgun; + piecenum = lgun; } -QueryWeapon2(pieceIndex) +QuerySecondary(piecenum) { - pieceIndex = lflare; + piecenum = lflare; } -AimWeapon3(heading, pitch) +AimTertiary(heading, pitch) { - signal SIGNAL_AIM3; - set-signal-mask SIGNAL_AIM3; - turn rgun to x-axis <0.0> - pitch speed <50.0>; + signal SIG_AIM_3; + set-signal-mask SIG_AIM_3; + turn rgun to x-axis <0.000000> - pitch speed <50.000000>; wait-for-turn turret around y-axis; wait-for-turn rgun around x-axis; start-script RestoreAfterDelay(); return (1); } -FireWeapon3() +FireTertiary() { - spin rgatling around z-axis speed <-900.0>; + spin rgatling around z-axis speed <-900.000000>; return (1); } Shot3(zero) { - signal SIGNAL_SHOOT2; - set-signal-mask SIGNAL_SHOOT2; + signal SIG_FIRE2; + set-signal-mask SIG_FIRE2; emit-sfx 1024 + 1 from rflare; return(1); } -AimFromWeapon3(pieceIndex) +AimFromTertiary(piecenum) { - pieceIndex = rgun; + piecenum = rgun; } -QueryWeapon3(pieceIndex) +QueryTertiary(piecenum) { - pieceIndex = rflare; + piecenum = rflare; } - +SweetSpot(piecenum) +{ + piecenum = base; +} Killed(severity, corpsetype) { @@ -193,7 +198,9 @@ Killed(severity, corpsetype) corpsetype = 1 ; explode base type BITMAPONLY | NOHEATCLOUD; explode turret type BITMAPONLY | NOHEATCLOUD; + //explode gun type BITMAPONLY | NOHEATCLOUD; explode sleeve type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } if( severity <= 50 ) @@ -203,6 +210,7 @@ Killed(severity, corpsetype) explode turret type FALL | NOHEATCLOUD; explode gun type FALL | NOHEATCLOUD; explode sleeve type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) @@ -212,6 +220,7 @@ Killed(severity, corpsetype) explode turret type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; explode gun type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode sleeve type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode flare type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; @@ -219,5 +228,6 @@ Killed(severity, corpsetype) explode turret type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode gun type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode sleeve type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode flare type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; return corpsetype; } \ No newline at end of file diff --git a/scripts/Units/legkeres.cob b/scripts/Units/legkeres.cob index 289fcb125f958a36d99f819b03a0a0540e1fa621..4f767b69b855945a6488097eeacbd3b3c8be41f2 100644 GIT binary patch literal 3341 zcmb_eKZqP<6o0$7*^7UfLLowm1)B&K>xse2BqT;r58`bawaATkU(QMPW{%m}ORjPu zMHEiKN^L}J1RGIMf?#KnPEZRQEdr^uh*lzo_4j)-Z|2Kn=iCDie)rz@{(ZmqzV92h zBO-@@2Y?USA`6iG+r3xhci^S_L>|X_0@(`M!4HeM{Pp&9Dm@7_nE!%Ssrzy2_u}YN z+nFvh+QGZnkn(F9y|{Wki`%Q7tV(c@0g#}s@*W7*zXtxDe!jQQL3(X?D?3IY(q9N> z#da7;|7tgQ4uW-BTo=7il}X;$KgV*v+Rzu{6v)|q^iH4Fq<@C5qXlOBx}NVa&P9$( zZ~%h!Sj%j5nGLG)_4{V8^q2j8d>~+t6UGMJz~?{{`(>=^eVltk4EG?&h4p1CpN;C? zoNWF)|E4)HhCb;npr+*YxJGr$p{}*n-VJO%R-b)ptkpsv#-LK?WfSW<{nQ!Sn=U3EUw9Cd6eZ{#i3eH5}=P;#oNJI z>Kj66?!VE=<=<266fD55oO-QNSN~+ut5?O9dtlc7U1;}f^Yr}OzsYYk^iFQ&=cjsc zpZvE~zcY4^>vyKIS9gZIdH&_Rpwjm9o9MoO=R31Fw&+04^-b{M*NnSbMx*A zIW^6I@yy%H4|k)VGqmppYdyl?UjALYiDrxs>$5kmdxe}p$|~Meu&Br1bjS9ZK~s+L zGda&b^}fmVA>at`6mT3E0at)s;49!yfS3Oe&;y5i-D3bcvo6gd%P$v9 zf6~%Rt7ez0!6k<7LZP`71wE)#Fkmb(CA5NAY!nd@ zE5ZZCAf+gHs33~y!IPkfH}&LA5cDDem3l4sPj{beF9ts5&CZ+INyx(1m7zi)BAc-R zTdYVAQ9rl)M7kKuh>VcW5oL!BpN$L}Gv3sPeYv^d*#ulQe`4YK==}<#5*L#}ZC%SfKlY5=cSHHzWbf5nX zxk_D!`XN5ozI8*}efg^8sXo+SH#t<_oZReIocp1Raqfp|olW-~@CB{w;5+d}-{^DS zsJVW{dA&D;y*P+b%s|&)z)P$k%cLBJQAPzva2%&`1vk;b11v-TBiG^3!DGC|2Yf|0 zBU7@;>QLM=KLrBZLz{Q2;i=1g&YV^I=~YqjWdDbZLG TZ7fBNIseL1va{r#4xac6zEYHU diff --git a/scripts/Units/leglob.bos b/scripts/Units/leglob.bos index 14bfe2e3666..cb0408bf6d6 100644 --- a/scripts/Units/leglob.bos +++ b/scripts/Units/leglob.bos @@ -1,16 +1,18 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece center, pelvis, turret, sleeve, barrel, flare, rfoot, rleg, lleg, lfoot, lthigh, rthigh, ltoe, rtoe; -static-var isMoving, isAiming, gun_1, wpnheading, animSpeed, maxSpeed, animFramesPerKeyframe; +static-var bMoving, bAiming, gun_1, wpnheading, animSpeed, maxSpeed, animFramesPerKeyframe; // Signal definitions -#define SIGNAL_AIM1 256 -#define SIGNAL_MOVE 1 +#define SIG_AIM 4 +#define SIG_WALK 2 Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations\corthud_anim_walk.blend - set-signal-mask SIGNAL_MOVE; - if (isMoving) { //Frame:4 + set-signal-mask SIG_WALK; + if (bMoving) { //Frame:4 turn turret to x-axis <-6.599999> speed <197.999970> / animSpeed; turn lfoot to x-axis <-19.636401> speed <576.401349> / animSpeed; turn lfoot to z-axis <-11.014305> speed <147.893476> / animSpeed; @@ -21,7 +23,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn lthigh to x-axis <40.929673> speed <1227.890189> / animSpeed; turn lthigh to z-axis <13.142189> speed <394.265669> / animSpeed; turn lthigh to y-axis <-6.410377> speed <627.692575> / animSpeed; - turn ltoe to x-axis <1.300000> speed <39.0> / animSpeed; + turn ltoe to x-axis <1.300000> speed <39.000005> / animSpeed; turn rfoot to x-axis <20.280490> speed <626.282720> / animSpeed; turn rfoot to z-axis <-1.502973> speed <246.114015> / animSpeed; turn rfoot to y-axis <0.474751> speed <5.886180> / animSpeed; @@ -36,9 +38,9 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn rtoe to y-axis <-6.099999> speed <182.999978> / animSpeed; sleep 131; } - while(isMoving) { - if (isMoving) { //Frame:8 - turn turret to x-axis <-10.600000> speed <120.0> / animSpeed; + while(bMoving) { + if (bMoving) { //Frame:8 + turn turret to x-axis <-10.600000> speed <120.000037> / animSpeed; turn lfoot to x-axis <7.944267> speed <827.420053> / animSpeed; turn lfoot to z-axis <-9.756190> speed <37.743446> / animSpeed; turn lfoot to y-axis <-7.350180> speed <266.184994> / animSpeed; @@ -62,12 +64,12 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn rthigh to z-axis <3.626211> speed <105.595977> / animSpeed; turn rthigh to y-axis <5.327848> speed <67.633363> / animSpeed; turn rtoe to x-axis <-26.699998> speed <983.999928> / animSpeed; - turn rtoe to z-axis <-0.0> speed <182.999978> / animSpeed; - turn rtoe to y-axis <0.0> speed <182.999978> / animSpeed; + turn rtoe to z-axis <-0.000000> speed <182.999978> / animSpeed; + turn rtoe to y-axis <0.000000> speed <182.999978> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:12 - turn turret to x-axis <-0.0> speed <317.999982> / animSpeed; + if (bMoving) { //Frame:12 + turn turret to x-axis <-0.000001> speed <317.999982> / animSpeed; turn lfoot to x-axis <-20.910981> speed <865.657450> / animSpeed; turn lfoot to z-axis <-3.878097> speed <176.342797> / animSpeed; turn lfoot to y-axis <-15.547735> speed <245.926664> / animSpeed; @@ -91,12 +93,12 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn rthigh to x-axis <-38.191341> speed <193.408520> / animSpeed; turn rthigh to z-axis <-1.591400> speed <156.528351> / animSpeed; turn rthigh to y-axis <4.223383> speed <33.133952> / animSpeed; - turn rtoe to x-axis <-0.499997> speed <786.0> / animSpeed; + turn rtoe to x-axis <-0.499997> speed <786.000036> / animSpeed; turn rtoe to z-axis <-0.499997> speed <14.999915> / animSpeed; turn rtoe to y-axis <0.499997> speed <14.999915> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:16 + if (bMoving) { //Frame:16 turn turret to x-axis <-2.900001> speed <86.999991> / animSpeed; turn lfoot to x-axis <-13.641220> speed <218.092841> / animSpeed; turn lfoot to z-axis <0.698070> speed <137.285005> / animSpeed; @@ -126,7 +128,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn rtoe to y-axis <-0.500003> speed <29.999997> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:20 + if (bMoving) { //Frame:20 turn turret to x-axis <-6.599999> speed <110.999953> / animSpeed; turn lfoot to x-axis <20.034712> speed <1010.277954> / animSpeed; turn lfoot to z-axis <1.499531> speed <24.043838> / animSpeed; @@ -138,10 +140,10 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn lthigh to z-axis <0.235525> speed <164.024892> / animSpeed; turn lthigh to y-axis <-1.978531> speed <34.992890> / animSpeed; turn ltoe to x-axis <6.099999> speed <374.999976> / animSpeed; - move center to z-axis [0.0] speed [6.074375] / animSpeed; - move center to y-axis [0.0] speed [18.676876] / animSpeed; - turn center to x-axis <-0.0> speed <114.449258> / animSpeed; - turn center to y-axis <-0.0> speed <86.557139> / animSpeed; + move center to z-axis [0.000000] speed [6.074375] / animSpeed; + move center to y-axis [0.000000] speed [18.676876] / animSpeed; + turn center to x-axis <-0.000000> speed <114.449258> / animSpeed; + turn center to y-axis <-0.000000> speed <86.557139> / animSpeed; turn rfoot to x-axis <-20.376049> speed <452.023315> / animSpeed; turn rfoot to z-axis <11.064463> speed <23.538821> / animSpeed; turn rfoot to y-axis <-1.372614> speed <200.814375> / animSpeed; @@ -156,8 +158,8 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn rtoe to y-axis <-1.300000> speed <23.999923> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:24 - turn turret to x-axis <-10.600000> speed <120.0> / animSpeed; + if (bMoving) { //Frame:24 + turn turret to x-axis <-10.600000> speed <120.000037> / animSpeed; turn lfoot to x-axis <39.860813> speed <594.783033> / animSpeed; turn lfoot to z-axis <-15.635314> speed <514.045353> / animSpeed; turn lfoot to y-axis <20.602533> speed <632.068933> / animSpeed; @@ -181,12 +183,12 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn rthigh to z-axis <-2.608810> speed <292.250926> / animSpeed; turn rthigh to y-axis <0.580910> speed <126.851300> / animSpeed; turn rtoe to x-axis <-55.599997> speed <1706.999921> / animSpeed; - turn rtoe to z-axis <0.0> speed <39.0> / animSpeed; - turn rtoe to y-axis <-0.0> speed <39.0> / animSpeed; + turn rtoe to z-axis <0.000000> speed <39.000005> / animSpeed; + turn rtoe to y-axis <-0.000000> speed <39.000005> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:28 - turn turret to x-axis <-0.0> speed <317.999982> / animSpeed; + if (bMoving) { //Frame:28 + turn turret to x-axis <-0.000001> speed <317.999982> / animSpeed; turn lfoot to x-axis <21.389480> speed <554.139992> / animSpeed; turn lfoot to z-axis <-9.970639> speed <169.940238> / animSpeed; turn lfoot to y-axis <3.801959> speed <504.017234> / animSpeed; @@ -215,7 +217,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn rtoe to y-axis <-1.581481> speed <47.444443> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:32 + if (bMoving) { //Frame:32 turn turret to x-axis <-2.900001> speed <86.999991> / animSpeed; turn lfoot to x-axis <-4.635911> speed <780.761724> / animSpeed; turn lfoot to z-axis <-11.836854> speed <55.986429> / animSpeed; @@ -245,7 +247,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn rtoe to y-axis <-4.518518> speed <88.111099> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:36 + if (bMoving) { //Frame:36 turn turret to x-axis <-6.599999> speed <110.999953> / animSpeed; turn lfoot to x-axis <-19.636401> speed <450.014715> / animSpeed; turn lfoot to z-axis <-11.014305> speed <24.676457> / animSpeed; @@ -257,10 +259,10 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn lthigh to z-axis <13.142189> speed <160.911914> / animSpeed; turn lthigh to y-axis <-6.410377> speed <100.722915> / animSpeed; turn ltoe to x-axis <1.300000> speed <23.999923> / animSpeed; - move center to z-axis [0.0] speed [6.074375] / animSpeed; - move center to y-axis [0.0] speed [18.676876] / animSpeed; - turn center to x-axis <-0.0> speed <114.449258> / animSpeed; - turn center to y-axis <-0.0> speed <51.116429> / animSpeed; + move center to z-axis [0.000000] speed [6.074375] / animSpeed; + move center to y-axis [0.000000] speed [18.676876] / animSpeed; + turn center to x-axis <-0.000000> speed <114.449258> / animSpeed; + turn center to y-axis <-0.000000> speed <51.116429> / animSpeed; turn rfoot to x-axis <20.280490> speed <1024.895131> / animSpeed; turn rfoot to z-axis <-1.502973> speed <24.066665> / animSpeed; turn rfoot to y-axis <0.474751> speed <116.009663> / animSpeed; @@ -277,35 +279,35 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations } } } -// Call this from StopMoving()! +// Call this from MotionControl()! StopWalking() { - move center to y-axis [0.0] speed [7.125000]; - move center to z-axis [0.0] speed [4.176133]; - turn turret to x-axis <0.0> speed <79.499995>; + move center to y-axis [0.000000] speed [7.125000]; + move center to z-axis [0.000000] speed [4.176133]; + turn turret to x-axis <0.000000> speed <79.499995>; turn lfoot to x-axis <-0.423023> speed <252.569489>; turn lfoot to y-axis <-0.167349> speed <158.017233>; turn lfoot to z-axis <-6.084522> speed <128.511338>; - turn lleg to x-axis <0.0> speed <353.678023>; - turn lleg to y-axis <0.0> speed <68.453136>; - turn lleg to z-axis <0.0> speed <43.281153>; - turn lthigh to x-axis <0.0> speed <369.886177>; + turn lleg to x-axis <0.000000> speed <353.678023>; + turn lleg to y-axis <0.000000> speed <68.453136>; + turn lleg to z-axis <0.000000> speed <43.281153>; + turn lthigh to x-axis <0.000000> speed <369.886177>; turn lthigh to y-axis <14.512709> speed <156.923144>; - turn lthigh to z-axis <0.0> speed <98.566417>; - turn ltoe to x-axis <0.0> speed <426.749980>; - turn center to x-axis <0.0> speed <32.326038>; - turn center to y-axis <0.0> speed <68.929443>; + turn lthigh to z-axis <0.000000> speed <98.566417>; + turn ltoe to x-axis <0.000000> speed <426.749980>; + turn center to x-axis <0.000000> speed <32.326038>; + turn center to y-axis <0.000000> speed <68.929443>; turn rfoot to x-axis <-0.595601> speed <256.223783>; turn rfoot to y-axis <0.278545> speed <156.176555>; turn rfoot to z-axis <6.700828> speed <127.321340>; - turn rleg to x-axis <0.0> speed <347.486484>; - turn rleg to y-axis <0.0> speed <82.862748>; - turn rleg to z-axis <0.0> speed <47.130923>; - turn rthigh to x-axis <0.0> speed <371.202895>; + turn rleg to x-axis <0.000000> speed <347.486484>; + turn rleg to y-axis <0.000000> speed <82.862748>; + turn rleg to z-axis <0.000000> speed <47.130923>; + turn rthigh to x-axis <0.000000> speed <371.202895>; turn rthigh to y-axis <-16.624781> speed <147.736379>; - turn rthigh to z-axis <0.0> speed <73.062732>; - turn rtoe to x-axis <0.0> speed <426.749980>; - turn rtoe to y-axis <0.0> speed <45.749994>; - turn rtoe to z-axis <0.0> speed <45.749994>; + turn rthigh to z-axis <0.000000> speed <73.062732>; + turn rtoe to x-axis <0.000000> speed <426.749980>; + turn rtoe to y-axis <0.000000> speed <45.749994>; + turn rtoe to z-axis <0.000000> speed <45.749994>; } UnitSpeed(){ @@ -332,50 +334,53 @@ UnitSpeed(){ RockUnit(anglex, anglez) { - turn center to x-axis anglex speed <50.0>; - turn center to z-axis <0> - anglez speed <50.0>; + turn center to x-axis anglex speed <50.000000>; + turn center to z-axis <0> - anglez speed <50.000000>; wait-for-turn center around z-axis; wait-for-turn center around x-axis; - turn center to z-axis <0.0> speed <20.0>; - turn center to x-axis <0.0> speed <20.0>; + turn center to z-axis <0.000000> speed <20.000000>; + turn center to x-axis <0.000000> speed <20.000000>; } Create() { hide flare; - isMoving = FALSE; - isAiming = 0; + bMoving = FALSE; + bAiming = 0; wpnheading = 0; animSpeed = 4; } -StartMoving(reversing) +StartMoving() { - isMoving = TRUE; - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; + bMoving = TRUE; + signal SIG_WALK; + set-signal-mask SIG_WALK; start-script Walk(); start-script UnitSpeed(); } StopMoving() { - signal SIGNAL_MOVE; - isMoving = FALSE; + signal SIG_WALK; + bMoving = FALSE; call-script StopWalking(); } +SweetSpot(piecenum) +{ + piecenum = pelvis; +} - -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = turret; + piecenum = turret; } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = flare; + piecenum = flare; } static-var Stunned; @@ -384,10 +389,10 @@ ExecuteRestoreAfterDelay() if (Stunned) { return (1); } - turn turret to y-axis <0.0> speed <90>; - turn pelvis to x-axis <0.0> speed <45>; + turn turret to y-axis <0.000000> speed <90>; + turn pelvis to x-axis <0.000000> speed <45>; wpnheading = 0; - isAiming = 0; + bAiming = 0; } SetStunned(State) @@ -400,18 +405,18 @@ SetStunned(State) RestoreAfterDelay() { - set-signal-mask SIGNAL_AIM1; + set-signal-mask SIG_AIM; sleep 2750; start-script ExecuteRestoreAfterDelay(); } static-var aimy1target, aimy2target, scaled; -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - //get PRINT ( heading,isAiming,wpnheading,RAND(1,256) ) ; - signal SIGNAL_AIM1; + //get PRINT ( heading,bAiming,wpnheading,RAND(1,256) ) ; + signal SIG_AIM; - if (isAiming == 1) return; + if (bAiming == 1) return; aimy1target = heading; if (heading > <180>){ aimy1target = <360> - aimy1target; @@ -435,10 +440,10 @@ AimWeapon1(heading, pitch) wait-for-turn pelvis around x-axis; //needed for luarules\gadgets\unit_continuous_aim.lua if ((get ABS(wpnheading - heading)) > 500){ - isAiming = 1; + bAiming = 1; wait-for-turn turret around y-axis; wait-for-turn pelvis around x-axis; - isAiming = 0; + bAiming = 0; } wpnheading = heading; @@ -448,13 +453,13 @@ AimWeapon1(heading, pitch) -FireWeapon1() +FirePrimary() { - move barrel to z-axis [-2.0] speed [60.0]; + move barrel to z-axis [-2.000000] speed [60.000000]; emit-sfx 1024 + 0 from flare; wait-for-move barrel along z-axis; - move barrel to z-axis [0.0] speed [4.0]; + move barrel to z-axis [0.000000] speed [4.000000]; wait-for-move barrel along z-axis; return (0); } @@ -462,8 +467,8 @@ FireWeapon1() // For N:\animations\corthud_anim_death.blend Created by https://github.com/Beherith/Skeletor_S3O V((0, 2, 8)) //use call-script DeathAnim(); from Killed() DeathAnim() {// For N:\animations\corthud_anim_death.blend Created by https://github.com/Beherith/Skeletor_S3O V((0, 2, 8)) - signal SIGNAL_MOVE; - signal SIGNAL_AIM1; + signal SIG_WALK; + signal SIG_AIM; call-script StopWalking(); turn turret to y-axis <0> speed <200>; turn pelvis to x-axis <0> speed <200>; @@ -484,7 +489,7 @@ DeathAnim() {// For N:\animations\corthud_anim_death.blend Created by https://gi turn rfoot to y-axis <1.020098> speed <2.224660> ; //delta=0.74 turn rleg to x-axis <7.655927> speed <25.888408> ; //delta=-8.63 turn rleg to z-axis <-0.901071> speed <4.770375> ; //delta=-1.59 - turn rleg to y-axis <-0.879568> speed <2.0> ; //delta=-0.67 + turn rleg to y-axis <-0.879568> speed <2.000630> ; //delta=-0.67 turn rthigh to x-axis <7.473859> speed <22.955275> ; //delta=-7.65 turn rthigh to z-axis <-1.678257> speed <7.212598> ; //delta=-2.40 turn rthigh to y-axis <-16.617184> speed <4.642435> ; //delta=-1.55 diff --git a/scripts/Units/leglob.cob b/scripts/Units/leglob.cob index 0f574879f77955f75e69008d1be77d39821b7987..acf25d76034f74de7e75a7f45ab3d6bdc209d067 100644 GIT binary patch literal 16309 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 literal 15487 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 diff --git a/scripts/Units/legmech.bos b/scripts/Units/legmech.bos index a50e43955fc..1051e5ffabf 100644 --- a/scripts/Units/legmech.bos +++ b/scripts/Units/legmech.bos @@ -1,5 +1,7 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece pelvis, lthigh, lknee, lleg, Main_hull, AA_turret_main, AA_turret_gun_hull, AA_turret_gun_1, AA_turret_gun_2, AA_turret_radar, Left_turret_main, Left_turret_gun, Right_turret_main, Right_turret_gun, @@ -8,17 +10,17 @@ piece pelvis, lthigh, lknee, lleg, Main_hull, AA_turret_main, AA_turret_gun_hull Torso_turret_left_gun_flare, Torso_turret_right_gun_flare, Ref_Point, mis1, mis2, mis3, mis4; static-var gun_1, torsoaim, miniguncount, animFramesPerKeyframe, movespeed, - restore_delay, wpn1_lasthead, wpn2_lasthead, wpn3_lasthead, wpn4_lasthead, isMoving, animSpeed, maxspeed, missile_count; + restore_delay, wpn1_lasthead, wpn2_lasthead, wpn3_lasthead, wpn4_lasthead, bMoving, animSpeed, maxspeed, missile_count; // Signal definitions -#define SIGNAL_AIM1 256 -#define SIGNAL_AIM2 512 -#define SIGNAL_AIM3 1024 -#define SIGNAL_AIM4 2048 -#define SIGNAL_SHOOT1 16 -#define SIGNAL_AIM5 4096 -#define SIGNAL_MOVE 1 -#define SIGNAL_SHOOT2 32 +#define SIG_AIM_1 2 +#define SIG_AIM_2 4 +#define SIG_AIM_3 8 +#define SIG_AIM_4 16 +#define SIG_FIRE1 32 +#define SIG_AIM_5 64 +#define SIG_WALK 128 +#define SIG_FIRE2 256 // REMEMBER TO animspeed = 4 in Create() !! //-------------------------------------------------------- @@ -27,7 +29,7 @@ static-var gun_1, torsoaim, miniguncount, animFramesPerKeyframe, movespeed, walk() // (c) CC BY NC ND Beherith mysterme@gmail.com { - set-signal-mask SIGNAL_MOVE; if (isMoving) { //Frame:4 + set-signal-mask SIG_WALK; if (bMoving) { //Frame:4 //turn lfoot to x-axis <-45.174461> speed <1339.883614> / animSpeed; //turn lfoot to z-axis <-8.711228> speed <587.665429> / animSpeed; //turn lfoot to y-axis <-2.849490> speed <76.187203> / animSpeed; @@ -40,7 +42,7 @@ walk() // (c) CC BY NC ND Beherith mysterme@gmail.com turn lthigh to x-axis <25> speed <393> / animSpeed; turn lthigh to z-axis <3.2> speed <191.5> / animSpeed; turn lthigh to y-axis <-0.56> speed <61.8> / animSpeed; - turn pelvis to x-axis <-0.0> speed <149.999983> / animSpeed; + turn pelvis to x-axis <-0.000000> speed <149.999983> / animSpeed; //turn rfoot to x-axis <38.546265> speed <1128.417134> / animSpeed; //turn rfoot to z-axis <-6.897524> speed <101.979838> / animSpeed; //turn rfoot to y-axis <-1.430482> speed <57.160004> / animSpeed; @@ -55,8 +57,8 @@ walk() // (c) CC BY NC ND Beherith mysterme@gmail.com turn rthigh to y-axis <1.017> speed <71.8> / animSpeed; sleep 131; } - while(isMoving) { - if (isMoving) { //Frame:8 + while(bMoving) { + if (bMoving) { //Frame:8 //turn lfoot to x-axis <-39.050804> speed <183.709720> / animSpeed; //turn lfoot to z-axis <-3.901796> speed <144.282974> / animSpeed; //turn lfoot to y-axis <-0.770642> speed <62.365451> / animSpeed; @@ -71,7 +73,7 @@ walk() // (c) CC BY NC ND Beherith mysterme@gmail.com turn lthigh to y-axis <0.44> speed <30.19> / animSpeed; move pelvis to y-axis [-0.870000] speed [26] / animSpeed; turn pelvis to x-axis <4.568749> speed <137.062482> / animSpeed; - turn pelvis to y-axis <-4.0> speed <119.999986> / animSpeed; + turn pelvis to y-axis <-4.000000> speed <119.999986> / animSpeed; //turn rfoot to x-axis <5.633654> speed <987.378323> / animSpeed; //turn rfoot to z-axis <0.002615> speed <207.004152> / animSpeed; //turn rfoot to y-axis <-0.002489> speed <42.839816> / animSpeed; @@ -80,13 +82,13 @@ walk() // (c) CC BY NC ND Beherith mysterme@gmail.com turn rknee to y-axis <-0.903029> speed <17.539158> / animSpeed; turn rleg to x-axis <60> speed <1996.137709> / animSpeed; turn rleg to z-axis <-2.989707> speed <65.145727> / animSpeed; - turn rleg to y-axis <5.0> speed <92.860037> / animSpeed; + turn rleg to y-axis <5.000039> speed <92.860037> / animSpeed; turn rthigh to x-axis <-45> speed <449.5> / animSpeed; turn rthigh to z-axis <-1.83> speed <33.38> / animSpeed; turn rthigh to y-axis <2.71> speed <50.75> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:12 + if (bMoving) { //Frame:12 //turn lfoot to x-axis <-41.708304> speed <79.725007> / animSpeed; //turn lfoot to z-axis <-0.001299> speed <117.014899> / animSpeed; //turn lfoot to y-axis <-0.002305> speed <23.050116> / animSpeed; @@ -116,7 +118,7 @@ walk() // (c) CC BY NC ND Beherith mysterme@gmail.com turn rthigh to y-axis <0.9> speed <53.8> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:16 + if (bMoving) { //Frame:16 //turn lfoot to x-axis <-3.910388> speed <1133.937479> / animSpeed; turn lknee to x-axis <25.256626> speed <395.785377> / animSpeed; turn lknee to z-axis <-1.943760> speed <74.640670> / animSpeed; @@ -144,7 +146,7 @@ walk() // (c) CC BY NC ND Beherith mysterme@gmail.com turn rthigh to y-axis <0.81> speed <3.14> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:20 + if (bMoving) { //Frame:20 //turn lfoot to x-axis <38.552084> speed <1273.874173> / animSpeed; turn lknee to x-axis <-3.971019> speed <876.829355> / animSpeed; turn lknee to z-axis <1.007743> speed <88.545099> / animSpeed; @@ -155,9 +157,9 @@ walk() // (c) CC BY NC ND Beherith mysterme@gmail.com turn lthigh to x-axis <-23> speed <562> / animSpeed; turn lthigh to z-axis <0.69> speed <53.29> / animSpeed; turn lthigh to y-axis <-0.985> speed <53.47> / animSpeed; - move pelvis to y-axis [0.0] speed [13.0] / animSpeed; - turn pelvis to x-axis <-0.0> speed <88.499997> / animSpeed; - turn pelvis to y-axis <0.0> speed <163.593733> / animSpeed; + move pelvis to y-axis [0.000000] speed [13.00000] / animSpeed; + turn pelvis to x-axis <-0.000000> speed <88.499997> / animSpeed; + turn pelvis to y-axis <0.000000> speed <163.593733> / animSpeed; //turn rfoot to x-axis <-45.601082> speed <1486.777649> / animSpeed; //turn rfoot to z-axis <8.777723> speed <72.755435> / animSpeed; //turn rfoot to y-axis <2.942875> speed <14.622197> / animSpeed; @@ -172,7 +174,7 @@ walk() // (c) CC BY NC ND Beherith mysterme@gmail.com turn rthigh to y-axis <0.525> speed <8.57> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:24 + if (bMoving) { //Frame:24 //turn lfoot to x-axis <5.205345> speed <1000.402167> / animSpeed; turn lknee to x-axis <-38.112097> speed <1024.232325> / animSpeed; turn lknee to z-axis <0.216327> speed <23.742493> / animSpeed; @@ -200,7 +202,7 @@ walk() // (c) CC BY NC ND Beherith mysterme@gmail.com turn rthigh to y-axis <0.0675> speed <13.77> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:28 + if (bMoving) { //Frame:28 //turn lfoot to x-axis <47.099178> speed <1256.814981> / animSpeed; //turn lfoot to z-axis <-8.698515> speed <260.859201> / animSpeed; //turn lfoot to y-axis <0.555569> speed <16.591946> / animSpeed; @@ -230,7 +232,7 @@ walk() // (c) CC BY NC ND Beherith mysterme@gmail.com turn rthigh to y-axis <-0.975> speed <31.25> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:32 + if (bMoving) { //Frame:32 //turn lfoot to x-axis <3.635010> speed <1303.925050> / animSpeed; //turn lfoot to z-axis <-6.350171> speed <70.450323> / animSpeed; //turn lfoot to y-axis <-2.491368> speed <91.408108> / animSpeed; @@ -244,7 +246,7 @@ walk() // (c) CC BY NC ND Beherith mysterme@gmail.com turn lthigh to z-axis <1.75> speed <35.8> / animSpeed; turn lthigh to y-axis <-.757> speed <4.7> / animSpeed; move pelvis to y-axis [-0.430000] speed [26] / animSpeed; - turn pelvis to x-axis <3.299998> speed <99.0> / animSpeed; + turn pelvis to x-axis <3.299998> speed <99.000036> / animSpeed; turn pelvis to y-axis <3.749998> speed <112.500029> / animSpeed; //turn rfoot to x-axis <-2.631426> speed <1150.192505> / animSpeed; turn rknee to x-axis <25.001153> speed <390.905062> / animSpeed; @@ -258,7 +260,7 @@ walk() // (c) CC BY NC ND Beherith mysterme@gmail.com turn rthigh to y-axis <-0.791> speed <5.479> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:36 + if (bMoving) { //Frame:36 //turn lfoot to x-axis <-45.174461> speed <1464.284129> / animSpeed; //turn lfoot to z-axis <-8.711228> speed <70.831730> / animSpeed; //turn lfoot to y-axis <-2.849490> speed <10.743672> / animSpeed; @@ -271,9 +273,9 @@ walk() // (c) CC BY NC ND Beherith mysterme@gmail.com turn lthigh to x-axis <14.23> speed <474.6> / animSpeed; turn lthigh to z-axis <3.207> speed <43.6> / animSpeed; turn lthigh to y-axis <-0.564> speed <5.8> / animSpeed; - move pelvis to y-axis [0.0] speed [13] / animSpeed; - turn pelvis to x-axis <-0.0> speed <98.999946> / animSpeed; - turn pelvis to y-axis <0.0> speed <112.499952> / animSpeed; + move pelvis to y-axis [0.000000] speed [13] / animSpeed; + turn pelvis to x-axis <-0.000000> speed <98.999946> / animSpeed; + turn pelvis to y-axis <0.000000> speed <112.499952> / animSpeed; //turn rfoot to x-axis <38.366183> speed <1229.928296> / animSpeed; turn rknee to x-axis <-3.925581> speed <867.802018> / animSpeed; turn rknee to z-axis <-1.245253> speed <55.816170> / animSpeed; @@ -288,9 +290,9 @@ walk() // (c) CC BY NC ND Beherith mysterme@gmail.com } } } -// Call this from StopMoving()! +// Call this from MotionControl()! StopWalking() { - move pelvis to y-axis [0.0] speed [2.2]; + move pelvis to y-axis [0.000000] speed [2.2]; //turn lfoot to x-axis <-0.511674> speed <366.071032>; //turn lfoot to y-axis <-0.309917> speed <22.852027>; //turn lfoot to z-axis <10.877619> speed <146.916357>; @@ -304,7 +306,7 @@ StopWalking() { turn lthigh to y-axis <1.495> speed <5.15>; turn lthigh to z-axis <-3.177> speed <16>; turn pelvis to x-axis <-4.999999> speed <12.5>; - turn pelvis to y-axis <0.0> speed <13.6>; + turn pelvis to y-axis <0.000000> speed <13.6>; //turn rfoot to x-axis <0.932360> speed <371.694412>; //turn rfoot to y-axis <0.474851> speed <22.005134>; //turn rfoot to z-axis <-10.296852> speed <64.797402>; @@ -341,21 +343,21 @@ UnitSpeed(){ #define UNITSIZE 1 #define MAXTILT 100 -#include "../unit_hitbyweaponid_and_smoke.h" +#include "unit_hitbyweaponid_and_smoke.h" -StartMoving(reversing) +StartMoving() { - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; - isMoving = 1; + signal SIG_WALK; + set-signal-mask SIG_WALK; + bMoving = 1; start-script UnitSpeed(); start-script walk(); } StopMoving() { - signal SIGNAL_MOVE; - isMoving = 0; + signal SIG_WALK; + bMoving = 0; start-script StopWalking(); } @@ -382,9 +384,9 @@ Create(){ } RestoreAfterDelay(){ - set-signal-mask SIGNAL_AIM1; + set-signal-mask SIG_AIM_1; sleep 3000; - turn Main_hull to y-axis <0> speed <105.0> ; //-- Turn(torso, y-axis, 0, math.rad(305)) + turn Main_hull to y-axis <0> speed <105.0000> ; //-- Turn(torso, y-axis, 0, math.rad(305)) turn AA_turret_main to y-axis <0> speed <180>; turn AA_turret_gun_hull to x-axis <0> speed <180>; turn Left_turret_main to y-axis <0> speed <120>; @@ -395,42 +397,46 @@ RestoreAfterDelay(){ turn Torso_turret_left_hull_2 to x-axis <0> speed <120>; turn Torso_turret_right_hull_2 to x-axis <0> speed <120>; torsoaim = 0; - wpn1_lasthead = 0xbadface; + wpn1_lasthead = 1000000; } +SweetSpot(piecenum) +{ + piecenum = Main_hull; + return (0); +} - -QueryWeapon1(pieceIndex) //Hull Rotation +QueryWeapon1(piecenum) //Hull Rotation { if(missile_count==0) { - pieceIndex=mis1; + piecenum=mis1; } if(missile_count==1) { - pieceIndex=mis2; + piecenum=mis2; } if(missile_count==2) { - pieceIndex=mis3; + piecenum=mis3; } if(missile_count==3) { - pieceIndex=mis4; + piecenum=mis4; } } -AimFromWeapon1(pieceIndex) +AimFromWeapon1(piecenum) { - pieceIndex = Main_hull; + piecenum = Main_hull; return (0); } AimWeapon1(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; - turn Main_hull to y-axis heading speed <90.0> ; //-- Turn(torso, y-axis, heading, math.rad(300)) + signal SIG_AIM_1; + set-signal-mask SIG_AIM_1; + turn Main_hull to y-axis heading speed <90.0000> ; //-- Turn(torso, y-axis, heading, math.rad(300)) var gun_xz; gun_xz = get PIECE_XZ(Main_hull); //get packed gun coordinates var gun_x; @@ -472,15 +478,15 @@ AimWeapon1(heading, pitch) var cauaim; var cauface; - cauaim = get ATAN(aim_z, aim_x); //use arctan (ATAN) to calculate the angle of the turret. The result is in cau, which is the unit this code format uses for angles. Its up to 32768 (180�), positive or negative depending on direction - cauface = get ATAN(face_z, face_x); //use arctan (ATAN) to calculate the angle of the hull. The result is in cau, which is the unit this code format uses for angles. Its up to 32768 (180�), positive or negative depending on direction + cauaim = get ATAN(aim_z, aim_x); //use arctan (ATAN) to calculate the angle of the turret. The result is in cau, which is the unit this code format uses for angles. Its up to 32768 (180�), positive or negative depending on direction + cauface = get ATAN(face_z, face_x); //use arctan (ATAN) to calculate the angle of the hull. The result is in cau, which is the unit this code format uses for angles. Its up to 32768 (180�), positive or negative depending on direction //var torsoaim; torsoaim = cauface - cauaim; //calculate angle of turret relative to the hull //torsoaim = heading; - if ((wpn1_lasthead == 0xbadface) OR ABSOLUTE_GREATER_THAN(WRAPDELTA(heading - wpn1_lasthead), <7>)) + if (((get ABS(wpn1_lasthead - heading)) > 65536) OR(((get ABS(wpn1_lasthead - heading)) > 1300) AND ((get ABS(wpn1_lasthead - heading)) < 64236))) { - wpn1_lasthead = 0xbadface; + wpn1_lasthead = 1000000; wait-for-turn Main_hull around y-axis; } wpn1_lasthead = heading; @@ -495,8 +501,8 @@ FireWeapon1() Shot1(zero) { - signal SIGNAL_SHOOT1; - set-signal-mask SIGNAL_SHOOT1; + signal SIG_FIRE1; + set-signal-mask SIG_FIRE1; sleep 32; ++missile_count; if(missile_count>=4) @@ -506,28 +512,27 @@ Shot1(zero) return(1); } -QueryWeapon2(pieceIndex) //R Shotgun +QueryWeapon2(piecenum) //R Shotgun { - pieceIndex = Right_turret_gun_flare; + piecenum = Right_turret_gun_flare; return (0); } -AimFromWeapon2(pieceIndex) +AimFromWeapon2(piecenum) { - pieceIndex = Right_turret_main; + piecenum = Right_turret_main; return (0); } AimWeapon2(heading, pitch) //pew pew { - signal SIGNAL_AIM2; - set-signal-mask SIGNAL_AIM2; - turn Right_turret_main to y-axis heading - torsoaim speed <100.0>; //-- Turn(torso, y-axis, heading, math.rad(300)) - turn Right_turret_main to x-axis -1*pitch speed <100.0>; - - if ((wpn2_lasthead == 0xbadface) OR ABSOLUTE_GREATER_THAN(WRAPDELTA(heading - wpn2_lasthead), <14>)) + signal SIG_AIM_2; + set-signal-mask SIG_AIM_2; + turn Right_turret_main to y-axis heading - torsoaim speed <100.0000>; //-- Turn(torso, y-axis, heading, math.rad(300)) + turn Right_turret_main to x-axis -1*pitch speed <100.0000>; + if (((get ABS(wpn2_lasthead - heading)) > 65536) OR(((get ABS(wpn2_lasthead - heading)) > 2500) AND ((get ABS(wpn2_lasthead - heading)) < 64236))) { - wpn2_lasthead = 0xbadface; + wpn2_lasthead = 1000000; wait-for-turn Right_turret_main around y-axis; wait-for-turn Right_turret_main around x-axis; } @@ -544,28 +549,27 @@ FireWeapon2() return (1); } -QueryWeapon3(pieceIndex) //L Railgun +QueryWeapon3(piecenum) //L Railgun { - pieceIndex = Left_turret_gun_flare; + piecenum = Left_turret_gun_flare; return (0); } -AimFromWeapon3(pieceIndex) +AimFromWeapon3(piecenum) { - pieceIndex = Left_turret_main; + piecenum = Left_turret_main; return (0); } AimWeapon3(heading, pitch) //pew pew { - signal SIGNAL_AIM3; - set-signal-mask SIGNAL_AIM3; - turn Left_turret_main to y-axis heading - torsoaim speed <100.0> ; //-- Turn(torso, y-axis, heading, math.rad(300)) - turn Left_turret_main to x-axis -1*pitch speed <100.0> ; - - if ((wpn3_lasthead == 0xbadface) OR ABSOLUTE_GREATER_THAN(WRAPDELTA(heading - wpn3_lasthead), <14>)) + signal SIG_AIM_3; + set-signal-mask SIG_AIM_3; + turn Left_turret_main to y-axis heading - torsoaim speed <100.0000> ; //-- Turn(torso, y-axis, heading, math.rad(300)) + turn Left_turret_main to x-axis -1*pitch speed <100.0000> ; + if (((get ABS(wpn3_lasthead - heading)) > 65536) OR(((get ABS(wpn3_lasthead - heading)) > 2500) AND ((get ABS(wpn3_lasthead - heading)) < 64236))) { - wpn3_lasthead = 0xbadface; + wpn3_lasthead = 1000000; wait-for-turn Left_turret_main around y-axis; wait-for-turn Left_turret_main around x-axis; } @@ -582,36 +586,35 @@ FireWeapon3() return (1); } -QueryWeapon4(pieceIndex) //Mid Guns +QueryWeapon4(piecenum) //Mid Guns { if(miniguncount == 0) { - pieceIndex = Torso_turret_Right_gun; + piecenum = Torso_turret_Right_gun; } if(miniguncount == 1) { - pieceIndex = Torso_turret_left_gun; + piecenum = Torso_turret_left_gun; } return (0); } -AimFromWeapon4(pieceIndex) +AimFromWeapon4(piecenum) { - pieceIndex = Torso_turret_main; + piecenum = Torso_turret_main; return (0); } AimWeapon4(heading, pitch) { - signal SIGNAL_AIM4; - set-signal-mask SIGNAL_AIM4; - turn Torso_turret_main to y-axis heading - torsoaim speed <200.0>; //-- Turn(torso, y-axis, heading, math.rad(300)) - turn Torso_turret_right_hull_2 to x-axis -1*pitch speed <200.0>; - turn Torso_turret_left_hull_2 to x-axis -1*pitch speed <200.0>; - - if ((wpn4_lasthead == 0xbadface) OR ABSOLUTE_GREATER_THAN(WRAPDELTA(heading - wpn4_lasthead), <7>)) + signal SIG_AIM_4; + set-signal-mask SIG_AIM_4; + turn Torso_turret_main to y-axis heading - torsoaim speed <200.0000>; //-- Turn(torso, y-axis, heading, math.rad(300)) + turn Torso_turret_right_hull_2 to x-axis -1*pitch speed <200.0000>; + turn Torso_turret_left_hull_2 to x-axis -1*pitch speed <200.0000>; + if (((get ABS(wpn4_lasthead - heading)) > 65536) OR(((get ABS(wpn4_lasthead - heading)) > 1300) AND ((get ABS(wpn4_lasthead - heading)) < 64236))) { - wpn4_lasthead = 0xbadface; + wpn4_lasthead = 1000000; wait-for-turn Torso_turret_main around y-axis; wait-for-turn Torso_turret_left_hull_1 around x-axis; wait-for-turn Torso_turret_left_hull_2 around x-axis; @@ -627,8 +630,8 @@ FireWeapon4() Shot4(zero) { - signal SIGNAL_SHOOT2; - set-signal-mask SIGNAL_SHOOT2; + signal SIG_FIRE2; + set-signal-mask SIG_FIRE2; if(miniguncount == 0) { @@ -647,30 +650,30 @@ Shot4(zero) return(1); } -QueryWeapon5(pieceIndex) //top AA +QueryWeapon5(piecenum) //top AA { if(gun_1 == 0) { - pieceIndex = AA_turret_gun_1; + piecenum = AA_turret_gun_1; } if(gun_1 == 1) { - pieceIndex = AA_turret_gun_2; + piecenum = AA_turret_gun_2; } return (0); } -AimFromWeapon5(pieceIndex) +AimFromWeapon5(piecenum) { - pieceIndex = Torso_turret_main; + piecenum = Torso_turret_main; return (0); } AimWeapon5(heading, pitch) //pew pew { - signal SIGNAL_AIM5; - set-signal-mask SIGNAL_AIM5; - turn AA_turret_main to y-axis heading - torsoaim speed <200.0> ; //-- Turn(torso, y-axis, heading, math.rad(300)) + signal SIG_AIM_5; + set-signal-mask SIG_AIM_5; + turn AA_turret_main to y-axis heading - torsoaim speed <200.0000> ; //-- Turn(torso, y-axis, heading, math.rad(300)) turn AA_turret_gun_hull to x-axis -1*pitch speed <200>; wait-for-turn AA_turret_main around y-axis; wait-for-turn AA_turret_gun_hull around x-axis; diff --git a/scripts/Units/legmech.cob b/scripts/Units/legmech.cob index 8c2f749c79844384e5f0e753aceef3688bddecc6..5cfdd4de8c337ea1f774253b757cb12a43b66ff4 100644 GIT binary patch delta 3630 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 LT88&endtfl%hiP* diff --git a/scripts/Units/legmex.bos b/scripts/Units/legmex.bos index 215b6f25766..efd0eb7b12f 100644 --- a/scripts/Units/legmex.bos +++ b/scripts/Units/legmex.bos @@ -1,64 +1,109 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base,fan,top,column; -static-var resourceRate, Stunned; +static-var Static_Var_1, Static_Var_2, Static_Var_3, statechg_DesiredState, statechg_StateChanging, Stunned; -#include "../opencloseanim.h" - -Open() +Go() { if (Stunned) { return(0); } set ARMORED to 0; - move fan to y-axis [3.0] speed [10.0]; + move fan to y-axis [3.000000] speed [10.000000]; wait-for-move fan along y-axis; - spin fan around y-axis speed resourceRate accelerate 90; + spin fan around y-axis speed Static_Var_1 accelerate Static_Var_2; } -Close() +Stop() { - stop-spin fan around y-axis decelerate 180; + stop-spin fan around y-axis decelerate Static_Var_3; wait-for-turn fan around y-axis; - move fan to y-axis [0.0] speed [10.0]; + move fan to y-axis [0.000000] speed [10.000000]; set ARMORED to 1; } +InitState() +{ + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; +} SetStunned(State) { Stunned = State; - start-script OpenCloseAnim(!Stunned); + if (State) { + call-script Stop(); + }else{ + if (statechg_DesiredState == 0) { + call-script Go(); + } + } } +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + call-script Go(); + currentstate = 0; + } + if( statechg_DesiredState == 1 ) + { + call-script Stop(); + currentstate = 1; + } + } + statechg_StateChanging = FALSE; +} Create() { - resourceRate = 1500; - SLEEP_UNTIL_UNITFINISHED; + Static_Var_1 = 1500; + Static_Var_2 = 240; + Static_Var_3 = 480; + call-script InitState(); + while( get BUILD_PERCENT_LEFT ) + { + sleep 250; + } } #define SMOKEPIECE base Activate() { - start-script OpenCloseAnim(1); + start-script RequestState(0); } Deactivate() { - start-script OpenCloseAnim(0); + start-script RequestState(1); } -SetSpeed(windOrMetal) +SetSpeed(Func_Var_1) { - resourceRate = windOrMetal * 60; - if (resourceRate > 0) call-script Activate(); // Because SetSpeed is called after Activate + Static_Var_1 = Func_Var_1 * 60; } +SweetSpot(piecenum) +{ + piecenum = base; +} Killed(severity, corpsetype) { diff --git a/scripts/Units/legmex.cob b/scripts/Units/legmex.cob index 00caa2e6ea8dbebffa60cf704bb8c47165de8e86..537efd1051d041521ccdd71b0675197d661f44cf 100644 GIT binary patch literal 1707 zcmb`Hy^B*p6vc18-Y(jVU}N`63yWZ*phf&bT$^C95rkyp6Q0Cm-F;ar!D<^DJ6W_4 z@gJ}jEG@-Wu+aa&S}Z)jc{9lvc2U$UhkNIKoijI+ZJXIqp)HgRvrLxH$Bx+#;iLkm zbUrKFc1@>{*)Vf!G7X(MT0e96$J1E8?qg<0LS4(unG=Np%Nq-yxx}!fth=mBImkE3 z_m+8ii#c^|7;aVx3lNbm&iEBhOCancehBq_9_caUrGH6c6UbPKaOHE=XS(SLH6w5{_6bO;fJj>^VtBrE1@#b;{77f>K7gos2# ziNqfup?pG$h?0f|dJ5j#+r3*X8|9>@ot=5}W_D-oKtyJM09YuARIu_pgyRzU1FT^G zmxQRS0##OJm?gVPt*WFMs(JVjQCNytv!a5y;4>!QLN%&`vhY__8C=@$>G<{YJk&LI zGwWp?8sm8E^9yT5VaA8abC{a8w$wtkW;r}3KXSOb{>WM4-sX-wBkN~9h3dPf!Shq^ zqwkBRjZfr*t%WHlG5JO#D&;nFcaTecEFy8ibA7rRH;mVcIIK51MLqDmdVYUdeb*m& zc7AR~JUco0c`q;ng&E_cf3&B6RdA7G;yA+`jVLg0=-l!*nHZN8@A<^~u$bD^Gd;ai z!*D0W`Sx7z)cQ(toV`<;?q2i0h=I?*R$nKLZf~ILNoU{e z#B60-r`zc;N%WpHe(6@KrQS|E2Q=1o%b8^LH8>lcZWqgLYoO&vE0MI 0) call-script Activate(); // Because SetSpeed is called after Activate + Static_Var_1 = Func_Var_1 * 20; } +SweetSpot(piecenum) +{ + piecenum = base; +} Killed(severity, corpsetype) { diff --git a/scripts/Units/legmext15.cob b/scripts/Units/legmext15.cob index 16995e4eb575f5b19c42758aa7709397bbf9f2c9..d1ad3f847771ead91158ca222ec32d1b0630ccb4 100644 GIT binary patch literal 1831 zcmb_dJ!_Lu6h2Abz70Bf1wlIX{Q*Tnbr7eDf=HKWR>7p{9U?KQ_KjTy{Q><69Tb;t zVkZ}8!L8sVj=EYW>)`X;droo_5)?J?^n9Q5+>_Hb6OpsP67Z}dl0))y70NcS53Ip{ z0hzg~W1h5gw+vB%O;eh=qkbXv74_f~Iiq>#N zZf{|Y&8;Gr{@L1b95VvvcI5RYshx0&v6qO=<7_jmC+kAbW~_Uyb-@SS;#S99?W>=u z^Y+i0?`Xgnb7(g;mwjm;s2y$zyA4uf=OLxY!tRgN_k+Gh#c}?7_0eUw5p%Pw7??F0?v+eEn z=KuYE_WzT)zuWcSa^)J*9nro7+yU+Zd%#=ZBk&pc0-OM+0RMNq0uF&A;2rP*I0ile zUx9DHPoRc>EOp=!myFj~)(GtgF1N@{0TdCk27Z literal 1463 zcma)6Jxg3c6urCqd{MEu32D+jd%=gMvsvSIA_-au0bw`mfD7we(N&T0Ol(qHAsGUiO39$IWUKH zgM_TAiB`1=wc@4JCsdlLzJd)Ng&6vpHBIs%pFa7JYB>+e!d}xVxYVD^6W1Tap{~`N zu9pUKJjG+5ORSZpjt`alur+;csi*qRbGT1_~2s>*-h~%R=ewTc4oaOu8m_zE1V`&R9 zf{uee+8<)a_U?RfTsQ}NR)cc@&(BGi1)ecEgL6H{T`Oh@-|&oF9Q(P4kulbf^-C&Q zVrTUaRC3lBm{*kddEspkwl@8AKUah9aemHt=$*N^Ps!bTpc?LoKCbc5Y;S+5V?O!Z z_znF2Jj!|Bkd(RD2hV5UVOAM`N{+s8^Mv)eUsHq`=6T2cF3{=oP9q`n@I8#nJ1$Q< z%9Hs#oa;Ex89D#aAA2ar9+zT6E}G+>xLyUm06dRhz!h)}+yJ)#|8eWUCa?wU06pL{ z@D=z5dpZudJ!R2rrg fRI>IAIIEp*7vfXvz(~8-J=`t4SnzVu%eV3m+6!mw diff --git a/scripts/Units/legmg.bos b/scripts/Units/legmg.bos index f9404a2a5ea..b9d9dc90177 100644 --- a/scripts/Units/legmg.bos +++ b/scripts/Units/legmg.bos @@ -1,12 +1,15 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, pole, flare, turret, sleeve, barrel; -static-var restore_delay, wpn1_lasthead; +static-var Static_Var_1, Static_Var_2, Static_Var_3, Static_Var_4, Static_Var_5, + Static_Var_6, Static_Var_7, restore_delay, wpn1_lasthead; // Signal definitions -#define SIGNAL_AIM1 256 +#define SIG_AIM 2 @@ -18,7 +21,7 @@ static-var restore_delay, wpn1_lasthead; #define UNITSIZE 5 #define MAXTILT 100 -#include "../unit_hitbyweaponid_and_smoke.h" +#include "unit_hitbyweaponid_and_smoke.h" Create() @@ -34,14 +37,14 @@ ExecuteRestoreAfterDelay() if (Stunned) { return (1); } - spin barrel around z-axis speed <600.0>; + spin barrel around z-axis speed <600.000000>; sleep restore_delay; - spin barrel around z-axis speed <300.0>; + spin barrel around z-axis speed <300.000000>; sleep (restore_delay / 2); - spin barrel around z-axis speed <150.0>; + spin barrel around z-axis speed <150.000000>; sleep (restore_delay / 4); stop-spin barrel around z-axis; - wpn1_lasthead = 0xbadface; + wpn1_lasthead = 1000000; set-signal-mask 0; } @@ -59,15 +62,15 @@ RestoreAfterDelay() start-script ExecuteRestoreAfterDelay(); } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; - turn pole to y-axis heading speed <200.0>; - turn sleeve to x-axis <0.0> - pitch speed <100.0>; - if ((wpn1_lasthead == 0xbadface) OR ABSOLUTE_GREATER_THAN(WRAPDELTA(heading - wpn1_lasthead), <7>)) + signal SIG_AIM; + set-signal-mask SIG_AIM; + turn pole to y-axis heading speed <200.000000>; + turn sleeve to x-axis <0.000000> - pitch speed <100.000000>; + if (((get ABS(wpn1_lasthead - heading)) > 65536) OR(((get ABS(wpn1_lasthead - heading)) > 1300) AND ((get ABS(wpn1_lasthead - heading)) < 64236))) { - wpn1_lasthead = 0xbadface; + wpn1_lasthead = 1000000; wait-for-turn pole around y-axis; wait-for-turn sleeve around x-axis; } @@ -76,23 +79,26 @@ AimWeapon1(heading, pitch) return (1); } -FireWeapon1() +FirePrimary() { - spin barrel around z-axis speed <900.0>; + spin barrel around z-axis speed <900.000000>; emit-sfx 1024 + 0 from flare; } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = sleeve; + piecenum = sleeve; } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = flare; + piecenum = flare; } - +SweetSpot(piecenum) +{ + piecenum = base; +} Killed(severity, corpsetype) { diff --git a/scripts/Units/legmg.cob b/scripts/Units/legmg.cob index be8ab194014d936bd402edfe439b5a851c2cc4de..ef374b875d1a170df90e4b48dc49e9440a61436b 100644 GIT binary patch literal 3198 zcmb_eziU%b6h8UU)E`x!pwNQD192Z&VA>cdwzW9-k0P>R3NYB7?gjIpT?skC*+&4*dsZ629f0P^Oj?p*gqw0(_A?2T25ECx=d16 zKFE4|sY86_o{vdvH>3M09l57ZI@c*Gz?%edY}T37;GsTz>7p}#;_MkZZpE{aV!_*R z`fQJW!RaAH`ADBZ<~mFpxFA1ou%ynOAMnQt*e7*#lezdzy>~jMOStd~G0)KHd7`9G zw-3w&A3e{SM;6821(nP8*{Kf^`m_J8rlHN!Nl{+UKmTc z=8}H1U#Z*fM;rIqd*J57N9teQ#$v!8J)7w~QtZa({^Il@+uI%&k8!2btzT!Qypad? z%pPp-&*M2vuyOEib7INZ5SEK{zk_`AEF`@);u>t};H-jI>;GW*|ySa`jq|TV-2mzHV@xb#|d~XsR?ts4Ym|NdD{p_6a z-|Q@DkexZSC&r$jvmf*F!|}qNxZm;tA0N;3?Lf*RYWGI%S*6a0s@JCPh<-NqMt=sN zw45R)*Oqg)?!d0OcnoOwo$NrW&2j;o&LQ2KeMh_APQsBfl)IhuHcXA$^Dujq3zg}< zwC7>s{f&zya^|>bIWAc9PUk#K9m)mkA?Mu7d2zjyc`F~o_tm1-4HZ8e`J1xDZpAFmY%R5MxY023IP57_?CG@zux#18z!;gD!?J z=%Qhe#6QBAIH}Ryp<@#q3?}05_r7;uUkX*5T;6+kzq|Y0y?bqQBGL!RLq@V9IjsEj z9T&L_sX+#D-oPq_tO+G!vgS0wg`APuykQ*bs?<&84fie{?A({BFZMd@0Jb^kkka|k zBvWl0@foOc#RMZJ@34eHV|x5b4A0aP!!vCmkB~F5n)3(2r5=;@IYJv_h)MX2`gl~a zt`O&H^)=n_IO;Sed5rWY9F;5cOR>lG#QB4R6vWk_+~`AJLYYt3qkY@{#IaubZeYvx zAy&p1&hYu4VEVPsCdr=xh2Lz4jC3)am05R=@A`f`>yy_o7Qq~Dyl?t3gx(#u#7%yt?l6uvHz%9{@D5|Y zyxZN!^|`}GO6~ZJQyM+xYGb=JuB^BDyPg!-!GtsWz?#$Ax0COJaRxBx2^N0RSiVnA z3GUr6`d#Gw7;D*c;NJ5oZno!73X;r-&voW%J14o)O$y2TS5D+iJ#&2A-#N+e)wHg_ zhxXq!qD!-aarW}h4fc)6T_f^piPG;fN_8~)bt z!x+xDV~)PAVG4rzAkO_TwUU{2X9j?uzGqSl-xbZFopaUA&KSy*vCq=CkktCk*GiuB zcQpdDO^i8~z7;)lW*9@y~6W9`PiCE@twH{y9jv; z*@OIsjG)nzkZH(s$ScSW|7(ZH|i`Hu6k{ @@ -10,42 +30,83 @@ piece base, door1, door2, flare, thrusta, thrustb ; #define UNITSIZE 1 #define MAXTILT 100 -#include "../unit_hitbyweaponid_and_smoke.h" +#include "unit_hitbyweaponid_and_smoke.h" + +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + call-script Go(); + currentstate = 0; + } + if( statechg_DesiredState == 1 ) + { + call-script Stop(); + currentstate = 1; + } + } + statechg_StateChanging = FALSE; +} + Create() { hide thrustb; hide thrusta; hide flare; + Static_Var_1 = 0; + bMoving = FALSE; + call-script InitState(); } Activate() { show thrustb; show thrusta; + start-script RequestState(0); } Deactivate() { hide thrustb; hide thrusta; + start-script RequestState(1); } +setSFXoccupy(Func_Var_1) +{ + Static_Var_1 = Func_Var_1; +} -StartMoving(reversing) +StartMoving() { + bMoving = TRUE; } StopMoving() { + bMoving = FALSE; } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = flare; + piecenum = flare; } - +SweetSpot(piecenum) +{ + piecenum = base; +} Killed(severity, corpsetype) { diff --git a/scripts/Units/legmineb.cob b/scripts/Units/legmineb.cob index c314318067a9d2ae3dc7d0aa114716590aa3e5d4..8ea527d16b396c4571a63b0428fd22e9c4ac65f3 100644 GIT binary patch literal 2899 zcmd5;J7^S96utY&`U9Oe9j`B`jP5v8OO{Iv)O`}=PLDn)y$Ht)=b?T1$IUc!BQ3& zSt;8w_sAI3QN>(t3=`k(BYdcK=ciTwgv(~H*4>f8I8}GT*muUDS-Gj{5 zyq8v9&dGaL4wB8py>HAlNgd|F`|}noWnIe97b{@x<6hJI^WMssPUj&W>~ZFgb@N`5 z(q`O8&B*ocY96hL`OJMrEnghJ{99setV#3J$4rYpjqN$rH`7}`X{WtRB8ckpeVRG@ zc&GNKdd=bbu@-5jF^}*7KO+OHwW=R?_T9=s%nWrVJe&L5#;Ya|YUT>++ORLGwI-fT zKIAp;$~+$9re6lS{r?j)7VdUwS{6RV@al-BJ3j+_ZA~ zXs_d_?zigfDtulwemVovtR8Ru)#-v4Bmp9kao zuRZI1Fb~Z3yqCA7vncZ4X@2>+aLk+wziIqixB|QeJ_5(E?0Uv-*z-Qna@C&FM5;+W<08RpRUaOK%O8@u0-p-wL2!KWv`CHc%vEjR)ZKe4??&MqC}Q@{eIY$%-6umn;E(y`(X{Fu9%EFj|U$Bc5egv~-3ll2_=CN*EcE~VbYz=nAl7z$< zDhiE-R903tCYBcd01HYITMN&5^RD}tEYL`}+^=)rJ@>vhAr_HYNDK0zA%b7`^OJ!Y zkz0`4FgwuFj!Y;G6Pc?-w__vAEpr(rV;N(;mZ2TfMxJ(;c5=yKZ^DcbV~9Cw=}mHs zkxQKToN1ZJfkYzYny{&fp>`=?=rhN9iwmgoG-cbXcK(U;$~28tYIx%vY+bdwUc_{I4^5=U{b$^<{8|L zo>|wDRClCUKrh6G7}j%U-F+8H_SAct#+w|D3Gln%%)(um>Q1zlT9SsF>HW0{ulmlW z-r_I~+%gTRyOjYy|uj(t1|;#$k|=8@-Kxi{jEJf2~iI-~mB54rH1`rW$ydR}V)urJR)kJk>*0Z-+nJkR2#c;%)3dAwHH!}Hqp zyma5%_kfsSU+QcAB3`?`UU{is=f$1;@80ifz4yFd@6GTX$S25e$R9`(1I|LOKzIq) zA^gAg2=Wv%fQ%t8Ag>^AAp4L*$VbQ# speed <800>; - turn lwingu to z-axis <0.0> speed <800>; - turn rwingd to z-axis <-20.0> speed <800>; - turn rwingu to z-axis <0.0> speed <800>; + turn lwingd to z-axis <20.000000> speed <800>; + turn lwingu to z-axis <0.000000> speed <800>; + turn rwingd to z-axis <-20.000000> speed <800>; + turn rwingu to z-axis <0.000000> speed <800>; sleep 25; - turn lwingd to z-axis <0.0> speed <800>; - turn lwingu to z-axis <40.0> speed <1600>; - turn rwingd to z-axis <0.0> speed <800>; - turn rwingu to z-axis <-40.0> speed <1600>; + turn lwingd to z-axis <0.000000> speed <800>; + turn lwingu to z-axis <40.000000> speed <1600>; + turn rwingd to z-axis <0.000000> speed <800>; + turn rwingu to z-axis <-40.000000> speed <1600>; sleep 25; - turn lwingd to z-axis <-25.0> speed <1000>; - turn lwingu to z-axis <0.0> speed <1600>; - turn rwingd to z-axis <25.0> speed <1000>; - turn rwingu to z-axis <0.0> speed <1600>; + turn lwingd to z-axis <-25.000000> speed <1000>; + turn lwingu to z-axis <0.000000> speed <1600>; + turn rwingd to z-axis <25.000000> speed <1000>; + turn rwingu to z-axis <0.000000> speed <1600>; sleep 25; - turn lwingd to z-axis <0.0> speed <1000>; - turn lwingu to z-axis <-20.0> speed <800>; - turn rwingd to z-axis <0.0> speed <1000>; - turn rwingu to z-axis <20.0> speed <800>; + turn lwingd to z-axis <0.000000> speed <1000>; + turn lwingu to z-axis <-20.000000> speed <800>; + turn rwingd to z-axis <0.000000> speed <1000>; + turn rwingu to z-axis <20.000000> speed <800>; sleep 25; } else sleep 200; @@ -46,8 +48,11 @@ Create() hide thrustb; gun_1=0; speedwings=200; - isMoving = 0; - SLEEP_UNTIL_UNITFINISHED; + bMoving = 0; + while( get BUILD_PERCENT_LEFT ) + { + sleep 400; + } start-script IdleHover(); } @@ -67,7 +72,7 @@ SetStunned(State) } RestoreAfterDelay() { - set-signal-mask SIGNAL_MOVE; + set-signal-mask SIG_MOVE; sleep 5000; start-script ExecuteRestoreAfterDelay(); } @@ -79,92 +84,95 @@ RestoreAfterDelay() #define UNITSIZE 1 #define MAXTILT 100 -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = base; + piecenum = base; } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { return (1); } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { if (gun_1==0) { - pieceIndex = lflare; + piecenum = lflare; gun_1=1; } else { - pieceIndex=rflare; + piecenum=rflare; gun_1=0; } } -FireWeapon1() +FirePrimary() { - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; + signal SIG_MOVE; + set-signal-mask SIG_MOVE; sleep 200; start-script RestoreAfterDelay(); } -StartMoving(reversing) +StartMoving() { - isMoving = 1; + bMoving = 1; start-script RestoreAfterDelay(); - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; + signal SIG_MOVE; + set-signal-mask SIG_MOVE; } StopMoving() { - isMoving = 0; - turn lwingd to z-axis <0.0> speed <50.0>; - turn lwingu to z-axis <0.0> speed <50.0>; - turn rwingd to z-axis <0.0> speed <50.0>; - turn rwingu to z-axis <0.0> speed <50.0>; + bMoving = 0; + turn lwingd to z-axis <0.000000> speed <50.000000>; + turn lwingu to z-axis <0.000000> speed <50.000000>; + turn rwingd to z-axis <0.000000> speed <50.000000>; + turn rwingu to z-axis <0.000000> speed <50.000000>; start-script RestoreAfterDelay(); - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; + signal SIG_MOVE; + set-signal-mask SIG_MOVE; } MoveRate0() { - isMoving = 0; - turn lwingd to z-axis <0.0> speed <50.0>; - turn lwingu to z-axis <0.0> speed <50.0>; - turn rwingd to z-axis <0.0> speed <50.0>; - turn rwingu to z-axis <0.0> speed <50.0>; + bMoving = 0; + turn lwingd to z-axis <0.000000> speed <50.000000>; + turn lwingu to z-axis <0.000000> speed <50.000000>; + turn rwingd to z-axis <0.000000> speed <50.000000>; + turn rwingu to z-axis <0.000000> speed <50.000000>; } MoveRate1() { start-script RestoreAfterDelay(); - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; + signal SIG_MOVE; + set-signal-mask SIG_MOVE; } MoveRate2() { - isMoving = 1; + bMoving = 1; start-script RestoreAfterDelay(); - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; + signal SIG_MOVE; + set-signal-mask SIG_MOVE; } MoveRate3() { - isMoving = 1; + bMoving = 1; start-script RestoreAfterDelay(); - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; + signal SIG_MOVE; + set-signal-mask SIG_MOVE; } - +SweetSpot(piecenum) +{ + piecenum = base; +} Killed(severity, corpsetype) { diff --git a/scripts/Units/legmos.cob b/scripts/Units/legmos.cob index 879e8d957dc358419b9b607705f43caaaff7763c..86f588113df7fb28b1641881582479c4c8f586f7 100644 GIT binary patch literal 2965 zcmdT`J!lj`6n=NPToMJ@kV;Tkv9Pg7ViUD7{zOG1XAV1yY%UXXvbno#_L3Y}oK^;d z#NI+gOR=&Ow2%-%Y}HN>Ek$kYjNdoAvrg6xf@zXFKHi&of8U#VyLSZ<=>>KJQ+bgB zBtNfuM7np0Tm%kdy$G3e@=lJ%@uG7VqJT9*{_K}J9om-Sy_Z9IZ5!Hy4Og5F2;*;T z*wQxEP21MKudg$%GsDI(+KQHKFZcR$4tb{Y+qK)X1JZtgLwwwx$B%LwM# zuQ3VkfqPWBM=2$&$0eR2(X+#K7j2N;5XQIAAH|q_T<21DGcP68{I$tiPraxygkeJ2!Q`-!AHzyxj)} za@xdSP|w8YQ7@g3cH?7nB&UtO5x1W)ANtz)xHjj@J6ezZ$kq14GVwFKcrHm_4NH%E zOzs{%a=!RU$C~>3Y*K!DFC(u`REp|RCx7}f_wqrjhP&}SleXD2pSIaEpSGEq=iS+T zZFj!*+5Zpst=`pE;?1n{zSDDQo=^IiXOz9_-vBq7|92?PJ#t_?CD(2&+mJHef#Vk>RqyKA$YWE{6A9`Fp{Z`d2)J@66u4CLY13mgDOfd+5`SO)F`j{yF^y9F!( z4}mAZ3*asA0r&#^0Db{I__Npt><1131Hf_MBybkE1Y7~G0u|soFblMRo4_65{G_kW z)#p_prvl}LO3o~*N;6brYA&n?YIrJC!D;1tEh($895!n;H7S1^hpRIqL4BqaRA;=P zC0H8ua#IB@vlyuc%IM|L3&PR*e6@B>%3-|`s}O1oMEb>O1Bo`6Xh)>Hpg^cm59LDD x_d#mHn^WRX`CgzTh=jj@E(KBzr4H7T5JW*nLzdAH)Ka8_gJzOJL)g|*Er*5% zL8vY0#};i3{R7d`P)l1|L(~w|_ee_GSPwqjd(OT0+&|?xwEZ?O~ z^bT={D2h1kT!c?eBgyyX4u>qoY0sUE4izkIXj2=UP!Zns*u1Vf+YG7ESgEL^mQ2!n z){?2HAnN@-S<42R>PhWwOY^xEHLm%=3XWGLrG3%}$z!TAL5v2PVqZ&)h8yb~w?pMY zBq-$7v}EZgTq?z6lNm#YKQ{mMGC42xP`x%%%95LS#_mvFT*%r9{7+XOcHjRLI(8<@ z-FWjfticxSK?TzIOY%^HeK>>@xPlwFg-3XXSNH_SC2EH*=!JfW!4Ql<0;XUN7GcFD p59M6ma8r@_%yMBhKR{#ITzxuQ$`m*2!9=#0`JVHOJIcfUg)dy7UvK~b diff --git a/scripts/Units/legmrv.bos b/scripts/Units/legmrv.bos index 285784bdce9..d925e3b6010 100644 --- a/scripts/Units/legmrv.bos +++ b/scripts/Units/legmrv.bos @@ -1,15 +1,18 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, steer, turret, fwheel, bwheel, gunr, sleever, barrelr, flarer, gunr2, sleever2, barrelr2, flarer2, gunl, sleevel, barrell, flarel, gunl2, sleevel2, barrell2, flarel2; -static-var restore_delay, moveSpeed, wheelSpeed, gun_1, gun_2, oldHeading; +static-var restore_delay, moveSpeed, wheelSpeed, Static_Var_1, gun_1, gun_2, statechg_DesiredState, + statechg_StateChanging, oldHeading; // Signal definitions -#define SIGNAL_MOVE 1 -#define SIGNAL_AIM1 256 -#define SIGNAL_SHOOT1 16 +#define SIG_MOVE 2 +#define SIG_AIM 4 +#define SIG_FIRE1 8 RockUnit(anglex, anglez) { @@ -17,15 +20,15 @@ RockUnit(anglex, anglez) turn base to z-axis <0> - anglez speed <50.005495>; wait-for-turn base around z-axis; wait-for-turn base around x-axis; - turn base to z-axis <0.0> speed <20.0>; - turn base to x-axis <0.0> speed <20.0>; + turn base to z-axis <0.000000> speed <20.000000>; + turn base to x-axis <0.000000> speed <20.000000>; return (0); } Steering(heading, steery, currentSpeed) { - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; + signal SIG_MOVE; + set-signal-mask SIG_MOVE; while(1) { heading = get HEADING; @@ -46,7 +49,7 @@ Steering(heading, steery, currentSpeed) #define UNITSIZE 1 #define MAXTILT 100 -//#include "../unit_hitbyweaponid_and_smoke.h" +//#include "unit_hitbyweaponid_and_smoke.h" Create() { @@ -54,26 +57,34 @@ Create() hide flarer2; hide flarel; hide flarel2; + Static_Var_1 = 0; gun_1 = 0; gun_2 = 0; oldheading = get HEADING; - restore_delay = 4000; + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; } -StartMoving(reversing) +StartMoving() { start-script Steering(); } StopMoving() { - signal SIGNAL_MOVE; + signal SIG_MOVE; stop-spin fwheel around x-axis; stop-spin bwheel around x-axis; } //following block returns weapon in straight position after firing +SetMaxReloadTime(Func_Var_1) +{ + restore_delay = 4000; + return (0); +} + static-var Stunned; ExecuteRestoreAfterDelay() { @@ -82,9 +93,9 @@ ExecuteRestoreAfterDelay() } gun_1 = 0; gun_2 = 0; - turn turret to y-axis <0.0> speed <90.0>; - turn gunr to x-axis <0.0> speed <50.0>; - turn gunl to x-axis <0.0> speed <50.0>; + turn turret to y-axis <0.000000> speed <90.000000>; + turn gunr to x-axis <0.000000> speed <50.000000>; + turn gunl to x-axis <0.000000> speed <50.000000>; } SetStunned(State) @@ -101,13 +112,13 @@ RestoreAfterDelay() start-script ExecuteRestoreAfterDelay(); } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; - turn turret to y-axis heading speed <200.0>; - turn gunr to x-axis <0.0> - pitch speed <200.0>; - turn gunl to x-axis <0.0> - pitch speed <200.0>; + signal SIG_AIM; + set-signal-mask SIG_AIM; + turn turret to y-axis heading speed <200.000000>; + turn gunr to x-axis <0.000000> - pitch speed <200.000000>; + turn gunl to x-axis <0.000000> - pitch speed <200.000000>; wait-for-turn turret around y-axis; wait-for-turn gunr around x-axis; start-script RestoreAfterDelay(); @@ -124,15 +135,15 @@ AimWeapon1(heading, pitch) return (1); } -FireWeapon1() +FirePrimary() { return (1); } Shot1(zero) { - signal SIGNAL_SHOOT1; - set-signal-mask SIGNAL_SHOOT1; + signal SIG_FIRE1; + set-signal-mask SIG_FIRE1; if (gun_1 == 0){ move barrelr to z-axis [-3] now; move barrelr to z-axis [0] speed [1]; @@ -158,35 +169,39 @@ Shot1(zero) return(1); } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { if (gun_1 == 0 or gun_1 == 1){ - pieceIndex = gunr; + piecenum = gunr; } if (gun_1 >= 2){ - pieceIndex = gunl; + piecenum = gunl; } return (0); } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { if (gun_1 <= 1){ - pieceIndex = flarer; + piecenum = flarer; } if (gun_1 == 2){ - pieceIndex = flarer2; + piecenum = flarer2; } if (gun_1 == 3){ - pieceIndex = flarel; + piecenum = flarel; } if (gun_1 >= 4){ - pieceIndex = flarel2; + piecenum = flarel2; } return (0); } - +SweetSpot(piecenum) +{ + piecenum = base; + return (0); +} Killed(severity, corpsetype) { diff --git a/scripts/Units/legmrv.cob b/scripts/Units/legmrv.cob index a261ecb23b4578069d7969393c525a85fa9e009f..c96712549e17d183b7a900b07a50edffe536375f 100644 GIT binary patch literal 3805 zcmd57di#O zO)IVh7fQQO5J3ux8&QxVg4m_t%8e^sh_3vne&4zGjHfT1kOUV#__*iZbIx~u?$0pO zB9Z~O0e99#uEWUh!VMxn1FaiH?!o*OjMA)S#8g(x&K?q}VWh1zl|n_+apVGRrYJP) z@Qrpg&cVXL%be5i!JFd9x%Zi*qnX8%*@oumbJZAY4b5BSQIs{W`9}6q@}DD7b2_WF z{>`0BSjnzYU0pfQCN!q5cI05}-(L2$qB^c8-Iow(a|h<+r@TZN9F&ixb(ukr5-;;) z?>N%t;NuXoeVHKN6}QG*%?8V3A8ARZc_!PcZkh}D$o&X~7NuDCG&r^1nMQVBvZ0Cg zc3z?mBaVj%M%_q^w_-{bE|Y`t{hTrVd|#Sd-z_d}*gMV}6`%cXuK8rxORVuTZmv^i zUnK22MVZ;!6R!DQs2%+6oS!=o^WeJY=b5;ci`b8^l1}qTv8iJIlWP9!VaL~$xQB`7 z%%LlF>=Qr6uj+U$`T5+KyWdOZInMW7JVU?IDQjqdDSCg}a*bzVl8wJ#+P~Cil}EAv zt=HmtRIW;m)LBgCs=Z5Zgs*oyJFA^<3HMq#Ae%pP*KOdu98qcBuxHQ3Lzn z_fKYH@1BHn%>D1nazQelNsX_4n;O@J*KVxyTrqa!TBvYczYUk^JQw3yUc(9(j_$;~ zOy{}uy+}2lNnFg8=h*J5NUZsmZMaS6xyggum)V{0Iz2Npu^(@bYq;|Ms6Y0O`{jK} z%liFVv<2TNa(ZYZ9Ylw-w)c}4lYSGw$UuEA&l~K`e`Ub(G@d-eZ6_jb~GsP>aRxEnYPyaT)sd;(kqegysi>bSUV z-~r$~@Hy}c@H@c&F=v4{fVY76fRBJLfbW1GfIoo-{)5~M90cwH?gt(MjsQ;pv%s^! zb3g!|2MXXt;56_m@H+4&a2|LU_yG7A_!PJZd<}d9%ncS_c&6VgrBjAb^!h9EXc4+) zz`R?O#|J05)F}sRCWi8OcVjN(gYMGPz11K`Hp1et40B<<92DX3av6%pLf+k!PAEI& zu-^|$vQ>Gww>n$&R=dTf9PJgs1#Ho*IT?b8K-cfOl9(b>^F!F9fB=_zz~yICTI3 literal 3010 zcmaJ@O^8!h6h4y~qgAU9s-;~BfdLUIn28j+C>T4{f+Fe!ajBW{W(+=);mwQIMRf{8 zH);zN+~~+4E_CG&t`tgl;=-MaLKlUuM7IhqTH5bB_nzl9V-ond=iYP9cfNCf9vKsn z4Zvo=l|)u!O1XR z!b-AAeWS`TO1nC$apYs}+Y528=#J~b_XGxGwqQ?>I8% zv+rOes}h0U*=UVgEe6X)j#MR4ogud0H^v40$o&nCDlOml7&x`xdO6t{Vi=-(dt8z= zv@xy^qaGyYn=mH}m&w8U@tid|w|%xcTwC7gbC_#6#aSjeFFNpxeYABwoUI1bSN1Jf zi~H3$+!LN_nG@{kV+;i!d{$>zAOGx%^i;&3L*ThI{=QH5bAaz-tn+6zt?&3esI$52=6@BG%U_~ z=l4MGF$=-Ad}_CE5^HG<^cUOqP11%#4{Du0|i%I!+V_FJ&k-x3hcY&UYoO75j+`%J#BJ865zo1&@!an2^$>6GXF1HNwRrE?&sax| zF+s<+po4tuV~~zT=0KO}xDn=qbeOJTI%dcbbnFW{*hj3xco@q5FVPsH!*tnx*t}l{ zx%z8atktslpq|ZdwXOzj{k6Ef9rzJg0&W2hfj@y)z-wR}8^0C!6?g#r4e~E(j7^j=_PUfjl@?Ms?Tv}&OI+x0{A7*=Yb_jEH|}W7)p)tf5uJ(4FCWD diff --git a/scripts/Units/legpede.bos b/scripts/Units/legpede.bos index 57993c4a482..a41e8f9e71f 100644 --- a/scripts/Units/legpede.bos +++ b/scripts/Units/legpede.bos @@ -1,5 +1,7 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" // One sixth of the full cycle duration, in millisecond @@ -14,18 +16,18 @@ piece base1, rdoor1, ldoor1, legr1, legrb1, legl1, leglb1, steer2, base2, rdoor2 stand3, aimy13, turret3, flare23, flare33, flare13, stand4, aimy14, turret4, flare24, flare34, flare14, stand5, aimy15, turret5, sleeve5, flare5, barrel15, barrel25, barrel35, barrel45, stand6, sleeve6, barrel6, flare6; -static-var fire_count_3, fire_count_4, restore_delay, animSpeed, maxSpeed, animFramesPerKeyframe, isMoving, wpn2_lasthead, wpn5_lasthead, +static-var fire_count_3, fire_count_4, restore_delay, animSpeed, maxSpeed, animFramesPerKeyframe, bMoving, wpn2_lasthead, wpn5_lasthead, oldHeading, speed2, speed3, speed4, speed5, speed6, steerstore, steerslow, turnslow; -#define SIGNAL_AIM1 256 -#define SIGNAL_SHOOT1 16 -#define SIGNAL_MOVE 1 -#define SIGNAL_AIM2 512 -#define SIGNAL_AIM3 1024 -#define SIGNAL_AIM4 2048 -#define SIGNAL_AIM5 4096 -#define SIGNAL_AIM6 8192 -#define SIGNAL_SHOOT2 32 +#define SIG_AIM 2 +#define SIG_FIRE3 4 +#define SIG_WALK 8 +#define SIG_AIM_2 16 +#define SIG_AIM_3 32 +#define SIG_AIM_4 64 +#define SIG_AIM_5 128 +#define SIG_AIM_6 256 +#define SIG_FIRE4 512 #define SMOKEPIECE1 base1 Steering(heading, steery, currentSpeed) @@ -85,33 +87,33 @@ ExecuteRestoreAfterDelay() set-signal-mask 0; stop-spin barrel1 around z-axis; stop-spin barrel6 around z-axis; - turn sleeve1 to y-axis <0.0> speed <150.0>; - turn sleeve1 to x-axis <0.0> speed <150.0>; - turn sleeve6 to y-axis <180.0> speed <150.0>; - turn sleeve6 to x-axis <0.0> speed <150.0>; - turn turret3 to y-axis <0.0> speed <150.0>; - turn turret3 to x-axis <0.0> speed <150.0>; - turn turret4 to y-axis <0.0> speed <150.0>; - turn turret4 to x-axis <0.0> speed <150.0>; - turn aimy12 to y-axis <0> speed <45.0>; - turn sleeve2 to x-axis <0.0> speed <70.0>; - turn aimy15 to y-axis <0> speed <45.0>; - turn sleeve5 to x-axis <0.0> speed <70.0>; + turn sleeve1 to y-axis <0.000000> speed <150.000000>; + turn sleeve1 to x-axis <0.000000> speed <150.000000>; + turn sleeve6 to y-axis <180.000000> speed <150.000000>; + turn sleeve6 to x-axis <0.000000> speed <150.000000>; + turn turret3 to y-axis <0.000000> speed <150.000000>; + turn turret3 to x-axis <0.000000> speed <150.000000>; + turn turret4 to y-axis <0.000000> speed <150.000000>; + turn turret4 to x-axis <0.000000> speed <150.000000>; + turn aimy12 to y-axis <0> speed <45.000000>; + turn sleeve2 to x-axis <0.000000> speed <70.000000>; + turn aimy15 to y-axis <0> speed <45.000000>; + turn sleeve5 to x-axis <0.000000> speed <70.000000>; wait-for-turn turret4 around y-axis; - wpn2_lasthead = 0xbadface; - wpn5_lasthead = 0xbadface; + wpn2_lasthead = 1000000; + wpn5_lasthead = 1000000; } RestoreAfterDelay() { - set-signal-mask SIGNAL_AIM2; + set-signal-mask SIG_AIM_2; sleep restore_delay; start-script ExecuteRestoreAfterDelay(); } Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptasz\Documents\GitHub\support\Animation_sources\armspid_anim_walk.blend - //set-signal-mask SIGNAL_MOVE; - if (isMoving) { //Frame:4 + //set-signal-mask SIG_WALK; + if (bMoving) { //Frame:4 turn legl1 to x-axis <7.879442> speed <236.383259> / animSpeed; //delta=-7.88 turn legl1 to z-axis <-6.25> speed <615> / animSpeed; //delta=-13.64 turn legl1 to y-axis <8.549190> speed <256.475695> / animSpeed; //delta=8.55 @@ -191,8 +193,8 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn legrb6 to y-axis <6.937750> speed <12.185292> / animSpeed; //delta=-0.41 sleep ((33*animSpeed) -1); } - while(isMoving) { - if (isMoving) { //Frame:7 + while(bMoving) { + if (bMoving) { //Frame:7 turn legl1 to x-axis <2.983980> speed <146.863863> / animSpeed; //delta=4.90 turn legl1 to z-axis <-13> speed <106> / animSpeed; //delta=2.36 turn legl1 to y-axis <18.113312> speed <286.923654> / animSpeed; //delta=9.56 @@ -272,7 +274,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn legrb6 to y-axis <4.295182> speed <79.277020> / animSpeed; //delta=-2.64 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:10 + if (bMoving) { //Frame:10 turn legl1 to x-axis <7.592363> speed <138.251498> / animSpeed; //delta=-4.61 turn legl1 to z-axis <2.75> speed <240> / animSpeed; //delta=-5.35 turn legl1 to y-axis <27.113179> speed <269.996012> / animSpeed; //delta=9.00 @@ -352,7 +354,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn legrb6 to y-axis <4.455378> speed <4.805871> / animSpeed; //delta=0.16 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:13 + if (bMoving) { //Frame:13 turn legl1 to x-axis <0.181066> speed <222.338907> / animSpeed; //delta=7.41 turn legl1 to z-axis <-48.55> speed <770> / animSpeed; //delta=17.22 turn legl1 to y-axis <8.821999> speed <548.735400> / animSpeed; //delta=-18.29 @@ -432,7 +434,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn legrb6 to y-axis <3.994751> speed <13.818800> / animSpeed; //delta=-0.46 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:16 + if (bMoving) { //Frame:16 turn legl1 to x-axis <3.793397> speed <108.369910> / animSpeed; //delta=-3.61 turn legl1 to z-axis <-7.45> speed <615> / animSpeed; //delta=-13.68 turn legl1 to y-axis <-9.924738> speed <562.402096> / animSpeed; //delta=-18.75 @@ -512,7 +514,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn legrb6 to y-axis <2.685105> speed <39.289402> / animSpeed; //delta=-1.31 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:19 + if (bMoving) { //Frame:19 turn legl1 to x-axis <7.405729> speed <108.369976> / animSpeed; //delta=-3.61 turn legl1 to z-axis <33.5> speed <615> / animSpeed; //delta=-13.68 turn legl1 to y-axis <-28.671474> speed <562.402096> / animSpeed; //delta=-18.75 @@ -592,7 +594,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn legrb6 to y-axis <3.693885> speed <30.263396> / animSpeed; //delta=1.01 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:22 + if (bMoving) { //Frame:22 turn legl1 to x-axis <8.325115> speed <27.581585> / animSpeed; //delta=-0.92 turn legl1 to z-axis <18.8> speed <220> / animSpeed; //delta=4.92 turn legl1 to y-axis <-19.275287> speed <281.885612> / animSpeed; //delta=9.40 @@ -673,7 +675,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas start-script RestoreAfterDelay(); sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:25 + if (bMoving) { //Frame:25 turn legl1 to x-axis <12.985267> speed <139.804555> / animSpeed; //delta=-4.66 turn legl1 to z-axis <-5.05> speed <350> / animSpeed; //delta=7.95 turn legl1 to y-axis <-4.354245> speed <447.631264> / animSpeed; //delta=14.92 @@ -753,7 +755,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn legrb6 to y-axis <7.343926> speed <54.750617> / animSpeed; //delta=1.83 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:28 + if (bMoving) { //Frame:28 turn legl1 to x-axis <7.879442> speed <153.174753> / animSpeed; //delta=5.11 turn legl1 to z-axis <-5.8> speed <11.8> / animSpeed; //delta=0.26 turn legl1 to y-axis <8.549190> speed <387.103050> / animSpeed; //delta=12.90 @@ -836,85 +838,85 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas } } } -// Call this from StopMoving()! +// Call this from MotionControl()! StopWalking() { - turn legl1 to x-axis <0.0> speed <78.794420>; - turn legl1 to y-axis <0.0> speed <187.467365>; - turn legl1 to z-axis <0.0> speed <172.221480>; - turn leglb1 to x-axis <0.0> speed <66.892444>; - turn leglb1 to y-axis <0.0> speed <44.553781>; - turn leglb1 to z-axis <0.0> speed <222.231423>; - turn legr1 to x-axis <0.0> speed <74.112964>; - turn legr1 to y-axis <0.0> speed <187.467374>; - turn legr1 to z-axis <0.0> speed <172.221479>; - turn legrb1 to x-axis <0.0> speed <85.298980>; - turn legrb1 to y-axis <0.0> speed <55.189055>; - turn legrb1 to z-axis <0.0> speed <329.698798>; + turn legl1 to x-axis <0.000000> speed <78.794420>; + turn legl1 to y-axis <0.000000> speed <187.467365>; + turn legl1 to z-axis <0.000000> speed <172.221480>; + turn leglb1 to x-axis <0.000000> speed <66.892444>; + turn leglb1 to y-axis <0.000000> speed <44.553781>; + turn leglb1 to z-axis <0.000000> speed <222.231423>; + turn legr1 to x-axis <0.000000> speed <74.112964>; + turn legr1 to y-axis <0.000000> speed <187.467374>; + turn legr1 to z-axis <0.000000> speed <172.221479>; + turn legrb1 to x-axis <0.000000> speed <85.298980>; + turn legrb1 to y-axis <0.000000> speed <55.189055>; + turn legrb1 to z-axis <0.000000> speed <329.698798>; - turn legl2 to x-axis <0.0> speed <78.794420>; - turn legl2 to y-axis <0.0> speed <187.467365>; - turn legl2 to z-axis <0.0> speed <172.221480>; - turn leglb2 to x-axis <0.0> speed <66.892444>; - turn leglb2 to y-axis <0.0> speed <44.553781>; - turn leglb2 to z-axis <0.0> speed <222.231423>; - turn legr2 to x-axis <0.0> speed <74.112964>; - turn legr2 to y-axis <0.0> speed <187.467374>; - turn legr2 to z-axis <0.0> speed <172.221479>; - turn legrb2 to x-axis <0.0> speed <85.298980>; - turn legrb2 to y-axis <0.0> speed <55.189055>; - turn legrb2 to z-axis <0.0> speed <329.698798>; + turn legl2 to x-axis <0.000000> speed <78.794420>; + turn legl2 to y-axis <0.000000> speed <187.467365>; + turn legl2 to z-axis <0.000000> speed <172.221480>; + turn leglb2 to x-axis <0.000000> speed <66.892444>; + turn leglb2 to y-axis <0.000000> speed <44.553781>; + turn leglb2 to z-axis <0.000000> speed <222.231423>; + turn legr2 to x-axis <0.000000> speed <74.112964>; + turn legr2 to y-axis <0.000000> speed <187.467374>; + turn legr2 to z-axis <0.000000> speed <172.221479>; + turn legrb2 to x-axis <0.000000> speed <85.298980>; + turn legrb2 to y-axis <0.000000> speed <55.189055>; + turn legrb2 to z-axis <0.000000> speed <329.698798>; - turn legl3 to x-axis <0.0> speed <78.794420>; - turn legl3 to y-axis <0.0> speed <187.467365>; - turn legl3 to z-axis <0.0> speed <172.221480>; - turn leglb3 to x-axis <0.0> speed <66.892444>; - turn leglb3 to y-axis <0.0> speed <44.553781>; - turn leglb3 to z-axis <0.0> speed <222.231423>; - turn legr3 to x-axis <0.0> speed <74.112964>; - turn legr3 to y-axis <0.0> speed <187.467374>; - turn legr3 to z-axis <0.0> speed <172.221479>; - turn legrb3 to x-axis <0.0> speed <85.298980>; - turn legrb3 to y-axis <0.0> speed <55.189055>; - turn legrb3 to z-axis <0.0> speed <329.698798>; + turn legl3 to x-axis <0.000000> speed <78.794420>; + turn legl3 to y-axis <0.000000> speed <187.467365>; + turn legl3 to z-axis <0.000000> speed <172.221480>; + turn leglb3 to x-axis <0.000000> speed <66.892444>; + turn leglb3 to y-axis <0.000000> speed <44.553781>; + turn leglb3 to z-axis <0.000000> speed <222.231423>; + turn legr3 to x-axis <0.000000> speed <74.112964>; + turn legr3 to y-axis <0.000000> speed <187.467374>; + turn legr3 to z-axis <0.000000> speed <172.221479>; + turn legrb3 to x-axis <0.000000> speed <85.298980>; + turn legrb3 to y-axis <0.000000> speed <55.189055>; + turn legrb3 to z-axis <0.000000> speed <329.698798>; - turn legl4 to x-axis <0.0> speed <78.794420>; - turn legl4 to y-axis <0.0> speed <187.467365>; - turn legl4 to z-axis <0.0> speed <172.221480>; - turn leglb4 to x-axis <0.0> speed <66.892444>; - turn leglb4 to y-axis <0.0> speed <44.553781>; - turn leglb4 to z-axis <0.0> speed <222.231423>; - turn legr4 to x-axis <0.0> speed <74.112964>; - turn legr4 to y-axis <0.0> speed <187.467374>; - turn legr4 to z-axis <0.0> speed <172.221479>; - turn legrb4 to x-axis <0.0> speed <85.298980>; - turn legrb4 to y-axis <0.0> speed <55.189055>; - turn legrb4 to z-axis <0.0> speed <329.698798>; + turn legl4 to x-axis <0.000000> speed <78.794420>; + turn legl4 to y-axis <0.000000> speed <187.467365>; + turn legl4 to z-axis <0.000000> speed <172.221480>; + turn leglb4 to x-axis <0.000000> speed <66.892444>; + turn leglb4 to y-axis <0.000000> speed <44.553781>; + turn leglb4 to z-axis <0.000000> speed <222.231423>; + turn legr4 to x-axis <0.000000> speed <74.112964>; + turn legr4 to y-axis <0.000000> speed <187.467374>; + turn legr4 to z-axis <0.000000> speed <172.221479>; + turn legrb4 to x-axis <0.000000> speed <85.298980>; + turn legrb4 to y-axis <0.000000> speed <55.189055>; + turn legrb4 to z-axis <0.000000> speed <329.698798>; - turn legl5 to x-axis <0.0> speed <78.794420>; - turn legl5 to y-axis <0.0> speed <187.467365>; - turn legl5 to z-axis <0.0> speed <172.221480>; - turn leglb5 to x-axis <0.0> speed <66.892444>; - turn leglb5 to y-axis <0.0> speed <44.553781>; - turn leglb5 to z-axis <0.0> speed <222.231423>; - turn legr5 to x-axis <0.0> speed <74.112964>; - turn legr5 to y-axis <0.0> speed <187.467374>; - turn legr5 to z-axis <0.0> speed <172.221479>; - turn legrb5 to x-axis <0.0> speed <85.298980>; - turn legrb5 to y-axis <0.0> speed <55.189055>; - turn legrb5 to z-axis <0.0> speed <329.698798>; + turn legl5 to x-axis <0.000000> speed <78.794420>; + turn legl5 to y-axis <0.000000> speed <187.467365>; + turn legl5 to z-axis <0.000000> speed <172.221480>; + turn leglb5 to x-axis <0.000000> speed <66.892444>; + turn leglb5 to y-axis <0.000000> speed <44.553781>; + turn leglb5 to z-axis <0.000000> speed <222.231423>; + turn legr5 to x-axis <0.000000> speed <74.112964>; + turn legr5 to y-axis <0.000000> speed <187.467374>; + turn legr5 to z-axis <0.000000> speed <172.221479>; + turn legrb5 to x-axis <0.000000> speed <85.298980>; + turn legrb5 to y-axis <0.000000> speed <55.189055>; + turn legrb5 to z-axis <0.000000> speed <329.698798>; - turn legl6 to x-axis <0.0> speed <78.794420>; - turn legl6 to y-axis <0.0> speed <187.467365>; - turn legl6 to z-axis <0.0> speed <172.221480>; - turn leglb6 to x-axis <0.0> speed <66.892444>; - turn leglb6 to y-axis <0.0> speed <44.553781>; - turn leglb6 to z-axis <0.0> speed <222.231423>; - turn legr6 to x-axis <0.0> speed <74.112964>; - turn legr6 to y-axis <0.0> speed <187.467374>; - turn legr6 to z-axis <0.0> speed <172.221479>; - turn legrb6 to x-axis <0.0> speed <85.298980>; - turn legrb6 to y-axis <0.0> speed <55.189055>; - turn legrb6 to z-axis <0.0> speed <329.698798>; + turn legl6 to x-axis <0.000000> speed <78.794420>; + turn legl6 to y-axis <0.000000> speed <187.467365>; + turn legl6 to z-axis <0.000000> speed <172.221480>; + turn leglb6 to x-axis <0.000000> speed <66.892444>; + turn leglb6 to y-axis <0.000000> speed <44.553781>; + turn leglb6 to z-axis <0.000000> speed <222.231423>; + turn legr6 to x-axis <0.000000> speed <74.112964>; + turn legr6 to y-axis <0.000000> speed <187.467374>; + turn legr6 to z-axis <0.000000> speed <172.221479>; + turn legrb6 to x-axis <0.000000> speed <85.298980>; + turn legrb6 to y-axis <0.000000> speed <55.189055>; + turn legrb6 to z-axis <0.000000> speed <329.698798>; start-script RestoreAfterDelay(); } // REMEMBER TO animspeed = 3 in Create() !! @@ -932,17 +934,17 @@ UnitSpeed(){ sleep 98; } } -StartMoving(reversing){ - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; - isMoving=TRUE; +StartMoving(){ + signal SIG_WALK; + set-signal-mask SIG_WALK; + bMoving=TRUE; start-script UnitSpeed(); start-script Steering(); start-script Walk(); } StopMoving(){ - signal SIGNAL_MOVE; - isMoving=FALSE; + signal SIG_WALK; + bMoving=FALSE; call-script StopWalking(); } @@ -951,7 +953,53 @@ StopMoving(){ //how 'heavy' the unit is, on a scale of 1-10 #define UNITSIZE 2 #define MAXTILT 100 -#include "../unit_hitbyweaponid_and_smoke.h" +HitByWeapon(anglex, anglez, damage) // angle[x|z] is always [-500;500], damage is multiplied by 100 +{ + var amount;//, speedz, speedx; + amount = damage / (100 * UNITSIZE); + if (amount < 3 ) return (0); + if (amount > MAXTILT) amount = MAXTILT; + //get PRINT(anglex, anglez, amount, damage); + //speedz = HITSPEED * get ABS(anglez) / 500; //nevermind this, the random error this produces actually looks better than the accurate version + turn BASEPIECE to z-axis (anglez * amount) / 100 speed HITSPEED; + turn BASEPIECE to x-axis <0> - (anglex * amount) /100 speed HITSPEED; + wait-for-turn BASEPIECE around z-axis; + wait-for-turn BASEPIECE around x-axis; + turn BASEPIECE to z-axis <0.000000> speed HITSPEED / 4; + turn BASEPIECE to x-axis <0.000000> speed HITSPEED / 4; +} +HitByWeaponId(anglex, anglez, weaponid, dmg) //weaponID is always 0,lasers and flamers give angles of 0 +{ + start-script HitByWeapon(dmg, anglez,anglex); //I dont know why param order must be switched, and this also runs a frame later :( + return (100); //return damage percent +} + +SmokeUnit(healthpercent, sleeptime, smoketype) +{ + while( get BUILD_PERCENT_LEFT ) + { + sleep 400; + } + while( TRUE ) + { + healthpercent = get HEALTH; + if( healthpercent < 66 ) + { + smoketype = 256 | 2; + if( Rand( 1, 66 ) < healthpercent ) + { + smoketype = 256 | 1; + } + emit-sfx smoketype from base1; + } + sleeptime = healthpercent * 50; + if( sleeptime < 200 ) + { + sleeptime = 200; + } + sleep sleeptime; + } +} Create() { @@ -975,7 +1023,11 @@ Create() fire_count_3 = 0; fire_count_4 = 0; animSpeed = 4; - SLEEP_UNTIL_UNITFINISHED; + while(get BUILD_PERCENT_LEFT) + { + sleep 250; + } + start-script SmokeUnit(); restore_delay = 5000; } @@ -995,55 +1047,55 @@ SetMaxReloadTime(t) FireWeapon1() { emit-sfx 1024 + 0 from flare1; - spin barrel1 around z-axis speed <900.0>; + spin barrel1 around z-axis speed <900.000000>; } AimWeapon1(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; - turn sleeve1 to y-axis heading speed <120.0>; - turn sleeve1 to x-axis <0.0> - pitch speed <65.0>; + signal SIG_AIM; + set-signal-mask SIG_AIM; + turn sleeve1 to y-axis heading speed <120.000000>; + turn sleeve1 to x-axis <0.000000> - pitch speed <65.000000>; wait-for-turn sleeve1 around y-axis; wait-for-turn sleeve1 around x-axis; return (1); } -QueryWeapon1(pieceIndex) +QueryWeapon1(piecenum) { - pieceIndex = flare1; + piecenum = flare1; } -AimFromWeapon1(pieceIndex) +AimFromWeapon1(piecenum) { - pieceIndex = sleeve1; + piecenum = sleeve1; } FireWeapon6() { emit-sfx 1024 + 0 from flare6; - spin barrel6 around z-axis speed <900.0>; + spin barrel6 around z-axis speed <900.000000>; } AimWeapon6(heading, pitch) { - signal SIGNAL_AIM6; - set-signal-mask SIGNAL_AIM6; - turn sleeve6 to y-axis heading - 3 * steerstore speed <120.0>; - turn sleeve6 to x-axis <0.0> - pitch speed <65.0>; + signal SIG_AIM_6; + set-signal-mask SIG_AIM_6; + turn sleeve6 to y-axis heading - 3 * steerstore speed <120.000000>; + turn sleeve6 to x-axis <0.000000> - pitch speed <65.000000>; wait-for-turn sleeve6 around y-axis; wait-for-turn sleeve6 around x-axis; return (1); } -QueryWeapon6(pieceIndex) +QueryWeapon6(piecenum) { - pieceIndex = flare6; + piecenum = flare6; } -AimFromWeapon6(pieceIndex) +AimFromWeapon6(piecenum) { - pieceIndex = sleeve6; + piecenum = sleeve6; } FireWeapon2() @@ -1055,21 +1107,20 @@ FireWeapon2() move barrel32 to z-axis [-7.5] speed [50]; move barrel42 to z-axis [-7.5] speed [50]; sleep 751; - move barrel12 to z-axis [0.0] speed [2.500000]; - move barrel22 to z-axis [0.0] speed [2.500000]; - move barrel32 to z-axis [0.0] speed [2.500000]; - move barrel42 to z-axis [0.0] speed [2.500000]; + move barrel12 to z-axis [0.000000] speed [2.500000]; + move barrel22 to z-axis [0.000000] speed [2.500000]; + move barrel32 to z-axis [0.000000] speed [2.500000]; + move barrel42 to z-axis [0.000000] speed [2.500000]; } AimWeapon2(heading, pitch) { - signal SIGNAL_AIM2; - turn aimy12 to y-axis heading speed <45.0>; - turn sleeve2 to x-axis <0.0> - pitch speed <70.0>; - - if ((wpn2_lasthead == 0xbadface) OR ABSOLUTE_GREATER_THAN(WRAPDELTA(heading - wpn2_lasthead), <2>)) + signal SIG_AIM_2; + turn aimy12 to y-axis heading speed <45.000000>; + turn sleeve2 to x-axis <0.000000> - pitch speed <70.000000>; + if (((get ABS(wpn2_lasthead - heading)) > 65536) OR(((get ABS(wpn2_lasthead - heading)) > <2>) AND ((get ABS(wpn2_lasthead - heading)) < 65536 - <2>))) { - wpn2_lasthead = 0xbadface; + wpn2_lasthead = 1000000; wait-for-turn aimy12 around y-axis; wait-for-turn sleeve2 around x-axis; } @@ -1078,14 +1129,14 @@ AimWeapon2(heading, pitch) return (1); } -QueryWeapon2(pieceIndex) +QueryWeapon2(piecenum) { - pieceIndex = flare2; + piecenum = flare2; } -AimFromWeapon2(pieceIndex) +AimFromWeapon2(piecenum) { - pieceIndex = sleeve2; + piecenum = sleeve2; } FireWeapon5() @@ -1097,21 +1148,20 @@ FireWeapon5() move barrel35 to z-axis [-7.5] speed [50]; move barrel45 to z-axis [-7.5] speed [50]; sleep 751; - move barrel15 to z-axis [0.0] speed [2.500000]; - move barrel25 to z-axis [0.0] speed [2.500000]; - move barrel35 to z-axis [0.0] speed [2.500000]; - move barrel45 to z-axis [0.0] speed [2.500000]; + move barrel15 to z-axis [0.000000] speed [2.500000]; + move barrel25 to z-axis [0.000000] speed [2.500000]; + move barrel35 to z-axis [0.000000] speed [2.500000]; + move barrel45 to z-axis [0.000000] speed [2.500000]; } AimWeapon5(heading, pitch) { - signal SIGNAL_AIM5; - turn aimy15 to y-axis heading - 3 * steerstore speed <45.0>; - turn sleeve5 to x-axis <0.0> - pitch speed <70.0>; - - if ((wpn5_lasthead == 0xbadface) OR ABSOLUTE_GREATER_THAN(WRAPDELTA(heading - wpn5_lasthead), <2>)) + signal SIG_AIM_5; + turn aimy15 to y-axis heading - 3 * steerstore speed <45.000000>; + turn sleeve5 to x-axis <0.000000> - pitch speed <70.000000>; + if (((get ABS(wpn5_lasthead - heading + 3 * steerstore)) > 65536) OR(((get ABS(wpn5_lasthead - heading + 3 * steerstore)) > <2>) AND ((get ABS(wpn5_lasthead - heading + 3 * steerstore)) < 65536 - <2>))) { - wpn5_lasthead = 0xbadface; + wpn5_lasthead = 1000000; wait-for-turn aimy15 around y-axis; wait-for-turn sleeve5 around x-axis; } @@ -1119,14 +1169,14 @@ AimWeapon5(heading, pitch) return (1); } -QueryWeapon5(pieceIndex) +QueryWeapon5(piecenum) { - pieceIndex = flare5; + piecenum = flare5; } -AimFromWeapon5(pieceIndex) +AimFromWeapon5(piecenum) { - pieceIndex = sleeve5; + piecenum = sleeve5; } FireWeapon3() @@ -1136,8 +1186,8 @@ FireWeapon3() Shot3(zero) { - signal SIGNAL_SHOOT1; - set-signal-mask SIGNAL_SHOOT1; + signal SIG_FIRE3; + set-signal-mask SIG_FIRE3; if(fire_count_3==0) { emit-sfx 1024+0 from flare13; @@ -1161,34 +1211,34 @@ Shot3(zero) AimWeapon3(heading, pitch) { - signal SIGNAL_AIM3; - set-signal-mask SIGNAL_AIM3; - turn turret3 to y-axis heading - steerstore speed <150.0>; - turn turret3 to x-axis 0 - pitch speed <150.0>; + signal SIG_AIM_3; + set-signal-mask SIG_AIM_3; + turn turret3 to y-axis heading - steerstore speed <150.000000>; + turn turret3 to x-axis 0 - pitch speed <150.000000>; wait-for-turn turret3 around y-axis; wait-for-turn turret3 around x-axis; return (1); } -QueryWeapon3(pieceIndex) +QueryWeapon3(piecenum) { if(fire_count_3==0) { - pieceIndex=flare13; + piecenum=flare13; } if(fire_count_3==1) { - pieceIndex=flare23; + piecenum=flare23; } if(fire_count_3==2) { - pieceIndex=flare33; + piecenum=flare33; } } -AimFromWeapon3(pieceIndex) +AimFromWeapon3(piecenum) { - pieceIndex = flare23; + piecenum = flare23; } FireWeapon4() @@ -1198,8 +1248,8 @@ FireWeapon4() Shot4(zero) { - signal SIGNAL_SHOOT2; - set-signal-mask SIGNAL_SHOOT2; + signal SIG_FIRE4; + set-signal-mask SIG_FIRE4; if(fire_count_4==0) { emit-sfx 1024+0 from flare14; @@ -1223,37 +1273,40 @@ Shot4(zero) AimWeapon4(heading, pitch) { - signal SIGNAL_AIM4; - set-signal-mask SIGNAL_AIM4; - turn turret4 to y-axis heading - 2 * steerstore speed <150.0>; - turn turret4 to x-axis 0 - pitch speed <150.0>; + signal SIG_AIM_4; + set-signal-mask SIG_AIM_4; + turn turret4 to y-axis heading - 2 * steerstore speed <150.000000>; + turn turret4 to x-axis 0 - pitch speed <150.000000>; wait-for-turn turret4 around y-axis; wait-for-turn turret4 around x-axis; return (1); } -QueryWeapon4(pieceIndex) +QueryWeapon4(piecenum) { if(fire_count_4==0) { - pieceIndex=flare14; + piecenum=flare14; } if(fire_count_4==1) { - pieceIndex=flare24; + piecenum=flare24; } if(fire_count_4==2) { - pieceIndex=flare34; + piecenum=flare34; } } -AimFromWeapon4(pieceIndex) +AimFromWeapon4(piecenum) { - pieceIndex = flare24; + piecenum = flare24; } - +SweetSpot(piecenum) +{ + piecenum = base1; +} Killed(severity, corpsetype) { @@ -1264,6 +1317,18 @@ Killed(severity, corpsetype) explode stand1 type BITMAPONLY | NOHEATCLOUD; explode barrel1 type FIRE | SMOKE | FALL | NOHEATCLOUD; explode flare1 type BITMAPONLY | NOHEATCLOUD; + //explode leg6a type BITMAPONLY | NOHEATCLOUD; + //explode leg6b type BITMAPONLY | NOHEATCLOUD; + //explode leg4a type BITMAPONLY | NOHEATCLOUD; + //explode leg4b type BITMAPONLY | NOHEATCLOUD; + //explode legl1 type BITMAPONLY | NOHEATCLOUD; + //explode leglb1 type BITMAPONLY | NOHEATCLOUD; + //explode leg1a type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg1b type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg3a type BITMAPONLY | NOHEATCLOUD; + //explode leg3b type BITMAPONLY | NOHEATCLOUD; + //explode legr1 type BITMAPONLY | NOHEATCLOUD; + //explode legrb1 type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } if( severity <= 50 ) @@ -1273,6 +1338,18 @@ Killed(severity, corpsetype) explode stand1 type FALL | NOHEATCLOUD; explode barrel1 type FALL | NOHEATCLOUD; explode flare1 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg6a type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg6b type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg4a type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg4b type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode legl1 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leglb1 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg1a type FALL | NOHEATCLOUD; + //explode leg1b type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg3a type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg3b type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode legr1 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode legrb1 type FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) @@ -1282,6 +1359,17 @@ Killed(severity, corpsetype) explode stand1 type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; explode barrel1 type SMOKE | FALL | NOHEATCLOUD; explode flare1 type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode leg6b type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode leg4a type SMOKE | FALL | NOHEATCLOUD; + //explode leg4b type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode legl1 type SMOKE | FALL | NOHEATCLOUD; + //explode leglb1 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg1a type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg1b type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg3a type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg3b type SMOKE | FALL | NOHEATCLOUD; + //explode legr1 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode legrb1 type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; @@ -1289,5 +1377,16 @@ Killed(severity, corpsetype) explode stand1 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode barrel1 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode flare1 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg6b type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode leg4a type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg4b type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode legl1 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leglb1 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg1a type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg1b type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode leg3a type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode leg3b type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode legr1 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode legrb1 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/legpede.cob b/scripts/Units/legpede.cob index 5535d96ed42f5df55e9ba8b3be93b9b97f6e94c3..80b667a5df31882c10a50f0e297bde8dc822c94d 100644 GIT binary patch literal 37985 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 literal 37150 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 diff --git a/scripts/Units/legphoenix.bos b/scripts/Units/legphoenix.bos index 1e1f2d4a2ff..f66d9177df9 100644 --- a/scripts/Units/legphoenix.bos +++ b/scripts/Units/legphoenix.bos @@ -1,5 +1,7 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, triparent, x, z, lthrust, mthrust, rthrust, ring1, ring2, ring3, ringlight, fireline, lineflare; static-var maxSpeed, currentSpeed, shotcount, timer, isfiring; @@ -23,7 +25,7 @@ static-var maxSpeed, currentSpeed, shotcount, timer, isfiring; #define UNITSIZE 1 #define MAXTILT 100 -#define SIGNAL_STRAFE 2 +#define SIG_STRAFE 2 @@ -60,7 +62,7 @@ DoBarrelRoll() { wait-for-turn base around z-axis; turn base to z-axis <120.027473> speed <180.043956>; wait-for-turn base around z-axis; - turn base to z-axis <0.0> speed <120.027473>; + turn base to z-axis <0.000000> speed <120.027473>; } lua_UnitScriptLight(lightIndex, count) @@ -112,8 +114,8 @@ Deactivate() StrafeFire() { - signal SIGNAL_STRAFE; - set-signal-mask SIGNAL_STRAFE; + signal SIG_STRAFE; + set-signal-mask SIG_STRAFE; //emit-sfx 1024 + 0 from lineflare; @@ -145,9 +147,9 @@ StrafeFire() { -FireWeapon1() { +FirePrimary() { - //signal SIGNAL_STRAFE; + //signal SIG_STRAFE; isfiring = 1; start-script StrafeFire(); @@ -168,25 +170,25 @@ Shot1(){ return 0; } -AimWeapon1() { +AimPrimary() { return 0; } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = fireline; + piecenum = fireline; } -QueryWeapon2(pieceIndex) +QuerySecondary(piecenum) { - pieceIndex = fireline; + piecenum = fireline; } -AimWeapon2(h,p) { +AimSecondary(h,p) { return (0); } /* -FireWeapon2() { - signal SIGNAL_STRAFE; +FireSecondary() { + signal SIG_STRAFE; //deny reaiming during firing? //barrel roll? isfiring = 1; @@ -211,7 +213,7 @@ Shot2() { //start-script StrafeFire(); } -AimWeapon2(heading, pitch) +AimSecondary(heading, pitch) { if (isfiring==0 OR TRUE) { @@ -225,14 +227,17 @@ AimWeapon2(heading, pitch) } } -QueryWeapon2(pieceIndex) +QuerySecondary(piecenum) { - pieceIndex = firecone; + piecenum = firecone; } //*/ - +SweetSpot(piecenum) +{ + piecenum = base; +} diff --git a/scripts/Units/legrail.bos b/scripts/Units/legrail.bos index 5c313ca33e0..05ed56d8e5e 100644 --- a/scripts/Units/legrail.bos +++ b/scripts/Units/legrail.bos @@ -1,12 +1,14 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, flare, turret, sleeve, barrel1, barrel2, barrel3, barrel4; -static-var restore_delay, isAiming, wpn1_lasthead; +static-var restore_delay, bAiming, wpn1_lasthead; // Signal definitions -#define SIGNAL_AIM1 256 +#define SIG_AIM 2 @@ -16,8 +18,8 @@ RockUnit(anglex, anglez) turn base to z-axis <0> - anglez speed <50.005495>; wait-for-turn base around z-axis; wait-for-turn base around x-axis; - turn base to z-axis <0.0> speed <20.0>; - turn base to x-axis <0.0> speed <20.0>; + turn base to z-axis <0.000000> speed <20.000000>; + turn base to x-axis <0.000000> speed <20.000000>; return (0); } @@ -33,13 +35,13 @@ Create() { hide flare; restore_delay = 3000; - isAiming = 0; + bAiming = 0; return (0); } -SetMaxReloadTime(reloadMS) +SetMaxReloadTime(Func_Var_1) { - restore_delay = reloadMS * 2; + restore_delay = Func_Var_1 * 2; return (0); } @@ -49,10 +51,10 @@ ExecuteRestoreAfterDelay() if (Stunned) { return (1); } - turn turret to y-axis <0.0> speed <50.005495>; - turn sleeve to x-axis <0.0> speed <50.005495>; - wpn1_lasthead = 0xbadface; - isAiming = 0; + turn turret to y-axis <0.000000> speed <50.005495>; + turn sleeve to x-axis <0.000000> speed <50.005495>; + wpn1_lasthead = 1000000; + bAiming = 0; } SetStunned(State) { @@ -63,20 +65,20 @@ SetStunned(State) } RestoreAfterDelay() { - set-signal-mask SIGNAL_AIM1; + set-signal-mask SIG_AIM; sleep restore_delay; start-script ExecuteRestoreAfterDelay(); } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - isAiming = TRUE; - signal SIGNAL_AIM1; + bAiming = TRUE; + signal SIG_AIM; turn turret to y-axis heading speed <90>; - turn sleeve to x-axis <0.0> - pitch speed <90>; - if ((wpn1_lasthead == 0xbadface) OR ABSOLUTE_GREATER_THAN(WRAPDELTA(heading - wpn1_lasthead), <2>)) + turn sleeve to x-axis <0.000000> - pitch speed <90>; + if (((get ABS(wpn1_lasthead - heading)) > 65536) OR(((get ABS(wpn1_lasthead - heading)) > <2>) AND ((get ABS(wpn1_lasthead - heading)) < 65536 - <2>))) { - wpn1_lasthead = 0xbadface; + wpn1_lasthead = 1000000; wait-for-turn turret around y-axis; wait-for-turn sleeve around x-axis; } @@ -85,33 +87,37 @@ AimWeapon1(heading, pitch) return (1); } -FireWeapon1() +FirePrimary() { emit-sfx 1024 + 0 from flare; - move barrel1 to z-axis [-3.0] speed [500.0]; - move barrel2 to z-axis [-3.0] speed [500.0]; - move barrel3 to z-axis [-3.0] speed [500.0]; - move barrel4 to z-axis [-3.0] speed [500.0]; + move barrel1 to z-axis [-3.000000] speed [500.000000]; + move barrel2 to z-axis [-3.000000] speed [500.000000]; + move barrel3 to z-axis [-3.000000] speed [500.000000]; + move barrel4 to z-axis [-3.000000] speed [500.000000]; wait-for-move barrel1 along z-axis; - move barrel1 to z-axis [0.0] speed [3.0]; - move barrel2 to z-axis [0.0] speed [3.0]; - move barrel3 to z-axis [0.0] speed [3.0]; - move barrel4 to z-axis [0.0] speed [3.0]; + move barrel1 to z-axis [0.000000] speed [3.000000]; + move barrel2 to z-axis [0.000000] speed [3.000000]; + move barrel3 to z-axis [0.000000] speed [3.000000]; + move barrel4 to z-axis [0.000000] speed [3.000000]; } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = flare; + piecenum = flare; //return (0); } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = flare; + piecenum = flare; //return (0); } - +SweetSpot(piecenum) +{ + piecenum = base; + //return (0); +} Killed(severity, corpsetype) { @@ -122,6 +128,7 @@ Killed(severity, corpsetype) explode turret type BITMAPONLY | NOHEATCLOUD; explode sleeve type BITMAPONLY | NOHEATCLOUD; explode barrel1 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } if( severity <= 50 ) @@ -131,6 +138,7 @@ Killed(severity, corpsetype) explode turret type FIRE | SMOKE | FALL | NOHEATCLOUD; explode sleeve type FALL | NOHEATCLOUD; explode barrel1 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) @@ -140,6 +148,7 @@ Killed(severity, corpsetype) explode turret type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode sleeve type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode barrel1 type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode flare type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; @@ -147,5 +156,6 @@ Killed(severity, corpsetype) explode turret type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode sleeve type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode barrel1 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/legrail.cob b/scripts/Units/legrail.cob index a5485e2dc6032b68321feaca57e7b7f505da9c69..6611db4b35219ba9364f90bfa7cf25d4cab31705 100644 GIT binary patch literal 2652 zcmcImJ!=$E6utYI_<;^~g2g}@QIR!K5>U{57!VcWZtQoGyx@@8Y?#by(#SS~jfI`1 zt@sD5?fnOWorRU4SSfnWn|C)eBdfbg77q8#JNM(BrsbRslxI%c|>Fm zcmQ0$^HW&y%N|kk%HFdnkuofO#h27#sT?gS`joivD~L_~P(}n&Z&plQy!uy*J0uQzO-)K73Z5u{H*MX+QL{x*8R)7)#$O_zL6Nb?+7o{h5y( z*E}1oMg7dB^@^O$<8s_sIBB(7f8=4xziB1U90N@+Yv{l3bs6l{Q=M22^f-;Szkb>a zU8R9}4Drv-oqc3A**rUG-`}t2??kq5a;l+tC$eYog!$1sV|5<9I~rTG(x^HP${IDh z{?{B4oBPikoHRAsT)guh=CK3x)49Ay3G&%l^Ig!h;#$u``{#MvbH;pXi06+vC|BeE0n0s2Eme0PkeOPJpeoPFs z`PiaQA67Y?g^#Tw$9uv(CZOdvoN-*+@3>p{-9BsC*@LGZ-kq%eY3@1wubqC@XaA$< zA4iAwMLmbz*LtR}FRm}1UAC`rv@;zwYY%pS?yN_dfySvFH(uwi@uSo%&Yk*;XQ27U z)pMBVG3*`}&tP25#q(ef=YUyY0aycK;4$zKIFEZX16&0b0sbF)4!i(f0dIkKzz5(H z@C~RP6*&c*0j7Ynz(wE+a1B@j?f|Pmv%9`^e>+TMF*ZSBq-B!3!Cuou-C$!i>=?PZ zXV!a(X`0=n8=Lvf#KcP`3ij#QN_yMdWzR08 vxz;0tj62;#Zii8XtZTupkG|Hi_&;#ym72@DyEgcG}q)XD`byIrYb_ delta 657 zcmaKpze_?<6vxl|ZAo~8;0-khEh171LJ$SnAQTP-{eURw2M-c5Ln&xUhj3`H;et~{ ze?Se<*xV*=ZH^5M1qKe`Qs2{i7bGI#!#UskJ?DGh#r8-e5;ut`3_{>SBVx_J6`QCE zZb1UNY2U|NnogSRX<07w`eMZty3k>2sIA^zn3gO)5gedAiW-9b*9y{w-*>*SGw1i8 z6$}S62N)roQ`Hi*ZHq@pm2D>dyNJ{HoJd|8vlex5B2%XO&^2P3oUz7oQ}B3=({!wH zWqpH6!uk2UeyyIMd;??bU!lr3E0J3b0(tPiKwjVrRN#4_e+5Q|_SlH}k1Wd%+fA!g zHu&yqZu+8>R#A1>^2LdzmBI6WEjHLdkXqz<*$pK(p3pdWSOmDBiGTVTw81;D9im|{ z4ko}fSO9Ba3+#e@Py{F74Ael~k+p%%$#rk%sCby7Y`)~FK9etGOT~hc%g0{nG!Sxh GF!K!rdse3a diff --git a/scripts/Units/legsco.bos b/scripts/Units/legsco.bos index 8ffe89fe18b..944ed60cf35 100644 --- a/scripts/Units/legsco.bos +++ b/scripts/Units/legsco.bos @@ -1,14 +1,16 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, flare, turret, sleeve, barrel, gun, turretl, barrell, flarel, turretr, barrelr, flarer; static-var restore_delay; // Signal definitions -#define SIGNAL_AIM1 256 -#define SIGNAL_AIM2 512 -#define SIGNAL_AIM3 1024 +#define SIG_AIM 2 +#define SIG_AIM_2 4 +#define SIG_AIM_3 8 @@ -27,9 +29,9 @@ Create() return (0); } -SetMaxReloadTime(reloadMS) +SetMaxReloadTime(Func_Var_1) { - restore_delay = reloadMS * 2; + restore_delay = Func_Var_1 * 2; return (0); } @@ -39,10 +41,10 @@ ExecuteRestoreAfterDelay() if (Stunned) { return (1); } - turn turret to y-axis <0.0> speed <40>; - turn gun to x-axis <0.0> speed <40>; - turn turretr to y-axis <0.0> speed <120>; - turn turretl to y-axis <0.0> speed <120>; + turn turret to y-axis <0.000000> speed <40>; + turn gun to x-axis <0.000000> speed <40>; + turn turretr to y-axis <0.000000> speed <120>; + turn turretl to y-axis <0.000000> speed <120>; } SetStunned(State) { @@ -57,90 +59,108 @@ RestoreAfterDelay() start-script ExecuteRestoreAfterDelay(); } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; turn turret to y-axis heading speed <35.005495>; - turn gun to x-axis <0.0> - pitch speed <35.005495>; + turn gun to x-axis <0.000000> - pitch speed <35.005495>; wait-for-turn turret around y-axis; wait-for-turn sleeve around x-axis; start-script RestoreAfterDelay(); return (1); } -FireWeapon1() +FirePrimary() { emit-sfx 1024 + 0 from flare; - move sleeve to z-axis [-3.0] speed [1250.0]; - move barrel to z-axis [-6.0] speed [1250.0]; + move sleeve to z-axis [-3.000000] speed [1250.000000]; + move barrel to z-axis [-6.000000] speed [1250.000000]; wait-for-move sleeve along z-axis; - move barrel to z-axis [0.0] speed [7.500000]; - move sleeve to z-axis [0.0] speed [7.500000]; + move barrel to z-axis [0.000000] speed [7.500000]; + move sleeve to z-axis [0.000000] speed [7.500000]; return (0); } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = gun; + piecenum = gun; return (0); } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = flare; + piecenum = flare; return (0); } -AimWeapon2(heading, pitch) +AimSecondary(heading, pitch) { - signal SIGNAL_AIM2; - set-signal-mask SIGNAL_AIM2; + signal SIG_AIM_2; + set-signal-mask SIG_AIM_2; turn turretl to y-axis heading speed <120>; - turn barrell to x-axis <0.0> - pitch speed <45>; + turn barrell to x-axis <0.000000> - pitch speed <45>; wait-for-turn turretl around y-axis; wait-for-turn barrell around x-axis; start-script RestoreAfterDelay(); return (1); } -AimFromWeapon2(pieceIndex) +FireSecondary() { - pieceIndex = barrell; + show flarel; + sleep 100; + hide flarel; +} + +AimFromSecondary(piecenum) +{ + piecenum = barrell; return (0); } -QueryWeapon2(pieceIndex) +QuerySecondary(piecenum) { - pieceIndex = flarel; + piecenum = flarel; return (0); } -AimWeapon3(heading, pitch) +AimTertiary(heading, pitch) { - signal SIGNAL_AIM3; - set-signal-mask SIGNAL_AIM3; + signal SIG_AIM_3; + set-signal-mask SIG_AIM_3; turn turretr to y-axis heading speed <120>; - turn barrelr to x-axis <0.0> - pitch speed <45>; + turn barrelr to x-axis <0.000000> - pitch speed <45>; wait-for-turn turretr around y-axis; wait-for-turn barrelr around x-axis; start-script RestoreAfterDelay(); return (1); } -AimFromWeapon3(pieceIndex) +FireTertiary() { - pieceIndex = barrelr; - return (0); + show flarer; + sleep 100; + hide flarer; } -QueryWeapon3(pieceIndex) +AimFromTertiary(piecenum) { - pieceIndex = flarer; + piecenum = barrelr; return (0); } +QueryTertiary(piecenum) +{ + piecenum = flarer; + return (0); +} +SweetSpot(piecenum) +{ + piecenum = base; + return (0); +} Killed(severity, corpsetype) { @@ -152,6 +172,7 @@ Killed(severity, corpsetype) explode gun type BITMAPONLY | NOHEATCLOUD; explode sleeve type BITMAPONLY | NOHEATCLOUD; explode barrel type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } if( severity <= 50 ) @@ -162,6 +183,7 @@ Killed(severity, corpsetype) explode gun type FALL | NOHEATCLOUD; explode sleeve type FIRE | SMOKE | FALL | NOHEATCLOUD; explode barrel type FALL | NOHEATCLOUD; + //explode flare type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) @@ -172,6 +194,7 @@ Killed(severity, corpsetype) explode gun type SMOKE | FALL | NOHEATCLOUD; explode sleeve type SMOKE | FALL | NOHEATCLOUD; explode barrel type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode flare type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; @@ -180,5 +203,6 @@ Killed(severity, corpsetype) explode gun type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode sleeve type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode barrel type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode flare type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/legsco.cob b/scripts/Units/legsco.cob index 23f59726a555fe6c87b630ab5fa134d1affd7164..ca568a3dd21a5e02f8199350d723e7b5dbb54c7c 100644 GIT binary patch literal 2922 zcmb7G&ubGw6n;(9#GkODhZYqBy=f0oFM=Wz+ak0|Y$_hSBu%Cg*d%4U(FQ!^=szHM z6v3mQ2f?fVfoJigy$BvWcu}bOeY5j6+cjI8&@VId-n?(#_vY=Uc@a4Y90P9VMDS-n zD~Cm%0Xx7PET@j(t0vwAy%>+W@esxdFXz33Az#jUG;_^SDg{qUIjn|u%U_=KM(xdG zU&LSV&N&{t1`jzm&m_1@;*pE~QNAhI`Ju0JcW)dd#c^q0A>m_uS_AXunQ^Yqr#z_@ zyk+k73N|NBlQrO8+N3<;W$j^|2*%kOZAO~yd=SmQOyho(E2W=4J(GKE-Aa?-6i;h` z+ly<)`J_z>U&uS}=H#%kuI2)V@`?w(?@Y_Vbf3%g@^Ay_0K(n@iF29-^UW)4t-! zb;*qbj8en%;uYg}VhJYh8DLbO_Ie4Xw2wWV#mQ%ZK9X~^cZTygx4rA;1NikU+T$KY z4U^g~ai7!n#%W`2tj$5RjgyCJWQQ}+rLKeCkH+yX_q#`}(f{^oU6Q<-59^}yft#~e)AeE=>6$3txcYcZR(-Pa(X(_+ zo|zS+^%*B7U8{qfldcu@9S87JEZ2eCz&+qG@Dg|hyahf2JHR*K2QY))n*}Zamw~GQ z|KBQZy5x4?e0~UZ4 zpbFdv8o-Uf)I%dx6W*$CuNuEwZ?3i4Mi#eCqZgW0vlVs&GrtjZhf&2v~>jYl_ delta 768 zcmaKpu}ea65XbL5pZZFXmq~;)xFsU-(xo;du|Wu`AqgQA91JWI8l=GpmmnJYMN^bG zM6}t~;D68_fzT2Zt^EUiPv60_p$8xCzQ4Qs-og8xIhjfrL}Y;=xYLMqME)LpL|-88 zCrUyW{Jq4U79zAz-Dhc*Zjq+C+NrYjL1;K8&$^0wj#b~24-vb|vw`QRvW=2@HdZeU zL&dza#SHw|i*0p#6j^tm$@24M!+M7kXg<$f_x{lyN8cc-fiI>^U$9tqmhkX@OL)k= zr0r-~B6V59bu395Z7fhRGm@1K9^^A`9S1r4+|lAFS{yG>S3xtLl|k-jqibhSj6{o( zXfa}~mL}|07s(@d0sGKm5p3g*EA zNP}gN0c&6#Y??GpJ4ni)3JyWjRN=|3)^?>-KiFTST(wb=e5G2;H4bVbH;yWerU=wV bX^O_$QsinI)<$jV@wT+PElqh94itU?O^I(6 diff --git a/scripts/Units/legshot.bos b/scripts/Units/legshot.bos index 328c20343ba..0e5ea364694 100644 --- a/scripts/Units/legshot.bos +++ b/scripts/Units/legshot.bos @@ -1,18 +1,20 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece torso, ruparm, shield, luparm, rgunflare, pelvis, rleg, rfoot, lleg, lfoot, lthigh, rthigh, lknee, rknee, shotgun, head, aimy1, aimx1; -static-var isMoving, isAiming, restore_delay, wpn1_lasthead, currentSpeed, animSpeed, movespeed, tdamage, shieldup; +static-var bMoving, bAiming, restore_delay, wpn1_lasthead, currentSpeed, animSpeed, movespeed, tdamage, shieldup; static-var maxSpeed, animFramesPerKeyframe; // Signal definitions -#define SIGNAL_AIM1 256 -#define SIGNAL_MOVE 1 +#define SIG_AIM 4 +#define SIG_WALK 2 Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations\corpyro_anim_walk.blend - //set-signal-mask SIGNAL_MOVE; - if (isMoving) { //Frame:3 + //set-signal-mask SIG_WALK; + if (bMoving) { //Frame:3 turn head to y-axis <-1.600000> speed <47.999996> / animSpeed; //delta=-1.60 turn lfoot to x-axis <-48.749789> speed <1641.513271> / animSpeed; //delta=54.72 turn lfoot to z-axis <-9.326835> speed <239.314880> / animSpeed; //delta=7.98 @@ -29,7 +31,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn luparm to x-axis <-3.464769> speed <103.943210> / animSpeed; //delta=3.46 turn luparm to z-axis <-2.136699> speed <64.101033> / animSpeed; //delta=2.14 turn luparm to y-axis <-0.672451> speed <20.173587> / animSpeed; //delta=-0.67 - turn pelvis to y-axis <2.0> speed <59.999993> / animSpeed; //delta=2.00 + turn pelvis to y-axis <2.000000> speed <59.999993> / animSpeed; //delta=2.00 turn rfoot to x-axis <39.649098> speed <999.894449> / animSpeed; //delta=-33.33 turn rfoot to z-axis <0.001560> speed <78.213426> / animSpeed; //delta=2.61 turn rfoot to y-axis <-0.003064> speed <8.863722> / animSpeed; //delta=-0.30 @@ -42,14 +44,14 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn rthigh to x-axis <-39.367308> speed <1147.956488> / animSpeed; //delta=38.27 turn rthigh to z-axis <5.921294> speed <66.365170> / animSpeed; //delta=2.21 turn rthigh to y-axis <3.266669> speed <207.394927> / animSpeed; //delta=6.91 - turn ruparm to x-axis <0.0> speed <935.999903> / animSpeed; //delta=31.20 - turn ruparm to z-axis <-0.0> speed <149.999983> / animSpeed; //delta=-5.00 - turn ruparm to y-axis <0.0> speed <563.999951> / animSpeed; //delta=18.80 + turn ruparm to x-axis <0.000000> speed <935.999903> / animSpeed; //delta=31.20 + turn ruparm to z-axis <-0.000000> speed <149.999983> / animSpeed; //delta=-5.00 + turn ruparm to y-axis <0.000000> speed <563.999951> / animSpeed; //delta=18.80 turn torso to z-axis <-4.999999> speed <149.999983> / animSpeed; //delta=5.00 sleep ((33*animSpeed) -1); } - while(isMoving) { - if (isMoving) { //Frame:6 + while(bMoving) { + if (bMoving) { //Frame:6 turn head to x-axis <10.999999> speed <329.999975> / animSpeed; //delta=-11.00 turn head to y-axis <0.900000> speed <74.999991> / animSpeed; //delta=2.50 turn lfoot to x-axis <-33.400107> speed <460.490466> / animSpeed; //delta=-15.35 @@ -68,7 +70,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn luparm to x-axis <-6.416999> speed <88.566899> / animSpeed; //delta=2.95 turn luparm to z-axis <-6.463313> speed <129.798416> / animSpeed; //delta=4.33 turn luparm to y-axis <1.173128> speed <55.367380> / animSpeed; //delta=1.85 - move pelvis to y-axis [-1.0] speed [30.0] / animSpeed; //delta=-1.00 + move pelvis to y-axis [-1.000000] speed [30.000000] / animSpeed; //delta=-1.00 turn pelvis to y-axis <-4.099999> speed <182.999978> / animSpeed; //delta=-6.10 turn rfoot to x-axis <6.271235> speed <1001.335883> / animSpeed; //delta=33.38 turn rknee to x-axis <-67.144960> speed <1469.333466> / animSpeed; //delta=48.98 @@ -81,17 +83,17 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn rthigh to z-axis <-6.683200> speed <378.134803> / animSpeed; //delta=12.60 turn rthigh to y-axis <6.671538> speed <102.146049> / animSpeed; //delta=3.40 turn ruparm to x-axis <0> speed <164.999988> / animSpeed; //delta=-5.50 - turn ruparm to z-axis <-1.0> speed <29.999997> / animSpeed; //delta=1.00 - turn ruparm to y-axis <-2.0> speed <59.999993> / animSpeed; //delta=-2.00 - turn torso to x-axis <7.500000> speed <225.0> / animSpeed; //delta=-7.50 + turn ruparm to z-axis <-1.000000> speed <29.999997> / animSpeed; //delta=1.00 + turn ruparm to y-axis <-2.000000> speed <59.999993> / animSpeed; //delta=-2.00 + turn torso to x-axis <7.500000> speed <225.000006> / animSpeed; //delta=-7.50 turn torso to z-axis <-2.500000> speed <74.999991> / animSpeed; //delta=-2.50 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:9 + if (bMoving) { //Frame:9 turn head to x-axis <5.500000> speed <164.999988> / animSpeed; //delta=5.50 turn head to y-axis <3.399999> speed <74.999988> / animSpeed; //delta=2.50 turn lfoot to x-axis <-52.065210> speed <559.953115> / animSpeed; //delta=18.67 - turn lfoot to z-axis <-0.0> speed <176.371788> / animSpeed; //delta=-5.88 + turn lfoot to z-axis <-0.000293> speed <176.371788> / animSpeed; //delta=-5.88 turn lfoot to y-axis <-0.002175> speed <215.970701> / animSpeed; //delta=7.20 turn lknee to x-axis <16.061243> speed <1149.802173> / animSpeed; //delta=-38.33 turn lknee to z-axis <1.038110> speed <90.149792> / animSpeed; //delta=-3.00 @@ -120,15 +122,15 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn rthigh to x-axis <-33.532387> speed <501.619645> / animSpeed; //delta=-16.72 turn rthigh to y-axis <4.664865> speed <60.200173> / animSpeed; //delta=-2.01 turn ruparm to x-axis <0> speed <164.999988> / animSpeed; //delta=-5.50 - turn ruparm to z-axis <-2.0> speed <29.999997> / animSpeed; //delta=1.00 - turn ruparm to y-axis <-4.0> speed <59.999993> / animSpeed; //delta=-2.00 - turn torso to x-axis <15.0> speed <225.0> / animSpeed; //delta=-7.50 - turn torso to z-axis <-0.0> speed <74.999991> / animSpeed; //delta=-2.50 + turn ruparm to z-axis <-2.000000> speed <29.999997> / animSpeed; //delta=1.00 + turn ruparm to y-axis <-4.000000> speed <59.999993> / animSpeed; //delta=-2.00 + turn torso to x-axis <15.000000> speed <225.000006> / animSpeed; //delta=-7.50 + turn torso to z-axis <-0.000000> speed <74.999991> / animSpeed; //delta=-2.50 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:12 - turn head to x-axis <-0.0> speed <164.999988> / animSpeed; //delta=5.50 - turn head to y-axis <2.0> speed <41.999990> / animSpeed; //delta=-1.40 + if (bMoving) { //Frame:12 + turn head to x-axis <-0.000000> speed <164.999988> / animSpeed; //delta=5.50 + turn head to y-axis <2.000000> speed <41.999990> / animSpeed; //delta=-1.40 turn lfoot to x-axis <22.251267> speed <2229.494332> / animSpeed; //delta=-74.32 turn lknee to x-axis <29.330215> speed <398.069179> / animSpeed; //delta=-13.27 turn lknee to z-axis <2.642943> speed <48.145006> / animSpeed; //delta=-1.60 @@ -157,16 +159,16 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn rthigh to x-axis <-0.309303> speed <996.692520> / animSpeed; //delta=-33.22 turn rthigh to z-axis <-10.645827> speed <121.374327> / animSpeed; //delta=4.05 turn rthigh to y-axis <4.917520> speed <7.579640> / animSpeed; //delta=0.25 - turn ruparm to x-axis <0.0> speed <164.999988> / animSpeed; //delta=5.50 - turn ruparm to z-axis <-3.0> speed <30.0> / animSpeed; //delta=1.00 + turn ruparm to x-axis <0.000000> speed <164.999988> / animSpeed; //delta=5.50 + turn ruparm to z-axis <-3.000000> speed <30.000003> / animSpeed; //delta=1.00 turn ruparm to y-axis <-3.333333> speed <19.999998> / animSpeed; //delta=0.67 - turn torso to x-axis <7.500000> speed <225.0> / animSpeed; //delta=7.50 - turn torso to z-axis <2.500000> speed <75.0> / animSpeed; //delta=-2.50 + turn torso to x-axis <7.500000> speed <225.000006> / animSpeed; //delta=7.50 + turn torso to z-axis <2.500000> speed <75.000004> / animSpeed; //delta=-2.50 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:15 + if (bMoving) { //Frame:15 turn head to x-axis <6.549999> speed <196.499983> / animSpeed; //delta=-6.55 - turn head to y-axis <0.600000> speed <42.0> / animSpeed; //delta=-1.40 + turn head to y-axis <0.600000> speed <42.000003> / animSpeed; //delta=-1.40 turn lfoot to x-axis <41.312058> speed <571.823711> / animSpeed; //delta=-19.06 turn lknee to x-axis <-19.428796> speed <1462.770337> / animSpeed; //delta=48.76 turn lknee to z-axis <1.980247> speed <19.880877> / animSpeed; //delta=0.66 @@ -181,8 +183,8 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn luparm to x-axis <6.926075> speed <329.236317> / animSpeed; //delta=-10.97 turn luparm to z-axis <3.941560> speed <167.119010> / animSpeed; //delta=-5.57 turn luparm to y-axis <1.233274> speed <90.212592> / animSpeed; //delta=3.01 - move pelvis to y-axis [0.0] speed [15.0] / animSpeed; //delta=0.50 - turn pelvis to y-axis <0.0> speed <40.999993> / animSpeed; //delta=1.37 + move pelvis to y-axis [0.000000] speed [15.000000] / animSpeed; //delta=0.50 + turn pelvis to y-axis <0.000000> speed <40.999993> / animSpeed; //delta=1.37 turn rfoot to x-axis <-54.506518> speed <1675.434192> / animSpeed; //delta=55.85 turn rfoot to z-axis <11.663531> speed <56.345885> / animSpeed; //delta=1.88 turn rfoot to y-axis <9.369193> speed <540.148828> / animSpeed; //delta=18.00 @@ -195,14 +197,14 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn rthigh to x-axis <38.705705> speed <1170.450245> / animSpeed; //delta=-39.02 turn rthigh to z-axis <-11.037324> speed <11.744912> / animSpeed; //delta=0.39 turn rthigh to y-axis <3.353122> speed <46.931942> / animSpeed; //delta=-1.56 - turn ruparm to x-axis <-0.0> speed <164.999988> / animSpeed; //delta=5.50 - turn ruparm to z-axis <-4.0> speed <30.0> / animSpeed; //delta=1.00 + turn ruparm to x-axis <-0.000000> speed <164.999988> / animSpeed; //delta=5.50 + turn ruparm to z-axis <-4.000000> speed <30.000003> / animSpeed; //delta=1.00 turn ruparm to y-axis <-2.666666> speed <19.999998> / animSpeed; //delta=0.67 - turn torso to x-axis <-0.0> speed <225.0> / animSpeed; //delta=7.50 - turn torso to z-axis <5.0> speed <74.999991> / animSpeed; //delta=-2.50 + turn torso to x-axis <-0.000000> speed <225.000006> / animSpeed; //delta=7.50 + turn torso to z-axis <5.000000> speed <74.999991> / animSpeed; //delta=-2.50 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:18 + if (bMoving) { //Frame:18 turn head to x-axis <13.099999> speed <196.499983> / animSpeed; //delta=-6.55 turn head to y-axis <2.050000> speed <43.500002> / animSpeed; //delta=1.45 turn lfoot to x-axis <-2.242562> speed <1306.638584> / animSpeed; //delta=43.55 @@ -219,7 +221,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn luparm to x-axis <14.118349> speed <215.768199> / animSpeed; //delta=-7.19 turn luparm to z-axis <3.721865> speed <6.590829> / animSpeed; //delta=0.22 turn luparm to y-axis <6.604783> speed <161.145280> / animSpeed; //delta=5.37 - move pelvis to y-axis [-1.0] speed [30.0] / animSpeed; //delta=-1.00 + move pelvis to y-axis [-1.000000] speed [30.000000] / animSpeed; //delta=-1.00 turn pelvis to y-axis <-4.700000> speed <140.999988> / animSpeed; //delta=-4.70 turn rfoot to x-axis <-35.327285> speed <575.376980> / animSpeed; //delta=-19.18 turn rfoot to z-axis <-0.029143> speed <350.780214> / animSpeed; //delta=11.69 @@ -234,13 +236,13 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn rthigh to z-axis <19.318369> speed <910.670795> / animSpeed; //delta=-30.36 turn rthigh to y-axis <-23.269061> speed <798.665486> / animSpeed; //delta=-26.62 turn ruparm to x-axis <6.549999> speed <196.499983> / animSpeed; //delta=-6.55 - turn ruparm to z-axis <-5.0> speed <29.999997> / animSpeed; //delta=1.00 - turn ruparm to y-axis <-2.0> speed <19.999998> / animSpeed; //delta=0.67 - turn torso to x-axis <6.0> speed <180.0> / animSpeed; //delta=-6.00 - turn torso to z-axis <2.500000> speed <75.0> / animSpeed; //delta=2.50 + turn ruparm to z-axis <-5.000000> speed <29.999997> / animSpeed; //delta=1.00 + turn ruparm to y-axis <-2.000000> speed <19.999998> / animSpeed; //delta=0.67 + turn torso to x-axis <6.000000> speed <180.000005> / animSpeed; //delta=-6.00 + turn torso to z-axis <2.500000> speed <75.000004> / animSpeed; //delta=2.50 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:21 + if (bMoving) { //Frame:21 turn head to x-axis <6.549999> speed <196.499983> / animSpeed; //delta=6.55 turn head to y-axis <3.499999> speed <43.499989> / animSpeed; //delta=1.45 turn lfoot to x-axis <51.057355> speed <1598.997489> / animSpeed; //delta=-53.30 @@ -271,14 +273,14 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn rthigh to z-axis <5.127995> speed <425.711211> / animSpeed; //delta=14.19 turn rthigh to y-axis <-9.918612> speed <400.513473> / animSpeed; //delta=13.35 turn ruparm to x-axis <13.099999> speed <196.499983> / animSpeed; //delta=-6.55 - turn ruparm to z-axis <-6.0> speed <29.999997> / animSpeed; //delta=1.00 + turn ruparm to z-axis <-6.000000> speed <29.999997> / animSpeed; //delta=1.00 turn ruparm to y-axis <-1.333333> speed <19.999998> / animSpeed; //delta=0.67 - turn torso to x-axis <12.0> speed <180.0> / animSpeed; //delta=-6.00 - turn torso to z-axis <-0.0> speed <74.999998> / animSpeed; //delta=2.50 + turn torso to x-axis <12.000000> speed <180.000005> / animSpeed; //delta=-6.00 + turn torso to z-axis <-0.000000> speed <74.999998> / animSpeed; //delta=2.50 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:24 - turn head to x-axis <-0.0> speed <196.499983> / animSpeed; //delta=6.55 + if (bMoving) { //Frame:24 + turn head to x-axis <-0.000000> speed <196.499983> / animSpeed; //delta=6.55 turn head to y-axis <0.950000> speed <76.499991> / animSpeed; //delta=-2.55 turn lfoot to x-axis <0.766450> speed <1508.727148> / animSpeed; //delta=50.29 turn lfoot to z-axis <-13.539199> speed <47.427980> / animSpeed; //delta=-1.58 @@ -308,13 +310,13 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn rthigh to z-axis <1.971503> speed <94.694776> / animSpeed; //delta=3.16 turn rthigh to y-axis <-1.075169> speed <265.303288> / animSpeed; //delta=8.84 turn ruparm to x-axis <6.549999> speed <196.499983> / animSpeed; //delta=6.55 - turn ruparm to z-axis <-3.0> speed <89.999996> / animSpeed; //delta=-3.00 + turn ruparm to z-axis <-3.000000> speed <89.999996> / animSpeed; //delta=-3.00 turn ruparm to y-axis <-0.666667> speed <19.999998> / animSpeed; //delta=0.67 - turn torso to x-axis <6.0> speed <180.0> / animSpeed; //delta=6.00 + turn torso to x-axis <6.000000> speed <180.000005> / animSpeed; //delta=6.00 turn torso to z-axis <-2.500000> speed <74.999985> / animSpeed; //delta=2.50 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:27 + if (bMoving) { //Frame:27 turn head to y-axis <-1.600000> speed <76.499987> / animSpeed; //delta=-2.55 turn lfoot to x-axis <-48.749789> speed <1485.487150> / animSpeed; //delta=49.52 turn lfoot to z-axis <-9.326835> speed <126.370914> / animSpeed; //delta=-4.21 @@ -332,8 +334,8 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn luparm to x-axis <-3.464769> speed <239.497499> / animSpeed; //delta=7.98 turn luparm to z-axis <-2.136699> speed <95.222891> / animSpeed; //delta=3.17 turn luparm to y-axis <-0.672451> speed <92.964158> / animSpeed; //delta=-3.10 - move pelvis to y-axis [0.0] speed [15.0] / animSpeed; //delta=0.50 - turn pelvis to y-axis <2.0> speed <44.999995> / animSpeed; //delta=1.50 + move pelvis to y-axis [0.000000] speed [15.000000] / animSpeed; //delta=0.50 + turn pelvis to y-axis <2.000000> speed <44.999995> / animSpeed; //delta=1.50 turn rfoot to x-axis <39.649098> speed <449.533032> / animSpeed; //delta=-14.98 turn rknee to x-axis <-18.167178> speed <1345.894445> / animSpeed; //delta=44.86 turn rknee to z-axis <-1.360705> speed <86.810169> / animSpeed; //delta=-2.89 @@ -344,20 +346,20 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn rthigh to x-axis <-39.367308> speed <1305.522763> / animSpeed; //delta=43.52 turn rthigh to z-axis <5.921294> speed <118.493737> / animSpeed; //delta=-3.95 turn rthigh to y-axis <3.266669> speed <130.255150> / animSpeed; //delta=4.34 - turn ruparm to x-axis <-0.0> speed <196.499983> / animSpeed; //delta=6.55 - turn ruparm to z-axis <-0.0> speed <89.999996> / animSpeed; //delta=-3.00 - turn ruparm to y-axis <0.0> speed <19.999998> / animSpeed; //delta=0.67 - turn torso to x-axis <-0.0> speed <180.0> / animSpeed; //delta=6.00 + turn ruparm to x-axis <-0.000000> speed <196.499983> / animSpeed; //delta=6.55 + turn ruparm to z-axis <-0.000000> speed <89.999996> / animSpeed; //delta=-3.00 + turn ruparm to y-axis <0.000000> speed <19.999998> / animSpeed; //delta=0.67 + turn torso to x-axis <-0.000000> speed <180.000005> / animSpeed; //delta=6.00 turn torso to z-axis <-4.999999> speed <74.999991> / animSpeed; //delta=2.50 sleep ((33*animSpeed) -1); } } } -// Call this from StopMoving()! +// Call this from MotionControl()! StopWalking() { - move pelvis to y-axis [0.0] speed [10.0]; - turn head to x-axis <0.0> speed <109.999992>; - turn head to y-axis <0.0> speed <25.499997>; + move pelvis to y-axis [0.000000] speed [10.000000]; + turn head to x-axis <0.000000> speed <109.999992>; + turn head to y-axis <0.000000> speed <25.499997>; turn lfoot to x-axis <5.967320> speed <743.164777>; turn lfoot to y-axis <-0.304286> speed <226.293665>; turn lfoot to z-axis <-1.349672> speed <151.690795>; @@ -367,14 +369,14 @@ StopWalking() { turn lleg to x-axis <0.558221> speed <936.064709>; turn lleg to y-axis <0.400933> speed <97.581417>; turn lleg to z-axis <-0.289633> speed <66.878578>; - turn shotgun to x-axis <0.0> speed <149.673487>; + turn shotgun to x-axis <0.000000> speed <149.673487>; turn lthigh to x-axis <-0.985280> speed <445.655282>; turn lthigh to y-axis <3.249236> speed <109.185180>; turn lthigh to z-axis <-6.927683> speed <142.217956>; - turn luparm to x-axis <0.0> speed <123.364567>; - turn luparm to y-axis <0.0> speed <55.689328>; - turn luparm to z-axis <0.0> speed <97.703016>; - turn pelvis to y-axis <0.0> speed <60.999993>; + turn luparm to x-axis <0.000000> speed <123.364567>; + turn luparm to y-axis <0.000000> speed <55.689328>; + turn luparm to z-axis <0.000000> speed <97.703016>; + turn pelvis to y-axis <0.000000> speed <60.999993>; turn rfoot to x-axis <6.319283> speed <759.123514>; turn rfoot to y-axis <0.292394> speed <232.501057>; turn rfoot to z-axis <2.608675> speed <156.243011>; @@ -390,8 +392,8 @@ StopWalking() { turn ruparm to x-axis <0> speed <311.999968>; turn ruparm to y-axis <0> speed <187.999984>; turn ruparm to z-axis <0> speed <49.999994>; - turn torso to x-axis <0.0> speed <75.0>; - turn torso to z-axis <0.0> speed <49.999994>; + turn torso to x-axis <0.000000> speed <75.000002>; + turn torso to z-axis <0.000000> speed <49.999994>; } // REMEMBER TO animspeed = 3 in Create() !! UnitSpeed(){ @@ -416,7 +418,7 @@ UnitSpeed(){ #define UNITSIZE 3 #define MAXTILT 100 -//#include "../unit_hitbyweaponid_and_smoke.h" +//#include "unit_hitbyweaponid_and_smoke.h" HitByWeaponId(anglex, anglez, weaponid, dmg) // angle[x|z] is always [-500;500], damage is multiplied by 100 { @@ -436,8 +438,8 @@ Create() hide rgunflare; hide aimx1; hide aimy1; - isMoving = FALSE; - isAiming = FALSE; + bMoving = FALSE; + bAiming = FALSE; currentSpeed = 200; moveSpeed = get MAX_SPEED; animSpeed = 9; @@ -445,26 +447,33 @@ Create() tdamage = 0; shieldup = 1; set ARMORED to 1; +} + +SetMaxReloadTime(Func_Var_1) +{ restore_delay = 10000; } -StartMoving(reversing) +StartMoving() { - isMoving = TRUE; - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; + bMoving = TRUE; + signal SIG_WALK; + set-signal-mask SIG_WALK; start-script UnitSpeed(); start-script Walk(); } StopMoving() { - isMoving = FALSE; - signal SIGNAL_MOVE; + bMoving = FALSE; + signal SIG_WALK; start-script StopWalking(); } - +SweetSpot(piecenum) +{ + piecenum = torso; +} static-var Stunned; ExecuteRestoreAfterDelay() @@ -472,15 +481,15 @@ ExecuteRestoreAfterDelay() if (Stunned) { return (1); } - turn aimy1 to y-axis <0.0> speed <90.0>; - turn aimx1 to x-axis <0.0> speed <45.0>; + turn aimy1 to y-axis <0.000000> speed <90.000000>; + turn aimx1 to x-axis <0.000000> speed <45.000000>; wait-for-turn aimy1 around y-axis; wait-for-turn aimx1 around x-axis; show shield; tdamage = 0; set ARMORED to 1; shieldup = 1; - isAiming = FALSE; + bAiming = FALSE; } SetStunned(State) { @@ -491,27 +500,27 @@ SetStunned(State) } RestoreAfterDelay() { - set-signal-mask SIGNAL_AIM1; + set-signal-mask SIG_AIM; sleep restore_delay; start-script ExecuteRestoreAfterDelay(); } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = torso; + piecenum = torso; } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = shotgun; + piecenum = shotgun; } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - isAiming = TRUE; - turn aimy1 to y-axis heading speed <200.0>; - turn aimx1 to x-axis <0.0> - pitch speed <90.0>; + signal SIG_AIM; + bAiming = TRUE; + turn aimy1 to y-axis heading speed <200.000000>; + turn aimx1 to x-axis <0.000000> - pitch speed <90.000000>; //wait-for-turn aimy1 around y-axis; start-script RestoreAfterDelay(); return (1); @@ -533,8 +542,15 @@ Killed(severity, corpsetype) corpsetype = 1 ; explode pelvis type BITMAPONLY | NOHEATCLOUD; explode rthigh type BITMAPONLY | NOHEATCLOUD; + //explode rleg type BITMAPONLY | NOHEATCLOUD; + //explode rfoot type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lthigh type BITMAPONLY | NOHEATCLOUD; + //explode lleg type BITMAPONLY | NOHEATCLOUD; + //explode lfoot type BITMAPONLY | NOHEATCLOUD; explode torso type BITMAPONLY | NOHEATCLOUD; + //explode luparm type FIRE | SMOKE | FALL | NOHEATCLOUD; explode ruparm type BITMAPONLY | NOHEATCLOUD; + //explode flare type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } if( severity <= 50 ) @@ -542,8 +558,15 @@ Killed(severity, corpsetype) corpsetype = 2 ; explode pelvis type FIRE | SMOKE | FALL | NOHEATCLOUD; explode rthigh type FALL | NOHEATCLOUD; + //explode rleg type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rfoot type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lthigh type FALL | NOHEATCLOUD; + //explode lleg type FALL | NOHEATCLOUD; + //explode lfoot type FIRE | SMOKE | FALL | NOHEATCLOUD; explode torso type FALL | NOHEATCLOUD; + //explode luparm type FIRE | SMOKE | FALL | NOHEATCLOUD; explode ruparm type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare type FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) @@ -551,15 +574,28 @@ Killed(severity, corpsetype) corpsetype = 3 ; explode pelvis type FIRE | SMOKE | FALL | NOHEATCLOUD; explode rthigh type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rleg type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rfoot type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lthigh type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lleg type SMOKE | FALL | NOHEATCLOUD; + //explode lfoot type FIRE | SMOKE | FALL | NOHEATCLOUD; explode torso type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode luparm type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; explode ruparm type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; explode pelvis type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode rthigh type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rleg type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode rfoot type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lthigh type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode lleg type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode lfoot type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode torso type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode luparm type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode ruparm type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/legshot.cob b/scripts/Units/legshot.cob index 9a3505ffc3b4289cf359f646e0f1f226fd0af828..2c5c672238003521ccb15ea55cc4cdac460cb3c8 100644 GIT binary patch literal 17137 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 K6_4EU-Twly>LJ|# diff --git a/scripts/Units/legsrail.bos b/scripts/Units/legsrail.bos index 1cc08e91c3b..86b0a73042c 100644 --- a/scripts/Units/legsrail.bos +++ b/scripts/Units/legsrail.bos @@ -1,15 +1,17 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, turret, flare, barrel1, barrel2, barrel3, barrel4, sleeve, rfhip, rfthigh, rfleg, rffoot, lfhip, lfthigh, lfleg, lffoot, lbhip, lbthigh, lbleg, lbankle, rbhip, rbthigh, rbleg, rbankle, aimy1; -static-var isMoving, isAiming, oldHeading, bSteering, wpn1_lasthead, speedmult; +static-var bMoving, bAiming, Static_Var_3, oldHeading, bSteering, wpn1_lasthead, speedmult; // Signal definitions -#define SIGNAL_MOVE 1 -#define SIGNAL_AIM1 256 +#define SIG_WALK 2 +#define SIG_AIM 4 // Generated for N:\animations\armvang_anim_walk_2legs_v2.blend // Using https://github.com/Beherith/Skeletor_S3O @@ -19,8 +21,8 @@ static-var isMoving, isAiming, oldHeading, bSteering, wpn1_lasthead, speedmult; static-var animSpeed, maxSpeed, animFramesPerKeyframe; Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations\armvang_anim_walk_2legs_v2.blend - set-signal-mask SIGNAL_MOVE; - if (isMoving) { //Frame:6 + set-signal-mask SIG_WALK; + if (bMoving) { //Frame:6 move base to y-axis [-0.688000] speed [20.639999] / animSpeed; //delta=-0.69 turn base to x-axis <0.688000> speed <20.639998> / animSpeed; //delta=-0.69 turn base to y-axis <-1.675000> speed <50.249989> / animSpeed; //delta=-1.67 @@ -44,11 +46,11 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn turret to y-axis <1.675000> speed <50.249989> / animSpeed; //delta=1.67 sleep ((33*animSpeed) -1); } - while(isMoving) { - if (isMoving) { //Frame:9 + while(bMoving) { + if (bMoving) { //Frame:9 move base to y-axis [0.056000] speed [22.319999] / animSpeed; //delta=0.74 turn base to x-axis <-0.056000> speed <22.320001> / animSpeed; //delta=0.74 - turn base to y-axis <-1.274999> speed <12.0> / animSpeed; //delta=0.40 + turn base to y-axis <-1.274999> speed <12.000010> / animSpeed; //delta=0.40 turn lbankle to x-axis <-2.959815> speed <227.410145> / animSpeed; //delta=-7.58 turn lbhip to y-axis <-39.353241> speed <221.798611> / animSpeed; //delta=-7.39 turn lbleg to x-axis <-9.521305> speed <626.830972> / animSpeed; //delta=20.89 @@ -69,7 +71,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn turret to y-axis <1.529005> speed <4.379849> / animSpeed; //delta=-0.15 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:12 + if (bMoving) { //Frame:12 move base to y-axis [0.944000] speed [26.640000] / animSpeed; //delta=0.89 turn base to x-axis <-0.944000> speed <26.639998> / animSpeed; //delta=0.89 turn base to y-axis <-0.537499> speed <22.125001> / animSpeed; //delta=0.74 @@ -93,7 +95,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn turret to y-axis <1.194753> speed <10.027555> / animSpeed; //delta=-0.33 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:15 + if (bMoving) { //Frame:15 move base to y-axis [1.688000] speed [22.320002] / animSpeed; //delta=0.74 turn base to x-axis <-1.688000> speed <22.319997> / animSpeed; //delta=0.74 turn base to y-axis <0.800000> speed <40.124991> / animSpeed; //delta=1.34 @@ -117,10 +119,10 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn turret to y-axis <-0.306625> speed <45.041341> / animSpeed; //delta=-1.50 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:18 - move base to y-axis [2.0] speed [9.359998] / animSpeed; //delta=0.31 - turn base to x-axis <-2.0> speed <9.360002> / animSpeed; //delta=0.31 - turn base to y-axis <3.0> speed <65.999990> / animSpeed; //delta=2.20 + if (bMoving) { //Frame:18 + move base to y-axis [2.000000] speed [9.359998] / animSpeed; //delta=0.31 + turn base to x-axis <-2.000000> speed <9.360002> / animSpeed; //delta=0.31 + turn base to y-axis <3.000000> speed <65.999990> / animSpeed; //delta=2.20 turn lbankle to x-axis <30.845397> speed <525.767395> / animSpeed; //delta=-17.53 turn lbhip to y-axis <-89.575650> speed <577.413128> / animSpeed; //delta=-19.25 turn lbthigh to x-axis <5.863149> speed <351.381306> / animSpeed; //delta=11.71 @@ -136,13 +138,13 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn rfhip to y-axis <-44.345847> speed <56.4> / animSpeed; //delta=1.58 turn rfleg to x-axis <-14.057728> speed <469.364703> / animSpeed; //delta=15.65 turn rfthigh to x-axis <9.757757> speed <417.608767> / animSpeed; //delta=-13.92 - turn turret to y-axis <-3.0> speed <80.801246> / animSpeed; //delta=-2.69 + turn turret to y-axis <-3.000000> speed <80.801246> / animSpeed; //delta=-2.69 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:21 - move base to y-axis [0.500000] speed [45.0] / animSpeed; //delta=-1.50 - turn base to x-axis <-0.500000> speed <45.0> / animSpeed; //delta=-1.50 - turn base to y-axis <5.0> speed <59.999993> / animSpeed; //delta=2.00 + if (bMoving) { //Frame:21 + move base to y-axis [0.500000] speed [45.000000] / animSpeed; //delta=-1.50 + turn base to x-axis <-0.500000> speed <45.000000> / animSpeed; //delta=-1.50 + turn base to y-axis <5.000000> speed <59.999993> / animSpeed; //delta=2.00 turn lbankle to x-axis <32.222964> speed <41.327016> / animSpeed; //delta=-1.38 turn lbhip to y-axis <-99.992631> speed <312.509432> / animSpeed; //delta=-10.42 turn lbleg to x-axis <-36.365471> speed <12.314626> / animSpeed; //delta=-0.41 @@ -159,14 +161,14 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn rfhip to y-axis <-45.36> speed <30.432> / animSpeed; //delta=-0.85 turn rfleg to x-axis <-19.628039> speed <167.109338> / animSpeed; //delta=5.57 turn rfthigh to x-axis <10.402458> speed <19.341047> / animSpeed; //delta=-0.64 - turn turret to x-axis <-0.500000> speed <45.0> / animSpeed; //delta=1.50 - turn turret to y-axis <-5.0> speed <59.999993> / animSpeed; //delta=-2.00 + turn turret to x-axis <-0.500000> speed <45.000000> / animSpeed; //delta=1.50 + turn turret to y-axis <-5.000000> speed <59.999993> / animSpeed; //delta=-2.00 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:24 - move base to y-axis [-0.500000] speed [30.0] / animSpeed; //delta=-1.00 - turn base to x-axis <0.500000> speed <30.0> / animSpeed; //delta=-1.00 - turn base to y-axis <3.0> speed <59.999993> / animSpeed; //delta=-2.00 + if (bMoving) { //Frame:24 + move base to y-axis [-0.500000] speed [30.000000] / animSpeed; //delta=-1.00 + turn base to x-axis <0.500000> speed <30.000005> / animSpeed; //delta=-1.00 + turn base to y-axis <3.000000> speed <59.999993> / animSpeed; //delta=-2.00 turn lbankle to x-axis <27.483083> speed <142.196445> / animSpeed; //delta=4.74 turn lbhip to y-axis <-84.427360> speed <466.958109> / animSpeed; //delta=15.57 turn lbleg to x-axis <-37.339944> speed <29.234200> / animSpeed; //delta=0.97 @@ -183,14 +185,14 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn rfhip to y-axis <-45.972> speed <18.4668> / animSpeed; //delta=-0.51 turn rfleg to x-axis <-7.262835> speed <370.956137> / animSpeed; //delta=-12.37 turn rfthigh to x-axis <1.067874> speed <280.037530> / animSpeed; //delta=9.33 - turn turret to x-axis <-1.500000> speed <30.0> / animSpeed; //delta=1.00 - turn turret to y-axis <-3.0> speed <59.999993> / animSpeed; //delta=2.00 + turn turret to x-axis <-1.500000> speed <30.000008> / animSpeed; //delta=1.00 + turn turret to y-axis <-3.000000> speed <59.999993> / animSpeed; //delta=2.00 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:27 - move base to y-axis [-1.0] speed [15.0] / animSpeed; //delta=-0.50 - turn base to x-axis <1.0> speed <14.999995> / animSpeed; //delta=-0.50 - turn base to y-axis <2.0> speed <30.0> / animSpeed; //delta=-1.00 + if (bMoving) { //Frame:27 + move base to y-axis [-1.000000] speed [15.000000] / animSpeed; //delta=-0.50 + turn base to x-axis <1.000000> speed <14.999995> / animSpeed; //delta=-0.50 + turn base to y-axis <2.000000> speed <30.000003> / animSpeed; //delta=-1.00 turn lbankle to x-axis <22.482131> speed <150.028554> / animSpeed; //delta=5.00 turn lbhip to y-axis <-71.144377> speed <398.489492> / animSpeed; //delta=13.28 turn lbleg to x-axis <-34.562687> speed <83.317721> / animSpeed; //delta=-2.78 @@ -207,11 +209,11 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn rfhip to y-axis <-48.792> speed <84.38> / animSpeed; //delta=-2.34 turn rfleg to x-axis <2.869435> speed <303.968079> / animSpeed; //delta=-10.13 turn rfthigh to x-axis <-5.290615> speed <190.754671> / animSpeed; //delta=6.36 - turn turret to x-axis <-2.0> speed <14.999992> / animSpeed; //delta=0.50 - turn turret to y-axis <-2.0> speed <30.0> / animSpeed; //delta=1.00 + turn turret to x-axis <-2.000000> speed <14.999992> / animSpeed; //delta=0.50 + turn turret to y-axis <-2.000000> speed <30.000003> / animSpeed; //delta=1.00 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:30 + if (bMoving) { //Frame:30 move base to y-axis [-0.688000] speed [9.360001] / animSpeed; //delta=0.31 turn base to x-axis <0.688000> speed <9.360002> / animSpeed; //delta=0.31 turn base to y-axis <1.675000> speed <9.750011> / animSpeed; //delta=-0.33 @@ -235,10 +237,10 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn turret to y-axis <-1.675000> speed <9.750011> / animSpeed; //delta=0.33 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:33 + if (bMoving) { //Frame:33 move base to y-axis [0.056000] speed [22.319999] / animSpeed; //delta=0.74 turn base to x-axis <-0.056000> speed <22.320001> / animSpeed; //delta=0.74 - turn base to y-axis <1.274999> speed <12.0> / animSpeed; //delta=-0.40 + turn base to y-axis <1.274999> speed <12.000010> / animSpeed; //delta=-0.40 turn lbankle to x-axis <14.192582> speed <130.215482> / animSpeed; //delta=4.34 turn lbhip to y-axis <-52.007266> speed <260.836933> / animSpeed; //delta=8.69 turn lbleg to x-axis <-20.561584> speed <241.139453> / animSpeed; //delta=-8.04 @@ -259,7 +261,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn turret to y-axis <-1.529005> speed <4.379849> / animSpeed; //delta=0.15 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:36 + if (bMoving) { //Frame:36 move base to y-axis [0.944000] speed [26.640000] / animSpeed; //delta=0.89 turn base to x-axis <-0.944000> speed <26.639998> / animSpeed; //delta=0.89 turn base to y-axis <0.537499> speed <22.125001> / animSpeed; //delta=-0.74 @@ -283,7 +285,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn turret to y-axis <-1.194753> speed <10.027555> / animSpeed; //delta=0.33 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:39 + if (bMoving) { //Frame:39 move base to y-axis [1.688000] speed [22.320002] / animSpeed; //delta=0.74 turn base to x-axis <-1.688000> speed <22.319997> / animSpeed; //delta=0.74 turn base to y-axis <-0.800000> speed <40.124991> / animSpeed; //delta=-1.34 @@ -307,10 +309,10 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn turret to y-axis <0.306625> speed <45.041328> / animSpeed; //delta=1.50 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:42 - move base to y-axis [2.0] speed [9.359998] / animSpeed; //delta=0.31 - turn base to x-axis <-2.0> speed <9.360002> / animSpeed; //delta=0.31 - turn base to y-axis <-3.0> speed <65.999990> / animSpeed; //delta=-2.20 + if (bMoving) { //Frame:42 + move base to y-axis [2.000000] speed [9.359998] / animSpeed; //delta=0.31 + turn base to x-axis <-2.000000> speed <9.360002> / animSpeed; //delta=0.31 + turn base to y-axis <-3.000000> speed <65.999990> / animSpeed; //delta=-2.20 turn lbankle to x-axis <-3.943020> speed <235.387456> / animSpeed; //delta=7.85 turn lbhip to y-axis <-30.398597> speed <211.127943> / animSpeed; //delta=7.04 turn lbleg to x-axis <12.471154> speed <377.394551> / animSpeed; //delta=-12.58 @@ -327,13 +329,13 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn rfhip to y-axis <-73.908> speed <131.208> / animSpeed; //delta=-3.64 turn rfleg to x-axis <28.614360> speed <108.158539> / animSpeed; //delta=-3.61 turn rfthigh to x-axis <3.524175> speed <40.140221> / animSpeed; //delta=-1.34 - turn turret to y-axis <3.0> speed <80.801258> / animSpeed; //delta=2.69 + turn turret to y-axis <3.000000> speed <80.801258> / animSpeed; //delta=2.69 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:45 - move base to y-axis [0.500000] speed [45.0] / animSpeed; //delta=-1.50 - turn base to x-axis <-0.500000> speed <45.0> / animSpeed; //delta=-1.50 - turn base to y-axis <-5.0> speed <59.999993> / animSpeed; //delta=-2.00 + if (bMoving) { //Frame:45 + move base to y-axis [0.500000] speed [45.000000] / animSpeed; //delta=-1.50 + turn base to x-axis <-0.500000> speed <45.000000> / animSpeed; //delta=-1.50 + turn base to y-axis <-5.000000> speed <59.999993> / animSpeed; //delta=-2.00 turn lbankle to x-axis <-14.106928> speed <304.917266> / animSpeed; //delta=10.16 turn lbhip to y-axis <-24.801542> speed <167.911646> / animSpeed; //delta=5.60 turn lbleg to x-axis <25.831412> speed <400.807744> / animSpeed; //delta=-13.36 @@ -350,14 +352,14 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn rfhip to y-axis <-78.576> speed <140> / animSpeed; //delta=-3.89 turn rfleg to x-axis <34.599904> speed <179.566322> / animSpeed; //delta=-5.99 turn rfthigh to x-axis <-4.637291> speed <244.844000> / animSpeed; //delta=8.16 - turn turret to x-axis <-0.500000> speed <45.0> / animSpeed; //delta=1.50 - turn turret to y-axis <5.0> speed <59.999993> / animSpeed; //delta=2.00 + turn turret to x-axis <-0.500000> speed <45.000000> / animSpeed; //delta=1.50 + turn turret to y-axis <5.000000> speed <59.999993> / animSpeed; //delta=2.00 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:48 - move base to y-axis [-0.500000] speed [30.0] / animSpeed; //delta=-1.00 - turn base to x-axis <0.500000> speed <30.0> / animSpeed; //delta=-1.00 - turn base to y-axis <-3.0> speed <59.999993> / animSpeed; //delta=2.00 + if (bMoving) { //Frame:48 + move base to y-axis [-0.500000] speed [30.000000] / animSpeed; //delta=-1.00 + turn base to x-axis <0.500000> speed <30.000005> / animSpeed; //delta=-1.00 + turn base to y-axis <-3.000000> speed <59.999993> / animSpeed; //delta=2.00 turn lbankle to x-axis <-22.559579> speed <253.579507> / animSpeed; //delta=8.45 turn lbhip to y-axis <-25.266699> speed <13.954691> / animSpeed; //delta=-0.47 turn lbleg to x-axis <40.701319> speed <446.097225> / animSpeed; //delta=-14.87 @@ -374,14 +376,14 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn rfhip to y-axis <-91.104> speed <375.6> / animSpeed; //delta=-10.43 turn rfleg to x-axis <36.622706> speed <60.684045> / animSpeed; //delta=-2.02 turn rfthigh to x-axis <-10.929092> speed <188.754011> / animSpeed; //delta=6.29 - turn turret to x-axis <-1.500000> speed <30.0> / animSpeed; //delta=1.00 - turn turret to y-axis <3.0> speed <59.999993> / animSpeed; //delta=-2.00 + turn turret to x-axis <-1.500000> speed <30.000008> / animSpeed; //delta=1.00 + turn turret to y-axis <3.000000> speed <59.999993> / animSpeed; //delta=-2.00 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:51 - move base to y-axis [-1.0] speed [15.0] / animSpeed; //delta=-0.50 - turn base to x-axis <1.0> speed <14.999995> / animSpeed; //delta=-0.50 - turn base to y-axis <-2.0> speed <30.0> / animSpeed; //delta=1.00 + if (bMoving) { //Frame:51 + move base to y-axis [-1.000000] speed [15.000000] / animSpeed; //delta=-0.50 + turn base to x-axis <1.000000> speed <14.999995> / animSpeed; //delta=-0.50 + turn base to y-axis <-2.000000> speed <30.000003> / animSpeed; //delta=1.00 turn lbankle to x-axis <-18.707398> speed <115.565418> / animSpeed; //delta=-3.85 turn lbhip to y-axis <-27.872327> speed <78.168851> / animSpeed; //delta=-2.61 turn lbleg to x-axis <30.782399> speed <297.567607> / animSpeed; //delta=9.92 @@ -398,11 +400,11 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn rfhip to y-axis <-88.584> speed <75.444> / animSpeed; //delta=2.10 turn rfleg to x-axis <37.844200> speed <36.644819> / animSpeed; //delta=-1.22 turn rfthigh to x-axis <-20.236980> speed <279.236643> / animSpeed; //delta=9.31 - turn turret to x-axis <-2.0> speed <14.999992> / animSpeed; //delta=0.50 - turn turret to y-axis <2.0> speed <30.0> / animSpeed; //delta=-1.00 + turn turret to x-axis <-2.000000> speed <14.999992> / animSpeed; //delta=0.50 + turn turret to y-axis <2.000000> speed <30.000003> / animSpeed; //delta=-1.00 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:54 + if (bMoving) { //Frame:54 move base to y-axis [-0.688000] speed [9.360001] / animSpeed; //delta=0.31 turn base to x-axis <0.688000> speed <9.360002> / animSpeed; //delta=0.31 turn base to y-axis <-1.675000> speed <9.750011> / animSpeed; //delta=0.33 @@ -428,20 +430,20 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations } } } -// Call this from StopMoving()! +// Call this from MotionControl()! StopWalking() { - move base to y-axis [0.0] speed [15.0]; - turn base to x-axis <0.0> speed <15.0>; - turn base to y-axis <0.0> speed <21.999997>; + move base to y-axis [0.000000] speed [15.000000]; + turn base to x-axis <0.000000> speed <15.000000>; + turn base to y-axis <0.000000> speed <21.999997>; turn lbankle to x-axis <-0.265586> speed <175.255798>; turn lbhip to y-axis <-40.907523> speed <192.471043>; turn lbleg to x-axis <-0.104884> speed <208.943657>; - turn lbthigh to x-axis <0.0> speed <132.565269>; + turn lbthigh to x-axis <0.000000> speed <132.565269>; turn lffoot to x-axis <-0.380651> speed <133.424377>; turn lfhip to y-axis <40.806282> speed <116.165262>; turn lfleg to x-axis <1.642277> speed <157.253733>; turn lfthigh to x-axis <-0.748974> speed <144.100151>; - turn rbankle to x-axis <0.0> speed <162.658482>; + turn rbankle to x-axis <0.000000> speed <162.658482>; turn rbhip to y-axis <41.407571> speed <201.360124>; turn rbleg to x-axis <1.295611> speed <273.976704>; turn rbthigh to x-axis <-0.262145> speed <129.521438>; @@ -449,8 +451,8 @@ StopWalking() { turn rfhip to y-axis <-43.061327> speed <288.098848>; turn rfleg to x-axis <-3.927708> speed <393.866350>; turn rfthigh to x-axis <1.861482> speed <260.433881>; - turn turret to x-axis <0.0> speed <16.879999>; - turn turret to y-axis <0.0> speed <26.933753>; + turn turret to x-axis <0.000000> speed <16.879999>; + turn turret to y-axis <0.000000> speed <26.933753>; } // REMEMBER TO animspeed = 11 in Create() !! UnitSpeed(){ @@ -467,16 +469,16 @@ UnitSpeed(){ sleep 98; } } -StartMoving(reversing){ - isMoving=TRUE; - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; +StartMoving(){ + bMoving=TRUE; + signal SIG_WALK; + set-signal-mask SIG_WALK; start-script UnitSpeed(); start-script Walk(); } StopMoving(){ - signal SIGNAL_MOVE; - isMoving = FALSE; + signal SIG_WALK; + bMoving = FALSE; call-script StopWalking(); } @@ -514,9 +516,11 @@ Create() { hide flare; hide aimy1; - isMoving = FALSE; - isAiming = FALSE; + dont-cache flare; + bMoving = FALSE; + bAiming = FALSE; bSteering = FALSE; + Static_Var_3 = 1; oldHeading = get HEADING; animSpeed = 1.8; start-script Steering(); @@ -528,7 +532,10 @@ Create() } - +SweetSpot(piecenum) +{ + piecenum = base; +} static-var Stunned; ExecuteRestoreAfterDelay() @@ -536,12 +543,12 @@ ExecuteRestoreAfterDelay() if (Stunned) { return (1); } - turn aimy1 to y-axis <0.0> speed <36.0>; - turn sleeve to x-axis <0.0> speed <30.0>; + turn aimy1 to y-axis <0.000000> speed <36.000000>; + turn sleeve to x-axis <0.000000> speed <30.000000>; wait-for-turn aimy1 around y-axis; wait-for-turn sleeve around x-axis; - wpn1_lasthead = 0xbadface; - isAiming = FALSE; + wpn1_lasthead = 1000000; + bAiming = FALSE; } SetStunned(State) { @@ -552,30 +559,30 @@ SetStunned(State) } RestoreAfterDelay() { - set-signal-mask SIGNAL_AIM1; + set-signal-mask SIG_AIM; sleep 8000; start-script ExecuteRestoreAfterDelay(); } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = turret; + piecenum = turret; } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = flare; + piecenum = flare; } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - isAiming = TRUE; - signal SIGNAL_AIM1; - turn aimy1 to y-axis heading speed <45.0>; - turn sleeve to x-axis <0.0> - pitch speed <70.0>; - if ((wpn1_lasthead == 0xbadface) OR ABSOLUTE_GREATER_THAN(WRAPDELTA(heading - wpn1_lasthead), <2>)) + bAiming = TRUE; + signal SIG_AIM; + turn aimy1 to y-axis heading speed <45.000000>; + turn sleeve to x-axis <0.000000> - pitch speed <70.000000>; + if (((get ABS(wpn1_lasthead - heading)) > 65536) OR(((get ABS(wpn1_lasthead - heading)) > <2>) AND ((get ABS(wpn1_lasthead - heading)) < 65536 - <2>))) { - wpn1_lasthead = 0xbadface; + wpn1_lasthead = 1000000; wait-for-turn aimy1 around y-axis; wait-for-turn sleeve around x-axis; } @@ -584,7 +591,7 @@ AimWeapon1(heading, pitch) return (1); } -FireWeapon1() +FirePrimary() { emit-sfx 1024 + 0 from flare; @@ -594,10 +601,10 @@ FireWeapon1() move barrel3 to z-axis [-7.5] speed [50]; move barrel4 to z-axis [-7.5] speed [50]; sleep 751; - move barrel1 to z-axis [0.0] speed [2.500000]; - move barrel2 to z-axis [0.0] speed [2.500000]; - move barrel3 to z-axis [0.0] speed [2.500000]; - move barrel4 to z-axis [0.0] speed [2.500000]; + move barrel1 to z-axis [0.000000] speed [2.500000]; + move barrel2 to z-axis [0.000000] speed [2.500000]; + move barrel3 to z-axis [0.000000] speed [2.500000]; + move barrel4 to z-axis [0.000000] speed [2.500000]; } @@ -613,6 +620,16 @@ Killed(severity, corpsetype) explode turret type BITMAPONLY | NOHEATCLOUD; explode sleeve type BITMAPONLY | NOHEATCLOUD; explode barrel1 type BITMAPONLY | NOHEATCLOUD; + //explode flare type BITMAPONLY | NOHEATCLOUD; + //explode lbthigh type BITMAPONLY | NOHEATCLOUD; + //explode lbleg type BITMAPONLY | NOHEATCLOUD; + //explode lbankle type BITMAPONLY | NOHEATCLOUD; + //explode lfthigh type BITMAPONLY | NOHEATCLOUD; + //explode lfleg type BITMAPONLY | NOHEATCLOUD; + //explode lffoot type BITMAPONLY | NOHEATCLOUD; + //explode rbthigh type BITMAPONLY | NOHEATCLOUD; + //explode rbleg type BITMAPONLY | NOHEATCLOUD; + //explode rbankle type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } if( severity <= 50 ) @@ -625,6 +642,16 @@ Killed(severity, corpsetype) explode turret type FIRE | SMOKE | FALL | NOHEATCLOUD; explode sleeve type FIRE | SMOKE | FALL | NOHEATCLOUD; explode barrel1 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lbthigh type FALL | NOHEATCLOUD; + //explode lbleg type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lbankle type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lfthigh type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lfleg type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lffoot type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rbthigh type FALL | NOHEATCLOUD; + //explode rbleg type FALL | NOHEATCLOUD; + //explode rbankle type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) @@ -637,6 +664,16 @@ Killed(severity, corpsetype) explode turret type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; explode sleeve type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode barrel1 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare type SMOKE | FALL | NOHEATCLOUD; + //explode lbthigh type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lbleg type SMOKE | FALL | NOHEATCLOUD; + //explode lbankle type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode lfthigh type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lfleg type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lffoot type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rbthigh type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rbleg type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rbankle type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; @@ -647,5 +684,15 @@ Killed(severity, corpsetype) explode turret type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode sleeve type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode barrel1 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lbthigh type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lbleg type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode lbankle type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lfthigh type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lfleg type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode lffoot type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rbthigh type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode rbleg type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode rbankle type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; return corpsetype; } \ No newline at end of file diff --git a/scripts/Units/legsrail.cob b/scripts/Units/legsrail.cob index 37fbacc88c07a34744307d510a4f650448e3c7e8..cde2cb7827ce7ef73efb773467d086ca5192315d 100644 GIT binary patch literal 19778 zcmd5^3z!wfmF^i{@(L3r$RnB|JQPtfJVdjwfJk@*dB`Z3s0#yJVB|70xy5Zw%bG{L-hkKp)ydJQomvetC)uaBcB9E3d%uh;>nZoxG?ZryBQG3zt|;F0KWTeeJur z#Zei;#nB9o1Q)j>0JD7w?&BkFjIm7op}cu8U=r6-;k@pTEVa0I4?B69iz^pfT>W<( zPIGbDA8pL_mKfGt{Lj`FH;~SRZ8aCyJZ$?d{>b&Kxp*LBaedEp@-!E(xxwOEaRBI7 zbMZgEXK_70bNy;A?jB)rZ!mZvPjhkH;}&;+2Zz&KT>F5<9r|C_ujb;Z!!537T_;a- zvEg)!+gs)2X)d1C()wfcUmQ+z@!ADeULgm7@oFyK7l_jz2DsP_$|mDS`dJKd5TLdxp+U4BV})0*4pT>`~wJ0aBn{XIH~KUic@G2%Uc~7`x1rox(*7& z;&3Kxj7f8Ed1LFF)~`9=Xzul#WpV#5_g&4s8=tV_s1Ocl?sW}tzO%#*h8Q2T-{z~W zyh}L=!8kPcI*hltu^cFHntT0!WO3h<`?KcWGnZT3i}jp5&AscETHFQs4yUxNWQy9I-JD=Pd3RdGLDhnQcOOFaI$}OmHuh_k7N# zDm*Cf=igR3NPfJNmC!ZD2(D_2#m%B|fYaRjY@X#*&Wo0N6JNCQHtupb&AkINEbgZy z3HsICo3hs8?%w0%Y3{u-)8a-IIC+|TGy7ZIT?|(AtGQR0vA8dC98Pnupw!}8$-PT+ zFMYSgor`%m`_m14u{iu z@9+Q{2l=9(=H7?jwz$SJpVHiW9nQ&eMdI{PjuLjESRNd2y?l%Nv*Z%u;sRV-e9p={ z2KRg3!D_d~C6q}>l_@KOfT`caq5)%Y@UH@ERZS
      o2spEew9( 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 literal 18776 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 diff --git a/scripts/Units/legstarfall.bos b/scripts/Units/legstarfall.bos index 2570d7634f7..19216a8c6b3 100644 --- a/scripts/Units/legstarfall.bos +++ b/scripts/Units/legstarfall.bos @@ -1,18 +1,18 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, cog, cog1, cog2, cog3, cog4, stand, tubes, f11,f12,f13,f14,f15,f21,f22,f23,f24,f25,f26,f31,f32,f33,f34,f35,f36,f37,f41,f42,f43,f44,f45,f46,f47,f48,f51,f52,f53,f54,f55,f56,f57,f58,f59,f61,f62,f63,f64,f65,f66,f67,f68,f71,f72,f73,f74,f75,f76,f77,f81,f82,f83,f84,f85,f86,f91,f92,f93,f94,f95; static-var guncount, restore_delay, shotcount, spin_speed, spin_delay, time_to_reload, fire_rotation, last_primary_heading, last_primary_pitch, last_visual_heading; // Signal definitions -#define SIGNAL_AIM1 256 -#define SIGNAL_SHOOT1 16 +#define SIG_AIM 2 +#define SIG_FIRE 4 - -#define BASEPIECE base -#define MAXTILT 0 -#include "../unit_hitbyweaponid_and_smoke.h" +#define SMOKEPIECE base +#include "smokeunit_thread_nohit.h" Create() { @@ -41,12 +41,12 @@ RestoreAfterDelay() return (0); } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; - turn cog to y-axis heading speed <15.0>; + turn cog to y-axis heading speed <15.000000>; //turn other cogs //thanks to Zecrus for wrangling the maths for the spinny blighters @@ -63,10 +63,10 @@ AimWeapon1(heading, pitch) { // seems to take 3 frames for wait-for-turn to process //wait-for-turn cog around y-axis; - spin cog1 around y-axis speed <80.0>; - spin cog2 around y-axis speed <80.0>; - spin cog3 around y-axis speed <80.0>; - spin cog4 around y-axis speed <80.0>; + spin cog1 around y-axis speed <80.000000>; + spin cog2 around y-axis speed <80.000000>; + spin cog3 around y-axis speed <80.000000>; + spin cog4 around y-axis speed <80.000000>; wait-for-turn cog around y-axis; stop-spin cog1 around y-axis; stop-spin cog2 around y-axis; @@ -77,10 +77,10 @@ AimWeapon1(heading, pitch) { // seems to take 3 frames for wait-for-turn to process //wait-for-turn cog around y-axis; - spin cog1 around y-axis speed <-80.0>; - spin cog2 around y-axis speed <-80.0>; - spin cog3 around y-axis speed <-80.0>; - spin cog4 around y-axis speed <-80.0>; + spin cog1 around y-axis speed <-80.000000>; + spin cog2 around y-axis speed <-80.000000>; + spin cog3 around y-axis speed <-80.000000>; + spin cog4 around y-axis speed <-80.000000>; wait-for-turn cog around y-axis; stop-spin cog1 around y-axis; stop-spin cog2 around y-axis; @@ -94,7 +94,7 @@ AimWeapon1(heading, pitch) return (1); } -FireWeapon1() { +FirePrimary() { guncount = 0; shotcount = shotcount + 1; call-script lua_UnitScriptLight(1, shotcount); @@ -103,11 +103,11 @@ FireWeapon1() { - // FireWeapon1 controls animation right after firing - // but after 1 second, AimWeapon1 should regain control over spindle animation + // FirePrimary controls animation right after firing + // but after 1 second, AimPrimary should regain control over spindle animation // and last_primary_heading and last_primary_pitch should be reset - signal SIGNAL_SHOOT1; - set-signal-mask SIGNAL_SHOOT1; + signal SIG_FIRE; + set-signal-mask SIG_FIRE; sleep 1000; fire_rotation = FALSE; last_primary_heading = -1000000; @@ -125,19 +125,22 @@ Shot1(heading,pitch) { } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = guncount+7; + piecenum = guncount+7; } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = stand; + piecenum = stand; } - +SweetSpot(piecenum) +{ + piecenum = stand; +} Killed(severity, corpsetype) { diff --git a/scripts/Units/legstarfall.cob b/scripts/Units/legstarfall.cob index 0b1b411793f229215ed1f7a58c270b7d254ca456..c0ec4c598cd7580c36008a1762d28feed2d3ab12 100644 GIT binary patch delta 872 zcmZY6OK1~87{Kw_N0LpNmaPO6MQc%`5^HH{5fNK$z>78N}7kb|J02N4kk4}t|f6zM_4gZQ63F1qmB`R3bizL{ZPN2;Mg zQwR~n4$Nvov@oh?wNHrMIFByow=75`#ijt8BNBlygX%X^*>^_ z+I3~SKP=x_5&fAa=dFRtD2uYVh^x4ceu~F1j!T%pZK%I8iD^8+OMJo{7VrxmzYrmG zAc`2eu@Rfmj|7q!_KS+xMX(nKa1e)a1X<+a;sj1(9OrNWmvId@a1(cM50iL^DNN%r zp5i%XQN;_q!W(}@h_?jq@e!Z#1#|e0c`V>3e&Y{xewY^lv|$kzV<|eY5^E4cH+r!N zTQGoBu5irRlh2eyGE=e=<$X@NSjfw2AiizH&E(QD+JR-fDUm^}>7!5xfWy_&B=Hb|2RvcasJ3%S4^&j*@Ewzh1G z`9S@g`snH}s9&6RzPHfLVbiqIB-!GwCR+wmt{D4RkPk@DeX?j%^wi2ntrPIkSeoK} z9_gIrt9hjVF6a5FAX|)WX-#uj5a)9+@s~;aO8dDrl0BVB{ABZUYMsV)m*?vCQJiu$ zaq;9}1#^4wxhY1mT2kxzc6{t^y!^CZ#Xd_{?KxV_q3!xPM_Vh#&&d1Y`k%gOAH{3W zzV-`L!wbW0jTNJ@{50mexNLk?YOHnryXa$lE{eZG*JA7OJ!0ygjr(tLY52VwdAppD zRXwf0tHtjaCe!nqr2qLex}MW|T=O+1^!cg%zM*)F?+v=+G@VhGM^cM)oX)`{Z937| z#m+wb{5F5(nzD_qCEMs4viZ3u?VF`d`<|q`x==Se8`tICk-8K<+uoj37q5-xs=aw_ zH0QMDbN@f<;?Idcx9PFYwZ?jG(shpYKS+7$qg&#(MsQa!V@J3icJ($Y5XV}-nX zc3yK6Bxm0BlQSRRlkpws)?mJTvc{x$anie|wKd0Res12Bc0h*3_}S-3Q2x$`wblBu ze{a+Cy1RsZr|&w&cwfaT|4F*;3H>QVzH{mn;#_V|a#8&i?^=BP^GL_JdoYP>Byp_(V_Phki%Ong1;1N~moJ@r0(44=byFoeHhh96pcVIS;= zB81R{18@kA!3kJ`N8nLtK?Ge`g(qPXw%{pv2F}6r@B+L9FT*SF8oUl~z?<+koQL<| z1GoSm!6$GLzJM>`YxoAfg&*K2_!)kIU*Qk<3;ux&KLV#=5A20mxB=$iCb$`Hh5c|R zlpusA+ye`61dhY8?%?3oLs4tJw|2ap9@*j6YHK-aFRk{Ti0n{5Y7HV=*=#*_a;-a9 zI^FNC5AN?SpBdPL(Z-Hj;cQu}|WJkOG$oH4d^adq+U^D6`3zp=0 zwBOtDzOTEo61DAAYa_DLy=76-S6N>beN}B^&{}KTVDnV8VVzP5%20tSgw`ozD`P8T zD`P9mRhEENj8a{ROI(i+wj$TKvqu0?JXbrRmS_7?t) speed <220.0>/animspeed; - turn rleg to x-axis <10> speed <100.0>/animspeed; - turn rfoot to x-axis <-22> speed <220.0>/animspeed; - turn lthigh to x-axis <-45> speed <770.0>/animspeed; - turn lleg to x-axis <0> speed <280.0>/animspeed; - turn lfoot to x-axis <0> speed <510.0>/animspeed; + turn rthigh to x-axis <22> speed <220.000000>/animspeed; + turn rleg to x-axis <10> speed <100.000000>/animspeed; + turn rfoot to x-axis <-22> speed <220.000000>/animspeed; + turn lthigh to x-axis <-45> speed <770.000000>/animspeed; + turn lleg to x-axis <0> speed <280.000000>/animspeed; + turn lfoot to x-axis <0> speed <510.000000>/animspeed; turn pelvis to z-axis <2> speed <40>/animspeed; - move pelvis to y-axis [1] speed [10.0]/animspeed; + move pelvis to y-axis [1] speed [10.000000]/animspeed; sleep 100*animspeed; @@ -31,22 +33,22 @@ walk() //turn rthigh to z-axis <-2> now; - turn rleg to x-axis <30> speed <200.0>/animspeed; - turn lthigh to x-axis <-60> speed <150.0>/animspeed; - turn lleg to x-axis <35> speed <350.0>/animspeed; - turn lfoot to x-axis <20> speed <200.0>/animspeed; + turn rleg to x-axis <30> speed <200.000000>/animspeed; + turn lthigh to x-axis <-60> speed <150.000000>/animspeed; + turn lleg to x-axis <35> speed <350.000000>/animspeed; + turn lfoot to x-axis <20> speed <200.000000>/animspeed; turn pelvis to z-axis <4> speed <20>/animspeed; - move pelvis to y-axis [1] speed [20.0]/animspeed; + move pelvis to y-axis [1] speed [20.000000]/animspeed; sleep 100*animspeed; //step 3, foot lifted, knee bent - turn rthigh to x-axis <15> speed <70.0>/animspeed; - turn rleg to x-axis <0> speed <300.0>/animspeed; - turn rfoot to x-axis <-51> speed <290.0>/animspeed; - turn lthigh to x-axis <-30> speed <300.0>/animspeed; - turn lleg to x-axis <25> speed <100.0>/animspeed; - turn lfoot to x-axis <5> speed <150.0>/animspeed; + turn rthigh to x-axis <15> speed <70.000000>/animspeed; + turn rleg to x-axis <0> speed <300.000000>/animspeed; + turn rfoot to x-axis <-51> speed <290.000000>/animspeed; + turn lthigh to x-axis <-30> speed <300.000000>/animspeed; + turn lleg to x-axis <25> speed <100.000000>/animspeed; + turn lfoot to x-axis <5> speed <150.000000>/animspeed; turn pelvis to z-axis <2> speed <20>/animspeed; move pelvis to y-axis [1] now; @@ -54,55 +56,56 @@ walk() //step 4 foot lifted, knee extended - turn lthigh to x-axis <22> speed <520.0>/animspeed; - turn lleg to x-axis <10> speed <350.0>/animspeed; - turn lfoot to x-axis <-22> speed <270.0>/animspeed; - turn rthigh to x-axis <-45> speed <600.0>/animspeed; - turn rleg to x-axis <0> speed <10.0>/animspeed; - turn rfoot to x-axis <0> speed <510.0>/animspeed; + turn lthigh to x-axis <22> speed <520.000000>/animspeed; + turn lleg to x-axis <10> speed <350.000000>/animspeed; + turn lfoot to x-axis <-22> speed <270.000000>/animspeed; + turn rthigh to x-axis <-45> speed <600.000000>/animspeed; + turn rleg to x-axis <0> speed <10.000000>/animspeed; + turn rfoot to x-axis <0> speed <510.000000>/animspeed; turn pelvis to z-axis <-2> speed <40>/animspeed; - move pelvis to y-axis [1] speed [10.0]/animspeed; + move pelvis to y-axis [1] speed [10.000000]/animspeed; sleep 100*animspeed; //step 5, foot on ground, knee extended - turn lleg to x-axis <30> speed <200.0>/animspeed; - turn rthigh to x-axis <-60> speed <150.0>/animspeed; - turn rleg to x-axis <35> speed <350.0>/animspeed; - turn rfoot to x-axis <20> speed <200.0>/animspeed; + turn lleg to x-axis <30> speed <200.000000>/animspeed; + turn rthigh to x-axis <-60> speed <150.000000>/animspeed; + turn rleg to x-axis <35> speed <350.000000>/animspeed; + turn rfoot to x-axis <20> speed <200.000000>/animspeed; turn pelvis to z-axis <-4> speed <20>/animspeed; - move pelvis to y-axis [1] speed [20.0]/animspeed; + move pelvis to y-axis [1] speed [20.000000]/animspeed; sleep 100*animspeed; - turn lthigh to x-axis <15> speed <70.0>/animspeed; - turn lleg to x-axis <0> speed <300.0>/animspeed; - turn lfoot to x-axis <-51> speed <290.0>/animspeed; - turn rthigh to x-axis <-30> speed <300.0>/animspeed; - turn rleg to x-axis <25> speed <100.0>/animspeed; - turn rfoot to x-axis <5> speed <150.0>/animspeed; + turn lthigh to x-axis <15> speed <70.000000>/animspeed; + turn lleg to x-axis <0> speed <300.000000>/animspeed; + turn lfoot to x-axis <-51> speed <290.000000>/animspeed; + turn rthigh to x-axis <-30> speed <300.000000>/animspeed; + turn rleg to x-axis <25> speed <100.000000>/animspeed; + turn rfoot to x-axis <5> speed <150.000000>/animspeed; turn pelvis to z-axis <-2> speed <20>/animspeed; sleep 100*animspeed; return (0); + // Build by COBBLER Ver4.0 Copyright @1998 DIGITAL CONCEPT SOFTWARE (MANU@inext.fr) / http://www.annihilationcenter.com/DCS/ } walklegs() { //step 1, foot back a bit - turn rthigh to z-axis <-2> speed <20.0>/animspeed; - turn rthigh to x-axis <22> speed <220.0>/animspeed; - turn rleg to x-axis <1> speed <10.0>/animspeed; - turn rfoot to x-axis <-23> speed <230.0>/animspeed; + turn rthigh to z-axis <-2> speed <20.000000>/animspeed; + turn rthigh to x-axis <22> speed <220.000000>/animspeed; + turn rleg to x-axis <1> speed <10.000000>/animspeed; + turn rfoot to x-axis <-23> speed <230.000000>/animspeed; - turn lthigh to z-axis <2> speed <20.0>/animspeed; - turn lthigh to x-axis <-42> speed <740.0>/animspeed; - turn lleg to x-axis <-22> speed <500.0>/animspeed; - turn lfoot to x-axis <14> speed <650.0>/animspeed; - move pelvis to y-axis [1] speed [10.0]/animspeed; + turn lthigh to z-axis <2> speed <20.000000>/animspeed; + turn lthigh to x-axis <-42> speed <740.000000>/animspeed; + turn lleg to x-axis <-22> speed <500.000000>/animspeed; + turn lfoot to x-axis <14> speed <650.000000>/animspeed; + move pelvis to y-axis [1] speed [10.000000]/animspeed; sleep 100*animspeed; @@ -111,44 +114,44 @@ walklegs() //turn rthigh to z-axis <-2> now; - turn rthigh to x-axis <34> speed <120.0>/animspeed; - turn rleg to x-axis <23> speed <220.0>/animspeed; - turn rfoot to x-axis <-32> speed <90.0>/animspeed; + turn rthigh to x-axis <34> speed <120.000000>/animspeed; + turn rleg to x-axis <23> speed <220.000000>/animspeed; + turn rfoot to x-axis <-32> speed <90.000000>/animspeed; - turn lthigh to x-axis <10> speed <520.0>/animspeed; - turn lleg to x-axis <-48> speed <260.0>/animspeed; - turn lfoot to x-axis <43> speed <290.0>/animspeed; - move pelvis to y-axis [0] speed [10.0]/animspeed; + turn lthigh to x-axis <10> speed <520.000000>/animspeed; + turn lleg to x-axis <-48> speed <260.000000>/animspeed; + turn lfoot to x-axis <43> speed <290.000000>/animspeed; + move pelvis to y-axis [0] speed [10.000000]/animspeed; sleep 100*animspeed; //step 3, foot lifted, knee bent - turn rthigh to z-axis <0> speed <20.0>/animspeed; - turn rthigh to x-axis <16> speed <180.0>/animspeed; - turn rleg to x-axis <28> speed <50.0>/animspeed; - turn rfoot to x-axis <-51> speed <190.0>/animspeed; + turn rthigh to z-axis <0> speed <20.000000>/animspeed; + turn rthigh to x-axis <16> speed <180.000000>/animspeed; + turn rleg to x-axis <28> speed <50.000000>/animspeed; + turn rfoot to x-axis <-51> speed <190.000000>/animspeed; - turn lthigh to z-axis <0> speed <20.0>/animspeed; - turn lthigh to x-axis <0> speed <100.0>/animspeed; - turn lleg to x-axis <0> speed <480.0>/animspeed; - turn lfoot to x-axis <0> speed <430.0>/animspeed; + turn lthigh to z-axis <0> speed <20.000000>/animspeed; + turn lthigh to x-axis <0> speed <100.000000>/animspeed; + turn lleg to x-axis <0> speed <480.000000>/animspeed; + turn lfoot to x-axis <0> speed <430.000000>/animspeed; move pelvis to y-axis [0] now; sleep 100*animspeed; //step 4 foot lifted, knee extended - turn rthigh to z-axis <2> speed <20.0>/animspeed; - turn rthigh to x-axis <-21> speed <370.0>/animspeed; - turn rleg to x-axis <-22> speed <500.0>/animspeed; - turn rfoot to x-axis <14> speed <650.0>/animspeed; + turn rthigh to z-axis <2> speed <20.000000>/animspeed; + turn rthigh to x-axis <-21> speed <370.000000>/animspeed; + turn rleg to x-axis <-22> speed <500.000000>/animspeed; + turn rfoot to x-axis <14> speed <650.000000>/animspeed; - turn lthigh to z-axis <-2> speed <20.0>/animspeed; - turn lthigh to x-axis <44> speed <440.0>/animspeed; - turn lleg to x-axis <1> speed <10.0>/animspeed; - turn lfoot to x-axis <-23> speed <230.0>/animspeed; - move pelvis to y-axis [1] speed [10.0]/animspeed; + turn lthigh to z-axis <-2> speed <20.000000>/animspeed; + turn lthigh to x-axis <44> speed <440.000000>/animspeed; + turn lleg to x-axis <1> speed <10.000000>/animspeed; + turn lfoot to x-axis <-23> speed <230.000000>/animspeed; + move pelvis to y-axis [1] speed [10.000000]/animspeed; sleep 100*animspeed; @@ -156,68 +159,71 @@ walklegs() // turn rthigh to z-axis <5> now; - turn rthigh to x-axis <5> speed <260.0>/animspeed; - turn rleg to x-axis <-48> speed <260.0>/animspeed; - turn rfoot to x-axis <43> speed <290.0>/animspeed; + turn rthigh to x-axis <5> speed <260.000000>/animspeed; + turn rleg to x-axis <-48> speed <260.000000>/animspeed; + turn rfoot to x-axis <43> speed <290.000000>/animspeed; //turn lthigh to z-axis <-2> now; - turn lthigh to x-axis <68> speed <240.0>/animspeed; - turn lleg to x-axis <23> speed <220.0>/animspeed; - turn lfoot to x-axis <-32> speed <90.0>/animspeed; - move pelvis to y-axis [0] speed [10.0]/animspeed; + turn lthigh to x-axis <68> speed <240.000000>/animspeed; + turn lleg to x-axis <23> speed <220.000000>/animspeed; + turn lfoot to x-axis <-32> speed <90.000000>/animspeed; + move pelvis to y-axis [0] speed [10.000000]/animspeed; sleep 100*animspeed; //Step 0, all back to default - turn rthigh to z-axis <0> speed <20.0>/animspeed; - turn rthigh to x-axis <0> speed <50.0>/animspeed; - turn rleg to x-axis <0> speed <480.0>/animspeed; - turn rfoot to x-axis <0> speed <430.0>/animspeed; + turn rthigh to z-axis <0> speed <20.000000>/animspeed; + turn rthigh to x-axis <0> speed <50.000000>/animspeed; + turn rleg to x-axis <0> speed <480.000000>/animspeed; + turn rfoot to x-axis <0> speed <430.000000>/animspeed; - turn lthigh to z-axis <0> speed <20.0>/animspeed; - turn lthigh to x-axis <32> speed <360.0>/animspeed; - turn lleg to x-axis <28> speed <50.0>/animspeed; - turn lfoot to x-axis <-51> speed <190.0>/animspeed; + turn lthigh to z-axis <0> speed <20.000000>/animspeed; + turn lthigh to x-axis <32> speed <360.000000>/animspeed; + turn lleg to x-axis <28> speed <50.000000>/animspeed; + turn lfoot to x-axis <-51> speed <190.000000>/animspeed; move pelvis to y-axis [0] now; sleep 100*animspeed; } -Movement(moving, aiming, justmoved) +MotionControl(moving, aiming, justmoved) { justmoved = TRUE; while( TRUE ) { - moving = isMoving; - aiming = isAiming; + moving = bMoving; + aiming = bAiming; if( moving ) { if( aiming ) { + Static_Var_3 = 1; call-script walk(); } if( !aiming ) { + Static_Var_3 = 0; call-script walk(); } justmoved = TRUE; } if( !moving ) { + Static_Var_3 = 1; if( justmoved ) { - turn rthigh to z-axis <0> speed <20.0>; - turn rthigh to x-axis <0> speed <50.0>; - turn rleg to x-axis <0> speed <480.0>; - turn rfoot to x-axis <0> speed <430.0>; + turn rthigh to z-axis <0> speed <20.000000>; + turn rthigh to x-axis <0> speed <50.000000>; + turn rleg to x-axis <0> speed <480.000000>; + turn rfoot to x-axis <0> speed <430.000000>; - turn lthigh to z-axis <0> speed <20.0>; - turn lthigh to x-axis <0> speed <100.0>; - turn lleg to x-axis <0> speed <480.0>; - turn lfoot to x-axis <0> speed <430.0>; + turn lthigh to z-axis <0> speed <20.000000>; + turn lthigh to x-axis <0> speed <100.000000>; + turn lleg to x-axis <0> speed <480.000000>; + turn lfoot to x-axis <0> speed <430.000000>; justmoved = FALSE; } sleep 100; @@ -238,26 +244,30 @@ Create() hide rflare; hide aimx1; hide aimy1; - isMoving = FALSE; - isAiming = FALSE; + bMoving = FALSE; + bAiming = FALSE; + Static_Var_3 = 1; miniguncount = 0; restore_delay = 3000; animspeed = 2.5; turn rsleeve to y-axis <5> now; turn lsleeve to y-axis <-5> now; - restore_delay = 3000; - start-script Movement(); + start-script MotionControl(); } +SetMaxReloadTime(Func_Var_1) +{ + restore_delay = 3000; +} -StartMoving(reversing) +StartMoving() { - isMoving = TRUE; + bMoving = TRUE; } StopMoving() { - isMoving = FALSE; + bMoving = FALSE; } static-var Stunned; @@ -266,13 +276,13 @@ ExecuteRestoreAfterDelay() if (Stunned) { return (1); } - turn body to y-axis <0.0> speed <120.0>; - turn luparm to x-axis <0.0> speed <120.0>; - turn ruparm to x-axis <0.0> speed <120.0>; - spin rbarrel around z-axis speed <0.0>; - spin lbarrel around z-axis speed <0.0>; - isAiming = FALSE; - wpn1_lasthead = 0xbadface; + turn body to y-axis <0.000000> speed <120.000000>; + turn luparm to x-axis <0.000000> speed <120.000000>; + turn ruparm to x-axis <0.000000> speed <120.000000>; + spin rbarrel around z-axis speed <0.000000>; + spin lbarrel around z-axis speed <0.000000>; + bAiming = FALSE; + wpn1_lasthead = 1000000; } SetStunned(State) { @@ -283,21 +293,25 @@ SetStunned(State) } RestoreAfterDelay() { - set-signal-mask SIGNAL_AIM1; + set-signal-mask SIG_AIM; sleep restore_delay; start-script ExecuteRestoreAfterDelay(); } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - isAiming = TRUE; - turn body to y-axis heading speed <180.0>; + signal SIG_AIM; + bAiming = TRUE; + turn body to y-axis heading speed <180.000000>; turn luparm to x-axis 0 - pitch speed <360>; turn ruparm to x-axis 0 - pitch speed <360>; - if ((wpn1_lasthead == 0xbadface) OR ABSOLUTE_GREATER_THAN(WRAPDELTA(heading - wpn1_lasthead), <7>)) + //while( !Static_Var_3 ) + //{ + // return(0); + //} + if (((get ABS(wpn1_lasthead - heading)) > 65536) OR(((get ABS(wpn1_lasthead - heading)) > 1300) AND ((get ABS(wpn1_lasthead - heading)) < 64236))) { - wpn1_lasthead = 0xbadface; + wpn1_lasthead = 1000000; wait-for-turn body around y-axis; wait-for-turn luparm around x-axis; } @@ -306,17 +320,17 @@ AimWeapon1(heading, pitch) return (1); } -FireWeapon1() +FirePrimary() { - spin rbarrel around z-axis speed <900.0>; - spin lbarrel around z-axis speed <-900.0>; + spin rbarrel around z-axis speed <900.000000>; + spin lbarrel around z-axis speed <-900.000000>; return(1); } Shot1(zero) { - signal SIGNAL_SHOOT1; - set-signal-mask SIGNAL_SHOOT1; + signal SIG_FIRE1; + set-signal-mask SIG_FIRE1; if(miniguncount == 0) { @@ -335,25 +349,28 @@ Shot1(zero) return(1); } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = body; + piecenum = body; } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { if(miniguncount == 0) { - pieceIndex = rflare; + piecenum = rflare; } if(miniguncount == 1) { - pieceIndex = lflare; + piecenum = lflare; } return (0); } - +SweetSpot(piecenum) +{ + piecenum = body; +} Killed(severity, corpsetype) { @@ -364,8 +381,16 @@ Killed(severity, corpsetype) explode rthigh type BITMAPONLY | NOHEATCLOUD; explode rleg type BITMAPONLY | NOHEATCLOUD; explode rfoot type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lthigh type BITMAPONLY | NOHEATCLOUD; + //explode lleg type BITMAPONLY | NOHEATCLOUD; explode lfoot type BITMAPONLY | NOHEATCLOUD; explode body type BITMAPONLY | NOHEATCLOUD; + //explode lturret type BITMAPONLY | NOHEATCLOUD; + //explode lbarrel type BITMAPONLY | NOHEATCLOUD; + //explode lflare type BITMAPONLY | NOHEATCLOUD; + //explode rturret type BITMAPONLY | NOHEATCLOUD; + //explode rbarrel type BITMAPONLY | NOHEATCLOUD; + //explode rflare type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } if( severity <= 50 ) @@ -375,8 +400,15 @@ Killed(severity, corpsetype) explode rthigh type FALL | NOHEATCLOUD; explode rleg type FALL | NOHEATCLOUD; explode rfoot type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lthigh type FALL | NOHEATCLOUD; explode lleg type FALL | NOHEATCLOUD; explode lfoot type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lturret type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lbarrel type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lflare type FALL | NOHEATCLOUD; + //explode rturret type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rbarrel type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rflare type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) @@ -387,8 +419,13 @@ Killed(severity, corpsetype) explode rleg type FIRE | SMOKE | FALL | NOHEATCLOUD; explode rfoot type FIRE | SMOKE | FALL | NOHEATCLOUD; explode lthigh type SMOKE | FALL | NOHEATCLOUD; + //explode lleg type SMOKE | FALL | NOHEATCLOUD; explode lfoot type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode body type BITMAPONLY | NOHEATCLOUD; + //explode lbarrel type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lflare type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode rbarrel type SMOKE | FALL | NOHEATCLOUD; + //explode rflare type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; @@ -396,8 +433,13 @@ Killed(severity, corpsetype) explode rthigh type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode rleg type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode rfoot type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lthigh type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode lleg type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode lfoot type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode body type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode lbarrel type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode lflare type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rbarrel type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rflare type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/legstr.cob b/scripts/Units/legstr.cob index 7e809c39cadf87b6482770281972560632dca771..76fedb7d8856efe102f61f2febe34783cd65cf23 100644 GIT binary patch literal 7943 zcmcgxO>7la6u$kTC?b6V8ca}Mf(sTbTHLU+i2Njmr1FyxLt-Cvpbw{gW%>$jG}47e z7Y2zTZX|{XF|jcQgCV#97DS>8Bt~KrqgE0l8Vs0pK?JPdcW2IUI`_WmD^(vk@6O!w zch7fzX8LG0#ykXC2wFMUnESBuGqKc|RgW3-3TOrH&tq*UG!}Y}7}Jckg+d)o1@0Yh z#dXmX8o7rL_m-@8<(9%e<>pwa+V-~Jn4F}X^^w>Mmo++m8^>e0CS|X1!S!p|u-B~Q z4)1Aj?1>zY$q(b`2M*bI!v-*6k1~vza>mSa(;jPsO}YCjYyB`SSHT87)p=oSPqT4ex*ls?&u?1OH3WH(Y2n}qk1;@ zdi3z$aqejL|L9STmoN9yqZ$Vv{?elwhrAxuIQV*W`5hk)|6Pyj`ttP@^O5b9ydKr{ z<+CR}s&UQhQH`rFPtv2);p(feZiJTBwVLfV=FS#7=Y2U6TZ}b4()Vjg3J!xGfOYJaufH*ap)SD?Q^zs ztBb>m>|;?>t^FUXZKv zy~I}!(6%_}dcAqTJ$Kgwcjc(U_n)_xxpG$*#d5kg7r)`k`JUT(=bKWm>s@<16Z5I@ z@7U_rp~z|cKWncoH?>}&UFUP#7mM_s#(Mr-*Z0Cd;~LR5oY#9A>%88pcMfW-FRgOV zx8VsF>%7^evCf-aQ?Z`iJGig+HWObys>Y-_ZCd&|A)YAKX(Aij%GjeM@W7kRrTe9A9^Jgitg z@0)Nh_L`w@>%R#9$tRUPI;TMS)ylf3=o}P1j&&={_`NQ$;hw`jnt(UC{!H6>5)WUBBrlX~B z70y#V)+PMk;HLx)>Z%RV2%Cr{4DJ*_L(+1O~8b#5_5-F&L* ziahG^9Z>X5(O4gH_AHODF#P!R=EtnmR%)}&6dnXm>QeNrIC%UyL-QDe`0se8)#A%~ zN$oM$=y~ZG$}_$+&ZBV;UZWDQ&eoH}O`m2Y#)tW|byY)N&ls!MA7dx^kn{4rPtIjB zSaPmP43wdcDdIOT$Z1^jwL!B`*%)370-ymsPe93Csnr*(pL9BD^^}X6y%!Zhy zjcb3wMgh6%2aUuz>w;aLSLYoS8P@}Y!nI%}F*EPSpIGnx96ioA z+A1=jwg%hVQ*6LK@!+1eZ)>(AwtrIWQznt6&1|f^muF>qe&9(gv~7qPlf?X0Vw>|< zbhWIG^Kv4~m_#<~N6uA?ujc?|ALUt!ahydAWvx%&ye}r}2v*aDd=%!U&x0biC^Ldp zc*L%j9&sj*2DsY)FMv&6+xkeZN5B_*@~kLgi*h4ag~wUNy<)PCU=^Ot2Y4}tc!uB~ z*_2<&izM#uByOIYxYZLk&ze1p#O>qFCT^cS*_#QD#44Sms7sB!4epJpk-w z&?(Rv&=_bO#QzWd67&sd9P}&bCa4*|!L@>xgPsDd1$Bb9gLZ)Sf?fr^33?m!F6ceb z2cVBYpMXw+J_nrzT>yOz`VRCX=oio*pb5||Py>Ef*)k+ks z-c=2vXM?abOaq&%gMEELw{e-P%e|dZxwjMzn|0+Vkn7Dom1?^Ib6r$P1)d)aqTy6x ze*nAvm8yBJ9EPynAB6kL17=61d)P$Pp7QP<6DA9SGm-t;Re?ene-DH~urDxCvW7cK iQ51wG9PBSey(UT)+1(YEA_&JzsoXo%Zty+aZvFvJJ!P{1 literal 6911 zcmcgxU5Hgx6y7tAcSsVd8?R1J6Nhx{hyJ4F%}(6r3khzH!UZSYxK<5+Eef}P zTa)8YaKZuO4!61fq9!2Wk9e+`IAi8{`~eswIGPaGi!tM`JSQ;aCd*-YkD5<;eeFSj z5l8cNXq$`cIpgy1(+wAQX=&n5^WclS>iz_$dEi`@cbeZ>F5cl`iG#z+8|LBL4mZw` zc}W~yU+d1eIG`N9R-STk-~8&!Yg>9$_lmDZq(}8yt{-Umi+d)>*`aHo?UakVes8i4T?2Rf zobB4+@~|>}E^1zV{J+5`eva2$&$|9Pe|LHHoyl_6>Yh1!%=LHSeBw{@fy$?oA;*qcW^Y}`_Jy>E^g|91gCp*$u1Y?du|uyH=|zHy8f6G z_fzxVxxuYN!D;@#?5K~MS+B5e@VV_OIYMQSUW+4r;DX zuX6KS_o&Nt(b=WBE;_qra(#F2;J)6I=Yi(chm#)FycYGS=5_LjTbn&)m#?BTN%K{7 zCe6+l;{MBLgRkciB|AfS$+MxT_cX6Xy{CEg^%G-B&&%0$b=u|s#6x#*G@0$}()<^l zT{HQI;|9+L=3wv+VcPLsGZp64gz4sTv;FQZ_hwTm*nouiEa6t;^Sh*6DML?~Qp~y?9){=va^1F2BdZ2{FAi!gqetSqi2QJhS88ZZZMC zdUNDYDjY2_82J@bur1|;FMZGb)c4Gf_s8%ICSEw@$b0fdy*=Mfn1HWZ;v>F=X9?!+ zQFGc4ewnfUpw41SZPF+Gjl+Kr7N`Q~+e?cj&_ zylz3F%6w%$%ONoJ{)Y7j6{z z)HRBkY~6NKCQ1SA7~j@T9lSmltle~_JTn-t9V6?*u>-HCKV^Ih>tOp4XK$eNgk zJWr^{t*uq+weMs;@x3qg%`;7GHCC_fK#Jv>1e=e;ShAng;iqZTND}M&)L!!BNX#TL zL95MI-%C%69_AL0pSdlbeW~$0+x5MT1OLeya4zB>O^JDu7inHs(!3at>#CR6PTC+( z$xH6*aDdfej$u1W2QT-b=O9RhQeOsDpwB-z8+SF zt3w@T%|IN=b$5TY)?uJr6IV09tD|8&CWw~@q6i*`!)W`!h}m529W!yQf1t15MCpL! zO>F;ctyXI$O8$;SVYodsaXLnuD{&k~CK?^C#DgYI2btX(RbqgXp)xSIqr>3uScmxs DoRKeW diff --git a/scripts/Units/legstronghold.bos b/scripts/Units/legstronghold.bos index 474ce379f26..8adeacba1f5 100644 --- a/scripts/Units/legstronghold.bos +++ b/scripts/Units/legstronghold.bos @@ -1,15 +1,27 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, pole, turret, sleeve, barrel, flare, link, thrustrr, thrustrl, thrustfr, thrustfl, thrustrra, thrustrla, thrustfra, thrustfla, thrustrr2, thrustrl2, thrustfr2, thrustfl2, thrustrra2, thrustrla2, thrustfra2, thrustfla2; -static-var moverate, restore_delay, wpn1_lasthead; +static-var moverate, unitviewer, statechg_DesiredState, statechg_StateChanging, restore_delay, wpn1_lasthead; -#define SIGNAL_AIM1 256 +#define SIG_AIM 2 +pickupscr() +{ + sleep 11; +} + +dropoffscr() +{ + sleep 15; +} + #define BASEPIECE base #define HITSPEED <55.0> //how 'heavy' the unit is, on a scale of 1-10 @@ -40,32 +52,75 @@ Create() turn pole to x-axis <45> now; hide link; + unitviewer = FALSE; moverate = 0; + call-script InitState(); restore_delay = 300; - SLEEP_UNTIL_UNITFINISHED; + while( get BUILD_PERCENT_LEFT ) + { + sleep 400; + } start-script IdleHover(); } +InitState() +{ + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; +} +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + call-script pickupscr(); + currentstate = 0; + } + if( statechg_DesiredState == 1 ) + { + call-script dropoffscr(); + currentstate = 1; + } + } + statechg_StateChanging = FALSE; +} #define IDLEHOVERSCALE 32 #define IDLEHOVERSPEED 60 #define IDLEBASEPIECE base #include "idlehover.h" +//nani the what now +Demo() +{ + unitviewer = TRUE; +} + -QueryTransport(pieceIndex) +QueryTransport(Func_Var_1, Func_Var_2) { - pieceIndex = link; + Func_Var_1 = link; } -BeginTransport(targetHeight) +BeginTransport(Func_Var_1) { - move link to y-axis [0.0] - targetHeight now; + move link to y-axis [0.000000] - Func_Var_1 now; + start-script RequestState(0); } EndTransport() { + start-script RequestState(1); } Activate() @@ -78,6 +133,7 @@ Activate() show thrustfla2; show thrustrla2; show thrustrra2; + start-script RequestState(0); } Deactivate() @@ -90,9 +146,13 @@ Deactivate() hide thrustfla2; hide thrustrla2; hide thrustrra2; + start-script RequestState(1); } - +SweetSpot(piecenum) +{ + piecenum = base; +} StopMoving() { @@ -102,14 +162,14 @@ StopMoving() MoveRate0() { - turn thrustrr to x-axis <0.0> speed <80.0>; - turn thrustrl to x-axis <0.0> speed <80.0>; - turn thrustfr to x-axis <0.0> speed <80.0>; - turn thrustfl to x-axis <0.0> speed <80.0>; - turn thrustrr2 to x-axis <0.0> speed <80.0>; - turn thrustrl2 to x-axis <0.0> speed <80.0>; - turn thrustfr2 to x-axis <0.0> speed <80.0>; - turn thrustfl2 to x-axis <0.0> speed <80.0>; + turn thrustrr to x-axis <0.000000> speed <80.000000>; + turn thrustrl to x-axis <0.000000> speed <80.000000>; + turn thrustfr to x-axis <0.000000> speed <80.000000>; + turn thrustfl to x-axis <0.000000> speed <80.000000>; + turn thrustrr2 to x-axis <0.000000> speed <80.000000>; + turn thrustrl2 to x-axis <0.000000> speed <80.000000>; + turn thrustfr2 to x-axis <0.000000> speed <80.000000>; + turn thrustfl2 to x-axis <0.000000> speed <80.000000>; } MoveRate1() @@ -118,14 +178,14 @@ MoveRate1() signal 8; set-signal-mask 8; moverate = 1; - turn thrustrr to x-axis <10.0> speed <60.0>; - turn thrustrl to x-axis <10.0> speed <60.0>; - turn thrustfr to x-axis <10.0> speed <60.0>; - turn thrustfl to x-axis <10.0> speed <60.0>; - turn thrustrr2 to x-axis <10.0> speed <60.0>; - turn thrustrl2 to x-axis <10.0> speed <60.0>; - turn thrustfr2 to x-axis <10.0> speed <60.0>; - turn thrustfl2 to x-axis <10.0> speed <60.0>; + turn thrustrr to x-axis <10.000000> speed <60.000000>; + turn thrustrl to x-axis <10.000000> speed <60.000000>; + turn thrustfr to x-axis <10.000000> speed <60.000000>; + turn thrustfl to x-axis <10.000000> speed <60.000000>; + turn thrustrr2 to x-axis <10.000000> speed <60.000000>; + turn thrustrl2 to x-axis <10.000000> speed <60.000000>; + turn thrustfr2 to x-axis <10.000000> speed <60.000000>; + turn thrustfl2 to x-axis <10.000000> speed <60.000000>; } MoveRate2() @@ -133,14 +193,14 @@ MoveRate2() signal 8; set-signal-mask 8; moverate = 2; - turn thrustrr to x-axis <20.0> speed <45.0>; - turn thrustrl to x-axis <20.0> speed <45.0>; - turn thrustfr to x-axis <20.0> speed <45.0>; - turn thrustfl to x-axis <20.0> speed <45.0>; - turn thrustrr2 to x-axis <20.0> speed <45.0>; - turn thrustrl2 to x-axis <20.0> speed <45.0>; - turn thrustfr2 to x-axis <20.0> speed <45.0>; - turn thrustfl2 to x-axis <20.0> speed <45.0>; + turn thrustrr to x-axis <20.000000> speed <45.000000>; + turn thrustrl to x-axis <20.000000> speed <45.000000>; + turn thrustfr to x-axis <20.000000> speed <45.000000>; + turn thrustfl to x-axis <20.000000> speed <45.000000>; + turn thrustrr2 to x-axis <20.000000> speed <45.000000>; + turn thrustrl2 to x-axis <20.000000> speed <45.000000>; + turn thrustfr2 to x-axis <20.000000> speed <45.000000>; + turn thrustfl2 to x-axis <20.000000> speed <45.000000>; } MoveRate3() @@ -148,14 +208,14 @@ MoveRate3() signal 8; set-signal-mask 8; moverate = 3; - turn thrustrr to x-axis <0.0> speed <70.0>; - turn thrustrl to x-axis <0.0> speed <70.0>; - turn thrustfr to x-axis <0.0> speed <70.0>; - turn thrustfl to x-axis <0.0> speed <70.0>; - turn thrustrr2 to x-axis <0.0> speed <70.0>; - turn thrustrl2 to x-axis <0.0> speed <70.0>; - turn thrustfr2 to x-axis <0.0> speed <70.0>; - turn thrustfl2 to x-axis <0.0> speed <70.0>; + turn thrustrr to x-axis <0.000000> speed <70.000000>; + turn thrustrl to x-axis <0.000000> speed <70.000000>; + turn thrustfr to x-axis <0.000000> speed <70.000000>; + turn thrustfl to x-axis <0.000000> speed <70.000000>; + turn thrustrr2 to x-axis <0.000000> speed <70.000000>; + turn thrustrl2 to x-axis <0.000000> speed <70.000000>; + turn thrustfr2 to x-axis <0.000000> speed <70.000000>; + turn thrustfl2 to x-axis <0.000000> speed <70.000000>; } static-var Stunned; @@ -164,14 +224,14 @@ ExecuteRestoreAfterDelay() if (Stunned) { return (1); } - spin barrel around z-axis speed <600.0>; + spin barrel around z-axis speed <600.000000>; sleep restore_delay; - spin barrel around z-axis speed <300.0>; + spin barrel around z-axis speed <300.000000>; sleep (restore_delay / 2); - spin barrel around z-axis speed <150.0>; + spin barrel around z-axis speed <150.000000>; sleep (restore_delay / 4); stop-spin barrel around z-axis; - wpn1_lasthead = 0xbadface; + wpn1_lasthead = 1000000; set-signal-mask 0; } @@ -189,15 +249,15 @@ RestoreAfterDelay() start-script ExecuteRestoreAfterDelay(); } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; - turn sleeve to y-axis heading speed <200.0>; - turn sleeve to x-axis <0.0> - <45> - pitch speed <100.0>; - if ((wpn1_lasthead == 0xbadface) OR ABSOLUTE_GREATER_THAN(WRAPDELTA(heading - wpn1_lasthead), <7>)) + signal SIG_AIM; + set-signal-mask SIG_AIM; + turn sleeve to y-axis heading speed <200.000000>; + turn sleeve to x-axis <0.000000> - <45> - pitch speed <100.000000>; + if (((get ABS(wpn1_lasthead - heading)) > 65536) OR(((get ABS(wpn1_lasthead - heading)) > 1300) AND ((get ABS(wpn1_lasthead - heading)) < 64236))) { - wpn1_lasthead = 0xbadface; + wpn1_lasthead = 1000000; wait-for-turn pole around y-axis; wait-for-turn sleeve around x-axis; } @@ -206,20 +266,20 @@ AimWeapon1(heading, pitch) return (1); } -FireWeapon1() +FirePrimary() { - spin barrel around z-axis speed <900.0>; + spin barrel around z-axis speed <900.000000>; emit-sfx 1024 + 0 from flare; } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = sleeve; + piecenum = sleeve; } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = flare; + piecenum = flare; } Killed(severity, corpsetype) diff --git a/scripts/Units/legstronghold.cob b/scripts/Units/legstronghold.cob index 98a0285e294fa9c8efa1825e4a8a6ceca459937c..65c6ce0e5f5cb470080d38d8aa93d1b2900552ab 100644 GIT binary patch literal 7036 zcmeHMO>9(E6h1A}K|$3dV7>x06L1K)l(YSDD4AF%P7n-mzL{=s&!0$Wno;TOayh>rqGsk=H`OZ1_ z-0z-u-y=wqpDy+JR^=T1&7x5V6m$Oq8`h%zmJk zX^GZRkM?%gYJ7|}4%)k&{vOw^ckNwhIY(*f$`x61aRQyj40M*i@2hhKb~S9dVf+(sg}_u3^2LGVC<%z!4ihhT9yzpT?ZX{642K{8Z=sG$)rE zxjW&-TaFXs##-i(D^T@UVp^e6u*( zXEno*>LNSVEBQ2kwx$#3&vB7|h5pXY_}l61t=0Dld6^x@TsK?BRW7&>Sko(RP1G@W zvysuv2WqXi)$D*XTkj^0F^9#qHTizTh5xySa~sYzayM=vwt~3y^Wz!^7MEkj&FcHw z^QE63m-8^+ZD_eh!i;;ZJotVZx03M?#^rb=JXl=%`EiX0!&l0~&!}mxGv~qO%W3lU zSF`nVta)S1{WCwlGvuATokt;2&w65>)M?G2_U(IpK(Xw*@&p2s2dz!i<>MGzz2v;R zICSe*S2>S;?2I27_3ERK9j4WJ$z$Jn`|M-id7YijYw@%${dql}jW_$&F1cLLNcjD; zxQ6-P3Z7T~Ipo_Yr^Lav>iO<{=I#zq7|w6Jeh++|yK`xc6yP%9?o4R)o`hEKMridu zgjVlBX!YKMR_{7!?e3*{6~&*v@w?r!`B(4`IBxoJNKDVHPImufuB>~u=4X5L`wmZs zeb%$X*@c+KEWos83NU?N3NXDJ7hrZMGv_cDy#p5b-3dLPaIHQk+F#80A=f@XA3c)! zK0q=8PD0G*B*c79Ld@qR#C%Rd%;zM;d`?1arJV4L@j2mLo_y}$3lne>Vm>D!=5rEa zJ|`jOa}r`cCn4r@5@IXmgx?9Dlkc~CH5PCZVm>D!=5rEaJ|`jOa}r`cCn4r@5@P*0 z;kP6EOS`2l}n&#b<_PQthRyrTEc?%t`gKO`_wci&1 zjYl7;X1~dRpg*MFn(K|Ro|E2SjK3}+27e25AdA^P%z@}|U-6d)~_iZ+uenq%nhm3_k zFJX_fbzg8fFlYL+rA@`Pi)dvUxkanU`$2(aO#!qt*#`m@e(|ae@Z+mXFLHiN-8PCsSgQ(+sd6Vb<_4R)|lRwrO+eNfi zm&@(J4DDR4f9m$Y-ldzhel?f22dq=_d@b*I$UpsVa-8v3aXc=fwR#OX)`QiZo!7%R zLvs&!zVTYqg?t4W!zPYHCLuGBgOKBp_aUbtpFqw-wqdgp$XUom$N*llHIT!QW01EY z??U+R5+@+~zc02PkiOeSLPP<-b_vs|ArLl~+8tGKZ-ei2Z8_&DJ_-r%Y*ItMd*&QEh%M0B& zIr?H!Yt47sNh)LUT%*++?rF{T2D@g`#scH*j%(JPdOeQQsZKkUskGgBuD#G`%?X-# z5{A{hw>|HTS>(pj+?ckGKH9Fx7CVgk$VX4Y8;wK8i#7h zQQ6x_V(UY_H)-dPuFJ4z8_gzS9jML6(rGtiNxMlBr!wD+BlwcN;h^<0OLh9)D{Yg(_K>*~1<@eEFyc^45)i;yGoFV)~R AqW}N^ literal 5565 zcmdT|PiUM)6rXH28#UT~t<_erbx$f%%r;(nD3a8st&~F2REl`8n{+m=uDi>ZFTo;` zfI@HnxtG#Ip&|$(qIj!NJX$GAdk|9aQc$Ger4%&&e(#(2v7eky#Cov>$K3d1et$m&0r?Gx2LB-UO0ZE? zu9XtD^xXv~_UX(1W*VyH#GR-lQ$crx#@ayQ#wy7{+LKBVn`5YQla<6(A>Re+Tf%%c zANILtv`fyI`zHt`^yz2qoXU>hK?U;V*yI_=$)M!^Jw)mr40euTY{q0u8+OsT$qfl@ zrO4(Stgz7!-p-BXej9=x+uR1BHVCg$qPpc5p<^E1T+i6nH`ZH!@~*j)Seq}pMVz&G zWyv39FSdv11U@*9I#<;-R3%RvU-+m6j^R(PY5xcY#@~xB+pnlk@_7a!GB#VMDJ!uxlKO)VZ-d9{bFi95QED%k$pJK4hJf`w)+#-SNNhqy2fv97EN5 z;@WW%x0=V*`jB|FwY|O>)+Q4Lj_4ET$Q*P({_EPbZf%b1iEGE%wMiW)S6G|Y(t7rd zdwnnarr(Iok!$<6aj#$>bieJ|n3n2!&S_2FK%o^iWor%f#j}q4H^ae@dG1{SN%WVy z1>eZ!@Qtv3i~0(2I4rJ5^^+Rt;ir46ezNW!ekFv~`tCWesaNZF$GpK$=Oyn2-*(>M z$0acyc~eg2f{r#9&VTyonN2nOY^|ML-4m&qFT(u~wJ_hPATJsM0>?q{g%{-B&qx0j zk#ThHhBKOS$fx$9y^CD_h7WUXKbX&1!b6C;%6wJuh5BP^{4oz*=MT3(A9j<2)Cm7- z(>M5yB}7Q__v=mk?J)ozncJ-;1VUWOw@EPcZaL@Rn@|IcO`c@W;K^JhAIO?ZF>m2l z$?r<~BDVO4^BF49U0Xs#Qy;<=bGV7WV1f^Qb;zr~&H}#z&tjo7KnlDIdi`9rzQt1^fk+@lYQIwgB6K9l+DT z2(Skj2MzTu5 zncL^*n(ejjMEm4gXM8qmE^_pKUsrKD>vWHF7MtxkhsGa;xmHNK3u&~FUT_od_}PWb zANBKDC-viv%%}T(tA5H&`)oQ}Xt(`Icc*c@`Sx*N?{?a|-GOH6RfhUN+9^!38nqp6 zwpxfaQ=j*)+i7{1Eu^W>+7CX33vo5R?1-Eizau))bBxEu;V>Pmk zAlO*iSXf&KegPZp{RYy7>P z-SX=E0;8OCaF%uBjXKtQQ?t*yTJsY^YVscbM>A|_eyuh69yK*-ihFIa7Csr9->r@p zb^dq$S-Yx7&&->{)*An!&26uNn_vL$f@2Va0xZB8cmZC4*MR>G@4yG}5qtsPz;|!~ zFYqStzzuK<48b87fn)FpL?8w!n1H9?8F&sJq;cuzs*&6-G$>UjTKdC>Sr|_9x%gTh z2D6bSSrFZi$0~Pb8cs_c>7>jG9h{b0>}wL3O23?@DTIDq9K_?JA|40DT!wL>HoiC2 zVs0m>85Y^H&VQmXl4qqH#7P3x$H7D;)D$~Pp3rF?MB9Ay`PkuOSE3?Ib-Nn+)v!|y GyYds>s*`~L delta 441 zcmXxfJxIeq6bJBk$t6&0;XpwP6$>s>iq^?hQ9IbFh;$P}b3=rF5G(jGR1jPgv^;RJ zXf`*&!L3Vi7boYsb#`;}e{B=^aqoZc-Ep}~_7XWsM9GOytPYsZw~6kd2YKY7-N}7( zR^)}veK9W&T~*>htS^`gq_UJ*DRLB{b6{%aDw}`A41Wok!YxDvq2k@eGzsi9T_tdK zRA0KIuES}o%3UjydB%Y0nn9~DUQLdWd0^$m8>j3!If>a+75kJOzu<#Cw7O<8vX|wP zDF)UoD>>cXMks>^M{o)ka0NFo#AAQq52o;2ORxePP=X5ha17_rhHJQm4m`jkMDPNy z@DBU+ptaZ33GLHXsJ)ivzAUX)wAXCZ*QgkTI71JjoKvgj @@ -11,7 +25,59 @@ piece missilea, missileb, base, thrustb1, thrustb2, nose, #define UNITSIZE 1 #define MAXTILT 100 -#include "air_barrelroll.h" + +InitState() +{ + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; +} + +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + call-script activatescr(); + currentstate = 0; + } + if( statechg_DesiredState == 1 ) + { + call-script deactivatescr(); + currentstate = 1; + } + } + statechg_StateChanging = FALSE; +} + +static-var maxSpeed, currentSpeed; +BarrelRoll() // remember to start-script BarrelRoll(); in Create()! +{ + currentSpeed = (get CURRENT_SPEED); + maxSpeed = (get MAX_SPEED); + + while (TRUE){ + sleep 2000; + currentSpeed = (get CURRENT_SPEED); + //get PRINT(maxSpeed, currentSpeed, Static_Var_1); + if( Rand( 1, 5 ) == 1 AND (maxSpeed < (currentSpeed+100) ) ) + { + turn base to z-axis <240.054945> speed <120.027473>; + wait-for-turn base around z-axis; + turn base to z-axis <120.027473> speed <180.043956>; + wait-for-turn base around z-axis; + turn base to z-axis <0.000000> speed <120.027473>; + } + } +} Create() { @@ -20,29 +86,57 @@ Create() hide missileb; hide thrustb2; hide missilea; + gun_1 = 1; + call-script InitState(); start-script BarrelRoll(); } Activate() { show thrusta; + start-script RequestState(0); } Deactivate() { hide thrusta; + start-script RequestState(1); } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { return (1); } - -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = nose; + if( gun_1 == 1 ) + { + piecenum = nose; + } + if( gun_1 == 2 ) + { + piecenum = nose; + } } +FirePrimary() +{ + if( gun_1 == 1 ) + { + gun_1 = nose; + return (0); + } + if( gun_1 == 2 ) + { + gun_1 = nose; + return (0); + } +} + +SweetSpot(piecenum) +{ + piecenum = base; +} Killed(severity, corpsetype) { diff --git a/scripts/Units/legvenator.cob b/scripts/Units/legvenator.cob index e76630f55910766bdf8ed1eac316c7061c33f845..056398c9e6e87ca8c810ff9337f28d311f9b0a3a 100644 GIT binary patch literal 1786 zcmbVMJ%|%Q6n@F&_7D{ZEJRS)!b&XSRd#xM3UW^U z&cHqg*)UCWgu!;hP^T)L$ms{D*Z4sxt+vnA8rt-$O%92X1GK=)nDira3ZfbM?B>wE z%I{>zZ3h0`wd5u>{l3SdVV`yQG&Y~f$1bxV#(d$UaqUs9bDSMt*9&#d2c31)wN5TX zrXBoDt-BM}oMbR=8OB>s>07J#7J|>8Co)fhy~BluebjLkUP|pb zf-Ppjh{5@`{23p^#kzG|Am#HHaKvJo5QLC5=#2lqH_!i9p7N36uRPq@4Y0I;%d$C{xfA&V69$`q literal 967 zcmb7CJxc>Y5S?5umv)OZ7D9f2MUr1&Gzb!lC`hmgUXsNeTt2wF2o_>vWoKhy6|f0* zVrQX$!Jm`T_wIJ}A_(!|@n&b8+G z4U<&4f@jeV=c)jn#W1MZi9wQrr&8_z5sXXUJn2O diff --git a/scripts/Units/legwhisper.bos b/scripts/Units/legwhisper.bos index d5aabc2b400..fa43f34bd0c 100644 --- a/scripts/Units/legwhisper.bos +++ b/scripts/Units/legwhisper.bos @@ -1,16 +1,40 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, wing1, wing2, thrust; + + + #define BASEPIECE base #define HITSPEED <105.0> //how 'heavy' the unit is, on a scale of 1-10 #define UNITSIZE 1 #define MAXTILT 100 +static-var maxSpeed, currentSpeed; -#include "air_barrelroll.h" +BarrelRoll() // remember to start-script BarrelRoll(); in Create()! +{ + currentSpeed = (get CURRENT_SPEED); + maxSpeed = (get MAX_SPEED); + + while (TRUE){ + sleep 2000; + currentSpeed = (get CURRENT_SPEED); + //get PRINT(maxSpeed, currentSpeed, Static_Var_1); + if( Rand( 1, 5 ) == 1 AND (maxSpeed < (currentSpeed+100) ) ) + { + turn base to z-axis <240.054945> speed <120.027473>; + wait-for-turn base around z-axis; + turn base to z-axis <120.027473> speed <180.043956>; + wait-for-turn base around z-axis; + turn base to z-axis <0.000000> speed <120.027473>; + } + } +} Create() { @@ -28,7 +52,10 @@ Deactivate() hide thrust; } - +SweetSpot(piecenum) +{ + piecenum = base; +} Killed(severity, corpsetype) { diff --git a/scripts/Units/legwhisper.cob b/scripts/Units/legwhisper.cob index 5e2782534fa2940556b4017814e22c7e459c48e2..8f3e8c4fe0501634fce54ca83567abad0d1d8652 100644 GIT binary patch literal 899 zcmbu7%}T>S6oqfnGzD>Sw=RS%T)L>my?>=3U05x3p_|5b&|!WQX^XnPtt+W$S!D#UR~<3xcRIO! zd_o`++iULyRkqP*-P_$~{ZDm;9(%vkZHKz#v}~>w;yj>ux}q4H-RmRYS`b@Q7vZk% z-hMT|f3X(sgFN9&ZRS?!MENXkT#WN#KP_t_XYXO9%lTFEnIOj+YR_xd7;~BraH+xh z{YSGmr#W+)oYQYLd6vKQar=F62#&!i;Fv1OU5u!!^ literal 801 zcmb7?Jx;?w5QWE%?T7|Vkp?6rAAlm{1pGuuD2+i14NXk40!tP_j)4+!26~i&iW5+A z0tya5Pe%(S@7cQ|pdf{nKJR$;?c15P0}%;90PcVr_rAy@cn0f8zG9ZxSK_I!JqqJM z{WfwK%y|q3k?z{}mnMR?SLxTdX7$uLJ?9bEG^lhf#&L*j?aSHeYh6P{LzQ!Yv$~Me zBk9-k^nv@Os);3Y?Wuvl*714$t^chnxxwn3A2NUX$!4T%k!Mu8BtmV#je#hS{;{6S z$<5Q*yLR_Lj}`jjZrJzO`tol04cr|~@h;k|`^O&U1$E8(beOX~Hwfv?*8l4>obkD} zKJ0f9AD+3WmdEUYeQ*el0RP7~@D4tJ53?n(3|e3nY^OzG@`G`n%T8g^(#Y1Z%q|&p eP3pp4mgi<9$LYk#Rd#l=Q9V0So)#CAQoaCZaYE1l diff --git a/scripts/Units/meteor.bos b/scripts/Units/meteor.bos index 8bd3ffc5c57..95d44fa1b09 100644 --- a/scripts/Units/meteor.bos +++ b/scripts/Units/meteor.bos @@ -1,5 +1,7 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, emit, launcher, arm; @@ -12,19 +14,23 @@ Create() hide launcher; hide emit; hide base; + //set UNKNOWN_UNIT_VALUE(76) to 1; + dont-shade base; + dont-cache base; set ARMORED to 0; - move launcher to y-axis [3000.0] speed [10000.0]; - move launcher to x-axis [0.0] speed [10000.0]; - move launcher to z-axis [0.0] speed [10000.0]; - turn launcher to y-axis <90> speed <10000.0>; - turn launcher to x-axis <90> speed <10000.0>; - turn launcher to z-axis <90> speed <10000.0>; + move launcher to y-axis [3000.000000] speed [10000.000000]; + move launcher to x-axis [0.000000] speed [10000.000000]; + move launcher to z-axis [0.000000] speed [10000.000000]; + turn launcher to y-axis <90> speed <10000.0000>; + turn launcher to x-axis <90> speed <10000.0000>; + turn launcher to z-axis <90> speed <10000.0000>; sleep 100; spin arm around y-axis speed <21.978022>; - turn arm to x-axis Rand( <0.005495>, <40.989011> ) speed <1000.0>; + turn arm to x-axis Rand( <0.005495>, <40.989011> ) speed <1000.000000>; sleep Rand( 1, 100 ); emit-sfx 2048 from launcher; sleep 3000; + //set UNKNOWN_UNIT_VALUE(76) to 0; } Killed(severity, corpsetype) @@ -32,17 +38,17 @@ Killed(severity, corpsetype) } -QueryNanoPiece(pieceIndex) +QueryNanoPiece(piecenum) { - pieceIndex = base; + piecenum = base; } -QueryWeapon1(pieceIndex) +QueryWeapon1(piecenum) { - pieceIndex = base; + piecenum = base; } -AimFromWeapon1(pieceIndex) +AimFromWeapon1(piecenum) { - pieceIndex = base; + piecenum = base; } \ No newline at end of file diff --git a/scripts/Units/meteor.cob b/scripts/Units/meteor.cob index d69144e3f9c68cc388a9caf2e8e6446a5001f66f..c35319084bb02c884868f41fefa2d59a392946d3 100644 GIT binary patch delta 118 zcmbQkx`tJgg@J*A6^KD}9T3BS3KIi^1rYlHu?|o$W}>Ds7sCSv0kDFGjbVov4U>WF mG$76c;xZtP0jf;~;w&Jp1mZRzo(jaXfOtL-ubAw~6bt|W=?^Oa delta 107 zcmZ3(I)_!0g@J*A6^KD}6%fOK2onQ?1`yi-u?|qsXQHO@#+*HjhVej75)fwraS=!Y ds2~`KqkuRQh|7Su6^OflxF3jTOpas<1^`wl4DA2_ diff --git a/scripts/Units/rockunit.h b/scripts/Units/rockunit.h new file mode 100644 index 00000000000..031a3f990c0 --- /dev/null +++ b/scripts/Units/rockunit.h @@ -0,0 +1,22 @@ +/* Rockunit.h -- Rock the unit when it fire a heavy weapon with lots of recoil */ + +#ifndef __ROCKUNIT_H_ +#define __ROCKUNIT_H_ + + +RockUnit(anglex,anglez) + { + + #define ROCK_SPEED 50 + #define RESTORE_SPEED 20 + + turn base to x-axis anglex speed <50>; + turn base to z-axis anglez speed <50>; + + wait-for-turn base around z-axis; + wait-for-turn base around x-axis; + + turn base to z-axis <0> speed <20>; + turn base to x-axis <0> speed <20>; + } +#endif diff --git a/scripts/Units/rockwater.h b/scripts/Units/rockwater.h new file mode 100644 index 00000000000..d3c5650b99c --- /dev/null +++ b/scripts/Units/rockwater.h @@ -0,0 +1,43 @@ +/* Rockunit.h -- Rock the unit when it fire a heavy weapon with lots of recoil */ + +#ifndef __ROCKUNIT_H_ +#define __ROCKUNIT_H_ + + +RockUnit(anglex,anglez) + { + + #define FIRST_SPEED 15 + #define SECOND_SPEED 12 + #define THIRD_SPEED 9 + #define FOURTH_SPEED 6 + #define FIFTH_SPEED 3 + + turn base to x-axis anglex speed ; + turn base to z-axis anglez speed ; + + wait-for-turn base around z-axis; + wait-for-turn base around x-axis; + + turn base to x-axis (0-anglex) speed ; + turn base to z-axis (0-anglez) speed ; + + wait-for-turn base around z-axis; + wait-for-turn base around x-axis; + + turn base to x-axis (anglex/2) speed ; + turn base to z-axis (anglez/2) speed ; + + wait-for-turn base around z-axis; + wait-for-turn base around x-axis; + + //turn base to x-axis <0-anglex/2> speed ; + //turn base to z-axis <0-anglez/2> speed ; + + //wait-for-turn base around z-axis; + //wait-for-turn base around x-axis; + + turn base to x-axis <0> speed ; + turn base to z-axis <0> speed ; + } +#endif diff --git a/scripts/Units/roost.bos b/scripts/Units/roost.bos index d9f85e425b3..5b7d89ffa42 100644 --- a/scripts/Units/roost.bos +++ b/scripts/Units/roost.bos @@ -1,5 +1,7 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, emit, launcher, arm; @@ -12,16 +14,18 @@ Create() hide launcher; hide emit; hide base; + dont-shade base; + dont-cache base; set ARMORED to 0; - move launcher to y-axis [3000.0] speed [10000.0]; - move launcher to x-axis [0.0] speed [10000.0]; - move launcher to z-axis [0.0] speed [10000.0]; - turn launcher to y-axis <90.0> speed <10000.0>; - turn launcher to x-axis <90.0> speed <10000.0>; - turn launcher to z-axis <90.0> speed <10000.0>; + move launcher to y-axis [3000.000000] speed [10000.000000]; + move launcher to x-axis [0.000000] speed [10000.000000]; + move launcher to z-axis [0.000000] speed [10000.000000]; + turn launcher to y-axis <90.000000> speed <10000.000000>; + turn launcher to x-axis <90.000000> speed <10000.000000>; + turn launcher to z-axis <90.000000> speed <10000.000000>; sleep 100; spin arm around y-axis speed <21.978022>; - turn arm to x-axis Rand( <0.005495>, <40.989011> ) speed <1000.0>; + turn arm to x-axis Rand( <0.005495>, <40.989011> ) speed <1000.000000>; sleep Rand( 1, 100 ); emit-sfx 2048 from launcher; sleep 3000; @@ -33,22 +37,22 @@ Killed(severity, corpsetype) emit-sfx 1025 from emit; } -QueryNanoPiece(pieceIndex) +QueryNanoPiece(piecenum) { - pieceIndex = base; + piecenum = base; } -QueryWeapon1(pieceIndex) +QueryWeapon1(piecenum) { - pieceIndex = base; + piecenum = base; } -AimFromWeapon1(pieceIndex) +AimFromWeapon1(piecenum) { - pieceIndex = base; + piecenum = base; } -QueryLandingPad(pieceIndex) +QueryLandingPad(Func_Var_1) { - pieceIndex = 1; + Func_Var_1 = 1; } diff --git a/scripts/Units/roost.cob b/scripts/Units/roost.cob index e2a4b77e7cd8c499fb5e8fd94f63a26fe1347054..2dbc1941adf6aad9d7d91745142cd60fd00cfb85 100644 GIT binary patch delta 127 zcmeyu+QO#E!oa}52E-t`4~StPg^7Wo28gEsu?|ph$wWFV8^f5GtWtsO tJRmLu;yNI11L7q>^{at+6A&K+;&VWJ7l_{i@h2eu4#W)1lP57H0RSPa6Kwzh delta 116 zcmZo+`@*Wp!oa}52E-t`3y5JLgo%M62Z&pMSO+LLWum6>#+*NlR*67P77!N!aTO3Z l0r3=|qS-*a2#7ZV@jf6v3&eMU_z@642jUM*lNT{10RWm{6Bz&i diff --git a/scripts/Units/scavboss/armassimilator.bos b/scripts/Units/scavboss/armassimilator.bos index 6e028cc6f44..28f3f46606c 100644 --- a/scripts/Units/scavboss/armassimilator.bos +++ b/scripts/Units/scavboss/armassimilator.bos @@ -1,109 +1,111 @@ +#define TA // This is a TA script -#include "../../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece pelvis, lthigh, lshin, lcalf, lfoot, rthigh, rshin, rcalf, rfoot, torso, ruparm, relbow, rloarm, rbarrel, rflare1, rflare2, luparm, lelbow, lloarm, lbarrel, lflare1, lflare2; -static-var gun_1, isMoving, isAiming, wpn1_lasthead; +static-var Static_Var_1, gun_1, bMoving, bAiming, wpn1_lasthead; // Signal definitions -#define SIGNAL_MOVE 1 -#define SIGNAL_AIM1 256 -#define SIGNAL_AIM3 1024 +#define SIG_MOVE 2 +#define SIG_AIM 4 +#define SIG_AIM_3 8 walk() { //step 1 leg - turn rthigh to x-axis <0> speed <84.0>; - turn rshin to x-axis <0> speed <282.0>; - turn rcalf to x-axis <0> speed <240.0>; - turn rfoot to x-axis <0> speed <120.0>; - - turn lthigh to x-axis <13> speed <78.0>; - turn lshin to x-axis <24> speed <144.0>; - turn lcalf to x-axis <-13> speed <78.0>; - turn lfoot to x-axis <-23> speed <138.0>; - - turn pelvis to y-axis <0> speed <12.0>; - move pelvis to y-axis [0] speed <12.0>; + turn rthigh to x-axis <0> speed <84.000000>; + turn rshin to x-axis <0> speed <282.000000>; + turn rcalf to x-axis <0> speed <240.000000>; + turn rfoot to x-axis <0> speed <120.000000>; + + turn lthigh to x-axis <13> speed <78.000000>; + turn lshin to x-axis <24> speed <144.000000>; + turn lcalf to x-axis <-13> speed <78.000000>; + turn lfoot to x-axis <-23> speed <138.000000>; + + turn pelvis to y-axis <0> speed <12.000000>; + move pelvis to y-axis [0] speed <12.000000>; sleep 160; //step 2 leg - turn rthigh to x-axis <20> speed <120.0>; + turn rthigh to x-axis <20> speed <120.000000>; turn rshin to x-axis <0> now; - turn rcalf to x-axis <1> speed <6.0>; - turn rfoot to x-axis <-21> speed <126.0>; + turn rcalf to x-axis <1> speed <6.000000>; + turn rfoot to x-axis <-21> speed <126.000000>; - turn lthigh to x-axis <-17> speed <180.0>; - turn lshin to x-axis <1> speed <138.0>; - turn lcalf to x-axis <-10> speed <18.0>; - turn lfoot to x-axis <-9> speed <84.0>; + turn lthigh to x-axis <-17> speed <180.000000>; + turn lshin to x-axis <1> speed <138.000000>; + turn lcalf to x-axis <-10> speed <18.000000>; + turn lfoot to x-axis <-9> speed <84.000000>; - turn pelvis to y-axis <4> speed <24.0>; - move pelvis to y-axis [1] speed [6.0]; + turn pelvis to y-axis <4> speed <24.000000>; + move pelvis to y-axis [1] speed [6.000000]; sleep 160; //step 3 leg - turn rthigh to x-axis <36> speed <96.0>; - turn rshin to x-axis <9> speed <54.0>; - turn rcalf to x-axis <-12> speed <78.0>; - turn rfoot to x-axis <1> speed <132.0>; - - turn lthigh to x-axis <-14> speed <18.0>; - turn lshin to x-axis <-47> speed <288.0>; - turn lcalf to x-axis <40> speed <300.0>; - turn lfoot to x-axis <20> speed <174.0>; - - turn pelvis to y-axis <0> speed <24.0>; - move pelvis to y-axis [0] speed [6.0]; + turn rthigh to x-axis <36> speed <96.000000>; + turn rshin to x-axis <9> speed <54.000000>; + turn rcalf to x-axis <-12> speed <78.000000>; + turn rfoot to x-axis <1> speed <132.000000>; + + turn lthigh to x-axis <-14> speed <18.000000>; + turn lshin to x-axis <-47> speed <288.000000>; + turn lcalf to x-axis <40> speed <300.000000>; + turn lfoot to x-axis <20> speed <174.000000>; + + turn pelvis to y-axis <0> speed <24.000000>; + move pelvis to y-axis [0] speed [6.000000]; sleep 160; //step 4 leg - turn rthigh to x-axis <13> speed <138.0>; - turn rshin to x-axis <24> speed <90.0>; - turn rcalf to x-axis <-13> speed <6.0>; - turn rfoot to x-axis <-23> speed <144.0>; - - turn lthigh to x-axis <0> speed <84.0>; - turn lshin to x-axis <0> speed <282.0>; - turn lcalf to x-axis <0> speed <240.0>; - turn lfoot to x-axis <0> speed <120.0>; - - turn pelvis to y-axis <0> speed <12.0>; - move pelvis to y-axis [0] speed <12.0>; + turn rthigh to x-axis <13> speed <138.000000>; + turn rshin to x-axis <24> speed <90.000000>; + turn rcalf to x-axis <-13> speed <6.000000>; + turn rfoot to x-axis <-23> speed <144.000000>; + + turn lthigh to x-axis <0> speed <84.000000>; + turn lshin to x-axis <0> speed <282.000000>; + turn lcalf to x-axis <0> speed <240.000000>; + turn lfoot to x-axis <0> speed <120.000000>; + + turn pelvis to y-axis <0> speed <12.000000>; + move pelvis to y-axis [0] speed <12.000000>; sleep 160; //step 5 leg - turn rthigh to x-axis <-17> speed <180.0>; - turn rshin to x-axis <1> speed <138.0>; - turn rcalf to x-axis <-10> speed <18.0>; - turn rfoot to x-axis <-9> speed <84.0>; + turn rthigh to x-axis <-17> speed <180.000000>; + turn rshin to x-axis <1> speed <138.000000>; + turn rcalf to x-axis <-10> speed <18.000000>; + turn rfoot to x-axis <-9> speed <84.000000>; - turn lthigh to x-axis <20> speed <120.0>; + turn lthigh to x-axis <20> speed <120.000000>; turn lshin to x-axis <0> now; - turn lcalf to x-axis <1> speed <6.0>; - turn lfoot to x-axis <-21> speed <126.0>; + turn lcalf to x-axis <1> speed <6.000000>; + turn lfoot to x-axis <-21> speed <126.000000>; - turn pelvis to y-axis <-4> speed <24.0>; - move pelvis to y-axis [1] speed [6.0]; + turn pelvis to y-axis <-4> speed <24.000000>; + move pelvis to y-axis [1] speed [6.000000]; sleep 160; //step 6 leg - turn rthigh to x-axis <-14> speed <18.0>; - turn rshin to x-axis <-47> speed <288.0>; - turn rcalf to x-axis <40> speed <300.0>; - turn rfoot to x-axis <20> speed <174.0>; - - turn lthigh to x-axis <36> speed <96.0>; - turn lshin to x-axis <9> speed <54.0>; - turn lcalf to x-axis <-12> speed <78.0>; - turn lfoot to x-axis <1> speed <132.0>; - - turn pelvis to y-axis <0> speed <24.0>; - move pelvis to y-axis [0] speed [6.0]; + turn rthigh to x-axis <-14> speed <18.000000>; + turn rshin to x-axis <-47> speed <288.000000>; + turn rcalf to x-axis <40> speed <300.000000>; + turn rfoot to x-axis <20> speed <174.000000>; + + turn lthigh to x-axis <36> speed <96.000000>; + turn lshin to x-axis <9> speed <54.000000>; + turn lcalf to x-axis <-12> speed <78.000000>; + turn lfoot to x-axis <1> speed <132.000000>; + + turn pelvis to y-axis <0> speed <24.000000>; + move pelvis to y-axis [0] speed [6.000000]; sleep 160; @@ -113,27 +115,54 @@ stopwalk() { if( TRUE ) { - turn rthigh to x-axis <0> speed <84.0>; - turn rshin to x-axis <0> speed <282.0>; - turn rcalf to x-axis <0> speed <240.0>; - turn rfoot to x-axis <0> speed <120.0>; + turn rthigh to x-axis <0> speed <84.000000>; + turn rshin to x-axis <0> speed <282.000000>; + turn rcalf to x-axis <0> speed <240.000000>; + turn rfoot to x-axis <0> speed <120.000000>; - turn lthigh to x-axis <0> speed <84.0>; - turn lshin to x-axis <0> speed <282.0>; - turn lcalf to x-axis <0> speed <240.0>; - turn lfoot to x-axis <0> speed <120.0>; + turn lthigh to x-axis <0> speed <84.000000>; + turn lshin to x-axis <0> speed <282.000000>; + turn lcalf to x-axis <0> speed <240.000000>; + turn lfoot to x-axis <0> speed <120.000000>; - turn pelvis to y-axis <0> speed <48.0>; - move pelvis to y-axis [0] speed <48.0>; + turn pelvis to y-axis <0> speed <48.000000>; + move pelvis to y-axis [0] speed <48.000000>; wait-for-turn torso around y-axis; sleep 160; } } -#define SMOKE_PIECE pelvis -#include "../../damagedsmoke.h" +SmokeUnit(healthpercent, sleeptime, smoketype) +{ + while( get BUILD_PERCENT_LEFT ) + { + sleep 400; + } + while( TRUE ) + { + healthpercent = get HEALTH; + if( healthpercent < 66 ) + { + smoketype = 256 | 2; + if( Rand( 1, 66 ) < healthpercent ) + { + smoketype = 256 | 1; + } + emit-sfx smoketype from torso; + } + sleeptime = healthpercent * 30; + if( sleeptime < 200 ) + { + sleeptime = 200; + } + sleep sleeptime; + } +} + + + Create() { @@ -143,22 +172,23 @@ Create() hide rflare1; gun_1 = 0; - isMoving = FALSE; - isAiming = FALSE; - SLEEP_UNTIL_UNITFINISHED; - start-script DamagedSmoke(); + bMoving = FALSE; + bAiming = FALSE; + Static_Var_1 = 3500; + start-script SmokeUnit(); } -StartMoving(reversing) +StartMoving() { - isMoving = TRUE; - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; - if( !isAiming ) + bMoving = TRUE; + signal SIG_MOVE; + set-signal-mask SIG_MOVE; + if( !bAiming ) { - turn pelvis to y-axis <0.0> speed <60.0>; - move pelvis to y-axis [0.0] speed [6.0]; + //Static_Var_8 = 0; + turn pelvis to y-axis <0.000000> speed <60.000000>; + move pelvis to y-axis [0.000000] speed [6.000000]; } while( TRUE ) { @@ -168,62 +198,65 @@ StartMoving(reversing) StopMoving() { - isMoving = FALSE; - signal SIGNAL_MOVE; + bMoving = FALSE; + signal SIG_MOVE; start-script stopwalk(); } +SweetSpot(piecenum) +{ + piecenum = torso; +} - -RestoreAfterDelay() +RestoreAfterDelay(Func_Var_1) { - set-signal-mask SIGNAL_AIM1; - sleep 3500; + set-signal-mask SIG_AIM; + sleep Static_Var_1; turn torso to y-axis <0> speed <30>; turn rloarm to x-axis <0> speed <320>; turn lloarm to x-axis <0> speed <320>; - isAiming = FALSE; - wpn1_lasthead = 0xbadface; + bAiming = FALSE; + wpn1_lasthead = 1000000; } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = torso; + piecenum = torso; } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { if( gun_1 == 0 ) { - pieceIndex = rflare1; + piecenum = rflare1; } if( gun_1 == 1 ) { - pieceIndex = lflare1; + piecenum = lflare1; } if( gun_1 == 2 ) { - pieceIndex = rflare2; + piecenum = rflare2; } if( gun_1 == 3 ) { - pieceIndex = lflare2; + piecenum = lflare2; } } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - isAiming = TRUE; + signal SIG_AIM; + bAiming = TRUE; turn torso to y-axis heading speed <320>; turn rloarm to x-axis <-90> - pitch speed <320>; turn lloarm to x-axis <-90> - pitch speed <320>; - if ((wpn1_lasthead == 0xbadface) OR ABSOLUTE_GREATER_THAN(WRAPDELTA(heading - wpn1_lasthead), <7>)) + if (((get ABS(wpn1_lasthead - heading)) > 65536) OR(((get ABS(wpn1_lasthead - heading)) > 1300) AND ((get ABS(wpn1_lasthead - heading)) < 64236))) { - wpn1_lasthead = 0xbadface; + wpn1_lasthead = 1000000; wait-for-turn torso around y-axis; wait-for-turn rloarm around x-axis; } @@ -232,12 +265,14 @@ AimWeapon1(heading, pitch) return (1); } -FireWeapon1() +FirePrimary() { if( gun_1 == 0 ) { move rbarrel to y-axis [1.5] speed [1000]; + show rflare1; sleep 100; + hide rflare1; move rbarrel to y-axis [0] speed [6]; gun_1 = 1; return (1); @@ -245,7 +280,9 @@ FireWeapon1() if ( gun_1 == 1 ) { move lbarrel to y-axis [1.5] speed [1000]; + show lflare1; sleep 100; + hide lflare1; move lbarrel to y-axis [0] speed [6]; gun_1 = 2; return (1); @@ -253,7 +290,9 @@ FireWeapon1() if( gun_1 == 2 ) { move rbarrel to y-axis [1.5] speed [1000]; + show rflare2; sleep 100; + hide rflare2; move rbarrel to y-axis [0] speed [6]; gun_1 = 3; return (1); @@ -261,7 +300,9 @@ FireWeapon1() if ( gun_1 == 3 ) { move lbarrel to y-axis [1.5] speed [1000]; + show lflare2; sleep 100; + hide lflare2; move lbarrel to y-axis [0] speed [6]; gun_1 = 0; return (1); diff --git a/scripts/Units/scavboss/armassimilator.cob b/scripts/Units/scavboss/armassimilator.cob index 1e085e45d120b948d37699c250a18ac8765d4393..623e676f653d389ec2a0381e9e3243b4d0759811 100644 GIT binary patch literal 8813 zcmb_iO^8)x82)s|(NgpH8->KRMM$)m+$2ObnwSvAlo>?`bJaU~@r-vkbJfJC*$6IM zgoK-h7GV)YP}ZV_wi2>kkr2432#GNJq3lQOdA{#FGw=O8=gvJ&S6e!x8+=GrW<}z)O|~-h9K8-e-T@xIw)>!&|#M=)L`O z;Po5c2{@-;e*`^V>62$2yrh#iMZv*&3FVZ}#yfBpVMH-^)+H93EeL>mXUK!R#pd-F z0&m4HAy$jcwO0f0$KL{vaq>r7%275gHW!uzneVUNjE(Ah>aUxzA=%CQ;R5^TJ2SFmCGXYYN1H%f3|-(sYCzVv5^%VKnKSI|?g79-`lB<}-@ z(b)?@@8qRm(_*yktH2vy8)C8j^Wm|;Q+;j!2qS29!3exA7^!yZd5h7%j|JcAd5e+y zNIh>c(yXZGEk>%jVzwB?Gi@=7XWC+<8IVnjQO6ubebmA0f>GT279-)Oey|v+AJqF6 zBjKRlw-_lO)!bs_b3E%3i;Zfb7%VpNOj~T!KkKiDo}_L1;@tH*W6DuIZ?TDc-eME? zyu~K&d5cXv(-xa}rY%PCOk0fNnJ&V};~w?T3`XE~=^w8@U`q}{fPs%t8;8$qXE1N+|WR>I6w3GLgxAW*~bdK`Ges-JRi1b ziZ(a%CRyNZZp!5u6nS`bZlura@t$XjH|W78{!vUe9*Jy(SY~Wc-rK$EeE!m>?R#iv zFvwDmJo!6MULNO;+y~E?la&<~!iQ=e%Mq8X<~^>f^6Rqv%Fhb==VO0v&ptC=`^>)J z^LzNvqdfKScJ0_#{>;n+4X9tl_q~_rM;Z0_vna;2Jo2)$ zF!^0451&{5NBNky!ti*@98{m7&CC2VW0>}Zd^uBm?iM@i!MtbmLS25%>%yK<-d5IQ zH5_EG=d$d#B3YKk<+6(qG<~rri)4LoKm3^PFHk>QlOFUA4oX&kYce&4FGzks7 zPx!ZH&~=IS*k0-l;+-%ua~AIk>CqPT85gg5j$;WvLf)U3#Iln5AU7O#EN$6XI0ruV z>A!7ofE=Vp9%o{b2s zTN#f%UdH1$TN$rgoUDJD9_vxY0~Dn^|Nbe-@AfWwi@WeR`;3La^6I})fi>?L3vuWD zWPZ;Y_`bzi4QDY=^IgPKKNs=jzlg_gO8P0{aetTbd~cTMY0ism`ga!e!k)l46aK-C z_p^aFdEb73hNExRy4Su{eJ5!r?`idI5l?+9e0r&m`nigZ`n)Ix^?4CbeO|?v`oGAY z&Z^kcTu9eqtGTFRPxDemXD)M86u0K6N(`E>Dms$YwU_?VJXX=soEGJ(Ijv$(^IK%E z+x+g~+~xE8HHM4x%YL-;TO|&fqYXPhMLSb7u6gMNXU+a>wl(inY|CbqT(t+JOYDns zRUEp~hva(6Tl--)KdSv~a@r4yr6WFhq>$!`RpZ5y^E{VaW1=MHmntga;S=% zc8m0T!9cr3zI)Np&XJ$0acciazZakJUMku>vR5@8j+nkhc(wXva~kg?tJ6z9+E2F{ zbG)~z`e%$~IrkF3_E}NCqSn_?|{yL&VjxFeF^#o^eyNz z=nCj}&_AGg_d2%_v=p=wbT?=nXgz2Uv=KA}dIIzmXeVeFr~x`sPY<|>c5B?<>=qp(D z=GfM(H8z|z$LiTp_w=Dgc2p1G>2_-~Yv}&TW|}tky75MOxH;j{_WtI+{Vtu@-#qBj zJ@s_drK2tQ$^s+vjLb7K&p-qdEtee{uV-T}YoxndM_iV+{L}7wh7*^KruD4xV1C`; U(jc4$;WP-Rxp0~bhwBFSABpgBdH?_b literal 5950 zcmb_gZHQG>6g~6dQ`7Wn-yrmel8BJezyhI08zc(L(g=gdr*p>{yyJV^d45&o1VRxJ z6d@8N^QVZgUwuR15ClR)L{Ruki2NZHXa%KGOlzHU*35oq-i#7G+1#`5-e>Q9*4q2t zJ9azg7DKLwJTlL@Zd~~ryw16!kdu%*p;zJ1k#%ODtqWK0RCO7)_#bW0oouyLjBV`w zR@;1I+x&Q|ZGo{h?+&(m7vd)Jbr{?Bfndv)1zV@FY2TNBPEK-Pm$9wb5%#@%F4%Nt zp5Y}V=heGoAFs?g!0cRa0|W>0Ek@$=z+a&*i_xj4!akkVVx+S!j(uP;8lMRJ zj+_oLEk+M~A8d^kp%&XeA3Ymv;@9?%Fv6}mFoJCkjKrOK-eUCkeId7c-eROaQqNnA zG%ML*l_;MZa^_~Ff)@fFP4h|w6XdZu&ffTgQ; zw%~bJ#M9@lc4wVE;l0}FdpX2e&%N2a%mM#Z(Z2&ptPjuJ(c6V;Am=0Bh_Mm(<>#th zKKB~N>w#ZSN9KAf+3FbcTapp)EsXc*>g(R_GJNJZhwHWRx-?$-3J|wd`5f@)cgYLtAbPgdMlY?`&)5#xNcV?&*o#nF1&a)zor4TbA9}3tbqyFTS3B< zFKV{^Hu_Vmjo+;N(Lc2<52mSDmY3cQOMShZm8o2)OTEjS>eJLttQmUxe!%?eh&g*j zd#$g>VRP{PA^Nh<+W8W87kz(>zU;+zzJA`L@2}C9eJtPUI>Y&NMnA-j={~af5Xl zE?#tQ@giNk$X~oj7ccS`FS2*Xnq?O+vWpkl#f$XWc+r0GB7gBBUA#yaFVe+};)xg8 z#f$87@v@T`M_$f%2d;>RwwOUDzwXu$O%{>}5}} zC#)X>lm!4{E#yhaVaRKcPa!8D=ODcxi0?N3f9q|KRgiU%4UmT++aS9k&p=*;ybd`A zc?WVF@*(7N$O*_-kO|0lkW-M;kTZ~9AiqN{LOO16ZXskDidTF?83U?-s11I@hb%Zu7U zw|;1NV_6@5BCj>-dse$g_vYn6DX?j|aj49-erTvD@_yIIi+w{Qu4oPp?HY8&$l%Z( zSM0161FjgT*PE^khSD2KZz#P16^ztfxwla(hh3Q$JL>ygS=7C@qgLXMD+h{NnXiu5 VHLeKGMQ|>Ha}k}3=p3$V+`mtZ>c#*7 diff --git a/scripts/Units/scavboss/armdecadet3.bos b/scripts/Units/scavboss/armdecadet3.bos index c438a861496..7fc12f9c358 100644 --- a/scripts/Units/scavboss/armdecadet3.bos +++ b/scripts/Units/scavboss/armdecadet3.bos @@ -1,5 +1,7 @@ +#define TA // This is a TA script -#include "../../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, flare1, flare2, turret1, turret2, turret3, turret4, barrel101, barrel102, barrel103, barrel104, housing101, housing102, housing103, housing104, spindle1, neck1, barrel201, barrel202, barrel203, barrel204, @@ -8,22 +10,91 @@ piece base, flare1, flare2, turret1, turret2, turret3, turret4, barrel101, barr static-var gun_1, gun_2, restore_delay, oldHead; // Signal definitions -#define SIGNAL_AIM1 256 -#define SIGNAL_AIM2 512 -#define SIGNAL_MOVE 1 - -#define RB_MASS 40 -#define RB_LENGTH 8 -#define RB_WIDTH 4 -#define RB_PITCH_SPEED 200 -#define RB_PITCH_ACCELERATION 20 -#define RB_ROLL_ACCELERATION 8 -#define RB_RECOIL_ENERGY_2 500 -#define RB_WAKE_PIECE ground -#define RB_WAKE_CEG 2 -#define RB_IDLE_KICK 10000 - -#include "../../bar_ships_common.h" +#define SIG_AIM 2 +#define SIG_AIM_2 4 +#define SIG_MOVE 8 + +#define BASEPIECE base +#define HITSPEED <20.0> +//how 'heavy' the unit is, on a scale of 1-10 +#define UNITSIZE 2 +#define MAXTILT 200 +HitByWeapon(anglex, anglez, damage) // angle[x|z] is always [-500;500], damage is multiplied by 100 +{ + var amount;//, speedz, speedx; + amount = damage / (100 * UNITSIZE); + if (amount < 3 ) return (0); + if (amount > MAXTILT) amount = MAXTILT; + //get PRINT(anglex, anglez, amount, damage); + //speedz = HITSPEED * get ABS(anglez) / 500; //nevermind this, the random error this produces actually looks better than the accurate version + turn BASEPIECE to z-axis (anglez * amount) / 100 speed HITSPEED; + turn BASEPIECE to x-axis <0> - (anglex * amount) /100 speed HITSPEED; + wait-for-turn BASEPIECE around z-axis; + wait-for-turn BASEPIECE around x-axis; + turn BASEPIECE to z-axis <0.000000> speed HITSPEED / 4; + turn BASEPIECE to x-axis <0.000000> speed HITSPEED / 4; +} +HitByWeaponId(anglex, anglez, weaponid, dmg) //weaponID is always 0,lasers and flamers give angles of 0 +{ + start-script HitByWeapon(dmg, anglez,anglex); //I dont know why param order must be switched, and this also runs a frame later :( + return (100); //return damage percent +} + +SetDirection(heading) +{ + var spd; + spd = (get ABS(oldHead) - get ABS(heading)) / 2; + turn ground to y-axis heading speed spd; + turn base to y-axis 0-heading speed spd; + oldHead = heading; +} + +RockOnWaves() +{ + var rockDir, rockAng, rockSpeed; + rockDir = <-0.1>; + rockAng = <-0.1>; + while( TRUE ) + { + while( get ABS(rockAng) < <1.31> ) + { + rockSpeed = <1.45> - get ABS(rockAng); + turn ground to x-axis rockAng speed rockSpeed*5; + wait-for-turn ground around x-axis; + rockAng = rockAng + rockDir; + } + rockDir = 0 - rockDir; + rockAng = rockAng + rockDir + rockDir; + } +} + +SmokeUnit(healthpercent, sleeptime, smoketype) +{ + while( get BUILD_PERCENT_LEFT ) + { + sleep 500; + } + start-script RockOnWaves(); + while( TRUE ) + { + healthpercent = get HEALTH; + if( healthpercent < 66 ) + { + smoketype = 258; + if( Rand( 1, 66 ) < healthpercent ) + { + smoketype = 257; + } + emit-sfx smoketype from base; + } + sleeptime = healthpercent * 50; + if( sleeptime < 200 ) + { + sleeptime = 200; + } + sleep sleeptime; + } +} Create() { @@ -31,20 +102,42 @@ Create() hide flare1; hide ground; hide flare1; + dont-cache flare1; + dont-cache barrel101; + dont-cache barrel102; + dont-cache barrel103; + dont-cache barrel104; + dont-cache housing101; + dont-cache housing102; + dont-cache housing103; + dont-cache housing104; + dont-cache spindle1; + dont-cache neck1; + dont-cache turret1; gun_1 = flare1; spin flare1 around z-axis speed <250.060440>; hide flare2; + dont-cache flare2; + dont-cache barrel201; + dont-cache barrel202; + dont-cache barrel203; + dont-cache barrel204; + dont-cache housing201; + dont-cache housing202; + dont-cache housing203; + dont-cache housing204; + dont-cache spindle2; + dont-cache neck2; + dont-cache turret2; gun_2 = flare2; spin flare2 around z-axis speed <250.060440>; restore_delay = 3000; - start-script InitRockBoat(); - SLEEP_UNTIL_UNITFINISHED; - start-script BoatPhysics(); + start-script SmokeUnit(); } -SetMaxReloadTime(reloadMS) +SetMaxReloadTime(Func_Var_1) { - restore_delay = reloadMS * 2; + restore_delay = Func_Var_1 * 2; } static-var Stunned; @@ -71,20 +164,45 @@ RestoreAfterDelay() start-script ExecuteRestoreAfterDelay(); } -StartMoving(reversing) +waveSplash() { + while( TRUE ) + { + turn base to x-axis <-3.0> speed <3.0>; + move base to y-axis [0.23] speed [0.23]; + wait-for-turn base around x-axis; + turn base to x-axis <0.0> speed <3.0>; + move base to y-axis [0.0] speed [0.23]; + wait-for-turn base around x-axis; + } +} +StartMoving() +{ + signal SIG_MOVE; + set-signal-mask SIG_MOVE; + var waketime; + start-script waveSplash(); + while( TRUE ) + { + emit-sfx 2 from ground; + waketime = (get CURRENT_SPEED) * 100 / get MAX_SPEED; + if( waketime < 50 ) waketime = 50; + sleep 9000 / waketime; + } } StopMoving() { - + signal SIG_MOVE; + turn base to x-axis <0.0> speed <3.0>; + move base to y-axis [0.0] speed [0.23]; } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; turn turret3 to y-axis heading speed <60.>; turn neck1 to x-axis <0.> - pitch speed <30.>; wait-for-turn turret3 around y-axis; @@ -93,10 +211,10 @@ AimWeapon1(heading, pitch) return (1); } -AimWeapon2(heading, pitch) +AimSecondary(heading, pitch) { - signal SIGNAL_AIM2; - set-signal-mask SIGNAL_AIM2; + signal SIG_AIM_2; + set-signal-mask SIG_AIM_2; turn turret4 to y-axis heading speed <60.>; turn neck2 to x-axis <0.> - pitch speed <30.>; wait-for-turn turret4 around y-axis; @@ -105,88 +223,110 @@ AimWeapon2(heading, pitch) return (1); } -FireWeapon1() +FirePrimary() { emit-sfx 1024 + 0 from flare1; - if( gun_1 == 0 ) - { - move barrel101 to z-axis [-10.0] now; - move barrel101 to z-axis [0.0] speed [10.0]; - turn spindle1 to z-axis <90.0> speed <230.0>; - } if( gun_1 == 1 ) { - move barrel102 to z-axis [-10.0] now; - move barrel102 to z-axis [0.0] speed [10.0]; - turn spindle1 to z-axis <180.0> speed <230.0>; + move barrel101 to z-axis [-10.000000] now; + move barrel101 to z-axis [0.000000] speed [10.000000]; + turn spindle1 to z-axis <90.000000> speed <230.000000>; } if( gun_1 == 2 ) { - move barrel103 to z-axis [-10.0] now; - move barrel103 to z-axis [0.0] speed [10.0]; - turn spindle1 to z-axis <270.0> speed <230.0>; + move barrel102 to z-axis [-10.000000] now; + move barrel102 to z-axis [0.000000] speed [10.000000]; + turn spindle1 to z-axis <180.000000> speed <230.000000>; } if( gun_1 == 3 ) { - move barrel104 to z-axis [-10.0] now; - move barrel104 to z-axis [0.0] speed [10.0]; - turn spindle1 to z-axis <0.0> speed <230.0>; + move barrel103 to z-axis [-10.000000] now; + move barrel103 to z-axis [0.000000] speed [10.000000]; + turn spindle1 to z-axis <270.000000> speed <230.000000>; + } + if( gun_1 == 4 ) + { + move barrel104 to z-axis [-10.000000] now; + move barrel104 to z-axis [0.000000] speed [10.000000]; + turn spindle1 to z-axis <0.000000> speed <230.000000>; + } + ++gun_1; + if( gun_1 == 5 ) + { + gun_1 = 1; } - gun_1 = (gun_1 + 1) % 4; } -FireWeapon2() +FireSecondary() { emit-sfx 1024 + 0 from flare2; - if( gun_2 == 0 ) - { - move barrel201 to z-axis [-10.0] now; - move barrel201 to z-axis [0.0] speed [10.0]; - turn spindle2 to z-axis <90.0> speed <230.0>; - } if( gun_2 == 1 ) { - move barrel202 to z-axis [-10.0] now; - move barrel202 to z-axis [0.0] speed [10.0]; - turn spindle2 to z-axis <180.0> speed <230.0>; + move barrel201 to z-axis [-10.000000] now; + move barrel201 to z-axis [0.000000] speed [10.000000]; + turn spindle2 to z-axis <90.000000> speed <230.000000>; } if( gun_2 == 2 ) { - move barrel203 to z-axis [-10.0] now; - move barrel203 to z-axis [0.0] speed [10.0]; - turn spindle2 to z-axis <270.0> speed <230.0>; + move barrel202 to z-axis [-10.000000] now; + move barrel202 to z-axis [0.000000] speed [10.000000]; + turn spindle2 to z-axis <180.000000> speed <230.000000>; } if( gun_2 == 3 ) { - move barrel204 to z-axis [-10.0] now; - move barrel204 to z-axis [0.0] speed [10.0]; - turn spindle2 to z-axis <0.0> speed <230.0>; + move barrel203 to z-axis [-10.000000] now; + move barrel203 to z-axis [0.000000] speed [10.000000]; + turn spindle2 to z-axis <270.000000> speed <230.000000>; + } + if( gun_2 == 4 ) + { + move barrel204 to z-axis [-10.000000] now; + move barrel204 to z-axis [0.000000] speed [10.000000]; + turn spindle2 to z-axis <0.000000> speed <230.000000>; + } + ++gun_2; + if( gun_2 == 5 ) + { + gun_2 = 1; } - - gun_1 = (gun_1 + 1) % 4; } -QueryWeapon1(pieceIndex) +TargetCleared(Func_Var_1) { - pieceIndex = flare1; + if( Func_Var_1 == 1 ) + { + signal SIG_AIM; + stop-spin turret3 around y-axis; + stop-spin neck1 around x-axis; + stop-spin turret4 around y-axis; + stop-spin neck2 around x-axis; + } } -QueryWeapon2(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = flare2; + piecenum = flare1; } -AimFromWeapon1(pieceIndex) +QuerySecondary(piecenum) { - pieceIndex = spindle1; + piecenum = flare2; } -AimFromWeapon2(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = spindle2; + piecenum = spindle1; } +AimFromSecondary(piecenum) +{ + piecenum = spindle2; +} +SweetSpot(piecenum) +{ + piecenum = base; +} Killed(severity, corpsetype) { diff --git a/scripts/Units/scavboss/armdecadet3.cob b/scripts/Units/scavboss/armdecadet3.cob index 917614abaad5ef7d841839177c9bd4720c70d9cf..4694acaf52fd59e0b16e9e872b173f17b8b00057 100644 GIT binary patch literal 5982 zcmd5=O=w(I6uwEOX{~>+wYC0KnOdPzR9>cCi1?HK5(&k&iDajl&b+2$Co^&K(l#I% zp)TAAx^N=}QG|*=RdAth+=vxHM8u7#SfvX=i%2Sks`2~IJLkRI=e*L?jU!*rz4!c| zd+xn2mYj1p0BeEYOU^9;8BDWqx%5lwXa(>S>iR~V)t1f+$ z$9NcnD?71oaZ<;8Qio#2x|u%Z94wPajymR?_MSsxW;gG%8_)DenY&+Cjx8oq%THtj z$l_=9lsr9s#_$aIB~X*0yv1hJg(ayIW$B}vj4$iTNnIs(-CK*xC~YwJn?Y=i)a;la z+M*oAO^)MIcwx->y3o#0N_hR+_U8HdIv<=h2{J<%EL58lKQ?U9wrs83s?Y|5j4 zfvw|^Gh5wiy@CeIB{{20v<~w$9^xDzmhd;Pw>)eMhJ6GmI?i`J0Q0>~C zLmAp7wfwC&xFq!(cZpw6kptyfa5kUQbE=FPEUurY1u|ikopt9efE2#vECqO8k0HJ&WxPHCTHA;DpbNxo8 zHz_TFG6vdbOpL8tOym>fy^q8xD>0$BXoEk~vp(fs*t*DKPfgF4WygpO^yGU8fIQh7 z+?gC7-{{#cqZ{c<{pET69&Z%INc})h_CxjZJgJNFK$2c5GlL`t#?2VhSYJ+h`v(Ss z8c45TnEFHPauTp6y;vZV=8D``p-7zHru6&278V@hrV0MYJ9TeH!Aa^%CMre3pKn7J z3Tz0kzy|M*UyvJZiJb0*oQ0`mUy^g7?;`S(bD{oO7T)ngnv3i|&bquiuz3slxVLD( z&M|s}<6&L5Zxc>!56G9h!Op+h=9=AIl(}PlrX$}MVR9F)Q+e8Ck5bmp$LcQpORO1f zm_7SG;F{#Cb&~O1*2|U;_tx)azb7dpHN?9?xpZ?8wdrurv-SQ!?k5C8|DuZ={g~v8 zX-qOMh^godf80g((cVT|tKT}=VBfYa2k{i76&a^eV2UGiyvpdOOv%4u>(>Tn(|Bi@lkIz^x z#+Q4hORw_|rhTd9MfmhrWZ(YYq>R~e<>dZahmH5+w>prtfbVOVpVI zH6DjtD=VD?HJ-dV1w7U{eH&0Oe^2GT);Mb#r`6HoRWv-S3h4X#*(kc z<=VC$>84-QSO2$qFrG1B0yqYo1BTEjuK;fWUjaV>{6=4cM2CULfTO_cz(y4F4d8R& zYv4QJH1I2M7U2IY41ouLVPFiX0tbLu;053qa02)c_yqV8_!jsXI1BXQkIWUot-xKt zeZVeY40sf%0gnSu0JFf;z_Y;fz)QeuzzN_3;A7wm;2YpHa0ZwM{sxxekJy#KT3`cE z0qzHefIYw%$BlUF>{wKtYPbCHLv=S2#oHU5s1`TC+S{%je7H4MJrqs5k;(SK=#f?< zcH25pHI68`t9oQ_)NEJlqm9YP?Kl$EX5wgXG#$4)(U$#j)Y%?2tFx3GiDz1^sP6vF zJPhk2Q_br10XGs?JMpgep+;*0VzD&RKF=f-0Y^O8m)R0F|?xE pK{H%QT~tDIQ3=gOB}`pVP+d?m9i}cQt1c?yqT(hx?U`2H{R0dB1sebW literal 5721 zcmb`LU5J!b7{`yh>sa>n_GM%iQ#VE^%+78gMC3P#3Azd;eL3yE>a?>nGCLb8fnFE} zeLy$f6lrzQ2VN9;;hjPkL6?#cbkWC6Mp6b+2Ez9Lo%cNNoPC{HB%0;%d_4c>`Tx&z z&U@w^hn#bF%a+N`4mo$TT0Sf8bndY1TiFVY*Wcybf@C1UH&hu&1f4Tp7{*6JyIHL( z4<*DT%ez?1;VMH3c}f8fobjT<_=afgww4lCmIm37@}j|=bzT!)=Fnkt1M~ylTFs=GtR?W`N(&{Mqe4bae zGcDAHTEZ!aUl03-AI=;n3^;P(x0+K6FkYu}#4+TA&-NW0q12r`SEMcGwzB}v*Ery= zMmXldu@{z)T#gM}EscrJMJ4ltv$YTh?l3|l9Dd8^H3i&jg?SCLy^dO*2VyR;spOPi ztC53Hb44xSuZA4Pfd=N)T+?1JhpmJ9lZ$2Ay3k~G!OuMV661)Earmh(OEYb5*TRHz z|D4uFjvIq-8JnTHgR^Ihb>k<;oaaV3&V}ut`8*FbJdtsXh{N=`OD?%DaJ{ZJ=JwBV z;Fc@bnrjYwleSLex+WC1v>Eb>2H9#EaQ0ug_VQ15oyZ10yi?_2- zjJGpWjOVO@U8B}j79`YSN0?(O{tn+@pRokP2{2zI(?obxj$U4z;JHE2Mue8=*B$By_fJcKpU(bYliD!ek*yqn> zl06q!LJm^E8RLB3N`@O$KI5{SR$E)U#rCTee(E|0r)P+o+S)l&_Rg?|e&Amze)tw^ z3LUuI)=V2d=EzMhFfJ)&?*{6cZmX$bso|aw8}s^pc(zGp>mx4Kv^m6rFgXwo^+ATJAg>n>KVa zZMtc{{z4O#EKX^C3@tudV#wJm2ESoX-;`k)vmZ2kh>Oqhy88ZeOpY3`T;kNt4-@W^? zv+DbYvp#FL^H!`&ygo3#p1K>s<(sV2@9%d+so$M1`R{Sl>SIGaa!oAEG|}&)so#DS zH7$jVk91fJ{qB5kO}=Ja26`^h$^MY0Tg&Vj-l+>UoBM0leeSY%ksPDWWfu!Pcg({R`;5o-xEBw+w#OwEB|fwIiQjiUvCnvHk9+aNdt5H? z_}`7<>UCygpYb4>J&t*pBK~^!*zOhZyt`ODt^ckpE0^+7pZWaU@$>n;#yNDM_tU`3Iia5Yc;6>RI%wdvvGLlt$P2cZ+pzY#@7RCLP1u974<-70 zSw+QrS@wbKr0ksRXW4JE-(`QwmPpKFvQx5^TKl82$7LI2TV(vd+BVtqvWD!S?5ON* z*>Txv*;lgjvY%uZWq->C^bT^XY^iLyY*e;RHYVFCdqI}U8nTY;RoM~Qo3dlF6SB`_ zr(|bj-^k9(ew6(x`$P7RY;cKlx5)01JtSKxTP0g3drCGY+tjRg##-Z(Yg@IB|A_sqG(2 z8?D;Jj`~#UHtbKwXFBOvI^Ait(>1$0X?uOzs2u>gy))BnrW0bh#@VU0J6l?>)SG+U z_D*YG=&q?xW$eQ)?^fN$dONl0Zolfb&7|$1b~qkX3EtRl#ksn}s@q&|G^FaK+H~r6 zH)`#4IBTk|Gt+LTo#D{hcqEKR6(WCQxH6pgs(EiD?~S^>t(j>p4Pf4_cDp0p?x>sI xS8q-$?PEoBGMYUoS)k;nQFi?QZyEz5eKvDG+Rkx?znrTkBe*p?5@38;? diff --git a/scripts/Units/scavboss/armfepocht4.bos b/scripts/Units/scavboss/armfepocht4.bos index 62709b64085..9b1263d7c31 100644 --- a/scripts/Units/scavboss/armfepocht4.bos +++ b/scripts/Units/scavboss/armfepocht4.bos @@ -1,5 +1,7 @@ +#define TA // This is a TA script -#include "../../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece ground, base, dish, tur1, tur2, tur3, tur4, tur5, sleeve1, @@ -11,13 +13,81 @@ piece ground, base, dish, jetl1, jetr1, jetl2, jetr2, thrustl1, thrustr1, thrustl2, thrustr2, turretmis1, turretmis2, misbox1, misbox2, misflare1, misflare2; -static-var gun_1, gun_2, gun_3, gun_4, gun_5, restore_delay, oldHead; +static-var Static_Var_1, Static_Var_2, Static_Var_3, Static_Var_4, Static_Var_5, + Static_Var_6, Static_Var_7, restore_delay, oldHead; // Signal definitions -#define SIGNAL_MOVE 1 +#define SIG_MOVE 256 -#include "../../damagedsmoke.h" +//SetDirection(heading) +//{ +// var spd; +// spd = (get ABS(oldHead) - get ABS(heading)) / 2; +// turn ground to y-axis heading speed spd; +// turn base to y-axis 0-heading speed spd; +// oldHead = heading; +//} + +//RockOnWaves() +//{ +// var rockDir, rockAng, rockSpeed; +// rockDir = <-0.1>; +// rockAng = <-0.1>; +// while( TRUE ) +// { +// while( get ABS(rockAng) < <1.11> ) +// { +// rockSpeed = <1.25> - get ABS(rockAng); +// turn ground to x-axis rockAng speed rockSpeed*2; +// wait-for-turn ground around x-axis; +// rockAng = rockAng + rockDir; +// } +// rockDir = 0 - rockDir; +// rockAng = rockAng + rockDir + rockDir; +// } +//} + +SmokeUnit(healthpercent, sleeptime, smoketype) +{ + while( get BUILD_PERCENT_LEFT ) + { + sleep 500; + } + //start-script RockOnWaves(); + var Func_Var_4; + while( TRUE ) + { + healthpercent = get HEALTH; + if( healthpercent < 66 ) + { + smoketype = 256 | 2; + if( Rand( 1, 66 ) < healthpercent ) + { + smoketype = 256 | 1; + } + Func_Var_4 = Rand( 1, 3 ); + if( Func_Var_4 == 1 ) + { + emit-sfx smoketype from base; + } + if( Func_Var_4 == 2 ) + { + emit-sfx smoketype from tur1; + } + if( Func_Var_4 == 3 ) + { + emit-sfx smoketype from tur1; + } + } + sleeptime = healthpercent * 50; + if( sleeptime < 200 ) + { + sleeptime = 200; + } + sleep sleeptime; + } +} Create() { @@ -38,67 +108,68 @@ Create() hide flare3b; hide ground; set ARMORED to 1; - turn jetl1 to x-axis <-90.0> now; - turn jetr1 to x-axis <-90.0> now; - turn jetl2 to x-axis <-90.0> now; - turn jetr2 to x-axis <-90.0> now; - gun_1 = 0; - gun_2 = 0; - gun_3 = 0; - gun_4 = 0; - gun_5 = 0; + turn jetl1 to x-axis <-90.000000> now; + turn jetr1 to x-axis <-90.000000> now; + turn jetl2 to x-axis <-90.000000> now; + turn jetr2 to x-axis <-90.000000> now; + Static_Var_1 = 0; + Static_Var_2 = 0; + Static_Var_3 = 0; + Static_Var_4 = 0; + Static_Var_5 = 0; + Static_Var_6 = 0; + Static_Var_7 = 0; spin dish around y-axis speed <100.021978>; restore_delay = 6000; - SLEEP_UNTIL_UNITFINISHED; - start-script DamagedSmoke(); + start-script SmokeUnit(); } MoveRate0() { - turn jetl1 to x-axis <-92.0> speed <25.0>; - turn jetr1 to x-axis <-92.0> speed <25.0>; - turn jetl2 to x-axis <-90.0> speed <25.0>; - turn jetr2 to x-axis <-90.0> speed <25.0>; + turn jetl1 to x-axis <-92.000000> speed <25.000000>; + turn jetr1 to x-axis <-92.000000> speed <25.000000>; + turn jetl2 to x-axis <-90.000000> speed <25.000000>; + turn jetr2 to x-axis <-90.000000> speed <25.000000>; } MoveRate1() { - turn jetl1 to x-axis <-92.0> speed <15.0>; - turn jetr1 to x-axis <-92.0> speed <15.0>; - turn jetl2 to x-axis <-83.0> speed <15.0>; - turn jetr2 to x-axis <-83.0> speed <15.0>; + turn jetl1 to x-axis <-92.000000> speed <15.000000>; + turn jetr1 to x-axis <-92.000000> speed <15.000000>; + turn jetl2 to x-axis <-83.000000> speed <15.000000>; + turn jetr2 to x-axis <-83.000000> speed <15.000000>; } MoveRate2() { - turn jetl1 to x-axis <-92.0> speed <10.0>; - turn jetr1 to x-axis <-92.0> speed <10.0>; - turn jetl2 to x-axis <-76.0> speed <10.0>; - turn jetr2 to x-axis <-76.0> speed <10.0>; + turn jetl1 to x-axis <-92.000000> speed <10.000000>; + turn jetr1 to x-axis <-92.000000> speed <10.000000>; + turn jetl2 to x-axis <-76.000000> speed <10.000000>; + turn jetr2 to x-axis <-76.000000> speed <10.000000>; } MoveRate3() { - turn jetl1 to x-axis <0.0> speed <20.0>; - turn jetr1 to x-axis <0.0> speed <20.0>; - turn jetl2 to x-axis <0.0> speed <20.0>; - turn jetr2 to x-axis <0.0> speed <20.0>; + turn jetl1 to x-axis <0.000000> speed <20.000000>; + turn jetr1 to x-axis <0.000000> speed <20.000000>; + turn jetl2 to x-axis <0.000000> speed <20.000000>; + turn jetr2 to x-axis <0.000000> speed <20.000000>; } -SetMaxReloadTime(reloadMS) +SetMaxReloadTime(Func_Var_1) { - restore_delay = reloadMS * 2; + restore_delay = Func_Var_1 * 2; } RestoreAfterDelay2() { sleep restore_delay; - turn tur2 to y-axis <0.0> speed <50.0>; - turn sleeve2 to x-axis <0.0> speed <30.0>; - turn tur4 to y-axis <0.0> speed <50.0>; - turn sleeve4 to x-axis <0.0> speed <30.0>; - turn tur5 to y-axis <0.0> speed <50.0>; - turn sleeve5 to x-axis <0.0> speed <30.0>; + turn tur2 to y-axis <0.000000> speed <50.000000>; + turn sleeve2 to x-axis <0.000000> speed <30.000000>; + turn tur4 to y-axis <0.000000> speed <50.000000>; + turn sleeve4 to x-axis <0.000000> speed <30.000000>; + turn tur5 to y-axis <0.000000> speed <50.000000>; + turn sleeve5 to x-axis <0.000000> speed <30.000000>; } static-var Stunned; @@ -107,10 +178,10 @@ ExecuteRestoreAfterDelay() if (Stunned) { return (1); } - turn tur1 to y-axis <0.0> speed <10.0>; - turn sleeve1 to x-axis <0.0> speed <10.0>; - turn tur3 to y-axis <0.0> speed <10.0>; - turn sleeve3 to x-axis <0.0> speed <10.0>; + turn tur1 to y-axis <0.000000> speed <10.000000>; + turn sleeve1 to x-axis <0.000000> speed <10.000000>; + turn tur3 to y-axis <0.000000> speed <10.000000>; + turn sleeve3 to x-axis <0.000000> speed <10.000000>; } SetStunned(State) { @@ -128,10 +199,10 @@ RestoreAfterDelay() RestoreAfterDelay3() { sleep restore_delay; - turn turretmis1 to y-axis <0.0> speed <80.0>; - turn misbox1 to x-axis <0.0> speed <50.0>; - turn turretmis2 to y-axis <0.0> speed <80.0>; - turn misbox2 to x-axis <0.0> speed <50.0>; + turn turretmis1 to y-axis <0.000000> speed <80.000000>; + turn misbox1 to x-axis <0.000000> speed <50.000000>; + turn turretmis2 to y-axis <0.000000> speed <80.000000>; + turn misbox2 to x-axis <0.000000> speed <50.000000>; } //waveSplash() @@ -147,10 +218,10 @@ RestoreAfterDelay3() // } //} -StartMoving(reversing) +StartMoving() { - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; + signal SIG_MOVE; + set-signal-mask SIG_MOVE; //var waketime; //start-script waveSplash(); //while( TRUE ) @@ -165,7 +236,7 @@ StartMoving(reversing) StopMoving() { - signal SIGNAL_MOVE; + signal SIG_MOVE; turn base to x-axis <0.0> speed <0.25>; move base to y-axis [0.0] speed [0.04]; } @@ -174,8 +245,8 @@ AimWeapon1(heading, pitch) { signal 2; set-signal-mask 2; - turn tur1 to y-axis heading speed <50.0>; - turn sleeve1 to x-axis <0.0> - pitch speed <25.0>; + turn tur1 to y-axis heading speed <50.000000>; + turn sleeve1 to x-axis <0.000000> - pitch speed <25.000000>; wait-for-turn tur1 around y-axis; wait-for-turn sleeve1 around x-axis; start-script RestoreAfterDelay(); @@ -184,39 +255,40 @@ AimWeapon1(heading, pitch) FireWeapon1() { - if( gun_1 ) + if( Static_Var_1 ) { emit-sfx 1024 + 1 from flare1b; - move barrel1b to z-axis [-3.0] speed [500.0]; + move barrel1b to z-axis [-3.000000] speed [500.000000]; sleep 100; - move barrel1b to z-axis [0.0] speed [3.0]; + move barrel1b to z-axis [0.000000] speed [3.000000]; + hide flare1b; } else { emit-sfx 1024 + 1 from flare1a; - move barrel1a to z-axis [-3.0] speed [500.0]; + move barrel1a to z-axis [-3.000000] speed [500.000000]; sleep 100; - move barrel1a to z-axis [0.0] speed [3.0]; + move barrel1a to z-axis [0.000000] speed [3.000000]; } - gun_1 = !gun_1; + Static_Var_1 = !Static_Var_1; } -AimFromWeapon1(pieceIndex) +AimFromWeapon1(piecenum) { - pieceIndex = tur1; + piecenum = tur1; } -QueryWeapon1(pieceIndex) +QueryWeapon1(piecenum) { - pieceIndex = flare1a + gun_1; + piecenum = flare1a + Static_Var_1; } AimWeapon2(heading, pitch) { signal 4; set-signal-mask 4; - turn tur2 to y-axis heading speed <90.0>; - turn sleeve2 to x-axis <0.0> - pitch speed <25.0>; + turn tur2 to y-axis heading speed <90.000000>; + turn sleeve2 to x-axis <0.000000> - pitch speed <25.000000>; wait-for-turn tur2 around y-axis; wait-for-turn sleeve2 around x-axis; start-script RestoreAfterDelay2(); @@ -225,50 +297,50 @@ AimWeapon2(heading, pitch) FireWeapon2() { - if( gun_2 == 0 ) + if( Static_Var_2 == 0 ) { emit-sfx 1024 + 0 from flare2a; - move barrel2a to z-axis [-1.0] speed [500.0]; + move barrel2a to z-axis [-1.000000] speed [500.000000]; sleep 100; - move barrel2a to z-axis [0.0] speed [3.0]; + move barrel2a to z-axis [0.000000] speed [3.000000]; } - else if( gun_2 == 1 ) + else if( Static_Var_2 == 1 ) { emit-sfx 1024 + 0 from flare2b; - move barrel2b to z-axis [-1.0] speed [500.0]; + move barrel2b to z-axis [-1.000000] speed [500.000000]; sleep 100; - move barrel2b to z-axis [0.0] speed [3.0]; + move barrel2b to z-axis [0.000000] speed [3.000000]; } else { emit-sfx 1024 + 0 from flare2c; - move barrel2c to z-axis [-1.0] speed [500.0]; + move barrel2c to z-axis [-1.000000] speed [500.000000]; sleep 100; - move barrel2c to z-axis [0.0] speed [3.0]; + move barrel2c to z-axis [0.000000] speed [3.000000]; } - ++gun_2; - if( gun_2 >= 3 ) + ++Static_Var_2; + if( Static_Var_2 >= 3 ) { - gun_2 = 0; + Static_Var_2 = 0; } } -AimFromWeapon2(pieceIndex) +AimFromWeapon2(piecenum) { - pieceIndex = tur2; + piecenum = tur2; } -QueryWeapon2(pieceIndex) +QueryWeapon2(piecenum) { - pieceIndex = flare2a + gun_2; + piecenum = flare2a + Static_Var_2; } AimWeapon3(heading, pitch) { signal 8; set-signal-mask 8; - turn tur3 to y-axis heading speed <50.0>; - turn sleeve3 to x-axis <0.0> - pitch speed <25.0>; + turn tur3 to y-axis heading speed <50.000000>; + turn sleeve3 to x-axis <0.000000> - pitch speed <25.000000>; wait-for-turn tur3 around y-axis; wait-for-turn sleeve3 around x-axis; start-script RestoreAfterDelay(); @@ -277,39 +349,39 @@ AimWeapon3(heading, pitch) FireWeapon3() { - if( gun_3 ) + if( Static_Var_3 ) { emit-sfx 1024 + 1 from flare3b; - move barrel3b to z-axis [-3.0] speed [500.0]; + move barrel3b to z-axis [-3.000000] speed [500.000000]; sleep 100; - move barrel3b to z-axis [0.0] speed [3.0]; + move barrel3b to z-axis [0.000000] speed [3.000000]; } else { emit-sfx 1024 + 1 from flare3a; - move barrel3a to z-axis [-3.0] speed [500.0]; + move barrel3a to z-axis [-3.000000] speed [500.000000]; sleep 100; - move barrel3a to z-axis [0.0] speed [3.0]; + move barrel3a to z-axis [0.000000] speed [3.000000]; } - gun_3 = !gun_3; + Static_Var_3 = !Static_Var_3; } -AimFromWeapon3(pieceIndex) +AimFromWeapon3(piecenum) { - pieceIndex = tur3; + piecenum = tur3; } -QueryWeapon3(pieceIndex) +QueryWeapon3(piecenum) { - pieceIndex = flare3a + gun_3; + piecenum = flare3a + Static_Var_3; } AimWeapon4(heading, pitch) { signal 16; set-signal-mask 16; - turn tur4 to y-axis heading speed <90.0>; - turn sleeve4 to x-axis <0.0> - pitch speed <25.0>; + turn tur4 to y-axis heading speed <90.000000>; + turn sleeve4 to x-axis <0.000000> - pitch speed <25.000000>; wait-for-turn tur4 around y-axis; wait-for-turn sleeve4 around x-axis; start-script RestoreAfterDelay2(); @@ -318,50 +390,50 @@ AimWeapon4(heading, pitch) FireWeapon4() { - if( gun_4 == 0 ) + if( Static_Var_4 == 0 ) { emit-sfx 1024 + 0 from flare4a; - move barrel4a to z-axis [-1.0] speed [500.0]; + move barrel4a to z-axis [-1.000000] speed [500.000000]; sleep 100; - move barrel4a to z-axis [0.0] speed [3.0]; + move barrel4a to z-axis [0.000000] speed [3.000000]; } - else if( gun_4 == 1 ) + else if( Static_Var_4 == 1 ) { emit-sfx 1024 + 0 from flare4b; - move barrel4b to z-axis [-1.0] speed [500.0]; + move barrel4b to z-axis [-1.000000] speed [500.000000]; sleep 100; - move barrel4b to z-axis [0.0] speed [3.0]; + move barrel4b to z-axis [0.000000] speed [3.000000]; } else { emit-sfx 1024 + 0 from flare4c; - move barrel4c to z-axis [-1.0] speed [500.0]; + move barrel4c to z-axis [-1.000000] speed [500.000000]; sleep 100; - move barrel4c to z-axis [0.0] speed [3.0]; + move barrel4c to z-axis [0.000000] speed [3.000000]; } - ++gun_4; - if( gun_4 >= 3 ) + ++Static_Var_4; + if( Static_Var_4 >= 3 ) { - gun_4 = 0; + Static_Var_4 = 0; } } -AimFromWeapon4(pieceIndex) +AimFromWeapon4(piecenum) { - pieceIndex = tur4; + piecenum = tur4; } -QueryWeapon4(pieceIndex) +QueryWeapon4(piecenum) { - pieceIndex = flare4a + gun_4; + piecenum = flare4a + Static_Var_4; } AimWeapon5(heading, pitch) { signal 32; set-signal-mask 32; - turn tur5 to y-axis heading speed <90.0>; - turn sleeve5 to x-axis <0.0> - pitch speed <25.0>; + turn tur5 to y-axis heading speed <90.000000>; + turn sleeve5 to x-axis <0.000000> - pitch speed <25.000000>; wait-for-turn tur5 around y-axis; wait-for-turn sleeve5 around x-axis; start-script RestoreAfterDelay2(); @@ -370,50 +442,51 @@ AimWeapon5(heading, pitch) FireWeapon5() { - if( gun_5 == 0 ) + if( Static_Var_5 == 0 ) { emit-sfx 1024 + 0 from flare5a; - move barrel5a to z-axis [-1.0] speed [500.0]; + move barrel5a to z-axis [-1.000000] speed [500.000000]; sleep 100; - move barrel5a to z-axis [0.0] speed [3.0]; + move barrel5a to z-axis [0.000000] speed [3.000000]; } - else if( gun_5 == 1 ) + else if( Static_Var_5 == 1 ) { emit-sfx 1024 + 0 from flare5b; - move barrel5b to z-axis [-1.0] speed [500.0]; + move barrel5b to z-axis [-1.000000] speed [500.000000]; sleep 100; - move barrel5b to z-axis [0.0] speed [3.0]; + move barrel5b to z-axis [0.000000] speed [3.000000]; + hide flare5b; } else { emit-sfx 1024 + 0 from flare5c; - move barrel5c to z-axis [-1.0] speed [500.0]; + move barrel5c to z-axis [-1.000000] speed [500.000000]; sleep 100; - move barrel5c to z-axis [0.0] speed [3.0]; + move barrel5c to z-axis [0.000000] speed [3.000000]; } - ++gun_5; - if( gun_5 >= 3 ) + ++Static_Var_5; + if( Static_Var_5 >= 3 ) { - gun_5 = 0; + Static_Var_5 = 0; } } -AimFromWeapon5(pieceIndex) +AimFromWeapon5(piecenum) { - pieceIndex = tur5; + piecenum = tur5; } -QueryWeapon5(pieceIndex) +QueryWeapon5(piecenum) { - pieceIndex = flare5a + gun_5; + piecenum = flare5a + Static_Var_5; } AimWeapon6(heading, pitch) { signal 64; set-signal-mask 64; - turn turretmis1 to y-axis heading speed <250.0>; - turn misbox1 to x-axis <0> - pitch speed <200.0>; + turn turretmis1 to y-axis heading speed <250.000000>; + turn misbox1 to x-axis <0> - pitch speed <200.000000>; wait-for-turn turretmis1 around y-axis; wait-for-turn misbox1 around x-axis; start-script RestoreAfterDelay3(); @@ -425,22 +498,22 @@ FireWeapon6() emit-sfx 1024 + 2 from misflare1; } -AimFromWeapon6(pieceIndex) +AimFromWeapon6(piecenum) { - pieceIndex = misflare1; + piecenum = misflare1; } -QueryWeapon6(pieceIndex) +QueryWeapon6(piecenum) { - pieceIndex = misflare1; + piecenum = misflare1; } AimWeapon7(heading, pitch) { signal 128; set-signal-mask 128; - turn turretmis2 to y-axis heading speed <250.0>; - turn misbox2 to x-axis <0> - pitch speed <200.0>; + turn turretmis2 to y-axis heading speed <250.000000>; + turn misbox2 to x-axis <0> - pitch speed <200.000000>; wait-for-turn turretmis2 around y-axis; wait-for-turn misbox2 around x-axis; start-script RestoreAfterDelay3(); @@ -452,17 +525,20 @@ FireWeapon7() emit-sfx 1024 + 2 from misflare2; } -AimFromWeapon7(pieceIndex) +AimFromWeapon7(piecenum) { - pieceIndex = turretmis2; + piecenum = turretmis2; } -QueryWeapon7(pieceIndex) +QueryWeapon7(piecenum) { - pieceIndex = misflare2; + piecenum = misflare2; } - +SweetSpot(piecenum) +{ + piecenum = ground; +} Killed(severity, corpsetype) { @@ -476,38 +552,38 @@ Killed(severity, corpsetype) explode barrel3b type FIRE | SMOKE | FALL | NOHEATCLOUD; explode flare3b type BITMAPONLY | NOHEATCLOUD; explode barrel3a type BITMAPONLY | NOHEATCLOUD; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + //explode flare3a type BITMAPONLY | NOHEATCLOUD; + //explode tur4 type BITMAPONLY | NOHEATCLOUD; + //explode sleeve4 type BITMAPONLY | NOHEATCLOUD; + //explode barrel4c type BITMAPONLY | NOHEATCLOUD; + //explode flare4c type BITMAPONLY | NOHEATCLOUD; + //explode barrel4b type BITMAPONLY | NOHEATCLOUD; + //explode flare4b type BITMAPONLY | NOHEATCLOUD; + //explode barrel4a type BITMAPONLY | NOHEATCLOUD; + //explode flare4a type BITMAPONLY | NOHEATCLOUD; + //explode tur2 type BITMAPONLY | NOHEATCLOUD; + //explode sleeve2 type BITMAPONLY | NOHEATCLOUD; + //explode barrel2c type BITMAPONLY | NOHEATCLOUD; + //explode flare2c type BITMAPONLY | NOHEATCLOUD; + //explode barrel2b type BITMAPONLY | NOHEATCLOUD; + //explode flare2b type BITMAPONLY | NOHEATCLOUD; + //explode barrel2a type BITMAPONLY | NOHEATCLOUD; + //explode flare2a type BITMAPONLY | NOHEATCLOUD; + //explode tur5 type BITMAPONLY | NOHEATCLOUD; + //explode sleeve5 type BITMAPONLY | NOHEATCLOUD; + //explode barrel5c type BITMAPONLY | NOHEATCLOUD; + //explode flare5c type BITMAPONLY | NOHEATCLOUD; + //explode barrel5b type BITMAPONLY | NOHEATCLOUD; + //explode flare5b type BITMAPONLY | NOHEATCLOUD; + //explode barrel5a type BITMAPONLY | NOHEATCLOUD; + //explode flare5a type BITMAPONLY | NOHEATCLOUD; + //explode tur1 type BITMAPONLY | NOHEATCLOUD; + //explode sleeve1 type BITMAPONLY | NOHEATCLOUD; + //explode barrel1b type BITMAPONLY | NOHEATCLOUD; + //explode flare1b type BITMAPONLY | NOHEATCLOUD; + //explode barrel1a type BITMAPONLY | NOHEATCLOUD; + //explode flare1a type BITMAPONLY | NOHEATCLOUD; + //explode dish type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } if( severity <= 50 ) @@ -519,37 +595,37 @@ Killed(severity, corpsetype) explode barrel3b type FALL | NOHEATCLOUD; explode flare3b type FALL | NOHEATCLOUD; explode barrel3a type FIRE | SMOKE | FALL | NOHEATCLOUD; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + //explode flare3a type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode tur4 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode sleeve4 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode barrel4c type FALL | NOHEATCLOUD; + //explode flare4c type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode barrel4b type FALL | NOHEATCLOUD; + //explode flare4b type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode barrel4a type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare4a type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode tur2 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode sleeve2 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode barrel2c type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare2c type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode barrel2b type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare2b type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode barrel2a type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare2a type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode tur5 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode sleeve5 type FALL | NOHEATCLOUD; + //explode barrel5c type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare5c type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode barrel5b type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare5b type FALL | NOHEATCLOUD; + //explode barrel5a type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare5a type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode sleeve1 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode barrel1b type FALL | NOHEATCLOUD; + //explode flare1b type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode barrel1a type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare1a type FALL | NOHEATCLOUD; + //explode dish type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) @@ -562,38 +638,38 @@ Killed(severity, corpsetype) explode barrel3b type SMOKE | FALL | NOHEATCLOUD; explode flare3b type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode barrel3a type FIRE | SMOKE | FALL | NOHEATCLOUD; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + //explode flare3a type SMOKE | FALL | NOHEATCLOUD; + //explode tur4 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode sleeve4 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode barrel4c type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare4c type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode barrel4b type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare4b type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode barrel4a type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode flare4a type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode tur2 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode sleeve2 type SMOKE | FALL | NOHEATCLOUD; + //explode barrel2c type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode flare2c type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode barrel2b type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare2b type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode barrel2a type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare2a type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode tur5 type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode sleeve5 type SMOKE | FALL | NOHEATCLOUD; + //explode barrel5c type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare5c type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode barrel5b type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare5b type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode barrel5a type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare5a type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode tur1 type BITMAPONLY | NOHEATCLOUD; + //explode sleeve1 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode barrel1b type SMOKE | FALL | NOHEATCLOUD; + //explode flare1b type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode barrel1a type SMOKE | FALL | NOHEATCLOUD; + //explode flare1a type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode dish type SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; @@ -604,37 +680,37 @@ Killed(severity, corpsetype) explode barrel3b type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode flare3b type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode barrel3a type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + //explode flare3a type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode tur4 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode sleeve4 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode barrel4c type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare4c type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode barrel4b type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare4b type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode barrel4a type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode flare4a type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode tur2 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode sleeve2 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode barrel2c type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare2c type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode barrel2b type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare2b type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode barrel2a type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode flare2a type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode tur5 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode sleeve5 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode barrel5c type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode flare5c type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode barrel5b type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare5b type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode barrel5a type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode flare5a type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode tur1 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode sleeve1 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode barrel1b type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare1b type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode barrel1a type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare1a type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode dish type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/scavboss/armfepocht4.cob b/scripts/Units/scavboss/armfepocht4.cob index 0a10d747aeeec22f7d65bb6799d5736153efc948..32be1e494bd872f9bca1a3b4d41f4598a078b9ce 100644 GIT binary patch literal 8516 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 S*0-;13$_f8Il speed <72.0>; - turn rfthigh to z-axis <0> speed <42.0>; + turn rfthigh to y-axis <0> speed <72.000000>; + turn rfthigh to z-axis <0> speed <42.000000>; - turn rfleg to x-axis <0> speed <48.0>; - turn rfleg to z-axis <0> speed <126.0>; + turn rfleg to x-axis <0> speed <48.000000>; + turn rfleg to z-axis <0> speed <126.000000>; - turn rffoot to x-axis <0> speed <60.0>; - turn rffoot to y-axis <0> speed <54.0>; - turn rffoot to z-axis <0> speed <66.0>; + turn rffoot to x-axis <0> speed <60.000000>; + turn rffoot to y-axis <0> speed <54.000000>; + turn rffoot to z-axis <0> speed <66.000000>; - turn rbthigh to y-axis <-9> speed <54.0>; - turn rbthigh to z-axis <10> speed <60.0>; + turn rbthigh to y-axis <-9> speed <54.000000>; + turn rbthigh to z-axis <10> speed <60.000000>; turn rbleg to x-axis <0> now; - turn rbleg to z-axis <-11> speed <66.0>; + turn rbleg to z-axis <-11> speed <66.000000>; turn rbfoot to x-axis <9.3> speed <55.800000>; - turn rbfoot to y-axis <9> speed <54.0>; - turn rbfoot to z-axis <-1> speed <6.0>; + turn rbfoot to y-axis <9> speed <54.000000>; + turn rbfoot to z-axis <-1> speed <6.000000>; - turn lbthigh to y-axis <0> speed <72.0>; - turn lbthigh to z-axis <0> speed <42.0>; + turn lbthigh to y-axis <0> speed <72.000000>; + turn lbthigh to z-axis <0> speed <42.000000>; - turn lbleg to x-axis <0> speed <48.0>; - turn lbleg to z-axis <0> speed <126.0>; + turn lbleg to x-axis <0> speed <48.000000>; + turn lbleg to z-axis <0> speed <126.000000>; - turn lbfoot to x-axis <0> speed <60.0>; - turn lbfoot to y-axis <0> speed <54.0>; - turn lbfoot to z-axis <0> speed <66.0>; + turn lbfoot to x-axis <0> speed <60.000000>; + turn lbfoot to y-axis <0> speed <54.000000>; + turn lbfoot to z-axis <0> speed <66.000000>; - turn lfthigh to y-axis <9> speed <54.0>; - turn lfthigh to z-axis <-10> speed <60.0>; + turn lfthigh to y-axis <9> speed <54.000000>; + turn lfthigh to z-axis <-10> speed <60.000000>; turn lfleg to x-axis <0> now; - turn lfleg to z-axis <11> speed <66.0>; + turn lfleg to z-axis <11> speed <66.000000>; turn lffoot to x-axis <9.3> speed <55.800000>; - turn lffoot to y-axis <-9> speed <54.0>; - turn lffoot to z-axis <1> speed <6.0>; + turn lffoot to y-axis <-9> speed <54.000000>; + turn lffoot to z-axis <1> speed <6.000000>; sleep 140; } - if (isMoving | bSteering) + if (bMoving | bSteering) { // step 1 foot back - turn rfthigh to y-axis <-15> speed <90.0>; - turn rfthigh to z-axis <-4> speed <24.0>; + turn rfthigh to y-axis <-15> speed <90.000000>; + turn rfthigh to z-axis <-4> speed <24.000000>; turn rfleg to x-axis <0> now; - turn rfleg to z-axis <14> speed <84.0>; + turn rfleg to z-axis <14> speed <84.000000>; - turn rffoot to x-axis <-2> speed <12.0>; - turn rffoot to y-axis <15> speed <90.0>; - turn rffoot to z-axis <-9> speed <54.0>; + turn rffoot to x-axis <-2> speed <12.000000>; + turn rffoot to y-axis <15> speed <90.000000>; + turn rffoot to z-axis <-9> speed <54.000000>; - turn rbthigh to y-axis <12> speed <126.0>; - turn rbthigh to z-axis <20> speed <60.0>; + turn rbthigh to y-axis <12> speed <126.000000>; + turn rbthigh to z-axis <20> speed <60.000000>; - turn rbleg to x-axis <-8> speed <48.0>; - turn rbleg to z-axis <-28> speed <102.0>; + turn rbleg to x-axis <-8> speed <48.000000>; + turn rbleg to z-axis <-28> speed <102.000000>; turn rbfoot to x-axis <-12> speed <127.800000>; - turn rbfoot to y-axis <-13> speed <132.0>; - turn rbfoot to z-axis <9> speed <60.0>; + turn rbfoot to y-axis <-13> speed <132.000000>; + turn rbfoot to z-axis <9> speed <60.000000>; - turn lbthigh to y-axis <15> speed <90.0>; - turn lbthigh to z-axis <4> speed <24.0>; + turn lbthigh to y-axis <15> speed <90.000000>; + turn lbthigh to z-axis <4> speed <24.000000>; turn lbleg to x-axis <0> now; - turn lbleg to z-axis <-14> speed <84.0>; + turn lbleg to z-axis <-14> speed <84.000000>; - turn lbfoot to x-axis <-2> speed <12.0>; - turn lbfoot to y-axis <-15> speed <90.0>; - turn lbfoot to z-axis <9> speed <54.0>; + turn lbfoot to x-axis <-2> speed <12.000000>; + turn lbfoot to y-axis <-15> speed <90.000000>; + turn lbfoot to z-axis <9> speed <54.000000>; - turn lfthigh to y-axis <-12> speed <126.0>; - turn lfthigh to z-axis <-20> speed <60.0>; + turn lfthigh to y-axis <-12> speed <126.000000>; + turn lfthigh to z-axis <-20> speed <60.000000>; - turn lfleg to x-axis <-8> speed <48.0>; - turn lfleg to z-axis <28> speed <102.0>; + turn lfleg to x-axis <-8> speed <48.000000>; + turn lfleg to z-axis <28> speed <102.000000>; turn lffoot to x-axis <-12> speed <127.800000>; - turn lffoot to y-axis <13> speed <132.0>; - turn lffoot to z-axis <-9> speed <60.0>; + turn lffoot to y-axis <13> speed <132.000000>; + turn lffoot to z-axis <-9> speed <60.000000>; sleep 140; } - if (isMoving | bSteering) + if (bMoving | bSteering) { // step 2 foot lift heel - turn rfthigh to y-axis <-23> speed <48.0>; - turn rfthigh to z-axis <0> speed <24.0>; + turn rfthigh to y-axis <-23> speed <48.000000>; + turn rfthigh to z-axis <0> speed <24.000000>; turn rfleg to x-axis <0> now; - turn rfleg to z-axis <10> speed <24.0>; + turn rfleg to z-axis <10> speed <24.000000>; turn rffoot to x-axis <9.3> speed <67.800000>; - turn rffoot to y-axis <25> speed <60.0>; - turn rffoot to z-axis <-10> speed <6.0>; + turn rffoot to y-axis <25> speed <60.000000>; + turn rffoot to z-axis <-10> speed <6.000000>; turn rbthigh to y-axis <12> now; - turn rbthigh to z-axis <-7> speed <162.0>; + turn rbthigh to z-axis <-7> speed <162.000000>; turn rbleg to x-axis <-8> now; - turn rbleg to z-axis <21> speed <294.0>; + turn rbleg to z-axis <21> speed <294.000000>; - turn rbfoot to x-axis <10> speed <132.0>; - turn rbfoot to y-axis <-9> speed <24.0>; - turn rbfoot to z-axis <-11> speed <120.0>; + turn rbfoot to x-axis <10> speed <132.000000>; + turn rbfoot to y-axis <-9> speed <24.000000>; + turn rbfoot to z-axis <-11> speed <120.000000>; - turn lbthigh to y-axis <23> speed <48.0>; - turn lbthigh to z-axis <0> speed <24.0>; + turn lbthigh to y-axis <23> speed <48.000000>; + turn lbthigh to z-axis <0> speed <24.000000>; turn lbleg to x-axis <0> now; - turn lbleg to z-axis <-10> speed <24.0>; + turn lbleg to z-axis <-10> speed <24.000000>; turn lbfoot to x-axis <9.3> speed <67.800000>; - turn lbfoot to y-axis <-25> speed <60.0>; - turn lbfoot to z-axis <10> speed <6.0>; + turn lbfoot to y-axis <-25> speed <60.000000>; + turn lbfoot to z-axis <10> speed <6.000000>; turn lfthigh to y-axis <-12> now; - turn lfthigh to z-axis <7> speed <162.0>; + turn lfthigh to z-axis <7> speed <162.000000>; turn lfleg to x-axis <-8> now; - turn lfleg to z-axis <-21> speed <294.0>; + turn lfleg to z-axis <-21> speed <294.000000>; - turn lffoot to x-axis <10> speed <132.0>; - turn lffoot to y-axis <9> speed <24.0>; - turn lffoot to z-axis <11> speed <120.0>; + turn lffoot to x-axis <10> speed <132.000000>; + turn lffoot to y-axis <9> speed <24.000000>; + turn lffoot to z-axis <11> speed <120.000000>; sleep 140; } - if (isMoving | bSteering) + if (bMoving | bSteering) { // step 3 foot lifted up - turn rfthigh to y-axis <-9> speed <84.0>; - turn rfthigh to z-axis <10> speed <60.0>; + turn rfthigh to y-axis <-9> speed <84.000000>; + turn rfthigh to z-axis <10> speed <60.000000>; turn rfleg to x-axis <0> now; - turn rfleg to z-axis <-11> speed <126.0>; + turn rfleg to z-axis <-11> speed <126.000000>; turn rffoot to x-axis <9.3> now; - turn rffoot to y-axis <9> speed <96.0>; - turn rffoot to z-axis <-1> speed <54.0>; + turn rffoot to y-axis <9> speed <96.000000>; + turn rffoot to z-axis <-1> speed <54.000000>; - turn rbthigh to y-axis <0> speed <72.0>; - turn rbthigh to z-axis <0> speed <42.0>; + turn rbthigh to y-axis <0> speed <72.000000>; + turn rbthigh to z-axis <0> speed <42.000000>; - turn rbleg to x-axis <0> speed <48.0>; - turn rbleg to z-axis <0> speed <126.0>; + turn rbleg to x-axis <0> speed <48.000000>; + turn rbleg to z-axis <0> speed <126.000000>; - turn rbfoot to x-axis <0> speed <60.0>; - turn rbfoot to y-axis <0> speed <54.0>; - turn rbfoot to z-axis <0> speed <66.0>; + turn rbfoot to x-axis <0> speed <60.000000>; + turn rbfoot to y-axis <0> speed <54.000000>; + turn rbfoot to z-axis <0> speed <66.000000>; - turn lbthigh to y-axis <9> speed <84.0>; - turn lbthigh to z-axis <-10> speed <60.0>; + turn lbthigh to y-axis <9> speed <84.000000>; + turn lbthigh to z-axis <-10> speed <60.000000>; turn lbleg to x-axis <0> now; - turn lbleg to z-axis <11> speed <126.0>; + turn lbleg to z-axis <11> speed <126.000000>; turn lbfoot to x-axis <9.3> now; - turn lbfoot to y-axis <-9> speed <96.0>; - turn lbfoot to z-axis <1> speed <54.0>; + turn lbfoot to y-axis <-9> speed <96.000000>; + turn lbfoot to z-axis <1> speed <54.000000>; - turn lfthigh to y-axis <0> speed <72.0>; - turn lfthigh to z-axis <0> speed <42.0>; + turn lfthigh to y-axis <0> speed <72.000000>; + turn lfthigh to z-axis <0> speed <42.000000>; - turn lfleg to x-axis <0> speed <48.0>; - turn lfleg to z-axis <0> speed <126.0>; + turn lfleg to x-axis <0> speed <48.000000>; + turn lfleg to z-axis <0> speed <126.000000>; - turn lffoot to x-axis <0> speed <60.0>; - turn lffoot to y-axis <0> speed <54.0>; - turn lffoot to z-axis <0> speed <66.0>; + turn lffoot to x-axis <0> speed <60.000000>; + turn lffoot to y-axis <0> speed <54.000000>; + turn lffoot to z-axis <0> speed <66.000000>; sleep 140; } - if (isMoving | bSteering) + if (bMoving | bSteering) { // step 4 foot forward - turn rfthigh to y-axis <12> speed <126.0>; - turn rfthigh to z-axis <20> speed <60.0>; + turn rfthigh to y-axis <12> speed <126.000000>; + turn rfthigh to z-axis <20> speed <60.000000>; - turn rfleg to x-axis <-8> speed <48.0>; - turn rfleg to z-axis <-28> speed <102.0>; + turn rfleg to x-axis <-8> speed <48.000000>; + turn rfleg to z-axis <-28> speed <102.000000>; turn rffoot to x-axis <-12> speed <127.800000>; - turn rffoot to y-axis <-13> speed <132.0>; - turn rffoot to z-axis <9> speed <60.0>; + turn rffoot to y-axis <-13> speed <132.000000>; + turn rffoot to z-axis <9> speed <60.000000>; - turn rbthigh to y-axis <-15> speed <90.0>; - turn rbthigh to z-axis <-4> speed <24.0>; + turn rbthigh to y-axis <-15> speed <90.000000>; + turn rbthigh to z-axis <-4> speed <24.000000>; turn rbleg to x-axis <0> now; - turn rbleg to z-axis <14> speed <84.0>; + turn rbleg to z-axis <14> speed <84.000000>; - turn rbfoot to x-axis <-2> speed <12.0>; - turn rbfoot to y-axis <15> speed <90.0>; - turn rbfoot to z-axis <-9> speed <54.0>; + turn rbfoot to x-axis <-2> speed <12.000000>; + turn rbfoot to y-axis <15> speed <90.000000>; + turn rbfoot to z-axis <-9> speed <54.000000>; - turn lbthigh to y-axis <-12> speed <126.0>; - turn lbthigh to z-axis <-20> speed <60.0>; + turn lbthigh to y-axis <-12> speed <126.000000>; + turn lbthigh to z-axis <-20> speed <60.000000>; - turn lbleg to x-axis <-8> speed <48.0>; - turn lbleg to z-axis <28> speed <102.0>; + turn lbleg to x-axis <-8> speed <48.000000>; + turn lbleg to z-axis <28> speed <102.000000>; turn lbfoot to x-axis <-12> speed <127.800000>; - turn lbfoot to y-axis <13> speed <132.0>; - turn lbfoot to z-axis <-9> speed <60.0>; + turn lbfoot to y-axis <13> speed <132.000000>; + turn lbfoot to z-axis <-9> speed <60.000000>; - turn lfthigh to y-axis <15> speed <90.0>; - turn lfthigh to z-axis <4> speed <24.0>; + turn lfthigh to y-axis <15> speed <90.000000>; + turn lfthigh to z-axis <4> speed <24.000000>; turn lfleg to x-axis <0> now; - turn lfleg to z-axis <-14> speed <84.0>; + turn lfleg to z-axis <-14> speed <84.000000>; - turn lffoot to x-axis <-2> speed <12.0>; - turn lffoot to y-axis <-15> speed <90.0>; - turn lffoot to z-axis <9> speed <54.0>; + turn lffoot to x-axis <-2> speed <12.000000>; + turn lffoot to y-axis <-15> speed <90.000000>; + turn lffoot to z-axis <9> speed <54.000000>; sleep 140; } - if (isMoving | bSteering) + if (bMoving | bSteering) { // step 5 put down foot up front turn rfthigh to y-axis <12> now; - turn rfthigh to z-axis <-7> speed <162.0>; + turn rfthigh to z-axis <-7> speed <162.000000>; turn rfleg to x-axis <-8> now; - turn rfleg to z-axis <21> speed <294.0>; + turn rfleg to z-axis <21> speed <294.000000>; - turn rffoot to x-axis <10> speed <132.0>; - turn rffoot to y-axis <-9> speed <24.0>; - turn rffoot to z-axis <-11> speed <120.0>; + turn rffoot to x-axis <10> speed <132.000000>; + turn rffoot to y-axis <-9> speed <24.000000>; + turn rffoot to z-axis <-11> speed <120.000000>; - turn rbthigh to y-axis <-23> speed <48.0>; - turn rbthigh to z-axis <0> speed <24.0>; + turn rbthigh to y-axis <-23> speed <48.000000>; + turn rbthigh to z-axis <0> speed <24.000000>; turn rbleg to x-axis <0> now; - turn rbleg to z-axis <10> speed <24.0>; + turn rbleg to z-axis <10> speed <24.000000>; turn rbfoot to x-axis <9.3> speed <67.800000>; - turn rbfoot to y-axis <25> speed <60.0>; - turn rbfoot to z-axis <-10> speed <6.0>; + turn rbfoot to y-axis <25> speed <60.000000>; + turn rbfoot to z-axis <-10> speed <6.000000>; turn lbthigh to y-axis <-12> now; - turn lbthigh to z-axis <7> speed <162.0>; + turn lbthigh to z-axis <7> speed <162.000000>; turn lbleg to x-axis <-8> now; - turn lbleg to z-axis <-21> speed <294.0>; + turn lbleg to z-axis <-21> speed <294.000000>; - turn lbfoot to x-axis <10> speed <132.0>; - turn lbfoot to y-axis <9> speed <24.0>; - turn lbfoot to z-axis <11> speed <120.0>; + turn lbfoot to x-axis <10> speed <132.000000>; + turn lbfoot to y-axis <9> speed <24.000000>; + turn lbfoot to z-axis <11> speed <120.000000>; - turn lfthigh to y-axis <23> speed <48.0>; - turn lfthigh to z-axis <0> speed <24.0>; + turn lfthigh to y-axis <23> speed <48.000000>; + turn lfthigh to z-axis <0> speed <24.000000>; turn lfleg to x-axis <0> now; - turn lfleg to z-axis <-10> speed <24.0>; + turn lfleg to z-axis <-10> speed <24.000000>; turn lffoot to x-axis <9.3> speed <67.800000>; - turn lffoot to y-axis <-25> speed <60.0>; - turn lffoot to z-axis <10> speed <6.0>; + turn lffoot to y-axis <-25> speed <60.000000>; + turn lffoot to z-axis <10> speed <6.000000>; } sleep 140; @@ -324,79 +353,92 @@ Steering(heading) } } - -#define BASEPIECE body -#define MAXTILT 0 -#include "../../unit_hitbyweaponid_and_smoke.h" +HitByWeapon(anglex, anglez) +{ + turn body to z-axis anglez speed <55.000000>; + turn body to x-axis <0> - anglex speed <55.000000>; + wait-for-turn body around z-axis; + wait-for-turn body around x-axis; + turn body to z-axis <0.000000> speed <20.000000>; + turn body to x-axis <0.000000> speed <20.000000>; +} RockUnit(anglex, anglez) { - turn body to x-axis anglex speed <50.0>; - turn body to z-axis <0> - anglez speed <50.0>; + turn body to x-axis anglex speed <50.000000>; + turn body to z-axis <0> - anglez speed <50.000000>; wait-for-turn body around z-axis; wait-for-turn body around x-axis; - turn body to z-axis <0.0> speed <20.0>; - turn body to x-axis <0.0> speed <20.0>; + turn body to z-axis <0.000000> speed <20.000000>; + turn body to x-axis <0.000000> speed <20.000000>; } Create() { hide flare; hide flare; - isMoving = FALSE; - isAiming = FALSE; + dont-cache flare; + bMoving = FALSE; + bAiming = FALSE; bSteering = FALSE; + Static_Var_3 = 1; oldHeading = get HEADING; gun_1 = body; + start-script SmokeUnit(); start-script Steering(); - start-script Movement(); + start-script MotionControl(); } -StartMoving(reversing) +StartMoving() { - isMoving = TRUE; - //set-signal-mask SIGNAL_MOVE; + bMoving = TRUE; + //set-signal-mask SIG_MOVE; } StopMoving() { - isMoving = FALSE; - //signal SIGNAL_MOVE; -} + bMoving = FALSE; + //signal SIG_MOVE; + Static_Var_3 = 1; +} +SweetSpot(piecenum) +{ + piecenum = body; +} RestoreAfterDelay() { - set-signal-mask SIGNAL_AIM1; + set-signal-mask SIG_AIM; sleep 8000; - turn turret to y-axis <0.0> speed <36.0>; - turn sleeve to x-axis <0.0> speed <30.0>; + turn turret to y-axis <0.000000> speed <36.000000>; + turn sleeve to x-axis <0.000000> speed <30.000000>; wait-for-turn turret around y-axis; wait-for-turn sleeve around x-axis; - wpn1_lasthead = 0xbadface; - isAiming = FALSE; + wpn1_lasthead = 1000000; + bAiming = FALSE; } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = turret; + piecenum = turret; } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = flare; + piecenum = flare; } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - isAiming = TRUE; - signal SIGNAL_AIM1; - turn turret to y-axis heading speed <30.0>; - turn sleeve to x-axis <0.0> - pitch speed <45.0>; - if ((wpn1_lasthead == 0xbadface) OR ABSOLUTE_GREATER_THAN(WRAPDELTA(heading - wpn1_lasthead), <2>)) + bAiming = TRUE; + signal SIG_AIM; + turn turret to y-axis heading speed <30.000000>; + turn sleeve to x-axis <0.000000> - pitch speed <45.000000>; + if (((get ABS(wpn1_lasthead - heading)) > 65536) OR(((get ABS(wpn1_lasthead - heading)) > <2>) AND ((get ABS(wpn1_lasthead - heading)) < 65536 - <2>))) { - wpn1_lasthead = 0xbadface; + wpn1_lasthead = 1000000; wait-for-turn turret around y-axis; wait-for-turn sleeve around x-axis; } @@ -405,13 +447,13 @@ AimWeapon1(heading, pitch) return (1); } -FireWeapon1() +FirePrimary() { gun_1 = turret; move barrel to z-axis [-2.750000] speed [20.625000]; emit-sfx 1024 + 0 from flare; sleep 50; - move barrel to z-axis [0.0] speed [1.0]; + move barrel to z-axis [0.000000] speed [1.000000]; sleep 100; gun_1 = body; } diff --git a/scripts/Units/scavboss/armlunchbox.cob b/scripts/Units/scavboss/armlunchbox.cob index 70eefafa21c65b415a4ad52ae2f07739cd85b116..b5e845b374882161e311f588fc170398f48c10e4 100644 GIT binary patch literal 10538 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 literal 8808 zcmb7~Ux-~-6~=dx>8NdLuUe%-#W8}lrPPW4QK*v`Li`75Vii+_&ScIcL+<2;o7-aW zp%o&Cgn}SaixzZ%*k=y83fwCZ#7errwv*t(x!CbxUt+Z;S5J-P65a zPD!S@r@m^c^=&=Np3$v!XFpP|7NwcgyUObxlAV9gM%mUXo7u5mHm!AkZ1?@IZIoem z_LlWBaE=bPf6eQtZX z__7TBpWjq;9(J`VB+CEt|T+2^@>UY4QX;(v9p zBL-@~GGYh+Us+!{TZYdwUYp(0yBtp*loMn6zt5EGSN>JbF!H1)Vp`{eudd1PZ}+Y- zmxVvp`}L>G^`etgJeHyV9RZZj@U`MA@`D(D<^*JCnZnEZZT^ZHkssi{y~Ysv(c&NZK@8M@WyB8t#BLdQfIoQn7_cMfC;wUSunfBv|Hu>Y zzwizjDCfwN7XQc-@V~v*UgQa}L=F+lW;{70Mb|Ac|KuMfpGiDX#5rcm@SoQnU(XZH zm1lS4$wz0)emsjKPsrm5zc7VO`OxAX`OxAXc|q)86nOy-$RaO@Gs-T9`y1iK-zqPNi(X_B zFX%-gFUXZ%B=%Fh3+Y87KiYR;^go?L{I#h=E=(zArdK>M*`9z@J`Z5TKpqlz@J_u@&)|K zA@ZfoJ@N(o=>;QSz(4W?{OJWFPg?vVPl$nD&@y-e{?yJJ;mJ?ycSU-U$PeC)^dgZT zyc;7gcsJ6EL|%YB@1V#FFa-O^3*L>qiy|+m5qiH#yx_UA883)|_#!XbUL^8@x}o=r zyr381`5$>fFB16x-t;1o58xen0N(T>kq0f_kq6{Ty+j^>H}9ax1MsHzo5Ta~-i!yt z05*{aE#8p_;7#urc>vy=;UpfUx#aeYWUs ztv3GduGdS_uUGlEttYC!?Wd%xY1*JWTXdhj65ahp_k7j$R`_+CyS<>_5XO6G&m50( zdo0+bnw#@u*vem1oR@RGSoIgZCVk7bl;ytP<@*}@)p`Ipck|jZi&Bl%GOvL_elGN; zi!Z4;R>$b8b%&i@{2Z}+m_G7Jy?{*Gr6V4BbDU5qF&yk=Jc_u z=QW=*eVuy(+YqbQ)9kj4PqtSKN#7T|9BshGwpr$#eY3%K&E8_?Y1`Af_4V7jvOhlC zYnq+PHt5<-tHT`KsN*%~4EDR~o}AO9xb5$P6>2`YcQO{eawgdN>Ke8F1DcHEXfT^3 zv*}o0X9qSu3)k$qdS+9ePvEC*oeOpQXw~=9`1jkek8wiBag6uK zzvNXeRJ*6D-4-jpRBFV}oj=s|tzn%yvA+*{1L11itp8Am+cgX)tb6ADr9NzuDyF_g z=Bww_P?}k*w|uTTnJo98dhc7?`Ao6L_oNy}hMliD&bw2o`Fh2dv5&f*8;U45{+{#f zwT^2k>Xi8Ptg$%NFU$2LnK4Gs_pICB-0tggd^+xN3@tWoKCvF{KFW>H<>Zk|>-KPPCrYl)fx1jh zey<4!aB6FdocxX;muD{h;u^mr@Q2LxXg?S3)5dys`2M9;`JOBHFW;wls!rdrX+7Ov zczIR?w!VEk2k&(`e8>Ba^`_VT{%_Zux9{zbT2GH$Uviy$byX}b?=R`({GF`0jc(y? zsSjz4F>37=WkwzOcHMqn2s|ft@28Rz9wq;q)dYLZ@%o&7_52ZC^~=ndW6U`V<~;v? zRP}Se9qe0wPBr?6kN5)v=D80K{@hDP``jZ3dF~^_+`VAb&plp{=bkyt-S^c4vxsd@yAsk9GQb7_TWe! z;D~&?{P6g4GWiteArp^DD&)|6s)&tndd`$ia#^ zHHSVmha9YsgBA15uyWdu>cB5(yh~vGP~%S;SE*=j()f_Z$2IQKIIM9@<1vlrHT?e* z?$9`-aa3cZ@hy$-YJ5-QVU4pIztQ-;#ve8Qtnqh^iyE(Jq#Y?uYh0^wy~d3iJ2Y`Zsu(+%r(J1t{<@A9zY{tL_fez%ww28*ZC=$_%Q8>OZG{IE+4 z^P2S2$$r<}+oj>s=;-p1qq_FHBl^2E7>rWCF81?czbp speed <20.0>; - turn rthigh to x-axis <22> speed <220.0>; - turn rleg to x-axis <1> speed <10.0>; - turn rfoot to x-axis <-23> speed <230.0>; + turn rthigh to z-axis <-2> speed <20.000000>; + turn rthigh to x-axis <22> speed <220.000000>; + turn rleg to x-axis <1> speed <10.000000>; + turn rfoot to x-axis <-23> speed <230.000000>; - turn lthigh to z-axis <2> speed <20.0>; - turn lthigh to x-axis <-21> speed <210.0>; - turn lleg to x-axis <-22> speed <220.0>; - turn lfoot to x-axis <14> speed <140.0>; + turn lthigh to z-axis <2> speed <20.000000>; + turn lthigh to x-axis <-21> speed <210.000000>; + turn lleg to x-axis <-22> speed <220.000000>; + turn lfoot to x-axis <14> speed <140.000000>; - turn pelvis to z-axis <-2> speed <20.0>; - move pelvis to y-axis [1] speed [10.0]; + turn pelvis to z-axis <-2> speed <20.000000>; + move pelvis to y-axis [1] speed [10.000000]; sleep 96; @@ -35,50 +37,50 @@ walk() //turn rthigh to z-axis <-2> now; - turn rthigh to x-axis <34> speed <120.0>; - turn rleg to x-axis <23> speed <220.0>; - turn rfoot to x-axis <-32> speed <90.0>; + turn rthigh to x-axis <34> speed <120.000000>; + turn rleg to x-axis <23> speed <220.000000>; + turn rfoot to x-axis <-32> speed <90.000000>; - turn lthigh to x-axis <5> speed <260.0>; - turn lleg to x-axis <-48> speed <260.0>; - turn lfoot to x-axis <43> speed <290.0>; + turn lthigh to x-axis <5> speed <260.000000>; + turn lleg to x-axis <-48> speed <260.000000>; + turn lfoot to x-axis <43> speed <290.000000>; //turn pelvis to z-axis <-2> now; - move pelvis to y-axis [0] speed [10.0]; + move pelvis to y-axis [0] speed [10.000000]; sleep 96; //step 3, foot lifted, knee bent - turn rthigh to z-axis <0> speed <20.0>; - turn rthigh to x-axis <16> speed <180.0>; - turn rleg to x-axis <28> speed <50.0>; - turn rfoot to x-axis <-51> speed <190.0>; + turn rthigh to z-axis <0> speed <20.000000>; + turn rthigh to x-axis <16> speed <180.000000>; + turn rleg to x-axis <28> speed <50.000000>; + turn rfoot to x-axis <-51> speed <190.000000>; - turn lthigh to z-axis <0> speed <20.0>; - turn lthigh to x-axis <0> speed <50.0>; - turn lleg to x-axis <0> speed <480.0>; - turn lfoot to x-axis <0> speed <430.0>; + turn lthigh to z-axis <0> speed <20.000000>; + turn lthigh to x-axis <0> speed <50.000000>; + turn lleg to x-axis <0> speed <480.000000>; + turn lfoot to x-axis <0> speed <430.000000>; - turn pelvis to z-axis <0> speed <20.0>; + turn pelvis to z-axis <0> speed <20.000000>; move pelvis to y-axis [0] now; sleep 96; //step 4 foot lifted, knee extended - turn rthigh to z-axis <2> speed <20.0>; - turn rthigh to x-axis <-21> speed <370.0>; - turn rleg to x-axis <-22> speed <500.0>; - turn rfoot to x-axis <14> speed <650.0>; + turn rthigh to z-axis <2> speed <20.000000>; + turn rthigh to x-axis <-21> speed <370.000000>; + turn rleg to x-axis <-22> speed <500.000000>; + turn rfoot to x-axis <14> speed <650.000000>; - turn lthigh to z-axis <-2> speed <20.0>; - turn lthigh to x-axis <22> speed <220.0>; - turn lleg to x-axis <1> speed <10.0>; - turn lfoot to x-axis <-23> speed <230.0>; + turn lthigh to z-axis <-2> speed <20.000000>; + turn lthigh to x-axis <22> speed <220.000000>; + turn lleg to x-axis <1> speed <10.000000>; + turn lfoot to x-axis <-23> speed <230.000000>; - turn pelvis to z-axis <2> speed <20.0>; - move pelvis to y-axis [1] speed [10.0]; + turn pelvis to z-axis <2> speed <20.000000>; + move pelvis to y-axis [1] speed [10.000000]; sleep 96; @@ -86,55 +88,56 @@ walk() // turn rthigh to z-axis <5> now; - turn rthigh to x-axis <5> speed <260.0>; - turn rleg to x-axis <-48> speed <260.0>; - turn rfoot to x-axis <43> speed <290.0>; + turn rthigh to x-axis <5> speed <260.000000>; + turn rleg to x-axis <-48> speed <260.000000>; + turn rfoot to x-axis <43> speed <290.000000>; //turn lthigh to z-axis <-2> now; - turn lthigh to x-axis <34> speed <120.0>; - turn lleg to x-axis <23> speed <220.0>; - turn lfoot to x-axis <-32> speed <90.0>; + turn lthigh to x-axis <34> speed <120.000000>; + turn lleg to x-axis <23> speed <220.000000>; + turn lfoot to x-axis <-32> speed <90.000000>; // turn pelvis to z-axis <2> now; - move pelvis to y-axis [0] speed [10.0]; + move pelvis to y-axis [0] speed [10.000000]; sleep 96; //Step 0, all back to default - turn rthigh to z-axis <0> speed <20.0>; - turn rthigh to x-axis <0> speed <50.0>; - turn rleg to x-axis <0> speed <480.0>; - turn rfoot to x-axis <0> speed <430.0>; + turn rthigh to z-axis <0> speed <20.000000>; + turn rthigh to x-axis <0> speed <50.000000>; + turn rleg to x-axis <0> speed <480.000000>; + turn rfoot to x-axis <0> speed <430.000000>; - turn lthigh to z-axis <0> speed <20.0>; - turn lthigh to x-axis <16> speed <180.0>; - turn lleg to x-axis <28> speed <50.0>; - turn lfoot to x-axis <-51> speed <190.0>; + turn lthigh to z-axis <0> speed <20.000000>; + turn lthigh to x-axis <16> speed <180.000000>; + turn lleg to x-axis <28> speed <50.000000>; + turn lfoot to x-axis <-51> speed <190.000000>; - turn pelvis to z-axis <0> speed <20.0>; + turn pelvis to z-axis <0> speed <20.000000>; move pelvis to y-axis [0] now; sleep 96; return (0); + // Build by COBBLER Ver4.0 Copyright @1998 DIGITAL CONCEPT SOFTWARE (MANU@inext.fr) / http://www.annihilationcenter.com/DCS/ } walklegs() { //step 1, foot back a bit - turn rthigh to z-axis <-2> speed <20.0>; - turn rthigh to x-axis <22> speed <220.0>; - turn rleg to x-axis <1> speed <10.0>; - turn rfoot to x-axis <-23> speed <230.0>; + turn rthigh to z-axis <-2> speed <20.000000>; + turn rthigh to x-axis <22> speed <220.000000>; + turn rleg to x-axis <1> speed <10.000000>; + turn rfoot to x-axis <-23> speed <230.000000>; - turn lthigh to z-axis <2> speed <20.0>; - turn lthigh to x-axis <-21> speed <370.0>; - turn lleg to x-axis <-22> speed <500.0>; - turn lfoot to x-axis <14> speed <650.0>; + turn lthigh to z-axis <2> speed <20.000000>; + turn lthigh to x-axis <-21> speed <370.000000>; + turn lleg to x-axis <-22> speed <500.000000>; + turn lfoot to x-axis <14> speed <650.000000>; - turn pelvis to z-axis <-2> speed <20.0>; - move pelvis to y-axis [1] speed [10.0]; + turn pelvis to z-axis <-2> speed <20.000000>; + move pelvis to y-axis [1] speed [10.000000]; sleep 96; @@ -143,50 +146,50 @@ walklegs() //turn rthigh to z-axis <-2> now; - turn rthigh to x-axis <34> speed <120.0>; - turn rleg to x-axis <23> speed <220.0>; - turn rfoot to x-axis <-32> speed <90.0>; + turn rthigh to x-axis <34> speed <120.000000>; + turn rleg to x-axis <23> speed <220.000000>; + turn rfoot to x-axis <-32> speed <90.000000>; - turn lthigh to x-axis <5> speed <260.0>; - turn lleg to x-axis <-48> speed <260.0>; - turn lfoot to x-axis <43> speed <290.0>; + turn lthigh to x-axis <5> speed <260.000000>; + turn lleg to x-axis <-48> speed <260.000000>; + turn lfoot to x-axis <43> speed <290.000000>; //turn pelvis to z-axis <-2> now; - move pelvis to y-axis [0] speed [10.0]; + move pelvis to y-axis [0] speed [10.000000]; sleep 96; //step 3, foot lifted, knee bent - turn rthigh to z-axis <0> speed <20.0>; - turn rthigh to x-axis <16> speed <180.0>; - turn rleg to x-axis <28> speed <50.0>; - turn rfoot to x-axis <-51> speed <190.0>; + turn rthigh to z-axis <0> speed <20.000000>; + turn rthigh to x-axis <16> speed <180.000000>; + turn rleg to x-axis <28> speed <50.000000>; + turn rfoot to x-axis <-51> speed <190.000000>; - turn lthigh to z-axis <0> speed <20.0>; - turn lthigh to x-axis <0> speed <50.0>; - turn lleg to x-axis <0> speed <480.0>; - turn lfoot to x-axis <0> speed <430.0>; + turn lthigh to z-axis <0> speed <20.000000>; + turn lthigh to x-axis <0> speed <50.000000>; + turn lleg to x-axis <0> speed <480.000000>; + turn lfoot to x-axis <0> speed <430.000000>; - turn pelvis to z-axis <0> speed <20.0>; + turn pelvis to z-axis <0> speed <20.000000>; move pelvis to y-axis [0] now; sleep 96; //step 4 foot lifted, knee extended - turn rthigh to z-axis <2> speed <20.0>; - turn rthigh to x-axis <-21> speed <370.0>; - turn rleg to x-axis <-22> speed <500.0>; - turn rfoot to x-axis <14> speed <650.0>; + turn rthigh to z-axis <2> speed <20.000000>; + turn rthigh to x-axis <-21> speed <370.000000>; + turn rleg to x-axis <-22> speed <500.000000>; + turn rfoot to x-axis <14> speed <650.000000>; - turn lthigh to z-axis <-2> speed <20.0>; - turn lthigh to x-axis <22> speed <220.0>; - turn lleg to x-axis <1> speed <10.0>; - turn lfoot to x-axis <-23> speed <230.0>; + turn lthigh to z-axis <-2> speed <20.000000>; + turn lthigh to x-axis <22> speed <220.000000>; + turn lleg to x-axis <1> speed <10.000000>; + turn lfoot to x-axis <-23> speed <230.000000>; - turn pelvis to z-axis <2> speed <20.0>; - move pelvis to y-axis [1] speed [10.0]; + turn pelvis to z-axis <2> speed <20.000000>; + move pelvis to y-axis [1] speed [10.000000]; sleep 96; @@ -194,76 +197,102 @@ walklegs() // turn rthigh to z-axis <5> now; - turn rthigh to x-axis <5> speed <260.0>; - turn rleg to x-axis <-48> speed <260.0>; - turn rfoot to x-axis <43> speed <290.0>; + turn rthigh to x-axis <5> speed <260.000000>; + turn rleg to x-axis <-48> speed <260.000000>; + turn rfoot to x-axis <43> speed <290.000000>; //turn lthigh to z-axis <-2> now; - turn lthigh to x-axis <34> speed <120.0>; - turn lleg to x-axis <23> speed <220.0>; - turn lfoot to x-axis <-32> speed <90.0>; + turn lthigh to x-axis <34> speed <120.000000>; + turn lleg to x-axis <23> speed <220.000000>; + turn lfoot to x-axis <-32> speed <90.000000>; // turn pelvis to z-axis <2> now; - move pelvis to y-axis [0] speed [10.0]; + move pelvis to y-axis [0] speed [10.000000]; sleep 96; //Step 0, all back to default - turn rthigh to z-axis <0> speed <20.0>; - turn rthigh to x-axis <0> speed <50.0>; - turn rleg to x-axis <0> speed <480.0>; - turn rfoot to x-axis <0> speed <430.0>; + turn rthigh to z-axis <0> speed <20.000000>; + turn rthigh to x-axis <0> speed <50.000000>; + turn rleg to x-axis <0> speed <480.000000>; + turn rfoot to x-axis <0> speed <430.000000>; - turn lthigh to z-axis <0> speed <20.0>; - turn lthigh to x-axis <16> speed <180.0>; - turn lleg to x-axis <28> speed <50.0>; - turn lfoot to x-axis <-51> speed <190.0>; + turn lthigh to z-axis <0> speed <20.000000>; + turn lthigh to x-axis <16> speed <180.000000>; + turn lleg to x-axis <28> speed <50.000000>; + turn lfoot to x-axis <-51> speed <190.000000>; - turn pelvis to z-axis <0> speed <20.0>; + turn pelvis to z-axis <0> speed <20.000000>; move pelvis to y-axis [0] now; sleep 96; } +SmokeUnit(healthpercent, sleeptime, smoketype) +{ + while( get BUILD_PERCENT_LEFT ) + { + sleep 400; + } + while( TRUE ) + { + healthpercent = get HEALTH; + if( healthpercent < 66 ) + { + smoketype = 256 | 2; + if( Rand( 1, 66 ) < healthpercent ) + { + smoketype = 256 | 1; + } + emit-sfx smoketype from body; + } + sleeptime = healthpercent * 50; + if( sleeptime < 200 ) + { + sleeptime = 200; + } + sleep sleeptime; + } +} -#define BASEPIECE pelvis -#include "../../unit_hitbyweaponid_and_smoke.h" - -Movement(moving, aiming, justmoved) +MotionControl(moving, aiming, justmoved) { justmoved = TRUE; while( TRUE ) { - moving = isMoving; - aiming = isAiming; + moving = bMoving; + aiming = bAiming; if( moving ) { if( aiming ) { + Static_Var_3 = 1; call-script walklegs(); } if( !aiming ) { + Static_Var_3 = 0; call-script walk(); } justmoved = TRUE; } if( !moving ) { + Static_Var_3 = 1; if( justmoved ) { - turn rthigh to z-axis <0> speed <20.0>; - turn rthigh to x-axis <0> speed <50.0>; - turn rleg to x-axis <0> speed <480.0>; - turn rfoot to x-axis <0> speed <430.0>; + turn rthigh to z-axis <0> speed <20.000000>; + turn rthigh to x-axis <0> speed <50.000000>; + turn rleg to x-axis <0> speed <480.000000>; + turn rfoot to x-axis <0> speed <430.000000>; - turn lthigh to z-axis <0> speed <20.0>; - turn lthigh to x-axis <0> speed <50.0>; - turn lleg to x-axis <0> speed <480.0>; - turn lfoot to x-axis <0> speed <430.0>; + turn lthigh to z-axis <0> speed <20.000000>; + turn lthigh to x-axis <0> speed <50.000000>; + turn lleg to x-axis <0> speed <480.000000>; + turn lfoot to x-axis <0> speed <430.000000>; justmoved = FALSE; } sleep 100; @@ -272,60 +301,74 @@ Movement(moving, aiming, justmoved) } +HitByWeapon(anglex, anglez) +{ + turn pelvis to z-axis anglez speed <105.000000>; + turn pelvis to x-axis <0> - anglex speed <105.000000>; + wait-for-turn pelvis around z-axis; + wait-for-turn pelvis around x-axis; + turn pelvis to z-axis <0.000000> speed <30.000000>; + turn pelvis to x-axis <0.000000> speed <30.000000>; +} Create() { hide rflare; hide lflare; hide misflare; - isMoving = FALSE; - isAiming = FALSE; + bMoving = FALSE; + bAiming = FALSE; + Static_Var_3 = 1; gun_1 = 1; restore_delay = 3000; - start-script Movement(); + start-script MotionControl(); + start-script SmokeUnit(); } -SetMaxReloadTime(reloadMS) +SetMaxReloadTime(Func_Var_1) { - restore_delay = reloadMS; + restore_delay = Func_Var_1; } -StartMoving(reversing) +StartMoving() { - isMoving = TRUE; + bMoving = TRUE; } StopMoving() { - isMoving = FALSE; + bMoving = FALSE; } RestoreAfterDelay() { - set-signal-mask SIGNAL_AIM1; + set-signal-mask SIG_AIM; sleep restore_delay; - turn body to y-axis <0.0> speed <120.0>; - turn lturret to x-axis <0.0> speed <120.0>; - turn rturret to x-axis <0.0> speed <120.0>; - turn misturret to y-axis <0.0> speed <120.0>; - isAiming = FALSE; - wpn1_lasthead = 0xbadface; - wpn2_lasthead = 0xbadface; - wpn3_lasthead = 0xbadface; + turn body to y-axis <0.000000> speed <120.000000>; + turn lturret to x-axis <0.000000> speed <120.000000>; + turn rturret to x-axis <0.000000> speed <120.000000>; + turn misturret to y-axis <0.000000> speed <120.000000>; + bAiming = FALSE; + wpn1_lasthead = 1000000; + wpn2_lasthead = 1000000; + wpn3_lasthead = 1000000; } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - isAiming = TRUE; - turn body to y-axis heading speed <140.0>; + signal SIG_AIM; + bAiming = TRUE; + turn body to y-axis heading speed <140.000000>; turn lturret to x-axis 0 - pitch speed <360>; turn rturret to x-axis 0 - pitch speed <360>; - - if ((wpn1_lasthead == 0xbadface) OR ABSOLUTE_GREATER_THAN(WRAPDELTA(heading - wpn1_lasthead), <7>)) + while( !Static_Var_3 ) + { + return(0); + } + if (((get ABS(wpn1_lasthead - heading)) > 65536) OR(((get ABS(wpn1_lasthead - heading)) > 1300) AND ((get ABS(wpn1_lasthead - heading)) < 64236))) { - wpn1_lasthead = 0xbadface; + wpn1_lasthead = 1000000; wait-for-turn body around y-axis; wait-for-turn lturret around x-axis; } @@ -334,14 +377,13 @@ AimWeapon1(heading, pitch) return (1); } -AimWeapon2(heading, pitch) +AimSecondary(heading, pitch) { - signal SIGNAL_AIM1; - turn misturret to y-axis heading speed <180.0>; - - if ((wpn2_lasthead == 0xbadface) OR ABSOLUTE_GREATER_THAN(WRAPDELTA(heading - wpn2_lasthead), <27>)) + signal SIG_AIM; + turn misturret to y-axis heading speed <180.000000>; + if (((get ABS(wpn2_lasthead - heading)) > 65536) OR(((get ABS(wpn2_lasthead - heading)) > 5000) AND ((get ABS(wpn2_lasthead - heading)) < 60536))) { - wpn2_lasthead = 0xbadface; + wpn2_lasthead = 1000000; wait-for-turn misturret around y-axis; } wpn2_lasthead = heading; @@ -349,56 +391,68 @@ AimWeapon2(heading, pitch) return (1); } -FireWeapon1() +FirePrimary() { if( gun_1 == 1 ) { emit-sfx 1024 + 0 from lflare; - move lbarrel to z-axis [-2.0] speed [30.0]; + move lbarrel to z-axis [-2.000000] speed [30.000000]; sleep 100; - move lbarrel to z-axis [0.0] speed [10.0]; + move lbarrel to z-axis [0.000000] speed [10.000000]; gun_1 = 2; return (0); } if( gun_1 == 2 ) { emit-sfx 1024 + 0 from rflare; - move rbarrel to z-axis [-2.0] speed [30.0]; + move rbarrel to z-axis [-2.000000] speed [30.000000]; sleep 100; - move rbarrel to z-axis [0.0] speed [10.0]; + move rbarrel to z-axis [0.000000] speed [10.000000]; gun_1 = 1; return (0); } } -FireWeapon2() +FireSecondary() { - gun_1 = !gun_1; + show misflare; + sleep 150; + hide misflare; } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = body; + piecenum = body; } -AimFromWeapon2(pieceIndex) +AimFromSecondary(piecenum) { - pieceIndex = misturret; + piecenum = misturret; } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = lflare + gun_1; + if( gun_1 == 1 ) + { + piecenum = lflare; + } + if( gun_1 == 2 ) + { + piecenum = rflare; + } } -QueryWeapon2(pieceIndex) +QuerySecondary(piecenum) { - pieceIndex = misflare; + piecenum = misflare; } - +SweetSpot(piecenum) +{ + piecenum = body; +} Killed(severity, corpsetype) { diff --git a/scripts/Units/scavboss/armmeatball.cob b/scripts/Units/scavboss/armmeatball.cob index 2ed9b7ac16f919acf05a553bc60f35c6585f7240..ad4ed2f31577cb26d9f9fd3c60dced3fa463d795 100644 GIT binary patch literal 9607 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

        <&b-EPnO5v*V)C8d#>JSWHmRPHTKqL+|Fk0 zfXiDG_3;VUhy${Bx&LQZv)OVD|L +//how 'heavy' the unit is, on a scale of 1-10 +#define UNITSIZE 3 +#define MAXTILT 200 +HitByWeapon(anglex, anglez, damage) // angle[x|z] is always [-500;500], damage is multiplied by 100 +{ + var amount;//, speedz, speedx; + amount = damage / (100 * UNITSIZE); + if (amount < 3 ) return (0); + if (amount > MAXTILT) amount = MAXTILT; + //get PRINT(anglex, anglez, amount, damage); + //speedz = HITSPEED * get ABS(anglez) / 500; //nevermind this, the random error this produces actually looks better than the accurate version + turn BASEPIECE to z-axis (anglez * amount) / 100 speed HITSPEED; + turn BASEPIECE to x-axis <0> - (anglex * amount) /100 speed HITSPEED; + wait-for-turn BASEPIECE around z-axis; + wait-for-turn BASEPIECE around x-axis; + turn BASEPIECE to z-axis <0.000000> speed HITSPEED / 4; + turn BASEPIECE to x-axis <0.000000> speed HITSPEED / 4; +} +HitByWeaponId(anglex, anglez, weaponid, dmg) //weaponID is always 0,lasers and flamers give angles of 0 +{ + start-script HitByWeapon(dmg, anglez,anglex); //I dont know why param order must be switched, and this also runs a frame later :( + return (100); //return damage percent +} + +SetDirection(heading) +{ + var spd; + spd = (get ABS(oldHead) - get ABS(heading)) / 2; + turn ground to y-axis heading speed spd; + turn base to y-axis 0-heading speed spd; + oldHead = heading; +} +RockOnWaves() +{ + var rockDir, rockAng, rockSpeed; + rockDir = <-0.1>; + rockAng = <-0.1>; + while( TRUE ) + { + while( get ABS(rockAng) < <1.31> ) + { + rockSpeed = <1.45> - get ABS(rockAng); + turn ground to x-axis rockAng speed rockSpeed*4; + wait-for-turn ground around x-axis; + rockAng = rockAng + rockDir; + } + rockDir = 0 - rockDir; + rockAng = rockAng + rockDir + rockDir; + } +} +ProjXPW(Func_Var_1, Func_Var_2) +{ + if( Func_Var_2 < -21840 ) + { + Static_Var_7 = Func_Var_1 * ( Func_Var_2 + 32760 ) / 10920; + } + else if( Func_Var_2 > 21840 ) + { + Static_Var_7 = Func_Var_1 * ( 32760 - Func_Var_2 ) / 10920; + } + else if( Func_Var_2 < -10920 ) + { + Static_Var_7 = 0 - Func_Var_1; + } + else if( Func_Var_2 > 10920 ) + { + Static_Var_7 = Func_Var_1; + } + else + { + Static_Var_7 = Func_Var_1 * Func_Var_2 / 10920; + } +} + +RockZ(Func_Var_1, Func_Var_2) +{ + signal 4096; + set-signal-mask 4096; + call-script ProjXPW(10920 / Func_Var_2,Func_Var_1); + Static_Var_8 = Static_Var_8 + Static_Var_7; + Static_Var_7 = get ABS(Static_Var_8); + while( Static_Var_7 > 91 ) + { + turn base to z-axis Static_Var_8 speed Static_Var_7 * <0.0125>; + wait-for-turn base around z-axis; + Static_Var_8 = Static_Var_8 * -1 / 2; + Static_Var_7 = get ABS(Static_Var_8); + } + turn base to z-axis <0.000000> speed <1.5>; +} + +SmokeUnit(healthpercent, sleeptime, smoketype) +{ + while( get BUILD_PERCENT_LEFT ) + { + sleep 500; + } + start-script RockOnWaves(); + while( TRUE ) + { + healthpercent = get HEALTH; + if( healthpercent < 66 ) + { + smoketype = 258; + if( Rand( 1, 66 ) < healthpercent ) + { + smoketype = 257; + } + emit-sfx smoketype from base; + } + sleeptime = healthpercent * 50; + if( sleeptime < 200 ) + { + sleeptime = 200; + } + sleep sleeptime; + } +} Create() { @@ -45,14 +155,12 @@ Create() gun_1 = 0; gun_2 = 0; restore_delay = 3000; - start-script InitRockBoat(); - SLEEP_UNTIL_UNITFINISHED; - start-script BoatPhysics(); + start-script SmokeUnit(); } -SetMaxReloadTime(reloadMS) +SetMaxReloadTime(Func_Var_1) { - restore_delay = reloadMS * 2; + restore_delay = Func_Var_1 * 2; } static-var Stunned; @@ -62,11 +170,11 @@ ExecuteRestoreAfterDelay() return (1); } set-signal-mask 0; - turn turret1 to y-axis <0.0> speed <120.0>; - turn sleeve1 to x-axis <0.0> speed <60.0>; + turn turret1 to y-axis <0.000000> speed <120.000000>; + turn sleeve1 to x-axis <0.000000> speed <60.000000>; - turn turret2 to y-axis <0.0> speed <120.0>; - turn sleeve2 to x-axis <0.0> speed <60.0>; + turn turret2 to y-axis <0.000000> speed <120.000000>; + turn sleeve2 to x-axis <0.000000> speed <60.000000>; } SetStunned(State) { @@ -81,49 +189,73 @@ RestoreAfterDelay() start-script ExecuteRestoreAfterDelay(); } - - -StartMoving(reversing) +waveSplash() { + while( TRUE ) + { + turn base to x-axis <-3.0> speed <3.0>; + move base to y-axis [0.32] speed [0.25]; + wait-for-turn base around x-axis; + turn base to x-axis <0.0> speed <3.0>; + move base to y-axis [0.0] speed [0.25]; + wait-for-turn base around x-axis; + } +} +StartMoving() +{ + signal SIG_MOVE; + set-signal-mask SIG_MOVE; + var waketime; + start-script waveSplash(); + while( TRUE ) + { + emit-sfx 2 from wake1; + emit-sfx 2 from wake2; + waketime = (get CURRENT_SPEED) * 100 / get MAX_SPEED; + if( waketime < 50 ) waketime = 50; + sleep 12000 / waketime; + } } StopMoving() { - + signal SIG_MOVE; + turn base to x-axis <0.0> speed <3.0>; + move base to y-axis [0.0] speed [0.25]; } -AimFromWeapon1(pieceIndex) +AimFromWeapon1(piecenum) { - pieceIndex = turret1; + piecenum = turret1; } -QueryWeapon1(pieceIndex) +QueryWeapon1(piecenum) { if( gun_1 == 0 ) { - pieceIndex = flare11; + piecenum = flare11; } if( gun_1 == 1 ) { - pieceIndex = flare12; + piecenum = flare12; } if( gun_1 == 2 ) { - pieceIndex = flare11; + piecenum = flare11; } if( gun_1 == 3 ) { - pieceIndex = flare12; + piecenum = flare12; } } AimWeapon1(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; - turn turret1 to y-axis heading speed <120.0>; - turn sleeve1 to x-axis <0.0> - pitch speed <60.0>; + signal SIG_AIM; + set-signal-mask SIG_AIM; + turn turret1 to y-axis heading speed <120.000000>; + turn sleeve1 to x-axis <0.000000> - pitch speed <60.000000>; spin barrel11 around z-axis speed <1000>; spin barrel12 around z-axis speed <1000>; wait-for-turn turret1 around y-axis; @@ -156,7 +288,9 @@ Shot1() if( gun_1 == 2 ) { move barrel11 to z-axis [-1.5] speed [1000]; + show flare11; sleep 100; + hide flare11; move barrel11 to z-axis [0] speed [6]; gun_1 = 3; return (1); @@ -164,7 +298,9 @@ Shot1() if ( gun_1 == 3 ) { move barrel12 to z-axis [-1.5] speed [1000]; + show flare12; sleep 100; + hide flare12; move barrel12 to z-axis [0] speed [6]; gun_1 = 0; return (1); @@ -173,10 +309,10 @@ Shot1() AimWeapon2(heading, pitch) { - signal SIGNAL_AIM2; - set-signal-mask SIGNAL_AIM2; - turn turret2 to y-axis heading speed <120.0>; - turn sleeve2 to x-axis <0.0> - pitch speed <60.0>; + signal SIG_AIM_2; + set-signal-mask SIG_AIM_2; + turn turret2 to y-axis heading speed <120.000000>; + turn sleeve2 to x-axis <0.000000> - pitch speed <60.000000>; spin barrel21 around z-axis speed <1000>; spin barrel22 around z-axis speed <1000>; wait-for-turn turret2 around y-axis; @@ -209,7 +345,9 @@ Shot2() if( gun_2 == 2 ) { move barrel21 to z-axis [-1.5] speed [1000]; + show flare21; sleep 100; + hide flare21; move barrel21 to z-axis [0] speed [6]; gun_2 = 3; return (1); @@ -217,35 +355,37 @@ Shot2() if ( gun_2 == 3 ) { move barrel22 to z-axis [-1.5] speed [1000]; + show flare22; sleep 100; + hide flare22; move barrel22 to z-axis [0] speed [6]; gun_2 = 0; return (1); } } -AimFromWeapon2(pieceIndex) +AimFromWeapon2(piecenum) { - pieceIndex = turret2; + piecenum = turret2; } -QueryWeapon2(pieceIndex) +QueryWeapon2(piecenum) { if( gun_2 == 0 ) { - pieceIndex = flare21; + piecenum = flare21; } if( gun_2 == 1 ) { - pieceIndex = flare22; + piecenum = flare22; } if( gun_2 == 2 ) { - pieceIndex = flare21; + piecenum = flare21; } if( gun_2 == 3 ) { - pieceIndex = flare22; + piecenum = flare22; } } @@ -254,17 +394,20 @@ AimWeapon3(heading, pitch) return (1); } -AimFromWeapon3(pieceIndex) +AimFromWeapon3(piecenum) { - pieceIndex = base; + piecenum = base; } -QueryWeapon3(pieceIndex) +QueryWeapon3(piecenum) { - pieceIndex = base; + piecenum = base; } - +SweetSpot(piecenum) +{ + piecenum = base; +} Killed(severity, corpsetype) { @@ -272,7 +415,11 @@ Killed(severity, corpsetype) { corpsetype = 1; explode barrel11 type BITMAPONLY | BITMAP1 | NOHEATCLOUD; + //explode barrel12 type BITMAPONLY | BITMAP1 | NOHEATCLOUD; + //explode base type BITMAPONLY | BITMAP3 | NOHEATCLOUD; explode turret1 type BITMAPONLY | BITMAP1 | NOHEATCLOUD; + //explode turret2 type BITMAPONLY | BITMAP2 | NOHEATCLOUD; + //explode wake1 type BITMAPONLY | BITMAP2 | NOHEATCLOUD; explode wake2 type BITMAPONLY | BITMAP3 | NOHEATCLOUD; return (corpsetype); } @@ -281,12 +428,15 @@ Killed(severity, corpsetype) corpsetype = 2; explode barrel11 type FALL | EXPLODE_ON_HIT | BITMAP1 | NOHEATCLOUD; explode barrel12 type FALL | EXPLODE_ON_HIT | BITMAP1 | NOHEATCLOUD; + //explode base type BITMAPONLY | BITMAP3 | NOHEATCLOUD; + //explode wake1 type FALL | EXPLODE_ON_HIT | BITMAP2 | NOHEATCLOUD; explode wake2 type FALL | EXPLODE_ON_HIT | BITMAP3 | NOHEATCLOUD; return (corpsetype); } corpsetype = 3; explode barrel11 type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP1 | NOHEATCLOUD; explode barrel12 type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP1 | NOHEATCLOUD; + //explode base type BITMAPONLY | BITMAP3 | NOHEATCLOUD; explode wake1 type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP2 | NOHEATCLOUD; explode wake2 type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP3 | NOHEATCLOUD; return corpsetype; diff --git a/scripts/Units/scavboss/armpshipt3.cob b/scripts/Units/scavboss/armpshipt3.cob index e27b76cac2afd87bdba52e1e2cfd413ef97daec5..7feaeac1813a6ff85eda88a43b37dcedbe118cc7 100644 GIT binary patch literal 6653 zcmbtYO>9(E6u$joL_vKdMl``>f>Gmd+JU&yMfuT)1T7R&A~EUEKFYwfQ>W7cZm5Z{ z(v=J2LL<=y{zc+OgJGiyni$y_jl@Kal4uMfi;@r{)bBg@ocHcL=S^E2b9(MO_xyb4 z+;i@G((RmE1&Tl?mpHc+oWEOEI`<-I7W4p~*WQLd#m*?C&ItcO+yOqKybIj*bVaVO zE9&g&jQC7Fa_Y%`v?Ovvg@`UG19PswfK{sZC1pKc?@lbKN16HL^XV1dcL(Ka%h=o_ z9%67sNzEBf+E`55P%Ym!wWpqgXEOS-HJ9}FTzBd>8?)7(*^x8%u&!JiCUVP9bR+2E zXZ4gk1AAgQg8gpr0=VUx<*uh&>O@_}0Bfu3ioULryPmD#GEN`NozEtdwfeU>^hG_Y zn;zHQJ%_R^v`2e5_NHNRS|^IxOM)9q+b8#X-k**Gsm|W<`|yk&;d#ou1NRoSWghg~zXJ=M@4ExP+@nA9FTJt| zzdOH8@jeW{t!mW{mta?18v+{UGY6x^59=#3p6*0JW>6+!#;+Ma$sIMcdb?sl zdWikR*=9eH`}@?_nlk#f`L}0?lR6}LF#nd5`QhF!Dr^34A^&iXv3bT8-=T*o5;-!l zwe8a%#&yp6LiDsR4BKL{I`q=Cp6d$bj2mJ}at!W8-l>%1`iE|}ynjxr{Vcfa0e<*C z!8Pt!sVkPWp@?_N->OgS^uamj($0vw>nVu*d+S%#?*ykV^EZE~E~{m;?(Ke3yN=NpwT zQ@&LBb;_40XB^s_-1N+z{)m-o>`C(Qnf84C1cA6OIB-UMzwu|fHe*&#%0-twt9GF- zEAKHCqDP>}J;92;N%Us?n)g*AD>|7!!^N2m_atw{m9@Kpa^1_?Ngdnd!yJe=!TqN1 zmwikU^|&64zXS{NknW<8{hgyjeaRa={)X0JwelaYV1AJ=UGOKq`#e9t6#{q_Isc$) zWc*Rje25^&hwSC}kXct8qG#vAC=<>QO)mK zYA8O`pWS=BvqC)Fws~QX@G-UXebs@&P{y7!+fY~P+wXOkt1f4|m9ErUbyv>gm*?SB zcXbQDDbDn}nKFr?b(3{4yLMjeWqJ1?1Z~0@q>kiN^xvo991{}tFP?_y9!wIR8N;xI zdz?dwkJGeRoDK75SUAs=(RLM!+}G^aWU0SG6y6cO{(i<`onW!r9nso3_j{M%oVki` zx#k$Y&++{U49*o&9~nKyB3_HrDz=yTet0`4w&lWj?P7;|tmS;MrQX^zU*yELGjsj^ zT@+$)L#eD?9pHLiEYz_x_#+34nJgBQWwDr@Kd;tU--OF<@Y~kL`y2m-NSX`UGb~6$BwV6o$<eB zFKc18d=Hu~x%Jl>)g{(ey5X6eoyTujvvV!{X7O8&9*=)FnvP+yXUo~1uXUd>ZFcGF zcGjZk`@Mvh8)d{p|5mReo+T~?L;f3U21~AS3n%|>RfMRW9!etni5>+l{IQP7J%(?r z5U+f@Dc(`V%QFh`S{yk$^)DasEn?Zfxh=+qcRKTIX|uqbXfJsNbvA$g|F?XdYxV|y2mJd;LpfNQ*9*?;HZXQ6afr)B)a<3a`lr`CVOnM#mOg^x;)(8Y8M?r}isdXu|mOXF1rde%GsJ6xp9Eg#@M6KaA zSE^NHvAaAOyU}`WYJ9{UDDRJZ3snT#pl8vJJB+ PsfBHn)FR=@M#=pP@3jWG literal 6164 zcmb_gO=w(I6h4`mOx61H1ho~kj&2mGFqtl_Kb53bX(`p1RP09RH1pbwon*@7O@BaW zh1$BT8xh2ig$t>IMG&eYh=SOq;KG6+h+rrPv2;NO! zJLjHz-)jmYvK|saUK|#=4I_W1?-uzU^2j|R8#%`~6y*q$LOB-!+BGlw`AI+S#3-dg zM4Ra04%U1~xe(FM8jmNO^P4jBn}fNG7b7Ww1Ec`I@7wg<3aVS;FgC;4smVNI{5fm-i*&W5O1U7=(w*oCvw}oyu8fuF7Hp{qISlG zwP7t86A;aZ`$;`xrZ`}Tqc7^M=Bx!V$`d|98~S8C+jrt<%DU6fHE;`KTQ3l&HTJmc z0gmg$8ArOKuk}=nf@6ffC_6oI>_ziO+!-1KIO@$G^;a?H_-1AuQ@7W_$n!w#A~%&j z!Pjaeo==tw@&9-q79%__)I*)dT5Sx=gY~8l?uX??PF5G&5B7J6qkV{@o^@kt#!2=L zN9_ALa-;8CyzV|84Ah-CJ7dh7div-(H^8wkxEAU(4r{pJVvHh2sAoB49D2lm8WYAE zVzVuY<|?Dbh&JK6aeoW2kguM7&zEj3KO3#)LjRtx)x+v`0xGMI)~)RFGQG%^A?njP zeQDphyHE20=hJwwePa9)V2bl~IO=m+`pKPR-phiUuUB7XZRwjnd)ZpgZGbzAe?#xW z*80i%SxTL|o4(E7`bTSsxXgim)BOFK*|R^19m6Q)p@{pp+plp+g7*gB1Nx8a*#FPr zE1kpE_|qTvnmR(2OOKKJOAILy!@E&yjy>cV?p52S zS3r_$HIF9;>+3U20Cnbh;##QVTq1XthEZ&*1!IOd^;>p09wdupKCQNvyV+{b_ox;1 zq}7GP8DdQ>cOC`%&KTpfkN+g%Gu~P(b@)1N)Nzfz>5CYNiu%6cqw%(y8kRLoylog) zpTUcH(%$l;UC3#VwY9KTl9OwujhjGkVl2UGI|m{ z&hzn1z(w=ii`$79j8N%#yC3zN5bIhejQY;T$a|M~o@L8{&f9vvYjq%Jj#JV~=>_Z;QUh0Ka z{^Jh&*b083M%^5Ca}U2+{+6R|<{`J&`W)=Lov}gtPK@S+JC3-p2S|x=m%c+LW$Xgx z%*nWfI^KDjFK!C!F`T;8pK)O?Fjv~@_ta>&Ut8<=E9!j;6SZ;mcW1!XI9l!A^R*LM z%q!0m|1RSu>f&A_9%s_!QB3p6;uwp32`9E!Y`5n2?TbFKEf@M26g$MRmMg{9di$Qa z*e7~o97XY)6x=R?2N^BsTvd!GGfT&(_k3bxkW^I?oZ^$&5@^A^YT zw>xj$Yp&;y^oeb`tkm-%j&9`SJV4Y(p$<4Ev+U@*AiZHmvzCEBFm-bg75m zEPu<<@o_mB#<?2IhBcHbKZgEb*fJs>NIx1c|POI=H_dj!NHjW?dSXW zhFTtkd;))qkS#Dc0yziy67n153gkLOKq3!W3wa9iI)wNC6Y$M5@fG9`$YsdikR0m3 zzt6TIZ$QpK<{=+JK81V>`5E#%}*^^lpB;uwUz8@9kOd8r+@Je?7N&ekWVn@O-x5iV4S=vY@mYt=dHP2I3fA#9WEtT!4UystVJ z%Yjz2JzJ9_)r0Yf{;o*UZna{Bo@>PMVXW?}V%``Tk^PNoD^ACXDa@kcElg4I7U`HO GD)JwsljGU| diff --git a/scripts/Units/scavboss/armptt2.bos b/scripts/Units/scavboss/armptt2.bos index 382e063ab4c..8cfa7691f23 100644 --- a/scripts/Units/scavboss/armptt2.bos +++ b/scripts/Units/scavboss/armptt2.bos @@ -1,30 +1,100 @@ +#define TA // This is a TA script -#include "../../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece flarel, flarer, flareaa, turretaa, ground, base, turretl, turretr, plungerl, plungerr; static-var restore_delay, oldHead; // Signal definitions -#define SIGNAL_MOVE 1 -#define SIGNAL_AIM1 256 -#define SIGNAL_AIM2 512 -#define SIGNAL_AIM3 1024 +#define SIG_MOVE 2 +#define SIG_AIM 4 +#define SIG_AIM_2 8 +#define SIG_AIM_3 16 -#define RB_MASS 20 -#define RB_LENGTH 5 -#define RB_WIDTH 3 -#define RB_PITCH_SPEED 200 -#define RB_PITCH_ACCELERATION 20 -#define RB_ROLL_ACCELERATION 8 -#define RB_RECOIL_ENERGY_2 500 -#define RB_WAKE_PIECE ground -#define RB_WAKE_CEG 2 -#define RB_IDLE_KICK 10000 +#define BASEPIECE base +#define HITSPEED <25.0> +//how 'heavy' the unit is, on a scale of 1-10 +#define UNITSIZE 1 +#define MAXTILT 200 +HitByWeapon(anglex, anglez, damage) // angle[x|z] is always [-500;500], damage is multiplied by 100 +{ + var amount;//, speedz, speedx; + amount = damage / (100 * UNITSIZE); + if (amount < 3 ) return (0); + if (amount > MAXTILT) amount = MAXTILT; + //get PRINT(anglex, anglez, amount, damage); + //speedz = HITSPEED * get ABS(anglez) / 500; //nevermind this, the random error this produces actually looks better than the accurate version + turn BASEPIECE to z-axis (anglez * amount) / 100 speed HITSPEED; + turn BASEPIECE to x-axis <0> - (anglex * amount) /100 speed HITSPEED; + wait-for-turn BASEPIECE around z-axis; + wait-for-turn BASEPIECE around x-axis; + turn BASEPIECE to z-axis <0.000000> speed HITSPEED / 4; + turn BASEPIECE to x-axis <0.000000> speed HITSPEED / 4; +} +HitByWeaponId(anglex, anglez, weaponid, dmg) //weaponID is always 0,lasers and flamers give angles of 0 +{ + start-script HitByWeapon(dmg, anglez,anglex); //I dont know why param order must be switched, and this also runs a frame later :( + return (100); //return damage percent +} + +SetDirection(heading) +{ + var spd; + spd = (get ABS(oldHead) - get ABS(heading)) / 2; + turn ground to y-axis heading speed spd; + turn base to y-axis 0-heading speed spd; + oldHead = heading; +} -#include "../../bar_ships_common.h" +RockOnWaves() +{ + var rockDir, rockAng, rockSpeed; + rockDir = <-0.1>; + rockAng = <-0.1>; + while( TRUE ) + { + while( get ABS(rockAng) < <1.31> ) + { + rockSpeed = <1.45> - get ABS(rockAng); + turn ground to x-axis rockAng speed rockSpeed*5; + wait-for-turn ground around x-axis; + rockAng = rockAng + rockDir; + } + rockDir = 0 - rockDir; + rockAng = rockAng + rockDir + rockDir; + } +} +SmokeUnit(healthpercent, sleeptime, smoketype) +{ + while( get BUILD_PERCENT_LEFT ) + { + sleep 500; + } + start-script RockOnWaves(); + while( TRUE ) + { + healthpercent = get HEALTH; + if( healthpercent < 66 ) + { + smoketype = 258; + if( Rand( 1, 66 ) < healthpercent ) + { + smoketype = 257; + } + emit-sfx smoketype from base; + } + sleeptime = healthpercent * 50; + if( sleeptime < 200 ) + { + sleeptime = 200; + } + sleep sleeptime; + } +} Create() { @@ -33,14 +103,12 @@ Create() hide flareaa; hide ground; restore_delay = 3000; - start-script InitRockBoat(); - SLEEP_UNTIL_UNITFINISHED; - start-script BoatPhysics(); + start-script SmokeUnit(); } -SetMaxReloadTime(reloadMS) +SetMaxReloadTime(Func_Var_1) { - restore_delay = reloadMS * 2; + restore_delay = Func_Var_1 * 2; } static-var Stunned; @@ -50,9 +118,9 @@ ExecuteRestoreAfterDelay() return (1); } set-signal-mask 0; - turn turretl to y-axis <0.0> speed <150.0>; - turn turretr to y-axis <0.0> speed <150.0>; - turn turretaa to y-axis <0.0> speed <150.0>; + turn turretl to y-axis <0.000000> speed <150.000000>; + turn turretr to y-axis <0.000000> speed <150.000000>; + turn turretaa to y-axis <0.000000> speed <150.000000>; wait-for-turn turretaa around y-axis; move turretaa to y-axis [0] speed [16]; sleep(150); @@ -70,21 +138,45 @@ RestoreAfterDelay() start-script ExecuteRestoreAfterDelay(); } - -StartMoving(reversing) +waveSplash() { + while( TRUE ) + { + turn base to x-axis <-3.0> speed <3.0>; + move base to y-axis [0.23] speed [0.23]; + wait-for-turn base around x-axis; + turn base to x-axis <0.0> speed <3.0>; + move base to y-axis [0.0] speed [0.23]; + wait-for-turn base around x-axis; + } +} +StartMoving() +{ + signal SIG_MOVE; + set-signal-mask SIG_MOVE; + var waketime; + start-script waveSplash(); + while( TRUE ) + { + emit-sfx 2 from ground; + waketime = (get CURRENT_SPEED) * 100 / get MAX_SPEED; + if( waketime < 50 ) waketime = 50; + sleep 6500 / waketime; + } } StopMoving() { - + signal SIG_MOVE; + turn base to x-axis <0.0> speed <3.0>; + move base to y-axis [0.0] speed [0.23]; } -AimWeapon3(heading, pitch) +AimTertiary(heading, pitch) { - signal SIGNAL_AIM3; - set-signal-mask SIGNAL_AIM3; + signal SIG_AIM_3; + set-signal-mask SIG_AIM_3; move turretaa to y-axis [4] speed [16]; turn turretaa to y-axis heading speed <300>; wait-for-turn turretaa around y-axis; @@ -92,71 +184,74 @@ AimWeapon3(heading, pitch) return(1); } -AimFromWeapon3(pieceIndex) +AimFromTertiary(piecenum) { - pieceIndex = turretaa; + piecenum = turretaa; } -QueryWeapon3(pieceIndex) +QueryTertiary(piecenum) { - pieceIndex = flareaa; + piecenum = flareaa; } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; - turn turretl to y-axis heading speed <300.0>; + signal SIG_AIM; + set-signal-mask SIG_AIM; + turn turretl to y-axis heading speed <300.000000>; wait-for-turn turretl around y-axis; start-script RestoreAfterDelay(); return (1); } -AimWeapon2(heading, pitch) +AimSecondary(heading, pitch) { - signal SIGNAL_AIM2; - set-signal-mask SIGNAL_AIM2; - turn turretr to y-axis heading speed <300.0>; + signal SIG_AIM_2; + set-signal-mask SIG_AIM_2; + turn turretr to y-axis heading speed <300.000000>; wait-for-turn turretr around y-axis; start-script RestoreAfterDelay(); return (1); } -FireWeapon1() +FirePrimary() { - move plungerl to z-axis [5.0] now; + move plungerl to z-axis [5.000000] now; sleep 25; - move plungerl to z-axis [0.0] speed [10.0]; + move plungerl to z-axis [0.000000] speed [10.000000]; } -FireWeapon2() +FireSecondary() { - move plungerr to z-axis [5.0] now; + move plungerr to z-axis [5.000000] now; sleep 25; - move plungerr to z-axis [0.0] speed [10.0]; + move plungerr to z-axis [0.000000] speed [10.000000]; } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = turretl; + piecenum = turretl; } -AimFromWeapon2(pieceIndex) +AimFromSecondary(piecenum) { - pieceIndex = turretr; + piecenum = turretr; } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = flarel; + piecenum = flarel; } -QueryWeapon2(pieceIndex) +QuerySecondary(piecenum) { - pieceIndex = flarer; + piecenum = flarer; } - +SweetSpot(piecenum) +{ + piecenum = base; +} Killed(severity, corpsetype) { @@ -166,8 +261,11 @@ Killed(severity, corpsetype) explode ground type BITMAPONLY | NOHEATCLOUD; explode base type BITMAPONLY | NOHEATCLOUD; explode turretr type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flarer type BITMAPONLY | NOHEATCLOUD; explode turretaa type BITMAPONLY | NOHEATCLOUD; + //explode flareaa type BITMAPONLY | NOHEATCLOUD; explode turretl type BITMAPONLY | NOHEATCLOUD; + //explode flarel type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } if( severity <= 50 ) @@ -176,8 +274,11 @@ Killed(severity, corpsetype) explode ground type FIRE | SMOKE | FALL | NOHEATCLOUD; explode base type FIRE | SMOKE | FALL | NOHEATCLOUD; explode turretr type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flarer type FIRE | SMOKE | FALL | NOHEATCLOUD; explode turretaa type FALL | NOHEATCLOUD; + //explode flareaa type FALL | NOHEATCLOUD; explode turretl type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flarel type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) @@ -186,15 +287,21 @@ Killed(severity, corpsetype) explode ground type FIRE | SMOKE | FALL | NOHEATCLOUD; explode base type SMOKE | FALL | NOHEATCLOUD; explode turretr type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flarer type FIRE | SMOKE | FALL | NOHEATCLOUD; explode turretaa type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flareaa type SMOKE | FALL | NOHEATCLOUD; explode turretl type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flarel type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; explode ground type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode base type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode turretr type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flarer type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode turretaa type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flareaa type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode turretl type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode flarel type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/scavboss/armptt2.cob b/scripts/Units/scavboss/armptt2.cob index 06691a698720e321cd7ef12033507eb0f6fd0395..25e754e23a198202f085b9d681586df0886471f4 100644 GIT binary patch literal 4767 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 diff --git a/scripts/Units/scavboss/armpwt4.bos b/scripts/Units/scavboss/armpwt4.bos index 61056499b48..918999ccd8a 100644 --- a/scripts/Units/scavboss/armpwt4.bos +++ b/scripts/Units/scavboss/armpwt4.bos @@ -1,45 +1,46 @@ +#define TA // This is a TA script + +#include "sfxtype.h" +#include "exptype.h" +#include "unitDefsTurretSpeeds.h" -#include "../../recoil_common_includes.h" piece torso, ruparm, luparm, rfire, lfire, rloarm, lloarm, pelvis, rthigh, lthigh, lleg, rleg, rfoot, lfoot, rgun, lgun, aimx1, aimy1,head; -static-var isMoving, isAiming, gun_1, restore_delay, moveSpeed, currentSpeed, burst1 ; - -// Note, removed old deprecated unitDefsTurretSpeeds.h -#define Weapon1TurretX <300> -#define Weapon1TurretY <300> -#include "../../weapon1control.h" +static-var bMoving, bAiming, Static_Var_3, gun_1, restore_delay, moveSpeed, currentSpeed, burst1 ; + +#include "weapon1control.h" // Signal definitions -#define SIGNAL_AIM1 256 +#define SIG_AIM 2 // Generated for N:\animations\armpw_anim_walk.blend // Using https://github.com/Beherith/Skeletor_S3O // this animation uses the static-var animFramesPerKeyframe which contains how many frames each keyframe takes static-var animSpeed, maxSpeed, animFramesPerKeyframe; -#define SIGNAL_MOVE 1 +#define SIG_MOVE 4 Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations\armpw_anim_walk.blend // (c) CC BY NC ND Beherith mysterme@gmail.com - set-signal-mask SIGNAL_MOVE; - if (isMoving) { //Frame:2 - turn head to z-axis <3.0> speed <90.0> / animSpeed; //delta=-3.00 - turn head to y-axis <2.0> speed <60.0> / animSpeed; //delta=2.00 + set-signal-mask SIG_MOVE; + if (bMoving) { //Frame:2 + turn head to z-axis <3.000000> speed <90.000003> / animSpeed; //delta=-3.00 + turn head to y-axis <2.000000> speed <60.000000> / animSpeed; //delta=2.00 turn lfoot to x-axis <12.256668> speed <329.120382> / animSpeed; //delta=-10.97 turn lleg to x-axis <55.487907> speed <1663.874735> / animSpeed; //delta=-55.46 turn lthigh to x-axis <-75.498889> speed <2243.955707> / animSpeed; //delta=74.80 turn lthigh to z-axis <5.429225> speed <413.464549> / animSpeed; //delta=-13.78 turn lthigh to y-axis <10.783420> speed <144.995533> / animSpeed; //delta=-4.83 - turn luparm to z-axis <-0.0> speed <362.999983> / animSpeed; //delta=-12.10 - turn pelvis to z-axis <-4.0> speed <119.999999> / animSpeed; //delta=4.00 - turn pelvis to y-axis <-7.0> speed <210.0> / animSpeed; //delta=-7.00 + turn luparm to z-axis <-0.000000> speed <362.999983> / animSpeed; //delta=-12.10 + turn pelvis to z-axis <-4.000000> speed <119.999999> / animSpeed; //delta=4.00 + turn pelvis to y-axis <-7.000000> speed <210.000002> / animSpeed; //delta=-7.00 turn rfoot to x-axis <-19.331519> speed <582.834224> / animSpeed; //delta=19.43 turn rleg to x-axis <1.582876> speed <42.294824> / animSpeed; //delta=-1.41 turn rthigh to x-axis <35.245494> speed <1049.542981> / animSpeed; //delta=-34.98 turn rthigh to z-axis <6.477473> speed <27.671231> / animSpeed; //delta=0.92 turn rthigh to y-axis <-4.832633> speed <133.010908> / animSpeed; //delta=4.43 - turn ruparm to z-axis <-0.0> speed <383.999971> / animSpeed; //delta=12.80 - turn torso to x-axis <2.0> speed <60.0> / animSpeed; //delta=-2.00 + turn ruparm to z-axis <-0.000000> speed <383.999971> / animSpeed; //delta=12.80 + turn torso to x-axis <2.000000> speed <60.000000> / animSpeed; //delta=-2.00 turn torso to y-axis <10.727512> speed <321.825366> / animSpeed; //delta=10.73 - if (!isAiming){ + if (!bAiming){ turn ruparm to x-axis <-10.149999> speed <304.499976> / animSpeed; //delta=10.15 turn luparm to x-axis <25.899997> speed <776.999912> / animSpeed; //delta=-25.90 turn lloarm to x-axis <32.099997> speed <752.999977> / animSpeed; //delta=25.10 @@ -47,28 +48,28 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations } sleep ((33*animSpeed) -1); } - while(isMoving) { - if (isMoving) { //Frame:4 - turn head to x-axis <-3.0> speed <90.0> / animSpeed; //delta=3.00 - turn head to z-axis <5.0> speed <59.999993> / animSpeed; //delta=-2.00 - turn head to y-axis <3.0> speed <30.0> / animSpeed; //delta=1.00 + while(bMoving) { + if (bMoving) { //Frame:4 + turn head to x-axis <-3.000000> speed <90.000003> / animSpeed; //delta=3.00 + turn head to z-axis <5.000000> speed <59.999993> / animSpeed; //delta=-2.00 + turn head to y-axis <3.000000> speed <30.000003> / animSpeed; //delta=1.00 turn lfoot to x-axis <10.476495> speed <53.405181> / animSpeed; //delta=1.78 turn lleg to x-axis <21.080718> speed <1032.215668> / animSpeed; //delta=34.41 - turn lthigh to x-axis <-67.798862> speed <231.0> / animSpeed; //delta=-7.70 + turn lthigh to x-axis <-67.798862> speed <231.000823> / animSpeed; //delta=-7.70 turn lthigh to z-axis <4.158150> speed <38.132242> / animSpeed; //delta=1.27 turn lthigh to y-axis <9.171007> speed <48.372390> / animSpeed; //delta=-1.61 - move pelvis to y-axis [-1.0] speed [30.0] / animSpeed; //delta=-1.00 - turn pelvis to z-axis <-6.0> speed <60.0> / animSpeed; //delta=2.00 - turn pelvis to y-axis <-10.0> speed <89.999990> / animSpeed; //delta=-3.00 + move pelvis to y-axis [-1.000000] speed [30.000000] / animSpeed; //delta=-1.00 + turn pelvis to z-axis <-6.000000> speed <60.000006> / animSpeed; //delta=2.00 + turn pelvis to y-axis <-10.000000> speed <89.999990> / animSpeed; //delta=-3.00 turn rfoot to x-axis <5.567715> speed <746.977005> / animSpeed; //delta=-24.90 turn rleg to x-axis <17.501352> speed <477.554274> / animSpeed; //delta=-15.92 turn rthigh to x-axis <49.563869> speed <429.551246> / animSpeed; //delta=-14.32 turn rthigh to z-axis <22.664569> speed <485.612875> / animSpeed; //delta=-16.19 turn rthigh to y-axis <-17.758362> speed <387.771875> / animSpeed; //delta=-12.93 - turn torso to x-axis <-0.0> speed <60.0> / animSpeed; //delta=2.00 + turn torso to x-axis <-0.000000> speed <60.000000> / animSpeed; //delta=2.00 turn torso to y-axis <16.091268> speed <160.912683> / animSpeed; //delta=5.36 - if (!isAiming){ + if (!bAiming){ turn lloarm to x-axis <39.699996> speed <227.999979> / animSpeed; //delta=-7.60 turn rloarm to x-axis <25.099998> speed <376.499963> / animSpeed; //delta=-12.55 turn ruparm to x-axis <-20.299998> speed <304.499976> / animSpeed; //delta=10.15 @@ -77,18 +78,18 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:6 - turn head to x-axis <-5.0> speed <59.999993> / animSpeed; //delta=2.00 - turn head to z-axis <3.0> speed <59.999993> / animSpeed; //delta=2.00 - turn head to y-axis <2.0> speed <30.0> / animSpeed; //delta=-1.00 + if (bMoving) { //Frame:6 + turn head to x-axis <-5.000000> speed <59.999993> / animSpeed; //delta=2.00 + turn head to z-axis <3.000000> speed <59.999993> / animSpeed; //delta=2.00 + turn head to y-axis <2.000000> speed <30.000003> / animSpeed; //delta=-1.00 turn lfoot to x-axis <30.079231> speed <588.082079> / animSpeed; //delta=-19.60 turn lleg to x-axis <-0.930112> speed <660.324905> / animSpeed; //delta=22.01 turn lthigh to x-axis <-36.977712> speed <924.634502> / animSpeed; //delta=-30.82 turn lthigh to z-axis <1.484005> speed <80.224353> / animSpeed; //delta=2.67 turn lthigh to y-axis <5.780735> speed <101.708146> / animSpeed; //delta=-3.39 - move pelvis to y-axis [-0.500000] speed [15.0] / animSpeed; //delta=0.50 - turn pelvis to z-axis <-4.0> speed <60.0> / animSpeed; //delta=-2.00 - turn pelvis to y-axis <-7.0> speed <89.999990> / animSpeed; //delta=3.00 + move pelvis to y-axis [-0.500000] speed [15.000000] / animSpeed; //delta=0.50 + turn pelvis to z-axis <-4.000000> speed <60.000006> / animSpeed; //delta=-2.00 + turn pelvis to y-axis <-7.000000> speed <89.999990> / animSpeed; //delta=3.00 turn rfoot to x-axis <-57.884173> speed <1903.556638> / animSpeed; //delta=63.45 turn rfoot to y-axis <-0.082820> speed <4.781901> / animSpeed; //delta=-0.16 turn rleg to x-axis <76.345163> speed <1765.314335> / animSpeed; //delta=-58.84 @@ -97,29 +98,29 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn rthigh to x-axis <19.099301> speed <913.937043> / animSpeed; //delta=30.46 turn rthigh to z-axis <7.116277> speed <466.448752> / animSpeed; //delta=15.55 turn rthigh to y-axis <-3.186299> speed <437.161897> / animSpeed; //delta=14.57 - turn torso to x-axis <5.0> speed <149.999996> / animSpeed; //delta=-5.00 + turn torso to x-axis <5.000000> speed <149.999996> / animSpeed; //delta=-5.00 turn torso to y-axis <10.727512> speed <160.912683> / animSpeed; //delta=-5.36 - if (!isAiming){ + if (!bAiming){ turn luparm to x-axis <17.499998> speed <524.999946> / animSpeed; //delta=17.50 turn lloarm to x-axis <19.849998> speed <595.499947> / animSpeed; //delta=19.85 turn ruparm to x-axis <-1.750000> speed <556.499942> / animSpeed; //delta=-18.55 - turn rloarm to x-axis <24.799997> speed <9.0> / animSpeed; //delta=0.30 + turn rloarm to x-axis <24.799997> speed <9.000021> / animSpeed; //delta=0.30 } sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:8 - turn head to x-axis <-3.0> speed <59.999993> / animSpeed; //delta=-2.00 - turn head to z-axis <-0.0> speed <90.0> / animSpeed; //delta=3.00 - turn head to y-axis <0.0> speed <60.0> / animSpeed; //delta=-2.00 + if (bMoving) { //Frame:8 + turn head to x-axis <-3.000000> speed <59.999993> / animSpeed; //delta=-2.00 + turn head to z-axis <-0.000000> speed <90.000003> / animSpeed; //delta=3.00 + turn head to y-axis <0.000000> speed <60.000000> / animSpeed; //delta=-2.00 turn lfoot to x-axis <-0.715686> speed <923.847503> / animSpeed; //delta=30.79 turn lleg to x-axis <-3.299997> speed <71.096558> / animSpeed; //delta=2.37 turn lthigh to x-axis <0.589691> speed <1127.022087> / animSpeed; //delta=-37.57 turn lthigh to z-axis <2.442635> speed <28.758905> / animSpeed; //delta=-0.96 turn lthigh to y-axis <3.543358> speed <67.121330> / animSpeed; //delta=-2.24 move pelvis to y-axis [-0.250000] speed [7.500000] / animSpeed; //delta=0.25 - turn pelvis to z-axis <-0.0> speed <119.999999> / animSpeed; //delta=-4.00 - turn pelvis to y-axis <0.0> speed <210.0> / animSpeed; //delta=7.00 + turn pelvis to z-axis <-0.000000> speed <119.999999> / animSpeed; //delta=-4.00 + turn pelvis to y-axis <0.000000> speed <210.000002> / animSpeed; //delta=7.00 turn rfoot to x-axis <-52.251634> speed <168.976182> / animSpeed; //delta=-5.63 turn rleg to x-axis <89.064069> speed <381.567152> / animSpeed; //delta=-12.72 turn rleg to z-axis <1.101128> speed <27.955427> / animSpeed; //delta=-0.93 @@ -127,39 +128,39 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn rthigh to x-axis <-31.951160> speed <1531.513834> / animSpeed; //delta=51.05 turn rthigh to z-axis <-3.531425> speed <319.431062> / animSpeed; //delta=10.65 turn rthigh to y-axis <-6.117383> speed <87.932523> / animSpeed; //delta=-2.93 - turn torso to x-axis <2.0> speed <89.999996> / animSpeed; //delta=3.00 - turn torso to y-axis <0.0> speed <321.825366> / animSpeed; //delta=-10.73 - if (!isAiming){ + turn torso to x-axis <2.000000> speed <89.999996> / animSpeed; //delta=3.00 + turn torso to y-axis <0.000000> speed <321.825366> / animSpeed; //delta=-10.73 + if (!bAiming){ turn ruparm to x-axis <16.799998> speed <556.499942> / animSpeed; //delta=-18.55 turn rloarm to x-axis <24.499998> speed <8.999970> / animSpeed; //delta=0.30 - turn luparm to x-axis <-0.0> speed <524.999946> / animSpeed; //delta=17.50 - turn lloarm to x-axis <-0.0> speed <595.499947> / animSpeed; //delta=19.85 + turn luparm to x-axis <-0.000000> speed <524.999946> / animSpeed; //delta=17.50 + turn lloarm to x-axis <-0.000000> speed <595.499947> / animSpeed; //delta=19.85 } sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:10 - turn head to x-axis <-0.0> speed <90.0> / animSpeed; //delta=-3.00 - turn head to z-axis <-3.0> speed <90.0> / animSpeed; //delta=3.00 - turn head to y-axis <-2.0> speed <60.0> / animSpeed; //delta=-2.00 + if (bMoving) { //Frame:10 + turn head to x-axis <-0.000000> speed <90.000003> / animSpeed; //delta=-3.00 + turn head to z-axis <-3.000000> speed <90.000003> / animSpeed; //delta=3.00 + turn head to y-axis <-2.000000> speed <60.000000> / animSpeed; //delta=-2.00 turn lfoot to x-axis <-20.656780> speed <598.232833> / animSpeed; //delta=19.94 turn lleg to x-axis <1.651201> speed <148.535938> / animSpeed; //delta=-4.95 turn lthigh to x-axis <35.930903> speed <1060.236370> / animSpeed; //delta=-35.34 turn lthigh to z-axis <-6.407436> speed <265.502129> / animSpeed; //delta=8.85 turn lthigh to y-axis <9.339118> speed <173.872819> / animSpeed; //delta=5.80 - move pelvis to y-axis [0.0] speed [7.500000] / animSpeed; //delta=0.25 - turn pelvis to z-axis <4.0> speed <119.999999> / animSpeed; //delta=-4.00 - turn pelvis to y-axis <7.0> speed <210.0> / animSpeed; //delta=7.00 + move pelvis to y-axis [0.000000] speed [7.500000] / animSpeed; //delta=0.25 + turn pelvis to z-axis <4.000000> speed <119.999999> / animSpeed; //delta=-4.00 + turn pelvis to y-axis <7.000000> speed <210.000002> / animSpeed; //delta=7.00 turn rfoot to x-axis <7.470142> speed <1791.653269> / animSpeed; //delta=-59.72 turn rleg to x-axis <57.621436> speed <943.278972> / animSpeed; //delta=31.44 turn rleg to z-axis <0.001965> speed <32.974877> / animSpeed; //delta=1.10 - turn rleg to y-axis <0.0> speed <32.675019> / animSpeed; //delta=1.09 + turn rleg to y-axis <0.000121> speed <32.675019> / animSpeed; //delta=1.09 turn rthigh to x-axis <-74.394844> speed <1273.310503> / animSpeed; //delta=42.44 turn rthigh to z-axis <-3.418305> speed <3.393609> / animSpeed; //delta=-0.11 turn rthigh to y-axis <-8.657335> speed <76.198555> / animSpeed; //delta=-2.54 turn torso to x-axis <1.500000> speed <14.999998> / animSpeed; //delta=0.50 turn torso to y-axis <-10.727512> speed <321.825366> / animSpeed; //delta=-10.73 - if (!isAiming){ + if (!bAiming){ turn lloarm to x-axis <12.549999> speed <376.499963> / animSpeed; //delta=-12.55 turn luparm to x-axis <-10.149999> speed <304.499976> / animSpeed; //delta=10.15 turn ruparm to x-axis <25.899997> speed <272.999980> / animSpeed; //delta=-9.10 @@ -168,26 +169,26 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:12 - turn head to x-axis <3.0> speed <90.0> / animSpeed; //delta=-3.00 - turn head to z-axis <-5.0> speed <59.999993> / animSpeed; //delta=2.00 - turn head to y-axis <-3.0> speed <30.0> / animSpeed; //delta=-1.00 + if (bMoving) { //Frame:12 + turn head to x-axis <3.000000> speed <90.000003> / animSpeed; //delta=-3.00 + turn head to z-axis <-5.000000> speed <59.999993> / animSpeed; //delta=2.00 + turn head to y-axis <-3.000000> speed <30.000003> / animSpeed; //delta=-1.00 turn lfoot to x-axis <3.949748> speed <738.195836> / animSpeed; //delta=-24.61 turn lleg to x-axis <17.815912> speed <484.941329> / animSpeed; //delta=-16.16 turn lthigh to x-axis <50.892016> speed <448.833382> / animSpeed; //delta=-14.96 turn lthigh to z-axis <-23.408452> speed <510.030473> / animSpeed; //delta=17.00 turn lthigh to y-axis <18.550493> speed <276.341249> / animSpeed; //delta=9.21 - move pelvis to y-axis [-1.0] speed [30.0] / animSpeed; //delta=-1.00 - turn pelvis to z-axis <6.0> speed <60.0> / animSpeed; //delta=-2.00 - turn pelvis to y-axis <10.0> speed <89.999990> / animSpeed; //delta=3.00 + move pelvis to y-axis [-1.000000] speed [30.000000] / animSpeed; //delta=-1.00 + turn pelvis to z-axis <6.000000> speed <60.000006> / animSpeed; //delta=-2.00 + turn pelvis to y-axis <10.000000> speed <89.999990> / animSpeed; //delta=3.00 turn rfoot to x-axis <6.339872> speed <33.908111> / animSpeed; //delta=1.13 turn rleg to x-axis <20.971160> speed <1099.508280> / animSpeed; //delta=36.65 turn rthigh to x-axis <-66.214873> speed <245.399135> / animSpeed; //delta=-8.18 turn rthigh to z-axis <-2.997774> speed <12.615908> / animSpeed; //delta=-0.42 turn rthigh to y-axis <-7.981488> speed <20.275391> / animSpeed; //delta=0.68 - turn torso to x-axis <1.0> speed <15.0> / animSpeed; //delta=0.50 + turn torso to x-axis <1.000000> speed <15.000001> / animSpeed; //delta=0.50 turn torso to y-axis <-16.091268> speed <160.912683> / animSpeed; //delta=-5.36 - if (!isAiming){ + if (!bAiming){ turn lloarm to x-axis <25.099998> speed <376.499963> / animSpeed; //delta=-12.55 turn luparm to x-axis <-20.299998> speed <304.499976> / animSpeed; //delta=10.15 turn rloarm to x-axis <39.699996> speed <227.999979> / animSpeed; //delta=-7.60 @@ -196,10 +197,10 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:14 - turn head to x-axis <5.0> speed <59.999993> / animSpeed; //delta=-2.00 - turn head to z-axis <-3.0> speed <59.999993> / animSpeed; //delta=-2.00 - turn head to y-axis <-2.0> speed <30.0> / animSpeed; //delta=1.00 + if (bMoving) { //Frame:14 + turn head to x-axis <5.000000> speed <59.999993> / animSpeed; //delta=-2.00 + turn head to z-axis <-3.000000> speed <59.999993> / animSpeed; //delta=-2.00 + turn head to y-axis <-2.000000> speed <30.000003> / animSpeed; //delta=1.00 turn lfoot to x-axis <-59.762174> speed <1911.357666> / animSpeed; //delta=63.71 turn lfoot to y-axis <0.094110> speed <5.007249> / animSpeed; //delta=0.17 turn lleg to x-axis <78.978727> speed <1834.884473> / animSpeed; //delta=-61.16 @@ -208,18 +209,18 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn lthigh to x-axis <19.294984> speed <947.910968> / animSpeed; //delta=31.60 turn lthigh to z-axis <-7.158915> speed <487.486097> / animSpeed; //delta=-16.25 turn lthigh to y-axis <3.165140> speed <461.560605> / animSpeed; //delta=-15.39 - move pelvis to y-axis [-0.500000] speed [15.0] / animSpeed; //delta=0.50 - turn pelvis to z-axis <4.0> speed <60.0> / animSpeed; //delta=2.00 - turn pelvis to y-axis <7.0> speed <89.999990> / animSpeed; //delta=-3.00 + move pelvis to y-axis [-0.500000] speed [15.000000] / animSpeed; //delta=0.50 + turn pelvis to z-axis <4.000000> speed <60.000006> / animSpeed; //delta=2.00 + turn pelvis to y-axis <7.000000> speed <89.999990> / animSpeed; //delta=-3.00 turn rfoot to x-axis <27.543472> speed <636.108012> / animSpeed; //delta=-21.20 turn rleg to x-axis <-1.292623> speed <667.913503> / animSpeed; //delta=22.26 turn rthigh to x-axis <-35.629473> speed <917.561978> / animSpeed; //delta=-30.59 turn rthigh to z-axis <-1.266893> speed <51.926444> / animSpeed; //delta=-1.73 turn rthigh to y-axis <-5.529112> speed <73.571293> / animSpeed; //delta=2.45 - turn torso to x-axis <-0.0> speed <30.0> / animSpeed; //delta=1.00 + turn torso to x-axis <-0.000000> speed <30.000000> / animSpeed; //delta=1.00 turn torso to y-axis <-10.727512> speed <160.912683> / animSpeed; //delta=5.36 - if (!isAiming){ - turn lloarm to x-axis <24.799997> speed <9.0> / animSpeed; //delta=0.30 + if (!bAiming){ + turn lloarm to x-axis <24.799997> speed <9.000021> / animSpeed; //delta=0.30 turn luparm to x-axis <-1.750000> speed <556.499942> / animSpeed; //delta=-18.55 turn rloarm to x-axis <19.849998> speed <595.499947> / animSpeed; //delta=19.85 turn ruparm to x-axis <17.499998> speed <524.999946> / animSpeed; //delta=17.50 @@ -227,10 +228,10 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:16 - turn head to x-axis <3.0> speed <59.999993> / animSpeed; //delta=2.00 - turn head to z-axis <-0.0> speed <90.0> / animSpeed; //delta=-3.00 - turn head to y-axis <0.0> speed <60.0> / animSpeed; //delta=2.00 + if (bMoving) { //Frame:16 + turn head to x-axis <3.000000> speed <59.999993> / animSpeed; //delta=2.00 + turn head to z-axis <-0.000000> speed <90.000003> / animSpeed; //delta=-3.00 + turn head to y-axis <0.000000> speed <60.000000> / animSpeed; //delta=2.00 turn lfoot to x-axis <-51.779046> speed <239.493856> / animSpeed; //delta=-7.98 turn lleg to x-axis <88.335472> speed <280.702333> / animSpeed; //delta=-9.36 turn lleg to z-axis <0.684763> speed <16.362339> / animSpeed; //delta=-0.55 @@ -239,46 +240,46 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn lthigh to z-axis <3.898757> speed <331.730173> / animSpeed; //delta=-11.06 turn lthigh to y-axis <6.508490> speed <100.300515> / animSpeed; //delta=3.34 move pelvis to y-axis [-0.250000] speed [7.500000] / animSpeed; //delta=0.25 - turn pelvis to z-axis <-0.0> speed <119.999999> / animSpeed; //delta=4.00 - turn pelvis to y-axis <0.0> speed <210.0> / animSpeed; //delta=-7.00 + turn pelvis to z-axis <-0.000000> speed <119.999999> / animSpeed; //delta=4.00 + turn pelvis to y-axis <0.000000> speed <210.000002> / animSpeed; //delta=-7.00 turn rfoot to x-axis <-0.696991> speed <847.213888> / animSpeed; //delta=28.24 turn rleg to x-axis <-3.374669> speed <62.461359> / animSpeed; //delta=2.08 turn rthigh to x-axis <0.603563> speed <1086.991103> / animSpeed; //delta=-36.23 turn rthigh to z-axis <-2.389635> speed <33.682264> / animSpeed; //delta=1.12 turn rthigh to y-axis <-3.644399> speed <56.541390> / animSpeed; //delta=1.88 - turn torso to x-axis <5.0> speed <149.999996> / animSpeed; //delta=-5.00 - turn torso to y-axis <0.0> speed <321.825366> / animSpeed; //delta=10.73 - if (!isAiming){ + turn torso to x-axis <5.000000> speed <149.999996> / animSpeed; //delta=-5.00 + turn torso to y-axis <0.000000> speed <321.825366> / animSpeed; //delta=10.73 + if (!bAiming){ turn lloarm to x-axis <24.499998> speed <8.999970> / animSpeed; //delta=0.30 turn luparm to x-axis <16.799998> speed <556.499942> / animSpeed; //delta=-18.55 - turn rloarm to x-axis <-0.0> speed <595.499947> / animSpeed; //delta=19.85 - turn ruparm to x-axis <-0.0> speed <524.999946> / animSpeed; //delta=17.50 + turn rloarm to x-axis <-0.000000> speed <595.499947> / animSpeed; //delta=19.85 + turn ruparm to x-axis <-0.000000> speed <524.999946> / animSpeed; //delta=17.50 } sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:18 - turn head to x-axis <-0.0> speed <90.0> / animSpeed; //delta=3.00 - turn head to z-axis <3.0> speed <90.0> / animSpeed; //delta=-3.00 - turn head to y-axis <2.0> speed <60.0> / animSpeed; //delta=2.00 + if (bMoving) { //Frame:18 + turn head to x-axis <-0.000000> speed <90.000003> / animSpeed; //delta=3.00 + turn head to z-axis <3.000000> speed <90.000003> / animSpeed; //delta=-3.00 + turn head to y-axis <2.000000> speed <60.000000> / animSpeed; //delta=2.00 turn lfoot to x-axis <12.256668> speed <1921.071411> / animSpeed; //delta=-64.04 turn lleg to x-axis <55.487907> speed <985.426943> / animSpeed; //delta=32.85 turn lleg to z-axis <0.001606> speed <20.494694> / animSpeed; //delta=0.68 - turn lleg to y-axis <0.0> speed <20.476971> / animSpeed; //delta=0.68 + turn lleg to y-axis <0.000549> speed <20.476971> / animSpeed; //delta=0.68 turn lthigh to x-axis <-75.498889> speed <1291.093344> / animSpeed; //delta=43.04 turn lthigh to z-axis <5.429225> speed <45.914021> / animSpeed; //delta=-1.53 turn lthigh to y-axis <10.783420> speed <128.247888> / animSpeed; //delta=4.27 - move pelvis to y-axis [0.0] speed [7.500000] / animSpeed; //delta=0.25 - turn pelvis to z-axis <-4.0> speed <119.999999> / animSpeed; //delta=4.00 - turn pelvis to y-axis <-7.0> speed <210.0> / animSpeed; //delta=-7.00 + move pelvis to y-axis [0.000000] speed [7.500000] / animSpeed; //delta=0.25 + turn pelvis to z-axis <-4.000000> speed <119.999999> / animSpeed; //delta=4.00 + turn pelvis to y-axis <-7.000000> speed <210.000002> / animSpeed; //delta=-7.00 turn rfoot to x-axis <-19.277005> speed <557.400427> / animSpeed; //delta=18.58 turn rleg to x-axis <1.482252> speed <145.707625> / animSpeed; //delta=-4.86 turn rthigh to x-axis <34.962809> speed <1030.777385> / animSpeed; //delta=-34.36 turn rthigh to z-axis <6.426709> speed <264.490305> / animSpeed; //delta=-8.82 turn rthigh to y-axis <-9.420859> speed <173.293788> / animSpeed; //delta=-5.78 - turn torso to x-axis <2.0> speed <89.999996> / animSpeed; //delta=3.00 + turn torso to x-axis <2.000000> speed <89.999996> / animSpeed; //delta=3.00 turn torso to y-axis <10.727512> speed <321.825366> / animSpeed; //delta=10.73 - if (!isAiming){ + if (!bAiming){ turn lloarm to x-axis <32.099997> speed <227.999979> / animSpeed; //delta=-7.60 turn luparm to x-axis <25.899997> speed <272.999980> / animSpeed; //delta=-9.10 turn rloarm to x-axis <12.549999> speed <376.499963> / animSpeed; //delta=-12.55 @@ -289,39 +290,39 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations } } } -// Call this from StopMoving()! +// Call this from MotionControl()! StopWalking() { - move pelvis to y-axis [0.0] speed [15.0]; - turn head to x-axis <0.0> speed <45.0>; - turn head to y-axis <0.0> speed <30.0>; - turn head to z-axis <0.0> speed <45.0>; + move pelvis to y-axis [0.000000] speed [15.000000]; + turn head to x-axis <0.000000> speed <45.000001>; + turn head to y-axis <0.000000> speed <30.000000>; + turn head to z-axis <0.000000> speed <45.000001>; turn lfoot to x-axis <1.285988> speed <1218.137537>; - turn lfoot to y-axis <0.0> speed <4.641746>; - turn lfoot to z-axis <0.0> speed <2.333080>; - turn lleg to x-axis <0.0> speed <957.859087>; - turn lleg to y-axis <0.0> speed <443.136521>; - turn lleg to z-axis <0.0> speed <443.190059>; + turn lfoot to y-axis <0.000000> speed <4.641746>; + turn lfoot to z-axis <0.000000> speed <2.333080>; + turn lleg to x-axis <0.000000> speed <957.859087>; + turn lleg to y-axis <0.000000> speed <443.136521>; + turn lleg to z-axis <0.000000> speed <443.190059>; turn lthigh to x-axis <-0.700366> speed <1115.464619>; turn lthigh to y-axis <15.616604> speed <421.052079>; turn lthigh to z-axis <-8.352927> speed <265.118120>; turn luparm to z-axis <-12.099999> speed <181.499991>; - turn pelvis to y-axis <0.0> speed <105.0>; - turn pelvis to z-axis <0.0> speed <60.0>; - turn rfoot to x-axis <0.0> speed <1208.987384>; - turn rfoot to y-axis <0.0> speed <4.135854>; - turn rfoot to z-axis <0.0> speed <1.879371>; + turn pelvis to y-axis <0.000000> speed <105.000001>; + turn pelvis to z-axis <0.000000> speed <60.000000>; + turn rfoot to x-axis <0.000000> speed <1208.987384>; + turn rfoot to y-axis <0.000000> speed <4.135854>; + turn rfoot to z-axis <0.000000> speed <1.879371>; turn rleg to x-axis <0.173049> speed <919.355902>; - turn rleg to y-axis <0.0> speed <22.340730>; - turn rleg to z-axis <0.0> speed <22.386888>; + turn rleg to y-axis <0.000000> speed <22.340730>; + turn rleg to z-axis <0.000000> speed <22.386888>; turn rthigh to x-axis <0.260728> speed <892.927654>; turn rthigh to y-axis <-9.266330> speed <214.327854>; turn rthigh to z-axis <7.399847> speed <263.336713>; - turn ruparm to x-axis <0.0> speed <278.249971>; - turn torso to x-axis <0.0> speed <74.999998>; - turn torso to y-axis <0.0> speed <160.912683>; - if (!isAiming){ + turn ruparm to x-axis <0.000000> speed <278.249971>; + turn torso to x-axis <0.000000> speed <74.999998>; + turn torso to y-axis <0.000000> speed <160.912683>; + if (!bAiming){ turn lloarm to x-axis <57.199996> speed <376.499988>; - turn luparm to x-axis <0.0> speed <388.499956>; + turn luparm to x-axis <0.000000> speed <388.499956>; turn rloarm to x-axis <51.399998> speed <582.749985>; turn ruparm to z-axis <12.799999> speed <191.999986>; } @@ -349,7 +350,26 @@ UnitSpeed(){ //how 'heavy' the unit is, on a scale of 1-10 #define UNITSIZE 1 #define MAXTILT 100 -#include "../../unit_hitbyweaponid_and_smoke.h" +HitByWeapon(anglex, anglez, damage) // angle[x|z] is always [-500;500], damage is multiplied by 100 +{ + var amount;//, speedz, speedx; + amount = damage / (100 * UNITSIZE); + if (amount < 3 ) return (0); + if (amount > MAXTILT) amount = MAXTILT; + //get PRINT(anglex, anglez, amount, damage); + //speedz = HITSPEED * get ABS(anglez) / 500; //nevermind this, the random error this produces actually looks better than the accurate version + turn BASEPIECE to z-axis (anglez * amount) / 100 speed HITSPEED; + turn BASEPIECE to x-axis <0> - (anglex * amount) /100 speed HITSPEED; + wait-for-turn BASEPIECE around z-axis; + wait-for-turn BASEPIECE around x-axis; + turn BASEPIECE to z-axis <0.000000> speed HITSPEED / 4; + turn BASEPIECE to x-axis <0.000000> speed HITSPEED / 4; +} +HitByWeaponId(anglex, anglez, weaponid, dmg) //weaponID is always 0,lasers and flamers give angles of 0 +{ + start-script HitByWeapon(dmg, anglez,anglex); //I dont know why param order must be switched, and this also runs a frame later :( + return (100); //return damage percent +} static-var Stunned; ExecuteRestoreAfterDelay() @@ -358,19 +378,19 @@ ExecuteRestoreAfterDelay() return (1); } //get PRINT(get RAND(1,1000)); - turn aimy1 to y-axis <0> speed <300.0>; - turn ruparm to x-axis <0> speed <300.0>; - turn ruparm to x-axis <0> speed <300.0>; - turn lloarm to x-axis <90> speed <300.0>; - turn rloarm to x-axis <90> speed <300.0>; + turn aimy1 to y-axis <0> speed <300.00>; + turn ruparm to x-axis <0> speed <300.000000>; + turn ruparm to x-axis <0> speed <300.000000>; + turn lloarm to x-axis <90> speed <300.000000>; + turn rloarm to x-axis <90> speed <300.000000>; start-script RestoreWeapon1(); call-script Weapon1Restored(); - isAiming = FALSE; + bAiming = FALSE; } static-var bAnimate; Animate() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations\armpw_anim_idle_pushup.blend - set-signal-mask (SIGNAL_AIM1 | SIGNAL_MOVE); + set-signal-mask (SIG_AIM | SIG_MOVE); sleep 10000 + 100*RAND(1,200); // 10-30 secs bAnimate = TRUE; // this sets animation started, so that StopAnimate knows that it should restore state quickly @@ -916,9 +936,9 @@ Animate() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animati } if (bAnimate) { turn lfoot to x-axis <0.044668> speed <265.521937> ; - turn lfoot to z-axis <0.0> speed <2.792637> ; + turn lfoot to z-axis <0.000003> speed <2.792637> ; turn lleg to x-axis <-0.030954> speed <481.099261> ; - turn lleg to z-axis <-0.0> speed <2.860280> ; + turn lleg to z-axis <-0.000098> speed <2.860280> ; turn lleg to y-axis <0.001986> speed <1.075197> ; turn lloarm to x-axis <-0.017911> speed <251.188990> ; turn lloarm to y-axis <-0.001192> speed <4.195630> ; @@ -926,21 +946,21 @@ Animate() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animati turn luparm to x-axis <-0.146491> speed <263.080849> ; turn luparm to z-axis <0.001526> speed <1.368152> ; turn luparm to y-axis <0.001680> speed <3.700189> ; - move pelvis to z-axis [0.0] speed [2.090636] ; - move pelvis to y-axis [0.0] speed [17.979473] ; + move pelvis to z-axis [0.000000] speed [2.090636] ; + move pelvis to y-axis [0.000000] speed [17.979473] ; turn pelvis to x-axis <0.106443> speed <162.008393> ; - turn pelvis to z-axis <0.0> speed <1.275300> ; + turn pelvis to z-axis <0.000621> speed <1.275300> ; turn rfoot to x-axis <0.041923> speed <302.505215> ; - turn rfoot to z-axis <-0.0> speed <4.797614> ; - turn rfoot to y-axis <0.0> speed <3.182008> ; + turn rfoot to z-axis <-0.000000> speed <4.797614> ; + turn rfoot to y-axis <0.000002> speed <3.182008> ; turn rleg to x-axis <-0.030584> speed <511.192365> ; - turn rleg to z-axis <-0.0> speed <7.294778> ; + turn rleg to z-axis <-0.000901> speed <7.294778> ; turn rleg to y-axis <0.001259> speed <6.776268> ; turn rloarm to x-axis <-0.017415> speed <253.225771> ; - turn rloarm to z-axis <0.0> speed <15.273579> ; + turn rloarm to z-axis <0.000003> speed <15.273579> ; turn rloarm to y-axis <0.004522> speed <17.034926> ; turn rthigh to x-axis <-0.118862> speed <280.199673> ; - turn rthigh to z-axis <-0.0> speed <7.887418> ; + turn rthigh to z-axis <-0.000657> speed <7.887418> ; turn rthigh to y-axis <-0.002014> speed <5.793443> ; turn ruparm to x-axis <-0.144353> speed <260.436190> ; turn ruparm to z-axis <-0.006278> speed <1.480031> ; @@ -951,7 +971,7 @@ Animate() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animati start-script ExecuteRestoreAfterDelay(); bAnimate = FALSE; } -// Call this from StopMoving()! +// Call this from MotionControl()! StopAnimation() { if (bAnimate) { move pelvis to y-axis [0] speed [17.979473]; @@ -995,34 +1015,65 @@ StopAnimation() { } +SmokeUnit(healthpercent, sleeptime, smoketype) +{ + while( get BUILD_PERCENT_LEFT ) + { + sleep 500; + } + while( TRUE ) + { + healthpercent = get HEALTH; + if( healthpercent < 66 ) + { + smoketype = 258; + if( Rand( 1, 66 ) < healthpercent ) + { + smoketype = 257; + } + emit-sfx smoketype from torso; + } + sleeptime = healthpercent * 50; + if( sleeptime < 200 ) + { + sleeptime = 200; + } + sleep sleeptime; + } +} + Create() { hide rfire; hide lfire; hide aimx1; hide aimy1; + hide rfire; turn rfire to x-axis <10> now; + hide lfire; turn lfire to x-axis <10> now; - isMoving = FALSE; - isAiming = FALSE; + bMoving = FALSE; + bAiming = FALSE; + Static_Var_3 = 1; gun_1 = 0; restore_delay = 3000; animSpeed = 4; burst1 = 1; bAnimate = FALSE; start-script InitialSetup1(); + start-script SmokeUnit(); } -SetMaxReloadTime(reloadMS) +SetMaxReloadTime(Func_Var_1) { - restore_delay = reloadMS * 2; + restore_delay = Func_Var_1 * 2; } -StartMoving(reversing) +StartMoving() { - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; - isMoving = TRUE; + signal SIG_MOVE; + set-signal-mask SIG_MOVE; + bMoving = TRUE; call-script StopAnimation(); start-script UnitSpeed(); start-script Walk(); @@ -1030,29 +1081,32 @@ StartMoving(reversing) StopMoving() { - isMoving = FALSE; - signal SIGNAL_MOVE; + bMoving = FALSE; + signal SIG_MOVE; call-script StopWalking(); } - +SweetSpot(piecenum) +{ + piecenum = torso; +} DrawWeapon1() { - isAiming = TRUE; - turn aimy1 to y-axis <0> speed <300.0>; - turn ruparm to x-axis <0> speed <300.0>; - turn ruparm to x-axis <0> speed <300.0>; - turn lloarm to x-axis <0> speed <300.0>; - turn rloarm to x-axis <0> speed <300.0>; + bAiming = TRUE; + turn aimy1 to y-axis <0> speed <300.00>; + turn ruparm to x-axis <0> speed <300.000000>; + turn ruparm to x-axis <0> speed <300.000000>; + turn lloarm to x-axis <0> speed <300.000000>; + turn rloarm to x-axis <0> speed <300.000000>; wait-for-turn lloarm around x-axis; wait-for-turn rloarm around x-axis; wait-for-turn luparm around x-axis; wait-for-turn ruparm around x-axis; - Weapon1Drawn(); + start-script Weapon1Drawn(); } @@ -1065,19 +1119,19 @@ SetStunned(State) } RestoreAfterDelay() { - set-signal-mask SIGNAL_AIM1; + set-signal-mask SIG_AIM; sleep restore_delay; start-script ExecuteRestoreAfterDelay(); } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = aimy1; + piecenum = aimy1; } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = rfire + gun_1; + piecenum = rfire + gun_1; } Shot1() @@ -1110,24 +1164,18 @@ Shot1() } } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; + signal SIG_AIM; + call-script StopAnimation(); + start-script RestoreAfterDelay(); + bAiming = TRUE; + start-script Weapon1SetWtdAim(heading, pitch); if (wpnReady1 == 0) { start-script DrawWeapon1(); } - set-signal-mask SIGNAL_AIM1; - start-script Weapon1Control(); - - // This is needed cause Weapon1Control() wont kick in till the next frame - canfire = ABSOLUTE_LESS_THAN(WRAPDELTA(heading - curHead1),(Weapon1TurretX / 30)); - - isAiming = TRUE; - - Weapon1SetWantedAim(heading, pitch); - start-script RestoreAfterDelay(); - return (canFire); + return (aim1); } Killed(severity, corpsetype) @@ -1143,7 +1191,14 @@ Killed(severity, corpsetype) if( severity <= 50 ) { corpsetype = 2; + //explode lfire type FALL | BITMAP2 | NOHEATCLOUD; + //explode lloarm type FALL | BITMAP5 | NOHEATCLOUD; + //explode lthigh type FALL | BITMAP1 | NOHEATCLOUD; + //explode luparm type FALL | BITMAP2 | NOHEATCLOUD; // pelvis type FALL | BITMAP3 | NOHEATCLOUD; + //explode rfire type FALL | BITMAP4 | NOHEATCLOUD; + //explode rloarm type FALL | BITMAP2 | NOHEATCLOUD; + //explode rthigh type FALL | BITMAP3 | NOHEATCLOUD; explode ruparm type FALL | BITMAP4 | NOHEATCLOUD; explode torso type BITMAP5 | NOHEATCLOUD; return (corpsetype); @@ -1151,14 +1206,31 @@ Killed(severity, corpsetype) if( severity <= 99 ) { corpsetype = 3; + //explode lfoot type FALL | SMOKE | FIRE | BITMAP3 | NOHEATCLOUD; + //explode lleg type FALL | SMOKE | FIRE | BITMAP4 | NOHEATCLOUD; + //explode lloarm type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP5 | NOHEATCLOUD; + //explode lthigh type FALL | SMOKE | FIRE | BITMAP1 | NOHEATCLOUD; + //explode luparm type FALL | SMOKE | FIRE | BITMAP2 | NOHEATCLOUD; + //explode pelvis type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP3 | NOHEATCLOUD; + //explode rfoot type FALL | SMOKE | FIRE | BITMAP5 | NOHEATCLOUD; + //explode rleg type FALL | SMOKE | FIRE | BITMAP1 | NOHEATCLOUD; explode rloarm type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP2 | NOHEATCLOUD; + //explode rthigh type FALL | SMOKE | FIRE | BITMAP3 | NOHEATCLOUD; explode ruparm type FALL | SMOKE | FIRE | BITMAP4 | NOHEATCLOUD; explode torso type BITMAP5 | NOHEATCLOUD; return (corpsetype); } corpsetype = 3; + //explode lfoot type FALL | SMOKE | FIRE | BITMAP3 | NOHEATCLOUD; + //explode lleg type FALL | SMOKE | FIRE | BITMAP4 | NOHEATCLOUD; + //explode lloarm type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP5 | NOHEATCLOUD; + //explode lthigh type FALL | SMOKE | FIRE | BITMAP1 | NOHEATCLOUD; + //explode luparm type FALL | SMOKE | FIRE | BITMAP2 | NOHEATCLOUD; explode pelvis type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP3 | NOHEATCLOUD; + //explode rfoot type FALL | SMOKE | FIRE | BITMAP5 | NOHEATCLOUD; + //explode rleg type FALL | SMOKE | FIRE | BITMAP1 | NOHEATCLOUD; explode rloarm type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP2 | NOHEATCLOUD; + //explode rthigh type FALL | SMOKE | FIRE | BITMAP3 | NOHEATCLOUD; explode ruparm type FALL | SMOKE | FIRE | BITMAP4 | NOHEATCLOUD; explode torso type BITMAP5 | NOHEATCLOUD; return corpsetype; diff --git a/scripts/Units/scavboss/armpwt4.cob b/scripts/Units/scavboss/armpwt4.cob index 1aca6561176f2ce766ec8af86bf06be7060a031f..6e53d6eedebe8d1b59b6e79191c458d70baeae9f 100644 GIT binary patch literal 33727 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 - turn base to z-axis <0> - anglez speed <5.0>; + turn base to x-axis anglex speed <5.000000>; + turn base to z-axis <0> - anglez speed <5.000000>; wait-for-turn base around z-axis; wait-for-turn base around x-axis; - turn base to z-axis <0.0> speed <2.0>; - turn base to x-axis <0.0> speed <2.0>; + turn base to z-axis <0.000000> speed <2.000000>; + turn base to x-axis <0.000000> speed <2.000000>; } @@ -34,8 +59,9 @@ Create() hide flare; hide flare; restore_delay = 3000; + start-script SmokeUnit(); } -StartMoving(reversing) +StartMoving() { turn base to x-axis <-7> speed <7>; move base to y-axis [1] speed [1]; @@ -46,9 +72,9 @@ StartMoving(reversing) } -SetMaxReloadTime(reloadMS) +SetMaxReloadTime(Func_Var_1) { - restore_delay = reloadMS * 2; + restore_delay = Func_Var_1 * 2; } static-var Stunned; @@ -68,38 +94,41 @@ SetStunned(State) RestoreAfterDelay() { sleep restore_delay; - turn turret to y-axis <0.0> speed <20.0>; + turn turret to y-axis <0.000000> speed <20.0>; } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; turn turret to y-axis heading speed <30.0>; wait-for-turn turret around y-axis; start-script RestoreAfterDelay(); return (1); } -FireWeapon1() +FirePrimary() { emit-sfx 1024 + 0 from flare; - move barrel to z-axis [-10.400000] speed [500.0]; + move barrel to z-axis [-10.400000] speed [500.000000]; wait-for-move barrel along z-axis; - move barrel to z-axis [0.0] speed [7.500000]; + move barrel to z-axis [0.000000] speed [7.500000]; } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = turret; + piecenum = turret; } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = flare; + piecenum = flare; } - +SweetSpot(piecenum) +{ + piecenum = base; +} Killed(severity, corpsetype) { diff --git a/scripts/Units/scavboss/armrattet4.cob b/scripts/Units/scavboss/armrattet4.cob index b74399d2ef3ae69e63bf7728ed6a021a84e53d39..4b19730867a0853d672b085d11d1a663898cfc6d 100644 GIT binary patch literal 2700 zcmd^BJx>%-6uq;%41NTC78DjHV_`?)iVdZxV4@*G7F)vz4>Pj6Lxx#_#?V;U*lR58 zZH?M!t1;0Zz%MYdF$Nng)^py+Fbj;KGtq^Ud*^=N^WH2pMC1ez0+(tc_%)xgqasVd zGhhssmyiJ%fRhLVL)jX#1AT6u zDX8pA8|Nv<`kg%wOq1DgfUn0Oq?k3bb1;lG>7(Sc?=Mju`EFi16nLe-q*G;H8^ieg za!!@c=TVwD7etwJfgGX@lKXkdI&Y4PG@71k?B+g2U+hc$Ckj!9zxsVY3qx&OP)KZM zYOoJ|U%&x*q`rguX5(Rt2Du^wg>O#{L>Ih!t{H1M!x{Vei+s$?8)SD4)mx;~XP({p z`8v#{y@-Eq@99VORH5a~<ooOYXtb({yWV- z@7?b(v$9=Pe$}jgFE9T#KZ{(#@zZzwn0KIQ`K;RSU*?B9|L+{|TFe0Jz$4%V@CxAH zj8DKe@EsVzof!qr0OtVy@AM9M4}1o;fv-U0n8-=sEHDO40M~$d;5MLvd%!BN4mL; zPcuEaoa^kWZpWL9Y~{UfS1-wa=Va2E&5}->ZOU|#X|KaPou!5AW>06E-q%{!sJNQu hawBQCQT0x|re(PuXIk=JmgyW8h_3I$) zIyj(d&0A+oK79wgLv*2zCwJp+0cG6JUKB$cYtp?b4`a#G@_(J(nJaWQMbpC={5rXv z()Sg;+pAHF@(g?8rto1GjwcXFL&Y$==f zTLe<4@!G>H`k0>9e%JiBn+N>W&fXZWcE{uSSYMdey=$NMgU_pd9cJEX*6#Cu^?BV+ z%30s6U;CkJ*w6p=%hW^I>&N5FgF8}J)Ahn_9~d~X%tHZTJ`1fBw`0RM;h2z&xQ z1KYq4pbMA!G;j&%2W|qBKm;rR4}d4YGvGO}2D}6|fa|q%aQUu{78>;%)$mJ(qWNgn zR>$WXb5_P0({q#cS}Io)8>Lpp(fxl(GTmv~#Mj#^w`y?=u6xm< Zm6 speed <113.735764> / animSpeed; //delta=-3.79 turn head to x-axis <-2.620635> speed <39.654598> / animSpeed; //delta=1.32 turn head to y-axis <-3.829846> speed <114.895376> / animSpeed; //delta=-3.83 @@ -32,7 +34,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn lthigh to z-axis <10.085981> speed <605.673206> / animSpeed; //delta=-20.19 turn lthigh to y-axis <15.046731> speed <118.088344> / animSpeed; //delta=3.94 if (leftArm) turn luparm to x-axis <9.919362> speed <279.367450> / animSpeed; //delta=9.31 - if (leftArm) turn luparm to z-axis <-12.399998> speed <114.0> / animSpeed; //delta=-3.80 + if (leftArm) turn luparm to z-axis <-12.399998> speed <114.000041> / animSpeed; //delta=-3.80 if (leftArm) turn luparm to y-axis <0.965138> speed <187.380006> / animSpeed; //delta=-6.25 turn pelvis to z-axis <-1.666667> speed <49.999997> / animSpeed; //delta=1.67 turn pelvis to y-axis <-2.296296> speed <68.888891> / animSpeed; //delta=-2.30 @@ -49,8 +51,8 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn aimy1 to y-axis <7.879434> speed <236.383029> / animSpeed; //delta=7.88 sleep ((33*animSpeed) -1); } - while(isMoving) { - if (isMoving) { //Frame:8 + while(bMoving) { + if (bMoving) { //Frame:8 if (leftArm) turn biggun to x-axis <-46.675856> speed <46.179694> / animSpeed; //delta=-1.54 turn head to x-axis <-1.563179> speed <31.723679> / animSpeed; //delta=-1.06 turn head to y-axis <-6.127755> speed <68.937274> / animSpeed; //delta=-2.30 @@ -77,7 +79,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn aimy1 to y-axis <13.926961> speed <181.425790> / animSpeed; //delta=6.05 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:12 + if (bMoving) { //Frame:12 if (leftArm) turn biggun to x-axis <-46.110552> speed <16.959121> / animSpeed; //delta=-0.57 turn head to x-axis <0.023005> speed <47.585527> / animSpeed; //delta=-1.59 turn head to y-axis <-7.659692> speed <45.958102> / animSpeed; //delta=-1.53 @@ -88,9 +90,9 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn lthigh to y-axis <14.540810> speed <93.704134> / animSpeed; //delta=-3.12 if (leftArm) turn luparm to x-axis <20.474264> speed <98.952127> / animSpeed; //delta=-3.30 if (leftArm) turn luparm to y-axis <5.388938> speed <71.821661> / animSpeed; //delta=2.39 - move pelvis to y-axis [-2.0] speed [18.888888] / animSpeed; //delta=-0.63 - turn pelvis to z-axis <-5.0> speed <27.777769> / animSpeed; //delta=0.93 - turn pelvis to y-axis <-6.0> speed <24.444453> / animSpeed; //delta=-0.81 + move pelvis to y-axis [-2.000000] speed [18.888888] / animSpeed; //delta=-0.63 + turn pelvis to z-axis <-5.000000> speed <27.777769> / animSpeed; //delta=0.93 + turn pelvis to y-axis <-6.000000> speed <24.444453> / animSpeed; //delta=-0.81 turn rfoot to x-axis <-34.556331> speed <305.131751> / animSpeed; //delta=10.17 turn rleg to x-axis <32.187523> speed <882.363941> / animSpeed; //delta=-29.41 if (rightArm) turn rloarm to x-axis <-64.499997> speed <87.888552> / animSpeed; //delta=2.93 @@ -104,7 +106,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn aimy1 to y-axis <15.758869> speed <54.957239> / animSpeed; //delta=1.83 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:16 + if (bMoving) { //Frame:16 if (leftArm) turn biggun to x-axis <-47.068049> speed <28.724907> / animSpeed; //delta=0.96 turn head to x-axis <-0.505722> speed <15.861819> / animSpeed; //delta=0.53 turn head to y-axis <-6.127755> speed <45.958102> / animSpeed; //delta=1.53 @@ -132,7 +134,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn aimy1 to y-axis <13.926961> speed <54.957239> / animSpeed; //delta=-1.83 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:20 + if (bMoving) { //Frame:20 if (leftArm) turn biggun to x-axis <-49.335727> speed <68.030323> / animSpeed; //delta=2.27 turn head to x-axis <-2.091907> speed <47.585562> / animSpeed; //delta=1.59 turn head to y-axis <-3.829846> speed <68.937274> / animSpeed; //delta=2.30 @@ -143,7 +145,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn lthigh to y-axis <8.321622> speed <266.996423> / animSpeed; //delta=-8.90 if (leftArm) turn luparm to x-axis <15.615877> speed <102.946916> / animSpeed; //delta=3.43 if (leftArm) turn luparm to y-axis <5.076670> speed <9.368019> / animSpeed; //delta=-0.31 - turn pelvis to z-axis <-2.0> speed <58.888879> / animSpeed; //delta=-1.96 + turn pelvis to z-axis <-2.000000> speed <58.888879> / animSpeed; //delta=-1.96 turn pelvis to y-axis <-2.772487> speed <67.619039> / animSpeed; //delta=2.25 turn rfoot to x-axis <-39.119034> speed <357.682424> / animSpeed; //delta=11.92 turn rleg to x-axis <104.636879> speed <789.433742> / animSpeed; //delta=-26.31 @@ -160,10 +162,10 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn aimy1 to y-axis <7.879434> speed <181.425790> / animSpeed; //delta=-6.05 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:24 + if (bMoving) { //Frame:24 if (leftArm) turn biggun to x-axis <-52.006372> speed <80.119348> / animSpeed; //delta=2.67 turn head to x-axis <-3.149363> speed <31.723676> / animSpeed; //delta=1.06 - turn head to y-axis <0.0> speed <114.895376> / animSpeed; //delta=3.83 + turn head to y-axis <0.000000> speed <114.895376> / animSpeed; //delta=3.83 turn lfoot to x-axis <-23.280778> speed <357.540911> / animSpeed; //delta=11.92 turn lleg to x-axis <46.510843> speed <277.878733> / animSpeed; //delta=9.26 turn lthigh to x-axis <-23.415420> speed <612.523459> / animSpeed; //delta=-20.42 @@ -171,9 +173,9 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn lthigh to y-axis <1.272165> speed <211.483711> / animSpeed; //delta=-7.05 if (leftArm) turn luparm to x-axis <11.452920> speed <124.888703> / animSpeed; //delta=4.16 if (leftArm) turn luparm to y-axis <3.308728> speed <53.038265> / animSpeed; //delta=-1.77 - move pelvis to y-axis [-2.0] speed [25.555551] / animSpeed; //delta=0.85 - turn pelvis to z-axis <-0.0> speed <60.0> / animSpeed; //delta=-2.00 - turn pelvis to y-axis <0.0> speed <83.174607> / animSpeed; //delta=2.77 + move pelvis to y-axis [-2.000000] speed [25.555551] / animSpeed; //delta=0.85 + turn pelvis to z-axis <-0.000000> speed <60.000006> / animSpeed; //delta=-2.00 + turn pelvis to y-axis <0.000000> speed <83.174607> / animSpeed; //delta=2.77 turn rfoot to x-axis <-45.278120> speed <184.772566> / animSpeed; //delta=6.16 turn rleg to x-axis <90.786697> speed <415.505474> / animSpeed; //delta=13.85 turn rleg to z-axis <0.843235> speed <24.355743> / animSpeed; //delta=-0.81 @@ -185,11 +187,11 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani if (rightArm) turn ruparm to x-axis <16.947865> speed <91.311783> / animSpeed; //delta=-3.04 if (rightArm) turn ruparm to y-axis <0.900000> speed <45.888888> / animSpeed; //delta=-1.53 turn aimy1 to x-axis <-4.594870> speed <18.402335> / animSpeed; //delta=0.61 - turn aimy1 to z-axis <-0.0> speed <61.681404> / animSpeed; //delta=2.06 - turn aimy1 to y-axis <0.0> speed <236.383029> / animSpeed; //delta=-7.88 + turn aimy1 to z-axis <-0.000000> speed <61.681404> / animSpeed; //delta=2.06 + turn aimy1 to y-axis <0.000000> speed <236.383029> / animSpeed; //delta=-7.88 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:28 + if (bMoving) { //Frame:28 if (leftArm) turn biggun to x-axis <-53.142724> speed <34.090567> / animSpeed; //delta=1.14 turn head to x-axis <-2.620635> speed <15.861851> / animSpeed; //delta=-0.53 turn head to y-axis <3.829846> speed <114.895376> / animSpeed; //delta=3.83 @@ -218,7 +220,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn aimy1 to y-axis <-7.879434> speed <236.383029> / animSpeed; //delta=-7.88 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:32 + if (bMoving) { //Frame:32 if (leftArm) turn biggun to x-axis <-55.253092> speed <63.311038> / animSpeed; //delta=2.11 turn head to x-axis <-1.563179> speed <31.723670> / animSpeed; //delta=-1.06 turn head to y-axis <6.127755> speed <68.937274> / animSpeed; //delta=2.30 @@ -244,7 +246,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn aimy1 to y-axis <-13.926961> speed <181.425790> / animSpeed; //delta=-6.05 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:36 + if (bMoving) { //Frame:36 if (leftArm) turn biggun to x-axis <-56.389444> speed <34.090567> / animSpeed; //delta=1.14 turn head to x-axis <0.023005> speed <47.585536> / animSpeed; //delta=-1.59 turn head to y-axis <7.659692> speed <45.958102> / animSpeed; //delta=1.53 @@ -255,12 +257,12 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn lthigh to y-axis <5.332458> speed <15.498655> / animSpeed; //delta=-0.52 if (leftArm) turn luparm to x-axis <-3.274263> speed <167.758466> / animSpeed; //delta=5.59 if (leftArm) turn luparm to y-axis <-6.556594> speed <45.333998> / animSpeed; //delta=-1.51 - move pelvis to y-axis [-2.0] speed [25.555555] / animSpeed; //delta=-0.85 - turn pelvis to z-axis <5.0> speed <31.089813> / animSpeed; //delta=-1.04 - turn pelvis to y-axis <6.0> speed <29.200275> / animSpeed; //delta=0.97 + move pelvis to y-axis [-2.000000] speed [25.555555] / animSpeed; //delta=-0.85 + turn pelvis to z-axis <5.000000> speed <31.089813> / animSpeed; //delta=-1.04 + turn pelvis to y-axis <6.000000> speed <29.200275> / animSpeed; //delta=0.97 turn rfoot to x-axis <4.673420> speed <156.586261> / animSpeed; //delta=-5.22 turn rleg to x-axis <17.968366> speed <112.905793> / animSpeed; //delta=3.76 - if (rightArm) turn rloarm to x-axis <-38.0> speed <43.722158> / animSpeed; //delta=-1.46 + if (rightArm) turn rloarm to x-axis <-38.000000> speed <43.722158> / animSpeed; //delta=-1.46 turn rthigh to x-axis <-40.972853> speed <227.481055> / animSpeed; //delta=-7.58 turn rthigh to z-axis <-12.483621> speed <13.132763> / animSpeed; //delta=-0.44 turn rthigh to y-axis <-18.495587> speed <4.624260> / animSpeed; //delta=-0.15 @@ -271,7 +273,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn aimy1 to y-axis <-15.758869> speed <54.957239> / animSpeed; //delta=-1.83 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:40 + if (bMoving) { //Frame:40 if (leftArm) turn biggun to x-axis <-55.431951> speed <28.724805> / animSpeed; //delta=-0.96 turn head to x-axis <-0.505722> speed <15.861819> / animSpeed; //delta=0.53 turn head to y-axis <6.127755> speed <45.958102> / animSpeed; //delta=-1.53 @@ -300,7 +302,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn aimy1 to y-axis <-13.926961> speed <54.957239> / animSpeed; //delta=1.83 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:44 + if (bMoving) { //Frame:44 if (leftArm) turn biggun to x-axis <-53.164273> speed <68.030323> / animSpeed; //delta=-2.27 turn head to x-axis <-2.091907> speed <47.585562> / animSpeed; //delta=1.59 turn head to y-axis <3.829846> speed <68.937274> / animSpeed; //delta=-2.30 @@ -328,10 +330,10 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn aimy1 to y-axis <-7.879434> speed <181.425790> / animSpeed; //delta=6.05 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:48 + if (bMoving) { //Frame:48 if (leftArm) turn biggun to x-axis <-50.493628> speed <80.119348> / animSpeed; //delta=-2.67 turn head to x-axis <-3.149363> speed <31.723676> / animSpeed; //delta=1.06 - turn head to y-axis <0.0> speed <114.895376> / animSpeed; //delta=-3.83 + turn head to y-axis <0.000000> speed <114.895376> / animSpeed; //delta=-3.83 turn lfoot to x-axis <-44.880435> speed <188.924672> / animSpeed; //delta=6.30 turn lleg to x-axis <90.690391> speed <407.363547> / animSpeed; //delta=13.58 turn lleg to z-axis <-1.028354> speed <29.811568> / animSpeed; //delta=0.99 @@ -341,9 +343,9 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani turn lthigh to y-axis <9.180887> speed <243.372656> / animSpeed; //delta=8.11 if (leftArm) turn luparm to x-axis <2.662867> speed <125.339441> / animSpeed; //delta=-4.18 if (leftArm) turn luparm to y-axis <-1.793232> speed <71.050921> / animSpeed; //delta=2.37 - move pelvis to y-axis [-2.0] speed [25.555551] / animSpeed; //delta=0.85 - turn pelvis to z-axis <-0.0> speed <62.666668> / animSpeed; //delta=2.09 - turn pelvis to y-axis <0.0> speed <86.222221> / animSpeed; //delta=-2.87 + move pelvis to y-axis [-2.000000] speed [25.555551] / animSpeed; //delta=0.85 + turn pelvis to z-axis <-0.000000> speed <62.666668> / animSpeed; //delta=2.09 + turn pelvis to y-axis <0.000000> speed <86.222221> / animSpeed; //delta=-2.87 turn rfoot to x-axis <-23.519080> speed <364.135724> / animSpeed; //delta=12.14 turn rleg to x-axis <46.484300> speed <278.590678> / animSpeed; //delta=9.29 if (rightArm) turn rloarm to x-axis <-53.199999> speed <206.555576> / animSpeed; //delta=6.89 @@ -353,11 +355,11 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani if (rightArm) turn ruparm to x-axis <23.351554> speed <90.983396> / animSpeed; //delta=3.03 if (rightArm) turn ruparm to y-axis <0.479402> speed <36.051284> / animSpeed; //delta=1.20 turn aimy1 to x-axis <-4.594870> speed <18.402335> / animSpeed; //delta=0.61 - turn aimy1 to z-axis <-0.0> speed <64.422792> / animSpeed; //delta=-2.15 - turn aimy1 to y-axis <0.0> speed <236.383029> / animSpeed; //delta=7.88 + turn aimy1 to z-axis <-0.000000> speed <64.422792> / animSpeed; //delta=-2.15 + turn aimy1 to y-axis <0.000000> speed <236.383029> / animSpeed; //delta=7.88 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:52 + if (bMoving) { //Frame:52 if (leftArm) turn biggun to x-axis <-48.215180> speed <68.353460> / animSpeed; //delta=-2.28 turn head to x-axis <-2.620635> speed <15.861851> / animSpeed; //delta=-0.53 turn head to y-axis <-3.829846> speed <114.895376> / animSpeed; //delta=-3.83 @@ -388,38 +390,38 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from D:\spring\ani } } } -// Call this from StopMoving()! +// Call this from MotionControl()! StopWalking() { - move pelvis to y-axis [-1.0] speed [6.944444]; + move pelvis to y-axis [-1.000000] speed [6.944444]; if (leftArm) turn biggun to x-axis <-52.006372> speed <7>; turn head to x-axis <-1.298815> speed <3>; - turn head to y-axis <0.0> speed <7>; + turn head to y-axis <0.000000> speed <7>; turn lfoot to x-axis <2.870126> speed <70>; turn lleg to x-axis <22.425678> speed <90>; - turn lleg to y-axis <0.0> speed <2>; - turn lleg to z-axis <0.0> speed <2>; + turn lleg to y-axis <0.000000> speed <2>; + turn lleg to z-axis <0.000000> speed <2>; turn lthigh to x-axis <-21.115098> speed <64>; turn lthigh to y-axis <11.110453> speed <17>; turn lthigh to z-axis <-10.103126> speed <38>; if (leftArm) turn luparm to x-axis <19.231610> speed <17>; if (leftArm) turn luparm to y-axis <7.211138> speed <12>; if (leftArm) turn luparm to z-axis <-16.200000> speed <7>; - turn pelvis to y-axis <0.0> speed <5>; - turn pelvis to z-axis <0.0> speed <4.5>; + turn pelvis to y-axis <0.000000> speed <5>; + turn pelvis to z-axis <0.000000> speed <4.5>; turn rfoot to x-axis <0.415283> speed <62>; turn rleg to x-axis <25.768060> speed <87>; - turn rleg to y-axis <0.0> speed <1.6>; - turn rleg to z-axis <0.0> speed <1.6>; + turn rleg to y-axis <0.000000> speed <1.6>; + turn rleg to z-axis <0.000000> speed <1.6>; if (rightArm) turn rloarm to x-axis <-53.199995> speed <13>; turn rthigh to x-axis <-21.950628> speed <64>; turn rthigh to y-axis <-11.905752> speed <17>; turn rthigh to z-axis <9.396449> speed <38>; if (rightArm) turn ruparm to x-axis <24.693159> speed <10>; - if (rightArm) turn ruparm to y-axis <0.0> speed <8>; + if (rightArm) turn ruparm to y-axis <0.000000> speed <8>; if (rightArm) turn ruparm to z-axis <12.399998> speed <-1.8>; turn aimy1 to x-axis <-2.263907> speed <3.8>; - turn aimy1 to y-axis <0.0> speed <15>; - turn aimy1 to z-axis <0.0> speed <4.6>; + turn aimy1 to y-axis <0.000000> speed <15>; + turn aimy1 to z-axis <0.000000> speed <4.6>; } // REMEMBER TO animspeed = 4 in Create() !! UnitSpeed(){ @@ -436,16 +438,16 @@ UnitSpeed(){ sleep 131; } } -StartMoving(reversing){ - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; - isMoving=TRUE; +StartMoving(){ + signal SIG_WALK; + set-signal-mask SIG_WALK; + bMoving=TRUE; start-script Walk(); start-script UnitSpeed(); } StopMoving(){ - signal SIGNAL_MOVE; - isMoving = FALSE; + signal SIG_WALK; + bMoving = FALSE; call-script StopWalking(); } @@ -456,7 +458,7 @@ AmIBored() { //return isAiming == false and isBuilding == false and isMoving == false if (isAiming == 0){ if (isBuilding == 0 ){ - if (isMoving == 0){ + if (bMoving == 0){ return (1); } } @@ -483,7 +485,7 @@ Create(){ hide railflarer; hide railflarel; hide Ref_Point; - //turn rloarm to x-axis <-15> speed <130.0> ; //-- Turn(rloarm, x-axis, math.rad(-15),math.rad(130)) + //turn rloarm to x-axis <-15> speed <130.0000> ; //-- Turn(rloarm, x-axis, math.rad(-15),math.rad(130)) turn lflare to x-axis <90> now; // Turn(lflare, x-axis,math.rad(90)) turn flare to x-axis <90> now; turn nano to x-axis <90> now; //Turn(nano, x-axis,math.rad(90)) @@ -492,7 +494,7 @@ Create(){ animSpeed = 27; gun_1 = 1; torsoaim = 0; - isMoving = 0; + bMoving = 0; isAiming = 0; isBuilding = 0; isAimingDgun = 0; @@ -503,31 +505,31 @@ Create(){ call-script StopWalking(); } -QueryNanoPiece(pieceIndex) +QueryNanoPiece(piecenum) { - pieceIndex = nano; + piecenum = nano; return (0); } RestoreAfterDelay(){ - set-signal-mask SIGNAL_AIM1; + set-signal-mask SIG_AIM; sleep 1000; - turn torso to y-axis <0> speed <45.0> ; //-- Turn(torso, y-axis, 0, math.rad(305)) + turn torso to y-axis <0> speed <45.0000> ; //-- Turn(torso, y-axis, 0, math.rad(305)) - turn biggun to x-axis <-38> speed <30.0> ; //-- Turn(biggun, x-axis, math.rad(-38), math.rad(95)) - turn luparm to x-axis <0> speed <30.0> ; //-- Turn(luparm, x-axis, 0, math.rad(95)) - turn rloarm to x-axis <-38> speed <30.0> ; //-- Turn(rloarm, x-axis, math.rad(-38), math.rad(95)) - turn ruparm to x-axis <0> speed <30.0> ; //-- Turn(ruparm, x-axis, 0, math.rad(95)) + turn biggun to x-axis <-38> speed <30.0000> ; //-- Turn(biggun, x-axis, math.rad(-38), math.rad(95)) + turn luparm to x-axis <0> speed <30.0000> ; //-- Turn(luparm, x-axis, 0, math.rad(95)) + turn rloarm to x-axis <-38> speed <30.0000> ; //-- Turn(rloarm, x-axis, math.rad(-38), math.rad(95)) + turn ruparm to x-axis <0> speed <30.0000> ; //-- Turn(ruparm, x-axis, 0, math.rad(95)) stop-spin barrelr around y-axis; torsoaim = 0; isAiming = 0; isAimingDgun = 0; rightarm = 1; leftarm = 1; - wpn1_lasthead = 0xbadface; - wpn4_lasthead = 0xbadface; + wpn1_lasthead = 1000000; + wpn4_lasthead = 1000000; } @@ -536,8 +538,8 @@ ResumeBuilding() sleep 800; if( isBuilding AND ( !isAiming ) ) { - turn torso to y-axis buildHeading speed <150.0>; - turn luparm to x-axis <-55.0> - buildPitch speed <45.0>; + turn torso to y-axis buildHeading speed <150.000000>; + turn luparm to x-axis <-55.000000> - buildPitch speed <45.000000>; } return (0); } @@ -547,30 +549,34 @@ ResumeBuilding() //--gun functions; //----------------------------------------------------------------------- - +SweetSpot(piecenum) +{ + piecenum = torso; + return (0); +} /////////// pew pew laser -QueryWeapon1(pieceIndex) //pew laser +QueryPrimary(piecenum) //pew laser { - pieceIndex = flare; + piecenum = flare; return (0); } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = ruparm; + piecenum = ruparm; return (0); } -AimWeapon1(heading, pitch) //pew pew +AimPrimary(heading, pitch) //pew pew { if (isAimingDgun){ return (0); } rightarm = 0; //call-script FixArms(0, 1); - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; - turn torso to y-axis heading + <10> speed <50.0> ; //-- Turn(torso, y-axis, heading, math.rad(300)) + signal SIG_AIM; + set-signal-mask SIG_AIM; + turn torso to y-axis heading + <10> speed <50.0000> ; //-- Turn(torso, y-axis, heading, math.rad(300)) var gun_xz; @@ -621,11 +627,11 @@ AimWeapon1(heading, pitch) //pew pew torsoaim = cauface - cauaim; //calculate angle of turret relative to the hull //torsoaim = heading; - turn rloarm to x-axis <-55> speed <50.0> ; //-- Turn(rloarm, x-axis, math.rad(-55), math.rad(390)) - turn ruparm to x-axis <-40> - pitch speed <50.0> ; //-- Turn(ruparm, x-axis, math.rad(-45) - pitch, math.rad(390)) - if ((wpn1_lasthead == 0xbadface) OR ABSOLUTE_GREATER_THAN(WRAPDELTA(heading - wpn1_lasthead), <7>)) + turn rloarm to x-axis <-55> speed <50.0000> ; //-- Turn(rloarm, x-axis, math.rad(-55), math.rad(390)) + turn ruparm to x-axis <-40> - pitch speed <50.0000> ; //-- Turn(ruparm, x-axis, math.rad(-45) - pitch, math.rad(390)) + if (((get ABS(wpn1_lasthead - heading)) > 65536) OR(((get ABS(wpn1_lasthead - heading)) > 1300) AND ((get ABS(wpn1_lasthead - heading)) < 64236))) { - wpn1_lasthead = 0xbadface; + wpn1_lasthead = 1000000; wait-for-turn torso around y-axis; } wpn1_lasthead = heading; @@ -640,35 +646,35 @@ AimWeapon1(heading, pitch) //pew pew return (1); } -FireWeapon1() +FirePrimary() { - spin barrelr around y-axis speed <100.0>; + spin barrelr around y-axis speed <100.000000>; return (1); } Shot1(zero) { - signal SIGNAL_SHOOT1; - set-signal-mask SIGNAL_SHOOT1; + signal SIG_FIRE1; + set-signal-mask SIG_FIRE1; emit-sfx 1024 + 3 from flare; return(1); } /////////// uw weapon -QueryWeapon2(pieceIndex) //uw weapon +QuerySecondary(piecenum) //uw weapon { - pieceIndex = laserflare; + piecenum = laserflare; return (0); } -AimFromWeapon2(pieceIndex) +AimFromSecondary(piecenum) { - pieceIndex = laserflare; + piecenum = laserflare; return (0); } -AimWeapon2(heading, pitch) +AimSecondary(heading, pitch) { if( get PIECE_Y(head) > 0 ) { @@ -683,12 +689,12 @@ AimWeapon2(heading, pitch) } rightarm = 0; //call-script FixArms(0, 1); - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; - turn torso to y-axis heading speed <300.0> ; //-- Turn(torso, y-axis, heading, math.rad(300)) + signal SIG_AIM; + set-signal-mask SIG_AIM; + turn torso to y-axis heading speed <300.0000> ; //-- Turn(torso, y-axis, heading, math.rad(300)) //torsoaim = heading; - turn rloarm to x-axis <-55> speed <390.0> ; //-- Turn(rloarm, x-axis, math.rad(-55), math.rad(390)) - turn ruparm to x-axis <-40> - pitch speed <390.0> ; //-- Turn(ruparm, x-axis, math.rad(-45) - pitch, math.rad(390)) + turn rloarm to x-axis <-55> speed <390.0000> ; //-- Turn(rloarm, x-axis, math.rad(-55), math.rad(390)) + turn ruparm to x-axis <-40> - pitch speed <390.0000> ; //-- Turn(ruparm, x-axis, math.rad(-45) - pitch, math.rad(390)) wait-for-turn torso around y-axis; //wait-for-turn rloarm around x-axis; //wait-for-turn ruparm around x-axis; @@ -701,25 +707,25 @@ AimWeapon2(heading, pitch) return (1); } -FireWeapon2() +FireSecondary() { sleep 100; return (0); } -QueryWeapon3(pieceIndex) //dgun +QueryTertiary(piecenum) //dgun { - pieceIndex = lflare; + piecenum = lflare; return (0); } -AimFromWeapon3(pieceIndex) +AimFromTertiary(piecenum) { - pieceIndex = biggun; + piecenum = biggun; return (0); } -FireWeapon3() +FireTertiary() { //emit-sfx 1024 + 0 from lflare; isAimingDgun = 0; @@ -735,39 +741,39 @@ FireWeapon3() return (0); } -AimWeapon3(heading, pitch) +AimTertiary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; isAimingDgun = 1; isAiming = 1; leftArm = 0; //call-script FixArms(1, 0); - turn torso to y-axis heading speed <360.0> ; //-- Turn(torso, y-axis, heading, math.rad(300)) - turn biggun to x-axis <-85> speed <390.0> ; //-- Turn(biggun, x-axis, math.rad(-85), math.rad(390)) - turn luparm to x-axis <5> - pitch speed <390.0> ; //-- Turn(luparm, x-axis, math.rad(-5) - pitch, math.rad(390)) + turn torso to y-axis heading speed <360.0000> ; //-- Turn(torso, y-axis, heading, math.rad(300)) + turn biggun to x-axis <-85> speed <390.0000> ; //-- Turn(biggun, x-axis, math.rad(-85), math.rad(390)) + turn luparm to x-axis <5> - pitch speed <390.0000> ; //-- Turn(luparm, x-axis, math.rad(-5) - pitch, math.rad(390)) wait-for-turn torso around y-axis; //wait-for-turn biggun around x-axis; return (1); } -QueryWeapon4(pieceIndex) //ferret +QueryWeapon4(piecenum) //ferret { if (gun_1){ - pieceIndex = railflarer; + piecenum = railflarer; } else { - pieceIndex = railflarel; + piecenum = railflarel; } } -AimFromWeapon4(pieceIndex) +AimFromWeapon4(piecenum) { if (gun_1){ - pieceIndex = railflarer; + piecenum = railflarer; } else { - pieceIndex = railflarel; + piecenum = railflarel; } } @@ -775,29 +781,29 @@ FireWeapon4() { if (gun_1){ emit-sfx 1024 + 0 from railflarer; - move barrel1r to z-axis [-3.0] speed [500.0]; - move barrel2r to z-axis [-3.0] speed [500.0]; - move barrel3r to z-axis [-3.0] speed [500.0]; - move barrel4r to z-axis [-3.0] speed [500.0]; + move barrel1r to z-axis [-3.000000] speed [500.000000]; + move barrel2r to z-axis [-3.000000] speed [500.000000]; + move barrel3r to z-axis [-3.000000] speed [500.000000]; + move barrel4r to z-axis [-3.000000] speed [500.000000]; wait-for-move barrel1r along z-axis; - move barrel1r to z-axis [0.0] speed [3.0]; - move barrel2r to z-axis [0.0] speed [3.0]; - move barrel3r to z-axis [0.0] speed [3.0]; - move barrel4r to z-axis [0.0] speed [3.0]; + move barrel1r to z-axis [0.000000] speed [3.000000]; + move barrel2r to z-axis [0.000000] speed [3.000000]; + move barrel3r to z-axis [0.000000] speed [3.000000]; + move barrel4r to z-axis [0.000000] speed [3.000000]; sleep 600; gun_1 = 2; } else { emit-sfx 1024 + 0 from railflarel; - move barrel1l to z-axis [-3.0] speed [500.0]; - move barrel2l to z-axis [-3.0] speed [500.0]; - move barrel3l to z-axis [-3.0] speed [500.0]; - move barrel4l to z-axis [-3.0] speed [500.0]; + move barrel1l to z-axis [-3.000000] speed [500.000000]; + move barrel2l to z-axis [-3.000000] speed [500.000000]; + move barrel3l to z-axis [-3.000000] speed [500.000000]; + move barrel4l to z-axis [-3.000000] speed [500.000000]; wait-for-move barrel1l along z-axis; - move barrel1l to z-axis [0.0] speed [3.0]; - move barrel2l to z-axis [0.0] speed [3.0]; - move barrel3l to z-axis [0.0] speed [3.0]; - move barrel4l to z-axis [0.0] speed [3.0]; + move barrel1l to z-axis [0.000000] speed [3.000000]; + move barrel2l to z-axis [0.000000] speed [3.000000]; + move barrel3l to z-axis [0.000000] speed [3.000000]; + move barrel4l to z-axis [0.000000] speed [3.000000]; sleep 600; gun_1 = 0; } @@ -806,16 +812,15 @@ FireWeapon4() AimWeapon4(heading, pitch) { - signal SIGNAL_AIM2; - set-signal-mask SIGNAL_AIM2; - turn railturretr to y-axis heading - torsoaim speed <100.0>; - turn railsleever to x-axis <0> - pitch speed <80.0>; - turn railturretl to y-axis heading - torsoaim speed <100.0>; - turn railsleevel to x-axis <0> - pitch speed <80.0>; - - if ((wpn4_lasthead == 0xbadface) OR ABSOLUTE_GREATER_THAN(WRAPDELTA(heading - wpn4_lasthead), <15>)) + signal SIG_AIM_2; + set-signal-mask SIG_AIM_2; + turn railturretr to y-axis heading - torsoaim speed <100.000000>; + turn railsleever to x-axis <0> - pitch speed <80.000000>; + turn railturretl to y-axis heading - torsoaim speed <100.000000>; + turn railsleevel to x-axis <0> - pitch speed <80.000000>; + if (((get ABS(wpn4_lasthead - heading)) > 65536) OR(((get ABS(wpn4_lasthead - heading)) > 3000) AND ((get ABS(wpn4_lasthead - heading)) < 64236))) { - wpn4_lasthead = 0xbadface; + wpn4_lasthead = 1000000; wait-for-turn railturretr around y-axis; wait-for-turn railsleever around x-axis; wait-for-turn railturretl around y-axis; @@ -826,7 +831,7 @@ AimWeapon4(heading, pitch) } SprayNano(heading, pitch){ - set-signal-mask SIGNAL_AIM1; + set-signal-mask SIG_AIM; sleep 1000; while (1){ @@ -840,15 +845,15 @@ SprayNano(heading, pitch){ StartBuilding(heading, pitch) { - signal SIGNAL_AIM1; - //set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + //set-signal-mask SIG_AIM; isBuilding = 1; rightArm = 0; - //turn torso to x-axis <0> speed <395.0> ; //-- Turn(torso, x-axis, 0, math.rad(395)) - //turn pelvis to x-axis <0> speed <395.0> ; //-- Turn(pelvis, x-axis, 0, math.rad(395)) - turn torso to y-axis heading speed <300.0> ; //-- Turn(torso, y-axis, heading, math.rad(300)) - turn rloarm to x-axis <-40> speed <390.0> ; //-- Turn(rloarm, x-axis, math.rad(-55), math.rad(390)) - turn ruparm to x-axis <-55> -pitch speed <390.0> ; //-- Turn(ruparm, x-axis, math.rad(-55) - pitch, math.rad(390)) + //turn torso to x-axis <0> speed <395.0000> ; //-- Turn(torso, x-axis, 0, math.rad(395)) + //turn pelvis to x-axis <0> speed <395.0000> ; //-- Turn(pelvis, x-axis, 0, math.rad(395)) + turn torso to y-axis heading speed <300.0000> ; //-- Turn(torso, y-axis, heading, math.rad(300)) + turn rloarm to x-axis <-40> speed <390.0000> ; //-- Turn(rloarm, x-axis, math.rad(-55), math.rad(390)) + turn ruparm to x-axis <-55> -pitch speed <390.0000> ; //-- Turn(ruparm, x-axis, math.rad(-55) - pitch, math.rad(390)) wait-for-turn ruparm around x-axis; set INBUILDSTANCE to 1; @@ -858,13 +863,25 @@ StartBuilding(heading, pitch) return (0); } + + + +TargetCleared(Func_Var_1) +{ + signal SIG_AIM; + set-signal-mask SIG_AIM; + call-script RestoreAfterDelay(); + return (0); +} + + StopBuilding() { rightArm = 1; isBuilding = 0; set INBUILDSTANCE to 0; - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; call-script RestoreAfterDelay(); return (0); } diff --git a/scripts/Units/scavboss/armscavengerbossv2.cob b/scripts/Units/scavboss/armscavengerbossv2.cob index 636438d2833495f291d10256ac89e1cf6e00a221..ab28cffddcca23614385b13faf070ea3166d4bd6 100644 GIT binary patch delta 4644 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 delta 4429 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 UlLi`nvH6vFx_M@gt>rrU4-7KsIsgCw diff --git a/scripts/Units/scavboss/armserpt3.bos b/scripts/Units/scavboss/armserpt3.bos index 09f805c22d8..aade765ff6c 100644 --- a/scripts/Units/scavboss/armserpt3.bos +++ b/scripts/Units/scavboss/armserpt3.bos @@ -1,18 +1,20 @@ +#define TA // This is a TA script -#include "../../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece lturret, rturret, llturret, rrturret, base, lprop, rprop, bprop; static-var turnClock, turnCounter, wheelSpeed, currentSpeed, moveSpeed, pivotAngle; // Signal definitions -#define SIGNAL_MOVE 1 +#define SIG_MOVE 2 -#define SIGNAL_AIM1 256 -#define SIGNAL_AIM2 512 -#define SIGNAL_AIM3 1024 -#define SIGNAL_AIM4 2048 -#define SIGNAL_AIM5 4096 +#define SIG_AIM 4 +#define SIG_AIM_2 8 +#define SIG_AIM_3 16 +#define SIG_AIM_4 32 +#define SIG_AIM_5 64 #define BASEPIECE base @@ -32,8 +34,8 @@ HitByWeapon(anglex, anglez, damage) // angle[x|z] is always [-500;500], damage i turn BASEPIECE to x-axis <0> - (anglex * amount) /100 speed HITSPEED; wait-for-turn BASEPIECE around z-axis; wait-for-turn BASEPIECE around x-axis; - turn BASEPIECE to z-axis <0.0> speed HITSPEED / 4; - turn BASEPIECE to x-axis <0.0> speed HITSPEED / 4; + turn BASEPIECE to z-axis <0.000000> speed HITSPEED / 4; + turn BASEPIECE to x-axis <0.000000> speed HITSPEED / 4; } HitByWeaponId(anglex, anglez, weaponid, dmg) //weaponID is always 0,lasers and flamers give angles of 0 { @@ -41,54 +43,73 @@ HitByWeaponId(anglex, anglez, weaponid, dmg) //weaponID is always 0,lasers and f return (100); //return damage percent } - - -#define TB_BASE base -#define TB_TURNRATE <15.0> -#define TB_TILT_X <-0.32> -#define TB_BANK_Z <0.5> // Do not define this if you dont want banking -#define TB_WAKE_PIECE lprop -#define TB_WAKE_PIECE2 rprop -#include "../../tilt_bank_submarine.h" +TurnControl() +{ + var lastHeading, currHeading, diffHeading; + lastHeading = GET HEADING; + while (TRUE) + { + currHeading = GET HEADING; + diffHeading = currHeading - lastHeading; + // Set values for tilt + turnClock = 1; + turnCounter = 1; + if (diffHeading >= 500) + { + turnClock = <2>; + } + if (diffHeading <= -500) + { + turnCounter = <2>; + } + lastHeading = currHeading; + sleep 67; + } +} Propcontrol() { - var currentSpeed; while(TRUE) { - currentSpeed = (get CURRENT_SPEED)*1000/TB_maxSpeed; - spin lprop around z-axis speed (<-1.0> * currentSpeed ) accelerate <10.0>; - spin rprop around z-axis speed (<1.0> * currentSpeed ) accelerate <10.0>; - spin bprop around z-axis speed <1.0>*currentSpeed accelerate <10.0>; - sleep 100; + currentSpeed = (get CURRENT_SPEED)*1000/moveSpeed; + spin lprop around z-axis speed (<-1.000000> * currentSpeed ) * turnCounter accelerate <10.000000>; + spin rprop around z-axis speed (<1.000000> * currentSpeed ) * turnClock accelerate <10.000000>; + spin bprop around z-axis speed <1.000000>*currentSpeed accelerate <10.000000>; + sleep 33; } } Create() { - call-script TB_Init(); + moveSpeed = get MAX_SPEED; + start-script Propcontrol(); + start-script TurnControl(); } - -StartMoving(reversing) +StartMoving() { - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; + signal SIG_MOVE; + set-signal-mask SIG_MOVE; - START_TILTBANK; - start-script Propcontrol(); + while( TRUE ) + { + emit-sfx 256 | 3 from lprop; + emit-sfx 256 | 3 from rprop; + emit-sfx 256 | 3 from bprop; + sleep 250; + } } StopMoving() { - signal SIGNAL_MOVE; - STOP_TILTBANK; - stop-spin lprop around z-axis decelerate <10.0>; - stop-spin rprop around z-axis decelerate <10.0>; - stop-spin bprop around z-axis decelerate <10.0>; + signal SIG_MOVE; + set-signal-mask SIG_MOVE; } - +SweetSpot(piecenum) +{ + piecenum = base; +} static-var Stunned; ExecuteRestoreAfterDelay() @@ -116,15 +137,15 @@ RestoreAfterDelay() start-script ExecuteRestoreAfterDelay(); } -QueryWeapon1(pieceIndex) +QueryWeapon1(piecenum) { - pieceIndex = base; + piecenum = base; } AimWeapon1(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; start-script RestoreAfterDelay(); return (1); } @@ -134,20 +155,20 @@ Shot1() return (1); } -AimFromWeapon1(pieceIndex) +AimFromWeapon1(piecenum) { - pieceIndex = base; + piecenum = base; } -QueryWeapon2(pieceIndex) +QueryWeapon2(piecenum) { - pieceIndex = lturret; + piecenum = lturret; } AimWeapon2(heading, pitch) { - signal SIGNAL_AIM2; - set-signal-mask SIGNAL_AIM2; + signal SIG_AIM_2; + set-signal-mask SIG_AIM_2; move lturret to x-axis [-9] speed [30]; move llturret to x-axis [-9] speed [30]; wait-for-move lturret along x-axis; @@ -161,20 +182,20 @@ Shot2() return (1); } -AimFromWeapon2(pieceIndex) +AimFromWeapon2(piecenum) { - pieceIndex = lturret; + piecenum = lturret; } -QueryWeapon3(pieceIndex) +QueryWeapon3(piecenum) { - pieceIndex = llturret; + piecenum = llturret; } AimWeapon3(heading, pitch) { - signal SIGNAL_AIM3; - set-signal-mask SIGNAL_AIM3; + signal SIG_AIM_3; + set-signal-mask SIG_AIM_3; move lturret to x-axis [-9] speed [30]; move llturret to x-axis [-9] speed [30]; wait-for-move lturret along x-axis; @@ -188,20 +209,20 @@ Shot3() return (1); } -AimFromWeapon3(pieceIndex) +AimFromWeapon3(piecenum) { - pieceIndex = llturret; + piecenum = llturret; } -QueryWeapon4(pieceIndex) +QueryWeapon4(piecenum) { - pieceIndex = rturret; + piecenum = rturret; } AimWeapon4(heading, pitch) { - signal SIGNAL_AIM4; - set-signal-mask SIGNAL_AIM4; + signal SIG_AIM_4; + set-signal-mask SIG_AIM_4; move rturret to x-axis [9] speed [30]; move rrturret to x-axis [9] speed [30]; wait-for-move rturret along x-axis; @@ -215,20 +236,20 @@ Shot4() return (1); } -AimFromWeapon4(pieceIndex) +AimFromWeapon4(piecenum) { - pieceIndex = rturret; + piecenum = rturret; } -QueryWeapon5(pieceIndex) +QueryWeapon5(piecenum) { - pieceIndex = rrturret; + piecenum = rrturret; } AimWeapon5(heading, pitch) { - signal SIGNAL_AIM5; - set-signal-mask SIGNAL_AIM5; + signal SIG_AIM_5; + set-signal-mask SIG_AIM_5; move rturret to x-axis [9] speed [30]; move rrturret to x-axis [9] speed [30]; wait-for-move rturret along x-axis; @@ -242,9 +263,9 @@ Shot5() return (1); } -AimFromWeapon5(pieceIndex) +AimFromWeapon5(piecenum) { - pieceIndex = rrturret; + piecenum = rrturret; } Killed(severity, corpsetype) diff --git a/scripts/Units/scavboss/armserpt3.cob b/scripts/Units/scavboss/armserpt3.cob index 402349e4ec7c5a887e5d59d7b88d318a38f9ee72..2b8bfc7937791ae16c13876d766abd839074ea11 100644 GIT binary patch literal 4293 zcmc&%&x;gS5U%~h-LnA`$}60Lh5RMy&ii+ANa3fE5_W^D8gnD;y4d39KOP$5!^KUO@v4^O4zTDgLVGbxR z7^U6CpbzbMR3BS4uNA(zKY4=47RzL+8ShgVEN*en)okX+m9_hQrEK+ZwfdABfQygy zlYKAxGmj(GhogE16scnz_We8e>~m}nTS=8LJ45RoZKJiUcNUM&=3~4^RLo{)cLgH3 zP3X*5t8@D2pY(bXX523eT#Ku#x9=QyQX9gIjRmpup^AO5yjbU-&h{#8=ml-}*f^Xs zI-_UF8DU=5&+WJXM9}!Wf-Eqd}*)iXK-d|_;VV;TMJo#?s$FGs{rI(>(A4@pg zgS@gn**nKL(#~c;=Lqw_xSMq6Y;V7ZCa+}=%bV}+VjX@CTBplFWjB)|uesVE_XJtF zl$>t4&F{PMcm{p_I%=YSSM~#;mGo796Wd<)>UzRnGhkWy-8?8wK|p`V|h?KS%b4 z&!JnpSY;mX@nECA7ieQ3u6pNSqwMqSogO-#ZyOY!zma8o!&GY1-#_HQ*nC&|wN6s! zYQ5uXwV5823*Tw$skN#nwpSI;dSLr^nZN5l#kJ%#s2>Xq;`%X;p8Im)!%)LoeWf z`m1=w`u%uo?ZsMrihW^8$AFUn|E9bP{0(fw!R-Xz0P4U3z`xs5;5={v_zbuT{0!Ux zZUVP~zkmn8W1t7@K=H2w~)%(n#uQBS{a%ri&nr(Dm68%1*-~R!DgKhKx literal 4236 zcmc&%O=w(I6h4`ZQ;k@!6fJ_*w^Ou>X?}1a!Zd0zww5soh?HWc$&I{m)$?s@O#%_L)2o$%$}d(L;x{m!}f zy-BJf5&?Gu@ubMT82S0;K9R;wjKE&3f59kG#f7Li{J=bc@$U&t8k4S4uQ;R;`Z&_Z zQQTclR%-4+Z=*??HFyi&546=YUW6%QX|tSMUw$CV&Fw5!>XVMXHQ1;D1-UByfW>g6 zn=v-3uA$f>o;*Qj%Vl$#nJQz^*SKJP7Tci^_+G^f571($m^4LJD*?1<@$Tdfv?Ji8X4)fdt zR~0rJnOCChy!6uHyr_Y8@@ynuR&t_|fM+lMycv@3<#Uo3)@nLz zWbLNs+8Gq!GHurf*b~|q|KFK{!#l-0W_{y+*1t#Ti?ZHd<6%J?{p`8kOMlngyb=ZDBuEd=qsb zkJgO)@P+TI_6WXA(^R3&;mxdprgyW?yF7ohPrm~|7?qQ?>L;2g<%bnI?43;xpF8T! zb#G+P(N7fSYWiLyFYl+XV*_lI-bC+5{YV#z$( zC%?DNEq=Q_O!rs~Y?^7{+}~-DJ-+sT2Le^_=qJm&*%$WRcoKnWi`%G)AzNwY-psj` z-})kKjMc>X9j<9R&8&&%I<_XhM64#xhibw%2g z0k6yYZToDH6ZGp-zqWpT?AOM(wdwlE`#DgTt;@RT8@Km)pUd{Pwe4+d+uO9--nK69 zP5&~m2Jp|+hmi0Pun2U4&wy`%pMk5uZ@^!`Kfq0(hQoXUcnX*So&k;mE5LD}51a=+ z0X_#V0^b8a0#^Y3U-$=b1E}1O{~v+fz#ia9U=BD8yat>AP66)%9|9MEi@?{wCEz>Y z3UC$p75Ebv08_Xb4tNaM3p@=x3mgKLfFr;v&;izgcYw3N`@oCsbpG_KajW0!hVz9r zS)PA=q1#Snx!p speed <19.999999> / animSpeed; //delta=0.67 - turn base to y-axis <-1.0> speed <30.0> / animSpeed; //delta=-1.00 + turn base to y-axis <-1.000000> speed <30.000000> / animSpeed; //delta=-1.00 turn leg1a to x-axis <-0.497652> speed <14.929556> / animSpeed; //delta=0.50 turn leg1a to z-axis <-0.423916> speed <12.717471> / animSpeed; //delta=0.42 turn leg1a to y-axis <-70.310159> speed <609.304749> / animSpeed; //delta=-20.31 @@ -49,14 +51,14 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn leg6c to z-axis <-22.361993> speed <670.859797> / animSpeed; //delta=22.36 sleep ((33*animSpeed) -1); } - while(isMoving) { - if (isMoving) { //Frame:9 + while(bMoving) { + if (bMoving) { //Frame:9 move base to y-axis [-0.666667] speed [9.999999] / animSpeed; //delta=-0.33 - turn base to x-axis <1.500000> speed <45.0> / animSpeed; //delta=-1.50 + turn base to x-axis <1.500000> speed <45.000001> / animSpeed; //delta=-1.50 turn base to z-axis <-2.333333> speed <49.999999> / animSpeed; //delta=1.67 - turn base to y-axis <-2.0> speed <30.0> / animSpeed; //delta=-1.00 - turn leg1a to x-axis <0.0> speed <14.929565> / animSpeed; //delta=-0.50 - turn leg1a to z-axis <-0.0> speed <12.717468> / animSpeed; //delta=-0.42 + turn base to y-axis <-2.000000> speed <30.000006> / animSpeed; //delta=-1.00 + turn leg1a to x-axis <0.000000> speed <14.929565> / animSpeed; //delta=-0.50 + turn leg1a to z-axis <-0.000000> speed <12.717468> / animSpeed; //delta=-0.42 turn leg1a to y-axis <-68.248083> speed <61.862253> / animSpeed; //delta=2.06 turn leg1b to x-axis <-0.056438> speed <15.722873> / animSpeed; //delta=0.52 turn leg1b to z-axis <45.940214> speed <1808.670890> / animSpeed; //delta=-60.29 @@ -81,11 +83,11 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn leg6c to z-axis <-37.673753> speed <459.352778> / animSpeed; //delta=15.31 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:13 - move base to y-axis [-1.0] speed [10.000001] / animSpeed; //delta=-0.33 - turn base to x-axis <3.0> speed <45.0> / animSpeed; //delta=-1.50 - turn base to z-axis <-4.0> speed <50.0> / animSpeed; //delta=1.67 - turn base to y-axis <-3.0> speed <29.999997> / animSpeed; //delta=-1.00 + if (bMoving) { //Frame:13 + move base to y-axis [-1.000000] speed [10.000001] / animSpeed; //delta=-0.33 + turn base to x-axis <3.000000> speed <45.000001> / animSpeed; //delta=-1.50 + turn base to z-axis <-4.000000> speed <50.000001> / animSpeed; //delta=1.67 + turn base to y-axis <-3.000000> speed <29.999997> / animSpeed; //delta=-1.00 turn leg1a to y-axis <-62.638879> speed <168.276122> / animSpeed; //delta=5.61 turn leg1b to x-axis <1.330461> speed <41.606987> / animSpeed; //delta=-1.39 turn leg1b to z-axis <16.050149> speed <896.701966> / animSpeed; //delta=29.89 @@ -110,11 +112,11 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn leg6c to z-axis <-53.850417> speed <485.299933> / animSpeed; //delta=16.18 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:17 - move base to y-axis [-0.500000] speed [15.0] / animSpeed; //delta=0.50 - turn base to x-axis <1.500000> speed <45.0> / animSpeed; //delta=1.50 - turn base to z-axis <-2.0> speed <60.0> / animSpeed; //delta=-2.00 - turn base to y-axis <-1.500000> speed <45.0> / animSpeed; //delta=1.50 + if (bMoving) { //Frame:17 + move base to y-axis [-0.500000] speed [15.000000] / animSpeed; //delta=0.50 + turn base to x-axis <1.500000> speed <45.000001> / animSpeed; //delta=1.50 + turn base to z-axis <-2.000000> speed <60.000000> / animSpeed; //delta=-2.00 + turn base to y-axis <-1.500000> speed <45.000001> / animSpeed; //delta=1.50 turn leg1a to y-axis <-58.180405> speed <133.754228> / animSpeed; //delta=4.46 turn leg1b to x-axis <0.568837> speed <22.848737> / animSpeed; //delta=0.76 turn leg1b to z-axis <-7.481733> speed <705.956451> / animSpeed; //delta=23.53 @@ -140,13 +142,13 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn turret to x-axis <4.999999> speed <149.999985> / animSpeed; //delta=-5.00 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:21 - move base to y-axis [0.0] speed [15.0] / animSpeed; //delta=0.50 - turn base to x-axis <-0.0> speed <45.0> / animSpeed; //delta=1.50 - turn base to z-axis <-0.0> speed <60.0> / animSpeed; //delta=-2.00 - turn base to y-axis <0.0> speed <45.0> / animSpeed; //delta=1.50 + if (bMoving) { //Frame:21 + move base to y-axis [0.000000] speed [15.000000] / animSpeed; //delta=0.50 + turn base to x-axis <-0.000000> speed <45.000001> / animSpeed; //delta=1.50 + turn base to z-axis <-0.000000> speed <60.000000> / animSpeed; //delta=-2.00 + turn base to y-axis <0.000000> speed <45.000001> / animSpeed; //delta=1.50 turn leg1a to y-axis <-60.316397> speed <64.079742> / animSpeed; //delta=-2.14 - turn leg1b to x-axis <-0.0> speed <17.065099> / animSpeed; //delta=0.57 + turn leg1b to x-axis <-0.000000> speed <17.065099> / animSpeed; //delta=0.57 turn leg1b to z-axis <-14.458944> speed <209.316321> / animSpeed; //delta=6.98 turn leg1b to y-axis <1.407502> speed <133.642824> / animSpeed; //delta=4.45 turn leg1c to z-axis <22.361993> speed <377.473521> / animSpeed; //delta=-12.58 @@ -168,14 +170,14 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn leg6b to z-axis <14.348814> speed <586.945340> / animSpeed; //delta=19.56 turn leg6b to y-axis <-1.060665> speed <3.133379> / animSpeed; //delta=0.10 turn leg6c to z-axis <9.201177> speed <945.773673> / animSpeed; //delta=-31.53 - turn turret to x-axis <-0.0> speed <149.999983> / animSpeed; //delta=5.00 + turn turret to x-axis <-0.000000> speed <149.999983> / animSpeed; //delta=5.00 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:25 - move base to y-axis [-0.500000] speed [15.0] / animSpeed; //delta=-0.50 - turn base to x-axis <1.500000> speed <45.0> / animSpeed; //delta=-1.50 - turn base to z-axis <2.0> speed <60.0> / animSpeed; //delta=-2.00 - turn base to y-axis <1.500000> speed <45.0> / animSpeed; //delta=1.50 + if (bMoving) { //Frame:25 + move base to y-axis [-0.500000] speed [15.000000] / animSpeed; //delta=-0.50 + turn base to x-axis <1.500000> speed <45.000001> / animSpeed; //delta=-1.50 + turn base to z-axis <2.000000> speed <60.000000> / animSpeed; //delta=-2.00 + turn base to y-axis <1.500000> speed <45.000001> / animSpeed; //delta=1.50 turn leg1a to y-axis <-52.637748> speed <230.359468> / animSpeed; //delta=7.68 turn leg1b to x-axis <5.243050> speed <157.291487> / animSpeed; //delta=-5.24 turn leg1b to z-axis <-24.969587> speed <315.319303> / animSpeed; //delta=10.51 @@ -193,8 +195,8 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn leg5a to y-axis <-1.833574> speed <446.686662> / animSpeed; //delta=-14.89 turn leg5b to z-axis <-16.725815> speed <11.167001> / animSpeed; //delta=-0.37 turn leg5c to z-axis <24.327416> speed <9.042897> / animSpeed; //delta=-0.30 - turn leg6a to x-axis <-0.0> speed <14.929552> / animSpeed; //delta=-0.50 - turn leg6a to z-axis <0.0> speed <12.717464> / animSpeed; //delta=0.42 + turn leg6a to x-axis <-0.000000> speed <14.929552> / animSpeed; //delta=-0.50 + turn leg6a to z-axis <0.000000> speed <12.717464> / animSpeed; //delta=0.42 turn leg6a to y-axis <68.248083> speed <61.862253> / animSpeed; //delta=-2.06 turn leg6b to x-axis <-0.056438> speed <15.722870> / animSpeed; //delta=0.52 turn leg6b to z-axis <-45.940211> speed <1808.670736> / animSpeed; //delta=60.29 @@ -202,11 +204,11 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn leg6c to z-axis <72.103445> speed <1887.068032> / animSpeed; //delta=-62.90 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:29 - move base to y-axis [-1.0] speed [15.0] / animSpeed; //delta=-0.50 - turn base to x-axis <3.0> speed <45.0> / animSpeed; //delta=-1.50 - turn base to z-axis <4.0> speed <60.0> / animSpeed; //delta=-2.00 - turn base to y-axis <3.0> speed <45.0> / animSpeed; //delta=1.50 + if (bMoving) { //Frame:29 + move base to y-axis [-1.000000] speed [15.000000] / animSpeed; //delta=-0.50 + turn base to x-axis <3.000000> speed <45.000001> / animSpeed; //delta=-1.50 + turn base to z-axis <4.000000> speed <60.000000> / animSpeed; //delta=-2.00 + turn base to y-axis <3.000000> speed <45.000001> / animSpeed; //delta=1.50 turn leg1a to y-axis <-28.377959> speed <727.793659> / animSpeed; //delta=24.26 turn leg1b to x-axis <0.206362> speed <151.100630> / animSpeed; //delta=5.04 turn leg1b to z-axis <-39.588640> speed <438.571603> / animSpeed; //delta=14.62 @@ -231,11 +233,11 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn leg6c to z-axis <28.495590> speed <1308.235651> / animSpeed; //delta=43.61 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:33 + if (bMoving) { //Frame:33 move base to y-axis [-0.666667] speed [9.999999] / animSpeed; //delta=0.33 - turn base to x-axis <1.500000> speed <45.0> / animSpeed; //delta=1.50 + turn base to x-axis <1.500000> speed <45.000001> / animSpeed; //delta=1.50 turn base to z-axis <1.666667> speed <69.999998> / animSpeed; //delta=2.33 - turn base to y-axis <1.0> speed <60.0> / animSpeed; //delta=-2.00 + turn base to y-axis <1.000000> speed <60.000000> / animSpeed; //delta=-2.00 turn leg1a to x-axis <-0.248826> speed <7.464766> / animSpeed; //delta=0.25 turn leg1a to z-axis <-0.211958> speed <6.358730> / animSpeed; //delta=0.21 turn leg1a to y-axis <-49.344063> speed <628.983122> / animSpeed; //delta=-20.97 @@ -261,11 +263,11 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn turret to x-axis <4.999999> speed <149.999972> / animSpeed; //delta=-5.00 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:37 - move base to y-axis [-0.333333] speed [10.0] / animSpeed; //delta=0.33 - turn base to x-axis <-0.0> speed <45.0> / animSpeed; //delta=1.50 - turn base to z-axis <-0.666667> speed <70.0> / animSpeed; //delta=2.33 - turn base to y-axis <-1.0> speed <60.0> / animSpeed; //delta=-2.00 + if (bMoving) { //Frame:37 + move base to y-axis [-0.333333] speed [10.000000] / animSpeed; //delta=0.33 + turn base to x-axis <-0.000000> speed <45.000001> / animSpeed; //delta=1.50 + turn base to z-axis <-0.666667> speed <70.000000> / animSpeed; //delta=2.33 + turn base to y-axis <-1.000000> speed <60.000003> / animSpeed; //delta=-2.00 turn leg1a to x-axis <-0.497652> speed <7.464782> / animSpeed; //delta=0.25 turn leg1a to z-axis <-0.423916> speed <6.358741> / animSpeed; //delta=0.21 turn leg1a to y-axis <-70.310159> speed <628.982866> / animSpeed; //delta=-20.97 @@ -285,52 +287,52 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn leg5b to z-axis <15.328698> speed <1175.054338> / animSpeed; //delta=-39.17 turn leg5c to z-axis <3.021825> speed <916.146720> / animSpeed; //delta=30.54 turn leg6a to y-axis <60.316397> speed <64.079742> / animSpeed; //delta=2.14 - turn leg6b to x-axis <0.0> speed <17.065095> / animSpeed; //delta=0.57 + turn leg6b to x-axis <0.000000> speed <17.065095> / animSpeed; //delta=0.57 turn leg6b to z-axis <14.458945> speed <209.316372> / animSpeed; //delta=-6.98 turn leg6b to y-axis <-1.407501> speed <133.642875> / animSpeed; //delta=-4.45 turn leg6c to z-axis <-22.361993> speed <377.473572> / animSpeed; //delta=12.58 - turn turret to x-axis <0.0> speed <149.999970> / animSpeed; //delta=5.00 + turn turret to x-axis <0.000000> speed <149.999970> / animSpeed; //delta=5.00 sleep ((33*animSpeed) -1); } } } -// Call this from StopMoving()! +// Call this from MotionControl()! StopWalking() { - move base to y-axis [0.0] speed [3.750000]; - turn base to x-axis <0.0> speed <11.250000>; - turn base to y-axis <0.0> speed <15.0>; - turn base to z-axis <0.0> speed <17.500000>; - turn leg1a to x-axis <0.0> speed <3.732391>; - turn leg1a to y-axis <-50.0> speed <181.948415>; - turn leg1a to z-axis <0.0> speed <3.179368>; - turn leg1b to x-axis <0.0> speed <39.322872>; + move base to y-axis [0.000000] speed [3.750000]; + turn base to x-axis <0.000000> speed <11.250000>; + turn base to y-axis <0.000000> speed <15.000001>; + turn base to z-axis <0.000000> speed <17.500000>; + turn leg1a to x-axis <0.000000> speed <3.732391>; + turn leg1a to y-axis <-50.000000> speed <181.948415>; + turn leg1a to z-axis <0.000000> speed <3.179368>; + turn leg1b to x-axis <0.000000> speed <39.322872>; turn leg1b to y-axis <0.874715> speed <33.410706>; - turn leg1b to z-axis <0.0> speed <452.167722>; - turn leg1c to z-axis <0.0> speed <471.766989>; - turn leg2a to y-axis <0.0> speed <188.882083>; + turn leg1b to z-axis <0.000000> speed <452.167722>; + turn leg1c to z-axis <0.000000> speed <471.766989>; + turn leg2a to y-axis <0.000000> speed <188.882083>; turn leg2b to x-axis <1.613454> speed <-1.344545>; turn leg2b to y-axis <3.032982> speed <-2.527485>; - turn leg2b to z-axis <0.0> speed <293.763597>; - turn leg2c to z-axis <0.0> speed <229.036694>; - turn leg3a to y-axis <50.0> speed <101.531966>; - turn leg3b to z-axis <0.0> speed <419.641265>; - turn leg3c to z-axis <0.0> speed <625.382161>; - turn leg4a to y-axis <-50.0> speed <161.281218>; - turn leg4b to z-axis <0.0> speed <364.780402>; - turn leg4c to z-axis <0.0> speed <422.385336>; - turn leg5a to y-axis <0.0> speed <188.882096>; - turn leg5b to x-axis <0.0> speed <12.100902>; - turn leg5b to y-axis <0.0> speed <22.747365>; - turn leg5b to z-axis <0.0> speed <293.763585>; - turn leg5c to z-axis <0.0> speed <229.036680>; - turn leg6a to x-axis <0.0> speed <3.732388>; - turn leg6a to y-axis <50.0> speed <181.948440>; - turn leg6a to z-axis <0.0> speed <3.179366>; - turn leg6b to x-axis <0.0> speed <39.322868>; - turn leg6b to y-axis <0.0> speed <33.410719>; - turn leg6b to z-axis <0.0> speed <452.167684>; - turn leg6c to z-axis <0.0> speed <471.767008>; - turn turret to x-axis <0.0> speed <37.499996>; + turn leg2b to z-axis <0.000000> speed <293.763597>; + turn leg2c to z-axis <0.000000> speed <229.036694>; + turn leg3a to y-axis <50.000000> speed <101.531966>; + turn leg3b to z-axis <0.000000> speed <419.641265>; + turn leg3c to z-axis <0.000000> speed <625.382161>; + turn leg4a to y-axis <-50.000000> speed <161.281218>; + turn leg4b to z-axis <0.000000> speed <364.780402>; + turn leg4c to z-axis <0.000000> speed <422.385336>; + turn leg5a to y-axis <0.000000> speed <188.882096>; + turn leg5b to x-axis <0.000000> speed <12.100902>; + turn leg5b to y-axis <0.000000> speed <22.747365>; + turn leg5b to z-axis <0.000000> speed <293.763585>; + turn leg5c to z-axis <0.000000> speed <229.036680>; + turn leg6a to x-axis <0.000000> speed <3.732388>; + turn leg6a to y-axis <50.000000> speed <181.948440>; + turn leg6a to z-axis <0.000000> speed <3.179366>; + turn leg6b to x-axis <0.000000> speed <39.322868>; + turn leg6b to y-axis <0.000000> speed <33.410719>; + turn leg6b to z-axis <0.000000> speed <452.167684>; + turn leg6c to z-axis <0.000000> speed <471.767008>; + turn turret to x-axis <0.000000> speed <37.499996>; } // REMEMBER TO animspeed = 8 in Create() !! UnitSpeed(){ @@ -347,26 +349,74 @@ UnitSpeed(){ sleep 131; } } -StartMoving(reversing){ - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; - isMoving=TRUE; +StartMoving(){ + signal SIG_WALK; + set-signal-mask SIG_WALK; + bMoving=TRUE; start-script UnitSpeed(); start-script Walk(); } StopMoving(){ - signal SIGNAL_MOVE; - isMoving=FALSE; + signal SIG_WALK; + bMoving=FALSE; call-script StopWalking(); } + +SmokeUnit(healthpercent, sleeptime, smoketype) +{ + while( get BUILD_PERCENT_LEFT ) + { + sleep 400; + } + while( TRUE ) + { + healthpercent = get HEALTH; + if( healthpercent < 66 ) + { + smoketype = 256 | 2; + if( Rand( 1, 66 ) < healthpercent ) + { + smoketype = 256 | 1; + } + emit-sfx smoketype from base; + } + sleeptime = healthpercent * 50; + if( sleeptime < 200 ) + { + sleeptime = 200; + } + sleep sleeptime; + } +} + #define BASEPIECE base #define HITSPEED <55.0> //how 'heavy' the unit is, on a scale of 1-10 #define UNITSIZE 5 #define MAXTILT 100 -#include "../../unit_hitbyweaponid_and_smoke.h" +HitByWeapon(anglex, anglez, damage) // angle[x|z] is always [-500;500], damage is multiplied by 100 +{ + var amount;//, speedz, speedx; + amount = damage / (100 * UNITSIZE); + if (amount < 3 ) return (0); + if (amount > MAXTILT) amount = MAXTILT; + //get PRINT(anglex, anglez, amount, damage); + //speedz = HITSPEED * get ABS(anglez) / 500; //nevermind this, the random error this produces actually looks better than the accurate version + turn BASEPIECE to z-axis (anglez * amount) / 100 speed HITSPEED; + turn BASEPIECE to x-axis <0> - (anglex * amount) /100 speed HITSPEED; + wait-for-turn BASEPIECE around z-axis; + wait-for-turn BASEPIECE around x-axis; + turn BASEPIECE to z-axis <0.000000> speed HITSPEED / 4; + turn BASEPIECE to x-axis <0.000000> speed HITSPEED / 4; +} +HitByWeaponId(anglex, anglez, weaponid, dmg) //weaponID is always 0,lasers and flamers give angles of 0 +{ + start-script HitByWeapon(dmg, anglez,anglex); //I dont know why param order must be switched, and this also runs a frame later :( + return (100); //return damage percent +} + Create() { @@ -382,7 +432,11 @@ Create() maxreloadtime=0; open=FALSE; firing=FALSE; - SLEEP_UNTIL_UNITFINISHED; + while(get BUILD_PERCENT_LEFT) + { + sleep 250; + } + start-script SmokeUnit(); restore_delay=2000; } @@ -392,10 +446,10 @@ SetMaxReloadTime(t) } -FireWeapon1() +FirePrimary() { - signal SIGNAL_SHOOT1; - set-signal-mask SIGNAL_SHOOT1; + signal SIG_FIRE1; + set-signal-mask SIG_FIRE1; ++fire_count; if(fire_count>=3) { @@ -422,19 +476,19 @@ Shot1() } } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { if(fire_count==0) { - pieceIndex=flare1; + piecenum=flare1; } if(fire_count==1) { - pieceIndex=flare2; + piecenum=flare2; } if(fire_count==2) { - pieceIndex=flare3; + piecenum=flare3; } } @@ -461,7 +515,10 @@ QueryWeapon1(pieceIndex) - +SweetSpot(piecenum) +{ + piecenum = turret; +} static-var Stunned; @@ -471,8 +528,8 @@ ExecuteRestoreAfterDelay() return (1); } set-signal-mask 0; - turn turret to y-axis <0.0> speed <150.0>; - turn turret to x-axis <0.0> speed <150.0>; + turn turret to y-axis <0.000000> speed <150.000000>; + turn turret to x-axis <0.000000> speed <150.000000>; wait-for-turn turret around y-axis; wait-for-turn turret around x-axis; open=FALSE; @@ -491,12 +548,12 @@ RestoreAfterDelay() start-script ExecuteRestoreAfterDelay(); } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; - turn turret to y-axis heading speed <150.0>; - turn turret to x-axis 0 - pitch speed <150.0>; + signal SIG_AIM; + set-signal-mask SIG_AIM; + turn turret to y-axis heading speed <150.000000>; + turn turret to x-axis 0 - pitch speed <150.000000>; wait-for-turn turret around y-axis; wait-for-turn turret around x-axis; start-script RestoreAfterDelay(); @@ -504,9 +561,9 @@ AimWeapon1(heading, pitch) } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = turret; + piecenum = turret; } @@ -519,6 +576,25 @@ Killed(severity, corpsetype) explode leg1a type FIRE | SMOKE | FALL | NOHEATCLOUD; explode leg1b type FIRE | SMOKE | FALL | NOHEATCLOUD; explode leg1c type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg6a type BITMAPONLY | NOHEATCLOUD; + //explode leg6b type BITMAPONLY | NOHEATCLOUD; + //explode leg6c type BITMAPONLY | NOHEATCLOUD; + //explode turret type BITMAPONLY | NOHEATCLOUD; + //explode flare2 type BITMAPONLY | NOHEATCLOUD; + //explode flare3 type BITMAPONLY | NOHEATCLOUD; + //explode flare1 type BITMAPONLY | NOHEATCLOUD; + //explode leg2a type BITMAPONLY | NOHEATCLOUD; + //explode leg2b type BITMAPONLY | NOHEATCLOUD; + //explode leg2c type BITMAPONLY | NOHEATCLOUD; + //explode leg3a type BITMAPONLY | NOHEATCLOUD; + //explode leg3b type BITMAPONLY | NOHEATCLOUD; + //explode leg3c type BITMAPONLY | NOHEATCLOUD; + //explode leg4a type BITMAPONLY | NOHEATCLOUD; + //explode leg4b type BITMAPONLY | NOHEATCLOUD; + //explode leg4c type BITMAPONLY | NOHEATCLOUD; + //explode leg5a type BITMAPONLY | NOHEATCLOUD; + //explode leg5b type BITMAPONLY | NOHEATCLOUD; + //explode leg5c type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } if( severity <= 50 ) @@ -529,6 +605,24 @@ Killed(severity, corpsetype) explode leg1b type FALL | NOHEATCLOUD; explode leg1c type FIRE | SMOKE | FALL | NOHEATCLOUD; explode leg6a type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg6b type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg6c type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode turret type FALL | NOHEATCLOUD; + //explode flare2 type FALL | NOHEATCLOUD; + //explode flare3 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare1 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg2a type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg2b type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg2c type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg3a type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg3b type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg3c type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg4a type FALL | NOHEATCLOUD; + //explode leg4b type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg4c type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg5a type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg5b type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg5c type FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) @@ -539,6 +633,24 @@ Killed(severity, corpsetype) explode leg1b type SMOKE | FALL | NOHEATCLOUD; explode leg1c type FIRE | SMOKE | FALL | NOHEATCLOUD; explode leg6a type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode leg6b type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg6c type SMOKE | FALL | NOHEATCLOUD; + //explode turret type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare2 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare3 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare1 type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode leg2a type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg2b type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg2c type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg3a type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode leg3b type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg3c type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg4a type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg4b type SMOKE | FALL | NOHEATCLOUD; + //explode leg4c type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg5a type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode leg5b type SMOKE | FALL | NOHEATCLOUD; + //explode leg5c type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; @@ -549,5 +661,21 @@ Killed(severity, corpsetype) explode leg6a type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode leg6b type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode leg6c type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode turret type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare2 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode flare3 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare1 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg2a type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg2b type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg2c type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode leg3a type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode leg3b type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode leg3c type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode leg4a type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode leg4b type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg4c type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg5a type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode leg5b type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg5c type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/scavboss/armsptkt4.cob b/scripts/Units/scavboss/armsptkt4.cob index f479c07bc12dea93fce062fba8c62ece0f02b182..379215b06e2854da7edab4f707ac2e1ae72cff63 100644 GIT binary patch literal 15665 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 literal 15070 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 speed <62.000000>; + turn engines to x-axis <90> speed <30.000000>; + turn wingl to z-axis <-135> speed <90.000000>; + turn wingr to z-axis <135> speed <90.000000>; + sleep 1457; + } + sleep 6; + return (0); + // Build by COBBLER Ver4.0 Copyright @1998 DIGITAL CONCEPT SOFTWARE (MANU@inext.fr) / http://www.annihilationcenter.com/DCS/ +} + +deactivatescr() +{ + if( TRUE ) + { + turn enginec to x-axis <0> speed <62.000000>; + + turn engines to x-axis <0> speed <30.000000>; + turn wingl to z-axis <0> speed <90.000000>; + turn wingr to z-axis <0> speed <90.000000>; + sleep 1446; + } + sleep 4; +} + #define BASEPIECE base #define HITSPEED <105.0> //how 'heavy' the unit is, on a scale of 1-10 #define UNITSIZE 1 #define MAXTILT 100 +HitByWeapon(anglex, anglez, damage) // angle[x|z] is always [-500;500], damage is multiplied by 100 +{ + var amount;//, speedz, speedx; + amount = damage / (100 * UNITSIZE); + if (amount < 3 ) return (0); + if (amount > MAXTILT) amount = MAXTILT; + //get PRINT(anglex, anglez, amount, damage); + //speedz = HITSPEED * get ABS(anglez) / 500; //nevermind this, the random error this produces actually looks better than the accurate version + turn BASEPIECE to z-axis (anglez * amount) / 100 speed HITSPEED; + turn BASEPIECE to x-axis <0> - (anglex * amount) /100 speed HITSPEED; + wait-for-turn BASEPIECE around z-axis; + wait-for-turn BASEPIECE around x-axis; + turn BASEPIECE to z-axis <0.000000> speed HITSPEED / 4; + turn BASEPIECE to x-axis <0.000000> speed HITSPEED / 4; +} +HitByWeaponId(anglex, anglez, weaponid, dmg) //weaponID is always 0,lasers and flamers give angles of 0 +{ + start-script HitByWeapon(dmg, anglez,anglex); //I dont know why param order must be switched, and this also runs a frame later :( + return (100); //return damage percent +} -#include "../../unit_hitbyweaponid_and_smoke.h" + +SmokeUnit(healthpercent, sleeptime, smoketype) +{ + while( get BUILD_PERCENT_LEFT ) + { + sleep 400; + } + while( TRUE ) + { + healthpercent = get HEALTH; + if( (healthpercent < 66) AND (healthpercent > 0 )) + { + smoketype = 256 | 2; + if( Rand( 1, 66 ) < healthpercent ) + { + smoketype = 256 | 1; + } + emit-sfx smoketype from base; + } + sleeptime = healthpercent * 50; + if( sleeptime < 200 ) + { + sleeptime = 200; + } + sleep sleeptime; + } +} Blink() { @@ -25,6 +104,40 @@ Blink() //sleep 120; sleep 1700; } + sleep 50; + start-script Blink(); +} + +InitState() +{ + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; +} + +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + call-script activatescr(); + currentstate = 0; + } + if( statechg_DesiredState == 1 ) + { + call-script deactivatescr(); + currentstate = 1; + } + } + statechg_StateChanging = FALSE; } Create() @@ -39,6 +152,8 @@ Create() turn thrust3 to x-axis <-90> now; turn thrust4 to x-axis <-90> now; turn thrustc to x-axis <-90> now; + call-script InitState(); + start-script SmokeUnit(); start-script Blink(); } @@ -49,11 +164,7 @@ Activate() show thrust2; show thrust1; show thrustc; - - turn enginec to x-axis <90.021978> speed <62.0>; - turn engines to x-axis <90> speed <30.0>; - turn wingl to z-axis <-135> speed <90.0>; - turn wingr to z-axis <135> speed <90.0>; + start-script RequestState(0); } Deactivate() @@ -63,26 +174,27 @@ Deactivate() hide thrust2; hide thrust1; hide thrustc; - - turn enginec to x-axis <0> speed <62.0>; - turn engines to x-axis <0> speed <30.0>; - turn wingl to z-axis <0> speed <90.0>; - turn wingr to z-axis <0> speed <90.0>; + start-script RequestState(1); } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = base; + piecenum = base; } -AimWeapon1(heading, pitch) + +AimPrimary(heading, pitch) { turn doorl to z-axis <-60> speed <120>; turn doorr to z-axis <60> speed <120>; } +SweetSpot(piecenum) +{ + piecenum = base; +} -FireWeapon1() +FirePrimary() { sleep 11; } diff --git a/scripts/Units/scavboss/armthundt4.cob b/scripts/Units/scavboss/armthundt4.cob index da8b0475ea8101207f2879fecdb553296fcae01d..b3a11f41c18f5a9212ee7f5de1da6b08a5356eb3 100644 GIT binary patch literal 4242 zcmeHK&x;gS5U!ma$7oD!#RUZq4Y?#i$hexD;O;8oufW8OMnTBV&NSND*_lmGugijn z2R(W5FAxtRl1mUgHhf$4s$TtgRrTIz zRYW4-W8luHNClMNBM3Ha7C8>=!uks6NK}bNsGO-qpMY?^4NB70{Sd?wnLTCSj5*zN zuTxuZM;Z6jZmzD<4xu$RWu{yC&iSkcy1VPJsE)r_U1M^b-3iixt3pdAAt^XsilwD^5 z>p0s)EqdT(6tPERUub{ zhgjUt&(F(>*P9QQU<0exu3G)UaOJSjb_EW zyNga65^YkQL?40DA9Gjx8LtC1-L0C}q5j)_e3vhJg1+)v@}nPR&{y&dRjoUj>A0rc z*5M4XqSUdkUxBgu7JY4k&32$4#BhDTggB;K%gO1wOeV&R`_J?iBec`J z8_w>cw^JExX-D4dILBuoFn@LiTWd{F{|^}#bfc#mJpI7a^`Nw=-p5;iUm}$kWNK58 zslS3uV-;lduODi_5zr6)*0+I+lHPN^)E}tE0@XY~HAhg(-F)gAi#M%-)*AT?^%JB1 z!F({Lt;6}FtZ~xmPXFP4KRMfW|4n!2a|mOcKG1>HyT&)re6!ya+uG(|fX)eFJ@ee)s)h9qpc%`NS5D z_r5ooGvEa96YvYb ze+PaEOaNDbd%&;2W8hEVAK)1;?7#2Z5tN12_eo1=>Id$bpN%72q1sY~|^NW}ft0nY5E|bvVtZmcLD!3%#xc z{E@ay&-dn%lif6zsZQFRlOtfKb2yO`$q$Q3-!Bei31yQ$f*c&Um#-I-Y`Kx8^UZ8o zCewLirpI+$YawyFblO9Vuount!ANn@N5? ZTkPj8Pj`Dd?&%&+_sT3!&~#*0{smtgPA~uf literal 3062 zcmds3J!n%=6h2AQRO=5<(ZMZCW&B1Oef{TJf z1}VisP@Kdeqizlgjt(N(EVvb+e&2cbwAV*O9CT>l>-j(ToO928nh}v5z;57iS|kO^ z--AJsH$WFS0y#&gTsrWP3ev$II_ENhOlO0gV5zH8SIh?FGvr|>Um&0FSKotRGtf~* z8>tjGZPc-rOy1doY=H9gmxiqm94UQB)c_yLv@zc5@N1?o^K971`hs*m*7-K(kRYyS z-1$?*zI;DD!}T=j{HU{>JZJgrueE9)`97VA#-j$wiS}T%F@~``lII!i9lIG%KlaPm zJ77tdK$(NHv7AXN`S^~^7p{Nw^?ex6o^AF87?ceAeK%zD`vYQ6IAY&M()cXrj;GnBEX?18M!oU!c1_VyiE%V)c3vh4=lsneWp zhdy{ZJA*!~gH+E5_#$kV>?t~~#ycWo*`Vw6X-{vl%r^o%=gPU!|E2S%+TJEZ zIfDT*MbY<5x(gz6tkKT+X=ej9+taMGA@_IZPj{U${P?+G96ldPw>!Gc(E(7Nk?E|j zOGg6LCv+N<&}qJePR~l{m|uVRCg}b^;CZU!9-vQ+1J#_MdLF3O0%|qx!v|1f#}J*9 zjqeb3Q~P7vkK?gTX9|`!>PWL~^oTgtVei{)YuDm9?uyyK{`DL;YGmwhYNUy_UNxGn zSB+-tSz|8#*3ie_YmIU5&E8z`Vmyz_ALDuSGX~&{%(ikE3e?E;G8!G)#Z?%^FE5w?T2snuqceC)>GZw>>bKwfXVv!D$_irkFq nGd2C&lxm~Vtm)sTv}T)&3$2Qy!;X$PI_l_ADYL**Ov>^T?%D&f diff --git a/scripts/Units/scavboss/armvadert4.bos b/scripts/Units/scavboss/armvadert4.bos index 0ba2fc3d79b..ea1dcddc712 100644 --- a/scripts/Units/scavboss/armvadert4.bos +++ b/scripts/Units/scavboss/armvadert4.bos @@ -1,28 +1,83 @@ +#define TA // This is a TA script -#include "../../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece leg1, leg2, leg3, leg4, base, body; -static-var isMoving; +static-var bMoving; -#define SIGNAL_MOVE 1 +#define SIG_MOVE 1 +walkscr() +{ + while( bMoving ) + { + if( bMoving ) + { + turn leg1 to z-axis <0.000000> now; + sleep 33; + } + + } +} -#define BASEPIECE base -#define MAXTILT 0 -#include "../../unit_hitbyweaponid_and_smoke.h" +MotionControl(Func_Var_1) +{ + while( TRUE ) + { + Func_Var_1 = bMoving; + if( Func_Var_1 ) + { + call-script walkscr(); + } + else + { + sleep 100; + } + } +} + +SmokeUnit(healthpercent, sleeptime, smoketype) +{ + while( get BUILD_PERCENT_LEFT ) + { + sleep 500; + } + start-script MotionControl(); + while( TRUE ) + { + healthpercent = get HEALTH; + if( healthpercent < 66 ) + { + smoketype = 258; + if( Rand( 1, 66 ) < healthpercent ) + { + smoketype = 257; + } + emit-sfx smoketype from base; + } + sleeptime = healthpercent * 50; + if( sleeptime < 200 ) + { + sleeptime = 200; + } + sleep sleeptime; + } +} Create() { hide base; - isMoving = FALSE; + bMoving = FALSE; + start-script SmokeUnit(); } -StartMoving(reversing) +StartMoving() { - signal SIGNAL_MOVE; + signal SIG_MOVE; move leg1 to y-axis [0] speed [28]; move leg2 to y-axis [0] speed [28]; move base to y-axis [0] speed [28]; @@ -30,12 +85,12 @@ StartMoving(reversing) sleep 150; move leg3 to y-axis [0] speed [28]; move leg4 to y-axis [0] speed [28]; - isMoving = TRUE; + bMoving = TRUE; } StopMoving() { - set-signal-mask SIGNAL_MOVE; + set-signal-mask SIG_MOVE; stop-spin base around x-axis; turn base to x-axis <0> speed <38>; wait-for-turn base around x-axis; @@ -46,7 +101,7 @@ StopMoving() move base to y-axis [2.5] speed [18]; - isMoving = FALSE; + bMoving = FALSE; } AimWeapon1() @@ -64,31 +119,34 @@ FireWeapon1() emit-sfx 4097 from leg1; //Weapon2 detonates the crawling bomb once weapon1 fires } -QueryWeapon1(pieceIndex) +QueryWeapon1(piecenum) { - pieceIndex = base; + piecenum = base; } -AimFromWeapon1(pieceIndex) +AimFromWeapon1(piecenum) { - pieceIndex = base; + piecenum = base; } -QueryWeapon2(pieceIndex) +QueryWeapon2(piecenum) { - pieceIndex = base; + piecenum = base; } -AimFromWeapon2(pieceIndex) +AimFromWeapon2(piecenum) { - pieceIndex = base; + piecenum = base; } FireWeapon2() { } - +SweetSpot(piecenum) +{ + piecenum = leg1; +} Killed(severity, corpsetype) { diff --git a/scripts/Units/scavboss/armvadert4.cob b/scripts/Units/scavboss/armvadert4.cob index f67b6964dba19dd19d59853acf969367a6e14ebf..1b23de53551f5451045bdec39d5de83a7f0bb943 100644 GIT binary patch literal 1851 zcmcIkyKWOf6usVTOaa9bL?jfD3>1+d0^6WeNCYCeL6L$CqRl!Ug;ks#YqMZQLXZ-P zf{uoso}L0xrKI5x_<$hM@;GN6_So1^VfpObxsP)nJF~HfBtR9&DkAus-{*Pgq1*&k zpm~fnP9nOBY*mv5Ea9Gpino6>loC1JMXXY}yfNy~zt+=JLEz-R6rt zFYL?Ys#zY2LL)(*UyD~BVTsy=Ii28XRict^kKXlOTzp|K2aBEGmd(dFs$#@(<%~={5WS7_rc7SxTUq4%$e!5q z;cJ_;8U2uNJdQp4xOmCt%a@(74Ql83Gh1-11Etqz!Gp7xC&eY zRsnwJ`@nPHCGZ+}3%mo~10R4R;0y2-_y))ckyF4TZ~?dkECVY*16TzHX>WIbyO0fC zW;$Qjd0FV5wD2w`%b)*?LAUyU*`=OicM){h4SkA zPgHT>H}Gi{dKePenv5UWLXM`i2TGOgzAoin*6XRR^wds+k0u{C__!&ZbYDqFcMs$@ DW$&Bx literal 2264 zcmcgtziU%b6h29wv4iNq(2 zT>UjU=;Bfkm-;6-bPVXI==a@wPjX*K?PlT2IrpCL{JiJUNJLHmMPM%{l85Bqy`v)U zfgx}n=b0J&l=3D-&g9KWl1q`1<)S$Tm3K|vEfx*+h&t@ltJLEomOBeI!W~jtADU!w zY$KnxD0Wgz(P(XX*b1;wl0yk01;R)?(ERpBc8FR?18GzoWATu_jVVm#?#%@v+f4zyt6U=4t)#mGzU4X zgVN?O{33Lh-R^z&_8f^rw$l5p?wMA!LUP_65k3QxzNPYXs-1b}Xyh$5( zM&naX>yN$CCfnK@^h!3r)<&B6Z`A78M*F@vxS5@Da{KomOl4v&S(~lv0Kc$qk*r^~ zU$x;D`NDa!zJKUA?9SHmSv&c zPxSiMM$-3bEN7vgj$8s;nf_y27^5sV+nr9*lupu`<4>7Cm-sU;D~ -#define Weapon1TurretY <300> -#include "../../weapon1control.h" +#include "weapon1control.h" // Signal definitions -#define SIGNAL_AIM1 256 +#define SIG_AIM 4 // For N:\animations\corak_anim_walk_v2.blend Created by https://github.com/Beherith/Skeletor_S3O V((0, 3, 5)) #define MOVESCALE 225 //Higher values are bigger, 100 is default static-var animAmplitude; //Higher values are bigger, 100 is default // this animation uses the static-var animFramesPerKeyframe which contains how many frames each keyframe takes static-var animSpeed, maxSpeed, animFramesPerKeyframe; -#define SIGNAL_MOVE 1 +#define SIG_WALK 8 Walk() {// For N:\animations\corak_anim_walk_v2.blend Created by https://github.com/Beherith/Skeletor_S3O V((0, 3, 5)) - set-signal-mask SIGNAL_MOVE; - if (isMoving) { //Frame:2 + set-signal-mask SIG_WALK; + if (bMoving) { //Frame:2 turn lfoot to x-axis ((<-40.243512> *animAmplitude)/100) speed ((<1273.943828> *animAmplitude)/100) / animSpeed; //delta=42.46 turn lfoot to z-axis ((<-7.440659> *animAmplitude)/100) speed ((<223.219252> *animAmplitude)/100) / animSpeed; //delta=7.44 turn lfoot to y-axis ((<-5.865953> *animAmplitude)/100) speed ((<727.995439> *animAmplitude)/100) / animSpeed; //delta=-24.27 @@ -40,7 +40,7 @@ Walk() {// For N:\animations\corak_anim_walk_v2.blend Created by https://github. turn luparm to z-axis ((<-4.025448> *animAmplitude)/100) speed ((<134.371865> *animAmplitude)/100) / animSpeed; //delta=-4.48 turn luparm to y-axis ((<-1.012513> *animAmplitude)/100) speed ((<204.477528> *animAmplitude)/100) / animSpeed; //delta=-6.82 turn pelvis to x-axis ((<-2.390000> *animAmplitude)/100) speed ((<71.699998> *animAmplitude)/100) / animSpeed; //delta=2.39 - turn pelvis to y-axis ((<3.0> *animAmplitude)/100) speed ((<90.0> *animAmplitude)/100) / animSpeed; //delta=3.00 + turn pelvis to y-axis ((<3.000000> *animAmplitude)/100) speed ((<90.000003> *animAmplitude)/100) / animSpeed; //delta=3.00 turn rfoot to x-axis ((<39.611634> *animAmplitude)/100) speed ((<1130.819000> *animAmplitude)/100) / animSpeed; //delta=-37.69 turn rfoot to y-axis ((<-9.393908> *animAmplitude)/100) speed ((<282.235463> *animAmplitude)/100) / animSpeed; //delta=9.41 turn rknee to x-axis ((<5.383341> *animAmplitude)/100) speed ((<241.075747> *animAmplitude)/100) / animSpeed; //delta=-8.04 @@ -59,8 +59,8 @@ Walk() {// For N:\animations\corak_anim_walk_v2.blend Created by https://github. turn torso to y-axis ((<-6.060918> *animAmplitude)/100) speed ((<182.948716> *animAmplitude)/100) / animSpeed; //delta=-6.10 sleep ((33*animSpeed) -1); } - while(isMoving) { - if (isMoving) { //Frame:4 + while(bMoving) { + if (bMoving) { //Frame:4 turn lfoot to x-axis ((<-30.657758> *animAmplitude)/100) speed ((<287.572616> *animAmplitude)/100) / animSpeed; //delta=-9.59 turn lfoot to z-axis ((<-1.578026> *animAmplitude)/100) speed ((<175.878977> *animAmplitude)/100) / animSpeed; //delta=-5.86 turn lfoot to y-axis ((<-3.384192> *animAmplitude)/100) speed ((<74.452829> *animAmplitude)/100) / animSpeed; //delta=2.48 @@ -77,8 +77,8 @@ Walk() {// For N:\animations\corak_anim_walk_v2.blend Created by https://github. turn luparm to z-axis ((<-9.569086> *animAmplitude)/100) speed ((<166.309155> *animAmplitude)/100) / animSpeed; //delta=5.54 turn luparm to y-axis ((<-6.279474> *animAmplitude)/100) speed ((<158.008808> *animAmplitude)/100) / animSpeed; //delta=-5.27 move pelvis to y-axis (((([-0.520000] *MOVESCALE)/100) *animAmplitude)/100) speed (((([15.599999] *MOVESCALE)/100) *animAmplitude)/100) / animSpeed; //delta=-0.52 - turn pelvis to x-axis ((<-0.0> *animAmplitude)/100) speed ((<71.699998> *animAmplitude)/100) / animSpeed; //delta=-2.39 - turn pelvis to y-axis ((<5.0> *animAmplitude)/100) speed ((<59.999993> *animAmplitude)/100) / animSpeed; //delta=2.00 + turn pelvis to x-axis ((<-0.000000> *animAmplitude)/100) speed ((<71.699998> *animAmplitude)/100) / animSpeed; //delta=-2.39 + turn pelvis to y-axis ((<5.000000> *animAmplitude)/100) speed ((<59.999993> *animAmplitude)/100) / animSpeed; //delta=2.00 turn rfoot to x-axis ((<24.484406> *animAmplitude)/100) speed ((<453.816842> *animAmplitude)/100) / animSpeed; //delta=15.13 turn rfoot to y-axis ((<-0.003345> *animAmplitude)/100) speed ((<281.716910> *animAmplitude)/100) / animSpeed; //delta=9.39 turn rknee to x-axis ((<-25.170605> *animAmplitude)/100) speed ((<916.618362> *animAmplitude)/100) / animSpeed; //delta=30.55 @@ -97,7 +97,7 @@ Walk() {// For N:\animations\corak_anim_walk_v2.blend Created by https://github. turn torso to y-axis ((<-8.679222> *animAmplitude)/100) speed ((<78.549118> *animAmplitude)/100) / animSpeed; //delta=-2.62 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:6 + if (bMoving) { //Frame:6 turn lfoot to x-axis ((<-39.010424> *animAmplitude)/100) speed ((<250.579970> *animAmplitude)/100) / animSpeed; //delta=8.35 turn lfoot to z-axis ((<-0.002108> *animAmplitude)/100) speed ((<47.277535> *animAmplitude)/100) / animSpeed; //delta=-1.58 turn lfoot to y-axis ((<-0.006890> *animAmplitude)/100) speed ((<101.319038> *animAmplitude)/100) / animSpeed; //delta=3.38 @@ -135,7 +135,7 @@ Walk() {// For N:\animations\corak_anim_walk_v2.blend Created by https://github. turn torso to y-axis ((<-5.940345> *animAmplitude)/100) speed ((<82.166318> *animAmplitude)/100) / animSpeed; //delta=2.74 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:8 + if (bMoving) { //Frame:8 turn lfoot to x-axis ((<2.496757> *animAmplitude)/100) speed ((<1245.215437> *animAmplitude)/100) / animSpeed; //delta=-41.51 turn lknee to x-axis ((<23.683565> *animAmplitude)/100) speed ((<24.894810> *animAmplitude)/100) / animSpeed; //delta=-0.83 turn lknee to z-axis ((<-0.307654> *animAmplitude)/100) speed ((<26.354925> *animAmplitude)/100) / animSpeed; //delta=-0.88 @@ -172,7 +172,7 @@ Walk() {// For N:\animations\corak_anim_walk_v2.blend Created by https://github. turn torso to y-axis ((<0.085185> *animAmplitude)/100) speed ((<180.765899> *animAmplitude)/100) / animSpeed; //delta=6.03 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:10 + if (bMoving) { //Frame:10 turn lfoot to x-axis ((<38.743818> *animAmplitude)/100) speed ((<1087.411814> *animAmplitude)/100) / animSpeed; //delta=-36.25 turn lknee to x-axis ((<6.114390> *animAmplitude)/100) speed ((<527.075257> *animAmplitude)/100) / animSpeed; //delta=17.57 turn lknee to z-axis ((<-1.151940> *animAmplitude)/100) speed ((<25.328603> *animAmplitude)/100) / animSpeed; //delta=0.84 @@ -209,7 +209,7 @@ Walk() {// For N:\animations\corak_anim_walk_v2.blend Created by https://github. turn torso to y-axis ((<6.110734> *animAmplitude)/100) speed ((<180.766460> *animAmplitude)/100) / animSpeed; //delta=6.03 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:12 + if (bMoving) { //Frame:12 turn lfoot to x-axis ((<25.040025> *animAmplitude)/100) speed ((<411.113782> *animAmplitude)/100) / animSpeed; //delta=13.70 turn lknee to x-axis ((<-25.275077> *animAmplitude)/100) speed ((<941.684012> *animAmplitude)/100) / animSpeed; //delta=31.39 turn lknee to z-axis ((<-1.282850> *animAmplitude)/100) speed ((<3.927293> *animAmplitude)/100) / animSpeed; //delta=0.13 @@ -245,7 +245,7 @@ Walk() {// For N:\animations\corak_anim_walk_v2.blend Created by https://github. turn torso to y-axis ((<8.849594> *animAmplitude)/100) speed ((<82.165818> *animAmplitude)/100) / animSpeed; //delta=2.74 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:14 + if (bMoving) { //Frame:14 turn lfoot to x-axis ((<37.387998> *animAmplitude)/100) speed ((<370.439186> *animAmplitude)/100) / animSpeed; //delta=-12.35 turn lfoot to z-axis ((<-8.962304> *animAmplitude)/100) speed ((<268.846559> *animAmplitude)/100) / animSpeed; //delta=8.96 turn lfoot to y-axis ((<12.859584> *animAmplitude)/100) speed ((<385.678150> *animAmplitude)/100) / animSpeed; //delta=12.86 @@ -283,11 +283,11 @@ Walk() {// For N:\animations\corak_anim_walk_v2.blend Created by https://github. turn torso to y-axis ((<5.762510> *animAmplitude)/100) speed ((<92.612524> *animAmplitude)/100) / animSpeed; //delta=-3.09 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:16 + if (bMoving) { //Frame:16 turn lfoot to x-axis ((<0.464192> *animAmplitude)/100) speed ((<1107.714192> *animAmplitude)/100) / animSpeed; //delta=36.92 turn lfoot to z-axis ((<-9.697005> *animAmplitude)/100) speed ((<22.041012> *animAmplitude)/100) / animSpeed; //delta=0.73 turn lfoot to y-axis ((<5.833231> *animAmplitude)/100) speed ((<210.790579> *animAmplitude)/100) / animSpeed; //delta=-7.03 - turn lknee to x-axis ((<-2.0> *animAmplitude)/100) speed ((<223.240686> *animAmplitude)/100) / animSpeed; //delta=-7.44 + turn lknee to x-axis ((<-2.000329> *animAmplitude)/100) speed ((<223.240686> *animAmplitude)/100) / animSpeed; //delta=-7.44 turn lknee to z-axis ((<2.411943> *animAmplitude)/100) speed ((<34.224105> *animAmplitude)/100) / animSpeed; //delta=-1.14 turn lknee to y-axis ((<-0.749186> *animAmplitude)/100) speed ((<19.753780> *animAmplitude)/100) / animSpeed; //delta=0.66 turn lleg to x-axis ((<1.204694> *animAmplitude)/100) speed ((<345.865479> *animAmplitude)/100) / animSpeed; //delta=-11.53 @@ -320,7 +320,7 @@ Walk() {// For N:\animations\corak_anim_walk_v2.blend Created by https://github. turn torso to y-axis ((<-0.411658> *animAmplitude)/100) speed ((<185.225044> *animAmplitude)/100) / animSpeed; //delta=-6.17 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:18 + if (bMoving) { //Frame:18 turn lfoot to x-axis ((<-40.243512> *animAmplitude)/100) speed ((<1221.231110> *animAmplitude)/100) / animSpeed; //delta=40.71 turn lfoot to z-axis ((<-7.440659> *animAmplitude)/100) speed ((<67.690385> *animAmplitude)/100) / animSpeed; //delta=-2.26 turn lfoot to y-axis ((<-5.865953> *animAmplitude)/100) speed ((<350.975516> *animAmplitude)/100) / animSpeed; //delta=-11.70 @@ -338,7 +338,7 @@ Walk() {// For N:\animations\corak_anim_walk_v2.blend Created by https://github. turn luparm to z-axis ((<-4.025448> *animAmplitude)/100) speed ((<112.151159> *animAmplitude)/100) / animSpeed; //delta=3.74 turn luparm to y-axis ((<-1.012513> *animAmplitude)/100) speed ((<51.791888> *animAmplitude)/100) / animSpeed; //delta=-1.73 turn pelvis to x-axis ((<-2.390000> *animAmplitude)/100) speed ((<163.199994> *animAmplitude)/100) / animSpeed; //delta=5.44 - turn pelvis to y-axis ((<3.0> *animAmplitude)/100) speed ((<91.800016> *animAmplitude)/100) / animSpeed; //delta=3.06 + turn pelvis to y-axis ((<3.000000> *animAmplitude)/100) speed ((<91.800016> *animAmplitude)/100) / animSpeed; //delta=3.06 turn rfoot to x-axis ((<39.693501> *animAmplitude)/100) speed ((<1051.345854> *animAmplitude)/100) / animSpeed; //delta=-35.04 turn rknee to x-axis ((<5.049624> *animAmplitude)/100) speed ((<532.825140> *animAmplitude)/100) / animSpeed; //delta=17.76 turn rknee to z-axis ((<0.401872> *animAmplitude)/100) speed ((<47.647319> *animAmplitude)/100) / animSpeed; //delta=-1.59 @@ -358,13 +358,13 @@ Walk() {// For N:\animations\corak_anim_walk_v2.blend Created by https://github. } } } -// Call this from StopMoving()! +// Call this from MotionControl()! StopWalking() { animSpeed = 10; // tune restore speed here, higher values are slower restore speeds - move pelvis to y-axis ([0.0]*MOVESCALE)/100 speed (([144.300006]*MOVESCALE)/100) / animSpeed; + move pelvis to y-axis ([0.000000]*MOVESCALE)/100 speed (([144.300006]*MOVESCALE)/100) / animSpeed; turn lfoot to x-axis <2.221282> speed <6369.719139> / animSpeed; turn lfoot to y-axis <18.400562> speed <3639.977197> / animSpeed; - turn lfoot to z-axis <0.0> speed <1344.232796> / animSpeed; + turn lfoot to z-axis <0.000000> speed <1344.232796> / animSpeed; turn lknee to x-axis <-1.068538> speed <4708.420061> / animSpeed; turn lknee to y-axis <-0.337143> speed <637.335568> / animSpeed; turn lknee to z-axis <-0.621646> speed <383.098406> / animSpeed; @@ -378,11 +378,11 @@ StopWalking() { turn luparm to x-axis <-3.446116> speed <3989.851332> / animSpeed; turn luparm to y-axis <5.803404> speed <1022.387639> / animSpeed; turn luparm to z-axis <-8.504510> speed <831.545777> / animSpeed; - turn pelvis to x-axis <0.0> speed <1010.999991> / animSpeed; - turn pelvis to y-axis <0.0> speed <459.0> / animSpeed; + turn pelvis to x-axis <0.000000> speed <1010.999991> / animSpeed; + turn pelvis to y-axis <0.000000> speed <459.000078> / animSpeed; turn rfoot to x-axis <1.917668> speed <6434.170162> / animSpeed; turn rfoot to y-axis <-18.801757> speed <1921.457948> / animSpeed; - turn rfoot to z-axis <0.0> speed <1340.018443> / animSpeed; + turn rfoot to z-axis <0.000000> speed <1340.018443> / animSpeed; turn rknee to x-axis <-2.652517> speed <4583.091810> / animSpeed; turn rknee to y-axis <0.906795> speed <534.573237> / animSpeed; turn rknee to z-axis <1.368760> speed <450.136387> / animSpeed; @@ -396,7 +396,7 @@ StopWalking() { turn ruparm to x-axis <-3.551286> speed <3315.692195> / animSpeed; turn ruparm to y-axis <-5.989326> speed <957.773436> / animSpeed; turn ruparm to z-axis <9.824261> speed <1866.475549> / animSpeed; - turn torso to y-axis <0.0> speed <926.125218> / animSpeed; + turn torso to y-axis <0.000000> speed <926.125218> / animSpeed; }// REMEMBER TO animspeed = 2 in Create() !! UnitSpeed(){ maxSpeed = get MAX_SPEED; // this returns cob units per frame i think @@ -418,11 +418,63 @@ UnitSpeed(){ //how 'heavy' the unit is, on a scale of 1-10 #define UNITSIZE 1 #define MAXTILT 100 -#include "../../unit_hitbyweaponid_and_smoke.h" +HitByWeapon(anglex, anglez, damage) // angle[x|z] is always [-500;500], damage is multiplied by 100 +{ + var amount;//, speedz, speedx; + amount = damage / (100 * UNITSIZE); + if (amount < 3 ) return (0); + if (amount > MAXTILT) amount = MAXTILT; + //get PRINT(anglex, anglez, amount, damage); + //speedz = HITSPEED * get ABS(anglez) / 500; //nevermind this, the random error this produces actually looks better than the accurate version + turn BASEPIECE to z-axis (anglez * amount) / 100 speed HITSPEED; + turn BASEPIECE to x-axis <0> - (anglex * amount) /100 speed HITSPEED; + wait-for-turn BASEPIECE around z-axis; + wait-for-turn BASEPIECE around x-axis; + turn BASEPIECE to z-axis <0.000000> speed HITSPEED / 4; + turn BASEPIECE to x-axis <0.000000> speed HITSPEED / 4; +} + +static-var isSmoking; +SmokeUnit(healthpercent, smoketype) // ah yes, clever use of stack variables +{ + while( TRUE ) + { + healthpercent = get HEALTH; + + if( healthpercent < 66 ) + { + smoketype = 258; + if( Rand( 1, 66 ) < healthpercent ) + { + smoketype = 257; + } + emit-sfx smoketype from torso; + } else + { + sleep 97; + isSmoking = 0; + return; + } + if (healthpercent < 4) healthpercent = 4; + sleep healthpercent * 50; + } +} + + +HitByWeaponId(anglex, anglez, weaponid, dmg) //weaponID is always 0,lasers and flamers give angles of 0 +{ + if( get BUILD_PERCENT_LEFT) return (100); + if (isSmoking == 0) { + isSmoking = 1; + start-script SmokeUnit(); + } + start-script HitByWeapon(dmg, anglez,anglex); + return (100); //return damage percent +} static-var bAnimate; Animate() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations\corak_anim_lookaround.blend - set-signal-mask SIGNAL_MOVE | SIGNAL_AIM1; //you might need this + set-signal-mask SIG_WALK | SIG_AIM; //you might need this bAnimate = TRUE; if (RAND(1,100) > 10) return; // reduce probs to only 10% sleep 10000 + 100*RAND(1,200); // 10-30 secs @@ -647,7 +699,7 @@ Animate() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animati turn rloarm to x-axis <-3.143605> speed <6.559193> ; //delta=0.66 turn rthigh to x-axis <11.260678> speed <3.942505> ; //delta=0.39 turn rthigh to z-axis <3.936033> speed <6.435447> ; //delta=0.64 - turn rthigh to y-axis <-5.0> speed <4.596167> ; //delta=0.46 + turn rthigh to y-axis <-5.000074> speed <4.596167> ; //delta=0.46 turn ruparm to x-axis <1.606455> speed <22.719155> ; //delta=-2.27 turn ruparm to z-axis <4.974051> speed <50.126788> ; //delta=5.01 turn ruparm to y-axis <-4.252391> speed <33.535119> ; //delta=3.35 @@ -914,7 +966,7 @@ Animate() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animati sleep 98; } } -// Call this from StopMoving()! +// Call this from MotionControl()! StopAnimation() { turn lfoot to x-axis <3.257001> speed <27.864444>; turn lfoot to y-axis <18.400267> speed <-6.494212>; @@ -932,7 +984,7 @@ StopAnimation() { turn luparm to y-axis <7.744538> speed <36.527856>; turn luparm to z-axis <-9.312935> speed <48.352203>; turn pelvis to x-axis <6.462691> speed <48.437348>; - turn pelvis to y-axis <0.0> speed <81.596118>; + turn pelvis to y-axis <0.000000> speed <81.596118>; turn pelvis to z-axis <-0.315834> speed <21.122110>; turn rfoot to x-axis <2.580618> speed <35.199973>; turn rfoot to y-axis <-18.801545> speed <-6.635840>; @@ -944,7 +996,7 @@ StopAnimation() { turn rleg to z-axis <0.666237> speed <15.154581>; turn rloarm to x-axis <4.599683> speed <24.849675>; turn rthigh to x-axis <-6.288376> speed <50.103724>; - turn rthigh to y-axis <0.0> speed <24.089266>; + turn rthigh to y-axis <0.000000> speed <24.089266>; turn rthigh to z-axis <4.331624> speed <22.766876>; turn ruparm to x-axis <0.228506> speed <48.910319>; turn ruparm to y-axis <-7.589995> speed <33.535119>; @@ -965,8 +1017,9 @@ Create() hide aimy1; hide rfire; hide lfire; - isMoving = FALSE; - isAiming = FALSE; + bMoving = FALSE; + bAiming = FALSE; + Static_Var_3 = 1; gun_1 = torso; currentSpeed = 100; moveSpeed = get MAX_SPEED; @@ -976,23 +1029,26 @@ Create() start-script InitialSetup1(); } -StartMoving(reversing){ - signal SIGNAL_MOVE; - isMoving=TRUE; - set-signal-mask SIGNAL_MOVE; +StartMoving(){ + signal SIG_WALK; + bMoving=TRUE; + set-signal-mask SIG_WALK; call-script StopAnimation(); start-script UnitSpeed(); start-script Walk(); } StopMoving(){ - signal SIGNAL_MOVE; - isMoving=FALSE; + signal SIG_WALK; + bMoving=FALSE; call-script StopWalking(); start-script Animate(); } - +SweetSpot(piecenum) +{ + piecenum = torso; +} static-var Stunned; ExecuteRestoreAfterDelay() @@ -1004,7 +1060,7 @@ ExecuteRestoreAfterDelay() start-script RestoreWeapon1(); call-script Weapon1Restored(); wpnheading = 0; - isAiming = 0; + bAiming = 0; } SetStunned(State) @@ -1016,59 +1072,61 @@ SetStunned(State) } RestoreAfterDelay() { - set-signal-mask SIGNAL_AIM1; + set-signal-mask SIG_AIM; sleep 2750; start-script ExecuteRestoreAfterDelay(); } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = aimy1; + piecenum = aimy1; } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = rfire + gun_1; + piecenum = rfire + gun_1; } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - //get PRINT ( heading,isAiming,wpnheading,RAND(1,256) ) ; - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + //get PRINT ( heading,bAiming,wpnheading,RAND(1,256) ) ; + signal SIG_AIM; start-script Weapon1Control(); - // This is needed cause Weapon1Control() wont kick in till the next frame - canfire = ABSOLUTE_LESS_THAN(WRAPDELTA(heading - curHead1),(Weapon1TurretX / 30)); - - Weapon1Drawn(); + call-script StopAnimation(); + call-script Weapon1Drawn(); - Weapon1SetWantedAim(heading, pitch); + start-script Weapon1SetWtdAim(heading, pitch); start-script RestoreAfterDelay(); - return (canFire); + return (aim1); } -FireWeapon1() +FirePrimary() { //gun_1 == 0 means right! if (gun_1 == 0 ){ - turn ruparm to x-axis <10> now; - turn rloarm to x-axis <-10> now; - turn ruparm to x-axis <0> speed <60>; - turn rloarm to x-axis <0> speed <60>; + turn ruparm to x-axis <15> now; + turn rloarm to x-axis <-15> now; + turn ruparm to x-axis <0> speed <30>; + turn rloarm to x-axis <0> speed <30>; } else { - turn luparm to x-axis <10> now; - turn lloarm to x-axis <-10> now; - turn luparm to x-axis <0> speed <60>; - turn lloarm to x-axis <0> speed <60>; + turn luparm to x-axis <15> now; + turn lloarm to x-axis <-15> now; + turn luparm to x-axis <0> speed <30>; + turn lloarm to x-axis <0> speed <30>; } + + + + + gun_1 = !gun_1; } @@ -1082,6 +1140,19 @@ Killed(severity, corpsetype) explode pelvis type BITMAPONLY | NOHEATCLOUD; explode torso type BITMAPONLY | NOHEATCLOUD; explode ruparm type BITMAPONLY | NOHEATCLOUD; + //explode rloarm type BITMAPONLY | NOHEATCLOUD; + //explode rfire type BITMAPONLY | NOHEATCLOUD; + //explode luparm type BITMAPONLY | NOHEATCLOUD; + //explode lloarm type BITMAPONLY | NOHEATCLOUD; + //explode lfire type BITMAPONLY | NOHEATCLOUD; + //explode rthigh type BITMAPONLY | NOHEATCLOUD; + //explode rknee type BITMAPONLY | NOHEATCLOUD; + //explode rleg type BITMAPONLY | NOHEATCLOUD; + //explode rfoot type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lthigh type BITMAPONLY | NOHEATCLOUD; + //explode lknee type BITMAPONLY | NOHEATCLOUD; + //explode lleg type BITMAPONLY | NOHEATCLOUD; + //explode lfoot type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } if( severity <= 50 ) @@ -1091,7 +1162,18 @@ Killed(severity, corpsetype) explode torso type FIRE | SMOKE | FALL | NOHEATCLOUD; explode ruparm type FIRE | SMOKE | FALL | NOHEATCLOUD; explode rloarm type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rfire type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode luparm type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lloarm type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lfire type FALL | NOHEATCLOUD; explode rthigh type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rknee type FALL | NOHEATCLOUD; + //explode rleg type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rfoot type FALL | NOHEATCLOUD; + //explode lthigh type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lknee type FALL | NOHEATCLOUD; + //explode lleg type FALL | NOHEATCLOUD; + //explode lfoot type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) @@ -1101,7 +1183,18 @@ Killed(severity, corpsetype) explode torso type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode ruparm type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; explode rloarm type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rfire type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode luparm type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lloarm type SMOKE | FALL | NOHEATCLOUD; + //explode lfire type SMOKE | FALL | NOHEATCLOUD; + //explode rthigh type SMOKE | FALL | NOHEATCLOUD; + //explode rknee type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; explode rleg type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode rfoot type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode lthigh type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lknee type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lleg type SMOKE | FALL | NOHEATCLOUD; + //explode lfoot type SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; @@ -1109,6 +1202,17 @@ Killed(severity, corpsetype) explode torso type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode ruparm type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode rloarm type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode rfire type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode luparm type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode lloarm type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode lfire type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rthigh type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode rknee type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode rleg type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode rfoot type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lthigh type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lknee type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lleg type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lfoot type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/scavboss/corakt4.cob b/scripts/Units/scavboss/corakt4.cob index 64c0338e3e8399df88a0764af9b67bdf91089a1e..7266134830dea553600d2320ae2a46ff71755aa0 100644 GIT binary patch literal 49637 zcmb_l378he(VpeB4h2OJjVRH01Qnyv zhJU0u~(J=fPH zilPp(wUBLW*C^Uu_9!1b8b#+Wj-t(%L{Vq?K2Y{iS))>H_ybRq%6O0OCH#(k3F*(LXxwQIPk;k=rU|e5c zX*+cIh0zJRwUO^pS>sZTgXBJ{Y~pCB54QTT7^q9*&FS2`aq0hp2R+mV4REDB&d%ec z?bGA-pCL@zHuUMvX?9@W>_^@oYb)nh#Of+o>I11ZFg_ObZdTgM$1iPDp9Fu^|D&!a z|A@Mav~3J^m7N=pwGZHf+9vB?8b9rX{$qW#2nO1Ms-Q!bj~2nRKH2~`#Yca_7zHov zQHDKr!QR<{e)Vpm-;3&Hee|E~cf~;co7jLp8r!5<=_(&TeN_3kNsK*OPiVhdT^kFQ zwMheAQ|iv;Pqb|Z>Z(3kCKagd(I=`qj>AUaiv~6=1rPk$9*f4s$15_9!|%Z_JDHzk zoDzP_MSCZ7C1=b86b41B~ zR1X`6plO>e-RccG`q9$S-l()$DRK=Ir6I?{XQ!jcfiFn|KQQy^P#on2j@qFf5B3yW zUfL+GV<#}P?dS6t^hoA?s++AJ`2|=p1|{38x*!*erZ;nbusuFY-PcRv2Yv3ltg+Lt zJ&sq#b8Qtq_ZB>%Bd5h@@K(JO=O1ajQCU=qd=16n-W<0(jW>z=r*HkZVit#cWz$B% z`o6T@j|-bZ-&Iq>_1(pTi~JG=xO2teXm5xe4icFxUf9>=t;D@o65TA`qUCgj7<@L%i>My`|ig4esk*t+TkckszY%<3&2%7>|Yy>dumQ!zz$eH zp}-&B-z?m|XG>&fwGFsf`=B`7iP^kK`>v5-^5JT{?I?@AEZ!upnAfdO(tKU@Rr{_i zDGA2?>dSmw=!yb6TzXo#z8${z|_)Z3s z(0;2Bg|c|jZ*IL$+|SyF&lkJNM3sk&a{?&P_s$jByh%SB^i94U+_?tgRxJp}eX(&i zFYJKx1SrtAv}HDLQr~_elV=Cus-NvB2~!qt5_hr3&)j(p>igQ;;p5JYALiTF?>26D=yyd4Ss?K8*Yat0k~@4L!Sx9JyuReX8Ahe4VWmfL)8}H_U+&qCxNSWnEQ)t z9g_Byq1vmj+M)T3Y~Cd9y`Fs1*?@K^rw%SJXTI+2B>6wq5Wv2Te8e3b92Hs{}RYB=uOo<0Ju_R;E}h2!4fnbU!*ee|JB6tGWPzLM;tDV{#EIe#Nb z_(E~(*q>=SL=pow=kHoTU+K2oTnxBshcE99*Z15Vvw5Mf&G|PwIh!|WUtdlNT-A5x zAHv6ig*o#n^tHM9C5yswUzd{@S$zy#o10HOC7U;C2jAKUxEdE9j||7Xz?0hmSM6K* zPPiRj6@~Nc09{cq?(9D)T;IJsIUaD;4nxL;R)p2H>h4=A9mn`^WF{{lVt^|ELL%ixr-8r#9!mCMPzN_Wj)B z4>srju3NYr?#a<1lKBm|YTvK!3CHa!6M3GW0TTs&_FREA_F10154h@Qmlud*-?eLXf9=}g$Yt5QNjn_tSwq>i!;}Jkc9UmKZPyN;7q~9f&2yf{t{q;vHhfMT_IbXa z!52_4o=qDbZr}4fb2xC-&-Ohd9QSjNeH|wCz2VR8GJPlM4^KS#efD^kSUWs+Ww^d8 zJ^g0a4oB`0j=QroG%qgf+F`G4!~Nl`pXTG*wZmnLvw4&DJy`-ZPha4wKlErGuJ3zm z^ZnPZN%lN49Jh-nH^ABf1#wZ*JG*U3J8bP4CxNSW7+7F@_=m{l*%!Dv{Ph0?3?Qqmv;kdm#^RZo%T(WDppUwXy-@bND z(!C~J-?KgAq+OFdmNOS7`|Wj)eeIfLu}n&#{;*U6HH#PXJo*d;@isF@horvK3am-a z+BaK=B<@q5b68GS>RT@RdU?;<;U-BK(Z+rg!_ONm7vtpF&aNH)m~(EZUPtEmFBizg zA8nDXLlXC|p4hj!_&T}Zlhw8)?*1M-*j&7(TX+uo*sA;(wYm7-V(d_TdwJ|&bMYPf zh2wtW$-RJ!c!Hlj{`+v;WgdNPF8=8r;r9KjC&x!_ivoQ|6tM5Uo-q)(I@kVTK)4+i zc>D~wYTrlX2JBFO=8M7TG^&R?Y z?_fK;m3M7Ek&E{~I@}IjMWL*|h(uqTi(gsb-W@SRt{rSHzRlL*P2!*}O^IMq<1?T$_uJE|Ak*@3Di;#aqkZmZd{d-`zd&W^?h=R)^#6;mPT2 zF8+v|oDbFa2#+0XE`D8s^Z0-B%*Qqt|FT`U9aeh$!RF%kY!+^ZuRZ>Y7)HUkGpl#F zzIS-WN#JU{9Uu>>h4!16H+TF6uG>W4i>8O;%8;6=LnQNskn3^F$s2M{(6y3-!*(s3 zhR+4R%(-3yU2Km3(4_FbKFM=_3OO?h^leli$M5Rt6X0rJx6Wx>a!eU4a#?->I{>$Y z`c5lwe(I;5`z>vbe|OHfmejYs#|}2f->h$T+mg850&vw1AAB2*TPA~Yo_%eO-}AQc z9RJX~oKE`9=J+i;XX}u(!&1-K3S9NG|DF<#d!uJA0Iu5il%?UgE7#?ZRnQd$@zz}` z$?A)w9VCo1c@Y=DRXg0&E1NfoyTLQpI!x-jv}ub>9g?^$hve8Hk>hVWCS2c(J^f~L z{JnaI+cMsQhl4nf~T=j>?3Oolg#xq~o9RKCx z!u4J0Sv%Mq|Ly|U`1g=@X7vT)0=R02+Y8KZZ+XUFo8w=+Hhex_nsa^*`XXmW!T4}T z&i#+cc>AqKU*M`8jxI1h^bxr{`vSLw`qoVjx5JX0^%m@4bNq2_!{?!&=d6=~YjgbV za@NU7`)=^eLpH~+=#g!+BrfLLJp0-lzt!>K_Wh0LdItIo1%7s2RkjXEeIw63OTbk> zdwREU+|xxc&kn$Ko9J64$3M|Co;e%P4&}11Z?ES({<(7P4z@eALwKJ&hqTm3-_}VJ!6&4@eesF9JjOQ9ya96D2R)J9mDOgg(s)8 zIsQ?7!*K_D>|k^JWA+J;xBGK^Cz3e^;~xs_aB0tQegEU}2jF4@?yO_Nap#FlmanV6 z>Sudhv~4DDa(p=O)$sfAJ9f_2A&D!)L+<$=o8y1bEgZL-#~*Bte|~}UwnurM-$Kre zf_^(-M!3H1JpKS&^@o@C563-Ig!23Wxatohb9j^ewu8v!;o4mM3Hg%6o5VdM09W;G z|6DlkBRS{Lqhv0glSd@=o#^pjn~NVXEL`6vo_W*e;=8>aKCb^&UXGI07qElP#i!mL zjyo!6{Q_K@i+^%rwhl@AN@|-sKGChhx?=iCBt-6r}Lxu<4;Bp!MCIvdaq<+88W%ae=Glz|7f z8(QER$hDsPAZ;#Qu_RmXdL5ZF-|D%q5V+bW-CBhEPzM>5^K1uP?UVbC4aYsgqpw{% zOfK*qg7?{f?PZ^Q=TRiFZ`Te>3tSVE*E8nEzFj+f_j0%$=6mjgL@tg3KWow->SyLNcutZ;qj zh|}lU*RCDr$vBb4o3w9RkA3ahp?d+`)t)%U*nk52K9e)PC-uF}V+Y{sxYM&hF0(@9 zvTTMpc9_(6>3bEKyh(k>ivwrkCaw>BIU`$#B<{&MZG*mIQdeN#B5Q{t*9WTRgzMYO zlN%rxM}fXqmxtp*CeyxR2jHqde0FFyZ_>WvW?o$IK;MT?313rxkh2~@zX{nD;5Irk zTZg2+Z+PMuxTJN%)*e7vVLGRtQ0GrM-Uxxl#oFVFQYyLOm=cKE#6 z!}I(W`V0krHmgAX@N9we_`fTFE4N+e+SmCQ^?jvJHgD2@ck+zu&IZISmwmmwXYDXu z)&a2H#oL9SXZGErV%H7}WPr)?w|X79c4*_t#qHYR^=rd%J9=zq*A9QWIUIMk=e(_5 zI~<=A&q+HxC{B`Pvq)mpt{t|LFIl`v+;a=89p3#a9QQT)Th>~~t{qM(aQ|wx#}0Pw z&@5+dowUO{o;lI39hR*Lw}bD!4tDLZ!^h!c;9!rR*|o!WUBmV5<{1O++TpwcYt%gg z^p&o4<4&Uu;rhyLf0@3HxIkWjg7NIIeX@Cz{_wOXE`X~!N2Menq473D~*c`umfqSgFc>DplYKOfRX6umjhl@S-wK@L4-r@FL=2<(~9KWp$##uH? z>MO5D$mER@IsW~}Wb-C*FZ7J-HpgE%G<<%0*)t!b&rlF=)5eGE>$^?@T#dI~_6)~e zByw4O0s8{iZKCfz7iIG%?fWN>p9yR|ZaH<3rC+4ymr*C)(Vu)r=LmU6Cv4ZVDtv4$ z@*e)O$^vaH@E-n4z6r-I@*e(1XNKbzc@KZ{&f&N+edhX*&GFAG@T`cWJziY(&513- z$EqUl;oqx3EXgf3xw(PO@n;^8-L_;b6?qST$(P|{Rgw4bk7yTe-y-kfze^IPtnnvl zhc%v@&gS?Z7P!78-Im*Lz*RphKPTM2Mc%{zmjZKFk@xUFU*LS2@7--~et|7y{B1TN zyx)qvhre&1aNHvA;XnK1aR2R@lLtpKC)!;6*(u@vaJ?s|LvD)#`@U5kZimA~CM$-Z zFK{(Chzgurc-Rvcz%8M^Gv3M8AsNRnc%I*~x%hK3XlAu7i7TgKGkIYLn~N{$oz0uX zZ5Dv5c9^<%xIg?mXB`K9Z7%-G>~Q~m)bsq7&BeFw5^jf`J^l+^^|Q`H!f{Xc*cZ5J z-)RNbI!!(I0RR&P@pf9ydDWyp{KFF$z*RfE+B4h^*NRYbcpxNqzr6 z->;D0nts`o&QV`5GBK)$g+Hw`!o@ z6|$BF9(Yht?`tnN#4BqeMDmr8Z_i^I@_i}SWRy?qUHWW8KGX$1dyeq9{tf%r@@c&T z-e~C0r-CSWHgDKsNYe)Goh#P|l~3^&Je2Lvz|(dNc(`Hz?kwjxfM@fHtbzZ-98=r2`Z zkb3RB+3kadb~%&v+Ig_gcMa=X~5b?hF1&t*;A?;-9YAE6gQ z3gdZ4?BzR->mGE}hwq@{oDF{SP=E7SF;EwNJF%mjPlb$}x~Z=REQ#4F0~30H*NttJasB1wg?Y7p@SN)Ejem3V6S*H6 z$8ZRC)ZZxAJ$`3W`=m-(>h+d7~@n=$Y`4&BcvSJALPL&-dc~PpK%y?gC#H&H(6&IP35q+ zwgm>-1D|?|?QVkaWzy@FKj@1?;5`^0XwUiN$9s9e3mnD!ffwGxKBe3|%E@Eb^>W~G zdaQ|K3OUjJ%g$_q(s;$6;$H z^+Dh_2Tkk)o4rha*Z-miTDz%kvH!nIKD1Hwmn+I}3nZEiSNDuUcB&J&;k0>>&z`-*c7XsXvt z(&TjlZk)GypS~Jwem@72W9Q4Dg8kbm`PTd50HDcqRxhWR zYf0-XdteHTE8rh4iedjUj*zBuZ7Fvp4hYTWS;NH;ko%Zzx4F;*v`ah6+4C9QG}?0^jtC}pD%S^JWQ?(~@??38HBOuk^1opp zZ4xW;1+-Pv1wN00V?)?JnPOahplKU!W&drS5-aag?rzH2SXo5cOhZ%5Pf43%;z--K zn|y#ycM4A=ZMU)Vi6{oz7W7>kD}$)#ttK9{zR%bX{Y)HbeWS#AfGH`ks}DOA92?Gk z+S=qQ(we8l%AKTDupex!j3|q-kHtZ0A9kwCXzGG@Vt{62WiWkW1Zg%_I*8KH_s;+l zIndA!96O0^cm7P8*0-2ECr}P?gaWyL5>w;P#@KbV^@$vJK~u~-D1Qk159UDuW(#>Q z2=+RD+8BG6_5G1@plKU^Dn^3bQS3h(e^rcIyrUFthaM>4hdr?0kP@4xv%ZNb`TTOq zUkxC^#7=d&i}P`c|gI*h>1~csV}@OdDhPZBppjDkYBkvA&0)fXHEo z0{&|D-=vf|=VIFB=P7YChqSY4GngC&m{p924sbrH4>VE1(cYvkkEO)XTWrJZlsJ-~ z26OWAYAM%tJLj|`tzU}IpG3@2DL#KV+ko6F5bRK&D-DYT>7$Fu`z zmxb&<>+_FrT-ug;+WF{9)_V%D#b$OsDktVnv>9lsr~H(n)Av2f+4*P=>)W4g$B=-6 z_8q`^b8^bOBDYUE9{I_u`gl-VH={0i-zD@!tf(%?F@U`#>w^pmj!h%xz?68{j+nnr ziHBc{LqdKP!07Xe`7klnukGA%9@}09W|6aVhxXCp6rb-+U9J*r$RX5FpaZVEV2^i* zDh+Hn_8fhF4fRA*P(Yi@@mhWY*J0XtkjFF~kNnhIJq-|$JCC}oVSRQEc!jp^#(n@a z3glLEUzZXq+J+rdVr4zs(2}}1Kw>>lJxAi8*abV)vny$zro_>3Fec*Y;102#hp~@# zVtqDN?vci#Ex4}__1Re2hxI)KY|>Ph@7abqMo!or)|<2$a$?BYSUH?LkH}tWimCI; zzlaGr#at+sfS&uYA8d?mXc^Na1#p;lUO|jN?rB5Q`lhiBx3NAOW9su)(q@oB0oJaR zYtDHLG{qc6+JB&+wA~%2+_;KZ{tC*W8&QDyrZg0LJmUj7&=hk=(x#=%NAjv_CpVvV zv9Y<3dHJnugN@C7i7Bt6a`l0x_0_NqqlgI_*r1=BzIOZFiD~0@GI<&k6Eww~Djy(U z%QX;aiuovg@Hy6JWBMib?RE5d8`FIR0GR!#3us#3h1By1v*yzJG+(-!{f^@(z*1Yc zWqqJ2=5?&^=9D$p#bPALk6{}eATcM>o-J4(Xo|TD?SkK&j-=l~L!H2qpD2lvG5van zn5OIZj{qccHl}e+6Y@8(J{!~X1QWEShNktkBMtXZ1JlOsmSPXc&Eyzq<8QHi0d0wh zLC(hC1;qR->$5Sok+h-gKU9kXtUrwC8q-u`b|z zyH2npv5WP=6Q!e3?@N#un)N}sh11boy`-rwZD^N%Mh@`6+ESRX*ZQn~jwa@5lmksM zD;W=RYl71SG{yXonER*r^{b5O!2l9HtzWkw<~U-4ruA*ZeyB1ut#3Kohw~J`gbWJW zb$Ug-Kb|=QXo~r@yx#>p=SaOOrf>sl%&MiuPOI5Dv|o^yn?v~@^vZk*NHibyiU-`VTS_# z+uFzb%h*29v<U|)x#9Sdi0S1WW2}c{ z!3fN4Sf7pCImE0Xrj6SznNMs-dxECAoW`+Wd$tcW)nzcpFQ%Ou`FUoyRyIf8=8@FeR(?RavjCUKijpR45Ks!Vp4uGDZ zsh-U^PRwBc*|?qBI+h#F@x{jNFt+bN6Pwz%&r{F)*mlTieLIkLC+o9uyPULH>{}bR z_p^Nu3l`b{nqqcfzqe+6Hg0cW934kYJ2zG`{_t)}VA{AXlM7<78J;Uq8b0FKK-y&p zj3sh7jsn^kF)sGU;2>#gm!FGYg7!V@1B=__*g32Z*I*zg|6Kw95c*3Ej*zC97s<`< z;3?-=4i?2s%Liw5iutb;0LXPpiQ5AO0JJX{?>26q0>02nQsQ<#F@KX1x451PxfyJ` zbank$a25OZd$!%i=5M4kA@?GjR@!c3^CMy|PKnLNjLn-k4gwklSbgLM1MJt)W}soi zvAS0A9{q^=+;P%&WvrCaE?_}{+#4Jt`+w0e#-=k?CK3~Fg95qr)bj<#w2iS|Y`eUs z(&=L3NawiYX-^v~JJ4U+i+#`r8!HRwXKxYH#>#AYUK=|7oA$J^g7v=D4dn#ci0ELfd)QnD#L+q~2C3^WWbD9JFs>NU0C8f`Vg@a*yAWR+{Sa z1Zgibjt~z@Ys~&b-U~S!5AyR24*M$ll8uKCiTP4WJjiWnPVPxkieK+S+9e!&;GZb4*@JBRiEO*|PtD!tr1)SfTU;fSdI-%GIU#*?VFSv`?>hSU-D;@!o@dWc}4!l_X!6w+)N{Xl!u~$m6SR6v%5|k*gXT8j@5tOu zuWvd)V!c4Q>r>+BHuBV^jMq;BBr#rJwOg#;iNt&;CB|xL7v$NIw9k&oKcUa^2B?by z9iHXBSxT(DPdx|G);3mdV11jX#L9!D{fFn8Z62b&bazTTTt>O4*mmpl(_ejX<>?Ae@FSlQhacMvGeSC5X7&!>#@pHptz z6yNP4odTVwrlWaXTy61{=2@(Vp!MP3t>GRz%QgDC@Iv+n4?_l=(GeRPGPrSdd#T?S!80ICPa` z^J(j?O#A^Jv?g4~EyDqkv$6So=a^?LeZt1(HN?CV6^WdU&7tfEy+6{A_T(zFMfaW%l z>n0UI{vNhLNUq>mKLNo0zqAVoiuqcnn5NgOKvT>o@g)(rgXjxA*tf^B4K{AS=G<`> z{l&&D?gfS}6R3-g+l$z~EeuU{!8#Liy7skkJB*n3Qw}t3UsuM%Nob4M)5a~Xkpoj+ z>*Qz{)=+S4SNion%wMFru7I{ZF>g(jNG{G^S;1Pvb{_jk5$8fj9!E1+#g%*i++x`3vb)7kIU zDKWi>ZP4o$h(DFPgKd!IrW+@0Y|djIvODX8N+{5!KhG<+gRw*x&=hkCU^3OmwN3eEuQuIkoupES-l377MFVMC@r4#exbCO)wwn;W_3PIi%Y$B zloro=emX5?_1bM(TqBWVtJjs%VqNFxw0PF*LuoOq*Ok&@UC)Q>JwX@>QP3{Ec64dV9Ie-f z9JAQd#=2ftN*g0|j!qi~^tx_Ztn2mQv@t@j9i@!}dVMG@*7L>)*Di_u=yZ8n6JKO6 zLyFr=O78Ym`nxEj{040&2rx{)_^Xj|2Lt_Wo`EzV;1N#EV}OlWUtSi z?#N^CPw;f$ciFk`lG<;A(H;bO-pu9^IHcp6n-j)u`iz^prHb=rS=%F^!@7ga;hV|>Sdf-Q0^>zL(e!lKasTcaoD{x$~`r)(lmFclv7h`~y zIVFo<+Y4K!wO8rzL+Ii9LY~vh;#Gd9!#J_0=&5tWCVeUP(fmu>i@md@$Y`Dcd3lW2 z71UpjPXptAP@i?gfw654=o0tId{p|_rfcLOxCSrB>^L)6I-uTuWt;LRX)1^3I*(7( zgP1@8meyl)&m@-RPtsJb-rmyh@P$p=8~ZBkjqw5fgFWo7_Jl5o0)+w-!ml5MqYYh^2u@t}=tr^+^PiPRz6`LbOj+g-9PmhDB^ zK9Wtw@Tiq+d&;)IY)8m;f^28VHc7UbvRy9Q9NFf|wotZ*WLqxVv$DM|+dHy-D%-cR zHF-RWc9v~d+4hy~aM^~)HcYnBvQ3a}ifk9kcByQ?l5MtZH_A3ww!39pDBJzA{aLmp zvMrbG8QETt?O(FJDchjx2`5w!8#i`Lx4{$Z>Z&IU8dqIi^~2HbsYmxpJ^HiMqdiiO z?wxvcpVXs0Q;+saJ=(3(9%jo989Qb|-Pqdb@G&(LYKGNHlP8Yr7LnMuZrC|vqT{N^ zPZ(QQ&0|XA(JK88V@;^)Q!_d`VOZ^`XwZbQgf*srLu$l=6PmY12L8Hfx zss<@CM-Q)x`i!X=J#0d?Lx?}uj2#mlQdb=x99B2ssIij(iz@WvIo0T%u@j@?q4@{^uRi)x^8lG?8NH2$@)cT`muja zUA2B5P*YngSYny+W23r>&It7X2SiNx;AW literal 47119 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 diff --git a/scripts/Units/scavboss/corcrwt4.bos b/scripts/Units/scavboss/corcrwt4.bos index 1129a003fb0..f4262c2ba7f 100644 --- a/scripts/Units/scavboss/corcrwt4.bos +++ b/scripts/Units/scavboss/corcrwt4.bos @@ -1,5 +1,7 @@ +#define TA // This is a TA script -#include "../../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" //piece base, turretl, sleevel, barrell, flarel, turretr, sleever, barrelr, flarer, // turretf, sleevef, barrelf, flaref, thrustrr, thrustrl, thrustfr, thrustfl, @@ -14,12 +16,12 @@ thrustrr, thrustrl, thrustfr, thrustfl, thrustrra, thrustrla, thrustfra, thrustf static-var restore_delay, v1, aa_gun; // Signal definitions -#define SIGNAL_AIM1 256 -#define SIGNAL_AIM2 512 -#define SIGNAL_AIM3 1024 -#define SIGNAL_AIM4 2048 -#define SIGNAL_AIM5 4096 -#define SIGNAL_AIM6 8192 +#define SIG_AIM 4 +#define SIG_AIM_2 8 +#define SIG_AIM_3 16 +#define SIG_AIM_4 32 +#define SIG_AIM_5 64 +#define SIG_AIM_6 128 #define BASEPIECE base #define HITSPEED <55.0> @@ -44,18 +46,18 @@ Create() hide flarer1; hide flarer2; - turn turretf to x-axis <45> speed <200.0>; - turn turretf to y-axis <0> speed <200.0>; + turn turretf to x-axis <45> speed <200.000000>; + turn turretf to y-axis <0> speed <200.000000>; - turn turretr1 to x-axis <45> speed <200.0>; - turn turretr1 to y-axis <-90> speed <200.0>; - turn turretr2 to x-axis <45> speed <200.0>; - turn turretr2 to y-axis <-90> speed <200.0>; - turn turretl1 to x-axis <45> speed <200.0>; - turn turretl1 to y-axis <90> speed <200.0>; - turn turretl2 to x-axis <45> speed <200.0>; - turn turretl2 to y-axis <90> speed <200.0>; + turn turretr1 to x-axis <45> speed <200.000000>; + turn turretr1 to y-axis <-90> speed <200.000000>; + turn turretr2 to x-axis <45> speed <200.000000>; + turn turretr2 to y-axis <-90> speed <200.000000>; + turn turretl1 to x-axis <45> speed <200.000000>; + turn turretl1 to y-axis <90> speed <200.000000>; + turn turretl2 to x-axis <45> speed <200.000000>; + turn turretl2 to y-axis <90> speed <200.000000>; @@ -64,7 +66,10 @@ Create() turn thrustfra to x-axis <-90> now; turn thrustrla to x-axis <-90> now; turn thrustfla to x-axis <-90> now; - SLEEP_UNTIL_UNITFINISHED; + while( get BUILD_PERCENT_LEFT ) + { + sleep 400; + } start-script IdleHover(); } @@ -84,75 +89,78 @@ Deactivate() hide thrustfla; } - +SweetSpot(piecenum) +{ + piecenum = aimy; +} //flamer -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = flaref; + piecenum = flaref; } //aa -QueryWeapon2(pieceIndex) +QuerySecondary(piecenum) { - if( aa_gun == 1 ) pieceIndex = flareaa1; - if( aa_gun == 2 ) pieceIndex = flareaa2; - if( aa_gun == 3 ) pieceIndex = flareaa3; - if( aa_gun == 4 ) pieceIndex = flareaa1; - if( aa_gun == 5 ) pieceIndex = flareaa2; - if( aa_gun == 6 ) pieceIndex = flareaa3; - if( aa_gun == 7 ) pieceIndex = flareaa1; - if( aa_gun == 8 ) pieceIndex = flareaa2; + if( aa_gun == 1 ) piecenum = flareaa1; + if( aa_gun == 2 ) piecenum = flareaa2; + if( aa_gun == 3 ) piecenum = flareaa3; + if( aa_gun == 4 ) piecenum = flareaa1; + if( aa_gun == 5 ) piecenum = flareaa2; + if( aa_gun == 6 ) piecenum = flareaa3; + if( aa_gun == 7 ) piecenum = flareaa1; + if( aa_gun == 8 ) piecenum = flareaa2; return (0); } //sidelasers -QueryWeapon3(pieceIndex) +QueryWeapon3(piecenum) { - pieceIndex = flarer1; + piecenum = flarer1; } -QueryWeapon4(pieceIndex) +QueryWeapon4(piecenum) { - pieceIndex = flarer2; + piecenum = flarer2; } -QueryWeapon5(pieceIndex) +QueryWeapon5(piecenum) { - pieceIndex = flarel1; + piecenum = flarel1; } -QueryWeapon6(pieceIndex) +QueryWeapon6(piecenum) { - pieceIndex = flarel2; + piecenum = flarel2; } -AimFromWeapon3(pieceIndex) +AimFromWeapon3(piecenum) { - pieceIndex = barrelr1; + piecenum = barrelr1; } -AimFromWeapon4(pieceIndex) +AimFromWeapon4(piecenum) { - pieceIndex = barrelr2; + piecenum = barrelr2; } -AimFromWeapon5(pieceIndex) +AimFromWeapon5(piecenum) { - pieceIndex = barrell1; + piecenum = barrell1; } -AimFromWeapon6(pieceIndex) +AimFromWeapon6(piecenum) { - pieceIndex = barrell2; + piecenum = barrell2; } //flamer -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; - turn turretf to x-axis 0-pitch speed <200.0>; - turn turretf to y-axis heading speed <200.0>; + turn turretf to x-axis 0-pitch speed <200.000000>; + turn turretf to y-axis heading speed <200.000000>; wait-for-turn turretf around x-axis; @@ -162,7 +170,7 @@ AimWeapon1(heading, pitch) } -FireWeapon1() +FirePrimary() { sleep 100; } @@ -173,13 +181,13 @@ FireWeapon1() //aa -AimWeapon2(heading, pitch) +AimSecondary(heading, pitch) { - signal SIGNAL_AIM2; - set-signal-mask SIGNAL_AIM2; + signal SIG_AIM_2; + set-signal-mask SIG_AIM_2; - turn turretaa to y-axis heading speed <450.0>; - turn sleeveaa to x-axis <0.0> - pitch speed <450.0>; + turn turretaa to y-axis heading speed <450.00000>; + turn sleeveaa to x-axis <0.00000> - pitch speed <450.00000>; wait-for-turn sleeveaa around z-axis; wait-for-turn turretaa around y-axis; start-script RestoreAfterDelay();//todo, split these @@ -187,7 +195,7 @@ AimWeapon2(heading, pitch) } -FireWeapon2() +FireSecondary() { ++aa_gun; if( aa_gun == 9 ) @@ -203,12 +211,12 @@ FireWeapon2() AimWeapon3(heading, pitch) { - signal SIGNAL_AIM3; - set-signal-mask SIGNAL_AIM3; + signal SIG_AIM_3; + set-signal-mask SIG_AIM_3; - turn turretr1 to x-axis 0-pitch speed <200.0>; - turn turretr1 to y-axis heading speed <200.0>; + turn turretr1 to x-axis 0-pitch speed <200.000000>; + turn turretr1 to y-axis heading speed <200.000000>; wait-for-turn turretr1 around x-axis; wait-for-turn turretr1 around y-axis; return (1); @@ -222,11 +230,11 @@ FireWeapon3() AimWeapon4(heading, pitch) { - signal SIGNAL_AIM4; - set-signal-mask SIGNAL_AIM4; + signal SIG_AIM_4; + set-signal-mask SIG_AIM_4; - turn turretr2 to x-axis 0-pitch speed <200.0>; - turn turretr2 to y-axis heading speed <200.0>; + turn turretr2 to x-axis 0-pitch speed <200.000000>; + turn turretr2 to y-axis heading speed <200.000000>; wait-for-turn turretr2 around x-axis; wait-for-turn turretr2 around y-axis; return (1); @@ -239,11 +247,11 @@ FireWeapon4() AimWeapon5(heading, pitch) { - signal SIGNAL_AIM5; - set-signal-mask SIGNAL_AIM5; + signal SIG_AIM_5; + set-signal-mask SIG_AIM_5; - turn turretl1 to x-axis 0-pitch speed <200.0>; - turn turretl1 to y-axis heading speed <200.0>; + turn turretl1 to x-axis 0-pitch speed <200.000000>; + turn turretl1 to y-axis heading speed <200.000000>; wait-for-turn turretl1 around x-axis; wait-for-turn turretl1 around y-axis; return (1); @@ -257,11 +265,11 @@ FireWeapon5() AimWeapon6(heading, pitch) { - signal SIGNAL_AIM6; - set-signal-mask SIGNAL_AIM6; + signal SIG_AIM_6; + set-signal-mask SIG_AIM_6; - turn turretl2 to x-axis 0-pitch speed <200.0>; - turn turretl2 to y-axis heading speed <200.0>; + turn turretl2 to x-axis 0-pitch speed <200.000000>; + turn turretl2 to y-axis heading speed <200.000000>; wait-for-turn turretl2 around x-axis; wait-for-turn turretl2 around y-axis; return (1); @@ -274,9 +282,9 @@ FireWeapon6() -SetMaxReloadTime(reloadMS) +SetMaxReloadTime(Func_Var_1) { - restore_delay = reloadMS * 2; + restore_delay = Func_Var_1 * 2; } static-var Stunned; @@ -287,26 +295,26 @@ ExecuteRestoreAfterDelay() } - turn turretaa to y-axis <0> speed <200.0>; - turn sleeveaa to x-axis <0.0> speed <200.0>; + turn turretaa to y-axis <0> speed <200.00000>; + turn sleeveaa to x-axis <0.00000> speed <200.00000>; - turn turretf to x-axis <45> speed <200.0>; - turn turretf to y-axis <0> speed <200.0>; + turn turretf to x-axis <45> speed <200.000000>; + turn turretf to y-axis <0> speed <200.000000>; - turn turretr1 to x-axis <45> speed <200.0>; - turn turretr1 to y-axis <-90> speed <200.0>; - turn turretr2 to x-axis <45> speed <200.0>; - turn turretr2 to y-axis <-90> speed <200.0>; - turn turretl1 to x-axis <45> speed <200.0>; - turn turretl1 to y-axis <90> speed <200.0>; - turn turretl2 to x-axis <45> speed <200.0>; - turn turretl2 to y-axis <90> speed <200.0>; + turn turretr1 to x-axis <45> speed <200.000000>; + turn turretr1 to y-axis <-90> speed <200.000000>; + turn turretr2 to x-axis <45> speed <200.000000>; + turn turretr2 to y-axis <-90> speed <200.000000>; + turn turretl1 to x-axis <45> speed <200.000000>; + turn turretl1 to y-axis <90> speed <200.000000>; + turn turretl2 to x-axis <45> speed <200.000000>; + turn turretl2 to y-axis <90> speed <200.000000>; - turn base to y-axis <0.0> speed <250.0>; - turn base to x-axis <0.0> speed <250.0>; + turn base to y-axis <0.000000> speed <250.000000>; + turn base to x-axis <0.000000> speed <250.000000>; } SetStunned(State) @@ -322,7 +330,7 @@ RestoreAfterDelay() start-script ExecuteRestoreAfterDelay(); } -StartMoving(reversing) +StartMoving() { sleep 1000; } @@ -333,34 +341,34 @@ StopMoving() MoveRate0() { - turn thrustrr to x-axis <0.0> speed <80.0>; - turn thrustrl to x-axis <0.0> speed <80.0>; - turn thrustfr to x-axis <0.0> speed <80.0>; - turn thrustfl to x-axis <0.0> speed <80.0>; + turn thrustrr to x-axis <0.000000> speed <80.000000>; + turn thrustrl to x-axis <0.000000> speed <80.000000>; + turn thrustfr to x-axis <0.000000> speed <80.000000>; + turn thrustfl to x-axis <0.000000> speed <80.000000>; } MoveRate1() { - turn thrustrr to x-axis <8.0> speed <60.0>; - turn thrustrl to x-axis <8.0> speed <60.0>; - turn thrustfr to x-axis <8.0> speed <60.0>; - turn thrustfl to x-axis <8.0> speed <60.0>; + turn thrustrr to x-axis <8.000000> speed <60.000000>; + turn thrustrl to x-axis <8.000000> speed <60.000000>; + turn thrustfr to x-axis <8.000000> speed <60.000000>; + turn thrustfl to x-axis <8.000000> speed <60.000000>; } MoveRate2() { - turn thrustrr to x-axis <18.0> speed <45.0>; - turn thrustrl to x-axis <18.0> speed <45.0>; - turn thrustfr to x-axis <18.0> speed <45.0>; - turn thrustfl to x-axis <18.0> speed <45.0>; + turn thrustrr to x-axis <18.000000> speed <45.000000>; + turn thrustrl to x-axis <18.000000> speed <45.000000>; + turn thrustfr to x-axis <18.000000> speed <45.000000>; + turn thrustfl to x-axis <18.000000> speed <45.000000>; } MoveRate3() { - turn thrustrr to x-axis <0.0> speed <70.0>; - turn thrustrl to x-axis <0.0> speed <70.0>; - turn thrustfr to x-axis <0.0> speed <70.0>; - turn thrustfl to x-axis <0.0> speed <70.0>; + turn thrustrr to x-axis <0.000000> speed <70.000000>; + turn thrustrl to x-axis <0.000000> speed <70.000000>; + turn thrustfr to x-axis <0.000000> speed <70.000000>; + turn thrustfl to x-axis <0.000000> speed <70.000000>; } diff --git a/scripts/Units/scavboss/corcrwt4.cob b/scripts/Units/scavboss/corcrwt4.cob index c9e8d0ec6131786d50d9c0f3fe8e478fa29ebbaf..ef26ff8993eb06a9beb3938732639bdadd196d5a 100644 GIT binary patch literal 11919 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 literal 9023 zcmeHLONd-W6s?)*jPd`}`2XZZ9gR^!PbV{e@RJY?5e>wQq8mdx$(z{F^YKm3n23uY zq97uI;>v{!1A-qER1gFMx=;`ib)yK1CbL!RUzFq0hjB8ttb#L8U_ui^H zRrN9@=iCTz74XCf&Yg&szipQ|_YE+++PQ0>uS)U1bTH|Jfn+clfZ6RHPUaw#pbtSU zl?M}qbhOhv2sutd z%k|(m_PJE^OC9U9@mZJFQfp27dKei0yT!#twit=|6nQAJ@0Vcn3lVIC!PaS<*5JnA z^A-bzaokJRt3CB|;QFDKXM#Wbxc>5Sn_Bz8+PSBkt1B1t1?4bb>{*D*z4dFhsWpyv z$N$35+Bp}-)fz4}F2~upnz!opYmT_X^jk)~9B1P)59?izmUEmd7b*Wq*Ujq_}-L#UT&n)5HW&bY4|I`>cG$aSte*X<_|iT&gg>tvtj z40z(o176?bZ3BthG@Lw$#9Rm7L*(T&bn&IR?ja6cI`OKxjvf3sFB{MEqk|vkML(`% z$Gjc(v18ugr@V@HTwb%z%*%D-`fyFOmgsSA$1u*TOGYT8?M@-tfjXS%?ING|6JHNxY zW4E9a`Dp7l&c9={o4IQoZ5romKN8kC_^Z#adDQ3EKkD;)5&Hc4q$PjX9z_!7e}>7z z9)C|c!QO@+?Ox=5?+A6E^|{gdd}x`Y&3AWiZnXKPIOoXY-|KSgU2W!tot)NLV2N%= z@m^enPLAa{<$FPs_4PaozE=j{m0f&Eb;Yd&Uw%(?itBkD;@;G!2LGl6-)((r;2Bd5 z6MbsnoaMW#PYs;2d}|$Q=(Ha^qndjsJI`(}JI{PCd)mi-Rv-Jhee4(ZvGc0wRv*7t z{hUd*+2NLasE~E9?R>098W*meMhi){xV|lb3tZ5#}xc7^6aBexp<$v zJI^6%Yu3jgs*iH0@8~T9ZF$K-#iz~B4SjL#o`2|PO_Y6&kTsrngT1>{t37kRFBwYs z{&Kvv`S0^^7EZ>2V;$tNd{vi!U+g@2;51LlOW23_EwKBbw}A7MpJc6*=Ej=(?gI~) z>Z81b`r;p9l*wdIe!FC6XxohQbPZ90S2_WyU0 z^ZTg1d+$xN{#Z}HA7M{A+2Z};{i(g>esb@cd-!7UZBgMplME+(NBHA@cp>b!m&^Dz z?&706THnxid@O%=or#b6tntB%zSwqY58GuuY?m9G7cmdk@$$MN&l@CVlsmTB+_BB( zj&0p?lh>@_lT(h*9ouZ~*k*Ibwr;sU9PPg5vCZa=Z8mpo>y(?ku>9lv{T-SXygPt> zU>~{8?-Ox8h3=9Qns<+M=AggywUN%+t^JBfXZ_aBZ+okgi&h_rbiSX~erC}9zxhxv zzvHZ(-<4MPZ;7e@g2>MEXZ;!1>i(@X1~r=Qokn`L{2tpB(8tD%O5#q@Nb)r$;&oWXH$+8jS2ikzNWq z8ppR!_b6jl*cW)b4hz9P#_Ppn@kBgkeC~^QEW3CtT|Aa99&5aKEW3CtyLc?Scr0B! zmcMu`yLc>JJeI$BEW3CtJNvml(#2!>i^tN%WBH56(#2!x;<0q`Sn<-3U%GfKfALs$ z@mRWeEL}X7E*?u4kEM&p$|oMnE*?u4kL52O%Pt;JxJcr0B!=KSa{9&5aKEdOpi);z>x#p}jn*~Me&-FU2e#ADSX z9xFdv&R6loWBH56iYFdxym+kf;<5Z0hw-J0$MR1jyLc?Sc&vKFW5pAXBUvq#Z~Fzs`PGLm0fqP zba7R>xT?A6&Xq2%%3oZSU3aeR-MA{dxT^8pxGH~fRsQ0t?Bc5IY`Ol@#Z~EPWEWRu z7grTuT$L`a%3oZSF0M)!S2bQ-l`gJI7gwc=tJ1|)#TQp)@5WWxW3FO3+ya992K)`I zL;!v;)PV-@2=Ey26!0AI0`L;>D)1@rCGaP38VFwo#)12QUBDsWao}a(b>LlK1Oz_HYzDRiyMTv)M}g;n7lBuRw}JP8kAW|MuYqrYAAqC4AHZKg=~CxT z1Ayf>@P&P)=x4Aa8HJ_O(;%#VGH@2%|?W!NEI=0sGOfo_iV#T$(D;%sWt!|&O z=-z0&edeNj%yjz-itcgKJ??DmgrAkxU;O?l^>xjFj zI+wX>ZR((F%;$O5m~?aXEL+GX-DJI*qba(p)zA;Y8>-b&2^9$&By5y0CShE{wGys# z_1gXi8iAMXr1_h*DP+ m2*D*pK}X|(e15Kx=Mw5cm{iZCdh#5V7v6PAlg&P)bpHb2VATr% diff --git a/scripts/Units/scavboss/coresuppt3.bos b/scripts/Units/scavboss/coresuppt3.bos index 4e1924a846c..e5b7d9b5d51 100644 --- a/scripts/Units/scavboss/coresuppt3.bos +++ b/scripts/Units/scavboss/coresuppt3.bos @@ -1,5 +1,7 @@ +#define TA // This is a TA script -#include "../../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, turret1, turret2, abarrela, abarrelb, bbarrela, bbarrelb, flare11, flare12, flare21, flare22, wake1, flare3; @@ -7,22 +9,86 @@ piece base, turret1, turret2, abarrela, abarrelb, bbarrela, bbarrelb, flare11, static-var gun_1, gun_2, restore_delay; // Signal definitions -#define SIGNAL_AIM1 256 -#define SIGNAL_AIM2 512 -#define SIGNAL_MOVE 1 +#define SIG_AIM 2 +#define SIG_AIM_2 4 +#define SIG_MOVE 8 -#define RB_MASS 20 -#define RB_LENGTH 8 -#define RB_WIDTH 4 -#define RB_PITCH_ACCELERATION 10 -#define RB_ROLL_ACCELERATION 8 -#define RB_RECOIL_ENERGY_2 500 -#define RB_WAKE_PIECE wake1 -#define RB_WAKE_CEG 2 -#define RB_IDLE_KICK 50000 +#define BASEPIECE base +#define HITSPEED <20.0> +//how 'heavy' the unit is, on a scale of 1-10 +#define UNITSIZE 5 +#define MAXTILT 200 +HitByWeapon(anglex, anglez, damage) // angle[x|z] is always [-500;500], damage is multiplied by 100 +{ + var amount;//, speedz, speedx; + amount = damage / (100 * UNITSIZE); + if (amount < 3 ) return (0); + if (amount > MAXTILT) amount = MAXTILT; + //get PRINT(anglex, anglez, amount, damage); + //speedz = HITSPEED * get ABS(anglez) / 500; //nevermind this, the random error this produces actually looks better than the accurate version + turn BASEPIECE to z-axis (anglez * amount) / 100 speed HITSPEED; + turn BASEPIECE to x-axis <0> - (anglex * amount) /100 speed HITSPEED; + wait-for-turn BASEPIECE around z-axis; + wait-for-turn BASEPIECE around x-axis; + turn BASEPIECE to z-axis <0.000000> speed HITSPEED / 4; + turn BASEPIECE to x-axis <0.000000> speed HITSPEED / 4; +} +HitByWeaponId(anglex, anglez, weaponid, dmg) //weaponID is always 0,lasers and flamers give angles of 0 +{ + start-script HitByWeapon(dmg, anglez,anglex); //I dont know why param order must be switched, and this also runs a frame later :( + return (100); //return damage percent +} + +RockOnWaves() +{ + var rockDir, rockAng, rockSpeed; + rockDir = <-0.1>; + rockAng = <-0.1>; + while( TRUE ) + { + while( get ABS(rockAng) < <1.31> ) + { + rockSpeed = <1.45> - get ABS(rockAng); + turn base to x-axis rockAng speed rockSpeed*5; + turn base to z-axis rockAng speed rockSpeed*5; + wait-for-turn base around x-axis; + wait-for-turn base around z-axis; + rockAng = rockAng + rockDir; + } + rockDir = 0 - rockDir; + rockAng = rockAng + rockDir + rockDir; + } +} -#include "../../bar_ships_common.h" +SmokeUnit(healthpercent, sleeptime, smoketype) +{ + while( get BUILD_PERCENT_LEFT ) + { + sleep 400; + } + start-script RockOnWaves(); + while( TRUE ) + { + healthpercent = get HEALTH; + if( healthpercent < 66 ) + { + smoketype = 256 | 2; + if( Rand( 1, 66 ) < healthpercent ) + { + smoketype = 256 | 1; + } + emit-sfx smoketype from base; + } + sleeptime = healthpercent * 50; + if( sleeptime < 200 ) + { + sleeptime = 200; + } + sleep sleeptime; + } + return (0); +} Create() { @@ -39,14 +105,13 @@ Create() gun_1 = turret1; gun_2 = turret1; restore_delay = 3000; - start-script InitRockBoat(); - SLEEP_UNTIL_UNITFINISHED; - start-script BoatPhysics(); + start-script SmokeUnit(); + return (0); } -SetMaxReloadTime(reloadMS) +SetMaxReloadTime(Func_Var_1) { - restore_delay = reloadMS * 2; + restore_delay = Func_Var_1 * 2; return (0); } @@ -74,20 +139,28 @@ RestoreAfterDelay() start-script ExecuteRestoreAfterDelay(); } -StartMoving(reversing) +StartMoving() { - + signal SIG_MOVE; + set-signal-mask SIG_MOVE; + while( TRUE ) + { + emit-sfx 2 from wake1; + sleep 300; + } + return (0); } StopMoving() { - + signal SIG_MOVE; + return (0); } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; turn turret1 to y-axis heading speed <45.>; turn turret1 to x-axis <0.> - pitch speed <25.>; wait-for-turn turret1 around y-axis; @@ -96,34 +169,44 @@ AimWeapon1(heading, pitch) return (1); } -FireWeapon1() +FirePrimary() { - if( gun_1) + if( gun_1 == 0 ) + { + move abarrela to z-axis [-1.] speed [500.]; + wait-for-move abarrela along z-axis; + move abarrela to z-axis [0.] speed [5.]; + show flare11; + sleep 150; + hide flare11; + } + if( gun_1 == 1 ) { move abarrelb to z-axis [-1.] speed [500.]; wait-for-move abarrelb along z-axis; move abarrelb to z-axis [0.] speed [5.]; + show flare12; + sleep 150; + hide flare12; } - else + ++gun_1; + if( gun_1 == 2 ) { - move abarrela to z-axis [-1.] speed [500.]; - wait-for-move abarrela along z-axis; - move abarrela to z-axis [0.] speed [5.]; - + gun_1 = base; } - gun_1 = !gun_1; + return (0); } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = turret1; + piecenum = turret1; return (0); } -AimWeapon2(heading, pitch) +AimSecondary(heading, pitch) { - signal SIGNAL_AIM2; - set-signal-mask SIGNAL_AIM2; + signal SIG_AIM_2; + set-signal-mask SIG_AIM_2; turn turret2 to y-axis heading speed <45.>; turn turret2 to x-axis <0.> - pitch speed <25.>; wait-for-turn turret2 around y-axis; @@ -132,40 +215,71 @@ AimWeapon2(heading, pitch) return (1); } -FireWeapon2() +FireSecondary() { - if( gun_2 ) + if( gun_2 == 0 ) + { + move bbarrela to z-axis [-1.] speed [500.]; + wait-for-move bbarrela along z-axis; + move bbarrela to z-axis [0.] speed [5.]; + show flare21; + sleep 150; + hide flare21; + } + if( gun_2 == 1 ) { move bbarrelb to z-axis [-1.] speed [500.]; wait-for-move bbarrelb along z-axis; move bbarrelb to z-axis [0.] speed [5.]; + show flare22; + sleep 150; + hide flare22; } - else + ++gun_2; + if( gun_2 == 2 ) { - move bbarrela to z-axis [-1.] speed [500.]; - wait-for-move bbarrela along z-axis; - move bbarrela to z-axis [0.] speed [5.]; + gun_2 = base; } - gun_2 = !gun_2; + return (0); } -AimFromWeapon2(pieceIndex) +AimFromSecondary(piecenum) { - pieceIndex = turret2; + piecenum = turret2; return (0); } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = flare11 + gun_1; + if( gun_1 == 0 ) + { + piecenum = flare11; + } + if( gun_1 == 1 ) + { + piecenum = flare12; + } + return (0); } -QueryWeapon2(pieceIndex) +QuerySecondary(piecenum) { - pieceIndex = flare21 + gun_2; + if( gun_2 == 0 ) + { + piecenum = flare21; + } + if( gun_2 == 1 ) + { + piecenum = flare22; + } + return (0); } - +SweetSpot(piecenum) +{ + piecenum = base; + return (0); +} Killed(severity, corpsetype) { @@ -175,7 +289,15 @@ Killed(severity, corpsetype) explode base type BITMAPONLY | NOHEATCLOUD; explode turret2 type BITMAPONLY | NOHEATCLOUD; explode bbarrela type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare21 type BITMAPONLY | NOHEATCLOUD; explode bbarrelb type BITMAPONLY | NOHEATCLOUD; + //explode flare22 type BITMAPONLY | NOHEATCLOUD; + //explode turret1 type BITMAPONLY | NOHEATCLOUD; + //explode abarrela type BITMAPONLY | NOHEATCLOUD; + //explode flare11 type BITMAPONLY | NOHEATCLOUD; + //explode abarrelb type BITMAPONLY | NOHEATCLOUD; + //explode flare12 type BITMAPONLY | NOHEATCLOUD; + //explode flare3 type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } if( severity <= 50 ) @@ -186,6 +308,13 @@ Killed(severity, corpsetype) explode bbarrela type FIRE | SMOKE | FALL | NOHEATCLOUD; explode flare21 type FIRE | SMOKE | FALL | NOHEATCLOUD; explode bbarrelb type FALL | NOHEATCLOUD; + //explode flare22 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode turret1 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode abarrela type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare11 type FALL | NOHEATCLOUD; + //explode abarrelb type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare12 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare3 type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) @@ -196,6 +325,14 @@ Killed(severity, corpsetype) explode bbarrela type FIRE | SMOKE | FALL | NOHEATCLOUD; explode flare21 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode bbarrelb type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare22 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode turret1 type SMOKE | FALL | NOHEATCLOUD; + //explode abarrela type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare11 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode abarrelb type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare12 type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode wake1 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare3 type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; @@ -204,5 +341,13 @@ Killed(severity, corpsetype) explode bbarrela type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode flare21 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode bbarrelb type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare22 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode turret1 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode abarrela type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode flare11 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode abarrelb type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare12 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode wake1 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode flare3 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/scavboss/coresuppt3.cob b/scripts/Units/scavboss/coresuppt3.cob index 9573ac2165951da110590663bb3016f22a47aaf8..08c264fa3ce3efa6d851c8e7a9d084eff59098b0 100644 GIT binary patch literal 4710 zcmb_gO=w(I6uwC&(`v0eivgGEK?VlukWT~oDKN-)i6ql;qRB)4VEWG1}4qz$-; z3l~BW7b=1qSNxldqsmQJVeRv-P*)GU!&uUnI*ZBuW4DLcBh;%eb6Y*E!POiq zcUC8TXct{1rLJwheSh*DB8y+N=92MVM*xdk&bgD#{3v<$xUXE>c_{6C!cD-%59=+? zS@Ng;>gMJqdqr-%XDse1IfJit|0<;AqMhclboGk#_9~4!!_Snr7Xis1Hjb->`@y-$ zX*G`BAFIXb{9qo6$9Og;E^Tdjcy7iHworrg;%GHlgVN4iaI{YHt){}3z<)rjEQ(d0 zFLT_%fVGOegCCXq1`Dapi(-&3asSl!rv8lCAQx|ob<&Sq%O~$#@6x@R!`^w! zwZ8lWf5v1;>Fb@k~#i^`e4WNssqd^JOHWUCxUc$+ttf z^s#yKoZK>oaM1(vi_gGrOAO5RjP`)J7>B%n4@GCL;YKs2#x2{J$82BXk`;N>4`$Jo zZBn1w$SI$Jb+g8z*7w5QdX34@gDQRSQ{+SKa*L?sogTm;U*@nJ&MNDTux4m}qdvrf zJgE`)i*x4w2nqUL-c=4=tZ#8#)7y8ph^Kiaw&rC|ZFa8I@3?Q|umpa~j3;?8HR{Et z>!7cOv(je1+9%qn6W(;_?cWFxbbpNmxw(ngC3BE^Ya_)v*vI=ZV&1e%_!h`{n+e#n zxuD~WsG?2k)!cU?L5R6EH@`WS+txefHk(6k&Y_%}x^20W@IGMLVv~GY*Mmh};SG`- z@?(Ksa=zU2EcRV2+l?dNPo2N42h5-O8IN(UH-D)UJpRrxA6rw+Hz0QsORJGJvkw+u zczV{=;;dU|z~7OQt2UC@I-GIq{LRK0@Eb=?Jb&uq-0}S19FUvu+;ZD`r`%>^Zu_pr zxvAThTj$R@Vw>dCp1fbw73ROSZ~ghxXVCl^8)oSTrPJ7-Yizz1^NqQ2f37H(^E7Vg z1LK7{;xj;7OBb?TUt{?^YL z_SA1c^7lNx7Ddl$P?c>cQ*sDk1vk^1Uwo!Jo38m4*Ieo?`scds+&z)`H21FQ^QrX0jPLZ)g=gDK-aU1}&#&fw z#;@eP%uk-pefFg9r0Zlh^VM$GBjR>ro@V(}Z>`-u=bCwMS(lUTrRl7_lxFMhcsuj9 zhWdEcD@@on{d}*xV7&fLnSI5nRiCX}9NF}3&GQ~LF86YGvfb&R&Q`kOUA~%SKA%w8 oaA_-rqLbR96%@@&@)E~PGGX#!8#nEu z{(&yFn`(m_1qH>8ZUjN;vf#SZZHp*$(M5z}{JwMVdAajCF9vkV>HRt1J?A^${h1*Z z5xEO?JM3^pm)!mw@&jTr{=*lW3eXY59h2dL=>5+ zM(5B`{~oxp?lSUPtGs>wJa6Ww4#ZpQI6Cfot%=;uZf|e1y~W4VywJ|LP#bE=oPcOO zH+d{`W;kGoV=Vejb83(HC)0&~&U2qa9M^}qa36`ITV@6$p8Ho(8)NVs(071~p*#C_ z$5^+WBdd>+5XW=DIqr-3lsETf)8#k>uaNy`*ot>BqgMk5J{^r{(?)ynPuuqZ z`9I>C?o64l(Y`zI6)gNtWv!P%l6A~`JUQsONBc5G1aICA&V@cbmyx>{TRsLuFlUI< zxOImcKs?K3G3{(v?Y6c^EBdKx4-R*Tnp*8V6ZV^7gngg?QRHX7n=xg3CzFmFeVk)# z#v(?ds{0+_@urdKNGvs6^lQVs+6OPzNto5g93iK1zm^!wyTh%j?-%oA>-04Gw=Z(s zUoq|k;$31ap7+=Nd^wm8c{GWu^IW?7(FnNc*_n~(He%4~?>V%5KRMR>h?d{s9IIZz zyy0w~xKLj%3&&RD4@g8EKt-rO8-9ol&+Qq{b%F~$|Btu`YdFOZ*JuZ4((bs;Ykbsh zxk4<@h^wm_edF_JOvEAX@B4$;HPL*=Kks86^PLZV`-)#@eDXf!$F&7DkT*GIT>W>{ zMJ|K}x<9$~#A;mXRe%Zeg?;L0=Uxk1by{fu)Q&E8zO24}wG+d6zJ-S45K3lRTHnoA z-TA_RoOCVrg7v5$ckm%RNRIEdl56oh4ps6VYRxsgp5dVRnSxmSt!}Zb?=}@3zltdKBfgJVklUPc6vfwCA-Ok2zvIkAt|JTn9S4 z*8ic8Tg2lt?>8Pc&hywyu1|8gES70)^5X`xN#i>;mjJ*k#!7 zus>l#5MmVe9IOL72m1o{9qdOK|Bf;^B(fh?gFOa&5;h8(hP7eGVIROghHb*Wf_)D= z5Bn8%3HArs{Otxd1iJ_J0PJDdYTp6kvpqkQyYRU`iN!QoX2nS6WZ?)TCH5;!blCF2V tN!svjQ{vee6YbbKvodQlzB4Ne?YNsX8oq71w&};srW}u#5; +// rockAng = <-0.1>; +// while( TRUE ) +// { +// while( get ABS(rockAng) < <1.11> ) +// { +// rockSpeed = <1.25> - get ABS(rockAng); +// turn base to x-axis rockAng speed rockSpeed*2; +// wait-for-turn base around x-axis; +// rockAng = rockAng + rockDir; +// } +// rockDir = 0 - rockDir; +// rockAng = rockAng + rockDir + rockDir; +// } +//} +SmokeUnit(healthpercent, sleeptime, smoketype) +{ + while( get BUILD_PERCENT_LEFT ) + { + sleep 500; + } + //start-script RockOnWaves(); + spin radar around y-axis speed <60.000000>; + var Func_Var_4; + while( TRUE ) + { + healthpercent = get HEALTH; + if( healthpercent < 66 ) + { + smoketype = 258; + if( Rand( 1, 66 ) < healthpercent ) + { + smoketype = 257; + } + Func_Var_4 = Rand( 1, 3 ); + if( Func_Var_4 == 1 ) + { + emit-sfx smoketype from base; + } + if( Func_Var_4 == 2 ) + { + emit-sfx smoketype from tur1; + } + if( Func_Var_4 == 3 ) + { + emit-sfx smoketype from tur2; + } + } + sleeptime = healthpercent * 50; + if( sleeptime < 200 ) + { + sleeptime = 200; + } + sleep sleeptime; + } +} +ProjXPW(Func_Var_1, Func_Var_2) +{ + if( Func_Var_2 < -21840 ) + { + Static_Var_7 = Func_Var_1 * ( Func_Var_2 + 32760 ) / 10920; + } + else if( Func_Var_2 > 21840 ) + { + Static_Var_7 = Func_Var_1 * ( 32760 - Func_Var_2 ) / 10920; + } + else if( Func_Var_2 < -10920 ) + { + Static_Var_7 = 0 - Func_Var_1; + } + else if( Func_Var_2 > 10920 ) + { + Static_Var_7 = Func_Var_1; + } + else + { + Static_Var_7 = Func_Var_1 * Func_Var_2 / 10920; + } +} +//RockZ(Func_Var_1, Func_Var_2) +//{ +// signal 16; +// set-signal-mask 16; +// call-script ProjXPW(10920 / Func_Var_2,Func_Var_1); +// Static_Var_8 = Static_Var_8 + Static_Var_7; +// Static_Var_7 = get ABS(Static_Var_8); +// while( Static_Var_7 > 91 ) +// { +// turn base to z-axis Static_Var_8 speed Static_Var_7 * 2; +// wait-for-turn base around z-axis; +// Static_Var_8 = Static_Var_8 * -1 / 2; +// Static_Var_7 = get ABS(Static_Var_8); +// } +// turn base to z-axis <0.000000> speed <1.5>; +//} -#include "../../damagedsmoke.h" Create() { hide thrustr2; @@ -43,16 +142,15 @@ Create() hide flare4a; hide wake2; set ARMORED to 1; - turn jetl1 to x-axis <-90.0> now; - turn jetr1 to x-axis <-90.0> now; - turn jetl2 to x-axis <-90.0> now; - turn jetr2 to x-axis <-90.0> now; - gun_1 = 0; - gun_3 = 0; - gun_2 = 0; + turn jetl1 to x-axis <-90.000000> now; + turn jetr1 to x-axis <-90.000000> now; + turn jetl2 to x-axis <-90.000000> now; + turn jetr2 to x-axis <-90.000000> now; + Static_Var_1 = 0; + Static_Var_3 = 0; + Static_Var_2 = 0; restore_delay = 3000; - SLEEP_UNTIL_UNITFINISHED; - start-script DamagedSmoke(); + start-script SmokeUnit(); } Activate() @@ -73,39 +171,39 @@ Deactivate() MoveRate0() { - turn jetl1 to x-axis <-92.0> speed <25.0>; - turn jetr1 to x-axis <-92.0> speed <25.0>; - turn jetl2 to x-axis <-90.0> speed <25.0>; - turn jetr2 to x-axis <-90.0> speed <25.0>; + turn jetl1 to x-axis <-92.000000> speed <25.000000>; + turn jetr1 to x-axis <-92.000000> speed <25.000000>; + turn jetl2 to x-axis <-90.000000> speed <25.000000>; + turn jetr2 to x-axis <-90.000000> speed <25.000000>; } MoveRate1() { - turn jetl1 to x-axis <-92.0> speed <15.0>; - turn jetr1 to x-axis <-92.0> speed <15.0>; - turn jetl2 to x-axis <-83.0> speed <15.0>; - turn jetr2 to x-axis <-83.0> speed <15.0>; + turn jetl1 to x-axis <-92.000000> speed <15.000000>; + turn jetr1 to x-axis <-92.000000> speed <15.000000>; + turn jetl2 to x-axis <-83.000000> speed <15.000000>; + turn jetr2 to x-axis <-83.000000> speed <15.000000>; } MoveRate2() { - turn jetl1 to x-axis <-92.0> speed <10.0>; - turn jetr1 to x-axis <-92.0> speed <10.0>; - turn jetl2 to x-axis <-76.0> speed <10.0>; - turn jetr2 to x-axis <-76.0> speed <10.0>; + turn jetl1 to x-axis <-92.000000> speed <10.000000>; + turn jetr1 to x-axis <-92.000000> speed <10.000000>; + turn jetl2 to x-axis <-76.000000> speed <10.000000>; + turn jetr2 to x-axis <-76.000000> speed <10.000000>; } MoveRate3() { - turn jetl1 to x-axis <0.0> speed <20.0>; - turn jetr1 to x-axis <0.0> speed <20.0>; - turn jetl2 to x-axis <0.0> speed <20.0>; - turn jetr2 to x-axis <0.0> speed <20.0>; + turn jetl1 to x-axis <0.000000> speed <20.000000>; + turn jetr1 to x-axis <0.000000> speed <20.000000>; + turn jetl2 to x-axis <0.000000> speed <20.000000>; + turn jetr2 to x-axis <0.000000> speed <20.000000>; } -SetMaxReloadTime(reloadMS) +SetMaxReloadTime(Func_Var_1) { - restore_delay = reloadMS * 2; + restore_delay = Func_Var_1 * 2; } static-var Stunned; @@ -114,8 +212,8 @@ ExecuteRestoreAfterDelay() if (Stunned) { return (1); } - turn tur1 to y-axis <0.0> speed <20.0>; - turn sleeves1 to x-axis <0.0> speed <20.0>; + turn tur1 to y-axis <0.000000> speed <20.000000>; + turn sleeves1 to x-axis <0.000000> speed <20.000000>; } SetStunned(State) { @@ -133,18 +231,18 @@ RestoreAfterDelay() RestoreAfterDelay2() { sleep restore_delay; - turn tur2 to y-axis <0.0> speed <100.0>; - turn tur5 to y-axis <0.0> speed <100.0>; - turn tur6 to y-axis <0.0> speed <100.0>; + turn tur2 to y-axis <0.000000> speed <100.000000>; + turn tur5 to y-axis <0.000000> speed <100.000000>; + turn tur6 to y-axis <0.000000> speed <100.000000>; } RestoreAfterDelay3() { sleep restore_delay; - turn tur3 to y-axis <0.0> speed <125.0>; - turn sleeves3 to x-axis <0.0> speed <125.0>; - turn tur4 to y-axis <0.0> speed <125.0>; - turn sleeves4 to x-axis <0.0> speed <125.0>; + turn tur3 to y-axis <0.000000> speed <125.000000>; + turn sleeves3 to x-axis <0.000000> speed <125.000000>; + turn tur4 to y-axis <0.000000> speed <125.000000>; + turn sleeves4 to x-axis <0.000000> speed <125.000000>; } //waveSplash() @@ -160,10 +258,10 @@ RestoreAfterDelay3() // } //} -StartMoving(reversing) +StartMoving() { - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; + signal SIG_MOVE; + set-signal-mask SIG_MOVE; //var waketime; //start-script waveSplash(); //while( TRUE ) @@ -179,29 +277,32 @@ StartMoving(reversing) StopMoving() { - signal SIGNAL_MOVE; + signal SIG_MOVE; turn base to x-axis <0.0> speed <1.0>; move base to y-axis [0.0] speed [0.17]; } +SweetSpot(piecenum) +{ + piecenum = base; +} - -AimFromWeapon1(pieceIndex) +AimFromWeapon1(piecenum) { - pieceIndex = tur1; + piecenum = tur1; } -QueryWeapon1(pieceIndex) +QueryWeapon1(piecenum) { - pieceIndex = flare1a + gun_1; + piecenum = flare1a + Static_Var_1; } AimWeapon1(heading, pitch) { signal 2; set-signal-mask 2; - turn tur1 to y-axis heading speed <45.0>; - turn sleeves1 to x-axis <0.0> - pitch speed <20.0>; + turn tur1 to y-axis heading speed <45.000000>; + turn sleeves1 to x-axis <0.000000> - pitch speed <20.000000>; wait-for-turn tur1 around y-axis; wait-for-turn sleeves1 around x-axis; aimDir = heading; @@ -212,49 +313,50 @@ AimWeapon1(heading, pitch) FireWeapon1() { //start-script RockZ(-5, aimDir); - if( gun_1 == 0 ) + if( Static_Var_1 == 0 ) { emit-sfx 1024 + 0 from flare1a; - move barrel1a to z-axis [-2.0] speed [500.0]; + move barrel1a to z-axis [-2.000000] speed [500.000000]; sleep 100; - move barrel1a to z-axis [0.0] speed [3.0]; + move barrel1a to z-axis [0.000000] speed [3.000000]; } - else if( gun_1 == 1 ) + else if( Static_Var_1 == 1 ) { emit-sfx 1024 + 0 from flare1b; - move barrel1b to z-axis [-2.0] speed [500.0]; + move barrel1b to z-axis [-2.000000] speed [500.000000]; sleep 100; - move barrel1b to z-axis [0.0] speed [3.0]; + move barrel1b to z-axis [0.000000] speed [3.000000]; } - else if( gun_1 == 2 ) + else if( Static_Var_1 == 2 ) { emit-sfx 1024 + 0 from flare1c; - move barrel1c to z-axis [-2.0] speed [500.0]; + move barrel1c to z-axis [-2.000000] speed [500.000000]; sleep 100; - move barrel1c to z-axis [0.0] speed [3.0]; + move barrel1c to z-axis [0.000000] speed [3.000000]; } - else if( gun_1 == 3 ) + else if( Static_Var_1 == 3 ) { emit-sfx 1024 + 0 from flare1d; - move barrel1d to z-axis [-2.0] speed [500.0]; + move barrel1d to z-axis [-2.000000] speed [500.000000]; sleep 100; - move barrel1d to z-axis [0.0] speed [3.0]; + move barrel1d to z-axis [0.000000] speed [3.000000]; + hide flare1d; } - ++gun_1; - if( gun_1 >= 4 ) + ++Static_Var_1; + if( Static_Var_1 >= 4 ) { - gun_1 = 0; + Static_Var_1 = 0; } } -AimFromWeapon2(pieceIndex) +AimFromWeapon2(piecenum) { - pieceIndex = tur2; + piecenum = tur2; } -QueryWeapon2(pieceIndex) +QueryWeapon2(piecenum) { - pieceIndex = flare2; + piecenum = flare2; } AimWeapon2(heading, pitch) @@ -265,7 +367,7 @@ AimWeapon2(heading, pitch) { return (0); } - turn tur2 to y-axis heading speed <150.0>; + turn tur2 to y-axis heading speed <150.000000>; wait-for-turn tur2 around y-axis; start-script RestoreAfterDelay2(); return (1); @@ -273,28 +375,30 @@ AimWeapon2(heading, pitch) FireWeapon2() { - sleep 180; - turn gun2 to z-axis <120.0> speed <400.0>; - sleep 1000 * <120> / <400>; - turn gun2 to z-axis <0.0> now; + show flare2; + sleep 150; + turn gun2 to z-axis <120.000000> speed <400.000000>; + hide flare2; + wait-for-turn gun2 around z-axis; + turn gun2 to z-axis <0.000000> now; } -AimFromWeapon3(pieceIndex) +AimFromWeapon3(piecenum) { - pieceIndex = tur3; + piecenum = tur3; } -QueryWeapon3(pieceIndex) +QueryWeapon3(piecenum) { - pieceIndex = flare3a + gun_2; + piecenum = flare3a + Static_Var_2; } AimWeapon3(heading, pitch) { signal 8; set-signal-mask 8; - turn tur3 to y-axis heading speed <200.0>; - turn sleeves3 to x-axis <0.0> - pitch speed <150.0>; + turn tur3 to y-axis heading speed <200.000000>; + turn sleeves3 to x-axis <0.000000> - pitch speed <150.000000>; wait-for-turn tur3 around y-axis; wait-for-turn sleeves3 around x-axis; start-script RestoreAfterDelay3(); @@ -303,17 +407,17 @@ AimWeapon3(heading, pitch) FireWeapon3() { - gun_2 = !gun_2; + Static_Var_2 = !Static_Var_2; } -AimFromWeapon4(pieceIndex) +AimFromWeapon4(piecenum) { - pieceIndex = tur5; + piecenum = tur5; } -QueryWeapon4(pieceIndex) +QueryWeapon4(piecenum) { - pieceIndex = flare5; + piecenum = flare5; } AimWeapon4(heading, pitch) @@ -324,7 +428,7 @@ AimWeapon4(heading, pitch) { return (0); } - turn tur5 to y-axis heading speed <150.0>; + turn tur5 to y-axis heading speed <150.000000>; wait-for-turn tur5 around y-axis; start-script RestoreAfterDelay2(); return (1); @@ -332,20 +436,22 @@ AimWeapon4(heading, pitch) FireWeapon4() { + show flare5; sleep 150; - turn gun5 to z-axis <120.0> speed <400.0>; + turn gun5 to z-axis <120.000000> speed <400.000000>; + hide flare5; wait-for-turn gun5 around z-axis; - turn gun5 to z-axis <0.0> now; + turn gun5 to z-axis <0.000000> now; } -AimFromWeapon5(pieceIndex) +AimFromWeapon5(piecenum) { - pieceIndex = tur6; + piecenum = tur6; } -QueryWeapon5(pieceIndex) +QueryWeapon5(piecenum) { - pieceIndex = flare6; + piecenum = flare6; } AimWeapon5(heading, pitch) @@ -356,7 +462,7 @@ AimWeapon5(heading, pitch) { return (0); } - turn tur6 to y-axis heading speed <150.0>; + turn tur6 to y-axis heading speed <150.000000>; wait-for-turn tur6 around y-axis; start-script RestoreAfterDelay2(); return (1); @@ -364,28 +470,30 @@ AimWeapon5(heading, pitch) FireWeapon5() { - sleep 180; - turn gun6 to z-axis <120.0> speed <400.0>; - sleep 1000 * <120> / <400>; - turn gun6 to z-axis <0.0> now; + show flare6; + sleep 150; + turn gun6 to z-axis <120.000000> speed <400.000000>; + hide flare6; + wait-for-turn gun6 around z-axis; + turn gun6 to z-axis <0.000000> now; } -AimFromWeapon6(pieceIndex) +AimFromWeapon6(piecenum) { - pieceIndex = tur4; + piecenum = tur4; } -QueryWeapon6(pieceIndex) +QueryWeapon6(piecenum) { - pieceIndex = flare4a + gun_3; + piecenum = flare4a + Static_Var_3; } AimWeapon6(heading, pitch) { signal 64; set-signal-mask 64; - turn tur4 to y-axis heading speed <200.0>; - turn sleeves4 to x-axis <0.0> - pitch speed <150.0>; + turn tur4 to y-axis heading speed <200.000000>; + turn sleeves4 to x-axis <0.000000> - pitch speed <150.000000>; wait-for-turn tur4 around y-axis; wait-for-turn sleeves4 around x-axis; start-script RestoreAfterDelay3(); @@ -394,7 +502,7 @@ AimWeapon6(heading, pitch) FireWeapon6() { - gun_3 = !gun_3; + Static_Var_3 = !Static_Var_3; } Killed(severity, corpsetype) @@ -409,6 +517,39 @@ Killed(severity, corpsetype) explode flare4b type BITMAPONLY | NOHEATCLOUD; explode tur3 type BITMAPONLY | NOHEATCLOUD; explode sleeves3 type BITMAPONLY | NOHEATCLOUD; + //explode flare3a type BITMAPONLY | NOHEATCLOUD; + //explode flare3b type BITMAPONLY | NOHEATCLOUD; + //explode tur6 type BITMAPONLY | NOHEATCLOUD; + //explode sleeves6 type BITMAPONLY | NOHEATCLOUD; + //explode gun6 type BITMAPONLY | NOHEATCLOUD; + //explode barrel6 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare6 type BITMAPONLY | NOHEATCLOUD; + //explode tur5 type BITMAPONLY | NOHEATCLOUD; + //explode sleeves5 type BITMAPONLY | NOHEATCLOUD; + //explode gun5 type BITMAPONLY | NOHEATCLOUD; + //explode barrel5 type BITMAPONLY | NOHEATCLOUD; + //explode flare5 type BITMAPONLY | NOHEATCLOUD; + //explode tur2 type BITMAPONLY | NOHEATCLOUD; + //explode sleeves2 type BITMAPONLY | NOHEATCLOUD; + //explode gun2 type BITMAPONLY | NOHEATCLOUD; + //explode flare2 type BITMAPONLY | NOHEATCLOUD; + //explode barrel2 type BITMAPONLY | NOHEATCLOUD; + //explode tur1 type BITMAPONLY | NOHEATCLOUD; + //explode sleeves1 type BITMAPONLY | NOHEATCLOUD; + //explode barrel1c type BITMAPONLY | NOHEATCLOUD; + //explode flare1c type BITMAPONLY | NOHEATCLOUD; + //explode barrel1d type BITMAPONLY | NOHEATCLOUD; + //explode flare1d type BITMAPONLY | NOHEATCLOUD; + //explode barrel1a type BITMAPONLY | NOHEATCLOUD; + //explode flare1a type BITMAPONLY | NOHEATCLOUD; + //explode barrel1b type BITMAPONLY | NOHEATCLOUD; + //explode flare1b type BITMAPONLY | NOHEATCLOUD; + //explode radar type BITMAPONLY | NOHEATCLOUD; + //explode wake1 type BITMAPONLY | NOHEATCLOUD; + //explode wake2 type BITMAPONLY | NOHEATCLOUD; + //explode wake3 type BITMAPONLY | NOHEATCLOUD; + //explode wake4 type BITMAPONLY | NOHEATCLOUD; + //explode wake5 type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } if( severity <= 50 ) @@ -421,6 +562,38 @@ Killed(severity, corpsetype) explode flare4b type FALL | NOHEATCLOUD; explode tur3 type FIRE | SMOKE | FALL | NOHEATCLOUD; explode sleeves3 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare3a type FALL | NOHEATCLOUD; + //explode flare3b type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode tur6 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode sleeves6 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode gun6 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode barrel6 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare6 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode tur5 type FALL | NOHEATCLOUD; + //explode sleeves5 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode gun5 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode barrel5 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare5 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode tur2 type FALL | NOHEATCLOUD; + //explode sleeves2 type FALL | NOHEATCLOUD; + //explode gun2 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare2 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode barrel2 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode sleeves1 type FALL | NOHEATCLOUD; + //explode barrel1c type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare1c type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode barrel1d type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare1d type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode barrel1a type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare1a type FALL | NOHEATCLOUD; + //explode barrel1b type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare1b type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode radar type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode wake1 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode wake2 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode wake3 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode wake4 type FALL | NOHEATCLOUD; + //explode wake5 type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) @@ -433,6 +606,39 @@ Killed(severity, corpsetype) explode flare4b type SMOKE | FALL | NOHEATCLOUD; explode tur3 type SMOKE | FALL | NOHEATCLOUD; explode sleeves3 type SMOKE | FALL | NOHEATCLOUD; + //explode flare3a type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode flare3b type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode tur6 type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode sleeves6 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode gun6 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode barrel6 type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode flare6 type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode tur5 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode sleeves5 type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode gun5 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode barrel5 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare5 type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode tur2 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode sleeves2 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode gun2 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare2 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode barrel2 type SMOKE | FALL | NOHEATCLOUD; + //explode tur1 type BITMAPONLY | NOHEATCLOUD; + //explode sleeves1 type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode barrel1c type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare1c type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode barrel1d type SMOKE | FALL | NOHEATCLOUD; + //explode flare1d type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode barrel1a type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare1a type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode barrel1b type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare1b type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode radar type SMOKE | FALL | NOHEATCLOUD; + //explode wake1 type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode wake2 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode wake3 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode wake4 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode wake5 type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; @@ -443,5 +649,38 @@ Killed(severity, corpsetype) explode flare4b type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode tur3 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode sleeves3 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare3a type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare3b type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode tur6 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode sleeves6 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode gun6 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode barrel6 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare6 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode tur5 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode sleeves5 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode gun5 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode barrel5 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode flare5 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode tur2 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode sleeves2 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode gun2 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare2 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode barrel2 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode tur1 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode sleeves1 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode barrel1c type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode flare1c type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode barrel1d type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare1d type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode barrel1a type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare1a type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode barrel1b type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode flare1b type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode radar type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode wake1 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode wake2 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode wake3 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode wake4 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode wake5 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/scavboss/corfblackhyt4.cob b/scripts/Units/scavboss/corfblackhyt4.cob index cb136cf104565a7714b2a096fde3c99d3c87004d..ed91c33c9078c9961d1ef47a90a9a54f10867da4 100644 GIT binary patch literal 7633 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 D5e(K( diff --git a/scripts/Units/scavboss/corforge.bos b/scripts/Units/scavboss/corforge.bos index a343e448b4f..8d4fb5d4582 100644 --- a/scripts/Units/scavboss/corforge.bos +++ b/scripts/Units/scavboss/corforge.bos @@ -1,13 +1,15 @@ +#define TA // This is a TA script -#include "../../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, turret, lloarm, flare, nano, beam; static-var restore_delay, last_primary_heading; // Signal definitions -#define SIGNAL_AIM1 256 -#define SIGNAL_BUILD 2 +#define SIG_AIM 2 +#define SIG_BUILD 4 #define BASEPIECE base #define HITSPEED <55.0> @@ -15,14 +17,14 @@ static-var restore_delay, last_primary_heading; #define UNITSIZE 3 #define MAXTILT 100 -#include "../../unit_hitbyweaponid_and_smoke.h" +#include "unit_hitbyweaponid_and_smoke.h" lua_FlameShot(weapon) //Distortion and lups flame effect { return 0; } -PilotLight() +PilotLight(Func_Var_1) { while( TRUE ) { @@ -40,23 +42,29 @@ Create() return (0); } +//SetMaxReloadTime(Func_Var_1) +//{ +// restore_delay = Func_Var_1 * 2; +// return (0); +//} + static-var Stunned; ExecuteRestoreAfterDelay() { if (Stunned) { return (1); } - turn turret to y-axis <0.0> speed <50>; - turn nano to y-axis <0.0> speed <50>; + turn turret to y-axis <0.000000> speed <50>; + turn nano to y-axis <0.000000> speed <50>; } -Restore_Weapon1() +Restore_Primary() { sleep restore_delay; if (Stunned) { return (1); } - turn turret to y-axis <0.0> speed <50>; + turn turret to y-axis <0.000000> speed <50>; last_primary_heading = -1000000; } @@ -66,27 +74,27 @@ Restore_Nano() if (Stunned) { return (1); } - turn nano to y-axis <0.0> speed <50>; + turn nano to y-axis <0.000000> speed <50>; } SetStunned(State) { Stunned = State; if (!Stunned) { - start-script Restore_Weapon1(); + start-script Restore_Primary(); start-script Restore_Nano(); } } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; // values in <> are degrees per second // otherwise angles are in COB angular unit (cau) - There are 65536 cau in a circle // In general, 6 cau per frame ~= 1 degree per second - turn turret to y-axis heading speed <500.0>; + turn turret to y-axis heading speed <500.000000>; // only wait-for-turn if it takes more than 3 frames to finish the turn if ( (get ABS(last_primary_heading-heading)>9000) ) { @@ -95,11 +103,11 @@ AimWeapon1(heading, pitch) } last_primary_heading = heading; - start-script Restore_Weapon1(); + start-script Restore_Primary(); return (1); } -FireWeapon1() +FirePrimary() { } @@ -110,40 +118,44 @@ Shot1(zero) emit-sfx 1024 + 1 from flare; } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = turret; + piecenum = turret; return (0); } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = flare; + piecenum = flare; return (0); } StartBuilding(heading, pitch) { - signal SIGNAL_BUILD; - set-signal-mask SIGNAL_BUILD; + signal SIG_BUILD; + set-signal-mask SIG_BUILD; turn nano to y-axis heading speed <160>; set INBUILDSTANCE to 1; } StopBuilding() { - signal SIGNAL_BUILD; - set-signal-mask SIGNAL_BUILD; + signal SIG_BUILD; + set-signal-mask SIG_BUILD; start-script Restore_Nano(); set INBUILDSTANCE to 0; } -QueryNanoPiece(pieceIndex) +QueryNanoPiece(piecenum) { - pieceIndex = nano; + piecenum = nano; } - +SweetSpot(piecenum) +{ + piecenum = base; + return (0); +} Killed(severity, corpsetype) { @@ -153,7 +165,7 @@ Killed(severity, corpsetype) explode base type BITMAPONLY | NOHEATCLOUD; explode turret type BITMAPONLY | NOHEATCLOUD; explode lloarm type FIRE | SMOKE | FALL | NOHEATCLOUD; - + //explode flare type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } if( severity <= 50 ) @@ -162,7 +174,7 @@ Killed(severity, corpsetype) explode base type BITMAPONLY | NOHEATCLOUD; explode turret type FIRE | SMOKE | FALL | NOHEATCLOUD; explode lloarm type FIRE | SMOKE | FALL | NOHEATCLOUD; - + //explode flare type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) @@ -171,13 +183,13 @@ Killed(severity, corpsetype) explode base type FIRE | SMOKE | FALL | NOHEATCLOUD; explode turret type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode lloarm type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; - + //explode flare type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; explode base type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode turret type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode lloarm type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; - + //explode flare type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/scavboss/corforge.cob b/scripts/Units/scavboss/corforge.cob index 8a0fa36bf7368cf2ae37ac1757b25207820dd94d..2d1ba0023771f19d7874d89b89bc7739f9934806 100644 GIT binary patch literal 3152 zcmb_e&ubKS6o0!}*I*T<(nA#w140$Gum&%^#i+40QdSqS7d7MN8#6e&6UW&$0S^J` zq0o!aiwCLt2Lz86Dk$_&L7~0$CV254y!2Ag&*wYeH~V$Wwuv;$hxg|F{CwZ{&5(wO zd;&CqpXwqFNdDc}Ch`o}^O49QJRgCSupaoR2l&BUgPe163{qNSflQ7C^;SLLGvg>3 zXZ^vJKxUi4r_Kf;(r&^#jAK1%6>)o^Y7ec+=iU2?+BNt!m%TNX93+&0rIaUg=(jdc zT3+wv4)Yl=sBH5*ovL!7wDUt>?J=tVs5q@h$(eB8ti>~OWEKh$2bv_@{hk0;Dt5DhB?hs~Z88{omq+RUQug=DHIu8k& z#jIf?Z|(&pV}|Fzz2J{NzmIaEZ@s&F;o|v{G0(;Ym>XuGwf579IdUG)HJ&!^!t5~a zA>K!Fri-;6KU#akXY%A3?0z{PP0Z&U*oQOv8-jT@9zN+$7%>78&h%YRELXgPF!^=-z0h;8 z4r90%WliY1!`2rzi@jt$#OvN#UuADus=D*~tyr%RehSrAo}e2kVoCl!09XSYd!8Nc`=uF>2tK-_^{x35P_^? z<69f!xEUV*H}@{jBVw-eoA{0Zk`*Nv-aftn7@%6J8Q)1-7v3u2CcVQ zKL2)}QM*z-gWq#hPW24zdjYr){0=+=UIJ^tI2we&5#S{7EwBvy0Nes@0}p^Fz*FE) zfd8XT0;hm)fO+5=ums!!?g6X7FTiiWAHZM0E8sOC+eLN&dw|b?&w&Zx3t$qM24;XS z<9urQyonamzI1x&RdcQ%=f3r;IY|c5rRgNrZnU8-sf=gq zblZtNd90VVH?ZY;6Dxf%zWJ=K(k^FYTu|T34LP)D&DQ$`C>hh{G%auD@QMWA3)ake zNL0?mY`IFirZqjqowVGmJ)5SZ>6nk%S#Q`2-r04pZ}5zJ${M(}p3|1K*u8y*t@*RN zX=l3|q*JCo{T+G{$Sejq%!8}Oi1drl_;&aH^7*XDh!_DZGm)8S%nDYVX*;n?B z{Cl2HG4r%O*x7PnPa5#avpxoh$^P@amt^nnUoWFb{hgoi9&9eZTdHXH_|f|R>=jex zH>!Q{I*Mq|%5~0&|AmjQeCX)o)^48@`S@0-Q%up(zv)Of|GG#1VXQ+S(m(m+y)RZ+ z3%Tmk=ReK=@(1{zmM`aH^JMSXn{nQ2<-2s5Nk`3SRs)y&jeZ~IMqlH3(`L1-Q=9Zd zxxdz{iN%vjfB7abHccm-^8I2si)E|5C3`V5`)+P)uK0$@2h2}+FRTvwA;;#yE%#P~ z>RQe6UP7gOHZi!XG^yHz-(6MD{=Q9barF)Jz0ix3V zluz@?nTB&TA8J?eVYxBpyYjbwGv;S>)GF`LCM00_(Vo5Kd5xTCR_}LsHvKPN&;03I zXM!1par6!Had!JS%6~^3^ZPMzdd$Vg`O3$!c~ueBF;FLQJtyBLX^Kb};;T-IQJ%X((lm?nfm}@E+{utBU2yS0 F-T;X|?y&#> diff --git a/scripts/Units/scavboss/corftiger.bos b/scripts/Units/scavboss/corftiger.bos index 5bb5ee6f2c2..39b606d7137 100644 --- a/scripts/Units/scavboss/corftiger.bos +++ b/scripts/Units/scavboss/corftiger.bos @@ -1,20 +1,48 @@ +#define TA // This is a TA script -#include "../../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece flare1, flare2, turret, base, sleeves, barrel1, barrel2, smoke1, smoke2, exhaust1, exhaust2, exhaust3, exhaust4, exhaust5, exhaust6; -static-var restore_delay, gun_1; +static-var bMoving, moveSpeed, currentSpeed, animSpeed, terrain, restore_delay, gun_1; // Signal definitions -#define SIGNAL_AIM1 256 -#define SIGNAL_MOVE 1 +#define SIG_AIM 2 +#define SIG_MOVE 4 -#define VD_PIECE1 smoke1 -#define VD_PIECE2 smoke2 -#define VD_AMPHIBIOUS -#define VD_DIRTCEG 1024 + 1 -#include "../../vehicle_dirt_cegs.h" + +UnitSpeed() +{ + while(TRUE) + { + currentSpeed = (get CURRENT_SPEED)*20/moveSpeed; + if (currentSpeed<4) currentSpeed=4; + animSpeed = 1600 / currentSpeed; + sleep 250; + } +} + +Smoke() +{ + while( TRUE ) + { + currentSpeed = (get CURRENT_SPEED)*20/moveSpeed; + if (currentSpeed<4) currentSpeed=4; + animSpeed = 1600 / currentSpeed; + if ( bMoving ) + { + if( terrain == 4 ) + { + emit-sfx 1024 + 1 from smoke1; + emit-sfx 1024 + 1 from smoke2; + } + } + sleep animSpeed; + } +} + #define BASEPIECE base #define HITSPEED <45.0> @@ -22,7 +50,7 @@ static-var restore_delay, gun_1; #define UNITSIZE 7 #define MAXTILT 100 -#include "../../unit_hitbyweaponid_and_smoke.h" +#include "unit_hitbyweaponid_and_smoke.h" /* RockUnit(anglex, anglez) @@ -31,8 +59,8 @@ RockUnit(anglex, anglez) turn base to z-axis <0> - anglez speed <50.005495>; wait-for-turn base around z-axis; wait-for-turn base around x-axis; - turn base to z-axis <0.0> speed <20.0>; - turn base to x-axis <0.0> speed <20.0>; + turn base to z-axis <0.000000> speed <20.000000>; + turn base to x-axis <0.000000> speed <20.000000>; } */ @@ -42,7 +70,11 @@ Create() hide smoke2; hide flare1; hide flare2; - + bMoving = FALSE; + moveSpeed = get (MAX_SPEED); + animSpeed = 100; + hide flare1; + hide flare2; gun_1 = flare1; turn exhaust1 to x-axis <-90> now; @@ -59,25 +91,32 @@ Create() turn exhaust6 to z-axis <45> now; restore_delay = 3000; + start-script UnitSpeed(); } +setSFXoccupy(state) +{ + terrain = state; +} -StartMoving(reversing) +StartMoving() { - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; - start-script Vehicle_Dirt_Ceg(); + bMoving = TRUE; + signal SIG_MOVE; + set-signal-mask SIG_MOVE; + start-script Smoke(); } StopMoving() { - signal SIGNAL_MOVE; + bMoving = FALSE; + signal SIG_MOVE; } -SetMaxReloadTime(reloadMS) +SetMaxReloadTime(Func_Var_1) { - restore_delay = reloadMS * 2; + restore_delay = Func_Var_1 * 2; } static-var Stunned; @@ -86,8 +125,8 @@ ExecuteRestoreAfterDelay() if (Stunned) { return (1); } - turn turret to y-axis <0.0> speed <35.005495>; - turn sleeves to x-axis <0.0> speed <15.0>; + turn turret to y-axis <0.000000> speed <35.005495>; + turn sleeves to x-axis <0.000000> speed <15.000000>; } SetStunned(State) { @@ -102,22 +141,22 @@ RestoreAfterDelay() start-script ExecuteRestoreAfterDelay(); } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; turn turret to y-axis heading speed <85.005495>; - turn sleeves to x-axis <0.0> - pitch speed <50.005495>; + turn sleeves to x-axis <0.000000> - pitch speed <50.005495>; wait-for-turn turret around y-axis; wait-for-turn sleeves around x-axis; start-script RestoreAfterDelay(); return (1); } -FlameLight(leftright) +FlameLight(Func_Var_1) { - if (leftright == 1) + if (Func_Var_1 == 1) { emit-sfx 1024 + 2 from exhaust4; emit-sfx 1024 + 2 from exhaust5; @@ -160,7 +199,7 @@ FlameLight(leftright) emit-sfx 1024 + 2 from exhaust6; sleep 32; } - if (leftright == 2) + if (Func_Var_1 == 2) { emit-sfx 1024 + 2 from exhaust1; emit-sfx 1024 + 2 from exhaust2; @@ -206,7 +245,7 @@ FlameLight(leftright) } -FireWeapon1() +FirePrimary() { if( gun_1 == 0 ) { @@ -215,7 +254,7 @@ FireWeapon1() //emit-sfx 1024 + 0 from flare1; sleep 334; //wait-for-move barrel1 along z-axis; - move barrel1 to z-axis [0.0] speed [4.5]; + move barrel1 to z-axis [0.000000] speed [4.5]; } if( gun_1 == 1 ) { @@ -224,23 +263,26 @@ FireWeapon1() //emit-sfx 1024 + 0 from flare2; sleep 334; wait-for-move barrel2 along z-axis; - move barrel2 to z-axis [0.0] speed [4.5]; + move barrel2 to z-axis [0.000000] speed [4.5]; } //sleep 234; gun_1 = !gun_1; } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = gun_1; + piecenum = gun_1; } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = sleeves; + piecenum = sleeves; } - +SweetSpot(piecenum) +{ + piecenum = base; +} Killed(severity, corpsetype) { @@ -251,6 +293,9 @@ Killed(severity, corpsetype) explode turret type BITMAPONLY | NOHEATCLOUD; explode sleeves type BITMAPONLY | NOHEATCLOUD; explode barrel1 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare1 type BITMAPONLY | NOHEATCLOUD; + //explode barrel2 type BITMAPONLY | NOHEATCLOUD; + //explode flare2 type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } if( severity <= 50 ) @@ -260,6 +305,9 @@ Killed(severity, corpsetype) explode turret type FALL | NOHEATCLOUD; explode sleeves type FIRE | SMOKE | FALL | NOHEATCLOUD; explode barrel1 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare1 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode barrel2 type FALL | NOHEATCLOUD; + //explode flare2 type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) @@ -269,6 +317,9 @@ Killed(severity, corpsetype) explode turret type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; explode sleeves type FIRE | SMOKE | FALL | NOHEATCLOUD; explode barrel1 type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode flare1 type SMOKE | FALL | NOHEATCLOUD; + //explode barrel2 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare2 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; @@ -276,5 +327,8 @@ Killed(severity, corpsetype) explode turret type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode sleeves type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode barrel1 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare1 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode barrel2 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare2 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/scavboss/corftiger.cob b/scripts/Units/scavboss/corftiger.cob index 71c4d3424fd76f7dfd395bd757f065a62037911e..d31d1ab8da5066fe64df56b34dbcc0735db31a3b 100644 GIT binary patch literal 6103 zcmeHLPly{;82^$@)3voaE&f}f7!b4t57}+?0 zzL__vh{%1wy}+ycMD7CR@BRBlZUXfOM4rHP8?+RZgAzAatHEO+ygth7S|#9`cBDQN zR8(#e>v}mTgH0YO=1Kdt|om!%KhFV?qQF9)#t+I?kYT{z>HmJjWTv{EaHm*B#hx(KgSf(6%PS;#&ETkyA(69O^@?RvU z_DHqnv}NxjdiwwtsUOS;>p@ZGPs+VhT=?4E^1RUUN@-l|xwId+hx?ngVdL}n={IkK zyixuZsE^vQZ#3344m-InHl5Fk&!NPm(3iIMn7dieFX#B*LX7t4Mr)GoL+%~s9_qpQ zpYwLsygX;+_FP?GJ?`b`PU|5-)x`sz_7o{)v_6z!4=`@}RzI@pW{i~cL`p(Rea(Ts z$maD~E)X|)Dnom`p5fjeHt;yJHYz*2yRsvJK4)oHc?W0%zbx;dW8KEPdj#*$2;Myz zUis$GuRe#BN56R<{VI=h$e8Ij&!gWwkA9VR1BO^1yjq0!f`mVKvQJ&#RDOemiEkb6g;(sJsS&Lr99Z+%w%h#&wT6inwyDVXb?GP`-UMi2F7P=jyW%q(Yd5w zn`_U-Zr7+M`O(w3m!Q^eE{}H~9mY%Bs8k@*eVC zzK1bny9cV2dw~Z8?a}Ru*99-5%QKJqbms~8Y&lclld|g5 zoh3&5lv>H!RawdTS3Bxoa6aRiQDcD{TN9qQR7SteTn&c%yhga`x7(C#6iy(``^$#d#{&Z@*`X_OuQ)h*M@8RP`7;c|0(Zx-+u-#^xU7 z@;W@HrsqeT0kiK2`@QPp|Ix=!|KrB5@oYm!W7PO3iBauLqO(_CO~&K%Is!q~MDMHK zmq~n4mo_xFaq6zJllaj(sO~s^@^u)MtJ-5M+9TuG&gVU;zWP- zmw|79LuiH*z(>Hxz-Pb>;49!K;8)-eU=9f!L@*8D0Cz62)feVq)TFOgn@DSW5=oE+V;e zbE(y7#H~&kZ^?2y?3m|Um(~+mZpB8~FAhw+r56xij-ym%Mzgb+v+jNpRcV26T00x6+Ml&SN&YSn- ziiq3;x|?f71pn@@Z$z$v{s27%$x$lR%BEz><^(lr6;rO4aZ29HOXN>i%^DW!9pN5& zIF@_$dJ!`?|YY`0h+NaEcN5tjIGv=aw`*6^w zNP9Dn2mWI_=QH%s6A_MLXdF3)aZg0(W&bQZAM8q4`5e2x#IyNgke4HQj6KT$QP=!g z4*C?kXZf_BC4!Z+fGZcSbg4NpN8ML$?Cr@7F^8ODs9TWTK0$VPg6xh7vO6cp?uumP zA4jDm3;+A%pan>9y$m0?xgSM9BU-!Fe5R8$nsBX zsI$=N1bwG~e&Mqk-y5-cZOzG0@&1^iqqErA(O2KcF62=^%6l*14%Am6 zkB=T3VN!=?QuFgqb3zB_xsxBst0wMKXN$Otci`nd-!E_>jHyf~c>dT&@t!>t@7X`x z*Rbl$+P6h5P`mwFjrWH3xa%MG%c}3WB|La>PjTMHd-ia==e*;-hPBvp`?mYFD)t83 zg!7*BnzN4QUgrC6GxVRxp>X!s9=;CD0VwIa(alKAcsCD&k5?$f?05doRYraz+ZZ#R zvmZ>stVWpb-8cnPY9$lvN&#Qb6kqT@i@$9ElfMI1C;m>0&zT=z2h+}r?~?~nvfR#II{SuA`n{dwt#~I3NjKTDt!B6PmX%|vO)@LZEJ?GK-kJ8!7WiIYS(~jS zyKA=7OIjz}T`P;bc4L^?H9N?9sh!`LgwJ za(in#lcjcQRs7n}rXkvfKz%9g;N0c jI*qW-%77U*{4y(ccRLvlvW7Cb0RpuFGo|S(9F1C~N diff --git a/scripts/Units/scavboss/corgatreap.bos b/scripts/Units/scavboss/corgatreap.bos index cec19d8cb44..9af8f729131 100644 --- a/scripts/Units/scavboss/corgatreap.bos +++ b/scripts/Units/scavboss/corgatreap.bos @@ -1,36 +1,90 @@ +#define TA // This is a TA script -#include "../../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece turret, smoke1, smoke2, base, flare, spindle, aimpoint; -static-var restore_delay, gun_1, aimy1velocity, aimy1target, aimy1position; +static-var bMoving, moveSpeed, currentSpeed, animSpeed, terrain, restore_delay, gun_1, aimy1velocity, aimy1target, aimy1position; // Signal definitions -#define SIGNAL_AIM1 256 -#define SIGNAL_MOVE 1 +#define SIG_AIM 2 +#define SIG_MOVE 4 -#define VD_PIECE1 smoke1 -#define VD_PIECE2 smoke2 -#define VD_AMPHIBIOUS -#define VD_DIRTCEG 1024 + 1 -#include "../../vehicle_dirt_cegs.h" +UnitSpeed() +{ + while(TRUE) + { + currentSpeed = (get CURRENT_SPEED)*20/moveSpeed; + if (currentSpeed<4) currentSpeed=4; + animSpeed = 1600 / currentSpeed; + sleep 142; + } +} + +Smoke() +{ + while( TRUE ) + { + if ( bMoving ) + { + if( terrain == 4 ) + { + emit-sfx 1024 + 1 from smoke1; + emit-sfx 1024 + 1 from smoke2; + } + } + sleep animSpeed; + } +} + +SmokeUnit(healthpercent, sleeptime, smoketype) +{ + while( get BUILD_PERCENT_LEFT ) + { + sleep 400; + } + while( TRUE ) + { + healthpercent = get HEALTH; + if( healthpercent < 66 ) + { + smoketype = 256 | 2; + if( Rand( 1, 66 ) < healthpercent ) + { + smoketype = 256 | 1; + } + emit-sfx smoketype from base; + } + sleeptime = healthpercent * 50; + if( sleeptime < 200 ) + { + sleeptime = 200; + } + sleep sleeptime; + } +} + Create() { hide aimpoint; hide flare; hide smoke1; hide smoke2; + bMoving = FALSE; + moveSpeed = get (MAX_SPEED); + animSpeed = 100; hide flare; gun_1 = 0; aimy1velocity = 0; aimy1target = 0; aimy1position = 0; restore_delay = 3000; - call-script CATT1_Init(); + start-script SmokeUnit(); } #define BASEPIECE base @@ -38,26 +92,81 @@ Create() //how 'heavy' the unit is, on a scale of 1-10 #define UNITSIZE 7 #define MAXTILT 100 -#define RECOIL_POWER 20000 -#include "../../unit_hitbyweaponid_and_smoke.h" +HitByWeapon(anglex, anglez, damage) // angle[x|z] is always [-500;500], damage is multiplied by 100 +{ + var amount;//, speedz, speedx; + amount = damage / (100 * UNITSIZE); + if (amount < 3 ) return (0); + if (amount > MAXTILT) amount = MAXTILT; + //get PRINT(anglex, anglez, amount, damage); + //speedz = HITSPEED * get ABS(anglez) / 500; //nevermind this, the random error this produces actually looks better than the accurate version + turn BASEPIECE to z-axis (anglez * amount) / 100 speed HITSPEED; + turn BASEPIECE to x-axis <0> - (anglex * amount) /100 speed HITSPEED; + wait-for-turn BASEPIECE around z-axis; + wait-for-turn BASEPIECE around x-axis; + turn BASEPIECE to z-axis <0.000000> speed HITSPEED / 4; + turn BASEPIECE to x-axis <0.000000> speed HITSPEED / 4; +} +HitByWeaponId(anglex, anglez, weaponid, dmg) //weaponID is always 0,lasers and flamers give angles of 0 +{ + start-script HitByWeapon(dmg, anglez,anglex); //I dont know why param order must be switched, and this also runs a frame later :( + return (100); //return damage percent +} +RockUnit(anglex, anglez) +{ + turn base to x-axis anglex speed <50.005495>; + turn base to z-axis <0> - anglez speed <50.005495>; + wait-for-turn base around z-axis; + wait-for-turn base around x-axis; + turn base to z-axis <0.000000> speed <20.000000>; + turn base to x-axis <0.000000> speed <20.000000>; +} -StartMoving(reversing) +/* PositionSpindle() { - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; - start-script Vehicle_Dirt_Ceg(); + turn spindle to z-axis <120.027473>*gun_1 speed <400.093407>; + + if( gun_1 == 1 ) + { + turn spindle to z-axis <0.000000> speed <400.093407>; + } + else if( gun_1 == 2 ) + { + turn spindle to z-axis <120.027473> speed <400.093407>; + } + else if( gun_1 == 3 ) + { + turn spindle to z-axis <-120.027473> speed <400.093407>; + } + //wait-for-turn spindle around z-axis; + +} */ + +setSFXoccupy(state) +{ + terrain = state; +} + +StartMoving() +{ + bMoving = TRUE; + signal SIG_MOVE; + set-signal-mask SIG_MOVE; + start-script Smoke(); + start-script UnitSpeed(); } StopMoving() { - signal SIGNAL_MOVE; + bMoving = FALSE; + signal SIG_MOVE; } -SetMaxReloadTime(reloadMS) +SetMaxReloadTime(Func_Var_1) { - restore_delay = reloadMS * 2; + restore_delay = Func_Var_1 * 2; } static-var Stunned; @@ -66,9 +175,9 @@ ExecuteRestoreAfterDelay() if (Stunned) { return (1); } - turn turret to y-axis <0.0> speed <35.005495>; - turn turret to x-axis <0.0> speed <35.005495>; - //turn sleeves to x-axis <0.0> speed <15.0>; + turn turret to y-axis <0.000000> speed <35.005495>; + turn turret to x-axis <0.000000> speed <35.005495>; + //turn sleeves to x-axis <0.000000> speed <15.000000>; } SetStunned(State) { @@ -89,28 +198,69 @@ RestoreAfterDelay() // A high precision requirement can result in overshoots if desired // (c) CC BY NC ND Beherith mysterme@gmail.com -#define CATT1_PIECE_X turret -#define CATT1_PIECE_Y turret - -#define CATT1_MAX_VELOCITY <9.0> -#define CATT1_ACCELERATION <0.2> -#define CATT1_JERK <1.0> -#define CATT1_PRECISION <1.2> -#define CATT1_RESTORE_SPEED <3.0> -#define CATT1_PITCH_SPEED <45> - -#include "../../constant_acceleration_turret_turning_1.h" +#define MAX_AIMY1_VELOCITY <9.00> +#define AIMY1_ACCELERATION <0.2> +#define AIMY1_JERK <1.0> +#define AIMY1_PRECISION <1.2> +static-var aimy1delta, timetozero, deceleratethreshold, gameFrame; AimWeapon1(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + + signal SIG_AIM; + set-signal-mask SIG_AIM; //We can do this any time - call-script CATT1_Aim(heading,pitch); + turn turret to x-axis <0.000000> - pitch speed <45.000000>; + + aimy1target = heading; + aimy1delta = aimy1position - aimy1target; + + while( ( get ABS(aimy1delta) > AIMY1_PRECISION ) OR (get ABS(aimy1velocity) > AIMY1_JERK)){ + if (gameFrame != get(GAME_FRAME)){ //this is to make sure we dont get double-called, as previous aimweapon thread runs before new aimweaponthread can signal-kill previous one + gameFrame = get(GAME_FRAME); + + //Clamp aimy1position and aimy1delta between <-180>;<180> + while (aimy1position > <180>) aimy1position = aimy1position - <360>; + while (aimy1position < <-180>) aimy1position = aimy1position + <360>; + while (aimy1delta > <180>) aimy1delta = aimy1delta - <360>; + while (aimy1delta < <-180>) aimy1delta = aimy1delta + <360>; + + //number of frames required to decelerate to 0 + timetozero = get ABS(aimy1velocity) / AIMY1_ACCELERATION; + + //distance from target where we should start decelerating, always 'positive' + //pos = t * v - (t*(t-1)*a/2) + deceleratethreshold = timetozero * (get ABS(aimy1velocity)) - (timetozero * (timetozero - 1) * AIMY1_ACCELERATION / 2); + + //get PRINT ( aimy1delta , deceleratethreshold, aimy1velocity, timetozero ); + + if (get ABS(aimy1delta) <= deceleratethreshold){ //we need to decelerate + if (aimy1velocity > 0) aimy1velocity = aimy1velocity - AIMY1_ACCELERATION; + else aimy1velocity = aimy1velocity + AIMY1_ACCELERATION; + } + else //we need to accelerate + { + if (aimy1delta > 0) aimy1velocity = get MIN( MAX_AIMY1_VELOCITY, aimy1velocity + AIMY1_ACCELERATION); + else aimy1velocity = get MAX((-1) * MAX_AIMY1_VELOCITY, aimy1velocity - AIMY1_ACCELERATION); + } + + //Apply jerk at very low velocities + if (get ABS(aimy1velocity) < AIMY1_JERK){ + if ((aimy1delta > AIMY1_JERK)) aimy1velocity = AIMY1_JERK; + if ((aimy1delta < (-1) * AIMY1_JERK)) aimy1velocity = (-1) * AIMY1_JERK; + } + + aimy1position = aimy1position + aimy1velocity; + turn turret to y-axis aimy1position now; + aimy1delta = aimy1target - aimy1position ; + } + sleep 30; + } + aimy1velocity = 0; return (1); } -FireWeapon1() +FirePrimary() { ++gun_1; if( gun_1 >= 3 ) @@ -122,16 +272,19 @@ FireWeapon1() //start-script PositionSpindle(); } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = flare; + piecenum = flare; } +SweetSpot(piecenum) +{ + piecenum = base; +} - -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = aimpoint; + piecenum = aimpoint; } Killed(severity, corpsetype) @@ -141,6 +294,11 @@ Killed(severity, corpsetype) corpsetype = 1 ; explode base type BITMAPONLY | NOHEATCLOUD; explode turret type BITMAPONLY | NOHEATCLOUD; + //explode sleeves type BITMAPONLY | NOHEATCLOUD; + //explode barrel1 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare1 type BITMAPONLY | NOHEATCLOUD; + //explode barrel2 type BITMAPONLY | NOHEATCLOUD; + //explode flare2 type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } if( severity <= 50 ) @@ -148,6 +306,11 @@ Killed(severity, corpsetype) corpsetype = 2 ; explode base type BITMAPONLY | NOHEATCLOUD; explode turret type FALL | NOHEATCLOUD; + //explode sleeves type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode barrel1 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare1 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode barrel2 type FALL | NOHEATCLOUD; + //explode flare2 type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) @@ -155,10 +318,20 @@ Killed(severity, corpsetype) corpsetype = 3 ; explode base type FIRE | SMOKE | FALL | NOHEATCLOUD; explode turret type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode sleeves type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode barrel1 type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode flare1 type SMOKE | FALL | NOHEATCLOUD; + //explode barrel2 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare2 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; explode base type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode turret type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode sleeves type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode barrel1 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare1 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode barrel2 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare2 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/scavboss/corgatreap.cob b/scripts/Units/scavboss/corgatreap.cob index 3d2dae79b5145ddb6c7b7b2e3776cad7a7a54cd2..b9300a227d2b77df9fb4c73182f2f9ff329356f8 100644 GIT binary patch literal 4464 zcmb7{%WGX#6vlTRO=^AgDB=sX7bQ6YtCVvp$q_L)qP8%@;D6RDT&DIb;>ms z=j89=m0BWE+5s*iT29;r%eq zeShTFUk%vRxo({&Wn;a2HQGA`AT}7?+<^D9UK1N#@bjw>`Vss8aw$f@vK52eKCXH~ z?J1VynzP>E#1Eb2`wm^q@t%fYKvuT3URZx{^SzvNnYMuHabdrR2W+mpk5IE`;KZk& z^c$JsSdfUhU$+&()q#C{Hi#=ban7Qpt+ES9woNr{lLEP|Dp}J$U{DQ z$R4LR)?+w&k3079_b9`K_{1|i;<;+r%YSKzFEWeC{J$exYh=FUHd`>bN?hj{10VF7 z`t>#Lab4lN<&T|KEYy>X84_<(gI|wwjf@{tQ?3p6pMilg=fu|-_eo6K z-IMf*dj*`_CvfKMD|Fx_=9^Jxb4(1oaaRp*?@uUo{!_p7E;D=M=J!?fbL*j3hjmcE zqiySRy@kHQ8y573q$h^S!Hcccg6^MJB#3v>&1zDrySz!fP$#wXh7Xr)4z6!*+S_qY zN$35u?f#a-`jqB>Ao`mw&5w-ymcwk){EzhVkNM4?9Mo;=wU@r%<#UHRuF;qt!S@q~ zyW9MXeQhbH^#C(`Q_h|t4?eCE_QS`qKWWXj_8*jV9!JcJ zJ-xrs%O>{MY`%{+DK^V-Njh-8u5j>0J?LOGJU*x5^{k~D-(TS%2R3iSIGg%eJnQqe zn5tv9nCSMiAN)DYLQnrL)!RLzb3@r55hpUv9+;@tdSkeQkJdSf38u0>jbV3@?|WPW zllimy&DQ-)&h!qm{bV@q6fXO=`&k>(dS&^T`+cf+fLQh&=4CNAvQ($5M|&pp=-zk_ zAtI*ve~zHq=hxi+0sRzeyda&%IFTb6) zk|ds`W~_-G;135+CGvG~zVBT&-2LvWNQBM0xak;nzg5&<`+mUAf3wGY@5FrcVXyh< z&3^LD119FX81sp3%SWS$>EA%r$Cy0SQ_h7iGF!X7_z)`X2mWOY7SAtw%)6J^Wjy=! zFJogqBAO6=B>F*gR2$)b(X*mlv?_W{bYAqS=u6SpqMHO}R5T`<5KW2ryZs5#GonRN zL$oG(TeKm%Ao@)7h3H$+FQPw1|B8n62kZ@^Bcc(}sOUk_xM)&zM)b7kIni0sY_nd> zwDWwy%`{r)^6)=G_fRLV6}g+J7bn-A%xmpdGaWy=;HF#i=e*@|Ud)U?)taAQX|K7N zqSh%UTQAm|XEkoMZI~C6wbki-sa0DzQ*Y$%)M`GzQsmS5a?$GKCl-sm^KiaYQvgLP zR+>#gx>9+f-UwKZx$$}@pX$^bwa%J*d?oL!*<|LWTp`-6!pVBP(`uOFbbV<_QHzyM mCokMG^&SiCxO={~oV&%PS|@kQ?Rs-zDR;Gcqur`E3-><^VON|0 literal 4544 zcma)9(E6vuBr7*J84i3UwjM|4G8OxY`~MFKV$><2E}vGc$Q)0tuVO6bBsA`%yh z3lkP9gayX9k;Da>XpD&lm%7jmF~r0T#tl0)LF@l_-#u?`A1!6b$vO9Y{LjbzcxBi* z_poTQ=#L@i?iJ_v(}T`c6X&|3XSIGu+*JpYfn+e5z@a*v4AutG7Wx6?xk@rAhTr3? z<%diTR~wQPVn!v`geNsRIDW(UC7Tj(o{Dtli_aDnYcWnZMXn^5eI1hHnC;-I7I4P` z?huYQU6I??gC#p_H(E&!1pNR-Msc>bxOiRESsO^eV9wMl=G?)G>TyX0S={$7?&}x# zd4t|!hHL#<5ysl`+FILKEL zseWW%ci3lU>uUM_eJD|~Z#`NaRxjND zlMnb`Gn{bN5Mvt{cGkX<*srm&3d83JJzWic=r~_C`~RL?T`PLdJD5IRHMpwFdkPrD zSWfC9#Ok{}wjYlleG+?GBAk68mU$XxnY&tk7tL3$8~VmR#M86Qp1md~>-FlUh8sA9 zSb(Lr4*02e&=p#PEU{znvZ7cfOe5@AJ5s$8Xw!EG@8fMLG zc|YEe0QN9zoqJ}22tFJev$1<{DEOnYv+nyuA^bSbV}|#y9_6td#7W)Hk#NK8Zsd3C zScn_IQSX#L=X!gVf_^a4TP(P{sE0XdA9$;F2Y=KySIh6Z`P~P~ozjeSFA@30y_NmF zLzrot+wKeVDPz!K{zg`kk3&s9uW-Qs{n03=?wF4cb*yD8zV=>frYj?i}>x;2tdqUjK z{Y(UxqV!AFig)(@UDzw#5WBj9Harye`M8_kJ#idxI@#h%Izp3fCzeEqj4>?!Y} z<&68r4Smf0w@*6%mR9q*Ul(AxXS*}Mlx)6^FlTz>j{LfoPm=G2`D|9ga&4C5FU3>m zo1xyrdbr|xd`{u5)r;L5|2L^};Bz|QeDII%vevc-R{NcBu-)z6;p@+M_|DZzJr?JG zu9EBswV|_`<9YB6FYvU__V*l^=wFiE;^>KY(R$-PU_%F{SaE0Kdv9^>+tuHeDgm|p zTR9r`0+r?CTW~)L{iwwYde7}$@;VM|H-FCY?7PRL5RJ##0_H;CTias zLg<&Zj_11e_#2GxW5ibTnm-FQQ!DsZ^F@4;&HhdjV{6pK?3CZ;iI4vqC*Xb`aOvkx zxZDf!z}CZ^#~5(01zfRJxF6vY)q6IqVKFXsmSZmjU-Z~*U5;g~ZF9?_PeeO4tmj3i zMDL2;7hMot5nUDiD7r4%sUb`XydgRxIx9LS;{W~UMVCaMi@p*4Ao^MKo9Iu`Ezu+T zPhwTHOZ1#*LNp_q6SYLkqPIowiOz}6i!O;i6LSv zJxkrbX7vDhKRVNHW^PY?p?)N7Of7Vdrfw>$_p$?>W%5Tk14W?b$aR8;VkX#Nn7=0H; + turn base to z-axis <0> - anglez speed <50.005495>; + wait-for-turn base around z-axis; + wait-for-turn base around x-axis; + turn base to z-axis <0.000000> speed <20.000000>; + turn base to x-axis <0.000000> speed <20.000000>; + } +} #define BASEPIECE base -#define HITSPEED <25.0> +#define HITSPEED <45.0> //how 'heavy' the unit is, on a scale of 1-10 #define UNITSIZE 10 #define MAXTILT 100 -#define RECOIL_POWER 50000 -#include "../../unit_hitbyweaponid_and_smoke.h" +HitByWeapon(anglex, anglez, damage) // angle[x|z] is always [-500;500], damage is multiplied by 100 +{ + var amount;//, speedz, speedx; + amount = damage / (100 * UNITSIZE); + if (amount < 3 ) return (0); + if (amount > MAXTILT) amount = MAXTILT; + //get PRINT(anglex, anglez, amount, damage); + //speedz = HITSPEED * get ABS(anglez) / 500; //nevermind this, the random error this produces actually looks better than the accurate version + turn BASEPIECE to z-axis (anglez * amount) / 100 speed HITSPEED; + turn BASEPIECE to x-axis <0> - (anglex * amount) /100 speed HITSPEED; + wait-for-turn BASEPIECE around z-axis; + wait-for-turn BASEPIECE around x-axis; + turn BASEPIECE to z-axis <0.000000> speed HITSPEED / 4; + turn BASEPIECE to x-axis <0.000000> speed HITSPEED / 4; + + + +} +HitByWeaponId(anglex, anglez, weaponid, dmg) //weaponID is always 0,lasers and flamers give angles of 0 +{ + + + //get PRINT(dmg, waslaughing, islaughing, willlaughing); + if ((dmg<5000) AND (waslaughing==0) AND (islaughing==0) AND (willlaughing==0)) { + //get PRINT(123); + start-script startLaughing(); + } + + if ((dmg>90000) AND (willlaughing==0) AND (islaughing==1)) { + start-script stopLaughing(); + } + + healthperc = get HEALTH; + if ((islaughing==1) AND (healthperc < 5)) { + start-script stopLaughing(); + } + + + + start-script HitByWeapon(dmg, anglez,anglex); //I dont know why param order must be switched, and this also runs a frame later :( + return (100); //return damage percent +} startLaughing (){ @@ -47,7 +145,7 @@ stopLaughing (){ waslaughing = 1; //animate flag out - move flag to y-axis [0] speed [200.0];//start is 14 abs, 0 rel... + move flag to y-axis [0] speed [200.000000];//start is 14 abs, 0 rel... sleep 1000; hide flag; @@ -58,8 +156,8 @@ stopLaughing (){ //tickled logic, rolling 10s reset every light damage, cancel the reset if more happens tickle() { - signal SIGNAL_TICKLE; - set-signal-mask SIGNAL_TICKLE; + signal SIG_TICKLE; + set-signal-mask SIG_TICKLE; sleep 10000; start-script stopLaughing(); } @@ -79,9 +177,14 @@ Create() hide flare; hide smoke1; hide smoke2; + bMoving = FALSE; + moveSpeed = get (MAX_SPEED); + animSpeed = 100; lastfired = 0; + hide flare; hide flag; restore_delay = 3000; + start-script SmokeUnit(); last_lball_heading = -1000000; last_rball_heading = -1000000; willlaughing=0; @@ -89,22 +192,25 @@ Create() waslaughing=0; } -StartMoving(reversing) +StartMoving() { - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; - start-script Vehicle_Dirt_Ceg(); + bMoving = TRUE; + signal SIG_MOVE; + set-signal-mask SIG_MOVE; + start-script Smoke(); + start-script UnitSpeed(); } StopMoving() { - signal SIGNAL_MOVE; + signal SIG_MOVE; + bMoving = FALSE; } -SetMaxReloadTime(reloadMS) +SetMaxReloadTime(Func_Var_1) { - restore_delay = reloadMS * 2; + restore_delay = Func_Var_1 * 2; } static-var Stunned; @@ -113,8 +219,8 @@ ExecuteRestoreAfterDelay() if (Stunned) { return (1); } - turn turret to y-axis <0.0> speed <35.005495>; - turn sleeve to x-axis <0.0> speed <15.0>; + turn turret to y-axis <0.000000> speed <35.005495>; + turn sleeve to x-axis <0.000000> speed <15.000000>; } @@ -134,68 +240,68 @@ RestoreAfterDelay() RestoreAfterDelay_lspon() { - set-signal-mask SIGNAL_AIM2; //ensures restore animation is killed if this weapon is aimed + set-signal-mask SIG_AIML; //ensures restore animation is killed if this weapon is aimed sleep restore_delay; //large negative values to let wait-for-turn happen on first target last_lball_heading = -1000000; turn lball to y-axis <0> speed <90>; - turn lbarrel to x-axis <0.0> speed <15>; + turn lbarrel to x-axis <0.000000> speed <15>; } RestoreAfterDelay_rspon() { - set-signal-mask SIGNAL_AIM3; //ensures restore animation is killed if this weapon is aimed + set-signal-mask SIG_AIMR; //ensures restore animation is killed if this weapon is aimed sleep restore_delay; //large negative values to let wait-for-turn happen on first target last_rball_heading = -1000000; turn rball to y-axis <0> speed <90>; - turn rbarrel to x-axis <0.0> speed <15>; + turn rbarrel to x-axis <0.000000> speed <15>; } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; - turn turret to y-axis heading speed <40.0>; - turn sleeve to x-axis <0.0> - pitch speed <45.0>; + signal SIG_AIM; + set-signal-mask SIG_AIM; + turn turret to y-axis heading speed <40.000000>; + turn sleeve to x-axis <0.000000> - pitch speed <45.000000>; wait-for-turn turret around y-axis; wait-for-turn sleeve around x-axis; start-script RestoreAfterDelay(); return (1);//*/ } -FireWeapon1() +FirePrimary() { lastfired = 1; emit-sfx 1024 + 0 from flare; - move barrel to z-axis [-2.400000] speed [500.0]; + move barrel to z-axis [-2.400000] speed [500.000000]; emit-sfx 1024 + 0 from flare; wait-for-move barrel along z-axis; - move barrel to z-axis [0.0] speed [3.0];//*/ + move barrel to z-axis [0.000000] speed [3.000000];//*/ } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = turret; + piecenum = turret; } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = flare; + piecenum = flare; } //left -AimWeapon2(heading, pitch) +AimSecondary(heading, pitch) { @@ -207,8 +313,8 @@ AimWeapon2(heading, pitch) { return (0); } - signal SIGNAL_AIM2; - set-signal-mask SIGNAL_AIM2; + signal SIG_AIML; + set-signal-mask SIG_AIML; // values in <> are degrees per second // otherwise angles are in COB angular unit (cau) - There are 65536 cau in a circle @@ -224,36 +330,36 @@ AimWeapon2(heading, pitch) //return (1); //get PRINT(get GAME_FRAME, heading, pitch); - turn lbarrel to x-axis <0.0> - pitch speed <80.0>; + turn lbarrel to x-axis <0.000000> - pitch speed <80.000000>; wait-for-turn lbarrel around x-axis; //get PRINT(321); start-script RestoreAfterDelay_lspon(); return (1); } -FireWeapon2() +FireSecondary() { lastfired = 2; move lbarrel to z-axis [-1] speed [62.500000]; wait-for-move lbarrel along z-axis; - move lbarrel to z-axis [0.0] speed [4.0]; + move lbarrel to z-axis [0.000000] speed [4.000000]; } -AimFromWeapon2(pieceIndex) +AimFromSecondary(piecenum) { - pieceIndex = lball; + piecenum = lball; } -QueryWeapon2(pieceIndex) +QuerySecondary(piecenum) { - pieceIndex = lflare; + piecenum = lflare; } -AimWeapon3(heading, pitch) +AimTertiary(heading, pitch) { //get PRINT(heading); @@ -265,8 +371,8 @@ AimWeapon3(heading, pitch) { return (0); } - signal SIGNAL_AIM3; - set-signal-mask SIGNAL_AIM3; + signal SIG_AIMR; + set-signal-mask SIG_AIMR; // values in <> are degrees per second // otherwise angles are in COB angular unit (cau) - There are 65536 cau in a circle // In general, 6 cau per frame ~= 1 degree per second @@ -281,7 +387,7 @@ AimWeapon3(heading, pitch) //get PRINT(get GAME_FRAME, heading, pitch); - turn rbarrel to x-axis <0.0> - pitch speed <80.0>; + turn rbarrel to x-axis <0.000000> - pitch speed <80.000000>; wait-for-turn rbarrel around x-axis; @@ -292,22 +398,22 @@ AimWeapon3(heading, pitch) -FireWeapon3() +FireTertiary() { lastfired=3; move rbarrel to z-axis [-1] speed [62.500000]; wait-for-move rbarrel along z-axis; - move rbarrel to z-axis [0.0] speed [4.0]; + move rbarrel to z-axis [0.000000] speed [4.000000]; } -AimFromWeapon3(pieceIndex) +AimFromTertiary(piecenum) { - pieceIndex = rball; + piecenum = rball; } -QueryWeapon3(pieceIndex) +QueryTertiary(piecenum) { - pieceIndex = rflare; + piecenum = rflare; } @@ -324,7 +430,10 @@ QueryWeapon3(pieceIndex) - +SweetSpot(piecenum) +{ + piecenum = base; +} Killed(severity, corpsetype) { @@ -337,6 +446,7 @@ Killed(severity, corpsetype) explode barrel type FIRE | SMOKE | FALL | NOHEATCLOUD; explode lbarrel type FIRE | SMOKE | FALL | NOHEATCLOUD; explode rbarrel type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } if( severity <= 50 ) @@ -350,6 +460,7 @@ Killed(severity, corpsetype) explode rbarrel type FIRE | SMOKE | FALL | NOHEATCLOUD; explode lball type FIRE | SMOKE | FALL | NOHEATCLOUD; explode rball type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) @@ -363,6 +474,7 @@ Killed(severity, corpsetype) explode rbarrel type FIRE | SMOKE | FALL | NOHEATCLOUD; explode lball type FIRE | SMOKE | FALL | NOHEATCLOUD; explode rball type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare type SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; @@ -370,5 +482,6 @@ Killed(severity, corpsetype) explode turret type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode sleeve type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode barrel type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/scavboss/corkarganetht4.bos b/scripts/Units/scavboss/corkarganetht4.bos index aff3f1713bd..5b12a01e2cb 100644 --- a/scripts/Units/scavboss/corkarganetht4.bos +++ b/scripts/Units/scavboss/corkarganetht4.bos @@ -1,27 +1,29 @@ +#define TA // This is a TA script -#include "../../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece pelvis, rfhip, rfleg, rffoot, lmhip, lmleg, lmfoot, lbhip, lbleg, lbfoot, lfhip, lfleg, lffoot, rbhip, rbleg, rbfoot, rmhip, rmleg, rmfoot, turret, shoulder, rlauncher, rbarrel1, flare1, rbarrel2, flare3, llauncher, lbarrel1, flare2, lbarrel2, flare4, aacover, aimy1, aimx1; -static-var isMoving, isAiming, animSpeed, maxSpeed, animFramesPerKeyframe, gun_1, wpnheading; +static-var bMoving, bAiming, animSpeed, maxSpeed, animFramesPerKeyframe, gun_1, wpnheading; // Signal definitions -#define SIGNAL_AIM1 256 -#define SIGNAL_MOVE 1 +#define SIG_AIM 2 +#define SIG_WALK 4 Walk() {// For C:\Users\PtaQ\Desktop\Dropbox\BAR\Remoddeling\Reanimating\corkarg.blend Created by https://github.com/Beherith/Skeletor_S3O V((0, 2, 8)) - if (isMoving) { //Frame:6 - turn lbfoot to z-axis <-11.433307> speed <707.0> / animSpeed; //delta=-23.57 + if (bMoving) { //Frame:6 + turn lbfoot to z-axis <-11.433307> speed <707.000778> / animSpeed; //delta=-23.57 turn lbhip to y-axis <-0.286453> speed <1358.593628> / animSpeed; //delta=-45.29 turn lbleg to z-axis <-9.263622> speed <517.908622> / animSpeed; //delta=17.26 turn lffoot to z-axis <-59.009843> speed <510.295249> / animSpeed; //delta=17.01 turn lfhip to y-axis <-55.078676> speed <152.360278> / animSpeed; //delta=-5.08 turn lfleg to z-axis <16.273923> speed <38.217675> / animSpeed; //delta=-1.27 - turn llauncher to y-axis <0.0> speed <149.999996> / animSpeed; //delta=-5.00 + turn llauncher to y-axis <0.000000> speed <149.999996> / animSpeed; //delta=-5.00 turn lmfoot to z-axis <-52.301176> speed <219.035253> / animSpeed; //delta=7.30 turn lmhip to y-axis <19.631905> speed <588.957155> / animSpeed; //delta=19.63 turn lmleg to z-axis <22.155638> speed <214.669123> / animSpeed; //delta=-7.16 @@ -35,11 +37,11 @@ Walk() {// For C:\Users\PtaQ\Desktop\Dropbox\BAR\Remoddeling\Reanimating\corkarg turn rmhip to y-axis <21.942801> speed <658.284019> / animSpeed; //delta=21.94 turn rmleg to z-axis <-20.320197> speed <159.605897> / animSpeed; //delta=5.32 turn shoulder to x-axis <-0.099338> speed <6.221768> / animSpeed; //delta=0.21 - turn turret to z-axis <0.400000> speed <12.0> / animSpeed; //delta=-0.40 + turn turret to z-axis <0.400000> speed <12.000000> / animSpeed; //delta=-0.40 sleep ((33*animSpeed) -1); } - while(isMoving) { - if (isMoving) { //Frame:11 + while(bMoving) { + if (bMoving) { //Frame:11 turn lbfoot to z-axis <-19.620212> speed <245.607139> / animSpeed; //delta=8.19 turn lbhip to y-axis <-3.589625> speed <99.095164> / animSpeed; //delta=-3.30 turn lbleg to z-axis <2.135972> speed <341.987802> / animSpeed; //delta=-11.40 @@ -61,11 +63,11 @@ Walk() {// For C:\Users\PtaQ\Desktop\Dropbox\BAR\Remoddeling\Reanimating\corkarg turn rmhip to y-axis <17.904151> speed <121.159496> / animSpeed; //delta=-4.04 turn rmleg to z-axis <-17.605352> speed <81.445344> / animSpeed; //delta=-2.71 turn shoulder to x-axis <0.233542> speed <9.986381> / animSpeed; //delta=-0.33 - turn turret to z-axis <0.800000> speed <12.0> / animSpeed; //delta=-0.40 - turn turret to y-axis <0.500000> speed <15.0> / animSpeed; //delta=0.50 + turn turret to z-axis <0.800000> speed <12.000000> / animSpeed; //delta=-0.40 + turn turret to y-axis <0.500000> speed <15.000000> / animSpeed; //delta=0.50 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:16 + if (bMoving) { //Frame:16 turn lbfoot to z-axis <-23.720323> speed <123.003340> / animSpeed; //delta=4.10 turn lbhip to y-axis <-2.043328> speed <46.388903> / animSpeed; //delta=1.55 turn lbleg to z-axis <3.558429> speed <42.673707> / animSpeed; //delta=-1.42 @@ -88,11 +90,11 @@ Walk() {// For C:\Users\PtaQ\Desktop\Dropbox\BAR\Remoddeling\Reanimating\corkarg turn rmhip to y-axis <13.865500> speed <121.159522> / animSpeed; //delta=-4.04 turn rmleg to z-axis <-14.890504> speed <81.445447> / animSpeed; //delta=-2.71 turn shoulder to x-axis <0.566421> speed <9.986382> / animSpeed; //delta=-0.33 - turn turret to z-axis <1.200000> speed <12.0> / animSpeed; //delta=-0.40 - turn turret to y-axis <1.0> speed <15.0> / animSpeed; //delta=0.50 + turn turret to z-axis <1.200000> speed <12.000000> / animSpeed; //delta=-0.40 + turn turret to y-axis <1.000000> speed <15.000000> / animSpeed; //delta=0.50 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:21 + if (bMoving) { //Frame:21 turn lbfoot to z-axis <-16.492328> speed <216.839843> / animSpeed; //delta=-7.23 turn lbhip to y-axis <4.397770> speed <193.232954> / animSpeed; //delta=6.44 turn lbleg to z-axis <-3.138384> speed <200.904367> / animSpeed; //delta=6.70 @@ -116,11 +118,11 @@ Walk() {// For C:\Users\PtaQ\Desktop\Dropbox\BAR\Remoddeling\Reanimating\corkarg turn rmleg to z-axis <-10.295626> speed <137.846348> / animSpeed; //delta=-4.59 turn shoulder to x-axis <1.260909> speed <20.834635> / animSpeed; //delta=-0.69 move turret to y-axis [0.737093] speed [7.500000] / animSpeed; //delta=-0.25 - turn turret to x-axis <1.0> speed <30.0> / animSpeed; //delta=-1.00 - turn turret to z-axis <1.600000> speed <12.0> / animSpeed; //delta=-0.40 + turn turret to x-axis <1.000000> speed <30.000000> / animSpeed; //delta=-1.00 + turn turret to z-axis <1.600000> speed <12.000000> / animSpeed; //delta=-0.40 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:26 + if (bMoving) { //Frame:26 turn lbfoot to z-axis <-21.852251> speed <160.797679> / animSpeed; //delta=5.36 turn lbhip to y-axis <9.133693> speed <142.077676> / animSpeed; //delta=4.74 turn lbleg to z-axis <0.557655> speed <110.881171> / animSpeed; //delta=-3.70 @@ -144,11 +146,11 @@ Walk() {// For C:\Users\PtaQ\Desktop\Dropbox\BAR\Remoddeling\Reanimating\corkarg turn rmleg to z-axis <-5.700750> speed <137.846272> / animSpeed; //delta=-4.59 turn shoulder to x-axis <1.955397> speed <20.834636> / animSpeed; //delta=-0.69 move turret to y-axis [0.487093] speed [7.500000] / animSpeed; //delta=-0.25 - turn turret to x-axis <2.0> speed <30.0> / animSpeed; //delta=-1.00 - turn turret to z-axis <2.0> speed <12.0> / animSpeed; //delta=-0.40 + turn turret to x-axis <2.000000> speed <30.000000> / animSpeed; //delta=-1.00 + turn turret to z-axis <2.000000> speed <12.000000> / animSpeed; //delta=-0.40 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:31 + if (bMoving) { //Frame:31 turn lbfoot to z-axis <-27.212181> speed <160.797884> / animSpeed; //delta=5.36 turn lbhip to y-axis <13.869614> speed <142.077651> / animSpeed; //delta=4.74 turn lbleg to z-axis <4.253695> speed <110.881171> / animSpeed; //delta=-3.70 @@ -177,7 +179,7 @@ Walk() {// For C:\Users\PtaQ\Desktop\Dropbox\BAR\Remoddeling\Reanimating\corkarg turn turret to y-axis <0.750000> speed <7.499999> / animSpeed; //delta=-0.25 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:36 + if (bMoving) { //Frame:36 turn lbfoot to z-axis <-32.231116> speed <150.568071> / animSpeed; //delta=5.02 turn lbhip to y-axis <18.620540> speed <142.527777> / animSpeed; //delta=4.75 turn lbleg to z-axis <7.895835> speed <109.264222> / animSpeed; //delta=-3.64 @@ -201,12 +203,12 @@ Walk() {// For C:\Users\PtaQ\Desktop\Dropbox\BAR\Remoddeling\Reanimating\corkarg turn rmleg to z-axis <-8.108981> speed <36.123475> / animSpeed; //delta=1.20 turn shoulder to x-axis <1.303305> speed <28.903882> / animSpeed; //delta=0.96 move turret to y-axis [0.737093] speed [3.750000] / animSpeed; //delta=0.12 - turn turret to x-axis <1.0> speed <14.999998> / animSpeed; //delta=0.50 - turn turret to z-axis <1.0> speed <14.999998> / animSpeed; //delta=0.50 + turn turret to x-axis <1.000000> speed <14.999998> / animSpeed; //delta=0.50 + turn turret to z-axis <1.000000> speed <14.999998> / animSpeed; //delta=0.50 turn turret to y-axis <0.500000> speed <7.499999> / animSpeed; //delta=-0.25 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:41 + if (bMoving) { //Frame:41 turn lbfoot to z-axis <-37.250062> speed <150.568378> / animSpeed; //delta=5.02 turn lbhip to y-axis <23.371466> speed <142.527777> / animSpeed; //delta=4.75 turn lbleg to z-axis <11.537976> speed <109.264235> / animSpeed; //delta=-3.64 @@ -230,12 +232,12 @@ Walk() {// For C:\Users\PtaQ\Desktop\Dropbox\BAR\Remoddeling\Reanimating\corkarg turn rmleg to z-axis <-15.132289> speed <210.699255> / animSpeed; //delta=7.02 turn shoulder to x-axis <0.339843> speed <28.903883> / animSpeed; //delta=0.96 move turret to y-axis [0.862093] speed [3.750000] / animSpeed; //delta=0.12 - turn turret to x-axis <0.500000> speed <15.0> / animSpeed; //delta=0.50 - turn turret to z-axis <0.500000> speed <15.0> / animSpeed; //delta=0.50 + turn turret to x-axis <0.500000> speed <15.000001> / animSpeed; //delta=0.50 + turn turret to z-axis <0.500000> speed <15.000001> / animSpeed; //delta=0.50 turn turret to y-axis <0.250000> speed <7.500001> / animSpeed; //delta=-0.25 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:46 + if (bMoving) { //Frame:46 turn lbfoot to z-axis <-55.477911> speed <546.835463> / animSpeed; //delta=18.23 turn lbhip to y-axis <32.066164> speed <260.840929> / animSpeed; //delta=8.69 turn lbleg to z-axis <21.041351> speed <285.101223> / animSpeed; //delta=-9.50 @@ -258,12 +260,12 @@ Walk() {// For C:\Users\PtaQ\Desktop\Dropbox\BAR\Remoddeling\Reanimating\corkarg turn rmleg to z-axis <-22.155599> speed <210.699281> / animSpeed; //delta=7.02 turn shoulder to x-axis <-0.099338> speed <13.175412> / animSpeed; //delta=0.44 move turret to y-axis [0.987093] speed [3.750000] / animSpeed; //delta=0.12 - turn turret to x-axis <-0.0> speed <15.0> / animSpeed; //delta=0.50 - turn turret to z-axis <-0.0> speed <15.0> / animSpeed; //delta=0.50 - turn turret to y-axis <0.0> speed <7.500001> / animSpeed; //delta=-0.25 + turn turret to x-axis <-0.000000> speed <15.000001> / animSpeed; //delta=0.50 + turn turret to z-axis <-0.000000> speed <15.000001> / animSpeed; //delta=0.50 + turn turret to y-axis <0.000000> speed <7.500001> / animSpeed; //delta=-0.25 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:51 + if (bMoving) { //Frame:51 turn lbfoot to z-axis <-73.705760> speed <546.835463> / animSpeed; //delta=18.23 turn lbhip to y-axis <40.760861> speed <260.840929> / animSpeed; //delta=8.69 turn lbleg to z-axis <30.544722> speed <285.101146> / animSpeed; //delta=-9.50 @@ -285,11 +287,11 @@ Walk() {// For C:\Users\PtaQ\Desktop\Dropbox\BAR\Remoddeling\Reanimating\corkarg turn rmhip to y-axis <-14.435069> speed <155.904942> / animSpeed; //delta=5.20 turn rmleg to z-axis <-8.632600> speed <405.689954> / animSpeed; //delta=-13.52 turn shoulder to x-axis <0.233542> speed <9.986381> / animSpeed; //delta=-0.33 - turn turret to z-axis <-0.500000> speed <15.0> / animSpeed; //delta=0.50 - turn turret to y-axis <-0.500000> speed <15.0> / animSpeed; //delta=-0.50 + turn turret to z-axis <-0.500000> speed <15.000000> / animSpeed; //delta=0.50 + turn turret to y-axis <-0.500000> speed <15.000000> / animSpeed; //delta=-0.50 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:56 + if (bMoving) { //Frame:56 turn lbfoot to z-axis <-62.879527> speed <324.786970> / animSpeed; //delta=-10.83 turn lbhip to y-axis <35.868021> speed <146.785205> / animSpeed; //delta=-4.89 turn lbleg to z-axis <20.962242> speed <287.474415> / animSpeed; //delta=9.58 @@ -312,11 +314,11 @@ Walk() {// For C:\Users\PtaQ\Desktop\Dropbox\BAR\Remoddeling\Reanimating\corkarg turn rmhip to y-axis <-9.238234> speed <155.905044> / animSpeed; //delta=5.20 turn rmleg to z-axis <4.890399> speed <405.689980> / animSpeed; //delta=-13.52 turn shoulder to x-axis <0.566421> speed <9.986382> / animSpeed; //delta=-0.33 - turn turret to z-axis <-1.0> speed <15.0> / animSpeed; //delta=0.50 - turn turret to y-axis <-1.0> speed <15.0> / animSpeed; //delta=-0.50 + turn turret to z-axis <-1.000000> speed <15.000000> / animSpeed; //delta=0.50 + turn turret to y-axis <-1.000000> speed <15.000000> / animSpeed; //delta=-0.50 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:61 + if (bMoving) { //Frame:61 turn lbfoot to z-axis <-52.053292> speed <324.787072> / animSpeed; //delta=-10.83 turn lbhip to y-axis <30.975181> speed <146.785205> / animSpeed; //delta=-4.89 turn lbleg to z-axis <11.379754> speed <287.474620> / animSpeed; //delta=9.58 @@ -340,11 +342,11 @@ Walk() {// For C:\Users\PtaQ\Desktop\Dropbox\BAR\Remoddeling\Reanimating\corkarg turn rmleg to z-axis <18.413399> speed <405.690006> / animSpeed; //delta=-13.52 turn shoulder to x-axis <1.260909> speed <20.834635> / animSpeed; //delta=-0.69 move turret to y-axis [0.737093] speed [7.500000] / animSpeed; //delta=-0.25 - turn turret to z-axis <-1.500000> speed <15.0> / animSpeed; //delta=0.50 - turn turret to y-axis <-1.500000> speed <15.0> / animSpeed; //delta=-0.50 + turn turret to z-axis <-1.500000> speed <15.000001> / animSpeed; //delta=0.50 + turn turret to y-axis <-1.500000> speed <15.000001> / animSpeed; //delta=-0.50 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:66 + if (bMoving) { //Frame:66 turn lbfoot to z-axis <-41.227066> speed <324.786765> / animSpeed; //delta=-10.83 turn lbhip to y-axis <26.082343> speed <146.785154> / animSpeed; //delta=-4.89 turn lbleg to z-axis <1.797270> speed <287.474543> / animSpeed; //delta=9.58 @@ -361,18 +363,18 @@ Walk() {// For C:\Users\PtaQ\Desktop\Dropbox\BAR\Remoddeling\Reanimating\corkarg turn rbleg to z-axis <-0.557655> speed <110.881056> / animSpeed; //delta=3.70 turn rffoot to z-axis <27.719495> speed <414.600047> / animSpeed; //delta=13.82 turn rfhip to y-axis <37.233601> speed <137.514043> / animSpeed; //delta=-4.58 - turn rfleg to z-axis <0.0> speed <341.792963> / animSpeed; //delta=-11.39 + turn rfleg to z-axis <0.000000> speed <341.792963> / animSpeed; //delta=-11.39 turn rlauncher to x-axis <3.560510> speed <62.844731> / animSpeed; //delta=-2.09 turn rmfoot to z-axis <36.895797> speed <262.649887> / animSpeed; //delta=-8.75 turn rmhip to y-axis <1.155430> speed <155.904897> / animSpeed; //delta=5.20 turn rmleg to z-axis <15.727199> speed <80.586021> / animSpeed; //delta=2.69 turn shoulder to x-axis <1.955397> speed <20.834636> / animSpeed; //delta=-0.69 move turret to y-axis [0.487093] speed [7.500000] / animSpeed; //delta=-0.25 - turn turret to z-axis <-2.0> speed <14.999998> / animSpeed; //delta=0.50 - turn turret to y-axis <-2.0> speed <14.999998> / animSpeed; //delta=-0.50 + turn turret to z-axis <-2.000000> speed <14.999998> / animSpeed; //delta=0.50 + turn turret to y-axis <-2.000000> speed <14.999998> / animSpeed; //delta=-0.50 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:71 + if (bMoving) { //Frame:71 turn lbfoot to z-axis <-30.400834> speed <324.786970> / animSpeed; //delta=-10.83 turn lbhip to y-axis <21.189504> speed <146.785154> / animSpeed; //delta=-4.89 turn lbleg to z-axis <-7.785216> speed <287.474568> / animSpeed; //delta=9.58 @@ -396,11 +398,11 @@ Walk() {// For C:\Users\PtaQ\Desktop\Dropbox\BAR\Remoddeling\Reanimating\corkarg turn rmleg to z-axis <11.121329> speed <138.176093> / animSpeed; //delta=4.61 turn shoulder to x-axis <2.266768> speed <9.341144> / animSpeed; //delta=-0.31 move turret to y-axis [0.612093] speed [3.750000] / animSpeed; //delta=0.12 - turn turret to z-axis <-1.400000> speed <18.0> / animSpeed; //delta=-0.60 + turn turret to z-axis <-1.400000> speed <18.000000> / animSpeed; //delta=-0.60 turn turret to y-axis <-1.500000> speed <14.999998> / animSpeed; //delta=0.50 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:76 + if (bMoving) { //Frame:76 turn lbfoot to z-axis <-19.574595> speed <324.787175> / animSpeed; //delta=-10.83 turn lbhip to y-axis <16.296667> speed <146.785102> / animSpeed; //delta=-4.89 turn lbleg to z-axis <-17.367701> speed <287.474543> / animSpeed; //delta=9.58 @@ -425,10 +427,10 @@ Walk() {// For C:\Users\PtaQ\Desktop\Dropbox\BAR\Remoddeling\Reanimating\corkarg turn shoulder to x-axis <1.303305> speed <28.903882> / animSpeed; //delta=0.96 move turret to y-axis [0.737093] speed [3.750000] / animSpeed; //delta=0.12 turn turret to z-axis <-0.800000> speed <17.999998> / animSpeed; //delta=-0.60 - turn turret to y-axis <-1.0> speed <14.999998> / animSpeed; //delta=0.50 + turn turret to y-axis <-1.000000> speed <14.999998> / animSpeed; //delta=0.50 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:81 + if (bMoving) { //Frame:81 turn lbfoot to z-axis <-11.463393> speed <243.336042> / animSpeed; //delta=-8.11 turn lbhip to y-axis <7.359210> speed <268.123737> / animSpeed; //delta=-8.94 turn lbleg to z-axis <-22.712790> speed <160.352676> / animSpeed; //delta=5.35 @@ -452,17 +454,17 @@ Walk() {// For C:\Users\PtaQ\Desktop\Dropbox\BAR\Remoddeling\Reanimating\corkarg turn rmleg to z-axis <-6.902370> speed <402.534894> / animSpeed; //delta=13.42 turn shoulder to x-axis <0.339843> speed <28.903883> / animSpeed; //delta=0.96 move turret to y-axis [0.862093] speed [3.750000] / animSpeed; //delta=0.12 - turn turret to z-axis <-0.200000> speed <18.0> / animSpeed; //delta=-0.60 - turn turret to y-axis <-0.500000> speed <15.0> / animSpeed; //delta=0.50 + turn turret to z-axis <-0.200000> speed <18.000000> / animSpeed; //delta=-0.60 + turn turret to y-axis <-0.500000> speed <15.000001> / animSpeed; //delta=0.50 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:86 + if (bMoving) { //Frame:86 turn lbhip to y-axis <-0.286453> speed <229.369876> / animSpeed; //delta=-7.65 turn lbleg to z-axis <-9.263622> speed <403.475052> / animSpeed; //delta=-13.45 turn lffoot to z-axis <-59.009843> speed <349.278935> / animSpeed; //delta=11.64 turn lfhip to y-axis <-55.078676> speed <185.398757> / animSpeed; //delta=-6.18 turn lfleg to z-axis <16.273923> speed <327.226602> / animSpeed; //delta=-10.91 - turn llauncher to x-axis <-0.0> speed <20.466714> / animSpeed; //delta=0.68 + turn llauncher to x-axis <-0.000000> speed <20.466714> / animSpeed; //delta=0.68 turn lmfoot to z-axis <-52.301176> speed <258.931413> / animSpeed; //delta=8.63 turn lmhip to y-axis <19.631905> speed <169.910245> / animSpeed; //delta=5.66 turn lmleg to z-axis <22.155638> speed <210.699844> / animSpeed; //delta=-7.02 @@ -475,56 +477,56 @@ Walk() {// For C:\Users\PtaQ\Desktop\Dropbox\BAR\Remoddeling\Reanimating\corkarg turn rffoot to z-axis <3.538001> speed <103.615031> / animSpeed; //delta=3.45 turn rfhip to y-axis <5.639020> speed <270.107826> / animSpeed; //delta=-9.00 turn rfleg to z-axis <6.296090> speed <26.231794> / animSpeed; //delta=-0.87 - turn rlauncher to x-axis <-0.0> speed <72.488744> / animSpeed; //delta=2.42 + turn rlauncher to x-axis <-0.000000> speed <72.488744> / animSpeed; //delta=2.42 turn rmfoot to z-axis <51.259395> speed <272.281427> / animSpeed; //delta=-9.08 turn rmhip to y-axis <21.942801> speed <173.236530> / animSpeed; //delta=5.77 turn rmleg to z-axis <-20.320197> speed <402.534817> / animSpeed; //delta=13.42 turn shoulder to x-axis <-0.099338> speed <13.175412> / animSpeed; //delta=0.44 move turret to y-axis [0.987093] speed [3.750000] / animSpeed; //delta=0.12 - turn turret to z-axis <0.400000> speed <18.0> / animSpeed; //delta=-0.60 - turn turret to y-axis <0.0> speed <15.0> / animSpeed; //delta=0.50 + turn turret to z-axis <0.400000> speed <18.000001> / animSpeed; //delta=-0.60 + turn turret to y-axis <0.000000> speed <15.000001> / animSpeed; //delta=0.50 sleep ((33*animSpeed) -1); } } } -// Call this from StopMoving()! +// Call this from MotionControl()! StopWalking() { move lbhip to y-axis [-2.366058] speed [-0.835079]; move lfhip to y-axis [-2.366060] speed [-0.835080]; move lmhip to y-axis [-2.366058] speed [-0.835079]; - move pelvis to x-axis [0.0] speed [14.447396]; + move pelvis to x-axis [0.000000] speed [14.447396]; move pelvis to y-axis [2.872063] speed [2.400001]; - move pelvis to z-axis [0.0] speed [14.447396]; + move pelvis to z-axis [0.000000] speed [14.447396]; move rbhip to y-axis [-2.366058] speed [-0.835079]; move rfhip to y-axis [-2.366058] speed [-0.835079]; move rmhip to y-axis [-2.366058] speed [-0.835079]; - move turret to y-axis [1.0] speed [1.500000]; - turn lbfoot to z-axis <-35.0> speed <141.400156>; - turn lbhip to y-axis <45.0> speed <271.718726>; + move turret to y-axis [1.000000] speed [1.500000]; + turn lbfoot to z-axis <-35.000000> speed <141.400156>; + turn lbhip to y-axis <45.000001> speed <271.718726>; turn lbleg to z-axis <7.999999> speed <103.581724>; - turn lffoot to z-axis <-42.0> speed <143.078810>; - turn lfhip to y-axis <-50.0> speed <54.021611>; - turn lfleg to z-axis <15.0> speed <110.485919>; - turn llauncher to x-axis <0.0> speed <7.589404>; - turn llauncher to y-axis <5.0> speed <29.999999>; - turn lmfoot to z-axis <-45.0> speed <54.456347>; - turn lmhip to y-axis <0.0> speed <117.791431>; - turn lmleg to z-axis <15.0> speed <81.138047>; + turn lffoot to z-axis <-42.000001> speed <143.078810>; + turn lfhip to y-axis <-50.000000> speed <54.021611>; + turn lfleg to z-axis <15.000000> speed <110.485919>; + turn llauncher to x-axis <0.000000> speed <7.589404>; + turn llauncher to y-axis <5.000000> speed <29.999999>; + turn lmfoot to z-axis <-45.000001> speed <54.456347>; + turn lmhip to y-axis <0.000000> speed <117.791431>; + turn lmleg to z-axis <15.000000> speed <81.138047>; turn rbfoot to z-axis <29.999997> speed <152.867420>; - turn rbhip to y-axis <-45.0> speed <77.602820>; + turn rbhip to y-axis <-45.000001> speed <77.602820>; turn rbleg to z-axis <-7.999999> speed <80.695092>; - turn rffoot to z-axis <42.0> speed <230.772001>; - turn rfhip to y-axis <50.0> speed <266.165882>; - turn rfleg to z-axis <-15.0> speed <127.776541>; - turn rlauncher to x-axis <0.0> speed <14.497749>; - turn rmfoot to z-axis <45.0> speed <54.456285>; - turn rmhip to y-axis <0.0> speed <131.656804>; - turn rmleg to z-axis <-15.0> speed <81.138001>; + turn rffoot to z-axis <42.000001> speed <230.772001>; + turn rfhip to y-axis <50.000000> speed <266.165882>; + turn rfleg to z-axis <-15.000000> speed <127.776541>; + turn rlauncher to x-axis <0.000000> speed <14.497749>; + turn rmfoot to z-axis <45.000001> speed <54.456285>; + turn rmhip to y-axis <0.000000> speed <131.656804>; + turn rmleg to z-axis <-15.000000> speed <81.138001>; turn shoulder to x-axis <0.108055> speed <5.780777>; turn shoulder to y-axis <0.209980> speed <-0.074110>; - turn turret to x-axis <0.0> speed <6.0>; - turn turret to y-axis <0.0> speed <3.0>; - turn turret to z-axis <0.0> speed <3.600000>; + turn turret to x-axis <0.000000> speed <6.000000>; + turn turret to y-axis <0.000000> speed <3.000000>; + turn turret to z-axis <0.000000> speed <3.600000>; } // REMEMBER TO animspeed = 5 in Create() !! UnitSpeed(){ @@ -541,19 +543,50 @@ UnitSpeed(){ sleep 164; } } -StartMoving(reversing){ - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; - isMoving=TRUE; +StartMoving(){ + signal SIG_WALK; + set-signal-mask SIG_WALK; + bMoving=TRUE; start-script Walk(); start-script UnitSpeed(); } StopMoving(){ - signal SIGNAL_MOVE; - isMoving=FALSE; + signal SIG_WALK; + bMoving=FALSE; call-script StopWalking(); } +SmokeUnit(healthpercent, sleeptime, smoketype) +{ + var Func_Var_4; + while( get BUILD_PERCENT_LEFT ) + { + sleep 400; + } + while( TRUE ) + { + healthpercent = get HEALTH; + if( healthpercent < 66 ) + { + smoketype = 256 | 2; + if( Rand( 1, 66 ) < healthpercent ) + { + smoketype = 256 | 1; + } + + emit-sfx smoketype from turret; + + } + sleeptime = healthpercent * 50; + if( sleeptime < 200 ) + { + sleeptime = 200; + } + sleep sleeptime; + } + return (0); +} + #define BASEPIECE pelvis #define HITSPEED <55.0> @@ -561,7 +594,27 @@ StopMoving(){ #define UNITSIZE 10 #define MAXTILT 100 -#include "../../unit_hitbyweaponid_and_smoke.h" +HitByWeapon(anglex, anglez, damage) // angle[x|z] is always [-500;500], damage is multiplied by 100 +{ + var amount;//, speedz, speedx; + amount = damage / (100 * UNITSIZE); + if (amount < 3 ) return (0); + if (amount > MAXTILT) amount = MAXTILT; + //get PRINT(anglex, anglez, amount, damage); + //speedz = HITSPEED * get ABS(anglez) / 500; //nevermind this, the random error this produces actually looks better than the accurate version + turn BASEPIECE to z-axis (anglez * amount) / 100 speed HITSPEED; + turn BASEPIECE to x-axis <0> - (anglex * amount) /100 speed HITSPEED; + wait-for-turn BASEPIECE around z-axis; + wait-for-turn BASEPIECE around x-axis; + turn BASEPIECE to z-axis <0.000000> speed HITSPEED / 4; + turn BASEPIECE to x-axis <0.000000> speed HITSPEED / 4; +} +HitByWeaponId(anglex, anglez, weaponid, dmg) //weaponID is always 0,lasers and flamers give angles of 0 +{ + start-script HitByWeapon(dmg, anglez,anglex); //I dont know why param order must be switched, and this also runs a frame later :( + return (100); //return damage percent +} + Create() { @@ -572,75 +625,83 @@ Create() hide aimx1; hide aimy1; gun_1 = 1; - isMoving = FALSE; - isAiming = FALSE; + bMoving = FALSE; + bAiming = FALSE; animSpeed = 4; wpnheading = 0; - SLEEP_UNTIL_UNITFINISHED; + while( get BUILD_PERCENT_LEFT ) + { + sleep 1000; + } + start-script SmokeUnit(); return (0); } +SweetSpot(piecenum) +{ + piecenum = turret; + return (0); +} - -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { if( gun_1 == 1 ) { - pieceIndex = flare1; + piecenum = flare1; } if( gun_1 == 2 ) { - pieceIndex = flare2; + piecenum = flare2; } if( gun_1 == 3 ) { - pieceIndex = flare3; + piecenum = flare3; } if( gun_1 == 4 ) { - pieceIndex = flare4; + piecenum = flare4; } } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = aimy1; + piecenum = aimy1; return (0); } RestoreAfterDelay() { - set-signal-mask SIGNAL_AIM1; + set-signal-mask SIG_AIM; sleep 3000; turn aimx1 to x-axis <0> speed <80>; turn aimy1 to y-axis <0> speed <80>; wait-for-turn aimy1 around y-axis; wait-for-turn aimx1 around x-axis; - isAiming = FALSE; + bAiming = FALSE; wpnheading = 0; } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - if (isAiming == 1) return; - turn aimy1 to y-axis heading speed <85.0>; - turn aimx1 to x-axis <0.0> - pitch speed <85.0>; + signal SIG_AIM; + if (bAiming == 1) return; + turn aimy1 to y-axis heading speed <85.00000>; + turn aimx1 to x-axis <0.000000> - pitch speed <85.000000>; //needed for luarules\gadgets\unit_continuous_aim.lua if ((get ABS(wpnheading - heading)) > 2000){ - isAiming = 1; + bAiming = 1; wait-for-turn aimy1 around y-axis; wait-for-turn aimx1 around x-axis; - isAiming = 0; + bAiming = 0; } wpnheading = heading; start-script RestoreAfterDelay(); return (1); } -FireWeapon1() +FirePrimary() { if( gun_1 == 1 ) { @@ -678,8 +739,8 @@ FireWeapon1() //use call-script DeathAnim(); from Killed() DeathAnim() {// For C:\Users\PtaQ\Desktop\Dropbox\BAR\Remoddeling\Reanimating\corkarg_anim_death.blend Created by https://github.com/Beherith/Skeletor_S3O V((0, 2, 8)) - signal SIGNAL_MOVE; - signal SIGNAL_AIM1; + signal SIG_WALK; + signal SIG_AIM; call-script StopWalking(); turn aimy1 to y-axis <0> speed <120>; turn aimx1 to x-axis <0> speed <120>; @@ -693,6 +754,7 @@ DeathAnim() {// For C:\Users\PtaQ\Desktop\Dropbox\BAR\Remoddeling\Reanimating\co turn lfhip to y-axis <-38.463640> speed <44.341702> ; //delta=13.30 turn lfleg to z-axis <-36.009560> speed <92.906797> ; //delta=27.87 turn llauncher to x-axis <-13.992956> speed <46.643188> ; //delta=13.99 + //explode lmfoot type FALL|SMOKE|FIRE|NOHEATCLOUD; hide lmfoot; turn lmhip to y-axis <-1.461104> speed <2.835061> ; //delta=-0.85 turn lmleg to z-axis <9.584743> speed <8.508384> ; //delta=2.55 @@ -710,8 +772,11 @@ DeathAnim() {// For C:\Users\PtaQ\Desktop\Dropbox\BAR\Remoddeling\Reanimating\co turn rffoot to z-axis <38.762194> speed <102.834008> ; //delta=-30.85 turn rfhip to y-axis <41.576885> speed <24.260957> ; //delta=-7.28 turn rfleg to z-axis <28.496495> speed <94.889257> ; //delta=-28.47 + //explode rlauncher type FALL|SMOKE|FIRE|NOHEATCLOUD; hide rlauncher; + //explode rbarrel2 type FALL|SMOKE|FIRE|NOHEATCLOUD; hide rbarrel2; + //explode rbarrel1 type FALL|SMOKE|FIRE|NOHEATCLOUD; hide rbarrel1; turn rmhip to y-axis <-4.037522> speed <27.445978> ; //delta=-8.23 turn rmleg to z-axis <29.673303> speed <194.153022> ; //delta=-58.25 @@ -984,8 +1049,8 @@ DeathAnim() {// For C:\Users\PtaQ\Desktop\Dropbox\BAR\Remoddeling\Reanimating\co move llauncher to z-axis [2.691125] speed [7.572222] ; //delta=-0.76 move llauncher to y-axis [-6.809508] speed [16.108060] ; //delta=1.61 move pelvis to y-axis [-14.204828] speed [1.600599] ; //delta=-0.16 - turn pelvis to x-axis <-0.0> speed <2.386064> ; //delta=0.24 - turn pelvis to z-axis <-0.0> speed <4.246612> ; //delta=0.42 + turn pelvis to x-axis <-0.000000> speed <2.386064> ; //delta=0.24 + turn pelvis to z-axis <-0.000000> speed <4.246612> ; //delta=0.42 turn rbfoot to z-axis <71.858617> speed <86.024184> ; //delta=-8.60 turn rbleg to z-axis <14.443630> speed <53.924924> ; //delta=5.39 move rffoot to x-axis [0.457422] speed [1.166426] ; //delta=0.12 diff --git a/scripts/Units/scavboss/corkarganetht4.cob b/scripts/Units/scavboss/corkarganetht4.cob index b6b80ce719edc62cf93b089123fc97fdbf6ef9b1..69081ac645c7573f02ad8a27ba466f237601ac23 100644 GIT binary patch literal 37726 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 - anglez speed <50.010989>; wait-for-turn base around z-axis; wait-for-turn base around x-axis; - turn base to z-axis <0.0> speed <20.0>; - turn base to x-axis <0.0> speed <20.0>; + turn base to z-axis <0.000000> speed <20.000000>; + turn base to x-axis <0.000000> speed <20.000000>; return (0); } @@ -26,20 +55,39 @@ RockUnit(anglex, anglez) //how 'heavy' the unit is, on a scale of 1-10 #define UNITSIZE 4 #define MAXTILT 100 - -#include "../../unit_hitbyweaponid_and_smoke.h" +HitByWeapon(anglex, anglez, damage) // angle[x|z] is always [-500;500], damage is multiplied by 100 +{ + var amount;//, speedz, speedx; + amount = damage / (100 * UNITSIZE); + if (amount < 3 ) return (0); + if (amount > MAXTILT) amount = MAXTILT; + //get PRINT(anglex, anglez, amount, damage); + //speedz = HITSPEED * get ABS(anglez) / 500; //nevermind this, the random error this produces actually looks better than the accurate version + turn BASEPIECE to z-axis (anglez * amount) / 100 speed HITSPEED; + turn BASEPIECE to x-axis <0> - (anglex * amount) /100 speed HITSPEED; + wait-for-turn BASEPIECE around z-axis; + wait-for-turn BASEPIECE around x-axis; + turn BASEPIECE to z-axis <0.000000> speed HITSPEED / 4; + turn BASEPIECE to x-axis <0.000000> speed HITSPEED / 4; +} +HitByWeaponId(anglex, anglez, weaponid, dmg) //weaponID is always 0,lasers and flamers give angles of 0 +{ + start-script HitByWeapon(dmg, anglez,anglex); //I dont know why param order must be switched, and this also runs a frame later :( + return (100); //return damage percent +} Create() { hide flare; hide flare; restore_delay = 3000; + start-script SmokeUnit(); return (0); } -SetMaxReloadTime(reloadMS) +SetMaxReloadTime(Func_Var_1) { - restore_delay = reloadMS * 2; + restore_delay = Func_Var_1 * 2; return (0); } @@ -49,8 +97,8 @@ ExecuteRestoreAfterDelay() if (Stunned) { return (1); } - turn turret to y-axis <0.0> speed <9.021978>; - turn sleeve to x-axis <0.0> speed <5.010989>; + turn turret to y-axis <0.000000> speed <9.021978>; + turn sleeve to x-axis <0.000000> speed <5.010989>; } SetStunned(State) { @@ -65,40 +113,44 @@ RestoreAfterDelay() start-script ExecuteRestoreAfterDelay(); } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; turn turret to y-axis heading speed <17.038462>; - turn sleeve to x-axis <0.0> - pitch speed <10.0>; + turn sleeve to x-axis <0.000000> - pitch speed <10.000000>; wait-for-turn turret around y-axis; wait-for-turn sleeve around x-axis; start-script RestoreAfterDelay(); return (1); } -FireWeapon1() +FirePrimary() { emit-sfx 1024 + 0 from flare; - move barrel to z-axis [-3.0] speed [1250.0]; + move barrel to z-axis [-3.000000] speed [1250.000000]; wait-for-move barrel along z-axis; - move barrel to z-axis [0.0] speed [7.500000]; + move barrel to z-axis [0.000000] speed [7.500000]; return (0); } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = turret; + piecenum = turret; return (0); } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = flare; + piecenum = flare; return (0); } - +SweetSpot(piecenum) +{ + piecenum = base; + return (0); +} Killed(severity, corpsetype) { @@ -107,7 +159,9 @@ Killed(severity, corpsetype) corpsetype = 1 ; explode base type BITMAPONLY | NOHEATCLOUD; explode turret type BITMAPONLY | NOHEATCLOUD; + //explode sleeve type BITMAPONLY | NOHEATCLOUD; explode barrel type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } if( severity <= 50 ) @@ -117,6 +171,7 @@ Killed(severity, corpsetype) explode turret type FIRE | SMOKE | FALL | NOHEATCLOUD; explode sleeve type FIRE | SMOKE | FALL | NOHEATCLOUD; explode barrel type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare type FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) @@ -126,6 +181,7 @@ Killed(severity, corpsetype) explode turret type SMOKE | FALL | NOHEATCLOUD; explode sleeve type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; explode barrel type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; @@ -133,5 +189,6 @@ Killed(severity, corpsetype) explode turret type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode sleeve type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode barrel type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode flare type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/scavboss/corlevlrt4.cob b/scripts/Units/scavboss/corlevlrt4.cob index d4e01ceec1737d7b3c627e643b2e32c2247bcf92..0e022eecdf7f4ef7cddefe7eb003a5e4b1b8f6d4 100644 GIT binary patch literal 2891 zcmb_eO=}ZT6un8))UWEeaAB!1_<@KbK~Qudw6zwc2(?jknX!3=*hx|*liDC+z@;GF zxNz5BAh`1vh`83hh#j-gCd+d(##~QT$~iJsbVgzwRrFbi-wS*PFJD4D zJbCcAl0QSi8MQI5#X3O%+H7r=5zC`Y9b>0F#KaF&NsP;}U1LPGq%r7keKp@l+TuFrA+iSQ*i+V5XQA^UO%{qyc8;%3r85vWs)KHfNgG$bYkqM@z>n*t z!NI&~&&U+XyLvd~XF2_B%Hx`?Q|r}vkza)iSG%8>lT1ak;=a>Q_n)iI>UGSait)34 zj3=dN?>8Z84$f3#O`J{Vpj_^e`m%=JKFOh-;mOg}*0qD1^658dwjXduG;VLs-E0h( z_-D>QcDAgEHRj@#9C0uwEII=_C-N((j`nzE?Dq#n3MIV*@QI(^ygCQ!?YY4ml$Z78 zjf!#^t&Peq7A-*tf`;u&Zy%ujBTb2B;%C#l2?kjg$; zK7Fl{-<&=^I$!c^ud7k*R_;dfi9_kxke)s!$I_ZvE6dS4s6FwVFrKwRPW44+pDi$o zVeRPK_P~pS?+$fQPu~jBy8Q>Y+ukc%qnk@)YwwPwGtBr!Tm(aW_RM$kd4I5^oQ$2h z2ieK%XJ-!n(1*E>Q*fg_dyBx-X?*R`jeWaVrGmTWj3s;*DssA5)n;c39i3>ivjmT_ z{qDqamP38APv|vUqy47GHU5li)EWItjl#SjN@<5 z1aKNS50ro_z;$32DA$`S=6<6V%3^bA#R|7-;Y{a&@m8A+$;h{>aw9NaXryeyJKp-D z@ta=tUafBA=DJyGhi1{V!e(HmmqQcG8sF>CvmCY?4O5k!#_3vpA*j{8pd)j&z^DxM wT+mERciSfDsIC0OAmVB>l=+(PBkCisWn|g+0wZBN2uvs~-P#AaED-uK>2&I zN8~He*DZ1!=Q1b^0wNdWgVn<#c~II)Nm2?{b);0$CP${!0pHXPX+#i(#OHaY-)R)2 z{=QE;o%)f=Skcy~wQ9Wws4Eo$nJfmUz%o{qGT4(ZkcXc95czVawY>ti02zCrjw%^z z>L{bGPvU$OVeN#t&t;4UGwzQ#sjR^)jf_yoZ`8t~`Nb8B5J&5hg zx3f81PxqW1Wg3%tdXH?c)!t3H!_LI|qXzNrP<=?5lKGVG?%VXIo!-rTu#E8llrj8S zYiy-bPVY!<8Af%jRBe45%Gk5ce#qt2d)lpT#@(cWn+4~@`;Z{L6ZIvPa?Z}{9o~!9 z(>k-=bac(^-4652S#W22!SGz*8GFhe$m-0gV=ub5TVOSw?xvo(^S+;r>2~P1^P^02 z(2sRwIRd^2_ZFOAkE<_7!yoQ@Fjx!@I(goct1si7fH~*Nxe4q)xjYoxw>*h21$js5 z^Lk(U-YDjoRNuWHTkn$n)5N#69Z-nbo^>_aJeUpb?i4+H>^x&pPu&_WI*SFJy?3Vr z*-;Dg(?83(k-pan2E?}jsq8O{i5h5Yg`7(p8~t8bKgOC*Yqy22q{4F@Lwx;a(BI!r9JlG2yPcjf{5?5D-%@%f@8QUN>aRU)&?e~0_DIimHn3lJ zdi!p?dH8wkuDd+nTpsPCT^^0wnuqtmI#vI#yi=^rB}gn!PbsOXN~5Ik$Y%g!7HL z%T@m*!(ly~G1W@FF>B;}Y{JAy#Uxk5rEwEA!s_)}-N=O{GqsqQakG##VlyQ9csme~}P_3S(9FUP(Y?Oz1ByMD?Yl|j!r47hvEs7B9cDP_3}r?iwg?isUZ=;KPXk diff --git a/scripts/Units/scavboss/corslrpc.bos b/scripts/Units/scavboss/corslrpc.bos index b4e3930e920..d92257502d1 100644 --- a/scripts/Units/scavboss/corslrpc.bos +++ b/scripts/Units/scavboss/corslrpc.bos @@ -1,25 +1,132 @@ +#define TA // This is a TA script -#include "../../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, flare, flareb, turret, gun, bore, cylinder, barrel, wake1; -static-var restore_delay, aimDir; +static-var restore_delay, Static_Var_7, Static_Var_8, aimDir; // Signal definitions -#define SIGNAL_MOVE 1 -#define SIGNAL_AIM1 256 +#define SIG_MOVE 8 +#define SIG_AIM 2 -#define RB_MASS 40 -#define RB_LENGTH 8 -#define RB_WIDTH 3 -#define RB_PITCH_ACCELERATION 10 -#define RB_ROLL_ACCELERATION 8 -#define RB_WAKE_PIECE wake1 -#define RB_WAKE_CEG 2 -#define RB_ROCKUNIT 100 +#define BASEPIECE base +#define HITSPEED <25.0> +//how 'heavy' the unit is, on a scale of 1-10 +#define UNITSIZE 7 +#define MAXTILT 200 +HitByWeapon(anglex, anglez, damage) // angle[x|z] is always [-500;500], damage is multiplied by 100 +{ + var amount;//, speedz, speedx; + amount = damage / (100 * UNITSIZE); + if (amount < 3 ) return (0); + if (amount > MAXTILT) amount = MAXTILT; + //get PRINT(anglex, anglez, amount, damage); + //speedz = HITSPEED * get ABS(anglez) / 500; //nevermind this, the random error this produces actually looks better than the accurate version + turn BASEPIECE to z-axis (anglez * amount) / 100 speed HITSPEED; + turn BASEPIECE to x-axis <0> - (anglex * amount) /100 speed HITSPEED; + wait-for-turn BASEPIECE around z-axis; + wait-for-turn BASEPIECE around x-axis; + turn BASEPIECE to z-axis <0.000000> speed HITSPEED / 4; + turn BASEPIECE to x-axis <0.000000> speed HITSPEED / 4; +} +HitByWeaponId(anglex, anglez, weaponid, dmg) //weaponID is always 0,lasers and flamers give angles of 0 +{ + start-script HitByWeapon(dmg, anglez,anglex); //I dont know why param order must be switched, and this also runs a frame later :( + return (100); //return damage percent +} + +RockOnWaves() +{ + var rockDir, rockAng, rockSpeed; + rockDir = <-0.1>; + rockAng = <-0.1>; + while( TRUE ) + { + while( get ABS(rockAng) < <1.31> ) + { + rockSpeed = <1.45> - get ABS(rockAng); + turn base to x-axis rockAng speed rockSpeed*5; + turn base to z-axis rockAng speed rockSpeed*5; + wait-for-turn base around x-axis; + wait-for-turn base around z-axis; + rockAng = rockAng + rockDir; + } + rockDir = 0 - rockDir; + rockAng = rockAng + rockDir + rockDir; + } +} -#include "../../bar_ships_common.h" +ProjXPW(Func_Var_1, Func_Var_2) +{ + if( Func_Var_2 < -21840 ) + { + Static_Var_7 = Func_Var_1 * ( Func_Var_2 + 32760 ) / 10920; + } + else if( Func_Var_2 > 21840 ) + { + Static_Var_7 = Func_Var_1 * ( 32760 - Func_Var_2 ) / 10920; + } + else if( Func_Var_2 < -10920 ) + { + Static_Var_7 = 0 - Func_Var_1; + } + else if( Func_Var_2 > 10920 ) + { + Static_Var_7 = Func_Var_1; + } + else + { + Static_Var_7 = Func_Var_1 * Func_Var_2 / 10920; + } +} + +RockZ(Func_Var_1, Func_Var_2) +{ + signal 4096; + set-signal-mask 4096; + call-script ProjXPW(10920 / Func_Var_2,Func_Var_1); + Static_Var_8 = Static_Var_8 + Static_Var_7; + Static_Var_7 = get ABS(Static_Var_8); + while( Static_Var_7 > 91 ) + { + turn base to z-axis Static_Var_8 speed Static_Var_7 * <0.0125>; + wait-for-turn base around z-axis; + Static_Var_8 = Static_Var_8 * -1 / 2; + Static_Var_7 = get ABS(Static_Var_8); + } + turn base to z-axis <0.000000> speed <1.5>; +} +SmokeUnit(healthpercent, sleeptime, smoketype) +{ + while( get BUILD_PERCENT_LEFT ) + { + sleep 400; + } + start-script RockOnWaves(); + while( TRUE ) + { + healthpercent = get HEALTH; + if( healthpercent < 66 ) + { + smoketype = 256 | 2; + if( Rand( 1, 66 ) < healthpercent ) + { + smoketype = 256 | 1; + } + emit-sfx smoketype from base; + } + sleeptime = healthpercent * 50; + if( sleeptime < 200 ) + { + sleeptime = 200; + } + sleep sleeptime; + } + return (0); +} Create() { @@ -28,15 +135,22 @@ Create() hide flareb; hide flare; hide flareb; + dont-cache flare; + dont-cache turret; + dont-cache gun; + dont-cache barrel; + dont-shade flare; + dont-shade turret; + dont-shade gun; + dont-shade barrel; restore_delay = 3000; - start-script InitRockBoat(); - SLEEP_UNTIL_UNITFINISHED; - start-script BoatPhysics(); + start-script SmokeUnit(); + return (0); } -SetMaxReloadTime(reloadMS) +SetMaxReloadTime(Func_Var_1) { - restore_delay = reloadMS * 2; + restore_delay = Func_Var_1 * 2; return (0); } @@ -46,8 +160,8 @@ ExecuteRestoreAfterDelay() if (Stunned) { return (1); } - turn turret to y-axis <0.0> speed <7.0>; - turn gun to x-axis <0.0> speed <10.0>; + turn turret to y-axis <0.000000> speed <7.000000>; + turn gun to x-axis <0.000000> speed <10.000000>; } SetStunned(State) { @@ -62,50 +176,72 @@ RestoreAfterDelay() start-script ExecuteRestoreAfterDelay(); } -StartMoving(reversing) +StartMoving() { - + signal SIG_MOVE; + set-signal-mask SIG_MOVE; + while( TRUE ) + { + emit-sfx 2 from wake1; + sleep 300; + } + return (0); } StopMoving() { - + signal SIG_MOVE; + return (0); } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; - turn turret to y-axis heading speed <10.0>; - turn gun to x-axis <0.0> - pitch speed <7.0>; + signal SIG_AIM; + set-signal-mask SIG_AIM; + turn turret to y-axis heading speed <10.000000>; + turn gun to x-axis <0.000000> - pitch speed <7.000000>; wait-for-turn turret around y-axis; wait-for-turn gun around x-axis; aimDir = heading; return (1); } -FireWeapon1() +FirePrimary() { - move barrel to z-axis [-7.500000] speed [500.0]; - move gun to z-axis [-4.0] speed [500.0]; + start-script RockZ(-3,aimDir); + move barrel to z-axis [-7.500000] speed [500.000000]; + move gun to z-axis [-4.000000] speed [500.000000]; wait-for-move barrel along z-axis; emit-sfx 1024 + 0 from flare; sleep 200; - move barrel to z-axis [0.0] speed [7.0]; - move gun to z-axis [0.0] speed [7.0]; + move barrel to z-axis [0.000000] speed [7.000000]; + move gun to z-axis [0.000000] speed [7.000000]; } -AimFromWeapon1(pieceIndex) +TargetCleared(Func_Var_1) { - pieceIndex = gun; + if( Func_Var_1 == 1 ) + { + signal SIG_AIM; + stop-spin turret around y-axis; + stop-spin gun around x-axis; + } } -QueryWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = flare; + piecenum = gun; } +QueryPrimary(piecenum) +{ + piecenum = flare; +} +SweetSpot(piecenum) +{ + piecenum = base; +} Killed(severity, corpsetype) { diff --git a/scripts/Units/scavboss/corslrpc.cob b/scripts/Units/scavboss/corslrpc.cob index 9ca634e0651df6913b6853a948abc071928dbbb9..6a65aea5a3e080061146001f4ef8a5273fb8a52f 100644 GIT binary patch literal 4141 zcmbtXL1awrI*6r=|ag16v7p%iQUzWHa~zP=3op>pC1eLUU8VVzZd`+L#m z`T`R@q|G`~ACC7F%o@F>buQ3*@}rN~oNv$Z`c=*M#P`Hp;xOkNw4ci*ILk4eTkO-Z z#pYi9*a??9FXw_+e8bOA^K33Wez#l&vor=?z29rUduh_eWhzOx2AXdd$#^v zXlZ~yu-~DL`%AgPwS6OatNt? zox-g}8+y0txWB$%pL_NUt=}(b?H{y$hkvy=w8o(|4$V0C@x?vy{bL!Pjo!Z&Q(rTF zo66^)wK=QUJ9CKRx$Lsmz?rgnjOkv0L;EIzMSeZ~w8(EL_nN!sK zFrMpS62xA#cQ6Y~a9}Q6qP^cHhxxj8F>+SB7wvd1cu#C^+6&AFbGYsh6Kvi`Er;cJ zu2o$3`?sHQ#k0CozKaeIbauxY=Ky~j1zGHEwHpS#`jrlsM59sU_c?_U`tVygjX!bASk60b}HsRkM zbNsjt`QTrk75d}8;*5L?0`!qb@vWdedizY$MIZ6`tK#!nYd1E(3w|%MuHR={ttakw z@#-EPVRAk0VFZUlJjeGQ){#Pg51RKGPNsNI>u^K?RX()60um~$kbYV1y2W(aCrUNtVn+9?p?6i-p^?&(oSIas5*F9DH%+^jq<{&>n4qyN;LwDogaXhrU>FlZ2LXZ;|!_0CX#=}zH&BD?1dB~m* z?R1ry6Zvwd6M(-tn5S7j)?I0J=42x8E}D6?wb0C33u(40CtF!?`&63Eh5UFsq#4kV zbTaD}iLWe&Y}GR-E(DZa?B?=PtKCNObh;Ged>aen-_w#WXIaQ)Zn-1VU@SAM?N(=Ha76wEymd$a literal 4259 zcmb`KPi$0G6vj{gQ1DOm`Dde1Gj7m@CR2?&O(+5Z2?@3sHZ1z+JaE$KOf!AOR%2)) zMi#PD5)(vXT(B^4N8IU77wj}~;l@OxEL^Z)(HKbme)ruoy?rg%g(YY1yZ3zeJKs6? z+U4O{z@rTV$$X?KVMdMI5oZ%a74rjv})48^W`MEeA)@Y5< z3{3XiI@b4Cb2NizG~$6X-%*>7C38DEmRUm@WTWCmgMDv76OXK+!`Fg8;(cF;ub_-i zgOx^Wjs!lm*q)JWIMFc~G2m~U9Wu*CLQXf=#33x}t7qY<_5}{b3~{s!7da3=UE8T8 z=3+FP9?QPaL-21y8#yZbkSilK^Y~sr*G+ut0M5rsW2Jq&Iic;++S(c;Ju--^+VLFf zuG&ybVj>Cbu81Y(04EGM_j}E$1(={y9O)i7$<5CloTedfcvht?jqSYvF4S1(1MW_O zV;vm4&Ie`>fpxZ=wf7`A&e8e6H6TcE_?<6k(wy76qvwStuZyoEImNL*#ijk~+H879M&F-MZgBg3c!~$r z9h~1W@@ARZJC2foqc7^dpobb>sbah=u_*7w7=sgLFNo~iG5-ifepC^OaK zn4Uv?){=Js->Kmr>*}SirEf5A4h5ZFKh7E-Q0JX4YOXWnK5kXpj|BNY zc)jj~tmo+Ojz{n{^uAKAe@P@7TM>^2ujy`zDBau*)>2>S%dEN=tC0f=Vy3vj+pKUS z;`3O}>Am5(``)|N3O{w-fYTkKrk*?3%6~IV@Eqg6sQAR=UE*hEM=NdkSc4lbFqVx~ z@5G4r8u@R4x^~YkXpfrc8*pfI?Hh2hA6&a&p@x1|=;54JqP{e@@T@r05*Yl9@TYmV z;$D278yM!C7th2Q?5l2O<HX>szL97lwoO}z z%@}H~Q4r<4zRnzN-#$?3$IaPI)6J8qqz6PIifMzQ{vHiZ*{q;V40+L2`|8g}Fc;D|iTmh5q9K`c^=sV#rMZf>H zVIO+E-f)IH8soed<4`|z-Yw3#$m?-@ey=z)?1^zcjd9q2uQ-=$aXyaodK~ijFRqI< zF6XXu0ee>VrIPJVL$v%*MCHqG9gX|aCZ?fNIf65+|fLCO%$@a_mzwQOuXR@oZ zYqIZT*JVG+{*c{~?b7KzDcda@m%S=GC_64|$!2BqvNN*xW#?q)Wfx=@WuMCqb=&1+ zZ)SFHFE5Rcqi-)Sv}YD|+z`|`Q`bkUlc>&+JS zdcVla!lsJyNWL^#bb5K~SbMIp{Y%BnVp&WU3uUigOq?o<{=TA speed <20> *1000/(WALK_PERIOD); } -StartMoving(reversing) +StartMoving() { - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; + signal SIG_MOVE; + set-signal-mask SIG_MOVE; start-script UnitSpeed(); start-script DoTheWalking(); moving=TRUE; @@ -225,9 +228,9 @@ StartMoving(reversing) StopMoving() { - signal SIGNAL_MOVE; + signal SIG_MOVE; moving=FALSE; - set-signal-mask SIGNAL_MOVE; + set-signal-mask SIG_MOVE; start-script StopWalk(); } @@ -238,7 +241,7 @@ StopMoving() #define UNITSIZE 8 #define MAXTILT 100 -#include "../../unit_hitbyweaponid_and_smoke.h" +#include "unit_hitbyweaponid_and_smoke.h" Create() { @@ -247,6 +250,7 @@ Create() hide aimy1; rand = 0; moving = FALSE; + //firing = FALSE; isreset = TRUE; rollingchill = FALSE; chillshots = 0; @@ -274,6 +278,8 @@ lua_UnitScriptLight(lightIndex, count) chilltime(current) { + //signal SIG_CHILL; + //set-signal-mask SIG_CHILL; if (moving==FALSE AND isreset) { @@ -296,7 +302,7 @@ chilltime(current) { puff() { if(isreset) { - set-signal-mask SIGNAL_PUFF; + set-signal-mask SIG_PUFF; emit-sfx 1024 + 1 from flameflarer; sleep 5000; rand = Rand( 3, 5 ); @@ -309,11 +315,14 @@ puff() { +SweetSpot(piecenum) +{ + piecenum = body; +} - -SetMaxReloadTime(reloadMS) +SetMaxReloadTime(Func_Var_1) { - restore_delay = reloadMS * 2; + restore_delay = Func_Var_1 * 2; } static-var Stunned; @@ -327,10 +336,10 @@ ExecuteRestoreAfterDelay() turn head to x-axis <0.000000> speed <55.000000>; turn turretr to y-axis <0.000000> speed <55.000000>; turn turretr to x-axis <0.000000> speed <55.000000>; - wait-for-turn head around y-axis; - wpn1_lasthead = 0xbadface; - wpn2_lasthead = 0xbadface; + wpn1_lasthead = 1000000; + wpn2_lasthead = 1000000; + Static_Var_2 = 0; } SetStunned(State) { @@ -341,19 +350,19 @@ SetStunned(State) } RestoreAfterDelay() { - set-signal-mask SIGNAL_AIM1; + set-signal-mask SIG_AIM; sleep restore_delay; start-script ExecuteRestoreAfterDelay(); } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - turn head to y-axis heading speed <180.0>; - turn head to x-axis <0.0> - pitch speed <110.0>; - if ((wpn1_lasthead == 0xbadface) OR ABSOLUTE_GREATER_THAN(WRAPDELTA(heading - wpn1_lasthead), <7>)) + signal SIG_AIM; + turn head to y-axis heading speed <180.000000>; + turn head to x-axis <0.000000> - pitch speed <110.000000>; + if (((get ABS(wpn1_lasthead - heading)) > 65536) OR(((get ABS(wpn1_lasthead - heading)) > 1300) AND ((get ABS(wpn1_lasthead - heading)) < 64236))) { - wpn1_lasthead = 0xbadface; + wpn1_lasthead = 1000000; wait-for-turn head around y-axis; wait-for-turn head around x-axis; } @@ -362,7 +371,7 @@ AimWeapon1(heading, pitch) return (1); } -FireWeapon1() +FirePrimary() { isreset = FALSE; @@ -371,46 +380,46 @@ FireWeapon1() gun_1 = !gun_1; if( gun_1 == 0 ) { - move barrel1 to z-axis [-3.0] speed [400.0]; + move barrel1 to z-axis [-3.000000] speed [400.000000]; call-script lua_UnitScriptLight(1, shotcount); wait-for-move barrel1 along z-axis; - move barrel1 to z-axis [0.0] speed [3.0]; + move barrel1 to z-axis [0.000000] speed [3.000000]; } if( gun_1 == 1 ) { - move barrel2 to z-axis [-3.0] speed [400.0]; + move barrel2 to z-axis [-3.000000] speed [400.000000]; call-script lua_UnitScriptLight(2, shotcount); wait-for-move barrel2 along z-axis; - move barrel2 to z-axis [0.0] speed [3.0]; + move barrel2 to z-axis [0.000000] speed [3.000000]; } return (0); } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { return(0); if( gun_1 == 0 ) { - pieceIndex = barrel1; + piecenum = barrel1; return (0); } if( gun_1 == 1 ) { - pieceIndex = barrel2; + piecenum = barrel2; return (0); } } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { if( gun_1 == 0 ) { - pieceIndex = flare1; + piecenum = flare1; return (0); } if( gun_1 == 1 ) { - pieceIndex = flare2; + piecenum = flare2; return (0); } @@ -419,7 +428,7 @@ QueryWeapon1(pieceIndex) -AimWeapon2(heading, pitch) +AimSecondary(heading, pitch) { isreset = FALSE; @@ -437,9 +446,9 @@ AimWeapon2(heading, pitch) - signal SIGNAL_AIM2; - turn turretr to y-axis heading speed <180.0>; - turn turretr to x-axis <0.0> - pitch speed <110.0>; + signal SIG_AIM2; + turn turretr to y-axis heading speed <180.000000>; + turn turretr to x-axis <0.000000> - pitch speed <110.000000>; start-script RestoreAfterDelay(); @@ -448,7 +457,7 @@ AimWeapon2(heading, pitch) } -FireWeapon2() +FireSecondary() { if (rollingchill==FALSE) { rollingchill = TRUE; @@ -459,16 +468,16 @@ FireWeapon2() } -AimFromWeapon2(pieceIndex) +AimFromSecondary(piecenum) { - pieceIndex = barrelr; + piecenum = barrelr; } -QueryWeapon2(pieceIndex) +QuerySecondary(piecenum) { - pieceIndex = flameflarer; + piecenum = flameflarer; } @@ -498,35 +507,89 @@ Killed(severity, corpsetype) { corpsetype = 1 ; explode body type BITMAPONLY | NOHEATCLOUD; + //explode leg5a type BITMAPONLY | NOHEATCLOUD; + //explode leg5b type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg6a type BITMAPONLY | NOHEATCLOUD; + //explode leg6b type BITMAPONLY | NOHEATCLOUD; + //explode leg4a type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg4b type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg3a type BITMAPONLY | NOHEATCLOUD; + //explode leg3b type BITMAPONLY | NOHEATCLOUD; + //explode leg1a type BITMAPONLY | NOHEATCLOUD; + //explode leg1b type BITMAPONLY | NOHEATCLOUD; + //explode leg2a type BITMAPONLY | NOHEATCLOUD; + //explode leg2b type BITMAPONLY | NOHEATCLOUD; explode head type BITMAPONLY | NOHEATCLOUD; explode barrel1 type BITMAPONLY | NOHEATCLOUD; + //explode flare1 type BITMAPONLY | NOHEATCLOUD; explode barrel2 type BITMAPONLY | NOHEATCLOUD; + //explode flare2 type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } if( severity <= 50 ) { corpsetype = 2 ; explode body type BITMAPONLY | NOHEATCLOUD; + //explode leg5a type FALL | NOHEATCLOUD; + //explode leg5b type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg6a type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg6b type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg4a type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg4b type FALL | NOHEATCLOUD; + //explode leg3a type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg3b type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg1a type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg1b type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg2a type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg2b type FALL | NOHEATCLOUD; explode head type FIRE | SMOKE | FALL | NOHEATCLOUD; explode barrel1 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare1 type FIRE | SMOKE | FALL | NOHEATCLOUD; explode barrel2 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare2 type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) { corpsetype = 3 ; explode body type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg5a type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg5b type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode leg6a type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg6b type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg4a type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode leg4b type SMOKE | FALL | NOHEATCLOUD; + //explode leg3a type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg3b type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode leg1a type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode leg1b type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg2a type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg2b type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode head type SMOKE | FALL | NOHEATCLOUD; explode barrel1 type FIRE | SMOKE | FALL | NOHEATCLOUD; explode flare1 type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; explode barrel2 type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode flare2 type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; explode body type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg5a type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode leg5b type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode leg6a type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg6b type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg4a type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg4b type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode leg3a type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg3b type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode leg1a type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg1b type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode leg2a type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode leg2b type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode head type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode barrel1 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode flare1 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode barrel2 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode flare2 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/scavboss/cortorch.bos b/scripts/Units/scavboss/cortorch.bos index 7176d5c7f71..80f2c8dbc30 100644 --- a/scripts/Units/scavboss/cortorch.bos +++ b/scripts/Units/scavboss/cortorch.bos @@ -1,5 +1,7 @@ +#define TA // This is a TA script -#include "../../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, turret, lloarm, flare1, thruster1, thruster2, thruster3; @@ -7,7 +9,7 @@ static-var restore_delay; static-var unit_speed; // Signal definitions -#define SIGNAL_AIM1 256 +#define SIG_AIM 2 #define BASEPIECE base #define HITSPEED <55.0> @@ -15,9 +17,9 @@ static-var unit_speed; #define UNITSIZE 2 #define MAXTILT 100 -#include "../../unit_hitbyweaponid_and_smoke.h" +#include "unit_hitbyweaponid_and_smoke.h" -PilotLight() +PilotLight(Func_Var_1) { while( TRUE ) { @@ -35,9 +37,9 @@ Create() start-script PilotLight(); } -SetMaxReloadTime(reloadMS) +SetMaxReloadTime(Func_Var_1) { - restore_delay = reloadMS * 2; + restore_delay = Func_Var_1 * 2; } static-var Stunned; @@ -46,8 +48,8 @@ ExecuteRestoreAfterDelay() if (Stunned) { return (1); } - turn turret to y-axis <0.0> speed <90.0>; - turn lloarm to x-axis <0.0> speed <90.0>; + turn turret to y-axis <0.000000> speed <90.000000>; + turn lloarm to x-axis <0.000000> speed <90.000000>; } SetStunned(State) { @@ -62,35 +64,35 @@ RestoreAfterDelay() start-script ExecuteRestoreAfterDelay(); } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; - turn turret to y-axis heading speed <270.0>; - turn lloarm to x-axis <0.0> - pitch speed <90.0>; + signal SIG_AIM; + set-signal-mask SIG_AIM; + turn turret to y-axis heading speed <270.000000>; + turn lloarm to x-axis <0.000000> - pitch speed <90.000000>; wait-for-turn turret around y-axis; wait-for-turn lloarm around x-axis; start-script RestoreAfterDelay(); return (1); } -FireWeapon1() +FirePrimary() { //emit-sfx 1024 + 0 from flare5; - //move barrel to z-axis [-1.0] speed [500.0]; + //move barrel to z-axis [-1.000000] speed [500.000000]; //wait-for-move barrel along z-axis; - //move barrel to z-axis [0.0] speed [3.0]; + //move barrel to z-axis [0.000000] speed [3.000000]; } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = turret; + piecenum = turret; } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - //get PRINT(get GAME_FRAME,pieceIndex,flare_count,pieceIndex); - pieceIndex = flare1; + //get PRINT(get GAME_FRAME,piecenum,flare_count,piecenum); + piecenum = flare1; hide thruster1; hide thruster2; hide thruster3; @@ -109,7 +111,10 @@ QueryWeapon1(pieceIndex) } } - +SweetSpot(piecenum) +{ + piecenum = base; +} Killed(severity, corpsetype) { @@ -119,8 +124,8 @@ Killed(severity, corpsetype) explode base type BITMAPONLY | NOHEATCLOUD; explode turret type BITMAPONLY | NOHEATCLOUD; explode lloarm type BITMAPONLY | NOHEATCLOUD; - - + //explode barrel type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } if( severity <= 50 ) @@ -129,8 +134,8 @@ Killed(severity, corpsetype) explode base type BITMAPONLY | NOHEATCLOUD; explode turret type FALL | NOHEATCLOUD; explode lloarm type FIRE | SMOKE | FALL | NOHEATCLOUD; - - + //explode barrel type FALL | NOHEATCLOUD; + //explode flare type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) @@ -139,15 +144,15 @@ Killed(severity, corpsetype) explode base type FIRE | SMOKE | FALL | NOHEATCLOUD; explode turret type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode lloarm type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; - - + //explode barrel type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode flare type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; explode base type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode turret type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode lloarm type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; - - + //explode barrel type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/scavboss/cortorch.cob b/scripts/Units/scavboss/cortorch.cob index efa11144d862b8706c801423d5d550e7166cb211..c70072ca6d98bbe41d15c9d6a979379454496db0 100644 GIT binary patch literal 2849 zcmb7GJ7^S96urBfY>Xcq8#RKkC};|cHCk&DHU1*3i4qW$jLC}`+|4eNSxmZsjn*n? zAqK%#EG+_7f?{K-U}YiL1O)|)6rS_u-PvK1U6Nf6_s#vDd*{AQx!Gq7{J$T2+kLrN*{rIGjWg*pd0?IfS2T<~PD;N{DCuYgDTQPPi6ylzh>i{5^x zqe?18SX+L~C*|1hFpgS7bMpDX(KvSwc8z6i^(6->iN{pRlQFbgT}oPB>tb8+^cQ5d zaj7$p%7xO-4|TOhyZY_?G#@2r!g(_nd*sYsKqPfaU3SJav42Y1hIw$aTW~tx>T(IM zt}-H=jV7Hxk4b*_p6;h~oIici^#-WG?4%s$C)b3B2afpCMc?}~XV1~`SNwitu;@K^ z`g}%z%jqF3&-4!JeD=_Wd2mLrab$hFLztmu;B<78O1xJqPRDXO5Alletf3=s?gb@% zT7BTX;6q!wj&h+dd3<$tUMl)gEgt5Co;9|gI?Rpzf5b8I18<(+?ufb3jocW=Puh=l zl^gYX2ia5Bm$R@r!0(^SWBIyzYo}AWOW1h&IKQmT)^Ron(S21etj}6W&E49IQ!c2kSU(hO5@p z_|3#*``f4o&9_xPo%(4v?`#iSt(onI9Bu+Hfe*kp;0N#<=tZ$U;1F;gxCD#=Pl08C z|EHYM%196zJwrVb))Uj!rU@6-Hh#|_W1}9) o<)B(c*4zHPk*FDlCXy=ngf*F|`k^^4(QMe92a(okAkm$W|3@F=9smFU literal 2610 zcmai0J!n%=6h2AQ)PJAgpn@8TUg5cC=bK3@!roO&FvpLko!O=yL zg1e|VI0$tT#Z_={73ttms4gPt_uY3-a(VqR@Nw@w=R3dm+(&XEascQ9`m-WAto*&+ zCGrC}wOiy2&Lyl;$Ob+#K{hxMUR6f{;EoD{8D*1qW>koSF%aj*;Ew>-r9ApS- zZK#q;S4VyZqFgcINRYQ&(jWlH#M&bVDTwv2xzR>rG9FDd?q=JrJ$bB` zw#(RZy^oc)jITb^s}z$vQZA_f<@y}jvu5pm8A`^~d)lgI=CDSB>ji7(eMpepiQ00N zV#e0=9&@OoznAQPu6E~3cBq4WV>(hu-nZ6-$~(1l-<9VBe6sD2d0Si8J1fLqbED3m!?d2g zQN2t_GRs(dNyN(jFvfA7@ov~p`eZ-3cKU{Iqc3Bwi4H8zX90a*NP7R6hLt4Njy5Tu z9NX=DzHmO7x9@Y44Sez~ymfr74`z1W^L0pu zI?h(U)RrdHKXSI}OZ91Aq@4v`0{kxZz+gXc1SkR}U<{ZC?gDLK72toEYrrjF7Kng0 z@BnxQJO|zZpMWpGcVGkf4g3Z2dk_aW44eQ4fXlUbxP8-v3(fhls(+G^uo2Fh>SUvN z$4I4CZ^l<^vvaXrj7%6CnKbcuxHMtv&9Hi-)-ZBu$xOFmGhr6vW@O4Uv57`ZJ#3RX z8Mo%=O;t84%e6)leNaYgk @@ -16,7 +18,7 @@ static-var open_state; #define UNITSIZE 3 #define MAXTILT 100 -#include "../../unit_hitbyweaponid_and_smoke.h" +#include "unit_hitbyweaponid_and_smoke.h" Create() { @@ -38,8 +40,8 @@ SetStunned(State) StartBuilding(heading, pitch) { - signal SIGNAL_BUILD; - set-signal-mask SIGNAL_BUILD; + signal SIG_BUILD; + set-signal-mask SIG_BUILD; nano_heading = heading; if (heading > 0) { move emitnano to x-axis [-11.75] now; @@ -54,19 +56,23 @@ StartBuilding(heading, pitch) StopBuilding() { - //signal SIGNAL_BUILD; - set-signal-mask SIGNAL_BUILD; + //signal SIG_BUILD; + set-signal-mask SIG_BUILD; //start-script Restore_Nano(); set INBUILDSTANCE to 0; } -QueryNanoPiece(pieceIndex) +QueryNanoPiece(piecenum) { - pieceIndex = emitnano; + piecenum = emitnano; } - +SweetSpot(piecenum) +{ + piecenum = base; + return (0); +} Killed(severity, corpsetype) { diff --git a/scripts/Units/scavboss/corvac.cob b/scripts/Units/scavboss/corvac.cob index 7f12fbc6b73305bd2f88887dab5082546d53449e..6f60b95140be93aaabbb3a0cb0513c20beb81cf4 100644 GIT binary patch literal 2077 zcmd5-y^2#o82$3I*~LW|K}0R&f}oAX#U}{SLJ=eqL>pzV$)K0b-h}Kd?sfrRz*bQd z3rn%E5VX)nd;r0E!3WsF%0fM7?tC{xG(tKP4&Ti8d*;k!w<#irfF|&KL*|IliS2H+UbICyxF>IwgS;M&ZMb`8Bqjpx$d_iYl7p=KeF0|B< zb9Kg|`HS+jA1yVZ-t5IQQnP0;)tsd1HD-v~(K6QIB51c8e3|#vDqhWWrZq#VKbKYi za8C~+AN6NWJnuXm&`#2_Ke<*s3^?M;6bbzvg?NpL2j%@pyJemRe|^q>JNRKd&-e|h zK1UdX9@OX+mYnb35HutM-Y>Rike6**|VgI-5 zWiQ5c9((Kiqn~^B)41NV_Gg^$gS`Dad0z6}|4WUY-{+0NU2CT0?+GQSr#B`FhmR&i`KgZy?MYB7r@4 z=kYu?r+>c<$4*XPa)+t|FFGAq73|D>Q%hu2HCWrr( z8)du&yZ}A}Ux9DHIu3CRI0c*m`2X?=@Dg|fyaPS~Ux0n!0QdpaAaDyf3>*b6<*u`L z!)D`AA-%29roCR|F7{p?$c2f`oRyw+J-1U7b|5{MO3E_S1FwYj!qCwo`3 qV${uTA4T^q%ElunSMuQyrFXJzD{hkYH@78oF6-YDyOp~F74jQyh?rFX literal 1914 zcmbW2J#Q015QfJW#{m(+QUZ;Y1|fyWqM)IP4MidZ3UZMSaoDF|;*a256s4npl7C>K z`~;w)Ooc?xPe_q666s-{-5qCTz9cM-W_RYDcRp_JTosXvDpi$9MPyzzze!ExNaa{% zS?_16rJlJ|DlT(Z0oSWep4Hr<9<&_ zQf&l`xSGp6NFE>eReh*X2H&$Mt_yN?kPQRq-Hd+^kRGaHQF%QZl?Tcoac-?^ex6=vmC@x$25oI zjj&w~yLTM@6@aH=p~(9rZI;<_7*##ACL1^Yf+9119T%o@@uPbGI6~ z6Uz)O7k+x8a^LS^sC!X^jMHLl_J03&!uP?SUx#-Jddp}0Q;ztK-7?MHVdmG#d`k?)_U-}sl9`l));4#&IjK$K=m+}Jl04Z z>;W3gp=xmpQ$D+Uocht!n$E>P_h1rU zyU+51{ohzptf+ic`L4pQUs1WM(o|Vj;eRPx5V@>!LuEJkE!sjb70y @@ -16,7 +18,7 @@ static-var open_state; #define UNITSIZE 3 #define MAXTILT 100 -#include "../../unit_hitbyweaponid_and_smoke.h" +#include "unit_hitbyweaponid_and_smoke.h" Create() { @@ -29,12 +31,12 @@ Create() static-var Stunned; Restore_Nano() { - set-signal-mask SIGNAL_BUILD; + set-signal-mask SIG_BUILD; sleep restore_delay; set-signal-mask 0; - signal SIGNAL_BUILD; - set-signal-mask SIGNAL_BUILD; + signal SIG_BUILD; + set-signal-mask SIG_BUILD; if (Stunned) { return (1); @@ -70,7 +72,7 @@ Restore_Nano() Deploy_Nano(heading) { - set-signal-mask SIGNAL_BUILD; + set-signal-mask SIG_BUILD; if ( (open_state == 0) OR (open_state == 1) ) { open_state = 1; @@ -119,8 +121,8 @@ UpdateHeading(heading) StartBuilding(heading, pitch) { - signal SIGNAL_BUILD; - set-signal-mask SIGNAL_BUILD; + signal SIG_BUILD; + set-signal-mask SIG_BUILD; //get PRINT(get GAME_FRAME, 3, 3, 3); start-script Deploy_Nano(heading); // set INBUILDSTANCE to 1; @@ -128,18 +130,22 @@ StartBuilding(heading, pitch) StopBuilding() { - //signal SIGNAL_BUILD; - set-signal-mask SIGNAL_BUILD; + //signal SIG_BUILD; + set-signal-mask SIG_BUILD; start-script Restore_Nano(); set INBUILDSTANCE to 0; } -QueryNanoPiece(pieceIndex) +QueryNanoPiece(piecenum) { - pieceIndex = emitnano; + piecenum = emitnano; } - +SweetSpot(piecenum) +{ + piecenum = nanotower; + return (0); +} Killed(severity, corpsetype) { diff --git a/scripts/Units/scavboss/corvacct.cob b/scripts/Units/scavboss/corvacct.cob index c22123572051cca514c217f68cfe9c7cde1d99cf..a8e9954b396cdd1f58a047dbc76ac696ab7aeb78 100644 GIT binary patch literal 3521 zcmds4J7`ov6urAi)_{snN#O@%LBv9fMJu})1r3Tsmyk-$>JGA)>{~Z4#B>X`f^`Hj zD3*Q-3kwTN8+);{SFy0wc+Q=<>CDB2yJu z`+m$PHSc!>TdQF?`F-%1&s~DuVp-dKi9xE8FqPqC4DG6mR>ie0wjWP_L1vAM_S_m4 zuESKIuGQG6{ziV5k1Kn^elr(2vS&}Q+=SlU3%Z8tN;$6KTEEvc zS^v4s^M`Y~AL-bC`o#54Qi0w{&F3f997h6-_@j%2d@I3TqT>&LJ~CcO9tVB7puZmU zSQKYGgVvwDw4opD(MxPuUuOtCBm$l;9e>Jkb{o}W0(pjsqY&j&o}dJZB4+3di_@|<=g~& zi{bq@AJ*mGaKv2Hr@)2$V=nW73-y*mxfovhZ-AGk0lWoVG!NvY0&`$@C7v;2)w=34 zI2T3CkN$;uD?Kh?-bycvbMZ0YS~nNg%h_M+&R)dk6*mHXj%UW^;>G9f%?0~w{g3D3 zZ!=!JdtU>W;@!*d7k`vDxnI2Bf2(cxp6}yYRD)-a&-^Xo9nar6+=;j^bh9}!AJ$U7 z$fNvL{Ts4}2b$m=)1Y|9{2W?5eaMv<`g7=g2IjRh_}=|1p1HI(-o_#htp~e8E4;yR zP5Z4Y;Y;N8bZ1RP}vnqc3s1@vg#!`W{x9#cye{L*Ezbs!$beo5k_WSYOW- z_ddp=ztsWDvw($1MJ|?;jbXh}ti-~-_A=~yK_6q>O3ZfZY{uyp@dQp^0w?v4IFTcH z=%EK5Tj96ec;mX=_#$s|_+Pp47_UK|LOwt~K{{w)8O_@VIRrTlISn}jnS}8FC1a4o zkQ0zoka5T*$PC0m79c&yL&yqb74jVN3i1Z>7ILALO)Ss2Mkj4ceLlV8rrWJ7)=oC% zY}Yk1Cs*A{+_xy3$P3t~6Tn;^tc!)$#|g Cl<_eD literal 3214 zcmb_e&x_4b6hHIco9E}^tCU#1NJ>mEOA&@Nh=v!I=4;-?%X{zpJl{!E78K=Am?BN~ z3M&f>8)9W+B})q_rIc(KpU=7X%-r`KLnBkCd++)6`J8jl{l2M)$XduS-8+AiaRqEbHl4=5a`d12ZTo}Dy)L#fha{fQ zXz-_sb;W*)5o$Uf{HU{>#M!jXb2P46N4=~)(Rgr>nrIEijWO02;t|?#Wl`)xJpEWN zV{c*0^)^<<65nzbSE>6uGGDm<)i?HGJZrYzAApgVJTJwY96r(^)We#2ACmYxu~@EB zAJUp$u3F$#?Ah;Z47FN$ch(#Bf;0Oi*eg6^PFVxDH9I>TTbdCX%Zd=WOwe)c{D`w$(!_!*J?)#PK)mm&o54;x5h4pgc$D+IEFSM^4FQPCrHWv@y{o7nD zXU2;QT;v2Vbp5RT` zJMg_i@-Ro{LoBTqdGrm>`ftc?UTA`E4;KC{6;B`5sx=^oItL8#p^hs7IC&t*hXlK8fn|k&- z#?jxOfb$^Wu*MkY9^)b$I~$Ij|AaHi90BK9z)}CGp8EwHI~$Iji#V+Pf8`>D5y)f6 zS4bJ)cOg5$c`xKJzTxsl zKGp5Irkw6I;X3BhW~+Nq8hP5!N2gltaLRh~hm%vTKg~?zEjQ`pSgYMe`1$mzlP; + turn base to z-axis anglez speed ; + + wait-for-turn base around z-axis; + wait-for-turn base around x-axis; + + turn base to x-axis (0-anglex) speed ; + turn base to z-axis (0-anglez) speed ; + + //wait-for-turn base around z-axis; + //wait-for-turn base around x-axis; + + //turn base to x-axis <0> speed ; + //turn base to z-axis <0> speed ; + + + } +#endif diff --git a/scripts/Units/scavboss/water3.h b/scripts/Units/scavboss/water3.h new file mode 100644 index 00000000000..5066f328452 --- /dev/null +++ b/scripts/Units/scavboss/water3.h @@ -0,0 +1,35 @@ +#ifndef __ROCKUNIT_H_ +#define __ROCKUNIT_H_ + + +RockUnit(anglex,anglez) + { + + #define FIRST_SPEED 10 + #define SECOND_SPEED 8 + #define THIRD_SPEED 6 + #define FIFTH_SPEED 4 + + turn base to x-axis anglex speed ; + turn base to z-axis anglez speed ; + + wait-for-turn base around z-axis; + wait-for-turn base around x-axis; + + turn base to x-axis (0-anglex) speed ; + turn base to z-axis (0-anglez) speed ; + + wait-for-turn base around z-axis; + wait-for-turn base around x-axis; + + turn base to x-axis (anglex/2) speed ; + turn base to z-axis (anglez/2) speed ; + + wait-for-turn base around z-axis; + wait-for-turn base around x-axis; + + turn base to x-axis <0> speed ; + turn base to z-axis <0> speed ; + } +#endif + diff --git a/scripts/Units/scavboss/weapon1control.h b/scripts/Units/scavboss/weapon1control.h new file mode 100644 index 00000000000..c93a74dc8bd --- /dev/null +++ b/scripts/Units/scavboss/weapon1control.h @@ -0,0 +1,168 @@ +/* +HOW TO: +- Model MUST contain aimx1 and aimy1 pieces +- Script must have defined Weapon1TurretX and Weapon1TurretY static-vars (turret turn speeds) +- Script must have defined aimx1 and aimy1 pieces +- Change script as such: +Create() +{ + [...] + start-script InitialSetup1(); + [...] +} + +AimWeapon1(heading, pitch) +{ + [...] + start-script Weapon1Drawn(); -- can call a function that draws weapons and then calls Weapon1Drawn() when done if there is an actual animation (ie pw) + [...] -- Remove animations from aimWeapon scripts (use a DrawWeapon1() if an animation is needed, weapon1control will rotate the different aimpieces) + start-script Weapon1SetWtdAim(heading, pitch); + [...] + return (aim1); +} + +static-var Stunned; +ExecuteRestoreAfterDelay() +{ + if (Stunned) { + return (1); + } +} +SetStunned(State) +{ + Stunned = State; + if (!Stunned) { + start-script ExecuteRestoreAfterDelay(); + } +} +RestoreAfterDelay() +{ + [...] + sleep sleeptime; + start-script RestoreWeapon1(); + [...] -- other animations; + call-script Weapon1Restored(); + [...] -- tell script wpn has been restored if needed for walkscripts +} + +- Weapon1Control moves the aim pieces depending on turretSpeeds, sets pitch = 1 when pitch reached and head = 1 when head reached +- Weapon1Drawn allows unit to fire by setting wpnReady1 = 1 +- if pitch = 1, head = 1 and wpnReady = 1 then the weapon can shoot: aim1 = 1 and aimweapon returns aim1 +- Restore animations go in RestoreAfterDelay, RestoreWeapon1() restores aimy and aimx pieces orientation, Weapon1Restored() waits for these pieces to be restored +*/ + +static-var curHead1, wtdHead1, head1, curPitch1, wtdPitch1, pitch1, aim1, wpnReady1; + +Weapon1Control() +{ + while (TRUE) + { + if (curHead1 > <180>) + { + curHead1 = <-360> + curHead1; + } + if (curPitch1 > <180>) + { + curPitch1 = <-360> + curPitch1; + } + if (curHead1 < <-180>) + { + curHead1 = <360> + curHead1; + } + if (curPitch1 < <-180>) + { + curPitch1 = <360> + curPitch1; + } + if (Static_Var_3 == 1) + { + if (((get ABS(curHead1 - wtdHead1)) > <360>) OR(((get ABS(curHead1 - wtdHead1)) > (Weapon1TurretY / 30)) AND ((get ABS(curHead1 - wtdHead1)) < <360> - (Weapon1TurretY / 30)))) + { + head1 = 0; + if(curHead1 < wtdHead1) { + if(get ABS(curHead1 - wtdHead1)< <180>) + curHead1 = curHead1 + (Weapon1TurretY / 30); + else curHead1 = curHead1 - (Weapon1TurretY / 30); + } + + else { + if(get ABS(curHead1 - wtdHead1)< <180>) + curHead1 = curHead1 - (Weapon1TurretY / 30); + else curHead1 = curHead1 + (Weapon1TurretY / 30); + } + } + else + { + head1 = 1; + curHead1 = wtdHead1; + } + if (((get ABS(curPitch1 - wtdPitch1)) > <360>) OR(((get ABS(curPitch1 - wtdPitch1)) > (Weapon1TurretX / 30)) AND ((get ABS(curPitch1 - wtdPitch1)) < <360> - (Weapon1TurretX / 30)))) + { + pitch1 = 0; + if(curPitch1 < wtdPitch1) { + if(get ABS(curPitch1 - wtdPitch1)< <180>) + curPitch1 = curPitch1 + (Weapon1TurretX / 30); + else curPitch1 = curPitch1 - (Weapon1TurretX / 30); + } + + else { + if(get ABS(curPitch1 - wtdPitch1)< <180>) + curPitch1 = curPitch1 - (Weapon1TurretX / 30); + else curPitch1 = curPitch1 + (Weapon1TurretX / 30); + } + } + else + { + pitch1 = 1; + curPitch1 = wtdPitch1; + } + if (pitch1 == 1 AND head1 == 1 AND wpnReady1 == 1 AND wtdHead1 != 0) + { + aim1 = 1; + } + else + { + aim1 = 0; + } + turn aimy1 to y-axis curHead1 now; + turn aimx1 to x-axis curPitch1 now; + } + sleep 1; + } +} + +InitialSetup1() +{ + curHead1 = 0; + curPitch1 = 0; + wtdHead1 = 0; + wtdPitch1 = 0; + wpnReady1 = 0; + start-script Weapon1Control(); +} + +Weapon1Drawn() +{ + wpnReady1 = 1; +} + +RestoreWeapon1() +{ + wtdHead1 = 0; + wtdPitch1 = 0; +} + +Weapon1Restored() +{ + wpnReady1 = 0; + while (curHead1 != 0) + { + sleep 25; + } + return (TRUE); +} + +Weapon1SetWtdAim(pitch, heading) +{ + wtdHead1 = heading; + wtdPitch1 = <0> - pitch; +} \ No newline at end of file diff --git a/scripts/Units/scavboss/yard.h b/scripts/Units/scavboss/yard.h new file mode 100644 index 00000000000..048994e2881 --- /dev/null +++ b/scripts/Units/scavboss/yard.h @@ -0,0 +1,35 @@ +#ifndef SCRIPTS_YARD_H +#define SCRIPTS_YARD_H + +// keep trying to open building's yard until we succeed +OpenYard() + { + set YARD_OPEN to TRUE; + + while(!(get YARD_OPEN)) + { + set BUGGER_OFF to TRUE; + sleep 1500; + set YARD_OPEN to TRUE; + } + + set BUGGER_OFF to FALSE; + } + + +// keep trying to close building's yard until we succeed +CloseYard() + { + set YARD_OPEN to FALSE; + + while(get YARD_OPEN) + { + set BUGGER_OFF to TRUE; + sleep 1500; + set YARD_OPEN to FALSE; + } + + set BUGGER_OFF to FALSE; + } + +#endif // SCRIPTS_YARD_H diff --git a/scripts/Units/scavbuildings/armapt3.bos b/scripts/Units/scavbuildings/armapt3.bos index 942e635c008..f6713b71398 100644 --- a/scripts/Units/scavbuildings/armapt3.bos +++ b/scripts/Units/scavbuildings/armapt3.bos @@ -1,21 +1,46 @@ +#define TA // This is a TA script -#include "../../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, pad,nano3, nano4, nano2, nano1, head1, head2, head3, head4; -static-var spray; +static-var spray, statechg_DesiredState, statechg_StateChanging; // Signal definitions -#define SIGNAL_TURNON 4 +#define SIG_ACTIVATE 2 -#include "../../opencloseanim.h" +SmokeUnit(healthpercent, sleeptime, smoketype) +{ + while( get BUILD_PERCENT_LEFT ) + { + sleep 400; + } + while( TRUE ) + { + healthpercent = get HEALTH; + if( healthpercent < 66 ) + { + smoketype = 256 | 2; + if( Rand( 1, 66 ) < healthpercent ) + { + smoketype = 256 | 1; + } + emit-sfx smoketype from pad; + + } + sleeptime = healthpercent * 50; + if( sleeptime < 200 ) + { + sleeptime = 200; + } + sleep sleeptime; + } +} -#define BASEPIECE base -#define MAXTILT 0 -#include "../../unit_hitbyweaponid_and_smoke.h" -Open() +Go() { //get PRINT(get (GAME_FRAME), 11); @@ -41,7 +66,7 @@ Open() set INBUILDSTANCE to 1; } -Close() +Stop() { //get PRINT(get (GAME_FRAME), 22); set INBUILDSTANCE to 0; @@ -68,6 +93,37 @@ Close() set BUGGER_OFF to 0; } +InitState() +{ + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; +} + +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) //we are still in the state changing process + { + statechg_DesiredState = requestedstate; //make the requested state the one to be in + return (0); + } + statechg_StateChanging = TRUE; // flad that we are gonna change states + currentstate = statechg_DesiredState; // + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + call-script Go(); + currentstate = 0; + } + if( statechg_DesiredState == 1 ) + { + call-script Stop(); + currentstate = 1; + } + } + statechg_StateChanging = FALSE; +} Create() { @@ -77,22 +133,27 @@ Create() hide nano4; hide pad; spray = nano1; - SLEEP_UNTIL_UNITFINISHED; + call-script InitState(); + while( get BUILD_PERCENT_LEFT ) + { + sleep 1000; + } + start-script SmokeUnit(); } Activate() // activate first { //get PRINT(get (GAME_FRAME), 3333); - signal SIGNAL_TURNON; - start-script OpenCloseAnim(1); + signal SIG_ACTIVATE; + start-script RequestState(0); } Deactivate() { //get PRINT(get (GAME_FRAME), 4444); - signal SIGNAL_TURNON; - set-signal-mask SIGNAL_TURNON; - start-script OpenCloseAnim(0); + signal SIG_ACTIVATE; + set-signal-mask SIG_ACTIVATE; + start-script RequestState(1); } StartBuilding() // Is only called once INBUILDSTANCE == 1 ! @@ -112,31 +173,31 @@ StopBuilding() set BUGGER_OFF to 0; // ok now we dont mind if they are here } -QueryBuildInfo(pieceIndex) +QueryBuildInfo(piecenum) { - pieceIndex = pad; + piecenum = pad; } -QueryNanoPiece(pieceIndex) +QueryNanoPiece(piecenum) { if( spray == 0 ) { - pieceIndex = nano1; + piecenum = nano1; } if( spray == 1 ) { - pieceIndex = nano2; + piecenum = nano2; } if( spray == 2 ) { - pieceIndex = nano3; + piecenum = nano3; } if( spray ==3 ) { - pieceIndex = nano4; + piecenum = nano4; } spray=spray +1; @@ -146,7 +207,10 @@ QueryNanoPiece(pieceIndex) } } - +SweetSpot(piecenum) +{ + piecenum = base; +} Killed(severity, corpsetype) { diff --git a/scripts/Units/scavbuildings/armapt3.cob b/scripts/Units/scavbuildings/armapt3.cob index d8e3e91d71f0460a9dbdf42933b0780d5b1f507c..8d21e77c63255cbdf4e1adaf816282f4627d9678 100644 GIT binary patch literal 4395 zcmb_fJ&06S6uvXA>knvNVr3d%lP-{PHAO-~{0R{eWRoGW-O0|28M4l->#QPJywXOn zun-|2f?$<0kS-7jDFT6{O(Ucb6bUIz5s3M|bI&(>GrYI#8+Y)`z4!cl_uTKCduN>s zA?%0jg*@I70{+?O=T}0Q%R+b$@+LHWj3IAll2+EvUZrOauci5HAEwmZY+=%AW#QO- zMl9;6qR*nQ=eR~(y8}FY+VJ5>-xHi(_i_4k6!dKGa!_@5Y+k#xmu| ze6z?AU5RtR#}w!HoltgK6HNNa&R)4T6^rF02ZpBpoSWTwl-+cmx44bEYHnq#;#RgQ zZe^Q=+Za2=E$+rM7`BU7?Ll6D!y>JTY||XF7IU4A{-z(-x@Q&#zIFfYrcsI9_aj)j zPh+Upg-<-ja-H54LMe7)cfYU{d+!4T$+nSyw7o^Z9QTSq_{gq3(m3;3jB)RKoV@`a zN0s8p;pH@3I@V-%sIKPOh^# z^3(f7f7XHe^sKbAp8wa!dVYf-`f^XjroNVg*Zw>Ab}(ChQ6+xHdNqmJtd7g%-|P4p2xCpi+g9&U%9rj+S_9QIVa9~b-r2S6{m44XVzVA5~E&H4Ev)A&+041Zza#^zG~V#+N)`nOatrb`R zKNy}jkjdiX^+s`3DL@#?C@;+>IbB$nIuQL%>YfB83+7+<9(>?9L3ENnpW3 zFaZk<79xToQ&?G9h?Q7ah?TX1jh$Gig^du6-*@i$W-r6rQN-DtckeylcYg1^?~#U? zor2sAxv*r0fBw6CkJ$wB9prIpNNOz>jbgD_z;prQBK7Mh3hOqD`!I#3plXVBmx@OF zh)>Kq&0^LM{aI(JSPbqwKY9GA9pd`Dn{wHLyE-28e1@@F&7#2(KjunX#kTcku}J`& z6CCj)hhxrpl=E%8n+jkXzjE|;?m75M{99&4t1M)v4`Pe)4hI`?62NU8Au5nIT1E=aaG1j7U`#|ui(%H=Y=XUNh&d}*Bj$+Ub zYLD+R{7s~@oX*}8VYfiyZ|RKiKCgy;G1KR4}9^V7j<#ipIwl1Tl!KCG@Z@MahxaWg}W}|seegV-&)`}Yu-EBa-DyF z{)kxVos!P|uc1>c+IWmn+B^E?cY}jsaIQO&bAA4LvUAQHyWB_Jd8|7#Z;}{iRJi9C zXG(tDcjy#HcZ&S{{gUJS-g3bSmd!F@Tn)YWl) zZ-cuVTHW`M`ttewfd^y56D<_D^+v z6l>L`wd&GZb!n}-ZiT(}OKa67zUmS_Ti3tIUA~n2d;gHT@Z)k9uH3agE_cPB&7EnS zha5s~L!L!~??8Tp+=eWpSr0-Uf~-K+Ag@9A|E^PzM<9; + start-script SmokeUnit(); } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; - turn turret to y-axis heading speed <15.0>; - turn neck to x-axis <0.0> - pitch speed <6.0>; + signal SIG_AIM; + set-signal-mask SIG_AIM; + turn turret to y-axis heading speed <15.000000>; + turn neck to x-axis <0.000000> - pitch speed <6.000000>; wait-for-turn turret around y-axis; wait-for-turn neck around x-axis; return (1); } -FireWeapon1() +FirePrimary() { emit-sfx 1024 + 0 from flare; if( gun_1 == 1 ) { - move barrel01 to z-axis [-10.0] now; - move barrel01 to z-axis [0.0] speed [10.0]; - turn spindle to z-axis <90.0> speed <230.0>; + move barrel01 to z-axis [-10.000000] now; + move barrel01 to z-axis [0.000000] speed [10.000000]; + turn spindle to z-axis <90.000000> speed <230.000000>; } if( gun_1 == 2 ) { - move barrel02 to z-axis [-10.0] now; - move barrel02 to z-axis [0.0] speed [10.0]; - turn spindle to z-axis <180.0> speed <230.0>; + move barrel02 to z-axis [-10.000000] now; + move barrel02 to z-axis [0.000000] speed [10.000000]; + turn spindle to z-axis <180.000000> speed <230.000000>; } if( gun_1 == 3 ) { - move barrel03 to z-axis [-10.0] now; - move barrel03 to z-axis [0.0] speed [10.0]; - turn spindle to z-axis <270.0> speed <230.0>; + move barrel03 to z-axis [-10.000000] now; + move barrel03 to z-axis [0.000000] speed [10.000000]; + turn spindle to z-axis <270.000000> speed <230.000000>; } if( gun_1 == 4 ) { - move barrel04 to z-axis [-10.0] now; - move barrel04 to z-axis [0.0] speed [10.0]; - turn spindle to z-axis <0.0> speed <230.0>; + move barrel04 to z-axis [-10.000000] now; + move barrel04 to z-axis [0.000000] speed [10.000000]; + turn spindle to z-axis <0.000000> speed <230.000000>; } ++gun_1; if( gun_1 == 5 ) @@ -69,17 +106,30 @@ FireWeapon1() } } -QueryWeapon1(pieceIndex) +TargetCleared(Func_Var_1) { - pieceIndex = flare; + if( Func_Var_1 == 1 ) + { + signal SIG_AIM; + stop-spin turret around y-axis; + stop-spin neck around x-axis; + } } -AimFromWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = spindle; + piecenum = flare; } +AimFromPrimary(piecenum) +{ + piecenum = spindle; +} +SweetSpot(piecenum) +{ + piecenum = base; +} Killed(severity, corpsetype) { diff --git a/scripts/Units/scavbuildings/armminivulc.cob b/scripts/Units/scavbuildings/armminivulc.cob index a6fa6cb2a4b7f76ae85e216de2860b30b206a3a1..9154f9b484c8526a5ee8aa6c088c40d1a3951940 100644 GIT binary patch literal 4082 zcmbVPJxml)5FYN1L-B{Tv^x_@V@`ew5))Af4HRb%8!Jv&@xpOOmP13MSD4sX7&|MC zHbxswY>lxnSlC!o8cP!jH5MlNeQ)0!kM$nxa%67azM1)E-pse}LP121LQX)QMyHvNI_x6ehZ2dq9~ zHRneEL935hecWodM+MZyZPuxJ>kU@rIKSyZfV%8Q{Y>mPIIgWVJP z^;cda0?*nPk-=_VnEoEyz2`C3pNj}Uo$M{++&rcil{n8fY^FY&hcoo$ac!FC_gw^d z@)%y&JU zV{4$l`o=Y3gYOV{shmsBeZt0?8CkwEtxWFartZ0XGkX?aars_zKbfD;h8z3X8Rv^n zp5Zi|OEITDI_KAWh51Twq3%HQK9pdfTU!ZRNt@2CmyPH4VY2T&8_(>s@m`{hMNymk z3UzXAIA+%!*tLGn-G|3}&u8Pi;j{5x^x4Q+pN;kUZ06m?IoKO=(B+@`y|A;JM$?JG z-lv^imVW7MSP%1bptYAen=E)bvtD>Qn_f1ZO_p3bvn(+>%U(6;EVJP0jI+crH|O1J z_KWPlo&8rkd!94x>`U-X&N0nCoPQESd7@Z6ull8VFO^FgpC(4RlqE(vmSrBw zy)1c@dk6JR`IZG+d3X@E+OuFMxyLzY;g{xe=kMc;`l@zg(#&6fQw|%yA7_0vCwc1D z?2AeA)Qw4VPUY-j&za*gg}j4oLB2q?A>Sb1 zA=TB^N_e$dZ_88^*4m+5s;^d}`f4rOl$m-I>UzEwEr;!?Mp%o&CAqQ@Mw@Cv#7xxc zMpbWzVY|B4YRhcB(SY;y+IlEA8VHp3Mihl@>_9cj=XEini&0&S$<5ZrdcC;}CtZzn VSEJq4n5?hWn@f#Qn&IM#`~$4A9_|1D literal 3143 zcmai0J7`o<5S?r`tBD_;c0!89LK~5n4Z^>Lc!%SmvSs2f-uVNg?%jv5z?{ z@%@YiJg>+r#2%bv)8;Hxn0+9;|GRgL-2OV_A~*bgm!Ujwg>aev=bz-0D{Jx5S4t3bG>MZ8!^lVTk_NmT~SDovy zFV(q~t5e#bPV7@1rs~88sg3Wvb}ybOdsYt*Ll49Y>z^etYv1ko9b<~v@19-S-jCSN zUDmEL_bxiies}&v^_ic25VJx|vZ=Livh}=W>-SN1KAwHW`S`m``z}uA=PY9Xrku^a zi2Zo&*4TV5v43;Uc6*3=?2Ge?=it64VGajCjCsg!qdBN=@mykF@DNY=#Z!Lqlr5gZ zi>GYy6ka^#7f;zm_T7Q!MfMnYUI{!|ZzG;7i~+As&--TZYYz8V zL4M6a`85amH3#`M2l?}J;4}Rn*W002aTOQswrp_~UR-61tMK9~TU=#}t88&qK5>;T zuCnu7Nn<~RKW*P3J!p6@; @@ -74,12 +105,62 @@ SetStunned(State) call-script Stop(); set ACTIVATION to 0; }else{ + //if (statechg_DesiredState == 0) { call-script Go(); set ACTIVATION to 100; + //} } } +/* +InitState() +{ + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; +} + +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + call-script Go(); + currentstate = 0; + } + if( statechg_DesiredState == 1 ) + { + call-script Stop(); + currentstate = 1; + } + } + statechg_StateChanging = FALSE; +} + +SweetSpot(piecenum) +{ + piecenum = base; +} + +Activate() +{ + start-script RequestState(0); +} + +Deactivate() +{ + start-script RequestState(1); +} +*/ Killed(severity, corpsetype) { if( severity <= 25 ) diff --git a/scripts/Units/scavbuildings/armwint2.cob b/scripts/Units/scavbuildings/armwint2.cob index 31cc529580b20fb4af70bd3b8814c1ce8f08bb73..fee81802456dbe4d1013de6532f39549748ab263 100644 GIT binary patch literal 1945 zcmcJQKWmdw6vj`JG|hP36gu2l6keR1Bx<2U7c~eD4o#YO2-c*uZx@H!MG&Vt2p#(Gott$0vosOqvyz?gxIyWe>XPe%ukke}&wryXy`c zIroT$aMACEyV-}UQ?vryT2!C>p$9SQ-$`M2u+{TC&h8P*oE_+xu&Dt$alKh{?YQYp ztgcHh@)z$f=6cjv&U(OY>ig4DU6bous$3Z=C=;O8ies23+*fXC4Ly7K7$%^=nFodMQz&AP|r*`@-=6EqfS1bi9NqFxSXd|7Q4TAUwt-MnBz7(_nSW2 zNB^!j??#BbvB%2*RbKMxPcv^32Yg3-7WvmGjy110)z5qQPGHB}`%v1n%NABn-#^Ml z&Y`r&{OzM$^D!VZ9}QPcENOQ$mZup@dZ*&-ZKKNOd(sLYpwRqYf`xN>!+bu>e(*cS z%hdb}`xd=3_SYFZyK+$;!Ti7R(*H7;njBq}&+}?7@*eZtLgyXHvE+l~i{!iHhoq-u z{@<-j9!j1_hLWjdPjVo6C3z!xD_Nh};Q8!X`FJ|1?EY>!tV$b{)nKPA#~jusyX96j mnN4j_&300#+MiAp+?Z@{OO1wmrH!_S<8sfc{oT=ITG}5}v3~Uc literal 2114 zcma)-J!?~86vt0qnidCn1VMxhcN2Z80HTAl?t+MjIEeq>ljo$jv5nqvIL~?gpO@#})XnUKs3v+}F>8qP6tiZ#qPL>+ zlHZ9}LN&-G^6wl%Jy@#}EUW4?vcan|Syl_xRyA;xCUWADEzAU4X@sVZu5+K`;(k7n zb88egucP}DA8p6rscf@_+PFT;EY|0Jyq1}oakG}i{;1#UvU`o#A3Zu@JB5Fy{?*5w zE=M+?{5^euyjEB39bZ)8sE^^i}qY7^$b72fER5bbNDOvARe=}H_qi})Z}}v#ysyN=213}gZmvIp1HI0-(tvhWbOH=yS|7m z&FG_!j_bL@v)1(QDxS_uRZEalU)$y%zwwct^E^ zdCBEj#5#-H49=1|6ocPin$N;q)`Q*d_4BV5OEc^b|dF$rfs;c!=`_4ACF|G;53|H}1Z zBG=0#Pu7h3ny4?@7x9js7F`f6i|&htBK~tfh(3wFh<=GGbNas)oe?!f=R_Apmqk}a zw}y7RS6qMmAn$Ap2g}{EWJ{g(&cnRhULQWn?Z#%_DROJ)MSCO9yBwB!oB3MN8xE{p i3^$^w*d7dIyxZ&d#a268xvlm)-F(Z6?akHRAh$ov@{Yp* diff --git a/scripts/Units/scavbuildings/corapt3.bos b/scripts/Units/scavbuildings/corapt3.bos index 02a522e30be..6be548fd9d0 100644 --- a/scripts/Units/scavbuildings/corapt3.bos +++ b/scripts/Units/scavbuildings/corapt3.bos @@ -1,21 +1,92 @@ +// * Header Info * +// VersionSignature 4 +// NumberOfScripts 19 +// NumberOfPieces 9 +// LengthOfScripts 471 +// NumberOfStaticVars 4 +// UKZero 0 +// OffsetToScriptCodeIndexArray 11f0 +// OffsetToScriptNameOffsetArray 123c +// OffsetToPieceNameOffsetArray 1288 +// OffsetToScriptCode 2c +// OffsetToNameArray 12ac -#include "../../recoil_common_includes.h" +// OffsetToFirstName 12ac + +#define TA // This is a TA script + +#include "sfxtype.h" +#include "exptype.h" piece base, pad, head, nano1, nano2, dish; -static-var spray; +static-var spray, unitviewer, statechg_DesiredState, statechg_StateChanging; // Signal definitions -#define SIGNAL_TURNON 4 +#define SIG_ACTIVATE 2 -#include "../../opencloseanim.h" +Standby() +{ + while( get BUILD_PERCENT_LEFT ) + { + sleep 100; + } + sleep 50; + start-script Standby(); +} +activatescr() +{ + if( TRUE ) + { + turn head to y-axis <0> now; + turn head to y-axis <109> speed <100>; + wait-for-turn head around y-axis; + sleep 464; + } + sleep 56; + return (0); +} +deactivatescr() +{ + if( TRUE ) + { + turn head to y-axis <0> speed <100>; + wait-for-turn head around y-axis; + sleep 424; + } + return (0); +} -#define BASEPIECE base -#define MAXTILT 0 -#include "../../unit_hitbyweaponid_and_smoke.h" +SmokeUnit(healthpercent, sleeptime, smoketype) +{ + while( get BUILD_PERCENT_LEFT ) + { + sleep 400; + } + while( TRUE ) + { + healthpercent = get HEALTH; + if( healthpercent < 66 ) + { + smoketype = 256 | 2; + if( Rand( 1, 66 ) < healthpercent ) + { + smoketype = 256 | 1; + } + emit-sfx smoketype from base; + } + sleeptime = healthpercent * 50; + if( sleeptime < 200 ) + { + sleeptime = 200; + } + sleep sleeptime; + } + return (0); +} -OpenBuildArea() +OpenYard() { set YARD_OPEN to 1; while( !get YARD_OPEN ) @@ -25,9 +96,10 @@ OpenBuildArea() set YARD_OPEN to 1; } set BUGGER_OFF to 0; + return (0); } -CloseBuildArea() +CloseYard() { set YARD_OPEN to 0; while( get YARD_OPEN ) @@ -37,78 +109,142 @@ CloseBuildArea() set YARD_OPEN to 0; } set BUGGER_OFF to 0; + return (0); } -Open() +Go() { - turn head to y-axis <0> now; - turn head to y-axis <109> speed <100>; - wait-for-turn head around y-axis; - sleep 464; - call-script OpenBuildArea(); + call-script activatescr(); + call-script OpenYard(); set INBUILDSTANCE to 1; + return (0); } -Close() +Stop() { set INBUILDSTANCE to 0; - call-script CloseBuildArea(); - turn head to y-axis <0> speed <100>; - wait-for-turn head around y-axis; - sleep 424; + call-script CloseYard(); + call-script deactivatescr(); + return (0); +} + +InitState() +{ + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; + return (0); } +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + call-script Go(); + currentstate = 0; + } + if( statechg_DesiredState == 1 ) + { + call-script Stop(); + currentstate = 1; + } + } + statechg_StateChanging = FALSE; + return (0); +} Create() { hide pad; hide nano1; hide nano2; + unitviewer = FALSE; spray = base; - SLEEP_UNTIL_UNITFINISHED; + call-script InitState(); + start-script SmokeUnit(); + start-script Standby(); + while( get BUILD_PERCENT_LEFT ) + { + sleep 1000; + } spin dish around y-axis speed <150.032967>; return (0); } -QueryNanoPiece(pieceIndex) +QueryNanoPiece(piecenum) { - pieceIndex = nano1 + spray; + if( spray == 0 ) + { + piecenum = nano1; + } + if( spray != 0 ) + { + piecenum = nano2; + } spray = !spray; + return (0); +} + +Demo() +{ + unitviewer = TRUE; + return (0); } Activate() { - signal SIGNAL_TURNON; - start-script OpenCloseAnim(1); + signal SIG_ACTIVATE; + start-script RequestState(0); + return (0); } Deactivate() { - signal SIGNAL_TURNON; - set-signal-mask SIGNAL_TURNON; - - sleep 5000; + signal SIG_ACTIVATE; + set-signal-mask SIG_ACTIVATE; + if( !unitviewer ) + { + sleep 5000; + } set-signal-mask 0; - start-script OpenCloseAnim(0); + start-script RequestState(1); + return (0); } StartBuilding() { show nano1; show nano2; + return (0); } StopBuilding() { hide nano1; hide nano2; + return (0); } -QueryBuildInfo(pieceIndex) +QueryBuildInfo(piecenum) { - pieceIndex = pad; + piecenum = pad; + return (0); } +SweetSpot(piecenum) +{ + piecenum = base; + return (0); +} Killed(severity, corpsetype) { diff --git a/scripts/Units/scavbuildings/corapt3.cob b/scripts/Units/scavbuildings/corapt3.cob index e47213423379713add6cf9780d9b248d4e897098..1f0d67bd4a936a2d234015b153b9a5ac8057f457 100644 GIT binary patch literal 3559 zcmbtXOKgl$6h3`TOGti?MeQbb5}}$%EX1QliC}0fBqAN1ONW{nGk?)Uq_JV+kw`>h z!;TfPArc9@ZX|4k#L9-HjlJ(X_nw*S*J(Pm`Fig?@AKXBU(qWfYk?fl-y_nCl|TDe zh&%v(02?V-Dbkg6C#$&6_a-utOO|6xS&6ctu0(d_5^gCQHd*3jCg&=JTtb^J?h$7L z7M^*Ow~}=8Oh7g`=GSY7Ajr3L!U&Pw2Rfhz`fS72_S|Ok?Sd$dO_Rl9KZ#J4D5n3n>KD7zc{$jiPUqli7<3uomUe0C4{{=4Bv6Z(&Elk_RqSA&eiP{-b7qDTFd z2gn$^<%gK~rJ2RJ67&|s*V2kXdyV^3)X)4G)8D7Jr5|;cZ$8R#JLI5@J;k;*BgPNi z>~2%hHz zgo1T0wFZmB8s21lO~-h;*SW&Cp$GiQ=MwuKX~Pz?9GPFNR~dSvKYjc;=kFGWIG@Gq z9rAZ?I-cFhGb37XiWxh>4awrcI{_c0+U^=T& z3SPH~hUk@V7=KJ}IbuJJ8T_^fzkcu5K)Jx{vpL0MNBgJesKXbJCC;n0;=LjljBoWA zhgU-!hGze?`O7xk#f@Og+05F?qrQYa)4!FY_15QX= z{1&T`Gs<4|E(&;`@C%XV8RjPReKPdT`pDa2G3jPKa-E|faAN&gy|K>v>x3_hV{07G zYV0K5Vth=pkHE)^zz1tyDj(K+Cv(tA?f=7HC$$-`o%m#Vp($@17~omoyv2cO!_z$kDZcm;d`z5~AiKIVIY8gK`=4?G55 z1Mh%&-~;d(;Qu!UfVIGSU?Z><*a?gPW57}16ySgqm<6r_w}6Mh6W}HA4wwht10R7; zz*pcKFrF4GrPH%goJ`A?im7W%)}`d))A)tzd3U^0PUT3=RZbM^B^jNrHk|Ips)$gn z$pPpQDs^(qU7T@^a2TyS%8t&s`t0FirCKPvNhf>Ug{tfh330M)ET*20%#^1~<;qzN x+&pLqJsqf=LDI|4rQ@|~DhJEc)2<|^iw!5WVo9bP{#1}_i~b#!Qn@iDzX49n073u& literal 3147 zcmai$PiS0K6vj_7)2UXGR~4}!I4;~3oK^%;kW3QPQq)Kmb>U*h%xgND%nZp?$VOBu zxM^`EE=uWA#kFp`a-kaq7cROKbY~atRPg(qchAiAb&|eta?d^gzVDoO?@O9yR!CZs zZngV>4xTT9)ovB^%R?XJ2DYuVid7tnInJtw z7}h-IDfTJ%upa3%gc>I)(r)^^E=a{Tz^0j?H__!s@1l3Aes-nO5A(){%QogdZ1eyR zerFP z?~jxGv3ppp5gEZ0cjS@iT7be^-dy})jCVw(=}~^dwph$e5B6e z_3mOe%);-E6#Py0I;Zr28Z*a7FL7=kP4SrGZ07azJg=F~(32TXV2~%X<2#0biQ+6* zXYZMmw?yEb>WpxopH24V%${SPg`noj+=%}-;b4xt$@eWdSo=PoFE+o=H!J+N63!zF zVs9UlQT3@&uLb5>Etk@Pa9~)1O?}j7r zzfAb#cr53p(Xy{GGG?`Kc(;b+$5 z$3D2nzFvVqfP)&-cRqyoP-v?E^dfF_YK_cEs1QDRW+OAo)k~k`j87 zk0duF-%5Uw{3iKR($K6yob|-$}lg{3!WZ@~h-`$sNhxlKUSt zdrb1Q9zk~b#hXl-Y_Uv@{sU3+ynT|Kx^_9x@fxk0|O_5N;uyBuup zj^8UiY4!4OXVBd%`{wEMEfp)9t;szt?aj;O-ofkr(RgE6Zk5*EnhxK`zFzi2-JJIK zre0$>+P2N; - turn turret1 to x-axis <0.0> - pitch speed <200.0>; + signal SIG_AIM; + set-signal-mask SIG_AIM; + turn turret1 to y-axis heading speed <200.000000>; + turn turret1 to x-axis <0.0> - pitch speed <200.000000>; wait-for-turn turret1 around y-axis; wait-for-turn turret1 around x-axis; return (1); @@ -50,10 +84,10 @@ AimWeapon1(heading, pitch) AimWeapon2(heading, pitch) { - signal SIGNAL_AIM2; - set-signal-mask SIGNAL_AIM2; - turn turret2 to y-axis heading speed <200.0>; - turn turret2 to x-axis <0.0> - pitch speed <200.0>; + signal SIG_AIM_2; + set-signal-mask SIG_AIM_2; + turn turret2 to y-axis heading speed <200.000000>; + turn turret2 to x-axis <0.000000> - pitch speed <200.000000>; wait-for-turn turret2 around y-axis; wait-for-turn turret2 around x-axis; return (1); @@ -61,10 +95,10 @@ AimWeapon2(heading, pitch) AimWeapon3(heading, pitch) { -signal SIGNAL_AIM3; - set-signal-mask SIGNAL_AIM3; - turn turret3 to y-axis heading speed <200.0>; - turn turret3 to x-axis <0.0> - pitch speed <200.0>; +signal SIG_AIM_3; + set-signal-mask SIG_AIM_3; + turn turret3 to y-axis heading speed <200.000000>; + turn turret3 to x-axis <0.000000> - pitch speed <200.000000>; wait-for-turn turret3 around y-axis; wait-for-turn turret3 around x-axis; return (1); @@ -72,10 +106,10 @@ signal SIGNAL_AIM3; AimWeapon4(heading, pitch) { - signal SIGNAL_AIM4; - set-signal-mask SIGNAL_AIM4; - turn turret4 to y-axis heading speed <200.0>; - turn turret4 to x-axis <0.0> - pitch speed <200.0>; + signal SIG_AIM_4; + set-signal-mask SIG_AIM_4; + turn turret4 to y-axis heading speed <200.000000>; + turn turret4 to x-axis <0.0> - pitch speed <200.000000>; wait-for-turn turret4 around y-axis; wait-for-turn turret4 around x-axis; return (1); @@ -101,44 +135,44 @@ FireWeapon4() sleep 150; } -AimFromWeapon1(pieceIndex) +AimFromWeapon1(piecenum) { - pieceIndex = turret1; + piecenum = turret1; } -AimFromWeapon2(pieceIndex) +AimFromWeapon2(piecenum) { - pieceIndex = turret2; + piecenum = turret2; } -AimFromWeapon3(pieceIndex) +AimFromWeapon3(piecenum) { - pieceIndex = turret3; + piecenum = turret3; } -AimFromWeapon4(pieceIndex) +AimFromWeapon4(piecenum) { - pieceIndex = turret4; + piecenum = turret4; } -QueryWeapon1(pieceIndex) +QueryWeapon1(piecenum) { - pieceIndex = flare1; + piecenum = flare1; } -QueryWeapon2(pieceIndex) +QueryWeapon2(piecenum) { - pieceIndex = flare2; + piecenum = flare2; } -QueryWeapon3(pieceIndex) +QueryWeapon3(piecenum) { - pieceIndex = flare3; + piecenum = flare3; } -QueryWeapon4(pieceIndex) +QueryWeapon4(piecenum) { - pieceIndex = flare4; + piecenum = flare4; } Killed(severity, corpsetype) diff --git a/scripts/Units/scavbuildings/corhllllt.cob b/scripts/Units/scavbuildings/corhllllt.cob index 544fa744572c28d9ab3c1ac4ccbfb624a44115d4..c4e4bd803d36c8b6dadd255ee168f169187b06fa 100644 GIT binary patch literal 3254 zcmb_eziU%b6h2AQv|5GNMR5=w2rfFLNjel4ZA+ITR--uRkhHzR!=wrERjncfom`5d zhzNopqML)etGc=P2e=4=f~%X~ci%mIkC^vJs%by&`F+20?!9RXB60xO3p~q<;Maa0 z!|(%GoDw+>OB1X3c~6n^^4>Hf{ema;qPHI+Z4Yt~N;ywX7QHcNqlqyqPA^bLUcQ8S z_~entmHG1&ym4D|&e;S7=(F7FV>XX6ZLA&Vp(cJ{+Nm+?{8}U864zk7t@}&<;!2o}nA(8`a>?s+mv(Wi4O;(B?<0%$gJoV2LkxskR#m%@t;M=LAO0|ecH0|z;67^OsvO8Q$w7UrqjlL6?W*fO8e{k9L_Jx#7s;jV_-w@& z%SGo$pVrg4ia!SaQJm#L2Hcm5lPNOK+FZZN!`>^$!^$Z<=o^NIt-%ekx8|r!a~h9H zIvo!yr|>AUhO3h`560OKcxVoJs6CB`Jv7I|$|*d^aTp%97ZSnVnxit!NgkA+&{)bL zI=Vl4=l+LX&z$!o?S67!o?DimGtBa{&n!Q`!|#7?t}8v=Bf92l$`!E;M{6J0EED8;2!V__yBwdrZAjo z;2>}qI0764D!>U~0aylVz$IV};Qz4Kfjhu9@CbMgyaC<;?}1Oi7vL-K6Zj2G?!!L7 zQD7FB2hISOfdJ?Lo4_sLE^r@s2s{N|0Iz|!K&{ojYA$R9p)7PwBQ#Po;pxWBbEesD zte+2BMix!0EwvlQgtbmPlv6?LqG@#68#A$3j>SqWR%I#Z8V!!+a>8Co$W^8;b=%4M zv1<2-Rl85DR^{xb>2B#}38kF$RFXMA&D`R6q2=!E*BF!TS`_zq^(KYky1jrNEv?0W0WgPT0`cl#GDz+I`sc!@aS+-sCZlKV+~6@pFJU- zCe9VdxgKGrLm`ef)nuPtYyRZw=BNz2J#qQqU}bYNh#Pa5%a-h?b@ALRpK+X*xziB2 z-o?rq99K2_SF89lQY=FM8XLzjpEGOk$KYg7ozr5x$>AFV!d`G@o`)s=Oq9#jDno9j z87Si3zh{g2n7R;;v(w&iFL-Bv1b>k_?kQ)Ws6A&cXVJZV3sLoSH>K-tFq}45Gu)vM zkxe}qLmpgRkAyEmciG>)FTp>=z#smO*k~#F7VL${u3Xlu!q0u>zA^qqh^Lu6?W`rs zDPvt4)+J$e`wcr))_RWs&Ptu}@+)5XtjBm47xp^lq&uKm{joY5<4jll_ru9|yj+>d z&c({+-*Mz3)h!AZx9ye3o^~jbGE>Ffd_-dgYp0#JZI*!P96_;9}q_# z%8^X-KpqSh56T00lvpFw$>YH|_X7{*kcaF8c`QSgcu*d|gRXz!!8rFrZ{?7O>@g3@ zj~HC>-vO70^ZH+QojH#=exK?iKes>6&ppiZbGAG`-&UTVZ!XWzx0vVW8y)25jPZNj zfLJU0@6cv!jLw7kI^QRZNtP~rE2PUm8~of?=F87HW8J-n$nWNa&N}_yRrhTRyv71A zotyejGcV#LT|C4~Jfw?<^gJHt*(30{7h0be_E38wy}vi>?*N_y^S~-JSP$$5P6M}rIp8Vq40sN_1YQAe zfOo(r;4|o(cyrV7sFYGkiPa-FG@-A-ITQ(cct zb$v3mZbz@D-7wZjtW;yA7Ati-*qWM3n|7{oEwyu<=1uEe?{?GPh+UX!bkmWbR=rvc NYR#*)pw_)wx8HMS4f6m1 diff --git a/scripts/Units/scavbuildings/corminibuzz.lua b/scripts/Units/scavbuildings/corminibuzz.lua index 2df41ddc5b6..7315de3cc93 100644 --- a/scripts/Units/scavbuildings/corminibuzz.lua +++ b/scripts/Units/scavbuildings/corminibuzz.lua @@ -25,7 +25,7 @@ local gun_1 = 0 local dmgPieces = { piece "turret" } -- Signal definitions -local SIGNAL_AIM1 = 1 +local SIG_AIM = 1 -- includes include "dmg_smoke.lua" @@ -48,9 +48,9 @@ function script.Create() end function script.AimWeapon1(heading, pitch) - Signal( SIGNAL_AIM1) - SetSignalMask( SIGNAL_AIM1) - Turn( turret , y_axis, heading, math.rad(15.0) ) + Signal( SIG_AIM) + SetSignalMask( SIG_AIM) + Turn( turret , y_axis, heading, math.rad(15.000000) ) Turn( spindle , x_axis,(math.rad(60.005495) * gun_1) - pitch, math.rad(200.038462) ) --Spring.Echo(gun_1,gun_1*60) WaitForTurn(turret, y_axis) @@ -60,53 +60,53 @@ end function script.FireWeapon1() if gun_1 == 0 then - Move(barrel1 , z_axis, -6.0, 9000 ) + Move(barrel1 , z_axis, -6.000000, 9000 ) EmitSfx( flare1, 1024 + 0 ) Sleep( 100) - Move( barrel1 , z_axis, 0.0 , 6.0 ) + Move( barrel1 , z_axis, 0.000000 , 6.000000 ) end if gun_1 == 1 then - Move(barrel2 , y_axis, -5.0 ) - Move(barrel2 , z_axis, -3.0 ) + Move(barrel2 , y_axis, -5.000000 ) + Move(barrel2 , z_axis, -3.000000 ) EmitSfx( flare2, 1024 + 0 ) Sleep( 100) - Move( barrel2 , y_axis, 0.0 , 5.0 ) - Move( barrel2 , z_axis, 0.0 , 3.0 ) + Move( barrel2 , y_axis, 0.000000 , 5.000000 ) + Move( barrel2 , z_axis, 0.000000 , 3.000000 ) end if gun_1 == 2 then - Move(barrel3 , y_axis, -5.0 ) - Move(barrel3 , z_axis, 3.0 ) + Move(barrel3 , y_axis, -5.000000 ) + Move(barrel3 , z_axis, 3.000000 ) EmitSfx( flare3, 1024 + 0 ) Sleep( 100) - Move(barrel3 , y_axis, 0.0 , 5.0 ) - Move(barrel3 , z_axis, 0.0 , 3.0 ) + Move(barrel3 , y_axis, 0.000000 , 5.000000 ) + Move(barrel3 , z_axis, 0.000000 , 3.000000 ) end if gun_1 == 3 then - Move(barrel4 , z_axis, 6.0 ) + Move(barrel4 , z_axis, 6.000000 ) EmitSfx(flare4, 1024 + 0 ) Sleep( 100) - Move(barrel4 , z_axis, 0.0 , 6.0 ) + Move(barrel4 , z_axis, 0.000000 , 6.000000 ) end if gun_1 == 4 then - Move( barrel5 , y_axis, 5.0 ) - Move( barrel5 , z_axis, 3.0 ) + Move( barrel5 , y_axis, 5.000000 ) + Move( barrel5 , z_axis, 3.000000 ) EmitSfx( flare5, 1024 + 0 ) Sleep( 100) - Move( barrel5 , y_axis, 0.0 , 5.0 ) - Move( barrel5 , z_axis, 0.0 , 3.0 ) + Move( barrel5 , y_axis, 0.000000 , 5.000000 ) + Move( barrel5 , z_axis, 0.000000 , 3.000000 ) end if gun_1 == 5 then - Move( barrel6 , y_axis, 5.0 ) - Move( barrel6 , z_axis, -3.0 ) + Move( barrel6 , y_axis, 5.000000 ) + Move( barrel6 , z_axis, -3.000000 ) EmitSfx( flare6, 1024 + 0 ) Sleep( 100) - Move( barrel6 , y_axis, 0.0 , 5.0 ) - Move( barrel6 , z_axis, 0.0 , 3.0 ) + Move( barrel6 , y_axis, 0.000000 , 5.000000 ) + Move( barrel6 , z_axis, 0.000000 , 3.000000 ) end gun_1 = gun_1 + 1 if gun_1 == 6 then @@ -115,7 +115,7 @@ function script.FireWeapon1() end end -function script.QueryWeapon1(pieceIndex) +function script.QueryWeapon1(piecenum) if gun_1 == 0 then diff --git a/scripts/Units/scavbuildings/corwint2.bos b/scripts/Units/scavbuildings/corwint2.bos index bb3de09a28c..844257c23d5 100644 --- a/scripts/Units/scavbuildings/corwint2.bos +++ b/scripts/Units/scavbuildings/corwint2.bos @@ -1,5 +1,7 @@ +#define TA // This is a TA script -#include "../../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, fan, cradle; @@ -27,10 +29,35 @@ Go() } +SmokeUnit(healthpercent, sleeptime, smoketype) +{ + while( get BUILD_PERCENT_LEFT ) + { + sleep 400; + } + Built = 1; + call-script Go(); + while( TRUE ) + { + healthpercent = get HEALTH; + if( healthpercent < 66 ) + { + smoketype = 256 | 2; + if( Rand( 1, 66 ) < healthpercent ) + { + smoketype = 256 | 1; + } + emit-sfx smoketype from base; + } + sleeptime = healthpercent * 50; + if( sleeptime < 200 ) + { + sleeptime = 200; + } + sleep sleeptime; + } +} -#define BASEPIECE base -#define MAXTILT 0 -#include "../../unit_hitbyweaponid_and_smoke.h" Create() { @@ -38,11 +65,12 @@ Create() WindDirection = 0; LastDirection = 0; Built = 0; + start-script SmokeUnit(); } -SetSpeed(windOrMetal) //called every 450 frames +SetSpeed(windSpd) //called every 450 frames { - WindSpeed = windOrMetal; //invert if desired + WindSpeed = windSpd; //invert if desired if (!Stunned) { if(Built) { @@ -51,7 +79,7 @@ SetSpeed(windOrMetal) //called every 450 frames } } -SetDirection(windDir, windStrength) //called every 450 frames +SetDirection(windDir) //called every 450 frames { LastDirection = WindDirection; WindDirection = windDir; diff --git a/scripts/Units/scavbuildings/corwint2.cob b/scripts/Units/scavbuildings/corwint2.cob index b8a020c38ceb1d018a801e3353ac6b7c166e4db1..918fb437b331f69a0d525fe082099b2ae364ae93 100644 GIT binary patch literal 1821 zcmb`IKWkHA6vj_((zJ{4>L3Um?k0%C#Sb9$4+wSWz4txsH71=JIK1codCv2`x9ynOhNLaoZ<(#>l2M*MZ%^R?lUeT_=_}doDF%Qv=S(^-j&TCEeO|Gw~)`~ipI$}QWJ+XvyPbwJju~ReGdAgf&bQnC7 zpNlLw!-dU>?K9l=UEPix2lc?ApV#{R`3~M2RwCyI^_zOD8ho*j?gg73K6gmdd?R8+ z^}f`QLtij8=S08a%{hnU%I9;i7vBah=VOxxytVpWHs>+NZQj;T`sm&HH{INa5c}|6 z|3v-&_euV$z4;b=7I_z9kDAMiTHI&(-DBs<;hdAJH)~=2=$>=A7Gr+L%VKcLd``G( zVu^1wud&=tSmNCj$M?CcC#_cDbS%tU#CZ~y0ZkK@rwI#pe;T|vrbwdr1Q&nH;TAo< zyQI&PAI=x?l6%^inBh21noZhO$xF#A$vep>$rnkcCj8&|C^?jTmVA}`ko=Z(^=+Jy zoRgfF+?rbN(ezN8_=M S`~AnIJ?KwtFzXM;rTqoiS$WF< literal 2278 zcmb`JJ!n)x5Xa{}atRi)+6gHh78W9MT3Jb=2Yxle6#=W9xu+an?m}{cl0pkDL`bI~ zhy*)ZL0cR9bT$^YTA9Ma!ovS=-%j#8FOh&3hMnE{&-~|O_mR4p9g@@}zba-8t^8(Z z%vzGZJ zn7#adJ`lKB_??vMc>JSn558$(ZLYSHpJf*F^E%$kOwPcpX|X=?_q^6dbt-BmWUD!Ayw|cX{SZD-h!;hNLS;2S@z>qUG z{5=oPmo@$+dz_tm!hG;6+agz*&%=b*V$@Z}MUGU{(}d&9W0J?Y!++))??tl~dlLPX zgJ~Xw_nzb9eSt69U`F}Nch?^?b>jO-D(hpd#GqFmb9}XCF(bzc`cG^bgFiKU@8@NN z)8{lPZ*uqwAk{<7+))d~Ox%~1_XU1K8_#{bXOnEW?%*{$?+v}+&YqTnz0O|ulp0XI z=h&#l@9lKLbL4lk9KY-rW2QTFw8Y~a_~|(EM~?V9(;G~F$CFcfq+m9&bC=zgfKL1qJ0S z&Qg76U#`DP@N6c|7}eu4FZ{@f*yK{?isxfoD`Q;jEz|7NubeyjEFZ_Yy}x;7K5Ftk z_h%!;j^9_=$~8qg)x^A>Pso8I@cY&7T;ProFf01`PR`E7eezhFV8ZmyOnvV&^gVcD zv-&p;m6-AFB%ZCr6Z?Juo|gnu9{ceufk`~y5)b#|AoaW=#snVf_+PQ0I4|i-zDv$1 z*OuglWKFUzc_HC{gLTOh$ur4o$s5UA$p^_t$(H1kJ10h9t~HbX>@lmknvit-`8@p RvzFVf&cK#dJKcV6zX5=Ul}-Qv diff --git a/scripts/Units/scavbuildings/exptype.h b/scripts/Units/scavbuildings/exptype.h new file mode 100644 index 00000000000..7a83187b285 --- /dev/null +++ b/scripts/Units/scavbuildings/exptype.h @@ -0,0 +1,193 @@ +/* +** EXPtype.h -- Explosion Type information and GET/SET constants for scripts +** +** This Script contains constants compatible only with Spring RTS engine +** not for use with Total Annihilation or TA:Kindgoms +*/ + +#ifndef CONSTANTS_H_ +#define CONSTANTS_H_ + +// Indices for emit-sfx +#ifndef __SFXTYPE_H_ +#define SFXTYPE_VTOL 0 +//#define SFXTYPE_THRUST 1 +#define SFXTYPE_WAKE1 2 +#define SFXTYPE_WAKE2 3 // same as SFX_WAKE +#define SFXTYPE_REVERSEWAKE1 4 +#define SFXTYPE_REVERSEWAKE2 5 // same as SFX_REVERSE_WAKE + +#define SFXTYPE_WHITESMOKE 257 +#define SFXTYPE_BLACKSMOKE 258 +#define SFXTYPE_SUBBUBBLES 259 +#endif + +#define SHATTER 1 // The piece will shatter instead of remaining whole +#define EXPLODE_ON_HIT 2 // The piece will explode when it hits the ground +#define FALL 4 // The piece will fall due to gravity instead of just flying off +#define SMOKE 8 // A smoke trail will follow the piece through the air +#define FIRE 16 // A fire trail will follow the piece through the air +#define BITMAPONLY 32 // The piece will not fly off or shatter or anything. Only a bitmap explosion will be rendered. +#define NOCEGTRAIL 64 // Disables the cegtrail for the specific piece (defined in the unit fbi) +#define NOHEATCLOUD 128 // No engine default heat cloud for explosion +#define BITMAP 10000001 + +// Bitmap Explosion Types +#define BITMAP1 256 +#define BITMAP2 512 +#define BITMAP3 1024 +#define BITMAP4 2048 +#define BITMAP5 4096 +#define BITMAPNUKE 8192 +#define BITMAPMASK 16128 // Mask of the possible bitmap bits + +#define EXPTYPE_SMALLEXPLOSION 256 +#define EXPTYPE_MEDIUMEXPLOSION 512 +#define EXPTYPE_LARGEEXPLOSION 1024 +#define EXPTYPE_XLARGEEXPLOSION 2048 +#define EXPTYPE_BLOODEXPLOSION 4096 + +//Customized effects (in FBI/TDF/LUA) +// Explosion generators +#define UNIT_SFX0 1024 +#define UNIT_SFX1 1025 +#define UNIT_SFX2 1026 +#define UNIT_SFX3 1027 +#define UNIT_SFX4 1028 +#define UNIT_SFX5 1029 +#define UNIT_SFX6 1030 +#define UNIT_SFX7 1031 +#define UNIT_SFX8 1032 +#define UNIT_SFX9 1033 + +// Weapons +#define FIRE_W1 2048 +#define FIRE_W2 2049 +#define FIRE_W3 2050 +#define FIRE_W4 2051 +#define FIRE_W5 2052 +#define FIRE_W6 2053 +#define FIRE_W7 2054 +#define FIRE_W8 2055 +#define FIRE_W9 2056 + +#define DETO_W1 4096 +#define DETO_W2 4097 +#define DETO_W3 4098 +#define DETO_W4 4099 +#define DETO_W5 4100 +#define DETO_W6 4101 +#define DETO_W7 4102 +#define DETO_W8 4103 +#define DETO_W9 4104 + + +// COB constants +#define ACTIVATION 1 // set or get +#define STANDINGMOVEORDERS 2 // set or get +#define STANDINGFIREORDERS 3 // set or get +#define HEALTH 4 // get (0-100%) +#define INBUILDSTANCE 5 // set or get +#define BUSY 6 // set or get (used by misc. special case missions like transport ships) +#define PIECE_XZ 7 // get +#define PIECE_Y 8 // get +#define UNIT_XZ 9 // get +#define UNIT_Y 10 // get +#define UNIT_HEIGHT 11 // get +#define XZ_ATAN 12 // get atan of packed x,z coords +#define XZ_HYPOT 13 // get hypot of packed x,z coords +#define ATAN 14 // get ordinary two-parameter atan +#define HYPOT 15 // get ordinary two-parameter hypot +#define GROUND_HEIGHT 16 // get land height, 0 if below water +#define BUILD_PERCENT_LEFT 17 // get 0 = unit is built and ready, 1-100 = How much is left to build +#define YARD_OPEN 18 // set or get (change which plots we occupy when building opens and closes) +#define BUGGER_OFF 19 // set or get (ask other units to clear the area) +#define ARMORED 20 // set or get + +#define IN_WATER 28 +#define CURRENT_SPEED 29 +#define VETERAN_LEVEL 32 +#define ON_ROAD 34 + +#define MAX_ID 70 +#define MY_ID 71 +#define UNIT_TEAM 72 +#define UNIT_BUILD_PERCENT_LEFT 73 +#define UNIT_ALLIED 74 +#define MAX_SPEED 75 +#define CLOAKED 76 +#define WANT_CLOAK 77 +#define GROUND_WATER_HEIGHT 78 // get land height, negative if below water +#define UPRIGHT 79 // set or get +#define POW 80 // get +#define PRINT 81 // get, so multiple args can be passed +#define HEADING 82 // get +#define TARGET_ID 83 // get +#define LAST_ATTACKER_ID 84 // get +#define LOS_RADIUS 85 // set or get +#define AIR_LOS_RADIUS 86 // set or get +#define RADAR_RADIUS 87 // set or get +#define JAMMER_RADIUS 88 // set or get +#define SONAR_RADIUS 89 // set or get +#define SONAR_JAM_RADIUS 90 // set or get +#define SEISMIC_RADIUS 91 // set or get +#define DO_SEISMIC_PING 92 // get +#define CURRENT_FUEL 93 // set or get +#define TRANSPORT_ID 94 // get +#define SHIELD_POWER 95 // set or get +#define STEALTH 96 // set or get +#define CRASHING 97 // set or get, returns whether aircraft isCrashing state +#define CHANGE_TARGET 98 // set, the value it's set to determines the affected weapon +#define CEG_DAMAGE 99 // set +#define COB_ID 100 // get +#define PLAY_SOUND 101 // get, so multiple args can be passed +#define KILL_UNIT 102 // get KILL_UNIT(unitId, SelfDestruct=true, Reclaimed=false) +#define ALPHA_THRESHOLD 103 // set or get +#define SET_WEAPON_UNIT_TARGET 106 // get (fake set) +#define SET_WEAPON_GROUND_TARGET 107 // get (fake set) +#define SONAR_STEALTH 108 // set or get +#define REVERSING 109 // get + +// Indices for SET, GET, and GET_UNIT_VALUE for LUA return values +#define LUA0 110 // (LUA0 returns the lua call status, 0 or 1) +#define LUA1 111 +#define LUA2 112 +#define LUA3 113 +#define LUA4 114 +#define LUA5 115 +#define LUA6 116 +#define LUA7 117 +#define LUA8 118 +#define LUA9 119 + +#define FLANK_B_MODE 120 // set or get +#define FLANK_B_DIR 121 // set or get, set is through get for multiple args +#define FLANK_B_MOBILITY_ADD 122 // set or get +#define FLANK_B_MAX_DAMAGE 123 // set or get +#define FLANK_B_MIN_DAMAGE 124 // set or get +#define WEAPON_RELOADSTATE 125 // get (with fake set) get WEAPON_RELOADSTATE(weaponNum) for GET +#define WEAPON_RELOADTIME 126 // get (with fake set) get WEAPON_RELOADSTATE(-weaponNum,val) for SET +#define WEAPON_ACCURACY 127 // get (with fake set) +#define WEAPON_SPRAY 128 // get (with fake set) +#define WEAPON_RANGE 129 // get (with fake set) +#define WEAPON_PROJECTILE_SPEED 130 // get (with fake set) +#define WEAPON_STOCKPILE_COUNT 139 // get (with fake set) + + +#define MIN 131 // get +#define MAX 132 // get +#define ABS 133 // get +#define GAME_FRAME 134 // get +#define KSIN 135 // get, kiloSine 1024*sin(x) as COB uses only integers +#define KCOS 136 // get, kiloCosine 1024*cos(x) + +#define KTAN 137 // get, kiloTangent 1024*tan(x) carefull with angles close to 90 deg. might cause overflow +#define SQRT 138 // get, square root (floored to integer) + +#define ENERGY_MAKE 140 // set or get (100*E production) + +#define METAL_MAKE 141 // set or get (100*M production) + +// NOTE: shared variables use codes [1024 - 5119] + +#endif \ No newline at end of file diff --git a/scripts/Units/scavbuildings/legministarfall.bos b/scripts/Units/scavbuildings/legministarfall.bos index 9bf70d29e34..4c9c78b33b5 100644 --- a/scripts/Units/scavbuildings/legministarfall.bos +++ b/scripts/Units/scavbuildings/legministarfall.bos @@ -1,18 +1,18 @@ +#define TA // This is a TA script -#include "../../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, cog, cog1, cog2, cog3, cog4, stand, tubes,handle, f11,f12,f13,f14,f15,f21,f22,f23,f24,f25,f26,f31,f32,f33,f34,f35,f36,f37,f41,f42,f43,f44,f45,f46,f47,f48,f51,f52,f53,f54,f55,f56,f57,f58,f59,f61,f62,f63,f64,f65,f66,f67,f68,f71,f72,f73,f74,f75,f76,f77,f81,f82,f83,f84,f85,f86,f91,f92,f93,f94,f95; static-var guncount, restore_delay, shotcount, spin_speed, spin_delay, time_to_reload, fire_rotation, last_primary_heading, last_primary_pitch, last_visual_heading, aiming, clockwork_started; // Signal definitions -#define SIGNAL_AIM1 256 -#define SIGNAL_SHOOT1 16 +#define SIG_AIM 2 +#define SIG_FIRE 4 - -#define BASEPIECE base -#define MAXTILT 0 -#include "../unit_hitbyweaponid_and_smoke.h" +//#define SMOKEPIECE base +//#include "smokeunit_thread_nohit.h" Create() { @@ -59,19 +59,19 @@ RestoreAfterDelay() return (0); } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { //get PRINT( get GAME_FRAME,7777); aiming = 1; - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; //clockwork_started = GAME_FRAME; if (last_visual_heading != heading) { start-script clockwork(Rand(-90,90), Rand(-90,90)); } spin handle around z-axis speed <150>; - turn cog to y-axis heading speed <15.0>; + turn cog to y-axis heading speed <15.000000>; //turn other cogs //thanks to Zecrus for wrangling the maths for the spinny blighters @@ -88,10 +88,10 @@ AimWeapon1(heading, pitch) { // seems to take 3 frames for wait-for-turn to process //wait-for-turn cog around y-axis; - spin cog1 around y-axis speed <80.0>; - spin cog2 around y-axis speed <80.0>; - spin cog3 around y-axis speed <80.0>; - spin cog4 around y-axis speed <80.0>; + spin cog1 around y-axis speed <80.000000>; + spin cog2 around y-axis speed <80.000000>; + spin cog3 around y-axis speed <80.000000>; + spin cog4 around y-axis speed <80.000000>; wait-for-turn cog around y-axis; stop-spin cog1 around y-axis; stop-spin cog2 around y-axis; @@ -102,10 +102,10 @@ AimWeapon1(heading, pitch) { // seems to take 3 frames for wait-for-turn to process //wait-for-turn cog around y-axis; - spin cog1 around y-axis speed <-80.0>; - spin cog2 around y-axis speed <-80.0>; - spin cog3 around y-axis speed <-80.0>; - spin cog4 around y-axis speed <-80.0>; + spin cog1 around y-axis speed <-80.000000>; + spin cog2 around y-axis speed <-80.000000>; + spin cog3 around y-axis speed <-80.000000>; + spin cog4 around y-axis speed <-80.000000>; wait-for-turn cog around y-axis; stop-spin cog1 around y-axis; stop-spin cog2 around y-axis; @@ -121,7 +121,7 @@ AimWeapon1(heading, pitch) return (1); } -FireWeapon1() { +FirePrimary() { guncount = 0; shotcount = shotcount + 1; call-script lua_UnitScriptLight(1, shotcount); @@ -130,11 +130,11 @@ FireWeapon1() { - // FireWeapon1 controls animation right after firing - // but after 1 second, AimWeapon1 should regain control over spindle animation + // FirePrimary controls animation right after firing + // but after 1 second, AimPrimary should regain control over spindle animation // and last_primary_heading and last_primary_pitch should be reset - signal SIGNAL_SHOOT1; - set-signal-mask SIGNAL_SHOOT1; + signal SIG_FIRE; + set-signal-mask SIG_FIRE; sleep 1000; fire_rotation = FALSE; last_primary_heading = -1000000; @@ -152,19 +152,22 @@ Shot1(heading,pitch) { } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = guncount+8; + piecenum = guncount+8; } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = stand; + piecenum = stand; } - +SweetSpot(piecenum) +{ + piecenum = stand; +} Killed(severity, corpsetype) { diff --git a/scripts/Units/scavbuildings/legministarfall.cob b/scripts/Units/scavbuildings/legministarfall.cob index 05030a2def316bf01d5e33f91c4053547dcbcd96..7f35355d99034a33f6e6f39f29867a5f4a8d93bd 100644 GIT binary patch delta 678 zcmXxfPiPZC6vy#5)6Ji0Y>7}B6%-T%1CiQ;P{Ari40w=QqliKdp)54C>$dBb5TPs{ zq=<-w(Srw3DS`?uhzcqM^x#3EVh@6X9y};0_Mo63{=x4YvhZQv+nG1~=FWyzU&#}Z z9Ll(_MAopn?@wA}TSnvvO7v4%5j)g%t7nu(<#ql|qD9-ax?nwTLMa<~qrKWqPN(y3 zUyFU=ZBnQ0us6W=`qaF7Y1^s7!o!r(eaiM``t7UqSJh?PnMTn~Iv$h8tvhty#d0^f zh@D$KTg{%=Gs=F+p0q<|x4A}UcSzY4Q?QrJI=!gulG&4NVdyZ9;RFUaSVfEk^SB82 zuv3^r3kz7nV?4n!-r*Bg@f|<$8$#3+y5VB?VjNn|TU5!*3{o!Et8j9@0`!jg) literal 3370 zcmcJRO=w(I6vuBS>8P#NXHlU=%TPfOMCbcMv?Q?vtsle&6|&Gyk~hgT(@dC5Ds^FN z7A{;=bWzZSh?Fk6a3MuRP>O{LE(Beu2#P35aUr3IhzrNx|Gsx8x34qqZ29G#d;aI# zbMD7`$(S+bCYXYDDzY)n8Th!tw4;%()>RB zo)xQkr2nDd@zEfajeNeQIZP1sGa1LrrFHpncCGQ6o`~b*b91Urb?4Q++I3_{?Vi|t zdN3Jd*Wh|nj&fB}_1trC?pD6y3^Ut!&z7nAPO&gIZ?fhf&E@H-wQDbxudUOWU*Ms! zJ7=w1lIvO8gdFi6y@~1SyR&s;x3>!K&l#V=8PDfxC`NtgX=?D+QmTge|sX;KNAz*HHA6N^`Jel z`I)UdW$)a7+^Ms@UQhY6nvhOpCw+Q_fh^8~JJ7n|D(F%i8=b_X-=!_ND$c9`-HtzkU9yi5)Oj?<~s%(@EV+kci=o+ zf-m8F_!%~#2WkGG+W|Mjt*{&R!d-9=+z(}V0QSQqOu<2T5)Q#LFbmJY95mnvtUw2j z!He(`Y``nueKA~^Ioe(h z&BL9r-VM!st3AK`Lc6nUTI==apI&KpXXZQ2)$ZfX#igz}6s~pKop7Sj4Lb+IR{gk{ zXdaE`&Y7uZCv^7AQoEZoPpyZYxO7gDQ=N7{`mtuK6)u>$`Wi*siz25VdHpEpN71Zx z>njVUyFM4LnI+6tXd1a3mXD49kcUmjl`UmjmxzOrc)@E7nG@E7nG@E7E-m_`w; zh*m@^q7~7KXhmsN(- jf?h$dpjXf<=vA~TS{1E|Rz<6#)$rHw*YMZy*GlGJaUeGZ diff --git a/scripts/Units/scavbuildings/scavdtf.bos b/scripts/Units/scavbuildings/scavdtf.bos index e6ad8722fe5..77837ce36f8 100644 --- a/scripts/Units/scavbuildings/scavdtf.bos +++ b/scripts/Units/scavbuildings/scavdtf.bos @@ -1,63 +1,133 @@ +#define TA // This is a TA script -#include "../../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" -piece base, top, spark, barrel, flare, aimpoint, firepoint; +piece base, top, barrel, flare, spark, aimpoint, firepoint; -static-var isOpen, restore_delay; +static-var Static_Var_1, restore_delay, statechg_DesiredState, statechg_StateChanging; // Signal definitions -#define SIGNAL_AIM1 256 +#define SIG_AIM 2 lua_FlameShot(weapon) //Distortion and lups flame effect { return 0; } +SmokeUnit(healthpercent, sleeptime, smoketype) +{ + while( get BUILD_PERCENT_LEFT ) + { + sleep 400; + } + while( TRUE ) + { + healthpercent = get HEALTH; + if( healthpercent < 66 ) + { + smoketype = 256 | 2; + if( Rand( 1, 66 ) < healthpercent ) + { + smoketype = 256 | 1; + } + emit-sfx smoketype from base; + } + sleeptime = healthpercent * 50; + if( sleeptime < 200 ) + { + sleeptime = 200; + } + sleep sleeptime; + } +} + + +Go() +{ + set ARMORED to 0; + move top to y-axis [0] speed [50]; + turn spark to x-axis <0> speed <150.000000>; + wait-for-move top along y-axis; + move barrel to z-axis [0] speed [24]; + Static_Var_1 = 1; +} + +Stop() +{ + set ARMORED to 1; + Static_Var_1 = 0; + turn top to y-axis <0.000000> speed <300.000000>; + turn spark to x-axis <90> speed <150.000000>; + move barrel to z-axis [-12] speed [24]; + wait-for-move barrel along z-axis; + move top to y-axis [-29] speed [50]; + wait-for-move top along y-axis; +} -#define BASEPIECE base -#define MAXTILT 0 -#include "../../unit_hitbyweaponid_and_smoke.h" +InitState() +{ + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; +} + +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + call-script Go(); + currentstate = 0; + } + if( statechg_DesiredState == 1 ) + { + call-script Stop(); + currentstate = 1; + } + } + statechg_StateChanging = FALSE; +} Create() { hide aimpoint; hide firepoint; hide flare; - hide flare; + turn spark to x-axis <90> speed <600.000000>; restore_delay = 2000; - isOpen = 0; - start-script Activate(); - SLEEP_UNTIL_UNITFINISHED; - move aimpoint to y-axis [8] now; - start-script Deactivate(); + Static_Var_1 = 0; + call-script InitState(); + start-script RequestState(0); + while( get BUILD_PERCENT_LEFT ) + { + sleep 250; + } + start-script SmokeUnit(); + start-script RequestState(1); } Activate() { - set ARMORED to 0; - move top to y-axis [8.0] speed [19.989014]; - wait-for-move top along y-axis; - move spark to z-axis [0.0] speed [19.989014]; - move barrel to z-axis [0.0] speed [19.989014]; - isOpen = 1; + start-script RequestState(0); } Deactivate() { - set ARMORED to 1; - isOpen = 0; - turn top to y-axis <0.0> speed <300.0>; - move spark to z-axis [-6] speed [19.989014]; - move barrel to z-axis [-6.5] speed [19.989014]; - wait-for-move barrel along z-axis; - wait-for-move spark along z-axis; - move top to y-axis [-11.9] speed [48]; - wait-for-move top along y-axis; + start-script RequestState(1); } -SetMaxReloadTime(reloadMS) +SetMaxReloadTime(Func_Var_1) { - restore_delay = reloadMS * 3; + restore_delay = Func_Var_1 * 3; } static-var Stunned; @@ -67,7 +137,7 @@ ExecuteRestoreAfterDelay() return (1); } set-signal-mask 0; - start-script Deactivate(1); + start-script RequestState(1); } SetStunned(State) { @@ -82,16 +152,16 @@ RestoreAfterDelay() start-script ExecuteRestoreAfterDelay(); } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - if (!isOpen) start-script Activate(0); - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; - while( !isOpen ) + start-script RequestState(0); + signal SIG_AIM; + set-signal-mask SIG_AIM; + while( !Static_Var_1 ) { sleep 250; } - turn top to y-axis heading speed <300.0>; + turn top to y-axis heading speed <300.000000>; wait-for-turn top around y-axis; start-script RestoreAfterDelay(); return (1); @@ -104,20 +174,23 @@ Shot1() return (TRUE); } -FireWeapon1() +FirePrimary() { } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = flare; + piecenum = flare; } +SweetSpot(piecenum) +{ + piecenum = base; +} - -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = aimpoint; + piecenum = aimpoint; } Killed(severity, corpsetype) diff --git a/scripts/Units/scavbuildings/scavdtf.cob b/scripts/Units/scavbuildings/scavdtf.cob index 32b72f621a30733df770b8f83601da6878b99a97..b174b66af49a21ac232d45528782dad60fe675b9 100644 GIT binary patch literal 3466 zcmb_e&udgy6h1SFqqGW7kkW#SN4G5{>P8W1(`wpMq-iEnLBTwe8+>LaGkJNV5kayl z-4p`dxGbe0x)DUWD1}m2rBHCwRd?zi5F{I0LBH?Zd)_>slaL7weBArakMDlx-1FXK zR74H{yMZTlkzH8%_v@P?d-sZ*2j0i?3Ra2hQ7x)R^vh%;;9pF?cTZ)cSAlylPO zt%p3VCFH55ppEa~UnRbQJ(V{F0yct^9lsHuG2K;~kR4{*L|&yi&s;ISFVuDvB(#xh zyR{9Y(P|zh$9iFFxh|`DkZ-G+XHlQs=XarIo2Q*##bjJ!P%czU`Fz|L)xCAT#H-TFKe$M3{@C)z&;Q#pF0BgYaz)j#s;4bhp@Eh6v%TC+A-R*e@%h|k zCtWMKCWvh2y~Ra02lA?OJZ(>AX*0&PPVE4P1SeOh7 literal 2998 zcmai0O=whC6h4`ZqgW|Vbdy!zstf62QYaLmSK`uD1viT8g5W~IMWj?H_502{=gsAr=)lMQIo~lm~#mZZ%@PPGyex!2_$_?&Be z*g5ZTzr91bA7k3Y9wev_O)@{Wkw1a0X1nA_(n=t=eEA(Q^>$M#+Hq$7i*5x^bj8j*2olIBiE$!J*vOi;_twIIFSFEJj=h^ z_C$8!<5K2kT*lG-n0gNXcI=P$(p`H0?f>=}4{^{bs*Q0{^auIoGv;9fJiZ%$TXmcE znfcM*Yuru`IbwP^jrm6(MRlZOeT+5E`}+TFHEsN>HrK?u;(1($NL$b1x2a9_@%rm$ zL5+InslG(LKk8vz_DKDX$z><19dG1E1SVhWhOIi6jdHI0c8{t7T!yaaWFE$>VqYu2 zuUF{=f8414s`#cue`CKJpZCpp&R5-7du_1}{bretFHDE_ z`#W@a9@pV(*Kx6?!`JW9u|yx!anf|Kj`%!052>v0DknG}*Kx(xuEY6$9?q}pV61vB z=Q8A0x!mr#eEq&$jK};u_uIffz(*)x1}K0Fz|X*S;3n`G_#1c%yZ~MS{6Fy?@E7m| zcnUlRUIFp}{?`N!0G|OzfCb~Xem^Ya zXs speed <300>; + wait-for-turn turret around x-axis; + Static_Var_1 = 1; } -Close(){ + +Stop() +{ set ARMORED to 1; - isOpen = 0; - turn turret to x-axis <0.0> speed <300.0>; - turn post to y-axis <0.0> speed <300.0>; - // move barrel to z-axis [-8.0] speed [20.0]; - // wait-for-turn barrel around x-axis; + Static_Var_1 = 0; + turn post to y-axis <0.000000> speed <300.000000>; + turn turret to x-axis <90> speed <300>; wait-for-turn post around y-axis; - move post to y-axis [-26.0] speed [90.0]; + wait-for-turn turret around x-axis; + move post to y-axis [-29] speed [50]; wait-for-move post along y-axis; - } -static-var Stunned; -ExecuteRestoreAfterDelay() +InitState() { - if (Stunned) { - return (1); - } - set-signal-mask 0; - start-script OpenCloseAnim(0); + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; } -SetStunned(State) + +RequestState(requestedstate, currentstate) { - Stunned = State; - if (!Stunned) { - start-script ExecuteRestoreAfterDelay(); + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); } -} -RestoreAfterDelay() -{ - sleep restore_delay; - start-script ExecuteRestoreAfterDelay(); + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + call-script Go(); + currentstate = 0; + } + if( statechg_DesiredState == 1 ) + { + call-script Stop(); + currentstate = 1; + } + } + statechg_StateChanging = FALSE; } Create() { hide aimpoint; hide flare; - + hide flare; restore_delay = 2000; - isOpen = 0; - start-script OpenCloseAnim(1); - - move aimpoint to y-axis [5] speed [150.0]; - SLEEP_UNTIL_UNITFINISHED; - start-script RestoreAfterDelay(); + Static_Var_1 = 0; + call-script InitState(); + start-script RequestState(0); + while( get BUILD_PERCENT_LEFT ) + { + sleep 250; + } + start-script SmokeUnit(); + start-script RequestState(1); } Activate() { - start-script OpenCloseAnim(1); + start-script RequestState(0); } Deactivate() { - start-script OpenCloseAnim(0); + start-script RequestState(1); +} + +SetMaxReloadTime(Func_Var_1) +{ + restore_delay = Func_Var_1 * 3; } -SetMaxReloadTime(reloadMS) +static-var Stunned; +ExecuteRestoreAfterDelay() +{ + if (Stunned) { + return (1); + } + set-signal-mask 0; + start-script RequestState(1); +} +SetStunned(State) +{ + Stunned = State; + if (!Stunned) { + start-script ExecuteRestoreAfterDelay(); + } +} +RestoreAfterDelay() { - restore_delay = reloadMS * 2; + sleep restore_delay; + start-script ExecuteRestoreAfterDelay(); } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - start-script OpenCloseAnim(1); - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; - while( !isOpen ) + start-script RequestState(0); + signal SIG_AIM; + set-signal-mask SIG_AIM; + while( !Static_Var_1 ) { sleep 250; } - turn post to y-axis heading speed <300.0>; - if (pitch < 0) pitch = 0; - turn turret to x-axis <0.0> - pitch speed <300.0>; + turn post to y-axis heading speed <300.000000>; wait-for-turn post around y-axis; - wait-for-turn turret around x-axis; start-script RestoreAfterDelay(); return (1); } -FireWeapon1() +Shot1() +{ + return (TRUE); +} + +FirePrimary() +{ +} + +QueryPrimary(piecenum) { - emit-sfx 1024+0 from flare; - sleep 150; + piecenum = flare; } -QueryWeapon1(pieceIndex) +SweetSpot(piecenum) { - pieceIndex = flare; + piecenum = base; } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = aimpoint; + piecenum = aimpoint; } Killed(severity, corpsetype) @@ -127,37 +191,34 @@ Killed(severity, corpsetype) if( severity <= 25 ) { corpsetype = 1 ; + explode base type BITMAPONLY | NOHEATCLOUD; explode post type BITMAPONLY | NOHEATCLOUD; - explode turret type BITMAPONLY | NOHEATCLOUD; - + explode turret type FIRE | SMOKE | FALL | NOHEATCLOUD; explode flare type BITMAPONLY | NOHEATCLOUD; - explode base type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } if( severity <= 50 ) { corpsetype = 2 ; + explode base type BITMAPONLY | NOHEATCLOUD; explode post type FIRE | SMOKE | FALL | NOHEATCLOUD; - explode turret type FIRE | SMOKE | FALL | NOHEATCLOUD; - explode flare type FIRE | SMOKE | FALL | NOHEATCLOUD; - explode base type FIRE | SMOKE | FALL | NOHEATCLOUD; + explode turret type FALL | NOHEATCLOUD; + explode flare type FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) { corpsetype = 3 ; - explode post type FIRE | SMOKE | FALL | NOHEATCLOUD; - explode turret type SMOKE | FALL | NOHEATCLOUD; - - explode flare type SMOKE | FALL | NOHEATCLOUD; - explode base type SMOKE | FALL | NOHEATCLOUD; + explode base type FIRE | SMOKE | FALL | NOHEATCLOUD; + explode post type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + explode turret type FIRE | SMOKE | FALL | NOHEATCLOUD; + explode flare type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; - explode post type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; - explode turret type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; - - explode flare type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode base type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + explode post type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + explode turret type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + explode flare type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; return corpsetype; -} +} \ No newline at end of file diff --git a/scripts/Units/scavbuildings/scavdtl.cob b/scripts/Units/scavbuildings/scavdtl.cob index c20cc783981a2f48d9cd92b6d2942f601925f29c..11d91b066817d15f2a4d10d9a4752615e92a6cf7 100644 GIT binary patch literal 3073 zcmb_eJ8KkC6h6DIoA`negCK}ZVPPQ{0}6tm@evhK)~q&GJ0@2h+}+tsW;I%^pq+w+ zV51;b7MA)0>;yq;U~wqw6`4SxA$Pf_y9-g-Lv6;B#fZyiMH?vx-5mps{D^;S3?RrIO3eT93( zm50HHPZ@Ds8GnF+x6*R%aXJA3Z72^sD{LHP>d4)X11EmyrX0JRT{+TP`W*DPykF(7 zT1Ln-occ13zMAg^ZLZGa5Lp9t>?!Z7v(Wi4Olnn+{zDMCTAe>=bs{5uohNBNI{2kb zX3Wty`B+JNpdVSd;zK{yQW@^g*BT1>=_6VG+5W{mwtu+iYxud3@w01CzhXW8{yzN1 z#Iv4?{jnsS6S>%fo;gk2>;2-MzIr!#3uxn=dxnMQ#%+52Q0- z4y}PPOv5~OW;vU9RgZ5~{qygA6_n)o!C3d+e^W*b7k+4GY>|g5oxPO{dGhv!;(6YB zKFnq7$9rW@TC;L-#`b%sQT2Aa+ATNkjm|=Psl3>n%tOwM`(b+CCrN;wR@vnJS+i&Q zT7J%K9v{8OSzYkUpM$**owQafqi*urbgqUeBw>91d@eX0-?Yw6{M;MFBv>24+W3{v z4|%MvmYWY`)=3-Z&O52TT=hL_4-47Z+kE!o8E+!DpU(LeiqhKjO>pnSg=-Hh|6YhU zkk#fxRkYcj;ZG;p2C*`Za(ZV{x##rc)9)f5x+0&Q2V!+*I&1pbzbUT%U#@;~Ew=up z)Tn*gyMx?4PGFoc8K3~U8<0HeSu;4E+*xZ!XM>s{bJ z!2dxv0-Jy>z&2nPuopNC)PMlE2HXVh0gr&kz*FEk@Dg|jyazr3pMh_{cc9*iE}1j! zFp(pX)RU+q$FQjDyb)yqWc$vZ>6R21>$%$ZQ+%%(L@^siTa(Ko} zbQ3d<;3zhu=MxhjGR@$sz_Xro+if!m@}hAxY}Mkh6~yqn7$rMpER2n6PIXOuRX6o3 s21K1G5yXteQ5JVRY&OAtE|@mbiKY`tx^Zk0Io}LoBSF~eL}5FTKc{2sh5!Hn literal 3232 zcmai0&udgy6h4`ZV?Zgl;-=mB+=&!ADurU9WMUd3B2^;@LSdenYk4}qczG!XH=)!` zsYN%oh!q#5e?Xzz(q$K=bW@=lSEcB#i_%3=+V4B}o;Np>#7_9Q_uTWH-}gS!6p;hK z9^ku1Sg{q^C$bFO0p5W4HCD+QuIU;MG?|I3%$2{L*tgPjlT=8Qa8Z*Y0`IcLt0vz^)KXSNQ ze&igc9Bp^2k#!pA<5fDzn%b{R*z&B$GxUUe%?Wz$J3McPdIs3Co>{EaQ6=XlI-aox z=0T3QR#>rRjy$tmt+(WGj^@+yuzb1dA2{^?7X!?P8PP7)g_t3q+mVk&SXau^7_p`= zBadh7tKF%$U)h=~&!s)9JyCn)Aen@DL?5)VzAzq5EbeyOi9LC&leV8=%k>sk+Ok~p zIlW3d%*eQ){x3J>(4IA0?>kU3rp;-mnwi5>5@Ih{Gv^^L%*1TDN_$3Y`W%AgKHamO zbTqB`n4R^8z0kLV4fRdRxTmavTkAP>ti|r_!N}*4-Obd0YNtM3xI>4MI2MC;IM(S>?qQyF zd`}|$&G8IB>UDz}>fUXO2S(H@cNe{Vi^-uc`#!K9%TMj$i`*^mcG@Qm#&K@kV}_iE z+Q)ea0!-KUH@H0GeY1H=HhBj;qdRicSA3HPqA#BDEgL7jw`MC@_%_@9PVX@Hlk=^8 zrq8;M92(xf-Gh77VMcXcu}752Nxv_o(vS6zu6EN;&*U}QX5l_xi8V8?wB|?TxV?1` zOlDoo$7IXhWT>_0R;Tr!Hu~*~aW`XJ`b*e-+#Y1~yRW88-^ zuJzMqY<^7sj5f%_;+kx6O(rdko6gF7J&e9g);TA>O*Y@gpY~1p46p$_2i}Fli@;6b zHt-ej4e&GY77x)5rf9!{+`lB`985RRsE~aiWW`r2)%tMgd$L`5s`Po~rL$TUA91tjbKAo1 zY<}Z{?~n4{#bN+bF$ftQlcl2cwm-k_%b4mha+b speed <300>; wait-for-turn door2 around x-axis; - isOpen = 1; + Static_Var_1 = 1; } -Close() +Stop() { set ARMORED to 1; - isOpen = 0; - turn tube to y-axis <0.0> speed <300.0>; + Static_Var_1 = 0; + turn tube to y-axis <0.000000> speed <300.000000>; wait-for-turn tube around y-axis; turn door1 to x-axis <-90> speed <300>; @@ -43,6 +67,37 @@ Close() wait-for-move tube along y-axis; } +InitState() +{ + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; +} + +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + call-script Go(); + currentstate = 0; + } + if( statechg_DesiredState == 1 ) + { + call-script Stop(); + currentstate = 1; + } + } + statechg_StateChanging = FALSE; +} Create() { @@ -51,28 +106,33 @@ Create() hide flare2; hide flare1; restore_delay = 2000; - isOpen = 0; - start-script OpenCloseAnim(1); - SLEEP_UNTIL_UNITFINISHED; + Static_Var_1 = 0; + call-script InitState(); + start-script RequestState(0); + while( get BUILD_PERCENT_LEFT ) + { + sleep 250; + } firepoint = 0; - start-script OpenCloseAnim(0); + start-script SmokeUnit(); + start-script RequestState(1); } Activate() { - start-script OpenCloseAnim(1); + start-script RequestState(0); } Deactivate() { - start-script OpenCloseAnim(0); + start-script RequestState(1); } -SetMaxReloadTime(reloadMS) +SetMaxReloadTime(Func_Var_1) { - restore_delay = reloadMS * 3; + restore_delay = Func_Var_1 * 3; } static-var Stunned; @@ -82,7 +142,7 @@ ExecuteRestoreAfterDelay() return (1); } set-signal-mask 0; - start-script OpenCloseAnim(0); + start-script RequestState(1); } SetStunned(State) { @@ -97,17 +157,17 @@ RestoreAfterDelay() start-script ExecuteRestoreAfterDelay(); } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - start-script OpenCloseAnim(1); - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; - while( !isOpen ) + start-script RequestState(0); + signal SIG_AIM; + set-signal-mask SIG_AIM; + while( !Static_Var_1 ) { sleep 100; } // dont need turn - //turn post to y-axis heading speed <300.0>; + //turn post to y-axis heading speed <300.000000>; //wait-for-turn post around y-axis; start-script RestoreAfterDelay(); return (1); @@ -118,24 +178,27 @@ Shot1() return (TRUE); } -FireWeapon1() +FirePrimary() { firepoint = firepoint + 1; if (firepoint >= 3) firepoint = 0; } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - if (firepoint == 0 ) pieceIndex = flare1; - if (firepoint == 1 ) pieceIndex = flare2; - if (firepoint == 2 ) pieceIndex = flare3; + if (firepoint == 0 ) piecenum = flare1; + if (firepoint == 1 ) piecenum = flare2; + if (firepoint == 2 ) piecenum = flare3; } +SweetSpot(piecenum) +{ + piecenum = base; +} - -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = aimpoint; + piecenum = aimpoint; } Killed(severity, corpsetype) diff --git a/scripts/Units/scavbuildings/scavdtm.cob b/scripts/Units/scavbuildings/scavdtm.cob index 438e252ccbc31c66d59d50d7545067a32e465a93..d346e53a82756d8fe154057227eb68fb880db86e 100644 GIT binary patch literal 3317 zcmb_eO^ggd6n;B9#tM?QI7l4E!9n6M>*pYmu>M8J+TlVX+ja{bGux~6_)TOY5{?co z5(jP)M>hw-K?ny9;wEu$li=bnVtrp#y`I)~H@j&0wqDhH?|Waps_s!1k%d4H@TeqG z!N_OLT#+{L99W6@dyG;o1&Xeq6f9t1wH(M$C72JBYgfBq)Vc!MSP8oQ8kZO|;OAw| zkyomL4^Ihs9GSm~Mlj2AuJdaG0{S2iJl!^rHrL4A$pa_;F-$qudcSfwEgcTVTi%cI zhn7|3skvC@F;?q6q0j5w1(O=M#y#a@wHMkSrpZ7hVEiJO9PL`Q$F7O=cGd!M^%zj? z%53KBc$Lo;w+GKx^zj_*g9>VsgF4H#PVa3@K^tQv)AoCOv5xHx<55TLyw>uA@o}k6 zto6qR){)=zb$an-9H*0U7JI>x+Edo$p7egu#kt-^&Kaxsm^a4u1o!g+Ts&ij6gi6g z%(1tPIpAmAVs7RKC;c+y?)4{_>dVf5!1>-Xu8RA?5s&({Mn2ER_`DAcMxMRPK97FQ z~iw(~JpYwH~$fBycEM}kVg_gUlf--KQ)lH)t$YVMoR_m-Gy*U8tM)PnFMe*K=YmyC1yc)WSU7Gi$Nevq(Ht2{wD(mK(k-uI=pU z)?^)WX52U3xgR6}_B4m}@MQd6hvjDvCyCMfoaG@de=hc3j5)2=hHh%G#k__KD8l>^ zF8cFIy)J(K`Ot5*Kv&)-m#wG%!1a`Cd7tg~Mz`ndz8-n?E@b+_&pqXH87Ka}-}brW z=N+djAL}%_I(L06`#w>u?T6>R?_>EpsIf&&I-kmq*J#rG;vHOqSgAU#-4LUFB|rDU zdDV|?jQkChV7A@!WIoMf5M%iJ&OF-enc8h{laGCvjF0EW_lCTDH}db0{hjpsS9|^B zny&ttXw-e_U29X1?}zH2$TyY#VRCr==e>R#U+eULCK^e{KB^vjP`>xmIS1Y2OloQ^ z9cNmz*dOXI_TX>1|5rc$w!Y@+_^-X;e(JzE;5Kj<_zEn;!L0!Lfc3y0;1F;WxCC4V zZU7H~r@%{q|F8ZGd;@+0J@Z5s151JBKn>^z4gdx?4O|4S0M~$9z#ZTo@DO+mJOf?= zuYotfJK#M~Z^p;X{?RCv?XlF;cuaO;QcuIw$e=mVGAI3Hb7HvGKb%IVXlyZ|nst-z z4$lmlMjVdpi<(BZo-xC%)C?jyPE7xi)FfL>BRngJtf#HfQ8NPaqO(704kS@COb~Z0 zPWxnAlo(yv+cL>nozzbo5RJvDAZJ?=XL-A#Mg!c3!;?nR)?p(fah&wozpLa(BTP)6 Q8~kjwgi&)Wjz&}Y1wUB=QUCw| literal 3422 zcma)8O^91n6h4zl(_&R#>ukhDQ*(W?{}?M7T(6TO!M~WH(H#BwQN# zmS>Y{V;oPPEY^~8of%!9O)7|`y;Yr0``Z&O`3BJ#wE0*4V`&^{V#kG)%5_xQ3q4R!#8JZgaii_tS&P z{m@SzU9vd#agBSR4y}>Y^o$rrjXW>YYP}W2@cis7O^4~_sDFrI{l7`j@@K@n*vA@@ zcs-xN9BTvz|H7Jbggsq~*4S5zdG67BwQ^k=v)U8QhX$#OKaWs@ImSsorWo)2x#N7s zai7dR50m4^7@5oMTFvq(4Sz-!i_izg#xcz2o~`$7ILT?}G-=P&aDxG%7u++?LlS=` zmdjBZGrFhGF){7so=x&Gbrc`oQ_k57eRp7RUgaFmDfd9rdQKnrV$bbdi06_$n{oX( zPiux}Xivmr9HwK$p*K-@7ed~?kT-)-{_@WV-_-+Qy%Md*-1{jIeP!Pm|1YMoPTF(v zT78H1S7i4%4ky9#gw)ahU^92&x2PVTT|Hm=C;0UISOW}ZGmiDxL%KNUX!nL`^W3KG z-uSWx(?=e&V?EU$HaBI8*1Io*8@^cIxED7!(fLu$axYA`EK9PT6O8(ugHi8WjC>ZT z|hnD~zU7K^NNn*rf$zX@wxVlBIOI4{@IHM|F`F^Mbot6kD! ze!ELKXD#g;p11Pec%HoHeIIJc^`KR`gAT2E&TCTpe{hnAHAl6t_`CWR3nTv_E#$SS z8FVNw`!*%UzAL8ohXn>fD{bhe2IUAEp1=Vxzr)3FM!R?@;N(vZen$17E4Eq7&QG=C zF0?a^ecJDq-}9ls$GR5Fnw-bKO{}h8_qj(yE}u`kmtr2(u;^nKLoE9~DVFu^JN)es z%lE)y%bGan`!da6e#RbW{kqrkNvKbK%;(5@S1{r&^zTnJH~;0}r`9;0{p9`W_v^po z8Oj*FO9SuMftUGP@fwfuo@X)WGG3c+#k<0s!24t1)%eDEzsAE*YW8&dR|de zmfp*YrX0(L&Q{)7cf%mKDTq8a%tz5DvThd@&!lTkiuE&2I(a^9>i_+++D(V9>4z{o NAZgYc <180>) + { + curHead1 = <-360> + curHead1; + } + if (curPitch1 > <180>) + { + curPitch1 = <-360> + curPitch1; + } + if (curHead1 < <-180>) + { + curHead1 = <360> + curHead1; + } + if (curPitch1 < <-180>) + { + curPitch1 = <360> + curPitch1; + } + if (Static_Var_3 == 1) + { + if (((get ABS(curHead1 - wtdHead1)) > <360>) OR(((get ABS(curHead1 - wtdHead1)) > (Weapon1TurretY / 30)) AND ((get ABS(curHead1 - wtdHead1)) < <360> - (Weapon1TurretY / 30)))) + { + head1 = 0; + if(curHead1 < wtdHead1) { + if(get ABS(curHead1 - wtdHead1)< <180>) + curHead1 = curHead1 + (Weapon1TurretY / 30); + else curHead1 = curHead1 - (Weapon1TurretY / 30); + } + + else { + if(get ABS(curHead1 - wtdHead1)< <180>) + curHead1 = curHead1 - (Weapon1TurretY / 30); + else curHead1 = curHead1 + (Weapon1TurretY / 30); + } + } + else + { + head1 = 1; + curHead1 = wtdHead1; + } + if (((get ABS(curPitch1 - wtdPitch1)) > <360>) OR(((get ABS(curPitch1 - wtdPitch1)) > (Weapon1TurretX / 30)) AND ((get ABS(curPitch1 - wtdPitch1)) < <360> - (Weapon1TurretX / 30)))) + { + pitch1 = 0; + if(curPitch1 < wtdPitch1) { + if(get ABS(curPitch1 - wtdPitch1)< <180>) + curPitch1 = curPitch1 + (Weapon1TurretX / 30); + else curPitch1 = curPitch1 - (Weapon1TurretX / 30); + } + + else { + if(get ABS(curPitch1 - wtdPitch1)< <180>) + curPitch1 = curPitch1 - (Weapon1TurretX / 30); + else curPitch1 = curPitch1 + (Weapon1TurretX / 30); + } + } + else + { + pitch1 = 1; + curPitch1 = wtdPitch1; + } + if (pitch1 == 1 AND head1 == 1 AND wpnReady1 == 1 AND wtdHead1 != 0) + { + aim1 = 1; + } + else + { + aim1 = 0; + } + turn aimy1 to y-axis curHead1 now; + turn aimx1 to x-axis curPitch1 now; + } + sleep 1; + } +} + +InitialSetup1() +{ + curHead1 = 0; + curPitch1 = 0; + wtdHead1 = 0; + wtdPitch1 = 0; + wpnReady1 = 0; + start-script Weapon1Control(); +} + +Weapon1Drawn() +{ + wpnReady1 = 1; +} + +RestoreWeapon1() +{ + wtdHead1 = 0; + wtdPitch1 = 0; +} + +Weapon1Restored() +{ + wpnReady1 = 0; + while (curHead1 != 0) + { + sleep 25; + } + return (TRUE); +} + +Weapon1SetWtdAim(pitch, heading) +{ + wtdHead1 = heading; + wtdPitch1 = <0> - pitch; +} \ No newline at end of file diff --git a/scripts/Units/sfxtype.h b/scripts/Units/sfxtype.h new file mode 100644 index 00000000000..e69de29bb2d diff --git a/scripts/Units/smokeunit.h b/scripts/Units/smokeunit.h new file mode 100644 index 00000000000..e40718f637e --- /dev/null +++ b/scripts/Units/smokeunit.h @@ -0,0 +1,100 @@ +/* SmokeUnit.h -- Process unit smoke when damaged */ + +#ifndef SMOKE_H_ +#define SMOKE_H_ + +#include "SFXtype.h" +#include "EXPtype.h" + +// Figure out how many smoking pieces are defined + +#ifdef SMOKEPIECE4 + #define NUM_SMOKE_PIECES 4 +#else + #ifdef SMOKEPIECE3 + #define NUM_SMOKE_PIECES 3 + #else + #ifdef SMOKEPIECE2 + #define NUM_SMOKE_PIECES 2 + #else + #define NUM_SMOKE_PIECES 1 + #ifndef SMOKEPIECE1 + #define SMOKEPIECE1 SMOKEPIECE + #endif + #endif + #endif +#endif + + +SmokeUnit() +{ + var healthpercent; + var sleeptime; + var smoketype; + +#if NUM_SMOKE_PIECES > 1 + var choice; +#endif + + // Wait until the unit is actually built + while (get BUILD_PERCENT_LEFT) + { + sleep 400; + } + + // Smoke loop + while (TRUE) + { + // How is the unit doing? + healthpercent = get HEALTH; + + if (healthpercent < 66) + { + // Emit a puff of smoke + + smoketype = SFXTYPE_BLACKSMOKE; + + if (rand( 1, 66 ) < healthpercent) + { + smoketype = SFXTYPE_WHITESMOKE; + } + + // Figure out which piece the smoke will emit from, and spit it out + +#if NUM_SMOKE_PIECES == 1 + emit-sfx smoketype from SMOKEPIECE1; +#else + choice = rand( 1, NUM_SMOKE_PIECES ); + + if (choice == 1) + { emit-sfx smoketype from SMOKEPIECE1; } + if (choice == 2) + { emit-sfx smoketype from SMOKEPIECE2; } + #if NUM_SMOKE_PIECES >= 3 + if (choice == 3) + { emit-sfx smoketype from SMOKEPIECE3; } + #if NUM_SMOKE_PIECES >= 4 + if (choice == 4) + { emit-sfx smoketype from SMOKEPIECE4; } + #endif + #endif +#endif + } + + // Delay between puffs + + sleeptime = healthpercent * 50; + if (sleeptime < 200) + { + sleeptime = 200; // Fastest rate is five times per second + } + + sleep sleeptime; + } +} + + +// Clean up pre-processor +#undef NUM_SMOKE_PIECES + +#endif \ No newline at end of file diff --git a/scripts/Units/smokeunit_thread.h b/scripts/Units/smokeunit_thread.h new file mode 100644 index 00000000000..8cdf0289361 --- /dev/null +++ b/scripts/Units/smokeunit_thread.h @@ -0,0 +1,81 @@ +// Needs the following + +// #define SMOKEPIECE base +// static-var isSmoking; +// #include "smokeunit_thread.h" + + + +// if a unit does not use hitbyweaponid, just hitbyweapon, then the hitbyweapon should use the smokeunit + +SmokeUnit(healthpercent) // ah yes, clever use of stack variables +{ + while( TRUE ) + { + healthpercent = get HEALTH; + if (healthpercent > 66) { + sleep 97; + isSmoking = 0; + return; + } + if (healthpercent < 4 ) healthpercent = 4; + sleep healthpercent * 50; + + if( Rand( 1, 66 ) < healthpercent ) emit-sfx 257 from SMOKEPIECE; + else emit-sfx 258 from SMOKEPIECE; + } +} + +// this is what a pure hitbyweapon can look like, without any of the motion garbage +//HitByWeapon(anglex, anglez) //weaponID is always 0,lasers and flamers give angles of 0 +//{ +// if( get BUILD_PERCENT_LEFT) return (0); +// if (isSmoking == 0) { +// isSmoking = 1; +// start-script SmokeUnit(); +// } +//} + +// this is what the hitbyweaponid should look like: + + +//HitByWeaponId(anglex, anglez, weaponid, dmg) //weaponID is always 0,lasers and flamers give angles of 0 +//{ +// if( get BUILD_PERCENT_LEFT) return (100); +// if (isSmoking == 0) { +// isSmoking = 1; +// start-script SmokeUnit(); +// } +// start-script HitByWeapon(dmg, anglez,anglex); //I dont know why param order must be switched, and this also runs a frame later :( +// return (100); //return damage percent +//} + +/* + +#define SMOKEPIECE base +static-var isSmoking; +SmokeUnit(healthpercent) // ah yes, clever use of stack variables +{ + while( TRUE ) + { + healthpercent = get HEALTH; + if (healthpercent > 66) break; + if (healthpercent < 4 ) healthpercent = 4; + sleep healthpercent * 50; + + if( Rand( 1, 66 ) < healthpercent ) emit-sfx 257 from SMOKEPIECE; + else emit-sfx 258 from SMOKEPIECE; + } + sleep 97; + isSmoking = 0; +} + +HitByWeaponId(anglex, anglez, weaponid, dmg) //weaponID is always 0,lasers and flamers give angles of 0 +{ + if( get BUILD_PERCENT_LEFT) return (100); + if (isSmoking == 0) { + isSmoking = 1; + start-script SmokeUnit(); + } + +*/ \ No newline at end of file diff --git a/scripts/Units/smokeunit_thread_nohit.h b/scripts/Units/smokeunit_thread_nohit.h new file mode 100644 index 00000000000..5f78ce29428 --- /dev/null +++ b/scripts/Units/smokeunit_thread_nohit.h @@ -0,0 +1,58 @@ +// Needs the following + +/* + +#define SMOKEPIECE base +#include "smokeunit_thread_nohit.h" + +*/ + +// if a unit does not use hitbyweaponid, just hitbyweapon, then the hitbyweapon should use the smokeunit + + +static-var isSmoking; +SmokeUnit(healthpercent) // ah yes, clever use of stack variables +{ + if( get BUILD_PERCENT_LEFT){ + isSmoking = 0; + return (0); + } + while( TRUE ) + { + healthpercent = get HEALTH; + if (healthpercent > 66) { + sleep 97; + isSmoking = 0; + return; + } + if (healthpercent < 4 ) healthpercent = 4; + sleep healthpercent * 50; + + if( Rand( 1, 66 ) < healthpercent ) emit-sfx 257 from SMOKEPIECE; + else emit-sfx 258 from SMOKEPIECE; + } +} + +// this is what a pure hitbyweapon can look like, without any of the motion garbage +HitByWeapon() //weaponID is always 0,lasers and flamers give angles of 0 +{ + //get PRINT(1,get BUILD_PERCENT_LEFT); + if( get BUILD_PERCENT_LEFT) return (0); + if (isSmoking == 0) { + isSmoking = 1; + start-script SmokeUnit(); + } +} + +// this is what the hitbyweaponid should look like: + +//HitByWeaponId(anglex, anglez, weaponid, dmg) //weaponID is always 0,lasers and flamers give angles of 0 +//{ +// if( get BUILD_PERCENT_LEFT) return (100); +// if (isSmoking == 0) { +// isSmoking = 1; +// start-script SmokeUnit(); +// } +// start-script HitByWeapon(dmg, anglez,anglex); //I dont know why param order must be switched, and this also runs a frame later :( +// return (100); //return damage percent +//} \ No newline at end of file diff --git a/scripts/Units/smokeunit_threadder.py b/scripts/Units/smokeunit_threadder.py new file mode 100644 index 00000000000..70f8213c4f9 --- /dev/null +++ b/scripts/Units/smokeunit_threadder.py @@ -0,0 +1,63 @@ +import os + + +for root, dir, files in os.walk(os.getcwd()): + for filename in files: + if filename.lower().endswith('.bos'): + fpath = os.path.join(root, filename) + boslines=open(fpath).readlines() + hasSmokeUnit = 0 + hasHitByWeapon = 0 + hasHitByWeaponID = 0 + alreadydone = 0 + + piecelist = [] + + + for i, line in enumerate( boslines): + + if '//' in line: + line = line.partition('//')[0] + '\n' # uncomment it + # explode body type FIRE | SMOKE | FALL | NOHEATCLOUD; + + if '#define SMOKEPIECE' in line: + alreadydone = 1 + if 'HitByWeaponId(' in line: + hasHitByWeaponID = i + if 'HitByWeapon(' in line: + hasHitByWeapon = i + if 'SmokeUnit(' in line: + hasSmokeUnit = i + if line.startswith('piece') and piecelist == []: + piecelist = line[6:].replace(';','').strip().split(',') + try: + piecelist[0] + except IndexError: + print (" Warning, no pieces found for", filename) + continue + + if alreadydone == 1 : + continue + + if hasHitByWeapon == 0 and hasHitByWeaponID == 0 and hasSmokeUnit: + # the easy case, we only need to include smokeunit_thread + # 1. delete start-script smokeunit(); + # 2. delete smokeunit(){} + # 3 add hitbyweapon() + # 4. add smokeunit() + # replace smokepiece with first piece in piece list + + print ("OnlySmokeUnit", filename, piecelist[0],hasHitByWeapon, hasHitByWeaponID, hasSmokeUnit) + elif hasHitByWeapon and hasHitByWeaponID == 0 and hasSmokeUnit: + print ("hasHitByWeaponID", filename, piecelist[0],hasHitByWeapon, hasHitByWeaponID, hasSmokeUnit) + elif hasHitByWeapon == 0 and hasHitByWeaponID == 0 and hasSmokeUnit == 0: + print ("NoSmoke", filename, piecelist[0],hasHitByWeapon, hasHitByWeaponID, hasSmokeUnit) + else: + print ("TODO", filename, piecelist[0],hasHitByWeapon, hasHitByWeaponID, hasSmokeUnit) + + if False and fixed > 0: + + bosfile=open(fpath,'w') + bosfile.write(''.join(boslines)) + bosfile.close() + # print ''.join(newbosfle) \ No newline at end of file diff --git a/scripts/Units/standard_commands_gpl.h b/scripts/Units/standard_commands_gpl.h new file mode 100644 index 00000000000..ea6dd96b3a0 --- /dev/null +++ b/scripts/Units/standard_commands_gpl.h @@ -0,0 +1,70 @@ +// Argh's Standard Commands Script +// This script is released under the terms of the GNU license. +// It may be used by anyone, for any purpose, so long as you adhere to the GNU license. +// This script will not work with TAK compiling options, as I do not understand TAK scripts well enough to garantee that they will function as advertised. +#ifndef STANDARD_COMMANDS_GPL_H_ +#define STANDARD_COMMANDS_GPL_H_ +// +// Vector-based special effects +// +#define SFXTYPE_VTOL 1 +#define SFXTYPE_THRUST 2 +#define SFXTYPE_WAKE1 3 +#define SFXTYPE_WAKE2 4 +#define SFXTYPE_REVERSEWAKE1 5 +#define SFXTYPE_REVERSEWAKE2 6 +// +// Point-based (piece origin) special effects +// +#define SFXTYPE_POINTBASED 256 +#define SFXTYPE_WHITESMOKE (SFXTYPE_POINTBASED | 1) +#define SFXTYPE_BLACKSMOKE (SFXTYPE_POINTBASED | 2) +#define SFXTYPE_SUBBUBBLES 256 | 3 +// +#define SHATTER 1 // The piece will shatter instead of remaining whole +#define EXPLODE_ON_HIT 2 // The piece will explode when it hits the ground +#define FALL 4 // The piece will fall due to gravity instead of just flying off +#define SMOKE 8 // A smoke trail will follow the piece through the air +#define FIRE 16 // A fire trail will follow the piece through the air +#define BITMAPONLY 32 // The piece will just show the default explosion bitmap. +#define NOCEGTRAIL 64 // Disables the cegtrail for the specific piece (defined in the unit fbi) +// +// Bitmap Explosion Types +// +#define BITMAP_GPL 10000001 +// +// Indices for set/get value +#define ACTIVATION 1 // set or get +#define STANDINGMOVEORDERS 2 // set or get +#define STANDINGFIREORDERS 3 // set or get +#define HEALTH 4 // get (0-100%) +#define INBUILDSTANCE 5 // set or get +#define BUSY 6 // set or get (used by misc. special case missions like transport ships) +#define PIECE_XZ 7 // get +#define PIECE_Y 8 // get +#define UNIT_XZ 9 // get +#define UNIT_Y 10 // get +#define UNIT_HEIGHT 11 // get +#define XZ_ATAN 12 // get atan of packed x,z coords +#define XZ_HYPOT 13 // get hypot of packed x,z coords +#define ATAN 14 // get ordinary two-parameter atan +#define HYPOT 15 // get ordinary two-parameter hypot +#define GROUND_HEIGHT 16 // get +#define BUILD_PERCENT_LEFT 17 // get 0 = unit is built and ready, 1-100 = How much is left to build +#define YARD_OPEN 18 // set or get (change which plots we occupy when building opens and closes) +#define BUGGER_OFF 19 // set or get (ask other units to clear the area) +#define ARMORED 20 // SET or GET. Turns on the Armored state. +#define IN_WATER 28 // GET only. If unit position Y less than 0, then the unit must be in water (0 Y is the water level). +#define CURRENT_SPEED 29 // SET only, if I'm reading the code right. Gives us a new speed for the next frame ONLY. +#define VETERAN_LEVEL 32 // SET or GET. Can make units super-accurate, or keep them inaccurate. +#define MAX_ID 70 // GET only. Returns maximum number of units - 1 +#define MY_ID 71 // GET only. Returns ID of current unit +#define UNIT_TEAM 72 // GET only. Returns team of unit given with parameter +#define UNIT_BUILD_PERCENT_LEFT 73 // GET only. BUILD_PERCENT_LEFT, but comes with a unit parameter. +#define UNIT_ALLIED 74 // GET only. Is this unit allied to the unit of the current COB script? 1=allied, 0=not allied +#define MAX_SPEED 75 // SET only. Alters MaxVelocity for the given unit. +#define POW 80 +#define PRINT 81 +#define HEADING 82 +// +#endif // STANDARD_COMMANDS_GPL_H_ \ No newline at end of file diff --git a/scripts/Units/statechg.h b/scripts/Units/statechg.h new file mode 100644 index 00000000000..3003e1c4f2b --- /dev/null +++ b/scripts/Units/statechg.h @@ -0,0 +1,83 @@ +// StateChg.h -- Generic State Change support for units that activate and deactivate or whatever + +// Due to limitiations of the scripting language, this file must be included twice. The +// first time must be where the static variables are declared. The second time must be +// where the functions are defined (and of course before they are called.) + +// The Following macros must be defined: ACTIVATECMD and DEACTIVATECMD. They are the commands +// to run when the units is actiavted or deactivated. + +#ifndef STATECHG_1_ +#define STATECHG_1_ + +// State variables + +static-var statechg_DesiredState, statechg_StateChanging; + +#else + +#ifndef STATECHG_2_ +#define STATECHG_2_ + +// The states that can be requested + +#define ACTIVE 0 +#define INACTIVE 1 + +// State change request functions + +InitState() + { + // Initial state + statechg_DesiredState = INACTIVE; + statechg_StateChanging = FALSE; + } + + +RequestState( requestedstate ) + { + var actualstate; + + // Is it busy? + if (statechg_StateChanging) + { + // Then just tell it how we want to end up. A script is already running and will take care of it. + statechg_DesiredState = requestedstate; + return 0; + } + + // Keep everybody else out + statechg_StateChanging = TRUE; + + // Since nothing was running, the actual state is the current desired state + actualstate = statechg_DesiredState; + + // State our desires + statechg_DesiredState = requestedstate; + + // Process until everything is right and decent + while (statechg_DesiredState != actualstate) + { + // Change the state + + if (statechg_DesiredState == ACTIVE) + { + ACTIVATECMD + actualstate = ACTIVE; + } + + if (statechg_DesiredState == INACTIVE) + { + DEACTIVATECMD + actualstate = INACTIVE; + } + } + + // Okay, we are finshed + statechg_StateChanging = FALSE; + } + +#else +// We should never get here. Introduce an error yelp! +#endif +#endif \ No newline at end of file diff --git a/scripts/Units/teleport.bos b/scripts/Units/teleport.bos index 6c63e3e2dee..360015952a2 100644 --- a/scripts/Units/teleport.bos +++ b/scripts/Units/teleport.bos @@ -1,5 +1,7 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, emit; @@ -9,8 +11,10 @@ Create() { hide emit; hide base; - move emit to y-axis [700.0] now; - turn emit to x-axis <90.0> now; + dont-shade base; + dont-cache base; + move emit to y-axis [700.000000] now; + turn emit to x-axis <90.000000> now; sleep 100; emit-sfx 1024 from emit; sleep 2200; @@ -23,7 +27,7 @@ Create() ++counter; } sleep 1000; - move emit to y-axis [0.0] now; + move emit to y-axis [0.000000] now; } Killed(severity, corpsetype) @@ -31,17 +35,17 @@ Killed(severity, corpsetype) } -QueryNanoPiece(pieceIndex) +QueryNanoPiece(piecenum) { - pieceIndex = base; + piecenum = base; } -QueryWeapon1(pieceIndex) +QueryWeapon1(piecenum) { - pieceIndex = base; + piecenum = base; } -AimFromWeapon1(pieceIndex) +AimFromWeapon1(piecenum) { - pieceIndex = base; + piecenum = base; } \ No newline at end of file diff --git a/scripts/Units/teleport.cob b/scripts/Units/teleport.cob index 9b0c0623a34ac93d1405843f08ad177b08d8f6e3..022041c70d084888551652c73e963aa596adf4cf 100644 GIT binary patch delta 135 zcmeBYna|?J!oa}53dBr6oB+g(KnwzFfQ$n`d8!$&8HiHC=&n9zYxb#1TLY()<{RUjgw?AZ7#FCJMw-lTR|b0RUr!659X( delta 119 zcmbQw($8YX!oa}53dBr690SCRKnwzNfQ$`5d<2Mffc!Hci3A1#5XF!%(XEToY~n?G rM)}EtjPo@efnqK|>;uFhKnzlR8HjHI@k=272E?pD8@MLlWOM@njinL3 diff --git a/scripts/Units/unitDefsTurretSpeeds.h b/scripts/Units/unitDefsTurretSpeeds.h new file mode 100644 index 00000000000..c3094074203 --- /dev/null +++ b/scripts/Units/unitDefsTurretSpeeds.h @@ -0,0 +1,68 @@ +/* unitDefsTurretSpeeds.h -- sets turret speed via unitDefs (through lua gadget Spring.CallCOBScript()) + The following variables are assumed to exist: + Weapon1TurretX, Weapon1TurretY + ... + Weapon10TurretX, Weapon10TurretY +*/ + +static-var Weapon1TurretX, Weapon1TurretY; +static-var Weapon2TurretX, Weapon2TurretY; +static-var Weapon3TurretX, Weapon3TurretY; +static-var Weapon4TurretX, Weapon4TurretY; +static-var Weapon5TurretX, Weapon5TurretY; +static-var Weapon6TurretX, Weapon6TurretY; +static-var Weapon7TurretX, Weapon7TurretY; +static-var Weapon8TurretX, Weapon8TurretY; +static-var Weapon9TurretX, Weapon9TurretY; +static-var Weapon10TurretX, Weapon10TurretY; + +SetWeapon1TurretSpeed(var1,var2) +{ + Weapon1TurretX = var1; + Weapon1TurretY = var2; +} +SetWeapon2TurretSpeed(var1,var2) +{ + Weapon2TurretX = var1; + Weapon2TurretY = var2; +} +SetWeapon3TurretSpeed(var1,var2) +{ + Weapon3TurretX = var1; + Weapon3TurretY = var2; +} +SetWeapon4TurretSpeed(var1,var2) +{ + Weapon4TurretX = var1; + Weapon4TurretY = var2; +} +SetWeapon5TurretSpeed(var1,var2) +{ + Weapon5TurretX = var1; + Weapon5TurretY = var2; +} +SetWeapon6TurretSpeed(var1,var2) +{ + Weapon6TurretX = var1; + Weapon6TurretY = var2; +} +SetWeapon7TurretSpeed(var1,var2) +{ + Weapon7TurretX = var1; + Weapon7TurretY = var2; +} +SetWeapon8TurretSpeed(var1,var2) +{ + Weapon8TurretX = var1; + Weapon8TurretY = var2; +} +SetWeapon9TurretSpeed(var1,var2) +{ + Weapon9TurretX = var1; + Weapon9TurretY = var2; +} +SetWeapon10TurretSpeed(var1,var2) +{ + Weapon10TurretX = var1; + Weapon10TurretY = var2; +} \ No newline at end of file diff --git a/scripts/Units/unit_hitbyweaponid_and_smoke.h b/scripts/Units/unit_hitbyweaponid_and_smoke.h index 15c75dda640..b1427a10705 100644 --- a/scripts/Units/unit_hitbyweaponid_and_smoke.h +++ b/scripts/Units/unit_hitbyweaponid_and_smoke.h @@ -1,177 +1,54 @@ -// Author Beherith (mysterme@gmail.com) -// unit_hitbyweaponid_and_smoke.h -// This header defines wether a unit should rock when hit by a weapon -// And wether it should emit smoke if the unit's health is below a threshold -// Note: DO NOT use this if you intend to use the HitByWeaponId or HitByWeapon callins! -// NOTE: Due to the architecture, reloading a cob script while a unit isSmoking wont clear the static var so it wont ever smoke again // Needs the following //#define BASEPIECE base //#define HITSPEED <20.0> +//how 'heavy' the unit is, on a scale of 1-10 //#define UNITSIZE 5 -//#define MAXTILT 200 // Set to 0 for not tilting -//#define RECOIL_POWER 1000 // how strongly to rock backwards on recoil, usually about 10000 -// #include "unit_hitbyweaponid_and_smoke.h" - -// Where the smoke should be emitted from -#ifndef BASEPIECE - #define BASEPIECE base -#endif - -// How much tilt is allowed, set to 0 for no movement -#define MAXTILT 100 -#ifndef MAXTILT - #define MAXTILT 200 -#endif - -// How fast the unit should tilt when hit -#ifndef HITSPEED - #define HITSPEED <20.0> -#endif - -// How fast the unit should tilt when hit -#ifndef RESTORESPEED - #define RESTORESPEED (HITSPEED/4) -#endif - -// How 'heavy' the unit is, on a scale of 1-10 -#ifndef UNITSIZE - #define UNITSIZE 5 -#endif - -// How strongly to rock backwards on recoil, usually about 10000 -#ifndef RECOIL_POWER - #define RECOIL_POWER 0 -#endif - -// The health percentage threshold below which the unit will emit smoke -#ifndef HEALTH_SMOKE_THRESHOLD - #define HEALTH_SMOKE_THRESHOLD 65 -#endif - -#ifndef EXTRA_SLEEP - #define EXTRA_SLEEP 65 -#endif +//#define MAXTILT 200 +// #include "smokeunit_thread.h" +HitByWeapon(anglex, anglez, damage) // angle[x|z] is always [-500;500], damage is multiplied by 100 +{ + var amount;//, speedz, speedx; + amount = damage / (100 * UNITSIZE); + if (amount < 3 ) return (0); + if (amount > MAXTILT) amount = MAXTILT; + //get PRINT(anglex, anglez, amount, damage); + //speedz = HITSPEED * get ABS(anglez) / 500; //nevermind this, the random error this produces actually looks better than the accurate version + turn BASEPIECE to z-axis (anglez * amount) / 100 speed HITSPEED; + turn BASEPIECE to x-axis <0> - (anglex * amount) /100 speed HITSPEED; + wait-for-turn BASEPIECE around z-axis; + wait-for-turn BASEPIECE around x-axis; + turn BASEPIECE to z-axis <0.000000> speed HITSPEED / 4; + turn BASEPIECE to x-axis <0.000000> speed HITSPEED / 4; +} static-var isSmoking; - -#if MAXTILT > 0 - // angle[x|z] is always [-500;500; weaponID is always 0,lasers and flamers give angles of 0; damage is x100 - // MUST IMMEDIATELY RETURN DAMAGE AMOUNT! - HitByWeaponId(anglex, anglez, weaponid, damage) - { - //dbg(anglex, anglez, weaponid, damage); - #if HEALTH_SMOKE_THRESHOLD > 1 - // Dont do anything if we are being built - if (get BUILD_PERCENT_LEFT) return (100); - // Dont start a damagedSmoke thread if we arent low health - if ((get HEALTH) > HEALTH_SMOKE_THRESHOLD){ - // Start a thread if werent previously smoking - if (isSmoking == 0) { - isSmoking = 1; - start-script DamagedSmoke(); - } - } - #endif - // this must be start-scripted, because we need to return the full damage taken immediately - start-script HitByWeapon(damage, anglez, anglex); //I dont know why param order must be switched, and this also runs a frame later :( - return (100); //return damage percent - } - - // angle[x|z] is always [-500;500], but engine does not give us damage, hence the need for HitByWeaponId - HitByWeapon(anglex, anglez, damageamount){ - - //dbg(anglex, anglez, damageamount); - damageamount = damageamount / (100 * UNITSIZE); - if (damageamount < 3 ) return (0); - - // While signals could be used here, it doesnt help the looks really. - - //#define SIGNAL_RECOIL 65536 - //signal SIGNAL_RECOIL; - //set-signal-mask SIGNAL_RECOIL; - - if (damageamount > MAXTILT) damageamount = MAXTILT; - turn BASEPIECE to z-axis (anglez * damageamount) / 100 speed HITSPEED; - turn BASEPIECE to x-axis <0> - (anglex * damageamount) /100 speed HITSPEED; - - // The astute will notice that since the speed on both axes is the same, these will wait more. - // This looks subjectively better than an even speed along both axes - #ifndef CALC_SLEEP - //var dt; - //dt = get GAME_FRAME; - //dbg(); - wait-for-turn BASEPIECE around z-axis; - wait-for-turn BASEPIECE around x-axis; - //dbg(); - //dt = (get GAME_FRAME) - dt; - - //var maxTime; - //maxTime = (get MAX( get ABS(anglez), get ABS(anglex))); - //maxTime = EXTRA_SLEEP + (((maxTime * damageamount / 100 ))* 1000 )/ HITSPEED ; - //dbg(maxTime/33, dt); - #else - // alternative approach is to use calculate the needed sleep time, its about 50 cmds; - - var maxTime; - maxTime = (get MAX( get ABS(anglez), get ABS(anglex))); - maxTime = EXTRA_SLEEP + (((maxTime * damageamount / 100 ))* 1000 )/ HITSPEED ; - //dbg(maxTime); - // Add an extra frame to 'wait' at the desired target - sleep maxTime; - #endif - - turn BASEPIECE to z-axis <0.0> speed RESTORESPEED; - turn BASEPIECE to x-axis <0.0> speed RESTORESPEED; - } - - #if RECOIL_POWER > 0 - RockUnit(anglex,anglez){ - start-script HitByWeapon(RECOIL_POWER,-1 *anglez, -1*anglex); - } - #endif - -#else - HitByWeapon(anglex, anglez) // angle[x|z] is always [-500;500], but engine does not give us damage, hence the need for HitByWeaponId - { - #if (HEALTH_SMOKE_THRESHOLD > 1) - // Dont even start a thread if we arent low health - if ((get HEALTH) > HEALTH_SMOKE_THRESHOLD) return (100); - // Dont start a thread if we are being built - if (get BUILD_PERCENT_LEFT) return (100); - // Start a thread if werent previously smoking - if (isSmoking == 0) { - isSmoking = 1; - start-script DamagedSmoke(); - } - #endif - } -#endif - -DamagedSmoke() // ah yes, clever use of stack variables +SmokeUnit(healthpercent) // ah yes, clever use of stack variables { - var current_health_pct; // [0-100] while( TRUE ) { - current_health_pct = get HEALTH; - if (current_health_pct > HEALTH_SMOKE_THRESHOLD) { + healthpercent = get HEALTH; + if (healthpercent > 66) { + sleep 97; isSmoking = 0; return; } + if (healthpercent < 4 ) healthpercent = 4; + sleep healthpercent * 50; - if (current_health_pct < 4) current_health_pct = 4; - - // Less health means blacker smoke - if( Rand( 1, HEALTH_SMOKE_THRESHOLD ) < current_health_pct ) { - emit-sfx 257 from BASEPIECE; - } - else { - emit-sfx 258 from BASEPIECE; - } - - // Sleep after emission to get immediate visual of unit taking damage via smoke effect - sleep (current_health_pct * 50); + if( Rand( 1, 66 ) < healthpercent ) emit-sfx 257 from BASEPIECE; + else emit-sfx 258 from BASEPIECE; } } +HitByWeaponId(anglex, anglez, weaponid, dmg) //weaponID is always 0,lasers and flamers give angles of 0 +{ + if( get BUILD_PERCENT_LEFT) return (100); + if (isSmoking == 0) { + isSmoking = 1; + start-script SmokeUnit(); + } + start-script HitByWeapon(dmg, anglez,anglex); //I dont know why param order must be switched, and this also runs a frame later :( + return (100); //return damage percent +} \ No newline at end of file diff --git a/scripts/Units/weapon1control.h b/scripts/Units/weapon1control.h new file mode 100644 index 00000000000..fc7b9c319ab --- /dev/null +++ b/scripts/Units/weapon1control.h @@ -0,0 +1,175 @@ +/* +HOW TO: +- Model MUST contain aimx1 and aimy1 pieces +- Script must have defined Weapon1TurretX and Weapon1TurretY static-vars (turret turn speeds) +- Script must have defined aimx1 and aimy1 pieces +- Change script as such: +Create() +{ + [...] + start-script InitialSetup1(); + [...] +} + +AimWeapon1(heading, pitch) +{ + [...] + start-script Weapon1Drawn(); -- can call a function that draws weapons and then calls Weapon1Drawn() when done if there is an actual animation (ie pw) + [...] -- Remove animations from aimWeapon scripts (use a DrawWeapon1() if an animation is needed, weapon1control will rotate the different aimpieces) + start-script Weapon1SetWtdAim(heading, pitch); + [...] + return (aim1); +} + +static-var Stunned; +ExecuteRestoreAfterDelay() +{ + if (Stunned) { + return (1); + } + start-script RestoreWeapon1(); + [...] -- other animations; + call-script Weapon1Restored(); + [...] -- tell script wpn has been restored if needed for walkscripts +} +SetStunned(State) +{ + Stunned = State; + if (!Stunned) { + start-script ExecuteRestoreAfterDelay(); + } +} +RestoreAfterDelay() +{ + [...] + sleep sleeptime; + start-script ExecuteRestoreAfterDelay(); +} + +- Weapon1Control moves the aim pieces depending on turretSpeeds, sets pitch = 1 when pitch reached and head = 1 when head reached +- Weapon1Drawn allows unit to fire by setting wpnReady1 = 1 +- if pitch = 1, head = 1 and wpnReady = 1 then the weapon can shoot: aim1 = 1 and aimweapon returns aim1 +- Restore animations go in RestoreAfterDelay, RestoreWeapon1() restores aimy and aimx pieces orientation, Weapon1Restored() waits for these pieces to be restored +*/ +#define SIG_WPN1CTRL 64 + +static-var curHead1, wtdHead1, head1, curPitch1, wtdPitch1, pitch1, aim1, wpnReady1; + +Weapon1Control() +{ + signal SIG_WPN1CTRL; + set-signal-mask SIG_WPN1CTRL; + while (TRUE) + { + if (curHead1 > <180>) + { + curHead1 = <-360> + curHead1; + } + if (curPitch1 > <180>) + { + curPitch1 = <-360> + curPitch1; + } + if (curHead1 < <-180>) + { + curHead1 = <360> + curHead1; + } + if (curPitch1 < <-180>) + { + curPitch1 = <360> + curPitch1; + } + if (Static_Var_3 == 1) + { + if (((get ABS(curHead1 - wtdHead1)) > <360>) OR(((get ABS(curHead1 - wtdHead1)) > (Weapon1TurretY / 30)) AND ((get ABS(curHead1 - wtdHead1)) < <360> - (Weapon1TurretY / 30)))) + { + head1 = 0; + if(curHead1 < wtdHead1) { + if(get ABS(curHead1 - wtdHead1)< <180>) + curHead1 = curHead1 + (Weapon1TurretY / 30); + else curHead1 = curHead1 - (Weapon1TurretY / 30); + } + + else { + if(get ABS(curHead1 - wtdHead1)< <180>) + curHead1 = curHead1 - (Weapon1TurretY / 30); + else curHead1 = curHead1 + (Weapon1TurretY / 30); + } + } + else + { + head1 = 1; + curHead1 = wtdHead1; + } + if (((get ABS(curPitch1 - wtdPitch1)) > <360>) OR(((get ABS(curPitch1 - wtdPitch1)) > (Weapon1TurretX / 30)) AND ((get ABS(curPitch1 - wtdPitch1)) < <360> - (Weapon1TurretX / 30)))) + { + pitch1 = 0; + if(curPitch1 < wtdPitch1) { + if(get ABS(curPitch1 - wtdPitch1)< <180>) + curPitch1 = curPitch1 + (Weapon1TurretX / 30); + else curPitch1 = curPitch1 - (Weapon1TurretX / 30); + } + + else { + if(get ABS(curPitch1 - wtdPitch1)< <180>) + curPitch1 = curPitch1 - (Weapon1TurretX / 30); + else curPitch1 = curPitch1 + (Weapon1TurretX / 30); + } + } + else + { + pitch1 = 1; + curPitch1 = wtdPitch1; + } + if (pitch1 == 1 AND head1 == 1 AND wpnReady1 == 1 AND wtdHead1 != 0) + { + aim1 = 1; + } + else + { + aim1 = 0; + } + turn aimy1 to y-axis curHead1 now; + turn aimx1 to x-axis curPitch1 now; + } + sleep 1; + } +} + +InitialSetup1() +{ + curHead1 = 0; + curPitch1 = 0; + wtdHead1 = 0; + wtdPitch1 = 0; + wpnReady1 = 0; + //start-script Weapon1Control(); +} + +Weapon1Drawn() +{ + wpnReady1 = 1; +} + +RestoreWeapon1() +{ + wtdHead1 = 0; + wtdPitch1 = 0; +} + +Weapon1Restored() +{ + wpnReady1 = 0; + while (curHead1 != 0) + { + sleep 25; + } + + signal SIG_WPN1CTRL; + return (TRUE); + +} + +Weapon1SetWtdAim(pitch, heading) +{ + wtdHead1 = heading; + wtdPitch1 = <0> - pitch; +} \ No newline at end of file diff --git a/scripts/array_00.h b/scripts/array_00.h deleted file mode 100644 index 3cb6b40fb94..00000000000 --- a/scripts/array_00.h +++ /dev/null @@ -1,2340 +0,0 @@ -// (c) Beherith mysterme@gmail.com. DO NOT TOUCH: generated by array_header_generator.ipynb -// Notes: -// #define ARRAY_00_POW2_SIZE -// use the ARRAY_XX_GET(i) and ARRAY_XX_SET(i,v) function macros -// ARRAY_XX_GET(i) will always place value into ARRAY_VALUE -// average calls per value is about 12 - -#ifndef ARRAY_00_POW2_SIZE - #define ARRAY_00_POW2_SIZE 4 -#endif - -#ifndef ARRAY_TEMP_DEFINED - static-var ARRAY_VALUE; - #define ARRAY_TEMP_DEFINED 1; -#endif - -#define ARRAY_00_SET(i,v) call-script ARRAY_00_SETTER(i,v); - -#define ARRAY_00_GET(i) call-script ARRAY_00_GETTER(i); - -#if ARRAY_00_POW2_SIZE > 0 - static-var ARRAY_00_STATIC_VAR_000, ARRAY_00_STATIC_VAR_001; -#endif -#if ARRAY_00_POW2_SIZE > 1 - static-var ARRAY_00_STATIC_VAR_002, ARRAY_00_STATIC_VAR_003; -#endif -#if ARRAY_00_POW2_SIZE > 2 - static-var ARRAY_00_STATIC_VAR_004, ARRAY_00_STATIC_VAR_005, ARRAY_00_STATIC_VAR_006, ARRAY_00_STATIC_VAR_007; -#endif -#if ARRAY_00_POW2_SIZE > 3 - static-var ARRAY_00_STATIC_VAR_008, ARRAY_00_STATIC_VAR_009, ARRAY_00_STATIC_VAR_010, ARRAY_00_STATIC_VAR_011, ARRAY_00_STATIC_VAR_012, ARRAY_00_STATIC_VAR_013, ARRAY_00_STATIC_VAR_014, ARRAY_00_STATIC_VAR_015; -#endif -#if ARRAY_00_POW2_SIZE > 4 - static-var ARRAY_00_STATIC_VAR_016, ARRAY_00_STATIC_VAR_017, ARRAY_00_STATIC_VAR_018, ARRAY_00_STATIC_VAR_019, ARRAY_00_STATIC_VAR_020, ARRAY_00_STATIC_VAR_021, ARRAY_00_STATIC_VAR_022, ARRAY_00_STATIC_VAR_023, ARRAY_00_STATIC_VAR_024, ARRAY_00_STATIC_VAR_025, ARRAY_00_STATIC_VAR_026, ARRAY_00_STATIC_VAR_027, ARRAY_00_STATIC_VAR_028, ARRAY_00_STATIC_VAR_029, ARRAY_00_STATIC_VAR_030, ARRAY_00_STATIC_VAR_031; -#endif -#if ARRAY_00_POW2_SIZE > 5 - static-var ARRAY_00_STATIC_VAR_032, ARRAY_00_STATIC_VAR_033, ARRAY_00_STATIC_VAR_034, ARRAY_00_STATIC_VAR_035, ARRAY_00_STATIC_VAR_036, ARRAY_00_STATIC_VAR_037, ARRAY_00_STATIC_VAR_038, ARRAY_00_STATIC_VAR_039, ARRAY_00_STATIC_VAR_040, ARRAY_00_STATIC_VAR_041, ARRAY_00_STATIC_VAR_042, ARRAY_00_STATIC_VAR_043, ARRAY_00_STATIC_VAR_044, ARRAY_00_STATIC_VAR_045, ARRAY_00_STATIC_VAR_046, ARRAY_00_STATIC_VAR_047, ARRAY_00_STATIC_VAR_048, ARRAY_00_STATIC_VAR_049, ARRAY_00_STATIC_VAR_050, ARRAY_00_STATIC_VAR_051, ARRAY_00_STATIC_VAR_052, ARRAY_00_STATIC_VAR_053, ARRAY_00_STATIC_VAR_054, ARRAY_00_STATIC_VAR_055, ARRAY_00_STATIC_VAR_056, ARRAY_00_STATIC_VAR_057, ARRAY_00_STATIC_VAR_058, ARRAY_00_STATIC_VAR_059, ARRAY_00_STATIC_VAR_060, ARRAY_00_STATIC_VAR_061, ARRAY_00_STATIC_VAR_062, ARRAY_00_STATIC_VAR_063; -#endif -#if ARRAY_00_POW2_SIZE > 6 - static-var ARRAY_00_STATIC_VAR_064, ARRAY_00_STATIC_VAR_065, ARRAY_00_STATIC_VAR_066, ARRAY_00_STATIC_VAR_067, ARRAY_00_STATIC_VAR_068, ARRAY_00_STATIC_VAR_069, ARRAY_00_STATIC_VAR_070, ARRAY_00_STATIC_VAR_071, ARRAY_00_STATIC_VAR_072, ARRAY_00_STATIC_VAR_073, ARRAY_00_STATIC_VAR_074, ARRAY_00_STATIC_VAR_075, ARRAY_00_STATIC_VAR_076, ARRAY_00_STATIC_VAR_077, ARRAY_00_STATIC_VAR_078, ARRAY_00_STATIC_VAR_079, ARRAY_00_STATIC_VAR_080, ARRAY_00_STATIC_VAR_081, ARRAY_00_STATIC_VAR_082, ARRAY_00_STATIC_VAR_083, ARRAY_00_STATIC_VAR_084, ARRAY_00_STATIC_VAR_085, ARRAY_00_STATIC_VAR_086, ARRAY_00_STATIC_VAR_087, ARRAY_00_STATIC_VAR_088, ARRAY_00_STATIC_VAR_089, ARRAY_00_STATIC_VAR_090, ARRAY_00_STATIC_VAR_091, ARRAY_00_STATIC_VAR_092, ARRAY_00_STATIC_VAR_093, ARRAY_00_STATIC_VAR_094, ARRAY_00_STATIC_VAR_095, ARRAY_00_STATIC_VAR_096, ARRAY_00_STATIC_VAR_097, ARRAY_00_STATIC_VAR_098, ARRAY_00_STATIC_VAR_099, ARRAY_00_STATIC_VAR_100, ARRAY_00_STATIC_VAR_101, ARRAY_00_STATIC_VAR_102, ARRAY_00_STATIC_VAR_103, ARRAY_00_STATIC_VAR_104, ARRAY_00_STATIC_VAR_105, ARRAY_00_STATIC_VAR_106, ARRAY_00_STATIC_VAR_107, ARRAY_00_STATIC_VAR_108, ARRAY_00_STATIC_VAR_109, ARRAY_00_STATIC_VAR_110, ARRAY_00_STATIC_VAR_111, ARRAY_00_STATIC_VAR_112, ARRAY_00_STATIC_VAR_113, ARRAY_00_STATIC_VAR_114, ARRAY_00_STATIC_VAR_115, ARRAY_00_STATIC_VAR_116, ARRAY_00_STATIC_VAR_117, ARRAY_00_STATIC_VAR_118, ARRAY_00_STATIC_VAR_119, ARRAY_00_STATIC_VAR_120, ARRAY_00_STATIC_VAR_121, ARRAY_00_STATIC_VAR_122, ARRAY_00_STATIC_VAR_123, ARRAY_00_STATIC_VAR_124, ARRAY_00_STATIC_VAR_125, ARRAY_00_STATIC_VAR_126, ARRAY_00_STATIC_VAR_127; -#endif -#if ARRAY_00_POW2_SIZE > 7 - static-var ARRAY_00_STATIC_VAR_128, ARRAY_00_STATIC_VAR_129, ARRAY_00_STATIC_VAR_130, ARRAY_00_STATIC_VAR_131, ARRAY_00_STATIC_VAR_132, ARRAY_00_STATIC_VAR_133, ARRAY_00_STATIC_VAR_134, ARRAY_00_STATIC_VAR_135, ARRAY_00_STATIC_VAR_136, ARRAY_00_STATIC_VAR_137, ARRAY_00_STATIC_VAR_138, ARRAY_00_STATIC_VAR_139, ARRAY_00_STATIC_VAR_140, ARRAY_00_STATIC_VAR_141, ARRAY_00_STATIC_VAR_142, ARRAY_00_STATIC_VAR_143, ARRAY_00_STATIC_VAR_144, ARRAY_00_STATIC_VAR_145, ARRAY_00_STATIC_VAR_146, ARRAY_00_STATIC_VAR_147, ARRAY_00_STATIC_VAR_148, ARRAY_00_STATIC_VAR_149, ARRAY_00_STATIC_VAR_150, ARRAY_00_STATIC_VAR_151, ARRAY_00_STATIC_VAR_152, ARRAY_00_STATIC_VAR_153, ARRAY_00_STATIC_VAR_154, ARRAY_00_STATIC_VAR_155, ARRAY_00_STATIC_VAR_156, ARRAY_00_STATIC_VAR_157, ARRAY_00_STATIC_VAR_158, ARRAY_00_STATIC_VAR_159, ARRAY_00_STATIC_VAR_160, ARRAY_00_STATIC_VAR_161, ARRAY_00_STATIC_VAR_162, ARRAY_00_STATIC_VAR_163, ARRAY_00_STATIC_VAR_164, ARRAY_00_STATIC_VAR_165, ARRAY_00_STATIC_VAR_166, ARRAY_00_STATIC_VAR_167, ARRAY_00_STATIC_VAR_168, ARRAY_00_STATIC_VAR_169, ARRAY_00_STATIC_VAR_170, ARRAY_00_STATIC_VAR_171, ARRAY_00_STATIC_VAR_172, ARRAY_00_STATIC_VAR_173, ARRAY_00_STATIC_VAR_174, ARRAY_00_STATIC_VAR_175, ARRAY_00_STATIC_VAR_176, ARRAY_00_STATIC_VAR_177, ARRAY_00_STATIC_VAR_178, ARRAY_00_STATIC_VAR_179, ARRAY_00_STATIC_VAR_180, ARRAY_00_STATIC_VAR_181, ARRAY_00_STATIC_VAR_182, ARRAY_00_STATIC_VAR_183, ARRAY_00_STATIC_VAR_184, ARRAY_00_STATIC_VAR_185, ARRAY_00_STATIC_VAR_186, ARRAY_00_STATIC_VAR_187, ARRAY_00_STATIC_VAR_188, ARRAY_00_STATIC_VAR_189, ARRAY_00_STATIC_VAR_190, ARRAY_00_STATIC_VAR_191, ARRAY_00_STATIC_VAR_192, ARRAY_00_STATIC_VAR_193, ARRAY_00_STATIC_VAR_194, ARRAY_00_STATIC_VAR_195, ARRAY_00_STATIC_VAR_196, ARRAY_00_STATIC_VAR_197, ARRAY_00_STATIC_VAR_198, ARRAY_00_STATIC_VAR_199, ARRAY_00_STATIC_VAR_200, ARRAY_00_STATIC_VAR_201, ARRAY_00_STATIC_VAR_202, ARRAY_00_STATIC_VAR_203, ARRAY_00_STATIC_VAR_204, ARRAY_00_STATIC_VAR_205, ARRAY_00_STATIC_VAR_206, ARRAY_00_STATIC_VAR_207, ARRAY_00_STATIC_VAR_208, ARRAY_00_STATIC_VAR_209, ARRAY_00_STATIC_VAR_210, ARRAY_00_STATIC_VAR_211, ARRAY_00_STATIC_VAR_212, ARRAY_00_STATIC_VAR_213, ARRAY_00_STATIC_VAR_214, ARRAY_00_STATIC_VAR_215, ARRAY_00_STATIC_VAR_216, ARRAY_00_STATIC_VAR_217, ARRAY_00_STATIC_VAR_218, ARRAY_00_STATIC_VAR_219, ARRAY_00_STATIC_VAR_220, ARRAY_00_STATIC_VAR_221, ARRAY_00_STATIC_VAR_222, ARRAY_00_STATIC_VAR_223, ARRAY_00_STATIC_VAR_224, ARRAY_00_STATIC_VAR_225, ARRAY_00_STATIC_VAR_226, ARRAY_00_STATIC_VAR_227, ARRAY_00_STATIC_VAR_228, ARRAY_00_STATIC_VAR_229, ARRAY_00_STATIC_VAR_230, ARRAY_00_STATIC_VAR_231, ARRAY_00_STATIC_VAR_232, ARRAY_00_STATIC_VAR_233, ARRAY_00_STATIC_VAR_234, ARRAY_00_STATIC_VAR_235, ARRAY_00_STATIC_VAR_236, ARRAY_00_STATIC_VAR_237, ARRAY_00_STATIC_VAR_238, ARRAY_00_STATIC_VAR_239, ARRAY_00_STATIC_VAR_240, ARRAY_00_STATIC_VAR_241, ARRAY_00_STATIC_VAR_242, ARRAY_00_STATIC_VAR_243, ARRAY_00_STATIC_VAR_244, ARRAY_00_STATIC_VAR_245, ARRAY_00_STATIC_VAR_246, ARRAY_00_STATIC_VAR_247, ARRAY_00_STATIC_VAR_248, ARRAY_00_STATIC_VAR_249, ARRAY_00_STATIC_VAR_250, ARRAY_00_STATIC_VAR_251, ARRAY_00_STATIC_VAR_252, ARRAY_00_STATIC_VAR_253, ARRAY_00_STATIC_VAR_254, ARRAY_00_STATIC_VAR_255; -#endif - -ARRAY_00_GETTER(index) { - #if ARRAY_00_POW2_SIZE > 7 - if (index < 128) { - #endif - #if ARRAY_00_POW2_SIZE > 6 - if (index < 64) { - #endif - #if ARRAY_00_POW2_SIZE > 5 - if (index < 32) { - #endif - #if ARRAY_00_POW2_SIZE > 4 - if (index < 16) { - #endif - #if ARRAY_00_POW2_SIZE > 3 - if (index < 8) { - #endif - #if ARRAY_00_POW2_SIZE > 2 - if (index < 4) { - #endif - #if ARRAY_00_POW2_SIZE > 1 - if (index < 2) { - #endif - if (index == 0) ARRAY_VALUE = ARRAY_00_STATIC_VAR_000; - else ARRAY_VALUE = ARRAY_00_STATIC_VAR_001; - #if ARRAY_00_POW2_SIZE > 1 - }else{ - if (index == 2) ARRAY_VALUE = ARRAY_00_STATIC_VAR_002; - else ARRAY_VALUE = ARRAY_00_STATIC_VAR_003; - } - #endif - #if ARRAY_00_POW2_SIZE > 2 - }else{ - #if ARRAY_00_POW2_SIZE > 2 - if (index < 6) { - #endif - if (index == 4) ARRAY_VALUE = ARRAY_00_STATIC_VAR_004; - else ARRAY_VALUE = ARRAY_00_STATIC_VAR_005; - #if ARRAY_00_POW2_SIZE > 2 - }else{ - if (index == 6) ARRAY_VALUE = ARRAY_00_STATIC_VAR_006; - else ARRAY_VALUE = ARRAY_00_STATIC_VAR_007; - } - #endif - } - #endif - #if ARRAY_00_POW2_SIZE > 3 - }else{ - #if ARRAY_00_POW2_SIZE > 3 - if (index < 12) { - #endif - #if ARRAY_00_POW2_SIZE > 3 - if (index < 10) { - #endif - if (index == 8) ARRAY_VALUE = ARRAY_00_STATIC_VAR_008; - else ARRAY_VALUE = ARRAY_00_STATIC_VAR_009; - #if ARRAY_00_POW2_SIZE > 3 - }else{ - if (index == 10) ARRAY_VALUE = ARRAY_00_STATIC_VAR_010; - else ARRAY_VALUE = ARRAY_00_STATIC_VAR_011; - } - #endif - #if ARRAY_00_POW2_SIZE > 3 - }else{ - #if ARRAY_00_POW2_SIZE > 3 - if (index < 14) { - #endif - if (index == 12) ARRAY_VALUE = ARRAY_00_STATIC_VAR_012; - else ARRAY_VALUE = ARRAY_00_STATIC_VAR_013; - #if ARRAY_00_POW2_SIZE > 3 - }else{ - if (index == 14) ARRAY_VALUE = ARRAY_00_STATIC_VAR_014; - else ARRAY_VALUE = ARRAY_00_STATIC_VAR_015; - } - #endif - } - #endif - } - #endif - #if ARRAY_00_POW2_SIZE > 4 - }else{ - #if ARRAY_00_POW2_SIZE > 4 - if (index < 24) { - #endif - #if ARRAY_00_POW2_SIZE > 4 - if (index < 20) { - #endif - #if ARRAY_00_POW2_SIZE > 4 - if (index < 18) { - #endif - if (index == 16) ARRAY_VALUE = ARRAY_00_STATIC_VAR_016; - else ARRAY_VALUE = ARRAY_00_STATIC_VAR_017; - #if ARRAY_00_POW2_SIZE > 4 - }else{ - if (index == 18) ARRAY_VALUE = ARRAY_00_STATIC_VAR_018; - else ARRAY_VALUE = ARRAY_00_STATIC_VAR_019; - } - #endif - #if ARRAY_00_POW2_SIZE > 4 - }else{ - #if ARRAY_00_POW2_SIZE > 4 - if (index < 22) { - #endif - if (index == 20) ARRAY_VALUE = ARRAY_00_STATIC_VAR_020; - else ARRAY_VALUE = ARRAY_00_STATIC_VAR_021; - #if ARRAY_00_POW2_SIZE > 4 - }else{ - if (index == 22) ARRAY_VALUE = ARRAY_00_STATIC_VAR_022; - else ARRAY_VALUE = ARRAY_00_STATIC_VAR_023; - } - #endif - } - #endif - #if ARRAY_00_POW2_SIZE > 4 - }else{ - #if ARRAY_00_POW2_SIZE > 4 - if (index < 28) { - #endif - #if ARRAY_00_POW2_SIZE > 4 - if (index < 26) { - #endif - if (index == 24) ARRAY_VALUE = ARRAY_00_STATIC_VAR_024; - else ARRAY_VALUE = ARRAY_00_STATIC_VAR_025; - #if ARRAY_00_POW2_SIZE > 4 - }else{ - if (index == 26) ARRAY_VALUE = ARRAY_00_STATIC_VAR_026; - else ARRAY_VALUE = ARRAY_00_STATIC_VAR_027; - } - #endif - #if ARRAY_00_POW2_SIZE > 4 - }else{ - #if ARRAY_00_POW2_SIZE > 4 - if (index < 30) { - #endif - if (index == 28) ARRAY_VALUE = ARRAY_00_STATIC_VAR_028; - else ARRAY_VALUE = ARRAY_00_STATIC_VAR_029; - #if ARRAY_00_POW2_SIZE > 4 - }else{ - if (index == 30) ARRAY_VALUE = ARRAY_00_STATIC_VAR_030; - else ARRAY_VALUE = ARRAY_00_STATIC_VAR_031; - } - #endif - } - #endif - } - #endif - } - #endif - #if ARRAY_00_POW2_SIZE > 5 - }else{ - #if ARRAY_00_POW2_SIZE > 5 - if (index < 48) { - #endif - #if ARRAY_00_POW2_SIZE > 5 - if (index < 40) { - #endif - #if ARRAY_00_POW2_SIZE > 5 - if (index < 36) { - #endif - #if ARRAY_00_POW2_SIZE > 5 - if (index < 34) { - #endif - if (index == 32) ARRAY_VALUE = ARRAY_00_STATIC_VAR_032; - else ARRAY_VALUE = ARRAY_00_STATIC_VAR_033; - #if ARRAY_00_POW2_SIZE > 5 - }else{ - if (index == 34) ARRAY_VALUE = ARRAY_00_STATIC_VAR_034; - else ARRAY_VALUE = ARRAY_00_STATIC_VAR_035; - } - #endif - #if ARRAY_00_POW2_SIZE > 5 - }else{ - #if ARRAY_00_POW2_SIZE > 5 - if (index < 38) { - #endif - if (index == 36) ARRAY_VALUE = ARRAY_00_STATIC_VAR_036; - else ARRAY_VALUE = ARRAY_00_STATIC_VAR_037; - #if ARRAY_00_POW2_SIZE > 5 - }else{ - if (index == 38) ARRAY_VALUE = ARRAY_00_STATIC_VAR_038; - else ARRAY_VALUE = ARRAY_00_STATIC_VAR_039; - } - #endif - } - #endif - #if ARRAY_00_POW2_SIZE > 5 - }else{ - #if ARRAY_00_POW2_SIZE > 5 - if (index < 44) { - #endif - #if ARRAY_00_POW2_SIZE > 5 - if (index < 42) { - #endif - if (index == 40) ARRAY_VALUE = ARRAY_00_STATIC_VAR_040; - else ARRAY_VALUE = ARRAY_00_STATIC_VAR_041; - #if ARRAY_00_POW2_SIZE > 5 - }else{ - if (index == 42) ARRAY_VALUE = ARRAY_00_STATIC_VAR_042; - else ARRAY_VALUE = ARRAY_00_STATIC_VAR_043; - } - #endif - #if ARRAY_00_POW2_SIZE > 5 - }else{ - #if ARRAY_00_POW2_SIZE > 5 - if (index < 46) { - #endif - if (index == 44) ARRAY_VALUE = ARRAY_00_STATIC_VAR_044; - else ARRAY_VALUE = ARRAY_00_STATIC_VAR_045; - #if ARRAY_00_POW2_SIZE > 5 - }else{ - if (index == 46) ARRAY_VALUE = ARRAY_00_STATIC_VAR_046; - else ARRAY_VALUE = ARRAY_00_STATIC_VAR_047; - } - #endif - } - #endif - } - #endif - #if ARRAY_00_POW2_SIZE > 5 - }else{ - #if ARRAY_00_POW2_SIZE > 5 - if (index < 56) { - #endif - #if ARRAY_00_POW2_SIZE > 5 - if (index < 52) { - #endif - #if ARRAY_00_POW2_SIZE > 5 - if (index < 50) { - #endif - if (index == 48) ARRAY_VALUE = ARRAY_00_STATIC_VAR_048; - else ARRAY_VALUE = ARRAY_00_STATIC_VAR_049; - #if ARRAY_00_POW2_SIZE > 5 - }else{ - if (index == 50) ARRAY_VALUE = ARRAY_00_STATIC_VAR_050; - else ARRAY_VALUE = ARRAY_00_STATIC_VAR_051; - } - #endif - #if ARRAY_00_POW2_SIZE > 5 - }else{ - #if ARRAY_00_POW2_SIZE > 5 - if (index < 54) { - #endif - if (index == 52) ARRAY_VALUE = ARRAY_00_STATIC_VAR_052; - else ARRAY_VALUE = ARRAY_00_STATIC_VAR_053; - #if ARRAY_00_POW2_SIZE > 5 - }else{ - if (index == 54) ARRAY_VALUE = ARRAY_00_STATIC_VAR_054; - else ARRAY_VALUE = ARRAY_00_STATIC_VAR_055; - } - #endif - } - #endif - #if ARRAY_00_POW2_SIZE > 5 - }else{ - #if ARRAY_00_POW2_SIZE > 5 - if (index < 60) { - #endif - #if ARRAY_00_POW2_SIZE > 5 - if (index < 58) { - #endif - if (index == 56) ARRAY_VALUE = ARRAY_00_STATIC_VAR_056; - else ARRAY_VALUE = ARRAY_00_STATIC_VAR_057; - #if ARRAY_00_POW2_SIZE > 5 - }else{ - if (index == 58) ARRAY_VALUE = ARRAY_00_STATIC_VAR_058; - else ARRAY_VALUE = ARRAY_00_STATIC_VAR_059; - } - #endif - #if ARRAY_00_POW2_SIZE > 5 - }else{ - #if ARRAY_00_POW2_SIZE > 5 - if (index < 62) { - #endif - if (index == 60) ARRAY_VALUE = ARRAY_00_STATIC_VAR_060; - else ARRAY_VALUE = ARRAY_00_STATIC_VAR_061; - #if ARRAY_00_POW2_SIZE > 5 - }else{ - if (index == 62) ARRAY_VALUE = ARRAY_00_STATIC_VAR_062; - else ARRAY_VALUE = ARRAY_00_STATIC_VAR_063; - } - #endif - } - #endif - } - #endif - } - #endif - } - #endif - #if ARRAY_00_POW2_SIZE > 6 - }else{ - #if ARRAY_00_POW2_SIZE > 6 - if (index < 96) { - #endif - #if ARRAY_00_POW2_SIZE > 6 - if (index < 80) { - #endif - #if ARRAY_00_POW2_SIZE > 6 - if (index < 72) { - #endif - #if ARRAY_00_POW2_SIZE > 6 - if (index < 68) { - #endif - #if ARRAY_00_POW2_SIZE > 6 - if (index < 66) { - #endif - if (index == 64) ARRAY_VALUE = ARRAY_00_STATIC_VAR_064; - else ARRAY_VALUE = ARRAY_00_STATIC_VAR_065; - #if ARRAY_00_POW2_SIZE > 6 - }else{ - if (index == 66) ARRAY_VALUE = ARRAY_00_STATIC_VAR_066; - else ARRAY_VALUE = ARRAY_00_STATIC_VAR_067; - } - #endif - #if ARRAY_00_POW2_SIZE > 6 - }else{ - #if ARRAY_00_POW2_SIZE > 6 - if (index < 70) { - #endif - if (index == 68) ARRAY_VALUE = ARRAY_00_STATIC_VAR_068; - else ARRAY_VALUE = ARRAY_00_STATIC_VAR_069; - #if ARRAY_00_POW2_SIZE > 6 - }else{ - if (index == 70) ARRAY_VALUE = ARRAY_00_STATIC_VAR_070; - else ARRAY_VALUE = ARRAY_00_STATIC_VAR_071; - } - #endif - } - #endif - #if ARRAY_00_POW2_SIZE > 6 - }else{ - #if ARRAY_00_POW2_SIZE > 6 - if (index < 76) { - #endif - #if ARRAY_00_POW2_SIZE > 6 - if (index < 74) { - #endif - if (index == 72) ARRAY_VALUE = ARRAY_00_STATIC_VAR_072; - else ARRAY_VALUE = ARRAY_00_STATIC_VAR_073; - #if ARRAY_00_POW2_SIZE > 6 - }else{ - if (index == 74) ARRAY_VALUE = ARRAY_00_STATIC_VAR_074; - else ARRAY_VALUE = ARRAY_00_STATIC_VAR_075; - } - #endif - #if ARRAY_00_POW2_SIZE > 6 - }else{ - #if ARRAY_00_POW2_SIZE > 6 - if (index < 78) { - #endif - if (index == 76) ARRAY_VALUE = ARRAY_00_STATIC_VAR_076; - else ARRAY_VALUE = ARRAY_00_STATIC_VAR_077; - #if ARRAY_00_POW2_SIZE > 6 - }else{ - if (index == 78) ARRAY_VALUE = ARRAY_00_STATIC_VAR_078; - else ARRAY_VALUE = ARRAY_00_STATIC_VAR_079; - } - #endif - } - #endif - } - #endif - #if ARRAY_00_POW2_SIZE > 6 - }else{ - #if ARRAY_00_POW2_SIZE > 6 - if (index < 88) { - #endif - #if ARRAY_00_POW2_SIZE > 6 - if (index < 84) { - #endif - #if ARRAY_00_POW2_SIZE > 6 - if (index < 82) { - #endif - if (index == 80) ARRAY_VALUE = ARRAY_00_STATIC_VAR_080; - else ARRAY_VALUE = ARRAY_00_STATIC_VAR_081; - #if ARRAY_00_POW2_SIZE > 6 - }else{ - if (index == 82) ARRAY_VALUE = ARRAY_00_STATIC_VAR_082; - else ARRAY_VALUE = ARRAY_00_STATIC_VAR_083; - } - #endif - #if ARRAY_00_POW2_SIZE > 6 - }else{ - #if ARRAY_00_POW2_SIZE > 6 - if (index < 86) { - #endif - if (index == 84) ARRAY_VALUE = ARRAY_00_STATIC_VAR_084; - else ARRAY_VALUE = ARRAY_00_STATIC_VAR_085; - #if ARRAY_00_POW2_SIZE > 6 - }else{ - if (index == 86) ARRAY_VALUE = ARRAY_00_STATIC_VAR_086; - else ARRAY_VALUE = ARRAY_00_STATIC_VAR_087; - } - #endif - } - #endif - #if ARRAY_00_POW2_SIZE > 6 - }else{ - #if ARRAY_00_POW2_SIZE > 6 - if (index < 92) { - #endif - #if ARRAY_00_POW2_SIZE > 6 - if (index < 90) { - #endif - if (index == 88) ARRAY_VALUE = ARRAY_00_STATIC_VAR_088; - else ARRAY_VALUE = ARRAY_00_STATIC_VAR_089; - #if ARRAY_00_POW2_SIZE > 6 - }else{ - if (index == 90) ARRAY_VALUE = ARRAY_00_STATIC_VAR_090; - else ARRAY_VALUE = ARRAY_00_STATIC_VAR_091; - } - #endif - #if ARRAY_00_POW2_SIZE > 6 - }else{ - #if ARRAY_00_POW2_SIZE > 6 - if (index < 94) { - #endif - if (index == 92) ARRAY_VALUE = ARRAY_00_STATIC_VAR_092; - else ARRAY_VALUE = ARRAY_00_STATIC_VAR_093; - #if ARRAY_00_POW2_SIZE > 6 - }else{ - if (index == 94) ARRAY_VALUE = ARRAY_00_STATIC_VAR_094; - else ARRAY_VALUE = ARRAY_00_STATIC_VAR_095; - } - #endif - } - #endif - } - #endif - } - #endif - #if ARRAY_00_POW2_SIZE > 6 - }else{ - #if ARRAY_00_POW2_SIZE > 6 - if (index < 112) { - #endif - #if ARRAY_00_POW2_SIZE > 6 - if (index < 104) { - #endif - #if ARRAY_00_POW2_SIZE > 6 - if (index < 100) { - #endif - #if ARRAY_00_POW2_SIZE > 6 - if (index < 98) { - #endif - if (index == 96) ARRAY_VALUE = ARRAY_00_STATIC_VAR_096; - else ARRAY_VALUE = ARRAY_00_STATIC_VAR_097; - #if ARRAY_00_POW2_SIZE > 6 - }else{ - if (index == 98) ARRAY_VALUE = ARRAY_00_STATIC_VAR_098; - else ARRAY_VALUE = ARRAY_00_STATIC_VAR_099; - } - #endif - #if ARRAY_00_POW2_SIZE > 6 - }else{ - #if ARRAY_00_POW2_SIZE > 6 - if (index < 102) { - #endif - if (index == 100) ARRAY_VALUE = ARRAY_00_STATIC_VAR_100; - else ARRAY_VALUE = ARRAY_00_STATIC_VAR_101; - #if ARRAY_00_POW2_SIZE > 6 - }else{ - if (index == 102) ARRAY_VALUE = ARRAY_00_STATIC_VAR_102; - else ARRAY_VALUE = ARRAY_00_STATIC_VAR_103; - } - #endif - } - #endif - #if ARRAY_00_POW2_SIZE > 6 - }else{ - #if ARRAY_00_POW2_SIZE > 6 - if (index < 108) { - #endif - #if ARRAY_00_POW2_SIZE > 6 - if (index < 106) { - #endif - if (index == 104) ARRAY_VALUE = ARRAY_00_STATIC_VAR_104; - else ARRAY_VALUE = ARRAY_00_STATIC_VAR_105; - #if ARRAY_00_POW2_SIZE > 6 - }else{ - if (index == 106) ARRAY_VALUE = ARRAY_00_STATIC_VAR_106; - else ARRAY_VALUE = ARRAY_00_STATIC_VAR_107; - } - #endif - #if ARRAY_00_POW2_SIZE > 6 - }else{ - #if ARRAY_00_POW2_SIZE > 6 - if (index < 110) { - #endif - if (index == 108) ARRAY_VALUE = ARRAY_00_STATIC_VAR_108; - else ARRAY_VALUE = ARRAY_00_STATIC_VAR_109; - #if ARRAY_00_POW2_SIZE > 6 - }else{ - if (index == 110) ARRAY_VALUE = ARRAY_00_STATIC_VAR_110; - else ARRAY_VALUE = ARRAY_00_STATIC_VAR_111; - } - #endif - } - #endif - } - #endif - #if ARRAY_00_POW2_SIZE > 6 - }else{ - #if ARRAY_00_POW2_SIZE > 6 - if (index < 120) { - #endif - #if ARRAY_00_POW2_SIZE > 6 - if (index < 116) { - #endif - #if ARRAY_00_POW2_SIZE > 6 - if (index < 114) { - #endif - if (index == 112) ARRAY_VALUE = ARRAY_00_STATIC_VAR_112; - else ARRAY_VALUE = ARRAY_00_STATIC_VAR_113; - #if ARRAY_00_POW2_SIZE > 6 - }else{ - if (index == 114) ARRAY_VALUE = ARRAY_00_STATIC_VAR_114; - else ARRAY_VALUE = ARRAY_00_STATIC_VAR_115; - } - #endif - #if ARRAY_00_POW2_SIZE > 6 - }else{ - #if ARRAY_00_POW2_SIZE > 6 - if (index < 118) { - #endif - if (index == 116) ARRAY_VALUE = ARRAY_00_STATIC_VAR_116; - else ARRAY_VALUE = ARRAY_00_STATIC_VAR_117; - #if ARRAY_00_POW2_SIZE > 6 - }else{ - if (index == 118) ARRAY_VALUE = ARRAY_00_STATIC_VAR_118; - else ARRAY_VALUE = ARRAY_00_STATIC_VAR_119; - } - #endif - } - #endif - #if ARRAY_00_POW2_SIZE > 6 - }else{ - #if ARRAY_00_POW2_SIZE > 6 - if (index < 124) { - #endif - #if ARRAY_00_POW2_SIZE > 6 - if (index < 122) { - #endif - if (index == 120) ARRAY_VALUE = ARRAY_00_STATIC_VAR_120; - else ARRAY_VALUE = ARRAY_00_STATIC_VAR_121; - #if ARRAY_00_POW2_SIZE > 6 - }else{ - if (index == 122) ARRAY_VALUE = ARRAY_00_STATIC_VAR_122; - else ARRAY_VALUE = ARRAY_00_STATIC_VAR_123; - } - #endif - #if ARRAY_00_POW2_SIZE > 6 - }else{ - #if ARRAY_00_POW2_SIZE > 6 - if (index < 126) { - #endif - if (index == 124) ARRAY_VALUE = ARRAY_00_STATIC_VAR_124; - else ARRAY_VALUE = ARRAY_00_STATIC_VAR_125; - #if ARRAY_00_POW2_SIZE > 6 - }else{ - if (index == 126) ARRAY_VALUE = ARRAY_00_STATIC_VAR_126; - else ARRAY_VALUE = ARRAY_00_STATIC_VAR_127; - } - #endif - } - #endif - } - #endif - } - #endif - } - #endif - } - #endif - #if ARRAY_00_POW2_SIZE > 7 - }else{ - #if ARRAY_00_POW2_SIZE > 7 - if (index < 192) { - #endif - #if ARRAY_00_POW2_SIZE > 7 - if (index < 160) { - #endif - #if ARRAY_00_POW2_SIZE > 7 - if (index < 144) { - #endif - #if ARRAY_00_POW2_SIZE > 7 - if (index < 136) { - #endif - #if ARRAY_00_POW2_SIZE > 7 - if (index < 132) { - #endif - #if ARRAY_00_POW2_SIZE > 7 - if (index < 130) { - #endif - if (index == 128) ARRAY_VALUE = ARRAY_00_STATIC_VAR_128; - else ARRAY_VALUE = ARRAY_00_STATIC_VAR_129; - #if ARRAY_00_POW2_SIZE > 7 - }else{ - if (index == 130) ARRAY_VALUE = ARRAY_00_STATIC_VAR_130; - else ARRAY_VALUE = ARRAY_00_STATIC_VAR_131; - } - #endif - #if ARRAY_00_POW2_SIZE > 7 - }else{ - #if ARRAY_00_POW2_SIZE > 7 - if (index < 134) { - #endif - if (index == 132) ARRAY_VALUE = ARRAY_00_STATIC_VAR_132; - else ARRAY_VALUE = ARRAY_00_STATIC_VAR_133; - #if ARRAY_00_POW2_SIZE > 7 - }else{ - if (index == 134) ARRAY_VALUE = ARRAY_00_STATIC_VAR_134; - else ARRAY_VALUE = ARRAY_00_STATIC_VAR_135; - } - #endif - } - #endif - #if ARRAY_00_POW2_SIZE > 7 - }else{ - #if ARRAY_00_POW2_SIZE > 7 - if (index < 140) { - #endif - #if ARRAY_00_POW2_SIZE > 7 - if (index < 138) { - #endif - if (index == 136) ARRAY_VALUE = ARRAY_00_STATIC_VAR_136; - else ARRAY_VALUE = ARRAY_00_STATIC_VAR_137; - #if ARRAY_00_POW2_SIZE > 7 - }else{ - if (index == 138) ARRAY_VALUE = ARRAY_00_STATIC_VAR_138; - else ARRAY_VALUE = ARRAY_00_STATIC_VAR_139; - } - #endif - #if ARRAY_00_POW2_SIZE > 7 - }else{ - #if ARRAY_00_POW2_SIZE > 7 - if (index < 142) { - #endif - if (index == 140) ARRAY_VALUE = ARRAY_00_STATIC_VAR_140; - else ARRAY_VALUE = ARRAY_00_STATIC_VAR_141; - #if ARRAY_00_POW2_SIZE > 7 - }else{ - if (index == 142) ARRAY_VALUE = ARRAY_00_STATIC_VAR_142; - else ARRAY_VALUE = ARRAY_00_STATIC_VAR_143; - } - #endif - } - #endif - } - #endif - #if ARRAY_00_POW2_SIZE > 7 - }else{ - #if ARRAY_00_POW2_SIZE > 7 - if (index < 152) { - #endif - #if ARRAY_00_POW2_SIZE > 7 - if (index < 148) { - #endif - #if ARRAY_00_POW2_SIZE > 7 - if (index < 146) { - #endif - if (index == 144) ARRAY_VALUE = ARRAY_00_STATIC_VAR_144; - else ARRAY_VALUE = ARRAY_00_STATIC_VAR_145; - #if ARRAY_00_POW2_SIZE > 7 - }else{ - if (index == 146) ARRAY_VALUE = ARRAY_00_STATIC_VAR_146; - else ARRAY_VALUE = ARRAY_00_STATIC_VAR_147; - } - #endif - #if ARRAY_00_POW2_SIZE > 7 - }else{ - #if ARRAY_00_POW2_SIZE > 7 - if (index < 150) { - #endif - if (index == 148) ARRAY_VALUE = ARRAY_00_STATIC_VAR_148; - else ARRAY_VALUE = ARRAY_00_STATIC_VAR_149; - #if ARRAY_00_POW2_SIZE > 7 - }else{ - if (index == 150) ARRAY_VALUE = ARRAY_00_STATIC_VAR_150; - else ARRAY_VALUE = ARRAY_00_STATIC_VAR_151; - } - #endif - } - #endif - #if ARRAY_00_POW2_SIZE > 7 - }else{ - #if ARRAY_00_POW2_SIZE > 7 - if (index < 156) { - #endif - #if ARRAY_00_POW2_SIZE > 7 - if (index < 154) { - #endif - if (index == 152) ARRAY_VALUE = ARRAY_00_STATIC_VAR_152; - else ARRAY_VALUE = ARRAY_00_STATIC_VAR_153; - #if ARRAY_00_POW2_SIZE > 7 - }else{ - if (index == 154) ARRAY_VALUE = ARRAY_00_STATIC_VAR_154; - else ARRAY_VALUE = ARRAY_00_STATIC_VAR_155; - } - #endif - #if ARRAY_00_POW2_SIZE > 7 - }else{ - #if ARRAY_00_POW2_SIZE > 7 - if (index < 158) { - #endif - if (index == 156) ARRAY_VALUE = ARRAY_00_STATIC_VAR_156; - else ARRAY_VALUE = ARRAY_00_STATIC_VAR_157; - #if ARRAY_00_POW2_SIZE > 7 - }else{ - if (index == 158) ARRAY_VALUE = ARRAY_00_STATIC_VAR_158; - else ARRAY_VALUE = ARRAY_00_STATIC_VAR_159; - } - #endif - } - #endif - } - #endif - } - #endif - #if ARRAY_00_POW2_SIZE > 7 - }else{ - #if ARRAY_00_POW2_SIZE > 7 - if (index < 176) { - #endif - #if ARRAY_00_POW2_SIZE > 7 - if (index < 168) { - #endif - #if ARRAY_00_POW2_SIZE > 7 - if (index < 164) { - #endif - #if ARRAY_00_POW2_SIZE > 7 - if (index < 162) { - #endif - if (index == 160) ARRAY_VALUE = ARRAY_00_STATIC_VAR_160; - else ARRAY_VALUE = ARRAY_00_STATIC_VAR_161; - #if ARRAY_00_POW2_SIZE > 7 - }else{ - if (index == 162) ARRAY_VALUE = ARRAY_00_STATIC_VAR_162; - else ARRAY_VALUE = ARRAY_00_STATIC_VAR_163; - } - #endif - #if ARRAY_00_POW2_SIZE > 7 - }else{ - #if ARRAY_00_POW2_SIZE > 7 - if (index < 166) { - #endif - if (index == 164) ARRAY_VALUE = ARRAY_00_STATIC_VAR_164; - else ARRAY_VALUE = ARRAY_00_STATIC_VAR_165; - #if ARRAY_00_POW2_SIZE > 7 - }else{ - if (index == 166) ARRAY_VALUE = ARRAY_00_STATIC_VAR_166; - else ARRAY_VALUE = ARRAY_00_STATIC_VAR_167; - } - #endif - } - #endif - #if ARRAY_00_POW2_SIZE > 7 - }else{ - #if ARRAY_00_POW2_SIZE > 7 - if (index < 172) { - #endif - #if ARRAY_00_POW2_SIZE > 7 - if (index < 170) { - #endif - if (index == 168) ARRAY_VALUE = ARRAY_00_STATIC_VAR_168; - else ARRAY_VALUE = ARRAY_00_STATIC_VAR_169; - #if ARRAY_00_POW2_SIZE > 7 - }else{ - if (index == 170) ARRAY_VALUE = ARRAY_00_STATIC_VAR_170; - else ARRAY_VALUE = ARRAY_00_STATIC_VAR_171; - } - #endif - #if ARRAY_00_POW2_SIZE > 7 - }else{ - #if ARRAY_00_POW2_SIZE > 7 - if (index < 174) { - #endif - if (index == 172) ARRAY_VALUE = ARRAY_00_STATIC_VAR_172; - else ARRAY_VALUE = ARRAY_00_STATIC_VAR_173; - #if ARRAY_00_POW2_SIZE > 7 - }else{ - if (index == 174) ARRAY_VALUE = ARRAY_00_STATIC_VAR_174; - else ARRAY_VALUE = ARRAY_00_STATIC_VAR_175; - } - #endif - } - #endif - } - #endif - #if ARRAY_00_POW2_SIZE > 7 - }else{ - #if ARRAY_00_POW2_SIZE > 7 - if (index < 184) { - #endif - #if ARRAY_00_POW2_SIZE > 7 - if (index < 180) { - #endif - #if ARRAY_00_POW2_SIZE > 7 - if (index < 178) { - #endif - if (index == 176) ARRAY_VALUE = ARRAY_00_STATIC_VAR_176; - else ARRAY_VALUE = ARRAY_00_STATIC_VAR_177; - #if ARRAY_00_POW2_SIZE > 7 - }else{ - if (index == 178) ARRAY_VALUE = ARRAY_00_STATIC_VAR_178; - else ARRAY_VALUE = ARRAY_00_STATIC_VAR_179; - } - #endif - #if ARRAY_00_POW2_SIZE > 7 - }else{ - #if ARRAY_00_POW2_SIZE > 7 - if (index < 182) { - #endif - if (index == 180) ARRAY_VALUE = ARRAY_00_STATIC_VAR_180; - else ARRAY_VALUE = ARRAY_00_STATIC_VAR_181; - #if ARRAY_00_POW2_SIZE > 7 - }else{ - if (index == 182) ARRAY_VALUE = ARRAY_00_STATIC_VAR_182; - else ARRAY_VALUE = ARRAY_00_STATIC_VAR_183; - } - #endif - } - #endif - #if ARRAY_00_POW2_SIZE > 7 - }else{ - #if ARRAY_00_POW2_SIZE > 7 - if (index < 188) { - #endif - #if ARRAY_00_POW2_SIZE > 7 - if (index < 186) { - #endif - if (index == 184) ARRAY_VALUE = ARRAY_00_STATIC_VAR_184; - else ARRAY_VALUE = ARRAY_00_STATIC_VAR_185; - #if ARRAY_00_POW2_SIZE > 7 - }else{ - if (index == 186) ARRAY_VALUE = ARRAY_00_STATIC_VAR_186; - else ARRAY_VALUE = ARRAY_00_STATIC_VAR_187; - } - #endif - #if ARRAY_00_POW2_SIZE > 7 - }else{ - #if ARRAY_00_POW2_SIZE > 7 - if (index < 190) { - #endif - if (index == 188) ARRAY_VALUE = ARRAY_00_STATIC_VAR_188; - else ARRAY_VALUE = ARRAY_00_STATIC_VAR_189; - #if ARRAY_00_POW2_SIZE > 7 - }else{ - if (index == 190) ARRAY_VALUE = ARRAY_00_STATIC_VAR_190; - else ARRAY_VALUE = ARRAY_00_STATIC_VAR_191; - } - #endif - } - #endif - } - #endif - } - #endif - } - #endif - #if ARRAY_00_POW2_SIZE > 7 - }else{ - #if ARRAY_00_POW2_SIZE > 7 - if (index < 224) { - #endif - #if ARRAY_00_POW2_SIZE > 7 - if (index < 208) { - #endif - #if ARRAY_00_POW2_SIZE > 7 - if (index < 200) { - #endif - #if ARRAY_00_POW2_SIZE > 7 - if (index < 196) { - #endif - #if ARRAY_00_POW2_SIZE > 7 - if (index < 194) { - #endif - if (index == 192) ARRAY_VALUE = ARRAY_00_STATIC_VAR_192; - else ARRAY_VALUE = ARRAY_00_STATIC_VAR_193; - #if ARRAY_00_POW2_SIZE > 7 - }else{ - if (index == 194) ARRAY_VALUE = ARRAY_00_STATIC_VAR_194; - else ARRAY_VALUE = ARRAY_00_STATIC_VAR_195; - } - #endif - #if ARRAY_00_POW2_SIZE > 7 - }else{ - #if ARRAY_00_POW2_SIZE > 7 - if (index < 198) { - #endif - if (index == 196) ARRAY_VALUE = ARRAY_00_STATIC_VAR_196; - else ARRAY_VALUE = ARRAY_00_STATIC_VAR_197; - #if ARRAY_00_POW2_SIZE > 7 - }else{ - if (index == 198) ARRAY_VALUE = ARRAY_00_STATIC_VAR_198; - else ARRAY_VALUE = ARRAY_00_STATIC_VAR_199; - } - #endif - } - #endif - #if ARRAY_00_POW2_SIZE > 7 - }else{ - #if ARRAY_00_POW2_SIZE > 7 - if (index < 204) { - #endif - #if ARRAY_00_POW2_SIZE > 7 - if (index < 202) { - #endif - if (index == 200) ARRAY_VALUE = ARRAY_00_STATIC_VAR_200; - else ARRAY_VALUE = ARRAY_00_STATIC_VAR_201; - #if ARRAY_00_POW2_SIZE > 7 - }else{ - if (index == 202) ARRAY_VALUE = ARRAY_00_STATIC_VAR_202; - else ARRAY_VALUE = ARRAY_00_STATIC_VAR_203; - } - #endif - #if ARRAY_00_POW2_SIZE > 7 - }else{ - #if ARRAY_00_POW2_SIZE > 7 - if (index < 206) { - #endif - if (index == 204) ARRAY_VALUE = ARRAY_00_STATIC_VAR_204; - else ARRAY_VALUE = ARRAY_00_STATIC_VAR_205; - #if ARRAY_00_POW2_SIZE > 7 - }else{ - if (index == 206) ARRAY_VALUE = ARRAY_00_STATIC_VAR_206; - else ARRAY_VALUE = ARRAY_00_STATIC_VAR_207; - } - #endif - } - #endif - } - #endif - #if ARRAY_00_POW2_SIZE > 7 - }else{ - #if ARRAY_00_POW2_SIZE > 7 - if (index < 216) { - #endif - #if ARRAY_00_POW2_SIZE > 7 - if (index < 212) { - #endif - #if ARRAY_00_POW2_SIZE > 7 - if (index < 210) { - #endif - if (index == 208) ARRAY_VALUE = ARRAY_00_STATIC_VAR_208; - else ARRAY_VALUE = ARRAY_00_STATIC_VAR_209; - #if ARRAY_00_POW2_SIZE > 7 - }else{ - if (index == 210) ARRAY_VALUE = ARRAY_00_STATIC_VAR_210; - else ARRAY_VALUE = ARRAY_00_STATIC_VAR_211; - } - #endif - #if ARRAY_00_POW2_SIZE > 7 - }else{ - #if ARRAY_00_POW2_SIZE > 7 - if (index < 214) { - #endif - if (index == 212) ARRAY_VALUE = ARRAY_00_STATIC_VAR_212; - else ARRAY_VALUE = ARRAY_00_STATIC_VAR_213; - #if ARRAY_00_POW2_SIZE > 7 - }else{ - if (index == 214) ARRAY_VALUE = ARRAY_00_STATIC_VAR_214; - else ARRAY_VALUE = ARRAY_00_STATIC_VAR_215; - } - #endif - } - #endif - #if ARRAY_00_POW2_SIZE > 7 - }else{ - #if ARRAY_00_POW2_SIZE > 7 - if (index < 220) { - #endif - #if ARRAY_00_POW2_SIZE > 7 - if (index < 218) { - #endif - if (index == 216) ARRAY_VALUE = ARRAY_00_STATIC_VAR_216; - else ARRAY_VALUE = ARRAY_00_STATIC_VAR_217; - #if ARRAY_00_POW2_SIZE > 7 - }else{ - if (index == 218) ARRAY_VALUE = ARRAY_00_STATIC_VAR_218; - else ARRAY_VALUE = ARRAY_00_STATIC_VAR_219; - } - #endif - #if ARRAY_00_POW2_SIZE > 7 - }else{ - #if ARRAY_00_POW2_SIZE > 7 - if (index < 222) { - #endif - if (index == 220) ARRAY_VALUE = ARRAY_00_STATIC_VAR_220; - else ARRAY_VALUE = ARRAY_00_STATIC_VAR_221; - #if ARRAY_00_POW2_SIZE > 7 - }else{ - if (index == 222) ARRAY_VALUE = ARRAY_00_STATIC_VAR_222; - else ARRAY_VALUE = ARRAY_00_STATIC_VAR_223; - } - #endif - } - #endif - } - #endif - } - #endif - #if ARRAY_00_POW2_SIZE > 7 - }else{ - #if ARRAY_00_POW2_SIZE > 7 - if (index < 240) { - #endif - #if ARRAY_00_POW2_SIZE > 7 - if (index < 232) { - #endif - #if ARRAY_00_POW2_SIZE > 7 - if (index < 228) { - #endif - #if ARRAY_00_POW2_SIZE > 7 - if (index < 226) { - #endif - if (index == 224) ARRAY_VALUE = ARRAY_00_STATIC_VAR_224; - else ARRAY_VALUE = ARRAY_00_STATIC_VAR_225; - #if ARRAY_00_POW2_SIZE > 7 - }else{ - if (index == 226) ARRAY_VALUE = ARRAY_00_STATIC_VAR_226; - else ARRAY_VALUE = ARRAY_00_STATIC_VAR_227; - } - #endif - #if ARRAY_00_POW2_SIZE > 7 - }else{ - #if ARRAY_00_POW2_SIZE > 7 - if (index < 230) { - #endif - if (index == 228) ARRAY_VALUE = ARRAY_00_STATIC_VAR_228; - else ARRAY_VALUE = ARRAY_00_STATIC_VAR_229; - #if ARRAY_00_POW2_SIZE > 7 - }else{ - if (index == 230) ARRAY_VALUE = ARRAY_00_STATIC_VAR_230; - else ARRAY_VALUE = ARRAY_00_STATIC_VAR_231; - } - #endif - } - #endif - #if ARRAY_00_POW2_SIZE > 7 - }else{ - #if ARRAY_00_POW2_SIZE > 7 - if (index < 236) { - #endif - #if ARRAY_00_POW2_SIZE > 7 - if (index < 234) { - #endif - if (index == 232) ARRAY_VALUE = ARRAY_00_STATIC_VAR_232; - else ARRAY_VALUE = ARRAY_00_STATIC_VAR_233; - #if ARRAY_00_POW2_SIZE > 7 - }else{ - if (index == 234) ARRAY_VALUE = ARRAY_00_STATIC_VAR_234; - else ARRAY_VALUE = ARRAY_00_STATIC_VAR_235; - } - #endif - #if ARRAY_00_POW2_SIZE > 7 - }else{ - #if ARRAY_00_POW2_SIZE > 7 - if (index < 238) { - #endif - if (index == 236) ARRAY_VALUE = ARRAY_00_STATIC_VAR_236; - else ARRAY_VALUE = ARRAY_00_STATIC_VAR_237; - #if ARRAY_00_POW2_SIZE > 7 - }else{ - if (index == 238) ARRAY_VALUE = ARRAY_00_STATIC_VAR_238; - else ARRAY_VALUE = ARRAY_00_STATIC_VAR_239; - } - #endif - } - #endif - } - #endif - #if ARRAY_00_POW2_SIZE > 7 - }else{ - #if ARRAY_00_POW2_SIZE > 7 - if (index < 248) { - #endif - #if ARRAY_00_POW2_SIZE > 7 - if (index < 244) { - #endif - #if ARRAY_00_POW2_SIZE > 7 - if (index < 242) { - #endif - if (index == 240) ARRAY_VALUE = ARRAY_00_STATIC_VAR_240; - else ARRAY_VALUE = ARRAY_00_STATIC_VAR_241; - #if ARRAY_00_POW2_SIZE > 7 - }else{ - if (index == 242) ARRAY_VALUE = ARRAY_00_STATIC_VAR_242; - else ARRAY_VALUE = ARRAY_00_STATIC_VAR_243; - } - #endif - #if ARRAY_00_POW2_SIZE > 7 - }else{ - #if ARRAY_00_POW2_SIZE > 7 - if (index < 246) { - #endif - if (index == 244) ARRAY_VALUE = ARRAY_00_STATIC_VAR_244; - else ARRAY_VALUE = ARRAY_00_STATIC_VAR_245; - #if ARRAY_00_POW2_SIZE > 7 - }else{ - if (index == 246) ARRAY_VALUE = ARRAY_00_STATIC_VAR_246; - else ARRAY_VALUE = ARRAY_00_STATIC_VAR_247; - } - #endif - } - #endif - #if ARRAY_00_POW2_SIZE > 7 - }else{ - #if ARRAY_00_POW2_SIZE > 7 - if (index < 252) { - #endif - #if ARRAY_00_POW2_SIZE > 7 - if (index < 250) { - #endif - if (index == 248) ARRAY_VALUE = ARRAY_00_STATIC_VAR_248; - else ARRAY_VALUE = ARRAY_00_STATIC_VAR_249; - #if ARRAY_00_POW2_SIZE > 7 - }else{ - if (index == 250) ARRAY_VALUE = ARRAY_00_STATIC_VAR_250; - else ARRAY_VALUE = ARRAY_00_STATIC_VAR_251; - } - #endif - #if ARRAY_00_POW2_SIZE > 7 - }else{ - #if ARRAY_00_POW2_SIZE > 7 - if (index < 254) { - #endif - if (index == 252) ARRAY_VALUE = ARRAY_00_STATIC_VAR_252; - else ARRAY_VALUE = ARRAY_00_STATIC_VAR_253; - #if ARRAY_00_POW2_SIZE > 7 - }else{ - if (index == 254) ARRAY_VALUE = ARRAY_00_STATIC_VAR_254; - else ARRAY_VALUE = ARRAY_00_STATIC_VAR_255; - } - #endif - } - #endif - } - #endif - } - #endif - } - #endif - } - #endif - } - #endif -} - -ARRAY_00_SETTER(index, value) { - #if ARRAY_00_POW2_SIZE > 7 - if (index < 128) { - #endif - #if ARRAY_00_POW2_SIZE > 6 - if (index < 64) { - #endif - #if ARRAY_00_POW2_SIZE > 5 - if (index < 32) { - #endif - #if ARRAY_00_POW2_SIZE > 4 - if (index < 16) { - #endif - #if ARRAY_00_POW2_SIZE > 3 - if (index < 8) { - #endif - #if ARRAY_00_POW2_SIZE > 2 - if (index < 4) { - #endif - #if ARRAY_00_POW2_SIZE > 1 - if (index < 2) { - #endif - if (index == 0) ARRAY_00_STATIC_VAR_000 = value; - else ARRAY_00_STATIC_VAR_001 = value; - #if ARRAY_00_POW2_SIZE > 1 - }else{ - if (index == 2) ARRAY_00_STATIC_VAR_002 = value; - else ARRAY_00_STATIC_VAR_003 = value; - } - #endif - #if ARRAY_00_POW2_SIZE > 2 - }else{ - #if ARRAY_00_POW2_SIZE > 2 - if (index < 6) { - #endif - if (index == 4) ARRAY_00_STATIC_VAR_004 = value; - else ARRAY_00_STATIC_VAR_005 = value; - #if ARRAY_00_POW2_SIZE > 2 - }else{ - if (index == 6) ARRAY_00_STATIC_VAR_006 = value; - else ARRAY_00_STATIC_VAR_007 = value; - } - #endif - } - #endif - #if ARRAY_00_POW2_SIZE > 3 - }else{ - #if ARRAY_00_POW2_SIZE > 3 - if (index < 12) { - #endif - #if ARRAY_00_POW2_SIZE > 3 - if (index < 10) { - #endif - if (index == 8) ARRAY_00_STATIC_VAR_008 = value; - else ARRAY_00_STATIC_VAR_009 = value; - #if ARRAY_00_POW2_SIZE > 3 - }else{ - if (index == 10) ARRAY_00_STATIC_VAR_010 = value; - else ARRAY_00_STATIC_VAR_011 = value; - } - #endif - #if ARRAY_00_POW2_SIZE > 3 - }else{ - #if ARRAY_00_POW2_SIZE > 3 - if (index < 14) { - #endif - if (index == 12) ARRAY_00_STATIC_VAR_012 = value; - else ARRAY_00_STATIC_VAR_013 = value; - #if ARRAY_00_POW2_SIZE > 3 - }else{ - if (index == 14) ARRAY_00_STATIC_VAR_014 = value; - else ARRAY_00_STATIC_VAR_015 = value; - } - #endif - } - #endif - } - #endif - #if ARRAY_00_POW2_SIZE > 4 - }else{ - #if ARRAY_00_POW2_SIZE > 4 - if (index < 24) { - #endif - #if ARRAY_00_POW2_SIZE > 4 - if (index < 20) { - #endif - #if ARRAY_00_POW2_SIZE > 4 - if (index < 18) { - #endif - if (index == 16) ARRAY_00_STATIC_VAR_016 = value; - else ARRAY_00_STATIC_VAR_017 = value; - #if ARRAY_00_POW2_SIZE > 4 - }else{ - if (index == 18) ARRAY_00_STATIC_VAR_018 = value; - else ARRAY_00_STATIC_VAR_019 = value; - } - #endif - #if ARRAY_00_POW2_SIZE > 4 - }else{ - #if ARRAY_00_POW2_SIZE > 4 - if (index < 22) { - #endif - if (index == 20) ARRAY_00_STATIC_VAR_020 = value; - else ARRAY_00_STATIC_VAR_021 = value; - #if ARRAY_00_POW2_SIZE > 4 - }else{ - if (index == 22) ARRAY_00_STATIC_VAR_022 = value; - else ARRAY_00_STATIC_VAR_023 = value; - } - #endif - } - #endif - #if ARRAY_00_POW2_SIZE > 4 - }else{ - #if ARRAY_00_POW2_SIZE > 4 - if (index < 28) { - #endif - #if ARRAY_00_POW2_SIZE > 4 - if (index < 26) { - #endif - if (index == 24) ARRAY_00_STATIC_VAR_024 = value; - else ARRAY_00_STATIC_VAR_025 = value; - #if ARRAY_00_POW2_SIZE > 4 - }else{ - if (index == 26) ARRAY_00_STATIC_VAR_026 = value; - else ARRAY_00_STATIC_VAR_027 = value; - } - #endif - #if ARRAY_00_POW2_SIZE > 4 - }else{ - #if ARRAY_00_POW2_SIZE > 4 - if (index < 30) { - #endif - if (index == 28) ARRAY_00_STATIC_VAR_028 = value; - else ARRAY_00_STATIC_VAR_029 = value; - #if ARRAY_00_POW2_SIZE > 4 - }else{ - if (index == 30) ARRAY_00_STATIC_VAR_030 = value; - else ARRAY_00_STATIC_VAR_031 = value; - } - #endif - } - #endif - } - #endif - } - #endif - #if ARRAY_00_POW2_SIZE > 5 - }else{ - #if ARRAY_00_POW2_SIZE > 5 - if (index < 48) { - #endif - #if ARRAY_00_POW2_SIZE > 5 - if (index < 40) { - #endif - #if ARRAY_00_POW2_SIZE > 5 - if (index < 36) { - #endif - #if ARRAY_00_POW2_SIZE > 5 - if (index < 34) { - #endif - if (index == 32) ARRAY_00_STATIC_VAR_032 = value; - else ARRAY_00_STATIC_VAR_033 = value; - #if ARRAY_00_POW2_SIZE > 5 - }else{ - if (index == 34) ARRAY_00_STATIC_VAR_034 = value; - else ARRAY_00_STATIC_VAR_035 = value; - } - #endif - #if ARRAY_00_POW2_SIZE > 5 - }else{ - #if ARRAY_00_POW2_SIZE > 5 - if (index < 38) { - #endif - if (index == 36) ARRAY_00_STATIC_VAR_036 = value; - else ARRAY_00_STATIC_VAR_037 = value; - #if ARRAY_00_POW2_SIZE > 5 - }else{ - if (index == 38) ARRAY_00_STATIC_VAR_038 = value; - else ARRAY_00_STATIC_VAR_039 = value; - } - #endif - } - #endif - #if ARRAY_00_POW2_SIZE > 5 - }else{ - #if ARRAY_00_POW2_SIZE > 5 - if (index < 44) { - #endif - #if ARRAY_00_POW2_SIZE > 5 - if (index < 42) { - #endif - if (index == 40) ARRAY_00_STATIC_VAR_040 = value; - else ARRAY_00_STATIC_VAR_041 = value; - #if ARRAY_00_POW2_SIZE > 5 - }else{ - if (index == 42) ARRAY_00_STATIC_VAR_042 = value; - else ARRAY_00_STATIC_VAR_043 = value; - } - #endif - #if ARRAY_00_POW2_SIZE > 5 - }else{ - #if ARRAY_00_POW2_SIZE > 5 - if (index < 46) { - #endif - if (index == 44) ARRAY_00_STATIC_VAR_044 = value; - else ARRAY_00_STATIC_VAR_045 = value; - #if ARRAY_00_POW2_SIZE > 5 - }else{ - if (index == 46) ARRAY_00_STATIC_VAR_046 = value; - else ARRAY_00_STATIC_VAR_047 = value; - } - #endif - } - #endif - } - #endif - #if ARRAY_00_POW2_SIZE > 5 - }else{ - #if ARRAY_00_POW2_SIZE > 5 - if (index < 56) { - #endif - #if ARRAY_00_POW2_SIZE > 5 - if (index < 52) { - #endif - #if ARRAY_00_POW2_SIZE > 5 - if (index < 50) { - #endif - if (index == 48) ARRAY_00_STATIC_VAR_048 = value; - else ARRAY_00_STATIC_VAR_049 = value; - #if ARRAY_00_POW2_SIZE > 5 - }else{ - if (index == 50) ARRAY_00_STATIC_VAR_050 = value; - else ARRAY_00_STATIC_VAR_051 = value; - } - #endif - #if ARRAY_00_POW2_SIZE > 5 - }else{ - #if ARRAY_00_POW2_SIZE > 5 - if (index < 54) { - #endif - if (index == 52) ARRAY_00_STATIC_VAR_052 = value; - else ARRAY_00_STATIC_VAR_053 = value; - #if ARRAY_00_POW2_SIZE > 5 - }else{ - if (index == 54) ARRAY_00_STATIC_VAR_054 = value; - else ARRAY_00_STATIC_VAR_055 = value; - } - #endif - } - #endif - #if ARRAY_00_POW2_SIZE > 5 - }else{ - #if ARRAY_00_POW2_SIZE > 5 - if (index < 60) { - #endif - #if ARRAY_00_POW2_SIZE > 5 - if (index < 58) { - #endif - if (index == 56) ARRAY_00_STATIC_VAR_056 = value; - else ARRAY_00_STATIC_VAR_057 = value; - #if ARRAY_00_POW2_SIZE > 5 - }else{ - if (index == 58) ARRAY_00_STATIC_VAR_058 = value; - else ARRAY_00_STATIC_VAR_059 = value; - } - #endif - #if ARRAY_00_POW2_SIZE > 5 - }else{ - #if ARRAY_00_POW2_SIZE > 5 - if (index < 62) { - #endif - if (index == 60) ARRAY_00_STATIC_VAR_060 = value; - else ARRAY_00_STATIC_VAR_061 = value; - #if ARRAY_00_POW2_SIZE > 5 - }else{ - if (index == 62) ARRAY_00_STATIC_VAR_062 = value; - else ARRAY_00_STATIC_VAR_063 = value; - } - #endif - } - #endif - } - #endif - } - #endif - } - #endif - #if ARRAY_00_POW2_SIZE > 6 - }else{ - #if ARRAY_00_POW2_SIZE > 6 - if (index < 96) { - #endif - #if ARRAY_00_POW2_SIZE > 6 - if (index < 80) { - #endif - #if ARRAY_00_POW2_SIZE > 6 - if (index < 72) { - #endif - #if ARRAY_00_POW2_SIZE > 6 - if (index < 68) { - #endif - #if ARRAY_00_POW2_SIZE > 6 - if (index < 66) { - #endif - if (index == 64) ARRAY_00_STATIC_VAR_064 = value; - else ARRAY_00_STATIC_VAR_065 = value; - #if ARRAY_00_POW2_SIZE > 6 - }else{ - if (index == 66) ARRAY_00_STATIC_VAR_066 = value; - else ARRAY_00_STATIC_VAR_067 = value; - } - #endif - #if ARRAY_00_POW2_SIZE > 6 - }else{ - #if ARRAY_00_POW2_SIZE > 6 - if (index < 70) { - #endif - if (index == 68) ARRAY_00_STATIC_VAR_068 = value; - else ARRAY_00_STATIC_VAR_069 = value; - #if ARRAY_00_POW2_SIZE > 6 - }else{ - if (index == 70) ARRAY_00_STATIC_VAR_070 = value; - else ARRAY_00_STATIC_VAR_071 = value; - } - #endif - } - #endif - #if ARRAY_00_POW2_SIZE > 6 - }else{ - #if ARRAY_00_POW2_SIZE > 6 - if (index < 76) { - #endif - #if ARRAY_00_POW2_SIZE > 6 - if (index < 74) { - #endif - if (index == 72) ARRAY_00_STATIC_VAR_072 = value; - else ARRAY_00_STATIC_VAR_073 = value; - #if ARRAY_00_POW2_SIZE > 6 - }else{ - if (index == 74) ARRAY_00_STATIC_VAR_074 = value; - else ARRAY_00_STATIC_VAR_075 = value; - } - #endif - #if ARRAY_00_POW2_SIZE > 6 - }else{ - #if ARRAY_00_POW2_SIZE > 6 - if (index < 78) { - #endif - if (index == 76) ARRAY_00_STATIC_VAR_076 = value; - else ARRAY_00_STATIC_VAR_077 = value; - #if ARRAY_00_POW2_SIZE > 6 - }else{ - if (index == 78) ARRAY_00_STATIC_VAR_078 = value; - else ARRAY_00_STATIC_VAR_079 = value; - } - #endif - } - #endif - } - #endif - #if ARRAY_00_POW2_SIZE > 6 - }else{ - #if ARRAY_00_POW2_SIZE > 6 - if (index < 88) { - #endif - #if ARRAY_00_POW2_SIZE > 6 - if (index < 84) { - #endif - #if ARRAY_00_POW2_SIZE > 6 - if (index < 82) { - #endif - if (index == 80) ARRAY_00_STATIC_VAR_080 = value; - else ARRAY_00_STATIC_VAR_081 = value; - #if ARRAY_00_POW2_SIZE > 6 - }else{ - if (index == 82) ARRAY_00_STATIC_VAR_082 = value; - else ARRAY_00_STATIC_VAR_083 = value; - } - #endif - #if ARRAY_00_POW2_SIZE > 6 - }else{ - #if ARRAY_00_POW2_SIZE > 6 - if (index < 86) { - #endif - if (index == 84) ARRAY_00_STATIC_VAR_084 = value; - else ARRAY_00_STATIC_VAR_085 = value; - #if ARRAY_00_POW2_SIZE > 6 - }else{ - if (index == 86) ARRAY_00_STATIC_VAR_086 = value; - else ARRAY_00_STATIC_VAR_087 = value; - } - #endif - } - #endif - #if ARRAY_00_POW2_SIZE > 6 - }else{ - #if ARRAY_00_POW2_SIZE > 6 - if (index < 92) { - #endif - #if ARRAY_00_POW2_SIZE > 6 - if (index < 90) { - #endif - if (index == 88) ARRAY_00_STATIC_VAR_088 = value; - else ARRAY_00_STATIC_VAR_089 = value; - #if ARRAY_00_POW2_SIZE > 6 - }else{ - if (index == 90) ARRAY_00_STATIC_VAR_090 = value; - else ARRAY_00_STATIC_VAR_091 = value; - } - #endif - #if ARRAY_00_POW2_SIZE > 6 - }else{ - #if ARRAY_00_POW2_SIZE > 6 - if (index < 94) { - #endif - if (index == 92) ARRAY_00_STATIC_VAR_092 = value; - else ARRAY_00_STATIC_VAR_093 = value; - #if ARRAY_00_POW2_SIZE > 6 - }else{ - if (index == 94) ARRAY_00_STATIC_VAR_094 = value; - else ARRAY_00_STATIC_VAR_095 = value; - } - #endif - } - #endif - } - #endif - } - #endif - #if ARRAY_00_POW2_SIZE > 6 - }else{ - #if ARRAY_00_POW2_SIZE > 6 - if (index < 112) { - #endif - #if ARRAY_00_POW2_SIZE > 6 - if (index < 104) { - #endif - #if ARRAY_00_POW2_SIZE > 6 - if (index < 100) { - #endif - #if ARRAY_00_POW2_SIZE > 6 - if (index < 98) { - #endif - if (index == 96) ARRAY_00_STATIC_VAR_096 = value; - else ARRAY_00_STATIC_VAR_097 = value; - #if ARRAY_00_POW2_SIZE > 6 - }else{ - if (index == 98) ARRAY_00_STATIC_VAR_098 = value; - else ARRAY_00_STATIC_VAR_099 = value; - } - #endif - #if ARRAY_00_POW2_SIZE > 6 - }else{ - #if ARRAY_00_POW2_SIZE > 6 - if (index < 102) { - #endif - if (index == 100) ARRAY_00_STATIC_VAR_100 = value; - else ARRAY_00_STATIC_VAR_101 = value; - #if ARRAY_00_POW2_SIZE > 6 - }else{ - if (index == 102) ARRAY_00_STATIC_VAR_102 = value; - else ARRAY_00_STATIC_VAR_103 = value; - } - #endif - } - #endif - #if ARRAY_00_POW2_SIZE > 6 - }else{ - #if ARRAY_00_POW2_SIZE > 6 - if (index < 108) { - #endif - #if ARRAY_00_POW2_SIZE > 6 - if (index < 106) { - #endif - if (index == 104) ARRAY_00_STATIC_VAR_104 = value; - else ARRAY_00_STATIC_VAR_105 = value; - #if ARRAY_00_POW2_SIZE > 6 - }else{ - if (index == 106) ARRAY_00_STATIC_VAR_106 = value; - else ARRAY_00_STATIC_VAR_107 = value; - } - #endif - #if ARRAY_00_POW2_SIZE > 6 - }else{ - #if ARRAY_00_POW2_SIZE > 6 - if (index < 110) { - #endif - if (index == 108) ARRAY_00_STATIC_VAR_108 = value; - else ARRAY_00_STATIC_VAR_109 = value; - #if ARRAY_00_POW2_SIZE > 6 - }else{ - if (index == 110) ARRAY_00_STATIC_VAR_110 = value; - else ARRAY_00_STATIC_VAR_111 = value; - } - #endif - } - #endif - } - #endif - #if ARRAY_00_POW2_SIZE > 6 - }else{ - #if ARRAY_00_POW2_SIZE > 6 - if (index < 120) { - #endif - #if ARRAY_00_POW2_SIZE > 6 - if (index < 116) { - #endif - #if ARRAY_00_POW2_SIZE > 6 - if (index < 114) { - #endif - if (index == 112) ARRAY_00_STATIC_VAR_112 = value; - else ARRAY_00_STATIC_VAR_113 = value; - #if ARRAY_00_POW2_SIZE > 6 - }else{ - if (index == 114) ARRAY_00_STATIC_VAR_114 = value; - else ARRAY_00_STATIC_VAR_115 = value; - } - #endif - #if ARRAY_00_POW2_SIZE > 6 - }else{ - #if ARRAY_00_POW2_SIZE > 6 - if (index < 118) { - #endif - if (index == 116) ARRAY_00_STATIC_VAR_116 = value; - else ARRAY_00_STATIC_VAR_117 = value; - #if ARRAY_00_POW2_SIZE > 6 - }else{ - if (index == 118) ARRAY_00_STATIC_VAR_118 = value; - else ARRAY_00_STATIC_VAR_119 = value; - } - #endif - } - #endif - #if ARRAY_00_POW2_SIZE > 6 - }else{ - #if ARRAY_00_POW2_SIZE > 6 - if (index < 124) { - #endif - #if ARRAY_00_POW2_SIZE > 6 - if (index < 122) { - #endif - if (index == 120) ARRAY_00_STATIC_VAR_120 = value; - else ARRAY_00_STATIC_VAR_121 = value; - #if ARRAY_00_POW2_SIZE > 6 - }else{ - if (index == 122) ARRAY_00_STATIC_VAR_122 = value; - else ARRAY_00_STATIC_VAR_123 = value; - } - #endif - #if ARRAY_00_POW2_SIZE > 6 - }else{ - #if ARRAY_00_POW2_SIZE > 6 - if (index < 126) { - #endif - if (index == 124) ARRAY_00_STATIC_VAR_124 = value; - else ARRAY_00_STATIC_VAR_125 = value; - #if ARRAY_00_POW2_SIZE > 6 - }else{ - if (index == 126) ARRAY_00_STATIC_VAR_126 = value; - else ARRAY_00_STATIC_VAR_127 = value; - } - #endif - } - #endif - } - #endif - } - #endif - } - #endif - } - #endif - #if ARRAY_00_POW2_SIZE > 7 - }else{ - #if ARRAY_00_POW2_SIZE > 7 - if (index < 192) { - #endif - #if ARRAY_00_POW2_SIZE > 7 - if (index < 160) { - #endif - #if ARRAY_00_POW2_SIZE > 7 - if (index < 144) { - #endif - #if ARRAY_00_POW2_SIZE > 7 - if (index < 136) { - #endif - #if ARRAY_00_POW2_SIZE > 7 - if (index < 132) { - #endif - #if ARRAY_00_POW2_SIZE > 7 - if (index < 130) { - #endif - if (index == 128) ARRAY_00_STATIC_VAR_128 = value; - else ARRAY_00_STATIC_VAR_129 = value; - #if ARRAY_00_POW2_SIZE > 7 - }else{ - if (index == 130) ARRAY_00_STATIC_VAR_130 = value; - else ARRAY_00_STATIC_VAR_131 = value; - } - #endif - #if ARRAY_00_POW2_SIZE > 7 - }else{ - #if ARRAY_00_POW2_SIZE > 7 - if (index < 134) { - #endif - if (index == 132) ARRAY_00_STATIC_VAR_132 = value; - else ARRAY_00_STATIC_VAR_133 = value; - #if ARRAY_00_POW2_SIZE > 7 - }else{ - if (index == 134) ARRAY_00_STATIC_VAR_134 = value; - else ARRAY_00_STATIC_VAR_135 = value; - } - #endif - } - #endif - #if ARRAY_00_POW2_SIZE > 7 - }else{ - #if ARRAY_00_POW2_SIZE > 7 - if (index < 140) { - #endif - #if ARRAY_00_POW2_SIZE > 7 - if (index < 138) { - #endif - if (index == 136) ARRAY_00_STATIC_VAR_136 = value; - else ARRAY_00_STATIC_VAR_137 = value; - #if ARRAY_00_POW2_SIZE > 7 - }else{ - if (index == 138) ARRAY_00_STATIC_VAR_138 = value; - else ARRAY_00_STATIC_VAR_139 = value; - } - #endif - #if ARRAY_00_POW2_SIZE > 7 - }else{ - #if ARRAY_00_POW2_SIZE > 7 - if (index < 142) { - #endif - if (index == 140) ARRAY_00_STATIC_VAR_140 = value; - else ARRAY_00_STATIC_VAR_141 = value; - #if ARRAY_00_POW2_SIZE > 7 - }else{ - if (index == 142) ARRAY_00_STATIC_VAR_142 = value; - else ARRAY_00_STATIC_VAR_143 = value; - } - #endif - } - #endif - } - #endif - #if ARRAY_00_POW2_SIZE > 7 - }else{ - #if ARRAY_00_POW2_SIZE > 7 - if (index < 152) { - #endif - #if ARRAY_00_POW2_SIZE > 7 - if (index < 148) { - #endif - #if ARRAY_00_POW2_SIZE > 7 - if (index < 146) { - #endif - if (index == 144) ARRAY_00_STATIC_VAR_144 = value; - else ARRAY_00_STATIC_VAR_145 = value; - #if ARRAY_00_POW2_SIZE > 7 - }else{ - if (index == 146) ARRAY_00_STATIC_VAR_146 = value; - else ARRAY_00_STATIC_VAR_147 = value; - } - #endif - #if ARRAY_00_POW2_SIZE > 7 - }else{ - #if ARRAY_00_POW2_SIZE > 7 - if (index < 150) { - #endif - if (index == 148) ARRAY_00_STATIC_VAR_148 = value; - else ARRAY_00_STATIC_VAR_149 = value; - #if ARRAY_00_POW2_SIZE > 7 - }else{ - if (index == 150) ARRAY_00_STATIC_VAR_150 = value; - else ARRAY_00_STATIC_VAR_151 = value; - } - #endif - } - #endif - #if ARRAY_00_POW2_SIZE > 7 - }else{ - #if ARRAY_00_POW2_SIZE > 7 - if (index < 156) { - #endif - #if ARRAY_00_POW2_SIZE > 7 - if (index < 154) { - #endif - if (index == 152) ARRAY_00_STATIC_VAR_152 = value; - else ARRAY_00_STATIC_VAR_153 = value; - #if ARRAY_00_POW2_SIZE > 7 - }else{ - if (index == 154) ARRAY_00_STATIC_VAR_154 = value; - else ARRAY_00_STATIC_VAR_155 = value; - } - #endif - #if ARRAY_00_POW2_SIZE > 7 - }else{ - #if ARRAY_00_POW2_SIZE > 7 - if (index < 158) { - #endif - if (index == 156) ARRAY_00_STATIC_VAR_156 = value; - else ARRAY_00_STATIC_VAR_157 = value; - #if ARRAY_00_POW2_SIZE > 7 - }else{ - if (index == 158) ARRAY_00_STATIC_VAR_158 = value; - else ARRAY_00_STATIC_VAR_159 = value; - } - #endif - } - #endif - } - #endif - } - #endif - #if ARRAY_00_POW2_SIZE > 7 - }else{ - #if ARRAY_00_POW2_SIZE > 7 - if (index < 176) { - #endif - #if ARRAY_00_POW2_SIZE > 7 - if (index < 168) { - #endif - #if ARRAY_00_POW2_SIZE > 7 - if (index < 164) { - #endif - #if ARRAY_00_POW2_SIZE > 7 - if (index < 162) { - #endif - if (index == 160) ARRAY_00_STATIC_VAR_160 = value; - else ARRAY_00_STATIC_VAR_161 = value; - #if ARRAY_00_POW2_SIZE > 7 - }else{ - if (index == 162) ARRAY_00_STATIC_VAR_162 = value; - else ARRAY_00_STATIC_VAR_163 = value; - } - #endif - #if ARRAY_00_POW2_SIZE > 7 - }else{ - #if ARRAY_00_POW2_SIZE > 7 - if (index < 166) { - #endif - if (index == 164) ARRAY_00_STATIC_VAR_164 = value; - else ARRAY_00_STATIC_VAR_165 = value; - #if ARRAY_00_POW2_SIZE > 7 - }else{ - if (index == 166) ARRAY_00_STATIC_VAR_166 = value; - else ARRAY_00_STATIC_VAR_167 = value; - } - #endif - } - #endif - #if ARRAY_00_POW2_SIZE > 7 - }else{ - #if ARRAY_00_POW2_SIZE > 7 - if (index < 172) { - #endif - #if ARRAY_00_POW2_SIZE > 7 - if (index < 170) { - #endif - if (index == 168) ARRAY_00_STATIC_VAR_168 = value; - else ARRAY_00_STATIC_VAR_169 = value; - #if ARRAY_00_POW2_SIZE > 7 - }else{ - if (index == 170) ARRAY_00_STATIC_VAR_170 = value; - else ARRAY_00_STATIC_VAR_171 = value; - } - #endif - #if ARRAY_00_POW2_SIZE > 7 - }else{ - #if ARRAY_00_POW2_SIZE > 7 - if (index < 174) { - #endif - if (index == 172) ARRAY_00_STATIC_VAR_172 = value; - else ARRAY_00_STATIC_VAR_173 = value; - #if ARRAY_00_POW2_SIZE > 7 - }else{ - if (index == 174) ARRAY_00_STATIC_VAR_174 = value; - else ARRAY_00_STATIC_VAR_175 = value; - } - #endif - } - #endif - } - #endif - #if ARRAY_00_POW2_SIZE > 7 - }else{ - #if ARRAY_00_POW2_SIZE > 7 - if (index < 184) { - #endif - #if ARRAY_00_POW2_SIZE > 7 - if (index < 180) { - #endif - #if ARRAY_00_POW2_SIZE > 7 - if (index < 178) { - #endif - if (index == 176) ARRAY_00_STATIC_VAR_176 = value; - else ARRAY_00_STATIC_VAR_177 = value; - #if ARRAY_00_POW2_SIZE > 7 - }else{ - if (index == 178) ARRAY_00_STATIC_VAR_178 = value; - else ARRAY_00_STATIC_VAR_179 = value; - } - #endif - #if ARRAY_00_POW2_SIZE > 7 - }else{ - #if ARRAY_00_POW2_SIZE > 7 - if (index < 182) { - #endif - if (index == 180) ARRAY_00_STATIC_VAR_180 = value; - else ARRAY_00_STATIC_VAR_181 = value; - #if ARRAY_00_POW2_SIZE > 7 - }else{ - if (index == 182) ARRAY_00_STATIC_VAR_182 = value; - else ARRAY_00_STATIC_VAR_183 = value; - } - #endif - } - #endif - #if ARRAY_00_POW2_SIZE > 7 - }else{ - #if ARRAY_00_POW2_SIZE > 7 - if (index < 188) { - #endif - #if ARRAY_00_POW2_SIZE > 7 - if (index < 186) { - #endif - if (index == 184) ARRAY_00_STATIC_VAR_184 = value; - else ARRAY_00_STATIC_VAR_185 = value; - #if ARRAY_00_POW2_SIZE > 7 - }else{ - if (index == 186) ARRAY_00_STATIC_VAR_186 = value; - else ARRAY_00_STATIC_VAR_187 = value; - } - #endif - #if ARRAY_00_POW2_SIZE > 7 - }else{ - #if ARRAY_00_POW2_SIZE > 7 - if (index < 190) { - #endif - if (index == 188) ARRAY_00_STATIC_VAR_188 = value; - else ARRAY_00_STATIC_VAR_189 = value; - #if ARRAY_00_POW2_SIZE > 7 - }else{ - if (index == 190) ARRAY_00_STATIC_VAR_190 = value; - else ARRAY_00_STATIC_VAR_191 = value; - } - #endif - } - #endif - } - #endif - } - #endif - } - #endif - #if ARRAY_00_POW2_SIZE > 7 - }else{ - #if ARRAY_00_POW2_SIZE > 7 - if (index < 224) { - #endif - #if ARRAY_00_POW2_SIZE > 7 - if (index < 208) { - #endif - #if ARRAY_00_POW2_SIZE > 7 - if (index < 200) { - #endif - #if ARRAY_00_POW2_SIZE > 7 - if (index < 196) { - #endif - #if ARRAY_00_POW2_SIZE > 7 - if (index < 194) { - #endif - if (index == 192) ARRAY_00_STATIC_VAR_192 = value; - else ARRAY_00_STATIC_VAR_193 = value; - #if ARRAY_00_POW2_SIZE > 7 - }else{ - if (index == 194) ARRAY_00_STATIC_VAR_194 = value; - else ARRAY_00_STATIC_VAR_195 = value; - } - #endif - #if ARRAY_00_POW2_SIZE > 7 - }else{ - #if ARRAY_00_POW2_SIZE > 7 - if (index < 198) { - #endif - if (index == 196) ARRAY_00_STATIC_VAR_196 = value; - else ARRAY_00_STATIC_VAR_197 = value; - #if ARRAY_00_POW2_SIZE > 7 - }else{ - if (index == 198) ARRAY_00_STATIC_VAR_198 = value; - else ARRAY_00_STATIC_VAR_199 = value; - } - #endif - } - #endif - #if ARRAY_00_POW2_SIZE > 7 - }else{ - #if ARRAY_00_POW2_SIZE > 7 - if (index < 204) { - #endif - #if ARRAY_00_POW2_SIZE > 7 - if (index < 202) { - #endif - if (index == 200) ARRAY_00_STATIC_VAR_200 = value; - else ARRAY_00_STATIC_VAR_201 = value; - #if ARRAY_00_POW2_SIZE > 7 - }else{ - if (index == 202) ARRAY_00_STATIC_VAR_202 = value; - else ARRAY_00_STATIC_VAR_203 = value; - } - #endif - #if ARRAY_00_POW2_SIZE > 7 - }else{ - #if ARRAY_00_POW2_SIZE > 7 - if (index < 206) { - #endif - if (index == 204) ARRAY_00_STATIC_VAR_204 = value; - else ARRAY_00_STATIC_VAR_205 = value; - #if ARRAY_00_POW2_SIZE > 7 - }else{ - if (index == 206) ARRAY_00_STATIC_VAR_206 = value; - else ARRAY_00_STATIC_VAR_207 = value; - } - #endif - } - #endif - } - #endif - #if ARRAY_00_POW2_SIZE > 7 - }else{ - #if ARRAY_00_POW2_SIZE > 7 - if (index < 216) { - #endif - #if ARRAY_00_POW2_SIZE > 7 - if (index < 212) { - #endif - #if ARRAY_00_POW2_SIZE > 7 - if (index < 210) { - #endif - if (index == 208) ARRAY_00_STATIC_VAR_208 = value; - else ARRAY_00_STATIC_VAR_209 = value; - #if ARRAY_00_POW2_SIZE > 7 - }else{ - if (index == 210) ARRAY_00_STATIC_VAR_210 = value; - else ARRAY_00_STATIC_VAR_211 = value; - } - #endif - #if ARRAY_00_POW2_SIZE > 7 - }else{ - #if ARRAY_00_POW2_SIZE > 7 - if (index < 214) { - #endif - if (index == 212) ARRAY_00_STATIC_VAR_212 = value; - else ARRAY_00_STATIC_VAR_213 = value; - #if ARRAY_00_POW2_SIZE > 7 - }else{ - if (index == 214) ARRAY_00_STATIC_VAR_214 = value; - else ARRAY_00_STATIC_VAR_215 = value; - } - #endif - } - #endif - #if ARRAY_00_POW2_SIZE > 7 - }else{ - #if ARRAY_00_POW2_SIZE > 7 - if (index < 220) { - #endif - #if ARRAY_00_POW2_SIZE > 7 - if (index < 218) { - #endif - if (index == 216) ARRAY_00_STATIC_VAR_216 = value; - else ARRAY_00_STATIC_VAR_217 = value; - #if ARRAY_00_POW2_SIZE > 7 - }else{ - if (index == 218) ARRAY_00_STATIC_VAR_218 = value; - else ARRAY_00_STATIC_VAR_219 = value; - } - #endif - #if ARRAY_00_POW2_SIZE > 7 - }else{ - #if ARRAY_00_POW2_SIZE > 7 - if (index < 222) { - #endif - if (index == 220) ARRAY_00_STATIC_VAR_220 = value; - else ARRAY_00_STATIC_VAR_221 = value; - #if ARRAY_00_POW2_SIZE > 7 - }else{ - if (index == 222) ARRAY_00_STATIC_VAR_222 = value; - else ARRAY_00_STATIC_VAR_223 = value; - } - #endif - } - #endif - } - #endif - } - #endif - #if ARRAY_00_POW2_SIZE > 7 - }else{ - #if ARRAY_00_POW2_SIZE > 7 - if (index < 240) { - #endif - #if ARRAY_00_POW2_SIZE > 7 - if (index < 232) { - #endif - #if ARRAY_00_POW2_SIZE > 7 - if (index < 228) { - #endif - #if ARRAY_00_POW2_SIZE > 7 - if (index < 226) { - #endif - if (index == 224) ARRAY_00_STATIC_VAR_224 = value; - else ARRAY_00_STATIC_VAR_225 = value; - #if ARRAY_00_POW2_SIZE > 7 - }else{ - if (index == 226) ARRAY_00_STATIC_VAR_226 = value; - else ARRAY_00_STATIC_VAR_227 = value; - } - #endif - #if ARRAY_00_POW2_SIZE > 7 - }else{ - #if ARRAY_00_POW2_SIZE > 7 - if (index < 230) { - #endif - if (index == 228) ARRAY_00_STATIC_VAR_228 = value; - else ARRAY_00_STATIC_VAR_229 = value; - #if ARRAY_00_POW2_SIZE > 7 - }else{ - if (index == 230) ARRAY_00_STATIC_VAR_230 = value; - else ARRAY_00_STATIC_VAR_231 = value; - } - #endif - } - #endif - #if ARRAY_00_POW2_SIZE > 7 - }else{ - #if ARRAY_00_POW2_SIZE > 7 - if (index < 236) { - #endif - #if ARRAY_00_POW2_SIZE > 7 - if (index < 234) { - #endif - if (index == 232) ARRAY_00_STATIC_VAR_232 = value; - else ARRAY_00_STATIC_VAR_233 = value; - #if ARRAY_00_POW2_SIZE > 7 - }else{ - if (index == 234) ARRAY_00_STATIC_VAR_234 = value; - else ARRAY_00_STATIC_VAR_235 = value; - } - #endif - #if ARRAY_00_POW2_SIZE > 7 - }else{ - #if ARRAY_00_POW2_SIZE > 7 - if (index < 238) { - #endif - if (index == 236) ARRAY_00_STATIC_VAR_236 = value; - else ARRAY_00_STATIC_VAR_237 = value; - #if ARRAY_00_POW2_SIZE > 7 - }else{ - if (index == 238) ARRAY_00_STATIC_VAR_238 = value; - else ARRAY_00_STATIC_VAR_239 = value; - } - #endif - } - #endif - } - #endif - #if ARRAY_00_POW2_SIZE > 7 - }else{ - #if ARRAY_00_POW2_SIZE > 7 - if (index < 248) { - #endif - #if ARRAY_00_POW2_SIZE > 7 - if (index < 244) { - #endif - #if ARRAY_00_POW2_SIZE > 7 - if (index < 242) { - #endif - if (index == 240) ARRAY_00_STATIC_VAR_240 = value; - else ARRAY_00_STATIC_VAR_241 = value; - #if ARRAY_00_POW2_SIZE > 7 - }else{ - if (index == 242) ARRAY_00_STATIC_VAR_242 = value; - else ARRAY_00_STATIC_VAR_243 = value; - } - #endif - #if ARRAY_00_POW2_SIZE > 7 - }else{ - #if ARRAY_00_POW2_SIZE > 7 - if (index < 246) { - #endif - if (index == 244) ARRAY_00_STATIC_VAR_244 = value; - else ARRAY_00_STATIC_VAR_245 = value; - #if ARRAY_00_POW2_SIZE > 7 - }else{ - if (index == 246) ARRAY_00_STATIC_VAR_246 = value; - else ARRAY_00_STATIC_VAR_247 = value; - } - #endif - } - #endif - #if ARRAY_00_POW2_SIZE > 7 - }else{ - #if ARRAY_00_POW2_SIZE > 7 - if (index < 252) { - #endif - #if ARRAY_00_POW2_SIZE > 7 - if (index < 250) { - #endif - if (index == 248) ARRAY_00_STATIC_VAR_248 = value; - else ARRAY_00_STATIC_VAR_249 = value; - #if ARRAY_00_POW2_SIZE > 7 - }else{ - if (index == 250) ARRAY_00_STATIC_VAR_250 = value; - else ARRAY_00_STATIC_VAR_251 = value; - } - #endif - #if ARRAY_00_POW2_SIZE > 7 - }else{ - #if ARRAY_00_POW2_SIZE > 7 - if (index < 254) { - #endif - if (index == 252) ARRAY_00_STATIC_VAR_252 = value; - else ARRAY_00_STATIC_VAR_253 = value; - #if ARRAY_00_POW2_SIZE > 7 - }else{ - if (index == 254) ARRAY_00_STATIC_VAR_254 = value; - else ARRAY_00_STATIC_VAR_255 = value; - } - #endif - } - #endif - } - #endif - } - #endif - } - #endif - } - #endif - } - #endif -} \ No newline at end of file diff --git a/scripts/array_01.h b/scripts/array_01.h deleted file mode 100644 index 253744fb2d5..00000000000 --- a/scripts/array_01.h +++ /dev/null @@ -1,2340 +0,0 @@ -// (c) Beherith mysterme@gmail.com. DO NOT TOUCH: generated by array_header_generator.ipynb -// Notes: -// #define ARRAY_01_POW2_SIZE -// use the ARRAY_XX_GET(i) and ARRAY_XX_SET(i,v) function macros -// ARRAY_XX_GET(i) will always place value into ARRAY_VALUE -// average calls per value is about 12 - -#ifndef ARRAY_01_POW2_SIZE - #define ARRAY_01_POW2_SIZE 4 -#endif - -#ifndef ARRAY_TEMP_DEFINED - static-var ARRAY_VALUE; - #define ARRAY_TEMP_DEFINED 1; -#endif - -#define ARRAY_01_SET(i,v) call-script ARRAY_01_SETTER(i,v); - -#define ARRAY_01_GET(i) call-script ARRAY_01_GETTER(i); - -#if ARRAY_01_POW2_SIZE > 0 - static-var ARRAY_01_STATIC_VAR_000, ARRAY_01_STATIC_VAR_001; -#endif -#if ARRAY_01_POW2_SIZE > 1 - static-var ARRAY_01_STATIC_VAR_002, ARRAY_01_STATIC_VAR_003; -#endif -#if ARRAY_01_POW2_SIZE > 2 - static-var ARRAY_01_STATIC_VAR_004, ARRAY_01_STATIC_VAR_005, ARRAY_01_STATIC_VAR_006, ARRAY_01_STATIC_VAR_007; -#endif -#if ARRAY_01_POW2_SIZE > 3 - static-var ARRAY_01_STATIC_VAR_008, ARRAY_01_STATIC_VAR_009, ARRAY_01_STATIC_VAR_010, ARRAY_01_STATIC_VAR_011, ARRAY_01_STATIC_VAR_012, ARRAY_01_STATIC_VAR_013, ARRAY_01_STATIC_VAR_014, ARRAY_01_STATIC_VAR_015; -#endif -#if ARRAY_01_POW2_SIZE > 4 - static-var ARRAY_01_STATIC_VAR_016, ARRAY_01_STATIC_VAR_017, ARRAY_01_STATIC_VAR_018, ARRAY_01_STATIC_VAR_019, ARRAY_01_STATIC_VAR_020, ARRAY_01_STATIC_VAR_021, ARRAY_01_STATIC_VAR_022, ARRAY_01_STATIC_VAR_023, ARRAY_01_STATIC_VAR_024, ARRAY_01_STATIC_VAR_025, ARRAY_01_STATIC_VAR_026, ARRAY_01_STATIC_VAR_027, ARRAY_01_STATIC_VAR_028, ARRAY_01_STATIC_VAR_029, ARRAY_01_STATIC_VAR_030, ARRAY_01_STATIC_VAR_031; -#endif -#if ARRAY_01_POW2_SIZE > 5 - static-var ARRAY_01_STATIC_VAR_032, ARRAY_01_STATIC_VAR_033, ARRAY_01_STATIC_VAR_034, ARRAY_01_STATIC_VAR_035, ARRAY_01_STATIC_VAR_036, ARRAY_01_STATIC_VAR_037, ARRAY_01_STATIC_VAR_038, ARRAY_01_STATIC_VAR_039, ARRAY_01_STATIC_VAR_040, ARRAY_01_STATIC_VAR_041, ARRAY_01_STATIC_VAR_042, ARRAY_01_STATIC_VAR_043, ARRAY_01_STATIC_VAR_044, ARRAY_01_STATIC_VAR_045, ARRAY_01_STATIC_VAR_046, ARRAY_01_STATIC_VAR_047, ARRAY_01_STATIC_VAR_048, ARRAY_01_STATIC_VAR_049, ARRAY_01_STATIC_VAR_050, ARRAY_01_STATIC_VAR_051, ARRAY_01_STATIC_VAR_052, ARRAY_01_STATIC_VAR_053, ARRAY_01_STATIC_VAR_054, ARRAY_01_STATIC_VAR_055, ARRAY_01_STATIC_VAR_056, ARRAY_01_STATIC_VAR_057, ARRAY_01_STATIC_VAR_058, ARRAY_01_STATIC_VAR_059, ARRAY_01_STATIC_VAR_060, ARRAY_01_STATIC_VAR_061, ARRAY_01_STATIC_VAR_062, ARRAY_01_STATIC_VAR_063; -#endif -#if ARRAY_01_POW2_SIZE > 6 - static-var ARRAY_01_STATIC_VAR_064, ARRAY_01_STATIC_VAR_065, ARRAY_01_STATIC_VAR_066, ARRAY_01_STATIC_VAR_067, ARRAY_01_STATIC_VAR_068, ARRAY_01_STATIC_VAR_069, ARRAY_01_STATIC_VAR_070, ARRAY_01_STATIC_VAR_071, ARRAY_01_STATIC_VAR_072, ARRAY_01_STATIC_VAR_073, ARRAY_01_STATIC_VAR_074, ARRAY_01_STATIC_VAR_075, ARRAY_01_STATIC_VAR_076, ARRAY_01_STATIC_VAR_077, ARRAY_01_STATIC_VAR_078, ARRAY_01_STATIC_VAR_079, ARRAY_01_STATIC_VAR_080, ARRAY_01_STATIC_VAR_081, ARRAY_01_STATIC_VAR_082, ARRAY_01_STATIC_VAR_083, ARRAY_01_STATIC_VAR_084, ARRAY_01_STATIC_VAR_085, ARRAY_01_STATIC_VAR_086, ARRAY_01_STATIC_VAR_087, ARRAY_01_STATIC_VAR_088, ARRAY_01_STATIC_VAR_089, ARRAY_01_STATIC_VAR_090, ARRAY_01_STATIC_VAR_091, ARRAY_01_STATIC_VAR_092, ARRAY_01_STATIC_VAR_093, ARRAY_01_STATIC_VAR_094, ARRAY_01_STATIC_VAR_095, ARRAY_01_STATIC_VAR_096, ARRAY_01_STATIC_VAR_097, ARRAY_01_STATIC_VAR_098, ARRAY_01_STATIC_VAR_099, ARRAY_01_STATIC_VAR_100, ARRAY_01_STATIC_VAR_101, ARRAY_01_STATIC_VAR_102, ARRAY_01_STATIC_VAR_103, ARRAY_01_STATIC_VAR_104, ARRAY_01_STATIC_VAR_105, ARRAY_01_STATIC_VAR_106, ARRAY_01_STATIC_VAR_107, ARRAY_01_STATIC_VAR_108, ARRAY_01_STATIC_VAR_109, ARRAY_01_STATIC_VAR_110, ARRAY_01_STATIC_VAR_111, ARRAY_01_STATIC_VAR_112, ARRAY_01_STATIC_VAR_113, ARRAY_01_STATIC_VAR_114, ARRAY_01_STATIC_VAR_115, ARRAY_01_STATIC_VAR_116, ARRAY_01_STATIC_VAR_117, ARRAY_01_STATIC_VAR_118, ARRAY_01_STATIC_VAR_119, ARRAY_01_STATIC_VAR_120, ARRAY_01_STATIC_VAR_121, ARRAY_01_STATIC_VAR_122, ARRAY_01_STATIC_VAR_123, ARRAY_01_STATIC_VAR_124, ARRAY_01_STATIC_VAR_125, ARRAY_01_STATIC_VAR_126, ARRAY_01_STATIC_VAR_127; -#endif -#if ARRAY_01_POW2_SIZE > 7 - static-var ARRAY_01_STATIC_VAR_128, ARRAY_01_STATIC_VAR_129, ARRAY_01_STATIC_VAR_130, ARRAY_01_STATIC_VAR_131, ARRAY_01_STATIC_VAR_132, ARRAY_01_STATIC_VAR_133, ARRAY_01_STATIC_VAR_134, ARRAY_01_STATIC_VAR_135, ARRAY_01_STATIC_VAR_136, ARRAY_01_STATIC_VAR_137, ARRAY_01_STATIC_VAR_138, ARRAY_01_STATIC_VAR_139, ARRAY_01_STATIC_VAR_140, ARRAY_01_STATIC_VAR_141, ARRAY_01_STATIC_VAR_142, ARRAY_01_STATIC_VAR_143, ARRAY_01_STATIC_VAR_144, ARRAY_01_STATIC_VAR_145, ARRAY_01_STATIC_VAR_146, ARRAY_01_STATIC_VAR_147, ARRAY_01_STATIC_VAR_148, ARRAY_01_STATIC_VAR_149, ARRAY_01_STATIC_VAR_150, ARRAY_01_STATIC_VAR_151, ARRAY_01_STATIC_VAR_152, ARRAY_01_STATIC_VAR_153, ARRAY_01_STATIC_VAR_154, ARRAY_01_STATIC_VAR_155, ARRAY_01_STATIC_VAR_156, ARRAY_01_STATIC_VAR_157, ARRAY_01_STATIC_VAR_158, ARRAY_01_STATIC_VAR_159, ARRAY_01_STATIC_VAR_160, ARRAY_01_STATIC_VAR_161, ARRAY_01_STATIC_VAR_162, ARRAY_01_STATIC_VAR_163, ARRAY_01_STATIC_VAR_164, ARRAY_01_STATIC_VAR_165, ARRAY_01_STATIC_VAR_166, ARRAY_01_STATIC_VAR_167, ARRAY_01_STATIC_VAR_168, ARRAY_01_STATIC_VAR_169, ARRAY_01_STATIC_VAR_170, ARRAY_01_STATIC_VAR_171, ARRAY_01_STATIC_VAR_172, ARRAY_01_STATIC_VAR_173, ARRAY_01_STATIC_VAR_174, ARRAY_01_STATIC_VAR_175, ARRAY_01_STATIC_VAR_176, ARRAY_01_STATIC_VAR_177, ARRAY_01_STATIC_VAR_178, ARRAY_01_STATIC_VAR_179, ARRAY_01_STATIC_VAR_180, ARRAY_01_STATIC_VAR_181, ARRAY_01_STATIC_VAR_182, ARRAY_01_STATIC_VAR_183, ARRAY_01_STATIC_VAR_184, ARRAY_01_STATIC_VAR_185, ARRAY_01_STATIC_VAR_186, ARRAY_01_STATIC_VAR_187, ARRAY_01_STATIC_VAR_188, ARRAY_01_STATIC_VAR_189, ARRAY_01_STATIC_VAR_190, ARRAY_01_STATIC_VAR_191, ARRAY_01_STATIC_VAR_192, ARRAY_01_STATIC_VAR_193, ARRAY_01_STATIC_VAR_194, ARRAY_01_STATIC_VAR_195, ARRAY_01_STATIC_VAR_196, ARRAY_01_STATIC_VAR_197, ARRAY_01_STATIC_VAR_198, ARRAY_01_STATIC_VAR_199, ARRAY_01_STATIC_VAR_200, ARRAY_01_STATIC_VAR_201, ARRAY_01_STATIC_VAR_202, ARRAY_01_STATIC_VAR_203, ARRAY_01_STATIC_VAR_204, ARRAY_01_STATIC_VAR_205, ARRAY_01_STATIC_VAR_206, ARRAY_01_STATIC_VAR_207, ARRAY_01_STATIC_VAR_208, ARRAY_01_STATIC_VAR_209, ARRAY_01_STATIC_VAR_210, ARRAY_01_STATIC_VAR_211, ARRAY_01_STATIC_VAR_212, ARRAY_01_STATIC_VAR_213, ARRAY_01_STATIC_VAR_214, ARRAY_01_STATIC_VAR_215, ARRAY_01_STATIC_VAR_216, ARRAY_01_STATIC_VAR_217, ARRAY_01_STATIC_VAR_218, ARRAY_01_STATIC_VAR_219, ARRAY_01_STATIC_VAR_220, ARRAY_01_STATIC_VAR_221, ARRAY_01_STATIC_VAR_222, ARRAY_01_STATIC_VAR_223, ARRAY_01_STATIC_VAR_224, ARRAY_01_STATIC_VAR_225, ARRAY_01_STATIC_VAR_226, ARRAY_01_STATIC_VAR_227, ARRAY_01_STATIC_VAR_228, ARRAY_01_STATIC_VAR_229, ARRAY_01_STATIC_VAR_230, ARRAY_01_STATIC_VAR_231, ARRAY_01_STATIC_VAR_232, ARRAY_01_STATIC_VAR_233, ARRAY_01_STATIC_VAR_234, ARRAY_01_STATIC_VAR_235, ARRAY_01_STATIC_VAR_236, ARRAY_01_STATIC_VAR_237, ARRAY_01_STATIC_VAR_238, ARRAY_01_STATIC_VAR_239, ARRAY_01_STATIC_VAR_240, ARRAY_01_STATIC_VAR_241, ARRAY_01_STATIC_VAR_242, ARRAY_01_STATIC_VAR_243, ARRAY_01_STATIC_VAR_244, ARRAY_01_STATIC_VAR_245, ARRAY_01_STATIC_VAR_246, ARRAY_01_STATIC_VAR_247, ARRAY_01_STATIC_VAR_248, ARRAY_01_STATIC_VAR_249, ARRAY_01_STATIC_VAR_250, ARRAY_01_STATIC_VAR_251, ARRAY_01_STATIC_VAR_252, ARRAY_01_STATIC_VAR_253, ARRAY_01_STATIC_VAR_254, ARRAY_01_STATIC_VAR_255; -#endif - -ARRAY_01_GETTER(index) { - #if ARRAY_01_POW2_SIZE > 7 - if (index < 128) { - #endif - #if ARRAY_01_POW2_SIZE > 6 - if (index < 64) { - #endif - #if ARRAY_01_POW2_SIZE > 5 - if (index < 32) { - #endif - #if ARRAY_01_POW2_SIZE > 4 - if (index < 16) { - #endif - #if ARRAY_01_POW2_SIZE > 3 - if (index < 8) { - #endif - #if ARRAY_01_POW2_SIZE > 2 - if (index < 4) { - #endif - #if ARRAY_01_POW2_SIZE > 1 - if (index < 2) { - #endif - if (index == 0) ARRAY_VALUE = ARRAY_01_STATIC_VAR_000; - else ARRAY_VALUE = ARRAY_01_STATIC_VAR_001; - #if ARRAY_01_POW2_SIZE > 1 - }else{ - if (index == 2) ARRAY_VALUE = ARRAY_01_STATIC_VAR_002; - else ARRAY_VALUE = ARRAY_01_STATIC_VAR_003; - } - #endif - #if ARRAY_01_POW2_SIZE > 2 - }else{ - #if ARRAY_01_POW2_SIZE > 2 - if (index < 6) { - #endif - if (index == 4) ARRAY_VALUE = ARRAY_01_STATIC_VAR_004; - else ARRAY_VALUE = ARRAY_01_STATIC_VAR_005; - #if ARRAY_01_POW2_SIZE > 2 - }else{ - if (index == 6) ARRAY_VALUE = ARRAY_01_STATIC_VAR_006; - else ARRAY_VALUE = ARRAY_01_STATIC_VAR_007; - } - #endif - } - #endif - #if ARRAY_01_POW2_SIZE > 3 - }else{ - #if ARRAY_01_POW2_SIZE > 3 - if (index < 12) { - #endif - #if ARRAY_01_POW2_SIZE > 3 - if (index < 10) { - #endif - if (index == 8) ARRAY_VALUE = ARRAY_01_STATIC_VAR_008; - else ARRAY_VALUE = ARRAY_01_STATIC_VAR_009; - #if ARRAY_01_POW2_SIZE > 3 - }else{ - if (index == 10) ARRAY_VALUE = ARRAY_01_STATIC_VAR_010; - else ARRAY_VALUE = ARRAY_01_STATIC_VAR_011; - } - #endif - #if ARRAY_01_POW2_SIZE > 3 - }else{ - #if ARRAY_01_POW2_SIZE > 3 - if (index < 14) { - #endif - if (index == 12) ARRAY_VALUE = ARRAY_01_STATIC_VAR_012; - else ARRAY_VALUE = ARRAY_01_STATIC_VAR_013; - #if ARRAY_01_POW2_SIZE > 3 - }else{ - if (index == 14) ARRAY_VALUE = ARRAY_01_STATIC_VAR_014; - else ARRAY_VALUE = ARRAY_01_STATIC_VAR_015; - } - #endif - } - #endif - } - #endif - #if ARRAY_01_POW2_SIZE > 4 - }else{ - #if ARRAY_01_POW2_SIZE > 4 - if (index < 24) { - #endif - #if ARRAY_01_POW2_SIZE > 4 - if (index < 20) { - #endif - #if ARRAY_01_POW2_SIZE > 4 - if (index < 18) { - #endif - if (index == 16) ARRAY_VALUE = ARRAY_01_STATIC_VAR_016; - else ARRAY_VALUE = ARRAY_01_STATIC_VAR_017; - #if ARRAY_01_POW2_SIZE > 4 - }else{ - if (index == 18) ARRAY_VALUE = ARRAY_01_STATIC_VAR_018; - else ARRAY_VALUE = ARRAY_01_STATIC_VAR_019; - } - #endif - #if ARRAY_01_POW2_SIZE > 4 - }else{ - #if ARRAY_01_POW2_SIZE > 4 - if (index < 22) { - #endif - if (index == 20) ARRAY_VALUE = ARRAY_01_STATIC_VAR_020; - else ARRAY_VALUE = ARRAY_01_STATIC_VAR_021; - #if ARRAY_01_POW2_SIZE > 4 - }else{ - if (index == 22) ARRAY_VALUE = ARRAY_01_STATIC_VAR_022; - else ARRAY_VALUE = ARRAY_01_STATIC_VAR_023; - } - #endif - } - #endif - #if ARRAY_01_POW2_SIZE > 4 - }else{ - #if ARRAY_01_POW2_SIZE > 4 - if (index < 28) { - #endif - #if ARRAY_01_POW2_SIZE > 4 - if (index < 26) { - #endif - if (index == 24) ARRAY_VALUE = ARRAY_01_STATIC_VAR_024; - else ARRAY_VALUE = ARRAY_01_STATIC_VAR_025; - #if ARRAY_01_POW2_SIZE > 4 - }else{ - if (index == 26) ARRAY_VALUE = ARRAY_01_STATIC_VAR_026; - else ARRAY_VALUE = ARRAY_01_STATIC_VAR_027; - } - #endif - #if ARRAY_01_POW2_SIZE > 4 - }else{ - #if ARRAY_01_POW2_SIZE > 4 - if (index < 30) { - #endif - if (index == 28) ARRAY_VALUE = ARRAY_01_STATIC_VAR_028; - else ARRAY_VALUE = ARRAY_01_STATIC_VAR_029; - #if ARRAY_01_POW2_SIZE > 4 - }else{ - if (index == 30) ARRAY_VALUE = ARRAY_01_STATIC_VAR_030; - else ARRAY_VALUE = ARRAY_01_STATIC_VAR_031; - } - #endif - } - #endif - } - #endif - } - #endif - #if ARRAY_01_POW2_SIZE > 5 - }else{ - #if ARRAY_01_POW2_SIZE > 5 - if (index < 48) { - #endif - #if ARRAY_01_POW2_SIZE > 5 - if (index < 40) { - #endif - #if ARRAY_01_POW2_SIZE > 5 - if (index < 36) { - #endif - #if ARRAY_01_POW2_SIZE > 5 - if (index < 34) { - #endif - if (index == 32) ARRAY_VALUE = ARRAY_01_STATIC_VAR_032; - else ARRAY_VALUE = ARRAY_01_STATIC_VAR_033; - #if ARRAY_01_POW2_SIZE > 5 - }else{ - if (index == 34) ARRAY_VALUE = ARRAY_01_STATIC_VAR_034; - else ARRAY_VALUE = ARRAY_01_STATIC_VAR_035; - } - #endif - #if ARRAY_01_POW2_SIZE > 5 - }else{ - #if ARRAY_01_POW2_SIZE > 5 - if (index < 38) { - #endif - if (index == 36) ARRAY_VALUE = ARRAY_01_STATIC_VAR_036; - else ARRAY_VALUE = ARRAY_01_STATIC_VAR_037; - #if ARRAY_01_POW2_SIZE > 5 - }else{ - if (index == 38) ARRAY_VALUE = ARRAY_01_STATIC_VAR_038; - else ARRAY_VALUE = ARRAY_01_STATIC_VAR_039; - } - #endif - } - #endif - #if ARRAY_01_POW2_SIZE > 5 - }else{ - #if ARRAY_01_POW2_SIZE > 5 - if (index < 44) { - #endif - #if ARRAY_01_POW2_SIZE > 5 - if (index < 42) { - #endif - if (index == 40) ARRAY_VALUE = ARRAY_01_STATIC_VAR_040; - else ARRAY_VALUE = ARRAY_01_STATIC_VAR_041; - #if ARRAY_01_POW2_SIZE > 5 - }else{ - if (index == 42) ARRAY_VALUE = ARRAY_01_STATIC_VAR_042; - else ARRAY_VALUE = ARRAY_01_STATIC_VAR_043; - } - #endif - #if ARRAY_01_POW2_SIZE > 5 - }else{ - #if ARRAY_01_POW2_SIZE > 5 - if (index < 46) { - #endif - if (index == 44) ARRAY_VALUE = ARRAY_01_STATIC_VAR_044; - else ARRAY_VALUE = ARRAY_01_STATIC_VAR_045; - #if ARRAY_01_POW2_SIZE > 5 - }else{ - if (index == 46) ARRAY_VALUE = ARRAY_01_STATIC_VAR_046; - else ARRAY_VALUE = ARRAY_01_STATIC_VAR_047; - } - #endif - } - #endif - } - #endif - #if ARRAY_01_POW2_SIZE > 5 - }else{ - #if ARRAY_01_POW2_SIZE > 5 - if (index < 56) { - #endif - #if ARRAY_01_POW2_SIZE > 5 - if (index < 52) { - #endif - #if ARRAY_01_POW2_SIZE > 5 - if (index < 50) { - #endif - if (index == 48) ARRAY_VALUE = ARRAY_01_STATIC_VAR_048; - else ARRAY_VALUE = ARRAY_01_STATIC_VAR_049; - #if ARRAY_01_POW2_SIZE > 5 - }else{ - if (index == 50) ARRAY_VALUE = ARRAY_01_STATIC_VAR_050; - else ARRAY_VALUE = ARRAY_01_STATIC_VAR_051; - } - #endif - #if ARRAY_01_POW2_SIZE > 5 - }else{ - #if ARRAY_01_POW2_SIZE > 5 - if (index < 54) { - #endif - if (index == 52) ARRAY_VALUE = ARRAY_01_STATIC_VAR_052; - else ARRAY_VALUE = ARRAY_01_STATIC_VAR_053; - #if ARRAY_01_POW2_SIZE > 5 - }else{ - if (index == 54) ARRAY_VALUE = ARRAY_01_STATIC_VAR_054; - else ARRAY_VALUE = ARRAY_01_STATIC_VAR_055; - } - #endif - } - #endif - #if ARRAY_01_POW2_SIZE > 5 - }else{ - #if ARRAY_01_POW2_SIZE > 5 - if (index < 60) { - #endif - #if ARRAY_01_POW2_SIZE > 5 - if (index < 58) { - #endif - if (index == 56) ARRAY_VALUE = ARRAY_01_STATIC_VAR_056; - else ARRAY_VALUE = ARRAY_01_STATIC_VAR_057; - #if ARRAY_01_POW2_SIZE > 5 - }else{ - if (index == 58) ARRAY_VALUE = ARRAY_01_STATIC_VAR_058; - else ARRAY_VALUE = ARRAY_01_STATIC_VAR_059; - } - #endif - #if ARRAY_01_POW2_SIZE > 5 - }else{ - #if ARRAY_01_POW2_SIZE > 5 - if (index < 62) { - #endif - if (index == 60) ARRAY_VALUE = ARRAY_01_STATIC_VAR_060; - else ARRAY_VALUE = ARRAY_01_STATIC_VAR_061; - #if ARRAY_01_POW2_SIZE > 5 - }else{ - if (index == 62) ARRAY_VALUE = ARRAY_01_STATIC_VAR_062; - else ARRAY_VALUE = ARRAY_01_STATIC_VAR_063; - } - #endif - } - #endif - } - #endif - } - #endif - } - #endif - #if ARRAY_01_POW2_SIZE > 6 - }else{ - #if ARRAY_01_POW2_SIZE > 6 - if (index < 96) { - #endif - #if ARRAY_01_POW2_SIZE > 6 - if (index < 80) { - #endif - #if ARRAY_01_POW2_SIZE > 6 - if (index < 72) { - #endif - #if ARRAY_01_POW2_SIZE > 6 - if (index < 68) { - #endif - #if ARRAY_01_POW2_SIZE > 6 - if (index < 66) { - #endif - if (index == 64) ARRAY_VALUE = ARRAY_01_STATIC_VAR_064; - else ARRAY_VALUE = ARRAY_01_STATIC_VAR_065; - #if ARRAY_01_POW2_SIZE > 6 - }else{ - if (index == 66) ARRAY_VALUE = ARRAY_01_STATIC_VAR_066; - else ARRAY_VALUE = ARRAY_01_STATIC_VAR_067; - } - #endif - #if ARRAY_01_POW2_SIZE > 6 - }else{ - #if ARRAY_01_POW2_SIZE > 6 - if (index < 70) { - #endif - if (index == 68) ARRAY_VALUE = ARRAY_01_STATIC_VAR_068; - else ARRAY_VALUE = ARRAY_01_STATIC_VAR_069; - #if ARRAY_01_POW2_SIZE > 6 - }else{ - if (index == 70) ARRAY_VALUE = ARRAY_01_STATIC_VAR_070; - else ARRAY_VALUE = ARRAY_01_STATIC_VAR_071; - } - #endif - } - #endif - #if ARRAY_01_POW2_SIZE > 6 - }else{ - #if ARRAY_01_POW2_SIZE > 6 - if (index < 76) { - #endif - #if ARRAY_01_POW2_SIZE > 6 - if (index < 74) { - #endif - if (index == 72) ARRAY_VALUE = ARRAY_01_STATIC_VAR_072; - else ARRAY_VALUE = ARRAY_01_STATIC_VAR_073; - #if ARRAY_01_POW2_SIZE > 6 - }else{ - if (index == 74) ARRAY_VALUE = ARRAY_01_STATIC_VAR_074; - else ARRAY_VALUE = ARRAY_01_STATIC_VAR_075; - } - #endif - #if ARRAY_01_POW2_SIZE > 6 - }else{ - #if ARRAY_01_POW2_SIZE > 6 - if (index < 78) { - #endif - if (index == 76) ARRAY_VALUE = ARRAY_01_STATIC_VAR_076; - else ARRAY_VALUE = ARRAY_01_STATIC_VAR_077; - #if ARRAY_01_POW2_SIZE > 6 - }else{ - if (index == 78) ARRAY_VALUE = ARRAY_01_STATIC_VAR_078; - else ARRAY_VALUE = ARRAY_01_STATIC_VAR_079; - } - #endif - } - #endif - } - #endif - #if ARRAY_01_POW2_SIZE > 6 - }else{ - #if ARRAY_01_POW2_SIZE > 6 - if (index < 88) { - #endif - #if ARRAY_01_POW2_SIZE > 6 - if (index < 84) { - #endif - #if ARRAY_01_POW2_SIZE > 6 - if (index < 82) { - #endif - if (index == 80) ARRAY_VALUE = ARRAY_01_STATIC_VAR_080; - else ARRAY_VALUE = ARRAY_01_STATIC_VAR_081; - #if ARRAY_01_POW2_SIZE > 6 - }else{ - if (index == 82) ARRAY_VALUE = ARRAY_01_STATIC_VAR_082; - else ARRAY_VALUE = ARRAY_01_STATIC_VAR_083; - } - #endif - #if ARRAY_01_POW2_SIZE > 6 - }else{ - #if ARRAY_01_POW2_SIZE > 6 - if (index < 86) { - #endif - if (index == 84) ARRAY_VALUE = ARRAY_01_STATIC_VAR_084; - else ARRAY_VALUE = ARRAY_01_STATIC_VAR_085; - #if ARRAY_01_POW2_SIZE > 6 - }else{ - if (index == 86) ARRAY_VALUE = ARRAY_01_STATIC_VAR_086; - else ARRAY_VALUE = ARRAY_01_STATIC_VAR_087; - } - #endif - } - #endif - #if ARRAY_01_POW2_SIZE > 6 - }else{ - #if ARRAY_01_POW2_SIZE > 6 - if (index < 92) { - #endif - #if ARRAY_01_POW2_SIZE > 6 - if (index < 90) { - #endif - if (index == 88) ARRAY_VALUE = ARRAY_01_STATIC_VAR_088; - else ARRAY_VALUE = ARRAY_01_STATIC_VAR_089; - #if ARRAY_01_POW2_SIZE > 6 - }else{ - if (index == 90) ARRAY_VALUE = ARRAY_01_STATIC_VAR_090; - else ARRAY_VALUE = ARRAY_01_STATIC_VAR_091; - } - #endif - #if ARRAY_01_POW2_SIZE > 6 - }else{ - #if ARRAY_01_POW2_SIZE > 6 - if (index < 94) { - #endif - if (index == 92) ARRAY_VALUE = ARRAY_01_STATIC_VAR_092; - else ARRAY_VALUE = ARRAY_01_STATIC_VAR_093; - #if ARRAY_01_POW2_SIZE > 6 - }else{ - if (index == 94) ARRAY_VALUE = ARRAY_01_STATIC_VAR_094; - else ARRAY_VALUE = ARRAY_01_STATIC_VAR_095; - } - #endif - } - #endif - } - #endif - } - #endif - #if ARRAY_01_POW2_SIZE > 6 - }else{ - #if ARRAY_01_POW2_SIZE > 6 - if (index < 112) { - #endif - #if ARRAY_01_POW2_SIZE > 6 - if (index < 104) { - #endif - #if ARRAY_01_POW2_SIZE > 6 - if (index < 100) { - #endif - #if ARRAY_01_POW2_SIZE > 6 - if (index < 98) { - #endif - if (index == 96) ARRAY_VALUE = ARRAY_01_STATIC_VAR_096; - else ARRAY_VALUE = ARRAY_01_STATIC_VAR_097; - #if ARRAY_01_POW2_SIZE > 6 - }else{ - if (index == 98) ARRAY_VALUE = ARRAY_01_STATIC_VAR_098; - else ARRAY_VALUE = ARRAY_01_STATIC_VAR_099; - } - #endif - #if ARRAY_01_POW2_SIZE > 6 - }else{ - #if ARRAY_01_POW2_SIZE > 6 - if (index < 102) { - #endif - if (index == 100) ARRAY_VALUE = ARRAY_01_STATIC_VAR_100; - else ARRAY_VALUE = ARRAY_01_STATIC_VAR_101; - #if ARRAY_01_POW2_SIZE > 6 - }else{ - if (index == 102) ARRAY_VALUE = ARRAY_01_STATIC_VAR_102; - else ARRAY_VALUE = ARRAY_01_STATIC_VAR_103; - } - #endif - } - #endif - #if ARRAY_01_POW2_SIZE > 6 - }else{ - #if ARRAY_01_POW2_SIZE > 6 - if (index < 108) { - #endif - #if ARRAY_01_POW2_SIZE > 6 - if (index < 106) { - #endif - if (index == 104) ARRAY_VALUE = ARRAY_01_STATIC_VAR_104; - else ARRAY_VALUE = ARRAY_01_STATIC_VAR_105; - #if ARRAY_01_POW2_SIZE > 6 - }else{ - if (index == 106) ARRAY_VALUE = ARRAY_01_STATIC_VAR_106; - else ARRAY_VALUE = ARRAY_01_STATIC_VAR_107; - } - #endif - #if ARRAY_01_POW2_SIZE > 6 - }else{ - #if ARRAY_01_POW2_SIZE > 6 - if (index < 110) { - #endif - if (index == 108) ARRAY_VALUE = ARRAY_01_STATIC_VAR_108; - else ARRAY_VALUE = ARRAY_01_STATIC_VAR_109; - #if ARRAY_01_POW2_SIZE > 6 - }else{ - if (index == 110) ARRAY_VALUE = ARRAY_01_STATIC_VAR_110; - else ARRAY_VALUE = ARRAY_01_STATIC_VAR_111; - } - #endif - } - #endif - } - #endif - #if ARRAY_01_POW2_SIZE > 6 - }else{ - #if ARRAY_01_POW2_SIZE > 6 - if (index < 120) { - #endif - #if ARRAY_01_POW2_SIZE > 6 - if (index < 116) { - #endif - #if ARRAY_01_POW2_SIZE > 6 - if (index < 114) { - #endif - if (index == 112) ARRAY_VALUE = ARRAY_01_STATIC_VAR_112; - else ARRAY_VALUE = ARRAY_01_STATIC_VAR_113; - #if ARRAY_01_POW2_SIZE > 6 - }else{ - if (index == 114) ARRAY_VALUE = ARRAY_01_STATIC_VAR_114; - else ARRAY_VALUE = ARRAY_01_STATIC_VAR_115; - } - #endif - #if ARRAY_01_POW2_SIZE > 6 - }else{ - #if ARRAY_01_POW2_SIZE > 6 - if (index < 118) { - #endif - if (index == 116) ARRAY_VALUE = ARRAY_01_STATIC_VAR_116; - else ARRAY_VALUE = ARRAY_01_STATIC_VAR_117; - #if ARRAY_01_POW2_SIZE > 6 - }else{ - if (index == 118) ARRAY_VALUE = ARRAY_01_STATIC_VAR_118; - else ARRAY_VALUE = ARRAY_01_STATIC_VAR_119; - } - #endif - } - #endif - #if ARRAY_01_POW2_SIZE > 6 - }else{ - #if ARRAY_01_POW2_SIZE > 6 - if (index < 124) { - #endif - #if ARRAY_01_POW2_SIZE > 6 - if (index < 122) { - #endif - if (index == 120) ARRAY_VALUE = ARRAY_01_STATIC_VAR_120; - else ARRAY_VALUE = ARRAY_01_STATIC_VAR_121; - #if ARRAY_01_POW2_SIZE > 6 - }else{ - if (index == 122) ARRAY_VALUE = ARRAY_01_STATIC_VAR_122; - else ARRAY_VALUE = ARRAY_01_STATIC_VAR_123; - } - #endif - #if ARRAY_01_POW2_SIZE > 6 - }else{ - #if ARRAY_01_POW2_SIZE > 6 - if (index < 126) { - #endif - if (index == 124) ARRAY_VALUE = ARRAY_01_STATIC_VAR_124; - else ARRAY_VALUE = ARRAY_01_STATIC_VAR_125; - #if ARRAY_01_POW2_SIZE > 6 - }else{ - if (index == 126) ARRAY_VALUE = ARRAY_01_STATIC_VAR_126; - else ARRAY_VALUE = ARRAY_01_STATIC_VAR_127; - } - #endif - } - #endif - } - #endif - } - #endif - } - #endif - } - #endif - #if ARRAY_01_POW2_SIZE > 7 - }else{ - #if ARRAY_01_POW2_SIZE > 7 - if (index < 192) { - #endif - #if ARRAY_01_POW2_SIZE > 7 - if (index < 160) { - #endif - #if ARRAY_01_POW2_SIZE > 7 - if (index < 144) { - #endif - #if ARRAY_01_POW2_SIZE > 7 - if (index < 136) { - #endif - #if ARRAY_01_POW2_SIZE > 7 - if (index < 132) { - #endif - #if ARRAY_01_POW2_SIZE > 7 - if (index < 130) { - #endif - if (index == 128) ARRAY_VALUE = ARRAY_01_STATIC_VAR_128; - else ARRAY_VALUE = ARRAY_01_STATIC_VAR_129; - #if ARRAY_01_POW2_SIZE > 7 - }else{ - if (index == 130) ARRAY_VALUE = ARRAY_01_STATIC_VAR_130; - else ARRAY_VALUE = ARRAY_01_STATIC_VAR_131; - } - #endif - #if ARRAY_01_POW2_SIZE > 7 - }else{ - #if ARRAY_01_POW2_SIZE > 7 - if (index < 134) { - #endif - if (index == 132) ARRAY_VALUE = ARRAY_01_STATIC_VAR_132; - else ARRAY_VALUE = ARRAY_01_STATIC_VAR_133; - #if ARRAY_01_POW2_SIZE > 7 - }else{ - if (index == 134) ARRAY_VALUE = ARRAY_01_STATIC_VAR_134; - else ARRAY_VALUE = ARRAY_01_STATIC_VAR_135; - } - #endif - } - #endif - #if ARRAY_01_POW2_SIZE > 7 - }else{ - #if ARRAY_01_POW2_SIZE > 7 - if (index < 140) { - #endif - #if ARRAY_01_POW2_SIZE > 7 - if (index < 138) { - #endif - if (index == 136) ARRAY_VALUE = ARRAY_01_STATIC_VAR_136; - else ARRAY_VALUE = ARRAY_01_STATIC_VAR_137; - #if ARRAY_01_POW2_SIZE > 7 - }else{ - if (index == 138) ARRAY_VALUE = ARRAY_01_STATIC_VAR_138; - else ARRAY_VALUE = ARRAY_01_STATIC_VAR_139; - } - #endif - #if ARRAY_01_POW2_SIZE > 7 - }else{ - #if ARRAY_01_POW2_SIZE > 7 - if (index < 142) { - #endif - if (index == 140) ARRAY_VALUE = ARRAY_01_STATIC_VAR_140; - else ARRAY_VALUE = ARRAY_01_STATIC_VAR_141; - #if ARRAY_01_POW2_SIZE > 7 - }else{ - if (index == 142) ARRAY_VALUE = ARRAY_01_STATIC_VAR_142; - else ARRAY_VALUE = ARRAY_01_STATIC_VAR_143; - } - #endif - } - #endif - } - #endif - #if ARRAY_01_POW2_SIZE > 7 - }else{ - #if ARRAY_01_POW2_SIZE > 7 - if (index < 152) { - #endif - #if ARRAY_01_POW2_SIZE > 7 - if (index < 148) { - #endif - #if ARRAY_01_POW2_SIZE > 7 - if (index < 146) { - #endif - if (index == 144) ARRAY_VALUE = ARRAY_01_STATIC_VAR_144; - else ARRAY_VALUE = ARRAY_01_STATIC_VAR_145; - #if ARRAY_01_POW2_SIZE > 7 - }else{ - if (index == 146) ARRAY_VALUE = ARRAY_01_STATIC_VAR_146; - else ARRAY_VALUE = ARRAY_01_STATIC_VAR_147; - } - #endif - #if ARRAY_01_POW2_SIZE > 7 - }else{ - #if ARRAY_01_POW2_SIZE > 7 - if (index < 150) { - #endif - if (index == 148) ARRAY_VALUE = ARRAY_01_STATIC_VAR_148; - else ARRAY_VALUE = ARRAY_01_STATIC_VAR_149; - #if ARRAY_01_POW2_SIZE > 7 - }else{ - if (index == 150) ARRAY_VALUE = ARRAY_01_STATIC_VAR_150; - else ARRAY_VALUE = ARRAY_01_STATIC_VAR_151; - } - #endif - } - #endif - #if ARRAY_01_POW2_SIZE > 7 - }else{ - #if ARRAY_01_POW2_SIZE > 7 - if (index < 156) { - #endif - #if ARRAY_01_POW2_SIZE > 7 - if (index < 154) { - #endif - if (index == 152) ARRAY_VALUE = ARRAY_01_STATIC_VAR_152; - else ARRAY_VALUE = ARRAY_01_STATIC_VAR_153; - #if ARRAY_01_POW2_SIZE > 7 - }else{ - if (index == 154) ARRAY_VALUE = ARRAY_01_STATIC_VAR_154; - else ARRAY_VALUE = ARRAY_01_STATIC_VAR_155; - } - #endif - #if ARRAY_01_POW2_SIZE > 7 - }else{ - #if ARRAY_01_POW2_SIZE > 7 - if (index < 158) { - #endif - if (index == 156) ARRAY_VALUE = ARRAY_01_STATIC_VAR_156; - else ARRAY_VALUE = ARRAY_01_STATIC_VAR_157; - #if ARRAY_01_POW2_SIZE > 7 - }else{ - if (index == 158) ARRAY_VALUE = ARRAY_01_STATIC_VAR_158; - else ARRAY_VALUE = ARRAY_01_STATIC_VAR_159; - } - #endif - } - #endif - } - #endif - } - #endif - #if ARRAY_01_POW2_SIZE > 7 - }else{ - #if ARRAY_01_POW2_SIZE > 7 - if (index < 176) { - #endif - #if ARRAY_01_POW2_SIZE > 7 - if (index < 168) { - #endif - #if ARRAY_01_POW2_SIZE > 7 - if (index < 164) { - #endif - #if ARRAY_01_POW2_SIZE > 7 - if (index < 162) { - #endif - if (index == 160) ARRAY_VALUE = ARRAY_01_STATIC_VAR_160; - else ARRAY_VALUE = ARRAY_01_STATIC_VAR_161; - #if ARRAY_01_POW2_SIZE > 7 - }else{ - if (index == 162) ARRAY_VALUE = ARRAY_01_STATIC_VAR_162; - else ARRAY_VALUE = ARRAY_01_STATIC_VAR_163; - } - #endif - #if ARRAY_01_POW2_SIZE > 7 - }else{ - #if ARRAY_01_POW2_SIZE > 7 - if (index < 166) { - #endif - if (index == 164) ARRAY_VALUE = ARRAY_01_STATIC_VAR_164; - else ARRAY_VALUE = ARRAY_01_STATIC_VAR_165; - #if ARRAY_01_POW2_SIZE > 7 - }else{ - if (index == 166) ARRAY_VALUE = ARRAY_01_STATIC_VAR_166; - else ARRAY_VALUE = ARRAY_01_STATIC_VAR_167; - } - #endif - } - #endif - #if ARRAY_01_POW2_SIZE > 7 - }else{ - #if ARRAY_01_POW2_SIZE > 7 - if (index < 172) { - #endif - #if ARRAY_01_POW2_SIZE > 7 - if (index < 170) { - #endif - if (index == 168) ARRAY_VALUE = ARRAY_01_STATIC_VAR_168; - else ARRAY_VALUE = ARRAY_01_STATIC_VAR_169; - #if ARRAY_01_POW2_SIZE > 7 - }else{ - if (index == 170) ARRAY_VALUE = ARRAY_01_STATIC_VAR_170; - else ARRAY_VALUE = ARRAY_01_STATIC_VAR_171; - } - #endif - #if ARRAY_01_POW2_SIZE > 7 - }else{ - #if ARRAY_01_POW2_SIZE > 7 - if (index < 174) { - #endif - if (index == 172) ARRAY_VALUE = ARRAY_01_STATIC_VAR_172; - else ARRAY_VALUE = ARRAY_01_STATIC_VAR_173; - #if ARRAY_01_POW2_SIZE > 7 - }else{ - if (index == 174) ARRAY_VALUE = ARRAY_01_STATIC_VAR_174; - else ARRAY_VALUE = ARRAY_01_STATIC_VAR_175; - } - #endif - } - #endif - } - #endif - #if ARRAY_01_POW2_SIZE > 7 - }else{ - #if ARRAY_01_POW2_SIZE > 7 - if (index < 184) { - #endif - #if ARRAY_01_POW2_SIZE > 7 - if (index < 180) { - #endif - #if ARRAY_01_POW2_SIZE > 7 - if (index < 178) { - #endif - if (index == 176) ARRAY_VALUE = ARRAY_01_STATIC_VAR_176; - else ARRAY_VALUE = ARRAY_01_STATIC_VAR_177; - #if ARRAY_01_POW2_SIZE > 7 - }else{ - if (index == 178) ARRAY_VALUE = ARRAY_01_STATIC_VAR_178; - else ARRAY_VALUE = ARRAY_01_STATIC_VAR_179; - } - #endif - #if ARRAY_01_POW2_SIZE > 7 - }else{ - #if ARRAY_01_POW2_SIZE > 7 - if (index < 182) { - #endif - if (index == 180) ARRAY_VALUE = ARRAY_01_STATIC_VAR_180; - else ARRAY_VALUE = ARRAY_01_STATIC_VAR_181; - #if ARRAY_01_POW2_SIZE > 7 - }else{ - if (index == 182) ARRAY_VALUE = ARRAY_01_STATIC_VAR_182; - else ARRAY_VALUE = ARRAY_01_STATIC_VAR_183; - } - #endif - } - #endif - #if ARRAY_01_POW2_SIZE > 7 - }else{ - #if ARRAY_01_POW2_SIZE > 7 - if (index < 188) { - #endif - #if ARRAY_01_POW2_SIZE > 7 - if (index < 186) { - #endif - if (index == 184) ARRAY_VALUE = ARRAY_01_STATIC_VAR_184; - else ARRAY_VALUE = ARRAY_01_STATIC_VAR_185; - #if ARRAY_01_POW2_SIZE > 7 - }else{ - if (index == 186) ARRAY_VALUE = ARRAY_01_STATIC_VAR_186; - else ARRAY_VALUE = ARRAY_01_STATIC_VAR_187; - } - #endif - #if ARRAY_01_POW2_SIZE > 7 - }else{ - #if ARRAY_01_POW2_SIZE > 7 - if (index < 190) { - #endif - if (index == 188) ARRAY_VALUE = ARRAY_01_STATIC_VAR_188; - else ARRAY_VALUE = ARRAY_01_STATIC_VAR_189; - #if ARRAY_01_POW2_SIZE > 7 - }else{ - if (index == 190) ARRAY_VALUE = ARRAY_01_STATIC_VAR_190; - else ARRAY_VALUE = ARRAY_01_STATIC_VAR_191; - } - #endif - } - #endif - } - #endif - } - #endif - } - #endif - #if ARRAY_01_POW2_SIZE > 7 - }else{ - #if ARRAY_01_POW2_SIZE > 7 - if (index < 224) { - #endif - #if ARRAY_01_POW2_SIZE > 7 - if (index < 208) { - #endif - #if ARRAY_01_POW2_SIZE > 7 - if (index < 200) { - #endif - #if ARRAY_01_POW2_SIZE > 7 - if (index < 196) { - #endif - #if ARRAY_01_POW2_SIZE > 7 - if (index < 194) { - #endif - if (index == 192) ARRAY_VALUE = ARRAY_01_STATIC_VAR_192; - else ARRAY_VALUE = ARRAY_01_STATIC_VAR_193; - #if ARRAY_01_POW2_SIZE > 7 - }else{ - if (index == 194) ARRAY_VALUE = ARRAY_01_STATIC_VAR_194; - else ARRAY_VALUE = ARRAY_01_STATIC_VAR_195; - } - #endif - #if ARRAY_01_POW2_SIZE > 7 - }else{ - #if ARRAY_01_POW2_SIZE > 7 - if (index < 198) { - #endif - if (index == 196) ARRAY_VALUE = ARRAY_01_STATIC_VAR_196; - else ARRAY_VALUE = ARRAY_01_STATIC_VAR_197; - #if ARRAY_01_POW2_SIZE > 7 - }else{ - if (index == 198) ARRAY_VALUE = ARRAY_01_STATIC_VAR_198; - else ARRAY_VALUE = ARRAY_01_STATIC_VAR_199; - } - #endif - } - #endif - #if ARRAY_01_POW2_SIZE > 7 - }else{ - #if ARRAY_01_POW2_SIZE > 7 - if (index < 204) { - #endif - #if ARRAY_01_POW2_SIZE > 7 - if (index < 202) { - #endif - if (index == 200) ARRAY_VALUE = ARRAY_01_STATIC_VAR_200; - else ARRAY_VALUE = ARRAY_01_STATIC_VAR_201; - #if ARRAY_01_POW2_SIZE > 7 - }else{ - if (index == 202) ARRAY_VALUE = ARRAY_01_STATIC_VAR_202; - else ARRAY_VALUE = ARRAY_01_STATIC_VAR_203; - } - #endif - #if ARRAY_01_POW2_SIZE > 7 - }else{ - #if ARRAY_01_POW2_SIZE > 7 - if (index < 206) { - #endif - if (index == 204) ARRAY_VALUE = ARRAY_01_STATIC_VAR_204; - else ARRAY_VALUE = ARRAY_01_STATIC_VAR_205; - #if ARRAY_01_POW2_SIZE > 7 - }else{ - if (index == 206) ARRAY_VALUE = ARRAY_01_STATIC_VAR_206; - else ARRAY_VALUE = ARRAY_01_STATIC_VAR_207; - } - #endif - } - #endif - } - #endif - #if ARRAY_01_POW2_SIZE > 7 - }else{ - #if ARRAY_01_POW2_SIZE > 7 - if (index < 216) { - #endif - #if ARRAY_01_POW2_SIZE > 7 - if (index < 212) { - #endif - #if ARRAY_01_POW2_SIZE > 7 - if (index < 210) { - #endif - if (index == 208) ARRAY_VALUE = ARRAY_01_STATIC_VAR_208; - else ARRAY_VALUE = ARRAY_01_STATIC_VAR_209; - #if ARRAY_01_POW2_SIZE > 7 - }else{ - if (index == 210) ARRAY_VALUE = ARRAY_01_STATIC_VAR_210; - else ARRAY_VALUE = ARRAY_01_STATIC_VAR_211; - } - #endif - #if ARRAY_01_POW2_SIZE > 7 - }else{ - #if ARRAY_01_POW2_SIZE > 7 - if (index < 214) { - #endif - if (index == 212) ARRAY_VALUE = ARRAY_01_STATIC_VAR_212; - else ARRAY_VALUE = ARRAY_01_STATIC_VAR_213; - #if ARRAY_01_POW2_SIZE > 7 - }else{ - if (index == 214) ARRAY_VALUE = ARRAY_01_STATIC_VAR_214; - else ARRAY_VALUE = ARRAY_01_STATIC_VAR_215; - } - #endif - } - #endif - #if ARRAY_01_POW2_SIZE > 7 - }else{ - #if ARRAY_01_POW2_SIZE > 7 - if (index < 220) { - #endif - #if ARRAY_01_POW2_SIZE > 7 - if (index < 218) { - #endif - if (index == 216) ARRAY_VALUE = ARRAY_01_STATIC_VAR_216; - else ARRAY_VALUE = ARRAY_01_STATIC_VAR_217; - #if ARRAY_01_POW2_SIZE > 7 - }else{ - if (index == 218) ARRAY_VALUE = ARRAY_01_STATIC_VAR_218; - else ARRAY_VALUE = ARRAY_01_STATIC_VAR_219; - } - #endif - #if ARRAY_01_POW2_SIZE > 7 - }else{ - #if ARRAY_01_POW2_SIZE > 7 - if (index < 222) { - #endif - if (index == 220) ARRAY_VALUE = ARRAY_01_STATIC_VAR_220; - else ARRAY_VALUE = ARRAY_01_STATIC_VAR_221; - #if ARRAY_01_POW2_SIZE > 7 - }else{ - if (index == 222) ARRAY_VALUE = ARRAY_01_STATIC_VAR_222; - else ARRAY_VALUE = ARRAY_01_STATIC_VAR_223; - } - #endif - } - #endif - } - #endif - } - #endif - #if ARRAY_01_POW2_SIZE > 7 - }else{ - #if ARRAY_01_POW2_SIZE > 7 - if (index < 240) { - #endif - #if ARRAY_01_POW2_SIZE > 7 - if (index < 232) { - #endif - #if ARRAY_01_POW2_SIZE > 7 - if (index < 228) { - #endif - #if ARRAY_01_POW2_SIZE > 7 - if (index < 226) { - #endif - if (index == 224) ARRAY_VALUE = ARRAY_01_STATIC_VAR_224; - else ARRAY_VALUE = ARRAY_01_STATIC_VAR_225; - #if ARRAY_01_POW2_SIZE > 7 - }else{ - if (index == 226) ARRAY_VALUE = ARRAY_01_STATIC_VAR_226; - else ARRAY_VALUE = ARRAY_01_STATIC_VAR_227; - } - #endif - #if ARRAY_01_POW2_SIZE > 7 - }else{ - #if ARRAY_01_POW2_SIZE > 7 - if (index < 230) { - #endif - if (index == 228) ARRAY_VALUE = ARRAY_01_STATIC_VAR_228; - else ARRAY_VALUE = ARRAY_01_STATIC_VAR_229; - #if ARRAY_01_POW2_SIZE > 7 - }else{ - if (index == 230) ARRAY_VALUE = ARRAY_01_STATIC_VAR_230; - else ARRAY_VALUE = ARRAY_01_STATIC_VAR_231; - } - #endif - } - #endif - #if ARRAY_01_POW2_SIZE > 7 - }else{ - #if ARRAY_01_POW2_SIZE > 7 - if (index < 236) { - #endif - #if ARRAY_01_POW2_SIZE > 7 - if (index < 234) { - #endif - if (index == 232) ARRAY_VALUE = ARRAY_01_STATIC_VAR_232; - else ARRAY_VALUE = ARRAY_01_STATIC_VAR_233; - #if ARRAY_01_POW2_SIZE > 7 - }else{ - if (index == 234) ARRAY_VALUE = ARRAY_01_STATIC_VAR_234; - else ARRAY_VALUE = ARRAY_01_STATIC_VAR_235; - } - #endif - #if ARRAY_01_POW2_SIZE > 7 - }else{ - #if ARRAY_01_POW2_SIZE > 7 - if (index < 238) { - #endif - if (index == 236) ARRAY_VALUE = ARRAY_01_STATIC_VAR_236; - else ARRAY_VALUE = ARRAY_01_STATIC_VAR_237; - #if ARRAY_01_POW2_SIZE > 7 - }else{ - if (index == 238) ARRAY_VALUE = ARRAY_01_STATIC_VAR_238; - else ARRAY_VALUE = ARRAY_01_STATIC_VAR_239; - } - #endif - } - #endif - } - #endif - #if ARRAY_01_POW2_SIZE > 7 - }else{ - #if ARRAY_01_POW2_SIZE > 7 - if (index < 248) { - #endif - #if ARRAY_01_POW2_SIZE > 7 - if (index < 244) { - #endif - #if ARRAY_01_POW2_SIZE > 7 - if (index < 242) { - #endif - if (index == 240) ARRAY_VALUE = ARRAY_01_STATIC_VAR_240; - else ARRAY_VALUE = ARRAY_01_STATIC_VAR_241; - #if ARRAY_01_POW2_SIZE > 7 - }else{ - if (index == 242) ARRAY_VALUE = ARRAY_01_STATIC_VAR_242; - else ARRAY_VALUE = ARRAY_01_STATIC_VAR_243; - } - #endif - #if ARRAY_01_POW2_SIZE > 7 - }else{ - #if ARRAY_01_POW2_SIZE > 7 - if (index < 246) { - #endif - if (index == 244) ARRAY_VALUE = ARRAY_01_STATIC_VAR_244; - else ARRAY_VALUE = ARRAY_01_STATIC_VAR_245; - #if ARRAY_01_POW2_SIZE > 7 - }else{ - if (index == 246) ARRAY_VALUE = ARRAY_01_STATIC_VAR_246; - else ARRAY_VALUE = ARRAY_01_STATIC_VAR_247; - } - #endif - } - #endif - #if ARRAY_01_POW2_SIZE > 7 - }else{ - #if ARRAY_01_POW2_SIZE > 7 - if (index < 252) { - #endif - #if ARRAY_01_POW2_SIZE > 7 - if (index < 250) { - #endif - if (index == 248) ARRAY_VALUE = ARRAY_01_STATIC_VAR_248; - else ARRAY_VALUE = ARRAY_01_STATIC_VAR_249; - #if ARRAY_01_POW2_SIZE > 7 - }else{ - if (index == 250) ARRAY_VALUE = ARRAY_01_STATIC_VAR_250; - else ARRAY_VALUE = ARRAY_01_STATIC_VAR_251; - } - #endif - #if ARRAY_01_POW2_SIZE > 7 - }else{ - #if ARRAY_01_POW2_SIZE > 7 - if (index < 254) { - #endif - if (index == 252) ARRAY_VALUE = ARRAY_01_STATIC_VAR_252; - else ARRAY_VALUE = ARRAY_01_STATIC_VAR_253; - #if ARRAY_01_POW2_SIZE > 7 - }else{ - if (index == 254) ARRAY_VALUE = ARRAY_01_STATIC_VAR_254; - else ARRAY_VALUE = ARRAY_01_STATIC_VAR_255; - } - #endif - } - #endif - } - #endif - } - #endif - } - #endif - } - #endif - } - #endif -} - -ARRAY_01_SETTER(index, value) { - #if ARRAY_01_POW2_SIZE > 7 - if (index < 128) { - #endif - #if ARRAY_01_POW2_SIZE > 6 - if (index < 64) { - #endif - #if ARRAY_01_POW2_SIZE > 5 - if (index < 32) { - #endif - #if ARRAY_01_POW2_SIZE > 4 - if (index < 16) { - #endif - #if ARRAY_01_POW2_SIZE > 3 - if (index < 8) { - #endif - #if ARRAY_01_POW2_SIZE > 2 - if (index < 4) { - #endif - #if ARRAY_01_POW2_SIZE > 1 - if (index < 2) { - #endif - if (index == 0) ARRAY_01_STATIC_VAR_000 = value; - else ARRAY_01_STATIC_VAR_001 = value; - #if ARRAY_01_POW2_SIZE > 1 - }else{ - if (index == 2) ARRAY_01_STATIC_VAR_002 = value; - else ARRAY_01_STATIC_VAR_003 = value; - } - #endif - #if ARRAY_01_POW2_SIZE > 2 - }else{ - #if ARRAY_01_POW2_SIZE > 2 - if (index < 6) { - #endif - if (index == 4) ARRAY_01_STATIC_VAR_004 = value; - else ARRAY_01_STATIC_VAR_005 = value; - #if ARRAY_01_POW2_SIZE > 2 - }else{ - if (index == 6) ARRAY_01_STATIC_VAR_006 = value; - else ARRAY_01_STATIC_VAR_007 = value; - } - #endif - } - #endif - #if ARRAY_01_POW2_SIZE > 3 - }else{ - #if ARRAY_01_POW2_SIZE > 3 - if (index < 12) { - #endif - #if ARRAY_01_POW2_SIZE > 3 - if (index < 10) { - #endif - if (index == 8) ARRAY_01_STATIC_VAR_008 = value; - else ARRAY_01_STATIC_VAR_009 = value; - #if ARRAY_01_POW2_SIZE > 3 - }else{ - if (index == 10) ARRAY_01_STATIC_VAR_010 = value; - else ARRAY_01_STATIC_VAR_011 = value; - } - #endif - #if ARRAY_01_POW2_SIZE > 3 - }else{ - #if ARRAY_01_POW2_SIZE > 3 - if (index < 14) { - #endif - if (index == 12) ARRAY_01_STATIC_VAR_012 = value; - else ARRAY_01_STATIC_VAR_013 = value; - #if ARRAY_01_POW2_SIZE > 3 - }else{ - if (index == 14) ARRAY_01_STATIC_VAR_014 = value; - else ARRAY_01_STATIC_VAR_015 = value; - } - #endif - } - #endif - } - #endif - #if ARRAY_01_POW2_SIZE > 4 - }else{ - #if ARRAY_01_POW2_SIZE > 4 - if (index < 24) { - #endif - #if ARRAY_01_POW2_SIZE > 4 - if (index < 20) { - #endif - #if ARRAY_01_POW2_SIZE > 4 - if (index < 18) { - #endif - if (index == 16) ARRAY_01_STATIC_VAR_016 = value; - else ARRAY_01_STATIC_VAR_017 = value; - #if ARRAY_01_POW2_SIZE > 4 - }else{ - if (index == 18) ARRAY_01_STATIC_VAR_018 = value; - else ARRAY_01_STATIC_VAR_019 = value; - } - #endif - #if ARRAY_01_POW2_SIZE > 4 - }else{ - #if ARRAY_01_POW2_SIZE > 4 - if (index < 22) { - #endif - if (index == 20) ARRAY_01_STATIC_VAR_020 = value; - else ARRAY_01_STATIC_VAR_021 = value; - #if ARRAY_01_POW2_SIZE > 4 - }else{ - if (index == 22) ARRAY_01_STATIC_VAR_022 = value; - else ARRAY_01_STATIC_VAR_023 = value; - } - #endif - } - #endif - #if ARRAY_01_POW2_SIZE > 4 - }else{ - #if ARRAY_01_POW2_SIZE > 4 - if (index < 28) { - #endif - #if ARRAY_01_POW2_SIZE > 4 - if (index < 26) { - #endif - if (index == 24) ARRAY_01_STATIC_VAR_024 = value; - else ARRAY_01_STATIC_VAR_025 = value; - #if ARRAY_01_POW2_SIZE > 4 - }else{ - if (index == 26) ARRAY_01_STATIC_VAR_026 = value; - else ARRAY_01_STATIC_VAR_027 = value; - } - #endif - #if ARRAY_01_POW2_SIZE > 4 - }else{ - #if ARRAY_01_POW2_SIZE > 4 - if (index < 30) { - #endif - if (index == 28) ARRAY_01_STATIC_VAR_028 = value; - else ARRAY_01_STATIC_VAR_029 = value; - #if ARRAY_01_POW2_SIZE > 4 - }else{ - if (index == 30) ARRAY_01_STATIC_VAR_030 = value; - else ARRAY_01_STATIC_VAR_031 = value; - } - #endif - } - #endif - } - #endif - } - #endif - #if ARRAY_01_POW2_SIZE > 5 - }else{ - #if ARRAY_01_POW2_SIZE > 5 - if (index < 48) { - #endif - #if ARRAY_01_POW2_SIZE > 5 - if (index < 40) { - #endif - #if ARRAY_01_POW2_SIZE > 5 - if (index < 36) { - #endif - #if ARRAY_01_POW2_SIZE > 5 - if (index < 34) { - #endif - if (index == 32) ARRAY_01_STATIC_VAR_032 = value; - else ARRAY_01_STATIC_VAR_033 = value; - #if ARRAY_01_POW2_SIZE > 5 - }else{ - if (index == 34) ARRAY_01_STATIC_VAR_034 = value; - else ARRAY_01_STATIC_VAR_035 = value; - } - #endif - #if ARRAY_01_POW2_SIZE > 5 - }else{ - #if ARRAY_01_POW2_SIZE > 5 - if (index < 38) { - #endif - if (index == 36) ARRAY_01_STATIC_VAR_036 = value; - else ARRAY_01_STATIC_VAR_037 = value; - #if ARRAY_01_POW2_SIZE > 5 - }else{ - if (index == 38) ARRAY_01_STATIC_VAR_038 = value; - else ARRAY_01_STATIC_VAR_039 = value; - } - #endif - } - #endif - #if ARRAY_01_POW2_SIZE > 5 - }else{ - #if ARRAY_01_POW2_SIZE > 5 - if (index < 44) { - #endif - #if ARRAY_01_POW2_SIZE > 5 - if (index < 42) { - #endif - if (index == 40) ARRAY_01_STATIC_VAR_040 = value; - else ARRAY_01_STATIC_VAR_041 = value; - #if ARRAY_01_POW2_SIZE > 5 - }else{ - if (index == 42) ARRAY_01_STATIC_VAR_042 = value; - else ARRAY_01_STATIC_VAR_043 = value; - } - #endif - #if ARRAY_01_POW2_SIZE > 5 - }else{ - #if ARRAY_01_POW2_SIZE > 5 - if (index < 46) { - #endif - if (index == 44) ARRAY_01_STATIC_VAR_044 = value; - else ARRAY_01_STATIC_VAR_045 = value; - #if ARRAY_01_POW2_SIZE > 5 - }else{ - if (index == 46) ARRAY_01_STATIC_VAR_046 = value; - else ARRAY_01_STATIC_VAR_047 = value; - } - #endif - } - #endif - } - #endif - #if ARRAY_01_POW2_SIZE > 5 - }else{ - #if ARRAY_01_POW2_SIZE > 5 - if (index < 56) { - #endif - #if ARRAY_01_POW2_SIZE > 5 - if (index < 52) { - #endif - #if ARRAY_01_POW2_SIZE > 5 - if (index < 50) { - #endif - if (index == 48) ARRAY_01_STATIC_VAR_048 = value; - else ARRAY_01_STATIC_VAR_049 = value; - #if ARRAY_01_POW2_SIZE > 5 - }else{ - if (index == 50) ARRAY_01_STATIC_VAR_050 = value; - else ARRAY_01_STATIC_VAR_051 = value; - } - #endif - #if ARRAY_01_POW2_SIZE > 5 - }else{ - #if ARRAY_01_POW2_SIZE > 5 - if (index < 54) { - #endif - if (index == 52) ARRAY_01_STATIC_VAR_052 = value; - else ARRAY_01_STATIC_VAR_053 = value; - #if ARRAY_01_POW2_SIZE > 5 - }else{ - if (index == 54) ARRAY_01_STATIC_VAR_054 = value; - else ARRAY_01_STATIC_VAR_055 = value; - } - #endif - } - #endif - #if ARRAY_01_POW2_SIZE > 5 - }else{ - #if ARRAY_01_POW2_SIZE > 5 - if (index < 60) { - #endif - #if ARRAY_01_POW2_SIZE > 5 - if (index < 58) { - #endif - if (index == 56) ARRAY_01_STATIC_VAR_056 = value; - else ARRAY_01_STATIC_VAR_057 = value; - #if ARRAY_01_POW2_SIZE > 5 - }else{ - if (index == 58) ARRAY_01_STATIC_VAR_058 = value; - else ARRAY_01_STATIC_VAR_059 = value; - } - #endif - #if ARRAY_01_POW2_SIZE > 5 - }else{ - #if ARRAY_01_POW2_SIZE > 5 - if (index < 62) { - #endif - if (index == 60) ARRAY_01_STATIC_VAR_060 = value; - else ARRAY_01_STATIC_VAR_061 = value; - #if ARRAY_01_POW2_SIZE > 5 - }else{ - if (index == 62) ARRAY_01_STATIC_VAR_062 = value; - else ARRAY_01_STATIC_VAR_063 = value; - } - #endif - } - #endif - } - #endif - } - #endif - } - #endif - #if ARRAY_01_POW2_SIZE > 6 - }else{ - #if ARRAY_01_POW2_SIZE > 6 - if (index < 96) { - #endif - #if ARRAY_01_POW2_SIZE > 6 - if (index < 80) { - #endif - #if ARRAY_01_POW2_SIZE > 6 - if (index < 72) { - #endif - #if ARRAY_01_POW2_SIZE > 6 - if (index < 68) { - #endif - #if ARRAY_01_POW2_SIZE > 6 - if (index < 66) { - #endif - if (index == 64) ARRAY_01_STATIC_VAR_064 = value; - else ARRAY_01_STATIC_VAR_065 = value; - #if ARRAY_01_POW2_SIZE > 6 - }else{ - if (index == 66) ARRAY_01_STATIC_VAR_066 = value; - else ARRAY_01_STATIC_VAR_067 = value; - } - #endif - #if ARRAY_01_POW2_SIZE > 6 - }else{ - #if ARRAY_01_POW2_SIZE > 6 - if (index < 70) { - #endif - if (index == 68) ARRAY_01_STATIC_VAR_068 = value; - else ARRAY_01_STATIC_VAR_069 = value; - #if ARRAY_01_POW2_SIZE > 6 - }else{ - if (index == 70) ARRAY_01_STATIC_VAR_070 = value; - else ARRAY_01_STATIC_VAR_071 = value; - } - #endif - } - #endif - #if ARRAY_01_POW2_SIZE > 6 - }else{ - #if ARRAY_01_POW2_SIZE > 6 - if (index < 76) { - #endif - #if ARRAY_01_POW2_SIZE > 6 - if (index < 74) { - #endif - if (index == 72) ARRAY_01_STATIC_VAR_072 = value; - else ARRAY_01_STATIC_VAR_073 = value; - #if ARRAY_01_POW2_SIZE > 6 - }else{ - if (index == 74) ARRAY_01_STATIC_VAR_074 = value; - else ARRAY_01_STATIC_VAR_075 = value; - } - #endif - #if ARRAY_01_POW2_SIZE > 6 - }else{ - #if ARRAY_01_POW2_SIZE > 6 - if (index < 78) { - #endif - if (index == 76) ARRAY_01_STATIC_VAR_076 = value; - else ARRAY_01_STATIC_VAR_077 = value; - #if ARRAY_01_POW2_SIZE > 6 - }else{ - if (index == 78) ARRAY_01_STATIC_VAR_078 = value; - else ARRAY_01_STATIC_VAR_079 = value; - } - #endif - } - #endif - } - #endif - #if ARRAY_01_POW2_SIZE > 6 - }else{ - #if ARRAY_01_POW2_SIZE > 6 - if (index < 88) { - #endif - #if ARRAY_01_POW2_SIZE > 6 - if (index < 84) { - #endif - #if ARRAY_01_POW2_SIZE > 6 - if (index < 82) { - #endif - if (index == 80) ARRAY_01_STATIC_VAR_080 = value; - else ARRAY_01_STATIC_VAR_081 = value; - #if ARRAY_01_POW2_SIZE > 6 - }else{ - if (index == 82) ARRAY_01_STATIC_VAR_082 = value; - else ARRAY_01_STATIC_VAR_083 = value; - } - #endif - #if ARRAY_01_POW2_SIZE > 6 - }else{ - #if ARRAY_01_POW2_SIZE > 6 - if (index < 86) { - #endif - if (index == 84) ARRAY_01_STATIC_VAR_084 = value; - else ARRAY_01_STATIC_VAR_085 = value; - #if ARRAY_01_POW2_SIZE > 6 - }else{ - if (index == 86) ARRAY_01_STATIC_VAR_086 = value; - else ARRAY_01_STATIC_VAR_087 = value; - } - #endif - } - #endif - #if ARRAY_01_POW2_SIZE > 6 - }else{ - #if ARRAY_01_POW2_SIZE > 6 - if (index < 92) { - #endif - #if ARRAY_01_POW2_SIZE > 6 - if (index < 90) { - #endif - if (index == 88) ARRAY_01_STATIC_VAR_088 = value; - else ARRAY_01_STATIC_VAR_089 = value; - #if ARRAY_01_POW2_SIZE > 6 - }else{ - if (index == 90) ARRAY_01_STATIC_VAR_090 = value; - else ARRAY_01_STATIC_VAR_091 = value; - } - #endif - #if ARRAY_01_POW2_SIZE > 6 - }else{ - #if ARRAY_01_POW2_SIZE > 6 - if (index < 94) { - #endif - if (index == 92) ARRAY_01_STATIC_VAR_092 = value; - else ARRAY_01_STATIC_VAR_093 = value; - #if ARRAY_01_POW2_SIZE > 6 - }else{ - if (index == 94) ARRAY_01_STATIC_VAR_094 = value; - else ARRAY_01_STATIC_VAR_095 = value; - } - #endif - } - #endif - } - #endif - } - #endif - #if ARRAY_01_POW2_SIZE > 6 - }else{ - #if ARRAY_01_POW2_SIZE > 6 - if (index < 112) { - #endif - #if ARRAY_01_POW2_SIZE > 6 - if (index < 104) { - #endif - #if ARRAY_01_POW2_SIZE > 6 - if (index < 100) { - #endif - #if ARRAY_01_POW2_SIZE > 6 - if (index < 98) { - #endif - if (index == 96) ARRAY_01_STATIC_VAR_096 = value; - else ARRAY_01_STATIC_VAR_097 = value; - #if ARRAY_01_POW2_SIZE > 6 - }else{ - if (index == 98) ARRAY_01_STATIC_VAR_098 = value; - else ARRAY_01_STATIC_VAR_099 = value; - } - #endif - #if ARRAY_01_POW2_SIZE > 6 - }else{ - #if ARRAY_01_POW2_SIZE > 6 - if (index < 102) { - #endif - if (index == 100) ARRAY_01_STATIC_VAR_100 = value; - else ARRAY_01_STATIC_VAR_101 = value; - #if ARRAY_01_POW2_SIZE > 6 - }else{ - if (index == 102) ARRAY_01_STATIC_VAR_102 = value; - else ARRAY_01_STATIC_VAR_103 = value; - } - #endif - } - #endif - #if ARRAY_01_POW2_SIZE > 6 - }else{ - #if ARRAY_01_POW2_SIZE > 6 - if (index < 108) { - #endif - #if ARRAY_01_POW2_SIZE > 6 - if (index < 106) { - #endif - if (index == 104) ARRAY_01_STATIC_VAR_104 = value; - else ARRAY_01_STATIC_VAR_105 = value; - #if ARRAY_01_POW2_SIZE > 6 - }else{ - if (index == 106) ARRAY_01_STATIC_VAR_106 = value; - else ARRAY_01_STATIC_VAR_107 = value; - } - #endif - #if ARRAY_01_POW2_SIZE > 6 - }else{ - #if ARRAY_01_POW2_SIZE > 6 - if (index < 110) { - #endif - if (index == 108) ARRAY_01_STATIC_VAR_108 = value; - else ARRAY_01_STATIC_VAR_109 = value; - #if ARRAY_01_POW2_SIZE > 6 - }else{ - if (index == 110) ARRAY_01_STATIC_VAR_110 = value; - else ARRAY_01_STATIC_VAR_111 = value; - } - #endif - } - #endif - } - #endif - #if ARRAY_01_POW2_SIZE > 6 - }else{ - #if ARRAY_01_POW2_SIZE > 6 - if (index < 120) { - #endif - #if ARRAY_01_POW2_SIZE > 6 - if (index < 116) { - #endif - #if ARRAY_01_POW2_SIZE > 6 - if (index < 114) { - #endif - if (index == 112) ARRAY_01_STATIC_VAR_112 = value; - else ARRAY_01_STATIC_VAR_113 = value; - #if ARRAY_01_POW2_SIZE > 6 - }else{ - if (index == 114) ARRAY_01_STATIC_VAR_114 = value; - else ARRAY_01_STATIC_VAR_115 = value; - } - #endif - #if ARRAY_01_POW2_SIZE > 6 - }else{ - #if ARRAY_01_POW2_SIZE > 6 - if (index < 118) { - #endif - if (index == 116) ARRAY_01_STATIC_VAR_116 = value; - else ARRAY_01_STATIC_VAR_117 = value; - #if ARRAY_01_POW2_SIZE > 6 - }else{ - if (index == 118) ARRAY_01_STATIC_VAR_118 = value; - else ARRAY_01_STATIC_VAR_119 = value; - } - #endif - } - #endif - #if ARRAY_01_POW2_SIZE > 6 - }else{ - #if ARRAY_01_POW2_SIZE > 6 - if (index < 124) { - #endif - #if ARRAY_01_POW2_SIZE > 6 - if (index < 122) { - #endif - if (index == 120) ARRAY_01_STATIC_VAR_120 = value; - else ARRAY_01_STATIC_VAR_121 = value; - #if ARRAY_01_POW2_SIZE > 6 - }else{ - if (index == 122) ARRAY_01_STATIC_VAR_122 = value; - else ARRAY_01_STATIC_VAR_123 = value; - } - #endif - #if ARRAY_01_POW2_SIZE > 6 - }else{ - #if ARRAY_01_POW2_SIZE > 6 - if (index < 126) { - #endif - if (index == 124) ARRAY_01_STATIC_VAR_124 = value; - else ARRAY_01_STATIC_VAR_125 = value; - #if ARRAY_01_POW2_SIZE > 6 - }else{ - if (index == 126) ARRAY_01_STATIC_VAR_126 = value; - else ARRAY_01_STATIC_VAR_127 = value; - } - #endif - } - #endif - } - #endif - } - #endif - } - #endif - } - #endif - #if ARRAY_01_POW2_SIZE > 7 - }else{ - #if ARRAY_01_POW2_SIZE > 7 - if (index < 192) { - #endif - #if ARRAY_01_POW2_SIZE > 7 - if (index < 160) { - #endif - #if ARRAY_01_POW2_SIZE > 7 - if (index < 144) { - #endif - #if ARRAY_01_POW2_SIZE > 7 - if (index < 136) { - #endif - #if ARRAY_01_POW2_SIZE > 7 - if (index < 132) { - #endif - #if ARRAY_01_POW2_SIZE > 7 - if (index < 130) { - #endif - if (index == 128) ARRAY_01_STATIC_VAR_128 = value; - else ARRAY_01_STATIC_VAR_129 = value; - #if ARRAY_01_POW2_SIZE > 7 - }else{ - if (index == 130) ARRAY_01_STATIC_VAR_130 = value; - else ARRAY_01_STATIC_VAR_131 = value; - } - #endif - #if ARRAY_01_POW2_SIZE > 7 - }else{ - #if ARRAY_01_POW2_SIZE > 7 - if (index < 134) { - #endif - if (index == 132) ARRAY_01_STATIC_VAR_132 = value; - else ARRAY_01_STATIC_VAR_133 = value; - #if ARRAY_01_POW2_SIZE > 7 - }else{ - if (index == 134) ARRAY_01_STATIC_VAR_134 = value; - else ARRAY_01_STATIC_VAR_135 = value; - } - #endif - } - #endif - #if ARRAY_01_POW2_SIZE > 7 - }else{ - #if ARRAY_01_POW2_SIZE > 7 - if (index < 140) { - #endif - #if ARRAY_01_POW2_SIZE > 7 - if (index < 138) { - #endif - if (index == 136) ARRAY_01_STATIC_VAR_136 = value; - else ARRAY_01_STATIC_VAR_137 = value; - #if ARRAY_01_POW2_SIZE > 7 - }else{ - if (index == 138) ARRAY_01_STATIC_VAR_138 = value; - else ARRAY_01_STATIC_VAR_139 = value; - } - #endif - #if ARRAY_01_POW2_SIZE > 7 - }else{ - #if ARRAY_01_POW2_SIZE > 7 - if (index < 142) { - #endif - if (index == 140) ARRAY_01_STATIC_VAR_140 = value; - else ARRAY_01_STATIC_VAR_141 = value; - #if ARRAY_01_POW2_SIZE > 7 - }else{ - if (index == 142) ARRAY_01_STATIC_VAR_142 = value; - else ARRAY_01_STATIC_VAR_143 = value; - } - #endif - } - #endif - } - #endif - #if ARRAY_01_POW2_SIZE > 7 - }else{ - #if ARRAY_01_POW2_SIZE > 7 - if (index < 152) { - #endif - #if ARRAY_01_POW2_SIZE > 7 - if (index < 148) { - #endif - #if ARRAY_01_POW2_SIZE > 7 - if (index < 146) { - #endif - if (index == 144) ARRAY_01_STATIC_VAR_144 = value; - else ARRAY_01_STATIC_VAR_145 = value; - #if ARRAY_01_POW2_SIZE > 7 - }else{ - if (index == 146) ARRAY_01_STATIC_VAR_146 = value; - else ARRAY_01_STATIC_VAR_147 = value; - } - #endif - #if ARRAY_01_POW2_SIZE > 7 - }else{ - #if ARRAY_01_POW2_SIZE > 7 - if (index < 150) { - #endif - if (index == 148) ARRAY_01_STATIC_VAR_148 = value; - else ARRAY_01_STATIC_VAR_149 = value; - #if ARRAY_01_POW2_SIZE > 7 - }else{ - if (index == 150) ARRAY_01_STATIC_VAR_150 = value; - else ARRAY_01_STATIC_VAR_151 = value; - } - #endif - } - #endif - #if ARRAY_01_POW2_SIZE > 7 - }else{ - #if ARRAY_01_POW2_SIZE > 7 - if (index < 156) { - #endif - #if ARRAY_01_POW2_SIZE > 7 - if (index < 154) { - #endif - if (index == 152) ARRAY_01_STATIC_VAR_152 = value; - else ARRAY_01_STATIC_VAR_153 = value; - #if ARRAY_01_POW2_SIZE > 7 - }else{ - if (index == 154) ARRAY_01_STATIC_VAR_154 = value; - else ARRAY_01_STATIC_VAR_155 = value; - } - #endif - #if ARRAY_01_POW2_SIZE > 7 - }else{ - #if ARRAY_01_POW2_SIZE > 7 - if (index < 158) { - #endif - if (index == 156) ARRAY_01_STATIC_VAR_156 = value; - else ARRAY_01_STATIC_VAR_157 = value; - #if ARRAY_01_POW2_SIZE > 7 - }else{ - if (index == 158) ARRAY_01_STATIC_VAR_158 = value; - else ARRAY_01_STATIC_VAR_159 = value; - } - #endif - } - #endif - } - #endif - } - #endif - #if ARRAY_01_POW2_SIZE > 7 - }else{ - #if ARRAY_01_POW2_SIZE > 7 - if (index < 176) { - #endif - #if ARRAY_01_POW2_SIZE > 7 - if (index < 168) { - #endif - #if ARRAY_01_POW2_SIZE > 7 - if (index < 164) { - #endif - #if ARRAY_01_POW2_SIZE > 7 - if (index < 162) { - #endif - if (index == 160) ARRAY_01_STATIC_VAR_160 = value; - else ARRAY_01_STATIC_VAR_161 = value; - #if ARRAY_01_POW2_SIZE > 7 - }else{ - if (index == 162) ARRAY_01_STATIC_VAR_162 = value; - else ARRAY_01_STATIC_VAR_163 = value; - } - #endif - #if ARRAY_01_POW2_SIZE > 7 - }else{ - #if ARRAY_01_POW2_SIZE > 7 - if (index < 166) { - #endif - if (index == 164) ARRAY_01_STATIC_VAR_164 = value; - else ARRAY_01_STATIC_VAR_165 = value; - #if ARRAY_01_POW2_SIZE > 7 - }else{ - if (index == 166) ARRAY_01_STATIC_VAR_166 = value; - else ARRAY_01_STATIC_VAR_167 = value; - } - #endif - } - #endif - #if ARRAY_01_POW2_SIZE > 7 - }else{ - #if ARRAY_01_POW2_SIZE > 7 - if (index < 172) { - #endif - #if ARRAY_01_POW2_SIZE > 7 - if (index < 170) { - #endif - if (index == 168) ARRAY_01_STATIC_VAR_168 = value; - else ARRAY_01_STATIC_VAR_169 = value; - #if ARRAY_01_POW2_SIZE > 7 - }else{ - if (index == 170) ARRAY_01_STATIC_VAR_170 = value; - else ARRAY_01_STATIC_VAR_171 = value; - } - #endif - #if ARRAY_01_POW2_SIZE > 7 - }else{ - #if ARRAY_01_POW2_SIZE > 7 - if (index < 174) { - #endif - if (index == 172) ARRAY_01_STATIC_VAR_172 = value; - else ARRAY_01_STATIC_VAR_173 = value; - #if ARRAY_01_POW2_SIZE > 7 - }else{ - if (index == 174) ARRAY_01_STATIC_VAR_174 = value; - else ARRAY_01_STATIC_VAR_175 = value; - } - #endif - } - #endif - } - #endif - #if ARRAY_01_POW2_SIZE > 7 - }else{ - #if ARRAY_01_POW2_SIZE > 7 - if (index < 184) { - #endif - #if ARRAY_01_POW2_SIZE > 7 - if (index < 180) { - #endif - #if ARRAY_01_POW2_SIZE > 7 - if (index < 178) { - #endif - if (index == 176) ARRAY_01_STATIC_VAR_176 = value; - else ARRAY_01_STATIC_VAR_177 = value; - #if ARRAY_01_POW2_SIZE > 7 - }else{ - if (index == 178) ARRAY_01_STATIC_VAR_178 = value; - else ARRAY_01_STATIC_VAR_179 = value; - } - #endif - #if ARRAY_01_POW2_SIZE > 7 - }else{ - #if ARRAY_01_POW2_SIZE > 7 - if (index < 182) { - #endif - if (index == 180) ARRAY_01_STATIC_VAR_180 = value; - else ARRAY_01_STATIC_VAR_181 = value; - #if ARRAY_01_POW2_SIZE > 7 - }else{ - if (index == 182) ARRAY_01_STATIC_VAR_182 = value; - else ARRAY_01_STATIC_VAR_183 = value; - } - #endif - } - #endif - #if ARRAY_01_POW2_SIZE > 7 - }else{ - #if ARRAY_01_POW2_SIZE > 7 - if (index < 188) { - #endif - #if ARRAY_01_POW2_SIZE > 7 - if (index < 186) { - #endif - if (index == 184) ARRAY_01_STATIC_VAR_184 = value; - else ARRAY_01_STATIC_VAR_185 = value; - #if ARRAY_01_POW2_SIZE > 7 - }else{ - if (index == 186) ARRAY_01_STATIC_VAR_186 = value; - else ARRAY_01_STATIC_VAR_187 = value; - } - #endif - #if ARRAY_01_POW2_SIZE > 7 - }else{ - #if ARRAY_01_POW2_SIZE > 7 - if (index < 190) { - #endif - if (index == 188) ARRAY_01_STATIC_VAR_188 = value; - else ARRAY_01_STATIC_VAR_189 = value; - #if ARRAY_01_POW2_SIZE > 7 - }else{ - if (index == 190) ARRAY_01_STATIC_VAR_190 = value; - else ARRAY_01_STATIC_VAR_191 = value; - } - #endif - } - #endif - } - #endif - } - #endif - } - #endif - #if ARRAY_01_POW2_SIZE > 7 - }else{ - #if ARRAY_01_POW2_SIZE > 7 - if (index < 224) { - #endif - #if ARRAY_01_POW2_SIZE > 7 - if (index < 208) { - #endif - #if ARRAY_01_POW2_SIZE > 7 - if (index < 200) { - #endif - #if ARRAY_01_POW2_SIZE > 7 - if (index < 196) { - #endif - #if ARRAY_01_POW2_SIZE > 7 - if (index < 194) { - #endif - if (index == 192) ARRAY_01_STATIC_VAR_192 = value; - else ARRAY_01_STATIC_VAR_193 = value; - #if ARRAY_01_POW2_SIZE > 7 - }else{ - if (index == 194) ARRAY_01_STATIC_VAR_194 = value; - else ARRAY_01_STATIC_VAR_195 = value; - } - #endif - #if ARRAY_01_POW2_SIZE > 7 - }else{ - #if ARRAY_01_POW2_SIZE > 7 - if (index < 198) { - #endif - if (index == 196) ARRAY_01_STATIC_VAR_196 = value; - else ARRAY_01_STATIC_VAR_197 = value; - #if ARRAY_01_POW2_SIZE > 7 - }else{ - if (index == 198) ARRAY_01_STATIC_VAR_198 = value; - else ARRAY_01_STATIC_VAR_199 = value; - } - #endif - } - #endif - #if ARRAY_01_POW2_SIZE > 7 - }else{ - #if ARRAY_01_POW2_SIZE > 7 - if (index < 204) { - #endif - #if ARRAY_01_POW2_SIZE > 7 - if (index < 202) { - #endif - if (index == 200) ARRAY_01_STATIC_VAR_200 = value; - else ARRAY_01_STATIC_VAR_201 = value; - #if ARRAY_01_POW2_SIZE > 7 - }else{ - if (index == 202) ARRAY_01_STATIC_VAR_202 = value; - else ARRAY_01_STATIC_VAR_203 = value; - } - #endif - #if ARRAY_01_POW2_SIZE > 7 - }else{ - #if ARRAY_01_POW2_SIZE > 7 - if (index < 206) { - #endif - if (index == 204) ARRAY_01_STATIC_VAR_204 = value; - else ARRAY_01_STATIC_VAR_205 = value; - #if ARRAY_01_POW2_SIZE > 7 - }else{ - if (index == 206) ARRAY_01_STATIC_VAR_206 = value; - else ARRAY_01_STATIC_VAR_207 = value; - } - #endif - } - #endif - } - #endif - #if ARRAY_01_POW2_SIZE > 7 - }else{ - #if ARRAY_01_POW2_SIZE > 7 - if (index < 216) { - #endif - #if ARRAY_01_POW2_SIZE > 7 - if (index < 212) { - #endif - #if ARRAY_01_POW2_SIZE > 7 - if (index < 210) { - #endif - if (index == 208) ARRAY_01_STATIC_VAR_208 = value; - else ARRAY_01_STATIC_VAR_209 = value; - #if ARRAY_01_POW2_SIZE > 7 - }else{ - if (index == 210) ARRAY_01_STATIC_VAR_210 = value; - else ARRAY_01_STATIC_VAR_211 = value; - } - #endif - #if ARRAY_01_POW2_SIZE > 7 - }else{ - #if ARRAY_01_POW2_SIZE > 7 - if (index < 214) { - #endif - if (index == 212) ARRAY_01_STATIC_VAR_212 = value; - else ARRAY_01_STATIC_VAR_213 = value; - #if ARRAY_01_POW2_SIZE > 7 - }else{ - if (index == 214) ARRAY_01_STATIC_VAR_214 = value; - else ARRAY_01_STATIC_VAR_215 = value; - } - #endif - } - #endif - #if ARRAY_01_POW2_SIZE > 7 - }else{ - #if ARRAY_01_POW2_SIZE > 7 - if (index < 220) { - #endif - #if ARRAY_01_POW2_SIZE > 7 - if (index < 218) { - #endif - if (index == 216) ARRAY_01_STATIC_VAR_216 = value; - else ARRAY_01_STATIC_VAR_217 = value; - #if ARRAY_01_POW2_SIZE > 7 - }else{ - if (index == 218) ARRAY_01_STATIC_VAR_218 = value; - else ARRAY_01_STATIC_VAR_219 = value; - } - #endif - #if ARRAY_01_POW2_SIZE > 7 - }else{ - #if ARRAY_01_POW2_SIZE > 7 - if (index < 222) { - #endif - if (index == 220) ARRAY_01_STATIC_VAR_220 = value; - else ARRAY_01_STATIC_VAR_221 = value; - #if ARRAY_01_POW2_SIZE > 7 - }else{ - if (index == 222) ARRAY_01_STATIC_VAR_222 = value; - else ARRAY_01_STATIC_VAR_223 = value; - } - #endif - } - #endif - } - #endif - } - #endif - #if ARRAY_01_POW2_SIZE > 7 - }else{ - #if ARRAY_01_POW2_SIZE > 7 - if (index < 240) { - #endif - #if ARRAY_01_POW2_SIZE > 7 - if (index < 232) { - #endif - #if ARRAY_01_POW2_SIZE > 7 - if (index < 228) { - #endif - #if ARRAY_01_POW2_SIZE > 7 - if (index < 226) { - #endif - if (index == 224) ARRAY_01_STATIC_VAR_224 = value; - else ARRAY_01_STATIC_VAR_225 = value; - #if ARRAY_01_POW2_SIZE > 7 - }else{ - if (index == 226) ARRAY_01_STATIC_VAR_226 = value; - else ARRAY_01_STATIC_VAR_227 = value; - } - #endif - #if ARRAY_01_POW2_SIZE > 7 - }else{ - #if ARRAY_01_POW2_SIZE > 7 - if (index < 230) { - #endif - if (index == 228) ARRAY_01_STATIC_VAR_228 = value; - else ARRAY_01_STATIC_VAR_229 = value; - #if ARRAY_01_POW2_SIZE > 7 - }else{ - if (index == 230) ARRAY_01_STATIC_VAR_230 = value; - else ARRAY_01_STATIC_VAR_231 = value; - } - #endif - } - #endif - #if ARRAY_01_POW2_SIZE > 7 - }else{ - #if ARRAY_01_POW2_SIZE > 7 - if (index < 236) { - #endif - #if ARRAY_01_POW2_SIZE > 7 - if (index < 234) { - #endif - if (index == 232) ARRAY_01_STATIC_VAR_232 = value; - else ARRAY_01_STATIC_VAR_233 = value; - #if ARRAY_01_POW2_SIZE > 7 - }else{ - if (index == 234) ARRAY_01_STATIC_VAR_234 = value; - else ARRAY_01_STATIC_VAR_235 = value; - } - #endif - #if ARRAY_01_POW2_SIZE > 7 - }else{ - #if ARRAY_01_POW2_SIZE > 7 - if (index < 238) { - #endif - if (index == 236) ARRAY_01_STATIC_VAR_236 = value; - else ARRAY_01_STATIC_VAR_237 = value; - #if ARRAY_01_POW2_SIZE > 7 - }else{ - if (index == 238) ARRAY_01_STATIC_VAR_238 = value; - else ARRAY_01_STATIC_VAR_239 = value; - } - #endif - } - #endif - } - #endif - #if ARRAY_01_POW2_SIZE > 7 - }else{ - #if ARRAY_01_POW2_SIZE > 7 - if (index < 248) { - #endif - #if ARRAY_01_POW2_SIZE > 7 - if (index < 244) { - #endif - #if ARRAY_01_POW2_SIZE > 7 - if (index < 242) { - #endif - if (index == 240) ARRAY_01_STATIC_VAR_240 = value; - else ARRAY_01_STATIC_VAR_241 = value; - #if ARRAY_01_POW2_SIZE > 7 - }else{ - if (index == 242) ARRAY_01_STATIC_VAR_242 = value; - else ARRAY_01_STATIC_VAR_243 = value; - } - #endif - #if ARRAY_01_POW2_SIZE > 7 - }else{ - #if ARRAY_01_POW2_SIZE > 7 - if (index < 246) { - #endif - if (index == 244) ARRAY_01_STATIC_VAR_244 = value; - else ARRAY_01_STATIC_VAR_245 = value; - #if ARRAY_01_POW2_SIZE > 7 - }else{ - if (index == 246) ARRAY_01_STATIC_VAR_246 = value; - else ARRAY_01_STATIC_VAR_247 = value; - } - #endif - } - #endif - #if ARRAY_01_POW2_SIZE > 7 - }else{ - #if ARRAY_01_POW2_SIZE > 7 - if (index < 252) { - #endif - #if ARRAY_01_POW2_SIZE > 7 - if (index < 250) { - #endif - if (index == 248) ARRAY_01_STATIC_VAR_248 = value; - else ARRAY_01_STATIC_VAR_249 = value; - #if ARRAY_01_POW2_SIZE > 7 - }else{ - if (index == 250) ARRAY_01_STATIC_VAR_250 = value; - else ARRAY_01_STATIC_VAR_251 = value; - } - #endif - #if ARRAY_01_POW2_SIZE > 7 - }else{ - #if ARRAY_01_POW2_SIZE > 7 - if (index < 254) { - #endif - if (index == 252) ARRAY_01_STATIC_VAR_252 = value; - else ARRAY_01_STATIC_VAR_253 = value; - #if ARRAY_01_POW2_SIZE > 7 - }else{ - if (index == 254) ARRAY_01_STATIC_VAR_254 = value; - else ARRAY_01_STATIC_VAR_255 = value; - } - #endif - } - #endif - } - #endif - } - #endif - } - #endif - } - #endif - } - #endif -} \ No newline at end of file diff --git a/scripts/array_02.h b/scripts/array_02.h deleted file mode 100644 index b099d326163..00000000000 --- a/scripts/array_02.h +++ /dev/null @@ -1,2340 +0,0 @@ -// (c) Beherith mysterme@gmail.com. DO NOT TOUCH: generated by array_header_generator.ipynb -// Notes: -// #define ARRAY_02_POW2_SIZE -// use the ARRAY_XX_GET(i) and ARRAY_XX_SET(i,v) function macros -// ARRAY_XX_GET(i) will always place value into ARRAY_VALUE -// average calls per value is about 12 - -#ifndef ARRAY_02_POW2_SIZE - #define ARRAY_02_POW2_SIZE 4 -#endif - -#ifndef ARRAY_TEMP_DEFINED - static-var ARRAY_VALUE; - #define ARRAY_TEMP_DEFINED 1; -#endif - -#define ARRAY_02_SET(i,v) call-script ARRAY_02_SETTER(i,v); - -#define ARRAY_02_GET(i) call-script ARRAY_02_GETTER(i); - -#if ARRAY_02_POW2_SIZE > 0 - static-var ARRAY_02_STATIC_VAR_000, ARRAY_02_STATIC_VAR_001; -#endif -#if ARRAY_02_POW2_SIZE > 1 - static-var ARRAY_02_STATIC_VAR_002, ARRAY_02_STATIC_VAR_003; -#endif -#if ARRAY_02_POW2_SIZE > 2 - static-var ARRAY_02_STATIC_VAR_004, ARRAY_02_STATIC_VAR_005, ARRAY_02_STATIC_VAR_006, ARRAY_02_STATIC_VAR_007; -#endif -#if ARRAY_02_POW2_SIZE > 3 - static-var ARRAY_02_STATIC_VAR_008, ARRAY_02_STATIC_VAR_009, ARRAY_02_STATIC_VAR_010, ARRAY_02_STATIC_VAR_011, ARRAY_02_STATIC_VAR_012, ARRAY_02_STATIC_VAR_013, ARRAY_02_STATIC_VAR_014, ARRAY_02_STATIC_VAR_015; -#endif -#if ARRAY_02_POW2_SIZE > 4 - static-var ARRAY_02_STATIC_VAR_016, ARRAY_02_STATIC_VAR_017, ARRAY_02_STATIC_VAR_018, ARRAY_02_STATIC_VAR_019, ARRAY_02_STATIC_VAR_020, ARRAY_02_STATIC_VAR_021, ARRAY_02_STATIC_VAR_022, ARRAY_02_STATIC_VAR_023, ARRAY_02_STATIC_VAR_024, ARRAY_02_STATIC_VAR_025, ARRAY_02_STATIC_VAR_026, ARRAY_02_STATIC_VAR_027, ARRAY_02_STATIC_VAR_028, ARRAY_02_STATIC_VAR_029, ARRAY_02_STATIC_VAR_030, ARRAY_02_STATIC_VAR_031; -#endif -#if ARRAY_02_POW2_SIZE > 5 - static-var ARRAY_02_STATIC_VAR_032, ARRAY_02_STATIC_VAR_033, ARRAY_02_STATIC_VAR_034, ARRAY_02_STATIC_VAR_035, ARRAY_02_STATIC_VAR_036, ARRAY_02_STATIC_VAR_037, ARRAY_02_STATIC_VAR_038, ARRAY_02_STATIC_VAR_039, ARRAY_02_STATIC_VAR_040, ARRAY_02_STATIC_VAR_041, ARRAY_02_STATIC_VAR_042, ARRAY_02_STATIC_VAR_043, ARRAY_02_STATIC_VAR_044, ARRAY_02_STATIC_VAR_045, ARRAY_02_STATIC_VAR_046, ARRAY_02_STATIC_VAR_047, ARRAY_02_STATIC_VAR_048, ARRAY_02_STATIC_VAR_049, ARRAY_02_STATIC_VAR_050, ARRAY_02_STATIC_VAR_051, ARRAY_02_STATIC_VAR_052, ARRAY_02_STATIC_VAR_053, ARRAY_02_STATIC_VAR_054, ARRAY_02_STATIC_VAR_055, ARRAY_02_STATIC_VAR_056, ARRAY_02_STATIC_VAR_057, ARRAY_02_STATIC_VAR_058, ARRAY_02_STATIC_VAR_059, ARRAY_02_STATIC_VAR_060, ARRAY_02_STATIC_VAR_061, ARRAY_02_STATIC_VAR_062, ARRAY_02_STATIC_VAR_063; -#endif -#if ARRAY_02_POW2_SIZE > 6 - static-var ARRAY_02_STATIC_VAR_064, ARRAY_02_STATIC_VAR_065, ARRAY_02_STATIC_VAR_066, ARRAY_02_STATIC_VAR_067, ARRAY_02_STATIC_VAR_068, ARRAY_02_STATIC_VAR_069, ARRAY_02_STATIC_VAR_070, ARRAY_02_STATIC_VAR_071, ARRAY_02_STATIC_VAR_072, ARRAY_02_STATIC_VAR_073, ARRAY_02_STATIC_VAR_074, ARRAY_02_STATIC_VAR_075, ARRAY_02_STATIC_VAR_076, ARRAY_02_STATIC_VAR_077, ARRAY_02_STATIC_VAR_078, ARRAY_02_STATIC_VAR_079, ARRAY_02_STATIC_VAR_080, ARRAY_02_STATIC_VAR_081, ARRAY_02_STATIC_VAR_082, ARRAY_02_STATIC_VAR_083, ARRAY_02_STATIC_VAR_084, ARRAY_02_STATIC_VAR_085, ARRAY_02_STATIC_VAR_086, ARRAY_02_STATIC_VAR_087, ARRAY_02_STATIC_VAR_088, ARRAY_02_STATIC_VAR_089, ARRAY_02_STATIC_VAR_090, ARRAY_02_STATIC_VAR_091, ARRAY_02_STATIC_VAR_092, ARRAY_02_STATIC_VAR_093, ARRAY_02_STATIC_VAR_094, ARRAY_02_STATIC_VAR_095, ARRAY_02_STATIC_VAR_096, ARRAY_02_STATIC_VAR_097, ARRAY_02_STATIC_VAR_098, ARRAY_02_STATIC_VAR_099, ARRAY_02_STATIC_VAR_100, ARRAY_02_STATIC_VAR_101, ARRAY_02_STATIC_VAR_102, ARRAY_02_STATIC_VAR_103, ARRAY_02_STATIC_VAR_104, ARRAY_02_STATIC_VAR_105, ARRAY_02_STATIC_VAR_106, ARRAY_02_STATIC_VAR_107, ARRAY_02_STATIC_VAR_108, ARRAY_02_STATIC_VAR_109, ARRAY_02_STATIC_VAR_110, ARRAY_02_STATIC_VAR_111, ARRAY_02_STATIC_VAR_112, ARRAY_02_STATIC_VAR_113, ARRAY_02_STATIC_VAR_114, ARRAY_02_STATIC_VAR_115, ARRAY_02_STATIC_VAR_116, ARRAY_02_STATIC_VAR_117, ARRAY_02_STATIC_VAR_118, ARRAY_02_STATIC_VAR_119, ARRAY_02_STATIC_VAR_120, ARRAY_02_STATIC_VAR_121, ARRAY_02_STATIC_VAR_122, ARRAY_02_STATIC_VAR_123, ARRAY_02_STATIC_VAR_124, ARRAY_02_STATIC_VAR_125, ARRAY_02_STATIC_VAR_126, ARRAY_02_STATIC_VAR_127; -#endif -#if ARRAY_02_POW2_SIZE > 7 - static-var ARRAY_02_STATIC_VAR_128, ARRAY_02_STATIC_VAR_129, ARRAY_02_STATIC_VAR_130, ARRAY_02_STATIC_VAR_131, ARRAY_02_STATIC_VAR_132, ARRAY_02_STATIC_VAR_133, ARRAY_02_STATIC_VAR_134, ARRAY_02_STATIC_VAR_135, ARRAY_02_STATIC_VAR_136, ARRAY_02_STATIC_VAR_137, ARRAY_02_STATIC_VAR_138, ARRAY_02_STATIC_VAR_139, ARRAY_02_STATIC_VAR_140, ARRAY_02_STATIC_VAR_141, ARRAY_02_STATIC_VAR_142, ARRAY_02_STATIC_VAR_143, ARRAY_02_STATIC_VAR_144, ARRAY_02_STATIC_VAR_145, ARRAY_02_STATIC_VAR_146, ARRAY_02_STATIC_VAR_147, ARRAY_02_STATIC_VAR_148, ARRAY_02_STATIC_VAR_149, ARRAY_02_STATIC_VAR_150, ARRAY_02_STATIC_VAR_151, ARRAY_02_STATIC_VAR_152, ARRAY_02_STATIC_VAR_153, ARRAY_02_STATIC_VAR_154, ARRAY_02_STATIC_VAR_155, ARRAY_02_STATIC_VAR_156, ARRAY_02_STATIC_VAR_157, ARRAY_02_STATIC_VAR_158, ARRAY_02_STATIC_VAR_159, ARRAY_02_STATIC_VAR_160, ARRAY_02_STATIC_VAR_161, ARRAY_02_STATIC_VAR_162, ARRAY_02_STATIC_VAR_163, ARRAY_02_STATIC_VAR_164, ARRAY_02_STATIC_VAR_165, ARRAY_02_STATIC_VAR_166, ARRAY_02_STATIC_VAR_167, ARRAY_02_STATIC_VAR_168, ARRAY_02_STATIC_VAR_169, ARRAY_02_STATIC_VAR_170, ARRAY_02_STATIC_VAR_171, ARRAY_02_STATIC_VAR_172, ARRAY_02_STATIC_VAR_173, ARRAY_02_STATIC_VAR_174, ARRAY_02_STATIC_VAR_175, ARRAY_02_STATIC_VAR_176, ARRAY_02_STATIC_VAR_177, ARRAY_02_STATIC_VAR_178, ARRAY_02_STATIC_VAR_179, ARRAY_02_STATIC_VAR_180, ARRAY_02_STATIC_VAR_181, ARRAY_02_STATIC_VAR_182, ARRAY_02_STATIC_VAR_183, ARRAY_02_STATIC_VAR_184, ARRAY_02_STATIC_VAR_185, ARRAY_02_STATIC_VAR_186, ARRAY_02_STATIC_VAR_187, ARRAY_02_STATIC_VAR_188, ARRAY_02_STATIC_VAR_189, ARRAY_02_STATIC_VAR_190, ARRAY_02_STATIC_VAR_191, ARRAY_02_STATIC_VAR_192, ARRAY_02_STATIC_VAR_193, ARRAY_02_STATIC_VAR_194, ARRAY_02_STATIC_VAR_195, ARRAY_02_STATIC_VAR_196, ARRAY_02_STATIC_VAR_197, ARRAY_02_STATIC_VAR_198, ARRAY_02_STATIC_VAR_199, ARRAY_02_STATIC_VAR_200, ARRAY_02_STATIC_VAR_201, ARRAY_02_STATIC_VAR_202, ARRAY_02_STATIC_VAR_203, ARRAY_02_STATIC_VAR_204, ARRAY_02_STATIC_VAR_205, ARRAY_02_STATIC_VAR_206, ARRAY_02_STATIC_VAR_207, ARRAY_02_STATIC_VAR_208, ARRAY_02_STATIC_VAR_209, ARRAY_02_STATIC_VAR_210, ARRAY_02_STATIC_VAR_211, ARRAY_02_STATIC_VAR_212, ARRAY_02_STATIC_VAR_213, ARRAY_02_STATIC_VAR_214, ARRAY_02_STATIC_VAR_215, ARRAY_02_STATIC_VAR_216, ARRAY_02_STATIC_VAR_217, ARRAY_02_STATIC_VAR_218, ARRAY_02_STATIC_VAR_219, ARRAY_02_STATIC_VAR_220, ARRAY_02_STATIC_VAR_221, ARRAY_02_STATIC_VAR_222, ARRAY_02_STATIC_VAR_223, ARRAY_02_STATIC_VAR_224, ARRAY_02_STATIC_VAR_225, ARRAY_02_STATIC_VAR_226, ARRAY_02_STATIC_VAR_227, ARRAY_02_STATIC_VAR_228, ARRAY_02_STATIC_VAR_229, ARRAY_02_STATIC_VAR_230, ARRAY_02_STATIC_VAR_231, ARRAY_02_STATIC_VAR_232, ARRAY_02_STATIC_VAR_233, ARRAY_02_STATIC_VAR_234, ARRAY_02_STATIC_VAR_235, ARRAY_02_STATIC_VAR_236, ARRAY_02_STATIC_VAR_237, ARRAY_02_STATIC_VAR_238, ARRAY_02_STATIC_VAR_239, ARRAY_02_STATIC_VAR_240, ARRAY_02_STATIC_VAR_241, ARRAY_02_STATIC_VAR_242, ARRAY_02_STATIC_VAR_243, ARRAY_02_STATIC_VAR_244, ARRAY_02_STATIC_VAR_245, ARRAY_02_STATIC_VAR_246, ARRAY_02_STATIC_VAR_247, ARRAY_02_STATIC_VAR_248, ARRAY_02_STATIC_VAR_249, ARRAY_02_STATIC_VAR_250, ARRAY_02_STATIC_VAR_251, ARRAY_02_STATIC_VAR_252, ARRAY_02_STATIC_VAR_253, ARRAY_02_STATIC_VAR_254, ARRAY_02_STATIC_VAR_255; -#endif - -ARRAY_02_GETTER(index) { - #if ARRAY_02_POW2_SIZE > 7 - if (index < 128) { - #endif - #if ARRAY_02_POW2_SIZE > 6 - if (index < 64) { - #endif - #if ARRAY_02_POW2_SIZE > 5 - if (index < 32) { - #endif - #if ARRAY_02_POW2_SIZE > 4 - if (index < 16) { - #endif - #if ARRAY_02_POW2_SIZE > 3 - if (index < 8) { - #endif - #if ARRAY_02_POW2_SIZE > 2 - if (index < 4) { - #endif - #if ARRAY_02_POW2_SIZE > 1 - if (index < 2) { - #endif - if (index == 0) ARRAY_VALUE = ARRAY_02_STATIC_VAR_000; - else ARRAY_VALUE = ARRAY_02_STATIC_VAR_001; - #if ARRAY_02_POW2_SIZE > 1 - }else{ - if (index == 2) ARRAY_VALUE = ARRAY_02_STATIC_VAR_002; - else ARRAY_VALUE = ARRAY_02_STATIC_VAR_003; - } - #endif - #if ARRAY_02_POW2_SIZE > 2 - }else{ - #if ARRAY_02_POW2_SIZE > 2 - if (index < 6) { - #endif - if (index == 4) ARRAY_VALUE = ARRAY_02_STATIC_VAR_004; - else ARRAY_VALUE = ARRAY_02_STATIC_VAR_005; - #if ARRAY_02_POW2_SIZE > 2 - }else{ - if (index == 6) ARRAY_VALUE = ARRAY_02_STATIC_VAR_006; - else ARRAY_VALUE = ARRAY_02_STATIC_VAR_007; - } - #endif - } - #endif - #if ARRAY_02_POW2_SIZE > 3 - }else{ - #if ARRAY_02_POW2_SIZE > 3 - if (index < 12) { - #endif - #if ARRAY_02_POW2_SIZE > 3 - if (index < 10) { - #endif - if (index == 8) ARRAY_VALUE = ARRAY_02_STATIC_VAR_008; - else ARRAY_VALUE = ARRAY_02_STATIC_VAR_009; - #if ARRAY_02_POW2_SIZE > 3 - }else{ - if (index == 10) ARRAY_VALUE = ARRAY_02_STATIC_VAR_010; - else ARRAY_VALUE = ARRAY_02_STATIC_VAR_011; - } - #endif - #if ARRAY_02_POW2_SIZE > 3 - }else{ - #if ARRAY_02_POW2_SIZE > 3 - if (index < 14) { - #endif - if (index == 12) ARRAY_VALUE = ARRAY_02_STATIC_VAR_012; - else ARRAY_VALUE = ARRAY_02_STATIC_VAR_013; - #if ARRAY_02_POW2_SIZE > 3 - }else{ - if (index == 14) ARRAY_VALUE = ARRAY_02_STATIC_VAR_014; - else ARRAY_VALUE = ARRAY_02_STATIC_VAR_015; - } - #endif - } - #endif - } - #endif - #if ARRAY_02_POW2_SIZE > 4 - }else{ - #if ARRAY_02_POW2_SIZE > 4 - if (index < 24) { - #endif - #if ARRAY_02_POW2_SIZE > 4 - if (index < 20) { - #endif - #if ARRAY_02_POW2_SIZE > 4 - if (index < 18) { - #endif - if (index == 16) ARRAY_VALUE = ARRAY_02_STATIC_VAR_016; - else ARRAY_VALUE = ARRAY_02_STATIC_VAR_017; - #if ARRAY_02_POW2_SIZE > 4 - }else{ - if (index == 18) ARRAY_VALUE = ARRAY_02_STATIC_VAR_018; - else ARRAY_VALUE = ARRAY_02_STATIC_VAR_019; - } - #endif - #if ARRAY_02_POW2_SIZE > 4 - }else{ - #if ARRAY_02_POW2_SIZE > 4 - if (index < 22) { - #endif - if (index == 20) ARRAY_VALUE = ARRAY_02_STATIC_VAR_020; - else ARRAY_VALUE = ARRAY_02_STATIC_VAR_021; - #if ARRAY_02_POW2_SIZE > 4 - }else{ - if (index == 22) ARRAY_VALUE = ARRAY_02_STATIC_VAR_022; - else ARRAY_VALUE = ARRAY_02_STATIC_VAR_023; - } - #endif - } - #endif - #if ARRAY_02_POW2_SIZE > 4 - }else{ - #if ARRAY_02_POW2_SIZE > 4 - if (index < 28) { - #endif - #if ARRAY_02_POW2_SIZE > 4 - if (index < 26) { - #endif - if (index == 24) ARRAY_VALUE = ARRAY_02_STATIC_VAR_024; - else ARRAY_VALUE = ARRAY_02_STATIC_VAR_025; - #if ARRAY_02_POW2_SIZE > 4 - }else{ - if (index == 26) ARRAY_VALUE = ARRAY_02_STATIC_VAR_026; - else ARRAY_VALUE = ARRAY_02_STATIC_VAR_027; - } - #endif - #if ARRAY_02_POW2_SIZE > 4 - }else{ - #if ARRAY_02_POW2_SIZE > 4 - if (index < 30) { - #endif - if (index == 28) ARRAY_VALUE = ARRAY_02_STATIC_VAR_028; - else ARRAY_VALUE = ARRAY_02_STATIC_VAR_029; - #if ARRAY_02_POW2_SIZE > 4 - }else{ - if (index == 30) ARRAY_VALUE = ARRAY_02_STATIC_VAR_030; - else ARRAY_VALUE = ARRAY_02_STATIC_VAR_031; - } - #endif - } - #endif - } - #endif - } - #endif - #if ARRAY_02_POW2_SIZE > 5 - }else{ - #if ARRAY_02_POW2_SIZE > 5 - if (index < 48) { - #endif - #if ARRAY_02_POW2_SIZE > 5 - if (index < 40) { - #endif - #if ARRAY_02_POW2_SIZE > 5 - if (index < 36) { - #endif - #if ARRAY_02_POW2_SIZE > 5 - if (index < 34) { - #endif - if (index == 32) ARRAY_VALUE = ARRAY_02_STATIC_VAR_032; - else ARRAY_VALUE = ARRAY_02_STATIC_VAR_033; - #if ARRAY_02_POW2_SIZE > 5 - }else{ - if (index == 34) ARRAY_VALUE = ARRAY_02_STATIC_VAR_034; - else ARRAY_VALUE = ARRAY_02_STATIC_VAR_035; - } - #endif - #if ARRAY_02_POW2_SIZE > 5 - }else{ - #if ARRAY_02_POW2_SIZE > 5 - if (index < 38) { - #endif - if (index == 36) ARRAY_VALUE = ARRAY_02_STATIC_VAR_036; - else ARRAY_VALUE = ARRAY_02_STATIC_VAR_037; - #if ARRAY_02_POW2_SIZE > 5 - }else{ - if (index == 38) ARRAY_VALUE = ARRAY_02_STATIC_VAR_038; - else ARRAY_VALUE = ARRAY_02_STATIC_VAR_039; - } - #endif - } - #endif - #if ARRAY_02_POW2_SIZE > 5 - }else{ - #if ARRAY_02_POW2_SIZE > 5 - if (index < 44) { - #endif - #if ARRAY_02_POW2_SIZE > 5 - if (index < 42) { - #endif - if (index == 40) ARRAY_VALUE = ARRAY_02_STATIC_VAR_040; - else ARRAY_VALUE = ARRAY_02_STATIC_VAR_041; - #if ARRAY_02_POW2_SIZE > 5 - }else{ - if (index == 42) ARRAY_VALUE = ARRAY_02_STATIC_VAR_042; - else ARRAY_VALUE = ARRAY_02_STATIC_VAR_043; - } - #endif - #if ARRAY_02_POW2_SIZE > 5 - }else{ - #if ARRAY_02_POW2_SIZE > 5 - if (index < 46) { - #endif - if (index == 44) ARRAY_VALUE = ARRAY_02_STATIC_VAR_044; - else ARRAY_VALUE = ARRAY_02_STATIC_VAR_045; - #if ARRAY_02_POW2_SIZE > 5 - }else{ - if (index == 46) ARRAY_VALUE = ARRAY_02_STATIC_VAR_046; - else ARRAY_VALUE = ARRAY_02_STATIC_VAR_047; - } - #endif - } - #endif - } - #endif - #if ARRAY_02_POW2_SIZE > 5 - }else{ - #if ARRAY_02_POW2_SIZE > 5 - if (index < 56) { - #endif - #if ARRAY_02_POW2_SIZE > 5 - if (index < 52) { - #endif - #if ARRAY_02_POW2_SIZE > 5 - if (index < 50) { - #endif - if (index == 48) ARRAY_VALUE = ARRAY_02_STATIC_VAR_048; - else ARRAY_VALUE = ARRAY_02_STATIC_VAR_049; - #if ARRAY_02_POW2_SIZE > 5 - }else{ - if (index == 50) ARRAY_VALUE = ARRAY_02_STATIC_VAR_050; - else ARRAY_VALUE = ARRAY_02_STATIC_VAR_051; - } - #endif - #if ARRAY_02_POW2_SIZE > 5 - }else{ - #if ARRAY_02_POW2_SIZE > 5 - if (index < 54) { - #endif - if (index == 52) ARRAY_VALUE = ARRAY_02_STATIC_VAR_052; - else ARRAY_VALUE = ARRAY_02_STATIC_VAR_053; - #if ARRAY_02_POW2_SIZE > 5 - }else{ - if (index == 54) ARRAY_VALUE = ARRAY_02_STATIC_VAR_054; - else ARRAY_VALUE = ARRAY_02_STATIC_VAR_055; - } - #endif - } - #endif - #if ARRAY_02_POW2_SIZE > 5 - }else{ - #if ARRAY_02_POW2_SIZE > 5 - if (index < 60) { - #endif - #if ARRAY_02_POW2_SIZE > 5 - if (index < 58) { - #endif - if (index == 56) ARRAY_VALUE = ARRAY_02_STATIC_VAR_056; - else ARRAY_VALUE = ARRAY_02_STATIC_VAR_057; - #if ARRAY_02_POW2_SIZE > 5 - }else{ - if (index == 58) ARRAY_VALUE = ARRAY_02_STATIC_VAR_058; - else ARRAY_VALUE = ARRAY_02_STATIC_VAR_059; - } - #endif - #if ARRAY_02_POW2_SIZE > 5 - }else{ - #if ARRAY_02_POW2_SIZE > 5 - if (index < 62) { - #endif - if (index == 60) ARRAY_VALUE = ARRAY_02_STATIC_VAR_060; - else ARRAY_VALUE = ARRAY_02_STATIC_VAR_061; - #if ARRAY_02_POW2_SIZE > 5 - }else{ - if (index == 62) ARRAY_VALUE = ARRAY_02_STATIC_VAR_062; - else ARRAY_VALUE = ARRAY_02_STATIC_VAR_063; - } - #endif - } - #endif - } - #endif - } - #endif - } - #endif - #if ARRAY_02_POW2_SIZE > 6 - }else{ - #if ARRAY_02_POW2_SIZE > 6 - if (index < 96) { - #endif - #if ARRAY_02_POW2_SIZE > 6 - if (index < 80) { - #endif - #if ARRAY_02_POW2_SIZE > 6 - if (index < 72) { - #endif - #if ARRAY_02_POW2_SIZE > 6 - if (index < 68) { - #endif - #if ARRAY_02_POW2_SIZE > 6 - if (index < 66) { - #endif - if (index == 64) ARRAY_VALUE = ARRAY_02_STATIC_VAR_064; - else ARRAY_VALUE = ARRAY_02_STATIC_VAR_065; - #if ARRAY_02_POW2_SIZE > 6 - }else{ - if (index == 66) ARRAY_VALUE = ARRAY_02_STATIC_VAR_066; - else ARRAY_VALUE = ARRAY_02_STATIC_VAR_067; - } - #endif - #if ARRAY_02_POW2_SIZE > 6 - }else{ - #if ARRAY_02_POW2_SIZE > 6 - if (index < 70) { - #endif - if (index == 68) ARRAY_VALUE = ARRAY_02_STATIC_VAR_068; - else ARRAY_VALUE = ARRAY_02_STATIC_VAR_069; - #if ARRAY_02_POW2_SIZE > 6 - }else{ - if (index == 70) ARRAY_VALUE = ARRAY_02_STATIC_VAR_070; - else ARRAY_VALUE = ARRAY_02_STATIC_VAR_071; - } - #endif - } - #endif - #if ARRAY_02_POW2_SIZE > 6 - }else{ - #if ARRAY_02_POW2_SIZE > 6 - if (index < 76) { - #endif - #if ARRAY_02_POW2_SIZE > 6 - if (index < 74) { - #endif - if (index == 72) ARRAY_VALUE = ARRAY_02_STATIC_VAR_072; - else ARRAY_VALUE = ARRAY_02_STATIC_VAR_073; - #if ARRAY_02_POW2_SIZE > 6 - }else{ - if (index == 74) ARRAY_VALUE = ARRAY_02_STATIC_VAR_074; - else ARRAY_VALUE = ARRAY_02_STATIC_VAR_075; - } - #endif - #if ARRAY_02_POW2_SIZE > 6 - }else{ - #if ARRAY_02_POW2_SIZE > 6 - if (index < 78) { - #endif - if (index == 76) ARRAY_VALUE = ARRAY_02_STATIC_VAR_076; - else ARRAY_VALUE = ARRAY_02_STATIC_VAR_077; - #if ARRAY_02_POW2_SIZE > 6 - }else{ - if (index == 78) ARRAY_VALUE = ARRAY_02_STATIC_VAR_078; - else ARRAY_VALUE = ARRAY_02_STATIC_VAR_079; - } - #endif - } - #endif - } - #endif - #if ARRAY_02_POW2_SIZE > 6 - }else{ - #if ARRAY_02_POW2_SIZE > 6 - if (index < 88) { - #endif - #if ARRAY_02_POW2_SIZE > 6 - if (index < 84) { - #endif - #if ARRAY_02_POW2_SIZE > 6 - if (index < 82) { - #endif - if (index == 80) ARRAY_VALUE = ARRAY_02_STATIC_VAR_080; - else ARRAY_VALUE = ARRAY_02_STATIC_VAR_081; - #if ARRAY_02_POW2_SIZE > 6 - }else{ - if (index == 82) ARRAY_VALUE = ARRAY_02_STATIC_VAR_082; - else ARRAY_VALUE = ARRAY_02_STATIC_VAR_083; - } - #endif - #if ARRAY_02_POW2_SIZE > 6 - }else{ - #if ARRAY_02_POW2_SIZE > 6 - if (index < 86) { - #endif - if (index == 84) ARRAY_VALUE = ARRAY_02_STATIC_VAR_084; - else ARRAY_VALUE = ARRAY_02_STATIC_VAR_085; - #if ARRAY_02_POW2_SIZE > 6 - }else{ - if (index == 86) ARRAY_VALUE = ARRAY_02_STATIC_VAR_086; - else ARRAY_VALUE = ARRAY_02_STATIC_VAR_087; - } - #endif - } - #endif - #if ARRAY_02_POW2_SIZE > 6 - }else{ - #if ARRAY_02_POW2_SIZE > 6 - if (index < 92) { - #endif - #if ARRAY_02_POW2_SIZE > 6 - if (index < 90) { - #endif - if (index == 88) ARRAY_VALUE = ARRAY_02_STATIC_VAR_088; - else ARRAY_VALUE = ARRAY_02_STATIC_VAR_089; - #if ARRAY_02_POW2_SIZE > 6 - }else{ - if (index == 90) ARRAY_VALUE = ARRAY_02_STATIC_VAR_090; - else ARRAY_VALUE = ARRAY_02_STATIC_VAR_091; - } - #endif - #if ARRAY_02_POW2_SIZE > 6 - }else{ - #if ARRAY_02_POW2_SIZE > 6 - if (index < 94) { - #endif - if (index == 92) ARRAY_VALUE = ARRAY_02_STATIC_VAR_092; - else ARRAY_VALUE = ARRAY_02_STATIC_VAR_093; - #if ARRAY_02_POW2_SIZE > 6 - }else{ - if (index == 94) ARRAY_VALUE = ARRAY_02_STATIC_VAR_094; - else ARRAY_VALUE = ARRAY_02_STATIC_VAR_095; - } - #endif - } - #endif - } - #endif - } - #endif - #if ARRAY_02_POW2_SIZE > 6 - }else{ - #if ARRAY_02_POW2_SIZE > 6 - if (index < 112) { - #endif - #if ARRAY_02_POW2_SIZE > 6 - if (index < 104) { - #endif - #if ARRAY_02_POW2_SIZE > 6 - if (index < 100) { - #endif - #if ARRAY_02_POW2_SIZE > 6 - if (index < 98) { - #endif - if (index == 96) ARRAY_VALUE = ARRAY_02_STATIC_VAR_096; - else ARRAY_VALUE = ARRAY_02_STATIC_VAR_097; - #if ARRAY_02_POW2_SIZE > 6 - }else{ - if (index == 98) ARRAY_VALUE = ARRAY_02_STATIC_VAR_098; - else ARRAY_VALUE = ARRAY_02_STATIC_VAR_099; - } - #endif - #if ARRAY_02_POW2_SIZE > 6 - }else{ - #if ARRAY_02_POW2_SIZE > 6 - if (index < 102) { - #endif - if (index == 100) ARRAY_VALUE = ARRAY_02_STATIC_VAR_100; - else ARRAY_VALUE = ARRAY_02_STATIC_VAR_101; - #if ARRAY_02_POW2_SIZE > 6 - }else{ - if (index == 102) ARRAY_VALUE = ARRAY_02_STATIC_VAR_102; - else ARRAY_VALUE = ARRAY_02_STATIC_VAR_103; - } - #endif - } - #endif - #if ARRAY_02_POW2_SIZE > 6 - }else{ - #if ARRAY_02_POW2_SIZE > 6 - if (index < 108) { - #endif - #if ARRAY_02_POW2_SIZE > 6 - if (index < 106) { - #endif - if (index == 104) ARRAY_VALUE = ARRAY_02_STATIC_VAR_104; - else ARRAY_VALUE = ARRAY_02_STATIC_VAR_105; - #if ARRAY_02_POW2_SIZE > 6 - }else{ - if (index == 106) ARRAY_VALUE = ARRAY_02_STATIC_VAR_106; - else ARRAY_VALUE = ARRAY_02_STATIC_VAR_107; - } - #endif - #if ARRAY_02_POW2_SIZE > 6 - }else{ - #if ARRAY_02_POW2_SIZE > 6 - if (index < 110) { - #endif - if (index == 108) ARRAY_VALUE = ARRAY_02_STATIC_VAR_108; - else ARRAY_VALUE = ARRAY_02_STATIC_VAR_109; - #if ARRAY_02_POW2_SIZE > 6 - }else{ - if (index == 110) ARRAY_VALUE = ARRAY_02_STATIC_VAR_110; - else ARRAY_VALUE = ARRAY_02_STATIC_VAR_111; - } - #endif - } - #endif - } - #endif - #if ARRAY_02_POW2_SIZE > 6 - }else{ - #if ARRAY_02_POW2_SIZE > 6 - if (index < 120) { - #endif - #if ARRAY_02_POW2_SIZE > 6 - if (index < 116) { - #endif - #if ARRAY_02_POW2_SIZE > 6 - if (index < 114) { - #endif - if (index == 112) ARRAY_VALUE = ARRAY_02_STATIC_VAR_112; - else ARRAY_VALUE = ARRAY_02_STATIC_VAR_113; - #if ARRAY_02_POW2_SIZE > 6 - }else{ - if (index == 114) ARRAY_VALUE = ARRAY_02_STATIC_VAR_114; - else ARRAY_VALUE = ARRAY_02_STATIC_VAR_115; - } - #endif - #if ARRAY_02_POW2_SIZE > 6 - }else{ - #if ARRAY_02_POW2_SIZE > 6 - if (index < 118) { - #endif - if (index == 116) ARRAY_VALUE = ARRAY_02_STATIC_VAR_116; - else ARRAY_VALUE = ARRAY_02_STATIC_VAR_117; - #if ARRAY_02_POW2_SIZE > 6 - }else{ - if (index == 118) ARRAY_VALUE = ARRAY_02_STATIC_VAR_118; - else ARRAY_VALUE = ARRAY_02_STATIC_VAR_119; - } - #endif - } - #endif - #if ARRAY_02_POW2_SIZE > 6 - }else{ - #if ARRAY_02_POW2_SIZE > 6 - if (index < 124) { - #endif - #if ARRAY_02_POW2_SIZE > 6 - if (index < 122) { - #endif - if (index == 120) ARRAY_VALUE = ARRAY_02_STATIC_VAR_120; - else ARRAY_VALUE = ARRAY_02_STATIC_VAR_121; - #if ARRAY_02_POW2_SIZE > 6 - }else{ - if (index == 122) ARRAY_VALUE = ARRAY_02_STATIC_VAR_122; - else ARRAY_VALUE = ARRAY_02_STATIC_VAR_123; - } - #endif - #if ARRAY_02_POW2_SIZE > 6 - }else{ - #if ARRAY_02_POW2_SIZE > 6 - if (index < 126) { - #endif - if (index == 124) ARRAY_VALUE = ARRAY_02_STATIC_VAR_124; - else ARRAY_VALUE = ARRAY_02_STATIC_VAR_125; - #if ARRAY_02_POW2_SIZE > 6 - }else{ - if (index == 126) ARRAY_VALUE = ARRAY_02_STATIC_VAR_126; - else ARRAY_VALUE = ARRAY_02_STATIC_VAR_127; - } - #endif - } - #endif - } - #endif - } - #endif - } - #endif - } - #endif - #if ARRAY_02_POW2_SIZE > 7 - }else{ - #if ARRAY_02_POW2_SIZE > 7 - if (index < 192) { - #endif - #if ARRAY_02_POW2_SIZE > 7 - if (index < 160) { - #endif - #if ARRAY_02_POW2_SIZE > 7 - if (index < 144) { - #endif - #if ARRAY_02_POW2_SIZE > 7 - if (index < 136) { - #endif - #if ARRAY_02_POW2_SIZE > 7 - if (index < 132) { - #endif - #if ARRAY_02_POW2_SIZE > 7 - if (index < 130) { - #endif - if (index == 128) ARRAY_VALUE = ARRAY_02_STATIC_VAR_128; - else ARRAY_VALUE = ARRAY_02_STATIC_VAR_129; - #if ARRAY_02_POW2_SIZE > 7 - }else{ - if (index == 130) ARRAY_VALUE = ARRAY_02_STATIC_VAR_130; - else ARRAY_VALUE = ARRAY_02_STATIC_VAR_131; - } - #endif - #if ARRAY_02_POW2_SIZE > 7 - }else{ - #if ARRAY_02_POW2_SIZE > 7 - if (index < 134) { - #endif - if (index == 132) ARRAY_VALUE = ARRAY_02_STATIC_VAR_132; - else ARRAY_VALUE = ARRAY_02_STATIC_VAR_133; - #if ARRAY_02_POW2_SIZE > 7 - }else{ - if (index == 134) ARRAY_VALUE = ARRAY_02_STATIC_VAR_134; - else ARRAY_VALUE = ARRAY_02_STATIC_VAR_135; - } - #endif - } - #endif - #if ARRAY_02_POW2_SIZE > 7 - }else{ - #if ARRAY_02_POW2_SIZE > 7 - if (index < 140) { - #endif - #if ARRAY_02_POW2_SIZE > 7 - if (index < 138) { - #endif - if (index == 136) ARRAY_VALUE = ARRAY_02_STATIC_VAR_136; - else ARRAY_VALUE = ARRAY_02_STATIC_VAR_137; - #if ARRAY_02_POW2_SIZE > 7 - }else{ - if (index == 138) ARRAY_VALUE = ARRAY_02_STATIC_VAR_138; - else ARRAY_VALUE = ARRAY_02_STATIC_VAR_139; - } - #endif - #if ARRAY_02_POW2_SIZE > 7 - }else{ - #if ARRAY_02_POW2_SIZE > 7 - if (index < 142) { - #endif - if (index == 140) ARRAY_VALUE = ARRAY_02_STATIC_VAR_140; - else ARRAY_VALUE = ARRAY_02_STATIC_VAR_141; - #if ARRAY_02_POW2_SIZE > 7 - }else{ - if (index == 142) ARRAY_VALUE = ARRAY_02_STATIC_VAR_142; - else ARRAY_VALUE = ARRAY_02_STATIC_VAR_143; - } - #endif - } - #endif - } - #endif - #if ARRAY_02_POW2_SIZE > 7 - }else{ - #if ARRAY_02_POW2_SIZE > 7 - if (index < 152) { - #endif - #if ARRAY_02_POW2_SIZE > 7 - if (index < 148) { - #endif - #if ARRAY_02_POW2_SIZE > 7 - if (index < 146) { - #endif - if (index == 144) ARRAY_VALUE = ARRAY_02_STATIC_VAR_144; - else ARRAY_VALUE = ARRAY_02_STATIC_VAR_145; - #if ARRAY_02_POW2_SIZE > 7 - }else{ - if (index == 146) ARRAY_VALUE = ARRAY_02_STATIC_VAR_146; - else ARRAY_VALUE = ARRAY_02_STATIC_VAR_147; - } - #endif - #if ARRAY_02_POW2_SIZE > 7 - }else{ - #if ARRAY_02_POW2_SIZE > 7 - if (index < 150) { - #endif - if (index == 148) ARRAY_VALUE = ARRAY_02_STATIC_VAR_148; - else ARRAY_VALUE = ARRAY_02_STATIC_VAR_149; - #if ARRAY_02_POW2_SIZE > 7 - }else{ - if (index == 150) ARRAY_VALUE = ARRAY_02_STATIC_VAR_150; - else ARRAY_VALUE = ARRAY_02_STATIC_VAR_151; - } - #endif - } - #endif - #if ARRAY_02_POW2_SIZE > 7 - }else{ - #if ARRAY_02_POW2_SIZE > 7 - if (index < 156) { - #endif - #if ARRAY_02_POW2_SIZE > 7 - if (index < 154) { - #endif - if (index == 152) ARRAY_VALUE = ARRAY_02_STATIC_VAR_152; - else ARRAY_VALUE = ARRAY_02_STATIC_VAR_153; - #if ARRAY_02_POW2_SIZE > 7 - }else{ - if (index == 154) ARRAY_VALUE = ARRAY_02_STATIC_VAR_154; - else ARRAY_VALUE = ARRAY_02_STATIC_VAR_155; - } - #endif - #if ARRAY_02_POW2_SIZE > 7 - }else{ - #if ARRAY_02_POW2_SIZE > 7 - if (index < 158) { - #endif - if (index == 156) ARRAY_VALUE = ARRAY_02_STATIC_VAR_156; - else ARRAY_VALUE = ARRAY_02_STATIC_VAR_157; - #if ARRAY_02_POW2_SIZE > 7 - }else{ - if (index == 158) ARRAY_VALUE = ARRAY_02_STATIC_VAR_158; - else ARRAY_VALUE = ARRAY_02_STATIC_VAR_159; - } - #endif - } - #endif - } - #endif - } - #endif - #if ARRAY_02_POW2_SIZE > 7 - }else{ - #if ARRAY_02_POW2_SIZE > 7 - if (index < 176) { - #endif - #if ARRAY_02_POW2_SIZE > 7 - if (index < 168) { - #endif - #if ARRAY_02_POW2_SIZE > 7 - if (index < 164) { - #endif - #if ARRAY_02_POW2_SIZE > 7 - if (index < 162) { - #endif - if (index == 160) ARRAY_VALUE = ARRAY_02_STATIC_VAR_160; - else ARRAY_VALUE = ARRAY_02_STATIC_VAR_161; - #if ARRAY_02_POW2_SIZE > 7 - }else{ - if (index == 162) ARRAY_VALUE = ARRAY_02_STATIC_VAR_162; - else ARRAY_VALUE = ARRAY_02_STATIC_VAR_163; - } - #endif - #if ARRAY_02_POW2_SIZE > 7 - }else{ - #if ARRAY_02_POW2_SIZE > 7 - if (index < 166) { - #endif - if (index == 164) ARRAY_VALUE = ARRAY_02_STATIC_VAR_164; - else ARRAY_VALUE = ARRAY_02_STATIC_VAR_165; - #if ARRAY_02_POW2_SIZE > 7 - }else{ - if (index == 166) ARRAY_VALUE = ARRAY_02_STATIC_VAR_166; - else ARRAY_VALUE = ARRAY_02_STATIC_VAR_167; - } - #endif - } - #endif - #if ARRAY_02_POW2_SIZE > 7 - }else{ - #if ARRAY_02_POW2_SIZE > 7 - if (index < 172) { - #endif - #if ARRAY_02_POW2_SIZE > 7 - if (index < 170) { - #endif - if (index == 168) ARRAY_VALUE = ARRAY_02_STATIC_VAR_168; - else ARRAY_VALUE = ARRAY_02_STATIC_VAR_169; - #if ARRAY_02_POW2_SIZE > 7 - }else{ - if (index == 170) ARRAY_VALUE = ARRAY_02_STATIC_VAR_170; - else ARRAY_VALUE = ARRAY_02_STATIC_VAR_171; - } - #endif - #if ARRAY_02_POW2_SIZE > 7 - }else{ - #if ARRAY_02_POW2_SIZE > 7 - if (index < 174) { - #endif - if (index == 172) ARRAY_VALUE = ARRAY_02_STATIC_VAR_172; - else ARRAY_VALUE = ARRAY_02_STATIC_VAR_173; - #if ARRAY_02_POW2_SIZE > 7 - }else{ - if (index == 174) ARRAY_VALUE = ARRAY_02_STATIC_VAR_174; - else ARRAY_VALUE = ARRAY_02_STATIC_VAR_175; - } - #endif - } - #endif - } - #endif - #if ARRAY_02_POW2_SIZE > 7 - }else{ - #if ARRAY_02_POW2_SIZE > 7 - if (index < 184) { - #endif - #if ARRAY_02_POW2_SIZE > 7 - if (index < 180) { - #endif - #if ARRAY_02_POW2_SIZE > 7 - if (index < 178) { - #endif - if (index == 176) ARRAY_VALUE = ARRAY_02_STATIC_VAR_176; - else ARRAY_VALUE = ARRAY_02_STATIC_VAR_177; - #if ARRAY_02_POW2_SIZE > 7 - }else{ - if (index == 178) ARRAY_VALUE = ARRAY_02_STATIC_VAR_178; - else ARRAY_VALUE = ARRAY_02_STATIC_VAR_179; - } - #endif - #if ARRAY_02_POW2_SIZE > 7 - }else{ - #if ARRAY_02_POW2_SIZE > 7 - if (index < 182) { - #endif - if (index == 180) ARRAY_VALUE = ARRAY_02_STATIC_VAR_180; - else ARRAY_VALUE = ARRAY_02_STATIC_VAR_181; - #if ARRAY_02_POW2_SIZE > 7 - }else{ - if (index == 182) ARRAY_VALUE = ARRAY_02_STATIC_VAR_182; - else ARRAY_VALUE = ARRAY_02_STATIC_VAR_183; - } - #endif - } - #endif - #if ARRAY_02_POW2_SIZE > 7 - }else{ - #if ARRAY_02_POW2_SIZE > 7 - if (index < 188) { - #endif - #if ARRAY_02_POW2_SIZE > 7 - if (index < 186) { - #endif - if (index == 184) ARRAY_VALUE = ARRAY_02_STATIC_VAR_184; - else ARRAY_VALUE = ARRAY_02_STATIC_VAR_185; - #if ARRAY_02_POW2_SIZE > 7 - }else{ - if (index == 186) ARRAY_VALUE = ARRAY_02_STATIC_VAR_186; - else ARRAY_VALUE = ARRAY_02_STATIC_VAR_187; - } - #endif - #if ARRAY_02_POW2_SIZE > 7 - }else{ - #if ARRAY_02_POW2_SIZE > 7 - if (index < 190) { - #endif - if (index == 188) ARRAY_VALUE = ARRAY_02_STATIC_VAR_188; - else ARRAY_VALUE = ARRAY_02_STATIC_VAR_189; - #if ARRAY_02_POW2_SIZE > 7 - }else{ - if (index == 190) ARRAY_VALUE = ARRAY_02_STATIC_VAR_190; - else ARRAY_VALUE = ARRAY_02_STATIC_VAR_191; - } - #endif - } - #endif - } - #endif - } - #endif - } - #endif - #if ARRAY_02_POW2_SIZE > 7 - }else{ - #if ARRAY_02_POW2_SIZE > 7 - if (index < 224) { - #endif - #if ARRAY_02_POW2_SIZE > 7 - if (index < 208) { - #endif - #if ARRAY_02_POW2_SIZE > 7 - if (index < 200) { - #endif - #if ARRAY_02_POW2_SIZE > 7 - if (index < 196) { - #endif - #if ARRAY_02_POW2_SIZE > 7 - if (index < 194) { - #endif - if (index == 192) ARRAY_VALUE = ARRAY_02_STATIC_VAR_192; - else ARRAY_VALUE = ARRAY_02_STATIC_VAR_193; - #if ARRAY_02_POW2_SIZE > 7 - }else{ - if (index == 194) ARRAY_VALUE = ARRAY_02_STATIC_VAR_194; - else ARRAY_VALUE = ARRAY_02_STATIC_VAR_195; - } - #endif - #if ARRAY_02_POW2_SIZE > 7 - }else{ - #if ARRAY_02_POW2_SIZE > 7 - if (index < 198) { - #endif - if (index == 196) ARRAY_VALUE = ARRAY_02_STATIC_VAR_196; - else ARRAY_VALUE = ARRAY_02_STATIC_VAR_197; - #if ARRAY_02_POW2_SIZE > 7 - }else{ - if (index == 198) ARRAY_VALUE = ARRAY_02_STATIC_VAR_198; - else ARRAY_VALUE = ARRAY_02_STATIC_VAR_199; - } - #endif - } - #endif - #if ARRAY_02_POW2_SIZE > 7 - }else{ - #if ARRAY_02_POW2_SIZE > 7 - if (index < 204) { - #endif - #if ARRAY_02_POW2_SIZE > 7 - if (index < 202) { - #endif - if (index == 200) ARRAY_VALUE = ARRAY_02_STATIC_VAR_200; - else ARRAY_VALUE = ARRAY_02_STATIC_VAR_201; - #if ARRAY_02_POW2_SIZE > 7 - }else{ - if (index == 202) ARRAY_VALUE = ARRAY_02_STATIC_VAR_202; - else ARRAY_VALUE = ARRAY_02_STATIC_VAR_203; - } - #endif - #if ARRAY_02_POW2_SIZE > 7 - }else{ - #if ARRAY_02_POW2_SIZE > 7 - if (index < 206) { - #endif - if (index == 204) ARRAY_VALUE = ARRAY_02_STATIC_VAR_204; - else ARRAY_VALUE = ARRAY_02_STATIC_VAR_205; - #if ARRAY_02_POW2_SIZE > 7 - }else{ - if (index == 206) ARRAY_VALUE = ARRAY_02_STATIC_VAR_206; - else ARRAY_VALUE = ARRAY_02_STATIC_VAR_207; - } - #endif - } - #endif - } - #endif - #if ARRAY_02_POW2_SIZE > 7 - }else{ - #if ARRAY_02_POW2_SIZE > 7 - if (index < 216) { - #endif - #if ARRAY_02_POW2_SIZE > 7 - if (index < 212) { - #endif - #if ARRAY_02_POW2_SIZE > 7 - if (index < 210) { - #endif - if (index == 208) ARRAY_VALUE = ARRAY_02_STATIC_VAR_208; - else ARRAY_VALUE = ARRAY_02_STATIC_VAR_209; - #if ARRAY_02_POW2_SIZE > 7 - }else{ - if (index == 210) ARRAY_VALUE = ARRAY_02_STATIC_VAR_210; - else ARRAY_VALUE = ARRAY_02_STATIC_VAR_211; - } - #endif - #if ARRAY_02_POW2_SIZE > 7 - }else{ - #if ARRAY_02_POW2_SIZE > 7 - if (index < 214) { - #endif - if (index == 212) ARRAY_VALUE = ARRAY_02_STATIC_VAR_212; - else ARRAY_VALUE = ARRAY_02_STATIC_VAR_213; - #if ARRAY_02_POW2_SIZE > 7 - }else{ - if (index == 214) ARRAY_VALUE = ARRAY_02_STATIC_VAR_214; - else ARRAY_VALUE = ARRAY_02_STATIC_VAR_215; - } - #endif - } - #endif - #if ARRAY_02_POW2_SIZE > 7 - }else{ - #if ARRAY_02_POW2_SIZE > 7 - if (index < 220) { - #endif - #if ARRAY_02_POW2_SIZE > 7 - if (index < 218) { - #endif - if (index == 216) ARRAY_VALUE = ARRAY_02_STATIC_VAR_216; - else ARRAY_VALUE = ARRAY_02_STATIC_VAR_217; - #if ARRAY_02_POW2_SIZE > 7 - }else{ - if (index == 218) ARRAY_VALUE = ARRAY_02_STATIC_VAR_218; - else ARRAY_VALUE = ARRAY_02_STATIC_VAR_219; - } - #endif - #if ARRAY_02_POW2_SIZE > 7 - }else{ - #if ARRAY_02_POW2_SIZE > 7 - if (index < 222) { - #endif - if (index == 220) ARRAY_VALUE = ARRAY_02_STATIC_VAR_220; - else ARRAY_VALUE = ARRAY_02_STATIC_VAR_221; - #if ARRAY_02_POW2_SIZE > 7 - }else{ - if (index == 222) ARRAY_VALUE = ARRAY_02_STATIC_VAR_222; - else ARRAY_VALUE = ARRAY_02_STATIC_VAR_223; - } - #endif - } - #endif - } - #endif - } - #endif - #if ARRAY_02_POW2_SIZE > 7 - }else{ - #if ARRAY_02_POW2_SIZE > 7 - if (index < 240) { - #endif - #if ARRAY_02_POW2_SIZE > 7 - if (index < 232) { - #endif - #if ARRAY_02_POW2_SIZE > 7 - if (index < 228) { - #endif - #if ARRAY_02_POW2_SIZE > 7 - if (index < 226) { - #endif - if (index == 224) ARRAY_VALUE = ARRAY_02_STATIC_VAR_224; - else ARRAY_VALUE = ARRAY_02_STATIC_VAR_225; - #if ARRAY_02_POW2_SIZE > 7 - }else{ - if (index == 226) ARRAY_VALUE = ARRAY_02_STATIC_VAR_226; - else ARRAY_VALUE = ARRAY_02_STATIC_VAR_227; - } - #endif - #if ARRAY_02_POW2_SIZE > 7 - }else{ - #if ARRAY_02_POW2_SIZE > 7 - if (index < 230) { - #endif - if (index == 228) ARRAY_VALUE = ARRAY_02_STATIC_VAR_228; - else ARRAY_VALUE = ARRAY_02_STATIC_VAR_229; - #if ARRAY_02_POW2_SIZE > 7 - }else{ - if (index == 230) ARRAY_VALUE = ARRAY_02_STATIC_VAR_230; - else ARRAY_VALUE = ARRAY_02_STATIC_VAR_231; - } - #endif - } - #endif - #if ARRAY_02_POW2_SIZE > 7 - }else{ - #if ARRAY_02_POW2_SIZE > 7 - if (index < 236) { - #endif - #if ARRAY_02_POW2_SIZE > 7 - if (index < 234) { - #endif - if (index == 232) ARRAY_VALUE = ARRAY_02_STATIC_VAR_232; - else ARRAY_VALUE = ARRAY_02_STATIC_VAR_233; - #if ARRAY_02_POW2_SIZE > 7 - }else{ - if (index == 234) ARRAY_VALUE = ARRAY_02_STATIC_VAR_234; - else ARRAY_VALUE = ARRAY_02_STATIC_VAR_235; - } - #endif - #if ARRAY_02_POW2_SIZE > 7 - }else{ - #if ARRAY_02_POW2_SIZE > 7 - if (index < 238) { - #endif - if (index == 236) ARRAY_VALUE = ARRAY_02_STATIC_VAR_236; - else ARRAY_VALUE = ARRAY_02_STATIC_VAR_237; - #if ARRAY_02_POW2_SIZE > 7 - }else{ - if (index == 238) ARRAY_VALUE = ARRAY_02_STATIC_VAR_238; - else ARRAY_VALUE = ARRAY_02_STATIC_VAR_239; - } - #endif - } - #endif - } - #endif - #if ARRAY_02_POW2_SIZE > 7 - }else{ - #if ARRAY_02_POW2_SIZE > 7 - if (index < 248) { - #endif - #if ARRAY_02_POW2_SIZE > 7 - if (index < 244) { - #endif - #if ARRAY_02_POW2_SIZE > 7 - if (index < 242) { - #endif - if (index == 240) ARRAY_VALUE = ARRAY_02_STATIC_VAR_240; - else ARRAY_VALUE = ARRAY_02_STATIC_VAR_241; - #if ARRAY_02_POW2_SIZE > 7 - }else{ - if (index == 242) ARRAY_VALUE = ARRAY_02_STATIC_VAR_242; - else ARRAY_VALUE = ARRAY_02_STATIC_VAR_243; - } - #endif - #if ARRAY_02_POW2_SIZE > 7 - }else{ - #if ARRAY_02_POW2_SIZE > 7 - if (index < 246) { - #endif - if (index == 244) ARRAY_VALUE = ARRAY_02_STATIC_VAR_244; - else ARRAY_VALUE = ARRAY_02_STATIC_VAR_245; - #if ARRAY_02_POW2_SIZE > 7 - }else{ - if (index == 246) ARRAY_VALUE = ARRAY_02_STATIC_VAR_246; - else ARRAY_VALUE = ARRAY_02_STATIC_VAR_247; - } - #endif - } - #endif - #if ARRAY_02_POW2_SIZE > 7 - }else{ - #if ARRAY_02_POW2_SIZE > 7 - if (index < 252) { - #endif - #if ARRAY_02_POW2_SIZE > 7 - if (index < 250) { - #endif - if (index == 248) ARRAY_VALUE = ARRAY_02_STATIC_VAR_248; - else ARRAY_VALUE = ARRAY_02_STATIC_VAR_249; - #if ARRAY_02_POW2_SIZE > 7 - }else{ - if (index == 250) ARRAY_VALUE = ARRAY_02_STATIC_VAR_250; - else ARRAY_VALUE = ARRAY_02_STATIC_VAR_251; - } - #endif - #if ARRAY_02_POW2_SIZE > 7 - }else{ - #if ARRAY_02_POW2_SIZE > 7 - if (index < 254) { - #endif - if (index == 252) ARRAY_VALUE = ARRAY_02_STATIC_VAR_252; - else ARRAY_VALUE = ARRAY_02_STATIC_VAR_253; - #if ARRAY_02_POW2_SIZE > 7 - }else{ - if (index == 254) ARRAY_VALUE = ARRAY_02_STATIC_VAR_254; - else ARRAY_VALUE = ARRAY_02_STATIC_VAR_255; - } - #endif - } - #endif - } - #endif - } - #endif - } - #endif - } - #endif - } - #endif -} - -ARRAY_02_SETTER(index, value) { - #if ARRAY_02_POW2_SIZE > 7 - if (index < 128) { - #endif - #if ARRAY_02_POW2_SIZE > 6 - if (index < 64) { - #endif - #if ARRAY_02_POW2_SIZE > 5 - if (index < 32) { - #endif - #if ARRAY_02_POW2_SIZE > 4 - if (index < 16) { - #endif - #if ARRAY_02_POW2_SIZE > 3 - if (index < 8) { - #endif - #if ARRAY_02_POW2_SIZE > 2 - if (index < 4) { - #endif - #if ARRAY_02_POW2_SIZE > 1 - if (index < 2) { - #endif - if (index == 0) ARRAY_02_STATIC_VAR_000 = value; - else ARRAY_02_STATIC_VAR_001 = value; - #if ARRAY_02_POW2_SIZE > 1 - }else{ - if (index == 2) ARRAY_02_STATIC_VAR_002 = value; - else ARRAY_02_STATIC_VAR_003 = value; - } - #endif - #if ARRAY_02_POW2_SIZE > 2 - }else{ - #if ARRAY_02_POW2_SIZE > 2 - if (index < 6) { - #endif - if (index == 4) ARRAY_02_STATIC_VAR_004 = value; - else ARRAY_02_STATIC_VAR_005 = value; - #if ARRAY_02_POW2_SIZE > 2 - }else{ - if (index == 6) ARRAY_02_STATIC_VAR_006 = value; - else ARRAY_02_STATIC_VAR_007 = value; - } - #endif - } - #endif - #if ARRAY_02_POW2_SIZE > 3 - }else{ - #if ARRAY_02_POW2_SIZE > 3 - if (index < 12) { - #endif - #if ARRAY_02_POW2_SIZE > 3 - if (index < 10) { - #endif - if (index == 8) ARRAY_02_STATIC_VAR_008 = value; - else ARRAY_02_STATIC_VAR_009 = value; - #if ARRAY_02_POW2_SIZE > 3 - }else{ - if (index == 10) ARRAY_02_STATIC_VAR_010 = value; - else ARRAY_02_STATIC_VAR_011 = value; - } - #endif - #if ARRAY_02_POW2_SIZE > 3 - }else{ - #if ARRAY_02_POW2_SIZE > 3 - if (index < 14) { - #endif - if (index == 12) ARRAY_02_STATIC_VAR_012 = value; - else ARRAY_02_STATIC_VAR_013 = value; - #if ARRAY_02_POW2_SIZE > 3 - }else{ - if (index == 14) ARRAY_02_STATIC_VAR_014 = value; - else ARRAY_02_STATIC_VAR_015 = value; - } - #endif - } - #endif - } - #endif - #if ARRAY_02_POW2_SIZE > 4 - }else{ - #if ARRAY_02_POW2_SIZE > 4 - if (index < 24) { - #endif - #if ARRAY_02_POW2_SIZE > 4 - if (index < 20) { - #endif - #if ARRAY_02_POW2_SIZE > 4 - if (index < 18) { - #endif - if (index == 16) ARRAY_02_STATIC_VAR_016 = value; - else ARRAY_02_STATIC_VAR_017 = value; - #if ARRAY_02_POW2_SIZE > 4 - }else{ - if (index == 18) ARRAY_02_STATIC_VAR_018 = value; - else ARRAY_02_STATIC_VAR_019 = value; - } - #endif - #if ARRAY_02_POW2_SIZE > 4 - }else{ - #if ARRAY_02_POW2_SIZE > 4 - if (index < 22) { - #endif - if (index == 20) ARRAY_02_STATIC_VAR_020 = value; - else ARRAY_02_STATIC_VAR_021 = value; - #if ARRAY_02_POW2_SIZE > 4 - }else{ - if (index == 22) ARRAY_02_STATIC_VAR_022 = value; - else ARRAY_02_STATIC_VAR_023 = value; - } - #endif - } - #endif - #if ARRAY_02_POW2_SIZE > 4 - }else{ - #if ARRAY_02_POW2_SIZE > 4 - if (index < 28) { - #endif - #if ARRAY_02_POW2_SIZE > 4 - if (index < 26) { - #endif - if (index == 24) ARRAY_02_STATIC_VAR_024 = value; - else ARRAY_02_STATIC_VAR_025 = value; - #if ARRAY_02_POW2_SIZE > 4 - }else{ - if (index == 26) ARRAY_02_STATIC_VAR_026 = value; - else ARRAY_02_STATIC_VAR_027 = value; - } - #endif - #if ARRAY_02_POW2_SIZE > 4 - }else{ - #if ARRAY_02_POW2_SIZE > 4 - if (index < 30) { - #endif - if (index == 28) ARRAY_02_STATIC_VAR_028 = value; - else ARRAY_02_STATIC_VAR_029 = value; - #if ARRAY_02_POW2_SIZE > 4 - }else{ - if (index == 30) ARRAY_02_STATIC_VAR_030 = value; - else ARRAY_02_STATIC_VAR_031 = value; - } - #endif - } - #endif - } - #endif - } - #endif - #if ARRAY_02_POW2_SIZE > 5 - }else{ - #if ARRAY_02_POW2_SIZE > 5 - if (index < 48) { - #endif - #if ARRAY_02_POW2_SIZE > 5 - if (index < 40) { - #endif - #if ARRAY_02_POW2_SIZE > 5 - if (index < 36) { - #endif - #if ARRAY_02_POW2_SIZE > 5 - if (index < 34) { - #endif - if (index == 32) ARRAY_02_STATIC_VAR_032 = value; - else ARRAY_02_STATIC_VAR_033 = value; - #if ARRAY_02_POW2_SIZE > 5 - }else{ - if (index == 34) ARRAY_02_STATIC_VAR_034 = value; - else ARRAY_02_STATIC_VAR_035 = value; - } - #endif - #if ARRAY_02_POW2_SIZE > 5 - }else{ - #if ARRAY_02_POW2_SIZE > 5 - if (index < 38) { - #endif - if (index == 36) ARRAY_02_STATIC_VAR_036 = value; - else ARRAY_02_STATIC_VAR_037 = value; - #if ARRAY_02_POW2_SIZE > 5 - }else{ - if (index == 38) ARRAY_02_STATIC_VAR_038 = value; - else ARRAY_02_STATIC_VAR_039 = value; - } - #endif - } - #endif - #if ARRAY_02_POW2_SIZE > 5 - }else{ - #if ARRAY_02_POW2_SIZE > 5 - if (index < 44) { - #endif - #if ARRAY_02_POW2_SIZE > 5 - if (index < 42) { - #endif - if (index == 40) ARRAY_02_STATIC_VAR_040 = value; - else ARRAY_02_STATIC_VAR_041 = value; - #if ARRAY_02_POW2_SIZE > 5 - }else{ - if (index == 42) ARRAY_02_STATIC_VAR_042 = value; - else ARRAY_02_STATIC_VAR_043 = value; - } - #endif - #if ARRAY_02_POW2_SIZE > 5 - }else{ - #if ARRAY_02_POW2_SIZE > 5 - if (index < 46) { - #endif - if (index == 44) ARRAY_02_STATIC_VAR_044 = value; - else ARRAY_02_STATIC_VAR_045 = value; - #if ARRAY_02_POW2_SIZE > 5 - }else{ - if (index == 46) ARRAY_02_STATIC_VAR_046 = value; - else ARRAY_02_STATIC_VAR_047 = value; - } - #endif - } - #endif - } - #endif - #if ARRAY_02_POW2_SIZE > 5 - }else{ - #if ARRAY_02_POW2_SIZE > 5 - if (index < 56) { - #endif - #if ARRAY_02_POW2_SIZE > 5 - if (index < 52) { - #endif - #if ARRAY_02_POW2_SIZE > 5 - if (index < 50) { - #endif - if (index == 48) ARRAY_02_STATIC_VAR_048 = value; - else ARRAY_02_STATIC_VAR_049 = value; - #if ARRAY_02_POW2_SIZE > 5 - }else{ - if (index == 50) ARRAY_02_STATIC_VAR_050 = value; - else ARRAY_02_STATIC_VAR_051 = value; - } - #endif - #if ARRAY_02_POW2_SIZE > 5 - }else{ - #if ARRAY_02_POW2_SIZE > 5 - if (index < 54) { - #endif - if (index == 52) ARRAY_02_STATIC_VAR_052 = value; - else ARRAY_02_STATIC_VAR_053 = value; - #if ARRAY_02_POW2_SIZE > 5 - }else{ - if (index == 54) ARRAY_02_STATIC_VAR_054 = value; - else ARRAY_02_STATIC_VAR_055 = value; - } - #endif - } - #endif - #if ARRAY_02_POW2_SIZE > 5 - }else{ - #if ARRAY_02_POW2_SIZE > 5 - if (index < 60) { - #endif - #if ARRAY_02_POW2_SIZE > 5 - if (index < 58) { - #endif - if (index == 56) ARRAY_02_STATIC_VAR_056 = value; - else ARRAY_02_STATIC_VAR_057 = value; - #if ARRAY_02_POW2_SIZE > 5 - }else{ - if (index == 58) ARRAY_02_STATIC_VAR_058 = value; - else ARRAY_02_STATIC_VAR_059 = value; - } - #endif - #if ARRAY_02_POW2_SIZE > 5 - }else{ - #if ARRAY_02_POW2_SIZE > 5 - if (index < 62) { - #endif - if (index == 60) ARRAY_02_STATIC_VAR_060 = value; - else ARRAY_02_STATIC_VAR_061 = value; - #if ARRAY_02_POW2_SIZE > 5 - }else{ - if (index == 62) ARRAY_02_STATIC_VAR_062 = value; - else ARRAY_02_STATIC_VAR_063 = value; - } - #endif - } - #endif - } - #endif - } - #endif - } - #endif - #if ARRAY_02_POW2_SIZE > 6 - }else{ - #if ARRAY_02_POW2_SIZE > 6 - if (index < 96) { - #endif - #if ARRAY_02_POW2_SIZE > 6 - if (index < 80) { - #endif - #if ARRAY_02_POW2_SIZE > 6 - if (index < 72) { - #endif - #if ARRAY_02_POW2_SIZE > 6 - if (index < 68) { - #endif - #if ARRAY_02_POW2_SIZE > 6 - if (index < 66) { - #endif - if (index == 64) ARRAY_02_STATIC_VAR_064 = value; - else ARRAY_02_STATIC_VAR_065 = value; - #if ARRAY_02_POW2_SIZE > 6 - }else{ - if (index == 66) ARRAY_02_STATIC_VAR_066 = value; - else ARRAY_02_STATIC_VAR_067 = value; - } - #endif - #if ARRAY_02_POW2_SIZE > 6 - }else{ - #if ARRAY_02_POW2_SIZE > 6 - if (index < 70) { - #endif - if (index == 68) ARRAY_02_STATIC_VAR_068 = value; - else ARRAY_02_STATIC_VAR_069 = value; - #if ARRAY_02_POW2_SIZE > 6 - }else{ - if (index == 70) ARRAY_02_STATIC_VAR_070 = value; - else ARRAY_02_STATIC_VAR_071 = value; - } - #endif - } - #endif - #if ARRAY_02_POW2_SIZE > 6 - }else{ - #if ARRAY_02_POW2_SIZE > 6 - if (index < 76) { - #endif - #if ARRAY_02_POW2_SIZE > 6 - if (index < 74) { - #endif - if (index == 72) ARRAY_02_STATIC_VAR_072 = value; - else ARRAY_02_STATIC_VAR_073 = value; - #if ARRAY_02_POW2_SIZE > 6 - }else{ - if (index == 74) ARRAY_02_STATIC_VAR_074 = value; - else ARRAY_02_STATIC_VAR_075 = value; - } - #endif - #if ARRAY_02_POW2_SIZE > 6 - }else{ - #if ARRAY_02_POW2_SIZE > 6 - if (index < 78) { - #endif - if (index == 76) ARRAY_02_STATIC_VAR_076 = value; - else ARRAY_02_STATIC_VAR_077 = value; - #if ARRAY_02_POW2_SIZE > 6 - }else{ - if (index == 78) ARRAY_02_STATIC_VAR_078 = value; - else ARRAY_02_STATIC_VAR_079 = value; - } - #endif - } - #endif - } - #endif - #if ARRAY_02_POW2_SIZE > 6 - }else{ - #if ARRAY_02_POW2_SIZE > 6 - if (index < 88) { - #endif - #if ARRAY_02_POW2_SIZE > 6 - if (index < 84) { - #endif - #if ARRAY_02_POW2_SIZE > 6 - if (index < 82) { - #endif - if (index == 80) ARRAY_02_STATIC_VAR_080 = value; - else ARRAY_02_STATIC_VAR_081 = value; - #if ARRAY_02_POW2_SIZE > 6 - }else{ - if (index == 82) ARRAY_02_STATIC_VAR_082 = value; - else ARRAY_02_STATIC_VAR_083 = value; - } - #endif - #if ARRAY_02_POW2_SIZE > 6 - }else{ - #if ARRAY_02_POW2_SIZE > 6 - if (index < 86) { - #endif - if (index == 84) ARRAY_02_STATIC_VAR_084 = value; - else ARRAY_02_STATIC_VAR_085 = value; - #if ARRAY_02_POW2_SIZE > 6 - }else{ - if (index == 86) ARRAY_02_STATIC_VAR_086 = value; - else ARRAY_02_STATIC_VAR_087 = value; - } - #endif - } - #endif - #if ARRAY_02_POW2_SIZE > 6 - }else{ - #if ARRAY_02_POW2_SIZE > 6 - if (index < 92) { - #endif - #if ARRAY_02_POW2_SIZE > 6 - if (index < 90) { - #endif - if (index == 88) ARRAY_02_STATIC_VAR_088 = value; - else ARRAY_02_STATIC_VAR_089 = value; - #if ARRAY_02_POW2_SIZE > 6 - }else{ - if (index == 90) ARRAY_02_STATIC_VAR_090 = value; - else ARRAY_02_STATIC_VAR_091 = value; - } - #endif - #if ARRAY_02_POW2_SIZE > 6 - }else{ - #if ARRAY_02_POW2_SIZE > 6 - if (index < 94) { - #endif - if (index == 92) ARRAY_02_STATIC_VAR_092 = value; - else ARRAY_02_STATIC_VAR_093 = value; - #if ARRAY_02_POW2_SIZE > 6 - }else{ - if (index == 94) ARRAY_02_STATIC_VAR_094 = value; - else ARRAY_02_STATIC_VAR_095 = value; - } - #endif - } - #endif - } - #endif - } - #endif - #if ARRAY_02_POW2_SIZE > 6 - }else{ - #if ARRAY_02_POW2_SIZE > 6 - if (index < 112) { - #endif - #if ARRAY_02_POW2_SIZE > 6 - if (index < 104) { - #endif - #if ARRAY_02_POW2_SIZE > 6 - if (index < 100) { - #endif - #if ARRAY_02_POW2_SIZE > 6 - if (index < 98) { - #endif - if (index == 96) ARRAY_02_STATIC_VAR_096 = value; - else ARRAY_02_STATIC_VAR_097 = value; - #if ARRAY_02_POW2_SIZE > 6 - }else{ - if (index == 98) ARRAY_02_STATIC_VAR_098 = value; - else ARRAY_02_STATIC_VAR_099 = value; - } - #endif - #if ARRAY_02_POW2_SIZE > 6 - }else{ - #if ARRAY_02_POW2_SIZE > 6 - if (index < 102) { - #endif - if (index == 100) ARRAY_02_STATIC_VAR_100 = value; - else ARRAY_02_STATIC_VAR_101 = value; - #if ARRAY_02_POW2_SIZE > 6 - }else{ - if (index == 102) ARRAY_02_STATIC_VAR_102 = value; - else ARRAY_02_STATIC_VAR_103 = value; - } - #endif - } - #endif - #if ARRAY_02_POW2_SIZE > 6 - }else{ - #if ARRAY_02_POW2_SIZE > 6 - if (index < 108) { - #endif - #if ARRAY_02_POW2_SIZE > 6 - if (index < 106) { - #endif - if (index == 104) ARRAY_02_STATIC_VAR_104 = value; - else ARRAY_02_STATIC_VAR_105 = value; - #if ARRAY_02_POW2_SIZE > 6 - }else{ - if (index == 106) ARRAY_02_STATIC_VAR_106 = value; - else ARRAY_02_STATIC_VAR_107 = value; - } - #endif - #if ARRAY_02_POW2_SIZE > 6 - }else{ - #if ARRAY_02_POW2_SIZE > 6 - if (index < 110) { - #endif - if (index == 108) ARRAY_02_STATIC_VAR_108 = value; - else ARRAY_02_STATIC_VAR_109 = value; - #if ARRAY_02_POW2_SIZE > 6 - }else{ - if (index == 110) ARRAY_02_STATIC_VAR_110 = value; - else ARRAY_02_STATIC_VAR_111 = value; - } - #endif - } - #endif - } - #endif - #if ARRAY_02_POW2_SIZE > 6 - }else{ - #if ARRAY_02_POW2_SIZE > 6 - if (index < 120) { - #endif - #if ARRAY_02_POW2_SIZE > 6 - if (index < 116) { - #endif - #if ARRAY_02_POW2_SIZE > 6 - if (index < 114) { - #endif - if (index == 112) ARRAY_02_STATIC_VAR_112 = value; - else ARRAY_02_STATIC_VAR_113 = value; - #if ARRAY_02_POW2_SIZE > 6 - }else{ - if (index == 114) ARRAY_02_STATIC_VAR_114 = value; - else ARRAY_02_STATIC_VAR_115 = value; - } - #endif - #if ARRAY_02_POW2_SIZE > 6 - }else{ - #if ARRAY_02_POW2_SIZE > 6 - if (index < 118) { - #endif - if (index == 116) ARRAY_02_STATIC_VAR_116 = value; - else ARRAY_02_STATIC_VAR_117 = value; - #if ARRAY_02_POW2_SIZE > 6 - }else{ - if (index == 118) ARRAY_02_STATIC_VAR_118 = value; - else ARRAY_02_STATIC_VAR_119 = value; - } - #endif - } - #endif - #if ARRAY_02_POW2_SIZE > 6 - }else{ - #if ARRAY_02_POW2_SIZE > 6 - if (index < 124) { - #endif - #if ARRAY_02_POW2_SIZE > 6 - if (index < 122) { - #endif - if (index == 120) ARRAY_02_STATIC_VAR_120 = value; - else ARRAY_02_STATIC_VAR_121 = value; - #if ARRAY_02_POW2_SIZE > 6 - }else{ - if (index == 122) ARRAY_02_STATIC_VAR_122 = value; - else ARRAY_02_STATIC_VAR_123 = value; - } - #endif - #if ARRAY_02_POW2_SIZE > 6 - }else{ - #if ARRAY_02_POW2_SIZE > 6 - if (index < 126) { - #endif - if (index == 124) ARRAY_02_STATIC_VAR_124 = value; - else ARRAY_02_STATIC_VAR_125 = value; - #if ARRAY_02_POW2_SIZE > 6 - }else{ - if (index == 126) ARRAY_02_STATIC_VAR_126 = value; - else ARRAY_02_STATIC_VAR_127 = value; - } - #endif - } - #endif - } - #endif - } - #endif - } - #endif - } - #endif - #if ARRAY_02_POW2_SIZE > 7 - }else{ - #if ARRAY_02_POW2_SIZE > 7 - if (index < 192) { - #endif - #if ARRAY_02_POW2_SIZE > 7 - if (index < 160) { - #endif - #if ARRAY_02_POW2_SIZE > 7 - if (index < 144) { - #endif - #if ARRAY_02_POW2_SIZE > 7 - if (index < 136) { - #endif - #if ARRAY_02_POW2_SIZE > 7 - if (index < 132) { - #endif - #if ARRAY_02_POW2_SIZE > 7 - if (index < 130) { - #endif - if (index == 128) ARRAY_02_STATIC_VAR_128 = value; - else ARRAY_02_STATIC_VAR_129 = value; - #if ARRAY_02_POW2_SIZE > 7 - }else{ - if (index == 130) ARRAY_02_STATIC_VAR_130 = value; - else ARRAY_02_STATIC_VAR_131 = value; - } - #endif - #if ARRAY_02_POW2_SIZE > 7 - }else{ - #if ARRAY_02_POW2_SIZE > 7 - if (index < 134) { - #endif - if (index == 132) ARRAY_02_STATIC_VAR_132 = value; - else ARRAY_02_STATIC_VAR_133 = value; - #if ARRAY_02_POW2_SIZE > 7 - }else{ - if (index == 134) ARRAY_02_STATIC_VAR_134 = value; - else ARRAY_02_STATIC_VAR_135 = value; - } - #endif - } - #endif - #if ARRAY_02_POW2_SIZE > 7 - }else{ - #if ARRAY_02_POW2_SIZE > 7 - if (index < 140) { - #endif - #if ARRAY_02_POW2_SIZE > 7 - if (index < 138) { - #endif - if (index == 136) ARRAY_02_STATIC_VAR_136 = value; - else ARRAY_02_STATIC_VAR_137 = value; - #if ARRAY_02_POW2_SIZE > 7 - }else{ - if (index == 138) ARRAY_02_STATIC_VAR_138 = value; - else ARRAY_02_STATIC_VAR_139 = value; - } - #endif - #if ARRAY_02_POW2_SIZE > 7 - }else{ - #if ARRAY_02_POW2_SIZE > 7 - if (index < 142) { - #endif - if (index == 140) ARRAY_02_STATIC_VAR_140 = value; - else ARRAY_02_STATIC_VAR_141 = value; - #if ARRAY_02_POW2_SIZE > 7 - }else{ - if (index == 142) ARRAY_02_STATIC_VAR_142 = value; - else ARRAY_02_STATIC_VAR_143 = value; - } - #endif - } - #endif - } - #endif - #if ARRAY_02_POW2_SIZE > 7 - }else{ - #if ARRAY_02_POW2_SIZE > 7 - if (index < 152) { - #endif - #if ARRAY_02_POW2_SIZE > 7 - if (index < 148) { - #endif - #if ARRAY_02_POW2_SIZE > 7 - if (index < 146) { - #endif - if (index == 144) ARRAY_02_STATIC_VAR_144 = value; - else ARRAY_02_STATIC_VAR_145 = value; - #if ARRAY_02_POW2_SIZE > 7 - }else{ - if (index == 146) ARRAY_02_STATIC_VAR_146 = value; - else ARRAY_02_STATIC_VAR_147 = value; - } - #endif - #if ARRAY_02_POW2_SIZE > 7 - }else{ - #if ARRAY_02_POW2_SIZE > 7 - if (index < 150) { - #endif - if (index == 148) ARRAY_02_STATIC_VAR_148 = value; - else ARRAY_02_STATIC_VAR_149 = value; - #if ARRAY_02_POW2_SIZE > 7 - }else{ - if (index == 150) ARRAY_02_STATIC_VAR_150 = value; - else ARRAY_02_STATIC_VAR_151 = value; - } - #endif - } - #endif - #if ARRAY_02_POW2_SIZE > 7 - }else{ - #if ARRAY_02_POW2_SIZE > 7 - if (index < 156) { - #endif - #if ARRAY_02_POW2_SIZE > 7 - if (index < 154) { - #endif - if (index == 152) ARRAY_02_STATIC_VAR_152 = value; - else ARRAY_02_STATIC_VAR_153 = value; - #if ARRAY_02_POW2_SIZE > 7 - }else{ - if (index == 154) ARRAY_02_STATIC_VAR_154 = value; - else ARRAY_02_STATIC_VAR_155 = value; - } - #endif - #if ARRAY_02_POW2_SIZE > 7 - }else{ - #if ARRAY_02_POW2_SIZE > 7 - if (index < 158) { - #endif - if (index == 156) ARRAY_02_STATIC_VAR_156 = value; - else ARRAY_02_STATIC_VAR_157 = value; - #if ARRAY_02_POW2_SIZE > 7 - }else{ - if (index == 158) ARRAY_02_STATIC_VAR_158 = value; - else ARRAY_02_STATIC_VAR_159 = value; - } - #endif - } - #endif - } - #endif - } - #endif - #if ARRAY_02_POW2_SIZE > 7 - }else{ - #if ARRAY_02_POW2_SIZE > 7 - if (index < 176) { - #endif - #if ARRAY_02_POW2_SIZE > 7 - if (index < 168) { - #endif - #if ARRAY_02_POW2_SIZE > 7 - if (index < 164) { - #endif - #if ARRAY_02_POW2_SIZE > 7 - if (index < 162) { - #endif - if (index == 160) ARRAY_02_STATIC_VAR_160 = value; - else ARRAY_02_STATIC_VAR_161 = value; - #if ARRAY_02_POW2_SIZE > 7 - }else{ - if (index == 162) ARRAY_02_STATIC_VAR_162 = value; - else ARRAY_02_STATIC_VAR_163 = value; - } - #endif - #if ARRAY_02_POW2_SIZE > 7 - }else{ - #if ARRAY_02_POW2_SIZE > 7 - if (index < 166) { - #endif - if (index == 164) ARRAY_02_STATIC_VAR_164 = value; - else ARRAY_02_STATIC_VAR_165 = value; - #if ARRAY_02_POW2_SIZE > 7 - }else{ - if (index == 166) ARRAY_02_STATIC_VAR_166 = value; - else ARRAY_02_STATIC_VAR_167 = value; - } - #endif - } - #endif - #if ARRAY_02_POW2_SIZE > 7 - }else{ - #if ARRAY_02_POW2_SIZE > 7 - if (index < 172) { - #endif - #if ARRAY_02_POW2_SIZE > 7 - if (index < 170) { - #endif - if (index == 168) ARRAY_02_STATIC_VAR_168 = value; - else ARRAY_02_STATIC_VAR_169 = value; - #if ARRAY_02_POW2_SIZE > 7 - }else{ - if (index == 170) ARRAY_02_STATIC_VAR_170 = value; - else ARRAY_02_STATIC_VAR_171 = value; - } - #endif - #if ARRAY_02_POW2_SIZE > 7 - }else{ - #if ARRAY_02_POW2_SIZE > 7 - if (index < 174) { - #endif - if (index == 172) ARRAY_02_STATIC_VAR_172 = value; - else ARRAY_02_STATIC_VAR_173 = value; - #if ARRAY_02_POW2_SIZE > 7 - }else{ - if (index == 174) ARRAY_02_STATIC_VAR_174 = value; - else ARRAY_02_STATIC_VAR_175 = value; - } - #endif - } - #endif - } - #endif - #if ARRAY_02_POW2_SIZE > 7 - }else{ - #if ARRAY_02_POW2_SIZE > 7 - if (index < 184) { - #endif - #if ARRAY_02_POW2_SIZE > 7 - if (index < 180) { - #endif - #if ARRAY_02_POW2_SIZE > 7 - if (index < 178) { - #endif - if (index == 176) ARRAY_02_STATIC_VAR_176 = value; - else ARRAY_02_STATIC_VAR_177 = value; - #if ARRAY_02_POW2_SIZE > 7 - }else{ - if (index == 178) ARRAY_02_STATIC_VAR_178 = value; - else ARRAY_02_STATIC_VAR_179 = value; - } - #endif - #if ARRAY_02_POW2_SIZE > 7 - }else{ - #if ARRAY_02_POW2_SIZE > 7 - if (index < 182) { - #endif - if (index == 180) ARRAY_02_STATIC_VAR_180 = value; - else ARRAY_02_STATIC_VAR_181 = value; - #if ARRAY_02_POW2_SIZE > 7 - }else{ - if (index == 182) ARRAY_02_STATIC_VAR_182 = value; - else ARRAY_02_STATIC_VAR_183 = value; - } - #endif - } - #endif - #if ARRAY_02_POW2_SIZE > 7 - }else{ - #if ARRAY_02_POW2_SIZE > 7 - if (index < 188) { - #endif - #if ARRAY_02_POW2_SIZE > 7 - if (index < 186) { - #endif - if (index == 184) ARRAY_02_STATIC_VAR_184 = value; - else ARRAY_02_STATIC_VAR_185 = value; - #if ARRAY_02_POW2_SIZE > 7 - }else{ - if (index == 186) ARRAY_02_STATIC_VAR_186 = value; - else ARRAY_02_STATIC_VAR_187 = value; - } - #endif - #if ARRAY_02_POW2_SIZE > 7 - }else{ - #if ARRAY_02_POW2_SIZE > 7 - if (index < 190) { - #endif - if (index == 188) ARRAY_02_STATIC_VAR_188 = value; - else ARRAY_02_STATIC_VAR_189 = value; - #if ARRAY_02_POW2_SIZE > 7 - }else{ - if (index == 190) ARRAY_02_STATIC_VAR_190 = value; - else ARRAY_02_STATIC_VAR_191 = value; - } - #endif - } - #endif - } - #endif - } - #endif - } - #endif - #if ARRAY_02_POW2_SIZE > 7 - }else{ - #if ARRAY_02_POW2_SIZE > 7 - if (index < 224) { - #endif - #if ARRAY_02_POW2_SIZE > 7 - if (index < 208) { - #endif - #if ARRAY_02_POW2_SIZE > 7 - if (index < 200) { - #endif - #if ARRAY_02_POW2_SIZE > 7 - if (index < 196) { - #endif - #if ARRAY_02_POW2_SIZE > 7 - if (index < 194) { - #endif - if (index == 192) ARRAY_02_STATIC_VAR_192 = value; - else ARRAY_02_STATIC_VAR_193 = value; - #if ARRAY_02_POW2_SIZE > 7 - }else{ - if (index == 194) ARRAY_02_STATIC_VAR_194 = value; - else ARRAY_02_STATIC_VAR_195 = value; - } - #endif - #if ARRAY_02_POW2_SIZE > 7 - }else{ - #if ARRAY_02_POW2_SIZE > 7 - if (index < 198) { - #endif - if (index == 196) ARRAY_02_STATIC_VAR_196 = value; - else ARRAY_02_STATIC_VAR_197 = value; - #if ARRAY_02_POW2_SIZE > 7 - }else{ - if (index == 198) ARRAY_02_STATIC_VAR_198 = value; - else ARRAY_02_STATIC_VAR_199 = value; - } - #endif - } - #endif - #if ARRAY_02_POW2_SIZE > 7 - }else{ - #if ARRAY_02_POW2_SIZE > 7 - if (index < 204) { - #endif - #if ARRAY_02_POW2_SIZE > 7 - if (index < 202) { - #endif - if (index == 200) ARRAY_02_STATIC_VAR_200 = value; - else ARRAY_02_STATIC_VAR_201 = value; - #if ARRAY_02_POW2_SIZE > 7 - }else{ - if (index == 202) ARRAY_02_STATIC_VAR_202 = value; - else ARRAY_02_STATIC_VAR_203 = value; - } - #endif - #if ARRAY_02_POW2_SIZE > 7 - }else{ - #if ARRAY_02_POW2_SIZE > 7 - if (index < 206) { - #endif - if (index == 204) ARRAY_02_STATIC_VAR_204 = value; - else ARRAY_02_STATIC_VAR_205 = value; - #if ARRAY_02_POW2_SIZE > 7 - }else{ - if (index == 206) ARRAY_02_STATIC_VAR_206 = value; - else ARRAY_02_STATIC_VAR_207 = value; - } - #endif - } - #endif - } - #endif - #if ARRAY_02_POW2_SIZE > 7 - }else{ - #if ARRAY_02_POW2_SIZE > 7 - if (index < 216) { - #endif - #if ARRAY_02_POW2_SIZE > 7 - if (index < 212) { - #endif - #if ARRAY_02_POW2_SIZE > 7 - if (index < 210) { - #endif - if (index == 208) ARRAY_02_STATIC_VAR_208 = value; - else ARRAY_02_STATIC_VAR_209 = value; - #if ARRAY_02_POW2_SIZE > 7 - }else{ - if (index == 210) ARRAY_02_STATIC_VAR_210 = value; - else ARRAY_02_STATIC_VAR_211 = value; - } - #endif - #if ARRAY_02_POW2_SIZE > 7 - }else{ - #if ARRAY_02_POW2_SIZE > 7 - if (index < 214) { - #endif - if (index == 212) ARRAY_02_STATIC_VAR_212 = value; - else ARRAY_02_STATIC_VAR_213 = value; - #if ARRAY_02_POW2_SIZE > 7 - }else{ - if (index == 214) ARRAY_02_STATIC_VAR_214 = value; - else ARRAY_02_STATIC_VAR_215 = value; - } - #endif - } - #endif - #if ARRAY_02_POW2_SIZE > 7 - }else{ - #if ARRAY_02_POW2_SIZE > 7 - if (index < 220) { - #endif - #if ARRAY_02_POW2_SIZE > 7 - if (index < 218) { - #endif - if (index == 216) ARRAY_02_STATIC_VAR_216 = value; - else ARRAY_02_STATIC_VAR_217 = value; - #if ARRAY_02_POW2_SIZE > 7 - }else{ - if (index == 218) ARRAY_02_STATIC_VAR_218 = value; - else ARRAY_02_STATIC_VAR_219 = value; - } - #endif - #if ARRAY_02_POW2_SIZE > 7 - }else{ - #if ARRAY_02_POW2_SIZE > 7 - if (index < 222) { - #endif - if (index == 220) ARRAY_02_STATIC_VAR_220 = value; - else ARRAY_02_STATIC_VAR_221 = value; - #if ARRAY_02_POW2_SIZE > 7 - }else{ - if (index == 222) ARRAY_02_STATIC_VAR_222 = value; - else ARRAY_02_STATIC_VAR_223 = value; - } - #endif - } - #endif - } - #endif - } - #endif - #if ARRAY_02_POW2_SIZE > 7 - }else{ - #if ARRAY_02_POW2_SIZE > 7 - if (index < 240) { - #endif - #if ARRAY_02_POW2_SIZE > 7 - if (index < 232) { - #endif - #if ARRAY_02_POW2_SIZE > 7 - if (index < 228) { - #endif - #if ARRAY_02_POW2_SIZE > 7 - if (index < 226) { - #endif - if (index == 224) ARRAY_02_STATIC_VAR_224 = value; - else ARRAY_02_STATIC_VAR_225 = value; - #if ARRAY_02_POW2_SIZE > 7 - }else{ - if (index == 226) ARRAY_02_STATIC_VAR_226 = value; - else ARRAY_02_STATIC_VAR_227 = value; - } - #endif - #if ARRAY_02_POW2_SIZE > 7 - }else{ - #if ARRAY_02_POW2_SIZE > 7 - if (index < 230) { - #endif - if (index == 228) ARRAY_02_STATIC_VAR_228 = value; - else ARRAY_02_STATIC_VAR_229 = value; - #if ARRAY_02_POW2_SIZE > 7 - }else{ - if (index == 230) ARRAY_02_STATIC_VAR_230 = value; - else ARRAY_02_STATIC_VAR_231 = value; - } - #endif - } - #endif - #if ARRAY_02_POW2_SIZE > 7 - }else{ - #if ARRAY_02_POW2_SIZE > 7 - if (index < 236) { - #endif - #if ARRAY_02_POW2_SIZE > 7 - if (index < 234) { - #endif - if (index == 232) ARRAY_02_STATIC_VAR_232 = value; - else ARRAY_02_STATIC_VAR_233 = value; - #if ARRAY_02_POW2_SIZE > 7 - }else{ - if (index == 234) ARRAY_02_STATIC_VAR_234 = value; - else ARRAY_02_STATIC_VAR_235 = value; - } - #endif - #if ARRAY_02_POW2_SIZE > 7 - }else{ - #if ARRAY_02_POW2_SIZE > 7 - if (index < 238) { - #endif - if (index == 236) ARRAY_02_STATIC_VAR_236 = value; - else ARRAY_02_STATIC_VAR_237 = value; - #if ARRAY_02_POW2_SIZE > 7 - }else{ - if (index == 238) ARRAY_02_STATIC_VAR_238 = value; - else ARRAY_02_STATIC_VAR_239 = value; - } - #endif - } - #endif - } - #endif - #if ARRAY_02_POW2_SIZE > 7 - }else{ - #if ARRAY_02_POW2_SIZE > 7 - if (index < 248) { - #endif - #if ARRAY_02_POW2_SIZE > 7 - if (index < 244) { - #endif - #if ARRAY_02_POW2_SIZE > 7 - if (index < 242) { - #endif - if (index == 240) ARRAY_02_STATIC_VAR_240 = value; - else ARRAY_02_STATIC_VAR_241 = value; - #if ARRAY_02_POW2_SIZE > 7 - }else{ - if (index == 242) ARRAY_02_STATIC_VAR_242 = value; - else ARRAY_02_STATIC_VAR_243 = value; - } - #endif - #if ARRAY_02_POW2_SIZE > 7 - }else{ - #if ARRAY_02_POW2_SIZE > 7 - if (index < 246) { - #endif - if (index == 244) ARRAY_02_STATIC_VAR_244 = value; - else ARRAY_02_STATIC_VAR_245 = value; - #if ARRAY_02_POW2_SIZE > 7 - }else{ - if (index == 246) ARRAY_02_STATIC_VAR_246 = value; - else ARRAY_02_STATIC_VAR_247 = value; - } - #endif - } - #endif - #if ARRAY_02_POW2_SIZE > 7 - }else{ - #if ARRAY_02_POW2_SIZE > 7 - if (index < 252) { - #endif - #if ARRAY_02_POW2_SIZE > 7 - if (index < 250) { - #endif - if (index == 248) ARRAY_02_STATIC_VAR_248 = value; - else ARRAY_02_STATIC_VAR_249 = value; - #if ARRAY_02_POW2_SIZE > 7 - }else{ - if (index == 250) ARRAY_02_STATIC_VAR_250 = value; - else ARRAY_02_STATIC_VAR_251 = value; - } - #endif - #if ARRAY_02_POW2_SIZE > 7 - }else{ - #if ARRAY_02_POW2_SIZE > 7 - if (index < 254) { - #endif - if (index == 252) ARRAY_02_STATIC_VAR_252 = value; - else ARRAY_02_STATIC_VAR_253 = value; - #if ARRAY_02_POW2_SIZE > 7 - }else{ - if (index == 254) ARRAY_02_STATIC_VAR_254 = value; - else ARRAY_02_STATIC_VAR_255 = value; - } - #endif - } - #endif - } - #endif - } - #endif - } - #endif - } - #endif - } - #endif -} \ No newline at end of file diff --git a/scripts/array_03.h b/scripts/array_03.h deleted file mode 100644 index 9a8e8090527..00000000000 --- a/scripts/array_03.h +++ /dev/null @@ -1,2340 +0,0 @@ -// (c) Beherith mysterme@gmail.com. DO NOT TOUCH: generated by array_header_generator.ipynb -// Notes: -// #define ARRAY_03_POW2_SIZE -// use the ARRAY_XX_GET(i) and ARRAY_XX_SET(i,v) function macros -// ARRAY_XX_GET(i) will always place value into ARRAY_VALUE -// average calls per value is about 12 - -#ifndef ARRAY_03_POW2_SIZE - #define ARRAY_03_POW2_SIZE 4 -#endif - -#ifndef ARRAY_TEMP_DEFINED - static-var ARRAY_VALUE; - #define ARRAY_TEMP_DEFINED 1; -#endif - -#define ARRAY_03_SET(i,v) call-script ARRAY_03_SETTER(i,v); - -#define ARRAY_03_GET(i) call-script ARRAY_03_GETTER(i); - -#if ARRAY_03_POW2_SIZE > 0 - static-var ARRAY_03_STATIC_VAR_000, ARRAY_03_STATIC_VAR_001; -#endif -#if ARRAY_03_POW2_SIZE > 1 - static-var ARRAY_03_STATIC_VAR_002, ARRAY_03_STATIC_VAR_003; -#endif -#if ARRAY_03_POW2_SIZE > 2 - static-var ARRAY_03_STATIC_VAR_004, ARRAY_03_STATIC_VAR_005, ARRAY_03_STATIC_VAR_006, ARRAY_03_STATIC_VAR_007; -#endif -#if ARRAY_03_POW2_SIZE > 3 - static-var ARRAY_03_STATIC_VAR_008, ARRAY_03_STATIC_VAR_009, ARRAY_03_STATIC_VAR_010, ARRAY_03_STATIC_VAR_011, ARRAY_03_STATIC_VAR_012, ARRAY_03_STATIC_VAR_013, ARRAY_03_STATIC_VAR_014, ARRAY_03_STATIC_VAR_015; -#endif -#if ARRAY_03_POW2_SIZE > 4 - static-var ARRAY_03_STATIC_VAR_016, ARRAY_03_STATIC_VAR_017, ARRAY_03_STATIC_VAR_018, ARRAY_03_STATIC_VAR_019, ARRAY_03_STATIC_VAR_020, ARRAY_03_STATIC_VAR_021, ARRAY_03_STATIC_VAR_022, ARRAY_03_STATIC_VAR_023, ARRAY_03_STATIC_VAR_024, ARRAY_03_STATIC_VAR_025, ARRAY_03_STATIC_VAR_026, ARRAY_03_STATIC_VAR_027, ARRAY_03_STATIC_VAR_028, ARRAY_03_STATIC_VAR_029, ARRAY_03_STATIC_VAR_030, ARRAY_03_STATIC_VAR_031; -#endif -#if ARRAY_03_POW2_SIZE > 5 - static-var ARRAY_03_STATIC_VAR_032, ARRAY_03_STATIC_VAR_033, ARRAY_03_STATIC_VAR_034, ARRAY_03_STATIC_VAR_035, ARRAY_03_STATIC_VAR_036, ARRAY_03_STATIC_VAR_037, ARRAY_03_STATIC_VAR_038, ARRAY_03_STATIC_VAR_039, ARRAY_03_STATIC_VAR_040, ARRAY_03_STATIC_VAR_041, ARRAY_03_STATIC_VAR_042, ARRAY_03_STATIC_VAR_043, ARRAY_03_STATIC_VAR_044, ARRAY_03_STATIC_VAR_045, ARRAY_03_STATIC_VAR_046, ARRAY_03_STATIC_VAR_047, ARRAY_03_STATIC_VAR_048, ARRAY_03_STATIC_VAR_049, ARRAY_03_STATIC_VAR_050, ARRAY_03_STATIC_VAR_051, ARRAY_03_STATIC_VAR_052, ARRAY_03_STATIC_VAR_053, ARRAY_03_STATIC_VAR_054, ARRAY_03_STATIC_VAR_055, ARRAY_03_STATIC_VAR_056, ARRAY_03_STATIC_VAR_057, ARRAY_03_STATIC_VAR_058, ARRAY_03_STATIC_VAR_059, ARRAY_03_STATIC_VAR_060, ARRAY_03_STATIC_VAR_061, ARRAY_03_STATIC_VAR_062, ARRAY_03_STATIC_VAR_063; -#endif -#if ARRAY_03_POW2_SIZE > 6 - static-var ARRAY_03_STATIC_VAR_064, ARRAY_03_STATIC_VAR_065, ARRAY_03_STATIC_VAR_066, ARRAY_03_STATIC_VAR_067, ARRAY_03_STATIC_VAR_068, ARRAY_03_STATIC_VAR_069, ARRAY_03_STATIC_VAR_070, ARRAY_03_STATIC_VAR_071, ARRAY_03_STATIC_VAR_072, ARRAY_03_STATIC_VAR_073, ARRAY_03_STATIC_VAR_074, ARRAY_03_STATIC_VAR_075, ARRAY_03_STATIC_VAR_076, ARRAY_03_STATIC_VAR_077, ARRAY_03_STATIC_VAR_078, ARRAY_03_STATIC_VAR_079, ARRAY_03_STATIC_VAR_080, ARRAY_03_STATIC_VAR_081, ARRAY_03_STATIC_VAR_082, ARRAY_03_STATIC_VAR_083, ARRAY_03_STATIC_VAR_084, ARRAY_03_STATIC_VAR_085, ARRAY_03_STATIC_VAR_086, ARRAY_03_STATIC_VAR_087, ARRAY_03_STATIC_VAR_088, ARRAY_03_STATIC_VAR_089, ARRAY_03_STATIC_VAR_090, ARRAY_03_STATIC_VAR_091, ARRAY_03_STATIC_VAR_092, ARRAY_03_STATIC_VAR_093, ARRAY_03_STATIC_VAR_094, ARRAY_03_STATIC_VAR_095, ARRAY_03_STATIC_VAR_096, ARRAY_03_STATIC_VAR_097, ARRAY_03_STATIC_VAR_098, ARRAY_03_STATIC_VAR_099, ARRAY_03_STATIC_VAR_100, ARRAY_03_STATIC_VAR_101, ARRAY_03_STATIC_VAR_102, ARRAY_03_STATIC_VAR_103, ARRAY_03_STATIC_VAR_104, ARRAY_03_STATIC_VAR_105, ARRAY_03_STATIC_VAR_106, ARRAY_03_STATIC_VAR_107, ARRAY_03_STATIC_VAR_108, ARRAY_03_STATIC_VAR_109, ARRAY_03_STATIC_VAR_110, ARRAY_03_STATIC_VAR_111, ARRAY_03_STATIC_VAR_112, ARRAY_03_STATIC_VAR_113, ARRAY_03_STATIC_VAR_114, ARRAY_03_STATIC_VAR_115, ARRAY_03_STATIC_VAR_116, ARRAY_03_STATIC_VAR_117, ARRAY_03_STATIC_VAR_118, ARRAY_03_STATIC_VAR_119, ARRAY_03_STATIC_VAR_120, ARRAY_03_STATIC_VAR_121, ARRAY_03_STATIC_VAR_122, ARRAY_03_STATIC_VAR_123, ARRAY_03_STATIC_VAR_124, ARRAY_03_STATIC_VAR_125, ARRAY_03_STATIC_VAR_126, ARRAY_03_STATIC_VAR_127; -#endif -#if ARRAY_03_POW2_SIZE > 7 - static-var ARRAY_03_STATIC_VAR_128, ARRAY_03_STATIC_VAR_129, ARRAY_03_STATIC_VAR_130, ARRAY_03_STATIC_VAR_131, ARRAY_03_STATIC_VAR_132, ARRAY_03_STATIC_VAR_133, ARRAY_03_STATIC_VAR_134, ARRAY_03_STATIC_VAR_135, ARRAY_03_STATIC_VAR_136, ARRAY_03_STATIC_VAR_137, ARRAY_03_STATIC_VAR_138, ARRAY_03_STATIC_VAR_139, ARRAY_03_STATIC_VAR_140, ARRAY_03_STATIC_VAR_141, ARRAY_03_STATIC_VAR_142, ARRAY_03_STATIC_VAR_143, ARRAY_03_STATIC_VAR_144, ARRAY_03_STATIC_VAR_145, ARRAY_03_STATIC_VAR_146, ARRAY_03_STATIC_VAR_147, ARRAY_03_STATIC_VAR_148, ARRAY_03_STATIC_VAR_149, ARRAY_03_STATIC_VAR_150, ARRAY_03_STATIC_VAR_151, ARRAY_03_STATIC_VAR_152, ARRAY_03_STATIC_VAR_153, ARRAY_03_STATIC_VAR_154, ARRAY_03_STATIC_VAR_155, ARRAY_03_STATIC_VAR_156, ARRAY_03_STATIC_VAR_157, ARRAY_03_STATIC_VAR_158, ARRAY_03_STATIC_VAR_159, ARRAY_03_STATIC_VAR_160, ARRAY_03_STATIC_VAR_161, ARRAY_03_STATIC_VAR_162, ARRAY_03_STATIC_VAR_163, ARRAY_03_STATIC_VAR_164, ARRAY_03_STATIC_VAR_165, ARRAY_03_STATIC_VAR_166, ARRAY_03_STATIC_VAR_167, ARRAY_03_STATIC_VAR_168, ARRAY_03_STATIC_VAR_169, ARRAY_03_STATIC_VAR_170, ARRAY_03_STATIC_VAR_171, ARRAY_03_STATIC_VAR_172, ARRAY_03_STATIC_VAR_173, ARRAY_03_STATIC_VAR_174, ARRAY_03_STATIC_VAR_175, ARRAY_03_STATIC_VAR_176, ARRAY_03_STATIC_VAR_177, ARRAY_03_STATIC_VAR_178, ARRAY_03_STATIC_VAR_179, ARRAY_03_STATIC_VAR_180, ARRAY_03_STATIC_VAR_181, ARRAY_03_STATIC_VAR_182, ARRAY_03_STATIC_VAR_183, ARRAY_03_STATIC_VAR_184, ARRAY_03_STATIC_VAR_185, ARRAY_03_STATIC_VAR_186, ARRAY_03_STATIC_VAR_187, ARRAY_03_STATIC_VAR_188, ARRAY_03_STATIC_VAR_189, ARRAY_03_STATIC_VAR_190, ARRAY_03_STATIC_VAR_191, ARRAY_03_STATIC_VAR_192, ARRAY_03_STATIC_VAR_193, ARRAY_03_STATIC_VAR_194, ARRAY_03_STATIC_VAR_195, ARRAY_03_STATIC_VAR_196, ARRAY_03_STATIC_VAR_197, ARRAY_03_STATIC_VAR_198, ARRAY_03_STATIC_VAR_199, ARRAY_03_STATIC_VAR_200, ARRAY_03_STATIC_VAR_201, ARRAY_03_STATIC_VAR_202, ARRAY_03_STATIC_VAR_203, ARRAY_03_STATIC_VAR_204, ARRAY_03_STATIC_VAR_205, ARRAY_03_STATIC_VAR_206, ARRAY_03_STATIC_VAR_207, ARRAY_03_STATIC_VAR_208, ARRAY_03_STATIC_VAR_209, ARRAY_03_STATIC_VAR_210, ARRAY_03_STATIC_VAR_211, ARRAY_03_STATIC_VAR_212, ARRAY_03_STATIC_VAR_213, ARRAY_03_STATIC_VAR_214, ARRAY_03_STATIC_VAR_215, ARRAY_03_STATIC_VAR_216, ARRAY_03_STATIC_VAR_217, ARRAY_03_STATIC_VAR_218, ARRAY_03_STATIC_VAR_219, ARRAY_03_STATIC_VAR_220, ARRAY_03_STATIC_VAR_221, ARRAY_03_STATIC_VAR_222, ARRAY_03_STATIC_VAR_223, ARRAY_03_STATIC_VAR_224, ARRAY_03_STATIC_VAR_225, ARRAY_03_STATIC_VAR_226, ARRAY_03_STATIC_VAR_227, ARRAY_03_STATIC_VAR_228, ARRAY_03_STATIC_VAR_229, ARRAY_03_STATIC_VAR_230, ARRAY_03_STATIC_VAR_231, ARRAY_03_STATIC_VAR_232, ARRAY_03_STATIC_VAR_233, ARRAY_03_STATIC_VAR_234, ARRAY_03_STATIC_VAR_235, ARRAY_03_STATIC_VAR_236, ARRAY_03_STATIC_VAR_237, ARRAY_03_STATIC_VAR_238, ARRAY_03_STATIC_VAR_239, ARRAY_03_STATIC_VAR_240, ARRAY_03_STATIC_VAR_241, ARRAY_03_STATIC_VAR_242, ARRAY_03_STATIC_VAR_243, ARRAY_03_STATIC_VAR_244, ARRAY_03_STATIC_VAR_245, ARRAY_03_STATIC_VAR_246, ARRAY_03_STATIC_VAR_247, ARRAY_03_STATIC_VAR_248, ARRAY_03_STATIC_VAR_249, ARRAY_03_STATIC_VAR_250, ARRAY_03_STATIC_VAR_251, ARRAY_03_STATIC_VAR_252, ARRAY_03_STATIC_VAR_253, ARRAY_03_STATIC_VAR_254, ARRAY_03_STATIC_VAR_255; -#endif - -ARRAY_03_GETTER(index) { - #if ARRAY_03_POW2_SIZE > 7 - if (index < 128) { - #endif - #if ARRAY_03_POW2_SIZE > 6 - if (index < 64) { - #endif - #if ARRAY_03_POW2_SIZE > 5 - if (index < 32) { - #endif - #if ARRAY_03_POW2_SIZE > 4 - if (index < 16) { - #endif - #if ARRAY_03_POW2_SIZE > 3 - if (index < 8) { - #endif - #if ARRAY_03_POW2_SIZE > 2 - if (index < 4) { - #endif - #if ARRAY_03_POW2_SIZE > 1 - if (index < 2) { - #endif - if (index == 0) ARRAY_VALUE = ARRAY_03_STATIC_VAR_000; - else ARRAY_VALUE = ARRAY_03_STATIC_VAR_001; - #if ARRAY_03_POW2_SIZE > 1 - }else{ - if (index == 2) ARRAY_VALUE = ARRAY_03_STATIC_VAR_002; - else ARRAY_VALUE = ARRAY_03_STATIC_VAR_003; - } - #endif - #if ARRAY_03_POW2_SIZE > 2 - }else{ - #if ARRAY_03_POW2_SIZE > 2 - if (index < 6) { - #endif - if (index == 4) ARRAY_VALUE = ARRAY_03_STATIC_VAR_004; - else ARRAY_VALUE = ARRAY_03_STATIC_VAR_005; - #if ARRAY_03_POW2_SIZE > 2 - }else{ - if (index == 6) ARRAY_VALUE = ARRAY_03_STATIC_VAR_006; - else ARRAY_VALUE = ARRAY_03_STATIC_VAR_007; - } - #endif - } - #endif - #if ARRAY_03_POW2_SIZE > 3 - }else{ - #if ARRAY_03_POW2_SIZE > 3 - if (index < 12) { - #endif - #if ARRAY_03_POW2_SIZE > 3 - if (index < 10) { - #endif - if (index == 8) ARRAY_VALUE = ARRAY_03_STATIC_VAR_008; - else ARRAY_VALUE = ARRAY_03_STATIC_VAR_009; - #if ARRAY_03_POW2_SIZE > 3 - }else{ - if (index == 10) ARRAY_VALUE = ARRAY_03_STATIC_VAR_010; - else ARRAY_VALUE = ARRAY_03_STATIC_VAR_011; - } - #endif - #if ARRAY_03_POW2_SIZE > 3 - }else{ - #if ARRAY_03_POW2_SIZE > 3 - if (index < 14) { - #endif - if (index == 12) ARRAY_VALUE = ARRAY_03_STATIC_VAR_012; - else ARRAY_VALUE = ARRAY_03_STATIC_VAR_013; - #if ARRAY_03_POW2_SIZE > 3 - }else{ - if (index == 14) ARRAY_VALUE = ARRAY_03_STATIC_VAR_014; - else ARRAY_VALUE = ARRAY_03_STATIC_VAR_015; - } - #endif - } - #endif - } - #endif - #if ARRAY_03_POW2_SIZE > 4 - }else{ - #if ARRAY_03_POW2_SIZE > 4 - if (index < 24) { - #endif - #if ARRAY_03_POW2_SIZE > 4 - if (index < 20) { - #endif - #if ARRAY_03_POW2_SIZE > 4 - if (index < 18) { - #endif - if (index == 16) ARRAY_VALUE = ARRAY_03_STATIC_VAR_016; - else ARRAY_VALUE = ARRAY_03_STATIC_VAR_017; - #if ARRAY_03_POW2_SIZE > 4 - }else{ - if (index == 18) ARRAY_VALUE = ARRAY_03_STATIC_VAR_018; - else ARRAY_VALUE = ARRAY_03_STATIC_VAR_019; - } - #endif - #if ARRAY_03_POW2_SIZE > 4 - }else{ - #if ARRAY_03_POW2_SIZE > 4 - if (index < 22) { - #endif - if (index == 20) ARRAY_VALUE = ARRAY_03_STATIC_VAR_020; - else ARRAY_VALUE = ARRAY_03_STATIC_VAR_021; - #if ARRAY_03_POW2_SIZE > 4 - }else{ - if (index == 22) ARRAY_VALUE = ARRAY_03_STATIC_VAR_022; - else ARRAY_VALUE = ARRAY_03_STATIC_VAR_023; - } - #endif - } - #endif - #if ARRAY_03_POW2_SIZE > 4 - }else{ - #if ARRAY_03_POW2_SIZE > 4 - if (index < 28) { - #endif - #if ARRAY_03_POW2_SIZE > 4 - if (index < 26) { - #endif - if (index == 24) ARRAY_VALUE = ARRAY_03_STATIC_VAR_024; - else ARRAY_VALUE = ARRAY_03_STATIC_VAR_025; - #if ARRAY_03_POW2_SIZE > 4 - }else{ - if (index == 26) ARRAY_VALUE = ARRAY_03_STATIC_VAR_026; - else ARRAY_VALUE = ARRAY_03_STATIC_VAR_027; - } - #endif - #if ARRAY_03_POW2_SIZE > 4 - }else{ - #if ARRAY_03_POW2_SIZE > 4 - if (index < 30) { - #endif - if (index == 28) ARRAY_VALUE = ARRAY_03_STATIC_VAR_028; - else ARRAY_VALUE = ARRAY_03_STATIC_VAR_029; - #if ARRAY_03_POW2_SIZE > 4 - }else{ - if (index == 30) ARRAY_VALUE = ARRAY_03_STATIC_VAR_030; - else ARRAY_VALUE = ARRAY_03_STATIC_VAR_031; - } - #endif - } - #endif - } - #endif - } - #endif - #if ARRAY_03_POW2_SIZE > 5 - }else{ - #if ARRAY_03_POW2_SIZE > 5 - if (index < 48) { - #endif - #if ARRAY_03_POW2_SIZE > 5 - if (index < 40) { - #endif - #if ARRAY_03_POW2_SIZE > 5 - if (index < 36) { - #endif - #if ARRAY_03_POW2_SIZE > 5 - if (index < 34) { - #endif - if (index == 32) ARRAY_VALUE = ARRAY_03_STATIC_VAR_032; - else ARRAY_VALUE = ARRAY_03_STATIC_VAR_033; - #if ARRAY_03_POW2_SIZE > 5 - }else{ - if (index == 34) ARRAY_VALUE = ARRAY_03_STATIC_VAR_034; - else ARRAY_VALUE = ARRAY_03_STATIC_VAR_035; - } - #endif - #if ARRAY_03_POW2_SIZE > 5 - }else{ - #if ARRAY_03_POW2_SIZE > 5 - if (index < 38) { - #endif - if (index == 36) ARRAY_VALUE = ARRAY_03_STATIC_VAR_036; - else ARRAY_VALUE = ARRAY_03_STATIC_VAR_037; - #if ARRAY_03_POW2_SIZE > 5 - }else{ - if (index == 38) ARRAY_VALUE = ARRAY_03_STATIC_VAR_038; - else ARRAY_VALUE = ARRAY_03_STATIC_VAR_039; - } - #endif - } - #endif - #if ARRAY_03_POW2_SIZE > 5 - }else{ - #if ARRAY_03_POW2_SIZE > 5 - if (index < 44) { - #endif - #if ARRAY_03_POW2_SIZE > 5 - if (index < 42) { - #endif - if (index == 40) ARRAY_VALUE = ARRAY_03_STATIC_VAR_040; - else ARRAY_VALUE = ARRAY_03_STATIC_VAR_041; - #if ARRAY_03_POW2_SIZE > 5 - }else{ - if (index == 42) ARRAY_VALUE = ARRAY_03_STATIC_VAR_042; - else ARRAY_VALUE = ARRAY_03_STATIC_VAR_043; - } - #endif - #if ARRAY_03_POW2_SIZE > 5 - }else{ - #if ARRAY_03_POW2_SIZE > 5 - if (index < 46) { - #endif - if (index == 44) ARRAY_VALUE = ARRAY_03_STATIC_VAR_044; - else ARRAY_VALUE = ARRAY_03_STATIC_VAR_045; - #if ARRAY_03_POW2_SIZE > 5 - }else{ - if (index == 46) ARRAY_VALUE = ARRAY_03_STATIC_VAR_046; - else ARRAY_VALUE = ARRAY_03_STATIC_VAR_047; - } - #endif - } - #endif - } - #endif - #if ARRAY_03_POW2_SIZE > 5 - }else{ - #if ARRAY_03_POW2_SIZE > 5 - if (index < 56) { - #endif - #if ARRAY_03_POW2_SIZE > 5 - if (index < 52) { - #endif - #if ARRAY_03_POW2_SIZE > 5 - if (index < 50) { - #endif - if (index == 48) ARRAY_VALUE = ARRAY_03_STATIC_VAR_048; - else ARRAY_VALUE = ARRAY_03_STATIC_VAR_049; - #if ARRAY_03_POW2_SIZE > 5 - }else{ - if (index == 50) ARRAY_VALUE = ARRAY_03_STATIC_VAR_050; - else ARRAY_VALUE = ARRAY_03_STATIC_VAR_051; - } - #endif - #if ARRAY_03_POW2_SIZE > 5 - }else{ - #if ARRAY_03_POW2_SIZE > 5 - if (index < 54) { - #endif - if (index == 52) ARRAY_VALUE = ARRAY_03_STATIC_VAR_052; - else ARRAY_VALUE = ARRAY_03_STATIC_VAR_053; - #if ARRAY_03_POW2_SIZE > 5 - }else{ - if (index == 54) ARRAY_VALUE = ARRAY_03_STATIC_VAR_054; - else ARRAY_VALUE = ARRAY_03_STATIC_VAR_055; - } - #endif - } - #endif - #if ARRAY_03_POW2_SIZE > 5 - }else{ - #if ARRAY_03_POW2_SIZE > 5 - if (index < 60) { - #endif - #if ARRAY_03_POW2_SIZE > 5 - if (index < 58) { - #endif - if (index == 56) ARRAY_VALUE = ARRAY_03_STATIC_VAR_056; - else ARRAY_VALUE = ARRAY_03_STATIC_VAR_057; - #if ARRAY_03_POW2_SIZE > 5 - }else{ - if (index == 58) ARRAY_VALUE = ARRAY_03_STATIC_VAR_058; - else ARRAY_VALUE = ARRAY_03_STATIC_VAR_059; - } - #endif - #if ARRAY_03_POW2_SIZE > 5 - }else{ - #if ARRAY_03_POW2_SIZE > 5 - if (index < 62) { - #endif - if (index == 60) ARRAY_VALUE = ARRAY_03_STATIC_VAR_060; - else ARRAY_VALUE = ARRAY_03_STATIC_VAR_061; - #if ARRAY_03_POW2_SIZE > 5 - }else{ - if (index == 62) ARRAY_VALUE = ARRAY_03_STATIC_VAR_062; - else ARRAY_VALUE = ARRAY_03_STATIC_VAR_063; - } - #endif - } - #endif - } - #endif - } - #endif - } - #endif - #if ARRAY_03_POW2_SIZE > 6 - }else{ - #if ARRAY_03_POW2_SIZE > 6 - if (index < 96) { - #endif - #if ARRAY_03_POW2_SIZE > 6 - if (index < 80) { - #endif - #if ARRAY_03_POW2_SIZE > 6 - if (index < 72) { - #endif - #if ARRAY_03_POW2_SIZE > 6 - if (index < 68) { - #endif - #if ARRAY_03_POW2_SIZE > 6 - if (index < 66) { - #endif - if (index == 64) ARRAY_VALUE = ARRAY_03_STATIC_VAR_064; - else ARRAY_VALUE = ARRAY_03_STATIC_VAR_065; - #if ARRAY_03_POW2_SIZE > 6 - }else{ - if (index == 66) ARRAY_VALUE = ARRAY_03_STATIC_VAR_066; - else ARRAY_VALUE = ARRAY_03_STATIC_VAR_067; - } - #endif - #if ARRAY_03_POW2_SIZE > 6 - }else{ - #if ARRAY_03_POW2_SIZE > 6 - if (index < 70) { - #endif - if (index == 68) ARRAY_VALUE = ARRAY_03_STATIC_VAR_068; - else ARRAY_VALUE = ARRAY_03_STATIC_VAR_069; - #if ARRAY_03_POW2_SIZE > 6 - }else{ - if (index == 70) ARRAY_VALUE = ARRAY_03_STATIC_VAR_070; - else ARRAY_VALUE = ARRAY_03_STATIC_VAR_071; - } - #endif - } - #endif - #if ARRAY_03_POW2_SIZE > 6 - }else{ - #if ARRAY_03_POW2_SIZE > 6 - if (index < 76) { - #endif - #if ARRAY_03_POW2_SIZE > 6 - if (index < 74) { - #endif - if (index == 72) ARRAY_VALUE = ARRAY_03_STATIC_VAR_072; - else ARRAY_VALUE = ARRAY_03_STATIC_VAR_073; - #if ARRAY_03_POW2_SIZE > 6 - }else{ - if (index == 74) ARRAY_VALUE = ARRAY_03_STATIC_VAR_074; - else ARRAY_VALUE = ARRAY_03_STATIC_VAR_075; - } - #endif - #if ARRAY_03_POW2_SIZE > 6 - }else{ - #if ARRAY_03_POW2_SIZE > 6 - if (index < 78) { - #endif - if (index == 76) ARRAY_VALUE = ARRAY_03_STATIC_VAR_076; - else ARRAY_VALUE = ARRAY_03_STATIC_VAR_077; - #if ARRAY_03_POW2_SIZE > 6 - }else{ - if (index == 78) ARRAY_VALUE = ARRAY_03_STATIC_VAR_078; - else ARRAY_VALUE = ARRAY_03_STATIC_VAR_079; - } - #endif - } - #endif - } - #endif - #if ARRAY_03_POW2_SIZE > 6 - }else{ - #if ARRAY_03_POW2_SIZE > 6 - if (index < 88) { - #endif - #if ARRAY_03_POW2_SIZE > 6 - if (index < 84) { - #endif - #if ARRAY_03_POW2_SIZE > 6 - if (index < 82) { - #endif - if (index == 80) ARRAY_VALUE = ARRAY_03_STATIC_VAR_080; - else ARRAY_VALUE = ARRAY_03_STATIC_VAR_081; - #if ARRAY_03_POW2_SIZE > 6 - }else{ - if (index == 82) ARRAY_VALUE = ARRAY_03_STATIC_VAR_082; - else ARRAY_VALUE = ARRAY_03_STATIC_VAR_083; - } - #endif - #if ARRAY_03_POW2_SIZE > 6 - }else{ - #if ARRAY_03_POW2_SIZE > 6 - if (index < 86) { - #endif - if (index == 84) ARRAY_VALUE = ARRAY_03_STATIC_VAR_084; - else ARRAY_VALUE = ARRAY_03_STATIC_VAR_085; - #if ARRAY_03_POW2_SIZE > 6 - }else{ - if (index == 86) ARRAY_VALUE = ARRAY_03_STATIC_VAR_086; - else ARRAY_VALUE = ARRAY_03_STATIC_VAR_087; - } - #endif - } - #endif - #if ARRAY_03_POW2_SIZE > 6 - }else{ - #if ARRAY_03_POW2_SIZE > 6 - if (index < 92) { - #endif - #if ARRAY_03_POW2_SIZE > 6 - if (index < 90) { - #endif - if (index == 88) ARRAY_VALUE = ARRAY_03_STATIC_VAR_088; - else ARRAY_VALUE = ARRAY_03_STATIC_VAR_089; - #if ARRAY_03_POW2_SIZE > 6 - }else{ - if (index == 90) ARRAY_VALUE = ARRAY_03_STATIC_VAR_090; - else ARRAY_VALUE = ARRAY_03_STATIC_VAR_091; - } - #endif - #if ARRAY_03_POW2_SIZE > 6 - }else{ - #if ARRAY_03_POW2_SIZE > 6 - if (index < 94) { - #endif - if (index == 92) ARRAY_VALUE = ARRAY_03_STATIC_VAR_092; - else ARRAY_VALUE = ARRAY_03_STATIC_VAR_093; - #if ARRAY_03_POW2_SIZE > 6 - }else{ - if (index == 94) ARRAY_VALUE = ARRAY_03_STATIC_VAR_094; - else ARRAY_VALUE = ARRAY_03_STATIC_VAR_095; - } - #endif - } - #endif - } - #endif - } - #endif - #if ARRAY_03_POW2_SIZE > 6 - }else{ - #if ARRAY_03_POW2_SIZE > 6 - if (index < 112) { - #endif - #if ARRAY_03_POW2_SIZE > 6 - if (index < 104) { - #endif - #if ARRAY_03_POW2_SIZE > 6 - if (index < 100) { - #endif - #if ARRAY_03_POW2_SIZE > 6 - if (index < 98) { - #endif - if (index == 96) ARRAY_VALUE = ARRAY_03_STATIC_VAR_096; - else ARRAY_VALUE = ARRAY_03_STATIC_VAR_097; - #if ARRAY_03_POW2_SIZE > 6 - }else{ - if (index == 98) ARRAY_VALUE = ARRAY_03_STATIC_VAR_098; - else ARRAY_VALUE = ARRAY_03_STATIC_VAR_099; - } - #endif - #if ARRAY_03_POW2_SIZE > 6 - }else{ - #if ARRAY_03_POW2_SIZE > 6 - if (index < 102) { - #endif - if (index == 100) ARRAY_VALUE = ARRAY_03_STATIC_VAR_100; - else ARRAY_VALUE = ARRAY_03_STATIC_VAR_101; - #if ARRAY_03_POW2_SIZE > 6 - }else{ - if (index == 102) ARRAY_VALUE = ARRAY_03_STATIC_VAR_102; - else ARRAY_VALUE = ARRAY_03_STATIC_VAR_103; - } - #endif - } - #endif - #if ARRAY_03_POW2_SIZE > 6 - }else{ - #if ARRAY_03_POW2_SIZE > 6 - if (index < 108) { - #endif - #if ARRAY_03_POW2_SIZE > 6 - if (index < 106) { - #endif - if (index == 104) ARRAY_VALUE = ARRAY_03_STATIC_VAR_104; - else ARRAY_VALUE = ARRAY_03_STATIC_VAR_105; - #if ARRAY_03_POW2_SIZE > 6 - }else{ - if (index == 106) ARRAY_VALUE = ARRAY_03_STATIC_VAR_106; - else ARRAY_VALUE = ARRAY_03_STATIC_VAR_107; - } - #endif - #if ARRAY_03_POW2_SIZE > 6 - }else{ - #if ARRAY_03_POW2_SIZE > 6 - if (index < 110) { - #endif - if (index == 108) ARRAY_VALUE = ARRAY_03_STATIC_VAR_108; - else ARRAY_VALUE = ARRAY_03_STATIC_VAR_109; - #if ARRAY_03_POW2_SIZE > 6 - }else{ - if (index == 110) ARRAY_VALUE = ARRAY_03_STATIC_VAR_110; - else ARRAY_VALUE = ARRAY_03_STATIC_VAR_111; - } - #endif - } - #endif - } - #endif - #if ARRAY_03_POW2_SIZE > 6 - }else{ - #if ARRAY_03_POW2_SIZE > 6 - if (index < 120) { - #endif - #if ARRAY_03_POW2_SIZE > 6 - if (index < 116) { - #endif - #if ARRAY_03_POW2_SIZE > 6 - if (index < 114) { - #endif - if (index == 112) ARRAY_VALUE = ARRAY_03_STATIC_VAR_112; - else ARRAY_VALUE = ARRAY_03_STATIC_VAR_113; - #if ARRAY_03_POW2_SIZE > 6 - }else{ - if (index == 114) ARRAY_VALUE = ARRAY_03_STATIC_VAR_114; - else ARRAY_VALUE = ARRAY_03_STATIC_VAR_115; - } - #endif - #if ARRAY_03_POW2_SIZE > 6 - }else{ - #if ARRAY_03_POW2_SIZE > 6 - if (index < 118) { - #endif - if (index == 116) ARRAY_VALUE = ARRAY_03_STATIC_VAR_116; - else ARRAY_VALUE = ARRAY_03_STATIC_VAR_117; - #if ARRAY_03_POW2_SIZE > 6 - }else{ - if (index == 118) ARRAY_VALUE = ARRAY_03_STATIC_VAR_118; - else ARRAY_VALUE = ARRAY_03_STATIC_VAR_119; - } - #endif - } - #endif - #if ARRAY_03_POW2_SIZE > 6 - }else{ - #if ARRAY_03_POW2_SIZE > 6 - if (index < 124) { - #endif - #if ARRAY_03_POW2_SIZE > 6 - if (index < 122) { - #endif - if (index == 120) ARRAY_VALUE = ARRAY_03_STATIC_VAR_120; - else ARRAY_VALUE = ARRAY_03_STATIC_VAR_121; - #if ARRAY_03_POW2_SIZE > 6 - }else{ - if (index == 122) ARRAY_VALUE = ARRAY_03_STATIC_VAR_122; - else ARRAY_VALUE = ARRAY_03_STATIC_VAR_123; - } - #endif - #if ARRAY_03_POW2_SIZE > 6 - }else{ - #if ARRAY_03_POW2_SIZE > 6 - if (index < 126) { - #endif - if (index == 124) ARRAY_VALUE = ARRAY_03_STATIC_VAR_124; - else ARRAY_VALUE = ARRAY_03_STATIC_VAR_125; - #if ARRAY_03_POW2_SIZE > 6 - }else{ - if (index == 126) ARRAY_VALUE = ARRAY_03_STATIC_VAR_126; - else ARRAY_VALUE = ARRAY_03_STATIC_VAR_127; - } - #endif - } - #endif - } - #endif - } - #endif - } - #endif - } - #endif - #if ARRAY_03_POW2_SIZE > 7 - }else{ - #if ARRAY_03_POW2_SIZE > 7 - if (index < 192) { - #endif - #if ARRAY_03_POW2_SIZE > 7 - if (index < 160) { - #endif - #if ARRAY_03_POW2_SIZE > 7 - if (index < 144) { - #endif - #if ARRAY_03_POW2_SIZE > 7 - if (index < 136) { - #endif - #if ARRAY_03_POW2_SIZE > 7 - if (index < 132) { - #endif - #if ARRAY_03_POW2_SIZE > 7 - if (index < 130) { - #endif - if (index == 128) ARRAY_VALUE = ARRAY_03_STATIC_VAR_128; - else ARRAY_VALUE = ARRAY_03_STATIC_VAR_129; - #if ARRAY_03_POW2_SIZE > 7 - }else{ - if (index == 130) ARRAY_VALUE = ARRAY_03_STATIC_VAR_130; - else ARRAY_VALUE = ARRAY_03_STATIC_VAR_131; - } - #endif - #if ARRAY_03_POW2_SIZE > 7 - }else{ - #if ARRAY_03_POW2_SIZE > 7 - if (index < 134) { - #endif - if (index == 132) ARRAY_VALUE = ARRAY_03_STATIC_VAR_132; - else ARRAY_VALUE = ARRAY_03_STATIC_VAR_133; - #if ARRAY_03_POW2_SIZE > 7 - }else{ - if (index == 134) ARRAY_VALUE = ARRAY_03_STATIC_VAR_134; - else ARRAY_VALUE = ARRAY_03_STATIC_VAR_135; - } - #endif - } - #endif - #if ARRAY_03_POW2_SIZE > 7 - }else{ - #if ARRAY_03_POW2_SIZE > 7 - if (index < 140) { - #endif - #if ARRAY_03_POW2_SIZE > 7 - if (index < 138) { - #endif - if (index == 136) ARRAY_VALUE = ARRAY_03_STATIC_VAR_136; - else ARRAY_VALUE = ARRAY_03_STATIC_VAR_137; - #if ARRAY_03_POW2_SIZE > 7 - }else{ - if (index == 138) ARRAY_VALUE = ARRAY_03_STATIC_VAR_138; - else ARRAY_VALUE = ARRAY_03_STATIC_VAR_139; - } - #endif - #if ARRAY_03_POW2_SIZE > 7 - }else{ - #if ARRAY_03_POW2_SIZE > 7 - if (index < 142) { - #endif - if (index == 140) ARRAY_VALUE = ARRAY_03_STATIC_VAR_140; - else ARRAY_VALUE = ARRAY_03_STATIC_VAR_141; - #if ARRAY_03_POW2_SIZE > 7 - }else{ - if (index == 142) ARRAY_VALUE = ARRAY_03_STATIC_VAR_142; - else ARRAY_VALUE = ARRAY_03_STATIC_VAR_143; - } - #endif - } - #endif - } - #endif - #if ARRAY_03_POW2_SIZE > 7 - }else{ - #if ARRAY_03_POW2_SIZE > 7 - if (index < 152) { - #endif - #if ARRAY_03_POW2_SIZE > 7 - if (index < 148) { - #endif - #if ARRAY_03_POW2_SIZE > 7 - if (index < 146) { - #endif - if (index == 144) ARRAY_VALUE = ARRAY_03_STATIC_VAR_144; - else ARRAY_VALUE = ARRAY_03_STATIC_VAR_145; - #if ARRAY_03_POW2_SIZE > 7 - }else{ - if (index == 146) ARRAY_VALUE = ARRAY_03_STATIC_VAR_146; - else ARRAY_VALUE = ARRAY_03_STATIC_VAR_147; - } - #endif - #if ARRAY_03_POW2_SIZE > 7 - }else{ - #if ARRAY_03_POW2_SIZE > 7 - if (index < 150) { - #endif - if (index == 148) ARRAY_VALUE = ARRAY_03_STATIC_VAR_148; - else ARRAY_VALUE = ARRAY_03_STATIC_VAR_149; - #if ARRAY_03_POW2_SIZE > 7 - }else{ - if (index == 150) ARRAY_VALUE = ARRAY_03_STATIC_VAR_150; - else ARRAY_VALUE = ARRAY_03_STATIC_VAR_151; - } - #endif - } - #endif - #if ARRAY_03_POW2_SIZE > 7 - }else{ - #if ARRAY_03_POW2_SIZE > 7 - if (index < 156) { - #endif - #if ARRAY_03_POW2_SIZE > 7 - if (index < 154) { - #endif - if (index == 152) ARRAY_VALUE = ARRAY_03_STATIC_VAR_152; - else ARRAY_VALUE = ARRAY_03_STATIC_VAR_153; - #if ARRAY_03_POW2_SIZE > 7 - }else{ - if (index == 154) ARRAY_VALUE = ARRAY_03_STATIC_VAR_154; - else ARRAY_VALUE = ARRAY_03_STATIC_VAR_155; - } - #endif - #if ARRAY_03_POW2_SIZE > 7 - }else{ - #if ARRAY_03_POW2_SIZE > 7 - if (index < 158) { - #endif - if (index == 156) ARRAY_VALUE = ARRAY_03_STATIC_VAR_156; - else ARRAY_VALUE = ARRAY_03_STATIC_VAR_157; - #if ARRAY_03_POW2_SIZE > 7 - }else{ - if (index == 158) ARRAY_VALUE = ARRAY_03_STATIC_VAR_158; - else ARRAY_VALUE = ARRAY_03_STATIC_VAR_159; - } - #endif - } - #endif - } - #endif - } - #endif - #if ARRAY_03_POW2_SIZE > 7 - }else{ - #if ARRAY_03_POW2_SIZE > 7 - if (index < 176) { - #endif - #if ARRAY_03_POW2_SIZE > 7 - if (index < 168) { - #endif - #if ARRAY_03_POW2_SIZE > 7 - if (index < 164) { - #endif - #if ARRAY_03_POW2_SIZE > 7 - if (index < 162) { - #endif - if (index == 160) ARRAY_VALUE = ARRAY_03_STATIC_VAR_160; - else ARRAY_VALUE = ARRAY_03_STATIC_VAR_161; - #if ARRAY_03_POW2_SIZE > 7 - }else{ - if (index == 162) ARRAY_VALUE = ARRAY_03_STATIC_VAR_162; - else ARRAY_VALUE = ARRAY_03_STATIC_VAR_163; - } - #endif - #if ARRAY_03_POW2_SIZE > 7 - }else{ - #if ARRAY_03_POW2_SIZE > 7 - if (index < 166) { - #endif - if (index == 164) ARRAY_VALUE = ARRAY_03_STATIC_VAR_164; - else ARRAY_VALUE = ARRAY_03_STATIC_VAR_165; - #if ARRAY_03_POW2_SIZE > 7 - }else{ - if (index == 166) ARRAY_VALUE = ARRAY_03_STATIC_VAR_166; - else ARRAY_VALUE = ARRAY_03_STATIC_VAR_167; - } - #endif - } - #endif - #if ARRAY_03_POW2_SIZE > 7 - }else{ - #if ARRAY_03_POW2_SIZE > 7 - if (index < 172) { - #endif - #if ARRAY_03_POW2_SIZE > 7 - if (index < 170) { - #endif - if (index == 168) ARRAY_VALUE = ARRAY_03_STATIC_VAR_168; - else ARRAY_VALUE = ARRAY_03_STATIC_VAR_169; - #if ARRAY_03_POW2_SIZE > 7 - }else{ - if (index == 170) ARRAY_VALUE = ARRAY_03_STATIC_VAR_170; - else ARRAY_VALUE = ARRAY_03_STATIC_VAR_171; - } - #endif - #if ARRAY_03_POW2_SIZE > 7 - }else{ - #if ARRAY_03_POW2_SIZE > 7 - if (index < 174) { - #endif - if (index == 172) ARRAY_VALUE = ARRAY_03_STATIC_VAR_172; - else ARRAY_VALUE = ARRAY_03_STATIC_VAR_173; - #if ARRAY_03_POW2_SIZE > 7 - }else{ - if (index == 174) ARRAY_VALUE = ARRAY_03_STATIC_VAR_174; - else ARRAY_VALUE = ARRAY_03_STATIC_VAR_175; - } - #endif - } - #endif - } - #endif - #if ARRAY_03_POW2_SIZE > 7 - }else{ - #if ARRAY_03_POW2_SIZE > 7 - if (index < 184) { - #endif - #if ARRAY_03_POW2_SIZE > 7 - if (index < 180) { - #endif - #if ARRAY_03_POW2_SIZE > 7 - if (index < 178) { - #endif - if (index == 176) ARRAY_VALUE = ARRAY_03_STATIC_VAR_176; - else ARRAY_VALUE = ARRAY_03_STATIC_VAR_177; - #if ARRAY_03_POW2_SIZE > 7 - }else{ - if (index == 178) ARRAY_VALUE = ARRAY_03_STATIC_VAR_178; - else ARRAY_VALUE = ARRAY_03_STATIC_VAR_179; - } - #endif - #if ARRAY_03_POW2_SIZE > 7 - }else{ - #if ARRAY_03_POW2_SIZE > 7 - if (index < 182) { - #endif - if (index == 180) ARRAY_VALUE = ARRAY_03_STATIC_VAR_180; - else ARRAY_VALUE = ARRAY_03_STATIC_VAR_181; - #if ARRAY_03_POW2_SIZE > 7 - }else{ - if (index == 182) ARRAY_VALUE = ARRAY_03_STATIC_VAR_182; - else ARRAY_VALUE = ARRAY_03_STATIC_VAR_183; - } - #endif - } - #endif - #if ARRAY_03_POW2_SIZE > 7 - }else{ - #if ARRAY_03_POW2_SIZE > 7 - if (index < 188) { - #endif - #if ARRAY_03_POW2_SIZE > 7 - if (index < 186) { - #endif - if (index == 184) ARRAY_VALUE = ARRAY_03_STATIC_VAR_184; - else ARRAY_VALUE = ARRAY_03_STATIC_VAR_185; - #if ARRAY_03_POW2_SIZE > 7 - }else{ - if (index == 186) ARRAY_VALUE = ARRAY_03_STATIC_VAR_186; - else ARRAY_VALUE = ARRAY_03_STATIC_VAR_187; - } - #endif - #if ARRAY_03_POW2_SIZE > 7 - }else{ - #if ARRAY_03_POW2_SIZE > 7 - if (index < 190) { - #endif - if (index == 188) ARRAY_VALUE = ARRAY_03_STATIC_VAR_188; - else ARRAY_VALUE = ARRAY_03_STATIC_VAR_189; - #if ARRAY_03_POW2_SIZE > 7 - }else{ - if (index == 190) ARRAY_VALUE = ARRAY_03_STATIC_VAR_190; - else ARRAY_VALUE = ARRAY_03_STATIC_VAR_191; - } - #endif - } - #endif - } - #endif - } - #endif - } - #endif - #if ARRAY_03_POW2_SIZE > 7 - }else{ - #if ARRAY_03_POW2_SIZE > 7 - if (index < 224) { - #endif - #if ARRAY_03_POW2_SIZE > 7 - if (index < 208) { - #endif - #if ARRAY_03_POW2_SIZE > 7 - if (index < 200) { - #endif - #if ARRAY_03_POW2_SIZE > 7 - if (index < 196) { - #endif - #if ARRAY_03_POW2_SIZE > 7 - if (index < 194) { - #endif - if (index == 192) ARRAY_VALUE = ARRAY_03_STATIC_VAR_192; - else ARRAY_VALUE = ARRAY_03_STATIC_VAR_193; - #if ARRAY_03_POW2_SIZE > 7 - }else{ - if (index == 194) ARRAY_VALUE = ARRAY_03_STATIC_VAR_194; - else ARRAY_VALUE = ARRAY_03_STATIC_VAR_195; - } - #endif - #if ARRAY_03_POW2_SIZE > 7 - }else{ - #if ARRAY_03_POW2_SIZE > 7 - if (index < 198) { - #endif - if (index == 196) ARRAY_VALUE = ARRAY_03_STATIC_VAR_196; - else ARRAY_VALUE = ARRAY_03_STATIC_VAR_197; - #if ARRAY_03_POW2_SIZE > 7 - }else{ - if (index == 198) ARRAY_VALUE = ARRAY_03_STATIC_VAR_198; - else ARRAY_VALUE = ARRAY_03_STATIC_VAR_199; - } - #endif - } - #endif - #if ARRAY_03_POW2_SIZE > 7 - }else{ - #if ARRAY_03_POW2_SIZE > 7 - if (index < 204) { - #endif - #if ARRAY_03_POW2_SIZE > 7 - if (index < 202) { - #endif - if (index == 200) ARRAY_VALUE = ARRAY_03_STATIC_VAR_200; - else ARRAY_VALUE = ARRAY_03_STATIC_VAR_201; - #if ARRAY_03_POW2_SIZE > 7 - }else{ - if (index == 202) ARRAY_VALUE = ARRAY_03_STATIC_VAR_202; - else ARRAY_VALUE = ARRAY_03_STATIC_VAR_203; - } - #endif - #if ARRAY_03_POW2_SIZE > 7 - }else{ - #if ARRAY_03_POW2_SIZE > 7 - if (index < 206) { - #endif - if (index == 204) ARRAY_VALUE = ARRAY_03_STATIC_VAR_204; - else ARRAY_VALUE = ARRAY_03_STATIC_VAR_205; - #if ARRAY_03_POW2_SIZE > 7 - }else{ - if (index == 206) ARRAY_VALUE = ARRAY_03_STATIC_VAR_206; - else ARRAY_VALUE = ARRAY_03_STATIC_VAR_207; - } - #endif - } - #endif - } - #endif - #if ARRAY_03_POW2_SIZE > 7 - }else{ - #if ARRAY_03_POW2_SIZE > 7 - if (index < 216) { - #endif - #if ARRAY_03_POW2_SIZE > 7 - if (index < 212) { - #endif - #if ARRAY_03_POW2_SIZE > 7 - if (index < 210) { - #endif - if (index == 208) ARRAY_VALUE = ARRAY_03_STATIC_VAR_208; - else ARRAY_VALUE = ARRAY_03_STATIC_VAR_209; - #if ARRAY_03_POW2_SIZE > 7 - }else{ - if (index == 210) ARRAY_VALUE = ARRAY_03_STATIC_VAR_210; - else ARRAY_VALUE = ARRAY_03_STATIC_VAR_211; - } - #endif - #if ARRAY_03_POW2_SIZE > 7 - }else{ - #if ARRAY_03_POW2_SIZE > 7 - if (index < 214) { - #endif - if (index == 212) ARRAY_VALUE = ARRAY_03_STATIC_VAR_212; - else ARRAY_VALUE = ARRAY_03_STATIC_VAR_213; - #if ARRAY_03_POW2_SIZE > 7 - }else{ - if (index == 214) ARRAY_VALUE = ARRAY_03_STATIC_VAR_214; - else ARRAY_VALUE = ARRAY_03_STATIC_VAR_215; - } - #endif - } - #endif - #if ARRAY_03_POW2_SIZE > 7 - }else{ - #if ARRAY_03_POW2_SIZE > 7 - if (index < 220) { - #endif - #if ARRAY_03_POW2_SIZE > 7 - if (index < 218) { - #endif - if (index == 216) ARRAY_VALUE = ARRAY_03_STATIC_VAR_216; - else ARRAY_VALUE = ARRAY_03_STATIC_VAR_217; - #if ARRAY_03_POW2_SIZE > 7 - }else{ - if (index == 218) ARRAY_VALUE = ARRAY_03_STATIC_VAR_218; - else ARRAY_VALUE = ARRAY_03_STATIC_VAR_219; - } - #endif - #if ARRAY_03_POW2_SIZE > 7 - }else{ - #if ARRAY_03_POW2_SIZE > 7 - if (index < 222) { - #endif - if (index == 220) ARRAY_VALUE = ARRAY_03_STATIC_VAR_220; - else ARRAY_VALUE = ARRAY_03_STATIC_VAR_221; - #if ARRAY_03_POW2_SIZE > 7 - }else{ - if (index == 222) ARRAY_VALUE = ARRAY_03_STATIC_VAR_222; - else ARRAY_VALUE = ARRAY_03_STATIC_VAR_223; - } - #endif - } - #endif - } - #endif - } - #endif - #if ARRAY_03_POW2_SIZE > 7 - }else{ - #if ARRAY_03_POW2_SIZE > 7 - if (index < 240) { - #endif - #if ARRAY_03_POW2_SIZE > 7 - if (index < 232) { - #endif - #if ARRAY_03_POW2_SIZE > 7 - if (index < 228) { - #endif - #if ARRAY_03_POW2_SIZE > 7 - if (index < 226) { - #endif - if (index == 224) ARRAY_VALUE = ARRAY_03_STATIC_VAR_224; - else ARRAY_VALUE = ARRAY_03_STATIC_VAR_225; - #if ARRAY_03_POW2_SIZE > 7 - }else{ - if (index == 226) ARRAY_VALUE = ARRAY_03_STATIC_VAR_226; - else ARRAY_VALUE = ARRAY_03_STATIC_VAR_227; - } - #endif - #if ARRAY_03_POW2_SIZE > 7 - }else{ - #if ARRAY_03_POW2_SIZE > 7 - if (index < 230) { - #endif - if (index == 228) ARRAY_VALUE = ARRAY_03_STATIC_VAR_228; - else ARRAY_VALUE = ARRAY_03_STATIC_VAR_229; - #if ARRAY_03_POW2_SIZE > 7 - }else{ - if (index == 230) ARRAY_VALUE = ARRAY_03_STATIC_VAR_230; - else ARRAY_VALUE = ARRAY_03_STATIC_VAR_231; - } - #endif - } - #endif - #if ARRAY_03_POW2_SIZE > 7 - }else{ - #if ARRAY_03_POW2_SIZE > 7 - if (index < 236) { - #endif - #if ARRAY_03_POW2_SIZE > 7 - if (index < 234) { - #endif - if (index == 232) ARRAY_VALUE = ARRAY_03_STATIC_VAR_232; - else ARRAY_VALUE = ARRAY_03_STATIC_VAR_233; - #if ARRAY_03_POW2_SIZE > 7 - }else{ - if (index == 234) ARRAY_VALUE = ARRAY_03_STATIC_VAR_234; - else ARRAY_VALUE = ARRAY_03_STATIC_VAR_235; - } - #endif - #if ARRAY_03_POW2_SIZE > 7 - }else{ - #if ARRAY_03_POW2_SIZE > 7 - if (index < 238) { - #endif - if (index == 236) ARRAY_VALUE = ARRAY_03_STATIC_VAR_236; - else ARRAY_VALUE = ARRAY_03_STATIC_VAR_237; - #if ARRAY_03_POW2_SIZE > 7 - }else{ - if (index == 238) ARRAY_VALUE = ARRAY_03_STATIC_VAR_238; - else ARRAY_VALUE = ARRAY_03_STATIC_VAR_239; - } - #endif - } - #endif - } - #endif - #if ARRAY_03_POW2_SIZE > 7 - }else{ - #if ARRAY_03_POW2_SIZE > 7 - if (index < 248) { - #endif - #if ARRAY_03_POW2_SIZE > 7 - if (index < 244) { - #endif - #if ARRAY_03_POW2_SIZE > 7 - if (index < 242) { - #endif - if (index == 240) ARRAY_VALUE = ARRAY_03_STATIC_VAR_240; - else ARRAY_VALUE = ARRAY_03_STATIC_VAR_241; - #if ARRAY_03_POW2_SIZE > 7 - }else{ - if (index == 242) ARRAY_VALUE = ARRAY_03_STATIC_VAR_242; - else ARRAY_VALUE = ARRAY_03_STATIC_VAR_243; - } - #endif - #if ARRAY_03_POW2_SIZE > 7 - }else{ - #if ARRAY_03_POW2_SIZE > 7 - if (index < 246) { - #endif - if (index == 244) ARRAY_VALUE = ARRAY_03_STATIC_VAR_244; - else ARRAY_VALUE = ARRAY_03_STATIC_VAR_245; - #if ARRAY_03_POW2_SIZE > 7 - }else{ - if (index == 246) ARRAY_VALUE = ARRAY_03_STATIC_VAR_246; - else ARRAY_VALUE = ARRAY_03_STATIC_VAR_247; - } - #endif - } - #endif - #if ARRAY_03_POW2_SIZE > 7 - }else{ - #if ARRAY_03_POW2_SIZE > 7 - if (index < 252) { - #endif - #if ARRAY_03_POW2_SIZE > 7 - if (index < 250) { - #endif - if (index == 248) ARRAY_VALUE = ARRAY_03_STATIC_VAR_248; - else ARRAY_VALUE = ARRAY_03_STATIC_VAR_249; - #if ARRAY_03_POW2_SIZE > 7 - }else{ - if (index == 250) ARRAY_VALUE = ARRAY_03_STATIC_VAR_250; - else ARRAY_VALUE = ARRAY_03_STATIC_VAR_251; - } - #endif - #if ARRAY_03_POW2_SIZE > 7 - }else{ - #if ARRAY_03_POW2_SIZE > 7 - if (index < 254) { - #endif - if (index == 252) ARRAY_VALUE = ARRAY_03_STATIC_VAR_252; - else ARRAY_VALUE = ARRAY_03_STATIC_VAR_253; - #if ARRAY_03_POW2_SIZE > 7 - }else{ - if (index == 254) ARRAY_VALUE = ARRAY_03_STATIC_VAR_254; - else ARRAY_VALUE = ARRAY_03_STATIC_VAR_255; - } - #endif - } - #endif - } - #endif - } - #endif - } - #endif - } - #endif - } - #endif -} - -ARRAY_03_SETTER(index, value) { - #if ARRAY_03_POW2_SIZE > 7 - if (index < 128) { - #endif - #if ARRAY_03_POW2_SIZE > 6 - if (index < 64) { - #endif - #if ARRAY_03_POW2_SIZE > 5 - if (index < 32) { - #endif - #if ARRAY_03_POW2_SIZE > 4 - if (index < 16) { - #endif - #if ARRAY_03_POW2_SIZE > 3 - if (index < 8) { - #endif - #if ARRAY_03_POW2_SIZE > 2 - if (index < 4) { - #endif - #if ARRAY_03_POW2_SIZE > 1 - if (index < 2) { - #endif - if (index == 0) ARRAY_03_STATIC_VAR_000 = value; - else ARRAY_03_STATIC_VAR_001 = value; - #if ARRAY_03_POW2_SIZE > 1 - }else{ - if (index == 2) ARRAY_03_STATIC_VAR_002 = value; - else ARRAY_03_STATIC_VAR_003 = value; - } - #endif - #if ARRAY_03_POW2_SIZE > 2 - }else{ - #if ARRAY_03_POW2_SIZE > 2 - if (index < 6) { - #endif - if (index == 4) ARRAY_03_STATIC_VAR_004 = value; - else ARRAY_03_STATIC_VAR_005 = value; - #if ARRAY_03_POW2_SIZE > 2 - }else{ - if (index == 6) ARRAY_03_STATIC_VAR_006 = value; - else ARRAY_03_STATIC_VAR_007 = value; - } - #endif - } - #endif - #if ARRAY_03_POW2_SIZE > 3 - }else{ - #if ARRAY_03_POW2_SIZE > 3 - if (index < 12) { - #endif - #if ARRAY_03_POW2_SIZE > 3 - if (index < 10) { - #endif - if (index == 8) ARRAY_03_STATIC_VAR_008 = value; - else ARRAY_03_STATIC_VAR_009 = value; - #if ARRAY_03_POW2_SIZE > 3 - }else{ - if (index == 10) ARRAY_03_STATIC_VAR_010 = value; - else ARRAY_03_STATIC_VAR_011 = value; - } - #endif - #if ARRAY_03_POW2_SIZE > 3 - }else{ - #if ARRAY_03_POW2_SIZE > 3 - if (index < 14) { - #endif - if (index == 12) ARRAY_03_STATIC_VAR_012 = value; - else ARRAY_03_STATIC_VAR_013 = value; - #if ARRAY_03_POW2_SIZE > 3 - }else{ - if (index == 14) ARRAY_03_STATIC_VAR_014 = value; - else ARRAY_03_STATIC_VAR_015 = value; - } - #endif - } - #endif - } - #endif - #if ARRAY_03_POW2_SIZE > 4 - }else{ - #if ARRAY_03_POW2_SIZE > 4 - if (index < 24) { - #endif - #if ARRAY_03_POW2_SIZE > 4 - if (index < 20) { - #endif - #if ARRAY_03_POW2_SIZE > 4 - if (index < 18) { - #endif - if (index == 16) ARRAY_03_STATIC_VAR_016 = value; - else ARRAY_03_STATIC_VAR_017 = value; - #if ARRAY_03_POW2_SIZE > 4 - }else{ - if (index == 18) ARRAY_03_STATIC_VAR_018 = value; - else ARRAY_03_STATIC_VAR_019 = value; - } - #endif - #if ARRAY_03_POW2_SIZE > 4 - }else{ - #if ARRAY_03_POW2_SIZE > 4 - if (index < 22) { - #endif - if (index == 20) ARRAY_03_STATIC_VAR_020 = value; - else ARRAY_03_STATIC_VAR_021 = value; - #if ARRAY_03_POW2_SIZE > 4 - }else{ - if (index == 22) ARRAY_03_STATIC_VAR_022 = value; - else ARRAY_03_STATIC_VAR_023 = value; - } - #endif - } - #endif - #if ARRAY_03_POW2_SIZE > 4 - }else{ - #if ARRAY_03_POW2_SIZE > 4 - if (index < 28) { - #endif - #if ARRAY_03_POW2_SIZE > 4 - if (index < 26) { - #endif - if (index == 24) ARRAY_03_STATIC_VAR_024 = value; - else ARRAY_03_STATIC_VAR_025 = value; - #if ARRAY_03_POW2_SIZE > 4 - }else{ - if (index == 26) ARRAY_03_STATIC_VAR_026 = value; - else ARRAY_03_STATIC_VAR_027 = value; - } - #endif - #if ARRAY_03_POW2_SIZE > 4 - }else{ - #if ARRAY_03_POW2_SIZE > 4 - if (index < 30) { - #endif - if (index == 28) ARRAY_03_STATIC_VAR_028 = value; - else ARRAY_03_STATIC_VAR_029 = value; - #if ARRAY_03_POW2_SIZE > 4 - }else{ - if (index == 30) ARRAY_03_STATIC_VAR_030 = value; - else ARRAY_03_STATIC_VAR_031 = value; - } - #endif - } - #endif - } - #endif - } - #endif - #if ARRAY_03_POW2_SIZE > 5 - }else{ - #if ARRAY_03_POW2_SIZE > 5 - if (index < 48) { - #endif - #if ARRAY_03_POW2_SIZE > 5 - if (index < 40) { - #endif - #if ARRAY_03_POW2_SIZE > 5 - if (index < 36) { - #endif - #if ARRAY_03_POW2_SIZE > 5 - if (index < 34) { - #endif - if (index == 32) ARRAY_03_STATIC_VAR_032 = value; - else ARRAY_03_STATIC_VAR_033 = value; - #if ARRAY_03_POW2_SIZE > 5 - }else{ - if (index == 34) ARRAY_03_STATIC_VAR_034 = value; - else ARRAY_03_STATIC_VAR_035 = value; - } - #endif - #if ARRAY_03_POW2_SIZE > 5 - }else{ - #if ARRAY_03_POW2_SIZE > 5 - if (index < 38) { - #endif - if (index == 36) ARRAY_03_STATIC_VAR_036 = value; - else ARRAY_03_STATIC_VAR_037 = value; - #if ARRAY_03_POW2_SIZE > 5 - }else{ - if (index == 38) ARRAY_03_STATIC_VAR_038 = value; - else ARRAY_03_STATIC_VAR_039 = value; - } - #endif - } - #endif - #if ARRAY_03_POW2_SIZE > 5 - }else{ - #if ARRAY_03_POW2_SIZE > 5 - if (index < 44) { - #endif - #if ARRAY_03_POW2_SIZE > 5 - if (index < 42) { - #endif - if (index == 40) ARRAY_03_STATIC_VAR_040 = value; - else ARRAY_03_STATIC_VAR_041 = value; - #if ARRAY_03_POW2_SIZE > 5 - }else{ - if (index == 42) ARRAY_03_STATIC_VAR_042 = value; - else ARRAY_03_STATIC_VAR_043 = value; - } - #endif - #if ARRAY_03_POW2_SIZE > 5 - }else{ - #if ARRAY_03_POW2_SIZE > 5 - if (index < 46) { - #endif - if (index == 44) ARRAY_03_STATIC_VAR_044 = value; - else ARRAY_03_STATIC_VAR_045 = value; - #if ARRAY_03_POW2_SIZE > 5 - }else{ - if (index == 46) ARRAY_03_STATIC_VAR_046 = value; - else ARRAY_03_STATIC_VAR_047 = value; - } - #endif - } - #endif - } - #endif - #if ARRAY_03_POW2_SIZE > 5 - }else{ - #if ARRAY_03_POW2_SIZE > 5 - if (index < 56) { - #endif - #if ARRAY_03_POW2_SIZE > 5 - if (index < 52) { - #endif - #if ARRAY_03_POW2_SIZE > 5 - if (index < 50) { - #endif - if (index == 48) ARRAY_03_STATIC_VAR_048 = value; - else ARRAY_03_STATIC_VAR_049 = value; - #if ARRAY_03_POW2_SIZE > 5 - }else{ - if (index == 50) ARRAY_03_STATIC_VAR_050 = value; - else ARRAY_03_STATIC_VAR_051 = value; - } - #endif - #if ARRAY_03_POW2_SIZE > 5 - }else{ - #if ARRAY_03_POW2_SIZE > 5 - if (index < 54) { - #endif - if (index == 52) ARRAY_03_STATIC_VAR_052 = value; - else ARRAY_03_STATIC_VAR_053 = value; - #if ARRAY_03_POW2_SIZE > 5 - }else{ - if (index == 54) ARRAY_03_STATIC_VAR_054 = value; - else ARRAY_03_STATIC_VAR_055 = value; - } - #endif - } - #endif - #if ARRAY_03_POW2_SIZE > 5 - }else{ - #if ARRAY_03_POW2_SIZE > 5 - if (index < 60) { - #endif - #if ARRAY_03_POW2_SIZE > 5 - if (index < 58) { - #endif - if (index == 56) ARRAY_03_STATIC_VAR_056 = value; - else ARRAY_03_STATIC_VAR_057 = value; - #if ARRAY_03_POW2_SIZE > 5 - }else{ - if (index == 58) ARRAY_03_STATIC_VAR_058 = value; - else ARRAY_03_STATIC_VAR_059 = value; - } - #endif - #if ARRAY_03_POW2_SIZE > 5 - }else{ - #if ARRAY_03_POW2_SIZE > 5 - if (index < 62) { - #endif - if (index == 60) ARRAY_03_STATIC_VAR_060 = value; - else ARRAY_03_STATIC_VAR_061 = value; - #if ARRAY_03_POW2_SIZE > 5 - }else{ - if (index == 62) ARRAY_03_STATIC_VAR_062 = value; - else ARRAY_03_STATIC_VAR_063 = value; - } - #endif - } - #endif - } - #endif - } - #endif - } - #endif - #if ARRAY_03_POW2_SIZE > 6 - }else{ - #if ARRAY_03_POW2_SIZE > 6 - if (index < 96) { - #endif - #if ARRAY_03_POW2_SIZE > 6 - if (index < 80) { - #endif - #if ARRAY_03_POW2_SIZE > 6 - if (index < 72) { - #endif - #if ARRAY_03_POW2_SIZE > 6 - if (index < 68) { - #endif - #if ARRAY_03_POW2_SIZE > 6 - if (index < 66) { - #endif - if (index == 64) ARRAY_03_STATIC_VAR_064 = value; - else ARRAY_03_STATIC_VAR_065 = value; - #if ARRAY_03_POW2_SIZE > 6 - }else{ - if (index == 66) ARRAY_03_STATIC_VAR_066 = value; - else ARRAY_03_STATIC_VAR_067 = value; - } - #endif - #if ARRAY_03_POW2_SIZE > 6 - }else{ - #if ARRAY_03_POW2_SIZE > 6 - if (index < 70) { - #endif - if (index == 68) ARRAY_03_STATIC_VAR_068 = value; - else ARRAY_03_STATIC_VAR_069 = value; - #if ARRAY_03_POW2_SIZE > 6 - }else{ - if (index == 70) ARRAY_03_STATIC_VAR_070 = value; - else ARRAY_03_STATIC_VAR_071 = value; - } - #endif - } - #endif - #if ARRAY_03_POW2_SIZE > 6 - }else{ - #if ARRAY_03_POW2_SIZE > 6 - if (index < 76) { - #endif - #if ARRAY_03_POW2_SIZE > 6 - if (index < 74) { - #endif - if (index == 72) ARRAY_03_STATIC_VAR_072 = value; - else ARRAY_03_STATIC_VAR_073 = value; - #if ARRAY_03_POW2_SIZE > 6 - }else{ - if (index == 74) ARRAY_03_STATIC_VAR_074 = value; - else ARRAY_03_STATIC_VAR_075 = value; - } - #endif - #if ARRAY_03_POW2_SIZE > 6 - }else{ - #if ARRAY_03_POW2_SIZE > 6 - if (index < 78) { - #endif - if (index == 76) ARRAY_03_STATIC_VAR_076 = value; - else ARRAY_03_STATIC_VAR_077 = value; - #if ARRAY_03_POW2_SIZE > 6 - }else{ - if (index == 78) ARRAY_03_STATIC_VAR_078 = value; - else ARRAY_03_STATIC_VAR_079 = value; - } - #endif - } - #endif - } - #endif - #if ARRAY_03_POW2_SIZE > 6 - }else{ - #if ARRAY_03_POW2_SIZE > 6 - if (index < 88) { - #endif - #if ARRAY_03_POW2_SIZE > 6 - if (index < 84) { - #endif - #if ARRAY_03_POW2_SIZE > 6 - if (index < 82) { - #endif - if (index == 80) ARRAY_03_STATIC_VAR_080 = value; - else ARRAY_03_STATIC_VAR_081 = value; - #if ARRAY_03_POW2_SIZE > 6 - }else{ - if (index == 82) ARRAY_03_STATIC_VAR_082 = value; - else ARRAY_03_STATIC_VAR_083 = value; - } - #endif - #if ARRAY_03_POW2_SIZE > 6 - }else{ - #if ARRAY_03_POW2_SIZE > 6 - if (index < 86) { - #endif - if (index == 84) ARRAY_03_STATIC_VAR_084 = value; - else ARRAY_03_STATIC_VAR_085 = value; - #if ARRAY_03_POW2_SIZE > 6 - }else{ - if (index == 86) ARRAY_03_STATIC_VAR_086 = value; - else ARRAY_03_STATIC_VAR_087 = value; - } - #endif - } - #endif - #if ARRAY_03_POW2_SIZE > 6 - }else{ - #if ARRAY_03_POW2_SIZE > 6 - if (index < 92) { - #endif - #if ARRAY_03_POW2_SIZE > 6 - if (index < 90) { - #endif - if (index == 88) ARRAY_03_STATIC_VAR_088 = value; - else ARRAY_03_STATIC_VAR_089 = value; - #if ARRAY_03_POW2_SIZE > 6 - }else{ - if (index == 90) ARRAY_03_STATIC_VAR_090 = value; - else ARRAY_03_STATIC_VAR_091 = value; - } - #endif - #if ARRAY_03_POW2_SIZE > 6 - }else{ - #if ARRAY_03_POW2_SIZE > 6 - if (index < 94) { - #endif - if (index == 92) ARRAY_03_STATIC_VAR_092 = value; - else ARRAY_03_STATIC_VAR_093 = value; - #if ARRAY_03_POW2_SIZE > 6 - }else{ - if (index == 94) ARRAY_03_STATIC_VAR_094 = value; - else ARRAY_03_STATIC_VAR_095 = value; - } - #endif - } - #endif - } - #endif - } - #endif - #if ARRAY_03_POW2_SIZE > 6 - }else{ - #if ARRAY_03_POW2_SIZE > 6 - if (index < 112) { - #endif - #if ARRAY_03_POW2_SIZE > 6 - if (index < 104) { - #endif - #if ARRAY_03_POW2_SIZE > 6 - if (index < 100) { - #endif - #if ARRAY_03_POW2_SIZE > 6 - if (index < 98) { - #endif - if (index == 96) ARRAY_03_STATIC_VAR_096 = value; - else ARRAY_03_STATIC_VAR_097 = value; - #if ARRAY_03_POW2_SIZE > 6 - }else{ - if (index == 98) ARRAY_03_STATIC_VAR_098 = value; - else ARRAY_03_STATIC_VAR_099 = value; - } - #endif - #if ARRAY_03_POW2_SIZE > 6 - }else{ - #if ARRAY_03_POW2_SIZE > 6 - if (index < 102) { - #endif - if (index == 100) ARRAY_03_STATIC_VAR_100 = value; - else ARRAY_03_STATIC_VAR_101 = value; - #if ARRAY_03_POW2_SIZE > 6 - }else{ - if (index == 102) ARRAY_03_STATIC_VAR_102 = value; - else ARRAY_03_STATIC_VAR_103 = value; - } - #endif - } - #endif - #if ARRAY_03_POW2_SIZE > 6 - }else{ - #if ARRAY_03_POW2_SIZE > 6 - if (index < 108) { - #endif - #if ARRAY_03_POW2_SIZE > 6 - if (index < 106) { - #endif - if (index == 104) ARRAY_03_STATIC_VAR_104 = value; - else ARRAY_03_STATIC_VAR_105 = value; - #if ARRAY_03_POW2_SIZE > 6 - }else{ - if (index == 106) ARRAY_03_STATIC_VAR_106 = value; - else ARRAY_03_STATIC_VAR_107 = value; - } - #endif - #if ARRAY_03_POW2_SIZE > 6 - }else{ - #if ARRAY_03_POW2_SIZE > 6 - if (index < 110) { - #endif - if (index == 108) ARRAY_03_STATIC_VAR_108 = value; - else ARRAY_03_STATIC_VAR_109 = value; - #if ARRAY_03_POW2_SIZE > 6 - }else{ - if (index == 110) ARRAY_03_STATIC_VAR_110 = value; - else ARRAY_03_STATIC_VAR_111 = value; - } - #endif - } - #endif - } - #endif - #if ARRAY_03_POW2_SIZE > 6 - }else{ - #if ARRAY_03_POW2_SIZE > 6 - if (index < 120) { - #endif - #if ARRAY_03_POW2_SIZE > 6 - if (index < 116) { - #endif - #if ARRAY_03_POW2_SIZE > 6 - if (index < 114) { - #endif - if (index == 112) ARRAY_03_STATIC_VAR_112 = value; - else ARRAY_03_STATIC_VAR_113 = value; - #if ARRAY_03_POW2_SIZE > 6 - }else{ - if (index == 114) ARRAY_03_STATIC_VAR_114 = value; - else ARRAY_03_STATIC_VAR_115 = value; - } - #endif - #if ARRAY_03_POW2_SIZE > 6 - }else{ - #if ARRAY_03_POW2_SIZE > 6 - if (index < 118) { - #endif - if (index == 116) ARRAY_03_STATIC_VAR_116 = value; - else ARRAY_03_STATIC_VAR_117 = value; - #if ARRAY_03_POW2_SIZE > 6 - }else{ - if (index == 118) ARRAY_03_STATIC_VAR_118 = value; - else ARRAY_03_STATIC_VAR_119 = value; - } - #endif - } - #endif - #if ARRAY_03_POW2_SIZE > 6 - }else{ - #if ARRAY_03_POW2_SIZE > 6 - if (index < 124) { - #endif - #if ARRAY_03_POW2_SIZE > 6 - if (index < 122) { - #endif - if (index == 120) ARRAY_03_STATIC_VAR_120 = value; - else ARRAY_03_STATIC_VAR_121 = value; - #if ARRAY_03_POW2_SIZE > 6 - }else{ - if (index == 122) ARRAY_03_STATIC_VAR_122 = value; - else ARRAY_03_STATIC_VAR_123 = value; - } - #endif - #if ARRAY_03_POW2_SIZE > 6 - }else{ - #if ARRAY_03_POW2_SIZE > 6 - if (index < 126) { - #endif - if (index == 124) ARRAY_03_STATIC_VAR_124 = value; - else ARRAY_03_STATIC_VAR_125 = value; - #if ARRAY_03_POW2_SIZE > 6 - }else{ - if (index == 126) ARRAY_03_STATIC_VAR_126 = value; - else ARRAY_03_STATIC_VAR_127 = value; - } - #endif - } - #endif - } - #endif - } - #endif - } - #endif - } - #endif - #if ARRAY_03_POW2_SIZE > 7 - }else{ - #if ARRAY_03_POW2_SIZE > 7 - if (index < 192) { - #endif - #if ARRAY_03_POW2_SIZE > 7 - if (index < 160) { - #endif - #if ARRAY_03_POW2_SIZE > 7 - if (index < 144) { - #endif - #if ARRAY_03_POW2_SIZE > 7 - if (index < 136) { - #endif - #if ARRAY_03_POW2_SIZE > 7 - if (index < 132) { - #endif - #if ARRAY_03_POW2_SIZE > 7 - if (index < 130) { - #endif - if (index == 128) ARRAY_03_STATIC_VAR_128 = value; - else ARRAY_03_STATIC_VAR_129 = value; - #if ARRAY_03_POW2_SIZE > 7 - }else{ - if (index == 130) ARRAY_03_STATIC_VAR_130 = value; - else ARRAY_03_STATIC_VAR_131 = value; - } - #endif - #if ARRAY_03_POW2_SIZE > 7 - }else{ - #if ARRAY_03_POW2_SIZE > 7 - if (index < 134) { - #endif - if (index == 132) ARRAY_03_STATIC_VAR_132 = value; - else ARRAY_03_STATIC_VAR_133 = value; - #if ARRAY_03_POW2_SIZE > 7 - }else{ - if (index == 134) ARRAY_03_STATIC_VAR_134 = value; - else ARRAY_03_STATIC_VAR_135 = value; - } - #endif - } - #endif - #if ARRAY_03_POW2_SIZE > 7 - }else{ - #if ARRAY_03_POW2_SIZE > 7 - if (index < 140) { - #endif - #if ARRAY_03_POW2_SIZE > 7 - if (index < 138) { - #endif - if (index == 136) ARRAY_03_STATIC_VAR_136 = value; - else ARRAY_03_STATIC_VAR_137 = value; - #if ARRAY_03_POW2_SIZE > 7 - }else{ - if (index == 138) ARRAY_03_STATIC_VAR_138 = value; - else ARRAY_03_STATIC_VAR_139 = value; - } - #endif - #if ARRAY_03_POW2_SIZE > 7 - }else{ - #if ARRAY_03_POW2_SIZE > 7 - if (index < 142) { - #endif - if (index == 140) ARRAY_03_STATIC_VAR_140 = value; - else ARRAY_03_STATIC_VAR_141 = value; - #if ARRAY_03_POW2_SIZE > 7 - }else{ - if (index == 142) ARRAY_03_STATIC_VAR_142 = value; - else ARRAY_03_STATIC_VAR_143 = value; - } - #endif - } - #endif - } - #endif - #if ARRAY_03_POW2_SIZE > 7 - }else{ - #if ARRAY_03_POW2_SIZE > 7 - if (index < 152) { - #endif - #if ARRAY_03_POW2_SIZE > 7 - if (index < 148) { - #endif - #if ARRAY_03_POW2_SIZE > 7 - if (index < 146) { - #endif - if (index == 144) ARRAY_03_STATIC_VAR_144 = value; - else ARRAY_03_STATIC_VAR_145 = value; - #if ARRAY_03_POW2_SIZE > 7 - }else{ - if (index == 146) ARRAY_03_STATIC_VAR_146 = value; - else ARRAY_03_STATIC_VAR_147 = value; - } - #endif - #if ARRAY_03_POW2_SIZE > 7 - }else{ - #if ARRAY_03_POW2_SIZE > 7 - if (index < 150) { - #endif - if (index == 148) ARRAY_03_STATIC_VAR_148 = value; - else ARRAY_03_STATIC_VAR_149 = value; - #if ARRAY_03_POW2_SIZE > 7 - }else{ - if (index == 150) ARRAY_03_STATIC_VAR_150 = value; - else ARRAY_03_STATIC_VAR_151 = value; - } - #endif - } - #endif - #if ARRAY_03_POW2_SIZE > 7 - }else{ - #if ARRAY_03_POW2_SIZE > 7 - if (index < 156) { - #endif - #if ARRAY_03_POW2_SIZE > 7 - if (index < 154) { - #endif - if (index == 152) ARRAY_03_STATIC_VAR_152 = value; - else ARRAY_03_STATIC_VAR_153 = value; - #if ARRAY_03_POW2_SIZE > 7 - }else{ - if (index == 154) ARRAY_03_STATIC_VAR_154 = value; - else ARRAY_03_STATIC_VAR_155 = value; - } - #endif - #if ARRAY_03_POW2_SIZE > 7 - }else{ - #if ARRAY_03_POW2_SIZE > 7 - if (index < 158) { - #endif - if (index == 156) ARRAY_03_STATIC_VAR_156 = value; - else ARRAY_03_STATIC_VAR_157 = value; - #if ARRAY_03_POW2_SIZE > 7 - }else{ - if (index == 158) ARRAY_03_STATIC_VAR_158 = value; - else ARRAY_03_STATIC_VAR_159 = value; - } - #endif - } - #endif - } - #endif - } - #endif - #if ARRAY_03_POW2_SIZE > 7 - }else{ - #if ARRAY_03_POW2_SIZE > 7 - if (index < 176) { - #endif - #if ARRAY_03_POW2_SIZE > 7 - if (index < 168) { - #endif - #if ARRAY_03_POW2_SIZE > 7 - if (index < 164) { - #endif - #if ARRAY_03_POW2_SIZE > 7 - if (index < 162) { - #endif - if (index == 160) ARRAY_03_STATIC_VAR_160 = value; - else ARRAY_03_STATIC_VAR_161 = value; - #if ARRAY_03_POW2_SIZE > 7 - }else{ - if (index == 162) ARRAY_03_STATIC_VAR_162 = value; - else ARRAY_03_STATIC_VAR_163 = value; - } - #endif - #if ARRAY_03_POW2_SIZE > 7 - }else{ - #if ARRAY_03_POW2_SIZE > 7 - if (index < 166) { - #endif - if (index == 164) ARRAY_03_STATIC_VAR_164 = value; - else ARRAY_03_STATIC_VAR_165 = value; - #if ARRAY_03_POW2_SIZE > 7 - }else{ - if (index == 166) ARRAY_03_STATIC_VAR_166 = value; - else ARRAY_03_STATIC_VAR_167 = value; - } - #endif - } - #endif - #if ARRAY_03_POW2_SIZE > 7 - }else{ - #if ARRAY_03_POW2_SIZE > 7 - if (index < 172) { - #endif - #if ARRAY_03_POW2_SIZE > 7 - if (index < 170) { - #endif - if (index == 168) ARRAY_03_STATIC_VAR_168 = value; - else ARRAY_03_STATIC_VAR_169 = value; - #if ARRAY_03_POW2_SIZE > 7 - }else{ - if (index == 170) ARRAY_03_STATIC_VAR_170 = value; - else ARRAY_03_STATIC_VAR_171 = value; - } - #endif - #if ARRAY_03_POW2_SIZE > 7 - }else{ - #if ARRAY_03_POW2_SIZE > 7 - if (index < 174) { - #endif - if (index == 172) ARRAY_03_STATIC_VAR_172 = value; - else ARRAY_03_STATIC_VAR_173 = value; - #if ARRAY_03_POW2_SIZE > 7 - }else{ - if (index == 174) ARRAY_03_STATIC_VAR_174 = value; - else ARRAY_03_STATIC_VAR_175 = value; - } - #endif - } - #endif - } - #endif - #if ARRAY_03_POW2_SIZE > 7 - }else{ - #if ARRAY_03_POW2_SIZE > 7 - if (index < 184) { - #endif - #if ARRAY_03_POW2_SIZE > 7 - if (index < 180) { - #endif - #if ARRAY_03_POW2_SIZE > 7 - if (index < 178) { - #endif - if (index == 176) ARRAY_03_STATIC_VAR_176 = value; - else ARRAY_03_STATIC_VAR_177 = value; - #if ARRAY_03_POW2_SIZE > 7 - }else{ - if (index == 178) ARRAY_03_STATIC_VAR_178 = value; - else ARRAY_03_STATIC_VAR_179 = value; - } - #endif - #if ARRAY_03_POW2_SIZE > 7 - }else{ - #if ARRAY_03_POW2_SIZE > 7 - if (index < 182) { - #endif - if (index == 180) ARRAY_03_STATIC_VAR_180 = value; - else ARRAY_03_STATIC_VAR_181 = value; - #if ARRAY_03_POW2_SIZE > 7 - }else{ - if (index == 182) ARRAY_03_STATIC_VAR_182 = value; - else ARRAY_03_STATIC_VAR_183 = value; - } - #endif - } - #endif - #if ARRAY_03_POW2_SIZE > 7 - }else{ - #if ARRAY_03_POW2_SIZE > 7 - if (index < 188) { - #endif - #if ARRAY_03_POW2_SIZE > 7 - if (index < 186) { - #endif - if (index == 184) ARRAY_03_STATIC_VAR_184 = value; - else ARRAY_03_STATIC_VAR_185 = value; - #if ARRAY_03_POW2_SIZE > 7 - }else{ - if (index == 186) ARRAY_03_STATIC_VAR_186 = value; - else ARRAY_03_STATIC_VAR_187 = value; - } - #endif - #if ARRAY_03_POW2_SIZE > 7 - }else{ - #if ARRAY_03_POW2_SIZE > 7 - if (index < 190) { - #endif - if (index == 188) ARRAY_03_STATIC_VAR_188 = value; - else ARRAY_03_STATIC_VAR_189 = value; - #if ARRAY_03_POW2_SIZE > 7 - }else{ - if (index == 190) ARRAY_03_STATIC_VAR_190 = value; - else ARRAY_03_STATIC_VAR_191 = value; - } - #endif - } - #endif - } - #endif - } - #endif - } - #endif - #if ARRAY_03_POW2_SIZE > 7 - }else{ - #if ARRAY_03_POW2_SIZE > 7 - if (index < 224) { - #endif - #if ARRAY_03_POW2_SIZE > 7 - if (index < 208) { - #endif - #if ARRAY_03_POW2_SIZE > 7 - if (index < 200) { - #endif - #if ARRAY_03_POW2_SIZE > 7 - if (index < 196) { - #endif - #if ARRAY_03_POW2_SIZE > 7 - if (index < 194) { - #endif - if (index == 192) ARRAY_03_STATIC_VAR_192 = value; - else ARRAY_03_STATIC_VAR_193 = value; - #if ARRAY_03_POW2_SIZE > 7 - }else{ - if (index == 194) ARRAY_03_STATIC_VAR_194 = value; - else ARRAY_03_STATIC_VAR_195 = value; - } - #endif - #if ARRAY_03_POW2_SIZE > 7 - }else{ - #if ARRAY_03_POW2_SIZE > 7 - if (index < 198) { - #endif - if (index == 196) ARRAY_03_STATIC_VAR_196 = value; - else ARRAY_03_STATIC_VAR_197 = value; - #if ARRAY_03_POW2_SIZE > 7 - }else{ - if (index == 198) ARRAY_03_STATIC_VAR_198 = value; - else ARRAY_03_STATIC_VAR_199 = value; - } - #endif - } - #endif - #if ARRAY_03_POW2_SIZE > 7 - }else{ - #if ARRAY_03_POW2_SIZE > 7 - if (index < 204) { - #endif - #if ARRAY_03_POW2_SIZE > 7 - if (index < 202) { - #endif - if (index == 200) ARRAY_03_STATIC_VAR_200 = value; - else ARRAY_03_STATIC_VAR_201 = value; - #if ARRAY_03_POW2_SIZE > 7 - }else{ - if (index == 202) ARRAY_03_STATIC_VAR_202 = value; - else ARRAY_03_STATIC_VAR_203 = value; - } - #endif - #if ARRAY_03_POW2_SIZE > 7 - }else{ - #if ARRAY_03_POW2_SIZE > 7 - if (index < 206) { - #endif - if (index == 204) ARRAY_03_STATIC_VAR_204 = value; - else ARRAY_03_STATIC_VAR_205 = value; - #if ARRAY_03_POW2_SIZE > 7 - }else{ - if (index == 206) ARRAY_03_STATIC_VAR_206 = value; - else ARRAY_03_STATIC_VAR_207 = value; - } - #endif - } - #endif - } - #endif - #if ARRAY_03_POW2_SIZE > 7 - }else{ - #if ARRAY_03_POW2_SIZE > 7 - if (index < 216) { - #endif - #if ARRAY_03_POW2_SIZE > 7 - if (index < 212) { - #endif - #if ARRAY_03_POW2_SIZE > 7 - if (index < 210) { - #endif - if (index == 208) ARRAY_03_STATIC_VAR_208 = value; - else ARRAY_03_STATIC_VAR_209 = value; - #if ARRAY_03_POW2_SIZE > 7 - }else{ - if (index == 210) ARRAY_03_STATIC_VAR_210 = value; - else ARRAY_03_STATIC_VAR_211 = value; - } - #endif - #if ARRAY_03_POW2_SIZE > 7 - }else{ - #if ARRAY_03_POW2_SIZE > 7 - if (index < 214) { - #endif - if (index == 212) ARRAY_03_STATIC_VAR_212 = value; - else ARRAY_03_STATIC_VAR_213 = value; - #if ARRAY_03_POW2_SIZE > 7 - }else{ - if (index == 214) ARRAY_03_STATIC_VAR_214 = value; - else ARRAY_03_STATIC_VAR_215 = value; - } - #endif - } - #endif - #if ARRAY_03_POW2_SIZE > 7 - }else{ - #if ARRAY_03_POW2_SIZE > 7 - if (index < 220) { - #endif - #if ARRAY_03_POW2_SIZE > 7 - if (index < 218) { - #endif - if (index == 216) ARRAY_03_STATIC_VAR_216 = value; - else ARRAY_03_STATIC_VAR_217 = value; - #if ARRAY_03_POW2_SIZE > 7 - }else{ - if (index == 218) ARRAY_03_STATIC_VAR_218 = value; - else ARRAY_03_STATIC_VAR_219 = value; - } - #endif - #if ARRAY_03_POW2_SIZE > 7 - }else{ - #if ARRAY_03_POW2_SIZE > 7 - if (index < 222) { - #endif - if (index == 220) ARRAY_03_STATIC_VAR_220 = value; - else ARRAY_03_STATIC_VAR_221 = value; - #if ARRAY_03_POW2_SIZE > 7 - }else{ - if (index == 222) ARRAY_03_STATIC_VAR_222 = value; - else ARRAY_03_STATIC_VAR_223 = value; - } - #endif - } - #endif - } - #endif - } - #endif - #if ARRAY_03_POW2_SIZE > 7 - }else{ - #if ARRAY_03_POW2_SIZE > 7 - if (index < 240) { - #endif - #if ARRAY_03_POW2_SIZE > 7 - if (index < 232) { - #endif - #if ARRAY_03_POW2_SIZE > 7 - if (index < 228) { - #endif - #if ARRAY_03_POW2_SIZE > 7 - if (index < 226) { - #endif - if (index == 224) ARRAY_03_STATIC_VAR_224 = value; - else ARRAY_03_STATIC_VAR_225 = value; - #if ARRAY_03_POW2_SIZE > 7 - }else{ - if (index == 226) ARRAY_03_STATIC_VAR_226 = value; - else ARRAY_03_STATIC_VAR_227 = value; - } - #endif - #if ARRAY_03_POW2_SIZE > 7 - }else{ - #if ARRAY_03_POW2_SIZE > 7 - if (index < 230) { - #endif - if (index == 228) ARRAY_03_STATIC_VAR_228 = value; - else ARRAY_03_STATIC_VAR_229 = value; - #if ARRAY_03_POW2_SIZE > 7 - }else{ - if (index == 230) ARRAY_03_STATIC_VAR_230 = value; - else ARRAY_03_STATIC_VAR_231 = value; - } - #endif - } - #endif - #if ARRAY_03_POW2_SIZE > 7 - }else{ - #if ARRAY_03_POW2_SIZE > 7 - if (index < 236) { - #endif - #if ARRAY_03_POW2_SIZE > 7 - if (index < 234) { - #endif - if (index == 232) ARRAY_03_STATIC_VAR_232 = value; - else ARRAY_03_STATIC_VAR_233 = value; - #if ARRAY_03_POW2_SIZE > 7 - }else{ - if (index == 234) ARRAY_03_STATIC_VAR_234 = value; - else ARRAY_03_STATIC_VAR_235 = value; - } - #endif - #if ARRAY_03_POW2_SIZE > 7 - }else{ - #if ARRAY_03_POW2_SIZE > 7 - if (index < 238) { - #endif - if (index == 236) ARRAY_03_STATIC_VAR_236 = value; - else ARRAY_03_STATIC_VAR_237 = value; - #if ARRAY_03_POW2_SIZE > 7 - }else{ - if (index == 238) ARRAY_03_STATIC_VAR_238 = value; - else ARRAY_03_STATIC_VAR_239 = value; - } - #endif - } - #endif - } - #endif - #if ARRAY_03_POW2_SIZE > 7 - }else{ - #if ARRAY_03_POW2_SIZE > 7 - if (index < 248) { - #endif - #if ARRAY_03_POW2_SIZE > 7 - if (index < 244) { - #endif - #if ARRAY_03_POW2_SIZE > 7 - if (index < 242) { - #endif - if (index == 240) ARRAY_03_STATIC_VAR_240 = value; - else ARRAY_03_STATIC_VAR_241 = value; - #if ARRAY_03_POW2_SIZE > 7 - }else{ - if (index == 242) ARRAY_03_STATIC_VAR_242 = value; - else ARRAY_03_STATIC_VAR_243 = value; - } - #endif - #if ARRAY_03_POW2_SIZE > 7 - }else{ - #if ARRAY_03_POW2_SIZE > 7 - if (index < 246) { - #endif - if (index == 244) ARRAY_03_STATIC_VAR_244 = value; - else ARRAY_03_STATIC_VAR_245 = value; - #if ARRAY_03_POW2_SIZE > 7 - }else{ - if (index == 246) ARRAY_03_STATIC_VAR_246 = value; - else ARRAY_03_STATIC_VAR_247 = value; - } - #endif - } - #endif - #if ARRAY_03_POW2_SIZE > 7 - }else{ - #if ARRAY_03_POW2_SIZE > 7 - if (index < 252) { - #endif - #if ARRAY_03_POW2_SIZE > 7 - if (index < 250) { - #endif - if (index == 248) ARRAY_03_STATIC_VAR_248 = value; - else ARRAY_03_STATIC_VAR_249 = value; - #if ARRAY_03_POW2_SIZE > 7 - }else{ - if (index == 250) ARRAY_03_STATIC_VAR_250 = value; - else ARRAY_03_STATIC_VAR_251 = value; - } - #endif - #if ARRAY_03_POW2_SIZE > 7 - }else{ - #if ARRAY_03_POW2_SIZE > 7 - if (index < 254) { - #endif - if (index == 252) ARRAY_03_STATIC_VAR_252 = value; - else ARRAY_03_STATIC_VAR_253 = value; - #if ARRAY_03_POW2_SIZE > 7 - }else{ - if (index == 254) ARRAY_03_STATIC_VAR_254 = value; - else ARRAY_03_STATIC_VAR_255 = value; - } - #endif - } - #endif - } - #endif - } - #endif - } - #endif - } - #endif - } - #endif -} \ No newline at end of file diff --git a/scripts/array_04.h b/scripts/array_04.h deleted file mode 100644 index 1b8188cae63..00000000000 --- a/scripts/array_04.h +++ /dev/null @@ -1,2340 +0,0 @@ -// (c) Beherith mysterme@gmail.com. DO NOT TOUCH: generated by array_header_generator.ipynb -// Notes: -// #define ARRAY_04_POW2_SIZE -// use the ARRAY_XX_GET(i) and ARRAY_XX_SET(i,v) function macros -// ARRAY_XX_GET(i) will always place value into ARRAY_VALUE -// average calls per value is about 12 - -#ifndef ARRAY_04_POW2_SIZE - #define ARRAY_04_POW2_SIZE 4 -#endif - -#ifndef ARRAY_TEMP_DEFINED - static-var ARRAY_VALUE; - #define ARRAY_TEMP_DEFINED 1; -#endif - -#define ARRAY_04_SET(i,v) call-script ARRAY_04_SETTER(i,v); - -#define ARRAY_04_GET(i) call-script ARRAY_04_GETTER(i); - -#if ARRAY_04_POW2_SIZE > 0 - static-var ARRAY_04_STATIC_VAR_000, ARRAY_04_STATIC_VAR_001; -#endif -#if ARRAY_04_POW2_SIZE > 1 - static-var ARRAY_04_STATIC_VAR_002, ARRAY_04_STATIC_VAR_003; -#endif -#if ARRAY_04_POW2_SIZE > 2 - static-var ARRAY_04_STATIC_VAR_004, ARRAY_04_STATIC_VAR_005, ARRAY_04_STATIC_VAR_006, ARRAY_04_STATIC_VAR_007; -#endif -#if ARRAY_04_POW2_SIZE > 3 - static-var ARRAY_04_STATIC_VAR_008, ARRAY_04_STATIC_VAR_009, ARRAY_04_STATIC_VAR_010, ARRAY_04_STATIC_VAR_011, ARRAY_04_STATIC_VAR_012, ARRAY_04_STATIC_VAR_013, ARRAY_04_STATIC_VAR_014, ARRAY_04_STATIC_VAR_015; -#endif -#if ARRAY_04_POW2_SIZE > 4 - static-var ARRAY_04_STATIC_VAR_016, ARRAY_04_STATIC_VAR_017, ARRAY_04_STATIC_VAR_018, ARRAY_04_STATIC_VAR_019, ARRAY_04_STATIC_VAR_020, ARRAY_04_STATIC_VAR_021, ARRAY_04_STATIC_VAR_022, ARRAY_04_STATIC_VAR_023, ARRAY_04_STATIC_VAR_024, ARRAY_04_STATIC_VAR_025, ARRAY_04_STATIC_VAR_026, ARRAY_04_STATIC_VAR_027, ARRAY_04_STATIC_VAR_028, ARRAY_04_STATIC_VAR_029, ARRAY_04_STATIC_VAR_030, ARRAY_04_STATIC_VAR_031; -#endif -#if ARRAY_04_POW2_SIZE > 5 - static-var ARRAY_04_STATIC_VAR_032, ARRAY_04_STATIC_VAR_033, ARRAY_04_STATIC_VAR_034, ARRAY_04_STATIC_VAR_035, ARRAY_04_STATIC_VAR_036, ARRAY_04_STATIC_VAR_037, ARRAY_04_STATIC_VAR_038, ARRAY_04_STATIC_VAR_039, ARRAY_04_STATIC_VAR_040, ARRAY_04_STATIC_VAR_041, ARRAY_04_STATIC_VAR_042, ARRAY_04_STATIC_VAR_043, ARRAY_04_STATIC_VAR_044, ARRAY_04_STATIC_VAR_045, ARRAY_04_STATIC_VAR_046, ARRAY_04_STATIC_VAR_047, ARRAY_04_STATIC_VAR_048, ARRAY_04_STATIC_VAR_049, ARRAY_04_STATIC_VAR_050, ARRAY_04_STATIC_VAR_051, ARRAY_04_STATIC_VAR_052, ARRAY_04_STATIC_VAR_053, ARRAY_04_STATIC_VAR_054, ARRAY_04_STATIC_VAR_055, ARRAY_04_STATIC_VAR_056, ARRAY_04_STATIC_VAR_057, ARRAY_04_STATIC_VAR_058, ARRAY_04_STATIC_VAR_059, ARRAY_04_STATIC_VAR_060, ARRAY_04_STATIC_VAR_061, ARRAY_04_STATIC_VAR_062, ARRAY_04_STATIC_VAR_063; -#endif -#if ARRAY_04_POW2_SIZE > 6 - static-var ARRAY_04_STATIC_VAR_064, ARRAY_04_STATIC_VAR_065, ARRAY_04_STATIC_VAR_066, ARRAY_04_STATIC_VAR_067, ARRAY_04_STATIC_VAR_068, ARRAY_04_STATIC_VAR_069, ARRAY_04_STATIC_VAR_070, ARRAY_04_STATIC_VAR_071, ARRAY_04_STATIC_VAR_072, ARRAY_04_STATIC_VAR_073, ARRAY_04_STATIC_VAR_074, ARRAY_04_STATIC_VAR_075, ARRAY_04_STATIC_VAR_076, ARRAY_04_STATIC_VAR_077, ARRAY_04_STATIC_VAR_078, ARRAY_04_STATIC_VAR_079, ARRAY_04_STATIC_VAR_080, ARRAY_04_STATIC_VAR_081, ARRAY_04_STATIC_VAR_082, ARRAY_04_STATIC_VAR_083, ARRAY_04_STATIC_VAR_084, ARRAY_04_STATIC_VAR_085, ARRAY_04_STATIC_VAR_086, ARRAY_04_STATIC_VAR_087, ARRAY_04_STATIC_VAR_088, ARRAY_04_STATIC_VAR_089, ARRAY_04_STATIC_VAR_090, ARRAY_04_STATIC_VAR_091, ARRAY_04_STATIC_VAR_092, ARRAY_04_STATIC_VAR_093, ARRAY_04_STATIC_VAR_094, ARRAY_04_STATIC_VAR_095, ARRAY_04_STATIC_VAR_096, ARRAY_04_STATIC_VAR_097, ARRAY_04_STATIC_VAR_098, ARRAY_04_STATIC_VAR_099, ARRAY_04_STATIC_VAR_100, ARRAY_04_STATIC_VAR_101, ARRAY_04_STATIC_VAR_102, ARRAY_04_STATIC_VAR_103, ARRAY_04_STATIC_VAR_104, ARRAY_04_STATIC_VAR_105, ARRAY_04_STATIC_VAR_106, ARRAY_04_STATIC_VAR_107, ARRAY_04_STATIC_VAR_108, ARRAY_04_STATIC_VAR_109, ARRAY_04_STATIC_VAR_110, ARRAY_04_STATIC_VAR_111, ARRAY_04_STATIC_VAR_112, ARRAY_04_STATIC_VAR_113, ARRAY_04_STATIC_VAR_114, ARRAY_04_STATIC_VAR_115, ARRAY_04_STATIC_VAR_116, ARRAY_04_STATIC_VAR_117, ARRAY_04_STATIC_VAR_118, ARRAY_04_STATIC_VAR_119, ARRAY_04_STATIC_VAR_120, ARRAY_04_STATIC_VAR_121, ARRAY_04_STATIC_VAR_122, ARRAY_04_STATIC_VAR_123, ARRAY_04_STATIC_VAR_124, ARRAY_04_STATIC_VAR_125, ARRAY_04_STATIC_VAR_126, ARRAY_04_STATIC_VAR_127; -#endif -#if ARRAY_04_POW2_SIZE > 7 - static-var ARRAY_04_STATIC_VAR_128, ARRAY_04_STATIC_VAR_129, ARRAY_04_STATIC_VAR_130, ARRAY_04_STATIC_VAR_131, ARRAY_04_STATIC_VAR_132, ARRAY_04_STATIC_VAR_133, ARRAY_04_STATIC_VAR_134, ARRAY_04_STATIC_VAR_135, ARRAY_04_STATIC_VAR_136, ARRAY_04_STATIC_VAR_137, ARRAY_04_STATIC_VAR_138, ARRAY_04_STATIC_VAR_139, ARRAY_04_STATIC_VAR_140, ARRAY_04_STATIC_VAR_141, ARRAY_04_STATIC_VAR_142, ARRAY_04_STATIC_VAR_143, ARRAY_04_STATIC_VAR_144, ARRAY_04_STATIC_VAR_145, ARRAY_04_STATIC_VAR_146, ARRAY_04_STATIC_VAR_147, ARRAY_04_STATIC_VAR_148, ARRAY_04_STATIC_VAR_149, ARRAY_04_STATIC_VAR_150, ARRAY_04_STATIC_VAR_151, ARRAY_04_STATIC_VAR_152, ARRAY_04_STATIC_VAR_153, ARRAY_04_STATIC_VAR_154, ARRAY_04_STATIC_VAR_155, ARRAY_04_STATIC_VAR_156, ARRAY_04_STATIC_VAR_157, ARRAY_04_STATIC_VAR_158, ARRAY_04_STATIC_VAR_159, ARRAY_04_STATIC_VAR_160, ARRAY_04_STATIC_VAR_161, ARRAY_04_STATIC_VAR_162, ARRAY_04_STATIC_VAR_163, ARRAY_04_STATIC_VAR_164, ARRAY_04_STATIC_VAR_165, ARRAY_04_STATIC_VAR_166, ARRAY_04_STATIC_VAR_167, ARRAY_04_STATIC_VAR_168, ARRAY_04_STATIC_VAR_169, ARRAY_04_STATIC_VAR_170, ARRAY_04_STATIC_VAR_171, ARRAY_04_STATIC_VAR_172, ARRAY_04_STATIC_VAR_173, ARRAY_04_STATIC_VAR_174, ARRAY_04_STATIC_VAR_175, ARRAY_04_STATIC_VAR_176, ARRAY_04_STATIC_VAR_177, ARRAY_04_STATIC_VAR_178, ARRAY_04_STATIC_VAR_179, ARRAY_04_STATIC_VAR_180, ARRAY_04_STATIC_VAR_181, ARRAY_04_STATIC_VAR_182, ARRAY_04_STATIC_VAR_183, ARRAY_04_STATIC_VAR_184, ARRAY_04_STATIC_VAR_185, ARRAY_04_STATIC_VAR_186, ARRAY_04_STATIC_VAR_187, ARRAY_04_STATIC_VAR_188, ARRAY_04_STATIC_VAR_189, ARRAY_04_STATIC_VAR_190, ARRAY_04_STATIC_VAR_191, ARRAY_04_STATIC_VAR_192, ARRAY_04_STATIC_VAR_193, ARRAY_04_STATIC_VAR_194, ARRAY_04_STATIC_VAR_195, ARRAY_04_STATIC_VAR_196, ARRAY_04_STATIC_VAR_197, ARRAY_04_STATIC_VAR_198, ARRAY_04_STATIC_VAR_199, ARRAY_04_STATIC_VAR_200, ARRAY_04_STATIC_VAR_201, ARRAY_04_STATIC_VAR_202, ARRAY_04_STATIC_VAR_203, ARRAY_04_STATIC_VAR_204, ARRAY_04_STATIC_VAR_205, ARRAY_04_STATIC_VAR_206, ARRAY_04_STATIC_VAR_207, ARRAY_04_STATIC_VAR_208, ARRAY_04_STATIC_VAR_209, ARRAY_04_STATIC_VAR_210, ARRAY_04_STATIC_VAR_211, ARRAY_04_STATIC_VAR_212, ARRAY_04_STATIC_VAR_213, ARRAY_04_STATIC_VAR_214, ARRAY_04_STATIC_VAR_215, ARRAY_04_STATIC_VAR_216, ARRAY_04_STATIC_VAR_217, ARRAY_04_STATIC_VAR_218, ARRAY_04_STATIC_VAR_219, ARRAY_04_STATIC_VAR_220, ARRAY_04_STATIC_VAR_221, ARRAY_04_STATIC_VAR_222, ARRAY_04_STATIC_VAR_223, ARRAY_04_STATIC_VAR_224, ARRAY_04_STATIC_VAR_225, ARRAY_04_STATIC_VAR_226, ARRAY_04_STATIC_VAR_227, ARRAY_04_STATIC_VAR_228, ARRAY_04_STATIC_VAR_229, ARRAY_04_STATIC_VAR_230, ARRAY_04_STATIC_VAR_231, ARRAY_04_STATIC_VAR_232, ARRAY_04_STATIC_VAR_233, ARRAY_04_STATIC_VAR_234, ARRAY_04_STATIC_VAR_235, ARRAY_04_STATIC_VAR_236, ARRAY_04_STATIC_VAR_237, ARRAY_04_STATIC_VAR_238, ARRAY_04_STATIC_VAR_239, ARRAY_04_STATIC_VAR_240, ARRAY_04_STATIC_VAR_241, ARRAY_04_STATIC_VAR_242, ARRAY_04_STATIC_VAR_243, ARRAY_04_STATIC_VAR_244, ARRAY_04_STATIC_VAR_245, ARRAY_04_STATIC_VAR_246, ARRAY_04_STATIC_VAR_247, ARRAY_04_STATIC_VAR_248, ARRAY_04_STATIC_VAR_249, ARRAY_04_STATIC_VAR_250, ARRAY_04_STATIC_VAR_251, ARRAY_04_STATIC_VAR_252, ARRAY_04_STATIC_VAR_253, ARRAY_04_STATIC_VAR_254, ARRAY_04_STATIC_VAR_255; -#endif - -ARRAY_04_GETTER(index) { - #if ARRAY_04_POW2_SIZE > 7 - if (index < 128) { - #endif - #if ARRAY_04_POW2_SIZE > 6 - if (index < 64) { - #endif - #if ARRAY_04_POW2_SIZE > 5 - if (index < 32) { - #endif - #if ARRAY_04_POW2_SIZE > 4 - if (index < 16) { - #endif - #if ARRAY_04_POW2_SIZE > 3 - if (index < 8) { - #endif - #if ARRAY_04_POW2_SIZE > 2 - if (index < 4) { - #endif - #if ARRAY_04_POW2_SIZE > 1 - if (index < 2) { - #endif - if (index == 0) ARRAY_VALUE = ARRAY_04_STATIC_VAR_000; - else ARRAY_VALUE = ARRAY_04_STATIC_VAR_001; - #if ARRAY_04_POW2_SIZE > 1 - }else{ - if (index == 2) ARRAY_VALUE = ARRAY_04_STATIC_VAR_002; - else ARRAY_VALUE = ARRAY_04_STATIC_VAR_003; - } - #endif - #if ARRAY_04_POW2_SIZE > 2 - }else{ - #if ARRAY_04_POW2_SIZE > 2 - if (index < 6) { - #endif - if (index == 4) ARRAY_VALUE = ARRAY_04_STATIC_VAR_004; - else ARRAY_VALUE = ARRAY_04_STATIC_VAR_005; - #if ARRAY_04_POW2_SIZE > 2 - }else{ - if (index == 6) ARRAY_VALUE = ARRAY_04_STATIC_VAR_006; - else ARRAY_VALUE = ARRAY_04_STATIC_VAR_007; - } - #endif - } - #endif - #if ARRAY_04_POW2_SIZE > 3 - }else{ - #if ARRAY_04_POW2_SIZE > 3 - if (index < 12) { - #endif - #if ARRAY_04_POW2_SIZE > 3 - if (index < 10) { - #endif - if (index == 8) ARRAY_VALUE = ARRAY_04_STATIC_VAR_008; - else ARRAY_VALUE = ARRAY_04_STATIC_VAR_009; - #if ARRAY_04_POW2_SIZE > 3 - }else{ - if (index == 10) ARRAY_VALUE = ARRAY_04_STATIC_VAR_010; - else ARRAY_VALUE = ARRAY_04_STATIC_VAR_011; - } - #endif - #if ARRAY_04_POW2_SIZE > 3 - }else{ - #if ARRAY_04_POW2_SIZE > 3 - if (index < 14) { - #endif - if (index == 12) ARRAY_VALUE = ARRAY_04_STATIC_VAR_012; - else ARRAY_VALUE = ARRAY_04_STATIC_VAR_013; - #if ARRAY_04_POW2_SIZE > 3 - }else{ - if (index == 14) ARRAY_VALUE = ARRAY_04_STATIC_VAR_014; - else ARRAY_VALUE = ARRAY_04_STATIC_VAR_015; - } - #endif - } - #endif - } - #endif - #if ARRAY_04_POW2_SIZE > 4 - }else{ - #if ARRAY_04_POW2_SIZE > 4 - if (index < 24) { - #endif - #if ARRAY_04_POW2_SIZE > 4 - if (index < 20) { - #endif - #if ARRAY_04_POW2_SIZE > 4 - if (index < 18) { - #endif - if (index == 16) ARRAY_VALUE = ARRAY_04_STATIC_VAR_016; - else ARRAY_VALUE = ARRAY_04_STATIC_VAR_017; - #if ARRAY_04_POW2_SIZE > 4 - }else{ - if (index == 18) ARRAY_VALUE = ARRAY_04_STATIC_VAR_018; - else ARRAY_VALUE = ARRAY_04_STATIC_VAR_019; - } - #endif - #if ARRAY_04_POW2_SIZE > 4 - }else{ - #if ARRAY_04_POW2_SIZE > 4 - if (index < 22) { - #endif - if (index == 20) ARRAY_VALUE = ARRAY_04_STATIC_VAR_020; - else ARRAY_VALUE = ARRAY_04_STATIC_VAR_021; - #if ARRAY_04_POW2_SIZE > 4 - }else{ - if (index == 22) ARRAY_VALUE = ARRAY_04_STATIC_VAR_022; - else ARRAY_VALUE = ARRAY_04_STATIC_VAR_023; - } - #endif - } - #endif - #if ARRAY_04_POW2_SIZE > 4 - }else{ - #if ARRAY_04_POW2_SIZE > 4 - if (index < 28) { - #endif - #if ARRAY_04_POW2_SIZE > 4 - if (index < 26) { - #endif - if (index == 24) ARRAY_VALUE = ARRAY_04_STATIC_VAR_024; - else ARRAY_VALUE = ARRAY_04_STATIC_VAR_025; - #if ARRAY_04_POW2_SIZE > 4 - }else{ - if (index == 26) ARRAY_VALUE = ARRAY_04_STATIC_VAR_026; - else ARRAY_VALUE = ARRAY_04_STATIC_VAR_027; - } - #endif - #if ARRAY_04_POW2_SIZE > 4 - }else{ - #if ARRAY_04_POW2_SIZE > 4 - if (index < 30) { - #endif - if (index == 28) ARRAY_VALUE = ARRAY_04_STATIC_VAR_028; - else ARRAY_VALUE = ARRAY_04_STATIC_VAR_029; - #if ARRAY_04_POW2_SIZE > 4 - }else{ - if (index == 30) ARRAY_VALUE = ARRAY_04_STATIC_VAR_030; - else ARRAY_VALUE = ARRAY_04_STATIC_VAR_031; - } - #endif - } - #endif - } - #endif - } - #endif - #if ARRAY_04_POW2_SIZE > 5 - }else{ - #if ARRAY_04_POW2_SIZE > 5 - if (index < 48) { - #endif - #if ARRAY_04_POW2_SIZE > 5 - if (index < 40) { - #endif - #if ARRAY_04_POW2_SIZE > 5 - if (index < 36) { - #endif - #if ARRAY_04_POW2_SIZE > 5 - if (index < 34) { - #endif - if (index == 32) ARRAY_VALUE = ARRAY_04_STATIC_VAR_032; - else ARRAY_VALUE = ARRAY_04_STATIC_VAR_033; - #if ARRAY_04_POW2_SIZE > 5 - }else{ - if (index == 34) ARRAY_VALUE = ARRAY_04_STATIC_VAR_034; - else ARRAY_VALUE = ARRAY_04_STATIC_VAR_035; - } - #endif - #if ARRAY_04_POW2_SIZE > 5 - }else{ - #if ARRAY_04_POW2_SIZE > 5 - if (index < 38) { - #endif - if (index == 36) ARRAY_VALUE = ARRAY_04_STATIC_VAR_036; - else ARRAY_VALUE = ARRAY_04_STATIC_VAR_037; - #if ARRAY_04_POW2_SIZE > 5 - }else{ - if (index == 38) ARRAY_VALUE = ARRAY_04_STATIC_VAR_038; - else ARRAY_VALUE = ARRAY_04_STATIC_VAR_039; - } - #endif - } - #endif - #if ARRAY_04_POW2_SIZE > 5 - }else{ - #if ARRAY_04_POW2_SIZE > 5 - if (index < 44) { - #endif - #if ARRAY_04_POW2_SIZE > 5 - if (index < 42) { - #endif - if (index == 40) ARRAY_VALUE = ARRAY_04_STATIC_VAR_040; - else ARRAY_VALUE = ARRAY_04_STATIC_VAR_041; - #if ARRAY_04_POW2_SIZE > 5 - }else{ - if (index == 42) ARRAY_VALUE = ARRAY_04_STATIC_VAR_042; - else ARRAY_VALUE = ARRAY_04_STATIC_VAR_043; - } - #endif - #if ARRAY_04_POW2_SIZE > 5 - }else{ - #if ARRAY_04_POW2_SIZE > 5 - if (index < 46) { - #endif - if (index == 44) ARRAY_VALUE = ARRAY_04_STATIC_VAR_044; - else ARRAY_VALUE = ARRAY_04_STATIC_VAR_045; - #if ARRAY_04_POW2_SIZE > 5 - }else{ - if (index == 46) ARRAY_VALUE = ARRAY_04_STATIC_VAR_046; - else ARRAY_VALUE = ARRAY_04_STATIC_VAR_047; - } - #endif - } - #endif - } - #endif - #if ARRAY_04_POW2_SIZE > 5 - }else{ - #if ARRAY_04_POW2_SIZE > 5 - if (index < 56) { - #endif - #if ARRAY_04_POW2_SIZE > 5 - if (index < 52) { - #endif - #if ARRAY_04_POW2_SIZE > 5 - if (index < 50) { - #endif - if (index == 48) ARRAY_VALUE = ARRAY_04_STATIC_VAR_048; - else ARRAY_VALUE = ARRAY_04_STATIC_VAR_049; - #if ARRAY_04_POW2_SIZE > 5 - }else{ - if (index == 50) ARRAY_VALUE = ARRAY_04_STATIC_VAR_050; - else ARRAY_VALUE = ARRAY_04_STATIC_VAR_051; - } - #endif - #if ARRAY_04_POW2_SIZE > 5 - }else{ - #if ARRAY_04_POW2_SIZE > 5 - if (index < 54) { - #endif - if (index == 52) ARRAY_VALUE = ARRAY_04_STATIC_VAR_052; - else ARRAY_VALUE = ARRAY_04_STATIC_VAR_053; - #if ARRAY_04_POW2_SIZE > 5 - }else{ - if (index == 54) ARRAY_VALUE = ARRAY_04_STATIC_VAR_054; - else ARRAY_VALUE = ARRAY_04_STATIC_VAR_055; - } - #endif - } - #endif - #if ARRAY_04_POW2_SIZE > 5 - }else{ - #if ARRAY_04_POW2_SIZE > 5 - if (index < 60) { - #endif - #if ARRAY_04_POW2_SIZE > 5 - if (index < 58) { - #endif - if (index == 56) ARRAY_VALUE = ARRAY_04_STATIC_VAR_056; - else ARRAY_VALUE = ARRAY_04_STATIC_VAR_057; - #if ARRAY_04_POW2_SIZE > 5 - }else{ - if (index == 58) ARRAY_VALUE = ARRAY_04_STATIC_VAR_058; - else ARRAY_VALUE = ARRAY_04_STATIC_VAR_059; - } - #endif - #if ARRAY_04_POW2_SIZE > 5 - }else{ - #if ARRAY_04_POW2_SIZE > 5 - if (index < 62) { - #endif - if (index == 60) ARRAY_VALUE = ARRAY_04_STATIC_VAR_060; - else ARRAY_VALUE = ARRAY_04_STATIC_VAR_061; - #if ARRAY_04_POW2_SIZE > 5 - }else{ - if (index == 62) ARRAY_VALUE = ARRAY_04_STATIC_VAR_062; - else ARRAY_VALUE = ARRAY_04_STATIC_VAR_063; - } - #endif - } - #endif - } - #endif - } - #endif - } - #endif - #if ARRAY_04_POW2_SIZE > 6 - }else{ - #if ARRAY_04_POW2_SIZE > 6 - if (index < 96) { - #endif - #if ARRAY_04_POW2_SIZE > 6 - if (index < 80) { - #endif - #if ARRAY_04_POW2_SIZE > 6 - if (index < 72) { - #endif - #if ARRAY_04_POW2_SIZE > 6 - if (index < 68) { - #endif - #if ARRAY_04_POW2_SIZE > 6 - if (index < 66) { - #endif - if (index == 64) ARRAY_VALUE = ARRAY_04_STATIC_VAR_064; - else ARRAY_VALUE = ARRAY_04_STATIC_VAR_065; - #if ARRAY_04_POW2_SIZE > 6 - }else{ - if (index == 66) ARRAY_VALUE = ARRAY_04_STATIC_VAR_066; - else ARRAY_VALUE = ARRAY_04_STATIC_VAR_067; - } - #endif - #if ARRAY_04_POW2_SIZE > 6 - }else{ - #if ARRAY_04_POW2_SIZE > 6 - if (index < 70) { - #endif - if (index == 68) ARRAY_VALUE = ARRAY_04_STATIC_VAR_068; - else ARRAY_VALUE = ARRAY_04_STATIC_VAR_069; - #if ARRAY_04_POW2_SIZE > 6 - }else{ - if (index == 70) ARRAY_VALUE = ARRAY_04_STATIC_VAR_070; - else ARRAY_VALUE = ARRAY_04_STATIC_VAR_071; - } - #endif - } - #endif - #if ARRAY_04_POW2_SIZE > 6 - }else{ - #if ARRAY_04_POW2_SIZE > 6 - if (index < 76) { - #endif - #if ARRAY_04_POW2_SIZE > 6 - if (index < 74) { - #endif - if (index == 72) ARRAY_VALUE = ARRAY_04_STATIC_VAR_072; - else ARRAY_VALUE = ARRAY_04_STATIC_VAR_073; - #if ARRAY_04_POW2_SIZE > 6 - }else{ - if (index == 74) ARRAY_VALUE = ARRAY_04_STATIC_VAR_074; - else ARRAY_VALUE = ARRAY_04_STATIC_VAR_075; - } - #endif - #if ARRAY_04_POW2_SIZE > 6 - }else{ - #if ARRAY_04_POW2_SIZE > 6 - if (index < 78) { - #endif - if (index == 76) ARRAY_VALUE = ARRAY_04_STATIC_VAR_076; - else ARRAY_VALUE = ARRAY_04_STATIC_VAR_077; - #if ARRAY_04_POW2_SIZE > 6 - }else{ - if (index == 78) ARRAY_VALUE = ARRAY_04_STATIC_VAR_078; - else ARRAY_VALUE = ARRAY_04_STATIC_VAR_079; - } - #endif - } - #endif - } - #endif - #if ARRAY_04_POW2_SIZE > 6 - }else{ - #if ARRAY_04_POW2_SIZE > 6 - if (index < 88) { - #endif - #if ARRAY_04_POW2_SIZE > 6 - if (index < 84) { - #endif - #if ARRAY_04_POW2_SIZE > 6 - if (index < 82) { - #endif - if (index == 80) ARRAY_VALUE = ARRAY_04_STATIC_VAR_080; - else ARRAY_VALUE = ARRAY_04_STATIC_VAR_081; - #if ARRAY_04_POW2_SIZE > 6 - }else{ - if (index == 82) ARRAY_VALUE = ARRAY_04_STATIC_VAR_082; - else ARRAY_VALUE = ARRAY_04_STATIC_VAR_083; - } - #endif - #if ARRAY_04_POW2_SIZE > 6 - }else{ - #if ARRAY_04_POW2_SIZE > 6 - if (index < 86) { - #endif - if (index == 84) ARRAY_VALUE = ARRAY_04_STATIC_VAR_084; - else ARRAY_VALUE = ARRAY_04_STATIC_VAR_085; - #if ARRAY_04_POW2_SIZE > 6 - }else{ - if (index == 86) ARRAY_VALUE = ARRAY_04_STATIC_VAR_086; - else ARRAY_VALUE = ARRAY_04_STATIC_VAR_087; - } - #endif - } - #endif - #if ARRAY_04_POW2_SIZE > 6 - }else{ - #if ARRAY_04_POW2_SIZE > 6 - if (index < 92) { - #endif - #if ARRAY_04_POW2_SIZE > 6 - if (index < 90) { - #endif - if (index == 88) ARRAY_VALUE = ARRAY_04_STATIC_VAR_088; - else ARRAY_VALUE = ARRAY_04_STATIC_VAR_089; - #if ARRAY_04_POW2_SIZE > 6 - }else{ - if (index == 90) ARRAY_VALUE = ARRAY_04_STATIC_VAR_090; - else ARRAY_VALUE = ARRAY_04_STATIC_VAR_091; - } - #endif - #if ARRAY_04_POW2_SIZE > 6 - }else{ - #if ARRAY_04_POW2_SIZE > 6 - if (index < 94) { - #endif - if (index == 92) ARRAY_VALUE = ARRAY_04_STATIC_VAR_092; - else ARRAY_VALUE = ARRAY_04_STATIC_VAR_093; - #if ARRAY_04_POW2_SIZE > 6 - }else{ - if (index == 94) ARRAY_VALUE = ARRAY_04_STATIC_VAR_094; - else ARRAY_VALUE = ARRAY_04_STATIC_VAR_095; - } - #endif - } - #endif - } - #endif - } - #endif - #if ARRAY_04_POW2_SIZE > 6 - }else{ - #if ARRAY_04_POW2_SIZE > 6 - if (index < 112) { - #endif - #if ARRAY_04_POW2_SIZE > 6 - if (index < 104) { - #endif - #if ARRAY_04_POW2_SIZE > 6 - if (index < 100) { - #endif - #if ARRAY_04_POW2_SIZE > 6 - if (index < 98) { - #endif - if (index == 96) ARRAY_VALUE = ARRAY_04_STATIC_VAR_096; - else ARRAY_VALUE = ARRAY_04_STATIC_VAR_097; - #if ARRAY_04_POW2_SIZE > 6 - }else{ - if (index == 98) ARRAY_VALUE = ARRAY_04_STATIC_VAR_098; - else ARRAY_VALUE = ARRAY_04_STATIC_VAR_099; - } - #endif - #if ARRAY_04_POW2_SIZE > 6 - }else{ - #if ARRAY_04_POW2_SIZE > 6 - if (index < 102) { - #endif - if (index == 100) ARRAY_VALUE = ARRAY_04_STATIC_VAR_100; - else ARRAY_VALUE = ARRAY_04_STATIC_VAR_101; - #if ARRAY_04_POW2_SIZE > 6 - }else{ - if (index == 102) ARRAY_VALUE = ARRAY_04_STATIC_VAR_102; - else ARRAY_VALUE = ARRAY_04_STATIC_VAR_103; - } - #endif - } - #endif - #if ARRAY_04_POW2_SIZE > 6 - }else{ - #if ARRAY_04_POW2_SIZE > 6 - if (index < 108) { - #endif - #if ARRAY_04_POW2_SIZE > 6 - if (index < 106) { - #endif - if (index == 104) ARRAY_VALUE = ARRAY_04_STATIC_VAR_104; - else ARRAY_VALUE = ARRAY_04_STATIC_VAR_105; - #if ARRAY_04_POW2_SIZE > 6 - }else{ - if (index == 106) ARRAY_VALUE = ARRAY_04_STATIC_VAR_106; - else ARRAY_VALUE = ARRAY_04_STATIC_VAR_107; - } - #endif - #if ARRAY_04_POW2_SIZE > 6 - }else{ - #if ARRAY_04_POW2_SIZE > 6 - if (index < 110) { - #endif - if (index == 108) ARRAY_VALUE = ARRAY_04_STATIC_VAR_108; - else ARRAY_VALUE = ARRAY_04_STATIC_VAR_109; - #if ARRAY_04_POW2_SIZE > 6 - }else{ - if (index == 110) ARRAY_VALUE = ARRAY_04_STATIC_VAR_110; - else ARRAY_VALUE = ARRAY_04_STATIC_VAR_111; - } - #endif - } - #endif - } - #endif - #if ARRAY_04_POW2_SIZE > 6 - }else{ - #if ARRAY_04_POW2_SIZE > 6 - if (index < 120) { - #endif - #if ARRAY_04_POW2_SIZE > 6 - if (index < 116) { - #endif - #if ARRAY_04_POW2_SIZE > 6 - if (index < 114) { - #endif - if (index == 112) ARRAY_VALUE = ARRAY_04_STATIC_VAR_112; - else ARRAY_VALUE = ARRAY_04_STATIC_VAR_113; - #if ARRAY_04_POW2_SIZE > 6 - }else{ - if (index == 114) ARRAY_VALUE = ARRAY_04_STATIC_VAR_114; - else ARRAY_VALUE = ARRAY_04_STATIC_VAR_115; - } - #endif - #if ARRAY_04_POW2_SIZE > 6 - }else{ - #if ARRAY_04_POW2_SIZE > 6 - if (index < 118) { - #endif - if (index == 116) ARRAY_VALUE = ARRAY_04_STATIC_VAR_116; - else ARRAY_VALUE = ARRAY_04_STATIC_VAR_117; - #if ARRAY_04_POW2_SIZE > 6 - }else{ - if (index == 118) ARRAY_VALUE = ARRAY_04_STATIC_VAR_118; - else ARRAY_VALUE = ARRAY_04_STATIC_VAR_119; - } - #endif - } - #endif - #if ARRAY_04_POW2_SIZE > 6 - }else{ - #if ARRAY_04_POW2_SIZE > 6 - if (index < 124) { - #endif - #if ARRAY_04_POW2_SIZE > 6 - if (index < 122) { - #endif - if (index == 120) ARRAY_VALUE = ARRAY_04_STATIC_VAR_120; - else ARRAY_VALUE = ARRAY_04_STATIC_VAR_121; - #if ARRAY_04_POW2_SIZE > 6 - }else{ - if (index == 122) ARRAY_VALUE = ARRAY_04_STATIC_VAR_122; - else ARRAY_VALUE = ARRAY_04_STATIC_VAR_123; - } - #endif - #if ARRAY_04_POW2_SIZE > 6 - }else{ - #if ARRAY_04_POW2_SIZE > 6 - if (index < 126) { - #endif - if (index == 124) ARRAY_VALUE = ARRAY_04_STATIC_VAR_124; - else ARRAY_VALUE = ARRAY_04_STATIC_VAR_125; - #if ARRAY_04_POW2_SIZE > 6 - }else{ - if (index == 126) ARRAY_VALUE = ARRAY_04_STATIC_VAR_126; - else ARRAY_VALUE = ARRAY_04_STATIC_VAR_127; - } - #endif - } - #endif - } - #endif - } - #endif - } - #endif - } - #endif - #if ARRAY_04_POW2_SIZE > 7 - }else{ - #if ARRAY_04_POW2_SIZE > 7 - if (index < 192) { - #endif - #if ARRAY_04_POW2_SIZE > 7 - if (index < 160) { - #endif - #if ARRAY_04_POW2_SIZE > 7 - if (index < 144) { - #endif - #if ARRAY_04_POW2_SIZE > 7 - if (index < 136) { - #endif - #if ARRAY_04_POW2_SIZE > 7 - if (index < 132) { - #endif - #if ARRAY_04_POW2_SIZE > 7 - if (index < 130) { - #endif - if (index == 128) ARRAY_VALUE = ARRAY_04_STATIC_VAR_128; - else ARRAY_VALUE = ARRAY_04_STATIC_VAR_129; - #if ARRAY_04_POW2_SIZE > 7 - }else{ - if (index == 130) ARRAY_VALUE = ARRAY_04_STATIC_VAR_130; - else ARRAY_VALUE = ARRAY_04_STATIC_VAR_131; - } - #endif - #if ARRAY_04_POW2_SIZE > 7 - }else{ - #if ARRAY_04_POW2_SIZE > 7 - if (index < 134) { - #endif - if (index == 132) ARRAY_VALUE = ARRAY_04_STATIC_VAR_132; - else ARRAY_VALUE = ARRAY_04_STATIC_VAR_133; - #if ARRAY_04_POW2_SIZE > 7 - }else{ - if (index == 134) ARRAY_VALUE = ARRAY_04_STATIC_VAR_134; - else ARRAY_VALUE = ARRAY_04_STATIC_VAR_135; - } - #endif - } - #endif - #if ARRAY_04_POW2_SIZE > 7 - }else{ - #if ARRAY_04_POW2_SIZE > 7 - if (index < 140) { - #endif - #if ARRAY_04_POW2_SIZE > 7 - if (index < 138) { - #endif - if (index == 136) ARRAY_VALUE = ARRAY_04_STATIC_VAR_136; - else ARRAY_VALUE = ARRAY_04_STATIC_VAR_137; - #if ARRAY_04_POW2_SIZE > 7 - }else{ - if (index == 138) ARRAY_VALUE = ARRAY_04_STATIC_VAR_138; - else ARRAY_VALUE = ARRAY_04_STATIC_VAR_139; - } - #endif - #if ARRAY_04_POW2_SIZE > 7 - }else{ - #if ARRAY_04_POW2_SIZE > 7 - if (index < 142) { - #endif - if (index == 140) ARRAY_VALUE = ARRAY_04_STATIC_VAR_140; - else ARRAY_VALUE = ARRAY_04_STATIC_VAR_141; - #if ARRAY_04_POW2_SIZE > 7 - }else{ - if (index == 142) ARRAY_VALUE = ARRAY_04_STATIC_VAR_142; - else ARRAY_VALUE = ARRAY_04_STATIC_VAR_143; - } - #endif - } - #endif - } - #endif - #if ARRAY_04_POW2_SIZE > 7 - }else{ - #if ARRAY_04_POW2_SIZE > 7 - if (index < 152) { - #endif - #if ARRAY_04_POW2_SIZE > 7 - if (index < 148) { - #endif - #if ARRAY_04_POW2_SIZE > 7 - if (index < 146) { - #endif - if (index == 144) ARRAY_VALUE = ARRAY_04_STATIC_VAR_144; - else ARRAY_VALUE = ARRAY_04_STATIC_VAR_145; - #if ARRAY_04_POW2_SIZE > 7 - }else{ - if (index == 146) ARRAY_VALUE = ARRAY_04_STATIC_VAR_146; - else ARRAY_VALUE = ARRAY_04_STATIC_VAR_147; - } - #endif - #if ARRAY_04_POW2_SIZE > 7 - }else{ - #if ARRAY_04_POW2_SIZE > 7 - if (index < 150) { - #endif - if (index == 148) ARRAY_VALUE = ARRAY_04_STATIC_VAR_148; - else ARRAY_VALUE = ARRAY_04_STATIC_VAR_149; - #if ARRAY_04_POW2_SIZE > 7 - }else{ - if (index == 150) ARRAY_VALUE = ARRAY_04_STATIC_VAR_150; - else ARRAY_VALUE = ARRAY_04_STATIC_VAR_151; - } - #endif - } - #endif - #if ARRAY_04_POW2_SIZE > 7 - }else{ - #if ARRAY_04_POW2_SIZE > 7 - if (index < 156) { - #endif - #if ARRAY_04_POW2_SIZE > 7 - if (index < 154) { - #endif - if (index == 152) ARRAY_VALUE = ARRAY_04_STATIC_VAR_152; - else ARRAY_VALUE = ARRAY_04_STATIC_VAR_153; - #if ARRAY_04_POW2_SIZE > 7 - }else{ - if (index == 154) ARRAY_VALUE = ARRAY_04_STATIC_VAR_154; - else ARRAY_VALUE = ARRAY_04_STATIC_VAR_155; - } - #endif - #if ARRAY_04_POW2_SIZE > 7 - }else{ - #if ARRAY_04_POW2_SIZE > 7 - if (index < 158) { - #endif - if (index == 156) ARRAY_VALUE = ARRAY_04_STATIC_VAR_156; - else ARRAY_VALUE = ARRAY_04_STATIC_VAR_157; - #if ARRAY_04_POW2_SIZE > 7 - }else{ - if (index == 158) ARRAY_VALUE = ARRAY_04_STATIC_VAR_158; - else ARRAY_VALUE = ARRAY_04_STATIC_VAR_159; - } - #endif - } - #endif - } - #endif - } - #endif - #if ARRAY_04_POW2_SIZE > 7 - }else{ - #if ARRAY_04_POW2_SIZE > 7 - if (index < 176) { - #endif - #if ARRAY_04_POW2_SIZE > 7 - if (index < 168) { - #endif - #if ARRAY_04_POW2_SIZE > 7 - if (index < 164) { - #endif - #if ARRAY_04_POW2_SIZE > 7 - if (index < 162) { - #endif - if (index == 160) ARRAY_VALUE = ARRAY_04_STATIC_VAR_160; - else ARRAY_VALUE = ARRAY_04_STATIC_VAR_161; - #if ARRAY_04_POW2_SIZE > 7 - }else{ - if (index == 162) ARRAY_VALUE = ARRAY_04_STATIC_VAR_162; - else ARRAY_VALUE = ARRAY_04_STATIC_VAR_163; - } - #endif - #if ARRAY_04_POW2_SIZE > 7 - }else{ - #if ARRAY_04_POW2_SIZE > 7 - if (index < 166) { - #endif - if (index == 164) ARRAY_VALUE = ARRAY_04_STATIC_VAR_164; - else ARRAY_VALUE = ARRAY_04_STATIC_VAR_165; - #if ARRAY_04_POW2_SIZE > 7 - }else{ - if (index == 166) ARRAY_VALUE = ARRAY_04_STATIC_VAR_166; - else ARRAY_VALUE = ARRAY_04_STATIC_VAR_167; - } - #endif - } - #endif - #if ARRAY_04_POW2_SIZE > 7 - }else{ - #if ARRAY_04_POW2_SIZE > 7 - if (index < 172) { - #endif - #if ARRAY_04_POW2_SIZE > 7 - if (index < 170) { - #endif - if (index == 168) ARRAY_VALUE = ARRAY_04_STATIC_VAR_168; - else ARRAY_VALUE = ARRAY_04_STATIC_VAR_169; - #if ARRAY_04_POW2_SIZE > 7 - }else{ - if (index == 170) ARRAY_VALUE = ARRAY_04_STATIC_VAR_170; - else ARRAY_VALUE = ARRAY_04_STATIC_VAR_171; - } - #endif - #if ARRAY_04_POW2_SIZE > 7 - }else{ - #if ARRAY_04_POW2_SIZE > 7 - if (index < 174) { - #endif - if (index == 172) ARRAY_VALUE = ARRAY_04_STATIC_VAR_172; - else ARRAY_VALUE = ARRAY_04_STATIC_VAR_173; - #if ARRAY_04_POW2_SIZE > 7 - }else{ - if (index == 174) ARRAY_VALUE = ARRAY_04_STATIC_VAR_174; - else ARRAY_VALUE = ARRAY_04_STATIC_VAR_175; - } - #endif - } - #endif - } - #endif - #if ARRAY_04_POW2_SIZE > 7 - }else{ - #if ARRAY_04_POW2_SIZE > 7 - if (index < 184) { - #endif - #if ARRAY_04_POW2_SIZE > 7 - if (index < 180) { - #endif - #if ARRAY_04_POW2_SIZE > 7 - if (index < 178) { - #endif - if (index == 176) ARRAY_VALUE = ARRAY_04_STATIC_VAR_176; - else ARRAY_VALUE = ARRAY_04_STATIC_VAR_177; - #if ARRAY_04_POW2_SIZE > 7 - }else{ - if (index == 178) ARRAY_VALUE = ARRAY_04_STATIC_VAR_178; - else ARRAY_VALUE = ARRAY_04_STATIC_VAR_179; - } - #endif - #if ARRAY_04_POW2_SIZE > 7 - }else{ - #if ARRAY_04_POW2_SIZE > 7 - if (index < 182) { - #endif - if (index == 180) ARRAY_VALUE = ARRAY_04_STATIC_VAR_180; - else ARRAY_VALUE = ARRAY_04_STATIC_VAR_181; - #if ARRAY_04_POW2_SIZE > 7 - }else{ - if (index == 182) ARRAY_VALUE = ARRAY_04_STATIC_VAR_182; - else ARRAY_VALUE = ARRAY_04_STATIC_VAR_183; - } - #endif - } - #endif - #if ARRAY_04_POW2_SIZE > 7 - }else{ - #if ARRAY_04_POW2_SIZE > 7 - if (index < 188) { - #endif - #if ARRAY_04_POW2_SIZE > 7 - if (index < 186) { - #endif - if (index == 184) ARRAY_VALUE = ARRAY_04_STATIC_VAR_184; - else ARRAY_VALUE = ARRAY_04_STATIC_VAR_185; - #if ARRAY_04_POW2_SIZE > 7 - }else{ - if (index == 186) ARRAY_VALUE = ARRAY_04_STATIC_VAR_186; - else ARRAY_VALUE = ARRAY_04_STATIC_VAR_187; - } - #endif - #if ARRAY_04_POW2_SIZE > 7 - }else{ - #if ARRAY_04_POW2_SIZE > 7 - if (index < 190) { - #endif - if (index == 188) ARRAY_VALUE = ARRAY_04_STATIC_VAR_188; - else ARRAY_VALUE = ARRAY_04_STATIC_VAR_189; - #if ARRAY_04_POW2_SIZE > 7 - }else{ - if (index == 190) ARRAY_VALUE = ARRAY_04_STATIC_VAR_190; - else ARRAY_VALUE = ARRAY_04_STATIC_VAR_191; - } - #endif - } - #endif - } - #endif - } - #endif - } - #endif - #if ARRAY_04_POW2_SIZE > 7 - }else{ - #if ARRAY_04_POW2_SIZE > 7 - if (index < 224) { - #endif - #if ARRAY_04_POW2_SIZE > 7 - if (index < 208) { - #endif - #if ARRAY_04_POW2_SIZE > 7 - if (index < 200) { - #endif - #if ARRAY_04_POW2_SIZE > 7 - if (index < 196) { - #endif - #if ARRAY_04_POW2_SIZE > 7 - if (index < 194) { - #endif - if (index == 192) ARRAY_VALUE = ARRAY_04_STATIC_VAR_192; - else ARRAY_VALUE = ARRAY_04_STATIC_VAR_193; - #if ARRAY_04_POW2_SIZE > 7 - }else{ - if (index == 194) ARRAY_VALUE = ARRAY_04_STATIC_VAR_194; - else ARRAY_VALUE = ARRAY_04_STATIC_VAR_195; - } - #endif - #if ARRAY_04_POW2_SIZE > 7 - }else{ - #if ARRAY_04_POW2_SIZE > 7 - if (index < 198) { - #endif - if (index == 196) ARRAY_VALUE = ARRAY_04_STATIC_VAR_196; - else ARRAY_VALUE = ARRAY_04_STATIC_VAR_197; - #if ARRAY_04_POW2_SIZE > 7 - }else{ - if (index == 198) ARRAY_VALUE = ARRAY_04_STATIC_VAR_198; - else ARRAY_VALUE = ARRAY_04_STATIC_VAR_199; - } - #endif - } - #endif - #if ARRAY_04_POW2_SIZE > 7 - }else{ - #if ARRAY_04_POW2_SIZE > 7 - if (index < 204) { - #endif - #if ARRAY_04_POW2_SIZE > 7 - if (index < 202) { - #endif - if (index == 200) ARRAY_VALUE = ARRAY_04_STATIC_VAR_200; - else ARRAY_VALUE = ARRAY_04_STATIC_VAR_201; - #if ARRAY_04_POW2_SIZE > 7 - }else{ - if (index == 202) ARRAY_VALUE = ARRAY_04_STATIC_VAR_202; - else ARRAY_VALUE = ARRAY_04_STATIC_VAR_203; - } - #endif - #if ARRAY_04_POW2_SIZE > 7 - }else{ - #if ARRAY_04_POW2_SIZE > 7 - if (index < 206) { - #endif - if (index == 204) ARRAY_VALUE = ARRAY_04_STATIC_VAR_204; - else ARRAY_VALUE = ARRAY_04_STATIC_VAR_205; - #if ARRAY_04_POW2_SIZE > 7 - }else{ - if (index == 206) ARRAY_VALUE = ARRAY_04_STATIC_VAR_206; - else ARRAY_VALUE = ARRAY_04_STATIC_VAR_207; - } - #endif - } - #endif - } - #endif - #if ARRAY_04_POW2_SIZE > 7 - }else{ - #if ARRAY_04_POW2_SIZE > 7 - if (index < 216) { - #endif - #if ARRAY_04_POW2_SIZE > 7 - if (index < 212) { - #endif - #if ARRAY_04_POW2_SIZE > 7 - if (index < 210) { - #endif - if (index == 208) ARRAY_VALUE = ARRAY_04_STATIC_VAR_208; - else ARRAY_VALUE = ARRAY_04_STATIC_VAR_209; - #if ARRAY_04_POW2_SIZE > 7 - }else{ - if (index == 210) ARRAY_VALUE = ARRAY_04_STATIC_VAR_210; - else ARRAY_VALUE = ARRAY_04_STATIC_VAR_211; - } - #endif - #if ARRAY_04_POW2_SIZE > 7 - }else{ - #if ARRAY_04_POW2_SIZE > 7 - if (index < 214) { - #endif - if (index == 212) ARRAY_VALUE = ARRAY_04_STATIC_VAR_212; - else ARRAY_VALUE = ARRAY_04_STATIC_VAR_213; - #if ARRAY_04_POW2_SIZE > 7 - }else{ - if (index == 214) ARRAY_VALUE = ARRAY_04_STATIC_VAR_214; - else ARRAY_VALUE = ARRAY_04_STATIC_VAR_215; - } - #endif - } - #endif - #if ARRAY_04_POW2_SIZE > 7 - }else{ - #if ARRAY_04_POW2_SIZE > 7 - if (index < 220) { - #endif - #if ARRAY_04_POW2_SIZE > 7 - if (index < 218) { - #endif - if (index == 216) ARRAY_VALUE = ARRAY_04_STATIC_VAR_216; - else ARRAY_VALUE = ARRAY_04_STATIC_VAR_217; - #if ARRAY_04_POW2_SIZE > 7 - }else{ - if (index == 218) ARRAY_VALUE = ARRAY_04_STATIC_VAR_218; - else ARRAY_VALUE = ARRAY_04_STATIC_VAR_219; - } - #endif - #if ARRAY_04_POW2_SIZE > 7 - }else{ - #if ARRAY_04_POW2_SIZE > 7 - if (index < 222) { - #endif - if (index == 220) ARRAY_VALUE = ARRAY_04_STATIC_VAR_220; - else ARRAY_VALUE = ARRAY_04_STATIC_VAR_221; - #if ARRAY_04_POW2_SIZE > 7 - }else{ - if (index == 222) ARRAY_VALUE = ARRAY_04_STATIC_VAR_222; - else ARRAY_VALUE = ARRAY_04_STATIC_VAR_223; - } - #endif - } - #endif - } - #endif - } - #endif - #if ARRAY_04_POW2_SIZE > 7 - }else{ - #if ARRAY_04_POW2_SIZE > 7 - if (index < 240) { - #endif - #if ARRAY_04_POW2_SIZE > 7 - if (index < 232) { - #endif - #if ARRAY_04_POW2_SIZE > 7 - if (index < 228) { - #endif - #if ARRAY_04_POW2_SIZE > 7 - if (index < 226) { - #endif - if (index == 224) ARRAY_VALUE = ARRAY_04_STATIC_VAR_224; - else ARRAY_VALUE = ARRAY_04_STATIC_VAR_225; - #if ARRAY_04_POW2_SIZE > 7 - }else{ - if (index == 226) ARRAY_VALUE = ARRAY_04_STATIC_VAR_226; - else ARRAY_VALUE = ARRAY_04_STATIC_VAR_227; - } - #endif - #if ARRAY_04_POW2_SIZE > 7 - }else{ - #if ARRAY_04_POW2_SIZE > 7 - if (index < 230) { - #endif - if (index == 228) ARRAY_VALUE = ARRAY_04_STATIC_VAR_228; - else ARRAY_VALUE = ARRAY_04_STATIC_VAR_229; - #if ARRAY_04_POW2_SIZE > 7 - }else{ - if (index == 230) ARRAY_VALUE = ARRAY_04_STATIC_VAR_230; - else ARRAY_VALUE = ARRAY_04_STATIC_VAR_231; - } - #endif - } - #endif - #if ARRAY_04_POW2_SIZE > 7 - }else{ - #if ARRAY_04_POW2_SIZE > 7 - if (index < 236) { - #endif - #if ARRAY_04_POW2_SIZE > 7 - if (index < 234) { - #endif - if (index == 232) ARRAY_VALUE = ARRAY_04_STATIC_VAR_232; - else ARRAY_VALUE = ARRAY_04_STATIC_VAR_233; - #if ARRAY_04_POW2_SIZE > 7 - }else{ - if (index == 234) ARRAY_VALUE = ARRAY_04_STATIC_VAR_234; - else ARRAY_VALUE = ARRAY_04_STATIC_VAR_235; - } - #endif - #if ARRAY_04_POW2_SIZE > 7 - }else{ - #if ARRAY_04_POW2_SIZE > 7 - if (index < 238) { - #endif - if (index == 236) ARRAY_VALUE = ARRAY_04_STATIC_VAR_236; - else ARRAY_VALUE = ARRAY_04_STATIC_VAR_237; - #if ARRAY_04_POW2_SIZE > 7 - }else{ - if (index == 238) ARRAY_VALUE = ARRAY_04_STATIC_VAR_238; - else ARRAY_VALUE = ARRAY_04_STATIC_VAR_239; - } - #endif - } - #endif - } - #endif - #if ARRAY_04_POW2_SIZE > 7 - }else{ - #if ARRAY_04_POW2_SIZE > 7 - if (index < 248) { - #endif - #if ARRAY_04_POW2_SIZE > 7 - if (index < 244) { - #endif - #if ARRAY_04_POW2_SIZE > 7 - if (index < 242) { - #endif - if (index == 240) ARRAY_VALUE = ARRAY_04_STATIC_VAR_240; - else ARRAY_VALUE = ARRAY_04_STATIC_VAR_241; - #if ARRAY_04_POW2_SIZE > 7 - }else{ - if (index == 242) ARRAY_VALUE = ARRAY_04_STATIC_VAR_242; - else ARRAY_VALUE = ARRAY_04_STATIC_VAR_243; - } - #endif - #if ARRAY_04_POW2_SIZE > 7 - }else{ - #if ARRAY_04_POW2_SIZE > 7 - if (index < 246) { - #endif - if (index == 244) ARRAY_VALUE = ARRAY_04_STATIC_VAR_244; - else ARRAY_VALUE = ARRAY_04_STATIC_VAR_245; - #if ARRAY_04_POW2_SIZE > 7 - }else{ - if (index == 246) ARRAY_VALUE = ARRAY_04_STATIC_VAR_246; - else ARRAY_VALUE = ARRAY_04_STATIC_VAR_247; - } - #endif - } - #endif - #if ARRAY_04_POW2_SIZE > 7 - }else{ - #if ARRAY_04_POW2_SIZE > 7 - if (index < 252) { - #endif - #if ARRAY_04_POW2_SIZE > 7 - if (index < 250) { - #endif - if (index == 248) ARRAY_VALUE = ARRAY_04_STATIC_VAR_248; - else ARRAY_VALUE = ARRAY_04_STATIC_VAR_249; - #if ARRAY_04_POW2_SIZE > 7 - }else{ - if (index == 250) ARRAY_VALUE = ARRAY_04_STATIC_VAR_250; - else ARRAY_VALUE = ARRAY_04_STATIC_VAR_251; - } - #endif - #if ARRAY_04_POW2_SIZE > 7 - }else{ - #if ARRAY_04_POW2_SIZE > 7 - if (index < 254) { - #endif - if (index == 252) ARRAY_VALUE = ARRAY_04_STATIC_VAR_252; - else ARRAY_VALUE = ARRAY_04_STATIC_VAR_253; - #if ARRAY_04_POW2_SIZE > 7 - }else{ - if (index == 254) ARRAY_VALUE = ARRAY_04_STATIC_VAR_254; - else ARRAY_VALUE = ARRAY_04_STATIC_VAR_255; - } - #endif - } - #endif - } - #endif - } - #endif - } - #endif - } - #endif - } - #endif -} - -ARRAY_04_SETTER(index, value) { - #if ARRAY_04_POW2_SIZE > 7 - if (index < 128) { - #endif - #if ARRAY_04_POW2_SIZE > 6 - if (index < 64) { - #endif - #if ARRAY_04_POW2_SIZE > 5 - if (index < 32) { - #endif - #if ARRAY_04_POW2_SIZE > 4 - if (index < 16) { - #endif - #if ARRAY_04_POW2_SIZE > 3 - if (index < 8) { - #endif - #if ARRAY_04_POW2_SIZE > 2 - if (index < 4) { - #endif - #if ARRAY_04_POW2_SIZE > 1 - if (index < 2) { - #endif - if (index == 0) ARRAY_04_STATIC_VAR_000 = value; - else ARRAY_04_STATIC_VAR_001 = value; - #if ARRAY_04_POW2_SIZE > 1 - }else{ - if (index == 2) ARRAY_04_STATIC_VAR_002 = value; - else ARRAY_04_STATIC_VAR_003 = value; - } - #endif - #if ARRAY_04_POW2_SIZE > 2 - }else{ - #if ARRAY_04_POW2_SIZE > 2 - if (index < 6) { - #endif - if (index == 4) ARRAY_04_STATIC_VAR_004 = value; - else ARRAY_04_STATIC_VAR_005 = value; - #if ARRAY_04_POW2_SIZE > 2 - }else{ - if (index == 6) ARRAY_04_STATIC_VAR_006 = value; - else ARRAY_04_STATIC_VAR_007 = value; - } - #endif - } - #endif - #if ARRAY_04_POW2_SIZE > 3 - }else{ - #if ARRAY_04_POW2_SIZE > 3 - if (index < 12) { - #endif - #if ARRAY_04_POW2_SIZE > 3 - if (index < 10) { - #endif - if (index == 8) ARRAY_04_STATIC_VAR_008 = value; - else ARRAY_04_STATIC_VAR_009 = value; - #if ARRAY_04_POW2_SIZE > 3 - }else{ - if (index == 10) ARRAY_04_STATIC_VAR_010 = value; - else ARRAY_04_STATIC_VAR_011 = value; - } - #endif - #if ARRAY_04_POW2_SIZE > 3 - }else{ - #if ARRAY_04_POW2_SIZE > 3 - if (index < 14) { - #endif - if (index == 12) ARRAY_04_STATIC_VAR_012 = value; - else ARRAY_04_STATIC_VAR_013 = value; - #if ARRAY_04_POW2_SIZE > 3 - }else{ - if (index == 14) ARRAY_04_STATIC_VAR_014 = value; - else ARRAY_04_STATIC_VAR_015 = value; - } - #endif - } - #endif - } - #endif - #if ARRAY_04_POW2_SIZE > 4 - }else{ - #if ARRAY_04_POW2_SIZE > 4 - if (index < 24) { - #endif - #if ARRAY_04_POW2_SIZE > 4 - if (index < 20) { - #endif - #if ARRAY_04_POW2_SIZE > 4 - if (index < 18) { - #endif - if (index == 16) ARRAY_04_STATIC_VAR_016 = value; - else ARRAY_04_STATIC_VAR_017 = value; - #if ARRAY_04_POW2_SIZE > 4 - }else{ - if (index == 18) ARRAY_04_STATIC_VAR_018 = value; - else ARRAY_04_STATIC_VAR_019 = value; - } - #endif - #if ARRAY_04_POW2_SIZE > 4 - }else{ - #if ARRAY_04_POW2_SIZE > 4 - if (index < 22) { - #endif - if (index == 20) ARRAY_04_STATIC_VAR_020 = value; - else ARRAY_04_STATIC_VAR_021 = value; - #if ARRAY_04_POW2_SIZE > 4 - }else{ - if (index == 22) ARRAY_04_STATIC_VAR_022 = value; - else ARRAY_04_STATIC_VAR_023 = value; - } - #endif - } - #endif - #if ARRAY_04_POW2_SIZE > 4 - }else{ - #if ARRAY_04_POW2_SIZE > 4 - if (index < 28) { - #endif - #if ARRAY_04_POW2_SIZE > 4 - if (index < 26) { - #endif - if (index == 24) ARRAY_04_STATIC_VAR_024 = value; - else ARRAY_04_STATIC_VAR_025 = value; - #if ARRAY_04_POW2_SIZE > 4 - }else{ - if (index == 26) ARRAY_04_STATIC_VAR_026 = value; - else ARRAY_04_STATIC_VAR_027 = value; - } - #endif - #if ARRAY_04_POW2_SIZE > 4 - }else{ - #if ARRAY_04_POW2_SIZE > 4 - if (index < 30) { - #endif - if (index == 28) ARRAY_04_STATIC_VAR_028 = value; - else ARRAY_04_STATIC_VAR_029 = value; - #if ARRAY_04_POW2_SIZE > 4 - }else{ - if (index == 30) ARRAY_04_STATIC_VAR_030 = value; - else ARRAY_04_STATIC_VAR_031 = value; - } - #endif - } - #endif - } - #endif - } - #endif - #if ARRAY_04_POW2_SIZE > 5 - }else{ - #if ARRAY_04_POW2_SIZE > 5 - if (index < 48) { - #endif - #if ARRAY_04_POW2_SIZE > 5 - if (index < 40) { - #endif - #if ARRAY_04_POW2_SIZE > 5 - if (index < 36) { - #endif - #if ARRAY_04_POW2_SIZE > 5 - if (index < 34) { - #endif - if (index == 32) ARRAY_04_STATIC_VAR_032 = value; - else ARRAY_04_STATIC_VAR_033 = value; - #if ARRAY_04_POW2_SIZE > 5 - }else{ - if (index == 34) ARRAY_04_STATIC_VAR_034 = value; - else ARRAY_04_STATIC_VAR_035 = value; - } - #endif - #if ARRAY_04_POW2_SIZE > 5 - }else{ - #if ARRAY_04_POW2_SIZE > 5 - if (index < 38) { - #endif - if (index == 36) ARRAY_04_STATIC_VAR_036 = value; - else ARRAY_04_STATIC_VAR_037 = value; - #if ARRAY_04_POW2_SIZE > 5 - }else{ - if (index == 38) ARRAY_04_STATIC_VAR_038 = value; - else ARRAY_04_STATIC_VAR_039 = value; - } - #endif - } - #endif - #if ARRAY_04_POW2_SIZE > 5 - }else{ - #if ARRAY_04_POW2_SIZE > 5 - if (index < 44) { - #endif - #if ARRAY_04_POW2_SIZE > 5 - if (index < 42) { - #endif - if (index == 40) ARRAY_04_STATIC_VAR_040 = value; - else ARRAY_04_STATIC_VAR_041 = value; - #if ARRAY_04_POW2_SIZE > 5 - }else{ - if (index == 42) ARRAY_04_STATIC_VAR_042 = value; - else ARRAY_04_STATIC_VAR_043 = value; - } - #endif - #if ARRAY_04_POW2_SIZE > 5 - }else{ - #if ARRAY_04_POW2_SIZE > 5 - if (index < 46) { - #endif - if (index == 44) ARRAY_04_STATIC_VAR_044 = value; - else ARRAY_04_STATIC_VAR_045 = value; - #if ARRAY_04_POW2_SIZE > 5 - }else{ - if (index == 46) ARRAY_04_STATIC_VAR_046 = value; - else ARRAY_04_STATIC_VAR_047 = value; - } - #endif - } - #endif - } - #endif - #if ARRAY_04_POW2_SIZE > 5 - }else{ - #if ARRAY_04_POW2_SIZE > 5 - if (index < 56) { - #endif - #if ARRAY_04_POW2_SIZE > 5 - if (index < 52) { - #endif - #if ARRAY_04_POW2_SIZE > 5 - if (index < 50) { - #endif - if (index == 48) ARRAY_04_STATIC_VAR_048 = value; - else ARRAY_04_STATIC_VAR_049 = value; - #if ARRAY_04_POW2_SIZE > 5 - }else{ - if (index == 50) ARRAY_04_STATIC_VAR_050 = value; - else ARRAY_04_STATIC_VAR_051 = value; - } - #endif - #if ARRAY_04_POW2_SIZE > 5 - }else{ - #if ARRAY_04_POW2_SIZE > 5 - if (index < 54) { - #endif - if (index == 52) ARRAY_04_STATIC_VAR_052 = value; - else ARRAY_04_STATIC_VAR_053 = value; - #if ARRAY_04_POW2_SIZE > 5 - }else{ - if (index == 54) ARRAY_04_STATIC_VAR_054 = value; - else ARRAY_04_STATIC_VAR_055 = value; - } - #endif - } - #endif - #if ARRAY_04_POW2_SIZE > 5 - }else{ - #if ARRAY_04_POW2_SIZE > 5 - if (index < 60) { - #endif - #if ARRAY_04_POW2_SIZE > 5 - if (index < 58) { - #endif - if (index == 56) ARRAY_04_STATIC_VAR_056 = value; - else ARRAY_04_STATIC_VAR_057 = value; - #if ARRAY_04_POW2_SIZE > 5 - }else{ - if (index == 58) ARRAY_04_STATIC_VAR_058 = value; - else ARRAY_04_STATIC_VAR_059 = value; - } - #endif - #if ARRAY_04_POW2_SIZE > 5 - }else{ - #if ARRAY_04_POW2_SIZE > 5 - if (index < 62) { - #endif - if (index == 60) ARRAY_04_STATIC_VAR_060 = value; - else ARRAY_04_STATIC_VAR_061 = value; - #if ARRAY_04_POW2_SIZE > 5 - }else{ - if (index == 62) ARRAY_04_STATIC_VAR_062 = value; - else ARRAY_04_STATIC_VAR_063 = value; - } - #endif - } - #endif - } - #endif - } - #endif - } - #endif - #if ARRAY_04_POW2_SIZE > 6 - }else{ - #if ARRAY_04_POW2_SIZE > 6 - if (index < 96) { - #endif - #if ARRAY_04_POW2_SIZE > 6 - if (index < 80) { - #endif - #if ARRAY_04_POW2_SIZE > 6 - if (index < 72) { - #endif - #if ARRAY_04_POW2_SIZE > 6 - if (index < 68) { - #endif - #if ARRAY_04_POW2_SIZE > 6 - if (index < 66) { - #endif - if (index == 64) ARRAY_04_STATIC_VAR_064 = value; - else ARRAY_04_STATIC_VAR_065 = value; - #if ARRAY_04_POW2_SIZE > 6 - }else{ - if (index == 66) ARRAY_04_STATIC_VAR_066 = value; - else ARRAY_04_STATIC_VAR_067 = value; - } - #endif - #if ARRAY_04_POW2_SIZE > 6 - }else{ - #if ARRAY_04_POW2_SIZE > 6 - if (index < 70) { - #endif - if (index == 68) ARRAY_04_STATIC_VAR_068 = value; - else ARRAY_04_STATIC_VAR_069 = value; - #if ARRAY_04_POW2_SIZE > 6 - }else{ - if (index == 70) ARRAY_04_STATIC_VAR_070 = value; - else ARRAY_04_STATIC_VAR_071 = value; - } - #endif - } - #endif - #if ARRAY_04_POW2_SIZE > 6 - }else{ - #if ARRAY_04_POW2_SIZE > 6 - if (index < 76) { - #endif - #if ARRAY_04_POW2_SIZE > 6 - if (index < 74) { - #endif - if (index == 72) ARRAY_04_STATIC_VAR_072 = value; - else ARRAY_04_STATIC_VAR_073 = value; - #if ARRAY_04_POW2_SIZE > 6 - }else{ - if (index == 74) ARRAY_04_STATIC_VAR_074 = value; - else ARRAY_04_STATIC_VAR_075 = value; - } - #endif - #if ARRAY_04_POW2_SIZE > 6 - }else{ - #if ARRAY_04_POW2_SIZE > 6 - if (index < 78) { - #endif - if (index == 76) ARRAY_04_STATIC_VAR_076 = value; - else ARRAY_04_STATIC_VAR_077 = value; - #if ARRAY_04_POW2_SIZE > 6 - }else{ - if (index == 78) ARRAY_04_STATIC_VAR_078 = value; - else ARRAY_04_STATIC_VAR_079 = value; - } - #endif - } - #endif - } - #endif - #if ARRAY_04_POW2_SIZE > 6 - }else{ - #if ARRAY_04_POW2_SIZE > 6 - if (index < 88) { - #endif - #if ARRAY_04_POW2_SIZE > 6 - if (index < 84) { - #endif - #if ARRAY_04_POW2_SIZE > 6 - if (index < 82) { - #endif - if (index == 80) ARRAY_04_STATIC_VAR_080 = value; - else ARRAY_04_STATIC_VAR_081 = value; - #if ARRAY_04_POW2_SIZE > 6 - }else{ - if (index == 82) ARRAY_04_STATIC_VAR_082 = value; - else ARRAY_04_STATIC_VAR_083 = value; - } - #endif - #if ARRAY_04_POW2_SIZE > 6 - }else{ - #if ARRAY_04_POW2_SIZE > 6 - if (index < 86) { - #endif - if (index == 84) ARRAY_04_STATIC_VAR_084 = value; - else ARRAY_04_STATIC_VAR_085 = value; - #if ARRAY_04_POW2_SIZE > 6 - }else{ - if (index == 86) ARRAY_04_STATIC_VAR_086 = value; - else ARRAY_04_STATIC_VAR_087 = value; - } - #endif - } - #endif - #if ARRAY_04_POW2_SIZE > 6 - }else{ - #if ARRAY_04_POW2_SIZE > 6 - if (index < 92) { - #endif - #if ARRAY_04_POW2_SIZE > 6 - if (index < 90) { - #endif - if (index == 88) ARRAY_04_STATIC_VAR_088 = value; - else ARRAY_04_STATIC_VAR_089 = value; - #if ARRAY_04_POW2_SIZE > 6 - }else{ - if (index == 90) ARRAY_04_STATIC_VAR_090 = value; - else ARRAY_04_STATIC_VAR_091 = value; - } - #endif - #if ARRAY_04_POW2_SIZE > 6 - }else{ - #if ARRAY_04_POW2_SIZE > 6 - if (index < 94) { - #endif - if (index == 92) ARRAY_04_STATIC_VAR_092 = value; - else ARRAY_04_STATIC_VAR_093 = value; - #if ARRAY_04_POW2_SIZE > 6 - }else{ - if (index == 94) ARRAY_04_STATIC_VAR_094 = value; - else ARRAY_04_STATIC_VAR_095 = value; - } - #endif - } - #endif - } - #endif - } - #endif - #if ARRAY_04_POW2_SIZE > 6 - }else{ - #if ARRAY_04_POW2_SIZE > 6 - if (index < 112) { - #endif - #if ARRAY_04_POW2_SIZE > 6 - if (index < 104) { - #endif - #if ARRAY_04_POW2_SIZE > 6 - if (index < 100) { - #endif - #if ARRAY_04_POW2_SIZE > 6 - if (index < 98) { - #endif - if (index == 96) ARRAY_04_STATIC_VAR_096 = value; - else ARRAY_04_STATIC_VAR_097 = value; - #if ARRAY_04_POW2_SIZE > 6 - }else{ - if (index == 98) ARRAY_04_STATIC_VAR_098 = value; - else ARRAY_04_STATIC_VAR_099 = value; - } - #endif - #if ARRAY_04_POW2_SIZE > 6 - }else{ - #if ARRAY_04_POW2_SIZE > 6 - if (index < 102) { - #endif - if (index == 100) ARRAY_04_STATIC_VAR_100 = value; - else ARRAY_04_STATIC_VAR_101 = value; - #if ARRAY_04_POW2_SIZE > 6 - }else{ - if (index == 102) ARRAY_04_STATIC_VAR_102 = value; - else ARRAY_04_STATIC_VAR_103 = value; - } - #endif - } - #endif - #if ARRAY_04_POW2_SIZE > 6 - }else{ - #if ARRAY_04_POW2_SIZE > 6 - if (index < 108) { - #endif - #if ARRAY_04_POW2_SIZE > 6 - if (index < 106) { - #endif - if (index == 104) ARRAY_04_STATIC_VAR_104 = value; - else ARRAY_04_STATIC_VAR_105 = value; - #if ARRAY_04_POW2_SIZE > 6 - }else{ - if (index == 106) ARRAY_04_STATIC_VAR_106 = value; - else ARRAY_04_STATIC_VAR_107 = value; - } - #endif - #if ARRAY_04_POW2_SIZE > 6 - }else{ - #if ARRAY_04_POW2_SIZE > 6 - if (index < 110) { - #endif - if (index == 108) ARRAY_04_STATIC_VAR_108 = value; - else ARRAY_04_STATIC_VAR_109 = value; - #if ARRAY_04_POW2_SIZE > 6 - }else{ - if (index == 110) ARRAY_04_STATIC_VAR_110 = value; - else ARRAY_04_STATIC_VAR_111 = value; - } - #endif - } - #endif - } - #endif - #if ARRAY_04_POW2_SIZE > 6 - }else{ - #if ARRAY_04_POW2_SIZE > 6 - if (index < 120) { - #endif - #if ARRAY_04_POW2_SIZE > 6 - if (index < 116) { - #endif - #if ARRAY_04_POW2_SIZE > 6 - if (index < 114) { - #endif - if (index == 112) ARRAY_04_STATIC_VAR_112 = value; - else ARRAY_04_STATIC_VAR_113 = value; - #if ARRAY_04_POW2_SIZE > 6 - }else{ - if (index == 114) ARRAY_04_STATIC_VAR_114 = value; - else ARRAY_04_STATIC_VAR_115 = value; - } - #endif - #if ARRAY_04_POW2_SIZE > 6 - }else{ - #if ARRAY_04_POW2_SIZE > 6 - if (index < 118) { - #endif - if (index == 116) ARRAY_04_STATIC_VAR_116 = value; - else ARRAY_04_STATIC_VAR_117 = value; - #if ARRAY_04_POW2_SIZE > 6 - }else{ - if (index == 118) ARRAY_04_STATIC_VAR_118 = value; - else ARRAY_04_STATIC_VAR_119 = value; - } - #endif - } - #endif - #if ARRAY_04_POW2_SIZE > 6 - }else{ - #if ARRAY_04_POW2_SIZE > 6 - if (index < 124) { - #endif - #if ARRAY_04_POW2_SIZE > 6 - if (index < 122) { - #endif - if (index == 120) ARRAY_04_STATIC_VAR_120 = value; - else ARRAY_04_STATIC_VAR_121 = value; - #if ARRAY_04_POW2_SIZE > 6 - }else{ - if (index == 122) ARRAY_04_STATIC_VAR_122 = value; - else ARRAY_04_STATIC_VAR_123 = value; - } - #endif - #if ARRAY_04_POW2_SIZE > 6 - }else{ - #if ARRAY_04_POW2_SIZE > 6 - if (index < 126) { - #endif - if (index == 124) ARRAY_04_STATIC_VAR_124 = value; - else ARRAY_04_STATIC_VAR_125 = value; - #if ARRAY_04_POW2_SIZE > 6 - }else{ - if (index == 126) ARRAY_04_STATIC_VAR_126 = value; - else ARRAY_04_STATIC_VAR_127 = value; - } - #endif - } - #endif - } - #endif - } - #endif - } - #endif - } - #endif - #if ARRAY_04_POW2_SIZE > 7 - }else{ - #if ARRAY_04_POW2_SIZE > 7 - if (index < 192) { - #endif - #if ARRAY_04_POW2_SIZE > 7 - if (index < 160) { - #endif - #if ARRAY_04_POW2_SIZE > 7 - if (index < 144) { - #endif - #if ARRAY_04_POW2_SIZE > 7 - if (index < 136) { - #endif - #if ARRAY_04_POW2_SIZE > 7 - if (index < 132) { - #endif - #if ARRAY_04_POW2_SIZE > 7 - if (index < 130) { - #endif - if (index == 128) ARRAY_04_STATIC_VAR_128 = value; - else ARRAY_04_STATIC_VAR_129 = value; - #if ARRAY_04_POW2_SIZE > 7 - }else{ - if (index == 130) ARRAY_04_STATIC_VAR_130 = value; - else ARRAY_04_STATIC_VAR_131 = value; - } - #endif - #if ARRAY_04_POW2_SIZE > 7 - }else{ - #if ARRAY_04_POW2_SIZE > 7 - if (index < 134) { - #endif - if (index == 132) ARRAY_04_STATIC_VAR_132 = value; - else ARRAY_04_STATIC_VAR_133 = value; - #if ARRAY_04_POW2_SIZE > 7 - }else{ - if (index == 134) ARRAY_04_STATIC_VAR_134 = value; - else ARRAY_04_STATIC_VAR_135 = value; - } - #endif - } - #endif - #if ARRAY_04_POW2_SIZE > 7 - }else{ - #if ARRAY_04_POW2_SIZE > 7 - if (index < 140) { - #endif - #if ARRAY_04_POW2_SIZE > 7 - if (index < 138) { - #endif - if (index == 136) ARRAY_04_STATIC_VAR_136 = value; - else ARRAY_04_STATIC_VAR_137 = value; - #if ARRAY_04_POW2_SIZE > 7 - }else{ - if (index == 138) ARRAY_04_STATIC_VAR_138 = value; - else ARRAY_04_STATIC_VAR_139 = value; - } - #endif - #if ARRAY_04_POW2_SIZE > 7 - }else{ - #if ARRAY_04_POW2_SIZE > 7 - if (index < 142) { - #endif - if (index == 140) ARRAY_04_STATIC_VAR_140 = value; - else ARRAY_04_STATIC_VAR_141 = value; - #if ARRAY_04_POW2_SIZE > 7 - }else{ - if (index == 142) ARRAY_04_STATIC_VAR_142 = value; - else ARRAY_04_STATIC_VAR_143 = value; - } - #endif - } - #endif - } - #endif - #if ARRAY_04_POW2_SIZE > 7 - }else{ - #if ARRAY_04_POW2_SIZE > 7 - if (index < 152) { - #endif - #if ARRAY_04_POW2_SIZE > 7 - if (index < 148) { - #endif - #if ARRAY_04_POW2_SIZE > 7 - if (index < 146) { - #endif - if (index == 144) ARRAY_04_STATIC_VAR_144 = value; - else ARRAY_04_STATIC_VAR_145 = value; - #if ARRAY_04_POW2_SIZE > 7 - }else{ - if (index == 146) ARRAY_04_STATIC_VAR_146 = value; - else ARRAY_04_STATIC_VAR_147 = value; - } - #endif - #if ARRAY_04_POW2_SIZE > 7 - }else{ - #if ARRAY_04_POW2_SIZE > 7 - if (index < 150) { - #endif - if (index == 148) ARRAY_04_STATIC_VAR_148 = value; - else ARRAY_04_STATIC_VAR_149 = value; - #if ARRAY_04_POW2_SIZE > 7 - }else{ - if (index == 150) ARRAY_04_STATIC_VAR_150 = value; - else ARRAY_04_STATIC_VAR_151 = value; - } - #endif - } - #endif - #if ARRAY_04_POW2_SIZE > 7 - }else{ - #if ARRAY_04_POW2_SIZE > 7 - if (index < 156) { - #endif - #if ARRAY_04_POW2_SIZE > 7 - if (index < 154) { - #endif - if (index == 152) ARRAY_04_STATIC_VAR_152 = value; - else ARRAY_04_STATIC_VAR_153 = value; - #if ARRAY_04_POW2_SIZE > 7 - }else{ - if (index == 154) ARRAY_04_STATIC_VAR_154 = value; - else ARRAY_04_STATIC_VAR_155 = value; - } - #endif - #if ARRAY_04_POW2_SIZE > 7 - }else{ - #if ARRAY_04_POW2_SIZE > 7 - if (index < 158) { - #endif - if (index == 156) ARRAY_04_STATIC_VAR_156 = value; - else ARRAY_04_STATIC_VAR_157 = value; - #if ARRAY_04_POW2_SIZE > 7 - }else{ - if (index == 158) ARRAY_04_STATIC_VAR_158 = value; - else ARRAY_04_STATIC_VAR_159 = value; - } - #endif - } - #endif - } - #endif - } - #endif - #if ARRAY_04_POW2_SIZE > 7 - }else{ - #if ARRAY_04_POW2_SIZE > 7 - if (index < 176) { - #endif - #if ARRAY_04_POW2_SIZE > 7 - if (index < 168) { - #endif - #if ARRAY_04_POW2_SIZE > 7 - if (index < 164) { - #endif - #if ARRAY_04_POW2_SIZE > 7 - if (index < 162) { - #endif - if (index == 160) ARRAY_04_STATIC_VAR_160 = value; - else ARRAY_04_STATIC_VAR_161 = value; - #if ARRAY_04_POW2_SIZE > 7 - }else{ - if (index == 162) ARRAY_04_STATIC_VAR_162 = value; - else ARRAY_04_STATIC_VAR_163 = value; - } - #endif - #if ARRAY_04_POW2_SIZE > 7 - }else{ - #if ARRAY_04_POW2_SIZE > 7 - if (index < 166) { - #endif - if (index == 164) ARRAY_04_STATIC_VAR_164 = value; - else ARRAY_04_STATIC_VAR_165 = value; - #if ARRAY_04_POW2_SIZE > 7 - }else{ - if (index == 166) ARRAY_04_STATIC_VAR_166 = value; - else ARRAY_04_STATIC_VAR_167 = value; - } - #endif - } - #endif - #if ARRAY_04_POW2_SIZE > 7 - }else{ - #if ARRAY_04_POW2_SIZE > 7 - if (index < 172) { - #endif - #if ARRAY_04_POW2_SIZE > 7 - if (index < 170) { - #endif - if (index == 168) ARRAY_04_STATIC_VAR_168 = value; - else ARRAY_04_STATIC_VAR_169 = value; - #if ARRAY_04_POW2_SIZE > 7 - }else{ - if (index == 170) ARRAY_04_STATIC_VAR_170 = value; - else ARRAY_04_STATIC_VAR_171 = value; - } - #endif - #if ARRAY_04_POW2_SIZE > 7 - }else{ - #if ARRAY_04_POW2_SIZE > 7 - if (index < 174) { - #endif - if (index == 172) ARRAY_04_STATIC_VAR_172 = value; - else ARRAY_04_STATIC_VAR_173 = value; - #if ARRAY_04_POW2_SIZE > 7 - }else{ - if (index == 174) ARRAY_04_STATIC_VAR_174 = value; - else ARRAY_04_STATIC_VAR_175 = value; - } - #endif - } - #endif - } - #endif - #if ARRAY_04_POW2_SIZE > 7 - }else{ - #if ARRAY_04_POW2_SIZE > 7 - if (index < 184) { - #endif - #if ARRAY_04_POW2_SIZE > 7 - if (index < 180) { - #endif - #if ARRAY_04_POW2_SIZE > 7 - if (index < 178) { - #endif - if (index == 176) ARRAY_04_STATIC_VAR_176 = value; - else ARRAY_04_STATIC_VAR_177 = value; - #if ARRAY_04_POW2_SIZE > 7 - }else{ - if (index == 178) ARRAY_04_STATIC_VAR_178 = value; - else ARRAY_04_STATIC_VAR_179 = value; - } - #endif - #if ARRAY_04_POW2_SIZE > 7 - }else{ - #if ARRAY_04_POW2_SIZE > 7 - if (index < 182) { - #endif - if (index == 180) ARRAY_04_STATIC_VAR_180 = value; - else ARRAY_04_STATIC_VAR_181 = value; - #if ARRAY_04_POW2_SIZE > 7 - }else{ - if (index == 182) ARRAY_04_STATIC_VAR_182 = value; - else ARRAY_04_STATIC_VAR_183 = value; - } - #endif - } - #endif - #if ARRAY_04_POW2_SIZE > 7 - }else{ - #if ARRAY_04_POW2_SIZE > 7 - if (index < 188) { - #endif - #if ARRAY_04_POW2_SIZE > 7 - if (index < 186) { - #endif - if (index == 184) ARRAY_04_STATIC_VAR_184 = value; - else ARRAY_04_STATIC_VAR_185 = value; - #if ARRAY_04_POW2_SIZE > 7 - }else{ - if (index == 186) ARRAY_04_STATIC_VAR_186 = value; - else ARRAY_04_STATIC_VAR_187 = value; - } - #endif - #if ARRAY_04_POW2_SIZE > 7 - }else{ - #if ARRAY_04_POW2_SIZE > 7 - if (index < 190) { - #endif - if (index == 188) ARRAY_04_STATIC_VAR_188 = value; - else ARRAY_04_STATIC_VAR_189 = value; - #if ARRAY_04_POW2_SIZE > 7 - }else{ - if (index == 190) ARRAY_04_STATIC_VAR_190 = value; - else ARRAY_04_STATIC_VAR_191 = value; - } - #endif - } - #endif - } - #endif - } - #endif - } - #endif - #if ARRAY_04_POW2_SIZE > 7 - }else{ - #if ARRAY_04_POW2_SIZE > 7 - if (index < 224) { - #endif - #if ARRAY_04_POW2_SIZE > 7 - if (index < 208) { - #endif - #if ARRAY_04_POW2_SIZE > 7 - if (index < 200) { - #endif - #if ARRAY_04_POW2_SIZE > 7 - if (index < 196) { - #endif - #if ARRAY_04_POW2_SIZE > 7 - if (index < 194) { - #endif - if (index == 192) ARRAY_04_STATIC_VAR_192 = value; - else ARRAY_04_STATIC_VAR_193 = value; - #if ARRAY_04_POW2_SIZE > 7 - }else{ - if (index == 194) ARRAY_04_STATIC_VAR_194 = value; - else ARRAY_04_STATIC_VAR_195 = value; - } - #endif - #if ARRAY_04_POW2_SIZE > 7 - }else{ - #if ARRAY_04_POW2_SIZE > 7 - if (index < 198) { - #endif - if (index == 196) ARRAY_04_STATIC_VAR_196 = value; - else ARRAY_04_STATIC_VAR_197 = value; - #if ARRAY_04_POW2_SIZE > 7 - }else{ - if (index == 198) ARRAY_04_STATIC_VAR_198 = value; - else ARRAY_04_STATIC_VAR_199 = value; - } - #endif - } - #endif - #if ARRAY_04_POW2_SIZE > 7 - }else{ - #if ARRAY_04_POW2_SIZE > 7 - if (index < 204) { - #endif - #if ARRAY_04_POW2_SIZE > 7 - if (index < 202) { - #endif - if (index == 200) ARRAY_04_STATIC_VAR_200 = value; - else ARRAY_04_STATIC_VAR_201 = value; - #if ARRAY_04_POW2_SIZE > 7 - }else{ - if (index == 202) ARRAY_04_STATIC_VAR_202 = value; - else ARRAY_04_STATIC_VAR_203 = value; - } - #endif - #if ARRAY_04_POW2_SIZE > 7 - }else{ - #if ARRAY_04_POW2_SIZE > 7 - if (index < 206) { - #endif - if (index == 204) ARRAY_04_STATIC_VAR_204 = value; - else ARRAY_04_STATIC_VAR_205 = value; - #if ARRAY_04_POW2_SIZE > 7 - }else{ - if (index == 206) ARRAY_04_STATIC_VAR_206 = value; - else ARRAY_04_STATIC_VAR_207 = value; - } - #endif - } - #endif - } - #endif - #if ARRAY_04_POW2_SIZE > 7 - }else{ - #if ARRAY_04_POW2_SIZE > 7 - if (index < 216) { - #endif - #if ARRAY_04_POW2_SIZE > 7 - if (index < 212) { - #endif - #if ARRAY_04_POW2_SIZE > 7 - if (index < 210) { - #endif - if (index == 208) ARRAY_04_STATIC_VAR_208 = value; - else ARRAY_04_STATIC_VAR_209 = value; - #if ARRAY_04_POW2_SIZE > 7 - }else{ - if (index == 210) ARRAY_04_STATIC_VAR_210 = value; - else ARRAY_04_STATIC_VAR_211 = value; - } - #endif - #if ARRAY_04_POW2_SIZE > 7 - }else{ - #if ARRAY_04_POW2_SIZE > 7 - if (index < 214) { - #endif - if (index == 212) ARRAY_04_STATIC_VAR_212 = value; - else ARRAY_04_STATIC_VAR_213 = value; - #if ARRAY_04_POW2_SIZE > 7 - }else{ - if (index == 214) ARRAY_04_STATIC_VAR_214 = value; - else ARRAY_04_STATIC_VAR_215 = value; - } - #endif - } - #endif - #if ARRAY_04_POW2_SIZE > 7 - }else{ - #if ARRAY_04_POW2_SIZE > 7 - if (index < 220) { - #endif - #if ARRAY_04_POW2_SIZE > 7 - if (index < 218) { - #endif - if (index == 216) ARRAY_04_STATIC_VAR_216 = value; - else ARRAY_04_STATIC_VAR_217 = value; - #if ARRAY_04_POW2_SIZE > 7 - }else{ - if (index == 218) ARRAY_04_STATIC_VAR_218 = value; - else ARRAY_04_STATIC_VAR_219 = value; - } - #endif - #if ARRAY_04_POW2_SIZE > 7 - }else{ - #if ARRAY_04_POW2_SIZE > 7 - if (index < 222) { - #endif - if (index == 220) ARRAY_04_STATIC_VAR_220 = value; - else ARRAY_04_STATIC_VAR_221 = value; - #if ARRAY_04_POW2_SIZE > 7 - }else{ - if (index == 222) ARRAY_04_STATIC_VAR_222 = value; - else ARRAY_04_STATIC_VAR_223 = value; - } - #endif - } - #endif - } - #endif - } - #endif - #if ARRAY_04_POW2_SIZE > 7 - }else{ - #if ARRAY_04_POW2_SIZE > 7 - if (index < 240) { - #endif - #if ARRAY_04_POW2_SIZE > 7 - if (index < 232) { - #endif - #if ARRAY_04_POW2_SIZE > 7 - if (index < 228) { - #endif - #if ARRAY_04_POW2_SIZE > 7 - if (index < 226) { - #endif - if (index == 224) ARRAY_04_STATIC_VAR_224 = value; - else ARRAY_04_STATIC_VAR_225 = value; - #if ARRAY_04_POW2_SIZE > 7 - }else{ - if (index == 226) ARRAY_04_STATIC_VAR_226 = value; - else ARRAY_04_STATIC_VAR_227 = value; - } - #endif - #if ARRAY_04_POW2_SIZE > 7 - }else{ - #if ARRAY_04_POW2_SIZE > 7 - if (index < 230) { - #endif - if (index == 228) ARRAY_04_STATIC_VAR_228 = value; - else ARRAY_04_STATIC_VAR_229 = value; - #if ARRAY_04_POW2_SIZE > 7 - }else{ - if (index == 230) ARRAY_04_STATIC_VAR_230 = value; - else ARRAY_04_STATIC_VAR_231 = value; - } - #endif - } - #endif - #if ARRAY_04_POW2_SIZE > 7 - }else{ - #if ARRAY_04_POW2_SIZE > 7 - if (index < 236) { - #endif - #if ARRAY_04_POW2_SIZE > 7 - if (index < 234) { - #endif - if (index == 232) ARRAY_04_STATIC_VAR_232 = value; - else ARRAY_04_STATIC_VAR_233 = value; - #if ARRAY_04_POW2_SIZE > 7 - }else{ - if (index == 234) ARRAY_04_STATIC_VAR_234 = value; - else ARRAY_04_STATIC_VAR_235 = value; - } - #endif - #if ARRAY_04_POW2_SIZE > 7 - }else{ - #if ARRAY_04_POW2_SIZE > 7 - if (index < 238) { - #endif - if (index == 236) ARRAY_04_STATIC_VAR_236 = value; - else ARRAY_04_STATIC_VAR_237 = value; - #if ARRAY_04_POW2_SIZE > 7 - }else{ - if (index == 238) ARRAY_04_STATIC_VAR_238 = value; - else ARRAY_04_STATIC_VAR_239 = value; - } - #endif - } - #endif - } - #endif - #if ARRAY_04_POW2_SIZE > 7 - }else{ - #if ARRAY_04_POW2_SIZE > 7 - if (index < 248) { - #endif - #if ARRAY_04_POW2_SIZE > 7 - if (index < 244) { - #endif - #if ARRAY_04_POW2_SIZE > 7 - if (index < 242) { - #endif - if (index == 240) ARRAY_04_STATIC_VAR_240 = value; - else ARRAY_04_STATIC_VAR_241 = value; - #if ARRAY_04_POW2_SIZE > 7 - }else{ - if (index == 242) ARRAY_04_STATIC_VAR_242 = value; - else ARRAY_04_STATIC_VAR_243 = value; - } - #endif - #if ARRAY_04_POW2_SIZE > 7 - }else{ - #if ARRAY_04_POW2_SIZE > 7 - if (index < 246) { - #endif - if (index == 244) ARRAY_04_STATIC_VAR_244 = value; - else ARRAY_04_STATIC_VAR_245 = value; - #if ARRAY_04_POW2_SIZE > 7 - }else{ - if (index == 246) ARRAY_04_STATIC_VAR_246 = value; - else ARRAY_04_STATIC_VAR_247 = value; - } - #endif - } - #endif - #if ARRAY_04_POW2_SIZE > 7 - }else{ - #if ARRAY_04_POW2_SIZE > 7 - if (index < 252) { - #endif - #if ARRAY_04_POW2_SIZE > 7 - if (index < 250) { - #endif - if (index == 248) ARRAY_04_STATIC_VAR_248 = value; - else ARRAY_04_STATIC_VAR_249 = value; - #if ARRAY_04_POW2_SIZE > 7 - }else{ - if (index == 250) ARRAY_04_STATIC_VAR_250 = value; - else ARRAY_04_STATIC_VAR_251 = value; - } - #endif - #if ARRAY_04_POW2_SIZE > 7 - }else{ - #if ARRAY_04_POW2_SIZE > 7 - if (index < 254) { - #endif - if (index == 252) ARRAY_04_STATIC_VAR_252 = value; - else ARRAY_04_STATIC_VAR_253 = value; - #if ARRAY_04_POW2_SIZE > 7 - }else{ - if (index == 254) ARRAY_04_STATIC_VAR_254 = value; - else ARRAY_04_STATIC_VAR_255 = value; - } - #endif - } - #endif - } - #endif - } - #endif - } - #endif - } - #endif - } - #endif -} \ No newline at end of file diff --git a/scripts/array_05.h b/scripts/array_05.h deleted file mode 100644 index 3ec22d3bdbb..00000000000 --- a/scripts/array_05.h +++ /dev/null @@ -1,2340 +0,0 @@ -// (c) Beherith mysterme@gmail.com. DO NOT TOUCH: generated by array_header_generator.ipynb -// Notes: -// #define ARRAY_05_POW2_SIZE -// use the ARRAY_XX_GET(i) and ARRAY_XX_SET(i,v) function macros -// ARRAY_XX_GET(i) will always place value into ARRAY_VALUE -// average calls per value is about 12 - -#ifndef ARRAY_05_POW2_SIZE - #define ARRAY_05_POW2_SIZE 4 -#endif - -#ifndef ARRAY_TEMP_DEFINED - static-var ARRAY_VALUE; - #define ARRAY_TEMP_DEFINED 1; -#endif - -#define ARRAY_05_SET(i,v) call-script ARRAY_05_SETTER(i,v); - -#define ARRAY_05_GET(i) call-script ARRAY_05_GETTER(i); - -#if ARRAY_05_POW2_SIZE > 0 - static-var ARRAY_05_STATIC_VAR_000, ARRAY_05_STATIC_VAR_001; -#endif -#if ARRAY_05_POW2_SIZE > 1 - static-var ARRAY_05_STATIC_VAR_002, ARRAY_05_STATIC_VAR_003; -#endif -#if ARRAY_05_POW2_SIZE > 2 - static-var ARRAY_05_STATIC_VAR_004, ARRAY_05_STATIC_VAR_005, ARRAY_05_STATIC_VAR_006, ARRAY_05_STATIC_VAR_007; -#endif -#if ARRAY_05_POW2_SIZE > 3 - static-var ARRAY_05_STATIC_VAR_008, ARRAY_05_STATIC_VAR_009, ARRAY_05_STATIC_VAR_010, ARRAY_05_STATIC_VAR_011, ARRAY_05_STATIC_VAR_012, ARRAY_05_STATIC_VAR_013, ARRAY_05_STATIC_VAR_014, ARRAY_05_STATIC_VAR_015; -#endif -#if ARRAY_05_POW2_SIZE > 4 - static-var ARRAY_05_STATIC_VAR_016, ARRAY_05_STATIC_VAR_017, ARRAY_05_STATIC_VAR_018, ARRAY_05_STATIC_VAR_019, ARRAY_05_STATIC_VAR_020, ARRAY_05_STATIC_VAR_021, ARRAY_05_STATIC_VAR_022, ARRAY_05_STATIC_VAR_023, ARRAY_05_STATIC_VAR_024, ARRAY_05_STATIC_VAR_025, ARRAY_05_STATIC_VAR_026, ARRAY_05_STATIC_VAR_027, ARRAY_05_STATIC_VAR_028, ARRAY_05_STATIC_VAR_029, ARRAY_05_STATIC_VAR_030, ARRAY_05_STATIC_VAR_031; -#endif -#if ARRAY_05_POW2_SIZE > 5 - static-var ARRAY_05_STATIC_VAR_032, ARRAY_05_STATIC_VAR_033, ARRAY_05_STATIC_VAR_034, ARRAY_05_STATIC_VAR_035, ARRAY_05_STATIC_VAR_036, ARRAY_05_STATIC_VAR_037, ARRAY_05_STATIC_VAR_038, ARRAY_05_STATIC_VAR_039, ARRAY_05_STATIC_VAR_040, ARRAY_05_STATIC_VAR_041, ARRAY_05_STATIC_VAR_042, ARRAY_05_STATIC_VAR_043, ARRAY_05_STATIC_VAR_044, ARRAY_05_STATIC_VAR_045, ARRAY_05_STATIC_VAR_046, ARRAY_05_STATIC_VAR_047, ARRAY_05_STATIC_VAR_048, ARRAY_05_STATIC_VAR_049, ARRAY_05_STATIC_VAR_050, ARRAY_05_STATIC_VAR_051, ARRAY_05_STATIC_VAR_052, ARRAY_05_STATIC_VAR_053, ARRAY_05_STATIC_VAR_054, ARRAY_05_STATIC_VAR_055, ARRAY_05_STATIC_VAR_056, ARRAY_05_STATIC_VAR_057, ARRAY_05_STATIC_VAR_058, ARRAY_05_STATIC_VAR_059, ARRAY_05_STATIC_VAR_060, ARRAY_05_STATIC_VAR_061, ARRAY_05_STATIC_VAR_062, ARRAY_05_STATIC_VAR_063; -#endif -#if ARRAY_05_POW2_SIZE > 6 - static-var ARRAY_05_STATIC_VAR_064, ARRAY_05_STATIC_VAR_065, ARRAY_05_STATIC_VAR_066, ARRAY_05_STATIC_VAR_067, ARRAY_05_STATIC_VAR_068, ARRAY_05_STATIC_VAR_069, ARRAY_05_STATIC_VAR_070, ARRAY_05_STATIC_VAR_071, ARRAY_05_STATIC_VAR_072, ARRAY_05_STATIC_VAR_073, ARRAY_05_STATIC_VAR_074, ARRAY_05_STATIC_VAR_075, ARRAY_05_STATIC_VAR_076, ARRAY_05_STATIC_VAR_077, ARRAY_05_STATIC_VAR_078, ARRAY_05_STATIC_VAR_079, ARRAY_05_STATIC_VAR_080, ARRAY_05_STATIC_VAR_081, ARRAY_05_STATIC_VAR_082, ARRAY_05_STATIC_VAR_083, ARRAY_05_STATIC_VAR_084, ARRAY_05_STATIC_VAR_085, ARRAY_05_STATIC_VAR_086, ARRAY_05_STATIC_VAR_087, ARRAY_05_STATIC_VAR_088, ARRAY_05_STATIC_VAR_089, ARRAY_05_STATIC_VAR_090, ARRAY_05_STATIC_VAR_091, ARRAY_05_STATIC_VAR_092, ARRAY_05_STATIC_VAR_093, ARRAY_05_STATIC_VAR_094, ARRAY_05_STATIC_VAR_095, ARRAY_05_STATIC_VAR_096, ARRAY_05_STATIC_VAR_097, ARRAY_05_STATIC_VAR_098, ARRAY_05_STATIC_VAR_099, ARRAY_05_STATIC_VAR_100, ARRAY_05_STATIC_VAR_101, ARRAY_05_STATIC_VAR_102, ARRAY_05_STATIC_VAR_103, ARRAY_05_STATIC_VAR_104, ARRAY_05_STATIC_VAR_105, ARRAY_05_STATIC_VAR_106, ARRAY_05_STATIC_VAR_107, ARRAY_05_STATIC_VAR_108, ARRAY_05_STATIC_VAR_109, ARRAY_05_STATIC_VAR_110, ARRAY_05_STATIC_VAR_111, ARRAY_05_STATIC_VAR_112, ARRAY_05_STATIC_VAR_113, ARRAY_05_STATIC_VAR_114, ARRAY_05_STATIC_VAR_115, ARRAY_05_STATIC_VAR_116, ARRAY_05_STATIC_VAR_117, ARRAY_05_STATIC_VAR_118, ARRAY_05_STATIC_VAR_119, ARRAY_05_STATIC_VAR_120, ARRAY_05_STATIC_VAR_121, ARRAY_05_STATIC_VAR_122, ARRAY_05_STATIC_VAR_123, ARRAY_05_STATIC_VAR_124, ARRAY_05_STATIC_VAR_125, ARRAY_05_STATIC_VAR_126, ARRAY_05_STATIC_VAR_127; -#endif -#if ARRAY_05_POW2_SIZE > 7 - static-var ARRAY_05_STATIC_VAR_128, ARRAY_05_STATIC_VAR_129, ARRAY_05_STATIC_VAR_130, ARRAY_05_STATIC_VAR_131, ARRAY_05_STATIC_VAR_132, ARRAY_05_STATIC_VAR_133, ARRAY_05_STATIC_VAR_134, ARRAY_05_STATIC_VAR_135, ARRAY_05_STATIC_VAR_136, ARRAY_05_STATIC_VAR_137, ARRAY_05_STATIC_VAR_138, ARRAY_05_STATIC_VAR_139, ARRAY_05_STATIC_VAR_140, ARRAY_05_STATIC_VAR_141, ARRAY_05_STATIC_VAR_142, ARRAY_05_STATIC_VAR_143, ARRAY_05_STATIC_VAR_144, ARRAY_05_STATIC_VAR_145, ARRAY_05_STATIC_VAR_146, ARRAY_05_STATIC_VAR_147, ARRAY_05_STATIC_VAR_148, ARRAY_05_STATIC_VAR_149, ARRAY_05_STATIC_VAR_150, ARRAY_05_STATIC_VAR_151, ARRAY_05_STATIC_VAR_152, ARRAY_05_STATIC_VAR_153, ARRAY_05_STATIC_VAR_154, ARRAY_05_STATIC_VAR_155, ARRAY_05_STATIC_VAR_156, ARRAY_05_STATIC_VAR_157, ARRAY_05_STATIC_VAR_158, ARRAY_05_STATIC_VAR_159, ARRAY_05_STATIC_VAR_160, ARRAY_05_STATIC_VAR_161, ARRAY_05_STATIC_VAR_162, ARRAY_05_STATIC_VAR_163, ARRAY_05_STATIC_VAR_164, ARRAY_05_STATIC_VAR_165, ARRAY_05_STATIC_VAR_166, ARRAY_05_STATIC_VAR_167, ARRAY_05_STATIC_VAR_168, ARRAY_05_STATIC_VAR_169, ARRAY_05_STATIC_VAR_170, ARRAY_05_STATIC_VAR_171, ARRAY_05_STATIC_VAR_172, ARRAY_05_STATIC_VAR_173, ARRAY_05_STATIC_VAR_174, ARRAY_05_STATIC_VAR_175, ARRAY_05_STATIC_VAR_176, ARRAY_05_STATIC_VAR_177, ARRAY_05_STATIC_VAR_178, ARRAY_05_STATIC_VAR_179, ARRAY_05_STATIC_VAR_180, ARRAY_05_STATIC_VAR_181, ARRAY_05_STATIC_VAR_182, ARRAY_05_STATIC_VAR_183, ARRAY_05_STATIC_VAR_184, ARRAY_05_STATIC_VAR_185, ARRAY_05_STATIC_VAR_186, ARRAY_05_STATIC_VAR_187, ARRAY_05_STATIC_VAR_188, ARRAY_05_STATIC_VAR_189, ARRAY_05_STATIC_VAR_190, ARRAY_05_STATIC_VAR_191, ARRAY_05_STATIC_VAR_192, ARRAY_05_STATIC_VAR_193, ARRAY_05_STATIC_VAR_194, ARRAY_05_STATIC_VAR_195, ARRAY_05_STATIC_VAR_196, ARRAY_05_STATIC_VAR_197, ARRAY_05_STATIC_VAR_198, ARRAY_05_STATIC_VAR_199, ARRAY_05_STATIC_VAR_200, ARRAY_05_STATIC_VAR_201, ARRAY_05_STATIC_VAR_202, ARRAY_05_STATIC_VAR_203, ARRAY_05_STATIC_VAR_204, ARRAY_05_STATIC_VAR_205, ARRAY_05_STATIC_VAR_206, ARRAY_05_STATIC_VAR_207, ARRAY_05_STATIC_VAR_208, ARRAY_05_STATIC_VAR_209, ARRAY_05_STATIC_VAR_210, ARRAY_05_STATIC_VAR_211, ARRAY_05_STATIC_VAR_212, ARRAY_05_STATIC_VAR_213, ARRAY_05_STATIC_VAR_214, ARRAY_05_STATIC_VAR_215, ARRAY_05_STATIC_VAR_216, ARRAY_05_STATIC_VAR_217, ARRAY_05_STATIC_VAR_218, ARRAY_05_STATIC_VAR_219, ARRAY_05_STATIC_VAR_220, ARRAY_05_STATIC_VAR_221, ARRAY_05_STATIC_VAR_222, ARRAY_05_STATIC_VAR_223, ARRAY_05_STATIC_VAR_224, ARRAY_05_STATIC_VAR_225, ARRAY_05_STATIC_VAR_226, ARRAY_05_STATIC_VAR_227, ARRAY_05_STATIC_VAR_228, ARRAY_05_STATIC_VAR_229, ARRAY_05_STATIC_VAR_230, ARRAY_05_STATIC_VAR_231, ARRAY_05_STATIC_VAR_232, ARRAY_05_STATIC_VAR_233, ARRAY_05_STATIC_VAR_234, ARRAY_05_STATIC_VAR_235, ARRAY_05_STATIC_VAR_236, ARRAY_05_STATIC_VAR_237, ARRAY_05_STATIC_VAR_238, ARRAY_05_STATIC_VAR_239, ARRAY_05_STATIC_VAR_240, ARRAY_05_STATIC_VAR_241, ARRAY_05_STATIC_VAR_242, ARRAY_05_STATIC_VAR_243, ARRAY_05_STATIC_VAR_244, ARRAY_05_STATIC_VAR_245, ARRAY_05_STATIC_VAR_246, ARRAY_05_STATIC_VAR_247, ARRAY_05_STATIC_VAR_248, ARRAY_05_STATIC_VAR_249, ARRAY_05_STATIC_VAR_250, ARRAY_05_STATIC_VAR_251, ARRAY_05_STATIC_VAR_252, ARRAY_05_STATIC_VAR_253, ARRAY_05_STATIC_VAR_254, ARRAY_05_STATIC_VAR_255; -#endif - -ARRAY_05_GETTER(index) { - #if ARRAY_05_POW2_SIZE > 7 - if (index < 128) { - #endif - #if ARRAY_05_POW2_SIZE > 6 - if (index < 64) { - #endif - #if ARRAY_05_POW2_SIZE > 5 - if (index < 32) { - #endif - #if ARRAY_05_POW2_SIZE > 4 - if (index < 16) { - #endif - #if ARRAY_05_POW2_SIZE > 3 - if (index < 8) { - #endif - #if ARRAY_05_POW2_SIZE > 2 - if (index < 4) { - #endif - #if ARRAY_05_POW2_SIZE > 1 - if (index < 2) { - #endif - if (index == 0) ARRAY_VALUE = ARRAY_05_STATIC_VAR_000; - else ARRAY_VALUE = ARRAY_05_STATIC_VAR_001; - #if ARRAY_05_POW2_SIZE > 1 - }else{ - if (index == 2) ARRAY_VALUE = ARRAY_05_STATIC_VAR_002; - else ARRAY_VALUE = ARRAY_05_STATIC_VAR_003; - } - #endif - #if ARRAY_05_POW2_SIZE > 2 - }else{ - #if ARRAY_05_POW2_SIZE > 2 - if (index < 6) { - #endif - if (index == 4) ARRAY_VALUE = ARRAY_05_STATIC_VAR_004; - else ARRAY_VALUE = ARRAY_05_STATIC_VAR_005; - #if ARRAY_05_POW2_SIZE > 2 - }else{ - if (index == 6) ARRAY_VALUE = ARRAY_05_STATIC_VAR_006; - else ARRAY_VALUE = ARRAY_05_STATIC_VAR_007; - } - #endif - } - #endif - #if ARRAY_05_POW2_SIZE > 3 - }else{ - #if ARRAY_05_POW2_SIZE > 3 - if (index < 12) { - #endif - #if ARRAY_05_POW2_SIZE > 3 - if (index < 10) { - #endif - if (index == 8) ARRAY_VALUE = ARRAY_05_STATIC_VAR_008; - else ARRAY_VALUE = ARRAY_05_STATIC_VAR_009; - #if ARRAY_05_POW2_SIZE > 3 - }else{ - if (index == 10) ARRAY_VALUE = ARRAY_05_STATIC_VAR_010; - else ARRAY_VALUE = ARRAY_05_STATIC_VAR_011; - } - #endif - #if ARRAY_05_POW2_SIZE > 3 - }else{ - #if ARRAY_05_POW2_SIZE > 3 - if (index < 14) { - #endif - if (index == 12) ARRAY_VALUE = ARRAY_05_STATIC_VAR_012; - else ARRAY_VALUE = ARRAY_05_STATIC_VAR_013; - #if ARRAY_05_POW2_SIZE > 3 - }else{ - if (index == 14) ARRAY_VALUE = ARRAY_05_STATIC_VAR_014; - else ARRAY_VALUE = ARRAY_05_STATIC_VAR_015; - } - #endif - } - #endif - } - #endif - #if ARRAY_05_POW2_SIZE > 4 - }else{ - #if ARRAY_05_POW2_SIZE > 4 - if (index < 24) { - #endif - #if ARRAY_05_POW2_SIZE > 4 - if (index < 20) { - #endif - #if ARRAY_05_POW2_SIZE > 4 - if (index < 18) { - #endif - if (index == 16) ARRAY_VALUE = ARRAY_05_STATIC_VAR_016; - else ARRAY_VALUE = ARRAY_05_STATIC_VAR_017; - #if ARRAY_05_POW2_SIZE > 4 - }else{ - if (index == 18) ARRAY_VALUE = ARRAY_05_STATIC_VAR_018; - else ARRAY_VALUE = ARRAY_05_STATIC_VAR_019; - } - #endif - #if ARRAY_05_POW2_SIZE > 4 - }else{ - #if ARRAY_05_POW2_SIZE > 4 - if (index < 22) { - #endif - if (index == 20) ARRAY_VALUE = ARRAY_05_STATIC_VAR_020; - else ARRAY_VALUE = ARRAY_05_STATIC_VAR_021; - #if ARRAY_05_POW2_SIZE > 4 - }else{ - if (index == 22) ARRAY_VALUE = ARRAY_05_STATIC_VAR_022; - else ARRAY_VALUE = ARRAY_05_STATIC_VAR_023; - } - #endif - } - #endif - #if ARRAY_05_POW2_SIZE > 4 - }else{ - #if ARRAY_05_POW2_SIZE > 4 - if (index < 28) { - #endif - #if ARRAY_05_POW2_SIZE > 4 - if (index < 26) { - #endif - if (index == 24) ARRAY_VALUE = ARRAY_05_STATIC_VAR_024; - else ARRAY_VALUE = ARRAY_05_STATIC_VAR_025; - #if ARRAY_05_POW2_SIZE > 4 - }else{ - if (index == 26) ARRAY_VALUE = ARRAY_05_STATIC_VAR_026; - else ARRAY_VALUE = ARRAY_05_STATIC_VAR_027; - } - #endif - #if ARRAY_05_POW2_SIZE > 4 - }else{ - #if ARRAY_05_POW2_SIZE > 4 - if (index < 30) { - #endif - if (index == 28) ARRAY_VALUE = ARRAY_05_STATIC_VAR_028; - else ARRAY_VALUE = ARRAY_05_STATIC_VAR_029; - #if ARRAY_05_POW2_SIZE > 4 - }else{ - if (index == 30) ARRAY_VALUE = ARRAY_05_STATIC_VAR_030; - else ARRAY_VALUE = ARRAY_05_STATIC_VAR_031; - } - #endif - } - #endif - } - #endif - } - #endif - #if ARRAY_05_POW2_SIZE > 5 - }else{ - #if ARRAY_05_POW2_SIZE > 5 - if (index < 48) { - #endif - #if ARRAY_05_POW2_SIZE > 5 - if (index < 40) { - #endif - #if ARRAY_05_POW2_SIZE > 5 - if (index < 36) { - #endif - #if ARRAY_05_POW2_SIZE > 5 - if (index < 34) { - #endif - if (index == 32) ARRAY_VALUE = ARRAY_05_STATIC_VAR_032; - else ARRAY_VALUE = ARRAY_05_STATIC_VAR_033; - #if ARRAY_05_POW2_SIZE > 5 - }else{ - if (index == 34) ARRAY_VALUE = ARRAY_05_STATIC_VAR_034; - else ARRAY_VALUE = ARRAY_05_STATIC_VAR_035; - } - #endif - #if ARRAY_05_POW2_SIZE > 5 - }else{ - #if ARRAY_05_POW2_SIZE > 5 - if (index < 38) { - #endif - if (index == 36) ARRAY_VALUE = ARRAY_05_STATIC_VAR_036; - else ARRAY_VALUE = ARRAY_05_STATIC_VAR_037; - #if ARRAY_05_POW2_SIZE > 5 - }else{ - if (index == 38) ARRAY_VALUE = ARRAY_05_STATIC_VAR_038; - else ARRAY_VALUE = ARRAY_05_STATIC_VAR_039; - } - #endif - } - #endif - #if ARRAY_05_POW2_SIZE > 5 - }else{ - #if ARRAY_05_POW2_SIZE > 5 - if (index < 44) { - #endif - #if ARRAY_05_POW2_SIZE > 5 - if (index < 42) { - #endif - if (index == 40) ARRAY_VALUE = ARRAY_05_STATIC_VAR_040; - else ARRAY_VALUE = ARRAY_05_STATIC_VAR_041; - #if ARRAY_05_POW2_SIZE > 5 - }else{ - if (index == 42) ARRAY_VALUE = ARRAY_05_STATIC_VAR_042; - else ARRAY_VALUE = ARRAY_05_STATIC_VAR_043; - } - #endif - #if ARRAY_05_POW2_SIZE > 5 - }else{ - #if ARRAY_05_POW2_SIZE > 5 - if (index < 46) { - #endif - if (index == 44) ARRAY_VALUE = ARRAY_05_STATIC_VAR_044; - else ARRAY_VALUE = ARRAY_05_STATIC_VAR_045; - #if ARRAY_05_POW2_SIZE > 5 - }else{ - if (index == 46) ARRAY_VALUE = ARRAY_05_STATIC_VAR_046; - else ARRAY_VALUE = ARRAY_05_STATIC_VAR_047; - } - #endif - } - #endif - } - #endif - #if ARRAY_05_POW2_SIZE > 5 - }else{ - #if ARRAY_05_POW2_SIZE > 5 - if (index < 56) { - #endif - #if ARRAY_05_POW2_SIZE > 5 - if (index < 52) { - #endif - #if ARRAY_05_POW2_SIZE > 5 - if (index < 50) { - #endif - if (index == 48) ARRAY_VALUE = ARRAY_05_STATIC_VAR_048; - else ARRAY_VALUE = ARRAY_05_STATIC_VAR_049; - #if ARRAY_05_POW2_SIZE > 5 - }else{ - if (index == 50) ARRAY_VALUE = ARRAY_05_STATIC_VAR_050; - else ARRAY_VALUE = ARRAY_05_STATIC_VAR_051; - } - #endif - #if ARRAY_05_POW2_SIZE > 5 - }else{ - #if ARRAY_05_POW2_SIZE > 5 - if (index < 54) { - #endif - if (index == 52) ARRAY_VALUE = ARRAY_05_STATIC_VAR_052; - else ARRAY_VALUE = ARRAY_05_STATIC_VAR_053; - #if ARRAY_05_POW2_SIZE > 5 - }else{ - if (index == 54) ARRAY_VALUE = ARRAY_05_STATIC_VAR_054; - else ARRAY_VALUE = ARRAY_05_STATIC_VAR_055; - } - #endif - } - #endif - #if ARRAY_05_POW2_SIZE > 5 - }else{ - #if ARRAY_05_POW2_SIZE > 5 - if (index < 60) { - #endif - #if ARRAY_05_POW2_SIZE > 5 - if (index < 58) { - #endif - if (index == 56) ARRAY_VALUE = ARRAY_05_STATIC_VAR_056; - else ARRAY_VALUE = ARRAY_05_STATIC_VAR_057; - #if ARRAY_05_POW2_SIZE > 5 - }else{ - if (index == 58) ARRAY_VALUE = ARRAY_05_STATIC_VAR_058; - else ARRAY_VALUE = ARRAY_05_STATIC_VAR_059; - } - #endif - #if ARRAY_05_POW2_SIZE > 5 - }else{ - #if ARRAY_05_POW2_SIZE > 5 - if (index < 62) { - #endif - if (index == 60) ARRAY_VALUE = ARRAY_05_STATIC_VAR_060; - else ARRAY_VALUE = ARRAY_05_STATIC_VAR_061; - #if ARRAY_05_POW2_SIZE > 5 - }else{ - if (index == 62) ARRAY_VALUE = ARRAY_05_STATIC_VAR_062; - else ARRAY_VALUE = ARRAY_05_STATIC_VAR_063; - } - #endif - } - #endif - } - #endif - } - #endif - } - #endif - #if ARRAY_05_POW2_SIZE > 6 - }else{ - #if ARRAY_05_POW2_SIZE > 6 - if (index < 96) { - #endif - #if ARRAY_05_POW2_SIZE > 6 - if (index < 80) { - #endif - #if ARRAY_05_POW2_SIZE > 6 - if (index < 72) { - #endif - #if ARRAY_05_POW2_SIZE > 6 - if (index < 68) { - #endif - #if ARRAY_05_POW2_SIZE > 6 - if (index < 66) { - #endif - if (index == 64) ARRAY_VALUE = ARRAY_05_STATIC_VAR_064; - else ARRAY_VALUE = ARRAY_05_STATIC_VAR_065; - #if ARRAY_05_POW2_SIZE > 6 - }else{ - if (index == 66) ARRAY_VALUE = ARRAY_05_STATIC_VAR_066; - else ARRAY_VALUE = ARRAY_05_STATIC_VAR_067; - } - #endif - #if ARRAY_05_POW2_SIZE > 6 - }else{ - #if ARRAY_05_POW2_SIZE > 6 - if (index < 70) { - #endif - if (index == 68) ARRAY_VALUE = ARRAY_05_STATIC_VAR_068; - else ARRAY_VALUE = ARRAY_05_STATIC_VAR_069; - #if ARRAY_05_POW2_SIZE > 6 - }else{ - if (index == 70) ARRAY_VALUE = ARRAY_05_STATIC_VAR_070; - else ARRAY_VALUE = ARRAY_05_STATIC_VAR_071; - } - #endif - } - #endif - #if ARRAY_05_POW2_SIZE > 6 - }else{ - #if ARRAY_05_POW2_SIZE > 6 - if (index < 76) { - #endif - #if ARRAY_05_POW2_SIZE > 6 - if (index < 74) { - #endif - if (index == 72) ARRAY_VALUE = ARRAY_05_STATIC_VAR_072; - else ARRAY_VALUE = ARRAY_05_STATIC_VAR_073; - #if ARRAY_05_POW2_SIZE > 6 - }else{ - if (index == 74) ARRAY_VALUE = ARRAY_05_STATIC_VAR_074; - else ARRAY_VALUE = ARRAY_05_STATIC_VAR_075; - } - #endif - #if ARRAY_05_POW2_SIZE > 6 - }else{ - #if ARRAY_05_POW2_SIZE > 6 - if (index < 78) { - #endif - if (index == 76) ARRAY_VALUE = ARRAY_05_STATIC_VAR_076; - else ARRAY_VALUE = ARRAY_05_STATIC_VAR_077; - #if ARRAY_05_POW2_SIZE > 6 - }else{ - if (index == 78) ARRAY_VALUE = ARRAY_05_STATIC_VAR_078; - else ARRAY_VALUE = ARRAY_05_STATIC_VAR_079; - } - #endif - } - #endif - } - #endif - #if ARRAY_05_POW2_SIZE > 6 - }else{ - #if ARRAY_05_POW2_SIZE > 6 - if (index < 88) { - #endif - #if ARRAY_05_POW2_SIZE > 6 - if (index < 84) { - #endif - #if ARRAY_05_POW2_SIZE > 6 - if (index < 82) { - #endif - if (index == 80) ARRAY_VALUE = ARRAY_05_STATIC_VAR_080; - else ARRAY_VALUE = ARRAY_05_STATIC_VAR_081; - #if ARRAY_05_POW2_SIZE > 6 - }else{ - if (index == 82) ARRAY_VALUE = ARRAY_05_STATIC_VAR_082; - else ARRAY_VALUE = ARRAY_05_STATIC_VAR_083; - } - #endif - #if ARRAY_05_POW2_SIZE > 6 - }else{ - #if ARRAY_05_POW2_SIZE > 6 - if (index < 86) { - #endif - if (index == 84) ARRAY_VALUE = ARRAY_05_STATIC_VAR_084; - else ARRAY_VALUE = ARRAY_05_STATIC_VAR_085; - #if ARRAY_05_POW2_SIZE > 6 - }else{ - if (index == 86) ARRAY_VALUE = ARRAY_05_STATIC_VAR_086; - else ARRAY_VALUE = ARRAY_05_STATIC_VAR_087; - } - #endif - } - #endif - #if ARRAY_05_POW2_SIZE > 6 - }else{ - #if ARRAY_05_POW2_SIZE > 6 - if (index < 92) { - #endif - #if ARRAY_05_POW2_SIZE > 6 - if (index < 90) { - #endif - if (index == 88) ARRAY_VALUE = ARRAY_05_STATIC_VAR_088; - else ARRAY_VALUE = ARRAY_05_STATIC_VAR_089; - #if ARRAY_05_POW2_SIZE > 6 - }else{ - if (index == 90) ARRAY_VALUE = ARRAY_05_STATIC_VAR_090; - else ARRAY_VALUE = ARRAY_05_STATIC_VAR_091; - } - #endif - #if ARRAY_05_POW2_SIZE > 6 - }else{ - #if ARRAY_05_POW2_SIZE > 6 - if (index < 94) { - #endif - if (index == 92) ARRAY_VALUE = ARRAY_05_STATIC_VAR_092; - else ARRAY_VALUE = ARRAY_05_STATIC_VAR_093; - #if ARRAY_05_POW2_SIZE > 6 - }else{ - if (index == 94) ARRAY_VALUE = ARRAY_05_STATIC_VAR_094; - else ARRAY_VALUE = ARRAY_05_STATIC_VAR_095; - } - #endif - } - #endif - } - #endif - } - #endif - #if ARRAY_05_POW2_SIZE > 6 - }else{ - #if ARRAY_05_POW2_SIZE > 6 - if (index < 112) { - #endif - #if ARRAY_05_POW2_SIZE > 6 - if (index < 104) { - #endif - #if ARRAY_05_POW2_SIZE > 6 - if (index < 100) { - #endif - #if ARRAY_05_POW2_SIZE > 6 - if (index < 98) { - #endif - if (index == 96) ARRAY_VALUE = ARRAY_05_STATIC_VAR_096; - else ARRAY_VALUE = ARRAY_05_STATIC_VAR_097; - #if ARRAY_05_POW2_SIZE > 6 - }else{ - if (index == 98) ARRAY_VALUE = ARRAY_05_STATIC_VAR_098; - else ARRAY_VALUE = ARRAY_05_STATIC_VAR_099; - } - #endif - #if ARRAY_05_POW2_SIZE > 6 - }else{ - #if ARRAY_05_POW2_SIZE > 6 - if (index < 102) { - #endif - if (index == 100) ARRAY_VALUE = ARRAY_05_STATIC_VAR_100; - else ARRAY_VALUE = ARRAY_05_STATIC_VAR_101; - #if ARRAY_05_POW2_SIZE > 6 - }else{ - if (index == 102) ARRAY_VALUE = ARRAY_05_STATIC_VAR_102; - else ARRAY_VALUE = ARRAY_05_STATIC_VAR_103; - } - #endif - } - #endif - #if ARRAY_05_POW2_SIZE > 6 - }else{ - #if ARRAY_05_POW2_SIZE > 6 - if (index < 108) { - #endif - #if ARRAY_05_POW2_SIZE > 6 - if (index < 106) { - #endif - if (index == 104) ARRAY_VALUE = ARRAY_05_STATIC_VAR_104; - else ARRAY_VALUE = ARRAY_05_STATIC_VAR_105; - #if ARRAY_05_POW2_SIZE > 6 - }else{ - if (index == 106) ARRAY_VALUE = ARRAY_05_STATIC_VAR_106; - else ARRAY_VALUE = ARRAY_05_STATIC_VAR_107; - } - #endif - #if ARRAY_05_POW2_SIZE > 6 - }else{ - #if ARRAY_05_POW2_SIZE > 6 - if (index < 110) { - #endif - if (index == 108) ARRAY_VALUE = ARRAY_05_STATIC_VAR_108; - else ARRAY_VALUE = ARRAY_05_STATIC_VAR_109; - #if ARRAY_05_POW2_SIZE > 6 - }else{ - if (index == 110) ARRAY_VALUE = ARRAY_05_STATIC_VAR_110; - else ARRAY_VALUE = ARRAY_05_STATIC_VAR_111; - } - #endif - } - #endif - } - #endif - #if ARRAY_05_POW2_SIZE > 6 - }else{ - #if ARRAY_05_POW2_SIZE > 6 - if (index < 120) { - #endif - #if ARRAY_05_POW2_SIZE > 6 - if (index < 116) { - #endif - #if ARRAY_05_POW2_SIZE > 6 - if (index < 114) { - #endif - if (index == 112) ARRAY_VALUE = ARRAY_05_STATIC_VAR_112; - else ARRAY_VALUE = ARRAY_05_STATIC_VAR_113; - #if ARRAY_05_POW2_SIZE > 6 - }else{ - if (index == 114) ARRAY_VALUE = ARRAY_05_STATIC_VAR_114; - else ARRAY_VALUE = ARRAY_05_STATIC_VAR_115; - } - #endif - #if ARRAY_05_POW2_SIZE > 6 - }else{ - #if ARRAY_05_POW2_SIZE > 6 - if (index < 118) { - #endif - if (index == 116) ARRAY_VALUE = ARRAY_05_STATIC_VAR_116; - else ARRAY_VALUE = ARRAY_05_STATIC_VAR_117; - #if ARRAY_05_POW2_SIZE > 6 - }else{ - if (index == 118) ARRAY_VALUE = ARRAY_05_STATIC_VAR_118; - else ARRAY_VALUE = ARRAY_05_STATIC_VAR_119; - } - #endif - } - #endif - #if ARRAY_05_POW2_SIZE > 6 - }else{ - #if ARRAY_05_POW2_SIZE > 6 - if (index < 124) { - #endif - #if ARRAY_05_POW2_SIZE > 6 - if (index < 122) { - #endif - if (index == 120) ARRAY_VALUE = ARRAY_05_STATIC_VAR_120; - else ARRAY_VALUE = ARRAY_05_STATIC_VAR_121; - #if ARRAY_05_POW2_SIZE > 6 - }else{ - if (index == 122) ARRAY_VALUE = ARRAY_05_STATIC_VAR_122; - else ARRAY_VALUE = ARRAY_05_STATIC_VAR_123; - } - #endif - #if ARRAY_05_POW2_SIZE > 6 - }else{ - #if ARRAY_05_POW2_SIZE > 6 - if (index < 126) { - #endif - if (index == 124) ARRAY_VALUE = ARRAY_05_STATIC_VAR_124; - else ARRAY_VALUE = ARRAY_05_STATIC_VAR_125; - #if ARRAY_05_POW2_SIZE > 6 - }else{ - if (index == 126) ARRAY_VALUE = ARRAY_05_STATIC_VAR_126; - else ARRAY_VALUE = ARRAY_05_STATIC_VAR_127; - } - #endif - } - #endif - } - #endif - } - #endif - } - #endif - } - #endif - #if ARRAY_05_POW2_SIZE > 7 - }else{ - #if ARRAY_05_POW2_SIZE > 7 - if (index < 192) { - #endif - #if ARRAY_05_POW2_SIZE > 7 - if (index < 160) { - #endif - #if ARRAY_05_POW2_SIZE > 7 - if (index < 144) { - #endif - #if ARRAY_05_POW2_SIZE > 7 - if (index < 136) { - #endif - #if ARRAY_05_POW2_SIZE > 7 - if (index < 132) { - #endif - #if ARRAY_05_POW2_SIZE > 7 - if (index < 130) { - #endif - if (index == 128) ARRAY_VALUE = ARRAY_05_STATIC_VAR_128; - else ARRAY_VALUE = ARRAY_05_STATIC_VAR_129; - #if ARRAY_05_POW2_SIZE > 7 - }else{ - if (index == 130) ARRAY_VALUE = ARRAY_05_STATIC_VAR_130; - else ARRAY_VALUE = ARRAY_05_STATIC_VAR_131; - } - #endif - #if ARRAY_05_POW2_SIZE > 7 - }else{ - #if ARRAY_05_POW2_SIZE > 7 - if (index < 134) { - #endif - if (index == 132) ARRAY_VALUE = ARRAY_05_STATIC_VAR_132; - else ARRAY_VALUE = ARRAY_05_STATIC_VAR_133; - #if ARRAY_05_POW2_SIZE > 7 - }else{ - if (index == 134) ARRAY_VALUE = ARRAY_05_STATIC_VAR_134; - else ARRAY_VALUE = ARRAY_05_STATIC_VAR_135; - } - #endif - } - #endif - #if ARRAY_05_POW2_SIZE > 7 - }else{ - #if ARRAY_05_POW2_SIZE > 7 - if (index < 140) { - #endif - #if ARRAY_05_POW2_SIZE > 7 - if (index < 138) { - #endif - if (index == 136) ARRAY_VALUE = ARRAY_05_STATIC_VAR_136; - else ARRAY_VALUE = ARRAY_05_STATIC_VAR_137; - #if ARRAY_05_POW2_SIZE > 7 - }else{ - if (index == 138) ARRAY_VALUE = ARRAY_05_STATIC_VAR_138; - else ARRAY_VALUE = ARRAY_05_STATIC_VAR_139; - } - #endif - #if ARRAY_05_POW2_SIZE > 7 - }else{ - #if ARRAY_05_POW2_SIZE > 7 - if (index < 142) { - #endif - if (index == 140) ARRAY_VALUE = ARRAY_05_STATIC_VAR_140; - else ARRAY_VALUE = ARRAY_05_STATIC_VAR_141; - #if ARRAY_05_POW2_SIZE > 7 - }else{ - if (index == 142) ARRAY_VALUE = ARRAY_05_STATIC_VAR_142; - else ARRAY_VALUE = ARRAY_05_STATIC_VAR_143; - } - #endif - } - #endif - } - #endif - #if ARRAY_05_POW2_SIZE > 7 - }else{ - #if ARRAY_05_POW2_SIZE > 7 - if (index < 152) { - #endif - #if ARRAY_05_POW2_SIZE > 7 - if (index < 148) { - #endif - #if ARRAY_05_POW2_SIZE > 7 - if (index < 146) { - #endif - if (index == 144) ARRAY_VALUE = ARRAY_05_STATIC_VAR_144; - else ARRAY_VALUE = ARRAY_05_STATIC_VAR_145; - #if ARRAY_05_POW2_SIZE > 7 - }else{ - if (index == 146) ARRAY_VALUE = ARRAY_05_STATIC_VAR_146; - else ARRAY_VALUE = ARRAY_05_STATIC_VAR_147; - } - #endif - #if ARRAY_05_POW2_SIZE > 7 - }else{ - #if ARRAY_05_POW2_SIZE > 7 - if (index < 150) { - #endif - if (index == 148) ARRAY_VALUE = ARRAY_05_STATIC_VAR_148; - else ARRAY_VALUE = ARRAY_05_STATIC_VAR_149; - #if ARRAY_05_POW2_SIZE > 7 - }else{ - if (index == 150) ARRAY_VALUE = ARRAY_05_STATIC_VAR_150; - else ARRAY_VALUE = ARRAY_05_STATIC_VAR_151; - } - #endif - } - #endif - #if ARRAY_05_POW2_SIZE > 7 - }else{ - #if ARRAY_05_POW2_SIZE > 7 - if (index < 156) { - #endif - #if ARRAY_05_POW2_SIZE > 7 - if (index < 154) { - #endif - if (index == 152) ARRAY_VALUE = ARRAY_05_STATIC_VAR_152; - else ARRAY_VALUE = ARRAY_05_STATIC_VAR_153; - #if ARRAY_05_POW2_SIZE > 7 - }else{ - if (index == 154) ARRAY_VALUE = ARRAY_05_STATIC_VAR_154; - else ARRAY_VALUE = ARRAY_05_STATIC_VAR_155; - } - #endif - #if ARRAY_05_POW2_SIZE > 7 - }else{ - #if ARRAY_05_POW2_SIZE > 7 - if (index < 158) { - #endif - if (index == 156) ARRAY_VALUE = ARRAY_05_STATIC_VAR_156; - else ARRAY_VALUE = ARRAY_05_STATIC_VAR_157; - #if ARRAY_05_POW2_SIZE > 7 - }else{ - if (index == 158) ARRAY_VALUE = ARRAY_05_STATIC_VAR_158; - else ARRAY_VALUE = ARRAY_05_STATIC_VAR_159; - } - #endif - } - #endif - } - #endif - } - #endif - #if ARRAY_05_POW2_SIZE > 7 - }else{ - #if ARRAY_05_POW2_SIZE > 7 - if (index < 176) { - #endif - #if ARRAY_05_POW2_SIZE > 7 - if (index < 168) { - #endif - #if ARRAY_05_POW2_SIZE > 7 - if (index < 164) { - #endif - #if ARRAY_05_POW2_SIZE > 7 - if (index < 162) { - #endif - if (index == 160) ARRAY_VALUE = ARRAY_05_STATIC_VAR_160; - else ARRAY_VALUE = ARRAY_05_STATIC_VAR_161; - #if ARRAY_05_POW2_SIZE > 7 - }else{ - if (index == 162) ARRAY_VALUE = ARRAY_05_STATIC_VAR_162; - else ARRAY_VALUE = ARRAY_05_STATIC_VAR_163; - } - #endif - #if ARRAY_05_POW2_SIZE > 7 - }else{ - #if ARRAY_05_POW2_SIZE > 7 - if (index < 166) { - #endif - if (index == 164) ARRAY_VALUE = ARRAY_05_STATIC_VAR_164; - else ARRAY_VALUE = ARRAY_05_STATIC_VAR_165; - #if ARRAY_05_POW2_SIZE > 7 - }else{ - if (index == 166) ARRAY_VALUE = ARRAY_05_STATIC_VAR_166; - else ARRAY_VALUE = ARRAY_05_STATIC_VAR_167; - } - #endif - } - #endif - #if ARRAY_05_POW2_SIZE > 7 - }else{ - #if ARRAY_05_POW2_SIZE > 7 - if (index < 172) { - #endif - #if ARRAY_05_POW2_SIZE > 7 - if (index < 170) { - #endif - if (index == 168) ARRAY_VALUE = ARRAY_05_STATIC_VAR_168; - else ARRAY_VALUE = ARRAY_05_STATIC_VAR_169; - #if ARRAY_05_POW2_SIZE > 7 - }else{ - if (index == 170) ARRAY_VALUE = ARRAY_05_STATIC_VAR_170; - else ARRAY_VALUE = ARRAY_05_STATIC_VAR_171; - } - #endif - #if ARRAY_05_POW2_SIZE > 7 - }else{ - #if ARRAY_05_POW2_SIZE > 7 - if (index < 174) { - #endif - if (index == 172) ARRAY_VALUE = ARRAY_05_STATIC_VAR_172; - else ARRAY_VALUE = ARRAY_05_STATIC_VAR_173; - #if ARRAY_05_POW2_SIZE > 7 - }else{ - if (index == 174) ARRAY_VALUE = ARRAY_05_STATIC_VAR_174; - else ARRAY_VALUE = ARRAY_05_STATIC_VAR_175; - } - #endif - } - #endif - } - #endif - #if ARRAY_05_POW2_SIZE > 7 - }else{ - #if ARRAY_05_POW2_SIZE > 7 - if (index < 184) { - #endif - #if ARRAY_05_POW2_SIZE > 7 - if (index < 180) { - #endif - #if ARRAY_05_POW2_SIZE > 7 - if (index < 178) { - #endif - if (index == 176) ARRAY_VALUE = ARRAY_05_STATIC_VAR_176; - else ARRAY_VALUE = ARRAY_05_STATIC_VAR_177; - #if ARRAY_05_POW2_SIZE > 7 - }else{ - if (index == 178) ARRAY_VALUE = ARRAY_05_STATIC_VAR_178; - else ARRAY_VALUE = ARRAY_05_STATIC_VAR_179; - } - #endif - #if ARRAY_05_POW2_SIZE > 7 - }else{ - #if ARRAY_05_POW2_SIZE > 7 - if (index < 182) { - #endif - if (index == 180) ARRAY_VALUE = ARRAY_05_STATIC_VAR_180; - else ARRAY_VALUE = ARRAY_05_STATIC_VAR_181; - #if ARRAY_05_POW2_SIZE > 7 - }else{ - if (index == 182) ARRAY_VALUE = ARRAY_05_STATIC_VAR_182; - else ARRAY_VALUE = ARRAY_05_STATIC_VAR_183; - } - #endif - } - #endif - #if ARRAY_05_POW2_SIZE > 7 - }else{ - #if ARRAY_05_POW2_SIZE > 7 - if (index < 188) { - #endif - #if ARRAY_05_POW2_SIZE > 7 - if (index < 186) { - #endif - if (index == 184) ARRAY_VALUE = ARRAY_05_STATIC_VAR_184; - else ARRAY_VALUE = ARRAY_05_STATIC_VAR_185; - #if ARRAY_05_POW2_SIZE > 7 - }else{ - if (index == 186) ARRAY_VALUE = ARRAY_05_STATIC_VAR_186; - else ARRAY_VALUE = ARRAY_05_STATIC_VAR_187; - } - #endif - #if ARRAY_05_POW2_SIZE > 7 - }else{ - #if ARRAY_05_POW2_SIZE > 7 - if (index < 190) { - #endif - if (index == 188) ARRAY_VALUE = ARRAY_05_STATIC_VAR_188; - else ARRAY_VALUE = ARRAY_05_STATIC_VAR_189; - #if ARRAY_05_POW2_SIZE > 7 - }else{ - if (index == 190) ARRAY_VALUE = ARRAY_05_STATIC_VAR_190; - else ARRAY_VALUE = ARRAY_05_STATIC_VAR_191; - } - #endif - } - #endif - } - #endif - } - #endif - } - #endif - #if ARRAY_05_POW2_SIZE > 7 - }else{ - #if ARRAY_05_POW2_SIZE > 7 - if (index < 224) { - #endif - #if ARRAY_05_POW2_SIZE > 7 - if (index < 208) { - #endif - #if ARRAY_05_POW2_SIZE > 7 - if (index < 200) { - #endif - #if ARRAY_05_POW2_SIZE > 7 - if (index < 196) { - #endif - #if ARRAY_05_POW2_SIZE > 7 - if (index < 194) { - #endif - if (index == 192) ARRAY_VALUE = ARRAY_05_STATIC_VAR_192; - else ARRAY_VALUE = ARRAY_05_STATIC_VAR_193; - #if ARRAY_05_POW2_SIZE > 7 - }else{ - if (index == 194) ARRAY_VALUE = ARRAY_05_STATIC_VAR_194; - else ARRAY_VALUE = ARRAY_05_STATIC_VAR_195; - } - #endif - #if ARRAY_05_POW2_SIZE > 7 - }else{ - #if ARRAY_05_POW2_SIZE > 7 - if (index < 198) { - #endif - if (index == 196) ARRAY_VALUE = ARRAY_05_STATIC_VAR_196; - else ARRAY_VALUE = ARRAY_05_STATIC_VAR_197; - #if ARRAY_05_POW2_SIZE > 7 - }else{ - if (index == 198) ARRAY_VALUE = ARRAY_05_STATIC_VAR_198; - else ARRAY_VALUE = ARRAY_05_STATIC_VAR_199; - } - #endif - } - #endif - #if ARRAY_05_POW2_SIZE > 7 - }else{ - #if ARRAY_05_POW2_SIZE > 7 - if (index < 204) { - #endif - #if ARRAY_05_POW2_SIZE > 7 - if (index < 202) { - #endif - if (index == 200) ARRAY_VALUE = ARRAY_05_STATIC_VAR_200; - else ARRAY_VALUE = ARRAY_05_STATIC_VAR_201; - #if ARRAY_05_POW2_SIZE > 7 - }else{ - if (index == 202) ARRAY_VALUE = ARRAY_05_STATIC_VAR_202; - else ARRAY_VALUE = ARRAY_05_STATIC_VAR_203; - } - #endif - #if ARRAY_05_POW2_SIZE > 7 - }else{ - #if ARRAY_05_POW2_SIZE > 7 - if (index < 206) { - #endif - if (index == 204) ARRAY_VALUE = ARRAY_05_STATIC_VAR_204; - else ARRAY_VALUE = ARRAY_05_STATIC_VAR_205; - #if ARRAY_05_POW2_SIZE > 7 - }else{ - if (index == 206) ARRAY_VALUE = ARRAY_05_STATIC_VAR_206; - else ARRAY_VALUE = ARRAY_05_STATIC_VAR_207; - } - #endif - } - #endif - } - #endif - #if ARRAY_05_POW2_SIZE > 7 - }else{ - #if ARRAY_05_POW2_SIZE > 7 - if (index < 216) { - #endif - #if ARRAY_05_POW2_SIZE > 7 - if (index < 212) { - #endif - #if ARRAY_05_POW2_SIZE > 7 - if (index < 210) { - #endif - if (index == 208) ARRAY_VALUE = ARRAY_05_STATIC_VAR_208; - else ARRAY_VALUE = ARRAY_05_STATIC_VAR_209; - #if ARRAY_05_POW2_SIZE > 7 - }else{ - if (index == 210) ARRAY_VALUE = ARRAY_05_STATIC_VAR_210; - else ARRAY_VALUE = ARRAY_05_STATIC_VAR_211; - } - #endif - #if ARRAY_05_POW2_SIZE > 7 - }else{ - #if ARRAY_05_POW2_SIZE > 7 - if (index < 214) { - #endif - if (index == 212) ARRAY_VALUE = ARRAY_05_STATIC_VAR_212; - else ARRAY_VALUE = ARRAY_05_STATIC_VAR_213; - #if ARRAY_05_POW2_SIZE > 7 - }else{ - if (index == 214) ARRAY_VALUE = ARRAY_05_STATIC_VAR_214; - else ARRAY_VALUE = ARRAY_05_STATIC_VAR_215; - } - #endif - } - #endif - #if ARRAY_05_POW2_SIZE > 7 - }else{ - #if ARRAY_05_POW2_SIZE > 7 - if (index < 220) { - #endif - #if ARRAY_05_POW2_SIZE > 7 - if (index < 218) { - #endif - if (index == 216) ARRAY_VALUE = ARRAY_05_STATIC_VAR_216; - else ARRAY_VALUE = ARRAY_05_STATIC_VAR_217; - #if ARRAY_05_POW2_SIZE > 7 - }else{ - if (index == 218) ARRAY_VALUE = ARRAY_05_STATIC_VAR_218; - else ARRAY_VALUE = ARRAY_05_STATIC_VAR_219; - } - #endif - #if ARRAY_05_POW2_SIZE > 7 - }else{ - #if ARRAY_05_POW2_SIZE > 7 - if (index < 222) { - #endif - if (index == 220) ARRAY_VALUE = ARRAY_05_STATIC_VAR_220; - else ARRAY_VALUE = ARRAY_05_STATIC_VAR_221; - #if ARRAY_05_POW2_SIZE > 7 - }else{ - if (index == 222) ARRAY_VALUE = ARRAY_05_STATIC_VAR_222; - else ARRAY_VALUE = ARRAY_05_STATIC_VAR_223; - } - #endif - } - #endif - } - #endif - } - #endif - #if ARRAY_05_POW2_SIZE > 7 - }else{ - #if ARRAY_05_POW2_SIZE > 7 - if (index < 240) { - #endif - #if ARRAY_05_POW2_SIZE > 7 - if (index < 232) { - #endif - #if ARRAY_05_POW2_SIZE > 7 - if (index < 228) { - #endif - #if ARRAY_05_POW2_SIZE > 7 - if (index < 226) { - #endif - if (index == 224) ARRAY_VALUE = ARRAY_05_STATIC_VAR_224; - else ARRAY_VALUE = ARRAY_05_STATIC_VAR_225; - #if ARRAY_05_POW2_SIZE > 7 - }else{ - if (index == 226) ARRAY_VALUE = ARRAY_05_STATIC_VAR_226; - else ARRAY_VALUE = ARRAY_05_STATIC_VAR_227; - } - #endif - #if ARRAY_05_POW2_SIZE > 7 - }else{ - #if ARRAY_05_POW2_SIZE > 7 - if (index < 230) { - #endif - if (index == 228) ARRAY_VALUE = ARRAY_05_STATIC_VAR_228; - else ARRAY_VALUE = ARRAY_05_STATIC_VAR_229; - #if ARRAY_05_POW2_SIZE > 7 - }else{ - if (index == 230) ARRAY_VALUE = ARRAY_05_STATIC_VAR_230; - else ARRAY_VALUE = ARRAY_05_STATIC_VAR_231; - } - #endif - } - #endif - #if ARRAY_05_POW2_SIZE > 7 - }else{ - #if ARRAY_05_POW2_SIZE > 7 - if (index < 236) { - #endif - #if ARRAY_05_POW2_SIZE > 7 - if (index < 234) { - #endif - if (index == 232) ARRAY_VALUE = ARRAY_05_STATIC_VAR_232; - else ARRAY_VALUE = ARRAY_05_STATIC_VAR_233; - #if ARRAY_05_POW2_SIZE > 7 - }else{ - if (index == 234) ARRAY_VALUE = ARRAY_05_STATIC_VAR_234; - else ARRAY_VALUE = ARRAY_05_STATIC_VAR_235; - } - #endif - #if ARRAY_05_POW2_SIZE > 7 - }else{ - #if ARRAY_05_POW2_SIZE > 7 - if (index < 238) { - #endif - if (index == 236) ARRAY_VALUE = ARRAY_05_STATIC_VAR_236; - else ARRAY_VALUE = ARRAY_05_STATIC_VAR_237; - #if ARRAY_05_POW2_SIZE > 7 - }else{ - if (index == 238) ARRAY_VALUE = ARRAY_05_STATIC_VAR_238; - else ARRAY_VALUE = ARRAY_05_STATIC_VAR_239; - } - #endif - } - #endif - } - #endif - #if ARRAY_05_POW2_SIZE > 7 - }else{ - #if ARRAY_05_POW2_SIZE > 7 - if (index < 248) { - #endif - #if ARRAY_05_POW2_SIZE > 7 - if (index < 244) { - #endif - #if ARRAY_05_POW2_SIZE > 7 - if (index < 242) { - #endif - if (index == 240) ARRAY_VALUE = ARRAY_05_STATIC_VAR_240; - else ARRAY_VALUE = ARRAY_05_STATIC_VAR_241; - #if ARRAY_05_POW2_SIZE > 7 - }else{ - if (index == 242) ARRAY_VALUE = ARRAY_05_STATIC_VAR_242; - else ARRAY_VALUE = ARRAY_05_STATIC_VAR_243; - } - #endif - #if ARRAY_05_POW2_SIZE > 7 - }else{ - #if ARRAY_05_POW2_SIZE > 7 - if (index < 246) { - #endif - if (index == 244) ARRAY_VALUE = ARRAY_05_STATIC_VAR_244; - else ARRAY_VALUE = ARRAY_05_STATIC_VAR_245; - #if ARRAY_05_POW2_SIZE > 7 - }else{ - if (index == 246) ARRAY_VALUE = ARRAY_05_STATIC_VAR_246; - else ARRAY_VALUE = ARRAY_05_STATIC_VAR_247; - } - #endif - } - #endif - #if ARRAY_05_POW2_SIZE > 7 - }else{ - #if ARRAY_05_POW2_SIZE > 7 - if (index < 252) { - #endif - #if ARRAY_05_POW2_SIZE > 7 - if (index < 250) { - #endif - if (index == 248) ARRAY_VALUE = ARRAY_05_STATIC_VAR_248; - else ARRAY_VALUE = ARRAY_05_STATIC_VAR_249; - #if ARRAY_05_POW2_SIZE > 7 - }else{ - if (index == 250) ARRAY_VALUE = ARRAY_05_STATIC_VAR_250; - else ARRAY_VALUE = ARRAY_05_STATIC_VAR_251; - } - #endif - #if ARRAY_05_POW2_SIZE > 7 - }else{ - #if ARRAY_05_POW2_SIZE > 7 - if (index < 254) { - #endif - if (index == 252) ARRAY_VALUE = ARRAY_05_STATIC_VAR_252; - else ARRAY_VALUE = ARRAY_05_STATIC_VAR_253; - #if ARRAY_05_POW2_SIZE > 7 - }else{ - if (index == 254) ARRAY_VALUE = ARRAY_05_STATIC_VAR_254; - else ARRAY_VALUE = ARRAY_05_STATIC_VAR_255; - } - #endif - } - #endif - } - #endif - } - #endif - } - #endif - } - #endif - } - #endif -} - -ARRAY_05_SETTER(index, value) { - #if ARRAY_05_POW2_SIZE > 7 - if (index < 128) { - #endif - #if ARRAY_05_POW2_SIZE > 6 - if (index < 64) { - #endif - #if ARRAY_05_POW2_SIZE > 5 - if (index < 32) { - #endif - #if ARRAY_05_POW2_SIZE > 4 - if (index < 16) { - #endif - #if ARRAY_05_POW2_SIZE > 3 - if (index < 8) { - #endif - #if ARRAY_05_POW2_SIZE > 2 - if (index < 4) { - #endif - #if ARRAY_05_POW2_SIZE > 1 - if (index < 2) { - #endif - if (index == 0) ARRAY_05_STATIC_VAR_000 = value; - else ARRAY_05_STATIC_VAR_001 = value; - #if ARRAY_05_POW2_SIZE > 1 - }else{ - if (index == 2) ARRAY_05_STATIC_VAR_002 = value; - else ARRAY_05_STATIC_VAR_003 = value; - } - #endif - #if ARRAY_05_POW2_SIZE > 2 - }else{ - #if ARRAY_05_POW2_SIZE > 2 - if (index < 6) { - #endif - if (index == 4) ARRAY_05_STATIC_VAR_004 = value; - else ARRAY_05_STATIC_VAR_005 = value; - #if ARRAY_05_POW2_SIZE > 2 - }else{ - if (index == 6) ARRAY_05_STATIC_VAR_006 = value; - else ARRAY_05_STATIC_VAR_007 = value; - } - #endif - } - #endif - #if ARRAY_05_POW2_SIZE > 3 - }else{ - #if ARRAY_05_POW2_SIZE > 3 - if (index < 12) { - #endif - #if ARRAY_05_POW2_SIZE > 3 - if (index < 10) { - #endif - if (index == 8) ARRAY_05_STATIC_VAR_008 = value; - else ARRAY_05_STATIC_VAR_009 = value; - #if ARRAY_05_POW2_SIZE > 3 - }else{ - if (index == 10) ARRAY_05_STATIC_VAR_010 = value; - else ARRAY_05_STATIC_VAR_011 = value; - } - #endif - #if ARRAY_05_POW2_SIZE > 3 - }else{ - #if ARRAY_05_POW2_SIZE > 3 - if (index < 14) { - #endif - if (index == 12) ARRAY_05_STATIC_VAR_012 = value; - else ARRAY_05_STATIC_VAR_013 = value; - #if ARRAY_05_POW2_SIZE > 3 - }else{ - if (index == 14) ARRAY_05_STATIC_VAR_014 = value; - else ARRAY_05_STATIC_VAR_015 = value; - } - #endif - } - #endif - } - #endif - #if ARRAY_05_POW2_SIZE > 4 - }else{ - #if ARRAY_05_POW2_SIZE > 4 - if (index < 24) { - #endif - #if ARRAY_05_POW2_SIZE > 4 - if (index < 20) { - #endif - #if ARRAY_05_POW2_SIZE > 4 - if (index < 18) { - #endif - if (index == 16) ARRAY_05_STATIC_VAR_016 = value; - else ARRAY_05_STATIC_VAR_017 = value; - #if ARRAY_05_POW2_SIZE > 4 - }else{ - if (index == 18) ARRAY_05_STATIC_VAR_018 = value; - else ARRAY_05_STATIC_VAR_019 = value; - } - #endif - #if ARRAY_05_POW2_SIZE > 4 - }else{ - #if ARRAY_05_POW2_SIZE > 4 - if (index < 22) { - #endif - if (index == 20) ARRAY_05_STATIC_VAR_020 = value; - else ARRAY_05_STATIC_VAR_021 = value; - #if ARRAY_05_POW2_SIZE > 4 - }else{ - if (index == 22) ARRAY_05_STATIC_VAR_022 = value; - else ARRAY_05_STATIC_VAR_023 = value; - } - #endif - } - #endif - #if ARRAY_05_POW2_SIZE > 4 - }else{ - #if ARRAY_05_POW2_SIZE > 4 - if (index < 28) { - #endif - #if ARRAY_05_POW2_SIZE > 4 - if (index < 26) { - #endif - if (index == 24) ARRAY_05_STATIC_VAR_024 = value; - else ARRAY_05_STATIC_VAR_025 = value; - #if ARRAY_05_POW2_SIZE > 4 - }else{ - if (index == 26) ARRAY_05_STATIC_VAR_026 = value; - else ARRAY_05_STATIC_VAR_027 = value; - } - #endif - #if ARRAY_05_POW2_SIZE > 4 - }else{ - #if ARRAY_05_POW2_SIZE > 4 - if (index < 30) { - #endif - if (index == 28) ARRAY_05_STATIC_VAR_028 = value; - else ARRAY_05_STATIC_VAR_029 = value; - #if ARRAY_05_POW2_SIZE > 4 - }else{ - if (index == 30) ARRAY_05_STATIC_VAR_030 = value; - else ARRAY_05_STATIC_VAR_031 = value; - } - #endif - } - #endif - } - #endif - } - #endif - #if ARRAY_05_POW2_SIZE > 5 - }else{ - #if ARRAY_05_POW2_SIZE > 5 - if (index < 48) { - #endif - #if ARRAY_05_POW2_SIZE > 5 - if (index < 40) { - #endif - #if ARRAY_05_POW2_SIZE > 5 - if (index < 36) { - #endif - #if ARRAY_05_POW2_SIZE > 5 - if (index < 34) { - #endif - if (index == 32) ARRAY_05_STATIC_VAR_032 = value; - else ARRAY_05_STATIC_VAR_033 = value; - #if ARRAY_05_POW2_SIZE > 5 - }else{ - if (index == 34) ARRAY_05_STATIC_VAR_034 = value; - else ARRAY_05_STATIC_VAR_035 = value; - } - #endif - #if ARRAY_05_POW2_SIZE > 5 - }else{ - #if ARRAY_05_POW2_SIZE > 5 - if (index < 38) { - #endif - if (index == 36) ARRAY_05_STATIC_VAR_036 = value; - else ARRAY_05_STATIC_VAR_037 = value; - #if ARRAY_05_POW2_SIZE > 5 - }else{ - if (index == 38) ARRAY_05_STATIC_VAR_038 = value; - else ARRAY_05_STATIC_VAR_039 = value; - } - #endif - } - #endif - #if ARRAY_05_POW2_SIZE > 5 - }else{ - #if ARRAY_05_POW2_SIZE > 5 - if (index < 44) { - #endif - #if ARRAY_05_POW2_SIZE > 5 - if (index < 42) { - #endif - if (index == 40) ARRAY_05_STATIC_VAR_040 = value; - else ARRAY_05_STATIC_VAR_041 = value; - #if ARRAY_05_POW2_SIZE > 5 - }else{ - if (index == 42) ARRAY_05_STATIC_VAR_042 = value; - else ARRAY_05_STATIC_VAR_043 = value; - } - #endif - #if ARRAY_05_POW2_SIZE > 5 - }else{ - #if ARRAY_05_POW2_SIZE > 5 - if (index < 46) { - #endif - if (index == 44) ARRAY_05_STATIC_VAR_044 = value; - else ARRAY_05_STATIC_VAR_045 = value; - #if ARRAY_05_POW2_SIZE > 5 - }else{ - if (index == 46) ARRAY_05_STATIC_VAR_046 = value; - else ARRAY_05_STATIC_VAR_047 = value; - } - #endif - } - #endif - } - #endif - #if ARRAY_05_POW2_SIZE > 5 - }else{ - #if ARRAY_05_POW2_SIZE > 5 - if (index < 56) { - #endif - #if ARRAY_05_POW2_SIZE > 5 - if (index < 52) { - #endif - #if ARRAY_05_POW2_SIZE > 5 - if (index < 50) { - #endif - if (index == 48) ARRAY_05_STATIC_VAR_048 = value; - else ARRAY_05_STATIC_VAR_049 = value; - #if ARRAY_05_POW2_SIZE > 5 - }else{ - if (index == 50) ARRAY_05_STATIC_VAR_050 = value; - else ARRAY_05_STATIC_VAR_051 = value; - } - #endif - #if ARRAY_05_POW2_SIZE > 5 - }else{ - #if ARRAY_05_POW2_SIZE > 5 - if (index < 54) { - #endif - if (index == 52) ARRAY_05_STATIC_VAR_052 = value; - else ARRAY_05_STATIC_VAR_053 = value; - #if ARRAY_05_POW2_SIZE > 5 - }else{ - if (index == 54) ARRAY_05_STATIC_VAR_054 = value; - else ARRAY_05_STATIC_VAR_055 = value; - } - #endif - } - #endif - #if ARRAY_05_POW2_SIZE > 5 - }else{ - #if ARRAY_05_POW2_SIZE > 5 - if (index < 60) { - #endif - #if ARRAY_05_POW2_SIZE > 5 - if (index < 58) { - #endif - if (index == 56) ARRAY_05_STATIC_VAR_056 = value; - else ARRAY_05_STATIC_VAR_057 = value; - #if ARRAY_05_POW2_SIZE > 5 - }else{ - if (index == 58) ARRAY_05_STATIC_VAR_058 = value; - else ARRAY_05_STATIC_VAR_059 = value; - } - #endif - #if ARRAY_05_POW2_SIZE > 5 - }else{ - #if ARRAY_05_POW2_SIZE > 5 - if (index < 62) { - #endif - if (index == 60) ARRAY_05_STATIC_VAR_060 = value; - else ARRAY_05_STATIC_VAR_061 = value; - #if ARRAY_05_POW2_SIZE > 5 - }else{ - if (index == 62) ARRAY_05_STATIC_VAR_062 = value; - else ARRAY_05_STATIC_VAR_063 = value; - } - #endif - } - #endif - } - #endif - } - #endif - } - #endif - #if ARRAY_05_POW2_SIZE > 6 - }else{ - #if ARRAY_05_POW2_SIZE > 6 - if (index < 96) { - #endif - #if ARRAY_05_POW2_SIZE > 6 - if (index < 80) { - #endif - #if ARRAY_05_POW2_SIZE > 6 - if (index < 72) { - #endif - #if ARRAY_05_POW2_SIZE > 6 - if (index < 68) { - #endif - #if ARRAY_05_POW2_SIZE > 6 - if (index < 66) { - #endif - if (index == 64) ARRAY_05_STATIC_VAR_064 = value; - else ARRAY_05_STATIC_VAR_065 = value; - #if ARRAY_05_POW2_SIZE > 6 - }else{ - if (index == 66) ARRAY_05_STATIC_VAR_066 = value; - else ARRAY_05_STATIC_VAR_067 = value; - } - #endif - #if ARRAY_05_POW2_SIZE > 6 - }else{ - #if ARRAY_05_POW2_SIZE > 6 - if (index < 70) { - #endif - if (index == 68) ARRAY_05_STATIC_VAR_068 = value; - else ARRAY_05_STATIC_VAR_069 = value; - #if ARRAY_05_POW2_SIZE > 6 - }else{ - if (index == 70) ARRAY_05_STATIC_VAR_070 = value; - else ARRAY_05_STATIC_VAR_071 = value; - } - #endif - } - #endif - #if ARRAY_05_POW2_SIZE > 6 - }else{ - #if ARRAY_05_POW2_SIZE > 6 - if (index < 76) { - #endif - #if ARRAY_05_POW2_SIZE > 6 - if (index < 74) { - #endif - if (index == 72) ARRAY_05_STATIC_VAR_072 = value; - else ARRAY_05_STATIC_VAR_073 = value; - #if ARRAY_05_POW2_SIZE > 6 - }else{ - if (index == 74) ARRAY_05_STATIC_VAR_074 = value; - else ARRAY_05_STATIC_VAR_075 = value; - } - #endif - #if ARRAY_05_POW2_SIZE > 6 - }else{ - #if ARRAY_05_POW2_SIZE > 6 - if (index < 78) { - #endif - if (index == 76) ARRAY_05_STATIC_VAR_076 = value; - else ARRAY_05_STATIC_VAR_077 = value; - #if ARRAY_05_POW2_SIZE > 6 - }else{ - if (index == 78) ARRAY_05_STATIC_VAR_078 = value; - else ARRAY_05_STATIC_VAR_079 = value; - } - #endif - } - #endif - } - #endif - #if ARRAY_05_POW2_SIZE > 6 - }else{ - #if ARRAY_05_POW2_SIZE > 6 - if (index < 88) { - #endif - #if ARRAY_05_POW2_SIZE > 6 - if (index < 84) { - #endif - #if ARRAY_05_POW2_SIZE > 6 - if (index < 82) { - #endif - if (index == 80) ARRAY_05_STATIC_VAR_080 = value; - else ARRAY_05_STATIC_VAR_081 = value; - #if ARRAY_05_POW2_SIZE > 6 - }else{ - if (index == 82) ARRAY_05_STATIC_VAR_082 = value; - else ARRAY_05_STATIC_VAR_083 = value; - } - #endif - #if ARRAY_05_POW2_SIZE > 6 - }else{ - #if ARRAY_05_POW2_SIZE > 6 - if (index < 86) { - #endif - if (index == 84) ARRAY_05_STATIC_VAR_084 = value; - else ARRAY_05_STATIC_VAR_085 = value; - #if ARRAY_05_POW2_SIZE > 6 - }else{ - if (index == 86) ARRAY_05_STATIC_VAR_086 = value; - else ARRAY_05_STATIC_VAR_087 = value; - } - #endif - } - #endif - #if ARRAY_05_POW2_SIZE > 6 - }else{ - #if ARRAY_05_POW2_SIZE > 6 - if (index < 92) { - #endif - #if ARRAY_05_POW2_SIZE > 6 - if (index < 90) { - #endif - if (index == 88) ARRAY_05_STATIC_VAR_088 = value; - else ARRAY_05_STATIC_VAR_089 = value; - #if ARRAY_05_POW2_SIZE > 6 - }else{ - if (index == 90) ARRAY_05_STATIC_VAR_090 = value; - else ARRAY_05_STATIC_VAR_091 = value; - } - #endif - #if ARRAY_05_POW2_SIZE > 6 - }else{ - #if ARRAY_05_POW2_SIZE > 6 - if (index < 94) { - #endif - if (index == 92) ARRAY_05_STATIC_VAR_092 = value; - else ARRAY_05_STATIC_VAR_093 = value; - #if ARRAY_05_POW2_SIZE > 6 - }else{ - if (index == 94) ARRAY_05_STATIC_VAR_094 = value; - else ARRAY_05_STATIC_VAR_095 = value; - } - #endif - } - #endif - } - #endif - } - #endif - #if ARRAY_05_POW2_SIZE > 6 - }else{ - #if ARRAY_05_POW2_SIZE > 6 - if (index < 112) { - #endif - #if ARRAY_05_POW2_SIZE > 6 - if (index < 104) { - #endif - #if ARRAY_05_POW2_SIZE > 6 - if (index < 100) { - #endif - #if ARRAY_05_POW2_SIZE > 6 - if (index < 98) { - #endif - if (index == 96) ARRAY_05_STATIC_VAR_096 = value; - else ARRAY_05_STATIC_VAR_097 = value; - #if ARRAY_05_POW2_SIZE > 6 - }else{ - if (index == 98) ARRAY_05_STATIC_VAR_098 = value; - else ARRAY_05_STATIC_VAR_099 = value; - } - #endif - #if ARRAY_05_POW2_SIZE > 6 - }else{ - #if ARRAY_05_POW2_SIZE > 6 - if (index < 102) { - #endif - if (index == 100) ARRAY_05_STATIC_VAR_100 = value; - else ARRAY_05_STATIC_VAR_101 = value; - #if ARRAY_05_POW2_SIZE > 6 - }else{ - if (index == 102) ARRAY_05_STATIC_VAR_102 = value; - else ARRAY_05_STATIC_VAR_103 = value; - } - #endif - } - #endif - #if ARRAY_05_POW2_SIZE > 6 - }else{ - #if ARRAY_05_POW2_SIZE > 6 - if (index < 108) { - #endif - #if ARRAY_05_POW2_SIZE > 6 - if (index < 106) { - #endif - if (index == 104) ARRAY_05_STATIC_VAR_104 = value; - else ARRAY_05_STATIC_VAR_105 = value; - #if ARRAY_05_POW2_SIZE > 6 - }else{ - if (index == 106) ARRAY_05_STATIC_VAR_106 = value; - else ARRAY_05_STATIC_VAR_107 = value; - } - #endif - #if ARRAY_05_POW2_SIZE > 6 - }else{ - #if ARRAY_05_POW2_SIZE > 6 - if (index < 110) { - #endif - if (index == 108) ARRAY_05_STATIC_VAR_108 = value; - else ARRAY_05_STATIC_VAR_109 = value; - #if ARRAY_05_POW2_SIZE > 6 - }else{ - if (index == 110) ARRAY_05_STATIC_VAR_110 = value; - else ARRAY_05_STATIC_VAR_111 = value; - } - #endif - } - #endif - } - #endif - #if ARRAY_05_POW2_SIZE > 6 - }else{ - #if ARRAY_05_POW2_SIZE > 6 - if (index < 120) { - #endif - #if ARRAY_05_POW2_SIZE > 6 - if (index < 116) { - #endif - #if ARRAY_05_POW2_SIZE > 6 - if (index < 114) { - #endif - if (index == 112) ARRAY_05_STATIC_VAR_112 = value; - else ARRAY_05_STATIC_VAR_113 = value; - #if ARRAY_05_POW2_SIZE > 6 - }else{ - if (index == 114) ARRAY_05_STATIC_VAR_114 = value; - else ARRAY_05_STATIC_VAR_115 = value; - } - #endif - #if ARRAY_05_POW2_SIZE > 6 - }else{ - #if ARRAY_05_POW2_SIZE > 6 - if (index < 118) { - #endif - if (index == 116) ARRAY_05_STATIC_VAR_116 = value; - else ARRAY_05_STATIC_VAR_117 = value; - #if ARRAY_05_POW2_SIZE > 6 - }else{ - if (index == 118) ARRAY_05_STATIC_VAR_118 = value; - else ARRAY_05_STATIC_VAR_119 = value; - } - #endif - } - #endif - #if ARRAY_05_POW2_SIZE > 6 - }else{ - #if ARRAY_05_POW2_SIZE > 6 - if (index < 124) { - #endif - #if ARRAY_05_POW2_SIZE > 6 - if (index < 122) { - #endif - if (index == 120) ARRAY_05_STATIC_VAR_120 = value; - else ARRAY_05_STATIC_VAR_121 = value; - #if ARRAY_05_POW2_SIZE > 6 - }else{ - if (index == 122) ARRAY_05_STATIC_VAR_122 = value; - else ARRAY_05_STATIC_VAR_123 = value; - } - #endif - #if ARRAY_05_POW2_SIZE > 6 - }else{ - #if ARRAY_05_POW2_SIZE > 6 - if (index < 126) { - #endif - if (index == 124) ARRAY_05_STATIC_VAR_124 = value; - else ARRAY_05_STATIC_VAR_125 = value; - #if ARRAY_05_POW2_SIZE > 6 - }else{ - if (index == 126) ARRAY_05_STATIC_VAR_126 = value; - else ARRAY_05_STATIC_VAR_127 = value; - } - #endif - } - #endif - } - #endif - } - #endif - } - #endif - } - #endif - #if ARRAY_05_POW2_SIZE > 7 - }else{ - #if ARRAY_05_POW2_SIZE > 7 - if (index < 192) { - #endif - #if ARRAY_05_POW2_SIZE > 7 - if (index < 160) { - #endif - #if ARRAY_05_POW2_SIZE > 7 - if (index < 144) { - #endif - #if ARRAY_05_POW2_SIZE > 7 - if (index < 136) { - #endif - #if ARRAY_05_POW2_SIZE > 7 - if (index < 132) { - #endif - #if ARRAY_05_POW2_SIZE > 7 - if (index < 130) { - #endif - if (index == 128) ARRAY_05_STATIC_VAR_128 = value; - else ARRAY_05_STATIC_VAR_129 = value; - #if ARRAY_05_POW2_SIZE > 7 - }else{ - if (index == 130) ARRAY_05_STATIC_VAR_130 = value; - else ARRAY_05_STATIC_VAR_131 = value; - } - #endif - #if ARRAY_05_POW2_SIZE > 7 - }else{ - #if ARRAY_05_POW2_SIZE > 7 - if (index < 134) { - #endif - if (index == 132) ARRAY_05_STATIC_VAR_132 = value; - else ARRAY_05_STATIC_VAR_133 = value; - #if ARRAY_05_POW2_SIZE > 7 - }else{ - if (index == 134) ARRAY_05_STATIC_VAR_134 = value; - else ARRAY_05_STATIC_VAR_135 = value; - } - #endif - } - #endif - #if ARRAY_05_POW2_SIZE > 7 - }else{ - #if ARRAY_05_POW2_SIZE > 7 - if (index < 140) { - #endif - #if ARRAY_05_POW2_SIZE > 7 - if (index < 138) { - #endif - if (index == 136) ARRAY_05_STATIC_VAR_136 = value; - else ARRAY_05_STATIC_VAR_137 = value; - #if ARRAY_05_POW2_SIZE > 7 - }else{ - if (index == 138) ARRAY_05_STATIC_VAR_138 = value; - else ARRAY_05_STATIC_VAR_139 = value; - } - #endif - #if ARRAY_05_POW2_SIZE > 7 - }else{ - #if ARRAY_05_POW2_SIZE > 7 - if (index < 142) { - #endif - if (index == 140) ARRAY_05_STATIC_VAR_140 = value; - else ARRAY_05_STATIC_VAR_141 = value; - #if ARRAY_05_POW2_SIZE > 7 - }else{ - if (index == 142) ARRAY_05_STATIC_VAR_142 = value; - else ARRAY_05_STATIC_VAR_143 = value; - } - #endif - } - #endif - } - #endif - #if ARRAY_05_POW2_SIZE > 7 - }else{ - #if ARRAY_05_POW2_SIZE > 7 - if (index < 152) { - #endif - #if ARRAY_05_POW2_SIZE > 7 - if (index < 148) { - #endif - #if ARRAY_05_POW2_SIZE > 7 - if (index < 146) { - #endif - if (index == 144) ARRAY_05_STATIC_VAR_144 = value; - else ARRAY_05_STATIC_VAR_145 = value; - #if ARRAY_05_POW2_SIZE > 7 - }else{ - if (index == 146) ARRAY_05_STATIC_VAR_146 = value; - else ARRAY_05_STATIC_VAR_147 = value; - } - #endif - #if ARRAY_05_POW2_SIZE > 7 - }else{ - #if ARRAY_05_POW2_SIZE > 7 - if (index < 150) { - #endif - if (index == 148) ARRAY_05_STATIC_VAR_148 = value; - else ARRAY_05_STATIC_VAR_149 = value; - #if ARRAY_05_POW2_SIZE > 7 - }else{ - if (index == 150) ARRAY_05_STATIC_VAR_150 = value; - else ARRAY_05_STATIC_VAR_151 = value; - } - #endif - } - #endif - #if ARRAY_05_POW2_SIZE > 7 - }else{ - #if ARRAY_05_POW2_SIZE > 7 - if (index < 156) { - #endif - #if ARRAY_05_POW2_SIZE > 7 - if (index < 154) { - #endif - if (index == 152) ARRAY_05_STATIC_VAR_152 = value; - else ARRAY_05_STATIC_VAR_153 = value; - #if ARRAY_05_POW2_SIZE > 7 - }else{ - if (index == 154) ARRAY_05_STATIC_VAR_154 = value; - else ARRAY_05_STATIC_VAR_155 = value; - } - #endif - #if ARRAY_05_POW2_SIZE > 7 - }else{ - #if ARRAY_05_POW2_SIZE > 7 - if (index < 158) { - #endif - if (index == 156) ARRAY_05_STATIC_VAR_156 = value; - else ARRAY_05_STATIC_VAR_157 = value; - #if ARRAY_05_POW2_SIZE > 7 - }else{ - if (index == 158) ARRAY_05_STATIC_VAR_158 = value; - else ARRAY_05_STATIC_VAR_159 = value; - } - #endif - } - #endif - } - #endif - } - #endif - #if ARRAY_05_POW2_SIZE > 7 - }else{ - #if ARRAY_05_POW2_SIZE > 7 - if (index < 176) { - #endif - #if ARRAY_05_POW2_SIZE > 7 - if (index < 168) { - #endif - #if ARRAY_05_POW2_SIZE > 7 - if (index < 164) { - #endif - #if ARRAY_05_POW2_SIZE > 7 - if (index < 162) { - #endif - if (index == 160) ARRAY_05_STATIC_VAR_160 = value; - else ARRAY_05_STATIC_VAR_161 = value; - #if ARRAY_05_POW2_SIZE > 7 - }else{ - if (index == 162) ARRAY_05_STATIC_VAR_162 = value; - else ARRAY_05_STATIC_VAR_163 = value; - } - #endif - #if ARRAY_05_POW2_SIZE > 7 - }else{ - #if ARRAY_05_POW2_SIZE > 7 - if (index < 166) { - #endif - if (index == 164) ARRAY_05_STATIC_VAR_164 = value; - else ARRAY_05_STATIC_VAR_165 = value; - #if ARRAY_05_POW2_SIZE > 7 - }else{ - if (index == 166) ARRAY_05_STATIC_VAR_166 = value; - else ARRAY_05_STATIC_VAR_167 = value; - } - #endif - } - #endif - #if ARRAY_05_POW2_SIZE > 7 - }else{ - #if ARRAY_05_POW2_SIZE > 7 - if (index < 172) { - #endif - #if ARRAY_05_POW2_SIZE > 7 - if (index < 170) { - #endif - if (index == 168) ARRAY_05_STATIC_VAR_168 = value; - else ARRAY_05_STATIC_VAR_169 = value; - #if ARRAY_05_POW2_SIZE > 7 - }else{ - if (index == 170) ARRAY_05_STATIC_VAR_170 = value; - else ARRAY_05_STATIC_VAR_171 = value; - } - #endif - #if ARRAY_05_POW2_SIZE > 7 - }else{ - #if ARRAY_05_POW2_SIZE > 7 - if (index < 174) { - #endif - if (index == 172) ARRAY_05_STATIC_VAR_172 = value; - else ARRAY_05_STATIC_VAR_173 = value; - #if ARRAY_05_POW2_SIZE > 7 - }else{ - if (index == 174) ARRAY_05_STATIC_VAR_174 = value; - else ARRAY_05_STATIC_VAR_175 = value; - } - #endif - } - #endif - } - #endif - #if ARRAY_05_POW2_SIZE > 7 - }else{ - #if ARRAY_05_POW2_SIZE > 7 - if (index < 184) { - #endif - #if ARRAY_05_POW2_SIZE > 7 - if (index < 180) { - #endif - #if ARRAY_05_POW2_SIZE > 7 - if (index < 178) { - #endif - if (index == 176) ARRAY_05_STATIC_VAR_176 = value; - else ARRAY_05_STATIC_VAR_177 = value; - #if ARRAY_05_POW2_SIZE > 7 - }else{ - if (index == 178) ARRAY_05_STATIC_VAR_178 = value; - else ARRAY_05_STATIC_VAR_179 = value; - } - #endif - #if ARRAY_05_POW2_SIZE > 7 - }else{ - #if ARRAY_05_POW2_SIZE > 7 - if (index < 182) { - #endif - if (index == 180) ARRAY_05_STATIC_VAR_180 = value; - else ARRAY_05_STATIC_VAR_181 = value; - #if ARRAY_05_POW2_SIZE > 7 - }else{ - if (index == 182) ARRAY_05_STATIC_VAR_182 = value; - else ARRAY_05_STATIC_VAR_183 = value; - } - #endif - } - #endif - #if ARRAY_05_POW2_SIZE > 7 - }else{ - #if ARRAY_05_POW2_SIZE > 7 - if (index < 188) { - #endif - #if ARRAY_05_POW2_SIZE > 7 - if (index < 186) { - #endif - if (index == 184) ARRAY_05_STATIC_VAR_184 = value; - else ARRAY_05_STATIC_VAR_185 = value; - #if ARRAY_05_POW2_SIZE > 7 - }else{ - if (index == 186) ARRAY_05_STATIC_VAR_186 = value; - else ARRAY_05_STATIC_VAR_187 = value; - } - #endif - #if ARRAY_05_POW2_SIZE > 7 - }else{ - #if ARRAY_05_POW2_SIZE > 7 - if (index < 190) { - #endif - if (index == 188) ARRAY_05_STATIC_VAR_188 = value; - else ARRAY_05_STATIC_VAR_189 = value; - #if ARRAY_05_POW2_SIZE > 7 - }else{ - if (index == 190) ARRAY_05_STATIC_VAR_190 = value; - else ARRAY_05_STATIC_VAR_191 = value; - } - #endif - } - #endif - } - #endif - } - #endif - } - #endif - #if ARRAY_05_POW2_SIZE > 7 - }else{ - #if ARRAY_05_POW2_SIZE > 7 - if (index < 224) { - #endif - #if ARRAY_05_POW2_SIZE > 7 - if (index < 208) { - #endif - #if ARRAY_05_POW2_SIZE > 7 - if (index < 200) { - #endif - #if ARRAY_05_POW2_SIZE > 7 - if (index < 196) { - #endif - #if ARRAY_05_POW2_SIZE > 7 - if (index < 194) { - #endif - if (index == 192) ARRAY_05_STATIC_VAR_192 = value; - else ARRAY_05_STATIC_VAR_193 = value; - #if ARRAY_05_POW2_SIZE > 7 - }else{ - if (index == 194) ARRAY_05_STATIC_VAR_194 = value; - else ARRAY_05_STATIC_VAR_195 = value; - } - #endif - #if ARRAY_05_POW2_SIZE > 7 - }else{ - #if ARRAY_05_POW2_SIZE > 7 - if (index < 198) { - #endif - if (index == 196) ARRAY_05_STATIC_VAR_196 = value; - else ARRAY_05_STATIC_VAR_197 = value; - #if ARRAY_05_POW2_SIZE > 7 - }else{ - if (index == 198) ARRAY_05_STATIC_VAR_198 = value; - else ARRAY_05_STATIC_VAR_199 = value; - } - #endif - } - #endif - #if ARRAY_05_POW2_SIZE > 7 - }else{ - #if ARRAY_05_POW2_SIZE > 7 - if (index < 204) { - #endif - #if ARRAY_05_POW2_SIZE > 7 - if (index < 202) { - #endif - if (index == 200) ARRAY_05_STATIC_VAR_200 = value; - else ARRAY_05_STATIC_VAR_201 = value; - #if ARRAY_05_POW2_SIZE > 7 - }else{ - if (index == 202) ARRAY_05_STATIC_VAR_202 = value; - else ARRAY_05_STATIC_VAR_203 = value; - } - #endif - #if ARRAY_05_POW2_SIZE > 7 - }else{ - #if ARRAY_05_POW2_SIZE > 7 - if (index < 206) { - #endif - if (index == 204) ARRAY_05_STATIC_VAR_204 = value; - else ARRAY_05_STATIC_VAR_205 = value; - #if ARRAY_05_POW2_SIZE > 7 - }else{ - if (index == 206) ARRAY_05_STATIC_VAR_206 = value; - else ARRAY_05_STATIC_VAR_207 = value; - } - #endif - } - #endif - } - #endif - #if ARRAY_05_POW2_SIZE > 7 - }else{ - #if ARRAY_05_POW2_SIZE > 7 - if (index < 216) { - #endif - #if ARRAY_05_POW2_SIZE > 7 - if (index < 212) { - #endif - #if ARRAY_05_POW2_SIZE > 7 - if (index < 210) { - #endif - if (index == 208) ARRAY_05_STATIC_VAR_208 = value; - else ARRAY_05_STATIC_VAR_209 = value; - #if ARRAY_05_POW2_SIZE > 7 - }else{ - if (index == 210) ARRAY_05_STATIC_VAR_210 = value; - else ARRAY_05_STATIC_VAR_211 = value; - } - #endif - #if ARRAY_05_POW2_SIZE > 7 - }else{ - #if ARRAY_05_POW2_SIZE > 7 - if (index < 214) { - #endif - if (index == 212) ARRAY_05_STATIC_VAR_212 = value; - else ARRAY_05_STATIC_VAR_213 = value; - #if ARRAY_05_POW2_SIZE > 7 - }else{ - if (index == 214) ARRAY_05_STATIC_VAR_214 = value; - else ARRAY_05_STATIC_VAR_215 = value; - } - #endif - } - #endif - #if ARRAY_05_POW2_SIZE > 7 - }else{ - #if ARRAY_05_POW2_SIZE > 7 - if (index < 220) { - #endif - #if ARRAY_05_POW2_SIZE > 7 - if (index < 218) { - #endif - if (index == 216) ARRAY_05_STATIC_VAR_216 = value; - else ARRAY_05_STATIC_VAR_217 = value; - #if ARRAY_05_POW2_SIZE > 7 - }else{ - if (index == 218) ARRAY_05_STATIC_VAR_218 = value; - else ARRAY_05_STATIC_VAR_219 = value; - } - #endif - #if ARRAY_05_POW2_SIZE > 7 - }else{ - #if ARRAY_05_POW2_SIZE > 7 - if (index < 222) { - #endif - if (index == 220) ARRAY_05_STATIC_VAR_220 = value; - else ARRAY_05_STATIC_VAR_221 = value; - #if ARRAY_05_POW2_SIZE > 7 - }else{ - if (index == 222) ARRAY_05_STATIC_VAR_222 = value; - else ARRAY_05_STATIC_VAR_223 = value; - } - #endif - } - #endif - } - #endif - } - #endif - #if ARRAY_05_POW2_SIZE > 7 - }else{ - #if ARRAY_05_POW2_SIZE > 7 - if (index < 240) { - #endif - #if ARRAY_05_POW2_SIZE > 7 - if (index < 232) { - #endif - #if ARRAY_05_POW2_SIZE > 7 - if (index < 228) { - #endif - #if ARRAY_05_POW2_SIZE > 7 - if (index < 226) { - #endif - if (index == 224) ARRAY_05_STATIC_VAR_224 = value; - else ARRAY_05_STATIC_VAR_225 = value; - #if ARRAY_05_POW2_SIZE > 7 - }else{ - if (index == 226) ARRAY_05_STATIC_VAR_226 = value; - else ARRAY_05_STATIC_VAR_227 = value; - } - #endif - #if ARRAY_05_POW2_SIZE > 7 - }else{ - #if ARRAY_05_POW2_SIZE > 7 - if (index < 230) { - #endif - if (index == 228) ARRAY_05_STATIC_VAR_228 = value; - else ARRAY_05_STATIC_VAR_229 = value; - #if ARRAY_05_POW2_SIZE > 7 - }else{ - if (index == 230) ARRAY_05_STATIC_VAR_230 = value; - else ARRAY_05_STATIC_VAR_231 = value; - } - #endif - } - #endif - #if ARRAY_05_POW2_SIZE > 7 - }else{ - #if ARRAY_05_POW2_SIZE > 7 - if (index < 236) { - #endif - #if ARRAY_05_POW2_SIZE > 7 - if (index < 234) { - #endif - if (index == 232) ARRAY_05_STATIC_VAR_232 = value; - else ARRAY_05_STATIC_VAR_233 = value; - #if ARRAY_05_POW2_SIZE > 7 - }else{ - if (index == 234) ARRAY_05_STATIC_VAR_234 = value; - else ARRAY_05_STATIC_VAR_235 = value; - } - #endif - #if ARRAY_05_POW2_SIZE > 7 - }else{ - #if ARRAY_05_POW2_SIZE > 7 - if (index < 238) { - #endif - if (index == 236) ARRAY_05_STATIC_VAR_236 = value; - else ARRAY_05_STATIC_VAR_237 = value; - #if ARRAY_05_POW2_SIZE > 7 - }else{ - if (index == 238) ARRAY_05_STATIC_VAR_238 = value; - else ARRAY_05_STATIC_VAR_239 = value; - } - #endif - } - #endif - } - #endif - #if ARRAY_05_POW2_SIZE > 7 - }else{ - #if ARRAY_05_POW2_SIZE > 7 - if (index < 248) { - #endif - #if ARRAY_05_POW2_SIZE > 7 - if (index < 244) { - #endif - #if ARRAY_05_POW2_SIZE > 7 - if (index < 242) { - #endif - if (index == 240) ARRAY_05_STATIC_VAR_240 = value; - else ARRAY_05_STATIC_VAR_241 = value; - #if ARRAY_05_POW2_SIZE > 7 - }else{ - if (index == 242) ARRAY_05_STATIC_VAR_242 = value; - else ARRAY_05_STATIC_VAR_243 = value; - } - #endif - #if ARRAY_05_POW2_SIZE > 7 - }else{ - #if ARRAY_05_POW2_SIZE > 7 - if (index < 246) { - #endif - if (index == 244) ARRAY_05_STATIC_VAR_244 = value; - else ARRAY_05_STATIC_VAR_245 = value; - #if ARRAY_05_POW2_SIZE > 7 - }else{ - if (index == 246) ARRAY_05_STATIC_VAR_246 = value; - else ARRAY_05_STATIC_VAR_247 = value; - } - #endif - } - #endif - #if ARRAY_05_POW2_SIZE > 7 - }else{ - #if ARRAY_05_POW2_SIZE > 7 - if (index < 252) { - #endif - #if ARRAY_05_POW2_SIZE > 7 - if (index < 250) { - #endif - if (index == 248) ARRAY_05_STATIC_VAR_248 = value; - else ARRAY_05_STATIC_VAR_249 = value; - #if ARRAY_05_POW2_SIZE > 7 - }else{ - if (index == 250) ARRAY_05_STATIC_VAR_250 = value; - else ARRAY_05_STATIC_VAR_251 = value; - } - #endif - #if ARRAY_05_POW2_SIZE > 7 - }else{ - #if ARRAY_05_POW2_SIZE > 7 - if (index < 254) { - #endif - if (index == 252) ARRAY_05_STATIC_VAR_252 = value; - else ARRAY_05_STATIC_VAR_253 = value; - #if ARRAY_05_POW2_SIZE > 7 - }else{ - if (index == 254) ARRAY_05_STATIC_VAR_254 = value; - else ARRAY_05_STATIC_VAR_255 = value; - } - #endif - } - #endif - } - #endif - } - #endif - } - #endif - } - #endif - } - #endif -} \ No newline at end of file diff --git a/scripts/array_06.h b/scripts/array_06.h deleted file mode 100644 index a97d49e7b05..00000000000 --- a/scripts/array_06.h +++ /dev/null @@ -1,2340 +0,0 @@ -// (c) Beherith mysterme@gmail.com. DO NOT TOUCH: generated by array_header_generator.ipynb -// Notes: -// #define ARRAY_06_POW2_SIZE -// use the ARRAY_XX_GET(i) and ARRAY_XX_SET(i,v) function macros -// ARRAY_XX_GET(i) will always place value into ARRAY_VALUE -// average calls per value is about 12 - -#ifndef ARRAY_06_POW2_SIZE - #define ARRAY_06_POW2_SIZE 4 -#endif - -#ifndef ARRAY_TEMP_DEFINED - static-var ARRAY_VALUE; - #define ARRAY_TEMP_DEFINED 1; -#endif - -#define ARRAY_06_SET(i,v) call-script ARRAY_06_SETTER(i,v); - -#define ARRAY_06_GET(i) call-script ARRAY_06_GETTER(i); - -#if ARRAY_06_POW2_SIZE > 0 - static-var ARRAY_06_STATIC_VAR_000, ARRAY_06_STATIC_VAR_001; -#endif -#if ARRAY_06_POW2_SIZE > 1 - static-var ARRAY_06_STATIC_VAR_002, ARRAY_06_STATIC_VAR_003; -#endif -#if ARRAY_06_POW2_SIZE > 2 - static-var ARRAY_06_STATIC_VAR_004, ARRAY_06_STATIC_VAR_005, ARRAY_06_STATIC_VAR_006, ARRAY_06_STATIC_VAR_007; -#endif -#if ARRAY_06_POW2_SIZE > 3 - static-var ARRAY_06_STATIC_VAR_008, ARRAY_06_STATIC_VAR_009, ARRAY_06_STATIC_VAR_010, ARRAY_06_STATIC_VAR_011, ARRAY_06_STATIC_VAR_012, ARRAY_06_STATIC_VAR_013, ARRAY_06_STATIC_VAR_014, ARRAY_06_STATIC_VAR_015; -#endif -#if ARRAY_06_POW2_SIZE > 4 - static-var ARRAY_06_STATIC_VAR_016, ARRAY_06_STATIC_VAR_017, ARRAY_06_STATIC_VAR_018, ARRAY_06_STATIC_VAR_019, ARRAY_06_STATIC_VAR_020, ARRAY_06_STATIC_VAR_021, ARRAY_06_STATIC_VAR_022, ARRAY_06_STATIC_VAR_023, ARRAY_06_STATIC_VAR_024, ARRAY_06_STATIC_VAR_025, ARRAY_06_STATIC_VAR_026, ARRAY_06_STATIC_VAR_027, ARRAY_06_STATIC_VAR_028, ARRAY_06_STATIC_VAR_029, ARRAY_06_STATIC_VAR_030, ARRAY_06_STATIC_VAR_031; -#endif -#if ARRAY_06_POW2_SIZE > 5 - static-var ARRAY_06_STATIC_VAR_032, ARRAY_06_STATIC_VAR_033, ARRAY_06_STATIC_VAR_034, ARRAY_06_STATIC_VAR_035, ARRAY_06_STATIC_VAR_036, ARRAY_06_STATIC_VAR_037, ARRAY_06_STATIC_VAR_038, ARRAY_06_STATIC_VAR_039, ARRAY_06_STATIC_VAR_040, ARRAY_06_STATIC_VAR_041, ARRAY_06_STATIC_VAR_042, ARRAY_06_STATIC_VAR_043, ARRAY_06_STATIC_VAR_044, ARRAY_06_STATIC_VAR_045, ARRAY_06_STATIC_VAR_046, ARRAY_06_STATIC_VAR_047, ARRAY_06_STATIC_VAR_048, ARRAY_06_STATIC_VAR_049, ARRAY_06_STATIC_VAR_050, ARRAY_06_STATIC_VAR_051, ARRAY_06_STATIC_VAR_052, ARRAY_06_STATIC_VAR_053, ARRAY_06_STATIC_VAR_054, ARRAY_06_STATIC_VAR_055, ARRAY_06_STATIC_VAR_056, ARRAY_06_STATIC_VAR_057, ARRAY_06_STATIC_VAR_058, ARRAY_06_STATIC_VAR_059, ARRAY_06_STATIC_VAR_060, ARRAY_06_STATIC_VAR_061, ARRAY_06_STATIC_VAR_062, ARRAY_06_STATIC_VAR_063; -#endif -#if ARRAY_06_POW2_SIZE > 6 - static-var ARRAY_06_STATIC_VAR_064, ARRAY_06_STATIC_VAR_065, ARRAY_06_STATIC_VAR_066, ARRAY_06_STATIC_VAR_067, ARRAY_06_STATIC_VAR_068, ARRAY_06_STATIC_VAR_069, ARRAY_06_STATIC_VAR_070, ARRAY_06_STATIC_VAR_071, ARRAY_06_STATIC_VAR_072, ARRAY_06_STATIC_VAR_073, ARRAY_06_STATIC_VAR_074, ARRAY_06_STATIC_VAR_075, ARRAY_06_STATIC_VAR_076, ARRAY_06_STATIC_VAR_077, ARRAY_06_STATIC_VAR_078, ARRAY_06_STATIC_VAR_079, ARRAY_06_STATIC_VAR_080, ARRAY_06_STATIC_VAR_081, ARRAY_06_STATIC_VAR_082, ARRAY_06_STATIC_VAR_083, ARRAY_06_STATIC_VAR_084, ARRAY_06_STATIC_VAR_085, ARRAY_06_STATIC_VAR_086, ARRAY_06_STATIC_VAR_087, ARRAY_06_STATIC_VAR_088, ARRAY_06_STATIC_VAR_089, ARRAY_06_STATIC_VAR_090, ARRAY_06_STATIC_VAR_091, ARRAY_06_STATIC_VAR_092, ARRAY_06_STATIC_VAR_093, ARRAY_06_STATIC_VAR_094, ARRAY_06_STATIC_VAR_095, ARRAY_06_STATIC_VAR_096, ARRAY_06_STATIC_VAR_097, ARRAY_06_STATIC_VAR_098, ARRAY_06_STATIC_VAR_099, ARRAY_06_STATIC_VAR_100, ARRAY_06_STATIC_VAR_101, ARRAY_06_STATIC_VAR_102, ARRAY_06_STATIC_VAR_103, ARRAY_06_STATIC_VAR_104, ARRAY_06_STATIC_VAR_105, ARRAY_06_STATIC_VAR_106, ARRAY_06_STATIC_VAR_107, ARRAY_06_STATIC_VAR_108, ARRAY_06_STATIC_VAR_109, ARRAY_06_STATIC_VAR_110, ARRAY_06_STATIC_VAR_111, ARRAY_06_STATIC_VAR_112, ARRAY_06_STATIC_VAR_113, ARRAY_06_STATIC_VAR_114, ARRAY_06_STATIC_VAR_115, ARRAY_06_STATIC_VAR_116, ARRAY_06_STATIC_VAR_117, ARRAY_06_STATIC_VAR_118, ARRAY_06_STATIC_VAR_119, ARRAY_06_STATIC_VAR_120, ARRAY_06_STATIC_VAR_121, ARRAY_06_STATIC_VAR_122, ARRAY_06_STATIC_VAR_123, ARRAY_06_STATIC_VAR_124, ARRAY_06_STATIC_VAR_125, ARRAY_06_STATIC_VAR_126, ARRAY_06_STATIC_VAR_127; -#endif -#if ARRAY_06_POW2_SIZE > 7 - static-var ARRAY_06_STATIC_VAR_128, ARRAY_06_STATIC_VAR_129, ARRAY_06_STATIC_VAR_130, ARRAY_06_STATIC_VAR_131, ARRAY_06_STATIC_VAR_132, ARRAY_06_STATIC_VAR_133, ARRAY_06_STATIC_VAR_134, ARRAY_06_STATIC_VAR_135, ARRAY_06_STATIC_VAR_136, ARRAY_06_STATIC_VAR_137, ARRAY_06_STATIC_VAR_138, ARRAY_06_STATIC_VAR_139, ARRAY_06_STATIC_VAR_140, ARRAY_06_STATIC_VAR_141, ARRAY_06_STATIC_VAR_142, ARRAY_06_STATIC_VAR_143, ARRAY_06_STATIC_VAR_144, ARRAY_06_STATIC_VAR_145, ARRAY_06_STATIC_VAR_146, ARRAY_06_STATIC_VAR_147, ARRAY_06_STATIC_VAR_148, ARRAY_06_STATIC_VAR_149, ARRAY_06_STATIC_VAR_150, ARRAY_06_STATIC_VAR_151, ARRAY_06_STATIC_VAR_152, ARRAY_06_STATIC_VAR_153, ARRAY_06_STATIC_VAR_154, ARRAY_06_STATIC_VAR_155, ARRAY_06_STATIC_VAR_156, ARRAY_06_STATIC_VAR_157, ARRAY_06_STATIC_VAR_158, ARRAY_06_STATIC_VAR_159, ARRAY_06_STATIC_VAR_160, ARRAY_06_STATIC_VAR_161, ARRAY_06_STATIC_VAR_162, ARRAY_06_STATIC_VAR_163, ARRAY_06_STATIC_VAR_164, ARRAY_06_STATIC_VAR_165, ARRAY_06_STATIC_VAR_166, ARRAY_06_STATIC_VAR_167, ARRAY_06_STATIC_VAR_168, ARRAY_06_STATIC_VAR_169, ARRAY_06_STATIC_VAR_170, ARRAY_06_STATIC_VAR_171, ARRAY_06_STATIC_VAR_172, ARRAY_06_STATIC_VAR_173, ARRAY_06_STATIC_VAR_174, ARRAY_06_STATIC_VAR_175, ARRAY_06_STATIC_VAR_176, ARRAY_06_STATIC_VAR_177, ARRAY_06_STATIC_VAR_178, ARRAY_06_STATIC_VAR_179, ARRAY_06_STATIC_VAR_180, ARRAY_06_STATIC_VAR_181, ARRAY_06_STATIC_VAR_182, ARRAY_06_STATIC_VAR_183, ARRAY_06_STATIC_VAR_184, ARRAY_06_STATIC_VAR_185, ARRAY_06_STATIC_VAR_186, ARRAY_06_STATIC_VAR_187, ARRAY_06_STATIC_VAR_188, ARRAY_06_STATIC_VAR_189, ARRAY_06_STATIC_VAR_190, ARRAY_06_STATIC_VAR_191, ARRAY_06_STATIC_VAR_192, ARRAY_06_STATIC_VAR_193, ARRAY_06_STATIC_VAR_194, ARRAY_06_STATIC_VAR_195, ARRAY_06_STATIC_VAR_196, ARRAY_06_STATIC_VAR_197, ARRAY_06_STATIC_VAR_198, ARRAY_06_STATIC_VAR_199, ARRAY_06_STATIC_VAR_200, ARRAY_06_STATIC_VAR_201, ARRAY_06_STATIC_VAR_202, ARRAY_06_STATIC_VAR_203, ARRAY_06_STATIC_VAR_204, ARRAY_06_STATIC_VAR_205, ARRAY_06_STATIC_VAR_206, ARRAY_06_STATIC_VAR_207, ARRAY_06_STATIC_VAR_208, ARRAY_06_STATIC_VAR_209, ARRAY_06_STATIC_VAR_210, ARRAY_06_STATIC_VAR_211, ARRAY_06_STATIC_VAR_212, ARRAY_06_STATIC_VAR_213, ARRAY_06_STATIC_VAR_214, ARRAY_06_STATIC_VAR_215, ARRAY_06_STATIC_VAR_216, ARRAY_06_STATIC_VAR_217, ARRAY_06_STATIC_VAR_218, ARRAY_06_STATIC_VAR_219, ARRAY_06_STATIC_VAR_220, ARRAY_06_STATIC_VAR_221, ARRAY_06_STATIC_VAR_222, ARRAY_06_STATIC_VAR_223, ARRAY_06_STATIC_VAR_224, ARRAY_06_STATIC_VAR_225, ARRAY_06_STATIC_VAR_226, ARRAY_06_STATIC_VAR_227, ARRAY_06_STATIC_VAR_228, ARRAY_06_STATIC_VAR_229, ARRAY_06_STATIC_VAR_230, ARRAY_06_STATIC_VAR_231, ARRAY_06_STATIC_VAR_232, ARRAY_06_STATIC_VAR_233, ARRAY_06_STATIC_VAR_234, ARRAY_06_STATIC_VAR_235, ARRAY_06_STATIC_VAR_236, ARRAY_06_STATIC_VAR_237, ARRAY_06_STATIC_VAR_238, ARRAY_06_STATIC_VAR_239, ARRAY_06_STATIC_VAR_240, ARRAY_06_STATIC_VAR_241, ARRAY_06_STATIC_VAR_242, ARRAY_06_STATIC_VAR_243, ARRAY_06_STATIC_VAR_244, ARRAY_06_STATIC_VAR_245, ARRAY_06_STATIC_VAR_246, ARRAY_06_STATIC_VAR_247, ARRAY_06_STATIC_VAR_248, ARRAY_06_STATIC_VAR_249, ARRAY_06_STATIC_VAR_250, ARRAY_06_STATIC_VAR_251, ARRAY_06_STATIC_VAR_252, ARRAY_06_STATIC_VAR_253, ARRAY_06_STATIC_VAR_254, ARRAY_06_STATIC_VAR_255; -#endif - -ARRAY_06_GETTER(index) { - #if ARRAY_06_POW2_SIZE > 7 - if (index < 128) { - #endif - #if ARRAY_06_POW2_SIZE > 6 - if (index < 64) { - #endif - #if ARRAY_06_POW2_SIZE > 5 - if (index < 32) { - #endif - #if ARRAY_06_POW2_SIZE > 4 - if (index < 16) { - #endif - #if ARRAY_06_POW2_SIZE > 3 - if (index < 8) { - #endif - #if ARRAY_06_POW2_SIZE > 2 - if (index < 4) { - #endif - #if ARRAY_06_POW2_SIZE > 1 - if (index < 2) { - #endif - if (index == 0) ARRAY_VALUE = ARRAY_06_STATIC_VAR_000; - else ARRAY_VALUE = ARRAY_06_STATIC_VAR_001; - #if ARRAY_06_POW2_SIZE > 1 - }else{ - if (index == 2) ARRAY_VALUE = ARRAY_06_STATIC_VAR_002; - else ARRAY_VALUE = ARRAY_06_STATIC_VAR_003; - } - #endif - #if ARRAY_06_POW2_SIZE > 2 - }else{ - #if ARRAY_06_POW2_SIZE > 2 - if (index < 6) { - #endif - if (index == 4) ARRAY_VALUE = ARRAY_06_STATIC_VAR_004; - else ARRAY_VALUE = ARRAY_06_STATIC_VAR_005; - #if ARRAY_06_POW2_SIZE > 2 - }else{ - if (index == 6) ARRAY_VALUE = ARRAY_06_STATIC_VAR_006; - else ARRAY_VALUE = ARRAY_06_STATIC_VAR_007; - } - #endif - } - #endif - #if ARRAY_06_POW2_SIZE > 3 - }else{ - #if ARRAY_06_POW2_SIZE > 3 - if (index < 12) { - #endif - #if ARRAY_06_POW2_SIZE > 3 - if (index < 10) { - #endif - if (index == 8) ARRAY_VALUE = ARRAY_06_STATIC_VAR_008; - else ARRAY_VALUE = ARRAY_06_STATIC_VAR_009; - #if ARRAY_06_POW2_SIZE > 3 - }else{ - if (index == 10) ARRAY_VALUE = ARRAY_06_STATIC_VAR_010; - else ARRAY_VALUE = ARRAY_06_STATIC_VAR_011; - } - #endif - #if ARRAY_06_POW2_SIZE > 3 - }else{ - #if ARRAY_06_POW2_SIZE > 3 - if (index < 14) { - #endif - if (index == 12) ARRAY_VALUE = ARRAY_06_STATIC_VAR_012; - else ARRAY_VALUE = ARRAY_06_STATIC_VAR_013; - #if ARRAY_06_POW2_SIZE > 3 - }else{ - if (index == 14) ARRAY_VALUE = ARRAY_06_STATIC_VAR_014; - else ARRAY_VALUE = ARRAY_06_STATIC_VAR_015; - } - #endif - } - #endif - } - #endif - #if ARRAY_06_POW2_SIZE > 4 - }else{ - #if ARRAY_06_POW2_SIZE > 4 - if (index < 24) { - #endif - #if ARRAY_06_POW2_SIZE > 4 - if (index < 20) { - #endif - #if ARRAY_06_POW2_SIZE > 4 - if (index < 18) { - #endif - if (index == 16) ARRAY_VALUE = ARRAY_06_STATIC_VAR_016; - else ARRAY_VALUE = ARRAY_06_STATIC_VAR_017; - #if ARRAY_06_POW2_SIZE > 4 - }else{ - if (index == 18) ARRAY_VALUE = ARRAY_06_STATIC_VAR_018; - else ARRAY_VALUE = ARRAY_06_STATIC_VAR_019; - } - #endif - #if ARRAY_06_POW2_SIZE > 4 - }else{ - #if ARRAY_06_POW2_SIZE > 4 - if (index < 22) { - #endif - if (index == 20) ARRAY_VALUE = ARRAY_06_STATIC_VAR_020; - else ARRAY_VALUE = ARRAY_06_STATIC_VAR_021; - #if ARRAY_06_POW2_SIZE > 4 - }else{ - if (index == 22) ARRAY_VALUE = ARRAY_06_STATIC_VAR_022; - else ARRAY_VALUE = ARRAY_06_STATIC_VAR_023; - } - #endif - } - #endif - #if ARRAY_06_POW2_SIZE > 4 - }else{ - #if ARRAY_06_POW2_SIZE > 4 - if (index < 28) { - #endif - #if ARRAY_06_POW2_SIZE > 4 - if (index < 26) { - #endif - if (index == 24) ARRAY_VALUE = ARRAY_06_STATIC_VAR_024; - else ARRAY_VALUE = ARRAY_06_STATIC_VAR_025; - #if ARRAY_06_POW2_SIZE > 4 - }else{ - if (index == 26) ARRAY_VALUE = ARRAY_06_STATIC_VAR_026; - else ARRAY_VALUE = ARRAY_06_STATIC_VAR_027; - } - #endif - #if ARRAY_06_POW2_SIZE > 4 - }else{ - #if ARRAY_06_POW2_SIZE > 4 - if (index < 30) { - #endif - if (index == 28) ARRAY_VALUE = ARRAY_06_STATIC_VAR_028; - else ARRAY_VALUE = ARRAY_06_STATIC_VAR_029; - #if ARRAY_06_POW2_SIZE > 4 - }else{ - if (index == 30) ARRAY_VALUE = ARRAY_06_STATIC_VAR_030; - else ARRAY_VALUE = ARRAY_06_STATIC_VAR_031; - } - #endif - } - #endif - } - #endif - } - #endif - #if ARRAY_06_POW2_SIZE > 5 - }else{ - #if ARRAY_06_POW2_SIZE > 5 - if (index < 48) { - #endif - #if ARRAY_06_POW2_SIZE > 5 - if (index < 40) { - #endif - #if ARRAY_06_POW2_SIZE > 5 - if (index < 36) { - #endif - #if ARRAY_06_POW2_SIZE > 5 - if (index < 34) { - #endif - if (index == 32) ARRAY_VALUE = ARRAY_06_STATIC_VAR_032; - else ARRAY_VALUE = ARRAY_06_STATIC_VAR_033; - #if ARRAY_06_POW2_SIZE > 5 - }else{ - if (index == 34) ARRAY_VALUE = ARRAY_06_STATIC_VAR_034; - else ARRAY_VALUE = ARRAY_06_STATIC_VAR_035; - } - #endif - #if ARRAY_06_POW2_SIZE > 5 - }else{ - #if ARRAY_06_POW2_SIZE > 5 - if (index < 38) { - #endif - if (index == 36) ARRAY_VALUE = ARRAY_06_STATIC_VAR_036; - else ARRAY_VALUE = ARRAY_06_STATIC_VAR_037; - #if ARRAY_06_POW2_SIZE > 5 - }else{ - if (index == 38) ARRAY_VALUE = ARRAY_06_STATIC_VAR_038; - else ARRAY_VALUE = ARRAY_06_STATIC_VAR_039; - } - #endif - } - #endif - #if ARRAY_06_POW2_SIZE > 5 - }else{ - #if ARRAY_06_POW2_SIZE > 5 - if (index < 44) { - #endif - #if ARRAY_06_POW2_SIZE > 5 - if (index < 42) { - #endif - if (index == 40) ARRAY_VALUE = ARRAY_06_STATIC_VAR_040; - else ARRAY_VALUE = ARRAY_06_STATIC_VAR_041; - #if ARRAY_06_POW2_SIZE > 5 - }else{ - if (index == 42) ARRAY_VALUE = ARRAY_06_STATIC_VAR_042; - else ARRAY_VALUE = ARRAY_06_STATIC_VAR_043; - } - #endif - #if ARRAY_06_POW2_SIZE > 5 - }else{ - #if ARRAY_06_POW2_SIZE > 5 - if (index < 46) { - #endif - if (index == 44) ARRAY_VALUE = ARRAY_06_STATIC_VAR_044; - else ARRAY_VALUE = ARRAY_06_STATIC_VAR_045; - #if ARRAY_06_POW2_SIZE > 5 - }else{ - if (index == 46) ARRAY_VALUE = ARRAY_06_STATIC_VAR_046; - else ARRAY_VALUE = ARRAY_06_STATIC_VAR_047; - } - #endif - } - #endif - } - #endif - #if ARRAY_06_POW2_SIZE > 5 - }else{ - #if ARRAY_06_POW2_SIZE > 5 - if (index < 56) { - #endif - #if ARRAY_06_POW2_SIZE > 5 - if (index < 52) { - #endif - #if ARRAY_06_POW2_SIZE > 5 - if (index < 50) { - #endif - if (index == 48) ARRAY_VALUE = ARRAY_06_STATIC_VAR_048; - else ARRAY_VALUE = ARRAY_06_STATIC_VAR_049; - #if ARRAY_06_POW2_SIZE > 5 - }else{ - if (index == 50) ARRAY_VALUE = ARRAY_06_STATIC_VAR_050; - else ARRAY_VALUE = ARRAY_06_STATIC_VAR_051; - } - #endif - #if ARRAY_06_POW2_SIZE > 5 - }else{ - #if ARRAY_06_POW2_SIZE > 5 - if (index < 54) { - #endif - if (index == 52) ARRAY_VALUE = ARRAY_06_STATIC_VAR_052; - else ARRAY_VALUE = ARRAY_06_STATIC_VAR_053; - #if ARRAY_06_POW2_SIZE > 5 - }else{ - if (index == 54) ARRAY_VALUE = ARRAY_06_STATIC_VAR_054; - else ARRAY_VALUE = ARRAY_06_STATIC_VAR_055; - } - #endif - } - #endif - #if ARRAY_06_POW2_SIZE > 5 - }else{ - #if ARRAY_06_POW2_SIZE > 5 - if (index < 60) { - #endif - #if ARRAY_06_POW2_SIZE > 5 - if (index < 58) { - #endif - if (index == 56) ARRAY_VALUE = ARRAY_06_STATIC_VAR_056; - else ARRAY_VALUE = ARRAY_06_STATIC_VAR_057; - #if ARRAY_06_POW2_SIZE > 5 - }else{ - if (index == 58) ARRAY_VALUE = ARRAY_06_STATIC_VAR_058; - else ARRAY_VALUE = ARRAY_06_STATIC_VAR_059; - } - #endif - #if ARRAY_06_POW2_SIZE > 5 - }else{ - #if ARRAY_06_POW2_SIZE > 5 - if (index < 62) { - #endif - if (index == 60) ARRAY_VALUE = ARRAY_06_STATIC_VAR_060; - else ARRAY_VALUE = ARRAY_06_STATIC_VAR_061; - #if ARRAY_06_POW2_SIZE > 5 - }else{ - if (index == 62) ARRAY_VALUE = ARRAY_06_STATIC_VAR_062; - else ARRAY_VALUE = ARRAY_06_STATIC_VAR_063; - } - #endif - } - #endif - } - #endif - } - #endif - } - #endif - #if ARRAY_06_POW2_SIZE > 6 - }else{ - #if ARRAY_06_POW2_SIZE > 6 - if (index < 96) { - #endif - #if ARRAY_06_POW2_SIZE > 6 - if (index < 80) { - #endif - #if ARRAY_06_POW2_SIZE > 6 - if (index < 72) { - #endif - #if ARRAY_06_POW2_SIZE > 6 - if (index < 68) { - #endif - #if ARRAY_06_POW2_SIZE > 6 - if (index < 66) { - #endif - if (index == 64) ARRAY_VALUE = ARRAY_06_STATIC_VAR_064; - else ARRAY_VALUE = ARRAY_06_STATIC_VAR_065; - #if ARRAY_06_POW2_SIZE > 6 - }else{ - if (index == 66) ARRAY_VALUE = ARRAY_06_STATIC_VAR_066; - else ARRAY_VALUE = ARRAY_06_STATIC_VAR_067; - } - #endif - #if ARRAY_06_POW2_SIZE > 6 - }else{ - #if ARRAY_06_POW2_SIZE > 6 - if (index < 70) { - #endif - if (index == 68) ARRAY_VALUE = ARRAY_06_STATIC_VAR_068; - else ARRAY_VALUE = ARRAY_06_STATIC_VAR_069; - #if ARRAY_06_POW2_SIZE > 6 - }else{ - if (index == 70) ARRAY_VALUE = ARRAY_06_STATIC_VAR_070; - else ARRAY_VALUE = ARRAY_06_STATIC_VAR_071; - } - #endif - } - #endif - #if ARRAY_06_POW2_SIZE > 6 - }else{ - #if ARRAY_06_POW2_SIZE > 6 - if (index < 76) { - #endif - #if ARRAY_06_POW2_SIZE > 6 - if (index < 74) { - #endif - if (index == 72) ARRAY_VALUE = ARRAY_06_STATIC_VAR_072; - else ARRAY_VALUE = ARRAY_06_STATIC_VAR_073; - #if ARRAY_06_POW2_SIZE > 6 - }else{ - if (index == 74) ARRAY_VALUE = ARRAY_06_STATIC_VAR_074; - else ARRAY_VALUE = ARRAY_06_STATIC_VAR_075; - } - #endif - #if ARRAY_06_POW2_SIZE > 6 - }else{ - #if ARRAY_06_POW2_SIZE > 6 - if (index < 78) { - #endif - if (index == 76) ARRAY_VALUE = ARRAY_06_STATIC_VAR_076; - else ARRAY_VALUE = ARRAY_06_STATIC_VAR_077; - #if ARRAY_06_POW2_SIZE > 6 - }else{ - if (index == 78) ARRAY_VALUE = ARRAY_06_STATIC_VAR_078; - else ARRAY_VALUE = ARRAY_06_STATIC_VAR_079; - } - #endif - } - #endif - } - #endif - #if ARRAY_06_POW2_SIZE > 6 - }else{ - #if ARRAY_06_POW2_SIZE > 6 - if (index < 88) { - #endif - #if ARRAY_06_POW2_SIZE > 6 - if (index < 84) { - #endif - #if ARRAY_06_POW2_SIZE > 6 - if (index < 82) { - #endif - if (index == 80) ARRAY_VALUE = ARRAY_06_STATIC_VAR_080; - else ARRAY_VALUE = ARRAY_06_STATIC_VAR_081; - #if ARRAY_06_POW2_SIZE > 6 - }else{ - if (index == 82) ARRAY_VALUE = ARRAY_06_STATIC_VAR_082; - else ARRAY_VALUE = ARRAY_06_STATIC_VAR_083; - } - #endif - #if ARRAY_06_POW2_SIZE > 6 - }else{ - #if ARRAY_06_POW2_SIZE > 6 - if (index < 86) { - #endif - if (index == 84) ARRAY_VALUE = ARRAY_06_STATIC_VAR_084; - else ARRAY_VALUE = ARRAY_06_STATIC_VAR_085; - #if ARRAY_06_POW2_SIZE > 6 - }else{ - if (index == 86) ARRAY_VALUE = ARRAY_06_STATIC_VAR_086; - else ARRAY_VALUE = ARRAY_06_STATIC_VAR_087; - } - #endif - } - #endif - #if ARRAY_06_POW2_SIZE > 6 - }else{ - #if ARRAY_06_POW2_SIZE > 6 - if (index < 92) { - #endif - #if ARRAY_06_POW2_SIZE > 6 - if (index < 90) { - #endif - if (index == 88) ARRAY_VALUE = ARRAY_06_STATIC_VAR_088; - else ARRAY_VALUE = ARRAY_06_STATIC_VAR_089; - #if ARRAY_06_POW2_SIZE > 6 - }else{ - if (index == 90) ARRAY_VALUE = ARRAY_06_STATIC_VAR_090; - else ARRAY_VALUE = ARRAY_06_STATIC_VAR_091; - } - #endif - #if ARRAY_06_POW2_SIZE > 6 - }else{ - #if ARRAY_06_POW2_SIZE > 6 - if (index < 94) { - #endif - if (index == 92) ARRAY_VALUE = ARRAY_06_STATIC_VAR_092; - else ARRAY_VALUE = ARRAY_06_STATIC_VAR_093; - #if ARRAY_06_POW2_SIZE > 6 - }else{ - if (index == 94) ARRAY_VALUE = ARRAY_06_STATIC_VAR_094; - else ARRAY_VALUE = ARRAY_06_STATIC_VAR_095; - } - #endif - } - #endif - } - #endif - } - #endif - #if ARRAY_06_POW2_SIZE > 6 - }else{ - #if ARRAY_06_POW2_SIZE > 6 - if (index < 112) { - #endif - #if ARRAY_06_POW2_SIZE > 6 - if (index < 104) { - #endif - #if ARRAY_06_POW2_SIZE > 6 - if (index < 100) { - #endif - #if ARRAY_06_POW2_SIZE > 6 - if (index < 98) { - #endif - if (index == 96) ARRAY_VALUE = ARRAY_06_STATIC_VAR_096; - else ARRAY_VALUE = ARRAY_06_STATIC_VAR_097; - #if ARRAY_06_POW2_SIZE > 6 - }else{ - if (index == 98) ARRAY_VALUE = ARRAY_06_STATIC_VAR_098; - else ARRAY_VALUE = ARRAY_06_STATIC_VAR_099; - } - #endif - #if ARRAY_06_POW2_SIZE > 6 - }else{ - #if ARRAY_06_POW2_SIZE > 6 - if (index < 102) { - #endif - if (index == 100) ARRAY_VALUE = ARRAY_06_STATIC_VAR_100; - else ARRAY_VALUE = ARRAY_06_STATIC_VAR_101; - #if ARRAY_06_POW2_SIZE > 6 - }else{ - if (index == 102) ARRAY_VALUE = ARRAY_06_STATIC_VAR_102; - else ARRAY_VALUE = ARRAY_06_STATIC_VAR_103; - } - #endif - } - #endif - #if ARRAY_06_POW2_SIZE > 6 - }else{ - #if ARRAY_06_POW2_SIZE > 6 - if (index < 108) { - #endif - #if ARRAY_06_POW2_SIZE > 6 - if (index < 106) { - #endif - if (index == 104) ARRAY_VALUE = ARRAY_06_STATIC_VAR_104; - else ARRAY_VALUE = ARRAY_06_STATIC_VAR_105; - #if ARRAY_06_POW2_SIZE > 6 - }else{ - if (index == 106) ARRAY_VALUE = ARRAY_06_STATIC_VAR_106; - else ARRAY_VALUE = ARRAY_06_STATIC_VAR_107; - } - #endif - #if ARRAY_06_POW2_SIZE > 6 - }else{ - #if ARRAY_06_POW2_SIZE > 6 - if (index < 110) { - #endif - if (index == 108) ARRAY_VALUE = ARRAY_06_STATIC_VAR_108; - else ARRAY_VALUE = ARRAY_06_STATIC_VAR_109; - #if ARRAY_06_POW2_SIZE > 6 - }else{ - if (index == 110) ARRAY_VALUE = ARRAY_06_STATIC_VAR_110; - else ARRAY_VALUE = ARRAY_06_STATIC_VAR_111; - } - #endif - } - #endif - } - #endif - #if ARRAY_06_POW2_SIZE > 6 - }else{ - #if ARRAY_06_POW2_SIZE > 6 - if (index < 120) { - #endif - #if ARRAY_06_POW2_SIZE > 6 - if (index < 116) { - #endif - #if ARRAY_06_POW2_SIZE > 6 - if (index < 114) { - #endif - if (index == 112) ARRAY_VALUE = ARRAY_06_STATIC_VAR_112; - else ARRAY_VALUE = ARRAY_06_STATIC_VAR_113; - #if ARRAY_06_POW2_SIZE > 6 - }else{ - if (index == 114) ARRAY_VALUE = ARRAY_06_STATIC_VAR_114; - else ARRAY_VALUE = ARRAY_06_STATIC_VAR_115; - } - #endif - #if ARRAY_06_POW2_SIZE > 6 - }else{ - #if ARRAY_06_POW2_SIZE > 6 - if (index < 118) { - #endif - if (index == 116) ARRAY_VALUE = ARRAY_06_STATIC_VAR_116; - else ARRAY_VALUE = ARRAY_06_STATIC_VAR_117; - #if ARRAY_06_POW2_SIZE > 6 - }else{ - if (index == 118) ARRAY_VALUE = ARRAY_06_STATIC_VAR_118; - else ARRAY_VALUE = ARRAY_06_STATIC_VAR_119; - } - #endif - } - #endif - #if ARRAY_06_POW2_SIZE > 6 - }else{ - #if ARRAY_06_POW2_SIZE > 6 - if (index < 124) { - #endif - #if ARRAY_06_POW2_SIZE > 6 - if (index < 122) { - #endif - if (index == 120) ARRAY_VALUE = ARRAY_06_STATIC_VAR_120; - else ARRAY_VALUE = ARRAY_06_STATIC_VAR_121; - #if ARRAY_06_POW2_SIZE > 6 - }else{ - if (index == 122) ARRAY_VALUE = ARRAY_06_STATIC_VAR_122; - else ARRAY_VALUE = ARRAY_06_STATIC_VAR_123; - } - #endif - #if ARRAY_06_POW2_SIZE > 6 - }else{ - #if ARRAY_06_POW2_SIZE > 6 - if (index < 126) { - #endif - if (index == 124) ARRAY_VALUE = ARRAY_06_STATIC_VAR_124; - else ARRAY_VALUE = ARRAY_06_STATIC_VAR_125; - #if ARRAY_06_POW2_SIZE > 6 - }else{ - if (index == 126) ARRAY_VALUE = ARRAY_06_STATIC_VAR_126; - else ARRAY_VALUE = ARRAY_06_STATIC_VAR_127; - } - #endif - } - #endif - } - #endif - } - #endif - } - #endif - } - #endif - #if ARRAY_06_POW2_SIZE > 7 - }else{ - #if ARRAY_06_POW2_SIZE > 7 - if (index < 192) { - #endif - #if ARRAY_06_POW2_SIZE > 7 - if (index < 160) { - #endif - #if ARRAY_06_POW2_SIZE > 7 - if (index < 144) { - #endif - #if ARRAY_06_POW2_SIZE > 7 - if (index < 136) { - #endif - #if ARRAY_06_POW2_SIZE > 7 - if (index < 132) { - #endif - #if ARRAY_06_POW2_SIZE > 7 - if (index < 130) { - #endif - if (index == 128) ARRAY_VALUE = ARRAY_06_STATIC_VAR_128; - else ARRAY_VALUE = ARRAY_06_STATIC_VAR_129; - #if ARRAY_06_POW2_SIZE > 7 - }else{ - if (index == 130) ARRAY_VALUE = ARRAY_06_STATIC_VAR_130; - else ARRAY_VALUE = ARRAY_06_STATIC_VAR_131; - } - #endif - #if ARRAY_06_POW2_SIZE > 7 - }else{ - #if ARRAY_06_POW2_SIZE > 7 - if (index < 134) { - #endif - if (index == 132) ARRAY_VALUE = ARRAY_06_STATIC_VAR_132; - else ARRAY_VALUE = ARRAY_06_STATIC_VAR_133; - #if ARRAY_06_POW2_SIZE > 7 - }else{ - if (index == 134) ARRAY_VALUE = ARRAY_06_STATIC_VAR_134; - else ARRAY_VALUE = ARRAY_06_STATIC_VAR_135; - } - #endif - } - #endif - #if ARRAY_06_POW2_SIZE > 7 - }else{ - #if ARRAY_06_POW2_SIZE > 7 - if (index < 140) { - #endif - #if ARRAY_06_POW2_SIZE > 7 - if (index < 138) { - #endif - if (index == 136) ARRAY_VALUE = ARRAY_06_STATIC_VAR_136; - else ARRAY_VALUE = ARRAY_06_STATIC_VAR_137; - #if ARRAY_06_POW2_SIZE > 7 - }else{ - if (index == 138) ARRAY_VALUE = ARRAY_06_STATIC_VAR_138; - else ARRAY_VALUE = ARRAY_06_STATIC_VAR_139; - } - #endif - #if ARRAY_06_POW2_SIZE > 7 - }else{ - #if ARRAY_06_POW2_SIZE > 7 - if (index < 142) { - #endif - if (index == 140) ARRAY_VALUE = ARRAY_06_STATIC_VAR_140; - else ARRAY_VALUE = ARRAY_06_STATIC_VAR_141; - #if ARRAY_06_POW2_SIZE > 7 - }else{ - if (index == 142) ARRAY_VALUE = ARRAY_06_STATIC_VAR_142; - else ARRAY_VALUE = ARRAY_06_STATIC_VAR_143; - } - #endif - } - #endif - } - #endif - #if ARRAY_06_POW2_SIZE > 7 - }else{ - #if ARRAY_06_POW2_SIZE > 7 - if (index < 152) { - #endif - #if ARRAY_06_POW2_SIZE > 7 - if (index < 148) { - #endif - #if ARRAY_06_POW2_SIZE > 7 - if (index < 146) { - #endif - if (index == 144) ARRAY_VALUE = ARRAY_06_STATIC_VAR_144; - else ARRAY_VALUE = ARRAY_06_STATIC_VAR_145; - #if ARRAY_06_POW2_SIZE > 7 - }else{ - if (index == 146) ARRAY_VALUE = ARRAY_06_STATIC_VAR_146; - else ARRAY_VALUE = ARRAY_06_STATIC_VAR_147; - } - #endif - #if ARRAY_06_POW2_SIZE > 7 - }else{ - #if ARRAY_06_POW2_SIZE > 7 - if (index < 150) { - #endif - if (index == 148) ARRAY_VALUE = ARRAY_06_STATIC_VAR_148; - else ARRAY_VALUE = ARRAY_06_STATIC_VAR_149; - #if ARRAY_06_POW2_SIZE > 7 - }else{ - if (index == 150) ARRAY_VALUE = ARRAY_06_STATIC_VAR_150; - else ARRAY_VALUE = ARRAY_06_STATIC_VAR_151; - } - #endif - } - #endif - #if ARRAY_06_POW2_SIZE > 7 - }else{ - #if ARRAY_06_POW2_SIZE > 7 - if (index < 156) { - #endif - #if ARRAY_06_POW2_SIZE > 7 - if (index < 154) { - #endif - if (index == 152) ARRAY_VALUE = ARRAY_06_STATIC_VAR_152; - else ARRAY_VALUE = ARRAY_06_STATIC_VAR_153; - #if ARRAY_06_POW2_SIZE > 7 - }else{ - if (index == 154) ARRAY_VALUE = ARRAY_06_STATIC_VAR_154; - else ARRAY_VALUE = ARRAY_06_STATIC_VAR_155; - } - #endif - #if ARRAY_06_POW2_SIZE > 7 - }else{ - #if ARRAY_06_POW2_SIZE > 7 - if (index < 158) { - #endif - if (index == 156) ARRAY_VALUE = ARRAY_06_STATIC_VAR_156; - else ARRAY_VALUE = ARRAY_06_STATIC_VAR_157; - #if ARRAY_06_POW2_SIZE > 7 - }else{ - if (index == 158) ARRAY_VALUE = ARRAY_06_STATIC_VAR_158; - else ARRAY_VALUE = ARRAY_06_STATIC_VAR_159; - } - #endif - } - #endif - } - #endif - } - #endif - #if ARRAY_06_POW2_SIZE > 7 - }else{ - #if ARRAY_06_POW2_SIZE > 7 - if (index < 176) { - #endif - #if ARRAY_06_POW2_SIZE > 7 - if (index < 168) { - #endif - #if ARRAY_06_POW2_SIZE > 7 - if (index < 164) { - #endif - #if ARRAY_06_POW2_SIZE > 7 - if (index < 162) { - #endif - if (index == 160) ARRAY_VALUE = ARRAY_06_STATIC_VAR_160; - else ARRAY_VALUE = ARRAY_06_STATIC_VAR_161; - #if ARRAY_06_POW2_SIZE > 7 - }else{ - if (index == 162) ARRAY_VALUE = ARRAY_06_STATIC_VAR_162; - else ARRAY_VALUE = ARRAY_06_STATIC_VAR_163; - } - #endif - #if ARRAY_06_POW2_SIZE > 7 - }else{ - #if ARRAY_06_POW2_SIZE > 7 - if (index < 166) { - #endif - if (index == 164) ARRAY_VALUE = ARRAY_06_STATIC_VAR_164; - else ARRAY_VALUE = ARRAY_06_STATIC_VAR_165; - #if ARRAY_06_POW2_SIZE > 7 - }else{ - if (index == 166) ARRAY_VALUE = ARRAY_06_STATIC_VAR_166; - else ARRAY_VALUE = ARRAY_06_STATIC_VAR_167; - } - #endif - } - #endif - #if ARRAY_06_POW2_SIZE > 7 - }else{ - #if ARRAY_06_POW2_SIZE > 7 - if (index < 172) { - #endif - #if ARRAY_06_POW2_SIZE > 7 - if (index < 170) { - #endif - if (index == 168) ARRAY_VALUE = ARRAY_06_STATIC_VAR_168; - else ARRAY_VALUE = ARRAY_06_STATIC_VAR_169; - #if ARRAY_06_POW2_SIZE > 7 - }else{ - if (index == 170) ARRAY_VALUE = ARRAY_06_STATIC_VAR_170; - else ARRAY_VALUE = ARRAY_06_STATIC_VAR_171; - } - #endif - #if ARRAY_06_POW2_SIZE > 7 - }else{ - #if ARRAY_06_POW2_SIZE > 7 - if (index < 174) { - #endif - if (index == 172) ARRAY_VALUE = ARRAY_06_STATIC_VAR_172; - else ARRAY_VALUE = ARRAY_06_STATIC_VAR_173; - #if ARRAY_06_POW2_SIZE > 7 - }else{ - if (index == 174) ARRAY_VALUE = ARRAY_06_STATIC_VAR_174; - else ARRAY_VALUE = ARRAY_06_STATIC_VAR_175; - } - #endif - } - #endif - } - #endif - #if ARRAY_06_POW2_SIZE > 7 - }else{ - #if ARRAY_06_POW2_SIZE > 7 - if (index < 184) { - #endif - #if ARRAY_06_POW2_SIZE > 7 - if (index < 180) { - #endif - #if ARRAY_06_POW2_SIZE > 7 - if (index < 178) { - #endif - if (index == 176) ARRAY_VALUE = ARRAY_06_STATIC_VAR_176; - else ARRAY_VALUE = ARRAY_06_STATIC_VAR_177; - #if ARRAY_06_POW2_SIZE > 7 - }else{ - if (index == 178) ARRAY_VALUE = ARRAY_06_STATIC_VAR_178; - else ARRAY_VALUE = ARRAY_06_STATIC_VAR_179; - } - #endif - #if ARRAY_06_POW2_SIZE > 7 - }else{ - #if ARRAY_06_POW2_SIZE > 7 - if (index < 182) { - #endif - if (index == 180) ARRAY_VALUE = ARRAY_06_STATIC_VAR_180; - else ARRAY_VALUE = ARRAY_06_STATIC_VAR_181; - #if ARRAY_06_POW2_SIZE > 7 - }else{ - if (index == 182) ARRAY_VALUE = ARRAY_06_STATIC_VAR_182; - else ARRAY_VALUE = ARRAY_06_STATIC_VAR_183; - } - #endif - } - #endif - #if ARRAY_06_POW2_SIZE > 7 - }else{ - #if ARRAY_06_POW2_SIZE > 7 - if (index < 188) { - #endif - #if ARRAY_06_POW2_SIZE > 7 - if (index < 186) { - #endif - if (index == 184) ARRAY_VALUE = ARRAY_06_STATIC_VAR_184; - else ARRAY_VALUE = ARRAY_06_STATIC_VAR_185; - #if ARRAY_06_POW2_SIZE > 7 - }else{ - if (index == 186) ARRAY_VALUE = ARRAY_06_STATIC_VAR_186; - else ARRAY_VALUE = ARRAY_06_STATIC_VAR_187; - } - #endif - #if ARRAY_06_POW2_SIZE > 7 - }else{ - #if ARRAY_06_POW2_SIZE > 7 - if (index < 190) { - #endif - if (index == 188) ARRAY_VALUE = ARRAY_06_STATIC_VAR_188; - else ARRAY_VALUE = ARRAY_06_STATIC_VAR_189; - #if ARRAY_06_POW2_SIZE > 7 - }else{ - if (index == 190) ARRAY_VALUE = ARRAY_06_STATIC_VAR_190; - else ARRAY_VALUE = ARRAY_06_STATIC_VAR_191; - } - #endif - } - #endif - } - #endif - } - #endif - } - #endif - #if ARRAY_06_POW2_SIZE > 7 - }else{ - #if ARRAY_06_POW2_SIZE > 7 - if (index < 224) { - #endif - #if ARRAY_06_POW2_SIZE > 7 - if (index < 208) { - #endif - #if ARRAY_06_POW2_SIZE > 7 - if (index < 200) { - #endif - #if ARRAY_06_POW2_SIZE > 7 - if (index < 196) { - #endif - #if ARRAY_06_POW2_SIZE > 7 - if (index < 194) { - #endif - if (index == 192) ARRAY_VALUE = ARRAY_06_STATIC_VAR_192; - else ARRAY_VALUE = ARRAY_06_STATIC_VAR_193; - #if ARRAY_06_POW2_SIZE > 7 - }else{ - if (index == 194) ARRAY_VALUE = ARRAY_06_STATIC_VAR_194; - else ARRAY_VALUE = ARRAY_06_STATIC_VAR_195; - } - #endif - #if ARRAY_06_POW2_SIZE > 7 - }else{ - #if ARRAY_06_POW2_SIZE > 7 - if (index < 198) { - #endif - if (index == 196) ARRAY_VALUE = ARRAY_06_STATIC_VAR_196; - else ARRAY_VALUE = ARRAY_06_STATIC_VAR_197; - #if ARRAY_06_POW2_SIZE > 7 - }else{ - if (index == 198) ARRAY_VALUE = ARRAY_06_STATIC_VAR_198; - else ARRAY_VALUE = ARRAY_06_STATIC_VAR_199; - } - #endif - } - #endif - #if ARRAY_06_POW2_SIZE > 7 - }else{ - #if ARRAY_06_POW2_SIZE > 7 - if (index < 204) { - #endif - #if ARRAY_06_POW2_SIZE > 7 - if (index < 202) { - #endif - if (index == 200) ARRAY_VALUE = ARRAY_06_STATIC_VAR_200; - else ARRAY_VALUE = ARRAY_06_STATIC_VAR_201; - #if ARRAY_06_POW2_SIZE > 7 - }else{ - if (index == 202) ARRAY_VALUE = ARRAY_06_STATIC_VAR_202; - else ARRAY_VALUE = ARRAY_06_STATIC_VAR_203; - } - #endif - #if ARRAY_06_POW2_SIZE > 7 - }else{ - #if ARRAY_06_POW2_SIZE > 7 - if (index < 206) { - #endif - if (index == 204) ARRAY_VALUE = ARRAY_06_STATIC_VAR_204; - else ARRAY_VALUE = ARRAY_06_STATIC_VAR_205; - #if ARRAY_06_POW2_SIZE > 7 - }else{ - if (index == 206) ARRAY_VALUE = ARRAY_06_STATIC_VAR_206; - else ARRAY_VALUE = ARRAY_06_STATIC_VAR_207; - } - #endif - } - #endif - } - #endif - #if ARRAY_06_POW2_SIZE > 7 - }else{ - #if ARRAY_06_POW2_SIZE > 7 - if (index < 216) { - #endif - #if ARRAY_06_POW2_SIZE > 7 - if (index < 212) { - #endif - #if ARRAY_06_POW2_SIZE > 7 - if (index < 210) { - #endif - if (index == 208) ARRAY_VALUE = ARRAY_06_STATIC_VAR_208; - else ARRAY_VALUE = ARRAY_06_STATIC_VAR_209; - #if ARRAY_06_POW2_SIZE > 7 - }else{ - if (index == 210) ARRAY_VALUE = ARRAY_06_STATIC_VAR_210; - else ARRAY_VALUE = ARRAY_06_STATIC_VAR_211; - } - #endif - #if ARRAY_06_POW2_SIZE > 7 - }else{ - #if ARRAY_06_POW2_SIZE > 7 - if (index < 214) { - #endif - if (index == 212) ARRAY_VALUE = ARRAY_06_STATIC_VAR_212; - else ARRAY_VALUE = ARRAY_06_STATIC_VAR_213; - #if ARRAY_06_POW2_SIZE > 7 - }else{ - if (index == 214) ARRAY_VALUE = ARRAY_06_STATIC_VAR_214; - else ARRAY_VALUE = ARRAY_06_STATIC_VAR_215; - } - #endif - } - #endif - #if ARRAY_06_POW2_SIZE > 7 - }else{ - #if ARRAY_06_POW2_SIZE > 7 - if (index < 220) { - #endif - #if ARRAY_06_POW2_SIZE > 7 - if (index < 218) { - #endif - if (index == 216) ARRAY_VALUE = ARRAY_06_STATIC_VAR_216; - else ARRAY_VALUE = ARRAY_06_STATIC_VAR_217; - #if ARRAY_06_POW2_SIZE > 7 - }else{ - if (index == 218) ARRAY_VALUE = ARRAY_06_STATIC_VAR_218; - else ARRAY_VALUE = ARRAY_06_STATIC_VAR_219; - } - #endif - #if ARRAY_06_POW2_SIZE > 7 - }else{ - #if ARRAY_06_POW2_SIZE > 7 - if (index < 222) { - #endif - if (index == 220) ARRAY_VALUE = ARRAY_06_STATIC_VAR_220; - else ARRAY_VALUE = ARRAY_06_STATIC_VAR_221; - #if ARRAY_06_POW2_SIZE > 7 - }else{ - if (index == 222) ARRAY_VALUE = ARRAY_06_STATIC_VAR_222; - else ARRAY_VALUE = ARRAY_06_STATIC_VAR_223; - } - #endif - } - #endif - } - #endif - } - #endif - #if ARRAY_06_POW2_SIZE > 7 - }else{ - #if ARRAY_06_POW2_SIZE > 7 - if (index < 240) { - #endif - #if ARRAY_06_POW2_SIZE > 7 - if (index < 232) { - #endif - #if ARRAY_06_POW2_SIZE > 7 - if (index < 228) { - #endif - #if ARRAY_06_POW2_SIZE > 7 - if (index < 226) { - #endif - if (index == 224) ARRAY_VALUE = ARRAY_06_STATIC_VAR_224; - else ARRAY_VALUE = ARRAY_06_STATIC_VAR_225; - #if ARRAY_06_POW2_SIZE > 7 - }else{ - if (index == 226) ARRAY_VALUE = ARRAY_06_STATIC_VAR_226; - else ARRAY_VALUE = ARRAY_06_STATIC_VAR_227; - } - #endif - #if ARRAY_06_POW2_SIZE > 7 - }else{ - #if ARRAY_06_POW2_SIZE > 7 - if (index < 230) { - #endif - if (index == 228) ARRAY_VALUE = ARRAY_06_STATIC_VAR_228; - else ARRAY_VALUE = ARRAY_06_STATIC_VAR_229; - #if ARRAY_06_POW2_SIZE > 7 - }else{ - if (index == 230) ARRAY_VALUE = ARRAY_06_STATIC_VAR_230; - else ARRAY_VALUE = ARRAY_06_STATIC_VAR_231; - } - #endif - } - #endif - #if ARRAY_06_POW2_SIZE > 7 - }else{ - #if ARRAY_06_POW2_SIZE > 7 - if (index < 236) { - #endif - #if ARRAY_06_POW2_SIZE > 7 - if (index < 234) { - #endif - if (index == 232) ARRAY_VALUE = ARRAY_06_STATIC_VAR_232; - else ARRAY_VALUE = ARRAY_06_STATIC_VAR_233; - #if ARRAY_06_POW2_SIZE > 7 - }else{ - if (index == 234) ARRAY_VALUE = ARRAY_06_STATIC_VAR_234; - else ARRAY_VALUE = ARRAY_06_STATIC_VAR_235; - } - #endif - #if ARRAY_06_POW2_SIZE > 7 - }else{ - #if ARRAY_06_POW2_SIZE > 7 - if (index < 238) { - #endif - if (index == 236) ARRAY_VALUE = ARRAY_06_STATIC_VAR_236; - else ARRAY_VALUE = ARRAY_06_STATIC_VAR_237; - #if ARRAY_06_POW2_SIZE > 7 - }else{ - if (index == 238) ARRAY_VALUE = ARRAY_06_STATIC_VAR_238; - else ARRAY_VALUE = ARRAY_06_STATIC_VAR_239; - } - #endif - } - #endif - } - #endif - #if ARRAY_06_POW2_SIZE > 7 - }else{ - #if ARRAY_06_POW2_SIZE > 7 - if (index < 248) { - #endif - #if ARRAY_06_POW2_SIZE > 7 - if (index < 244) { - #endif - #if ARRAY_06_POW2_SIZE > 7 - if (index < 242) { - #endif - if (index == 240) ARRAY_VALUE = ARRAY_06_STATIC_VAR_240; - else ARRAY_VALUE = ARRAY_06_STATIC_VAR_241; - #if ARRAY_06_POW2_SIZE > 7 - }else{ - if (index == 242) ARRAY_VALUE = ARRAY_06_STATIC_VAR_242; - else ARRAY_VALUE = ARRAY_06_STATIC_VAR_243; - } - #endif - #if ARRAY_06_POW2_SIZE > 7 - }else{ - #if ARRAY_06_POW2_SIZE > 7 - if (index < 246) { - #endif - if (index == 244) ARRAY_VALUE = ARRAY_06_STATIC_VAR_244; - else ARRAY_VALUE = ARRAY_06_STATIC_VAR_245; - #if ARRAY_06_POW2_SIZE > 7 - }else{ - if (index == 246) ARRAY_VALUE = ARRAY_06_STATIC_VAR_246; - else ARRAY_VALUE = ARRAY_06_STATIC_VAR_247; - } - #endif - } - #endif - #if ARRAY_06_POW2_SIZE > 7 - }else{ - #if ARRAY_06_POW2_SIZE > 7 - if (index < 252) { - #endif - #if ARRAY_06_POW2_SIZE > 7 - if (index < 250) { - #endif - if (index == 248) ARRAY_VALUE = ARRAY_06_STATIC_VAR_248; - else ARRAY_VALUE = ARRAY_06_STATIC_VAR_249; - #if ARRAY_06_POW2_SIZE > 7 - }else{ - if (index == 250) ARRAY_VALUE = ARRAY_06_STATIC_VAR_250; - else ARRAY_VALUE = ARRAY_06_STATIC_VAR_251; - } - #endif - #if ARRAY_06_POW2_SIZE > 7 - }else{ - #if ARRAY_06_POW2_SIZE > 7 - if (index < 254) { - #endif - if (index == 252) ARRAY_VALUE = ARRAY_06_STATIC_VAR_252; - else ARRAY_VALUE = ARRAY_06_STATIC_VAR_253; - #if ARRAY_06_POW2_SIZE > 7 - }else{ - if (index == 254) ARRAY_VALUE = ARRAY_06_STATIC_VAR_254; - else ARRAY_VALUE = ARRAY_06_STATIC_VAR_255; - } - #endif - } - #endif - } - #endif - } - #endif - } - #endif - } - #endif - } - #endif -} - -ARRAY_06_SETTER(index, value) { - #if ARRAY_06_POW2_SIZE > 7 - if (index < 128) { - #endif - #if ARRAY_06_POW2_SIZE > 6 - if (index < 64) { - #endif - #if ARRAY_06_POW2_SIZE > 5 - if (index < 32) { - #endif - #if ARRAY_06_POW2_SIZE > 4 - if (index < 16) { - #endif - #if ARRAY_06_POW2_SIZE > 3 - if (index < 8) { - #endif - #if ARRAY_06_POW2_SIZE > 2 - if (index < 4) { - #endif - #if ARRAY_06_POW2_SIZE > 1 - if (index < 2) { - #endif - if (index == 0) ARRAY_06_STATIC_VAR_000 = value; - else ARRAY_06_STATIC_VAR_001 = value; - #if ARRAY_06_POW2_SIZE > 1 - }else{ - if (index == 2) ARRAY_06_STATIC_VAR_002 = value; - else ARRAY_06_STATIC_VAR_003 = value; - } - #endif - #if ARRAY_06_POW2_SIZE > 2 - }else{ - #if ARRAY_06_POW2_SIZE > 2 - if (index < 6) { - #endif - if (index == 4) ARRAY_06_STATIC_VAR_004 = value; - else ARRAY_06_STATIC_VAR_005 = value; - #if ARRAY_06_POW2_SIZE > 2 - }else{ - if (index == 6) ARRAY_06_STATIC_VAR_006 = value; - else ARRAY_06_STATIC_VAR_007 = value; - } - #endif - } - #endif - #if ARRAY_06_POW2_SIZE > 3 - }else{ - #if ARRAY_06_POW2_SIZE > 3 - if (index < 12) { - #endif - #if ARRAY_06_POW2_SIZE > 3 - if (index < 10) { - #endif - if (index == 8) ARRAY_06_STATIC_VAR_008 = value; - else ARRAY_06_STATIC_VAR_009 = value; - #if ARRAY_06_POW2_SIZE > 3 - }else{ - if (index == 10) ARRAY_06_STATIC_VAR_010 = value; - else ARRAY_06_STATIC_VAR_011 = value; - } - #endif - #if ARRAY_06_POW2_SIZE > 3 - }else{ - #if ARRAY_06_POW2_SIZE > 3 - if (index < 14) { - #endif - if (index == 12) ARRAY_06_STATIC_VAR_012 = value; - else ARRAY_06_STATIC_VAR_013 = value; - #if ARRAY_06_POW2_SIZE > 3 - }else{ - if (index == 14) ARRAY_06_STATIC_VAR_014 = value; - else ARRAY_06_STATIC_VAR_015 = value; - } - #endif - } - #endif - } - #endif - #if ARRAY_06_POW2_SIZE > 4 - }else{ - #if ARRAY_06_POW2_SIZE > 4 - if (index < 24) { - #endif - #if ARRAY_06_POW2_SIZE > 4 - if (index < 20) { - #endif - #if ARRAY_06_POW2_SIZE > 4 - if (index < 18) { - #endif - if (index == 16) ARRAY_06_STATIC_VAR_016 = value; - else ARRAY_06_STATIC_VAR_017 = value; - #if ARRAY_06_POW2_SIZE > 4 - }else{ - if (index == 18) ARRAY_06_STATIC_VAR_018 = value; - else ARRAY_06_STATIC_VAR_019 = value; - } - #endif - #if ARRAY_06_POW2_SIZE > 4 - }else{ - #if ARRAY_06_POW2_SIZE > 4 - if (index < 22) { - #endif - if (index == 20) ARRAY_06_STATIC_VAR_020 = value; - else ARRAY_06_STATIC_VAR_021 = value; - #if ARRAY_06_POW2_SIZE > 4 - }else{ - if (index == 22) ARRAY_06_STATIC_VAR_022 = value; - else ARRAY_06_STATIC_VAR_023 = value; - } - #endif - } - #endif - #if ARRAY_06_POW2_SIZE > 4 - }else{ - #if ARRAY_06_POW2_SIZE > 4 - if (index < 28) { - #endif - #if ARRAY_06_POW2_SIZE > 4 - if (index < 26) { - #endif - if (index == 24) ARRAY_06_STATIC_VAR_024 = value; - else ARRAY_06_STATIC_VAR_025 = value; - #if ARRAY_06_POW2_SIZE > 4 - }else{ - if (index == 26) ARRAY_06_STATIC_VAR_026 = value; - else ARRAY_06_STATIC_VAR_027 = value; - } - #endif - #if ARRAY_06_POW2_SIZE > 4 - }else{ - #if ARRAY_06_POW2_SIZE > 4 - if (index < 30) { - #endif - if (index == 28) ARRAY_06_STATIC_VAR_028 = value; - else ARRAY_06_STATIC_VAR_029 = value; - #if ARRAY_06_POW2_SIZE > 4 - }else{ - if (index == 30) ARRAY_06_STATIC_VAR_030 = value; - else ARRAY_06_STATIC_VAR_031 = value; - } - #endif - } - #endif - } - #endif - } - #endif - #if ARRAY_06_POW2_SIZE > 5 - }else{ - #if ARRAY_06_POW2_SIZE > 5 - if (index < 48) { - #endif - #if ARRAY_06_POW2_SIZE > 5 - if (index < 40) { - #endif - #if ARRAY_06_POW2_SIZE > 5 - if (index < 36) { - #endif - #if ARRAY_06_POW2_SIZE > 5 - if (index < 34) { - #endif - if (index == 32) ARRAY_06_STATIC_VAR_032 = value; - else ARRAY_06_STATIC_VAR_033 = value; - #if ARRAY_06_POW2_SIZE > 5 - }else{ - if (index == 34) ARRAY_06_STATIC_VAR_034 = value; - else ARRAY_06_STATIC_VAR_035 = value; - } - #endif - #if ARRAY_06_POW2_SIZE > 5 - }else{ - #if ARRAY_06_POW2_SIZE > 5 - if (index < 38) { - #endif - if (index == 36) ARRAY_06_STATIC_VAR_036 = value; - else ARRAY_06_STATIC_VAR_037 = value; - #if ARRAY_06_POW2_SIZE > 5 - }else{ - if (index == 38) ARRAY_06_STATIC_VAR_038 = value; - else ARRAY_06_STATIC_VAR_039 = value; - } - #endif - } - #endif - #if ARRAY_06_POW2_SIZE > 5 - }else{ - #if ARRAY_06_POW2_SIZE > 5 - if (index < 44) { - #endif - #if ARRAY_06_POW2_SIZE > 5 - if (index < 42) { - #endif - if (index == 40) ARRAY_06_STATIC_VAR_040 = value; - else ARRAY_06_STATIC_VAR_041 = value; - #if ARRAY_06_POW2_SIZE > 5 - }else{ - if (index == 42) ARRAY_06_STATIC_VAR_042 = value; - else ARRAY_06_STATIC_VAR_043 = value; - } - #endif - #if ARRAY_06_POW2_SIZE > 5 - }else{ - #if ARRAY_06_POW2_SIZE > 5 - if (index < 46) { - #endif - if (index == 44) ARRAY_06_STATIC_VAR_044 = value; - else ARRAY_06_STATIC_VAR_045 = value; - #if ARRAY_06_POW2_SIZE > 5 - }else{ - if (index == 46) ARRAY_06_STATIC_VAR_046 = value; - else ARRAY_06_STATIC_VAR_047 = value; - } - #endif - } - #endif - } - #endif - #if ARRAY_06_POW2_SIZE > 5 - }else{ - #if ARRAY_06_POW2_SIZE > 5 - if (index < 56) { - #endif - #if ARRAY_06_POW2_SIZE > 5 - if (index < 52) { - #endif - #if ARRAY_06_POW2_SIZE > 5 - if (index < 50) { - #endif - if (index == 48) ARRAY_06_STATIC_VAR_048 = value; - else ARRAY_06_STATIC_VAR_049 = value; - #if ARRAY_06_POW2_SIZE > 5 - }else{ - if (index == 50) ARRAY_06_STATIC_VAR_050 = value; - else ARRAY_06_STATIC_VAR_051 = value; - } - #endif - #if ARRAY_06_POW2_SIZE > 5 - }else{ - #if ARRAY_06_POW2_SIZE > 5 - if (index < 54) { - #endif - if (index == 52) ARRAY_06_STATIC_VAR_052 = value; - else ARRAY_06_STATIC_VAR_053 = value; - #if ARRAY_06_POW2_SIZE > 5 - }else{ - if (index == 54) ARRAY_06_STATIC_VAR_054 = value; - else ARRAY_06_STATIC_VAR_055 = value; - } - #endif - } - #endif - #if ARRAY_06_POW2_SIZE > 5 - }else{ - #if ARRAY_06_POW2_SIZE > 5 - if (index < 60) { - #endif - #if ARRAY_06_POW2_SIZE > 5 - if (index < 58) { - #endif - if (index == 56) ARRAY_06_STATIC_VAR_056 = value; - else ARRAY_06_STATIC_VAR_057 = value; - #if ARRAY_06_POW2_SIZE > 5 - }else{ - if (index == 58) ARRAY_06_STATIC_VAR_058 = value; - else ARRAY_06_STATIC_VAR_059 = value; - } - #endif - #if ARRAY_06_POW2_SIZE > 5 - }else{ - #if ARRAY_06_POW2_SIZE > 5 - if (index < 62) { - #endif - if (index == 60) ARRAY_06_STATIC_VAR_060 = value; - else ARRAY_06_STATIC_VAR_061 = value; - #if ARRAY_06_POW2_SIZE > 5 - }else{ - if (index == 62) ARRAY_06_STATIC_VAR_062 = value; - else ARRAY_06_STATIC_VAR_063 = value; - } - #endif - } - #endif - } - #endif - } - #endif - } - #endif - #if ARRAY_06_POW2_SIZE > 6 - }else{ - #if ARRAY_06_POW2_SIZE > 6 - if (index < 96) { - #endif - #if ARRAY_06_POW2_SIZE > 6 - if (index < 80) { - #endif - #if ARRAY_06_POW2_SIZE > 6 - if (index < 72) { - #endif - #if ARRAY_06_POW2_SIZE > 6 - if (index < 68) { - #endif - #if ARRAY_06_POW2_SIZE > 6 - if (index < 66) { - #endif - if (index == 64) ARRAY_06_STATIC_VAR_064 = value; - else ARRAY_06_STATIC_VAR_065 = value; - #if ARRAY_06_POW2_SIZE > 6 - }else{ - if (index == 66) ARRAY_06_STATIC_VAR_066 = value; - else ARRAY_06_STATIC_VAR_067 = value; - } - #endif - #if ARRAY_06_POW2_SIZE > 6 - }else{ - #if ARRAY_06_POW2_SIZE > 6 - if (index < 70) { - #endif - if (index == 68) ARRAY_06_STATIC_VAR_068 = value; - else ARRAY_06_STATIC_VAR_069 = value; - #if ARRAY_06_POW2_SIZE > 6 - }else{ - if (index == 70) ARRAY_06_STATIC_VAR_070 = value; - else ARRAY_06_STATIC_VAR_071 = value; - } - #endif - } - #endif - #if ARRAY_06_POW2_SIZE > 6 - }else{ - #if ARRAY_06_POW2_SIZE > 6 - if (index < 76) { - #endif - #if ARRAY_06_POW2_SIZE > 6 - if (index < 74) { - #endif - if (index == 72) ARRAY_06_STATIC_VAR_072 = value; - else ARRAY_06_STATIC_VAR_073 = value; - #if ARRAY_06_POW2_SIZE > 6 - }else{ - if (index == 74) ARRAY_06_STATIC_VAR_074 = value; - else ARRAY_06_STATIC_VAR_075 = value; - } - #endif - #if ARRAY_06_POW2_SIZE > 6 - }else{ - #if ARRAY_06_POW2_SIZE > 6 - if (index < 78) { - #endif - if (index == 76) ARRAY_06_STATIC_VAR_076 = value; - else ARRAY_06_STATIC_VAR_077 = value; - #if ARRAY_06_POW2_SIZE > 6 - }else{ - if (index == 78) ARRAY_06_STATIC_VAR_078 = value; - else ARRAY_06_STATIC_VAR_079 = value; - } - #endif - } - #endif - } - #endif - #if ARRAY_06_POW2_SIZE > 6 - }else{ - #if ARRAY_06_POW2_SIZE > 6 - if (index < 88) { - #endif - #if ARRAY_06_POW2_SIZE > 6 - if (index < 84) { - #endif - #if ARRAY_06_POW2_SIZE > 6 - if (index < 82) { - #endif - if (index == 80) ARRAY_06_STATIC_VAR_080 = value; - else ARRAY_06_STATIC_VAR_081 = value; - #if ARRAY_06_POW2_SIZE > 6 - }else{ - if (index == 82) ARRAY_06_STATIC_VAR_082 = value; - else ARRAY_06_STATIC_VAR_083 = value; - } - #endif - #if ARRAY_06_POW2_SIZE > 6 - }else{ - #if ARRAY_06_POW2_SIZE > 6 - if (index < 86) { - #endif - if (index == 84) ARRAY_06_STATIC_VAR_084 = value; - else ARRAY_06_STATIC_VAR_085 = value; - #if ARRAY_06_POW2_SIZE > 6 - }else{ - if (index == 86) ARRAY_06_STATIC_VAR_086 = value; - else ARRAY_06_STATIC_VAR_087 = value; - } - #endif - } - #endif - #if ARRAY_06_POW2_SIZE > 6 - }else{ - #if ARRAY_06_POW2_SIZE > 6 - if (index < 92) { - #endif - #if ARRAY_06_POW2_SIZE > 6 - if (index < 90) { - #endif - if (index == 88) ARRAY_06_STATIC_VAR_088 = value; - else ARRAY_06_STATIC_VAR_089 = value; - #if ARRAY_06_POW2_SIZE > 6 - }else{ - if (index == 90) ARRAY_06_STATIC_VAR_090 = value; - else ARRAY_06_STATIC_VAR_091 = value; - } - #endif - #if ARRAY_06_POW2_SIZE > 6 - }else{ - #if ARRAY_06_POW2_SIZE > 6 - if (index < 94) { - #endif - if (index == 92) ARRAY_06_STATIC_VAR_092 = value; - else ARRAY_06_STATIC_VAR_093 = value; - #if ARRAY_06_POW2_SIZE > 6 - }else{ - if (index == 94) ARRAY_06_STATIC_VAR_094 = value; - else ARRAY_06_STATIC_VAR_095 = value; - } - #endif - } - #endif - } - #endif - } - #endif - #if ARRAY_06_POW2_SIZE > 6 - }else{ - #if ARRAY_06_POW2_SIZE > 6 - if (index < 112) { - #endif - #if ARRAY_06_POW2_SIZE > 6 - if (index < 104) { - #endif - #if ARRAY_06_POW2_SIZE > 6 - if (index < 100) { - #endif - #if ARRAY_06_POW2_SIZE > 6 - if (index < 98) { - #endif - if (index == 96) ARRAY_06_STATIC_VAR_096 = value; - else ARRAY_06_STATIC_VAR_097 = value; - #if ARRAY_06_POW2_SIZE > 6 - }else{ - if (index == 98) ARRAY_06_STATIC_VAR_098 = value; - else ARRAY_06_STATIC_VAR_099 = value; - } - #endif - #if ARRAY_06_POW2_SIZE > 6 - }else{ - #if ARRAY_06_POW2_SIZE > 6 - if (index < 102) { - #endif - if (index == 100) ARRAY_06_STATIC_VAR_100 = value; - else ARRAY_06_STATIC_VAR_101 = value; - #if ARRAY_06_POW2_SIZE > 6 - }else{ - if (index == 102) ARRAY_06_STATIC_VAR_102 = value; - else ARRAY_06_STATIC_VAR_103 = value; - } - #endif - } - #endif - #if ARRAY_06_POW2_SIZE > 6 - }else{ - #if ARRAY_06_POW2_SIZE > 6 - if (index < 108) { - #endif - #if ARRAY_06_POW2_SIZE > 6 - if (index < 106) { - #endif - if (index == 104) ARRAY_06_STATIC_VAR_104 = value; - else ARRAY_06_STATIC_VAR_105 = value; - #if ARRAY_06_POW2_SIZE > 6 - }else{ - if (index == 106) ARRAY_06_STATIC_VAR_106 = value; - else ARRAY_06_STATIC_VAR_107 = value; - } - #endif - #if ARRAY_06_POW2_SIZE > 6 - }else{ - #if ARRAY_06_POW2_SIZE > 6 - if (index < 110) { - #endif - if (index == 108) ARRAY_06_STATIC_VAR_108 = value; - else ARRAY_06_STATIC_VAR_109 = value; - #if ARRAY_06_POW2_SIZE > 6 - }else{ - if (index == 110) ARRAY_06_STATIC_VAR_110 = value; - else ARRAY_06_STATIC_VAR_111 = value; - } - #endif - } - #endif - } - #endif - #if ARRAY_06_POW2_SIZE > 6 - }else{ - #if ARRAY_06_POW2_SIZE > 6 - if (index < 120) { - #endif - #if ARRAY_06_POW2_SIZE > 6 - if (index < 116) { - #endif - #if ARRAY_06_POW2_SIZE > 6 - if (index < 114) { - #endif - if (index == 112) ARRAY_06_STATIC_VAR_112 = value; - else ARRAY_06_STATIC_VAR_113 = value; - #if ARRAY_06_POW2_SIZE > 6 - }else{ - if (index == 114) ARRAY_06_STATIC_VAR_114 = value; - else ARRAY_06_STATIC_VAR_115 = value; - } - #endif - #if ARRAY_06_POW2_SIZE > 6 - }else{ - #if ARRAY_06_POW2_SIZE > 6 - if (index < 118) { - #endif - if (index == 116) ARRAY_06_STATIC_VAR_116 = value; - else ARRAY_06_STATIC_VAR_117 = value; - #if ARRAY_06_POW2_SIZE > 6 - }else{ - if (index == 118) ARRAY_06_STATIC_VAR_118 = value; - else ARRAY_06_STATIC_VAR_119 = value; - } - #endif - } - #endif - #if ARRAY_06_POW2_SIZE > 6 - }else{ - #if ARRAY_06_POW2_SIZE > 6 - if (index < 124) { - #endif - #if ARRAY_06_POW2_SIZE > 6 - if (index < 122) { - #endif - if (index == 120) ARRAY_06_STATIC_VAR_120 = value; - else ARRAY_06_STATIC_VAR_121 = value; - #if ARRAY_06_POW2_SIZE > 6 - }else{ - if (index == 122) ARRAY_06_STATIC_VAR_122 = value; - else ARRAY_06_STATIC_VAR_123 = value; - } - #endif - #if ARRAY_06_POW2_SIZE > 6 - }else{ - #if ARRAY_06_POW2_SIZE > 6 - if (index < 126) { - #endif - if (index == 124) ARRAY_06_STATIC_VAR_124 = value; - else ARRAY_06_STATIC_VAR_125 = value; - #if ARRAY_06_POW2_SIZE > 6 - }else{ - if (index == 126) ARRAY_06_STATIC_VAR_126 = value; - else ARRAY_06_STATIC_VAR_127 = value; - } - #endif - } - #endif - } - #endif - } - #endif - } - #endif - } - #endif - #if ARRAY_06_POW2_SIZE > 7 - }else{ - #if ARRAY_06_POW2_SIZE > 7 - if (index < 192) { - #endif - #if ARRAY_06_POW2_SIZE > 7 - if (index < 160) { - #endif - #if ARRAY_06_POW2_SIZE > 7 - if (index < 144) { - #endif - #if ARRAY_06_POW2_SIZE > 7 - if (index < 136) { - #endif - #if ARRAY_06_POW2_SIZE > 7 - if (index < 132) { - #endif - #if ARRAY_06_POW2_SIZE > 7 - if (index < 130) { - #endif - if (index == 128) ARRAY_06_STATIC_VAR_128 = value; - else ARRAY_06_STATIC_VAR_129 = value; - #if ARRAY_06_POW2_SIZE > 7 - }else{ - if (index == 130) ARRAY_06_STATIC_VAR_130 = value; - else ARRAY_06_STATIC_VAR_131 = value; - } - #endif - #if ARRAY_06_POW2_SIZE > 7 - }else{ - #if ARRAY_06_POW2_SIZE > 7 - if (index < 134) { - #endif - if (index == 132) ARRAY_06_STATIC_VAR_132 = value; - else ARRAY_06_STATIC_VAR_133 = value; - #if ARRAY_06_POW2_SIZE > 7 - }else{ - if (index == 134) ARRAY_06_STATIC_VAR_134 = value; - else ARRAY_06_STATIC_VAR_135 = value; - } - #endif - } - #endif - #if ARRAY_06_POW2_SIZE > 7 - }else{ - #if ARRAY_06_POW2_SIZE > 7 - if (index < 140) { - #endif - #if ARRAY_06_POW2_SIZE > 7 - if (index < 138) { - #endif - if (index == 136) ARRAY_06_STATIC_VAR_136 = value; - else ARRAY_06_STATIC_VAR_137 = value; - #if ARRAY_06_POW2_SIZE > 7 - }else{ - if (index == 138) ARRAY_06_STATIC_VAR_138 = value; - else ARRAY_06_STATIC_VAR_139 = value; - } - #endif - #if ARRAY_06_POW2_SIZE > 7 - }else{ - #if ARRAY_06_POW2_SIZE > 7 - if (index < 142) { - #endif - if (index == 140) ARRAY_06_STATIC_VAR_140 = value; - else ARRAY_06_STATIC_VAR_141 = value; - #if ARRAY_06_POW2_SIZE > 7 - }else{ - if (index == 142) ARRAY_06_STATIC_VAR_142 = value; - else ARRAY_06_STATIC_VAR_143 = value; - } - #endif - } - #endif - } - #endif - #if ARRAY_06_POW2_SIZE > 7 - }else{ - #if ARRAY_06_POW2_SIZE > 7 - if (index < 152) { - #endif - #if ARRAY_06_POW2_SIZE > 7 - if (index < 148) { - #endif - #if ARRAY_06_POW2_SIZE > 7 - if (index < 146) { - #endif - if (index == 144) ARRAY_06_STATIC_VAR_144 = value; - else ARRAY_06_STATIC_VAR_145 = value; - #if ARRAY_06_POW2_SIZE > 7 - }else{ - if (index == 146) ARRAY_06_STATIC_VAR_146 = value; - else ARRAY_06_STATIC_VAR_147 = value; - } - #endif - #if ARRAY_06_POW2_SIZE > 7 - }else{ - #if ARRAY_06_POW2_SIZE > 7 - if (index < 150) { - #endif - if (index == 148) ARRAY_06_STATIC_VAR_148 = value; - else ARRAY_06_STATIC_VAR_149 = value; - #if ARRAY_06_POW2_SIZE > 7 - }else{ - if (index == 150) ARRAY_06_STATIC_VAR_150 = value; - else ARRAY_06_STATIC_VAR_151 = value; - } - #endif - } - #endif - #if ARRAY_06_POW2_SIZE > 7 - }else{ - #if ARRAY_06_POW2_SIZE > 7 - if (index < 156) { - #endif - #if ARRAY_06_POW2_SIZE > 7 - if (index < 154) { - #endif - if (index == 152) ARRAY_06_STATIC_VAR_152 = value; - else ARRAY_06_STATIC_VAR_153 = value; - #if ARRAY_06_POW2_SIZE > 7 - }else{ - if (index == 154) ARRAY_06_STATIC_VAR_154 = value; - else ARRAY_06_STATIC_VAR_155 = value; - } - #endif - #if ARRAY_06_POW2_SIZE > 7 - }else{ - #if ARRAY_06_POW2_SIZE > 7 - if (index < 158) { - #endif - if (index == 156) ARRAY_06_STATIC_VAR_156 = value; - else ARRAY_06_STATIC_VAR_157 = value; - #if ARRAY_06_POW2_SIZE > 7 - }else{ - if (index == 158) ARRAY_06_STATIC_VAR_158 = value; - else ARRAY_06_STATIC_VAR_159 = value; - } - #endif - } - #endif - } - #endif - } - #endif - #if ARRAY_06_POW2_SIZE > 7 - }else{ - #if ARRAY_06_POW2_SIZE > 7 - if (index < 176) { - #endif - #if ARRAY_06_POW2_SIZE > 7 - if (index < 168) { - #endif - #if ARRAY_06_POW2_SIZE > 7 - if (index < 164) { - #endif - #if ARRAY_06_POW2_SIZE > 7 - if (index < 162) { - #endif - if (index == 160) ARRAY_06_STATIC_VAR_160 = value; - else ARRAY_06_STATIC_VAR_161 = value; - #if ARRAY_06_POW2_SIZE > 7 - }else{ - if (index == 162) ARRAY_06_STATIC_VAR_162 = value; - else ARRAY_06_STATIC_VAR_163 = value; - } - #endif - #if ARRAY_06_POW2_SIZE > 7 - }else{ - #if ARRAY_06_POW2_SIZE > 7 - if (index < 166) { - #endif - if (index == 164) ARRAY_06_STATIC_VAR_164 = value; - else ARRAY_06_STATIC_VAR_165 = value; - #if ARRAY_06_POW2_SIZE > 7 - }else{ - if (index == 166) ARRAY_06_STATIC_VAR_166 = value; - else ARRAY_06_STATIC_VAR_167 = value; - } - #endif - } - #endif - #if ARRAY_06_POW2_SIZE > 7 - }else{ - #if ARRAY_06_POW2_SIZE > 7 - if (index < 172) { - #endif - #if ARRAY_06_POW2_SIZE > 7 - if (index < 170) { - #endif - if (index == 168) ARRAY_06_STATIC_VAR_168 = value; - else ARRAY_06_STATIC_VAR_169 = value; - #if ARRAY_06_POW2_SIZE > 7 - }else{ - if (index == 170) ARRAY_06_STATIC_VAR_170 = value; - else ARRAY_06_STATIC_VAR_171 = value; - } - #endif - #if ARRAY_06_POW2_SIZE > 7 - }else{ - #if ARRAY_06_POW2_SIZE > 7 - if (index < 174) { - #endif - if (index == 172) ARRAY_06_STATIC_VAR_172 = value; - else ARRAY_06_STATIC_VAR_173 = value; - #if ARRAY_06_POW2_SIZE > 7 - }else{ - if (index == 174) ARRAY_06_STATIC_VAR_174 = value; - else ARRAY_06_STATIC_VAR_175 = value; - } - #endif - } - #endif - } - #endif - #if ARRAY_06_POW2_SIZE > 7 - }else{ - #if ARRAY_06_POW2_SIZE > 7 - if (index < 184) { - #endif - #if ARRAY_06_POW2_SIZE > 7 - if (index < 180) { - #endif - #if ARRAY_06_POW2_SIZE > 7 - if (index < 178) { - #endif - if (index == 176) ARRAY_06_STATIC_VAR_176 = value; - else ARRAY_06_STATIC_VAR_177 = value; - #if ARRAY_06_POW2_SIZE > 7 - }else{ - if (index == 178) ARRAY_06_STATIC_VAR_178 = value; - else ARRAY_06_STATIC_VAR_179 = value; - } - #endif - #if ARRAY_06_POW2_SIZE > 7 - }else{ - #if ARRAY_06_POW2_SIZE > 7 - if (index < 182) { - #endif - if (index == 180) ARRAY_06_STATIC_VAR_180 = value; - else ARRAY_06_STATIC_VAR_181 = value; - #if ARRAY_06_POW2_SIZE > 7 - }else{ - if (index == 182) ARRAY_06_STATIC_VAR_182 = value; - else ARRAY_06_STATIC_VAR_183 = value; - } - #endif - } - #endif - #if ARRAY_06_POW2_SIZE > 7 - }else{ - #if ARRAY_06_POW2_SIZE > 7 - if (index < 188) { - #endif - #if ARRAY_06_POW2_SIZE > 7 - if (index < 186) { - #endif - if (index == 184) ARRAY_06_STATIC_VAR_184 = value; - else ARRAY_06_STATIC_VAR_185 = value; - #if ARRAY_06_POW2_SIZE > 7 - }else{ - if (index == 186) ARRAY_06_STATIC_VAR_186 = value; - else ARRAY_06_STATIC_VAR_187 = value; - } - #endif - #if ARRAY_06_POW2_SIZE > 7 - }else{ - #if ARRAY_06_POW2_SIZE > 7 - if (index < 190) { - #endif - if (index == 188) ARRAY_06_STATIC_VAR_188 = value; - else ARRAY_06_STATIC_VAR_189 = value; - #if ARRAY_06_POW2_SIZE > 7 - }else{ - if (index == 190) ARRAY_06_STATIC_VAR_190 = value; - else ARRAY_06_STATIC_VAR_191 = value; - } - #endif - } - #endif - } - #endif - } - #endif - } - #endif - #if ARRAY_06_POW2_SIZE > 7 - }else{ - #if ARRAY_06_POW2_SIZE > 7 - if (index < 224) { - #endif - #if ARRAY_06_POW2_SIZE > 7 - if (index < 208) { - #endif - #if ARRAY_06_POW2_SIZE > 7 - if (index < 200) { - #endif - #if ARRAY_06_POW2_SIZE > 7 - if (index < 196) { - #endif - #if ARRAY_06_POW2_SIZE > 7 - if (index < 194) { - #endif - if (index == 192) ARRAY_06_STATIC_VAR_192 = value; - else ARRAY_06_STATIC_VAR_193 = value; - #if ARRAY_06_POW2_SIZE > 7 - }else{ - if (index == 194) ARRAY_06_STATIC_VAR_194 = value; - else ARRAY_06_STATIC_VAR_195 = value; - } - #endif - #if ARRAY_06_POW2_SIZE > 7 - }else{ - #if ARRAY_06_POW2_SIZE > 7 - if (index < 198) { - #endif - if (index == 196) ARRAY_06_STATIC_VAR_196 = value; - else ARRAY_06_STATIC_VAR_197 = value; - #if ARRAY_06_POW2_SIZE > 7 - }else{ - if (index == 198) ARRAY_06_STATIC_VAR_198 = value; - else ARRAY_06_STATIC_VAR_199 = value; - } - #endif - } - #endif - #if ARRAY_06_POW2_SIZE > 7 - }else{ - #if ARRAY_06_POW2_SIZE > 7 - if (index < 204) { - #endif - #if ARRAY_06_POW2_SIZE > 7 - if (index < 202) { - #endif - if (index == 200) ARRAY_06_STATIC_VAR_200 = value; - else ARRAY_06_STATIC_VAR_201 = value; - #if ARRAY_06_POW2_SIZE > 7 - }else{ - if (index == 202) ARRAY_06_STATIC_VAR_202 = value; - else ARRAY_06_STATIC_VAR_203 = value; - } - #endif - #if ARRAY_06_POW2_SIZE > 7 - }else{ - #if ARRAY_06_POW2_SIZE > 7 - if (index < 206) { - #endif - if (index == 204) ARRAY_06_STATIC_VAR_204 = value; - else ARRAY_06_STATIC_VAR_205 = value; - #if ARRAY_06_POW2_SIZE > 7 - }else{ - if (index == 206) ARRAY_06_STATIC_VAR_206 = value; - else ARRAY_06_STATIC_VAR_207 = value; - } - #endif - } - #endif - } - #endif - #if ARRAY_06_POW2_SIZE > 7 - }else{ - #if ARRAY_06_POW2_SIZE > 7 - if (index < 216) { - #endif - #if ARRAY_06_POW2_SIZE > 7 - if (index < 212) { - #endif - #if ARRAY_06_POW2_SIZE > 7 - if (index < 210) { - #endif - if (index == 208) ARRAY_06_STATIC_VAR_208 = value; - else ARRAY_06_STATIC_VAR_209 = value; - #if ARRAY_06_POW2_SIZE > 7 - }else{ - if (index == 210) ARRAY_06_STATIC_VAR_210 = value; - else ARRAY_06_STATIC_VAR_211 = value; - } - #endif - #if ARRAY_06_POW2_SIZE > 7 - }else{ - #if ARRAY_06_POW2_SIZE > 7 - if (index < 214) { - #endif - if (index == 212) ARRAY_06_STATIC_VAR_212 = value; - else ARRAY_06_STATIC_VAR_213 = value; - #if ARRAY_06_POW2_SIZE > 7 - }else{ - if (index == 214) ARRAY_06_STATIC_VAR_214 = value; - else ARRAY_06_STATIC_VAR_215 = value; - } - #endif - } - #endif - #if ARRAY_06_POW2_SIZE > 7 - }else{ - #if ARRAY_06_POW2_SIZE > 7 - if (index < 220) { - #endif - #if ARRAY_06_POW2_SIZE > 7 - if (index < 218) { - #endif - if (index == 216) ARRAY_06_STATIC_VAR_216 = value; - else ARRAY_06_STATIC_VAR_217 = value; - #if ARRAY_06_POW2_SIZE > 7 - }else{ - if (index == 218) ARRAY_06_STATIC_VAR_218 = value; - else ARRAY_06_STATIC_VAR_219 = value; - } - #endif - #if ARRAY_06_POW2_SIZE > 7 - }else{ - #if ARRAY_06_POW2_SIZE > 7 - if (index < 222) { - #endif - if (index == 220) ARRAY_06_STATIC_VAR_220 = value; - else ARRAY_06_STATIC_VAR_221 = value; - #if ARRAY_06_POW2_SIZE > 7 - }else{ - if (index == 222) ARRAY_06_STATIC_VAR_222 = value; - else ARRAY_06_STATIC_VAR_223 = value; - } - #endif - } - #endif - } - #endif - } - #endif - #if ARRAY_06_POW2_SIZE > 7 - }else{ - #if ARRAY_06_POW2_SIZE > 7 - if (index < 240) { - #endif - #if ARRAY_06_POW2_SIZE > 7 - if (index < 232) { - #endif - #if ARRAY_06_POW2_SIZE > 7 - if (index < 228) { - #endif - #if ARRAY_06_POW2_SIZE > 7 - if (index < 226) { - #endif - if (index == 224) ARRAY_06_STATIC_VAR_224 = value; - else ARRAY_06_STATIC_VAR_225 = value; - #if ARRAY_06_POW2_SIZE > 7 - }else{ - if (index == 226) ARRAY_06_STATIC_VAR_226 = value; - else ARRAY_06_STATIC_VAR_227 = value; - } - #endif - #if ARRAY_06_POW2_SIZE > 7 - }else{ - #if ARRAY_06_POW2_SIZE > 7 - if (index < 230) { - #endif - if (index == 228) ARRAY_06_STATIC_VAR_228 = value; - else ARRAY_06_STATIC_VAR_229 = value; - #if ARRAY_06_POW2_SIZE > 7 - }else{ - if (index == 230) ARRAY_06_STATIC_VAR_230 = value; - else ARRAY_06_STATIC_VAR_231 = value; - } - #endif - } - #endif - #if ARRAY_06_POW2_SIZE > 7 - }else{ - #if ARRAY_06_POW2_SIZE > 7 - if (index < 236) { - #endif - #if ARRAY_06_POW2_SIZE > 7 - if (index < 234) { - #endif - if (index == 232) ARRAY_06_STATIC_VAR_232 = value; - else ARRAY_06_STATIC_VAR_233 = value; - #if ARRAY_06_POW2_SIZE > 7 - }else{ - if (index == 234) ARRAY_06_STATIC_VAR_234 = value; - else ARRAY_06_STATIC_VAR_235 = value; - } - #endif - #if ARRAY_06_POW2_SIZE > 7 - }else{ - #if ARRAY_06_POW2_SIZE > 7 - if (index < 238) { - #endif - if (index == 236) ARRAY_06_STATIC_VAR_236 = value; - else ARRAY_06_STATIC_VAR_237 = value; - #if ARRAY_06_POW2_SIZE > 7 - }else{ - if (index == 238) ARRAY_06_STATIC_VAR_238 = value; - else ARRAY_06_STATIC_VAR_239 = value; - } - #endif - } - #endif - } - #endif - #if ARRAY_06_POW2_SIZE > 7 - }else{ - #if ARRAY_06_POW2_SIZE > 7 - if (index < 248) { - #endif - #if ARRAY_06_POW2_SIZE > 7 - if (index < 244) { - #endif - #if ARRAY_06_POW2_SIZE > 7 - if (index < 242) { - #endif - if (index == 240) ARRAY_06_STATIC_VAR_240 = value; - else ARRAY_06_STATIC_VAR_241 = value; - #if ARRAY_06_POW2_SIZE > 7 - }else{ - if (index == 242) ARRAY_06_STATIC_VAR_242 = value; - else ARRAY_06_STATIC_VAR_243 = value; - } - #endif - #if ARRAY_06_POW2_SIZE > 7 - }else{ - #if ARRAY_06_POW2_SIZE > 7 - if (index < 246) { - #endif - if (index == 244) ARRAY_06_STATIC_VAR_244 = value; - else ARRAY_06_STATIC_VAR_245 = value; - #if ARRAY_06_POW2_SIZE > 7 - }else{ - if (index == 246) ARRAY_06_STATIC_VAR_246 = value; - else ARRAY_06_STATIC_VAR_247 = value; - } - #endif - } - #endif - #if ARRAY_06_POW2_SIZE > 7 - }else{ - #if ARRAY_06_POW2_SIZE > 7 - if (index < 252) { - #endif - #if ARRAY_06_POW2_SIZE > 7 - if (index < 250) { - #endif - if (index == 248) ARRAY_06_STATIC_VAR_248 = value; - else ARRAY_06_STATIC_VAR_249 = value; - #if ARRAY_06_POW2_SIZE > 7 - }else{ - if (index == 250) ARRAY_06_STATIC_VAR_250 = value; - else ARRAY_06_STATIC_VAR_251 = value; - } - #endif - #if ARRAY_06_POW2_SIZE > 7 - }else{ - #if ARRAY_06_POW2_SIZE > 7 - if (index < 254) { - #endif - if (index == 252) ARRAY_06_STATIC_VAR_252 = value; - else ARRAY_06_STATIC_VAR_253 = value; - #if ARRAY_06_POW2_SIZE > 7 - }else{ - if (index == 254) ARRAY_06_STATIC_VAR_254 = value; - else ARRAY_06_STATIC_VAR_255 = value; - } - #endif - } - #endif - } - #endif - } - #endif - } - #endif - } - #endif - } - #endif -} \ No newline at end of file diff --git a/scripts/array_07.h b/scripts/array_07.h deleted file mode 100644 index ed8f6e9ad24..00000000000 --- a/scripts/array_07.h +++ /dev/null @@ -1,2340 +0,0 @@ -// (c) Beherith mysterme@gmail.com. DO NOT TOUCH: generated by array_header_generator.ipynb -// Notes: -// #define ARRAY_07_POW2_SIZE -// use the ARRAY_XX_GET(i) and ARRAY_XX_SET(i,v) function macros -// ARRAY_XX_GET(i) will always place value into ARRAY_VALUE -// average calls per value is about 12 - -#ifndef ARRAY_07_POW2_SIZE - #define ARRAY_07_POW2_SIZE 4 -#endif - -#ifndef ARRAY_TEMP_DEFINED - static-var ARRAY_VALUE; - #define ARRAY_TEMP_DEFINED 1; -#endif - -#define ARRAY_07_SET(i,v) call-script ARRAY_07_SETTER(i,v); - -#define ARRAY_07_GET(i) call-script ARRAY_07_GETTER(i); - -#if ARRAY_07_POW2_SIZE > 0 - static-var ARRAY_07_STATIC_VAR_000, ARRAY_07_STATIC_VAR_001; -#endif -#if ARRAY_07_POW2_SIZE > 1 - static-var ARRAY_07_STATIC_VAR_002, ARRAY_07_STATIC_VAR_003; -#endif -#if ARRAY_07_POW2_SIZE > 2 - static-var ARRAY_07_STATIC_VAR_004, ARRAY_07_STATIC_VAR_005, ARRAY_07_STATIC_VAR_006, ARRAY_07_STATIC_VAR_007; -#endif -#if ARRAY_07_POW2_SIZE > 3 - static-var ARRAY_07_STATIC_VAR_008, ARRAY_07_STATIC_VAR_009, ARRAY_07_STATIC_VAR_010, ARRAY_07_STATIC_VAR_011, ARRAY_07_STATIC_VAR_012, ARRAY_07_STATIC_VAR_013, ARRAY_07_STATIC_VAR_014, ARRAY_07_STATIC_VAR_015; -#endif -#if ARRAY_07_POW2_SIZE > 4 - static-var ARRAY_07_STATIC_VAR_016, ARRAY_07_STATIC_VAR_017, ARRAY_07_STATIC_VAR_018, ARRAY_07_STATIC_VAR_019, ARRAY_07_STATIC_VAR_020, ARRAY_07_STATIC_VAR_021, ARRAY_07_STATIC_VAR_022, ARRAY_07_STATIC_VAR_023, ARRAY_07_STATIC_VAR_024, ARRAY_07_STATIC_VAR_025, ARRAY_07_STATIC_VAR_026, ARRAY_07_STATIC_VAR_027, ARRAY_07_STATIC_VAR_028, ARRAY_07_STATIC_VAR_029, ARRAY_07_STATIC_VAR_030, ARRAY_07_STATIC_VAR_031; -#endif -#if ARRAY_07_POW2_SIZE > 5 - static-var ARRAY_07_STATIC_VAR_032, ARRAY_07_STATIC_VAR_033, ARRAY_07_STATIC_VAR_034, ARRAY_07_STATIC_VAR_035, ARRAY_07_STATIC_VAR_036, ARRAY_07_STATIC_VAR_037, ARRAY_07_STATIC_VAR_038, ARRAY_07_STATIC_VAR_039, ARRAY_07_STATIC_VAR_040, ARRAY_07_STATIC_VAR_041, ARRAY_07_STATIC_VAR_042, ARRAY_07_STATIC_VAR_043, ARRAY_07_STATIC_VAR_044, ARRAY_07_STATIC_VAR_045, ARRAY_07_STATIC_VAR_046, ARRAY_07_STATIC_VAR_047, ARRAY_07_STATIC_VAR_048, ARRAY_07_STATIC_VAR_049, ARRAY_07_STATIC_VAR_050, ARRAY_07_STATIC_VAR_051, ARRAY_07_STATIC_VAR_052, ARRAY_07_STATIC_VAR_053, ARRAY_07_STATIC_VAR_054, ARRAY_07_STATIC_VAR_055, ARRAY_07_STATIC_VAR_056, ARRAY_07_STATIC_VAR_057, ARRAY_07_STATIC_VAR_058, ARRAY_07_STATIC_VAR_059, ARRAY_07_STATIC_VAR_060, ARRAY_07_STATIC_VAR_061, ARRAY_07_STATIC_VAR_062, ARRAY_07_STATIC_VAR_063; -#endif -#if ARRAY_07_POW2_SIZE > 6 - static-var ARRAY_07_STATIC_VAR_064, ARRAY_07_STATIC_VAR_065, ARRAY_07_STATIC_VAR_066, ARRAY_07_STATIC_VAR_067, ARRAY_07_STATIC_VAR_068, ARRAY_07_STATIC_VAR_069, ARRAY_07_STATIC_VAR_070, ARRAY_07_STATIC_VAR_071, ARRAY_07_STATIC_VAR_072, ARRAY_07_STATIC_VAR_073, ARRAY_07_STATIC_VAR_074, ARRAY_07_STATIC_VAR_075, ARRAY_07_STATIC_VAR_076, ARRAY_07_STATIC_VAR_077, ARRAY_07_STATIC_VAR_078, ARRAY_07_STATIC_VAR_079, ARRAY_07_STATIC_VAR_080, ARRAY_07_STATIC_VAR_081, ARRAY_07_STATIC_VAR_082, ARRAY_07_STATIC_VAR_083, ARRAY_07_STATIC_VAR_084, ARRAY_07_STATIC_VAR_085, ARRAY_07_STATIC_VAR_086, ARRAY_07_STATIC_VAR_087, ARRAY_07_STATIC_VAR_088, ARRAY_07_STATIC_VAR_089, ARRAY_07_STATIC_VAR_090, ARRAY_07_STATIC_VAR_091, ARRAY_07_STATIC_VAR_092, ARRAY_07_STATIC_VAR_093, ARRAY_07_STATIC_VAR_094, ARRAY_07_STATIC_VAR_095, ARRAY_07_STATIC_VAR_096, ARRAY_07_STATIC_VAR_097, ARRAY_07_STATIC_VAR_098, ARRAY_07_STATIC_VAR_099, ARRAY_07_STATIC_VAR_100, ARRAY_07_STATIC_VAR_101, ARRAY_07_STATIC_VAR_102, ARRAY_07_STATIC_VAR_103, ARRAY_07_STATIC_VAR_104, ARRAY_07_STATIC_VAR_105, ARRAY_07_STATIC_VAR_106, ARRAY_07_STATIC_VAR_107, ARRAY_07_STATIC_VAR_108, ARRAY_07_STATIC_VAR_109, ARRAY_07_STATIC_VAR_110, ARRAY_07_STATIC_VAR_111, ARRAY_07_STATIC_VAR_112, ARRAY_07_STATIC_VAR_113, ARRAY_07_STATIC_VAR_114, ARRAY_07_STATIC_VAR_115, ARRAY_07_STATIC_VAR_116, ARRAY_07_STATIC_VAR_117, ARRAY_07_STATIC_VAR_118, ARRAY_07_STATIC_VAR_119, ARRAY_07_STATIC_VAR_120, ARRAY_07_STATIC_VAR_121, ARRAY_07_STATIC_VAR_122, ARRAY_07_STATIC_VAR_123, ARRAY_07_STATIC_VAR_124, ARRAY_07_STATIC_VAR_125, ARRAY_07_STATIC_VAR_126, ARRAY_07_STATIC_VAR_127; -#endif -#if ARRAY_07_POW2_SIZE > 7 - static-var ARRAY_07_STATIC_VAR_128, ARRAY_07_STATIC_VAR_129, ARRAY_07_STATIC_VAR_130, ARRAY_07_STATIC_VAR_131, ARRAY_07_STATIC_VAR_132, ARRAY_07_STATIC_VAR_133, ARRAY_07_STATIC_VAR_134, ARRAY_07_STATIC_VAR_135, ARRAY_07_STATIC_VAR_136, ARRAY_07_STATIC_VAR_137, ARRAY_07_STATIC_VAR_138, ARRAY_07_STATIC_VAR_139, ARRAY_07_STATIC_VAR_140, ARRAY_07_STATIC_VAR_141, ARRAY_07_STATIC_VAR_142, ARRAY_07_STATIC_VAR_143, ARRAY_07_STATIC_VAR_144, ARRAY_07_STATIC_VAR_145, ARRAY_07_STATIC_VAR_146, ARRAY_07_STATIC_VAR_147, ARRAY_07_STATIC_VAR_148, ARRAY_07_STATIC_VAR_149, ARRAY_07_STATIC_VAR_150, ARRAY_07_STATIC_VAR_151, ARRAY_07_STATIC_VAR_152, ARRAY_07_STATIC_VAR_153, ARRAY_07_STATIC_VAR_154, ARRAY_07_STATIC_VAR_155, ARRAY_07_STATIC_VAR_156, ARRAY_07_STATIC_VAR_157, ARRAY_07_STATIC_VAR_158, ARRAY_07_STATIC_VAR_159, ARRAY_07_STATIC_VAR_160, ARRAY_07_STATIC_VAR_161, ARRAY_07_STATIC_VAR_162, ARRAY_07_STATIC_VAR_163, ARRAY_07_STATIC_VAR_164, ARRAY_07_STATIC_VAR_165, ARRAY_07_STATIC_VAR_166, ARRAY_07_STATIC_VAR_167, ARRAY_07_STATIC_VAR_168, ARRAY_07_STATIC_VAR_169, ARRAY_07_STATIC_VAR_170, ARRAY_07_STATIC_VAR_171, ARRAY_07_STATIC_VAR_172, ARRAY_07_STATIC_VAR_173, ARRAY_07_STATIC_VAR_174, ARRAY_07_STATIC_VAR_175, ARRAY_07_STATIC_VAR_176, ARRAY_07_STATIC_VAR_177, ARRAY_07_STATIC_VAR_178, ARRAY_07_STATIC_VAR_179, ARRAY_07_STATIC_VAR_180, ARRAY_07_STATIC_VAR_181, ARRAY_07_STATIC_VAR_182, ARRAY_07_STATIC_VAR_183, ARRAY_07_STATIC_VAR_184, ARRAY_07_STATIC_VAR_185, ARRAY_07_STATIC_VAR_186, ARRAY_07_STATIC_VAR_187, ARRAY_07_STATIC_VAR_188, ARRAY_07_STATIC_VAR_189, ARRAY_07_STATIC_VAR_190, ARRAY_07_STATIC_VAR_191, ARRAY_07_STATIC_VAR_192, ARRAY_07_STATIC_VAR_193, ARRAY_07_STATIC_VAR_194, ARRAY_07_STATIC_VAR_195, ARRAY_07_STATIC_VAR_196, ARRAY_07_STATIC_VAR_197, ARRAY_07_STATIC_VAR_198, ARRAY_07_STATIC_VAR_199, ARRAY_07_STATIC_VAR_200, ARRAY_07_STATIC_VAR_201, ARRAY_07_STATIC_VAR_202, ARRAY_07_STATIC_VAR_203, ARRAY_07_STATIC_VAR_204, ARRAY_07_STATIC_VAR_205, ARRAY_07_STATIC_VAR_206, ARRAY_07_STATIC_VAR_207, ARRAY_07_STATIC_VAR_208, ARRAY_07_STATIC_VAR_209, ARRAY_07_STATIC_VAR_210, ARRAY_07_STATIC_VAR_211, ARRAY_07_STATIC_VAR_212, ARRAY_07_STATIC_VAR_213, ARRAY_07_STATIC_VAR_214, ARRAY_07_STATIC_VAR_215, ARRAY_07_STATIC_VAR_216, ARRAY_07_STATIC_VAR_217, ARRAY_07_STATIC_VAR_218, ARRAY_07_STATIC_VAR_219, ARRAY_07_STATIC_VAR_220, ARRAY_07_STATIC_VAR_221, ARRAY_07_STATIC_VAR_222, ARRAY_07_STATIC_VAR_223, ARRAY_07_STATIC_VAR_224, ARRAY_07_STATIC_VAR_225, ARRAY_07_STATIC_VAR_226, ARRAY_07_STATIC_VAR_227, ARRAY_07_STATIC_VAR_228, ARRAY_07_STATIC_VAR_229, ARRAY_07_STATIC_VAR_230, ARRAY_07_STATIC_VAR_231, ARRAY_07_STATIC_VAR_232, ARRAY_07_STATIC_VAR_233, ARRAY_07_STATIC_VAR_234, ARRAY_07_STATIC_VAR_235, ARRAY_07_STATIC_VAR_236, ARRAY_07_STATIC_VAR_237, ARRAY_07_STATIC_VAR_238, ARRAY_07_STATIC_VAR_239, ARRAY_07_STATIC_VAR_240, ARRAY_07_STATIC_VAR_241, ARRAY_07_STATIC_VAR_242, ARRAY_07_STATIC_VAR_243, ARRAY_07_STATIC_VAR_244, ARRAY_07_STATIC_VAR_245, ARRAY_07_STATIC_VAR_246, ARRAY_07_STATIC_VAR_247, ARRAY_07_STATIC_VAR_248, ARRAY_07_STATIC_VAR_249, ARRAY_07_STATIC_VAR_250, ARRAY_07_STATIC_VAR_251, ARRAY_07_STATIC_VAR_252, ARRAY_07_STATIC_VAR_253, ARRAY_07_STATIC_VAR_254, ARRAY_07_STATIC_VAR_255; -#endif - -ARRAY_07_GETTER(index) { - #if ARRAY_07_POW2_SIZE > 7 - if (index < 128) { - #endif - #if ARRAY_07_POW2_SIZE > 6 - if (index < 64) { - #endif - #if ARRAY_07_POW2_SIZE > 5 - if (index < 32) { - #endif - #if ARRAY_07_POW2_SIZE > 4 - if (index < 16) { - #endif - #if ARRAY_07_POW2_SIZE > 3 - if (index < 8) { - #endif - #if ARRAY_07_POW2_SIZE > 2 - if (index < 4) { - #endif - #if ARRAY_07_POW2_SIZE > 1 - if (index < 2) { - #endif - if (index == 0) ARRAY_VALUE = ARRAY_07_STATIC_VAR_000; - else ARRAY_VALUE = ARRAY_07_STATIC_VAR_001; - #if ARRAY_07_POW2_SIZE > 1 - }else{ - if (index == 2) ARRAY_VALUE = ARRAY_07_STATIC_VAR_002; - else ARRAY_VALUE = ARRAY_07_STATIC_VAR_003; - } - #endif - #if ARRAY_07_POW2_SIZE > 2 - }else{ - #if ARRAY_07_POW2_SIZE > 2 - if (index < 6) { - #endif - if (index == 4) ARRAY_VALUE = ARRAY_07_STATIC_VAR_004; - else ARRAY_VALUE = ARRAY_07_STATIC_VAR_005; - #if ARRAY_07_POW2_SIZE > 2 - }else{ - if (index == 6) ARRAY_VALUE = ARRAY_07_STATIC_VAR_006; - else ARRAY_VALUE = ARRAY_07_STATIC_VAR_007; - } - #endif - } - #endif - #if ARRAY_07_POW2_SIZE > 3 - }else{ - #if ARRAY_07_POW2_SIZE > 3 - if (index < 12) { - #endif - #if ARRAY_07_POW2_SIZE > 3 - if (index < 10) { - #endif - if (index == 8) ARRAY_VALUE = ARRAY_07_STATIC_VAR_008; - else ARRAY_VALUE = ARRAY_07_STATIC_VAR_009; - #if ARRAY_07_POW2_SIZE > 3 - }else{ - if (index == 10) ARRAY_VALUE = ARRAY_07_STATIC_VAR_010; - else ARRAY_VALUE = ARRAY_07_STATIC_VAR_011; - } - #endif - #if ARRAY_07_POW2_SIZE > 3 - }else{ - #if ARRAY_07_POW2_SIZE > 3 - if (index < 14) { - #endif - if (index == 12) ARRAY_VALUE = ARRAY_07_STATIC_VAR_012; - else ARRAY_VALUE = ARRAY_07_STATIC_VAR_013; - #if ARRAY_07_POW2_SIZE > 3 - }else{ - if (index == 14) ARRAY_VALUE = ARRAY_07_STATIC_VAR_014; - else ARRAY_VALUE = ARRAY_07_STATIC_VAR_015; - } - #endif - } - #endif - } - #endif - #if ARRAY_07_POW2_SIZE > 4 - }else{ - #if ARRAY_07_POW2_SIZE > 4 - if (index < 24) { - #endif - #if ARRAY_07_POW2_SIZE > 4 - if (index < 20) { - #endif - #if ARRAY_07_POW2_SIZE > 4 - if (index < 18) { - #endif - if (index == 16) ARRAY_VALUE = ARRAY_07_STATIC_VAR_016; - else ARRAY_VALUE = ARRAY_07_STATIC_VAR_017; - #if ARRAY_07_POW2_SIZE > 4 - }else{ - if (index == 18) ARRAY_VALUE = ARRAY_07_STATIC_VAR_018; - else ARRAY_VALUE = ARRAY_07_STATIC_VAR_019; - } - #endif - #if ARRAY_07_POW2_SIZE > 4 - }else{ - #if ARRAY_07_POW2_SIZE > 4 - if (index < 22) { - #endif - if (index == 20) ARRAY_VALUE = ARRAY_07_STATIC_VAR_020; - else ARRAY_VALUE = ARRAY_07_STATIC_VAR_021; - #if ARRAY_07_POW2_SIZE > 4 - }else{ - if (index == 22) ARRAY_VALUE = ARRAY_07_STATIC_VAR_022; - else ARRAY_VALUE = ARRAY_07_STATIC_VAR_023; - } - #endif - } - #endif - #if ARRAY_07_POW2_SIZE > 4 - }else{ - #if ARRAY_07_POW2_SIZE > 4 - if (index < 28) { - #endif - #if ARRAY_07_POW2_SIZE > 4 - if (index < 26) { - #endif - if (index == 24) ARRAY_VALUE = ARRAY_07_STATIC_VAR_024; - else ARRAY_VALUE = ARRAY_07_STATIC_VAR_025; - #if ARRAY_07_POW2_SIZE > 4 - }else{ - if (index == 26) ARRAY_VALUE = ARRAY_07_STATIC_VAR_026; - else ARRAY_VALUE = ARRAY_07_STATIC_VAR_027; - } - #endif - #if ARRAY_07_POW2_SIZE > 4 - }else{ - #if ARRAY_07_POW2_SIZE > 4 - if (index < 30) { - #endif - if (index == 28) ARRAY_VALUE = ARRAY_07_STATIC_VAR_028; - else ARRAY_VALUE = ARRAY_07_STATIC_VAR_029; - #if ARRAY_07_POW2_SIZE > 4 - }else{ - if (index == 30) ARRAY_VALUE = ARRAY_07_STATIC_VAR_030; - else ARRAY_VALUE = ARRAY_07_STATIC_VAR_031; - } - #endif - } - #endif - } - #endif - } - #endif - #if ARRAY_07_POW2_SIZE > 5 - }else{ - #if ARRAY_07_POW2_SIZE > 5 - if (index < 48) { - #endif - #if ARRAY_07_POW2_SIZE > 5 - if (index < 40) { - #endif - #if ARRAY_07_POW2_SIZE > 5 - if (index < 36) { - #endif - #if ARRAY_07_POW2_SIZE > 5 - if (index < 34) { - #endif - if (index == 32) ARRAY_VALUE = ARRAY_07_STATIC_VAR_032; - else ARRAY_VALUE = ARRAY_07_STATIC_VAR_033; - #if ARRAY_07_POW2_SIZE > 5 - }else{ - if (index == 34) ARRAY_VALUE = ARRAY_07_STATIC_VAR_034; - else ARRAY_VALUE = ARRAY_07_STATIC_VAR_035; - } - #endif - #if ARRAY_07_POW2_SIZE > 5 - }else{ - #if ARRAY_07_POW2_SIZE > 5 - if (index < 38) { - #endif - if (index == 36) ARRAY_VALUE = ARRAY_07_STATIC_VAR_036; - else ARRAY_VALUE = ARRAY_07_STATIC_VAR_037; - #if ARRAY_07_POW2_SIZE > 5 - }else{ - if (index == 38) ARRAY_VALUE = ARRAY_07_STATIC_VAR_038; - else ARRAY_VALUE = ARRAY_07_STATIC_VAR_039; - } - #endif - } - #endif - #if ARRAY_07_POW2_SIZE > 5 - }else{ - #if ARRAY_07_POW2_SIZE > 5 - if (index < 44) { - #endif - #if ARRAY_07_POW2_SIZE > 5 - if (index < 42) { - #endif - if (index == 40) ARRAY_VALUE = ARRAY_07_STATIC_VAR_040; - else ARRAY_VALUE = ARRAY_07_STATIC_VAR_041; - #if ARRAY_07_POW2_SIZE > 5 - }else{ - if (index == 42) ARRAY_VALUE = ARRAY_07_STATIC_VAR_042; - else ARRAY_VALUE = ARRAY_07_STATIC_VAR_043; - } - #endif - #if ARRAY_07_POW2_SIZE > 5 - }else{ - #if ARRAY_07_POW2_SIZE > 5 - if (index < 46) { - #endif - if (index == 44) ARRAY_VALUE = ARRAY_07_STATIC_VAR_044; - else ARRAY_VALUE = ARRAY_07_STATIC_VAR_045; - #if ARRAY_07_POW2_SIZE > 5 - }else{ - if (index == 46) ARRAY_VALUE = ARRAY_07_STATIC_VAR_046; - else ARRAY_VALUE = ARRAY_07_STATIC_VAR_047; - } - #endif - } - #endif - } - #endif - #if ARRAY_07_POW2_SIZE > 5 - }else{ - #if ARRAY_07_POW2_SIZE > 5 - if (index < 56) { - #endif - #if ARRAY_07_POW2_SIZE > 5 - if (index < 52) { - #endif - #if ARRAY_07_POW2_SIZE > 5 - if (index < 50) { - #endif - if (index == 48) ARRAY_VALUE = ARRAY_07_STATIC_VAR_048; - else ARRAY_VALUE = ARRAY_07_STATIC_VAR_049; - #if ARRAY_07_POW2_SIZE > 5 - }else{ - if (index == 50) ARRAY_VALUE = ARRAY_07_STATIC_VAR_050; - else ARRAY_VALUE = ARRAY_07_STATIC_VAR_051; - } - #endif - #if ARRAY_07_POW2_SIZE > 5 - }else{ - #if ARRAY_07_POW2_SIZE > 5 - if (index < 54) { - #endif - if (index == 52) ARRAY_VALUE = ARRAY_07_STATIC_VAR_052; - else ARRAY_VALUE = ARRAY_07_STATIC_VAR_053; - #if ARRAY_07_POW2_SIZE > 5 - }else{ - if (index == 54) ARRAY_VALUE = ARRAY_07_STATIC_VAR_054; - else ARRAY_VALUE = ARRAY_07_STATIC_VAR_055; - } - #endif - } - #endif - #if ARRAY_07_POW2_SIZE > 5 - }else{ - #if ARRAY_07_POW2_SIZE > 5 - if (index < 60) { - #endif - #if ARRAY_07_POW2_SIZE > 5 - if (index < 58) { - #endif - if (index == 56) ARRAY_VALUE = ARRAY_07_STATIC_VAR_056; - else ARRAY_VALUE = ARRAY_07_STATIC_VAR_057; - #if ARRAY_07_POW2_SIZE > 5 - }else{ - if (index == 58) ARRAY_VALUE = ARRAY_07_STATIC_VAR_058; - else ARRAY_VALUE = ARRAY_07_STATIC_VAR_059; - } - #endif - #if ARRAY_07_POW2_SIZE > 5 - }else{ - #if ARRAY_07_POW2_SIZE > 5 - if (index < 62) { - #endif - if (index == 60) ARRAY_VALUE = ARRAY_07_STATIC_VAR_060; - else ARRAY_VALUE = ARRAY_07_STATIC_VAR_061; - #if ARRAY_07_POW2_SIZE > 5 - }else{ - if (index == 62) ARRAY_VALUE = ARRAY_07_STATIC_VAR_062; - else ARRAY_VALUE = ARRAY_07_STATIC_VAR_063; - } - #endif - } - #endif - } - #endif - } - #endif - } - #endif - #if ARRAY_07_POW2_SIZE > 6 - }else{ - #if ARRAY_07_POW2_SIZE > 6 - if (index < 96) { - #endif - #if ARRAY_07_POW2_SIZE > 6 - if (index < 80) { - #endif - #if ARRAY_07_POW2_SIZE > 6 - if (index < 72) { - #endif - #if ARRAY_07_POW2_SIZE > 6 - if (index < 68) { - #endif - #if ARRAY_07_POW2_SIZE > 6 - if (index < 66) { - #endif - if (index == 64) ARRAY_VALUE = ARRAY_07_STATIC_VAR_064; - else ARRAY_VALUE = ARRAY_07_STATIC_VAR_065; - #if ARRAY_07_POW2_SIZE > 6 - }else{ - if (index == 66) ARRAY_VALUE = ARRAY_07_STATIC_VAR_066; - else ARRAY_VALUE = ARRAY_07_STATIC_VAR_067; - } - #endif - #if ARRAY_07_POW2_SIZE > 6 - }else{ - #if ARRAY_07_POW2_SIZE > 6 - if (index < 70) { - #endif - if (index == 68) ARRAY_VALUE = ARRAY_07_STATIC_VAR_068; - else ARRAY_VALUE = ARRAY_07_STATIC_VAR_069; - #if ARRAY_07_POW2_SIZE > 6 - }else{ - if (index == 70) ARRAY_VALUE = ARRAY_07_STATIC_VAR_070; - else ARRAY_VALUE = ARRAY_07_STATIC_VAR_071; - } - #endif - } - #endif - #if ARRAY_07_POW2_SIZE > 6 - }else{ - #if ARRAY_07_POW2_SIZE > 6 - if (index < 76) { - #endif - #if ARRAY_07_POW2_SIZE > 6 - if (index < 74) { - #endif - if (index == 72) ARRAY_VALUE = ARRAY_07_STATIC_VAR_072; - else ARRAY_VALUE = ARRAY_07_STATIC_VAR_073; - #if ARRAY_07_POW2_SIZE > 6 - }else{ - if (index == 74) ARRAY_VALUE = ARRAY_07_STATIC_VAR_074; - else ARRAY_VALUE = ARRAY_07_STATIC_VAR_075; - } - #endif - #if ARRAY_07_POW2_SIZE > 6 - }else{ - #if ARRAY_07_POW2_SIZE > 6 - if (index < 78) { - #endif - if (index == 76) ARRAY_VALUE = ARRAY_07_STATIC_VAR_076; - else ARRAY_VALUE = ARRAY_07_STATIC_VAR_077; - #if ARRAY_07_POW2_SIZE > 6 - }else{ - if (index == 78) ARRAY_VALUE = ARRAY_07_STATIC_VAR_078; - else ARRAY_VALUE = ARRAY_07_STATIC_VAR_079; - } - #endif - } - #endif - } - #endif - #if ARRAY_07_POW2_SIZE > 6 - }else{ - #if ARRAY_07_POW2_SIZE > 6 - if (index < 88) { - #endif - #if ARRAY_07_POW2_SIZE > 6 - if (index < 84) { - #endif - #if ARRAY_07_POW2_SIZE > 6 - if (index < 82) { - #endif - if (index == 80) ARRAY_VALUE = ARRAY_07_STATIC_VAR_080; - else ARRAY_VALUE = ARRAY_07_STATIC_VAR_081; - #if ARRAY_07_POW2_SIZE > 6 - }else{ - if (index == 82) ARRAY_VALUE = ARRAY_07_STATIC_VAR_082; - else ARRAY_VALUE = ARRAY_07_STATIC_VAR_083; - } - #endif - #if ARRAY_07_POW2_SIZE > 6 - }else{ - #if ARRAY_07_POW2_SIZE > 6 - if (index < 86) { - #endif - if (index == 84) ARRAY_VALUE = ARRAY_07_STATIC_VAR_084; - else ARRAY_VALUE = ARRAY_07_STATIC_VAR_085; - #if ARRAY_07_POW2_SIZE > 6 - }else{ - if (index == 86) ARRAY_VALUE = ARRAY_07_STATIC_VAR_086; - else ARRAY_VALUE = ARRAY_07_STATIC_VAR_087; - } - #endif - } - #endif - #if ARRAY_07_POW2_SIZE > 6 - }else{ - #if ARRAY_07_POW2_SIZE > 6 - if (index < 92) { - #endif - #if ARRAY_07_POW2_SIZE > 6 - if (index < 90) { - #endif - if (index == 88) ARRAY_VALUE = ARRAY_07_STATIC_VAR_088; - else ARRAY_VALUE = ARRAY_07_STATIC_VAR_089; - #if ARRAY_07_POW2_SIZE > 6 - }else{ - if (index == 90) ARRAY_VALUE = ARRAY_07_STATIC_VAR_090; - else ARRAY_VALUE = ARRAY_07_STATIC_VAR_091; - } - #endif - #if ARRAY_07_POW2_SIZE > 6 - }else{ - #if ARRAY_07_POW2_SIZE > 6 - if (index < 94) { - #endif - if (index == 92) ARRAY_VALUE = ARRAY_07_STATIC_VAR_092; - else ARRAY_VALUE = ARRAY_07_STATIC_VAR_093; - #if ARRAY_07_POW2_SIZE > 6 - }else{ - if (index == 94) ARRAY_VALUE = ARRAY_07_STATIC_VAR_094; - else ARRAY_VALUE = ARRAY_07_STATIC_VAR_095; - } - #endif - } - #endif - } - #endif - } - #endif - #if ARRAY_07_POW2_SIZE > 6 - }else{ - #if ARRAY_07_POW2_SIZE > 6 - if (index < 112) { - #endif - #if ARRAY_07_POW2_SIZE > 6 - if (index < 104) { - #endif - #if ARRAY_07_POW2_SIZE > 6 - if (index < 100) { - #endif - #if ARRAY_07_POW2_SIZE > 6 - if (index < 98) { - #endif - if (index == 96) ARRAY_VALUE = ARRAY_07_STATIC_VAR_096; - else ARRAY_VALUE = ARRAY_07_STATIC_VAR_097; - #if ARRAY_07_POW2_SIZE > 6 - }else{ - if (index == 98) ARRAY_VALUE = ARRAY_07_STATIC_VAR_098; - else ARRAY_VALUE = ARRAY_07_STATIC_VAR_099; - } - #endif - #if ARRAY_07_POW2_SIZE > 6 - }else{ - #if ARRAY_07_POW2_SIZE > 6 - if (index < 102) { - #endif - if (index == 100) ARRAY_VALUE = ARRAY_07_STATIC_VAR_100; - else ARRAY_VALUE = ARRAY_07_STATIC_VAR_101; - #if ARRAY_07_POW2_SIZE > 6 - }else{ - if (index == 102) ARRAY_VALUE = ARRAY_07_STATIC_VAR_102; - else ARRAY_VALUE = ARRAY_07_STATIC_VAR_103; - } - #endif - } - #endif - #if ARRAY_07_POW2_SIZE > 6 - }else{ - #if ARRAY_07_POW2_SIZE > 6 - if (index < 108) { - #endif - #if ARRAY_07_POW2_SIZE > 6 - if (index < 106) { - #endif - if (index == 104) ARRAY_VALUE = ARRAY_07_STATIC_VAR_104; - else ARRAY_VALUE = ARRAY_07_STATIC_VAR_105; - #if ARRAY_07_POW2_SIZE > 6 - }else{ - if (index == 106) ARRAY_VALUE = ARRAY_07_STATIC_VAR_106; - else ARRAY_VALUE = ARRAY_07_STATIC_VAR_107; - } - #endif - #if ARRAY_07_POW2_SIZE > 6 - }else{ - #if ARRAY_07_POW2_SIZE > 6 - if (index < 110) { - #endif - if (index == 108) ARRAY_VALUE = ARRAY_07_STATIC_VAR_108; - else ARRAY_VALUE = ARRAY_07_STATIC_VAR_109; - #if ARRAY_07_POW2_SIZE > 6 - }else{ - if (index == 110) ARRAY_VALUE = ARRAY_07_STATIC_VAR_110; - else ARRAY_VALUE = ARRAY_07_STATIC_VAR_111; - } - #endif - } - #endif - } - #endif - #if ARRAY_07_POW2_SIZE > 6 - }else{ - #if ARRAY_07_POW2_SIZE > 6 - if (index < 120) { - #endif - #if ARRAY_07_POW2_SIZE > 6 - if (index < 116) { - #endif - #if ARRAY_07_POW2_SIZE > 6 - if (index < 114) { - #endif - if (index == 112) ARRAY_VALUE = ARRAY_07_STATIC_VAR_112; - else ARRAY_VALUE = ARRAY_07_STATIC_VAR_113; - #if ARRAY_07_POW2_SIZE > 6 - }else{ - if (index == 114) ARRAY_VALUE = ARRAY_07_STATIC_VAR_114; - else ARRAY_VALUE = ARRAY_07_STATIC_VAR_115; - } - #endif - #if ARRAY_07_POW2_SIZE > 6 - }else{ - #if ARRAY_07_POW2_SIZE > 6 - if (index < 118) { - #endif - if (index == 116) ARRAY_VALUE = ARRAY_07_STATIC_VAR_116; - else ARRAY_VALUE = ARRAY_07_STATIC_VAR_117; - #if ARRAY_07_POW2_SIZE > 6 - }else{ - if (index == 118) ARRAY_VALUE = ARRAY_07_STATIC_VAR_118; - else ARRAY_VALUE = ARRAY_07_STATIC_VAR_119; - } - #endif - } - #endif - #if ARRAY_07_POW2_SIZE > 6 - }else{ - #if ARRAY_07_POW2_SIZE > 6 - if (index < 124) { - #endif - #if ARRAY_07_POW2_SIZE > 6 - if (index < 122) { - #endif - if (index == 120) ARRAY_VALUE = ARRAY_07_STATIC_VAR_120; - else ARRAY_VALUE = ARRAY_07_STATIC_VAR_121; - #if ARRAY_07_POW2_SIZE > 6 - }else{ - if (index == 122) ARRAY_VALUE = ARRAY_07_STATIC_VAR_122; - else ARRAY_VALUE = ARRAY_07_STATIC_VAR_123; - } - #endif - #if ARRAY_07_POW2_SIZE > 6 - }else{ - #if ARRAY_07_POW2_SIZE > 6 - if (index < 126) { - #endif - if (index == 124) ARRAY_VALUE = ARRAY_07_STATIC_VAR_124; - else ARRAY_VALUE = ARRAY_07_STATIC_VAR_125; - #if ARRAY_07_POW2_SIZE > 6 - }else{ - if (index == 126) ARRAY_VALUE = ARRAY_07_STATIC_VAR_126; - else ARRAY_VALUE = ARRAY_07_STATIC_VAR_127; - } - #endif - } - #endif - } - #endif - } - #endif - } - #endif - } - #endif - #if ARRAY_07_POW2_SIZE > 7 - }else{ - #if ARRAY_07_POW2_SIZE > 7 - if (index < 192) { - #endif - #if ARRAY_07_POW2_SIZE > 7 - if (index < 160) { - #endif - #if ARRAY_07_POW2_SIZE > 7 - if (index < 144) { - #endif - #if ARRAY_07_POW2_SIZE > 7 - if (index < 136) { - #endif - #if ARRAY_07_POW2_SIZE > 7 - if (index < 132) { - #endif - #if ARRAY_07_POW2_SIZE > 7 - if (index < 130) { - #endif - if (index == 128) ARRAY_VALUE = ARRAY_07_STATIC_VAR_128; - else ARRAY_VALUE = ARRAY_07_STATIC_VAR_129; - #if ARRAY_07_POW2_SIZE > 7 - }else{ - if (index == 130) ARRAY_VALUE = ARRAY_07_STATIC_VAR_130; - else ARRAY_VALUE = ARRAY_07_STATIC_VAR_131; - } - #endif - #if ARRAY_07_POW2_SIZE > 7 - }else{ - #if ARRAY_07_POW2_SIZE > 7 - if (index < 134) { - #endif - if (index == 132) ARRAY_VALUE = ARRAY_07_STATIC_VAR_132; - else ARRAY_VALUE = ARRAY_07_STATIC_VAR_133; - #if ARRAY_07_POW2_SIZE > 7 - }else{ - if (index == 134) ARRAY_VALUE = ARRAY_07_STATIC_VAR_134; - else ARRAY_VALUE = ARRAY_07_STATIC_VAR_135; - } - #endif - } - #endif - #if ARRAY_07_POW2_SIZE > 7 - }else{ - #if ARRAY_07_POW2_SIZE > 7 - if (index < 140) { - #endif - #if ARRAY_07_POW2_SIZE > 7 - if (index < 138) { - #endif - if (index == 136) ARRAY_VALUE = ARRAY_07_STATIC_VAR_136; - else ARRAY_VALUE = ARRAY_07_STATIC_VAR_137; - #if ARRAY_07_POW2_SIZE > 7 - }else{ - if (index == 138) ARRAY_VALUE = ARRAY_07_STATIC_VAR_138; - else ARRAY_VALUE = ARRAY_07_STATIC_VAR_139; - } - #endif - #if ARRAY_07_POW2_SIZE > 7 - }else{ - #if ARRAY_07_POW2_SIZE > 7 - if (index < 142) { - #endif - if (index == 140) ARRAY_VALUE = ARRAY_07_STATIC_VAR_140; - else ARRAY_VALUE = ARRAY_07_STATIC_VAR_141; - #if ARRAY_07_POW2_SIZE > 7 - }else{ - if (index == 142) ARRAY_VALUE = ARRAY_07_STATIC_VAR_142; - else ARRAY_VALUE = ARRAY_07_STATIC_VAR_143; - } - #endif - } - #endif - } - #endif - #if ARRAY_07_POW2_SIZE > 7 - }else{ - #if ARRAY_07_POW2_SIZE > 7 - if (index < 152) { - #endif - #if ARRAY_07_POW2_SIZE > 7 - if (index < 148) { - #endif - #if ARRAY_07_POW2_SIZE > 7 - if (index < 146) { - #endif - if (index == 144) ARRAY_VALUE = ARRAY_07_STATIC_VAR_144; - else ARRAY_VALUE = ARRAY_07_STATIC_VAR_145; - #if ARRAY_07_POW2_SIZE > 7 - }else{ - if (index == 146) ARRAY_VALUE = ARRAY_07_STATIC_VAR_146; - else ARRAY_VALUE = ARRAY_07_STATIC_VAR_147; - } - #endif - #if ARRAY_07_POW2_SIZE > 7 - }else{ - #if ARRAY_07_POW2_SIZE > 7 - if (index < 150) { - #endif - if (index == 148) ARRAY_VALUE = ARRAY_07_STATIC_VAR_148; - else ARRAY_VALUE = ARRAY_07_STATIC_VAR_149; - #if ARRAY_07_POW2_SIZE > 7 - }else{ - if (index == 150) ARRAY_VALUE = ARRAY_07_STATIC_VAR_150; - else ARRAY_VALUE = ARRAY_07_STATIC_VAR_151; - } - #endif - } - #endif - #if ARRAY_07_POW2_SIZE > 7 - }else{ - #if ARRAY_07_POW2_SIZE > 7 - if (index < 156) { - #endif - #if ARRAY_07_POW2_SIZE > 7 - if (index < 154) { - #endif - if (index == 152) ARRAY_VALUE = ARRAY_07_STATIC_VAR_152; - else ARRAY_VALUE = ARRAY_07_STATIC_VAR_153; - #if ARRAY_07_POW2_SIZE > 7 - }else{ - if (index == 154) ARRAY_VALUE = ARRAY_07_STATIC_VAR_154; - else ARRAY_VALUE = ARRAY_07_STATIC_VAR_155; - } - #endif - #if ARRAY_07_POW2_SIZE > 7 - }else{ - #if ARRAY_07_POW2_SIZE > 7 - if (index < 158) { - #endif - if (index == 156) ARRAY_VALUE = ARRAY_07_STATIC_VAR_156; - else ARRAY_VALUE = ARRAY_07_STATIC_VAR_157; - #if ARRAY_07_POW2_SIZE > 7 - }else{ - if (index == 158) ARRAY_VALUE = ARRAY_07_STATIC_VAR_158; - else ARRAY_VALUE = ARRAY_07_STATIC_VAR_159; - } - #endif - } - #endif - } - #endif - } - #endif - #if ARRAY_07_POW2_SIZE > 7 - }else{ - #if ARRAY_07_POW2_SIZE > 7 - if (index < 176) { - #endif - #if ARRAY_07_POW2_SIZE > 7 - if (index < 168) { - #endif - #if ARRAY_07_POW2_SIZE > 7 - if (index < 164) { - #endif - #if ARRAY_07_POW2_SIZE > 7 - if (index < 162) { - #endif - if (index == 160) ARRAY_VALUE = ARRAY_07_STATIC_VAR_160; - else ARRAY_VALUE = ARRAY_07_STATIC_VAR_161; - #if ARRAY_07_POW2_SIZE > 7 - }else{ - if (index == 162) ARRAY_VALUE = ARRAY_07_STATIC_VAR_162; - else ARRAY_VALUE = ARRAY_07_STATIC_VAR_163; - } - #endif - #if ARRAY_07_POW2_SIZE > 7 - }else{ - #if ARRAY_07_POW2_SIZE > 7 - if (index < 166) { - #endif - if (index == 164) ARRAY_VALUE = ARRAY_07_STATIC_VAR_164; - else ARRAY_VALUE = ARRAY_07_STATIC_VAR_165; - #if ARRAY_07_POW2_SIZE > 7 - }else{ - if (index == 166) ARRAY_VALUE = ARRAY_07_STATIC_VAR_166; - else ARRAY_VALUE = ARRAY_07_STATIC_VAR_167; - } - #endif - } - #endif - #if ARRAY_07_POW2_SIZE > 7 - }else{ - #if ARRAY_07_POW2_SIZE > 7 - if (index < 172) { - #endif - #if ARRAY_07_POW2_SIZE > 7 - if (index < 170) { - #endif - if (index == 168) ARRAY_VALUE = ARRAY_07_STATIC_VAR_168; - else ARRAY_VALUE = ARRAY_07_STATIC_VAR_169; - #if ARRAY_07_POW2_SIZE > 7 - }else{ - if (index == 170) ARRAY_VALUE = ARRAY_07_STATIC_VAR_170; - else ARRAY_VALUE = ARRAY_07_STATIC_VAR_171; - } - #endif - #if ARRAY_07_POW2_SIZE > 7 - }else{ - #if ARRAY_07_POW2_SIZE > 7 - if (index < 174) { - #endif - if (index == 172) ARRAY_VALUE = ARRAY_07_STATIC_VAR_172; - else ARRAY_VALUE = ARRAY_07_STATIC_VAR_173; - #if ARRAY_07_POW2_SIZE > 7 - }else{ - if (index == 174) ARRAY_VALUE = ARRAY_07_STATIC_VAR_174; - else ARRAY_VALUE = ARRAY_07_STATIC_VAR_175; - } - #endif - } - #endif - } - #endif - #if ARRAY_07_POW2_SIZE > 7 - }else{ - #if ARRAY_07_POW2_SIZE > 7 - if (index < 184) { - #endif - #if ARRAY_07_POW2_SIZE > 7 - if (index < 180) { - #endif - #if ARRAY_07_POW2_SIZE > 7 - if (index < 178) { - #endif - if (index == 176) ARRAY_VALUE = ARRAY_07_STATIC_VAR_176; - else ARRAY_VALUE = ARRAY_07_STATIC_VAR_177; - #if ARRAY_07_POW2_SIZE > 7 - }else{ - if (index == 178) ARRAY_VALUE = ARRAY_07_STATIC_VAR_178; - else ARRAY_VALUE = ARRAY_07_STATIC_VAR_179; - } - #endif - #if ARRAY_07_POW2_SIZE > 7 - }else{ - #if ARRAY_07_POW2_SIZE > 7 - if (index < 182) { - #endif - if (index == 180) ARRAY_VALUE = ARRAY_07_STATIC_VAR_180; - else ARRAY_VALUE = ARRAY_07_STATIC_VAR_181; - #if ARRAY_07_POW2_SIZE > 7 - }else{ - if (index == 182) ARRAY_VALUE = ARRAY_07_STATIC_VAR_182; - else ARRAY_VALUE = ARRAY_07_STATIC_VAR_183; - } - #endif - } - #endif - #if ARRAY_07_POW2_SIZE > 7 - }else{ - #if ARRAY_07_POW2_SIZE > 7 - if (index < 188) { - #endif - #if ARRAY_07_POW2_SIZE > 7 - if (index < 186) { - #endif - if (index == 184) ARRAY_VALUE = ARRAY_07_STATIC_VAR_184; - else ARRAY_VALUE = ARRAY_07_STATIC_VAR_185; - #if ARRAY_07_POW2_SIZE > 7 - }else{ - if (index == 186) ARRAY_VALUE = ARRAY_07_STATIC_VAR_186; - else ARRAY_VALUE = ARRAY_07_STATIC_VAR_187; - } - #endif - #if ARRAY_07_POW2_SIZE > 7 - }else{ - #if ARRAY_07_POW2_SIZE > 7 - if (index < 190) { - #endif - if (index == 188) ARRAY_VALUE = ARRAY_07_STATIC_VAR_188; - else ARRAY_VALUE = ARRAY_07_STATIC_VAR_189; - #if ARRAY_07_POW2_SIZE > 7 - }else{ - if (index == 190) ARRAY_VALUE = ARRAY_07_STATIC_VAR_190; - else ARRAY_VALUE = ARRAY_07_STATIC_VAR_191; - } - #endif - } - #endif - } - #endif - } - #endif - } - #endif - #if ARRAY_07_POW2_SIZE > 7 - }else{ - #if ARRAY_07_POW2_SIZE > 7 - if (index < 224) { - #endif - #if ARRAY_07_POW2_SIZE > 7 - if (index < 208) { - #endif - #if ARRAY_07_POW2_SIZE > 7 - if (index < 200) { - #endif - #if ARRAY_07_POW2_SIZE > 7 - if (index < 196) { - #endif - #if ARRAY_07_POW2_SIZE > 7 - if (index < 194) { - #endif - if (index == 192) ARRAY_VALUE = ARRAY_07_STATIC_VAR_192; - else ARRAY_VALUE = ARRAY_07_STATIC_VAR_193; - #if ARRAY_07_POW2_SIZE > 7 - }else{ - if (index == 194) ARRAY_VALUE = ARRAY_07_STATIC_VAR_194; - else ARRAY_VALUE = ARRAY_07_STATIC_VAR_195; - } - #endif - #if ARRAY_07_POW2_SIZE > 7 - }else{ - #if ARRAY_07_POW2_SIZE > 7 - if (index < 198) { - #endif - if (index == 196) ARRAY_VALUE = ARRAY_07_STATIC_VAR_196; - else ARRAY_VALUE = ARRAY_07_STATIC_VAR_197; - #if ARRAY_07_POW2_SIZE > 7 - }else{ - if (index == 198) ARRAY_VALUE = ARRAY_07_STATIC_VAR_198; - else ARRAY_VALUE = ARRAY_07_STATIC_VAR_199; - } - #endif - } - #endif - #if ARRAY_07_POW2_SIZE > 7 - }else{ - #if ARRAY_07_POW2_SIZE > 7 - if (index < 204) { - #endif - #if ARRAY_07_POW2_SIZE > 7 - if (index < 202) { - #endif - if (index == 200) ARRAY_VALUE = ARRAY_07_STATIC_VAR_200; - else ARRAY_VALUE = ARRAY_07_STATIC_VAR_201; - #if ARRAY_07_POW2_SIZE > 7 - }else{ - if (index == 202) ARRAY_VALUE = ARRAY_07_STATIC_VAR_202; - else ARRAY_VALUE = ARRAY_07_STATIC_VAR_203; - } - #endif - #if ARRAY_07_POW2_SIZE > 7 - }else{ - #if ARRAY_07_POW2_SIZE > 7 - if (index < 206) { - #endif - if (index == 204) ARRAY_VALUE = ARRAY_07_STATIC_VAR_204; - else ARRAY_VALUE = ARRAY_07_STATIC_VAR_205; - #if ARRAY_07_POW2_SIZE > 7 - }else{ - if (index == 206) ARRAY_VALUE = ARRAY_07_STATIC_VAR_206; - else ARRAY_VALUE = ARRAY_07_STATIC_VAR_207; - } - #endif - } - #endif - } - #endif - #if ARRAY_07_POW2_SIZE > 7 - }else{ - #if ARRAY_07_POW2_SIZE > 7 - if (index < 216) { - #endif - #if ARRAY_07_POW2_SIZE > 7 - if (index < 212) { - #endif - #if ARRAY_07_POW2_SIZE > 7 - if (index < 210) { - #endif - if (index == 208) ARRAY_VALUE = ARRAY_07_STATIC_VAR_208; - else ARRAY_VALUE = ARRAY_07_STATIC_VAR_209; - #if ARRAY_07_POW2_SIZE > 7 - }else{ - if (index == 210) ARRAY_VALUE = ARRAY_07_STATIC_VAR_210; - else ARRAY_VALUE = ARRAY_07_STATIC_VAR_211; - } - #endif - #if ARRAY_07_POW2_SIZE > 7 - }else{ - #if ARRAY_07_POW2_SIZE > 7 - if (index < 214) { - #endif - if (index == 212) ARRAY_VALUE = ARRAY_07_STATIC_VAR_212; - else ARRAY_VALUE = ARRAY_07_STATIC_VAR_213; - #if ARRAY_07_POW2_SIZE > 7 - }else{ - if (index == 214) ARRAY_VALUE = ARRAY_07_STATIC_VAR_214; - else ARRAY_VALUE = ARRAY_07_STATIC_VAR_215; - } - #endif - } - #endif - #if ARRAY_07_POW2_SIZE > 7 - }else{ - #if ARRAY_07_POW2_SIZE > 7 - if (index < 220) { - #endif - #if ARRAY_07_POW2_SIZE > 7 - if (index < 218) { - #endif - if (index == 216) ARRAY_VALUE = ARRAY_07_STATIC_VAR_216; - else ARRAY_VALUE = ARRAY_07_STATIC_VAR_217; - #if ARRAY_07_POW2_SIZE > 7 - }else{ - if (index == 218) ARRAY_VALUE = ARRAY_07_STATIC_VAR_218; - else ARRAY_VALUE = ARRAY_07_STATIC_VAR_219; - } - #endif - #if ARRAY_07_POW2_SIZE > 7 - }else{ - #if ARRAY_07_POW2_SIZE > 7 - if (index < 222) { - #endif - if (index == 220) ARRAY_VALUE = ARRAY_07_STATIC_VAR_220; - else ARRAY_VALUE = ARRAY_07_STATIC_VAR_221; - #if ARRAY_07_POW2_SIZE > 7 - }else{ - if (index == 222) ARRAY_VALUE = ARRAY_07_STATIC_VAR_222; - else ARRAY_VALUE = ARRAY_07_STATIC_VAR_223; - } - #endif - } - #endif - } - #endif - } - #endif - #if ARRAY_07_POW2_SIZE > 7 - }else{ - #if ARRAY_07_POW2_SIZE > 7 - if (index < 240) { - #endif - #if ARRAY_07_POW2_SIZE > 7 - if (index < 232) { - #endif - #if ARRAY_07_POW2_SIZE > 7 - if (index < 228) { - #endif - #if ARRAY_07_POW2_SIZE > 7 - if (index < 226) { - #endif - if (index == 224) ARRAY_VALUE = ARRAY_07_STATIC_VAR_224; - else ARRAY_VALUE = ARRAY_07_STATIC_VAR_225; - #if ARRAY_07_POW2_SIZE > 7 - }else{ - if (index == 226) ARRAY_VALUE = ARRAY_07_STATIC_VAR_226; - else ARRAY_VALUE = ARRAY_07_STATIC_VAR_227; - } - #endif - #if ARRAY_07_POW2_SIZE > 7 - }else{ - #if ARRAY_07_POW2_SIZE > 7 - if (index < 230) { - #endif - if (index == 228) ARRAY_VALUE = ARRAY_07_STATIC_VAR_228; - else ARRAY_VALUE = ARRAY_07_STATIC_VAR_229; - #if ARRAY_07_POW2_SIZE > 7 - }else{ - if (index == 230) ARRAY_VALUE = ARRAY_07_STATIC_VAR_230; - else ARRAY_VALUE = ARRAY_07_STATIC_VAR_231; - } - #endif - } - #endif - #if ARRAY_07_POW2_SIZE > 7 - }else{ - #if ARRAY_07_POW2_SIZE > 7 - if (index < 236) { - #endif - #if ARRAY_07_POW2_SIZE > 7 - if (index < 234) { - #endif - if (index == 232) ARRAY_VALUE = ARRAY_07_STATIC_VAR_232; - else ARRAY_VALUE = ARRAY_07_STATIC_VAR_233; - #if ARRAY_07_POW2_SIZE > 7 - }else{ - if (index == 234) ARRAY_VALUE = ARRAY_07_STATIC_VAR_234; - else ARRAY_VALUE = ARRAY_07_STATIC_VAR_235; - } - #endif - #if ARRAY_07_POW2_SIZE > 7 - }else{ - #if ARRAY_07_POW2_SIZE > 7 - if (index < 238) { - #endif - if (index == 236) ARRAY_VALUE = ARRAY_07_STATIC_VAR_236; - else ARRAY_VALUE = ARRAY_07_STATIC_VAR_237; - #if ARRAY_07_POW2_SIZE > 7 - }else{ - if (index == 238) ARRAY_VALUE = ARRAY_07_STATIC_VAR_238; - else ARRAY_VALUE = ARRAY_07_STATIC_VAR_239; - } - #endif - } - #endif - } - #endif - #if ARRAY_07_POW2_SIZE > 7 - }else{ - #if ARRAY_07_POW2_SIZE > 7 - if (index < 248) { - #endif - #if ARRAY_07_POW2_SIZE > 7 - if (index < 244) { - #endif - #if ARRAY_07_POW2_SIZE > 7 - if (index < 242) { - #endif - if (index == 240) ARRAY_VALUE = ARRAY_07_STATIC_VAR_240; - else ARRAY_VALUE = ARRAY_07_STATIC_VAR_241; - #if ARRAY_07_POW2_SIZE > 7 - }else{ - if (index == 242) ARRAY_VALUE = ARRAY_07_STATIC_VAR_242; - else ARRAY_VALUE = ARRAY_07_STATIC_VAR_243; - } - #endif - #if ARRAY_07_POW2_SIZE > 7 - }else{ - #if ARRAY_07_POW2_SIZE > 7 - if (index < 246) { - #endif - if (index == 244) ARRAY_VALUE = ARRAY_07_STATIC_VAR_244; - else ARRAY_VALUE = ARRAY_07_STATIC_VAR_245; - #if ARRAY_07_POW2_SIZE > 7 - }else{ - if (index == 246) ARRAY_VALUE = ARRAY_07_STATIC_VAR_246; - else ARRAY_VALUE = ARRAY_07_STATIC_VAR_247; - } - #endif - } - #endif - #if ARRAY_07_POW2_SIZE > 7 - }else{ - #if ARRAY_07_POW2_SIZE > 7 - if (index < 252) { - #endif - #if ARRAY_07_POW2_SIZE > 7 - if (index < 250) { - #endif - if (index == 248) ARRAY_VALUE = ARRAY_07_STATIC_VAR_248; - else ARRAY_VALUE = ARRAY_07_STATIC_VAR_249; - #if ARRAY_07_POW2_SIZE > 7 - }else{ - if (index == 250) ARRAY_VALUE = ARRAY_07_STATIC_VAR_250; - else ARRAY_VALUE = ARRAY_07_STATIC_VAR_251; - } - #endif - #if ARRAY_07_POW2_SIZE > 7 - }else{ - #if ARRAY_07_POW2_SIZE > 7 - if (index < 254) { - #endif - if (index == 252) ARRAY_VALUE = ARRAY_07_STATIC_VAR_252; - else ARRAY_VALUE = ARRAY_07_STATIC_VAR_253; - #if ARRAY_07_POW2_SIZE > 7 - }else{ - if (index == 254) ARRAY_VALUE = ARRAY_07_STATIC_VAR_254; - else ARRAY_VALUE = ARRAY_07_STATIC_VAR_255; - } - #endif - } - #endif - } - #endif - } - #endif - } - #endif - } - #endif - } - #endif -} - -ARRAY_07_SETTER(index, value) { - #if ARRAY_07_POW2_SIZE > 7 - if (index < 128) { - #endif - #if ARRAY_07_POW2_SIZE > 6 - if (index < 64) { - #endif - #if ARRAY_07_POW2_SIZE > 5 - if (index < 32) { - #endif - #if ARRAY_07_POW2_SIZE > 4 - if (index < 16) { - #endif - #if ARRAY_07_POW2_SIZE > 3 - if (index < 8) { - #endif - #if ARRAY_07_POW2_SIZE > 2 - if (index < 4) { - #endif - #if ARRAY_07_POW2_SIZE > 1 - if (index < 2) { - #endif - if (index == 0) ARRAY_07_STATIC_VAR_000 = value; - else ARRAY_07_STATIC_VAR_001 = value; - #if ARRAY_07_POW2_SIZE > 1 - }else{ - if (index == 2) ARRAY_07_STATIC_VAR_002 = value; - else ARRAY_07_STATIC_VAR_003 = value; - } - #endif - #if ARRAY_07_POW2_SIZE > 2 - }else{ - #if ARRAY_07_POW2_SIZE > 2 - if (index < 6) { - #endif - if (index == 4) ARRAY_07_STATIC_VAR_004 = value; - else ARRAY_07_STATIC_VAR_005 = value; - #if ARRAY_07_POW2_SIZE > 2 - }else{ - if (index == 6) ARRAY_07_STATIC_VAR_006 = value; - else ARRAY_07_STATIC_VAR_007 = value; - } - #endif - } - #endif - #if ARRAY_07_POW2_SIZE > 3 - }else{ - #if ARRAY_07_POW2_SIZE > 3 - if (index < 12) { - #endif - #if ARRAY_07_POW2_SIZE > 3 - if (index < 10) { - #endif - if (index == 8) ARRAY_07_STATIC_VAR_008 = value; - else ARRAY_07_STATIC_VAR_009 = value; - #if ARRAY_07_POW2_SIZE > 3 - }else{ - if (index == 10) ARRAY_07_STATIC_VAR_010 = value; - else ARRAY_07_STATIC_VAR_011 = value; - } - #endif - #if ARRAY_07_POW2_SIZE > 3 - }else{ - #if ARRAY_07_POW2_SIZE > 3 - if (index < 14) { - #endif - if (index == 12) ARRAY_07_STATIC_VAR_012 = value; - else ARRAY_07_STATIC_VAR_013 = value; - #if ARRAY_07_POW2_SIZE > 3 - }else{ - if (index == 14) ARRAY_07_STATIC_VAR_014 = value; - else ARRAY_07_STATIC_VAR_015 = value; - } - #endif - } - #endif - } - #endif - #if ARRAY_07_POW2_SIZE > 4 - }else{ - #if ARRAY_07_POW2_SIZE > 4 - if (index < 24) { - #endif - #if ARRAY_07_POW2_SIZE > 4 - if (index < 20) { - #endif - #if ARRAY_07_POW2_SIZE > 4 - if (index < 18) { - #endif - if (index == 16) ARRAY_07_STATIC_VAR_016 = value; - else ARRAY_07_STATIC_VAR_017 = value; - #if ARRAY_07_POW2_SIZE > 4 - }else{ - if (index == 18) ARRAY_07_STATIC_VAR_018 = value; - else ARRAY_07_STATIC_VAR_019 = value; - } - #endif - #if ARRAY_07_POW2_SIZE > 4 - }else{ - #if ARRAY_07_POW2_SIZE > 4 - if (index < 22) { - #endif - if (index == 20) ARRAY_07_STATIC_VAR_020 = value; - else ARRAY_07_STATIC_VAR_021 = value; - #if ARRAY_07_POW2_SIZE > 4 - }else{ - if (index == 22) ARRAY_07_STATIC_VAR_022 = value; - else ARRAY_07_STATIC_VAR_023 = value; - } - #endif - } - #endif - #if ARRAY_07_POW2_SIZE > 4 - }else{ - #if ARRAY_07_POW2_SIZE > 4 - if (index < 28) { - #endif - #if ARRAY_07_POW2_SIZE > 4 - if (index < 26) { - #endif - if (index == 24) ARRAY_07_STATIC_VAR_024 = value; - else ARRAY_07_STATIC_VAR_025 = value; - #if ARRAY_07_POW2_SIZE > 4 - }else{ - if (index == 26) ARRAY_07_STATIC_VAR_026 = value; - else ARRAY_07_STATIC_VAR_027 = value; - } - #endif - #if ARRAY_07_POW2_SIZE > 4 - }else{ - #if ARRAY_07_POW2_SIZE > 4 - if (index < 30) { - #endif - if (index == 28) ARRAY_07_STATIC_VAR_028 = value; - else ARRAY_07_STATIC_VAR_029 = value; - #if ARRAY_07_POW2_SIZE > 4 - }else{ - if (index == 30) ARRAY_07_STATIC_VAR_030 = value; - else ARRAY_07_STATIC_VAR_031 = value; - } - #endif - } - #endif - } - #endif - } - #endif - #if ARRAY_07_POW2_SIZE > 5 - }else{ - #if ARRAY_07_POW2_SIZE > 5 - if (index < 48) { - #endif - #if ARRAY_07_POW2_SIZE > 5 - if (index < 40) { - #endif - #if ARRAY_07_POW2_SIZE > 5 - if (index < 36) { - #endif - #if ARRAY_07_POW2_SIZE > 5 - if (index < 34) { - #endif - if (index == 32) ARRAY_07_STATIC_VAR_032 = value; - else ARRAY_07_STATIC_VAR_033 = value; - #if ARRAY_07_POW2_SIZE > 5 - }else{ - if (index == 34) ARRAY_07_STATIC_VAR_034 = value; - else ARRAY_07_STATIC_VAR_035 = value; - } - #endif - #if ARRAY_07_POW2_SIZE > 5 - }else{ - #if ARRAY_07_POW2_SIZE > 5 - if (index < 38) { - #endif - if (index == 36) ARRAY_07_STATIC_VAR_036 = value; - else ARRAY_07_STATIC_VAR_037 = value; - #if ARRAY_07_POW2_SIZE > 5 - }else{ - if (index == 38) ARRAY_07_STATIC_VAR_038 = value; - else ARRAY_07_STATIC_VAR_039 = value; - } - #endif - } - #endif - #if ARRAY_07_POW2_SIZE > 5 - }else{ - #if ARRAY_07_POW2_SIZE > 5 - if (index < 44) { - #endif - #if ARRAY_07_POW2_SIZE > 5 - if (index < 42) { - #endif - if (index == 40) ARRAY_07_STATIC_VAR_040 = value; - else ARRAY_07_STATIC_VAR_041 = value; - #if ARRAY_07_POW2_SIZE > 5 - }else{ - if (index == 42) ARRAY_07_STATIC_VAR_042 = value; - else ARRAY_07_STATIC_VAR_043 = value; - } - #endif - #if ARRAY_07_POW2_SIZE > 5 - }else{ - #if ARRAY_07_POW2_SIZE > 5 - if (index < 46) { - #endif - if (index == 44) ARRAY_07_STATIC_VAR_044 = value; - else ARRAY_07_STATIC_VAR_045 = value; - #if ARRAY_07_POW2_SIZE > 5 - }else{ - if (index == 46) ARRAY_07_STATIC_VAR_046 = value; - else ARRAY_07_STATIC_VAR_047 = value; - } - #endif - } - #endif - } - #endif - #if ARRAY_07_POW2_SIZE > 5 - }else{ - #if ARRAY_07_POW2_SIZE > 5 - if (index < 56) { - #endif - #if ARRAY_07_POW2_SIZE > 5 - if (index < 52) { - #endif - #if ARRAY_07_POW2_SIZE > 5 - if (index < 50) { - #endif - if (index == 48) ARRAY_07_STATIC_VAR_048 = value; - else ARRAY_07_STATIC_VAR_049 = value; - #if ARRAY_07_POW2_SIZE > 5 - }else{ - if (index == 50) ARRAY_07_STATIC_VAR_050 = value; - else ARRAY_07_STATIC_VAR_051 = value; - } - #endif - #if ARRAY_07_POW2_SIZE > 5 - }else{ - #if ARRAY_07_POW2_SIZE > 5 - if (index < 54) { - #endif - if (index == 52) ARRAY_07_STATIC_VAR_052 = value; - else ARRAY_07_STATIC_VAR_053 = value; - #if ARRAY_07_POW2_SIZE > 5 - }else{ - if (index == 54) ARRAY_07_STATIC_VAR_054 = value; - else ARRAY_07_STATIC_VAR_055 = value; - } - #endif - } - #endif - #if ARRAY_07_POW2_SIZE > 5 - }else{ - #if ARRAY_07_POW2_SIZE > 5 - if (index < 60) { - #endif - #if ARRAY_07_POW2_SIZE > 5 - if (index < 58) { - #endif - if (index == 56) ARRAY_07_STATIC_VAR_056 = value; - else ARRAY_07_STATIC_VAR_057 = value; - #if ARRAY_07_POW2_SIZE > 5 - }else{ - if (index == 58) ARRAY_07_STATIC_VAR_058 = value; - else ARRAY_07_STATIC_VAR_059 = value; - } - #endif - #if ARRAY_07_POW2_SIZE > 5 - }else{ - #if ARRAY_07_POW2_SIZE > 5 - if (index < 62) { - #endif - if (index == 60) ARRAY_07_STATIC_VAR_060 = value; - else ARRAY_07_STATIC_VAR_061 = value; - #if ARRAY_07_POW2_SIZE > 5 - }else{ - if (index == 62) ARRAY_07_STATIC_VAR_062 = value; - else ARRAY_07_STATIC_VAR_063 = value; - } - #endif - } - #endif - } - #endif - } - #endif - } - #endif - #if ARRAY_07_POW2_SIZE > 6 - }else{ - #if ARRAY_07_POW2_SIZE > 6 - if (index < 96) { - #endif - #if ARRAY_07_POW2_SIZE > 6 - if (index < 80) { - #endif - #if ARRAY_07_POW2_SIZE > 6 - if (index < 72) { - #endif - #if ARRAY_07_POW2_SIZE > 6 - if (index < 68) { - #endif - #if ARRAY_07_POW2_SIZE > 6 - if (index < 66) { - #endif - if (index == 64) ARRAY_07_STATIC_VAR_064 = value; - else ARRAY_07_STATIC_VAR_065 = value; - #if ARRAY_07_POW2_SIZE > 6 - }else{ - if (index == 66) ARRAY_07_STATIC_VAR_066 = value; - else ARRAY_07_STATIC_VAR_067 = value; - } - #endif - #if ARRAY_07_POW2_SIZE > 6 - }else{ - #if ARRAY_07_POW2_SIZE > 6 - if (index < 70) { - #endif - if (index == 68) ARRAY_07_STATIC_VAR_068 = value; - else ARRAY_07_STATIC_VAR_069 = value; - #if ARRAY_07_POW2_SIZE > 6 - }else{ - if (index == 70) ARRAY_07_STATIC_VAR_070 = value; - else ARRAY_07_STATIC_VAR_071 = value; - } - #endif - } - #endif - #if ARRAY_07_POW2_SIZE > 6 - }else{ - #if ARRAY_07_POW2_SIZE > 6 - if (index < 76) { - #endif - #if ARRAY_07_POW2_SIZE > 6 - if (index < 74) { - #endif - if (index == 72) ARRAY_07_STATIC_VAR_072 = value; - else ARRAY_07_STATIC_VAR_073 = value; - #if ARRAY_07_POW2_SIZE > 6 - }else{ - if (index == 74) ARRAY_07_STATIC_VAR_074 = value; - else ARRAY_07_STATIC_VAR_075 = value; - } - #endif - #if ARRAY_07_POW2_SIZE > 6 - }else{ - #if ARRAY_07_POW2_SIZE > 6 - if (index < 78) { - #endif - if (index == 76) ARRAY_07_STATIC_VAR_076 = value; - else ARRAY_07_STATIC_VAR_077 = value; - #if ARRAY_07_POW2_SIZE > 6 - }else{ - if (index == 78) ARRAY_07_STATIC_VAR_078 = value; - else ARRAY_07_STATIC_VAR_079 = value; - } - #endif - } - #endif - } - #endif - #if ARRAY_07_POW2_SIZE > 6 - }else{ - #if ARRAY_07_POW2_SIZE > 6 - if (index < 88) { - #endif - #if ARRAY_07_POW2_SIZE > 6 - if (index < 84) { - #endif - #if ARRAY_07_POW2_SIZE > 6 - if (index < 82) { - #endif - if (index == 80) ARRAY_07_STATIC_VAR_080 = value; - else ARRAY_07_STATIC_VAR_081 = value; - #if ARRAY_07_POW2_SIZE > 6 - }else{ - if (index == 82) ARRAY_07_STATIC_VAR_082 = value; - else ARRAY_07_STATIC_VAR_083 = value; - } - #endif - #if ARRAY_07_POW2_SIZE > 6 - }else{ - #if ARRAY_07_POW2_SIZE > 6 - if (index < 86) { - #endif - if (index == 84) ARRAY_07_STATIC_VAR_084 = value; - else ARRAY_07_STATIC_VAR_085 = value; - #if ARRAY_07_POW2_SIZE > 6 - }else{ - if (index == 86) ARRAY_07_STATIC_VAR_086 = value; - else ARRAY_07_STATIC_VAR_087 = value; - } - #endif - } - #endif - #if ARRAY_07_POW2_SIZE > 6 - }else{ - #if ARRAY_07_POW2_SIZE > 6 - if (index < 92) { - #endif - #if ARRAY_07_POW2_SIZE > 6 - if (index < 90) { - #endif - if (index == 88) ARRAY_07_STATIC_VAR_088 = value; - else ARRAY_07_STATIC_VAR_089 = value; - #if ARRAY_07_POW2_SIZE > 6 - }else{ - if (index == 90) ARRAY_07_STATIC_VAR_090 = value; - else ARRAY_07_STATIC_VAR_091 = value; - } - #endif - #if ARRAY_07_POW2_SIZE > 6 - }else{ - #if ARRAY_07_POW2_SIZE > 6 - if (index < 94) { - #endif - if (index == 92) ARRAY_07_STATIC_VAR_092 = value; - else ARRAY_07_STATIC_VAR_093 = value; - #if ARRAY_07_POW2_SIZE > 6 - }else{ - if (index == 94) ARRAY_07_STATIC_VAR_094 = value; - else ARRAY_07_STATIC_VAR_095 = value; - } - #endif - } - #endif - } - #endif - } - #endif - #if ARRAY_07_POW2_SIZE > 6 - }else{ - #if ARRAY_07_POW2_SIZE > 6 - if (index < 112) { - #endif - #if ARRAY_07_POW2_SIZE > 6 - if (index < 104) { - #endif - #if ARRAY_07_POW2_SIZE > 6 - if (index < 100) { - #endif - #if ARRAY_07_POW2_SIZE > 6 - if (index < 98) { - #endif - if (index == 96) ARRAY_07_STATIC_VAR_096 = value; - else ARRAY_07_STATIC_VAR_097 = value; - #if ARRAY_07_POW2_SIZE > 6 - }else{ - if (index == 98) ARRAY_07_STATIC_VAR_098 = value; - else ARRAY_07_STATIC_VAR_099 = value; - } - #endif - #if ARRAY_07_POW2_SIZE > 6 - }else{ - #if ARRAY_07_POW2_SIZE > 6 - if (index < 102) { - #endif - if (index == 100) ARRAY_07_STATIC_VAR_100 = value; - else ARRAY_07_STATIC_VAR_101 = value; - #if ARRAY_07_POW2_SIZE > 6 - }else{ - if (index == 102) ARRAY_07_STATIC_VAR_102 = value; - else ARRAY_07_STATIC_VAR_103 = value; - } - #endif - } - #endif - #if ARRAY_07_POW2_SIZE > 6 - }else{ - #if ARRAY_07_POW2_SIZE > 6 - if (index < 108) { - #endif - #if ARRAY_07_POW2_SIZE > 6 - if (index < 106) { - #endif - if (index == 104) ARRAY_07_STATIC_VAR_104 = value; - else ARRAY_07_STATIC_VAR_105 = value; - #if ARRAY_07_POW2_SIZE > 6 - }else{ - if (index == 106) ARRAY_07_STATIC_VAR_106 = value; - else ARRAY_07_STATIC_VAR_107 = value; - } - #endif - #if ARRAY_07_POW2_SIZE > 6 - }else{ - #if ARRAY_07_POW2_SIZE > 6 - if (index < 110) { - #endif - if (index == 108) ARRAY_07_STATIC_VAR_108 = value; - else ARRAY_07_STATIC_VAR_109 = value; - #if ARRAY_07_POW2_SIZE > 6 - }else{ - if (index == 110) ARRAY_07_STATIC_VAR_110 = value; - else ARRAY_07_STATIC_VAR_111 = value; - } - #endif - } - #endif - } - #endif - #if ARRAY_07_POW2_SIZE > 6 - }else{ - #if ARRAY_07_POW2_SIZE > 6 - if (index < 120) { - #endif - #if ARRAY_07_POW2_SIZE > 6 - if (index < 116) { - #endif - #if ARRAY_07_POW2_SIZE > 6 - if (index < 114) { - #endif - if (index == 112) ARRAY_07_STATIC_VAR_112 = value; - else ARRAY_07_STATIC_VAR_113 = value; - #if ARRAY_07_POW2_SIZE > 6 - }else{ - if (index == 114) ARRAY_07_STATIC_VAR_114 = value; - else ARRAY_07_STATIC_VAR_115 = value; - } - #endif - #if ARRAY_07_POW2_SIZE > 6 - }else{ - #if ARRAY_07_POW2_SIZE > 6 - if (index < 118) { - #endif - if (index == 116) ARRAY_07_STATIC_VAR_116 = value; - else ARRAY_07_STATIC_VAR_117 = value; - #if ARRAY_07_POW2_SIZE > 6 - }else{ - if (index == 118) ARRAY_07_STATIC_VAR_118 = value; - else ARRAY_07_STATIC_VAR_119 = value; - } - #endif - } - #endif - #if ARRAY_07_POW2_SIZE > 6 - }else{ - #if ARRAY_07_POW2_SIZE > 6 - if (index < 124) { - #endif - #if ARRAY_07_POW2_SIZE > 6 - if (index < 122) { - #endif - if (index == 120) ARRAY_07_STATIC_VAR_120 = value; - else ARRAY_07_STATIC_VAR_121 = value; - #if ARRAY_07_POW2_SIZE > 6 - }else{ - if (index == 122) ARRAY_07_STATIC_VAR_122 = value; - else ARRAY_07_STATIC_VAR_123 = value; - } - #endif - #if ARRAY_07_POW2_SIZE > 6 - }else{ - #if ARRAY_07_POW2_SIZE > 6 - if (index < 126) { - #endif - if (index == 124) ARRAY_07_STATIC_VAR_124 = value; - else ARRAY_07_STATIC_VAR_125 = value; - #if ARRAY_07_POW2_SIZE > 6 - }else{ - if (index == 126) ARRAY_07_STATIC_VAR_126 = value; - else ARRAY_07_STATIC_VAR_127 = value; - } - #endif - } - #endif - } - #endif - } - #endif - } - #endif - } - #endif - #if ARRAY_07_POW2_SIZE > 7 - }else{ - #if ARRAY_07_POW2_SIZE > 7 - if (index < 192) { - #endif - #if ARRAY_07_POW2_SIZE > 7 - if (index < 160) { - #endif - #if ARRAY_07_POW2_SIZE > 7 - if (index < 144) { - #endif - #if ARRAY_07_POW2_SIZE > 7 - if (index < 136) { - #endif - #if ARRAY_07_POW2_SIZE > 7 - if (index < 132) { - #endif - #if ARRAY_07_POW2_SIZE > 7 - if (index < 130) { - #endif - if (index == 128) ARRAY_07_STATIC_VAR_128 = value; - else ARRAY_07_STATIC_VAR_129 = value; - #if ARRAY_07_POW2_SIZE > 7 - }else{ - if (index == 130) ARRAY_07_STATIC_VAR_130 = value; - else ARRAY_07_STATIC_VAR_131 = value; - } - #endif - #if ARRAY_07_POW2_SIZE > 7 - }else{ - #if ARRAY_07_POW2_SIZE > 7 - if (index < 134) { - #endif - if (index == 132) ARRAY_07_STATIC_VAR_132 = value; - else ARRAY_07_STATIC_VAR_133 = value; - #if ARRAY_07_POW2_SIZE > 7 - }else{ - if (index == 134) ARRAY_07_STATIC_VAR_134 = value; - else ARRAY_07_STATIC_VAR_135 = value; - } - #endif - } - #endif - #if ARRAY_07_POW2_SIZE > 7 - }else{ - #if ARRAY_07_POW2_SIZE > 7 - if (index < 140) { - #endif - #if ARRAY_07_POW2_SIZE > 7 - if (index < 138) { - #endif - if (index == 136) ARRAY_07_STATIC_VAR_136 = value; - else ARRAY_07_STATIC_VAR_137 = value; - #if ARRAY_07_POW2_SIZE > 7 - }else{ - if (index == 138) ARRAY_07_STATIC_VAR_138 = value; - else ARRAY_07_STATIC_VAR_139 = value; - } - #endif - #if ARRAY_07_POW2_SIZE > 7 - }else{ - #if ARRAY_07_POW2_SIZE > 7 - if (index < 142) { - #endif - if (index == 140) ARRAY_07_STATIC_VAR_140 = value; - else ARRAY_07_STATIC_VAR_141 = value; - #if ARRAY_07_POW2_SIZE > 7 - }else{ - if (index == 142) ARRAY_07_STATIC_VAR_142 = value; - else ARRAY_07_STATIC_VAR_143 = value; - } - #endif - } - #endif - } - #endif - #if ARRAY_07_POW2_SIZE > 7 - }else{ - #if ARRAY_07_POW2_SIZE > 7 - if (index < 152) { - #endif - #if ARRAY_07_POW2_SIZE > 7 - if (index < 148) { - #endif - #if ARRAY_07_POW2_SIZE > 7 - if (index < 146) { - #endif - if (index == 144) ARRAY_07_STATIC_VAR_144 = value; - else ARRAY_07_STATIC_VAR_145 = value; - #if ARRAY_07_POW2_SIZE > 7 - }else{ - if (index == 146) ARRAY_07_STATIC_VAR_146 = value; - else ARRAY_07_STATIC_VAR_147 = value; - } - #endif - #if ARRAY_07_POW2_SIZE > 7 - }else{ - #if ARRAY_07_POW2_SIZE > 7 - if (index < 150) { - #endif - if (index == 148) ARRAY_07_STATIC_VAR_148 = value; - else ARRAY_07_STATIC_VAR_149 = value; - #if ARRAY_07_POW2_SIZE > 7 - }else{ - if (index == 150) ARRAY_07_STATIC_VAR_150 = value; - else ARRAY_07_STATIC_VAR_151 = value; - } - #endif - } - #endif - #if ARRAY_07_POW2_SIZE > 7 - }else{ - #if ARRAY_07_POW2_SIZE > 7 - if (index < 156) { - #endif - #if ARRAY_07_POW2_SIZE > 7 - if (index < 154) { - #endif - if (index == 152) ARRAY_07_STATIC_VAR_152 = value; - else ARRAY_07_STATIC_VAR_153 = value; - #if ARRAY_07_POW2_SIZE > 7 - }else{ - if (index == 154) ARRAY_07_STATIC_VAR_154 = value; - else ARRAY_07_STATIC_VAR_155 = value; - } - #endif - #if ARRAY_07_POW2_SIZE > 7 - }else{ - #if ARRAY_07_POW2_SIZE > 7 - if (index < 158) { - #endif - if (index == 156) ARRAY_07_STATIC_VAR_156 = value; - else ARRAY_07_STATIC_VAR_157 = value; - #if ARRAY_07_POW2_SIZE > 7 - }else{ - if (index == 158) ARRAY_07_STATIC_VAR_158 = value; - else ARRAY_07_STATIC_VAR_159 = value; - } - #endif - } - #endif - } - #endif - } - #endif - #if ARRAY_07_POW2_SIZE > 7 - }else{ - #if ARRAY_07_POW2_SIZE > 7 - if (index < 176) { - #endif - #if ARRAY_07_POW2_SIZE > 7 - if (index < 168) { - #endif - #if ARRAY_07_POW2_SIZE > 7 - if (index < 164) { - #endif - #if ARRAY_07_POW2_SIZE > 7 - if (index < 162) { - #endif - if (index == 160) ARRAY_07_STATIC_VAR_160 = value; - else ARRAY_07_STATIC_VAR_161 = value; - #if ARRAY_07_POW2_SIZE > 7 - }else{ - if (index == 162) ARRAY_07_STATIC_VAR_162 = value; - else ARRAY_07_STATIC_VAR_163 = value; - } - #endif - #if ARRAY_07_POW2_SIZE > 7 - }else{ - #if ARRAY_07_POW2_SIZE > 7 - if (index < 166) { - #endif - if (index == 164) ARRAY_07_STATIC_VAR_164 = value; - else ARRAY_07_STATIC_VAR_165 = value; - #if ARRAY_07_POW2_SIZE > 7 - }else{ - if (index == 166) ARRAY_07_STATIC_VAR_166 = value; - else ARRAY_07_STATIC_VAR_167 = value; - } - #endif - } - #endif - #if ARRAY_07_POW2_SIZE > 7 - }else{ - #if ARRAY_07_POW2_SIZE > 7 - if (index < 172) { - #endif - #if ARRAY_07_POW2_SIZE > 7 - if (index < 170) { - #endif - if (index == 168) ARRAY_07_STATIC_VAR_168 = value; - else ARRAY_07_STATIC_VAR_169 = value; - #if ARRAY_07_POW2_SIZE > 7 - }else{ - if (index == 170) ARRAY_07_STATIC_VAR_170 = value; - else ARRAY_07_STATIC_VAR_171 = value; - } - #endif - #if ARRAY_07_POW2_SIZE > 7 - }else{ - #if ARRAY_07_POW2_SIZE > 7 - if (index < 174) { - #endif - if (index == 172) ARRAY_07_STATIC_VAR_172 = value; - else ARRAY_07_STATIC_VAR_173 = value; - #if ARRAY_07_POW2_SIZE > 7 - }else{ - if (index == 174) ARRAY_07_STATIC_VAR_174 = value; - else ARRAY_07_STATIC_VAR_175 = value; - } - #endif - } - #endif - } - #endif - #if ARRAY_07_POW2_SIZE > 7 - }else{ - #if ARRAY_07_POW2_SIZE > 7 - if (index < 184) { - #endif - #if ARRAY_07_POW2_SIZE > 7 - if (index < 180) { - #endif - #if ARRAY_07_POW2_SIZE > 7 - if (index < 178) { - #endif - if (index == 176) ARRAY_07_STATIC_VAR_176 = value; - else ARRAY_07_STATIC_VAR_177 = value; - #if ARRAY_07_POW2_SIZE > 7 - }else{ - if (index == 178) ARRAY_07_STATIC_VAR_178 = value; - else ARRAY_07_STATIC_VAR_179 = value; - } - #endif - #if ARRAY_07_POW2_SIZE > 7 - }else{ - #if ARRAY_07_POW2_SIZE > 7 - if (index < 182) { - #endif - if (index == 180) ARRAY_07_STATIC_VAR_180 = value; - else ARRAY_07_STATIC_VAR_181 = value; - #if ARRAY_07_POW2_SIZE > 7 - }else{ - if (index == 182) ARRAY_07_STATIC_VAR_182 = value; - else ARRAY_07_STATIC_VAR_183 = value; - } - #endif - } - #endif - #if ARRAY_07_POW2_SIZE > 7 - }else{ - #if ARRAY_07_POW2_SIZE > 7 - if (index < 188) { - #endif - #if ARRAY_07_POW2_SIZE > 7 - if (index < 186) { - #endif - if (index == 184) ARRAY_07_STATIC_VAR_184 = value; - else ARRAY_07_STATIC_VAR_185 = value; - #if ARRAY_07_POW2_SIZE > 7 - }else{ - if (index == 186) ARRAY_07_STATIC_VAR_186 = value; - else ARRAY_07_STATIC_VAR_187 = value; - } - #endif - #if ARRAY_07_POW2_SIZE > 7 - }else{ - #if ARRAY_07_POW2_SIZE > 7 - if (index < 190) { - #endif - if (index == 188) ARRAY_07_STATIC_VAR_188 = value; - else ARRAY_07_STATIC_VAR_189 = value; - #if ARRAY_07_POW2_SIZE > 7 - }else{ - if (index == 190) ARRAY_07_STATIC_VAR_190 = value; - else ARRAY_07_STATIC_VAR_191 = value; - } - #endif - } - #endif - } - #endif - } - #endif - } - #endif - #if ARRAY_07_POW2_SIZE > 7 - }else{ - #if ARRAY_07_POW2_SIZE > 7 - if (index < 224) { - #endif - #if ARRAY_07_POW2_SIZE > 7 - if (index < 208) { - #endif - #if ARRAY_07_POW2_SIZE > 7 - if (index < 200) { - #endif - #if ARRAY_07_POW2_SIZE > 7 - if (index < 196) { - #endif - #if ARRAY_07_POW2_SIZE > 7 - if (index < 194) { - #endif - if (index == 192) ARRAY_07_STATIC_VAR_192 = value; - else ARRAY_07_STATIC_VAR_193 = value; - #if ARRAY_07_POW2_SIZE > 7 - }else{ - if (index == 194) ARRAY_07_STATIC_VAR_194 = value; - else ARRAY_07_STATIC_VAR_195 = value; - } - #endif - #if ARRAY_07_POW2_SIZE > 7 - }else{ - #if ARRAY_07_POW2_SIZE > 7 - if (index < 198) { - #endif - if (index == 196) ARRAY_07_STATIC_VAR_196 = value; - else ARRAY_07_STATIC_VAR_197 = value; - #if ARRAY_07_POW2_SIZE > 7 - }else{ - if (index == 198) ARRAY_07_STATIC_VAR_198 = value; - else ARRAY_07_STATIC_VAR_199 = value; - } - #endif - } - #endif - #if ARRAY_07_POW2_SIZE > 7 - }else{ - #if ARRAY_07_POW2_SIZE > 7 - if (index < 204) { - #endif - #if ARRAY_07_POW2_SIZE > 7 - if (index < 202) { - #endif - if (index == 200) ARRAY_07_STATIC_VAR_200 = value; - else ARRAY_07_STATIC_VAR_201 = value; - #if ARRAY_07_POW2_SIZE > 7 - }else{ - if (index == 202) ARRAY_07_STATIC_VAR_202 = value; - else ARRAY_07_STATIC_VAR_203 = value; - } - #endif - #if ARRAY_07_POW2_SIZE > 7 - }else{ - #if ARRAY_07_POW2_SIZE > 7 - if (index < 206) { - #endif - if (index == 204) ARRAY_07_STATIC_VAR_204 = value; - else ARRAY_07_STATIC_VAR_205 = value; - #if ARRAY_07_POW2_SIZE > 7 - }else{ - if (index == 206) ARRAY_07_STATIC_VAR_206 = value; - else ARRAY_07_STATIC_VAR_207 = value; - } - #endif - } - #endif - } - #endif - #if ARRAY_07_POW2_SIZE > 7 - }else{ - #if ARRAY_07_POW2_SIZE > 7 - if (index < 216) { - #endif - #if ARRAY_07_POW2_SIZE > 7 - if (index < 212) { - #endif - #if ARRAY_07_POW2_SIZE > 7 - if (index < 210) { - #endif - if (index == 208) ARRAY_07_STATIC_VAR_208 = value; - else ARRAY_07_STATIC_VAR_209 = value; - #if ARRAY_07_POW2_SIZE > 7 - }else{ - if (index == 210) ARRAY_07_STATIC_VAR_210 = value; - else ARRAY_07_STATIC_VAR_211 = value; - } - #endif - #if ARRAY_07_POW2_SIZE > 7 - }else{ - #if ARRAY_07_POW2_SIZE > 7 - if (index < 214) { - #endif - if (index == 212) ARRAY_07_STATIC_VAR_212 = value; - else ARRAY_07_STATIC_VAR_213 = value; - #if ARRAY_07_POW2_SIZE > 7 - }else{ - if (index == 214) ARRAY_07_STATIC_VAR_214 = value; - else ARRAY_07_STATIC_VAR_215 = value; - } - #endif - } - #endif - #if ARRAY_07_POW2_SIZE > 7 - }else{ - #if ARRAY_07_POW2_SIZE > 7 - if (index < 220) { - #endif - #if ARRAY_07_POW2_SIZE > 7 - if (index < 218) { - #endif - if (index == 216) ARRAY_07_STATIC_VAR_216 = value; - else ARRAY_07_STATIC_VAR_217 = value; - #if ARRAY_07_POW2_SIZE > 7 - }else{ - if (index == 218) ARRAY_07_STATIC_VAR_218 = value; - else ARRAY_07_STATIC_VAR_219 = value; - } - #endif - #if ARRAY_07_POW2_SIZE > 7 - }else{ - #if ARRAY_07_POW2_SIZE > 7 - if (index < 222) { - #endif - if (index == 220) ARRAY_07_STATIC_VAR_220 = value; - else ARRAY_07_STATIC_VAR_221 = value; - #if ARRAY_07_POW2_SIZE > 7 - }else{ - if (index == 222) ARRAY_07_STATIC_VAR_222 = value; - else ARRAY_07_STATIC_VAR_223 = value; - } - #endif - } - #endif - } - #endif - } - #endif - #if ARRAY_07_POW2_SIZE > 7 - }else{ - #if ARRAY_07_POW2_SIZE > 7 - if (index < 240) { - #endif - #if ARRAY_07_POW2_SIZE > 7 - if (index < 232) { - #endif - #if ARRAY_07_POW2_SIZE > 7 - if (index < 228) { - #endif - #if ARRAY_07_POW2_SIZE > 7 - if (index < 226) { - #endif - if (index == 224) ARRAY_07_STATIC_VAR_224 = value; - else ARRAY_07_STATIC_VAR_225 = value; - #if ARRAY_07_POW2_SIZE > 7 - }else{ - if (index == 226) ARRAY_07_STATIC_VAR_226 = value; - else ARRAY_07_STATIC_VAR_227 = value; - } - #endif - #if ARRAY_07_POW2_SIZE > 7 - }else{ - #if ARRAY_07_POW2_SIZE > 7 - if (index < 230) { - #endif - if (index == 228) ARRAY_07_STATIC_VAR_228 = value; - else ARRAY_07_STATIC_VAR_229 = value; - #if ARRAY_07_POW2_SIZE > 7 - }else{ - if (index == 230) ARRAY_07_STATIC_VAR_230 = value; - else ARRAY_07_STATIC_VAR_231 = value; - } - #endif - } - #endif - #if ARRAY_07_POW2_SIZE > 7 - }else{ - #if ARRAY_07_POW2_SIZE > 7 - if (index < 236) { - #endif - #if ARRAY_07_POW2_SIZE > 7 - if (index < 234) { - #endif - if (index == 232) ARRAY_07_STATIC_VAR_232 = value; - else ARRAY_07_STATIC_VAR_233 = value; - #if ARRAY_07_POW2_SIZE > 7 - }else{ - if (index == 234) ARRAY_07_STATIC_VAR_234 = value; - else ARRAY_07_STATIC_VAR_235 = value; - } - #endif - #if ARRAY_07_POW2_SIZE > 7 - }else{ - #if ARRAY_07_POW2_SIZE > 7 - if (index < 238) { - #endif - if (index == 236) ARRAY_07_STATIC_VAR_236 = value; - else ARRAY_07_STATIC_VAR_237 = value; - #if ARRAY_07_POW2_SIZE > 7 - }else{ - if (index == 238) ARRAY_07_STATIC_VAR_238 = value; - else ARRAY_07_STATIC_VAR_239 = value; - } - #endif - } - #endif - } - #endif - #if ARRAY_07_POW2_SIZE > 7 - }else{ - #if ARRAY_07_POW2_SIZE > 7 - if (index < 248) { - #endif - #if ARRAY_07_POW2_SIZE > 7 - if (index < 244) { - #endif - #if ARRAY_07_POW2_SIZE > 7 - if (index < 242) { - #endif - if (index == 240) ARRAY_07_STATIC_VAR_240 = value; - else ARRAY_07_STATIC_VAR_241 = value; - #if ARRAY_07_POW2_SIZE > 7 - }else{ - if (index == 242) ARRAY_07_STATIC_VAR_242 = value; - else ARRAY_07_STATIC_VAR_243 = value; - } - #endif - #if ARRAY_07_POW2_SIZE > 7 - }else{ - #if ARRAY_07_POW2_SIZE > 7 - if (index < 246) { - #endif - if (index == 244) ARRAY_07_STATIC_VAR_244 = value; - else ARRAY_07_STATIC_VAR_245 = value; - #if ARRAY_07_POW2_SIZE > 7 - }else{ - if (index == 246) ARRAY_07_STATIC_VAR_246 = value; - else ARRAY_07_STATIC_VAR_247 = value; - } - #endif - } - #endif - #if ARRAY_07_POW2_SIZE > 7 - }else{ - #if ARRAY_07_POW2_SIZE > 7 - if (index < 252) { - #endif - #if ARRAY_07_POW2_SIZE > 7 - if (index < 250) { - #endif - if (index == 248) ARRAY_07_STATIC_VAR_248 = value; - else ARRAY_07_STATIC_VAR_249 = value; - #if ARRAY_07_POW2_SIZE > 7 - }else{ - if (index == 250) ARRAY_07_STATIC_VAR_250 = value; - else ARRAY_07_STATIC_VAR_251 = value; - } - #endif - #if ARRAY_07_POW2_SIZE > 7 - }else{ - #if ARRAY_07_POW2_SIZE > 7 - if (index < 254) { - #endif - if (index == 252) ARRAY_07_STATIC_VAR_252 = value; - else ARRAY_07_STATIC_VAR_253 = value; - #if ARRAY_07_POW2_SIZE > 7 - }else{ - if (index == 254) ARRAY_07_STATIC_VAR_254 = value; - else ARRAY_07_STATIC_VAR_255 = value; - } - #endif - } - #endif - } - #endif - } - #endif - } - #endif - } - #endif - } - #endif -} \ No newline at end of file diff --git a/scripts/array_header_generator.ipynb b/scripts/array_header_generator.ipynb deleted file mode 100644 index 5c808cc74cd..00000000000 --- a/scripts/array_header_generator.ipynb +++ /dev/null @@ -1,503 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": 105, - "metadata": {}, - "outputs": [], - "source": [ - "# (c) Beherith mysterme@gmail.com \n", - "arraynum_index = 0\n", - "ARRAY_POW2_SIZE = 4\n", - "szn = \"ARRAY_%02d_POW2_SIZE\" % arraynum_index\n", - "asv = ('ARRAY_%02d_'%arraynum_index) + 'STATIC_VAR_%03d'\n", - "\n", - "import math\n", - "def log2f(v):\n", - " return math.floor(math.log2(v))" - ] - }, - { - "cell_type": "code", - "execution_count": 114, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "#if ARRAY_07_POW2_SIZE > 0\n", - " static-var ARRAY_07_STATIC_VAR_000, ARRAY_07_STATIC_VAR_001;\n", - "#endif\n", - "#if ARRAY_07_POW2_SIZE > 1\n", - " static-var ARRAY_07_STATIC_VAR_002, ARRAY_07_STATIC_VAR_003;\n", - "#endif\n", - "#if ARRAY_07_POW2_SIZE > 2\n", - " static-var ARRAY_07_STATIC_VAR_004, ARRAY_07_STATIC_VAR_005, ARRAY_07_STATIC_VAR_006, ARRAY_07_STATIC_VAR_007;\n", - "#endif\n", - "#if ARRAY_07_POW2_SIZE > 3\n", - " static-var ARRAY_07_STATIC_VAR_008, ARRAY_07_STATIC_VAR_009, ARRAY_07_STATIC_VAR_010, ARRAY_07_STATIC_VAR_011, ARRAY_07_STATIC_VAR_012, ARRAY_07_STATIC_VAR_013, ARRAY_07_STATIC_VAR_014, ARRAY_07_STATIC_VAR_015;\n", - "#endif\n" - ] - } - ], - "source": [ - "def declare_staticvars(po2_size):\n", - " res = []\n", - " i = 0\n", - " res.append(f'#if {szn} > {0}')\n", - " res.append(f' static-var {asv%i}, {asv%(i+1)};')\n", - " res.append(f'#endif')\n", - " i = 2\n", - " for p in range(1, po2_size):\n", - " res.append(f'#if {szn} > {p}')\n", - "\n", - " res.append(f' static-var {\", \".join([asv%j for j in range(i, 2*i )])};')\n", - " res.append(f'#endif')\n", - " i += 2 ** p\n", - "\n", - " return res\n", - "\n", - "\n", - "print ('\\n'.join(declare_staticvars(4)))" - ] - }, - { - "cell_type": "code", - "execution_count": 53, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "ARRAY_00_GETTER(index) {\n", - "\tif(index == 0) ARRAY_VALUE = ARRAY_00_STATIC_VAR_000;\n", - "\tif(index == 1) ARRAY_VALUE = ARRAY_00_STATIC_VAR_001;\n", - "#if ARRAY_00_POW2_SIZE > 1\n", - "\tif(index == 2) ARRAY_VALUE = ARRAY_00_STATIC_VAR_002;\n", - "\tif(index == 3) ARRAY_VALUE = ARRAY_00_STATIC_VAR_003;\n", - "#endif\n", - "#if ARRAY_00_POW2_SIZE > 2\n", - "\tif(index == 4) ARRAY_VALUE = ARRAY_00_STATIC_VAR_004;\n", - "\tif(index == 5) ARRAY_VALUE = ARRAY_00_STATIC_VAR_005;\n", - "\tif(index == 6) ARRAY_VALUE = ARRAY_00_STATIC_VAR_006;\n", - "\tif(index == 7) ARRAY_VALUE = ARRAY_00_STATIC_VAR_007;\n", - "#endif\n", - "#if ARRAY_00_POW2_SIZE > 3\n", - "\tif(index == 8) ARRAY_VALUE = ARRAY_00_STATIC_VAR_008;\n", - "\tif(index == 9) ARRAY_VALUE = ARRAY_00_STATIC_VAR_009;\n", - "\tif(index == 10) ARRAY_VALUE = ARRAY_00_STATIC_VAR_010;\n", - "\tif(index == 11) ARRAY_VALUE = ARRAY_00_STATIC_VAR_011;\n", - "\tif(index == 12) ARRAY_VALUE = ARRAY_00_STATIC_VAR_012;\n", - "\tif(index == 13) ARRAY_VALUE = ARRAY_00_STATIC_VAR_013;\n", - "\tif(index == 14) ARRAY_VALUE = ARRAY_00_STATIC_VAR_014;\n", - "\tif(index == 15) ARRAY_VALUE = ARRAY_00_STATIC_VAR_015;\n", - "#endif\n", - "}\n" - ] - } - ], - "source": [ - "\n", - "def array_getters(po2_size):\n", - " res = []\n", - " res +=['']\n", - " res +=[f'ARRAY_{arraynum_index:02}_GETTER(index) ' + '{']\n", - " res +=[f'\\tif(index == {0}) ARRAY_VALUE = {asv%0};']\n", - " res +=[f'\\tif(index == {1}) ARRAY_VALUE = {asv%1};']\n", - " i = 2\n", - " for p in range(1, po2_size):\n", - " res.append(f'#if {szn} > {p}')\n", - " for j in range(i, 2*i ):\n", - " res.append(f'\\tif(index == {j}) ARRAY_VALUE = {asv%j};')\n", - " res.append(f'#endif')\n", - " i += 2 ** p\n", - "\n", - " res += ['}']\n", - " return res\n", - " \n", - "print ('\\n'.join(array_getters(4)))\n" - ] - }, - { - "cell_type": "code", - "execution_count": 106, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "ARRAY_00_GETTER(index) {\n", - "\t#if ARRAY_00_POW2_SIZE > 3\n", - "\tif (index < 8) {\n", - "\t#endif\n", - "\t\t#if ARRAY_00_POW2_SIZE > 2\n", - "\t\tif (index < 4) {\n", - "\t\t#endif\n", - "\t\t\t#if ARRAY_00_POW2_SIZE > 1\n", - "\t\t\tif (index < 2) {\n", - "\t\t\t#endif\n", - "\t\t\t\tif (index == 0) ARRAY_VALUE = ARRAY_00_STATIC_VAR_000;\n", - "\t\t\t\telse ARRAY_VALUE = ARRAY_00_STATIC_VAR_001;\n", - "\t\t\t#if ARRAY_00_POW2_SIZE > 1\n", - "\t\t\t}else{\n", - "\t\t\t\tif (index == 2) ARRAY_VALUE = ARRAY_00_STATIC_VAR_002;\n", - "\t\t\t\telse ARRAY_VALUE = ARRAY_00_STATIC_VAR_003;\n", - "\t\t\t}\n", - "\t\t\t#endif\n", - "\t\t#if ARRAY_00_POW2_SIZE > 2\n", - "\t\t}else{\n", - "\t\t\t#if ARRAY_00_POW2_SIZE > 2\n", - "\t\t\tif (index < 6) {\n", - "\t\t\t#endif\n", - "\t\t\t\tif (index == 4) ARRAY_VALUE = ARRAY_00_STATIC_VAR_004;\n", - "\t\t\t\telse ARRAY_VALUE = ARRAY_00_STATIC_VAR_005;\n", - "\t\t\t#if ARRAY_00_POW2_SIZE > 2\n", - "\t\t\t}else{\n", - "\t\t\t\tif (index == 6) ARRAY_VALUE = ARRAY_00_STATIC_VAR_006;\n", - "\t\t\t\telse ARRAY_VALUE = ARRAY_00_STATIC_VAR_007;\n", - "\t\t\t}\n", - "\t\t\t#endif\n", - "\t\t}\n", - "\t\t#endif\n", - "\t#if ARRAY_00_POW2_SIZE > 3\n", - "\t}else{\n", - "\t\t#if ARRAY_00_POW2_SIZE > 3\n", - "\t\tif (index < 12) {\n", - "\t\t#endif\n", - "\t\t\t#if ARRAY_00_POW2_SIZE > 3\n", - "\t\t\tif (index < 10) {\n", - "\t\t\t#endif\n", - "\t\t\t\tif (index == 8) ARRAY_VALUE = ARRAY_00_STATIC_VAR_008;\n", - "\t\t\t\telse ARRAY_VALUE = ARRAY_00_STATIC_VAR_009;\n", - "\t\t\t#if ARRAY_00_POW2_SIZE > 3\n", - "\t\t\t}else{\n", - "\t\t\t\tif (index == 10) ARRAY_VALUE = ARRAY_00_STATIC_VAR_010;\n", - "\t\t\t\telse ARRAY_VALUE = ARRAY_00_STATIC_VAR_011;\n", - "\t\t\t}\n", - "\t\t\t#endif\n", - "\t\t#if ARRAY_00_POW2_SIZE > 3\n", - "\t\t}else{\n", - "\t\t\t#if ARRAY_00_POW2_SIZE > 3\n", - "\t\t\tif (index < 14) {\n", - "\t\t\t#endif\n", - "\t\t\t\tif (index == 12) ARRAY_VALUE = ARRAY_00_STATIC_VAR_012;\n", - "\t\t\t\telse ARRAY_VALUE = ARRAY_00_STATIC_VAR_013;\n", - "\t\t\t#if ARRAY_00_POW2_SIZE > 3\n", - "\t\t\t}else{\n", - "\t\t\t\tif (index == 14) ARRAY_VALUE = ARRAY_00_STATIC_VAR_014;\n", - "\t\t\t\telse ARRAY_VALUE = ARRAY_00_STATIC_VAR_015;\n", - "\t\t\t}\n", - "\t\t\t#endif\n", - "\t\t}\n", - "\t\t#endif\n", - "\t}\n", - "\t#endif\n", - "}\n" - ] - } - ], - "source": [ - "def recursive_array_getters_2(depth, start, end, res):\n", - " if start +1 == end:\n", - " res += ['\\t' * depth + f'ARRAY_VALUE = {asv%start};']\n", - "\n", - " elif start + 2 == end:\n", - " res += ['\\t' * depth + f'if (index == {start}) ARRAY_VALUE = {asv%start};']\n", - " res += ['\\t' * depth + f'else ARRAY_VALUE = {asv%(end-1)};']\n", - "\n", - " else:\n", - " midpoint = (start + end )// 2\n", - " #if midpoint > 2**depth:\n", - " res += ['\\t' * depth + f'#if {szn} > {log2f(midpoint)}']\n", - "\n", - " res += ['\\t' * depth + f'if (index < {midpoint}) {{']\n", - "\n", - " res += ['\\t' * depth + f'#endif']\n", - " \n", - " recursive_array_getters_2(depth + 1 , start, midpoint, res)\n", - " \n", - " res += ['\\t' * depth + f'#if {szn} > {log2f(midpoint)}']\n", - "\n", - " res += ['\\t' * depth + f'}}else{{']\n", - " recursive_array_getters_2(depth + 1 , midpoint, end, res)\n", - " res += ['\\t' * depth +'}']\n", - " \n", - " res += ['\\t' * depth + f'#endif']\n", - "\n", - "\n", - "def array_getters2(po2_size):\n", - " res = []\n", - " res +=['']\n", - " res +=[f'ARRAY_{arraynum_index:02}_GETTER(index) {{' ]\n", - "\n", - " recursive_array_getters_2(1, 0, 2 ** po2_size, res)\n", - " \n", - " res += ['}']\n", - " return res\n", - " \n", - "print ('\\n'.join(array_getters2(4)))" - ] - }, - { - "cell_type": "code", - "execution_count": 81, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "ARRAY_00_SETTER(index, value){\n", - "\tif(index == 0) ARRAY_00_STATIC_VAR_000 = value;\n", - "\tif(index == 1) ARRAY_00_STATIC_VAR_001 = value;\n", - "#if ARRAY_00_POW2_SIZE > 1\n", - "\tif(index == 2) ARRAY_00_STATIC_VAR_002 = value;\n", - "\tif(index == 3) ARRAY_00_STATIC_VAR_003 = value;\n", - "#endif\n", - "#if ARRAY_00_POW2_SIZE > 2\n", - "\tif(index == 4) ARRAY_00_STATIC_VAR_004 = value;\n", - "\tif(index == 5) ARRAY_00_STATIC_VAR_005 = value;\n", - "\tif(index == 6) ARRAY_00_STATIC_VAR_006 = value;\n", - "\tif(index == 7) ARRAY_00_STATIC_VAR_007 = value;\n", - "#endif\n", - "#if ARRAY_00_POW2_SIZE > 3\n", - "\tif(index == 8) ARRAY_00_STATIC_VAR_008 = value;\n", - "\tif(index == 9) ARRAY_00_STATIC_VAR_009 = value;\n", - "\tif(index == 10) ARRAY_00_STATIC_VAR_010 = value;\n", - "\tif(index == 11) ARRAY_00_STATIC_VAR_011 = value;\n", - "\tif(index == 12) ARRAY_00_STATIC_VAR_012 = value;\n", - "\tif(index == 13) ARRAY_00_STATIC_VAR_013 = value;\n", - "\tif(index == 14) ARRAY_00_STATIC_VAR_014 = value;\n", - "\tif(index == 15) ARRAY_00_STATIC_VAR_015 = value;\n", - "#endif\n", - "}\n" - ] - } - ], - "source": [ - "\n", - "def array_setters(po2_size):\n", - " res = []\n", - " res +=['']\n", - " res +=[f'ARRAY_{arraynum_index:02}_SETTER(index, value)' + '{']\n", - " res +=[f'\\tif(index == {0}) {asv%0} = value;']\n", - " res +=[f'\\tif(index == {1}) {asv%1} = value;']\n", - " i = 2\n", - " for p in range(1, po2_size):\n", - " res.append(f'#if {szn} > {p}')\n", - " for j in range(i, 2*i ):\n", - " res.append(f'\\tif(index == {j}) {asv%j} = value;')\n", - " res.append(f'#endif')\n", - " i += 2 ** p\n", - "\n", - " res += ['}']\n", - " return res\n", - " \n", - "print ('\\n'.join(array_setters(4)))" - ] - }, - { - "cell_type": "code", - "execution_count": 107, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "ARRAY_00_SETTER(index, value) {\n", - "\t#if ARRAY_00_POW2_SIZE > 3\n", - "\tif (index < 8) {\n", - "\t#endif\n", - "\t\t#if ARRAY_00_POW2_SIZE > 2\n", - "\t\tif (index < 4) {\n", - "\t\t#endif\n", - "\t\t\t#if ARRAY_00_POW2_SIZE > 1\n", - "\t\t\tif (index < 2) {\n", - "\t\t\t#endif\n", - "\t\t\t\tif (index == 0) ARRAY_00_STATIC_VAR_000 = value;\n", - "\t\t\t\telse ARRAY_00_STATIC_VAR_001 = value;\n", - "\t\t\t#if ARRAY_00_POW2_SIZE > 1\n", - "\t\t\t}else{\n", - "\t\t\t\tif (index == 2) ARRAY_00_STATIC_VAR_002 = value;\n", - "\t\t\t\telse ARRAY_00_STATIC_VAR_003 = value;\n", - "\t\t\t}\n", - "\t\t\t#endif\n", - "\t\t#if ARRAY_00_POW2_SIZE > 2\n", - "\t\t}else{\n", - "\t\t\t#if ARRAY_00_POW2_SIZE > 2\n", - "\t\t\tif (index < 6) {\n", - "\t\t\t#endif\n", - "\t\t\t\tif (index == 4) ARRAY_00_STATIC_VAR_004 = value;\n", - "\t\t\t\telse ARRAY_00_STATIC_VAR_005 = value;\n", - "\t\t\t#if ARRAY_00_POW2_SIZE > 2\n", - "\t\t\t}else{\n", - "\t\t\t\tif (index == 6) ARRAY_00_STATIC_VAR_006 = value;\n", - "\t\t\t\telse ARRAY_00_STATIC_VAR_007 = value;\n", - "\t\t\t}\n", - "\t\t\t#endif\n", - "\t\t}\n", - "\t\t#endif\n", - "\t#if ARRAY_00_POW2_SIZE > 3\n", - "\t}else{\n", - "\t\t#if ARRAY_00_POW2_SIZE > 3\n", - "\t\tif (index < 12) {\n", - "\t\t#endif\n", - "\t\t\t#if ARRAY_00_POW2_SIZE > 3\n", - "\t\t\tif (index < 10) {\n", - "\t\t\t#endif\n", - "\t\t\t\tif (index == 8) ARRAY_00_STATIC_VAR_008 = value;\n", - "\t\t\t\telse ARRAY_00_STATIC_VAR_009 = value;\n", - "\t\t\t#if ARRAY_00_POW2_SIZE > 3\n", - "\t\t\t}else{\n", - "\t\t\t\tif (index == 10) ARRAY_00_STATIC_VAR_010 = value;\n", - "\t\t\t\telse ARRAY_00_STATIC_VAR_011 = value;\n", - "\t\t\t}\n", - "\t\t\t#endif\n", - "\t\t#if ARRAY_00_POW2_SIZE > 3\n", - "\t\t}else{\n", - "\t\t\t#if ARRAY_00_POW2_SIZE > 3\n", - "\t\t\tif (index < 14) {\n", - "\t\t\t#endif\n", - "\t\t\t\tif (index == 12) ARRAY_00_STATIC_VAR_012 = value;\n", - "\t\t\t\telse ARRAY_00_STATIC_VAR_013 = value;\n", - "\t\t\t#if ARRAY_00_POW2_SIZE > 3\n", - "\t\t\t}else{\n", - "\t\t\t\tif (index == 14) ARRAY_00_STATIC_VAR_014 = value;\n", - "\t\t\t\telse ARRAY_00_STATIC_VAR_015 = value;\n", - "\t\t\t}\n", - "\t\t\t#endif\n", - "\t\t}\n", - "\t\t#endif\n", - "\t}\n", - "\t#endif\n", - "}\n" - ] - } - ], - "source": [ - "def recursive_array_setters_2(depth, start, end, res):\n", - " if start +1 == end:\n", - " res += ['\\t' * depth + f'{asv%start} = value;']\n", - "\n", - " elif start + 2 == end:\n", - " res += ['\\t' * depth + f'if (index == {start}) {asv%start} = value;']\n", - " res += ['\\t' * depth + f'else {asv%(end-1)} = value;']\n", - "\n", - " else:\n", - " midpoint = (start + end )// 2\n", - "\n", - "\n", - " res += ['\\t' * depth + f'#if {szn} > {log2f(midpoint)}']\n", - " res += ['\\t' * depth + f'if (index < {midpoint}) {{'] \n", - " res += ['\\t' * depth + f'#endif']\n", - "\n", - " recursive_array_setters_2(depth + 1 , start, midpoint, res)\n", - "\n", - "\n", - " res += ['\\t' * depth + f'#if {szn} > {log2f(midpoint)}']\n", - " res += ['\\t' * depth + f'}}else{{']\n", - " recursive_array_setters_2(depth + 1 , midpoint, end, res)\n", - " res += ['\\t' * depth +'}']\n", - " res += ['\\t' * depth + f'#endif']\n", - "\n", - "\n", - "def array_setters2(po2_size):\n", - " res = []\n", - " res +=['']\n", - " res +=[f'ARRAY_{arraynum_index:02}_SETTER(index, value) {{' ]\n", - "\n", - " recursive_array_setters_2(1, 0, 2 ** po2_size, res)\n", - " \n", - " res += ['}']\n", - " return res\n", - " \n", - "print ('\\n'.join(array_setters2(4)))" - ] - }, - { - "cell_type": "code", - "execution_count": 120, - "metadata": {}, - "outputs": [], - "source": [ - "def make_header(po2_size):\n", - " res = ['// (c) Beherith mysterme@gmail.com. DO NOT TOUCH: generated by array_header_generator.ipynb']\n", - " res += ['// Notes:']\n", - " res += [f'// #define ARRAY_{arraynum_index:02}_POW2_SIZE']\n", - " res += [f'// use the ARRAY_XX_GET(i) and ARRAY_XX_SET(i,v) function macros']\n", - " res += ['// ARRAY_XX_GET(i) will always place value into ARRAY_VALUE']\n", - " res += ['// WARNING: arrays are not reinitialized on reloadcob!']\n", - " res += ['// average calls per value is about 12']\n", - " res += ['']\n", - " res += [f'#ifndef ARRAY_{arraynum_index:02}_POW2_SIZE']\n", - " res += [f'\\t#define ARRAY_{arraynum_index:02}_POW2_SIZE 4']\n", - " res += ['#endif']\n", - " res += ['']\n", - " res += ['#ifndef ARRAY_TEMP_DEFINED']\n", - " res += ['\\tstatic-var ARRAY_VALUE;']\n", - " res += ['\\t#define ARRAY_TEMP_DEFINED 1;']\n", - " res += ['#endif']\n", - " res += ['']\n", - " res +=[f'#define ARRAY_{arraynum_index:02}_SET(i,v) call-script ARRAY_{arraynum_index:02}_SETTER(i,v);']\n", - " res += ['']\n", - " res +=[f'#define ARRAY_{arraynum_index:02}_GET(i) call-script ARRAY_{arraynum_index:02}_GETTER(i);']\n", - " res += ['']\n", - " res += declare_staticvars(po2_size)\n", - " res += array_getters2(po2_size)\n", - " res += array_setters2(po2_size)\n", - " return res\n", - "\n", - "for i in range(8):\n", - " with open (f\"array_{i:02}.h\", 'w') as f:\n", - " arraynum_index = i\n", - " szn = \"ARRAY_%02d_POW2_SIZE\" % i\n", - " asv = ('ARRAY_%02d_'%i) + 'STATIC_VAR_%03d'\n", - " f.write('\\n'.join(make_header(8)))\n", - " " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.11.4" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/scripts/bar_hovercraft_common.h b/scripts/bar_hovercraft_common.h deleted file mode 100644 index 33cde49f77f..00000000000 --- a/scripts/bar_hovercraft_common.h +++ /dev/null @@ -1,199 +0,0 @@ -// Author: Beherith mysterme@gmail.com -// These are the general stubs for WobbleUnit and BankControl - -// TODO: -// [ ] use static-var and sum up everything on turn XZ? -// [X] proper rockunit/hitbyweapon seems to require piece separation -// [X] use get IN_WATER instead of shitty UNIT_XZ -// [X] fold in HoverIdle and StartMoving stuff -// [ ] Fold in smokeunit, hitbyweaponID et al. - - -#ifndef HOVER_BASE - #define HOVER_BASE base -#endif - -//#ifndef HOVER_ROCKBASE -// #define HOVER_ROCKBASE HOVER_BASE -//#endif -// should be gated on startmoving stopmoving -// also note that this will interfere with hitbyweapon and recoil stuff - -// How far a hovercraft can bank while turning, in degrees, default <9> -#ifndef HOVER_MAXBANKANGLE - #define HOVER_MAXBANKANGLE <9> -#endif - -// How quickly hovercraft will bank in their turning and acceleration directions, in degrees/sec, default <15> -#ifndef HOVER_BANKSPEED - #define HOVER_BANKSPEED <15> -#endif - -// Update rate of banking and wobble, frames, default 3 -#ifndef HOVER_FRAMES - #define HOVER_FRAMES 3 -#endif - -// Up-down wobble period in frames, default 46 -#ifndef HOVER_WOBBLE_PERIOD - #define HOVER_WOBBLE_PERIOD 46 -#endif - -// Up-down wobble amplitude, in elmos, default [0.7] -#ifndef HOVER_WOBBLE_AMPLITUDE - #define HOVER_WOBBLE_AMPLITUDE [0.7] -#endif - -// How many elmos lower to go when over water than land, in elmos, default [-1.0] -#ifndef HOVER_WOBBLE_WATEROFFSET - #define HOVER_WOBBLE_WATEROFFSET [-1.0] -#endif - -// Optionally define -// #define HOVER_WAKEPIECE - -#ifndef HOVER_IDLE_SFX - #define HOVER_IDLE_SFX 1024 + 2 -#endif - -#ifndef HOVER_WAKE_SFX_1 - #define HOVER_WAKE_SFX_1 1024 + 0 -#endif - -#ifndef HOVER_WAKE_SFX_2 - #define HOVER_WAKE_SFX_2 1024 + 1 -#endif - -static-var HOVER_BANK_X, HOVER_BANK_Z; - -HoverCraftMotion() -{ - HOVER_BANK_X = 0; - HOVER_BANK_Z = 0; - var prevHeading, currHeading, deltaHeading; - prevHeading = GET HEADING; - - var prevSpeed, currSpeed, deltaSpeed; - prevSpeed = 0; - - var wobbleFrame, prevWobble, currWobble; - wobbleFrame = RAND(1, HOVER_WOBBLE_PERIOD); - prevWobble = 0; - - var inWater; - inWater = get IN_WATER; - - #ifdef HOVER_WAKEPIECE - var movementWake; - movementWake = 0; - #endif - - while (TRUE) - { -// Update left-right banking: - currHeading = GET HEADING; - // if we already acted on this in prev iteration, then dont do anything - if (deltaHeading != (currHeading - prevHeading)) { - deltaHeading = currHeading - prevHeading; - //get PRINT(get GAME_FRAME, deltaHeading, currHeading ); - //Remove Extreme values - if ( deltaHeading > HOVER_MAXBANKANGLE ) deltaHeading = HOVER_MAXBANKANGLE; - if ( deltaHeading < -1 * HOVER_MAXBANKANGLE ) deltaHeading = -1 * HOVER_MAXBANKANGLE; - - // Tune speed so that things are smooth? - HOVER_BANK_Z = deltaHeading; - turn HOVER_BASE to z-axis HOVER_BANK_Z speed HOVER_BANKSPEED; - } - prevHeading = currHeading; -// Update forward-backward banking: - currSpeed = get CURRENT_SPEED * <1.0> / HOVER_MAXBANKANGLE; - // oh noes dis fucks with RockUnit :( - if (HOVER_BANK_X != (currSpeed - prevSpeed)){ - HOVER_BANK_X = (currSpeed - prevSpeed); - turn HOVER_BASE to x-axis HOVER_BANK_X speed HOVER_BANKSPEED; - } - prevSpeed = currSpeed; - - -// Update up-down wobble - wobbleFrame = wobbleFrame + HOVER_FRAMES; - - currWobble = (get KSIN( wobbleFrame * ([1] / HOVER_WOBBLE_PERIOD))); - currWobble = currWobble * (HOVER_WOBBLE_AMPLITUDE / 1024) + HOVER_WOBBLE_AMPLITUDE; - - //get PRINT(currWobble, wobbleFrame); - - inWater = get IN_WATER; - move HOVER_BASE to y-axis ((inWater * HOVER_WOBBLE_WATEROFFSET)) + currWobble speed ((currWobble - prevWobble) * 30) / HOVER_FRAMES; - - prevWobble = currWobble; - - -// Emit idle wakes: - #ifdef HOVER_WAKEPIECE - if (inWater){ - movementWake = movementWake + 1; - if (currSpeed > 0){ - if ((movementWake % 2) == 0){ - //dbg(movementWake); - emit-sfx HOVER_WAKE_SFX_1 from HOVER_WAKEPIECE; - if (movementWake & 0x02) emit-sfx HOVER_WAKE_SFX_2 from HOVER_WAKEPIECE; - } - }else{ - if ((movementWake % 18 ) ==0){ - //dbg(movementWake); - emit-sfx HOVER_IDLE_SFX from HOVER_WAKEPIECE; - } - } - } - #endif - sleep 33 * HOVER_FRAMES -1; // 3 frames - } -} - -// Also add recoil and rockunit here -// NOTE THAT THIS IS MUTUALLY EXCLUSIVE WITH RECOIL_POWER - -#ifdef HOVER_ROCKBASE - RockUnit(anglex,anglez) - { - //get PRINT(anglex, anglez); - //anglex = 0-anglex; - anglez = 0-anglez; - #define HOVER_ROCK_SPEED1 <16> - #define HOVER_ROCK_SPEED2 <13> - #define HOVER_ROCK_SPEED3 <9.2> - #define HOVER_ROCK_SPEED4 <5> - #define HOVER_ROCK_SPEED5 <3.3> - #define SPEEDMUL 10 - - //var x_gt_z; - //x_gt_z = 0; - //if((get ABS(anglex)) > (get ABS(anglez))) x_gt_z = 1; - - turn HOVER_ROCKBASE to x-axis HOVER_BANK_X + anglex speed HOVER_ROCK_SPEED1 * anglex / 500; - turn HOVER_ROCKBASE to z-axis HOVER_BANK_Z + anglez speed HOVER_ROCK_SPEED1 * anglez / 500; - - // Should wait for both, as the speed here isnt trivial - wait-for-turn HOVER_ROCKBASE around z-axis; - - turn HOVER_ROCKBASE to x-axis HOVER_BANK_X - anglex speed HOVER_ROCK_SPEED2 * anglex / 500; - turn HOVER_ROCKBASE to z-axis HOVER_BANK_Z - anglez speed HOVER_ROCK_SPEED2 * anglez / 500; - - wait-for-turn HOVER_ROCKBASE around x-axis; - - turn HOVER_ROCKBASE to x-axis HOVER_BANK_X + (anglex/2) speed HOVER_ROCK_SPEED3 * anglex / 500; - turn HOVER_ROCKBASE to z-axis HOVER_BANK_Z + (anglez/2) speed HOVER_ROCK_SPEED3 * anglez / 500; - - wait-for-turn HOVER_ROCKBASE around z-axis; - - turn HOVER_ROCKBASE to x-axis HOVER_BANK_X - anglex/2 speed HOVER_ROCK_SPEED4; - turn HOVER_ROCKBASE to z-axis HOVER_BANK_Z - anglez/2 speed HOVER_ROCK_SPEED4; - - wait-for-turn HOVER_ROCKBASE around x-axis; - - // Restore it: - turn HOVER_ROCKBASE to x-axis HOVER_BANK_X speed HOVER_ROCK_SPEED5 * anglex / 500; - turn HOVER_ROCKBASE to z-axis HOVER_BANK_Z speed HOVER_ROCK_SPEED5 * anglez / 500; - } -#endif \ No newline at end of file diff --git a/scripts/bar_ships_common.h b/scripts/bar_ships_common.h deleted file mode 100644 index 3d92f7ed716..00000000000 --- a/scripts/bar_ships_common.h +++ /dev/null @@ -1,451 +0,0 @@ -// -------------------------------- WARSHIP ------------------------ -// bar_ship_common.h -// Author: (c) Beherith (mysterme@gmail.com) -// This is a collection of functions that provide a physical simulation of a ship -// - The ship is modeled as a body with two different axes of rotation moments of inertia -// - Thus the rotations around X (pitch) and Z (roll) are independently calculated -// - Movement of the ship changes the pitch and roll targets (of where the centers should be) -// - List of movements: -// - pitch backwards when going near full speed -// - pitch backwards when accelerating -// - roll into the turn when turning -// - maintain the energy of the system, with adjustable constant and turn velocity dependent damping factors -// - additional kickback velocity when firing weapons (aimdirs must be tracked, energy must be defined) -// - Hit by weapon also adds energy to system via velocity -// - if the unit goes idle and stops moving, add random energy into the system via a velocity kick -// Notes -// - For increased precision, the energy of the ship is modeled at x256 fixed points (vs Cob Angular Units) -// - Yes it is very easy to make the system go absolutely crazy -// - By defaults, updates are performed every 2 frames, this is a good balance between performance and visuals -// - Uses its own DamagedSmoke because HitByWeaponID has to be hooked into -// - Does not need a separate ground piece -// - You can correct the aim pitch of a turret due to movement with RB_AIMPITCHCORRECTION(heading) -// Usage -// - Actually read through the defines and think! -// - #define what defaults you want to change -// - #include this file -// - call-script InitRockBoat(); from Create() -// - start-script BoatPhysics(); from Create() after waiting for construction completion in -// - Recoil: Store the aim directions of weapons from AimWeaponX in static-vars, and pass them into -// - start/call-script RecoilRockBoat(heading,power,sleep); -// - Directly add energy into the system via RB_RECOILBOAT(heading, power) -// -- OR set #define RB_ROCKUNIT 100 to recoil on all shots -// - Set the usual UNITSIZE (default (WIDTH+LENGTH)/2) and MAXTILT for HitByWeapon - -// Notes, Todo etc: -// [X] Make damping factor scale with current pitch and roll -// [X] Fix rounding of angular acceleration at <1.0 -// [X] Rock when slow, do this by modulating the 'target pos' -// [X] pitch forward when moving fast -// [X] bank when turning -// [X] Bounce on high speed -// [X] boats should rise upwards -// [X] Ensure the bounce piece move happens before rot, yes move is before rot -// [X] Idle waves -// [X] Independent axis damping if not specified -// [X] Damping should be velocity dependent! -// [X] Better Recoil handling -// [X] Integrate SmokeUnit -// [ ] Minimize usage of local vars -// [X] Slave large turrets to RB_pitch/RB_roll (RB_AIMPITCHCORRECTION) -// [X] Static-var the RB_pitch/RB_roll -// [NOTNEEEDED] separate ground and base, like for all other ships anyway too -// [-] Movement physics based stuff should go onto base -// [-] Recoil and hitbyweapon can go onto ground -// [-] These could maybe use different speeds based on power, like missiles and stuff arent trivial -// [ ] Emit less wakes when decelerating -// [X] Do NOT use RockUnit, as there is only one callin for all weapons, and boats usually have more than one -// [X] Validate that updates every 2 frames are sufficient - - -//-------------------- INTERNAL DEFINES ------------------ - - -//#define DEBUG -//#include ".../debug.h" - - -//-------------------- MANDATORY DEFINES ------------------ - -// The base piece to move -#ifndef RB_BASE - #define RB_BASE BASE -#endif - -// mass of boat in arbitrary units -#ifndef RB_MASS - #define RB_MASS 40 -#endif - -//Virtual Length of the boat, longer boats will have lower frequency pitches -#ifndef RB_LENGTH - #define RB_LENGTH 8 -#endif - -// Virtual width of boat, wider boats will roll slower -#ifndef RB_WIDTH - #define RB_WIDTH 3 -#endif - -// How strongly the ship will pitch back and forth with high speed travel -#ifndef RB_PITCH_SPEED - #define RB_PITCH_SPEED 100 -#endif - - -// How strongly the ship will pitch back and forth with forward acceleration -#ifndef RB_PITCH_ACCELERATION - #define RB_PITCH_ACCELERATION 10 -#endif - -// How strongly the ship will roll left and right when turning -#ifndef RB_ROLL_ACCELERATION - #define RB_ROLL_ACCELERATION 4 -#endif - -// How often should BoatPhysics update, Only set it to 1 for rare, fast boats -#ifndef RB_FRAMES - #define RB_FRAMES 2 -#endif - -// RB_DAMPFACTOR is the velocity dependent damping, so faster moves are damped more. -// Higher numbers mean less damping -// This shouldnt ever be less than 1000 -#define RB_DAMPFACTOR 2000 - -// Constant damping factors, higher number more damping. -#define RB_PITCH_DAMPING 4 -#define RB_ROLL_DAMPING 2 - -// How tall, in elmos, the unit should Bounce at full speed -#ifndef RB_BOUNCE_HEIGHT - #define RB_BOUNCE_HEIGHT [2.0] -#endif - -// in degrees per frame -#ifndef RB_BOUNCE_PERIOD - #define RB_BOUNCE_PERIOD <5> -#endif - -// Enables bow splashes if the piece is named here -//#define RB_BOWSPLASH_PIECE bow - -// What point of the sine wave should the bow splash be emitted at? -#ifndef RB_BOWSPLASH1_PHASE - #define RB_BOWSPLASH1_PHASE <90> -#endif - -// What other point of the sine wave should the bow splash be emitted at -#ifndef RB_BOWSPLASH2_PHASE - #define RB_BOWSPLASH2_PHASE <270> -#endif - -#ifndef RB_BOWSPLASH_CEG - #define RB_BOWSPLASH_CEG 1024+2 -#endif - -// When reaching each Bowsplash phase angle, how many bowsplash CEGS to emit (one per update) -#ifndef RB_BOWSPLASH_COUNT - #define RB_BOWSPLASH_COUNT 3 -#endif - -// Which CEG is to be used for the wake effect -#ifndef RB_WAKE_CEG - #define RB_WAKE_CEG 1024+1 -#endif - -// Which piece the wake CEG effect should be emitted from -#ifndef RB_WAKE_PIECE - #define RB_WAKE_PIECE wake -#endif - - -// Every X frames emit wake CEG - -#ifndef RB_WAKE_PERIOD - #define RB_WAKE_PERIOD 6 -#endif - -// anglez is left-right, +500 right -// anglex is front-back, where +500 is front -#ifndef UNITSIZE - #define UNITSIZE (RB_LENGTH + RB_WIDTH)/2 -#endif -#ifndef MAXTILT - #define MAXTILT 100 -#endif - -// The amount of energy imparted to the boat when it becomes idle to rock it around -#ifndef RB_IDLE_KICK - #define RB_IDLE_KICK 5000 -#endif - -#ifndef RB_IDLE_THRESHOLD - #define RB_IDLE_THRESHOLD 32 -#endif - - -//------------------- OPTIONAL DEFINES ------------------ - - - -// How often should the speed/position of the boat be adjusted -// 1: 1.8% CPU/1k, for flagships only -// 2: 1.1% CPU/1k for smaller boats -// 3: 0.8% CPU/1k if you really wanna save a tiny bit of perf - -// ------------------ INTERNAL DEFINES ------------------ - -#define RB_INERTIA_PITCH ((RB_MASS) * (RB_WIDTH * RB_WIDTH + RB_LENGTH * RB_LENGTH) / (10)) -#define RB_INERTIA_ROLL ((RB_MASS) * (RB_WIDTH * RB_WIDTH + RB_WIDTH * RB_WIDTH ) / (10)) - -#define RB_RECOILBOAT(heading, power) \ - RB_pitch_velocity = RB_pitch_velocity - (get KCOS(heading) * (power / RB_MASS)); \ - RB_roll_velocity = RB_roll_velocity - (get KSIN(heading) * (power / RB_MASS)); - -#define RB_PRECISION 256 - -// Goes from <-180> - <180> (32760) -// 16 instructions -#define DELTAHEADING(curr, prev) ((curr - prev + 98280) % 65520 - 32760) - -// Pitch is the X axis -// Roll is the Z axis -static-var RB_pitch, RB_roll, maxSpeed; -// Target is changed by the movement of the unit -//static-var RB_pitch_target, RB_roll_target; -// Velocity is changed by impulse from being shot and from shooting -static-var RB_pitch_velocity, RB_roll_velocity; - -// Always zero this in startmoving -static-var RB_bounce_frame; - -InitRockBoat(){ - - RB_pitch = 0; - RB_roll = 0; - maxSpeed = get MAX( get (MAX_SPEED), 10000); - RB_pitch_velocity = 0; - RB_roll_velocity = 0; - - #ifdef DEBUG - RB_pitch_velocity = 150000; - RB_roll_velocity = 150000; - //dbg(RB_INERTIA_PITCH, RB_INERTIA_ROLL); - /* - var deltat; - deltat = get GAME_FRAME; - sleep 63; - while(1){ - sleep 32; - if ((currpitch / 100) == 0 ){ - - deltat = (get GAME_FRAME) - deltat; - dbg(deltat, currpitch); - return(0); - } - } - */ - #endif -} - - -BoatPhysics(){ - var torque_pitch; - var torque_roll; - - turn RB_BASE to x-axis RB_pitch now; - turn RB_BASE to z-axis RB_roll now; - - var currHeading, currSpeed, prevHeading_delta, prevSpeed_delta; - prevSpeed_delta = (1024 * get (CURRENT_SPEED) ) / maxSpeed; - prevHeading_delta = WRAPDELTA(get (HEADING)); - - var cos_bounce; - cos_bounce = 0; - - var wake_freq; - wake_freq = 0; - - while (1){ - // Get Speed and Heading, store the deltas - // currSpeed is relative, 1024x - currSpeed = (1024 * (get (CURRENT_SPEED))) / maxSpeed; // usually around 100,000 - prevSpeed_delta = currSpeed - prevSpeed_delta; - - currHeading = get (HEADING); - prevHeading_delta = WRAPDELTA(currHeading - prevHeading_delta); // usually at most a few thousand - - // Move the pitch target backwards when going fast - // And keep it back when going fast - torque_pitch = (-1 * RB_PITCH_SPEED) *( RB_PITCH_ACCELERATION * prevSpeed_delta + currSpeed) ; - - // Roll the boat more when turning at high speed - torque_roll = RB_ROLL_ACCELERATION * (prevHeading_delta * currSpeed) / (4 * RB_FRAMES) ; - //dbg(torque_roll,prevHeading_delta, currSpeed); - - // Save the curr heading and speed, as we wont be using them again - prevHeading_delta = currHeading; - prevSpeed_delta = currSpeed; - - // Calculate restoring torque due to displacement - torque_pitch = ( (RB_pitch - torque_pitch) * (-1 * RB_LENGTH)); - torque_roll = ( (RB_roll - torque_roll ) * (-1 * RB_WIDTH )); - - // Update angular velocity with angular acceleration - RB_pitch_velocity = RB_pitch_velocity + (torque_pitch / (RB_INERTIA_PITCH * RB_FRAMES )); - RB_roll_velocity = RB_roll_velocity + (torque_roll / (RB_INERTIA_ROLL * RB_FRAMES )) ; - - - // Simple damping to simulate resistance from water and air - // OVERFLOW WARNING HERE ON LOW DAMPFACTOR: NEGATIVE SUBTRACTIONS HERE! - RB_pitch_velocity = (RB_pitch_velocity * (256 - (RB_FRAMES * RB_PITCH_DAMPING) - (get ABS(RB_pitch_velocity))/(RB_DAMPFACTOR/ RB_FRAMES)))/256 ; - RB_roll_velocity = (RB_roll_velocity * (256 - (RB_FRAMES * RB_ROLL_DAMPING ) - (get ABS(RB_roll_velocity ))/(RB_DAMPFACTOR/ RB_FRAMES)))/256 ; - - // Update pitch and roll based on angular velocity - RB_pitch = RB_pitch + RB_FRAMES * RB_pitch_velocity; - RB_roll = RB_roll + RB_FRAMES * RB_roll_velocity; - - // emit a wakesplash on up and down bounce - // increment bounce phase and modulo it - if (currSpeed != 0){ - RB_bounce_frame = ((RB_bounce_frame + (RB_FRAMES * RB_BOUNCE_PERIOD)) % <360>); - - #ifdef RB_BOWSPLASH_PIECE - // BowSplash Phase 1 - if (ABSOLUTE_LESS_THAN(RB_bounce_frame - RB_BOWSPLASH1_PHASE, (RB_BOWSPLASH_COUNT * RB_FRAMES * RB_BOUNCE_PERIOD))){ - emit-sfx RB_BOWSPLASH_CEG from RB_BOWSPLASH_PIECE; - //dbg(1,RB_bounce_frame, RB_BOWSPLASH1_PHASE); - } - - // BowSplash Phase 2 - if (ABSOLUTE_LESS_THAN(RB_bounce_frame - RB_BOWSPLASH2_PHASE, (RB_BOWSPLASH_COUNT * RB_FRAMES * RB_BOUNCE_PERIOD))){ - emit-sfx RB_BOWSPLASH_CEG from RB_BOWSPLASH_PIECE; - //dbg(2,RB_bounce_frame); - } - #endif - - // WakeSplash: - wake_freq = wake_freq + 1; - if (!(wake_freq % (RB_WAKE_PERIOD / RB_FRAMES))){ - #ifndef RB_WAKE_PIECE2 - emit-sfx RB_WAKE_CEG from RB_WAKE_PIECE; - #else - if(wake_freq & 0x01) emit-sfx RB_WAKE_CEG from RB_WAKE_PIECE; - else emit-sfx RB_WAKE_CEG from RB_WAKE_PIECE2; - #endif - } - - // Calculate Bounce, be careful that your int doesnt overflow - // Start at the -1 point of the cosine with + <180> - cos_bounce = (get KCOS(RB_bounce_frame + <180>) + 1024); - - // Weight it with current speed - cos_bounce = cos_bounce * ((RB_BOUNCE_HEIGHT / 1024) * currSpeed) ; - - move RB_BASE to y-axis cos_bounce / 1024 speed [500]; - } - //If we are stationary, give us a kick - else - { - if (ABSOLUTE_LESS_THAN(RB_pitch_velocity, RB_IDLE_THRESHOLD)) { - RB_pitch_velocity = Rand(-1 * RB_IDLE_KICK, RB_IDLE_KICK); - } - - if (ABSOLUTE_LESS_THAN(RB_roll_velocity, RB_IDLE_THRESHOLD)) { - RB_roll_velocity = Rand(-1 * RB_IDLE_KICK, RB_IDLE_KICK); - } - } - - // Execute corresponding movements - #if (RB_FRAMES == 1) - if (RB_pitch_velocity != 0) turn RB_BASE to x-axis (RB_pitch/RB_PRECISION) speed (30 * RB_pitch_velocity )/RB_PRECISION; - if (RB_roll_velocity != 0) turn RB_BASE to z-axis (RB_roll /RB_PRECISION) speed (30 * RB_roll_velocity )/RB_PRECISION; - #else - turn RB_BASE to x-axis (RB_pitch/RB_PRECISION) speed (30 * RB_pitch_velocity) / RB_PRECISION; - turn RB_BASE to z-axis (RB_roll /RB_PRECISION) speed (30 * RB_roll_velocity ) / RB_PRECISION; - #endif - - sleep 33 * RB_FRAMES - 1; - } -} - -// This is for correcting the pitch of an aim on a moving boat -#define RB_AIMPITCHCORRECTION(heading) (get KSIN(heading)*(RB_roll/(-256)) + (get KCOS(heading))*(RB_pitch/(-256)) )/1024 - -// Pass in the heading of the current aiming here -// You will need to save the headings of weapons -// heading: 0 is forward, 16K is 90deg left, -16K is 90 deg right -// This can be start-script-ed, if a frame of delay is needed but immediate return is needed -RecoilRockBoat(heading, power, delay){ - // Add with negative sign as we want it to move backwards from heading; - if (delay) sleep delay; - RB_RECOILBOAT(heading, power) -} - -static-var isSmoking; - -// MUST IMMEDIATELY RETURN DAMAGE AMOUNT! -HitByWeaponId(anglex, anglez, weaponid, damage) -{ - // Dont do anything if we are being built - if (get BUILD_PERCENT_LEFT) return (100); - #ifdef RB_ONHIT - RB_ONHIT - #endif - - damage = damage / (100 * UNITSIZE); - if (damage < 3 ) return (0); - if (damage > MAXTILT) damage = MAXTILT; - - RB_pitch_velocity = RB_pitch_velocity - (anglex * damage) ; - RB_roll_velocity = RB_roll_velocity + (anglez * damage) ; - - // Dont start a damagedSmoke thread if we arent low health - if ((get HEALTH) > 65){ - // Start a thread if werent previously smoking - if (isSmoking == 0) { - isSmoking = 1; - start-script DamagedSmoke(); - } - } - return (100); //return damage percent -} - -#ifdef RB_ROCKUNIT -RockUnit(anglex, anglez) -{ - #ifdef RB_ROCKUNIT_SLEEP - sleep RB_ROCKUNIT_SLEEP; - #endif - RB_pitch_velocity = RB_pitch_velocity + (anglex * RB_ROCKUNIT) ; - RB_roll_velocity = RB_roll_velocity - (anglez * RB_ROCKUNIT) ; -} -#endif - -DamagedSmoke() -{ - var current_health_pct; // [0-100] - while( TRUE ) - { - current_health_pct = (get HEALTH + 4); - if (current_health_pct > 65) { - // We no longer need to smoke, so terminate this thread by returning - isSmoking = 0; - return; - } - - // Less health means blacker smoke - if( Rand(1,65) < current_health_pct ) { - emit-sfx 257 from RB_BASE; - } - else { - emit-sfx 258 from RB_BASE; - } - - // Sleep after emission to get immediate visual of unit taking damage via smoke effect - sleep (current_health_pct * 50); - } -} - - diff --git a/scripts/bots_lus.lua b/scripts/bots_lus.lua index 6e6e9e28218..768e9566899 100644 --- a/scripts/bots_lus.lua +++ b/scripts/bots_lus.lua @@ -35,7 +35,7 @@ include(unitName.."_lus/weaponsdata.lua") isMoving, isAiming, isBuilding, counter, canAim, isInLoop = false, false, false, 0, false, false step = 1 -function Movement() +function MotionControl() local justmoved = true while true do step = 1 @@ -150,7 +150,7 @@ end function script.Create() InitialPiecesSetup() - StartThread(Movement) + StartThread(MotionControl) if hasWpn then StartThread(WeaponControl) end diff --git a/scripts/buildeffect_lua.h b/scripts/buildeffect_lua.h deleted file mode 100644 index af36ea23535..00000000000 --- a/scripts/buildeffect_lua.h +++ /dev/null @@ -1,53 +0,0 @@ -// These functions are what notify synced gadgets about actual construction taking place. -// They are designed to minimize double-calling of stopbuilding from the engine (as its called on all commands) -// NOTE: -// INBUILDSTANCE is only obeyed on construction start, see: -// NOTE: -// technically this block of code should be guarded by -// "if (inBuildStance)", but doing so can create zombie -// guarders because scripts might not set inBuildStance -// to true when guard or repair orders are executed and -// SetRepairTarget does not check for it -// -// StartBuild *does* ensure construction will not start -// until inBuildStance is set to true by the builder's -// script, and there are no cases during construction -// when inBuildStance can become false yet the buildee -// should be kept from decaying, so this is free from -// serious side-effects (when repairing, a builder might -// start adding build-power before having fully finished -// its opening animation) -//if (!(inBuildStance || true)) -// return true; - -#define ENABLED 0 - -#if ENABLED == 1 - - // We assume luaBuildEffectOn is initialized to 0 - static-var luaBuildEffectOn; - - // I dont think the body of any lua_ func is actually executed - lua_UnitScriptBuildStartStop(onOff, p1, p2, p3) - { - return (0); - } - - // Only call this when actually changed - // lua_UnitScriptBuildStartStop(onOff, p1, p2, p3){ - // luaBuildEffectOn = onOff; - // return (0);} - - - #define LUASTARTBUILD if (!luaBuildEffectOn){\ - luaBuildEffectOn = !luaBuildEffectOn; \ - call-script lua_UnitScriptBuildStartStop(1);} - - #define LUASTOPBUILD if (luaBuildEffectOn) {\ - luaBuildEffectOn = !luaBuildEffectOn; \ - call-script lua_UnitScriptBuildStartStop(0);} - -#else - #define LUASTARTBUILD - #define LUASTOPBUILD -#endif diff --git a/scripts/constant_acceleration_turret_turning_1.h b/scripts/constant_acceleration_turret_turning_1.h deleted file mode 100644 index 2e2fb4e4a22..00000000000 --- a/scripts/constant_acceleration_turret_turning_1.h +++ /dev/null @@ -1,171 +0,0 @@ -//-------------------------------CONSTANT ACCELERATION TURRET TURNING--------------------------- -// MaxVelocity and acceleration are in degrees per frame (not second!) -// Jerk is the minimum velocity of the turret -// A high precision requirement can result in overshoots if desired -// (c) CC BY NC ND Beherith mysterme@gmail.com -// The shorthand will be CATT - -// Usage: -// 1. Tune the defines in your script, see the defaults below, make sure you set the individual pieces! -// 2. Include this file after piece declarations -// 3. From the AimWeaponX corresponding to the turret to be accelerated, after the signals, -// call-script CATT1_Aim(heading, pitch) -// 4. return (1) from AimWeaponX after call-script finishes -// 5. Optionally call-script CATT1_Init() in Create() - - -#ifndef CATT1_PIECE_Y - #define CATT1_PIECE_Y aimy -#endif - -#ifndef CATT1_PIECE_X - #define CATT1_PIECE_X aimx1 -#endif - -#ifdef CATT1_PIECE_X - #ifndef CATT1_PITCH_SPEED - #define CATT1_PITCH_SPEED <90> - #endif -#endif - -#ifndef CATT1_MAX_VELOCITY - #define CATT1_MAX_VELOCITY <3.0> -#endif - -#ifndef CATT1_ACCELERATION - #define CATT1_ACCELERATION <0.15> -#endif - -#ifndef CATT1_JERK - #define CATT1_JERK <0.5> -#endif - -#ifndef CATT1_PRECISION - #define CATT1_PRECISION <1.2> -#endif - -#ifndef CATT1_RESTORE_SPEED - #define CATT1_RESTORE_SPEED CATT1_MAX_VELOCITY / 3 -#endif - -#ifndef CATT1_RESTORE_DELAY - #define CATT1_RESTORE_DELAY 6000 -#endif - -#ifndef DELTAHEADING - #define DELTAHEADING(curr, prev) ((curr - prev + 98280) % 65520 - 32760) -#endif - -#ifndef WRAPDELTA - #define WRAPDELTA(ang) (((ang + 98280) % 65520) - 32760) -#endif - -static-var CATT1velocity, CATT1position, CATT1gameFrame; - -CATT1_Init(){ - CATT1velocity = 0; - CATT1position = 0; - CATT1gameFrame = 0; -} - -CATT1_Restore() // no need to signal, as threads inherit parents signal masks -{ - sleep CATT1_RESTORE_DELAY; - - #ifdef HAS_STUN - if (Stunned){ - return (0); - } - #endif - - #ifdef CATT1_PIECE_X - turn CATT1_PIECE_X to x-axis <0.0> speed CATT1_PITCH_SPEED; - #endif - - while ( get ABS(CATT1position) > CATT1_RESTORE_SPEED){ - if (CATT1position > 0 ) { - CATT1position = CATT1position - CATT1_RESTORE_SPEED; - CATT1velocity = (-1) * CATT1_RESTORE_SPEED; - } - else - { - CATT1position = CATT1position + CATT1_RESTORE_SPEED; - CATT1velocity = CATT1_RESTORE_SPEED; - } - turn CATT1_PIECE_Y to y-axis CATT1position speed 30 * CATT1_RESTORE_SPEED; - sleep 30; - } - CATT1velocity = 0; -} - -CATT1_Aim(heading, pitch){ - /* - // Set up signals in AimWeaponX(heading, pitch) - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; - // Then - call-script TurretAccelerationAim1(heading, pitch); - */ - - // Local vars - var timetozero; - var deceleratethreshold; - var delta; - - #ifdef CATT1_PIECE_X - turn CATT1_PIECE_X to x-axis <0.0> - pitch speed CATT1_PITCH_SPEED; - #endif - - delta = heading - CATT1position; - - while( ( get ABS(delta) > CATT1_PRECISION ) OR (get ABS(CATT1velocity) > CATT1_JERK)){ - if (CATT1gameFrame != get(GAME_FRAME)){ //this is to make sure we dont get double-called, as previous aimweapon thread runs before new aimweaponthread can signal-kill previous one - CATT1gameFrame = get(GAME_FRAME); - - //Clamp CATT1position and CATT1delta between <-180>;<180> - CATT1position = WRAPDELTA(CATT1position); - delta = WRAPDELTA(delta); - - //number of frames required to decelerate to 0 - timetozero = get ABS(CATT1velocity) / CATT1_ACCELERATION; - - //distance from target where we should start decelerating, always 'positive' - //pos = t * v - (t*(t-1)*a/2) - deceleratethreshold = timetozero * (get ABS(CATT1velocity)) - (timetozero * (timetozero - 1) * CATT1_ACCELERATION / 2); - - #ifdef CATT1_DEBUG - get PRINT ( delta , deceleratethreshold, CATT1velocity, timetozero ); - #endif - - if (get ABS(delta) <= deceleratethreshold){ //we need to decelerate - if (CATT1velocity > 0) CATT1velocity = CATT1velocity - CATT1_ACCELERATION; - else CATT1velocity = CATT1velocity + CATT1_ACCELERATION; - } - else //we need to accelerate - { - if (delta > 0) CATT1velocity = get MIN( CATT1_MAX_VELOCITY, CATT1velocity + CATT1_ACCELERATION); - else CATT1velocity = get MAX((-1) * CATT1_MAX_VELOCITY, CATT1velocity - CATT1_ACCELERATION); - } - - //Apply jerk at very low velocities - if (get ABS(CATT1velocity) < CATT1_JERK){ - if ((delta > CATT1_JERK)) CATT1velocity = CATT1_JERK; - if ((delta < (-1) * CATT1_JERK)) CATT1velocity = (-1) * CATT1_JERK; - } - // Update our position with our velocity - CATT1position = CATT1position + CATT1velocity; - delta = heading - CATT1position ; - - // Perform the turn with a NOW, this means that this will be run every frame! - turn CATT1_PIECE_Y to y-axis CATT1position now; - //turn CATT1_PIECE_Y to y-axis CATT1position speed 30 * CATT1velocity; - } - sleep 32; - } - CATT1velocity = 0; - #ifndef CATT_DONTRESTORE - start-script CATT1_Restore(); - #endif -} - -#undef CATT_INDEX \ No newline at end of file diff --git a/scripts/constant_acceleration_turret_turning_2.h b/scripts/constant_acceleration_turret_turning_2.h deleted file mode 100644 index ae653a313e7..00000000000 --- a/scripts/constant_acceleration_turret_turning_2.h +++ /dev/null @@ -1,169 +0,0 @@ -//-------------------------------CONSTANT ACCELERATION TURRET TURNING--------------------------- -// MaxVelocity and acceleration are in degrees per frame (not second!) -// Jerk is the minimum velocity of the turret -// A high precision requirement can result in overshoots if desired -// (c) CC BY NC ND Beherith mysterme@gmail.com -// The shorthand will be CATT - -// Usage: -// 1. Tune the defines in your script, see the defaults below, make sure you set the individual pieces! -// 2. Include this file after piece declarations -// 3. From the AimWeaponX corresponding to the turret to be accelerated, after the signals, -// call-script CATT1_Aim(heading, pitch) -// 4. return (1) from AimWeaponX after call-script finishes -// 5. Optionally call-script CATT1_Init() in Create() - - -#ifndef CATT2_PIECE_Y - #define CATT2_PIECE_Y aimy -#endif - -#ifndef CATT2_PIECE_X - #define CATT2_PIECE_X aimx1 -#endif - -#ifdef CATT2_PIECE_X - #ifndef CATT2_PITCH_SPEED - #define CATT2_PITCH_SPEED <90> - #endif -#endif - -#ifndef CATT2_MAX_VELOCITY - #define CATT2_MAX_VELOCITY <3.0> -#endif - -#ifndef CATT2_ACCELERATION - #define CATT2_ACCELERATION <0.15> -#endif - -#ifndef CATT2_JERK - #define CATT2_JERK <0.5> -#endif - -#ifndef CATT2_PRECISION - #define CATT2_PRECISION <1.2> -#endif - -#ifndef CATT2_RESTORE_SPEED - #define CATT2_RESTORE_SPEED CATT2_MAX_VELOCITY / 3 -#endif - -#ifndef CATT2_RESTORE_DELAY - #define CATT2_RESTORE_DELAY 6000 -#endif - -#ifndef DELTAHEADING - #define DELTAHEADING(curr, prev) ((curr - prev + 98280) % 65520 - 32760) -#endif - -#ifndef WRAPDELTA - #define WRAPDELTA(ang) (((ang + 98280) % 65520) - 32760) -#endif - -static-var CATT2velocity, CATT2position, CATT2gameFrame; - -CATT2_Init(){ - CATT2velocity = 0; - CATT2position = 0; - CATT2gameFrame = 0; -} - -CATT2_Restore() // no need to signal, as threads inherit parents signal masks -{ - sleep CATT2_RESTORE_DELAY; - - #ifdef HAS_STUN - if (Stunned){ - return (0); - } - #endif - - #ifdef CATT2_PIECE_X - turn CATT2_PIECE_X to x-axis <0.0> speed CATT2_PITCH_SPEED; - #endif - - while ( get ABS(CATT2position) > CATT2_RESTORE_SPEED){ - if (CATT2position > 0 ) { - CATT2position = CATT2position - CATT2_RESTORE_SPEED; - CATT2velocity = (-1) * CATT2_RESTORE_SPEED; - } - else - { - CATT2position = CATT2position + CATT2_RESTORE_SPEED; - CATT2velocity = CATT2_RESTORE_SPEED; - } - turn CATT2_PIECE_Y to y-axis CATT2position speed 30 * CATT2_RESTORE_SPEED; - sleep 30; - } - CATT2velocity = 0; -} - -CATT2_Aim(heading, pitch){ - /* - // Set up signals in AimWeaponX(heading, pitch) - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; - // Then - call-script TurretAccelerationAim1(heading, pitch); - */ - - // Local vars - var timetozero; - var deceleratethreshold; - var delta; - - #ifdef CATT2_PIECE_X - turn CATT2_PIECE_X to x-axis <0.0> - pitch speed CATT2_PITCH_SPEED; - #endif - - delta = heading - CATT2position; - - while( ( get ABS(delta) > CATT2_PRECISION ) OR (get ABS(CATT2velocity) > CATT2_JERK)){ - if (CATT2gameFrame != get(GAME_FRAME)){ //this is to make sure we dont get double-called, as previous aimweapon thread runs before new aimweaponthread can signal-kill previous one - CATT2gameFrame = get(GAME_FRAME); - - //Clamp CATT2position and CATT2delta between <-180>;<180> - CATT2position = WRAPDELTA(CATT2position); - delta = WRAPDELTA(delta); - - //number of frames required to decelerate to 0 - timetozero = get ABS(CATT2velocity) / CATT2_ACCELERATION; - - //distance from target where we should start decelerating, always 'positive' - //pos = t * v - (t*(t-1)*a/2) - deceleratethreshold = timetozero * (get ABS(CATT2velocity)) - (timetozero * (timetozero - 1) * CATT2_ACCELERATION / 2); - - #ifdef CATT2_DEBUG - get PRINT ( delta , deceleratethreshold, CATT2velocity, timetozero ); - #endif - - if (get ABS(delta) <= deceleratethreshold){ //we need to decelerate - if (CATT2velocity > 0) CATT2velocity = CATT2velocity - CATT2_ACCELERATION; - else CATT2velocity = CATT2velocity + CATT2_ACCELERATION; - } - else //we need to accelerate - { - if (delta > 0) CATT2velocity = get MIN( CATT2_MAX_VELOCITY, CATT2velocity + CATT2_ACCELERATION); - else CATT2velocity = get MAX((-1) * CATT2_MAX_VELOCITY, CATT2velocity - CATT2_ACCELERATION); - } - - //Apply jerk at very low velocities - if (get ABS(CATT2velocity) < CATT2_JERK){ - if ((delta > CATT2_JERK)) CATT2velocity = CATT2_JERK; - if ((delta < (-1) * CATT2_JERK)) CATT2velocity = (-1) * CATT2_JERK; - } - // Update our position with our velocity - CATT2position = CATT2position + CATT2velocity; - delta = heading - CATT2position ; - - // Perform the turn with a NOW, this means that this will be run every frame! - turn CATT2_PIECE_Y to y-axis CATT2position now; - //turn CATT2_PIECE_Y to y-axis CATT2position speed 30 * CATT2velocity; - } - sleep 32; - } - CATT2velocity = 0; - start-script CATT2_Restore(); -} - -#undef CATT_INDEX \ No newline at end of file diff --git a/scripts/constant_acceleration_turret_turning_3.h b/scripts/constant_acceleration_turret_turning_3.h deleted file mode 100644 index 1f2b4ed8b66..00000000000 --- a/scripts/constant_acceleration_turret_turning_3.h +++ /dev/null @@ -1,169 +0,0 @@ -//-------------------------------CONSTANT ACCELERATION TURRET TURNING--------------------------- -// MaxVelocity and acceleration are in degrees per frame (not second!) -// Jerk is the minimum velocity of the turret -// A high precision requirement can result in overshoots if desired -// (c) CC BY NC ND Beherith mysterme@gmail.com -// The shorthand will be CATT - -// Usage: -// 1. Tune the defines in your script, see the defaults below, make sure you set the individual pieces! -// 2. Include this file after piece declarations -// 3. From the AimWeaponX corresponding to the turret to be accelerated, after the signals, -// call-script CATT1_Aim(heading, pitch) -// 4. return (1) from AimWeaponX after call-script finishes -// 5. Optionally call-script CATT1_Init() in Create() - - -#ifndef CATT3_PIECE_Y - #define CATT3_PIECE_Y aimy -#endif - -#ifndef CATT3_PIECE_X - #define CATT3_PIECE_X aimx1 -#endif - -#ifdef CATT3_PIECE_X - #ifndef CATT3_PITCH_SPEED - #define CATT3_PITCH_SPEED <90> - #endif -#endif - -#ifndef CATT3_MAX_VELOCITY - #define CATT3_MAX_VELOCITY <3.0> -#endif - -#ifndef CATT3_ACCELERATION - #define CATT3_ACCELERATION <0.15> -#endif - -#ifndef CATT3_JERK - #define CATT3_JERK <0.5> -#endif - -#ifndef CATT3_PRECISION - #define CATT3_PRECISION <1.2> -#endif - -#ifndef CATT3_RESTORE_SPEED - #define CATT3_RESTORE_SPEED CATT3_MAX_VELOCITY / 3 -#endif - -#ifndef CATT3_RESTORE_DELAY - #define CATT3_RESTORE_DELAY 6000 -#endif - -#ifndef DELTAHEADING - #define DELTAHEADING(curr, prev) ((curr - prev + 98280) % 65520 - 32760) -#endif - -#ifndef WRAPDELTA - #define WRAPDELTA(ang) (((ang + 98280) % 65520) - 32760) -#endif - -static-var CATT3velocity, CATT3position, CATT3gameFrame; - -CATT3_Init(){ - CATT3velocity = 0; - CATT3position = 0; - CATT3gameFrame = 0; -} - -CATT3_Restore() // no need to signal, as threads inherit parents signal masks -{ - sleep CATT3_RESTORE_DELAY; - - #ifdef HAS_STUN - if (Stunned){ - return (0); - } - #endif - - #ifdef CATT3_PIECE_X - turn CATT3_PIECE_X to x-axis <0.0> speed CATT3_PITCH_SPEED; - #endif - - while ( get ABS(CATT3position) > CATT3_RESTORE_SPEED){ - if (CATT3position > 0 ) { - CATT3position = CATT3position - CATT3_RESTORE_SPEED; - CATT3velocity = (-1) * CATT3_RESTORE_SPEED; - } - else - { - CATT3position = CATT3position + CATT3_RESTORE_SPEED; - CATT3velocity = CATT3_RESTORE_SPEED; - } - turn CATT3_PIECE_Y to y-axis CATT3position speed 30 * CATT3_RESTORE_SPEED; - sleep 30; - } - CATT3velocity = 0; -} - -CATT3_Aim(heading, pitch){ - /* - // Set up signals in AimWeaponX(heading, pitch) - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; - // Then - call-script TurretAccelerationAim1(heading, pitch); - */ - - // Local vars - var timetozero; - var deceleratethreshold; - var delta; - - #ifdef CATT3_PIECE_X - turn CATT3_PIECE_X to x-axis <0.0> - pitch speed CATT3_PITCH_SPEED; - #endif - - delta = heading - CATT3position; - - while( ( get ABS(delta) > CATT3_PRECISION ) OR (get ABS(CATT3velocity) > CATT3_JERK)){ - if (CATT3gameFrame != get(GAME_FRAME)){ //this is to make sure we dont get double-called, as previous aimweapon thread runs before new aimweaponthread can signal-kill previous one - CATT3gameFrame = get(GAME_FRAME); - - //Clamp CATT3position and CATT3delta between <-180>;<180> - CATT3position = WRAPDELTA(CATT3position); - delta = WRAPDELTA(delta); - - //number of frames required to decelerate to 0 - timetozero = get ABS(CATT3velocity) / CATT3_ACCELERATION; - - //distance from target where we should start decelerating, always 'positive' - //pos = t * v - (t*(t-1)*a/2) - deceleratethreshold = timetozero * (get ABS(CATT3velocity)) - (timetozero * (timetozero - 1) * CATT3_ACCELERATION / 2); - - #ifdef CATT3_DEBUG - get PRINT ( delta , deceleratethreshold, CATT3velocity, timetozero ); - #endif - - if (get ABS(delta) <= deceleratethreshold){ //we need to decelerate - if (CATT3velocity > 0) CATT3velocity = CATT3velocity - CATT3_ACCELERATION; - else CATT3velocity = CATT3velocity + CATT3_ACCELERATION; - } - else //we need to accelerate - { - if (delta > 0) CATT3velocity = get MIN( CATT3_MAX_VELOCITY, CATT3velocity + CATT3_ACCELERATION); - else CATT3velocity = get MAX((-1) * CATT3_MAX_VELOCITY, CATT3velocity - CATT3_ACCELERATION); - } - - //Apply jerk at very low velocities - if (get ABS(CATT3velocity) < CATT3_JERK){ - if ((delta > CATT3_JERK)) CATT3velocity = CATT3_JERK; - if ((delta < (-1) * CATT3_JERK)) CATT3velocity = (-1) * CATT3_JERK; - } - // Update our position with our velocity - CATT3position = CATT3position + CATT3velocity; - delta = heading - CATT3position ; - - // Perform the turn with a NOW, this means that this will be run every frame! - turn CATT3_PIECE_Y to y-axis CATT3position now; - //turn CATT3_PIECE_Y to y-axis CATT3position speed 30 * CATT3velocity; - } - sleep 32; - } - CATT3velocity = 0; - start-script CATT3_Restore(); -} - -#undef CATT_INDEX \ No newline at end of file diff --git a/scripts/constants.h b/scripts/constants.h new file mode 100644 index 00000000000..932fb4f47f0 --- /dev/null +++ b/scripts/constants.h @@ -0,0 +1,192 @@ +/* +** EXPtype.h -- Explosion Type information and GET/SET constants for scripts +** +** This Script contains constants compatible only with Spring RTS engine +** not for use with Total Annihilation or TA:Kindgoms +*/ + +#ifndef CONSTANTS_H_ +#define CONSTANTS_H_ + +// Indices for emit-sfx +#ifndef __SFXTYPE_H_ +#define SFXTYPE_VTOL 0 +//#define SFXTYPE_THRUST 1 +#define SFXTYPE_WAKE1 2 +#define SFXTYPE_WAKE2 3 // same as SFX_WAKE +#define SFXTYPE_REVERSEWAKE1 4 +#define SFXTYPE_REVERSEWAKE2 5 // same as SFX_REVERSE_WAKE + +#define SFXTYPE_WHITESMOKE 257 +#define SFXTYPE_BLACKSMOKE 258 +#define SFXTYPE_SUBBUBBLES 259 +#endif + +#define SHATTER 1 // The piece will shatter instead of remaining whole +#define EXPLODE_ON_HIT 2 // The piece will explode when it hits the ground +#define FALL 4 // The piece will fall due to gravity instead of just flying off +#define SMOKE 8 // A smoke trail will follow the piece through the air +#define FIRE 16 // A fire trail will follow the piece through the air +#define BITMAPONLY 32 // The piece will not fly off or shatter or anything. Only a bitmap explosion will be rendered. +#define NOCEGTRAIL 64 // Disables the cegtrail for the specific piece (defined in the unit fbi) +#define BITMAP 10000001 + +// Bitmap Explosion Types +#define BITMAP1 256 +#define BITMAP2 512 +#define BITMAP3 1024 +#define BITMAP4 2048 +#define BITMAP5 4096 +#define BITMAPNUKE 8192 +#define BITMAPMASK 16128 // Mask of the possible bitmap bits + +#define EXPTYPE_SMALLEXPLOSION 256 +#define EXPTYPE_MEDIUMEXPLOSION 512 +#define EXPTYPE_LARGEEXPLOSION 1024 +#define EXPTYPE_XLARGEEXPLOSION 2048 +#define EXPTYPE_BLOODEXPLOSION 4096 + +//Customized effects (in FBI/TDF/LUA) +// Explosion generators +#define UNIT_SFX0 1024 +#define UNIT_SFX1 1025 +#define UNIT_SFX2 1026 +#define UNIT_SFX3 1027 +#define UNIT_SFX4 1028 +#define UNIT_SFX5 1029 +#define UNIT_SFX6 1030 +#define UNIT_SFX7 1031 +#define UNIT_SFX8 1032 +#define UNIT_SFX9 1033 + +// Weapons +#define FIRE_W1 2048 +#define FIRE_W2 2049 +#define FIRE_W3 2050 +#define FIRE_W4 2051 +#define FIRE_W5 2052 +#define FIRE_W6 2053 +#define FIRE_W7 2054 +#define FIRE_W8 2055 +#define FIRE_W9 2056 + +#define DETO_W1 4096 +#define DETO_W2 4097 +#define DETO_W3 4098 +#define DETO_W4 4099 +#define DETO_W5 4100 +#define DETO_W6 4101 +#define DETO_W7 4102 +#define DETO_W8 4103 +#define DETO_W9 4104 + + +// COB constants +#define ACTIVATION 1 // set or get +#define STANDINGMOVEORDERS 2 // set or get +#define STANDINGFIREORDERS 3 // set or get +#define HEALTH 4 // get (0-100%) +#define INBUILDSTANCE 5 // set or get +#define BUSY 6 // set or get (used by misc. special case missions like transport ships) +#define PIECE_XZ 7 // get +#define PIECE_Y 8 // get +#define UNIT_XZ 9 // get +#define UNIT_Y 10 // get +#define UNIT_HEIGHT 11 // get +#define XZ_ATAN 12 // get atan of packed x,z coords +#define XZ_HYPOT 13 // get hypot of packed x,z coords +#define ATAN 14 // get ordinary two-parameter atan +#define HYPOT 15 // get ordinary two-parameter hypot +#define GROUND_HEIGHT 16 // get land height, 0 if below water +#define BUILD_PERCENT_LEFT 17 // get 0 = unit is built and ready, 1-100 = How much is left to build +#define YARD_OPEN 18 // set or get (change which plots we occupy when building opens and closes) +#define BUGGER_OFF 19 // set or get (ask other units to clear the area) +#define ARMORED 20 // set or get + +#define IN_WATER 28 +#define CURRENT_SPEED 29 +#define VETERAN_LEVEL 32 +#define ON_ROAD 34 + +#define MAX_ID 70 +#define MY_ID 71 +#define UNIT_TEAM 72 +#define UNIT_BUILD_PERCENT_LEFT 73 +#define UNIT_ALLIED 74 +#define MAX_SPEED 75 +#define CLOAKED 76 +#define WANT_CLOAK 77 +#define GROUND_WATER_HEIGHT 78 // get land height, negative if below water +#define UPRIGHT 79 // set or get +#define POW 80 // get +#define PRINT 81 // get, so multiple args can be passed +#define HEADING 82 // get +#define TARGET_ID 83 // get +#define LAST_ATTACKER_ID 84 // get +#define LOS_RADIUS 85 // set or get +#define AIR_LOS_RADIUS 86 // set or get +#define RADAR_RADIUS 87 // set or get +#define JAMMER_RADIUS 88 // set or get +#define SONAR_RADIUS 89 // set or get +#define SONAR_JAM_RADIUS 90 // set or get +#define SEISMIC_RADIUS 91 // set or get +#define DO_SEISMIC_PING 92 // get +#define CURRENT_FUEL 93 // set or get +#define TRANSPORT_ID 94 // get +#define SHIELD_POWER 95 // set or get +#define STEALTH 96 // set or get +#define CRASHING 97 // set or get, returns whether aircraft isCrashing state +#define CHANGE_TARGET 98 // set, the value it's set to determines the affected weapon +#define CEG_DAMAGE 99 // set +#define COB_ID 100 // get +#define PLAY_SOUND 101 // get, so multiple args can be passed +#define KILL_UNIT 102 // get KILL_UNIT(unitId, SelfDestruct=true, Reclaimed=false) +#define ALPHA_THRESHOLD 103 // set or get +#define SET_WEAPON_UNIT_TARGET 106 // get (fake set) +#define SET_WEAPON_GROUND_TARGET 107 // get (fake set) +#define SONAR_STEALTH 108 // set or get +#define REVERSING 109 // get + +// Indices for SET, GET, and GET_UNIT_VALUE for LUA return values +#define LUA0 110 // (LUA0 returns the lua call status, 0 or 1) +#define LUA1 111 +#define LUA2 112 +#define LUA3 113 +#define LUA4 114 +#define LUA5 115 +#define LUA6 116 +#define LUA7 117 +#define LUA8 118 +#define LUA9 119 + +#define FLANK_B_MODE 120 // set or get +#define FLANK_B_DIR 121 // set or get, set is through get for multiple args +#define FLANK_B_MOBILITY_ADD 122 // set or get +#define FLANK_B_MAX_DAMAGE 123 // set or get +#define FLANK_B_MIN_DAMAGE 124 // set or get +#define WEAPON_RELOADSTATE 125 // get (with fake set) get WEAPON_RELOADSTATE(weaponNum) for GET +#define WEAPON_RELOADTIME 126 // get (with fake set) get WEAPON_RELOADSTATE(-weaponNum,val) for SET +#define WEAPON_ACCURACY 127 // get (with fake set) +#define WEAPON_SPRAY 128 // get (with fake set) +#define WEAPON_RANGE 129 // get (with fake set) +#define WEAPON_PROJECTILE_SPEED 130 // get (with fake set) +#define WEAPON_STOCKPILE_COUNT 139 // get (with fake set) + + +#define MIN 131 // get +#define MAX 132 // get +#define ABS 133 // get +#define GAME_FRAME 134 // get +#define KSIN 135 // get, kiloSine 1024*sin(x) as COB uses only integers +#define KCOS 136 // get, kiloCosine 1024*cos(x) + +#define KTAN 137 // get, kiloTangent 1024*tan(x) carefull with angles close to 90 deg. might cause overflow +#define SQRT 138 // get, square root (floored to integer) + +#define ENERGY_MAKE 140 // set or get (100*E production) + +#define METAL_MAKE 141 // set or get (100*M production) + +// NOTE: shared variables use codes [1024 - 5119] + +#endif \ No newline at end of file diff --git a/scripts/damagedsmoke.h b/scripts/damagedsmoke.h deleted file mode 100644 index f0017d86957..00000000000 --- a/scripts/damagedsmoke.h +++ /dev/null @@ -1,29 +0,0 @@ -// damagedsmoke.h -// By Beherith mysterme@gmail.com -// This header is a very simple thing that should be start-scripted in Create after unit is finshed building. -// Emits more frequently as unit becomes more damaged -#ifndef SMOKE_PIECE - #define SMOKE_PIECE base -#endif - -#ifndef SMOKE_SFX - #define SMOKE_SFX 257 -#endif - -DamagedSmoke(){ - var healthleft; - while(1){ - healthleft = get HEALTH; - if (healthleft < 65){ - #if SMOKE_SFX == 257 - emit-sfx 257 + (healthleft % 2) from SMOKE_PIECE; - #else - emit-sfx SMOKE_SFX from SMOKE_PIECE; - #endif - - sleep (70 - healthleft) * 50; - }else{ - sleep 2000; - } - } -} \ No newline at end of file diff --git a/scripts/debug.h b/scripts/debug.h deleted file mode 100644 index 282be133391..00000000000 --- a/scripts/debug.h +++ /dev/null @@ -1,903 +0,0 @@ -// This debugging header defines a lua debugging function as a helper -// -// 1. Include this file -// -// 2. Before the include, specify if you want debugging on with: -// #define DEBUG -// - If the above define is not present, nothing is output, and all debug commands are stripped from the compiled file -// - So that means that you can leave in your instrumention, just comment the #define DEBUG (leave in the include file though!) -// -// 3. To print each time a builtin engine callin is called (see list below), rename the function like so: -// Open() -> print_Open() -// - Any arguments passed will also be forwarded correctly and printed out -// - Do not print_FUNCTIONS whos return values, such as AimWeaponX and Killed -// -// 4.A. RECOMMENDED USAGE: To write a debug message at any point use -// dbg(args); -// - This will also smartly print out what line of the BOS file the print comes from -// - You can pass up to 8 arguments -// - Note that to figure out which function this was called from, the Lua counterpart of this debug header (dbg_cob_debug.lua) will read the .bos file -// -// 4.B. To write a debug message with a known callin, like in Activate, use: -// dbg_Activate(args,...); -// -- This will also name the function and line. -// -// 5. Interpret infolog. -// f:<25805.0> u:05541 corsolar.Open:74 p1=5 p2=6 p3=7 p4=8 -// - f: can tell you what gameframe it happened in, and also the order within the gameframe. -// - u:05541 is the unitID -// - corsolar.Open:74 unitDefName, the name of the BOS function (unless vanilla dbg()), and the line of BOS code it came from -// - p1=5 p2=6 p3=7 p4=8 values of any parameters passed - -// IMPORTANT NOTE: -// DO NOT print_ FUNCTIONS whos return values you need! - -#ifdef DEBUG -lua_CobDebug(callerID, line, p1, p2, p3, p4, p5, p6, p7, p8) -{ - return (0); -} - - #define dbg(...) call-script lua_CobDebug(1, __LINE__, ## __VA_ARGS__ ); -#else - - #define dbg(...) -#endif - -#ifdef DEBUG - #define dbg_signal(x) call-script lua_CobDebug(1000, __LINE__,x ); signal x// oooh not captureable -#else - #define dbg_signal(x) signal x// oooh not captureable -#endif - - -#ifdef DEBUG - #define print_Debug(...) Debug(__VA_ARGS__) {call-script lua_CobDebug(1, __LINE__, ## __VA_ARGS__ ); call-script wrap_Debug(__VA_ARGS__);} \ - wrap_Debug(__VA_ARGS__) - #define dbg_Debug(...) call-script lua_CobDebug(1, __LINE__, ## __VA_ARGS__ ); -#else - #define print_Debug(...) Debug(__VA_ARGS__) - #define dbg_Debug(...) -#endif - -#ifdef DEBUG - #define print_Open(...) Open(__VA_ARGS__) {call-script lua_CobDebug(2, __LINE__, ## __VA_ARGS__ ); call-script wrap_Open(__VA_ARGS__);} \ - wrap_Open(__VA_ARGS__) - #define dbg_Open(...) call-script lua_CobDebug(2, __LINE__, ## __VA_ARGS__ ); -#else - #define print_Open(...) Open(__VA_ARGS__) - #define dbg_Open(...) -#endif - -#ifdef DEBUG - #define print_Close(...) Close(__VA_ARGS__) {call-script lua_CobDebug(3, __LINE__, ## __VA_ARGS__ ); call-script wrap_Close(__VA_ARGS__);} \ - wrap_Close(__VA_ARGS__) - #define dbg_Close(...) call-script lua_CobDebug(3, __LINE__, ## __VA_ARGS__ ); -#else - #define print_Close(...) Close(__VA_ARGS__) - #define dbg_Close(...) -#endif - -#ifdef DEBUG - #define print_TryTransition(...) TryTransition(__VA_ARGS__) {call-script lua_CobDebug(4, __LINE__, ## __VA_ARGS__ ); call-script wrap_TryTransition(__VA_ARGS__);} \ - wrap_TryTransition(__VA_ARGS__) - #define dbg_TryTransition(...) call-script lua_CobDebug(4, __LINE__, ## __VA_ARGS__ ); -#else - #define print_TryTransition(...) TryTransition(__VA_ARGS__) - #define dbg_TryTransition(...) -#endif - -#ifdef DEBUG - #define print_Killed(...) Killed(__VA_ARGS__) {call-script lua_CobDebug(5, __LINE__, ## __VA_ARGS__ ); call-script wrap_Killed(__VA_ARGS__);} \ - wrap_Killed(__VA_ARGS__) - #define dbg_Killed(...) call-script lua_CobDebug(5, __LINE__, ## __VA_ARGS__ ); -#else - #define print_Killed(...) Killed(__VA_ARGS__) - #define dbg_Killed(...) -#endif - -#ifdef DEBUG - #define print_ExecuteRestoreAfterDelay(...) ExecuteRestoreAfterDelay(__VA_ARGS__) {call-script lua_CobDebug(6, __LINE__, ## __VA_ARGS__ ); call-script wrap_ExecuteRestoreAfterDelay(__VA_ARGS__);} \ - wrap_ExecuteRestoreAfterDelay(__VA_ARGS__) - #define dbg_ExecuteRestoreAfterDelay(...) call-script lua_CobDebug(6, __LINE__, ## __VA_ARGS__ ); -#else - #define print_ExecuteRestoreAfterDelay(...) ExecuteRestoreAfterDelay(__VA_ARGS__) - #define dbg_ExecuteRestoreAfterDelay(...) -#endif - -#ifdef DEBUG - #define print_SetStunned(...) SetStunned(__VA_ARGS__) {call-script lua_CobDebug(7, __LINE__, ## __VA_ARGS__ ); call-script wrap_SetStunned(__VA_ARGS__);} \ - wrap_SetStunned(__VA_ARGS__) - #define dbg_SetStunned(...) call-script lua_CobDebug(7, __LINE__, ## __VA_ARGS__ ); -#else - #define print_SetStunned(...) SetStunned(__VA_ARGS__) - #define dbg_SetStunned(...) -#endif - -#ifdef DEBUG - #define print_Walk(...) Walk(__VA_ARGS__) {call-script lua_CobDebug(8, __LINE__, ## __VA_ARGS__ ); call-script wrap_Walk(__VA_ARGS__);} \ - wrap_Walk(__VA_ARGS__) - #define dbg_Walk(...) call-script lua_CobDebug(8, __LINE__, ## __VA_ARGS__ ); -#else - #define print_Walk(...) Walk(__VA_ARGS__) - #define dbg_Walk(...) -#endif - -#ifdef DEBUG - #define print_StopWalking(...) StopWalking(__VA_ARGS__) {call-script lua_CobDebug(9, __LINE__, ## __VA_ARGS__ ); call-script wrap_StopWalking(__VA_ARGS__);} \ - wrap_StopWalking(__VA_ARGS__) - #define dbg_StopWalking(...) call-script lua_CobDebug(9, __LINE__, ## __VA_ARGS__ ); -#else - #define print_StopWalking(...) StopWalking(__VA_ARGS__) - #define dbg_StopWalking(...) -#endif - -#ifdef DEBUG - #define print_Create(...) Create(__VA_ARGS__) {call-script lua_CobDebug(10, __LINE__, ## __VA_ARGS__ ); call-script wrap_Create(__VA_ARGS__);} \ - wrap_Create(__VA_ARGS__) - #define dbg_Create(...) call-script lua_CobDebug(10, __LINE__, ## __VA_ARGS__ ); -#else - #define print_Create(...) Create(__VA_ARGS__) - #define dbg_Create(...) -#endif - -#ifdef DEBUG - #define print_Activate(...) Activate(__VA_ARGS__) {call-script lua_CobDebug(11, __LINE__, ## __VA_ARGS__ ); call-script wrap_Activate(__VA_ARGS__);} \ - wrap_Activate(__VA_ARGS__) - #define dbg_Activate(...) call-script lua_CobDebug(11, __LINE__, ## __VA_ARGS__ ); -#else - #define print_Activate(...) Activate(__VA_ARGS__) - #define dbg_Activate(...) -#endif - -#ifdef DEBUG - #define print_Deactivate(...) Deactivate(__VA_ARGS__) {call-script lua_CobDebug(12, __LINE__, ## __VA_ARGS__ ); call-script wrap_Deactivate(__VA_ARGS__);} \ - wrap_Deactivate(__VA_ARGS__) - #define dbg_Deactivate(...) call-script lua_CobDebug(12, __LINE__, ## __VA_ARGS__ ); -#else - #define print_Deactivate(...) Deactivate(__VA_ARGS__) - #define dbg_Deactivate(...) -#endif - -#ifdef DEBUG - #define print_StartMoving(...) StartMoving(__VA_ARGS__) {call-script lua_CobDebug(13, __LINE__, ## __VA_ARGS__ ); call-script wrap_StartMoving(__VA_ARGS__);} \ - wrap_StartMoving(__VA_ARGS__) - #define dbg_StartMoving(...) call-script lua_CobDebug(13, __LINE__, ## __VA_ARGS__ ); -#else - #define print_StartMoving(...) StartMoving(__VA_ARGS__) - #define dbg_StartMoving(...) -#endif - -#ifdef DEBUG - #define print_StopMoving(...) StopMoving(__VA_ARGS__) {call-script lua_CobDebug(14, __LINE__, ## __VA_ARGS__ ); call-script wrap_StopMoving(__VA_ARGS__);} \ - wrap_StopMoving(__VA_ARGS__) - #define dbg_StopMoving(...) call-script lua_CobDebug(14, __LINE__, ## __VA_ARGS__ ); -#else - #define print_StopMoving(...) StopMoving(__VA_ARGS__) - #define dbg_StopMoving(...) -#endif - -#ifdef DEBUG - #define print_SetSFXOccupy(...) SetSFXOccupy(__VA_ARGS__) {call-script lua_CobDebug(15, __LINE__, ## __VA_ARGS__ ); call-script wrap_SetSFXOccupy(__VA_ARGS__);} \ - wrap_SetSFXOccupy(__VA_ARGS__) - #define dbg_SetSFXOccupy(...) call-script lua_CobDebug(15, __LINE__, ## __VA_ARGS__ ); -#else - #define print_SetSFXOccupy(...) SetSFXOccupy(__VA_ARGS__) - #define dbg_SetSFXOccupy(...) -#endif - -#ifdef DEBUG - #define print_MoveRate0(...) MoveRate0(__VA_ARGS__) {call-script lua_CobDebug(16, __LINE__, ## __VA_ARGS__ ); call-script wrap_MoveRate0(__VA_ARGS__);} \ - wrap_MoveRate0(__VA_ARGS__) - #define dbg_MoveRate0(...) call-script lua_CobDebug(16, __LINE__, ## __VA_ARGS__ ); -#else - #define print_MoveRate0(...) MoveRate0(__VA_ARGS__) - #define dbg_MoveRate0(...) -#endif - -#ifdef DEBUG - #define print_MoveRate1(...) MoveRate1(__VA_ARGS__) {call-script lua_CobDebug(17, __LINE__, ## __VA_ARGS__ ); call-script wrap_MoveRate1(__VA_ARGS__);} \ - wrap_MoveRate1(__VA_ARGS__) - #define dbg_MoveRate1(...) call-script lua_CobDebug(17, __LINE__, ## __VA_ARGS__ ); -#else - #define print_MoveRate1(...) MoveRate1(__VA_ARGS__) - #define dbg_MoveRate1(...) -#endif - -#ifdef DEBUG - #define print_MoveRate2(...) MoveRate2(__VA_ARGS__) {call-script lua_CobDebug(18, __LINE__, ## __VA_ARGS__ ); call-script wrap_MoveRate2(__VA_ARGS__);} \ - wrap_MoveRate2(__VA_ARGS__) - #define dbg_MoveRate2(...) call-script lua_CobDebug(18, __LINE__, ## __VA_ARGS__ ); -#else - #define print_MoveRate2(...) MoveRate2(__VA_ARGS__) - #define dbg_MoveRate2(...) -#endif - -#ifdef DEBUG - #define print_MoveRate3(...) MoveRate3(__VA_ARGS__) {call-script lua_CobDebug(19, __LINE__, ## __VA_ARGS__ ); call-script wrap_MoveRate3(__VA_ARGS__);} \ - wrap_MoveRate3(__VA_ARGS__) - #define dbg_MoveRate3(...) call-script lua_CobDebug(19, __LINE__, ## __VA_ARGS__ ); -#else - #define print_MoveRate3(...) MoveRate3(__VA_ARGS__) - #define dbg_MoveRate3(...) -#endif - -#ifdef DEBUG - #define print_SetDirection(...) SetDirection(__VA_ARGS__) {call-script lua_CobDebug(20, __LINE__, ## __VA_ARGS__ ); call-script wrap_SetDirection(__VA_ARGS__);} \ - wrap_SetDirection(__VA_ARGS__) - #define dbg_SetDirection(...) call-script lua_CobDebug(20, __LINE__, ## __VA_ARGS__ ); -#else - #define print_SetDirection(...) SetDirection(__VA_ARGS__) - #define dbg_SetDirection(...) -#endif - -#ifdef DEBUG - #define print_SetSpeed(...) SetSpeed(__VA_ARGS__) {call-script lua_CobDebug(21, __LINE__, ## __VA_ARGS__ ); call-script wrap_SetSpeed(__VA_ARGS__);} \ - wrap_SetSpeed(__VA_ARGS__) - #define dbg_SetSpeed(...) call-script lua_CobDebug(21, __LINE__, ## __VA_ARGS__ ); -#else - #define print_SetSpeed(...) SetSpeed(__VA_ARGS__) - #define dbg_SetSpeed(...) -#endif - -#ifdef DEBUG - #define print_RockUnit(...) RockUnit(__VA_ARGS__) {call-script lua_CobDebug(22, __LINE__, ## __VA_ARGS__ ); call-script wrap_RockUnit(__VA_ARGS__);} \ - wrap_RockUnit(__VA_ARGS__) - #define dbg_RockUnit(...) call-script lua_CobDebug(22, __LINE__, ## __VA_ARGS__ ); -#else - #define print_RockUnit(...) RockUnit(__VA_ARGS__) - #define dbg_RockUnit(...) -#endif - -#ifdef DEBUG - #define print_HitByWeapon(...) HitByWeapon(__VA_ARGS__) {call-script lua_CobDebug(23, __LINE__, ## __VA_ARGS__ ); call-script wrap_HitByWeapon(__VA_ARGS__);} \ - wrap_HitByWeapon(__VA_ARGS__) - #define dbg_HitByWeapon(...) call-script lua_CobDebug(23, __LINE__, ## __VA_ARGS__ ); -#else - #define print_HitByWeapon(...) HitByWeapon(__VA_ARGS__) - #define dbg_HitByWeapon(...) -#endif - -#ifdef DEBUG - #define print_HitByWeaponID(...) HitByWeaponID(__VA_ARGS__) {call-script lua_CobDebug(24, __LINE__, ## __VA_ARGS__ ); call-script wrap_HitByWeaponID(__VA_ARGS__);} \ - wrap_HitByWeaponID(__VA_ARGS__) - #define dbg_HitByWeaponID(...) call-script lua_CobDebug(24, __LINE__, ## __VA_ARGS__ ); -#else - #define print_HitByWeaponID(...) HitByWeaponID(__VA_ARGS__) - #define dbg_HitByWeaponID(...) -#endif - -#ifdef DEBUG - #define print_SetMaxReloadTime(...) SetMaxReloadTime(__VA_ARGS__) {call-script lua_CobDebug(25, __LINE__, ## __VA_ARGS__ ); call-script wrap_SetMaxReloadTime(__VA_ARGS__);} \ - wrap_SetMaxReloadTime(__VA_ARGS__) - #define dbg_SetMaxReloadTime(...) call-script lua_CobDebug(25, __LINE__, ## __VA_ARGS__ ); -#else - #define print_SetMaxReloadTime(...) SetMaxReloadTime(__VA_ARGS__) - #define dbg_SetMaxReloadTime(...) -#endif - -#ifdef DEBUG - #define print_StartBuilding(...) StartBuilding(__VA_ARGS__) {call-script lua_CobDebug(26, __LINE__, ## __VA_ARGS__ ); call-script wrap_StartBuilding(__VA_ARGS__);} \ - wrap_StartBuilding(__VA_ARGS__) - #define dbg_StartBuilding(...) call-script lua_CobDebug(26, __LINE__, ## __VA_ARGS__ ); -#else - #define print_StartBuilding(...) StartBuilding(__VA_ARGS__) - #define dbg_StartBuilding(...) -#endif - -#ifdef DEBUG - #define print_StopBuilding(...) StopBuilding(__VA_ARGS__) {call-script lua_CobDebug(27, __LINE__, ## __VA_ARGS__ ); call-script wrap_StopBuilding(__VA_ARGS__);} \ - wrap_StopBuilding(__VA_ARGS__) - #define dbg_StopBuilding(...) call-script lua_CobDebug(27, __LINE__, ## __VA_ARGS__ ); -#else - #define print_StopBuilding(...) StopBuilding(__VA_ARGS__) - #define dbg_StopBuilding(...) -#endif - -#ifdef DEBUG - #define print_QueryNanoPiece(...) QueryNanoPiece(__VA_ARGS__) {call-script lua_CobDebug(28, __LINE__, ## __VA_ARGS__ ); call-script wrap_QueryNanoPiece(__VA_ARGS__);} \ - wrap_QueryNanoPiece(__VA_ARGS__) - #define dbg_QueryNanoPiece(...) call-script lua_CobDebug(28, __LINE__, ## __VA_ARGS__ ); -#else - #define print_QueryNanoPiece(...) QueryNanoPiece(__VA_ARGS__) - #define dbg_QueryNanoPiece(...) -#endif - -#ifdef DEBUG - #define print_QueryBuildInfo(...) QueryBuildInfo(__VA_ARGS__) {call-script lua_CobDebug(29, __LINE__, ## __VA_ARGS__ ); call-script wrap_QueryBuildInfo(__VA_ARGS__);} \ - wrap_QueryBuildInfo(__VA_ARGS__) - #define dbg_QueryBuildInfo(...) call-script lua_CobDebug(29, __LINE__, ## __VA_ARGS__ ); -#else - #define print_QueryBuildInfo(...) QueryBuildInfo(__VA_ARGS__) - #define dbg_QueryBuildInfo(...) -#endif - -#ifdef DEBUG - #define print_Falling(...) Falling(__VA_ARGS__) {call-script lua_CobDebug(30, __LINE__, ## __VA_ARGS__ ); call-script wrap_Falling(__VA_ARGS__);} \ - wrap_Falling(__VA_ARGS__) - #define dbg_Falling(...) call-script lua_CobDebug(30, __LINE__, ## __VA_ARGS__ ); -#else - #define print_Falling(...) Falling(__VA_ARGS__) - #define dbg_Falling(...) -#endif - -#ifdef DEBUG - #define print_Landed(...) Landed(__VA_ARGS__) {call-script lua_CobDebug(31, __LINE__, ## __VA_ARGS__ ); call-script wrap_Landed(__VA_ARGS__);} \ - wrap_Landed(__VA_ARGS__) - #define dbg_Landed(...) call-script lua_CobDebug(31, __LINE__, ## __VA_ARGS__ ); -#else - #define print_Landed(...) Landed(__VA_ARGS__) - #define dbg_Landed(...) -#endif - -#ifdef DEBUG - #define print_QueryTransport(...) QueryTransport(__VA_ARGS__) {call-script lua_CobDebug(32, __LINE__, ## __VA_ARGS__ ); call-script wrap_QueryTransport(__VA_ARGS__);} \ - wrap_QueryTransport(__VA_ARGS__) - #define dbg_QueryTransport(...) call-script lua_CobDebug(32, __LINE__, ## __VA_ARGS__ ); -#else - #define print_QueryTransport(...) QueryTransport(__VA_ARGS__) - #define dbg_QueryTransport(...) -#endif - -#ifdef DEBUG - #define print_BeginTransport(...) BeginTransport(__VA_ARGS__) {call-script lua_CobDebug(33, __LINE__, ## __VA_ARGS__ ); call-script wrap_BeginTransport(__VA_ARGS__);} \ - wrap_BeginTransport(__VA_ARGS__) - #define dbg_BeginTransport(...) call-script lua_CobDebug(33, __LINE__, ## __VA_ARGS__ ); -#else - #define print_BeginTransport(...) BeginTransport(__VA_ARGS__) - #define dbg_BeginTransport(...) -#endif - -#ifdef DEBUG - #define print_EndTransport(...) EndTransport(__VA_ARGS__) {call-script lua_CobDebug(34, __LINE__, ## __VA_ARGS__ ); call-script wrap_EndTransport(__VA_ARGS__);} \ - wrap_EndTransport(__VA_ARGS__) - #define dbg_EndTransport(...) call-script lua_CobDebug(34, __LINE__, ## __VA_ARGS__ ); -#else - #define print_EndTransport(...) EndTransport(__VA_ARGS__) - #define dbg_EndTransport(...) -#endif - -#ifdef DEBUG - #define print_TransportPickup(...) TransportPickup(__VA_ARGS__) {call-script lua_CobDebug(35, __LINE__, ## __VA_ARGS__ ); call-script wrap_TransportPickup(__VA_ARGS__);} \ - wrap_TransportPickup(__VA_ARGS__) - #define dbg_TransportPickup(...) call-script lua_CobDebug(35, __LINE__, ## __VA_ARGS__ ); -#else - #define print_TransportPickup(...) TransportPickup(__VA_ARGS__) - #define dbg_TransportPickup(...) -#endif - -#ifdef DEBUG - #define print_TransportDrop(...) TransportDrop(__VA_ARGS__) {call-script lua_CobDebug(36, __LINE__, ## __VA_ARGS__ ); call-script wrap_TransportDrop(__VA_ARGS__);} \ - wrap_TransportDrop(__VA_ARGS__) - #define dbg_TransportDrop(...) call-script lua_CobDebug(36, __LINE__, ## __VA_ARGS__ ); -#else - #define print_TransportDrop(...) TransportDrop(__VA_ARGS__) - #define dbg_TransportDrop(...) -#endif - -#ifdef DEBUG - #define print_StartUnload(...) StartUnload(__VA_ARGS__) {call-script lua_CobDebug(37, __LINE__, ## __VA_ARGS__ ); call-script wrap_StartUnload(__VA_ARGS__);} \ - wrap_StartUnload(__VA_ARGS__) - #define dbg_StartUnload(...) call-script lua_CobDebug(37, __LINE__, ## __VA_ARGS__ ); -#else - #define print_StartUnload(...) StartUnload(__VA_ARGS__) - #define dbg_StartUnload(...) -#endif - -#ifdef DEBUG - #define print_QueryLandingPadCount(...) QueryLandingPadCount(__VA_ARGS__) {call-script lua_CobDebug(38, __LINE__, ## __VA_ARGS__ ); call-script wrap_QueryLandingPadCount(__VA_ARGS__);} \ - wrap_QueryLandingPadCount(__VA_ARGS__) - #define dbg_QueryLandingPadCount(...) call-script lua_CobDebug(38, __LINE__, ## __VA_ARGS__ ); -#else - #define print_QueryLandingPadCount(...) QueryLandingPadCount(__VA_ARGS__) - #define dbg_QueryLandingPadCount(...) -#endif - -#ifdef DEBUG - #define print_QueryLandingPad(...) QueryLandingPad(__VA_ARGS__) {call-script lua_CobDebug(39, __LINE__, ## __VA_ARGS__ ); call-script wrap_QueryLandingPad(__VA_ARGS__);} \ - wrap_QueryLandingPad(__VA_ARGS__) - #define dbg_QueryLandingPad(...) call-script lua_CobDebug(39, __LINE__, ## __VA_ARGS__ ); -#else - #define print_QueryLandingPad(...) QueryLandingPad(__VA_ARGS__) - #define dbg_QueryLandingPad(...) -#endif - -#ifdef DEBUG - #define print_AimWeapon1(...) AimWeapon1(__VA_ARGS__) {call-script lua_CobDebug(40, __LINE__, ## __VA_ARGS__ ); call-script wrap_AimWeapon1(__VA_ARGS__);} \ - wrap_AimWeapon1(__VA_ARGS__) - #define dbg_AimWeapon1(...) call-script lua_CobDebug(40, __LINE__, ## __VA_ARGS__ ); -#else - #define print_AimWeapon1(...) AimWeapon1(__VA_ARGS__) - #define dbg_AimWeapon1(...) -#endif - -#ifdef DEBUG - #define print_AimFromWeapon1(...) AimFromWeapon1(__VA_ARGS__) {call-script lua_CobDebug(41, __LINE__, ## __VA_ARGS__ ); call-script wrap_AimFromWeapon1(__VA_ARGS__);} \ - wrap_AimFromWeapon1(__VA_ARGS__) - #define dbg_AimFromWeapon1(...) call-script lua_CobDebug(41, __LINE__, ## __VA_ARGS__ ); -#else - #define print_AimFromWeapon1(...) AimFromWeapon1(__VA_ARGS__) - #define dbg_AimFromWeapon1(...) -#endif - -#ifdef DEBUG - #define print_FireWeapon1(...) FireWeapon1(__VA_ARGS__) {call-script lua_CobDebug(42, __LINE__, ## __VA_ARGS__ ); call-script wrap_FireWeapon1(__VA_ARGS__);} \ - wrap_FireWeapon1(__VA_ARGS__) - #define dbg_FireWeapon1(...) call-script lua_CobDebug(42, __LINE__, ## __VA_ARGS__ ); -#else - #define print_FireWeapon1(...) FireWeapon1(__VA_ARGS__) - #define dbg_FireWeapon1(...) -#endif - -#ifdef DEBUG - #define print_Shot1(...) Shot1(__VA_ARGS__) {call-script lua_CobDebug(43, __LINE__, ## __VA_ARGS__ ); call-script wrap_Shot1(__VA_ARGS__);} \ - wrap_Shot1(__VA_ARGS__) - #define dbg_Shot1(...) call-script lua_CobDebug(43, __LINE__, ## __VA_ARGS__ ); -#else - #define print_Shot1(...) Shot1(__VA_ARGS__) - #define dbg_Shot1(...) -#endif - -#ifdef DEBUG - #define print_QueryWeapon1(...) QueryWeapon1(__VA_ARGS__) {call-script lua_CobDebug(44, __LINE__, ## __VA_ARGS__ ); call-script wrap_QueryWeapon1(__VA_ARGS__);} \ - wrap_QueryWeapon1(__VA_ARGS__) - #define dbg_QueryWeapon1(...) call-script lua_CobDebug(44, __LINE__, ## __VA_ARGS__ ); -#else - #define print_QueryWeapon1(...) QueryWeapon1(__VA_ARGS__) - #define dbg_QueryWeapon1(...) -#endif - -#ifdef DEBUG - #define print_EndBurst1(...) EndBurst1(__VA_ARGS__) {call-script lua_CobDebug(45, __LINE__, ## __VA_ARGS__ ); call-script wrap_EndBurst1(__VA_ARGS__);} \ - wrap_EndBurst1(__VA_ARGS__) - #define dbg_EndBurst1(...) call-script lua_CobDebug(45, __LINE__, ## __VA_ARGS__ ); -#else - #define print_EndBurst1(...) EndBurst1(__VA_ARGS__) - #define dbg_EndBurst1(...) -#endif - -#ifdef DEBUG - #define print_BlockShot1(...) BlockShot1(__VA_ARGS__) {call-script lua_CobDebug(46, __LINE__, ## __VA_ARGS__ ); call-script wrap_BlockShot1(__VA_ARGS__);} \ - wrap_BlockShot1(__VA_ARGS__) - #define dbg_BlockShot1(...) call-script lua_CobDebug(46, __LINE__, ## __VA_ARGS__ ); -#else - #define print_BlockShot1(...) BlockShot1(__VA_ARGS__) - #define dbg_BlockShot1(...) -#endif - -#ifdef DEBUG - #define print_TargetWeight1(...) TargetWeight1(__VA_ARGS__) {call-script lua_CobDebug(47, __LINE__, ## __VA_ARGS__ ); call-script wrap_TargetWeight1(__VA_ARGS__);} \ - wrap_TargetWeight1(__VA_ARGS__) - #define dbg_TargetWeight1(...) call-script lua_CobDebug(47, __LINE__, ## __VA_ARGS__ ); -#else - #define print_TargetWeight1(...) TargetWeight1(__VA_ARGS__) - #define dbg_TargetWeight1(...) -#endif - -#ifdef DEBUG - #define print_AimWeapon2(...) AimWeapon2(__VA_ARGS__) {call-script lua_CobDebug(48, __LINE__, ## __VA_ARGS__ ); call-script wrap_AimWeapon2(__VA_ARGS__);} \ - wrap_AimWeapon2(__VA_ARGS__) - #define dbg_AimWeapon2(...) call-script lua_CobDebug(48, __LINE__, ## __VA_ARGS__ ); -#else - #define print_AimWeapon2(...) AimWeapon2(__VA_ARGS__) - #define dbg_AimWeapon2(...) -#endif - -#ifdef DEBUG - #define print_AimFromWeapon2(...) AimFromWeapon2(__VA_ARGS__) {call-script lua_CobDebug(49, __LINE__, ## __VA_ARGS__ ); call-script wrap_AimFromWeapon2(__VA_ARGS__);} \ - wrap_AimFromWeapon2(__VA_ARGS__) - #define dbg_AimFromWeapon2(...) call-script lua_CobDebug(49, __LINE__, ## __VA_ARGS__ ); -#else - #define print_AimFromWeapon2(...) AimFromWeapon2(__VA_ARGS__) - #define dbg_AimFromWeapon2(...) -#endif - -#ifdef DEBUG - #define print_FireWeapon2(...) FireWeapon2(__VA_ARGS__) {call-script lua_CobDebug(50, __LINE__, ## __VA_ARGS__ ); call-script wrap_FireWeapon2(__VA_ARGS__);} \ - wrap_FireWeapon2(__VA_ARGS__) - #define dbg_FireWeapon2(...) call-script lua_CobDebug(50, __LINE__, ## __VA_ARGS__ ); -#else - #define print_FireWeapon2(...) FireWeapon2(__VA_ARGS__) - #define dbg_FireWeapon2(...) -#endif - -#ifdef DEBUG - #define print_Shot2(...) Shot2(__VA_ARGS__) {call-script lua_CobDebug(51, __LINE__, ## __VA_ARGS__ ); call-script wrap_Shot2(__VA_ARGS__);} \ - wrap_Shot2(__VA_ARGS__) - #define dbg_Shot2(...) call-script lua_CobDebug(51, __LINE__, ## __VA_ARGS__ ); -#else - #define print_Shot2(...) Shot2(__VA_ARGS__) - #define dbg_Shot2(...) -#endif - -#ifdef DEBUG - #define print_QueryWeapon2(...) QueryWeapon2(__VA_ARGS__) {call-script lua_CobDebug(52, __LINE__, ## __VA_ARGS__ ); call-script wrap_QueryWeapon2(__VA_ARGS__);} \ - wrap_QueryWeapon2(__VA_ARGS__) - #define dbg_QueryWeapon2(...) call-script lua_CobDebug(52, __LINE__, ## __VA_ARGS__ ); -#else - #define print_QueryWeapon2(...) QueryWeapon2(__VA_ARGS__) - #define dbg_QueryWeapon2(...) -#endif - -#ifdef DEBUG - #define print_EndBurst2(...) EndBurst2(__VA_ARGS__) {call-script lua_CobDebug(53, __LINE__, ## __VA_ARGS__ ); call-script wrap_EndBurst2(__VA_ARGS__);} \ - wrap_EndBurst2(__VA_ARGS__) - #define dbg_EndBurst2(...) call-script lua_CobDebug(53, __LINE__, ## __VA_ARGS__ ); -#else - #define print_EndBurst2(...) EndBurst2(__VA_ARGS__) - #define dbg_EndBurst2(...) -#endif - -#ifdef DEBUG - #define print_BlockShot2(...) BlockShot2(__VA_ARGS__) {call-script lua_CobDebug(54, __LINE__, ## __VA_ARGS__ ); call-script wrap_BlockShot2(__VA_ARGS__);} \ - wrap_BlockShot2(__VA_ARGS__) - #define dbg_BlockShot2(...) call-script lua_CobDebug(54, __LINE__, ## __VA_ARGS__ ); -#else - #define print_BlockShot2(...) BlockShot2(__VA_ARGS__) - #define dbg_BlockShot2(...) -#endif - -#ifdef DEBUG - #define print_TargetWeight2(...) TargetWeight2(__VA_ARGS__) {call-script lua_CobDebug(55, __LINE__, ## __VA_ARGS__ ); call-script wrap_TargetWeight2(__VA_ARGS__);} \ - wrap_TargetWeight2(__VA_ARGS__) - #define dbg_TargetWeight2(...) call-script lua_CobDebug(55, __LINE__, ## __VA_ARGS__ ); -#else - #define print_TargetWeight2(...) TargetWeight2(__VA_ARGS__) - #define dbg_TargetWeight2(...) -#endif - -#ifdef DEBUG - #define print_AimWeapon3(...) AimWeapon3(__VA_ARGS__) {call-script lua_CobDebug(56, __LINE__, ## __VA_ARGS__ ); call-script wrap_AimWeapon3(__VA_ARGS__);} \ - wrap_AimWeapon3(__VA_ARGS__) - #define dbg_AimWeapon3(...) call-script lua_CobDebug(56, __LINE__, ## __VA_ARGS__ ); -#else - #define print_AimWeapon3(...) AimWeapon3(__VA_ARGS__) - #define dbg_AimWeapon3(...) -#endif - -#ifdef DEBUG - #define print_AimFromWeapon3(...) AimFromWeapon3(__VA_ARGS__) {call-script lua_CobDebug(57, __LINE__, ## __VA_ARGS__ ); call-script wrap_AimFromWeapon3(__VA_ARGS__);} \ - wrap_AimFromWeapon3(__VA_ARGS__) - #define dbg_AimFromWeapon3(...) call-script lua_CobDebug(57, __LINE__, ## __VA_ARGS__ ); -#else - #define print_AimFromWeapon3(...) AimFromWeapon3(__VA_ARGS__) - #define dbg_AimFromWeapon3(...) -#endif - -#ifdef DEBUG - #define print_FireWeapon3(...) FireWeapon3(__VA_ARGS__) {call-script lua_CobDebug(58, __LINE__, ## __VA_ARGS__ ); call-script wrap_FireWeapon3(__VA_ARGS__);} \ - wrap_FireWeapon3(__VA_ARGS__) - #define dbg_FireWeapon3(...) call-script lua_CobDebug(58, __LINE__, ## __VA_ARGS__ ); -#else - #define print_FireWeapon3(...) FireWeapon3(__VA_ARGS__) - #define dbg_FireWeapon3(...) -#endif - -#ifdef DEBUG - #define print_Shot3(...) Shot3(__VA_ARGS__) {call-script lua_CobDebug(59, __LINE__, ## __VA_ARGS__ ); call-script wrap_Shot3(__VA_ARGS__);} \ - wrap_Shot3(__VA_ARGS__) - #define dbg_Shot3(...) call-script lua_CobDebug(59, __LINE__, ## __VA_ARGS__ ); -#else - #define print_Shot3(...) Shot3(__VA_ARGS__) - #define dbg_Shot3(...) -#endif - -#ifdef DEBUG - #define print_QueryWeapon3(...) QueryWeapon3(__VA_ARGS__) {call-script lua_CobDebug(60, __LINE__, ## __VA_ARGS__ ); call-script wrap_QueryWeapon3(__VA_ARGS__);} \ - wrap_QueryWeapon3(__VA_ARGS__) - #define dbg_QueryWeapon3(...) call-script lua_CobDebug(60, __LINE__, ## __VA_ARGS__ ); -#else - #define print_QueryWeapon3(...) QueryWeapon3(__VA_ARGS__) - #define dbg_QueryWeapon3(...) -#endif - -#ifdef DEBUG - #define print_EndBurst3(...) EndBurst3(__VA_ARGS__) {call-script lua_CobDebug(61, __LINE__, ## __VA_ARGS__ ); call-script wrap_EndBurst3(__VA_ARGS__);} \ - wrap_EndBurst3(__VA_ARGS__) - #define dbg_EndBurst3(...) call-script lua_CobDebug(61, __LINE__, ## __VA_ARGS__ ); -#else - #define print_EndBurst3(...) EndBurst3(__VA_ARGS__) - #define dbg_EndBurst3(...) -#endif - -#ifdef DEBUG - #define print_BlockShot3(...) BlockShot3(__VA_ARGS__) {call-script lua_CobDebug(62, __LINE__, ## __VA_ARGS__ ); call-script wrap_BlockShot3(__VA_ARGS__);} \ - wrap_BlockShot3(__VA_ARGS__) - #define dbg_BlockShot3(...) call-script lua_CobDebug(62, __LINE__, ## __VA_ARGS__ ); -#else - #define print_BlockShot3(...) BlockShot3(__VA_ARGS__) - #define dbg_BlockShot3(...) -#endif - -#ifdef DEBUG - #define print_TargetWeight3(...) TargetWeight3(__VA_ARGS__) {call-script lua_CobDebug(63, __LINE__, ## __VA_ARGS__ ); call-script wrap_TargetWeight3(__VA_ARGS__);} \ - wrap_TargetWeight3(__VA_ARGS__) - #define dbg_TargetWeight3(...) call-script lua_CobDebug(63, __LINE__, ## __VA_ARGS__ ); -#else - #define print_TargetWeight3(...) TargetWeight3(__VA_ARGS__) - #define dbg_TargetWeight3(...) -#endif - -#ifdef DEBUG - #define print_AimWeapon4(...) AimWeapon4(__VA_ARGS__) {call-script lua_CobDebug(64, __LINE__, ## __VA_ARGS__ ); call-script wrap_AimWeapon4(__VA_ARGS__);} \ - wrap_AimWeapon4(__VA_ARGS__) - #define dbg_AimWeapon4(...) call-script lua_CobDebug(64, __LINE__, ## __VA_ARGS__ ); -#else - #define print_AimWeapon4(...) AimWeapon4(__VA_ARGS__) - #define dbg_AimWeapon4(...) -#endif - -#ifdef DEBUG - #define print_AimFromWeapon4(...) AimFromWeapon4(__VA_ARGS__) {call-script lua_CobDebug(65, __LINE__, ## __VA_ARGS__ ); call-script wrap_AimFromWeapon4(__VA_ARGS__);} \ - wrap_AimFromWeapon4(__VA_ARGS__) - #define dbg_AimFromWeapon4(...) call-script lua_CobDebug(65, __LINE__, ## __VA_ARGS__ ); -#else - #define print_AimFromWeapon4(...) AimFromWeapon4(__VA_ARGS__) - #define dbg_AimFromWeapon4(...) -#endif - -#ifdef DEBUG - #define print_FireWeapon4(...) FireWeapon4(__VA_ARGS__) {call-script lua_CobDebug(66, __LINE__, ## __VA_ARGS__ ); call-script wrap_FireWeapon4(__VA_ARGS__);} \ - wrap_FireWeapon4(__VA_ARGS__) - #define dbg_FireWeapon4(...) call-script lua_CobDebug(66, __LINE__, ## __VA_ARGS__ ); -#else - #define print_FireWeapon4(...) FireWeapon4(__VA_ARGS__) - #define dbg_FireWeapon4(...) -#endif - -#ifdef DEBUG - #define print_Shot4(...) Shot4(__VA_ARGS__) {call-script lua_CobDebug(67, __LINE__, ## __VA_ARGS__ ); call-script wrap_Shot4(__VA_ARGS__);} \ - wrap_Shot4(__VA_ARGS__) - #define dbg_Shot4(...) call-script lua_CobDebug(67, __LINE__, ## __VA_ARGS__ ); -#else - #define print_Shot4(...) Shot4(__VA_ARGS__) - #define dbg_Shot4(...) -#endif - -#ifdef DEBUG - #define print_QueryWeapon4(...) QueryWeapon4(__VA_ARGS__) {call-script lua_CobDebug(68, __LINE__, ## __VA_ARGS__ ); call-script wrap_QueryWeapon4(__VA_ARGS__);} \ - wrap_QueryWeapon4(__VA_ARGS__) - #define dbg_QueryWeapon4(...) call-script lua_CobDebug(68, __LINE__, ## __VA_ARGS__ ); -#else - #define print_QueryWeapon4(...) QueryWeapon4(__VA_ARGS__) - #define dbg_QueryWeapon4(...) -#endif - -#ifdef DEBUG - #define print_EndBurst4(...) EndBurst4(__VA_ARGS__) {call-script lua_CobDebug(69, __LINE__, ## __VA_ARGS__ ); call-script wrap_EndBurst4(__VA_ARGS__);} \ - wrap_EndBurst4(__VA_ARGS__) - #define dbg_EndBurst4(...) call-script lua_CobDebug(69, __LINE__, ## __VA_ARGS__ ); -#else - #define print_EndBurst4(...) EndBurst4(__VA_ARGS__) - #define dbg_EndBurst4(...) -#endif - -#ifdef DEBUG - #define print_BlockShot4(...) BlockShot4(__VA_ARGS__) {call-script lua_CobDebug(70, __LINE__, ## __VA_ARGS__ ); call-script wrap_BlockShot4(__VA_ARGS__);} \ - wrap_BlockShot4(__VA_ARGS__) - #define dbg_BlockShot4(...) call-script lua_CobDebug(70, __LINE__, ## __VA_ARGS__ ); -#else - #define print_BlockShot4(...) BlockShot4(__VA_ARGS__) - #define dbg_BlockShot4(...) -#endif - -#ifdef DEBUG - #define print_TargetWeight4(...) TargetWeight4(__VA_ARGS__) {call-script lua_CobDebug(71, __LINE__, ## __VA_ARGS__ ); call-script wrap_TargetWeight4(__VA_ARGS__);} \ - wrap_TargetWeight4(__VA_ARGS__) - #define dbg_TargetWeight4(...) call-script lua_CobDebug(71, __LINE__, ## __VA_ARGS__ ); -#else - #define print_TargetWeight4(...) TargetWeight4(__VA_ARGS__) - #define dbg_TargetWeight4(...) -#endif - -#ifdef DEBUG - #define print_AimWeapon5(...) AimWeapon5(__VA_ARGS__) {call-script lua_CobDebug(72, __LINE__, ## __VA_ARGS__ ); call-script wrap_AimWeapon5(__VA_ARGS__);} \ - wrap_AimWeapon5(__VA_ARGS__) - #define dbg_AimWeapon5(...) call-script lua_CobDebug(72, __LINE__, ## __VA_ARGS__ ); -#else - #define print_AimWeapon5(...) AimWeapon5(__VA_ARGS__) - #define dbg_AimWeapon5(...) -#endif - -#ifdef DEBUG - #define print_AimFromWeapon5(...) AimFromWeapon5(__VA_ARGS__) {call-script lua_CobDebug(73, __LINE__, ## __VA_ARGS__ ); call-script wrap_AimFromWeapon5(__VA_ARGS__);} \ - wrap_AimFromWeapon5(__VA_ARGS__) - #define dbg_AimFromWeapon5(...) call-script lua_CobDebug(73, __LINE__, ## __VA_ARGS__ ); -#else - #define print_AimFromWeapon5(...) AimFromWeapon5(__VA_ARGS__) - #define dbg_AimFromWeapon5(...) -#endif - -#ifdef DEBUG - #define print_FireWeapon5(...) FireWeapon5(__VA_ARGS__) {call-script lua_CobDebug(74, __LINE__, ## __VA_ARGS__ ); call-script wrap_FireWeapon5(__VA_ARGS__);} \ - wrap_FireWeapon5(__VA_ARGS__) - #define dbg_FireWeapon5(...) call-script lua_CobDebug(74, __LINE__, ## __VA_ARGS__ ); -#else - #define print_FireWeapon5(...) FireWeapon5(__VA_ARGS__) - #define dbg_FireWeapon5(...) -#endif - -#ifdef DEBUG - #define print_Shot5(...) Shot5(__VA_ARGS__) {call-script lua_CobDebug(75, __LINE__, ## __VA_ARGS__ ); call-script wrap_Shot5(__VA_ARGS__);} \ - wrap_Shot5(__VA_ARGS__) - #define dbg_Shot5(...) call-script lua_CobDebug(75, __LINE__, ## __VA_ARGS__ ); -#else - #define print_Shot5(...) Shot5(__VA_ARGS__) - #define dbg_Shot5(...) -#endif - -#ifdef DEBUG - #define print_QueryWeapon5(...) QueryWeapon5(__VA_ARGS__) {call-script lua_CobDebug(76, __LINE__, ## __VA_ARGS__ ); call-script wrap_QueryWeapon5(__VA_ARGS__);} \ - wrap_QueryWeapon5(__VA_ARGS__) - #define dbg_QueryWeapon5(...) call-script lua_CobDebug(76, __LINE__, ## __VA_ARGS__ ); -#else - #define print_QueryWeapon5(...) QueryWeapon5(__VA_ARGS__) - #define dbg_QueryWeapon5(...) -#endif - -#ifdef DEBUG - #define print_EndBurst5(...) EndBurst5(__VA_ARGS__) {call-script lua_CobDebug(77, __LINE__, ## __VA_ARGS__ ); call-script wrap_EndBurst5(__VA_ARGS__);} \ - wrap_EndBurst5(__VA_ARGS__) - #define dbg_EndBurst5(...) call-script lua_CobDebug(77, __LINE__, ## __VA_ARGS__ ); -#else - #define print_EndBurst5(...) EndBurst5(__VA_ARGS__) - #define dbg_EndBurst5(...) -#endif - -#ifdef DEBUG - #define print_BlockShot5(...) BlockShot5(__VA_ARGS__) {call-script lua_CobDebug(78, __LINE__, ## __VA_ARGS__ ); call-script wrap_BlockShot5(__VA_ARGS__);} \ - wrap_BlockShot5(__VA_ARGS__) - #define dbg_BlockShot5(...) call-script lua_CobDebug(78, __LINE__, ## __VA_ARGS__ ); -#else - #define print_BlockShot5(...) BlockShot5(__VA_ARGS__) - #define dbg_BlockShot5(...) -#endif - -#ifdef DEBUG - #define print_TargetWeight5(...) TargetWeight5(__VA_ARGS__) {call-script lua_CobDebug(79, __LINE__, ## __VA_ARGS__ ); call-script wrap_TargetWeight5(__VA_ARGS__);} \ - wrap_TargetWeight5(__VA_ARGS__) - #define dbg_TargetWeight5(...) call-script lua_CobDebug(79, __LINE__, ## __VA_ARGS__ ); -#else - #define print_TargetWeight5(...) TargetWeight5(__VA_ARGS__) - #define dbg_TargetWeight5(...) -#endif - -#ifdef DEBUG - #define print_AimWeapon6(...) AimWeapon6(__VA_ARGS__) {call-script lua_CobDebug(80, __LINE__, ## __VA_ARGS__ ); call-script wrap_AimWeapon6(__VA_ARGS__);} \ - wrap_AimWeapon6(__VA_ARGS__) - #define dbg_AimWeapon6(...) call-script lua_CobDebug(80, __LINE__, ## __VA_ARGS__ ); -#else - #define print_AimWeapon6(...) AimWeapon6(__VA_ARGS__) - #define dbg_AimWeapon6(...) -#endif - -#ifdef DEBUG - #define print_AimFromWeapon6(...) AimFromWeapon6(__VA_ARGS__) {call-script lua_CobDebug(81, __LINE__, ## __VA_ARGS__ ); call-script wrap_AimFromWeapon6(__VA_ARGS__);} \ - wrap_AimFromWeapon6(__VA_ARGS__) - #define dbg_AimFromWeapon6(...) call-script lua_CobDebug(81, __LINE__, ## __VA_ARGS__ ); -#else - #define print_AimFromWeapon6(...) AimFromWeapon6(__VA_ARGS__) - #define dbg_AimFromWeapon6(...) -#endif - -#ifdef DEBUG - #define print_FireWeapon6(...) FireWeapon6(__VA_ARGS__) {call-script lua_CobDebug(82, __LINE__, ## __VA_ARGS__ ); call-script wrap_FireWeapon6(__VA_ARGS__);} \ - wrap_FireWeapon6(__VA_ARGS__) - #define dbg_FireWeapon6(...) call-script lua_CobDebug(82, __LINE__, ## __VA_ARGS__ ); -#else - #define print_FireWeapon6(...) FireWeapon6(__VA_ARGS__) - #define dbg_FireWeapon6(...) -#endif - -#ifdef DEBUG - #define print_Shot6(...) Shot6(__VA_ARGS__) {call-script lua_CobDebug(83, __LINE__, ## __VA_ARGS__ ); call-script wrap_Shot6(__VA_ARGS__);} \ - wrap_Shot6(__VA_ARGS__) - #define dbg_Shot6(...) call-script lua_CobDebug(83, __LINE__, ## __VA_ARGS__ ); -#else - #define print_Shot6(...) Shot6(__VA_ARGS__) - #define dbg_Shot6(...) -#endif - -#ifdef DEBUG - #define print_QueryWeapon6(...) QueryWeapon6(__VA_ARGS__) {call-script lua_CobDebug(84, __LINE__, ## __VA_ARGS__ ); call-script wrap_QueryWeapon6(__VA_ARGS__);} \ - wrap_QueryWeapon6(__VA_ARGS__) - #define dbg_QueryWeapon6(...) call-script lua_CobDebug(84, __LINE__, ## __VA_ARGS__ ); -#else - #define print_QueryWeapon6(...) QueryWeapon6(__VA_ARGS__) - #define dbg_QueryWeapon6(...) -#endif - -#ifdef DEBUG - #define print_EndBurst6(...) EndBurst6(__VA_ARGS__) {call-script lua_CobDebug(85, __LINE__, ## __VA_ARGS__ ); call-script wrap_EndBurst6(__VA_ARGS__);} \ - wrap_EndBurst6(__VA_ARGS__) - #define dbg_EndBurst6(...) call-script lua_CobDebug(85, __LINE__, ## __VA_ARGS__ ); -#else - #define print_EndBurst6(...) EndBurst6(__VA_ARGS__) - #define dbg_EndBurst6(...) -#endif - -#ifdef DEBUG - #define print_BlockShot6(...) BlockShot6(__VA_ARGS__) {call-script lua_CobDebug(86, __LINE__, ## __VA_ARGS__ ); call-script wrap_BlockShot6(__VA_ARGS__);} \ - wrap_BlockShot6(__VA_ARGS__) - #define dbg_BlockShot6(...) call-script lua_CobDebug(86, __LINE__, ## __VA_ARGS__ ); -#else - #define print_BlockShot6(...) BlockShot6(__VA_ARGS__) - #define dbg_BlockShot6(...) -#endif - -#ifdef DEBUG - #define print_TargetWeight6(...) TargetWeight6(__VA_ARGS__) {call-script lua_CobDebug(87, __LINE__, ## __VA_ARGS__ ); call-script wrap_TargetWeight6(__VA_ARGS__);} \ - wrap_TargetWeight6(__VA_ARGS__) - #define dbg_TargetWeight6(...) call-script lua_CobDebug(87, __LINE__, ## __VA_ARGS__ ); -#else - #define print_TargetWeight6(...) TargetWeight6(__VA_ARGS__) - #define dbg_TargetWeight6(...) -#endif - - -#ifdef BENCHMARK - -static-var benchstatic1, benchstatic2, benchstatic3; - -#define ABSOLUTE(value) \ - (value * ( value > 0) - value * ( value <0 )) - - -#define ABSOLUTE2(value) if (value < 0 ) value = -1*value; - -BenchMarkCall1(callvar){ - //callvar = callvar + 1 ; - //benchstatic1 = callvar; - //callvar = get MIN(callvar, benchstatic2); - return (callvar); -} - -BenchMarkCall2(callvar){ - //callvar = callvar + 1 ; - //benchstatic1 = callvar; - //callvar = get MAX(callvar, benchstatic2); - return (callvar); -} - -BenchMark1(count){ - var bench1; - var bench2; - var bench3; - benchstatic3 = benchstatic3 + 1; - bench1 = 0; - - while ((bench1 < count) && (bench1 < 1000)){ - bench1 = bench1 +1 ; - bench2 = get MAX_SPEED; - bench2 = bench2 + 1; - bench3 = get CURRENT_SPEED; - //bench2 = get ABS(bench2); - bench2 = ABSOLUTE(bench2); - if ((bench1 & 0x1) == 1 ){ - //bench2 = get ABS(bench1); - //ABSOLUTE2(bench2); - bench2 = bench2 *2; - call-script BenchMarkCall1(); - }else{ - //bench2 = get ABS(bench2); - //ABSOLUTE2(bench2); - bench2 = bench2 *2; - call-script BenchMarkCall2(); - } - //turn base to y-axis <0.3> * bench1 speed <3000>; - benchstatic1 = bench1; - benchstatic2 = benchstatic1 / (bench1 + 1); - bench1 = benchstatic1; - } - return (0); - -} - -StartBench(cnt){ - benchstatic3 = 0; - while(1){ - call-script BenchMark1(cnt); - sleep 1; - } -} -#endif \ No newline at end of file diff --git a/scripts/debug_header_generator.py b/scripts/debug_header_generator.py deleted file mode 100644 index 503f5b957bd..00000000000 --- a/scripts/debug_header_generator.py +++ /dev/null @@ -1,48 +0,0 @@ -# (C) Beherith mysterme@gmail.com - -numweapons = 6 -weaponcallinsX = ['AimWeapon', 'AimFromWeapon', 'FireWeapon', 'Shot', 'QueryWeapon','EndBurst','BlockShot','TargetWeight'] -weaponcallins = [] -for i in range(1,7): - weaponcallins += [n + str(i) for n in weaponcallinsX] -enginecallins = ['Create', 'Activate','Deactivate', 'StartMoving','StopMoving', 'SetSFXOccupy', 'MoveRate0', 'MoveRate1', - 'MoveRate2', 'MoveRate3', 'SetDirection', 'SetSpeed', 'RockUnit', 'HitByWeapon', 'HitByWeaponID', 'SetMaxReloadTime', - 'StartBuilding', 'StopBuilding', 'QueryNanoPiece', 'QueryBuildInfo', 'Falling', 'Landed', 'QueryTransport', 'BeginTransport', - 'EndTransport', 'TransportPickup', 'TransportDrop', 'StartUnload', 'QueryLandingPadCount', 'QueryLandingPad'] -commonfunctions = ['Debug','Open', 'Close', 'TryTransition', 'Killed', 'RestoreAfterDelay', 'ExecuteRestoreAfterDelay', 'SetStunned', 'Walk','StopWalking'] - -##ifdef DEBUG -# #define print_Open(...) Open(__VA_ARGS__) {call-script lua_CobDebug(31, __LINE__, ## __VA_ARGS__ ); call-script wrap_Open(__VA_ARGS__);} \ -# wrap_Open(__VA_ARGS__) -# #define dbg_Open(...) call-script lua_CobDebug(31, __LINE__, ## __VA_ARGS__ ); -##else -# #define print_Open(...) Open(__VA_ARGS__) -# #define dbg_Open(...) ; -#endif -count = 1 -def makewrapper(fname): - global count - print('#ifdef DEBUG') - print(f' #define print_{fname}(...) {fname}(__VA_ARGS__) {{call-script lua_CobDebug({count}, __LINE__, ## __VA_ARGS__ ); call-script wrap_{fname}(__VA_ARGS__);}} \\') - print(f' wrap_{fname}(__VA_ARGS__)') - print(f' #define dbg_{fname}(...) call-script lua_CobDebug({count}, __LINE__, ## __VA_ARGS__ );') - print('#else') - print(f' #define print_{fname}(...) {fname}(__VA_ARGS__)') - print(f' #define dbg_{fname}(...)') - print('#endif') - print() - count += 1 - - -for callinlist in [commonfunctions, enginecallins, weaponcallins]: - for callin in callinlist: - makewrapper(callin) - -count = 1 -print('local callinids= {') - -for callinlist in [commonfunctions, enginecallins, weaponcallins]: - for callin in callinlist: - print(f' [{count}] = "{callin}",') - count += 1 -print('}') diff --git a/scripts/exptype.h b/scripts/exptype.h new file mode 100644 index 00000000000..f77bb5fd7a2 --- /dev/null +++ b/scripts/exptype.h @@ -0,0 +1,194 @@ +/* +** EXPtype.h -- Explosion Type information and GET/SET constants for scripts +** +** This Script contains constants compatible only with Spring RTS engine +** not for use with Total Annihilation or TA:Kindgoms +*/ + +#ifndef CONSTANTS_H_ +#define CONSTANTS_H_ + +// Indices for emit-sfx +#ifndef __SFXTYPE_H_ +#define SFXTYPE_VTOL 0 +//#define SFXTYPE_THRUST 1 +#define SFXTYPE_WAKE1 2 +#define SFXTYPE_WAKE2 3 // same as SFX_WAKE +#define SFXTYPE_REVERSEWAKE1 4 +#define SFXTYPE_REVERSEWAKE2 5 // same as SFX_REVERSE_WAKE + +#define SFXTYPE_WHITESMOKE 257 +#define SFXTYPE_BLACKSMOKE 258 +#define SFXTYPE_SUBBUBBLES 259 +#endif + +#define SHATTER 1 // The piece will shatter instead of remaining whole +#define EXPLODE_ON_HIT 2 // The piece will explode when it hits the ground +#define FALL 4 // The piece will fall due to gravity instead of just flying off +#define SMOKE 8 // A smoke trail will follow the piece through the air +#define FIRE 16 // A fire trail will follow the piece through the air +#define BITMAPONLY 32 // The piece will not fly off or shatter or anything. Only a bitmap explosion will be rendered. +#define NOCEGTRAIL 64 // Disables the cegtrail for the specific piece (defined in the unit fbi) +#define NOHEATCLOUD 128 // No engine explosion (There frugly anyways) +#define RECURSIVE 16384 // (OTA-inherited COB scripts map [1<<8, 1<<13] to BITMAP* explosions) +#define BITMAP 10000001 + +// Bitmap Explosion Types +#define BITMAP1 256 +#define BITMAP2 512 +#define BITMAP3 1024 +#define BITMAP4 2048 +#define BITMAP5 4096 +#define BITMAPNUKE 8192 +#define BITMAPMASK 16128 // Mask of the possible bitmap bits + +#define EXPTYPE_SMALLEXPLOSION 256 +#define EXPTYPE_MEDIUMEXPLOSION 512 +#define EXPTYPE_LARGEEXPLOSION 1024 +#define EXPTYPE_XLARGEEXPLOSION 2048 +#define EXPTYPE_BLOODEXPLOSION 4096 + +//Customized effects (in FBI/TDF/LUA) +// Explosion generators +#define UNIT_SFX0 1024 +#define UNIT_SFX1 1025 +#define UNIT_SFX2 1026 +#define UNIT_SFX3 1027 +#define UNIT_SFX4 1028 +#define UNIT_SFX5 1029 +#define UNIT_SFX6 1030 +#define UNIT_SFX7 1031 +#define UNIT_SFX8 1032 +#define UNIT_SFX9 1033 + +// Weapons +#define FIRE_W1 2048 +#define FIRE_W2 2049 +#define FIRE_W3 2050 +#define FIRE_W4 2051 +#define FIRE_W5 2052 +#define FIRE_W6 2053 +#define FIRE_W7 2054 +#define FIRE_W8 2055 +#define FIRE_W9 2056 + +#define DETO_W1 4096 +#define DETO_W2 4097 +#define DETO_W3 4098 +#define DETO_W4 4099 +#define DETO_W5 4100 +#define DETO_W6 4101 +#define DETO_W7 4102 +#define DETO_W8 4103 +#define DETO_W9 4104 + + +// COB constants +#define ACTIVATION 1 // set or get +#define STANDINGMOVEORDERS 2 // set or get +#define STANDINGFIREORDERS 3 // set or get +#define HEALTH 4 // get (0-100%) +#define INBUILDSTANCE 5 // set or get +#define BUSY 6 // set or get (used by misc. special case missions like transport ships) +#define PIECE_XZ 7 // get +#define PIECE_Y 8 // get +#define UNIT_XZ 9 // get +#define UNIT_Y 10 // get +#define UNIT_HEIGHT 11 // get +#define XZ_ATAN 12 // get atan of packed x,z coords +#define XZ_HYPOT 13 // get hypot of packed x,z coords +#define ATAN 14 // get ordinary two-parameter atan +#define HYPOT 15 // get ordinary two-parameter hypot +#define GROUND_HEIGHT 16 // get land height, 0 if below water +#define BUILD_PERCENT_LEFT 17 // get 0 = unit is built and ready, 1-100 = How much is left to build +#define YARD_OPEN 18 // set or get (change which plots we occupy when building opens and closes) +#define BUGGER_OFF 19 // set or get (ask other units to clear the area) +#define ARMORED 20 // set or get + +#define IN_WATER 28 +#define CURRENT_SPEED 29 +#define VETERAN_LEVEL 32 +#define ON_ROAD 34 + +#define MAX_ID 70 +#define MY_ID 71 +#define UNIT_TEAM 72 +#define UNIT_BUILD_PERCENT_LEFT 73 +#define UNIT_ALLIED 74 +#define MAX_SPEED 75 +#define CLOAKED 76 +#define WANT_CLOAK 77 +#define GROUND_WATER_HEIGHT 78 // get land height, negative if below water +#define UPRIGHT 79 // set or get +#define POW 80 // get +#define PRINT 81 // get, so multiple args can be passed +#define HEADING 82 // get +#define TARGET_ID 83 // get +#define LAST_ATTACKER_ID 84 // get +#define LOS_RADIUS 85 // set or get +#define AIR_LOS_RADIUS 86 // set or get +#define RADAR_RADIUS 87 // set or get +#define JAMMER_RADIUS 88 // set or get +#define SONAR_RADIUS 89 // set or get +#define SONAR_JAM_RADIUS 90 // set or get +#define SEISMIC_RADIUS 91 // set or get +#define DO_SEISMIC_PING 92 // get +#define CURRENT_FUEL 93 // set or get +#define TRANSPORT_ID 94 // get +#define SHIELD_POWER 95 // set or get +#define STEALTH 96 // set or get +#define CRASHING 97 // set or get, returns whether aircraft isCrashing state +#define CHANGE_TARGET 98 // set, the value it's set to determines the affected weapon +#define CEG_DAMAGE 99 // set +#define COB_ID 100 // get +#define PLAY_SOUND 101 // get, so multiple args can be passed +#define KILL_UNIT 102 // get KILL_UNIT(unitId, SelfDestruct=true, Reclaimed=false) +#define ALPHA_THRESHOLD 103 // set or get +#define SET_WEAPON_UNIT_TARGET 106 // get (fake set) +#define SET_WEAPON_GROUND_TARGET 107 // get (fake set) +#define SONAR_STEALTH 108 // set or get +#define REVERSING 109 // get + +// Indices for SET, GET, and GET_UNIT_VALUE for LUA return values +#define LUA0 110 // (LUA0 returns the lua call status, 0 or 1) +#define LUA1 111 +#define LUA2 112 +#define LUA3 113 +#define LUA4 114 +#define LUA5 115 +#define LUA6 116 +#define LUA7 117 +#define LUA8 118 +#define LUA9 119 + +#define FLANK_B_MODE 120 // set or get +#define FLANK_B_DIR 121 // set or get, set is through get for multiple args +#define FLANK_B_MOBILITY_ADD 122 // set or get +#define FLANK_B_MAX_DAMAGE 123 // set or get +#define FLANK_B_MIN_DAMAGE 124 // set or get +#define WEAPON_RELOADSTATE 125 // get (with fake set) get WEAPON_RELOADSTATE(weaponNum) for GET +#define WEAPON_RELOADTIME 126 // get (with fake set) get WEAPON_RELOADSTATE(-weaponNum,val) for SET +#define WEAPON_ACCURACY 127 // get (with fake set) +#define WEAPON_SPRAY 128 // get (with fake set) +#define WEAPON_RANGE 129 // get (with fake set) +#define WEAPON_PROJECTILE_SPEED 130 // get (with fake set) +#define WEAPON_STOCKPILE_COUNT 139 // get (with fake set) + + +#define MIN 131 // get +#define MAX 132 // get +#define ABS 133 // get +#define GAME_FRAME 134 // get +#define KSIN 135 // get, kiloSine 1024*sin(x) as COB uses only integers +#define KCOS 136 // get, kiloCosine 1024*cos(x) + +#define KTAN 137 // get, kiloTangent 1024*tan(x) carefull with angles close to 90 deg. might cause overflow +#define SQRT 138 // get, square root (floored to integer) + +#define ENERGY_MAKE 140 // set or get (100*E production) + +#define METAL_MAKE 141 // set or get (100*M production) + +// NOTE: shared variables use codes [1024 - 5119] + +#endif \ No newline at end of file diff --git a/scripts/factories_common.h b/scripts/factories_common.h deleted file mode 100644 index 1b245be2b6e..00000000000 --- a/scripts/factories_common.h +++ /dev/null @@ -1,44 +0,0 @@ -// This is for easy common stuff like opening the yards , bugger off and setting build stance - -// Note: the order of ops in FACTORY_CLOSE_BUILD is quite debateable - -/* -Activate() -{ - signal SIGNAL_TURNON; - set-signal-mask SIGNAL_TURNON; - - FACTORY_OPEN; -} - -*/ - -/* -Deactivate() -{ - signal SIGNAL_TURNON; - set-signal-mask SIGNAL_TURNON; - sleep 5000; - - FACTORY_CLOSE; -} -*/ - -#define FACTORY_OPEN_BUILD set YARD_OPEN to 1;\ - while( !get YARD_OPEN ) \ - { \ - set BUGGER_OFF to 1; \ - sleep 1430; \ - set YARD_OPEN to 1; \ - } \ - set INBUILDSTANCE to 1; \ - -#define FACTORY_CLOSE_BUILD set YARD_OPEN to 0;\ - while( get YARD_OPEN )\ - {\ - set BUGGER_OFF to 1;\ - sleep 1430;\ - set YARD_OPEN to 0;\ - }\ - set BUGGER_OFF to 1;\ - set INBUILDSTANCE to 0;\ \ No newline at end of file diff --git a/scripts/floatmotion.h b/scripts/floatmotion.h deleted file mode 100644 index a74bdd61ea2..00000000000 --- a/scripts/floatmotion.h +++ /dev/null @@ -1,111 +0,0 @@ -// Author: Beherith mysterme@gmail.com -// floatmotion.h -// This is a nice bobbing and rocking on the waves animation. -// Looks quite decent and performs like a champ due to interpolated proper speed turns -// Usage: -// 1.A. Define a WATER_ROCK_UNITSIZE between 1 and 25 -// 1.B. Optionally override any of the defines below -// 2. Include this file - -#ifndef WATER_ROCK_PIECE - #define WATER_ROCK_PIECE base -#endif - - -#ifndef WATER_ROCK_UNITSIZE - #define WATER_ROCK_UNITSIZE 10 -#endif - -// How much to rock side to side in angle -#ifndef WATER_ROCK_AMPLITUDE - #define WATER_ROCK_AMPLITUDE (<3.0> - (WATER_ROCK_UNITSIZE * <0.1>)) -#endif - -// How frequently to update in frames -#ifndef WATER_ROCK_FRAMES - #define WATER_ROCK_FRAMES 10 -#endif - -// How fast to rock around X -#ifndef WATER_ROCK_FREQ_X - #define WATER_ROCK_FREQ_X (30- WATER_ROCK_UNITSIZE) -#endif - -// How fast to rock around Z -#ifndef WATER_ROCK_FREQ_Z - #define WATER_ROCK_FREQ_Z (41- WATER_ROCK_UNITSIZE) -#endif - -// How fast bobbing up and down should be -#ifndef WATER_ROCK_FREQ_Y - #define WATER_ROCK_FREQ_Y (52- WATER_ROCK_UNITSIZE) -#endif - -// How much to bob up and down in linear units -#ifndef WATER_BOB_HEIGHT - #define WATER_BOB_HEIGHT (20000 + (2000 * WATER_ROCK_UNITSIZE)) -#endif - - -FloatMotion() -{ - var curr; - // curr is used as a temp variable throughout - curr = (get MY_ID); - - #if (WATER_ROCK_FREQ_X > 0) - var prevx, angx; - angx = curr * WATER_ROCK_FREQ_X; - prevx = 0; - #endif - #if WATER_ROCK_FREQ_Y > 0 - var prevy, angy; - angy = curr * WATER_ROCK_FREQ_Y; - prevy = 0; - #endif - - #if WATER_ROCK_FREQ_Z > 0 - var prevz, angz; - angz = curr * WATER_ROCK_FREQ_Z; - prevz = 0; - #endif - - while( TRUE ) - { - #if WATER_ROCK_FREQ_X > 0 - // Calculate angle and wrap at 360 - angx = (angx + (WATER_ROCK_FREQ_X * <1>)) % <360>; - - // Get the the sine amplitude - curr = WATER_ROCK_AMPLITUDE * get KSIN(angx) / 1024; - - // Save as delta - prevx = curr - prevx; - - // Turn smoothly - turn WATER_ROCK_PIECE to x-axis curr speed get ABS((prevx * 30) / WATER_ROCK_FRAMES); - - // Save previous - prevx = curr; - #endif - - #if WATER_ROCK_FREQ_Z > 0 - angz = (angz + (WATER_ROCK_FREQ_Z * <1>)) % <360>; - curr = WATER_ROCK_AMPLITUDE * get KSIN(angz) / 1024; - prevz = curr - prevz; - turn WATER_ROCK_PIECE to z-axis curr speed get ABS((prevz * 30) / WATER_ROCK_FRAMES); - prevz = curr; - #endif - - - #if WATER_ROCK_FREQ_Y > 0 - angy = (angy + (WATER_ROCK_FREQ_Y * <1>)) % <360>; - curr = WATER_BOB_HEIGHT * get KSIN(angy) / 1024; - prevy = curr - prevy; - move WATER_ROCK_PIECE to y-axis curr speed get ABS((prevy * 30) / WATER_ROCK_FRAMES); - prevy = curr; - #endif - - sleep WATER_ROCK_FRAMES * 33 - 1; - } -} \ No newline at end of file diff --git a/scripts/freefusion.bos b/scripts/freefusion.bos index 42e18ca4772..722d16f7ef8 100644 --- a/scripts/freefusion.bos +++ b/scripts/freefusion.bos @@ -1,12 +1,36 @@ -#include "recoil_common_includes.h" - -piece base, column1,column2,column3,column4,fusionsphere, emit; +#define TA // This is a TA script +#include "sfxtype.h" +#include "exptype.h" -#define BASEPIECE base -#define MAXTILT 0 -#include "../unit_hitbyweaponid_and_smoke.h" +piece base, column1,column2,column3,column4,fusionsphere, emit; +SmokeUnit(healthpercent, sleeptime, smoketype) +{ + while( get BUILD_PERCENT_LEFT ) + { + sleep 400; + } + while( TRUE ) + { + healthpercent = get HEALTH; + if( healthpercent < 66 ) + { + smoketype = 256 | 2; + if( Rand( 1, 66 ) < healthpercent ) + { + smoketype = 256 | 1; + } + emit-sfx smoketype from base; + } + sleeptime = healthpercent * 50; + if( sleeptime < 200 ) + { + sleeptime = 200; + } + sleep sleeptime; + } +} Activate() { spin fusionsphere around y-axis speed <80> accelerate <1>; @@ -46,12 +70,17 @@ Activate() Create() { hide emit; + start-script SmokeUnit(); start-script Activate(); } - +SweetSpot(piecenum) +{ + piecenum = base; +} Killed(severity, corpsetype) +{ { if( severity <= 25 ) { diff --git a/scripts/freefusion.cob b/scripts/freefusion.cob index a1e1380ba1284f6002e42c00db69c3524ded5e54..2cb757f59859d2199a12bfafeb43c9ad9104b486 100644 GIT binary patch literal 1986 zcmeHIJ#Q015FKA^CyIo$sUjqb`vEB~AxNYPgwBm6i-yX^*$5MVM7|41)O0i{Q>LV( zqJo|diIyf({y=^L@6GNcmrG8>1s!*K-r1Qq?{;Q)<)(9^ejnDm`cBWpO>ZM&uDQ(17jao)tpyd;Ajo&kca!pNY;dGv8)Uw_8A$f|NhpyVX1qb8=ksfp>H)Wo6nry|BL)KPK|&6~KuEkKFlqw1B)FPGf)^o&5Jt5;O)EP>PFbw&*RQJItNvIs5t#+%fG>#%{@mvr$qV2I@En;- zii*?_iAhaHRgt;4!?>I^vXh&K2+4Pu+s+-oz!+NciwI*rgO)UN9A(?rc@lE;la+xp zs7DPxfA#sqljG3C23|d;VSO6)iao!L>S?dIe!R}rG~VNfsE_vGI{M(~dKm6d{rh#F z1D{ZMEq>qYx%nFMX_VKsthWkY${8bNVg&l-pl4do`g_P-zD7`r;kBtBj=X~_=A5So zVZ^N&@xEKQl=&8J<{pmc<@y#$OMM8U-qNbO?Xg|w>#1MrG@iC+<=S<=p6-!4ji=R9 zu3hKr#pj~&w0g?1-XzA|Hz?!v2=F_T9WgmVe7pTJyu}xIgFyVA9#d5KH~9#cL_P0{ zZ&~kp%)rb|exv7M?%oyjW6bgsU1e%BX!Q}aK1^Jty{hrmzZH^BeHzkokLiVL3yc=3zC67Upw0lWe>fcN!i z - anglez speed <105.0>; - turn base to x-axis <0> - anglex speed <105.0>; + turn base to z-axis <0> - anglez speed <105.000000>; + turn base to x-axis <0> - anglex speed <105.000000>; wait-for-turn base around z-axis; wait-for-turn base around x-axis; - turn base to z-axis <0.0> speed <15.0>; - turn base to x-axis <0.0> speed <15.0>; + turn base to z-axis <0.000000> speed <15.000000>; + turn base to x-axis <0.000000> speed <15.000000>; } ////// ground hitby HitByWeapon(anglex, anglez) { - turn base to z-axis anglez speed <105.0>; - turn base to x-axis <0> - anglex speed <105.0>; + turn base to z-axis anglez speed <105.000000>; + turn base to x-axis <0> - anglex speed <105.000000>; wait-for-turn base around z-axis; wait-for-turn base around x-axis; - turn base to z-axis <0.0> speed <30.0>; - turn base to x-axis <0.0> speed <30.0>; + turn base to z-axis <0.000000> speed <30.000000>; + turn base to x-axis <0.000000> speed <30.000000>; } //pelvis hitby: HitByWeapon(anglex, anglez) { - turn pelvis to z-axis <0> - anglez speed <105.0>; - turn pelvis to x-axis <0> - anglex speed <105.0>; + turn pelvis to z-axis <0> - anglez speed <105.000000>; + turn pelvis to x-axis <0> - anglex speed <105.000000>; wait-for-turn pelvis around z-axis; wait-for-turn pelvis around x-axis; - turn pelvis to z-axis <0.0> speed <30.0>; - turn pelvis to x-axis <0.0> speed <30.0>; + turn pelvis to z-axis <0.000000> speed <30.000000>; + turn pelvis to x-axis <0.000000> speed <30.000000>; } HitByWeapon(anglex, anglez) { - turn torso to z-axis <0> - anglez speed <105.0>; - turn torso to x-axis <0> - anglex speed <105.0>; + turn torso to z-axis <0> - anglez speed <105.000000>; + turn torso to x-axis <0> - anglex speed <105.000000>; wait-for-turn torso around z-axis; wait-for-turn torso around x-axis; - turn torso to z-axis <0.0> speed <30.0>; - turn torso to x-axis <0.0> speed <30.0>; + turn torso to z-axis <0.000000> speed <30.000000>; + turn torso to x-axis <0.000000> speed <30.000000>; } HitByWeapon(anglex, anglez) { - turn body to z-axis anglez speed <105.0>; - turn body to x-axis <0> - anglex speed <105.0>; + turn body to z-axis anglez speed <105.000000>; + turn body to x-axis <0> - anglex speed <105.000000>; wait-for-turn body around z-axis; wait-for-turn body around x-axis; - turn body to z-axis <0.0> speed <30.0>; - turn body to x-axis <0.0> speed <30.0>; + turn body to z-axis <0.000000> speed <30.000000>; + turn body to x-axis <0.000000> speed <30.000000>; } HitByWeapon(anglex, anglez) { - turn body to z-axis <0> - anglez speed <105.0>; - turn body to x-axis <0> - anglex speed <105.0>; + turn body to z-axis <0> - anglez speed <105.000000>; + turn body to x-axis <0> - anglex speed <105.000000>; wait-for-turn body around z-axis; wait-for-turn body around x-axis; - turn body to z-axis <0.0> speed <30.0>; - turn body to x-axis <0.0> speed <30.0>; + turn body to z-axis <0.000000> speed <30.000000>; + turn body to x-axis <0.000000> speed <30.000000>; } HitByWeapon(anglex, anglez) { - turn hip to z-axis <0> - anglez speed <105.0>; - turn hip to x-axis <0> - anglex speed <105.0>; + turn hip to z-axis <0> - anglez speed <105.000000>; + turn hip to x-axis <0> - anglex speed <105.000000>; wait-for-turn hip around z-axis; wait-for-turn hip around x-axis; - turn hip to z-axis <0.0> speed <30.0>; - turn hip to x-axis <0.0> speed <30.0>; + turn hip to z-axis <0.000000> speed <30.000000>; + turn hip to x-axis <0.000000> speed <30.000000>; } @@ -116,12 +116,12 @@ def blocksize(bosfile, start): RockUnit(anglex, anglez) { - turn base to x-axis anglex speed <50.0>; - turn base to z-axis anglez speed <50.0>; + turn base to x-axis anglex speed <50.000000>; + turn base to z-axis anglez speed <50.000000>; wait-for-turn base around z-axis; wait-for-turn base around x-axis; - turn base to z-axis <0.0> speed <20.0>; - turn base to x-axis <0.0> speed <20.0>; + turn base to z-axis <0.000000> speed <20.000000>; + turn base to x-axis <0.000000> speed <20.000000>; } @@ -129,32 +129,32 @@ def blocksize(bosfile, start): RockUnit(anglex, anglez) { - turn pelvis to x-axis anglex speed <50.0>; - turn pelvis to z-axis anglez speed <50.0>; + turn pelvis to x-axis anglex speed <50.000000>; + turn pelvis to z-axis anglez speed <50.000000>; wait-for-turn pelvis around z-axis; wait-for-turn pelvis around x-axis; - turn pelvis to z-axis <0.0> speed <20.0>; - turn pelvis to x-axis <0.0> speed <20.0>; + turn pelvis to z-axis <0.000000> speed <20.000000>; + turn pelvis to x-axis <0.000000> speed <20.000000>; } RockUnit(anglex, anglez) { - turn body to x-axis anglex speed <50.0>; - turn body to z-axis anglez speed <50.0>; + turn body to x-axis anglex speed <50.000000>; + turn body to z-axis anglez speed <50.000000>; wait-for-turn body around z-axis; wait-for-turn body around x-axis; - turn body to z-axis <0.0> speed <20.0>; - turn body to x-axis <0.0> speed <20.0>; + turn body to z-axis <0.000000> speed <20.000000>; + turn body to x-axis <0.000000> speed <20.000000>; } RockUnit(anglex, anglez) { - turn torso to x-axis anglex speed <50.0>; - turn torso to z-axis anglez speed <50.0>; + turn torso to x-axis anglex speed <50.000000>; + turn torso to z-axis anglez speed <50.000000>; wait-for-turn torso around z-axis; wait-for-turn torso around x-axis; - turn torso to z-axis <0.0> speed <20.0>; - turn torso to x-axis <0.0> speed <20.0>; + turn torso to z-axis <0.000000> speed <20.000000>; + turn torso to x-axis <0.000000> speed <20.000000>; } ''' \ No newline at end of file diff --git a/scripts/hitweap.h b/scripts/hitweap.h new file mode 100644 index 00000000000..ef746723283 --- /dev/null +++ b/scripts/hitweap.h @@ -0,0 +1,27 @@ +/* Hitweap.h -- Rock the unit when it takes a hit */ + +#ifndef __HITWEAP_H_ +#define __HITWEAP_H_ + +/* +** HitByWeapon() -- Called when the unit is hit. Makes it rock a bit +** to look like it is shaking from the impact. +*/ + +HitByWeapon(anglex,anglez) + { + + #define ROCK_SPEED 105 + #define RESTORE_SPEED 30 + + + turn base to z-axis anglez speed <105>; + turn base to x-axis anglex speed <105>; + + wait-for-turn base around z-axis; + wait-for-turn base around x-axis; + + turn base to z-axis <0> speed <30>; + turn base to x-axis <0> speed <30>; + } +#endif diff --git a/scripts/include/walk.lua b/scripts/include/walk.lua index 28069b71289..822b9298a4b 100644 --- a/scripts/include/walk.lua +++ b/scripts/include/walk.lua @@ -7,8 +7,8 @@ local inStance = false local gravFactor = Game.gravity / 120 function walk() - Signal(SIGNAL_MOVE) - SetSignalMask(SIGNAL_MOVE) + Signal(SIG_WALK) + SetSignalMask(SIG_WALK) Turn(right_l, z_axis, 0, math.rad(135)) Turn(left_l, z_axis, 0, math.rad(130)) @@ -96,8 +96,8 @@ function walk() end function poser() - Signal(SIGNAL_MOVE) - SetSignalMask(SIGNAL_MOVE) + Signal(SIG_WALK) + SetSignalMask(SIG_WALK) Turn(cod, y_axis, math.rad(0), math.rad(20)) Turn(base, x_axis, math.rad(0), math.rad(20)) Turn(base, y_axis, math.rad(0), math.rad(20)) @@ -118,8 +118,8 @@ function StandStance() Sleep(200) Move(cod, y_axis, 0, now) Turn(base, z_axis, 0, now) - Signal(SIGNAL_MOVE) - SetSignalMask(SIGNAL_MOVE) + Signal(SIG_WALK) + SetSignalMask(SIG_WALK) Move(cod, y_axis, math.rad(-0.5), math.rad(8000)) @@ -166,8 +166,8 @@ function SquatStance () Sleep(200) Move(cod, y_axis, -1.5, now) Turn(base, z_axis, 0, now) - Signal(SIGNAL_MOVE) - SetSignalMask(SIGNAL_MOVE) + Signal(SIG_WALK) + SetSignalMask(SIG_WALK) Turn(base, x_axis, math.rad(5), math.rad(395)) Turn(cod, x_axis, math.rad(-5), math.rad(395)) diff --git a/scripts/lootboxes/lootboxgold.bos b/scripts/lootboxes/lootboxgold.bos index 95d620c425b..638edf72d46 100644 --- a/scripts/lootboxes/lootboxgold.bos +++ b/scripts/lootboxes/lootboxgold.bos @@ -1,3 +1,4 @@ +#define TA // This is a TA script diff --git a/scripts/lootboxes/lootboxgold.cob b/scripts/lootboxes/lootboxgold.cob index 0fdeda29ee28b48ead22505bb6a2461269530caf..160ff458ab3d56f61636e4c17f2501f2009be56f 100644 GIT binary patch delta 136 zcmeBYna!ff!oa}548&YO90|lQFoBVQVGa3$55#Ot3=F(LEHe2ZqaOft CP7|vD delta 124 zcmbQu($AvF!oa}548&YO90tTN(89>TFae0?0I?2G@W@2X*E}vj2BQFz03%S>WF5vF uQ(uq_P{nB=z68WKf%qN}KLX-sK>P}b-vRMwApQl!j7$s+9Fxy7`T+p=0~4D7 diff --git a/scripts/lootboxes/lootboxnanoarm.bos b/scripts/lootboxes/lootboxnanoarm.bos index 6d51656b1e4..07bf24a6593 100644 --- a/scripts/lootboxes/lootboxnanoarm.bos +++ b/scripts/lootboxes/lootboxnanoarm.bos @@ -1,24 +1,137 @@ +#define TA // This is a TA script -#include "../exptype.h" +#include "sfxtype.h" +#include "exptype.h" piece base, aim, emitnano; -static-var buildHeading; +static-var Static_Var_1, Static_Var_2, statechg_DesiredState, statechg_StateChanging; +Activatescr() +{ + sleep 1; + return (0); +} + +Deactivatescr() +{ + sleep 1; + return (0); +} + #define BASEPIECE base #define HITSPEED <55.0> //how 'heavy' the unit is, on a scale of 1-10 #define UNITSIZE 2 #define MAXTILT 100 -#include "../unit_hitbyweaponid_and_smoke.h" +HitByWeapon(anglex, anglez, damage) // angle[x|z] is always [-500;500], damage is multiplied by 100 +{ + var amount;//, speedz, speedx; + amount = damage / (100 * UNITSIZE); + if (amount < 3 ) return (0); + if (amount > MAXTILT) amount = MAXTILT; + //get PRINT(anglex, anglez, amount, damage); + //speedz = HITSPEED * get ABS(anglez) / 500; //nevermind this, the random error this produces actually looks better than the accurate version + turn BASEPIECE to z-axis (anglez * amount) / 100 speed HITSPEED; + turn BASEPIECE to x-axis <0> - (anglex * amount) /100 speed HITSPEED; + wait-for-turn BASEPIECE around z-axis; + wait-for-turn BASEPIECE around x-axis; + turn BASEPIECE to z-axis <0.000000> speed HITSPEED / 4; + turn BASEPIECE to x-axis <0.000000> speed HITSPEED / 4; +} +HitByWeaponId(anglex, anglez, weaponid, dmg) //weaponID is always 0,lasers and flamers give angles of 0 +{ + start-script HitByWeapon(dmg, anglez,anglex); //I dont know why param order must be switched, and this also runs a frame later :( + return (100); //return damage percent +} + +SmokeUnit(healthpercent, sleeptime, smoketype) +{ + while( get BUILD_PERCENT_LEFT ) + { + sleep 400; + } + while( TRUE ) + { + healthpercent = get HEALTH; + if( healthpercent < 66 ) + { + smoketype = 256 | 2; + if( Rand( 1, 66 ) < healthpercent ) + { + smoketype = 256 | 1; + } + emit-sfx smoketype from aim; + } + sleeptime = healthpercent * 50; + if( sleeptime < 200 ) + { + sleeptime = 200; + } + sleep sleeptime; + } + return (0); +} + +Go() +{ + call-script Activatescr(); + turn aim to y-axis Static_Var_1 speed <320.000000>; + wait-for-turn aim around y-axis; + set INBUILDSTANCE to 1; + return (0); +} + +Stop() +{ + set INBUILDSTANCE to 0; + call-script Deactivatescr(); + return (0); +} + +InitState() +{ + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; + return (0); +} +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + call-script Go(); + currentstate = 0; + } + if( statechg_DesiredState == 1 ) + { + call-script Stop(); + currentstate = 1; + } + } + statechg_StateChanging = FALSE; + return (0); +} Create() { hide emitnano; - buildHeading = 0; + call-script InitState(); + start-script SmokeUnit(); + Static_Var_1 = 0; + Static_Var_2 = 5000; return (0); } @@ -28,7 +141,7 @@ ExecuteRestoreAfterDelay() if (Stunned) { return (1); } - turn aim to y-axis <0.0> speed <100.0>; + turn aim to y-axis <0.000000> speed <100.000000>; wait-for-turn aim around y-axis; } SetStunned(State) @@ -40,37 +153,52 @@ SetStunned(State) } RestoreAfterDelay() { - sleep 5000; + sleep Static_Var_2; start-script ExecuteRestoreAfterDelay(); } Activate() { - set INBUILDSTANCE to 1; + start-script RequestState(0); + return (0); } Deactivate() { - set INBUILDSTANCE to 0; + start-script RequestState(1); + return (0); } -StartBuilding(heading) +StartBuilding(Func_Var_1) { - buildHeading = heading; - turn aim to y-axis buildHeading speed <320.0>; - + Static_Var_1 = Func_Var_1; + start-script RequestState(0); + return (0); } StopBuilding() { + start-script RequestState(1); + return (0); } -QueryNanoPiece(pieceIndex) +QueryNanoPiece(piecenum) { - pieceIndex = emitnano; + piecenum = emitnano; + return (0); } +TargetHeading(Func_Var_1) +{ + Static_Var_1 = 0 - Func_Var_1; + return (0); +} +SweetSpot(piecenum) +{ + piecenum = aim; + return (0); +} Killed(severity, corpsetype) { diff --git a/scripts/lootboxes/lootboxnanoarm.cob b/scripts/lootboxes/lootboxnanoarm.cob index f847842f0def3bbe36ddeaedfc84d1e1a102aa55..366ba83c6eb70076fc5fc1e577d1d3f96f75b966 100644 GIT binary patch literal 3037 zcmbVOJx>%-6um6VN7Q2cAW^C*Fg7Nx8WRf(KnxH+!k4kJU|gPNBFw@vD`GSu6vkN5 zSsCqYj0Gh%1x5=Cet^c<8DnQ+gh-X9bZC zjC{gFA}O#1oW*(@V_Q%N+UP8`1)Os#W1V)sn_WW0cqo8_6jo=(ja*BqJ&^wPpin9V ztb=hJnS-MQ9f3@D27S&(6Z86U)RR&ccMel>X;V$Ed(ULrtW~+pt+A{@Lb3bOI?16Q z6wA@k*0qD%;4@C3Y~#H-r&d~*%QCtoa;V0>b`Akfc{~keYX9} z@mbSR28Tu4|L2&}wnm{6_SWASJasmjct#)H+SUsm`%f41b0mL|6L+TT&L$9`&)$dW z>@MgTP`kl{rqfc54>^sjmWBr7t?qA}2x65_%?nub4zN!3X}&G`T%DVkGM=`4toB0t zLt1tgI1l%byYgLx)mszpna#rmPG9GY<2%TaHVL~McLV3+`{|}%LfGvh)V20U!uDWCe$=nA+*dO# ze-G3>#e`wj-ya~-rhM&Bh!EOWFv>K33xckCot)6ez0=2eb}zE|inEi`O3&`!<>r0R zy;9G9%Uq2o5J;Q$tCc2GGxi`g?uXN=_A-lbwcl{H^E;&P>wfE_obF$_+V}mO0c$3I zFP!}T$jk3R_3XuP_h2vDt@iW3d$e25W}N&Un3vzsBR~u+1D}C!z)#>0a0Qp^CJ+G& zz!P8@C{paCl8nb~MrCJh2>Nn&Qe%R99)uPh{s zs_9@Yo}G!42R3zmF5i3QBW^nB@xt53dDd~%}n}doj4h~MD z1;JehS2s~-M>iEZ7F(JJ$8tM^s_^H>a$5W1b0%`;sO1c=jq&e}CPhS-0 zQcTs99Z94NAN!>whtj#g;hVm&kFaNQnTP&Q44SW)a-7>jA9IMw`&ocWK24k} zOxHY*HqFVn*;D`a>gI?mZYM4tJxEPle(jAhT9fryTI8rT2 z-FytyS^4dBH{1npcH8?SzHz6VfvWDDv7ANk_A^w?r?;tZy$#Z7b21r7MBJ`H?+xy}DB@(yu8BT~ zve)P^bWB9#8e^`roj?!7n z_b@>7v~dQ;Q}VqDDQ0^7tzP(d(eLW|c+RbRXAXB8zRnY0NBb=1VS2_C>*#y0I&B8~ zI|X1cd-t8D(2Ey&Go#HOW(y@q@4ra0>6OY02`1S~eKk`kl-U8@8KlNXureY}D`Dj_h>S+gW;# z;SHOp+RBn)wlGS&owUCqt!%J5e%u(@;l}l(KWL`5ZDlF#c9HgWvSuYodt!TO)`wUA E0_Ojv#{d8T diff --git a/scripts/lootboxes/lootboxnanocor.bos b/scripts/lootboxes/lootboxnanocor.bos index 519d2e3fe76..ae02322103e 100644 --- a/scripts/lootboxes/lootboxnanocor.bos +++ b/scripts/lootboxes/lootboxnanocor.bos @@ -1,22 +1,129 @@ +#define TA // This is a TA script -#include "../exptype.h" +#include "sfxtype.h" +#include "exptype.h" piece base, aim, emitnano; -static-var buildHeading; +static-var Static_Var_1, Static_Var_2, statechg_DesiredState, statechg_StateChanging; + + +Activatescr() +{ + sleep 1; +} + +Deactivatescr() +{ + sleep 1; +} #define BASEPIECE base #define HITSPEED <20.0> //how 'heavy' the unit is, on a scale of 1-10 #define UNITSIZE 4 #define MAXTILT 100 +HitByWeapon(anglex, anglez, damage) // angle[x|z] is always [-500;500], damage is multiplied by 100 +{ + var amount;//, speedz, speedx; + amount = damage / (100 * UNITSIZE); + if (amount < 3 ) return (0); + if (amount > MAXTILT) amount = MAXTILT; + //get PRINT(anglex, anglez, amount, damage); + //speedz = HITSPEED * get ABS(anglez) / 500; //nevermind this, the random error this produces actually looks better than the accurate version + turn BASEPIECE to z-axis (anglez * amount) / 100 speed HITSPEED; + turn BASEPIECE to x-axis <0> - (anglex * amount) /100 speed HITSPEED; + wait-for-turn BASEPIECE around z-axis; + wait-for-turn BASEPIECE around x-axis; + turn BASEPIECE to z-axis <0.000000> speed HITSPEED / 4; + turn BASEPIECE to x-axis <0.000000> speed HITSPEED / 4; +} +HitByWeaponId(anglex, anglez, weaponid, dmg) //weaponID is always 0,lasers and flamers give angles of 0 +{ + start-script HitByWeapon(dmg, anglez,anglex); //I dont know why param order must be switched, and this also runs a frame later :( + return (100); //return damage percent +} + +SmokeUnit(healthpercent, sleeptime, smoketype) +{ + while( get BUILD_PERCENT_LEFT ) + { + sleep 400; + } + while( TRUE ) + { + healthpercent = get HEALTH; + if( healthpercent < 66 ) + { + smoketype = 256 | 2; + if( Rand( 1, 66 ) < healthpercent ) + { + smoketype = 256 | 1; + } + emit-sfx smoketype from aim; + } + sleeptime = healthpercent * 50; + if( sleeptime < 200 ) + { + sleeptime = 200; + } + sleep sleeptime; + } +} + +Go() +{ + call-script Activatescr(); + turn aim to y-axis Static_Var_1 speed <320.000000>; + wait-for-turn aim around y-axis; + set INBUILDSTANCE to 1; +} + +Stop() +{ + set INBUILDSTANCE to 0; + call-script Deactivatescr(); +} -#include "../unit_hitbyweaponid_and_smoke.h" +InitState() +{ + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; +} + +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + call-script Go(); + currentstate = 0; + } + if( statechg_DesiredState == 1 ) + { + call-script Stop(); + currentstate = 1; + } + } + statechg_StateChanging = FALSE; +} Create() { hide emitnano; - buildHeading = 0; + call-script InitState(); + start-script SmokeUnit(); + Static_Var_1 = 0; + Static_Var_2 = 5000; } static-var Stunned; @@ -25,7 +132,7 @@ ExecuteRestoreAfterDelay() if (Stunned) { return (1); } - turn aim to y-axis <0.0> speed <100.0>; + turn aim to y-axis <0.000000> speed <100.000000>; wait-for-turn aim around y-axis; } SetStunned(State) @@ -37,39 +144,45 @@ SetStunned(State) } RestoreAfterDelay() { - sleep 5000; + sleep Static_Var_2; start-script ExecuteRestoreAfterDelay(); } Activate() { - turn aim to y-axis buildHeading speed <320.0>; - wait-for-turn aim around y-axis; - set INBUILDSTANCE to 1; + start-script RequestState(0); } Deactivate() { - set INBUILDSTANCE to 0; + start-script RequestState(1); } -StartBuilding(heading) +StartBuilding(Func_Var_1) { - buildHeading = heading; - turn aim to y-axis buildHeading speed <320.0>; + Static_Var_1 = Func_Var_1; + start-script RequestState(0); } StopBuilding() { - + start-script RequestState(1); } -QueryNanoPiece(pieceIndex) +QueryNanoPiece(piecenum) { - pieceIndex = emitnano; + piecenum = emitnano; } +TargetHeading(Func_Var_1) +{ + Static_Var_1 = 0 - Func_Var_1; +} +SweetSpot(piecenum) +{ + piecenum = aim; +} Killed(severity, corpsetype) { diff --git a/scripts/lootboxes/lootboxnanocor.cob b/scripts/lootboxes/lootboxnanocor.cob index 39c195c9b2baeb10278f466d7b852f3fc5a81304..eb4bc2c7dfdecc2231c0fe3102947e54bbc5a1b1 100644 GIT binary patch literal 3037 zcmbVOJx^3Y6um6VN7R_-2Z>s}0y`5|jR}PXAPU52_%b#YJeQHYxV(kst%%WtP#9xH zXJxdrF&3266c{Zm_yHPYXN;YRmFLWxyE}QfAZ&7&nLGE~d*$LNK*(HRJhXOcAVdKoWvB(&u_CWgEgF>kg zPzU`uG6zQqIs%#Q40@f7Cg%117*9%>-+4^QrA=dU-FGyLO|8mhZuO-G3B{gEb&|t< zP%KABt7`|h$)}$nvi0}ooT?U%_Wa1JIa=j!<)`sDvL=4LIoES?)N@ul?n z<5SZyI)_DD|7V!ew#GmuoUOkzc;aj{u}2@=+Uf<5_2(Azb0mL|6W7yqXA=bA9yQ5y zb{Dh#y)abz0=wEdKnAdQ;jl~ z?VY6~&ZqB^?rRR8XJb0vCCBTe0Q|_KNqM}xG-y0MgRZrIU6zeM_+IRtcClzCha)-9 zPh@N6@MBP)<)NNaE+2igey4^#|6T3`DVZjAq}fNtZsd5A)huBG=*5$5e|bGNKfm7= zJ`I2DcOwG*8@4g;y>GFv?+%muHR75%4;qsic#qgahVnHrr>?a=61E3B@re$nbUX@j^gW2i{cv{EUZx1A{kqf6cSyh2{pw>la_n8hxL2*IP5t-k zPyQU_<+W-&djVX(|EKq=`=EU7^FjIfvr!M<&?7($ECZi_ufPxBH*f_>Zvqjp06Yd( zffv9_;5G0TSO+!${xA6j_zC<0x(|yS2YP@rKre6s=mW-qyFdag0jt0o@CtYbYyg|U zN8mHC4Gfgi_+gZq#d1xCOysRb;&gENj)~^0iFotT8JV1`J}|eFIF;e5Os3U&8O35U zMHrbd3w5*T7FTPAwrh_}xt^K{*sC=&a6dJ*AybK#WzxX0o+M@ly!@sr^JF1eR7(fz zab+e>W^L-mV!Uo@%eSJWIu@I`U6 HfF*wcqJ!wd literal 2139 zcmah~J!?}@7=Dx7rX5s{xYR)i4uVi5=pwi@X+(=yYJxZkxhBVQF&`zpDQ0s}aF8PC zDAGTmprezUxH$O_6zo`Zb?|x4J#Tt?jkWObem(Ekxo>DBBFBLe@Uf6dsIoLK(gt1v zOR#q#rBXB@3Z`gIl3a<5w9DogRQkH~t(Oh;h&tlbYt*ZAj(Zkr1Rq+u9EN25AVxl8 zQ8kld%BJW@B1ObFFC{sYE(8v3#=<$mnaO1x#-EeCTr$OK<_lx2Atsxr?)h|auaM_< z^*i14Jo>aI`&>S8cviPZwdCH!_%j{Z1%jr82B}p^)4dLcjdd0|K9WI=A6=&>FCZ;`hvwhF7fI)B8!C#n9{pl$< zxziDxN8hr#uD}s<&H4In=E{QG$>sR{G@jKt9MA7U4(Iz<@BALxNAHnu5#B`@4|}oB zX$C9VdrdGrecXZhl(cst#mrB?=__yNZeP@1t|(>##ig=KH99RG$u$ zeV;eJ4}Ru{_R%_|vd=Rr*iYx!@pirsx%pbJJ(q%UwY8So`C8;(0Nw$=fZqTIr~v1I zE5HiS1a1R&0sh~73w!`R0bhV0z)v7r!2e!g5jY220_wmjum&`N>q%Ol+_CZIaIo49 zEosF4c*AyE{ow;EDdubT`uq?Hagr^c diff --git a/scripts/lootboxes/lootboxv2.bos b/scripts/lootboxes/lootboxv2.bos index 307058625a1..9936ea9fcbd 100644 --- a/scripts/lootboxes/lootboxv2.bos +++ b/scripts/lootboxes/lootboxv2.bos @@ -1,3 +1,4 @@ +#define TA // This is a TA script diff --git a/scripts/meteor.bos b/scripts/meteor.bos index e14ce544d6a..95d44fa1b09 100644 --- a/scripts/meteor.bos +++ b/scripts/meteor.bos @@ -1,5 +1,7 @@ +#define TA // This is a TA script -#include "recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, emit, launcher, arm; @@ -12,19 +14,23 @@ Create() hide launcher; hide emit; hide base; + //set UNKNOWN_UNIT_VALUE(76) to 1; + dont-shade base; + dont-cache base; set ARMORED to 0; - move launcher to y-axis [3000.0] speed [10000.0]; - move launcher to x-axis [0.0] speed [10000.0]; - move launcher to z-axis [0.0] speed [10000.0]; - turn launcher to y-axis <90> speed <10000.0>; - turn launcher to x-axis <90> speed <10000.0>; - turn launcher to z-axis <90> speed <10000.0>; + move launcher to y-axis [3000.000000] speed [10000.000000]; + move launcher to x-axis [0.000000] speed [10000.000000]; + move launcher to z-axis [0.000000] speed [10000.000000]; + turn launcher to y-axis <90> speed <10000.0000>; + turn launcher to x-axis <90> speed <10000.0000>; + turn launcher to z-axis <90> speed <10000.0000>; sleep 100; spin arm around y-axis speed <21.978022>; - turn arm to x-axis Rand( <0.005495>, <40.989011> ) speed <1000.0>; + turn arm to x-axis Rand( <0.005495>, <40.989011> ) speed <1000.000000>; sleep Rand( 1, 100 ); emit-sfx 2048 from launcher; sleep 3000; + //set UNKNOWN_UNIT_VALUE(76) to 0; } Killed(severity, corpsetype) @@ -32,17 +38,17 @@ Killed(severity, corpsetype) } -QueryNanoPiece(pieceIndex) +QueryNanoPiece(piecenum) { - pieceIndex = base; + piecenum = base; } -QueryWeapon1(pieceIndex) +QueryWeapon1(piecenum) { - pieceIndex = base; + piecenum = base; } -AimFromWeapon1(pieceIndex) +AimFromWeapon1(piecenum) { - pieceIndex = base; + piecenum = base; } \ No newline at end of file diff --git a/scripts/mission_command_tower.bos b/scripts/mission_command_tower.bos index d133f738985..6fecf6350aa 100644 --- a/scripts/mission_command_tower.bos +++ b/scripts/mission_command_tower.bos @@ -1,12 +1,36 @@ +#define TA // This is a TA script -#include "recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, column1,column2,column3,column4,fusionsphere, emit, coolera1, coolera2, coolera3, coolera4, coolerb1, coolerb2, coolerb3, coolerb4; -#define BASEPIECE base -#define MAXTILT 0 -#include "unit_hitbyweaponid_and_smoke.h" - +SmokeUnit(healthpercent, sleeptime, smoketype) +{ + while( get BUILD_PERCENT_LEFT ) + { + sleep 400; + } + while( TRUE ) + { + healthpercent = get HEALTH; + if( healthpercent < 66 ) + { + smoketype = 256 | 2; + if( Rand( 1, 66 ) < healthpercent ) + { + smoketype = 256 | 1; + } + emit-sfx smoketype from base; + } + sleeptime = healthpercent * 50; + if( sleeptime < 200 ) + { + sleeptime = 200; + } + sleep sleeptime; + } +} Activate() { spin fusionsphere around y-axis speed <80> accelerate <1>; @@ -46,14 +70,33 @@ Activate() Create() { hide emit; + start-script SmokeUnit(); start-script Activate(); } - +SweetSpot(piecenum) +{ + piecenum = base; +} Killed(severity, corpsetype) { corpsetype = 3; explode fusionsphere type SHATTER; + + //explode base type BITMAPONLY | BITMAP1 | NOHEATCLOUD ; + //explode column1 type FALL | FIRE | SMOKE |BITMAP1 | NOHEATCLOUD ; + //explode column2 type FALL | FIRE | SMOKE |BITMAP1 | NOHEATCLOUD ; + //explode column3 type FALL | FIRE | SMOKE |BITMAP1 | NOHEATCLOUD ; + //explode column4 type FALL | FIRE | SMOKE |BITMAP1 | NOHEATCLOUD ; + + //explode coolera1 type FALL | FIRE | SMOKE |BITMAP1 | NOHEATCLOUD ; + //explode coolera2 type FALL | FIRE | SMOKE |BITMAP1 | NOHEATCLOUD ; + //explode coolera3 type FALL | FIRE | SMOKE |BITMAP1 | NOHEATCLOUD ; + //explode coolera4 type FALL | FIRE | SMOKE |BITMAP1 | NOHEATCLOUD ; + //explode coolerb1 type FALL | FIRE | SMOKE |BITMAP1 | NOHEATCLOUD ; + //explode coolerb2 type FALL | FIRE | SMOKE |BITMAP1 | NOHEATCLOUD ; + //explode coolerb3 type FALL | FIRE | SMOKE |BITMAP1 | NOHEATCLOUD ; + //explode coolerb4 type FALL | FIRE | SMOKE |BITMAP1 | NOHEATCLOUD ; return corpsetype; } diff --git a/scripts/mission_command_tower.cob b/scripts/mission_command_tower.cob index 42e4d41732e5e306b17b20873b9a727aa7cfc905..9d66a18b2bc51d92d24b4e756598508c7dcaf7bc 100644 GIT binary patch literal 1274 zcmZ`&El&eM6nwpwl8_LV1W$heqCiQ&@gXry8cbDtWeJ70*R)p<7$g#jurS-q?R|6pqx9+fD|)ER`Z4yoZ}QVWk04B>w+Tu@CDE?QoBxK#+>JhpA#4`7cf`L zx;k?8{;7kf_fn6g5szdqKOWRO-w*k-mj$j@Oth?{mXYh-GUxZXIW)&J4QsU*+8>rl zIdAB3%2>?0-TdXtiK|0E^H|KipyWK#Sg7+PCW zb-(wRu1oxMztkybe@4%&xpZCPr)Q*2`G034T+&x&osw-H4x+pDw05!N`u RB1cM|gsKTu6RIXG$rs|kZc_jN literal 1327 zcmaJ>F;5gh6n?ubYoalZiFOz-F~P=S!7Hqc2nEK5go0R*u*;3G@$Qz~9VT}E0RMn3 z9i0tyl$MtC#F$V@OG4rI&CG)#xpk9|_wD<>_vX#c9GQsB0uO*IAOZNyWg-Qz0=&Tc zS48QghDc0m_$r;u@g?$N*2q?F?t@bAF}IdG{UJHL)E|S!dIm3L<``wo_jwj_oF^-S zX3&owJU9OQdM2k~4I6ZwF%9);v{pRx>!_cu759(pTu5^wYp{-UFuFAicc}CG zx(`85XuJ@=?>D*G4EZ$5Yc2aNLYHF3NRb$U|9S8;t>5}MR`Iu9ey;16?d zrn@0N6-?phZqZWaTeO+~X#8Go-A>ZdABJdcY4zQnvEAqU>AdtQpSEY!+I_yC?vXy_ z)B35_?(_ZP@1lHKKh@apn&a#nwDEor{LW-cOb&{_Zoj0r^bYPIz#M1febw`H=VR`; zyTbeC-q{n+Jg^I#1AhVjANU4*2M&Nk;0JI7oB%(8U%)Bw8#o6pfJ-37WxNMG0-gZ# zz-m2t`(?wHd(BW*%0anfd+USdla;0IN&UH;SXmxfhWB;9Z+lXeV=LQDe}6Ds2yrpQ ummzlL=2) - { - OCA_intransition_wantOpen = wantOpen | 0x02; - return (0); - } - - // Store the wantOpen target - var currentlyOpen; - currentlyOpen = OCA_intransition_wantOpen & 0x01; - OCA_intransition_wantOpen = wantOpen | 0x02; - - while((OCA_intransition_wantOpen & 0x01) != currentlyOpen) - { - if( OCA_intransition_wantOpen & 0x01) - { - call-script Open(); - currentlyOpen = 1; - } - else - { - call-script Close(); - currentlyOpen = 0; - } - } - OCA_intransition_wantOpen = currentlyOpen; -} diff --git a/scripts/random.h b/scripts/random.h deleted file mode 100644 index 45e6ce32d13..00000000000 --- a/scripts/random.h +++ /dev/null @@ -1,45 +0,0 @@ -// random.h -// Author (c) Beherith mysterme@gmail.com -// This is a linear feedback shift register implementation of a 31 bit pseudo random number generator -// The NEXTRANDOM func: -// - Takes the last two bits of the current random number and XOR's them -// - Shifts the entire random number to the right by 1 (/2) -// - Puts the result of the XOR as the 30th bit -// - Care is taken that the result stays positive -// The goal of this is to generate random numbers in a way that is MT-safe within the unit animation scripts, and does not depend on -// Recoil's global synced RNG -// -// USAGE: -// 1. Initialize with INITRANDOM(0) -// - Passing anything other than 0 to the seed will force the seed to be what you specify, otherwise the unitID is used as a seed -// 2. Get a random number -// - Generate the next random number with the NEXTRANDOM; statement -// - Get a number between 0 and TOP-1 by using the RANDOM(TOP) statement -// Note: -// - You cannot use NEXTRANDOM in an expression like "if (NEXTRANDOM == 1) {...}" -// - You must: -// - NEXTRANDOM; -// - if (RANDOM(100) < 50){...} -// - If you need two different random numbers from one generation, use different TOP values -// - Not only is this only half as fast as engine RAND(), but it also takes up an extra static-var - -#ifndef RANDOM - Static-var my_random; - - //damn no xor opcode in compiler - //#define NEXTRANDOM r = (((r/2) xor r) & 0x01) *0x40000000 + r /2 ; - - // This is approx 74 ns per call, which works out well at 25 cob instructions - // This is half as fast as true engine Rand(), which is about 35 ns per call - #define NEXTRANDOM my_random = (((my_random/2) & 0x01) != (my_random & 0x01)) *0x40000000 + my_random /2 ; - - // Evaluates to a random number between 0 and TOP-1 - #define RANDOM(TOP) (my_random % TOP) - - // Initialize with the seed with UNITID if the seed is 0, otherwise use the seed - // 25 cob instructions - #define INITRANDOM(seed) my_random = ((((get MY_ID)+(get MY_ID)*0x7fff) & 0x7FFFFFFF)) * (!seed) + (seed & 0x7FFFFFFF); - - // only 13 cob instructions - //#define INITRANDOM(seed) my_random = (get MY_ID)+(get MY_ID)*0x7fff; -#endif \ No newline at end of file diff --git a/scripts/rockunit.h b/scripts/rockunit.h new file mode 100644 index 00000000000..031a3f990c0 --- /dev/null +++ b/scripts/rockunit.h @@ -0,0 +1,22 @@ +/* Rockunit.h -- Rock the unit when it fire a heavy weapon with lots of recoil */ + +#ifndef __ROCKUNIT_H_ +#define __ROCKUNIT_H_ + + +RockUnit(anglex,anglez) + { + + #define ROCK_SPEED 50 + #define RESTORE_SPEED 20 + + turn base to x-axis anglex speed <50>; + turn base to z-axis anglez speed <50>; + + wait-for-turn base around z-axis; + wait-for-turn base around x-axis; + + turn base to z-axis <0> speed <20>; + turn base to x-axis <0> speed <20>; + } +#endif diff --git a/scripts/rockwater.h b/scripts/rockwater.h new file mode 100644 index 00000000000..d3c5650b99c --- /dev/null +++ b/scripts/rockwater.h @@ -0,0 +1,43 @@ +/* Rockunit.h -- Rock the unit when it fire a heavy weapon with lots of recoil */ + +#ifndef __ROCKUNIT_H_ +#define __ROCKUNIT_H_ + + +RockUnit(anglex,anglez) + { + + #define FIRST_SPEED 15 + #define SECOND_SPEED 12 + #define THIRD_SPEED 9 + #define FOURTH_SPEED 6 + #define FIFTH_SPEED 3 + + turn base to x-axis anglex speed ; + turn base to z-axis anglez speed ; + + wait-for-turn base around z-axis; + wait-for-turn base around x-axis; + + turn base to x-axis (0-anglex) speed ; + turn base to z-axis (0-anglez) speed ; + + wait-for-turn base around z-axis; + wait-for-turn base around x-axis; + + turn base to x-axis (anglex/2) speed ; + turn base to z-axis (anglez/2) speed ; + + wait-for-turn base around z-axis; + wait-for-turn base around x-axis; + + //turn base to x-axis <0-anglex/2> speed ; + //turn base to z-axis <0-anglez/2> speed ; + + //wait-for-turn base around z-axis; + //wait-for-turn base around x-axis; + + turn base to x-axis <0> speed ; + turn base to z-axis <0> speed ; + } +#endif diff --git a/scripts/scavs/armbotrail.bos b/scripts/scavs/armbotrail.bos index 5396ae825d6..2820e6532fb 100644 --- a/scripts/scavs/armbotrail.bos +++ b/scripts/scavs/armbotrail.bos @@ -1,35 +1,63 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, turret, rail, flare, round, door; static-var restore_delay; // Signal definitions -#define SIGNAL_AIM1 256 +#define SIG_AIM 2 + +SmokeUnit(healthpercent, sleeptime, smoketype) +{ + while( get BUILD_PERCENT_LEFT ) + { + sleep 400; + } + while( TRUE ) + { + healthpercent = get HEALTH; + if( healthpercent < 66 ) + { + smoketype = 256 | 2; + if( Rand( 1, 66 ) < healthpercent ) + { + smoketype = 256 | 1; + } + emit-sfx smoketype from base; + } + sleeptime = healthpercent * 50; + if( sleeptime < 200 ) + { + sleeptime = 200; + } + sleep sleeptime; + } +} -#define BASEPIECE base -#define MAXTILT 0 -#include "../unit_hitbyweaponid_and_smoke.h" Create() { hide flare; restore_delay = 2000; + //move door to z-axis [-30] now; + start-script SmokeUnit(); } -SetMaxReloadTime(reloadMS) +SetMaxReloadTime(Func_Var_1) { - restore_delay = reloadMS * 3; + restore_delay = Func_Var_1 * 3; } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; - turn turret to y-axis heading speed <5.0>; + signal SIG_AIM; + set-signal-mask SIG_AIM; + turn turret to y-axis heading speed <5.000000>; turn rail to x-axis <0> - pitch speed <3.5>; wait-for-turn turret around y-axis; wait-for-turn rail around x-axis; @@ -50,7 +78,7 @@ Shot1() move door to z-axis [0] speed [125]; } -FireWeapon1() +FirePrimary() { // hide round; // sleep 200; @@ -63,16 +91,19 @@ FireWeapon1() // move door to z-axis [0] speed [180]; } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = flare; + piecenum = flare; } +SweetSpot(piecenum) +{ + piecenum = base; +} - -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = flare; + piecenum = flare; } Killed(severity, corpsetype) diff --git a/scripts/scavs/armbotrail.cob b/scripts/scavs/armbotrail.cob index 41c8dcadc6befb32937f23dea9d7e04c25eb203f..f883dfcfd01e9ec2f46ccf1316412d74d24636b3 100644 GIT binary patch literal 2290 zcmb_dzl#$=6n>lRs?5W+s((kdGo$+-g`4kVi7qGw1D4{2!8(gvn+Dv zn8*#_EIeI|k~EAWG7WQzkx6W1tz}Naq;Hb~?a0XGmT3l`*F;Pw%wvq?HQLa_(*Tbn z`B!O}C9ioY_?Q&e8eCgzdLC{1s6F996EDM5<3d{Q7yG<|avX?@yqC)Mp>{K5?F4&T)j1-+`Frac&7*^)>Pj z;%R>=z!-ks)TGURsXYod_oDwGJzp!hdiHv^81KKMP}}uT8~2~LwncK(nit_{FSNe> zYTj>cR?QFCw@~xjP_y2L!{kUg_EK~82OrLBp0m?El|K(hV;AYA_Gy}{cWItI>pf-7 z^}Zce`>1=k=ox6fW*+DR2*X47>t%0^Vc%1bhbg-#-9`z)N5Ycmuoxwt*es zBd`m60lop>fgiw6Ang}V?A<|L$~9-R(n@N}o7wZ*wpV1`J9*#AmAv0^c|UU-l0GWR zbFz{o#1k&TsQE{32;ASQuyn$;cSlDlkJFJOv*V623zEJgAU z1k}pH&PJ2=%|Q<9 z;OTN0ei6FMe)qlydyT{+zaui;GKWE5FX`2n@vgznxpHpgzYBb-S*NUG%0c%9-#UAt ziM~7?Ct}2r-oHb`{Ew@%71p%rzkeq`^)lZ_;|cbiGza9^!GdURa;TTc@3q?<-mwAd zLs|9obNtX3=k8)rz|6Eyk@q#9SWFS!@#8~HtYfdNs+IWfMQBkp_Tn91SW z>%D5%IlT&eow4#=T_Jw;J8-)g>evr;Fy2XZXdbOY?^?%hr4GHHRL2AQggOpF9Xiiy z9#T24*Ay@xwfDna>(IJ%9?GxQQGPp(rCf#_mrL!MOYf)UV!W%sTi_S)2be_C%fK?Q z0^9@E0RFBo0(XIRpa7l$ec&aq2kZkMfRDf@-~bo^Ux9DH&8#=Gy<(HieB)MHzR7IT zP1bC>)Xmqe+$e0)v$AA+^U0G%+sTu3IqOvU`?_mjs~dRs+ddr~A>M;>;P!b*{EZKRUsc_IG*PN%As diff --git a/scripts/scavs/armwarscav.bos b/scripts/scavs/armwarscav.bos index 696c3fdfd79..708700bcb32 100644 --- a/scripts/scavs/armwarscav.bos +++ b/scripts/scavs/armwarscav.bos @@ -1,13 +1,25 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece torso,rflare, lflare, pelvis, lthigh, rthigh, luparm, ruparm, rarm, larm, rleg, rfoot, lleg, lfoot; -static-var isMoving, isAiming, restore_delay, gun_1, wpn1_lasthead; +static-var bMoving, bAiming, Static_Var_3, restore_delay, gun_1, wpn1_lasthead; // Signal definitions -#define SIGNAL_AIM1 256 +#define SIG_AIM 4 + +HitByWeapon(anglex, anglez) +{ + turn pelvis to z-axis anglez speed <105.000000>; + turn pelvis to x-axis <0> - anglex speed <105.000000>; + wait-for-turn pelvis around z-axis; + wait-for-turn pelvis around x-axis; + turn pelvis to z-axis <0.000000> speed <30.000000>; + turn pelvis to x-axis <0.000000> speed <30.000000>; +} walk() @@ -17,7 +29,7 @@ walk() //animspeed 36 elmos per cycle - if( isMoving ) + if( bMoving ) { //step 0 @@ -25,56 +37,56 @@ walk() turn rleg to x-axis <0> speed <142.500000>; turn rfoot to x-axis <0> speed <202.500000>; turn lthigh to x-axis <9> speed <427.500000>; - turn lleg to x-axis <34> speed <450.0>; + turn lleg to x-axis <34> speed <450.000000>; turn lfoot to x-axis <-40> speed <427.500000>; - turn luparm to x-axis <-10> speed <75.0>; - turn larm to x-axis <5> speed <75.0>; - turn ruparm to x-axis <10> speed <75.0>; - turn rarm to x-axis <25> speed <75.0>; + turn luparm to x-axis <-10> speed <75.000000>; + turn larm to x-axis <5> speed <75.000000>; + turn ruparm to x-axis <10> speed <75.000000>; + turn rarm to x-axis <25> speed <75.000000>; move pelvis to y-axis [0] speed [11.250000]; turn torso to y-axis <-5> speed <37.500000>; sleep 130; } - if( isMoving ) + if( bMoving ) { //step 1 turn rthigh to x-axis <51> speed <382.500000>; - turn rleg to x-axis <-36> speed <270.0>; - turn rfoot to x-axis <14> speed <105.0>; + turn rleg to x-axis <-36> speed <270.000000>; + turn rfoot to x-axis <14> speed <105.000000>; turn lthigh to x-axis <-44> speed <397.500000>; turn lleg to x-axis <34> now; - turn lfoot to x-axis <0> speed <300.0>; + turn lfoot to x-axis <0> speed <300.000000>; - turn luparm to x-axis <10> speed <150.0>; - turn larm to x-axis <25> speed <150.0>; - turn ruparm to x-axis <-10> speed <150.0>; - turn rarm to x-axis <5> speed <150.0>; + turn luparm to x-axis <10> speed <150.000000>; + turn larm to x-axis <25> speed <150.000000>; + turn ruparm to x-axis <-10> speed <150.000000>; + turn rarm to x-axis <5> speed <150.000000>; move pelvis to y-axis [-1] speed [7.500000]; - turn torso to y-axis <5> speed <75.0>; + turn torso to y-axis <5> speed <75.000000>; sleep 130; } - if( isMoving ) + if( bMoving ) { //step 2 turn rthigh to x-axis <66> speed <112.500000>; - turn rleg to x-axis <-26> speed <75.0>; + turn rleg to x-axis <-26> speed <75.000000>; turn rfoot to x-axis <17> speed <22.500000>; turn lthigh to x-axis <-37> speed <52.500000>; turn lleg to x-axis <-19> speed <397.500000>; turn lfoot to x-axis <27> speed <202.500000>; - turn luparm to x-axis <20> speed <75.0>; - turn larm to x-axis <35> speed <75.0>; - turn ruparm to x-axis <-20> speed <75.0>; - turn rarm to x-axis <-5> speed <75.0>; + turn luparm to x-axis <20> speed <75.000000>; + turn larm to x-axis <35> speed <75.000000>; + turn ruparm to x-axis <-20> speed <75.000000>; + turn rarm to x-axis <-5> speed <75.000000>; move pelvis to y-axis [-1.5] speed [3.750000]; turn torso to y-axis <10> speed <37.500000>; @@ -82,21 +94,21 @@ walk() sleep 130; } - if( isMoving ) + if( bMoving ) { //step 3 turn rthigh to x-axis <9> speed <427.500000>; - turn rleg to x-axis <34> speed <450.0>; + turn rleg to x-axis <34> speed <450.000000>; turn rfoot to x-axis <-40> speed <427.500000>; turn lthigh to x-axis <0> speed <277.500000>; turn lleg to x-axis <0> speed <142.500000>; turn lfoot to x-axis <0> speed <202.500000>; - turn luparm to x-axis <10> speed <75.0>; - turn larm to x-axis <25> speed <75.0>; - turn ruparm to x-axis <-10> speed <75.0>; - turn rarm to x-axis <5> speed <75.0>; + turn luparm to x-axis <10> speed <75.000000>; + turn larm to x-axis <25> speed <75.000000>; + turn ruparm to x-axis <-10> speed <75.000000>; + turn rarm to x-axis <5> speed <75.000000>; move pelvis to y-axis [0] speed [11.250000]; turn torso to y-axis <5> speed <37.500000>; @@ -104,29 +116,29 @@ walk() sleep 130; } - if( isMoving ) + if( bMoving ) { //step 4 turn rthigh to x-axis <-44> speed <397.500000>; turn rleg to x-axis <34> now; - turn rfoot to x-axis <0> speed <300.0>; + turn rfoot to x-axis <0> speed <300.000000>; turn lthigh to x-axis <51> speed <382.500000>; - turn lleg to x-axis <-36> speed <270.0>; - turn lfoot to x-axis <14> speed <105.0>; + turn lleg to x-axis <-36> speed <270.000000>; + turn lfoot to x-axis <14> speed <105.000000>; - turn luparm to x-axis <-10> speed <150.0>; - turn larm to x-axis <5> speed <150.0>; - turn ruparm to x-axis <10> speed <150.0>; - turn rarm to x-axis <25> speed <150.0>; + turn luparm to x-axis <-10> speed <150.000000>; + turn larm to x-axis <5> speed <150.000000>; + turn ruparm to x-axis <10> speed <150.000000>; + turn rarm to x-axis <25> speed <150.000000>; move pelvis to y-axis [-1] speed [7.500000]; - turn torso to y-axis <-5> speed <75.0>; + turn torso to y-axis <-5> speed <75.000000>; sleep 130; } - if( isMoving ) + if( bMoving ) { //step 5 @@ -134,13 +146,13 @@ walk() turn rleg to x-axis <-19> speed <397.500000>; turn rfoot to x-axis <27> speed <202.500000>; turn lthigh to x-axis <66> speed <112.500000>; - turn lleg to x-axis <-26> speed <75.0>; + turn lleg to x-axis <-26> speed <75.000000>; turn lfoot to x-axis <17> speed <22.500000>; - turn luparm to x-axis <-20> speed <75.0>; - turn larm to x-axis <-5> speed <75.0>; - turn ruparm to x-axis <20> speed <75.0>; - turn rarm to x-axis <35> speed <75.0>; + turn luparm to x-axis <-20> speed <75.000000>; + turn larm to x-axis <-5> speed <75.000000>; + turn ruparm to x-axis <20> speed <75.000000>; + turn rarm to x-axis <35> speed <75.000000>; move pelvis to y-axis [-1.5] speed [3.750000]; turn torso to y-axis <-10> speed <37.500000>; @@ -154,7 +166,7 @@ walklegs() { - if( isMoving ) + if( bMoving ) { //step 0 @@ -162,34 +174,34 @@ walklegs() turn rleg to x-axis <0> speed <142.500000>; turn rfoot to x-axis <0> speed <202.500000>; turn lthigh to x-axis <9> speed <427.500000>; - turn lleg to x-axis <34> speed <450.0>; + turn lleg to x-axis <34> speed <450.000000>; turn lfoot to x-axis <-40> speed <427.500000>; move pelvis to y-axis [0] speed [11.250000]; sleep 130; } - if( isMoving ) + if( bMoving ) { //step 1 turn rthigh to x-axis <51> speed <382.500000>; - turn rleg to x-axis <-36> speed <270.0>; - turn rfoot to x-axis <14> speed <105.0>; + turn rleg to x-axis <-36> speed <270.000000>; + turn rfoot to x-axis <14> speed <105.000000>; turn lthigh to x-axis <-44> speed <397.500000>; turn lleg to x-axis <34> now; - turn lfoot to x-axis <0> speed <300.0>; + turn lfoot to x-axis <0> speed <300.000000>; move pelvis to y-axis [-1] speed [7.500000]; sleep 130; } - if( isMoving ) + if( bMoving ) { //step 2 turn rthigh to x-axis <66> speed <112.500000>; - turn rleg to x-axis <-26> speed <75.0>; + turn rleg to x-axis <-26> speed <75.000000>; turn rfoot to x-axis <17> speed <22.500000>; turn lthigh to x-axis <-37> speed <52.500000>; turn lleg to x-axis <-19> speed <397.500000>; @@ -200,12 +212,12 @@ walklegs() sleep 130; } - if( isMoving ) + if( bMoving ) { //step 3 turn rthigh to x-axis <9> speed <427.500000>; - turn rleg to x-axis <34> speed <450.0>; + turn rleg to x-axis <34> speed <450.000000>; turn rfoot to x-axis <-40> speed <427.500000>; turn lthigh to x-axis <0> speed <277.500000>; turn lleg to x-axis <0> speed <142.500000>; @@ -216,22 +228,22 @@ walklegs() sleep 130; } - if( isMoving ) + if( bMoving ) { //step 4 turn rthigh to x-axis <-44> speed <397.500000>; turn rleg to x-axis <34> now; - turn rfoot to x-axis <0> speed <300.0>; + turn rfoot to x-axis <0> speed <300.000000>; turn lthigh to x-axis <51> speed <382.500000>; - turn lleg to x-axis <-36> speed <270.0>; - turn lfoot to x-axis <14> speed <105.0>; + turn lleg to x-axis <-36> speed <270.000000>; + turn lfoot to x-axis <14> speed <105.000000>; move pelvis to y-axis [-1] speed [7.500000]; sleep 130; } - if( isMoving ) + if( bMoving ) { //step 5 @@ -239,7 +251,7 @@ walklegs() turn rleg to x-axis <-19> speed <397.500000>; turn rfoot to x-axis <27> speed <202.500000>; turn lthigh to x-axis <66> speed <112.500000>; - turn lleg to x-axis <-26> speed <75.0>; + turn lleg to x-axis <-26> speed <75.000000>; turn lfoot to x-axis <17> speed <22.500000>; move pelvis to y-axis [-1.5] speed [3.750000]; @@ -248,27 +260,30 @@ walklegs() } } -Movement(moving, aiming, justmoved) +MotionControl(moving, aiming, justmoved) { justmoved = TRUE; while( TRUE ) { - moving = isMoving; - aiming = isAiming; + moving = bMoving; + aiming = bAiming; if( moving ) { if( aiming ) { + Static_Var_3 = 1; call-script walklegs(); } else { + Static_Var_3 = 0; call-script walk(); } justmoved = TRUE; } else { + Static_Var_3 = 1; if( justmoved ) { turn rthigh to x-axis <0> speed <277.500000>; @@ -282,10 +297,10 @@ Movement(moving, aiming, justmoved) move pelvis to y-axis [0] speed [11.250000]; if( !aiming ) { - turn luparm to x-axis <0> speed <75.0>; - turn larm to x-axis <0> speed <75.0>; - turn ruparm to x-axis <0> speed <75.0>; - turn rarm to x-axis <0> speed <75.0>; + turn luparm to x-axis <0> speed <75.000000>; + turn larm to x-axis <0> speed <75.000000>; + turn ruparm to x-axis <0> speed <75.000000>; + turn rarm to x-axis <0> speed <75.000000>; turn torso to y-axis <0> speed <37.500000>; } justmoved = FALSE; @@ -295,36 +310,65 @@ Movement(moving, aiming, justmoved) } } - -#define BASEPIECE torso -#include "../unit_hitbyweaponid_and_smoke.h" +SmokeUnit(healthpercent, sleeptime, smoketype) +{ + while( get BUILD_PERCENT_LEFT ) + { + sleep 500; + } + start-script MotionControl(); + while( TRUE ) + { + healthpercent = get HEALTH; + if( healthpercent < 66 ) + { + smoketype = 258; + if( Rand( 1, 66 ) < healthpercent ) + { + smoketype = 257; + } + emit-sfx smoketype from torso; + } + sleeptime = healthpercent * 50; + if( sleeptime < 200 ) + { + sleeptime = 200; + } + sleep sleeptime; + } +} Create() { hide rflare; hide lflare; - isMoving = FALSE; - isAiming = FALSE; + bMoving = FALSE; + bAiming = FALSE; + Static_Var_3 = 1; restore_delay = 3000; gun_1 = rflare; + start-script SmokeUnit(); } -SetMaxReloadTime(reloadMS) +SetMaxReloadTime(Func_Var_1) { - restore_delay = reloadMS * 2; + restore_delay = Func_Var_1 * 2; } -StartMoving(reversing) +StartMoving() { - isMoving = TRUE; + bMoving = TRUE; } StopMoving() { - isMoving = FALSE; + bMoving = FALSE; } - +SweetSpot(piecenum) +{ + piecenum = torso; +} static-var Stunned; ExecuteRestoreAfterDelay() @@ -332,16 +376,16 @@ ExecuteRestoreAfterDelay() if (Stunned) { return (1); } - turn torso to y-axis <0.0> speed <90.0>; - turn ruparm to x-axis <0.0> speed <45.0>; - turn rarm to y-axis <0.0> speed <45.0>; - turn luparm to x-axis <0.0> speed <45.0>; + turn torso to y-axis <0.000000> speed <90.000000>; + turn ruparm to x-axis <0.000000> speed <45.000000>; + turn rarm to y-axis <0.000000> speed <45.000000>; + turn luparm to x-axis <0.000000> speed <45.000000>; wait-for-turn torso around y-axis; wait-for-turn ruparm around x-axis; wait-for-turn rarm around y-axis; wait-for-turn luparm around x-axis; - wpn1_lasthead = 0xbadface; - isAiming = FALSE; + wpn1_lasthead = 1000000; + bAiming = FALSE; } SetStunned(State) { @@ -352,38 +396,55 @@ SetStunned(State) } RestoreAfterDelay() { - set-signal-mask SIGNAL_AIM1; + set-signal-mask SIG_AIM; sleep restore_delay; start-script ExecuteRestoreAfterDelay(); } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = torso; + piecenum = torso; } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = rflare + gun_1; + piecenum = rflare + gun_1; } -FireWeapon1() +FirePrimary() { + if( gun_1 ) + { + show lflare; + sleep 400; + hide lflare; + } + else + { + show rflare; + sleep 400; + hide rflare; + } + sleep 50; gun_1 = !gun_1; } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - isAiming = TRUE; - turn torso to y-axis heading speed <200.0>; - turn ruparm to x-axis <0.0> - pitch speed <200.0>; - turn rarm to x-axis <0.0> speed <200.0>; - turn luparm to x-axis <0.0> - pitch speed <200.0>; - turn larm to x-axis <0.0> speed <200.0>; - if ((wpn1_lasthead == 0xbadface) OR ABSOLUTE_GREATER_THAN(WRAPDELTA(heading - wpn1_lasthead), <7>)) + signal SIG_AIM; + bAiming = TRUE; + while( !Static_Var_3 ) + { + return(0); + } + turn torso to y-axis heading speed <200.000000>; + turn ruparm to x-axis <0.000000> - pitch speed <200.000000>; + turn rarm to x-axis <0.000000> speed <200.000000>; + turn luparm to x-axis <0.000000> - pitch speed <200.000000>; + turn larm to x-axis <0.000000> speed <200.000000>; + if (((get ABS(wpn1_lasthead - heading)) > 65536) OR(((get ABS(wpn1_lasthead - heading)) > 1300) AND ((get ABS(wpn1_lasthead - heading)) < 64236))) { - wpn1_lasthead = 0xbadface; + wpn1_lasthead = 1000000; wait-for-turn torso around y-axis; wait-for-turn luparm around x-axis; wait-for-turn ruparm around x-axis; diff --git a/scripts/scavs/armwarscav.cob b/scripts/scavs/armwarscav.cob index 028441a997b60b86f57c5e8a0647f97c01504e6c..6c53cffad69ba8acf6f09a5d6a1c5bfb47c8f8cc 100644 GIT binary patch literal 9318 zcmcIqU5Hgx6y7tAll^+LA1aJ4sSkzJ%?gYN%~UKgM@K0rXl{Dct9RxO*K6uaTq+@Y zC?ATbmkL7YvFKrXNg*sDs3#wKiRkYor3|4c&AxB%{Y~p^&z=)#(P&RKh{z1FwB zweAlyuH=5yL@xh|}JU*fw+Cp*7?WVkY=fyHBqUI+WSJe2uCLy>I`Z66!O68|vP> zDXi^tAr|hD?m6Dn269+`O+D;>o*!~wwHOZ&i^clv(XeONkHM$Knw+BjStbTMi}f2f z1)o#j1Urkh$M~45Sd7=548GvW`?46nyF2KFmBm;(VP!FvPPMTZOQ+i8Fg~`x=jFQR zFSrEbw5AMqCXDZck{JEDF|4QV2>Drz<@1Hp7h`;3ez3cqU?mujE(y91ez+K8;s5Nf zL1(d6k1V?;__SCnmgO8UIL~4&-M6tvEY{MUI1|pZSW72f=CB^SG+@2*+(lT6&#F5j zni1<)Bi8Cy^|{45?Q_d#*{RPhpVN6{`JB$9BCHuZ@hrkx`4wSZ#B1SM#B1padELkC zkR8JXoW3?iv*UEcT0B#qTddXR7UQ(fEyn2_vKXgx$YPw%A&as4Tv%C*rBlw9&(f(j zme10uHaR}`F+0=;|Az58yg_qzq$l-HS< zSITXhm-r-Z+q_b4+q}{qw0S9K^`Ol!?ZI4rGw`=4zuWLRlAIM6#37qs$|0Md?8G6P zU&?ixU&{5O{KWNKekFPNRLoC!ibFO(amePCa>(YDa@^*Xa@^*Xay*w;NnXAl^GZ2n z^HR>@kj*dUkj*dUy3H@;y3H@;dM>{{cxh*+zGv#YCOXdEBEo<;k(_v2u|Pi zsOMweYrkJ{&*$9#IdGf)&WihwBaYlR1bg~-)#0%6dgXBCc-+HVyT`|XXNpJh(dKT% zrRTEYx!ym{twnv>Bes5Nj}+C9F}dXZAoXeMm-@8z6DQ;|SHB*8H;v`nb1TGmY0OJJ zk*}inZRv{Mx1}q3-u-xz+$;WbvC zFZ|g9d~EM^CRgPJ3l zm+CZ&_*}Kretq8aJV))nh`4wx;+f}Gn3$`fF2dliTk<-~`&38X_p(!;@%J3zjHa21`PR(595oc8qXYuF9H)3MH; zPd)bk8}8CGPR0><68KHm%7tf7>rtZz7~{x4JUvVYHQ+WDo^d{`j(dcG-J@rrpTh58 z{%l}CTzGBI)@+&1e=^TS#qYTraeNx*=X@Zh$K$iw%m4JXOZY^c?9|`-{Z(9`-tMCh za)Yl_m-?{0NqyLPeh9vZIbl?PG7iO-uC6u|bwHyw*I&=p$F)54Kl(WJ2Ygg8pC=*R zFsHwSU&d|wCG9uilkdIZ>E9=X1$n|S>5ug%N5vEEq3%ZNs^R=iaIXED%e=2*3)e1I zH-_KZE0;{q&?+9KI-OgjW8ZQ=hX_~C3;5)<=XkvCLa(#<8It;HT)SAMQ!iBUhIiUUvKp(o07dy>!ICmyZ1GrPF&>HSXzRRh;abUUq(__Q;)eo$eph*Vfg~j#$^9 zVqF*t&Lm!DAF-K)~n1};!PPF@u`fBcvcj* zcvhqn&x&+2@oXExh&-FZ0mOyxyOw8V;-_s{Y{kDa=ZKfWtIQlKVdo&^~h}P z)i1NPPkX0q{CYp1?fEnH6m{yaZoKB_m9&q_#+>$)weNK%kGH(BHvMq*|Lm_`F{>t8 zZOpxF)Kf(^{p6YUS3hT_{Y9*Ahpa~sZ=yk#BiI)qMLPV|;D9H9pdAjMv)- z-KKq6`=D;tHrko4u}_!l8_gzs;gr2C*WS^rw=>ra%VgGkrm@#GJG&Y?ce!?0n)@c} Z?Qz$R3$I~=2fzXLEyNCoJK=+ue*=RK=db_( literal 7888 zcmbtZTZola6y9@j%)Fg0WQpk%)y3#cN z5au>!dE3>-_WQxSZKkoEyQ{^=-rj*p#B4XVvnzvb$&JA_%h=?1=$o-I`pq`B%`3uw z-~JJ749!2pAlrd9Ou%o3x8!XLNDOS^$NIg0O|V^M{9N};AKOorT#2DuDA@1l{4mxp zg(}oKwhIIXKg;#u`61?s zFN2@u+H-u$l`O~WJ`1rB$;YxBzq&Kn#Fgb(HgRP+mQ814IhIXlljC^*^vE%CPdHA` zl<7{zF{t&i{@fVGvv&r3mSe>nIX98xvAMzT29lL<+;dy7z4hHhj>Z4u=Y!31tvj;( zx)9THtz7Qr#l?P>YuUbzcf@in+lRk|{VdnAsV;L|pK1$S@4q~OYt^&P9T`o@_0Gt( z?yK&(WfNvw&$8)kY(2}S zv&q%-74#0>gMZ?9VQb(&z2}x=@vnPsxlZr72?MIet`Kbq3u4NN; z%e8FkIhJeL)N^uNUqSECxfgNGcOU27rjFcu@sY@Tdgm?g>76g)-N#OPwt9?uljS|_ zO_q20sW(~Pr}`!+y1NG>zVyCXeCd6&_|p4k>q_;geqiybA6Q&zKgi*l;w}~8`XJ&; zYun;dJ*l=WuC%r-uJjICT*9n7Xz`_YFo$o7`YpmY7V)VTR6`bDT0<6}{8U30Us~%H zUs~%$_*CmTd{ew{itw$#$1Lxp_*4y9e5xUfE3F}mE3I*hE3I*hE3NSyu76pV)rc#t zA&X0xRYMkET0<6JTI&{HTI&{HTI)G{S5TL>ce+mW(I}kfcSCDeYYFA*&y%{tZ@V$@ zpx+;~bDFx=`w=?lx&AQLBZ{|EKLp)%b_AVkx;skG#yP6|lkU$of5kY=hjA`K=eo4! z?Rlg%UvwS}=aT-O#bW;D-Y$%(fjWO^`+v8e;pyN4qGtydyN!Li%TDyjG#4PSt#XWUS zMR_yc_goP1`0q<{Q3_`wUyiIvuIF!oW*!M=MK-!N*T)*B&a>d1JRi>tgRf&^;G;O_ zT4GV%ejL|xO0{X@TR$H&*3jo>AMK$$ntS-KT-9=@y))6Tg$e&0YJ_+5hdAGA=I!3g znIL%8T|OSybK2kKtuAuln(qOch>4>xQRf!aPvFHyT{X&i>O3E9i#>6_ZvKYZ`RIW9#b;abLF4t&0}(!`3jA}p5|{l+_39sVx3x-L`G{-g;qPa>vs^+ON3Lz!ktcI6s+Hz`1U?wfj*pg$t^?zD(j{j} zoAzYg(bsi`o~U!6-L7K{`;N4>G=@DhyN)sJ`Gqa`(tsz^Hi<-GeUjv>?vBqy>3Dp zt~2caXxyLcS&JOGW)vg-R=!zJ(n*80^FB~Nf|2X_ZEo$#XEfUR&1dcW&a*m~S)JIe z&U&!AdgUnQxj*aC+I?>@csx$%;>YshdwS&Mwa5$OPsNLHiUgR%c zq%$mWX}x%nE?%UI7x{}9>EcEDRJ?5C=8=~lBQNYTmKW`-{v%zyNEa_?DY<%)-i~SF zd@0(+i|pb>I+qpkB7gBBUA)L&yeL2MB74dU_e!xVwy;YVcIm<{U3W#gus@$*mtELp z7k1fI6VioU>xEsquxq`r%bsHAezzdVAb_?a*)GU2$ghxD06Pz|2y#1QD`XJz7-R%; z5b^?K9+Kq$^L!cd2ILszUC1YpFCbq*&OR>)GwO2`9{Es#D)9kLJd1mtPR zGmz&XFG5~{9EH3Ic^mQ$wB%{)|9K|zO1*WTHBSmd+J%ak-46%v7x+ob5^O9dmrkrVxm#5HxR6UpbyWr!T5OZ z-fY`&Bioz}HEQ*2)%HeKUz1hJ`xv07F+4Dk^}311RsGeq^;$J#v&=m>oYiA$%iP-j zdL{$b>GA&lN(Hg7%TUeLw^z#b%vHiLm{oT754lQXM}OZAR}VvFc(7crx_TV=3?EE@ Q75LX`4Tpezh{4Cd0bOmRIsgCw diff --git a/scripts/scavs/beacon.bos b/scripts/scavs/beacon.bos index 1a8b3817607..46cd9d0c267 100644 --- a/scripts/scavs/beacon.bos +++ b/scripts/scavs/beacon.bos @@ -1,5 +1,7 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, emit, launcher, arm; @@ -9,16 +11,18 @@ Create() hide launcher; hide emit; hide base; + dont-shade base; + dont-cache base; set ARMORED to 0; - move launcher to y-axis [10000.0] speed [50000.0]; - move launcher to x-axis [0.0] speed [50000.0]; - move launcher to z-axis [0.0] speed [50000.0]; - turn launcher to y-axis <90.0> speed <10000.0>; - turn launcher to x-axis <90.0> speed <10000.0>; - turn launcher to z-axis <90.0> speed <10000.0>; + move launcher to y-axis [10000.000000] speed [50000.000000]; + move launcher to x-axis [0.000000] speed [50000.000000]; + move launcher to z-axis [0.000000] speed [50000.000000]; + turn launcher to y-axis <90.000000> speed <10000.000000>; + turn launcher to x-axis <90.000000> speed <10000.000000>; + turn launcher to z-axis <90.000000> speed <10000.000000>; sleep 100; spin arm around y-axis speed <21.978022>; - turn arm to x-axis Rand( <0.005495>, <40.989011> ) speed <1000.0>; + turn arm to x-axis Rand( <0.005495>, <40.989011> ) speed <1000.000000>; sleep Rand( 1, 100 ); emit-sfx 2048 from launcher; sleep 3000; @@ -30,22 +34,22 @@ Killed(severity, corpsetype) emit-sfx 1025 from emit; } -QueryNanoPiece(pieceIndex) +QueryNanoPiece(piecenum) { - pieceIndex = base; + piecenum = base; } -QueryWeapon1(pieceIndex) +QueryWeapon1(piecenum) { - pieceIndex = base; + piecenum = base; } -AimFromWeapon1(pieceIndex) +AimFromWeapon1(piecenum) { - pieceIndex = base; + piecenum = base; } -QueryLandingPad(pieceIndex) +QueryLandingPad(Func_Var_1) { - pieceIndex = 1; + Func_Var_1 = 1; } diff --git a/scripts/scavs/beacon.cob b/scripts/scavs/beacon.cob index 0593cfe3b1b88e6d52520eff9203ae94da668dd4..91cbc3086adb5fd70492ef4de5a5ff1c918c7165 100644 GIT binary patch delta 126 zcmcb^`i51Lg@J*A4TwQ>2N1)64-*4J3J})-u?|qMXQHMw7sCSv0kDFGjdn~-mhnJ# r1`rnjaRm@J0C5jc{bV4X1;i_XcpDHO1>&nfd<%&01M!Q=l}yP1?7kBG delta 115 zcmaFEdWTh$g@J*A4TwQ>3lPJA4HE-H2oUE0u?|qMW}>F_#*jaZmeD{?3J~W2aS2EQ hgn^2hfw&8ZX9DpuAl?eZM}hbh5T6I)8 speed <10000.0>; - turn launcher to x-axis <90.0> speed <10000.0>; - turn launcher to z-axis <90.0> speed <10000.0>; + move launcher to y-axis [10000.000000] speed [50000.000000]; + move launcher to x-axis [0.000000] speed [50000.000000]; + move launcher to z-axis [0.000000] speed [50000.000000]; + turn launcher to y-axis <90.000000> speed <10000.000000>; + turn launcher to x-axis <90.000000> speed <10000.000000>; + turn launcher to z-axis <90.000000> speed <10000.000000>; sleep 100; spin arm around y-axis speed <21.978022>; - turn arm to x-axis Rand( <0.005495>, <40.989011> ) speed <1000.0>; + turn arm to x-axis Rand( <0.005495>, <40.989011> ) speed <1000.000000>; sleep Rand( 1, 100 ); //emit-sfx 2048 from launcher; sleep 2000; @@ -41,22 +44,22 @@ Killed(severity, corpsetype) emit-sfx 1025 from emit; } -QueryNanoPiece(pieceIndex) +QueryNanoPiece(piecenum) { - pieceIndex = base; + piecenum = base; } -QueryWeapon1(pieceIndex) +QueryWeapon1(piecenum) { - pieceIndex = base; + piecenum = base; } -AimFromWeapon1(pieceIndex) +AimFromWeapon1(piecenum) { - pieceIndex = base; + piecenum = base; } -QueryLandingPad(pieceIndex) +QueryLandingPad(Func_Var_1) { - pieceIndex = 1; + Func_Var_1 = 1; } diff --git a/scripts/scavs/beaconbyar.cob b/scripts/scavs/beaconbyar.cob index 00df2d4a64ae9d46879f644c2059916ae88f682f..69286df9decf3afb4aca254ba6801faaf125b081 100644 GIT binary patch delta 169 zcmX@icAYJNg@J*A9f(ewQ-By`)CVB`4#fX}n3tJ>K?;a9 Vf!Gp=?SR-Bh<$)KVDd$#A^?B*6+8d{ delta 154 zcmcc4c9_kDg@J*A9f(z#t05sz9s-#QH#N M0mL?wpE4Bz0J1a`Hvj+t diff --git a/scripts/scavs/cords.bos b/scripts/scavs/cords.bos index 0d5a2390570..d47a004f7d0 100644 --- a/scripts/scavs/cords.bos +++ b/scripts/scavs/cords.bos @@ -1,12 +1,20 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, thrustfl, thrustfr, thrustbl, thrustbr, flarefl, flarefr, flarebl, flarebr, bomb3l, bomb3r, bomb2l, bomb2r, bomb1l, bomb1r, bay3l, bay3r, bay2l, bay2r, bay1l, bay1r; -static-var currbomb; +static-var statechg_DesiredState, statechg_StateChanging, currbomb; +Go() +{ +} +Stop() +{ +} #define BASEPIECE base #define HITSPEED <105.0> @@ -14,9 +22,39 @@ static-var currbomb; #define UNITSIZE 3 #define MAXTILT 100 -#include "../units/unit_hitbyweaponid_and_smoke.h" +#include "unit_hitbyweaponid_and_smoke.h" +InitState() +{ + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; +} +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + call-script Go(); + currentstate = 0; + } + if( statechg_DesiredState == 1 ) + { + call-script Stop(); + currentstate = 1; + } + } + statechg_StateChanging = FALSE; +} Create(){ @@ -31,25 +69,27 @@ Create(){ hide flarebr; currbomb = 0; + //call-script InitState(); } Activate() { - //get PRINT(1); + show flarefl; show flarefr; show flarebl; show flarebr; + //start-script RequestState(0); } Deactivate() { - //get PRINT(0); hide flarefl; hide flarefr; hide flarebl; hide flarebr; + //start-script RequestState(1); } Reload(){ @@ -67,20 +107,20 @@ Reload(){ } } -QueryWeapon1(pieceIndex) // called third, and all the fucking time +QueryPrimary(piecenum) // called third, and all the fucking time { //get PRINT(3, currbomb); - pieceIndex = bay3l + currbomb - 1; - //pieceIndex = bomb3l; + piecenum = bay3l + currbomb - 1; + //piecenum = bomb3l; } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = base; + piecenum = base; } -AimWeapon1(heading,pitch){ +AimPrimary(heading,pitch){ //turn bay3l to y-axis <90> now; //turn bomb3l to y-axis <90> now; return 1; @@ -99,23 +139,26 @@ Shot1(){ // called second, and after each bomb currbomb = currbomb + 1; } -FireWeapon1(){ //called first and once only +FirePrimary(){ //called first and once only //get PRINT(1, currbomb); currbomb = 0; signal 32; start-script Reload(); } - +SweetSpot(piecenum) +{ + piecenum = base; +} Killed(severity, corpsetype) { // drop all undropped ones if (currbomb <=0) explode bomb3l type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP2 | NOHEATCLOUD; - - + //if (currbomb <=1) explode bomb3r type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP2 | NOHEATCLOUD; + //if (currbomb <=2) explode bomb2l type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP2 | NOHEATCLOUD; if (currbomb <=3) explode bomb2r type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP2 | NOHEATCLOUD; - + //if (currbomb <=4) explode bomb1l type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP2 | NOHEATCLOUD; if (currbomb <=5) explode bomb1r type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP2 | NOHEATCLOUD; if( severity <= 25 ) diff --git a/scripts/scavs/cords.cob b/scripts/scavs/cords.cob index 6edc778369e5404b2cf34ccb2b66048693c7ecff..89e6a98af14a1314fe9d325af3706e7d56aa74de 100644 GIT binary patch literal 3358 zcmb_eO^6&-5U!mWN25vXL;}%V8V_FdFuQ^$14)$pUe*jExouCTLnh9o$KKw^4hQk)~yV1v7Ix+d!+x9W-Pt0%Qq zE#aL!O2$%q@<1X>&18@1AVd&9<}seM0`Dmt=}Vo*5dU z5AASKAD3SDr0=>vd4kBwkIp=LEtJ|z3w@hI67_M5TzjO^J55aT>)LwigU zpP!Pp13Xyo&YLb%-Q2jYM$2Y__}+U`#<6WiZ$vuwo}4(>0u`KhE5v4<;~Emwhd-o< z#k*qmITC*lvypwxkzJ?!UZ)AKN=$AWoWGh$^Q95w&iCh&k$S zGaDHPpZp09>+m=ijKebHIQp%$IBywe>l8=7Z^n7YINPQ;I%ng&Yn<)iuus1*33|ib zIRTr`%fA7y|K)OUI*%vXnMXWdmh3omwF#gS*cwSSwB?yluIb|3Rh&qjCK^5pk14`=7! zdiLgVKC9(9Z+SRR_MMWP)Z{9p_k~Bs(b;3q3mgX8z;)mg;8S1?;BIXLb^-i9@h#v7;5KjvXkhr; zfjz*Jz|+8Uz+T`ea02K8XMl6SD)1(73AhZr2YdwF0B!Q`VgJm&@u6}HvE~8J}Z63F5L?ZsyGilj~tZYOQ{x0PnfE6Zr literal 2672 zcmb7GKWNiI6uu@g)%vGr!J(Z(H?c@k1t+DcwWw8z?Vy8{{$hT$sfj7Srb-Y*MR0Nv z5xS^@6m(YU7$}I7gIgCz6^+MOdljWmC$M`srNyptw38Ysi`NZ!%sa+J-y3t`=KUa z>wu(>E|uH#(MDe)ZKcvl?RtyB7l)6M97+g94%hTC-u2=4OfK`#KS1(OT*uPZ=KGjK zY1_}R@M+?{e4eQxd%7q*+FVZ7SvtS9SF?|F+|0zpqX(5zW)H46#xRy8Su}939WR4#9PTYn(IpP1W^GUzP@$(IQmZXmV%k z)^4`+HFC-sy!LFa20845($vtrQ8u?byLaO6AaTvkSPdohve;vu-NiEBAp8nvq|%rr z_z#6obK`E;H#Srqm5fn(7F)7~t+Ry<&&&QzNghZO3u*X}ILGoYlvgyu$W@zr0a6dP3n`dC|kZ@Ow z=brpL=36E;|41Hgg?DNvd9E|JMfmN^PM09Jr+z%O7OxP*qU0R^B4 zya7G{{Qt=$FbmuP?g5X1r@$hx1iT08z(?Qe90x%1lEmntXSHfVfa_d~dU#XFx9NY*C6XnXyP@Rs#pc<;|^=k1p zm60%T>UdbH1O;_@A&ewZMrDiT(Wp|kdCk(P6El@+MvWGu&{@WcrBYZ>`CvX&)tP8v zzB*lUN+e3&S@MyZE(K8tij}ek!K~rWSIYTgB`fS|(5?pUDq~j}tb!Ve_%%9dL5-}S JMiPD_^%qEy^h*E$ diff --git a/scripts/scavs/droppod.bos b/scripts/scavs/droppod.bos index 392bbcb2315..d9431934fee 100644 --- a/scripts/scavs/droppod.bos +++ b/scripts/scavs/droppod.bos @@ -1,5 +1,7 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, emit, launcher; @@ -7,8 +9,8 @@ piece base, emit, launcher; Create() { hide base; - move launcher to y-axis [6000.0] now; // how high to emit from - turn launcher to x-axis <90.0> now; // turn launcher down + move launcher to y-axis [6000.000000] now; // how high to emit from + turn launcher to x-axis <90.000000> now; // turn launcher down sleep 33; //spin arm around y-axis speed <21.978022>; // useless emit-sfx 2048 from launcher; @@ -22,22 +24,22 @@ Killed(severity, corpsetype) emit-sfx 1025 from emit; } -QueryNanoPiece(pieceIndex) +QueryNanoPiece(piecenum) { - pieceIndex = base; + piecenum = base; } -QueryWeapon1(pieceIndex) +QueryWeapon1(piecenum) { - pieceIndex = base; + piecenum = base; } -AimFromWeapon1(pieceIndex) +AimFromWeapon1(piecenum) { - pieceIndex = base; + piecenum = base; } -QueryLandingPad(pieceIndex) +QueryLandingPad(Func_Var_1) { - pieceIndex = 1; + Func_Var_1 = 1; } diff --git a/scripts/scavs/exptype.h b/scripts/scavs/exptype.h new file mode 100644 index 00000000000..7a83187b285 --- /dev/null +++ b/scripts/scavs/exptype.h @@ -0,0 +1,193 @@ +/* +** EXPtype.h -- Explosion Type information and GET/SET constants for scripts +** +** This Script contains constants compatible only with Spring RTS engine +** not for use with Total Annihilation or TA:Kindgoms +*/ + +#ifndef CONSTANTS_H_ +#define CONSTANTS_H_ + +// Indices for emit-sfx +#ifndef __SFXTYPE_H_ +#define SFXTYPE_VTOL 0 +//#define SFXTYPE_THRUST 1 +#define SFXTYPE_WAKE1 2 +#define SFXTYPE_WAKE2 3 // same as SFX_WAKE +#define SFXTYPE_REVERSEWAKE1 4 +#define SFXTYPE_REVERSEWAKE2 5 // same as SFX_REVERSE_WAKE + +#define SFXTYPE_WHITESMOKE 257 +#define SFXTYPE_BLACKSMOKE 258 +#define SFXTYPE_SUBBUBBLES 259 +#endif + +#define SHATTER 1 // The piece will shatter instead of remaining whole +#define EXPLODE_ON_HIT 2 // The piece will explode when it hits the ground +#define FALL 4 // The piece will fall due to gravity instead of just flying off +#define SMOKE 8 // A smoke trail will follow the piece through the air +#define FIRE 16 // A fire trail will follow the piece through the air +#define BITMAPONLY 32 // The piece will not fly off or shatter or anything. Only a bitmap explosion will be rendered. +#define NOCEGTRAIL 64 // Disables the cegtrail for the specific piece (defined in the unit fbi) +#define NOHEATCLOUD 128 // No engine default heat cloud for explosion +#define BITMAP 10000001 + +// Bitmap Explosion Types +#define BITMAP1 256 +#define BITMAP2 512 +#define BITMAP3 1024 +#define BITMAP4 2048 +#define BITMAP5 4096 +#define BITMAPNUKE 8192 +#define BITMAPMASK 16128 // Mask of the possible bitmap bits + +#define EXPTYPE_SMALLEXPLOSION 256 +#define EXPTYPE_MEDIUMEXPLOSION 512 +#define EXPTYPE_LARGEEXPLOSION 1024 +#define EXPTYPE_XLARGEEXPLOSION 2048 +#define EXPTYPE_BLOODEXPLOSION 4096 + +//Customized effects (in FBI/TDF/LUA) +// Explosion generators +#define UNIT_SFX0 1024 +#define UNIT_SFX1 1025 +#define UNIT_SFX2 1026 +#define UNIT_SFX3 1027 +#define UNIT_SFX4 1028 +#define UNIT_SFX5 1029 +#define UNIT_SFX6 1030 +#define UNIT_SFX7 1031 +#define UNIT_SFX8 1032 +#define UNIT_SFX9 1033 + +// Weapons +#define FIRE_W1 2048 +#define FIRE_W2 2049 +#define FIRE_W3 2050 +#define FIRE_W4 2051 +#define FIRE_W5 2052 +#define FIRE_W6 2053 +#define FIRE_W7 2054 +#define FIRE_W8 2055 +#define FIRE_W9 2056 + +#define DETO_W1 4096 +#define DETO_W2 4097 +#define DETO_W3 4098 +#define DETO_W4 4099 +#define DETO_W5 4100 +#define DETO_W6 4101 +#define DETO_W7 4102 +#define DETO_W8 4103 +#define DETO_W9 4104 + + +// COB constants +#define ACTIVATION 1 // set or get +#define STANDINGMOVEORDERS 2 // set or get +#define STANDINGFIREORDERS 3 // set or get +#define HEALTH 4 // get (0-100%) +#define INBUILDSTANCE 5 // set or get +#define BUSY 6 // set or get (used by misc. special case missions like transport ships) +#define PIECE_XZ 7 // get +#define PIECE_Y 8 // get +#define UNIT_XZ 9 // get +#define UNIT_Y 10 // get +#define UNIT_HEIGHT 11 // get +#define XZ_ATAN 12 // get atan of packed x,z coords +#define XZ_HYPOT 13 // get hypot of packed x,z coords +#define ATAN 14 // get ordinary two-parameter atan +#define HYPOT 15 // get ordinary two-parameter hypot +#define GROUND_HEIGHT 16 // get land height, 0 if below water +#define BUILD_PERCENT_LEFT 17 // get 0 = unit is built and ready, 1-100 = How much is left to build +#define YARD_OPEN 18 // set or get (change which plots we occupy when building opens and closes) +#define BUGGER_OFF 19 // set or get (ask other units to clear the area) +#define ARMORED 20 // set or get + +#define IN_WATER 28 +#define CURRENT_SPEED 29 +#define VETERAN_LEVEL 32 +#define ON_ROAD 34 + +#define MAX_ID 70 +#define MY_ID 71 +#define UNIT_TEAM 72 +#define UNIT_BUILD_PERCENT_LEFT 73 +#define UNIT_ALLIED 74 +#define MAX_SPEED 75 +#define CLOAKED 76 +#define WANT_CLOAK 77 +#define GROUND_WATER_HEIGHT 78 // get land height, negative if below water +#define UPRIGHT 79 // set or get +#define POW 80 // get +#define PRINT 81 // get, so multiple args can be passed +#define HEADING 82 // get +#define TARGET_ID 83 // get +#define LAST_ATTACKER_ID 84 // get +#define LOS_RADIUS 85 // set or get +#define AIR_LOS_RADIUS 86 // set or get +#define RADAR_RADIUS 87 // set or get +#define JAMMER_RADIUS 88 // set or get +#define SONAR_RADIUS 89 // set or get +#define SONAR_JAM_RADIUS 90 // set or get +#define SEISMIC_RADIUS 91 // set or get +#define DO_SEISMIC_PING 92 // get +#define CURRENT_FUEL 93 // set or get +#define TRANSPORT_ID 94 // get +#define SHIELD_POWER 95 // set or get +#define STEALTH 96 // set or get +#define CRASHING 97 // set or get, returns whether aircraft isCrashing state +#define CHANGE_TARGET 98 // set, the value it's set to determines the affected weapon +#define CEG_DAMAGE 99 // set +#define COB_ID 100 // get +#define PLAY_SOUND 101 // get, so multiple args can be passed +#define KILL_UNIT 102 // get KILL_UNIT(unitId, SelfDestruct=true, Reclaimed=false) +#define ALPHA_THRESHOLD 103 // set or get +#define SET_WEAPON_UNIT_TARGET 106 // get (fake set) +#define SET_WEAPON_GROUND_TARGET 107 // get (fake set) +#define SONAR_STEALTH 108 // set or get +#define REVERSING 109 // get + +// Indices for SET, GET, and GET_UNIT_VALUE for LUA return values +#define LUA0 110 // (LUA0 returns the lua call status, 0 or 1) +#define LUA1 111 +#define LUA2 112 +#define LUA3 113 +#define LUA4 114 +#define LUA5 115 +#define LUA6 116 +#define LUA7 117 +#define LUA8 118 +#define LUA9 119 + +#define FLANK_B_MODE 120 // set or get +#define FLANK_B_DIR 121 // set or get, set is through get for multiple args +#define FLANK_B_MOBILITY_ADD 122 // set or get +#define FLANK_B_MAX_DAMAGE 123 // set or get +#define FLANK_B_MIN_DAMAGE 124 // set or get +#define WEAPON_RELOADSTATE 125 // get (with fake set) get WEAPON_RELOADSTATE(weaponNum) for GET +#define WEAPON_RELOADTIME 126 // get (with fake set) get WEAPON_RELOADSTATE(-weaponNum,val) for SET +#define WEAPON_ACCURACY 127 // get (with fake set) +#define WEAPON_SPRAY 128 // get (with fake set) +#define WEAPON_RANGE 129 // get (with fake set) +#define WEAPON_PROJECTILE_SPEED 130 // get (with fake set) +#define WEAPON_STOCKPILE_COUNT 139 // get (with fake set) + + +#define MIN 131 // get +#define MAX 132 // get +#define ABS 133 // get +#define GAME_FRAME 134 // get +#define KSIN 135 // get, kiloSine 1024*sin(x) as COB uses only integers +#define KCOS 136 // get, kiloCosine 1024*cos(x) + +#define KTAN 137 // get, kiloTangent 1024*tan(x) carefull with angles close to 90 deg. might cause overflow +#define SQRT 138 // get, square root (floored to integer) + +#define ENERGY_MAKE 140 // set or get (100*E production) + +#define METAL_MAKE 141 // set or get (100*M production) + +// NOTE: shared variables use codes [1024 - 5119] + +#endif \ No newline at end of file diff --git a/scripts/scavs/scavdrag.bos b/scripts/scavs/scavdrag.bos index ed786b8922b..1bca2be7f78 100644 --- a/scripts/scavs/scavdrag.bos +++ b/scripts/scavs/scavdrag.bos @@ -1,7 +1,25 @@ -#include "../recoil_common_includes.h" +// * Header Info * +// VersionSignature 4 +// NumberOfScripts 1 +// NumberOfPieces 0 +// LengthOfScripts 3 +// NumberOfStaticVars 0 +// UKZero 0 +// OffsetToScriptCodeIndexArray 38 +// OffsetToScriptNameOffsetArray 3c +// OffsetToPieceNameOffsetArray 40 +// OffsetToScriptCode 2c +// OffsetToNameArray 40 + +// OffsetToFirstName 40 + +#define TA // This is a TA script + +#include "sfxtype.h" +#include "exptype.h" Create() -{ - return (0); -} +/* 0:*/{ +/* 2:*/ return (0); +/* 3:*/} diff --git a/scripts/scavs/scavdtf.bos b/scripts/scavs/scavdtf.bos new file mode 100644 index 00000000000..362777ab722 --- /dev/null +++ b/scripts/scavs/scavdtf.bos @@ -0,0 +1,237 @@ +#define TA // This is a TA script + +#include "sfxtype.h" +#include "exptype.h" + +piece base, top, spark, barrel, flare, aimpoint, firepoint; + +static-var Static_Var_1, restore_delay, statechg_DesiredState, statechg_StateChanging; + +// Signal definitions +#define SIG_AIM 2 + +lua_FlameShot(weapon) //Distortion and lups flame effect +{ + return 0; +} + +SmokeUnit(healthpercent, sleeptime, smoketype) +{ + while( get BUILD_PERCENT_LEFT ) + { + sleep 400; + } + while( TRUE ) + { + healthpercent = get HEALTH; + if( healthpercent < 66 ) + { + smoketype = 256 | 2; + if( Rand( 1, 66 ) < healthpercent ) + { + smoketype = 256 | 1; + } + emit-sfx smoketype from base; + } + sleeptime = healthpercent * 50; + if( sleeptime < 200 ) + { + sleeptime = 200; + } + sleep sleeptime; + } +} + + +Go() +{ + set ARMORED to 0; + move top to y-axis [8.000000] speed [19.989014]; + wait-for-move top along y-axis; + move spark to z-axis [0.000000] speed [19.989014]; + move barrel to z-axis [0.000000] speed [19.989014]; + Static_Var_1 = 1; +} + +Stop() +{ + set ARMORED to 1; + Static_Var_1 = 0; + turn top to y-axis <0.000000> speed <300.000000>; + move spark to z-axis [-6] speed [19.989014]; + move barrel to z-axis [-6.5] speed [19.989014]; + wait-for-move barrel along z-axis; + wait-for-move spark along z-axis; + move top to y-axis [-11.9] speed [48]; + wait-for-move top along y-axis; +} + +InitState() +{ + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; +} + +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + call-script Go(); + currentstate = 0; + } + if( statechg_DesiredState == 1 ) + { + call-script Stop(); + currentstate = 1; + } + } + statechg_StateChanging = FALSE; +} + +Create() +{ + hide aimpoint; + hide firepoint; + hide flare; + hide flare; + restore_delay = 2000; + Static_Var_1 = 0; + call-script InitState(); + start-script RequestState(0); + while( get BUILD_PERCENT_LEFT ) + { + sleep 250; + } + move aimpoint to y-axis [8] now; + start-script SmokeUnit(); + start-script RequestState(1); +} + +Activate() +{ + start-script RequestState(0); +} + +Deactivate() +{ + start-script RequestState(1); +} + +SetMaxReloadTime(Func_Var_1) +{ + restore_delay = Func_Var_1 * 3; +} + +static-var Stunned; +ExecuteRestoreAfterDelay() +{ + if (Stunned) { + return (1); + } + set-signal-mask 0; + start-script RequestState(1); +} +SetStunned(State) +{ + Stunned = State; + if (!Stunned) { + start-script ExecuteRestoreAfterDelay(); + } +} +RestoreAfterDelay() +{ + sleep restore_delay; + start-script ExecuteRestoreAfterDelay(); +} + +AimPrimary(heading, pitch) +{ + start-script RequestState(0); + signal SIG_AIM; + set-signal-mask SIG_AIM; + while( !Static_Var_1 ) + { + sleep 250; + } + turn top to y-axis heading speed <300.000000>; + wait-for-turn top around y-axis; + start-script RestoreAfterDelay(); + return (1); +} + +Shot1() +{ + call-script lua_FlameShot(1); + emit-sfx 1024 + 0 from firepoint; + return (TRUE); +} + +FirePrimary() +{ +} + +QueryPrimary(piecenum) +{ + piecenum = flare; +} + +SweetSpot(piecenum) +{ + piecenum = base; +} + +AimFromPrimary(piecenum) +{ + piecenum = aimpoint; +} + +Killed(severity, corpsetype) +{ + if( severity <= 25 ) + { + corpsetype = 1 ; + explode base type BITMAPONLY | NOHEATCLOUD; + explode top type BITMAPONLY | NOHEATCLOUD; + explode spark type BITMAPONLY | NOHEATCLOUD; + explode barrel type FIRE | SMOKE | FALL | NOHEATCLOUD; + explode flare type BITMAPONLY | NOHEATCLOUD; + return(corpsetype); + } + if( severity <= 50 ) + { + corpsetype = 2 ; + explode base type BITMAPONLY | NOHEATCLOUD; + explode top type FIRE | SMOKE | FALL | NOHEATCLOUD; + explode spark type FIRE | SMOKE | FALL | NOHEATCLOUD; + explode barrel type FALL | NOHEATCLOUD; + explode flare type FALL | NOHEATCLOUD; + return(corpsetype); + } + if( severity <= 99 ) + { + corpsetype = 3 ; + explode base type FIRE | SMOKE | FALL | NOHEATCLOUD; + explode top type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + explode spark type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + explode barrel type FIRE | SMOKE | FALL | NOHEATCLOUD; + explode flare type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + return(corpsetype); + } + corpsetype = 3 ; + explode base type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + explode top type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + explode spark type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + explode barrel type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + explode flare type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + return corpsetype; +} \ No newline at end of file diff --git a/scripts/scavs/scavdtf.cob b/scripts/scavs/scavdtf.cob new file mode 100644 index 0000000000000000000000000000000000000000..0e35c52618bf55c5432fd731fe580214b43d1825 GIT binary patch literal 3442 zcmb_eJ&06S6h1pUj$$;tpakt6q)DMLS}7RFx|`J)gPR>CSh>&jE9d+(dAi^y(Z zEAYG~vIQgm?tCHg8kpH3vJdM8j1t$PiKrIQFLRBEYXj|H(H_?$S!n2-w%;dUYfeP+ zeIw!?w9&+v(|%p&8hN#5!CgZPO^iLtNwh^dzw+O4(>8<41K(xk1*Kz zGbiMz@-s(o8*>oLeXF^pAA4v|7m9oRCdeIWDts^ClekgbNleXedl)C}$~jl${p<6z z7N4h@yf(haCjsBOJz0>5ZfWJWxi-k>x6ICrT-rOl_iEidd-h#x#yvUV zwJUe1V_0a~?4I0*oF(_4#aW&w0W@#dLPq^J9m>x>ZV(fGqm=@2)?e1idoBG!tInaD z8Z_2xxQ?K)ToXZ;sv0CgsavdXt;}9c%pCsB^ zYKvj2`mE;leD=*D0rT)Wl#}z~{!MBRhThJ-cyH;C{W!#EI~p`94+iA~}4`H+;?H3TqxmBk8Pf9GOdvoNwmr ztS?sUW^ycc9G%v$Fn1iC)t<7xYTy1Z_vh~6xMyIxZ5%iMbN810V84F_R)KrKL*PB| zEiOzGI0Q@sX8;Fufj@vd9``Ul0R9H}zkC;10ak$_@EdRwxDDI|?gRe-&w!V}TcEyE zWIOOR@C~pZI08%q$AOc;Ja85`2V4Z&gXG+7JL$OA#a=G0PVbUC(@k?Z){|D=>&uT= zwDKf(GVd-A+_GOxXO6b1#XP;j$&5>E+H(2N$;!NI_mT^z(~grLR@~wsck@W@Wo~LI zciD_ speed <300.0>; - turn post to y-axis <0.0> speed <300.0>; - // move barrel to z-axis [-8.0] speed [20.0]; + Static_Var_1 = 0; + turn turret to x-axis <0.000000> speed <300.000000>; + turn post to y-axis <0.000000> speed <300.000000>; + // move barrel to z-axis [-8.000000] speed [20.000000]; // wait-for-turn barrel around x-axis; wait-for-turn post around y-axis; - move post to y-axis [-26.0] speed [90.0]; + move post to y-axis [-26.000000] speed [90.000000]; wait-for-move post along y-axis; +} +InitState() +{ + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; +} + +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + call-script Go(); + currentstate = 0; + } + if( statechg_DesiredState == 1 ) + { + call-script Stop(); + currentstate = 1; + } + } + statechg_StateChanging = FALSE; } static-var Stunned; @@ -43,7 +100,7 @@ ExecuteRestoreAfterDelay() return (1); } set-signal-mask 0; - start-script OpenCloseAnim(0); + start-script RequestState(1); } SetStunned(State) { @@ -64,61 +121,71 @@ Create() hide flare; restore_delay = 2000; - isOpen = 0; - start-script OpenCloseAnim(1); + Static_Var_1 = 0; + call-script InitState(); + start-script SmokeUnit(); + start-script RequestState(0); - move aimpoint to y-axis [5] speed [150.0]; - SLEEP_UNTIL_UNITFINISHED; + move aimpoint to y-axis [5] speed [150.000000]; + while( get BUILD_PERCENT_LEFT ) + { + sleep 250; + } start-script RestoreAfterDelay(); } Activate() { - start-script OpenCloseAnim(1); + start-script RequestState(0); } Deactivate() { - start-script OpenCloseAnim(0); + start-script RequestState(1); } -SetMaxReloadTime(reloadMS) +SetMaxReloadTime(Func_Var_1) { - restore_delay = reloadMS * 2; + restore_delay = Func_Var_1 * 2; } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - start-script OpenCloseAnim(1); - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; - while( !isOpen ) + start-script RequestState(0); + signal SIG_AIM; + set-signal-mask SIG_AIM; + while( !Static_Var_1 ) { sleep 250; } - turn post to y-axis heading speed <300.0>; + turn post to y-axis heading speed <300.000000>; if (pitch < 0) pitch = 0; - turn turret to x-axis <0.0> - pitch speed <300.0>; + turn turret to x-axis <0.000000> - pitch speed <300.000000>; wait-for-turn post around y-axis; wait-for-turn turret around x-axis; start-script RestoreAfterDelay(); return (1); } -FireWeapon1() +FirePrimary() { emit-sfx 1024+0 from flare; sleep 150; } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) +{ + piecenum = flare; +} + +SweetSpot(piecenum) { - pieceIndex = flare; + piecenum = base; } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = aimpoint; + piecenum = aimpoint; } Killed(severity, corpsetype) @@ -128,7 +195,7 @@ Killed(severity, corpsetype) corpsetype = 1 ; explode post type BITMAPONLY | NOHEATCLOUD; explode turret type BITMAPONLY | NOHEATCLOUD; - + // explode barrel type FIRE | SMOKE | FALL | NOHEATCLOUD; explode flare type BITMAPONLY | NOHEATCLOUD; explode base type BITMAPONLY | NOHEATCLOUD; return(corpsetype); @@ -138,6 +205,7 @@ Killed(severity, corpsetype) corpsetype = 2 ; explode post type FIRE | SMOKE | FALL | NOHEATCLOUD; explode turret type FIRE | SMOKE | FALL | NOHEATCLOUD; + // explode barrel type FALL | NOHEATCLOUD; explode flare type FIRE | SMOKE | FALL | NOHEATCLOUD; explode base type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); @@ -147,7 +215,7 @@ Killed(severity, corpsetype) corpsetype = 3 ; explode post type FIRE | SMOKE | FALL | NOHEATCLOUD; explode turret type SMOKE | FALL | NOHEATCLOUD; - + // explode barrel type FIRE | SMOKE | FALL | NOHEATCLOUD; explode flare type SMOKE | FALL | NOHEATCLOUD; explode base type SMOKE | FALL | NOHEATCLOUD; return(corpsetype); @@ -155,7 +223,7 @@ Killed(severity, corpsetype) corpsetype = 3 ; explode post type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode turret type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; - + // explode barrel type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode flare type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode base type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; return corpsetype; diff --git a/scripts/scavs/scavdtl.cob b/scripts/scavs/scavdtl.cob index c20cc783981a2f48d9cd92b6d2942f601925f29c..7a0f48263bd561c6fa62a5ce4c51589a3b945e70 100644 GIT binary patch literal 3119 zcmb7GJ7^S96urBNG5EnzY|;&aR)RsWun>%&_#?1pwNk+`K4ow>vrcAB(gl0b%Eo{e zA{K&8DjQqH#zw_XMX*%tw9#|kdw2FZZlXJKGWXrjxu5smtivL*4Oj;(*WDYUEN>9` z4D8+rV0{p8iR+P~7S*Gzbc}~1xi}JShDhC=8ies$BnL;LA+Mu~J`KMf<{EMJaq!`( zBaUyzAEFSgvz+_APC!5#$^*}kjiXE*xqETo#6P+z$3AaY4p&Q$gZ`HHoBUPFUh<4P zU&hf_^Sz+W*LeyeYoLxjg}yoqoe#sLF%r>VWWMI!7<43#oA$U?%CwVj7`!xbz1_dL zmUz^2LH4|AXIy9xIgY<^Ty&9G+zcR+ziK0o!k@ z{*<*&oozS^a+cf=T%W(lg?N4!_=NHFwfwy2tN76W^?J8YVSe^y2{8-1uUvq`>hPz` z^H=Tut}Jb`cZD@8Z}=VB10^|rl92Ubt~==nK9pmhGDk!2p|gja*3sJ;&iHQGA zdF}qq>4*I)?U+61#Wj6c zA6@#{sb9;^eOt|5-M=xC#qJJ#@bh60;e2AOS;rFI{5_IreL3G4s;Z5%p{}1z`|oE% znB7mEq3$iY>~E8=a|aSo$2?)392oVZBto5(ISZASyd2g)NR0M1NR0M7NDRv?&mqo5 zIENV;{T$BuIp}%e+}QIVxip3|TWen0`@j6O-+%eBjj%`NuJ)lh*^lnwAbZ;{ezo(U zzWNSxt`?)c_KW$SI;%6_x(TGf9pE1D0r(Eou~8d=eZT?WD9`|I1Ixfe;0dq-@c*tS zfhk}bI1i-2P2d)AA9w^j1)c$~fVaRW;4AP07{$-d7GOIt2E@QFpxMr@nX|KLA;&Ul z7FkD5V9_j+!pO9_-ZgW6adg4VbPF>LMV6b1D}~9Am{zhVO#_ea?5w$rfU5CuZpbt- zQ=~U295IQCh?`0lrcEnLE}u!;a7x>aJZ&fWqD-c_QTcS&#7_9Q_uTWH-}gS!6p;hK z9^ku1Sg{q^C$bFO0p5W4HCD+QuIU;MG?|I3%$2{L*tgPjlT=8Qa8Z*Y0`IcLt0vz^)KXSNQ ze&igc9Bp^2k#!pA<5fDzn%b{R*z&B$GxUUe%?Wz$J3McPdIs3Co>{EaQ6=XlI-aox z=0T3QR#>rRjy$tmt+(WGj^@+yuzb1dA2{^?7X!?P8PP7)g_t3q+mVk&SXau^7_p`= zBadh7tKF%$U)h=~&!s)9JyCn)Aen@DL?5)VzAzq5EbeyOi9LC&leV8=%k>sk+Ok~p zIlW3d%*eQ){x3J>(4IA0?>kU3rp;-mnwi5>5@Ih{Gv^^L%*1TDN_$3Y`W%AgKHamO zbTqB`n4R^8z0kLV4fRdRxTmavTkAP>ti|r_!N}*4-Obd0YNtM3xI>4MI2MC;IM(S>?qQyF zd`}|$&G8IB>UDz}>fUXO2S(H@cNe{Vi^-uc`#!K9%TMj$i`*^mcG@Qm#&K@kV}_iE z+Q)ea0!-KUH@H0GeY1H=HhBj;qdRicSA3HPqA#BDEgL7jw`MC@_%_@9PVX@Hlk=^8 zrq8;M92(xf-Gh77VMcXcu}752Nxv_o(vS6zu6EN;&*U}QX5l_xi8V8?wB|?TxV?1` zOlDoo$7IXhWT>_0R;Tr!Hu~*~aW`XJ`b*e-+#Y1~yRW88-^ zuJzMqY<^7sj5f%_;+kx6O(rdko6gF7J&e9g);TA>O*Y@gpY~1p46p$_2i}Fli@;6b zHt-ej4e&GY77x)5rf9!{+`lB`985RRsE~aiWW`r2)%tMgd$L`5s`Po~rL$TUA91tjbKAo1 zY<}Z{?~n4{#bN+bF$ftQlcl2cwm-k_%b4mha+bMFp@p>sjZ{Dw9Z6*Wvj~E$$eEi FBi~}vKPdnJ literal 654 zcma))F-yZx6oqfn8eIx^5Ya7@Q<2okQ4vM3L%Xz7OGAA^YGO-l2XS(9@)wBs6CL~k zJtuij)6#+oANSt#?mh1kQWuc`c;E%N=g=34zzt|ZY$JN=EBj;=Xaj+@)RBCPQfB?b zhR9Pn4}P^%9#Yd%V_D2H=|CI(&F@#w!aZH_+%_L#FYbcJkILw3`ZF)~w)y(b?o8lA z_|l7WM@+&U>=l&xU; + turn base to z-axis anglez speed ; + + wait-for-turn base around z-axis; + wait-for-turn base around x-axis; + + turn base to x-axis (0-anglex) speed ; + turn base to z-axis (0-anglez) speed ; + + //wait-for-turn base around z-axis; + //wait-for-turn base around x-axis; + + //turn base to x-axis <0> speed ; + //turn base to z-axis <0> speed ; + + + } +#endif diff --git a/scripts/scavs/water3.h b/scripts/scavs/water3.h new file mode 100644 index 00000000000..5066f328452 --- /dev/null +++ b/scripts/scavs/water3.h @@ -0,0 +1,35 @@ +#ifndef __ROCKUNIT_H_ +#define __ROCKUNIT_H_ + + +RockUnit(anglex,anglez) + { + + #define FIRST_SPEED 10 + #define SECOND_SPEED 8 + #define THIRD_SPEED 6 + #define FIFTH_SPEED 4 + + turn base to x-axis anglex speed ; + turn base to z-axis anglez speed ; + + wait-for-turn base around z-axis; + wait-for-turn base around x-axis; + + turn base to x-axis (0-anglex) speed ; + turn base to z-axis (0-anglez) speed ; + + wait-for-turn base around z-axis; + wait-for-turn base around x-axis; + + turn base to x-axis (anglex/2) speed ; + turn base to z-axis (anglez/2) speed ; + + wait-for-turn base around z-axis; + wait-for-turn base around x-axis; + + turn base to x-axis <0> speed ; + turn base to z-axis <0> speed ; + } +#endif + diff --git a/scripts/scavs/weapon1control.h b/scripts/scavs/weapon1control.h new file mode 100644 index 00000000000..d1c1acd4f9c --- /dev/null +++ b/scripts/scavs/weapon1control.h @@ -0,0 +1,154 @@ +/* +HOW TO: +- Model MUST contain aimx1 and aimy1 pieces +- Script must have defined Weapon1TurretX and Weapon1TurretY static-vars (turret turn speeds) +- Script must have defined aimx1 and aimy1 pieces +- Change script as such: +Create() +{ + [...] + start-script InitialSetup1(); + [...] +} + +AimWeapon1(heading, pitch) +{ + [...] + start-script Weapon1Drawn(); -- can call a function that draws weapons and then calls Weapon1Drawn() when done if there is an actual animation (ie pw) + [...] -- Remove animations from aimWeapon scripts (use a DrawWeapon1() if an animation is needed, weapon1control will rotate the different aimpieces) + start-script Weapon1SetWtdAim(heading, pitch); + [...] + return (aim1); +} + +RestoreAfterDelay() +{ + [...] + sleep sleeptime; + start-script RestoreWeapon1(); + [...] -- other animations; + call-script Weapon1Restored(); + [...] -- tell script wpn has been restored if needed for walkscripts +} + +- Weapon1Control moves the aim pieces depending on turretSpeeds, sets pitch = 1 when pitch reached and head = 1 when head reached +- Weapon1Drawn allows unit to fire by setting wpnReady1 = 1 +- if pitch = 1, head = 1 and wpnReady = 1 then the weapon can shoot: aim1 = 1 and aimweapon returns aim1 +- Restore animations go in RestoreAfterDelay, RestoreWeapon1() restores aimy and aimx pieces orientation, Weapon1Restored() waits for these pieces to be restored +*/ + +static-var curHead1, wtdHead1, head1, curPitch1, wtdPitch1, pitch1, aim1, wpnReady1; + +Weapon1Control() +{ + while (TRUE) + { + if (curHead1 > <180>) + { + curHead1 = <-360> + curHead1; + } + if (curPitch1 > <180>) + { + curPitch1 = <-360> + curPitch1; + } + if (curHead1 < <-180>) + { + curHead1 = <360> + curHead1; + } + if (curPitch1 < <-180>) + { + curPitch1 = <360> + curPitch1; + } + if (Static_Var_3 == 1) + { + if (((get ABS(curHead1 - wtdHead1)) > <360>) OR(((get ABS(curHead1 - wtdHead1)) > (Weapon1TurretY / 30)) AND ((get ABS(curHead1 - wtdHead1)) < <360> - (Weapon1TurretY / 30)))) + { + head1 = 0; + if(curHead1 < wtdHead1) { + if(get ABS(curHead1 - wtdHead1)< <180>) + curHead1 = curHead1 + (Weapon1TurretY / 30); + else curHead1 = curHead1 - (Weapon1TurretY / 30); + } + + else { + if(get ABS(curHead1 - wtdHead1)< <180>) + curHead1 = curHead1 - (Weapon1TurretY / 30); + else curHead1 = curHead1 + (Weapon1TurretY / 30); + } + } + else + { + head1 = 1; + curHead1 = wtdHead1; + } + if (((get ABS(curPitch1 - wtdPitch1)) > <360>) OR(((get ABS(curPitch1 - wtdPitch1)) > (Weapon1TurretX / 30)) AND ((get ABS(curPitch1 - wtdPitch1)) < <360> - (Weapon1TurretX / 30)))) + { + pitch1 = 0; + if(curPitch1 < wtdPitch1) { + if(get ABS(curPitch1 - wtdPitch1)< <180>) + curPitch1 = curPitch1 + (Weapon1TurretX / 30); + else curPitch1 = curPitch1 - (Weapon1TurretX / 30); + } + + else { + if(get ABS(curPitch1 - wtdPitch1)< <180>) + curPitch1 = curPitch1 - (Weapon1TurretX / 30); + else curPitch1 = curPitch1 + (Weapon1TurretX / 30); + } + } + else + { + pitch1 = 1; + curPitch1 = wtdPitch1; + } + if (pitch1 == 1 AND head1 == 1 AND wpnReady1 == 1 AND wtdHead1 != 0) + { + aim1 = 1; + } + else + { + aim1 = 0; + } + turn aimy1 to y-axis curHead1 now; + turn aimx1 to x-axis curPitch1 now; + } + sleep 1; + } +} + +InitialSetup1() +{ + curHead1 = 0; + curPitch1 = 0; + wtdHead1 = 0; + wtdPitch1 = 0; + wpnReady1 = 0; + start-script Weapon1Control(); +} + +Weapon1Drawn() +{ + wpnReady1 = 1; +} + +RestoreWeapon1() +{ + wtdHead1 = 0; + wtdPitch1 = 0; +} + +Weapon1Restored() +{ + wpnReady1 = 0; + while (curHead1 != 0) + { + sleep 25; + } + return (TRUE); +} + +Weapon1SetWtdAim(pitch, heading) +{ + wtdHead1 = heading; + wtdPitch1 = <0> - pitch; +} \ No newline at end of file diff --git a/scripts/scavs/yard.h b/scripts/scavs/yard.h new file mode 100644 index 00000000000..048994e2881 --- /dev/null +++ b/scripts/scavs/yard.h @@ -0,0 +1,35 @@ +#ifndef SCRIPTS_YARD_H +#define SCRIPTS_YARD_H + +// keep trying to open building's yard until we succeed +OpenYard() + { + set YARD_OPEN to TRUE; + + while(!(get YARD_OPEN)) + { + set BUGGER_OFF to TRUE; + sleep 1500; + set YARD_OPEN to TRUE; + } + + set BUGGER_OFF to FALSE; + } + + +// keep trying to close building's yard until we succeed +CloseYard() + { + set YARD_OPEN to FALSE; + + while(get YARD_OPEN) + { + set BUGGER_OFF to TRUE; + sleep 1500; + set YARD_OPEN to FALSE; + } + + set BUGGER_OFF to FALSE; + } + +#endif // SCRIPTS_YARD_H diff --git a/scripts/sfxtype.h b/scripts/sfxtype.h new file mode 100644 index 00000000000..e69de29bb2d diff --git a/scripts/smokeunit.h b/scripts/smokeunit.h new file mode 100644 index 00000000000..e40718f637e --- /dev/null +++ b/scripts/smokeunit.h @@ -0,0 +1,100 @@ +/* SmokeUnit.h -- Process unit smoke when damaged */ + +#ifndef SMOKE_H_ +#define SMOKE_H_ + +#include "SFXtype.h" +#include "EXPtype.h" + +// Figure out how many smoking pieces are defined + +#ifdef SMOKEPIECE4 + #define NUM_SMOKE_PIECES 4 +#else + #ifdef SMOKEPIECE3 + #define NUM_SMOKE_PIECES 3 + #else + #ifdef SMOKEPIECE2 + #define NUM_SMOKE_PIECES 2 + #else + #define NUM_SMOKE_PIECES 1 + #ifndef SMOKEPIECE1 + #define SMOKEPIECE1 SMOKEPIECE + #endif + #endif + #endif +#endif + + +SmokeUnit() +{ + var healthpercent; + var sleeptime; + var smoketype; + +#if NUM_SMOKE_PIECES > 1 + var choice; +#endif + + // Wait until the unit is actually built + while (get BUILD_PERCENT_LEFT) + { + sleep 400; + } + + // Smoke loop + while (TRUE) + { + // How is the unit doing? + healthpercent = get HEALTH; + + if (healthpercent < 66) + { + // Emit a puff of smoke + + smoketype = SFXTYPE_BLACKSMOKE; + + if (rand( 1, 66 ) < healthpercent) + { + smoketype = SFXTYPE_WHITESMOKE; + } + + // Figure out which piece the smoke will emit from, and spit it out + +#if NUM_SMOKE_PIECES == 1 + emit-sfx smoketype from SMOKEPIECE1; +#else + choice = rand( 1, NUM_SMOKE_PIECES ); + + if (choice == 1) + { emit-sfx smoketype from SMOKEPIECE1; } + if (choice == 2) + { emit-sfx smoketype from SMOKEPIECE2; } + #if NUM_SMOKE_PIECES >= 3 + if (choice == 3) + { emit-sfx smoketype from SMOKEPIECE3; } + #if NUM_SMOKE_PIECES >= 4 + if (choice == 4) + { emit-sfx smoketype from SMOKEPIECE4; } + #endif + #endif +#endif + } + + // Delay between puffs + + sleeptime = healthpercent * 50; + if (sleeptime < 200) + { + sleeptime = 200; // Fastest rate is five times per second + } + + sleep sleeptime; + } +} + + +// Clean up pre-processor +#undef NUM_SMOKE_PIECES + +#endif \ No newline at end of file diff --git a/scripts/smoothanim.py b/scripts/smoothanim.py new file mode 100644 index 00000000000..027f08a732c --- /dev/null +++ b/scripts/smoothanim.py @@ -0,0 +1,233 @@ +import sys +import os + +import os +from optparse import OptionParser +usage = "usage: %prog -i inputbos -o outputbos -n minsleep -x maxsleep -a animspeeddefault -f forcesmooth, use -h for detailed help" +parser = OptionParser(usage=usage, version="%prog 1.0") +parser.add_option("-i", "--input", action="store", type="string", dest="infile",help="Input BOS file to be optimized") +parser.add_option("-o", "--output", action="store",type="string", dest="outfile", help="Output BOS file, defaults to overwrite!") +parser.add_option("-f", "--forcesmooth", action="store_true",default = False,dest="force", help="Force sleep [x]/currentspeed syntax") +parser.add_option("-n", "--minsleep", action="store", type="int",dest="minsleep", help="minimum sleep length to smooth", default=33 ) +parser.add_option("-x", "--maxsleep", action="store", type="int",dest="maxsleep", help="maximum sleep length to smooth",default = 400) +parser.add_option("-a", "--animspeed", action="store", type="int",dest="animspeed", help="default anim speed for wonky things",default = 65) +(options, args) = parser.parse_args() +print 'options:',options + +class Piece: + rx=0 + ry=0 + rz=0 + mx=0 + mz=0 + my=0 +if not options.infile: + print 'smoother needs at least a bos script specified! (-i)' + exit(1) +infile=options.infile +if options.outfile: + output=options.outfile +else: + output=options.infile +minsleep=options.minsleep +maxsleep=options.maxsleep +animspeed=options.animspeed +forcesmooth=options.force +pieces={} +#process the bos file +inputfile=open(infile).readlines() +wholefile=''.join([line.strip().partition('//')[0] for line in inputfile]) +piecenames=[pname.strip(' ,;') for pname in wholefile.partition('piece')[2].partition(';')[0].lower().strip().split(',')] +print piecenames +for p in piecenames: + if p!='': + pieces[p]={'move':{'x':0,'y':0,'z':0},'turn':{'x':0,'y':0,'z':0}} +print pieces +def parsebos(line,verbose=True): + #parses a move or turn command, returns false on any anomaly, + #else it returns a dict: {'c':command,'p':piece,'a':axis,'p':pos,'s':speed,'a':acc} + l=line + line=line.replace(' ',' ').lower().partition('//')[0] #remove commendte + line=line.strip().strip(';').split(' ') + + #move rleg to y-axis [0.250000] now; + if len(line)<5: + if verbose: + print 'line split is less than 5, not a proper move/turn command!', line,l + return False + + if line[0]!='turn' and line[0]!='move': + if verbose: + print 'line[0] is not turn or move',l + return False + else: + command=line[0] + + if line[1] not in pieces: + if verbose: + print 'invalid piece',l,'not in piecelist',pieces + return False + else: + piece=line[1] + + if line[2] != 'to': + if verbose: + print "line[2] != to",l + return False + + if '-axis' not in line[3] and not ('x-' in line[3] or 'y-' in line[3] or'z-' in line[3]): + if verbose: + print 'bad axis in line[3]',l + return False + else: + axis=line[3][0] + if axis not in 'xyz': + if verbose: + print 'axis fail!', l,line[3],line[3][0] + return False + + try: + if command == 'move' and ('[' not in line[4] or ']' not in line[4]): + if verbose: + print 'missing [ or ] in pos of move command',l + return False + elif command == 'turn' and ('<' not in line[4] or '>' not in line[4]): + if verbose: + print 'missing < or > in pos of turn command',l + return False + else: + pos=float(line[4].strip('[]<>')) + except ValueError: + if verbose: + print 'cant parse pos in',l,line + return False + + if line[5] == 'now': + speed='now' + elif line[5] == 'speed': + try: + if command == 'move' and ('[' not in line[6] or ']' not in line[6]): + if verbose: + print 'missing [ or ] in speed of move command',l + return False + elif command == 'turn' and ('<' not in line[6] or '>' not in line[6]): + if verbose: + print 'missing < or > in speed of turn command',l + return False + else: + speed=float(line[6].strip('[]<>')) + except: + if verbose: + print 'cant parse speed in',l,line + return False + else: + if verbose: + print 'bad line[6]',line[6],l + return False + if len(line)>=9 and line[7]=='accelerate': + try: + if command == 'move' and ('[' not in line[8] or ']' not in line[8]): + if verbose: + print 'missing [ or ] in speed of move command',l + return False + elif command == 'turn' and ('<' not in line[8] or '>' not in line[8]): + if verbose: + print 'missing < or > in speed of turn command',l + return False + else: + acc=float(line[8].strip('[]<>')) + except: + if verbose: + print 'cant parse accelerate in',l,line[8] + return False + else: + acc=0 + return {'c':command,'p':piece,'a':axis,'pos':pos,'s':speed,'acc':acc} +i=-1 +for line in inputfile: + i+=1 + if ('move' in line or 'turn' in line) and 'now' in line: # search ahead and find a sleep before a bracket-close + sleep=-1 + sleepline=-1 + for k in range(i+1,min(i+20,len(inputfile))): #search at most 20 lines ahead, unlikely there will a sleep that far ahead + #if there is another move-now after it, then we ignore that. + if parsebos(line,False) and parsebos(inputfile[k],False): + orig=parsebos(line,False) + if 'wait-for-'+orig['c'] in inputfile[k] and orig['p'] in inputfile[k] and orig['a']+'-axis' in inputfile[k]: + print 'There is a wait-for command referring to this piece on this axis, skipping',inputfile[k] + break + next=parsebos(inputfile[k],False) + if orig['c']==next['c'] and orig['p']==next['p'] and orig['a']==next['a']: + print 'There is an identical move order ',k-i,'lines after, we just need to update the piece pos!' + pieces[orig['p']][orig['c']][orig['a']]=orig['pos'] + break + + if 'sleep' in inputfile[k].partition('//')[0]: # .partition('//')[0] is the remove comment operator :D + if 'animSpeed' in inputfile[k].partition('//')[0]: + sleep='animSpeed' + break + elif'currentSpeed' in inputfile[k].partition('//')[0]: + sleep='currentSpeed' + try: + animspeed=int(inputfile[k].partition('sleep')[2].partition('/')[0])/100 + break + except ValueError: + print 'failed to parse sleep in line',inputfile[k],'skipping' + continue + + else: + try: + sleep=float(inputfile[k].partition('sleep')[2].partition(';')[0]) + sleepline=k + break + except ValueError: + print 'failed to parse sleep in line',inputfile[k],'skipping' + continue + if '}' in inputfile[k].partition('//')[0]: + print 'no sleep after now' + break + + if sleep=='animSpeed' or sleep=='currentSpeed' or (sleep>minsleep and sleep < maxsleep): # we have the sleep value, time to find the last position the piece was at before this new NOW command! + #important thing about sleep: #of frames= CEILING(sleep/33) (which means sleep 33 sleeps 2 frames!) + if parsebos(line): + bos=parsebos(line) + #print bos + oldpos=pieces[bos['p']][bos['c']][bos['a']] + if bos['s']=='now': + dist=abs(oldpos-bos['pos']) + if sleep=='animSpeed': + smanim=True + sleep=animspeed + else: + smanim=False + if sleep=='currentSpeed': + sleep=animspeed + smanim=True + sleep=(int(sleep)/33+1)*33+17 # +17 because this puts it in the middle, and since the anim is optimized for this, it will also look best! + #print sleep + speed=dist/(float(sleep)/990) + if dist!=0: + if bos['c']=='turn': + + s='speed <%f>'%(speed) + else: + s='speed [%f]'%(speed) + if smanim or forcesmooth: + s+=' * currentSpeed / 100' + inputfile[i]=line.replace('now',s) + if forcesmooth and sleepline>0: + inputfile[sleepline]=inputfile[sleepline].partition('sleep')[0]+'sleep '+str(sleep*100)+' / currentSpeed;\n' + + pieces[bos['p']][bos['c']][bos['a']]=bos['pos'] + else: + print 'error parsing line',i + +outf=open(output,'w') +outf.write(''.join(inputfile)) +outf.close() +print 'Done' + + + + + \ No newline at end of file diff --git a/scripts/standard_commands_gpl.h b/scripts/standard_commands_gpl.h new file mode 100644 index 00000000000..ea6dd96b3a0 --- /dev/null +++ b/scripts/standard_commands_gpl.h @@ -0,0 +1,70 @@ +// Argh's Standard Commands Script +// This script is released under the terms of the GNU license. +// It may be used by anyone, for any purpose, so long as you adhere to the GNU license. +// This script will not work with TAK compiling options, as I do not understand TAK scripts well enough to garantee that they will function as advertised. +#ifndef STANDARD_COMMANDS_GPL_H_ +#define STANDARD_COMMANDS_GPL_H_ +// +// Vector-based special effects +// +#define SFXTYPE_VTOL 1 +#define SFXTYPE_THRUST 2 +#define SFXTYPE_WAKE1 3 +#define SFXTYPE_WAKE2 4 +#define SFXTYPE_REVERSEWAKE1 5 +#define SFXTYPE_REVERSEWAKE2 6 +// +// Point-based (piece origin) special effects +// +#define SFXTYPE_POINTBASED 256 +#define SFXTYPE_WHITESMOKE (SFXTYPE_POINTBASED | 1) +#define SFXTYPE_BLACKSMOKE (SFXTYPE_POINTBASED | 2) +#define SFXTYPE_SUBBUBBLES 256 | 3 +// +#define SHATTER 1 // The piece will shatter instead of remaining whole +#define EXPLODE_ON_HIT 2 // The piece will explode when it hits the ground +#define FALL 4 // The piece will fall due to gravity instead of just flying off +#define SMOKE 8 // A smoke trail will follow the piece through the air +#define FIRE 16 // A fire trail will follow the piece through the air +#define BITMAPONLY 32 // The piece will just show the default explosion bitmap. +#define NOCEGTRAIL 64 // Disables the cegtrail for the specific piece (defined in the unit fbi) +// +// Bitmap Explosion Types +// +#define BITMAP_GPL 10000001 +// +// Indices for set/get value +#define ACTIVATION 1 // set or get +#define STANDINGMOVEORDERS 2 // set or get +#define STANDINGFIREORDERS 3 // set or get +#define HEALTH 4 // get (0-100%) +#define INBUILDSTANCE 5 // set or get +#define BUSY 6 // set or get (used by misc. special case missions like transport ships) +#define PIECE_XZ 7 // get +#define PIECE_Y 8 // get +#define UNIT_XZ 9 // get +#define UNIT_Y 10 // get +#define UNIT_HEIGHT 11 // get +#define XZ_ATAN 12 // get atan of packed x,z coords +#define XZ_HYPOT 13 // get hypot of packed x,z coords +#define ATAN 14 // get ordinary two-parameter atan +#define HYPOT 15 // get ordinary two-parameter hypot +#define GROUND_HEIGHT 16 // get +#define BUILD_PERCENT_LEFT 17 // get 0 = unit is built and ready, 1-100 = How much is left to build +#define YARD_OPEN 18 // set or get (change which plots we occupy when building opens and closes) +#define BUGGER_OFF 19 // set or get (ask other units to clear the area) +#define ARMORED 20 // SET or GET. Turns on the Armored state. +#define IN_WATER 28 // GET only. If unit position Y less than 0, then the unit must be in water (0 Y is the water level). +#define CURRENT_SPEED 29 // SET only, if I'm reading the code right. Gives us a new speed for the next frame ONLY. +#define VETERAN_LEVEL 32 // SET or GET. Can make units super-accurate, or keep them inaccurate. +#define MAX_ID 70 // GET only. Returns maximum number of units - 1 +#define MY_ID 71 // GET only. Returns ID of current unit +#define UNIT_TEAM 72 // GET only. Returns team of unit given with parameter +#define UNIT_BUILD_PERCENT_LEFT 73 // GET only. BUILD_PERCENT_LEFT, but comes with a unit parameter. +#define UNIT_ALLIED 74 // GET only. Is this unit allied to the unit of the current COB script? 1=allied, 0=not allied +#define MAX_SPEED 75 // SET only. Alters MaxVelocity for the given unit. +#define POW 80 +#define PRINT 81 +#define HEADING 82 +// +#endif // STANDARD_COMMANDS_GPL_H_ \ No newline at end of file diff --git a/scripts/statechg.h b/scripts/statechg.h new file mode 100644 index 00000000000..3003e1c4f2b --- /dev/null +++ b/scripts/statechg.h @@ -0,0 +1,83 @@ +// StateChg.h -- Generic State Change support for units that activate and deactivate or whatever + +// Due to limitiations of the scripting language, this file must be included twice. The +// first time must be where the static variables are declared. The second time must be +// where the functions are defined (and of course before they are called.) + +// The Following macros must be defined: ACTIVATECMD and DEACTIVATECMD. They are the commands +// to run when the units is actiavted or deactivated. + +#ifndef STATECHG_1_ +#define STATECHG_1_ + +// State variables + +static-var statechg_DesiredState, statechg_StateChanging; + +#else + +#ifndef STATECHG_2_ +#define STATECHG_2_ + +// The states that can be requested + +#define ACTIVE 0 +#define INACTIVE 1 + +// State change request functions + +InitState() + { + // Initial state + statechg_DesiredState = INACTIVE; + statechg_StateChanging = FALSE; + } + + +RequestState( requestedstate ) + { + var actualstate; + + // Is it busy? + if (statechg_StateChanging) + { + // Then just tell it how we want to end up. A script is already running and will take care of it. + statechg_DesiredState = requestedstate; + return 0; + } + + // Keep everybody else out + statechg_StateChanging = TRUE; + + // Since nothing was running, the actual state is the current desired state + actualstate = statechg_DesiredState; + + // State our desires + statechg_DesiredState = requestedstate; + + // Process until everything is right and decent + while (statechg_DesiredState != actualstate) + { + // Change the state + + if (statechg_DesiredState == ACTIVE) + { + ACTIVATECMD + actualstate = ACTIVE; + } + + if (statechg_DesiredState == INACTIVE) + { + DEACTIVATECMD + actualstate = INACTIVE; + } + } + + // Okay, we are finshed + statechg_StateChanging = FALSE; + } + +#else +// We should never get here. Introduce an error yelp! +#endif +#endif \ No newline at end of file diff --git a/scripts/tilt_bank_mobileunit.h b/scripts/tilt_bank_mobileunit.h deleted file mode 100644 index 7fc3930b545..00000000000 --- a/scripts/tilt_bank_mobileunit.h +++ /dev/null @@ -1,184 +0,0 @@ -// Author Beherith (mysterme@gmail.com) -// tilt_bank_mobileunit.h -// This header defines wether a unit shoud tilt forward and backward when accelerating -// And wether it should lean bank left and right when turning -// NOTE: -//1. Needs the following, with the defaults shown below. Redefine them if you want to change defaults -/* -#define TB_BASE base -#define TB_TURNRATE <30.0> -#define TB_TILT_X <0.1> -#define TB_BANK_Z <0.03> // Do not define this if you dont want banking -#define TB_FRAMES 3 // how frequently you want updates -#include "../tilt_bank_mobileunit.h" - -2. In Create() You must add -call-script TB_Init(); - -3. To the end of StartMoving you must add START_TILTBANK -StartMoving(reversing) -{ - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; - - START_TILTBANK; -} - - -4. To the end of StopMoving You must add STOP_TILTBANK -StopMoving() -{ - signal SIGNAL_MOVE; - - STOP_TILTBANK; -} - - -Perf Note: -About 80% of turns and moves executed here are actually non-empty turns. So if-gating them might not even be worth it. -*/ - -#ifndef WRAPDELTA - #define WRAPDELTA(angle) (((angle + 98280) % 65520) - 32760) -#endif - -// Which piece to tilt and bank -#ifndef TB_BASE - #define TB_BASE base -#endif - -// How quickly to tilt and bank -#ifndef TB_TURNRATE - #define TB_TURNRATE <30> -#endif - -// How much effect acceleration has on forward-backward tilting -#ifndef TB_TILT_X - #define TB_TILT_X <0.1> -#endif - -#ifndef TB_CANREVERSE - #define TB_CANREVERSE 0 -#endif - - -#ifndef TB_FRAMES - #define TB_FRAMES 3 -#endif - -#define TB_ACCURACY 1000 - -#ifdef TB_BANK_Z - - static-var TB_prevHeading, TB_prevSpeed, TB_maxSpeed; - - TB_Init(){ - TB_maxSpeed = get MAX(10000, get MAX_SPEED); // Make sure it is not zero in case we are stunned on create - TB_prevHeading = get HEADING; - TB_prevSpeed = 0; - } - - #define START_TILTBANK TB_prevHeading = get HEADING; \ - TB_prevSpeed = 0; \ - start-script TiltBank(reversing); - - #define STOP_TILTBANK TB_prevHeading = get HEADING; \ - TB_prevSpeed = 0; \ - turn TB_BASE to z-axis <0> speed TB_TURNRATE; \ - turn TB_BASE to x-axis <0> speed TB_TURNRATE; - - -#else - static-var TB_prevSpeed, TB_maxSpeed; - - TB_Init(){ - TB_maxSpeed = get MAX(10000, get MAX_SPEED); // Make sure it is not zero in case we are stunned on create - TB_prevSpeed = 0; - } - - #define START_TILTBANK TB_prevSpeed = 0; \ - start-script TiltBank(reversing); - - #define STOP_TILTBANK TB_prevSpeed = 0; \ - turn TB_BASE to x-axis <0> speed TB_TURNRATE; -#endif - - - -TiltBank(reversing) -{ - // Could probably get away with half as many local vars... - var TB_currSpeed; - var deltaSpeed; - - #ifdef TB_BANK_Z - var TB_currHeading; - var deltaHeading; - #endif - #ifdef PROFILE - var nt; - nt = 0; - var nn; - nn = 0; - #endif - while(1) - { - // get current - TB_currSpeed = (get CURRENT_SPEED) * TB_ACCURACY / (TB_maxSpeed); - - #ifdef TB_BANK_Z - TB_currHeading = get HEADING; - #endif - - // calc deltas - deltaSpeed = (TB_currSpeed - TB_prevSpeed) / TB_FRAMES; - - // Less braking effect: - if (deltaSpeed < 0) deltaSpeed = deltaSpeed/2; - - #ifdef TB_BANK_Z - // adjust heading with speed - deltaHeading = (WRAPDELTA(TB_currHeading - TB_prevHeading) ) / TB_FRAMES; - deltaHeading = deltaHeading * TB_currSpeed / (TB_ACCURACY * 10); - #endif - - #if TB_CANREVERSE == 1 - // Reversing isnt very reliable, but can be used here to flip directions - if (reversing){ - deltaHeading = -1 * deltaHeading; - deltaSpeed = -1 * deltaSpeed; - } - #endif - //dbg(deltaSpeed, deltaHeading, reversing); - if (TB_prevSpeed != TB_currSpeed){ - turn TB_BASE to x-axis deltaSpeed * (-1 * TB_TILT_X) speed TB_TURNRATE; - TB_prevSpeed = TB_currSpeed; - - #ifdef PROFILE - nt = nt + 1; - #endif - } - - #ifdef TB_BANK_Z - if (TB_prevHeading != TB_currHeading){ - turn TB_BASE to z-axis deltaHeading * (-1 * TB_BANK_Z) speed TB_TURNRATE; - TB_prevHeading = TB_currHeading; - - #ifdef PROFILE - nt = nt + 1; - #endif - } - #endif - - #ifdef PROFILE - nn = nn + 2; - if (nn % 100 == 0){ - get PRINT((nt*100)/nn); - } - #endif - //move TB_BASE to y-axis ((tilt* tilt) * [0.005]) now; - - - sleep (32 * TB_FRAMES); - } -} \ No newline at end of file diff --git a/scripts/tilt_bank_submarine.h b/scripts/tilt_bank_submarine.h deleted file mode 100644 index f5099c9d51a..00000000000 --- a/scripts/tilt_bank_submarine.h +++ /dev/null @@ -1,169 +0,0 @@ -// Author Beherith (mysterme@gmail.com) -// tilt_bank_submarine.h -// This header defines wether a submarine should tilt up and down on terrian height changes -// And wether it should lean bank left and right when turning -// NOTE: -//1. Needs the following, with the defaults shown below. Redefine them if you want to change defaults -/* -#define TB_BASE base -#define TB_TURNRATE <30.0> -#define TB_TILT_X <0.1> -#define TB_BANK_Z <0.03> // Do not define this if you dont want banking -#define TB_FRAMES 3 // how frequently you want updates -#include "../tilt_bank_submarine.h" - -2. In Create() You must add -call-script TB_Init(); - -3. To the end of StartMoving you must add START_TILTBANK -StartMoving(reversing) -{ - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; - - START_TILTBANK; -} - - -4. To the end of StopMoving You must add STOP_TILTBANK -StopMoving() -{ - signal SIGNAL_MOVE; - - STOP_TILTBANK; -} - -Additional TODO: -- [ ] It would be very nice if the turn speed was abs-maxed to ensure smoothness -*/ - -#ifndef WRAPDELTA - #define WRAPDELTA(angle) (((angle + 98280) % 65520) - 32760) -#endif - -// Which piece to tilt and bank -#ifndef TB_BASE - #define TB_BASE base -#endif - -// How quickly to tilt and bank -#ifndef TB_TURNRATE - #define TB_TURNRATE <30> -#endif - -// How much effect acceleration has on forward-backward tilting -#ifndef TB_TILT_X - #define TB_TILT_X <0.1> -#endif - -// If the unit can reverse -#ifndef TB_CANREVERSE - #define TB_CANREVERSE 0 -#endif - -// How often to update -#ifndef TB_FRAMES - #define TB_FRAMES 2 -#endif - -#ifdef TB_WAKE_PIECE - // Period of updates - #ifndef TB_WAKE_PERIOD - #define TB_WAKE_PERIOD 8 - #endif - - #ifndef TB_WAKE_BUBBLES - #define TB_WAKE_BUBBLES 259 - #endif -#endif - -#define TB_ACCURACY 1000 - -// Prev and Delta share a variable -static-var TB_prevHeadingDelta, TB_maxSpeed, TB_prevHeightDelta, TB_currHeadingORHeight; - -TB_Init(){ - TB_maxSpeed = get MAX(20000, get MAX_SPEED); // Make sure it is not zero in case we are stunned on create - TB_prevHeadingDelta = get HEADING; - TB_prevHeightDelta = get UNIT_Y; -} - -#define START_TILTBANK TB_prevHeadingDelta = get HEADING; \ - TB_prevHeightDelta = get UNIT_Y; \ - start-script TiltBank(reversing); - -#define STOP_TILTBANK TB_prevHeadingDelta = get HEADING; \ - TB_prevHeightDelta = get UNIT_Y; \ - turn TB_BASE to z-axis <0> speed TB_TURNRATE; \ - turn TB_BASE to x-axis <0> speed TB_TURNRATE; - - -TiltBank(reversing) -{ - // Could probably get away with half as many local vars... - #ifdef TB_WAKE_PIECE - var tb_frame; - tb_frame = 0; - #endif - while(1) - { - // Get unit hieght - TB_currHeadingORHeight = get UNIT_Y; - - // calc deltas - TB_prevHeightDelta = (TB_currHeadingORHeight - TB_prevHeightDelta) / (TB_FRAMES * 1024); - - #if TB_CANREVERSE == 1 - // Reversing isnt very reliable, but can be used here to flip directions - if (reversing){ TB_prevHeightDelta = -1 * TB_prevHeightDelta;} - #endif - // Tilt the unit if new target differs from old - if (TB_prevHeightDelta != TB_currHeadingORHeight){ - turn TB_BASE to x-axis (TB_prevHeightDelta * TB_TILT_X) speed TB_TURNRATE; - //dbg(TB_prevHeightDelta); - // Store the value - TB_prevHeightDelta = TB_currHeadingORHeight; - } - - // get current heading - TB_currHeadingORHeight = get HEADING; - // calculate the delta - TB_prevHeadingDelta = (WRAPDELTA(TB_currHeadingORHeight - TB_prevHeadingDelta) ) / TB_FRAMES; - // modulate heading with speed - TB_prevHeadingDelta = TB_prevHeadingDelta * ((get CURRENT_SPEED) * TB_ACCURACY / (TB_maxSpeed)) / (TB_ACCURACY * 10); - - #if TB_CANREVERSE == 1 - // Reversing isnt very reliable, but can be used here to flip directions - if (reversing){ TB_prevHeadingDelta = -1 * TB_prevHeadingDelta; } - #endif - - //Bank the unit if its turning - if (TB_prevHeadingDelta != TB_currHeadingORHeight){ - - turn TB_BASE to z-axis TB_prevHeadingDelta * ( TB_BANK_Z) speed TB_TURNRATE; - TB_prevHeadingDelta = TB_currHeadingORHeight; - } - - // Emit bubbles and wake from back of sub - #ifdef TB_WAKE_PIECE - tb_frame = (tb_frame + 1 ) % TB_WAKE_PERIOD; - - if (tb_frame == 0){ - emit-sfx TB_WAKE_BUBBLES from TB_WAKE_PIECE; - } - - if (tb_frame == TB_WAKE_PERIOD/2){ - #ifdef TB_WAKE_PIECE2 - emit-sfx TB_WAKE_BUBBLES from TB_WAKE_PIECE2; - #else - emit-sfx TB_WAKE_BUBBLES from TB_WAKE_PIECE; - #endif - #ifdef TB_WAKE_FOAM - emit-sfx TB_WAKE_FOAM from TB_WAKE_PIECE; - #endif - } - #endif - - sleep (32 * TB_FRAMES); - } -} \ No newline at end of file diff --git a/scripts/unitDefsTurretSpeeds.h b/scripts/unitDefsTurretSpeeds.h new file mode 100644 index 00000000000..c3094074203 --- /dev/null +++ b/scripts/unitDefsTurretSpeeds.h @@ -0,0 +1,68 @@ +/* unitDefsTurretSpeeds.h -- sets turret speed via unitDefs (through lua gadget Spring.CallCOBScript()) + The following variables are assumed to exist: + Weapon1TurretX, Weapon1TurretY + ... + Weapon10TurretX, Weapon10TurretY +*/ + +static-var Weapon1TurretX, Weapon1TurretY; +static-var Weapon2TurretX, Weapon2TurretY; +static-var Weapon3TurretX, Weapon3TurretY; +static-var Weapon4TurretX, Weapon4TurretY; +static-var Weapon5TurretX, Weapon5TurretY; +static-var Weapon6TurretX, Weapon6TurretY; +static-var Weapon7TurretX, Weapon7TurretY; +static-var Weapon8TurretX, Weapon8TurretY; +static-var Weapon9TurretX, Weapon9TurretY; +static-var Weapon10TurretX, Weapon10TurretY; + +SetWeapon1TurretSpeed(var1,var2) +{ + Weapon1TurretX = var1; + Weapon1TurretY = var2; +} +SetWeapon2TurretSpeed(var1,var2) +{ + Weapon2TurretX = var1; + Weapon2TurretY = var2; +} +SetWeapon3TurretSpeed(var1,var2) +{ + Weapon3TurretX = var1; + Weapon3TurretY = var2; +} +SetWeapon4TurretSpeed(var1,var2) +{ + Weapon4TurretX = var1; + Weapon4TurretY = var2; +} +SetWeapon5TurretSpeed(var1,var2) +{ + Weapon5TurretX = var1; + Weapon5TurretY = var2; +} +SetWeapon6TurretSpeed(var1,var2) +{ + Weapon6TurretX = var1; + Weapon6TurretY = var2; +} +SetWeapon7TurretSpeed(var1,var2) +{ + Weapon7TurretX = var1; + Weapon7TurretY = var2; +} +SetWeapon8TurretSpeed(var1,var2) +{ + Weapon8TurretX = var1; + Weapon8TurretY = var2; +} +SetWeapon9TurretSpeed(var1,var2) +{ + Weapon9TurretX = var1; + Weapon9TurretY = var2; +} +SetWeapon10TurretSpeed(var1,var2) +{ + Weapon10TurretX = var1; + Weapon10TurretY = var2; +} \ No newline at end of file diff --git a/scripts/unit_hitbyweaponid_and_smoke.h b/scripts/unit_hitbyweaponid_and_smoke.h index 4f637c9b9aa..b1427a10705 100644 --- a/scripts/unit_hitbyweaponid_and_smoke.h +++ b/scripts/unit_hitbyweaponid_and_smoke.h @@ -1,182 +1,54 @@ -// Author Beherith (mysterme@gmail.com) -// unit_hitbyweaponid_and_smoke.h -// This header defines wether a unit should rock when hit by a weapon -// And wether it should emit smoke if the unit's health is below a threshold -// Note: DO NOT use this if you intend to use the HitByWeaponId or HitByWeapon callins! -// NOTE: Due to the architecture, reloading a cob script while a unit isSmoking wont clear the static var so it wont ever smoke again // Needs the following //#define BASEPIECE base //#define HITSPEED <20.0> +//how 'heavy' the unit is, on a scale of 1-10 //#define UNITSIZE 5 -//#define MAXTILT 200 // Set to 0 for not tilting -//#define RECOIL_POWER 1000 // how strongly to rock backwards on recoil, usually about 10000 -// #include "unit_hitbyweaponid_and_smoke.h" - -// Where the smoke should be emitted from -#ifndef BASEPIECE - #define BASEPIECE base -#endif - -// How much tilt is allowed, set to 0 for no movement -#define MAXTILT 100 -#ifndef MAXTILT - #define MAXTILT 200 -#endif - -// How fast the unit should tilt when hit -#ifndef HITSPEED - #define HITSPEED <20.0> -#endif - -// How fast the unit should tilt when hit -#ifndef RESTORESPEED - #define RESTORESPEED (HITSPEED/4) -#endif - -// How 'heavy' the unit is, on a scale of 1-10 -#ifndef UNITSIZE - #define UNITSIZE 5 -#endif - -// How strongly to rock backwards on recoil, usually about 20000 -// Negative numbers will recoil forwards, can be useful at times -#ifndef RECOIL_POWER - #define RECOIL_POWER 0 -#endif - -// The health percentage threshold below which the unit will emit smoke -#ifndef HEALTH_SMOKE_THRESHOLD - #define HEALTH_SMOKE_THRESHOLD 65 -#endif - -#ifndef EXTRA_SLEEP - #define EXTRA_SLEEP 65 -#endif +//#define MAXTILT 200 +// #include "smokeunit_thread.h" +HitByWeapon(anglex, anglez, damage) // angle[x|z] is always [-500;500], damage is multiplied by 100 +{ + var amount;//, speedz, speedx; + amount = damage / (100 * UNITSIZE); + if (amount < 3 ) return (0); + if (amount > MAXTILT) amount = MAXTILT; + //get PRINT(anglex, anglez, amount, damage); + //speedz = HITSPEED * get ABS(anglez) / 500; //nevermind this, the random error this produces actually looks better than the accurate version + turn BASEPIECE to z-axis (anglez * amount) / 100 speed HITSPEED; + turn BASEPIECE to x-axis <0> - (anglex * amount) /100 speed HITSPEED; + wait-for-turn BASEPIECE around z-axis; + wait-for-turn BASEPIECE around x-axis; + turn BASEPIECE to z-axis <0.000000> speed HITSPEED / 4; + turn BASEPIECE to x-axis <0.000000> speed HITSPEED / 4; +} static-var isSmoking; - -#if MAXTILT > 0 - // angle[x|z] is always [-500;500; weaponID is always 0,lasers and flamers give angles of 0; damage is x100 - // MUST IMMEDIATELY RETURN DAMAGE AMOUNT! - HitByWeaponId(anglex, anglez, weaponid, damage) - { - //dbg(anglex, anglez, weaponid, damage); - #if HEALTH_SMOKE_THRESHOLD > 1 - // Dont do anything if we are being built - if (get BUILD_PERCENT_LEFT) return (100); - // Dont start a damagedSmoke thread if we arent low health - if ((get HEALTH) > HEALTH_SMOKE_THRESHOLD){ - // Start a thread if werent previously smoking - if (isSmoking == 0) { - isSmoking = 1; - start-script DamagedSmoke(); - } - } - #endif - // this must be start-scripted, because we need to return the full damage taken immediately - start-script HitByWeapon(damage, anglez, anglex); //I dont know why param order must be switched, and this also runs a frame later :( - return (100); //return damage percent - } - - // angle[x|z] is always [-500;500], but engine does not give us damage, hence the need for HitByWeaponId - HitByWeapon(anglex, anglez, damageamount){ - - //dbg(anglex, anglez, damageamount); - damageamount = damageamount / (100 * UNITSIZE); - if (damageamount < 3 ) return (0); - - // While signals could be used here, it doesnt help the looks really. - - //#define SIGNAL_RECOIL 65536 - //signal SIGNAL_RECOIL; - //set-signal-mask SIGNAL_RECOIL; - - if (damageamount > MAXTILT) damageamount = MAXTILT; - turn BASEPIECE to z-axis (anglez * damageamount) / 100 speed HITSPEED; - turn BASEPIECE to x-axis <0> - (anglex * damageamount) /100 speed HITSPEED; - - // The astute will notice that since the speed on both axes is the same, these will wait more. - // This looks subjectively better than an even speed along both axes - #ifdef WAIT_SLEEP - //var dt; - //dt = get GAME_FRAME; - //dbg(); - wait-for-turn BASEPIECE around z-axis; - wait-for-turn BASEPIECE around x-axis; - //dbg(); - //dt = (get GAME_FRAME) - dt; - - //var maxTime; - //maxTime = (get MAX( get ABS(anglez), get ABS(anglex))); - //maxTime = EXTRA_SLEEP + (((maxTime * damageamount / 100 ))* 1000 )/ HITSPEED ; - //dbg(maxTime/33, dt); - #else - // alternative approach is to use calculate the needed sleep time, its about 50 cmds; - - var maxTime; - maxTime = (get MAX( get ABS(anglez), get ABS(anglex))); - maxTime = EXTRA_SLEEP + (((maxTime * damageamount / 100 ))* 1000 )/ HITSPEED ; - //dbg(maxTime, anglex, anglez); - // Add an extra frame to 'wait' at the desired target - sleep maxTime; - #endif - - turn BASEPIECE to z-axis <0.0> speed RESTORESPEED; - turn BASEPIECE to x-axis <0.0> speed RESTORESPEED; - } - - #if RECOIL_POWER != 0 - RockUnit(anglex,anglez){ - #if RECOIL_POWER > 0 - start-script HitByWeapon(RECOIL_POWER,-1 *anglez, -1*anglex); - #else - start-script HitByWeapon(-1 * RECOIL_POWER, anglez, anglex); - #endif - } - #endif - -#else - HitByWeapon(anglex, anglez) // angle[x|z] is always [-500;500], but engine does not give us damage, hence the need for HitByWeaponId - { - #if (HEALTH_SMOKE_THRESHOLD > 1) - // Dont even start a thread if we arent low health - if ((get HEALTH) > HEALTH_SMOKE_THRESHOLD) return (100); - // Dont start a thread if we are being built - if (get BUILD_PERCENT_LEFT) return (100); - // Start a thread if werent previously smoking - if (isSmoking == 0) { - isSmoking = 1; - start-script DamagedSmoke(); - } - #endif - } -#endif - -DamagedSmoke() // ah yes, clever use of stack variables +SmokeUnit(healthpercent) // ah yes, clever use of stack variables { - var current_health_pct; // [0-100] while( TRUE ) { - current_health_pct = get HEALTH; - if (current_health_pct > HEALTH_SMOKE_THRESHOLD) { + healthpercent = get HEALTH; + if (healthpercent > 66) { + sleep 97; isSmoking = 0; return; } + if (healthpercent < 4 ) healthpercent = 4; + sleep healthpercent * 50; - if (current_health_pct < 4) current_health_pct = 4; - - // Less health means blacker smoke - if( Rand( 1, HEALTH_SMOKE_THRESHOLD ) < current_health_pct ) { - emit-sfx 257 from BASEPIECE; - } - else { - emit-sfx 258 from BASEPIECE; - } - - // Sleep after emission to get immediate visual of unit taking damage via smoke effect - sleep (current_health_pct * 50); + if( Rand( 1, 66 ) < healthpercent ) emit-sfx 257 from BASEPIECE; + else emit-sfx 258 from BASEPIECE; } } +HitByWeaponId(anglex, anglez, weaponid, dmg) //weaponID is always 0,lasers and flamers give angles of 0 +{ + if( get BUILD_PERCENT_LEFT) return (100); + if (isSmoking == 0) { + isSmoking = 1; + start-script SmokeUnit(); + } + start-script HitByWeapon(dmg, anglez,anglex); //I dont know why param order must be switched, and this also runs a frame later :( + return (100); //return damage percent +} \ No newline at end of file diff --git a/scripts/vehicle_dirt_cegs.h b/scripts/vehicle_dirt_cegs.h deleted file mode 100644 index a4865c32dc3..00000000000 --- a/scripts/vehicle_dirt_cegs.h +++ /dev/null @@ -1,79 +0,0 @@ -// For emitting dirt while moving -// Always ensure this is start-scripted from StartMoving(reversing), with a signal mask on move! - -//#define VD_PIECE1 smoke1 -//#define VD_PIECE2 smoke2 -//#define VD_PIECE3 smoke3 - -// To emit bubbles underwater -//#define VD_AMPHIBIOUS - -/* - -StartMoving(reversing){ - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; - start-script Vehicle_Dirt_Ceg(); -} -*/ - -// default first ceg -#ifndef VD_DIRTCEG - #define VD_DIRTCEG 1024 -#endif - -// default bubbles ceg -#ifndef VD_BUBBLECEG - #define VD_BUBBLECEG 259 -#endif - -// Ensure minsleep is >1 -#ifndef VD_MINSLEEP - #define VD_MINSLEEP 29 -#endif - - -Vehicle_Dirt_Ceg(){ - var VD_moveSpeed; - VD_moveSpeed = get MAX_SPEED; - var VD_currentSpeed; - while (TRUE){ - VD_currentSpeed = (get CURRENT_SPEED) * 20 / VD_moveSpeed; - if (VD_currentSpeed < 4) VD_currentSpeed = 4; - VD_currentSpeed = 1800/VD_currentSpeed + VD_MINSLEEP + 1; - - if (get IN_WATER) { - #ifdef VD_AMPHIBIOUS - #ifdef VD_PIECE1 - emit-sfx VD_BUBBLECEG from VD_PIECE1; - #endif - - #ifdef VD_PIECE2 - emit-sfx VD_BUBBLECEG from VD_PIECE2; - #endif - - #ifdef VD_PIECE2 - emit-sfx VD_BUBBLECEG from VD_PIECE2; - #endif - #endif - }else{ - #ifdef VD_PIECE1 - emit-sfx VD_DIRTCEG from VD_PIECE1; - #endif - - #ifdef VD_PIECE2 - emit-sfx VD_DIRTCEG from VD_PIECE2; - #endif - - #ifdef VD_PIECE2 - emit-sfx VD_DIRTCEG from VD_PIECE2; - #endif - } - - sleep VD_currentSpeed; - } -} - - - - diff --git a/scripts/weapon1control.h b/scripts/weapon1control.h index f4987dea45c..3b39e9684c4 100644 --- a/scripts/weapon1control.h +++ b/scripts/weapon1control.h @@ -16,99 +16,104 @@ AimWeapon1(heading, pitch) [...] start-script Weapon1Drawn(); -- can call a function that draws weapons and then calls Weapon1Drawn() when done if there is an actual animation (ie pw) [...] -- Remove animations from aimWeapon scripts (use a DrawWeapon1() if an animation is needed, weapon1control will rotate the different aimpieces) - start-script Weapon1SetWantedAim(heading, pitch); + start-script Weapon1SetWtdAim(heading, pitch); [...] - return (canFire); + return (aim1); } -static-var Stunned; -ExecuteRestoreAfterDelay() +RestoreAfterDelay() { - if (Stunned) { - return (1); - } - start-script RestoreWeapon1(); - + [...] + sleep sleeptime;start-script RestoreWeapon1(); + [...] -- other animations; call-script Weapon1Restored(); [...] -- tell script wpn has been restored if needed for walkscripts } -SetStunned(State) -{ - Stunned = State; - if (!Stunned) { - start-script ExecuteRestoreAfterDelay(); - } -} -RestoreAfterDelay() -{ - [...] - sleep sleeptime; - start-script ExecuteRestoreAfterDelay(); -} - Weapon1Control moves the aim pieces depending on turretSpeeds, sets pitch = 1 when pitch reached and head = 1 when head reached - Weapon1Drawn allows unit to fire by setting wpnReady1 = 1 -- if pitch = 1, head = 1 and wpnReady = 1 then the weapon can shoot: canFire = 1 and aimweapon returns canFire +- if pitch = 1, head = 1 and wpnReady = 1 then the weapon can shoot: aim1 = 1 and aimweapon returns aim1 - Restore animations go in RestoreAfterDelay, RestoreWeapon1() restores aimy and aimx pieces orientation, Weapon1Restored() waits for these pieces to be restored - Avoid wait-for-turn in AimWeapon and/or Weapon1Control as much as possible. If you have to (ie DrawWeapon1 of armpw, make sure you don't have multiple turns stacking with different goals - -Notes 2024.04 Beherith --- Static_Var_Weapon1Control is unused --- Refactoring to use better, simpler code --- (1.0 us mean instead of 3us) --- Remember, that when start-scripted, Weapon1Control runs 1 frame late, this is bad on a reaimtime of 2 --- because the new aim thread will terminate the old one, hence the need for SIGNAL_CUSTOM */ -static-var curHead1, wantedHead1, curPitch1, wantedPitch1, canFire, wpnReady1; - +static-var curHead1, wtdHead1, head1, curPitch1, wtdPitch1, pitch1, aim1, wpnReady1; Weapon1Control() { - - signal SIGNAL_CUSTOM; - set-signal-mask SIGNAL_CUSTOM; - var deltaangle; - while (TRUE) { - // Start off assuming that we are ready to fire: - canFire = 1; - - deltaangle = WRAPDELTA(curHead1 - wantedHead1); - - //dbg(curHead1, curPitch1, deltaangle); - - // If we are further off than how much we can turn in one frame, then we arent ready - if (ABSOLUTE_GREATER_THAN(deltaangle,(Weapon1TurretY / 30))){ - // We arent ready to fire: - canFire = 0; - curHead1 = curHead1 - (SIGN(deltaangle))* (Weapon1TurretY / 30); - }else{ - curHead1 = wantedHead1; + if (curHead1 > <180>) + { + curHead1 = <-360> + curHead1; } - - // Calculate current difference between wanted and actual angle: - deltaangle = WRAPDELTA(curPitch1 - wantedPitch1); - // If we are further off than how much we can turn in one frame, then we arent ready - if (ABSOLUTE_GREATER_THAN(deltaangle,(Weapon1TurretX / 30))){ - // We arent ready to fire: - canFire = 0; - curPitch1 = curPitch1 - (SIGN(deltaangle))* (Weapon1TurretX / 30); - }else{ - curPitch1 = wantedPitch1; + if (curPitch1 > <180>) + { + curPitch1 = <-360> + curPitch1; } - - canFire = canFire && wpnReady1; - // Do it with speed instead of now so that the execution of these can be done in a multithreaded way - turn aimy1 to y-axis curHead1 speed Weapon1TurretY; - turn aimx1 to x-axis curPitch1 speed Weapon1TurretX; - - // Bailing out doesnt work well, as it leaves canFire in a true state, remember to: - // canfire = ABSOLUTE_LESS_THAN(WRAPDELTA(heading - curHead1),(Weapon1TurretX / 30)); - if (canFire) return 0; - else sleep 32; + if (curHead1 < <-180>) + { + curHead1 = <360> + curHead1; + } + if (curPitch1 < <-180>) + { + curPitch1 = <360> + curPitch1; + } + if (Static_Var_3 == 1) + { + if (((get ABS(curHead1 - wtdHead1)) > <360>) OR(((get ABS(curHead1 - wtdHead1)) > (Weapon1TurretY / 30)) AND ((get ABS(curHead1 - wtdHead1)) < <360> - (Weapon1TurretY / 30)))) + { + head1 = 0; + if(curHead1 < wtdHead1) { + if(get ABS(curHead1 - wtdHead1)< <180>) + curHead1 = curHead1 + (Weapon1TurretY / 30); + else curHead1 = curHead1 - (Weapon1TurretY / 30); + } + + else { + if(get ABS(curHead1 - wtdHead1)< <180>) + curHead1 = curHead1 - (Weapon1TurretY / 30); + else curHead1 = curHead1 + (Weapon1TurretY / 30); + } + } + else + { + head1 = 1; + curHead1 = wtdHead1; + } + if (((get ABS(curPitch1 - wtdPitch1)) > <360>) OR(((get ABS(curPitch1 - wtdPitch1)) > (Weapon1TurretX / 30)) AND ((get ABS(curPitch1 - wtdPitch1)) < <360> - (Weapon1TurretX / 30)))) + { + pitch1 = 0; + if(curPitch1 < wtdPitch1) { + if(get ABS(curPitch1 - wtdPitch1)< <180>) + curPitch1 = curPitch1 + (Weapon1TurretX / 30); + else curPitch1 = curPitch1 - (Weapon1TurretX / 30); + } + + else { + if(get ABS(curPitch1 - wtdPitch1)< <180>) + curPitch1 = curPitch1 - (Weapon1TurretX / 30); + else curPitch1 = curPitch1 + (Weapon1TurretX / 30); + } + } + else + { + pitch1 = 1; + curPitch1 = wtdPitch1; + } + if (pitch1 == 1 AND head1 == 1 AND wpnReady1 == 1 AND wtdHead1 != 0) + { + aim1 = 1; + } + else + { + aim1 = 0; + } + turn aimy1 to y-axis curHead1 now; + turn aimx1 to x-axis curPitch1 now; + } + sleep 1; } } @@ -116,20 +121,21 @@ InitialSetup1() { curHead1 = 0; curPitch1 = 0; - wantedHead1 = 0; - wantedPitch1 = 0; + wtdHead1 = 0; + wtdPitch1 = 0; wpnReady1 = 0; start-script Weapon1Control(); } -#define Weapon1Drawn() wpnReady1 = 1 - +Weapon1Drawn() +{ + wpnReady1 = 1; +} RestoreWeapon1() { - wantedHead1 = 0; - wantedPitch1 = 0; - start-script Weapon1Control(); + wtdHead1 = 0; + wtdPitch1 = 0; } Weapon1Restored() @@ -139,14 +145,11 @@ Weapon1Restored() { sleep 25; } - - signal SIGNAL_CUSTOM; + return (TRUE); } -#define Weapon1SetWantedAim(heading, pitch) wantedHead1 = heading; wantedPitch1 = <0> - pitch; -/* -Weapon1SetWantedAim(pitch, heading) +Weapon1SetWtdAim(pitch, heading) { - wantedHead1 = heading; - wantedPitch1 = <0> - pitch; -}*/ \ No newline at end of file + wtdHead1 = heading; + wtdPitch1 = <0> - pitch; +} \ No newline at end of file diff --git a/units/ArmBuildings/SeaUtil/armfasp.lua b/units/ArmBuildings/SeaUtil/armfasp.lua index 327021dd4b5..1f67fe01dea 100644 --- a/units/ArmBuildings/SeaUtil/armfasp.lua +++ b/units/ArmBuildings/SeaUtil/armfasp.lua @@ -24,7 +24,7 @@ return { maxdamage = 1670, minwaterdepth = 5, objectname = "Units/ARMFASP.s3o", - script = "Units/ARMFASP.cob", + script = "Units/ARMASP.cob", seismicsignature = 0, selfdestructas = "largeBuildingExplosionGenericSelfd", sightdistance = 357.5, diff --git a/units/ArmShips/T2/armacsub.lua b/units/ArmShips/T2/armacsub.lua index e0dcf50ce69..44309aae636 100644 --- a/units/ArmShips/T2/armacsub.lua +++ b/units/ArmShips/T2/armacsub.lua @@ -36,8 +36,7 @@ return { turninplace = true, turninplaceanglelimit = 90, turnrate = 405, - upright = true, - waterline = 80, --35, + waterline = 80, workertime = 300, buildoptions = { [1] = "armuwfus", diff --git a/units/ArmShips/armrecl.lua b/units/ArmShips/armrecl.lua index 355daca9bf2..a813ff1adc2 100644 --- a/units/ArmShips/armrecl.lua +++ b/units/ArmShips/armrecl.lua @@ -36,7 +36,6 @@ return { turninplace = true, turninplaceanglelimit = 90, turnrate = 525, - upright = true, waterline = 80, workertime = 150, customparams = { diff --git a/units/CorBuildings/LandFactories/coralab.lua b/units/CorBuildings/LandFactories/coralab.lua index c234289666f..94e4938a30a 100644 --- a/units/CorBuildings/LandFactories/coralab.lua +++ b/units/CorBuildings/LandFactories/coralab.lua @@ -25,7 +25,7 @@ return { maxwaterdepth = 0, metalstorage = 200, objectname = "Units/CORALAB.s3o", - script = "Units/CORALAB.cob", + script = "Units/CORALAB.lua", seismicsignature = 0, selfdestructas = "largeBuildingexplosiongenericSelfd", sightdistance = 288.60001, diff --git a/units/CorBuildings/LandFactories/corlab.lua b/units/CorBuildings/LandFactories/corlab.lua index 0f4e85c2df2..2b7208354e2 100644 --- a/units/CorBuildings/LandFactories/corlab.lua +++ b/units/CorBuildings/LandFactories/corlab.lua @@ -25,7 +25,7 @@ return { maxwaterdepth = 0, metalstorage = 100, objectname = "Units/CORLAB.s3o", - script = "Units/CORLAB.cob", + script = "Units/CORLAB.lua", seismicsignature = 0, selfdestructas = "largeBuildingExplosionGenericSelfd", sightdistance = 290, diff --git a/units/CorBuildings/LandFactories/corvp.lua b/units/CorBuildings/LandFactories/corvp.lua index 05a474c44df..46fd3aca641 100644 --- a/units/CorBuildings/LandFactories/corvp.lua +++ b/units/CorBuildings/LandFactories/corvp.lua @@ -26,7 +26,7 @@ return { maxwaterdepth = 0, metalstorage = 100, objectname = "Units/CORVP.s3o", - script = "Units/CORVP.cob", + script = "Units/CORVP.lua", seismicsignature = 0, selfdestructas = "largeBuildingexplosiongenericSelfd", sightdistance = 279, diff --git a/units/CorBuildings/SeaUtil/corfasp.lua b/units/CorBuildings/SeaUtil/corfasp.lua index a9e87f0845c..540f6ec7b03 100644 --- a/units/CorBuildings/SeaUtil/corfasp.lua +++ b/units/CorBuildings/SeaUtil/corfasp.lua @@ -24,7 +24,7 @@ return { maxdamage = 1780, minwaterdepth = 5, objectname = "Units/CORFASP.s3o", - script = "Units/CORFASP.cob", + script = "Units/CORASP.cob", seismicsignature = 0, selfdestructas = "largeBuildingExplosionGenericSelfd", sightdistance = 357.5, diff --git a/units/CorShips/T2/coracsub.lua b/units/CorShips/T2/coracsub.lua index ed0df4aa3d5..59d81e83b15 100644 --- a/units/CorShips/T2/coracsub.lua +++ b/units/CorShips/T2/coracsub.lua @@ -35,7 +35,6 @@ return { turninplace = true, turninplaceanglelimit = 90, turnrate = 385.5, - upright = true, waterline = 80, workertime = 300, buildoptions = { diff --git a/units/CorShips/correcl.lua b/units/CorShips/correcl.lua index 448ef3d3eab..fd08ec12652 100644 --- a/units/CorShips/correcl.lua +++ b/units/CorShips/correcl.lua @@ -36,8 +36,7 @@ return { turninplace = true, turninplaceanglelimit = 90, turnrate = 525, - upright = true, - waterline = 80, --22, + waterline = 80, workertime = 150, customparams = { unitgroup = 'builder',

      X>*~%Mck*RFXW!#|ncp?Pk$`IF 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 ME_0ps@?t~&1^-IUeE; + spin ball2 around y-axis speed <-30.005495>; + spin collar1 around y-axis speed <60.010989>; + spin collar2 around y-axis speed <60.010989>; + return (0); +} + +#define SMOKEPIECE base +#include "smokeunit_thread_nohit.h" + +Go() +{ + set ARMORED to 1; + return (0); +} + +Stop() +{ + set ARMORED to 0; + return (0); +} + + +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + call-script Go(); + currentstate = 0; + } + if( statechg_DesiredState == 1 ) + { + call-script Stop(); + currentstate = 1; + } + } + statechg_StateChanging = FALSE; + return (0); +} + +Activate() +{ + start-script RequestState(0); + return (0); +} + +Deactivate() +{ + start-script RequestState(1); + return (0); +} + +SweetSpot(piecenum) +{ + piecenum = base; + return (0); +} + +Killed(severity, corpsetype) +{ + if( severity <= 25 ) + { + corpsetype = 1; + explode ball1 type FIRE | SMOKE | FALL | BITMAP3 | NOHEATCLOUD; + explode ball2 type FIRE | SMOKE | FALL | BITMAP5 | NOHEATCLOUD; + return (corpsetype); + } + if( severity <= 50 ) + { + corpsetype = 2; + explode ball1 type FIRE | SMOKE | FALL | BITMAP3 | NOHEATCLOUD; + explode ball2 type FIRE | SMOKE | FALL | BITMAP5 | NOHEATCLOUD; + return (corpsetype); + } + if( severity <= 99 ) + { + corpsetype = 3; + explode ball1 type SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP3 | NOHEATCLOUD; + explode ball2 type SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP5 | NOHEATCLOUD; + return (corpsetype); + } + corpsetype = 3; + explode ball1 type SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP3 | NOHEATCLOUD; + explode ball2 type SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP5 | NOHEATCLOUD; + return (corpsetype); +} diff --git a/scripts/Units/armdf.cob b/scripts/Units/armdf.cob new file mode 100644 index 0000000000000000000000000000000000000000..822c244ccdef0db5dd6d7c9c79e2c02d616d48ba GIT binary patch literal 2030 zcmd5-F=!M~5S`n*Tmpi8!NPP~i^b*|Ej0=%HX(;-Biwra;&9ELxiul6U?JF9M6?l0 zL9|k^6H7ZA?W`1=kV-6V;(N36&vn^wmRWfGKX3lbyqVp9*AbCJz#Q0!(vIx$?2{;Y#bK# zz24p1lSEuZdmmq?!T0JoNW^JOEiU+2wwklliyokfJT-1vENf7AgdVw#aE2?-E_0L2 zX-})hrOLH57q^^^_F!?WRn4LKU76#Wr{t>#!$oZO)OuFP5qSe zePGs`#z!^&l<`=EI+?rr-X7HaTJayQ>|@(FrVss#L*KCZFt2W`#!=&VUg8C<+vHcS z=9d_`0BX^Ayt}tJ7-mubRzqJwo35sZGpAjTWp36cU)Cu5`~fcb{`OS*zAzx}I(@&` z27jngjnkYfW!!g*<9+1AIMrm@cvn6cPk+*ZV{7%DrI;gsboR8^#WV-pgR@Kcp2mN6#dIxPrv*tZB{y*nU4F^>l$H@P`lfYfz z3Gf_v0qg?5fZqUrEBPO|0o(%~0*`^Gz%$?_@CJAfd;~rLpMkHyH(&?2xHc;KMOt_{ zyY9L4Z{;`rWw3H#R4i{@@##2Ulk>Usi+n7r{`MU|v4}InVzj}Sb3P5*{-*auf1DR` cX_RIDhFni4UWR#=rRz&DvTVt$o?1Qm0}+jvYXATM literal 0 HcmV?d00001 diff --git a/scripts/Units/armdfly.bos b/scripts/Units/armdfly.bos index 5d99bd0e56c..bf72d6ad29a 100644 --- a/scripts/Units/armdfly.bos +++ b/scripts/Units/armdfly.bos @@ -1,8 +1,36 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, link, flare, barrel, fan1,fan2,fan3,fan4,thrusta,thrustb; +static-var Static_Var_1, statechg_DesiredState, statechg_StateChanging; + + +activatescr() +{ + if( TRUE ) + { + spin fan1 around y-axis speed <360> accelerate <10>; + spin fan2 around y-axis speed <360> accelerate <10>; + spin fan3 around y-axis speed <360> accelerate <10>; + spin fan4 around y-axis speed <360> accelerate <10>; + } + sleep 44; +} + +deactivatescr() +{ + if( TRUE ) + { + + stop-spin fan1 around y-axis decelerate <20>; + + } +} + + #define BASEPIECE base #define HITSPEED <105.0> //how 'heavy' the unit is, on a scale of 1-10 @@ -14,13 +42,51 @@ piece base, link, flare, barrel, fan1,fan2,fan3,fan4,thrusta,thrustb; #define IDLEBASEPIECE base #include "idlehover.h" + +InitState() +{ + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; +} + +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + call-script activatescr(); + currentstate = 0; + } + if( statechg_DesiredState == 1 ) + { + call-script deactivatescr(); + currentstate = 1; + } + } + statechg_StateChanging = FALSE; +} + Create() { hide flare; hide link; hide thrusta; hide thrustb; - SLEEP_UNTIL_UNITFINISHED; + Static_Var_1 = 0; + call-script InitState(); + while( get BUILD_PERCENT_LEFT ) + { + sleep 400; + } start-script IdleHover(); } @@ -28,63 +94,61 @@ Activate() { show thrusta; show thrustb; - - spin fan1 around y-axis speed <360> accelerate <10>; - spin fan2 around y-axis speed <360> accelerate <10>; - spin fan3 around y-axis speed <360> accelerate <10>; - spin fan4 around y-axis speed <360> accelerate <10>; + start-script RequestState(0); + return (0); } Deactivate() { hide thrusta; hide thrustb; - - stop-spin fan1 around y-axis decelerate <20>; - stop-spin fan2 around y-axis decelerate <20>; - stop-spin fan3 around y-axis decelerate <20>; - stop-spin fan4 around y-axis decelerate <20>; + start-script RequestState(1); + return (0); } +SweetSpot(piecenum) +{ + piecenum = base; +} -QueryTransport(pieceIndex) +QueryTransport(Func_Var_1) { - pieceIndex = 1; + Func_Var_1 = 1; } -BeginTransport(targetHeight) +BeginTransport(Func_Var_1) { - move link to y-axis [0.0] - targetHeight now; - start-script Activate(); + move link to y-axis [0.000000] - Func_Var_1 now; + start-script RequestState(0); } EndTransport() { - move link to y-axis [0.0] now; - start-script Deactivate(); + start-script RequestState(1); } -AimWeapon1(heading,pitch) + +AimPrimary(heading,pitch) { turn barrel to x-axis -1 * pitch speed <100>; wait-for-turn barrel around x-axis; return (1); } -FireWeapon1() +FirePrimary() { sleep 100; } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = flare; + piecenum = flare; } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = flare; + piecenum = flare; } Killed(severity, corpsetype) diff --git a/scripts/Units/armdfly.cob b/scripts/Units/armdfly.cob index e15a386aec99dccddcd3a844ae9af341aef2d169..4afe3dfc28744de1a4b10dc92cdf5722e77821f2 100644 GIT binary patch literal 3368 zcmbW3Pl#Jp6vj_7nW?Q>p15g2<$>TIP#SB6E<`$2tAj35M_f;4@~Uam%=nV27DS6H zaV2iLcj3AyB8a%_#-$b9xfC~o=)#r6?|0ulFSltDoDO_*-?`^}=bZc9lb5v2>;d73 zaI0x{k5>NPzt`-0!R|AAO3M>k8(A}J;M`ivaxK^o9jewpC)#LR)?$BwZ*_@pZHZ4M z>YVgq?M6mz9<8$$p1rRV+QN7Gs2%t8;bCN}%T zKTOWN6?(`X*K@X-q0jZ`KOFr{anPnIPS8l}WHR~4IxF!kDtKlkBM!>#aoSKEKF*1c zm|BDOs&=M(*Itm5KK818IBD$cej1!riI|<_JCDv1hrTFE>-4 zX@2^0EnRE;r5xm!J`+|k#jWy$=d7y9_M$kAa?sQHtiGqI2t8vj;^**Voa^^|jQ5op zpf8WZ=G;CTK@09dXZksE*+Van(Tvvji3ZFDn)!Jj!B!2=%Z$)-%By;?>hqxR)Xy2o z>v!>g^TJE>x&~f1+@13Bxjjg~@Y1~0q2H&qaz@+-(IMr9ym_U=Y+mex=-_$brFmTk z_a9V;TbgOkS?dt{rA&SP_Vis5`j*Z8IgigwcwZ{d?;0fbnJ4;0%P=#V6Ms)`2VX-o zvzC3M!sx*JjJf2DL!s{5PMTR8io_*{1t?-or+6tUbI`*t-RqvT@42~#WoKOGCx@S(+{dYtSF`&? zymR{SxvP6u{gihy;oXQluN(M&<{92j!n+xHXyEneDVNQ9O{;D3J%1?NciId7yWx@Y zF@gTSQ=>P9BkJQx;W=Sl*bvSO+rmZR1L0%gQ{i)g-{hx+v%>4bTf&ZTQ5Xpy3ZDqq zg)fD#g&%|;gGU-qcv{U+$Fs%iZ#-o$Hr{KZgu%DCS(bTgScD9}J3~ZFfh74f?}Nc45#h g3)y8^4D3R8_zeF}^6y#xowD&e<^E{gjqA4k2OG8rc>n+a literal 2789 zcmbuBJ!lj`7=|a8%SD68+C@;=P7skzvpl$bl%mI)6l9Mb_Fj)V^goUuE=F)g zCpC`-BK+%`B2#)+j}P2%GNNlXHJRy;(5bXGoiWl%m**&tiQJC*;b6>lnj`~~?8w%~ zB_ofeTn=|=+bIw2!`x|Bn6H*Co*llT&A;e$YyuhEZ5 z0sjRp88?wfd7J@F;buf<S>b9@l(hd1=Iym8L!&xhqpa$e$Wx!PtU2 z^6pj}{;giAHXmm{`$m8Mr#AnNggMf)z4Ct5KKL5KeIqR|FRC^l=eJ&98m|! zI$tK~v+Fsl>(d!6MQdsb_S{3fBM-Iqd)zu-jt7&@^JpgWb4YJ}Jf_~x_uSi&XE!_K z{tR@D8=TkB?w`2M&c~(it$v4fI6KmTkG|0#dcv8vJwQ2A(!Fc){nBXTX*_^VBlj@2 zM_B8AqKD6AgzN^!j`JDwNL=n|}JZ3s47+~tXG7Y$G#>(tr%XcwLR9_^yD z-yWya(5khwwz0#~O|<9WWnpYD3uAg&*I2RMN!3GL+^eL}))%Ko?$5e?7vJXlfFC`z zXG+u1w>9suWt(|gdiGaw0J7mLxlXU0eeY}x?%~+jZ=-dVWyoV~#Do6=21)*&SzE`C zjy!wS*-KA;z6Wp}g*?vxCrIRoj6C4Cqg!)+L%-3$Z`}F$xV`-51HT#PM-O~F;=jZu z8npXJ%&;$ewS{6`jvK;z;k)ot_#%zEN3aayc#g>CKfido-Js zYs*XZtYI#ucPq7>fRuDqO@ nYNdAHELO`|s&$s7RkK(Ym3~I~Im^#E)3}$dEH}z-oHKs`tN7RN diff --git a/scripts/Units/armdl.bos b/scripts/Units/armdl.bos index 6d6af7e4a5e..877da1d0af9 100644 --- a/scripts/Units/armdl.bos +++ b/scripts/Units/armdl.bos @@ -1,10 +1,12 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, turret, plunger, flare; // Signal definitions -#define SIGNAL_AIM1 256 +#define SIG_AIM 2 #define BASEPIECE base @@ -12,46 +14,50 @@ piece base, turret, plunger, flare; //how 'heavy' the unit is, on a scale of 1-10 #define UNITSIZE 5 #define MAXTILT 100 -#include "../unit_hitbyweaponid_and_smoke.h" +#include "unit_hitbyweaponid_and_smoke.h" Create() { hide flare; - move plunger to z-axis [0.0] now; + move plunger to z-axis [0.000000] now; return (0); } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; - turn turret to y-axis heading speed <200.0>; + signal SIG_AIM; + set-signal-mask SIG_AIM; + turn turret to y-axis heading speed <200.000000>; wait-for-turn turret around y-axis; return (1); } -FireWeapon1() +FirePrimary() { - move plunger to z-axis [5.0] now; + move plunger to z-axis [5.000000] now; sleep 25; - move plunger to z-axis [0.0] speed [10.0]; + move plunger to z-axis [0.000000] speed [10.000000]; return (0); } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = turret; + piecenum = turret; return (0); } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = turret; + piecenum = turret; return (0); } - +SweetSpot(piecenum) +{ + piecenum = turret; + return (0); +} Killed(severity, corpsetype) { diff --git a/scripts/Units/armdl.cob b/scripts/Units/armdl.cob index 13f28635cbf826621bae6d2bbbf33ccc5d8a9e06..28a6f4b9ca6644c5eee121ed43e01e7dc9ceac4c 100644 GIT binary patch literal 2237 zcmbtVJ8#oa6h3)0MIfQe2Ad@q87#!Wf)t8W@mPW))NaI(3o_&-*9B#$l!dhe3<#+k zOSdw?&dkUkU}ZvLgn{q7zQ?&T0g^W9r*nMXFQ-irISn*{Z#5D8xzCq%kzc^2QzDlk zxe6*#-Grzcd?BuZ_B~w#mAGM~-7xjIZW?%`9VzWd#jF|Wwaj@hqewa}Xy&+YlFb0%BH_xsoj zWSlc?!hBaKz>Fj=;!wa7$cY?|pA~$(ALPTWGC#pvQ=UFfhL}Zfc*`m|FVM&Dg>Q6W$2fnl zP2=jWOCMkRN%ibqXUSNu#;DlIbu<*lcfGk?Er`j*)ew?1%@%bBCr9Z7T^#9*IF7jC>XSG+Za|<{C zJ^`PBufPxBC(ytW&H((M-UjXf+rR_hDexS43A_RhfOo(la0Gk=Zl(Fgbjv1_@kqME z@iTjWl;)xIc3*C0Hp#8rNQa#)9VXdSHq*>15AkL;E>-t-Z8lY1_l322cQVf9ZaNs) azC28JtmL~{W^iYO5UvCHZ`!{J@-SnrB-3JKU4EW|2^ zovr#;Xz!n3k-{RNt>E{~zPWoYmrKaUn>X{#&o`T-B612yflmz){OZrQmdG!_Es88b zli`#saWNV$ap%a+QYV`&cLpML9qKk(jxyuYPPt7vUr_Evh$(bb(Z*9YrZ(zWOPU9p zYq>;8A_;6w$UMp6sU~oEr;YwrM_eLnj`dd zH}I&ln9Ota?EkfDA9+(}qW-8sGSMEaHu}()DVfjC*}hYM^4KqZcOmlJ!^s$I*J9RB z$*VUqE~qDRV-EeU!IaTw5NSstoHiMX4&XE z;p6RWHk<`__9)m>-m$0bfuhZvzU;;J_B%w2XS->4+YQpG)0kn0endLUK@RKSsW}|K z2;1dq_kIR@gT$k1M`X3-4ud|4^ybTWmtp5zIXCjZ20qoSQ#LW>Soc}^JX7_l zz4dW+_7=}gYsjkEKSUF8eC-SDk6P2B?g{O7H~T@b+bqq_c{7*J2KB{x^}RygGUTN{ z>$bQS2WqX0-#7k1Pwe%)cAuB`DPx4ZZ$nrQPjU+!a~xmfmEj*UQ1gbbsv25OYQDbbCGDktf9q WFQai;`jHHK now; + turn jet to x-axis <-90.000000> now; start-script IdleHover(); } @@ -120,68 +122,71 @@ RestoreAfterDelay() MoveRate0() { - turn jet to x-axis <-90.0> speed <200.0>; + turn jet to x-axis <-90.000000> speed <200.000000>; } MoveRate1() { - turn jet to x-axis <-45.0> speed <100.0>; + turn jet to x-axis <-45.000000> speed <100.000000>; } MoveRate2() { - turn jet to x-axis <0> speed <50.0>; + turn jet to x-axis <0> speed <50.000000>; } MoveRate3() { - turn jet to x-axis <0.0> speed <100.0>; + turn jet to x-axis <0.000000> speed <100.000000>; } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = base; + piecenum = base; } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { return (1); } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { if (gun_1==0) { - pieceIndex = lflare; + piecenum = lflare; gun_1=1; } else { - pieceIndex=rflare; + piecenum=rflare; gun_1=0; } } -FireWeapon1() +FirePrimary() { - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; + signal SIG_MOVE; + set-signal-mask SIG_MOVE; sleep 200; } -StartMoving(reversing) +StartMoving() { - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; + signal SIG_MOVE; + set-signal-mask SIG_MOVE; } StopMoving() { - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; + signal SIG_MOVE; + set-signal-mask SIG_MOVE; } - +SweetSpot(piecenum) +{ + piecenum = base; +} Killed(severity, corpsetype) { diff --git a/scripts/Units/armdrone.cob b/scripts/Units/armdrone.cob index 791d2b332544e4fe839a3e1f70bd34a0f7b64628..a0c45a27fe0f5441390388b14a9aa7f5e04268f5 100644 GIT binary patch delta 762 zcmZ|NKS&!<90%~&Z1*;-vP%ItV4h9{hlY%GBAnFm3U};c?~* zdk_s9)j2N0t7D{0C3|X{T(d66MN;Kz6AiR_GrlX5V)nQo5<+H)&qcq;@`+5~U6BLg zjBgs{))dZ;^_9M|zCw}@jWR0IW(x1T`9n-{U#QpgP{&)L`0;v33Gs$^t(17jCsuDu z_3R5)_3V;`oyh$^eK4xmUcIc)A&u3lbzE1&IqMD=?U*FV&+Qx4FQ?aA)wNT&)F0dB zQ@gn%ihYBPg3qJ-F6!zgWJD+53b!{(MfhPj(kKz*C*kID2DcuC`;do8cnpiM0&B1d zyRZlQ@E$(F7pTBb&_Bv&_zK_Q7g$Y1t#BK%FaRU)03LzYM4jX#cnTY^12147j^HJ{ yhPUv6)6TQ5F~2Z3?U!hzFc*aRCC@JfoqGk}tHoS#V$S%o=M~2n=8OE->AnCJkbWcp delta 657 zcmZ|MPbdU&6bJD4o1NX6*;f5%*`=wKwkTSpum{Oy%Z&&(9QLrv|Moy_>!4gn+jEh` z1vlEbl8dA$Bqs;|4o>2toYwcpjwq%+^LuaJd%yYZ>{;=aKdKW^5qO|PBQmh6Yt|$> z1;0g9gS-Z-keU>#IN*_iOqAt~O3LvNh1*;%mwB?oFIZJBRZZ$rtIH4l=;J;S*7s27 zc@Y-fyIBzuBElD16YiEPq(z9QwMKEtgRXR8G2V%Nq&lj4brHY1(r6slD{)`eA4H5( z?gr7dn|0R;vB`IyO0mtB(NOSt+A+`P0R^`kp{R4*Ulq0S%vYBRsUtt3;_vBIBfwXN zZ9ihv`4Y~LQ~5fY`Ox(9jOpWM(`Ucs8}U`?pT?kVqN=7{e>YX>Kep9bTE27{wylR| zXoVQ`KtCj45>hY+i?9S)*oR{{2la0@LJP#86NVrObC7`**nk~4fD^d3sDkbhJi|MX vm&gqk6hbMK^O3bs-5Vbq8y%^qw#2X#b|&K!Q%({~OvLjsr@TR4^F}@ZJ;QHn diff --git a/scripts/Units/armdronecarry.bos b/scripts/Units/armdronecarry.bos index e2c4de996db..d1a8db77ac2 100644 --- a/scripts/Units/armdronecarry.bos +++ b/scripts/Units/armdronecarry.bos @@ -1,29 +1,26 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece ground, base, radar, nano1, nano2, nano3, nano4, wake1, wake2, blink, drone1, drone2, drone3, drone4, drone5, drone6, drone7, drone8, drone9, drone10, drone11, drone12, drone13, drone14, drone15, drone16; -static-var oldHead; +static-var Static_Var_1, oldHead; static-var Stunned; // Signal definitions -#define SIGNAL_MOVE 1 +#define SIG_MOVE 2 -#define SIGNAL_AIM1 256 +#define SIG_AIM 4 +#define BASEPIECE base +#define HITSPEED <10.0> +//how 'heavy' the unit is, on a scale of 1-10 +#define UNITSIZE 8 +#define MAXTILT 200 -#define RB_MASS 40 -#define RB_LENGTH 8 -#define RB_WIDTH 3 -#define RB_PITCH_ACCELERATION 10 -#define RB_ROLL_ACCELERATION 8 -#define RB_WAKE_PIECE wake1 -#define RB_WAKE_CEG 1024 + 1 -#define RB_BOWSPLASH_PIECE wake2 -#define RB_BOWSPLASH_CEG 1024 + 2 - -#include "../bar_ships_common.h" +#include "unit_hitbyweaponid_and_smoke.h" Lights() { @@ -38,6 +35,24 @@ Lights() start-script Lights(); } +RockOnWaves() +{ + var rockDir, rockAng, rockSpeed; + rockDir = <-0.1>; + rockAng = <-0.1>; + while( TRUE ) + { + while( get ABS(rockAng) < <1.11> ) + { + rockSpeed = <1.25> - get ABS(rockAng); + turn base to x-axis rockAng speed rockSpeed*2; + wait-for-turn base around x-axis; + rockAng = rockAng + rockDir; + } + rockDir = 0 - rockDir; + rockAng = rockAng + rockDir + rockDir; + } +} Go() { @@ -47,7 +62,7 @@ Go() Stop() { - spin radar around y-axis speed <0.0>; + spin radar around y-axis speed <0.000000>; return (0); } @@ -80,9 +95,11 @@ Create() hide blink; hide wake1; hide wake2; - start-script InitRockBoat(); - SLEEP_UNTIL_UNITFINISHED; - start-script BoatPhysics(); + while( get BUILD_PERCENT_LEFT ) + { + sleep 500; + } + start-script RockOnWaves(); } Activate() @@ -97,38 +114,73 @@ Deactivate() } -StartMoving(reversing) +waveSplash() { + while( TRUE ) + { + turn base to x-axis <-1.0> speed <1.0>; + move base to y-axis [0.23] speed [0.17]; + wait-for-turn base around x-axis; + turn base to x-axis <0.0> speed <1.0>; + move base to y-axis [0.0] speed [0.17]; + wait-for-turn base around x-axis; + } +} +StartMoving() +{ + signal SIG_MOVE; + set-signal-mask SIG_MOVE; + var waketime; + start-script waveSplash(); + var bowtime; + bowtime = 0; + while( TRUE ) + { + emit-sfx 1024 + 1 from wake1; + if (bowtime) emit-sfx 1024 + 2 from wake2; + bowtime = !bowtime; + waketime = (get CURRENT_SPEED) * 100 / get MAX_SPEED; + if( waketime < 50 ) waketime = 50; + sleep 12000 / waketime; + } } StopMoving() { - + signal SIG_MOVE; + turn base to x-axis <0.0> speed <1.0>; + move base to y-axis [0.0] speed [0.17]; } +SweetSpot(piecenum) +{ + piecenum = base; +} - -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; start-script RestoreAfterDelay(); return (1); } -FireWeapon1() +FirePrimary() { + sleep 150; } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = radar; + piecenum = radar; + return (0); } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = radar; + piecenum = radar; + return (0); } Killed(severity, corpsetype) diff --git a/scripts/Units/armdronecarry.cob b/scripts/Units/armdronecarry.cob index c31dcca2a5cc34f418c78f4bc1edca0a874a1a6d..0b422c6f1f0c5d33133a3900e927f2007da50908 100644 GIT binary patch literal 3349 zcmbVOO=ule6h3)*dG)7-5yd}L9=H)J@?KKw4~R*vt+tiMrX`D_bdoowLtbXWym?8Z zn_8(0b)hb_h?I!v#<~(j>`EvY?4mmbsbG8)|T) z+AeT_Iwe_#_mZpN8J{XnC!d(x|$= z`JOSgFCNtOzpCH=>PPB>u4j2~Fs|JnlQD|!Syb5#AheIORk)$(V5vOZ;g zOk%wj)EI~l_MWP4$ZJryT7c`$Jw-0MkFR;3v)B4?UV-1`f?^)We?YdJsaZC_y>(DzdB^$c~Vw|m=_ zCqTkZxz?>O^%HsK17_58b05yu#|QVk49E24c;miTTu;xJ#wY!`a(~+#k@2u6U1xpF zxyuv#ybVsAUGEK_zrQzlF6C7LC1}N7?SE9WKd4luzW{B#BzG(fD*0g?S`n(|NqW!R{!u z;Ue5m%(uhNaRdmn{P}btPG(#%8!krhJ)h<>7SD}m@m!cK$(}fiZ2Uqu%9d;b&YmnS zc>Cja8!63XX*X%fRM?3m3tM3(NtmQf_dD!Z+-}nmgrR%@ai1 literal 4195 zcmb_fO=w(I6h4zo#@3(qiCC~0nSxqD#hIj5MbxB?)iPGoBp~9#yv{t+M<(;ad{yRO0uYd(Y%{I*|xY_~zVq?{~g) z?zum2QWTLJf$hL_zsP1-e%`wdUt2_`fVvIS>BA#I*@19<>+$X=$x3_TdS+9v{!pQjf>h* zTkDS6u$GL;l*rxWxs2K2fkU2+Tg_REPM**ReW=NJw(jKNQRhvai^wgEZF_+{tufYz zyuSk;`^lrO>5((Sz*t+Zwe3mrxQ?brUYP;`kK?ANIpLZ1cvn9j-C75h=Yia_EF?9N zuhmF=obFu6zvMM626JFP%oTQ{F>D^(FVv#7c`+xei}f?*kVpTJ7w%WfO{NDT!M=YH zbECGMhnv|z-N~~v#(A?lr^KQjld zeZ}Qy<02OdAz!taEB-hqo!3YydJ_%i#xueAW!SK`ulYG0Ip^+zl^ZaQ+q2i+?DnNL zHGBD5p0_~G;$N}<;cI)+&V-cL?tf~VKlOU~+g|PVH{DV7D@1}?OrhObgW%o6yIlXs z#UB0=^XfcT3i>Xw`f;r}MyhFbTdprTkWtPZBy(-BhTP-5YWpfE|A(&Cogu^bYxusr zo?~UaCo$In6pHybJfAsOO>burkvGo<`@%8ZmytW4+q?!P7&GLlZpHC-1hGuh_J+;f zeAlZL$643QcsN6>sm-0o%6_Z3^>^`Wh|hR@huNCR_}Uozs7)<$Br54Ui_Ne`_U%Z(Z3MArw)V#3YU-JEZ zL4TOX5EH9#U%K=0RFDhTkug;Zb3B1D)=r=Oz5IspIa$QzZ%z7q#)j8i@f;TmaZpp9 zC4Rc+*@QUzn&0!?FYa#W!Mn_N9bP9_bGL378v?7UNlHD`aw{|bC5m-Kx=4)2a{ ze4pM!?87{CkD%E-j}NawC+EKoN2Xn^X!#DIwf)9NeyACq(_j4@4lr3?+h3RyV(7fQ z4~(9{u+D5--eIon*Z5t&At!8ycZlA%^KOr5`xxp9J^q&DhkjP?ZVf&&bvqmXbv#@@ z`rgEVWp|Dr!o|cs#-_en|7>>?>E!61^nNw(XL z`xAH)!FgWZ0p15r0^GZ2fFFQA0D)Ku*bH0?YzGE`+km?P{$KY6a0d7Z_zhSEN?YLr zYyoxxL%*__1QgHoD09k4=*pI^#z$o>RHu@JZ|R)vZb^&qY->_G@Wz#RApb< zPON=!F=_ims{+oxcGlt5(q;d9@6h&{oW-n#Is3N zzlY>dGi}XEqn)+TrDn*PVP|$ZbFVYIow?7M`<;2fnQFybuT%9xRj*X_QdO^2-7WtB Daq4ze diff --git a/scripts/Units/armdronecarryland.bos b/scripts/Units/armdronecarryland.bos index b0caed44691..7e8b56fbfba 100644 --- a/scripts/Units/armdronecarryland.bos +++ b/scripts/Units/armdronecarryland.bos @@ -1,13 +1,15 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece ground, base, radar, nano1, nano2, nano3, nano4, wake1, wake2, blink, drone1, drone2, drone3, drone4, drone5, drone6, drone7, drone8, drone9, drone10, drone11, drone12, drone13, drone14, drone15, drone16, frontwheels, backwheels; static-var Stunned, oldHeading; // Signal definitions -#define SIGNAL_MOVE 1 -#define SIGNAL_AIM1 256 +#define SIG_MOVE 2 +#define SIG_AIM 4 #define BASEPIECE base @@ -16,7 +18,7 @@ static-var Stunned, oldHeading; #define UNITSIZE 8 #define MAXTILT 200 -#include "../unit_hitbyweaponid_and_smoke.h" +#include "unit_hitbyweaponid_and_smoke.h" Lights() { @@ -39,7 +41,7 @@ Go() Stop() { - spin radar around y-axis speed <0.0>; + spin radar around y-axis speed <0.000000>; return (0); } @@ -72,7 +74,10 @@ Create() hide blink; hide wake1; hide wake2; - SLEEP_UNTIL_UNITFINISHED; + while( get BUILD_PERCENT_LEFT ) + { + sleep 500; + } } Activate() @@ -88,8 +93,8 @@ Deactivate() Steering(heading, steer, currentSpeed) { - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; + signal SIG_MOVE; + set-signal-mask SIG_MOVE; while(1) { heading = get HEADING; @@ -104,42 +109,45 @@ Steering(heading, steer, currentSpeed) } } -StartMoving(reversing) +StartMoving() { start-script Steering(); } StopMoving() { - signal SIGNAL_MOVE; + signal SIG_MOVE; turn base to x-axis <0.0> speed <1.0>; move base to y-axis [0.0] speed [0.17]; } +SweetSpot(piecenum) +{ + piecenum = base; +} - -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; start-script RestoreAfterDelay(); return (1); } -FireWeapon1() +FirePrimary() { sleep 150; } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = radar; + piecenum = radar; return (0); } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = radar; + piecenum = radar; return (0); } diff --git a/scripts/Units/armdronecarryland.cob b/scripts/Units/armdronecarryland.cob index a1ae52af485cc1f7dbd08c4091e89631b9791194..580598b0e4493708c47ce22f529c5e426d2a12d4 100644 GIT binary patch delta 1119 zcmZA0O-NKx6bJBg-+MD}98Isx*eEC(rnU%tVq}5h2PBq()(|biNN^Uf8poz75dte{ z6Sf!*hzqd<+XRAbf<6`*fi8k6AuUiS$W@Ch3X+KWpP4ry&G6%%ci*|^-1qKGCbGKQ zwTP$;DxusUGBL_$B0%&34ipgW$MqaWsxkCVhQ=4u3geJBVhNFBYU(hx;TT%#NuJ52 zDx}J}(+t(goUB>S=K3_9^Xu9jbJ=w~pd!lThpLQktNLuTH>#CZQcxCpv4m2r($0|@lA2%zDZhDE* zm$ez@cVv=Cp zUNZIjb^2O)#Zzxi*8SU*_G^`%uT_+O6XKs{(UEnzn{RwC*LclaN!W7!u}I^{&|Xei z=3YwRC>*0-FL9gItm1sh>QlsvR--EBuU1Hf+2^}l=3oP|;=63bTT#zbQM z2zRsb^;|58a^%xo;QynT3+(2SUayMW!V_|zU8M|;+YQF6i#%!9`=p5Cra(16x2@vr zA$z4Q;uU++_@VfG;2?e{vw;>>%I^d1;{&KQ3rnyGUtk*u%_2|(&Cm*6a2M{wV_1X? zyoC+e1o;mvz!O-846MK!Y{4(s6(kBnRglJMAA%-mgB~~u1K`3{xCIlyFaFts0n3nqRoH+}@EN|rHc%mv4J8nP>cYcB4G0>c1=^t(dfZgk*y-5dNMe|x@x+DL zsbM#@bN1*E9}C`SjgH1*spv=|MV)TEKk3E?lVjBFCS&>d#FbcbEPsKV?qnjL$G?Ls Fe*ve3r|+iP0)d~?AASUiOX!b6)DTk;2&BHox2a{v&w74o z$$~miiLnzfW<+8ER3Qcih9amKSP&BvFm$7cfsOEe=br1_hFCo5d*|Hqf6l${+7%Jm z3mgERn-rM><+Jx*kv4DxcoOT!?!&7#nZ%e#CX+ohu2m8_Urly{rL0ZaVl^ROArC$I zCi(ib+8zR1feb0thbmdz($RhbqDtM{NK#c>nn9AVPEy*CQcfGLsf+7~Yo=|;S)<|X zR5DrjvRJ2cNPImfEFK7IL>*BK?bUi(FgwaZOxAH=*WI-;ztpF6ChCtGq$a)>i$Ndy z(vgu_Dv|6lj|_A?LD)G z+cdCQuxIXvBz{kVFR9cgw5RXTM5ulH%y!bzb!3md3$x)YcxLaIzQQ%mDSIFrW=>!B z63*={upwSJn_(T!2F)qcn0AJKiew=NZCD4X=1BC5(EMV4zngx7hIjlKk=bf;+vJmx zJg&I`J?F}~(f$jwr#O6@bma`D!7wwIvfB~< zumqd~-U5ced%$(zBVYsg6u1F=1N;E|4EzfG0sI3@;||&l>;d)x2Z2X{!@$$PQQ&!? z37iJb0%g75D(S4txx30G|M#0le#O0;fCWiS;*JHpu&D+VM)}vej(G zwOgxs*U2lLl}qJNPUX@n^MSnlu3KI!-I5!YdEuHDOIOUfUbZeRSGLNve&4m_zsi>i zmz7SM%Vp;>nK_pQwpBV;bowg@pB3doe%bT+z}RMI)fbt{$xh({|LU46tol@7bF#=s zcJrNH4`r+r`C7j%7qX#~B5P-b^s|1R>bs%u8GRp-D_Pg2`fkXDUZ>xcc9HiXQqu5b z#*-tS9QEXwC&xW`#*=3~N$W-}PHKTti now; - turn jetr to x-axis <-90.0> now; + turn jetl to x-axis <-90.000000> now; + turn jetr to x-axis <-90.000000> now; start-script IdleHover(); } @@ -120,75 +122,78 @@ RestoreAfterDelay() MoveRate1() { - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; - turn jetl to x-axis <-70.0> speed <75.0>; - turn jetr to x-axis <-70.0> speed <75.0>; - turn base to z-axis <0.0> speed <120.0>; + signal SIG_MOVE; + set-signal-mask SIG_MOVE; + turn jetl to x-axis <-70.000000> speed <75.000000>; + turn jetr to x-axis <-70.000000> speed <75.000000>; + turn base to z-axis <0.000000> speed <120.000000>; //start-script ProcessFlames(); } MoveRate2() { - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; - turn jetl to x-axis <-50.0> speed <55.0>; - turn jetr to x-axis <-50.0> speed <55.0>; + signal SIG_MOVE; + set-signal-mask SIG_MOVE; + turn jetl to x-axis <-50.000000> speed <55.000000>; + turn jetr to x-axis <-50.000000> speed <55.000000>; //start-script ProcessFlames(); sleep 1000; - turn base to z-axis <240.0> speed <120.0>; + turn base to z-axis <240.000000> speed <120.000000>; wait-for-turn base around z-axis; - turn base to z-axis <120.0> speed <180.0>; + turn base to z-axis <120.000000> speed <180.000000>; wait-for-turn base around z-axis; - turn base to z-axis <0.0> speed <120.0>; + turn base to z-axis <0.000000> speed <120.000000>; } MoveRate3() { - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; - turn jetl to x-axis <0.0> speed <85.0>; - turn jetr to x-axis <0.0> speed <85.0>; + signal SIG_MOVE; + set-signal-mask SIG_MOVE; + turn jetl to x-axis <0.000000> speed <85.000000>; + turn jetr to x-axis <0.000000> speed <85.000000>; //start-script ProcessFlames(); - turn base to z-axis <0.0> speed <120.0>; + turn base to z-axis <0.000000> speed <120.000000>; } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = base; + piecenum = base; } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { return (1); } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = flare; + piecenum = flare; } -FireWeapon1() +FirePrimary() { - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; + signal SIG_MOVE; + set-signal-mask SIG_MOVE; sleep 200; } -StartMoving(reversing) +StartMoving() { - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; + signal SIG_MOVE; + set-signal-mask SIG_MOVE; } StopMoving() { - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; + signal SIG_MOVE; + set-signal-mask SIG_MOVE; } - +SweetSpot(piecenum) +{ + piecenum = base; +} Killed(severity, corpsetype) { diff --git a/scripts/Units/armdroneold.cob b/scripts/Units/armdroneold.cob index 1d25db4aaf1f58b249f6916e6a1c613a631e2e5b..606dd53506b0def3e2b40877923907ee99cc105c 100644 GIT binary patch delta 858 zcmajdK}Zx)7zgn0&CKr3?j}BKYgZW90S8prg${xFp>&5~N<3{* zhYl9lcjzdBm!Mlow<0Bipbm9f5kwF~2m=px68*nrM`B1C_|5m;_ul*7d&4v?9A*0r zB038aW;CKWqI$NIM1>Sl00s2lAquHUp$02)*}Krs)}HFvNMhg!kBYX+m2|nVVU0y| zY8-nI4eHG`HkyCuNE%WrwKh4WE?dHp1FeNRqS}mygd^_0bwyriMdEdFNfh~$mdATb zyDWZkr(W;q#@SI{sw=B2IQ&|#V@9vhjrXXrDaQF?tk1ZEc|0Gp_-V{(YaZ8&H;=3F zO6*=FQ;dI!WJKa)B=aqi?>M>UNiAV!BlCoLj(;Ug_7XM^nz^1nY_8U+ZytUY)wj`C z@ev|baQjj+$Ma@J4D*tiJ#EsP~eIhgc= a+qH-8%oLS_nin=_tJR?F)dF5m)sF%45ssk% delta 670 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 E0fPj=AOHXW diff --git a/scripts/Units/armepoch.bos b/scripts/Units/armepoch.bos index 4bf56a220dd..65578d893b5 100644 --- a/scripts/Units/armepoch.bos +++ b/scripts/Units/armepoch.bos @@ -1,5 +1,7 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece ground, base, dish, wake, bow, engine, tur1, tur2, tur3, tur4, tur5, @@ -8,28 +10,97 @@ piece ground, base, dish, wake, bow, engine, flare1a, flare1b, flare2a, flare2b, flare2c, flare3a, flare3b, flare4a, flare4b, flare4c, flare5a, flare5b, flare5c, turretmis1, turretmis2, misbox1, misbox2, misflare1, misflare2; -static-var gun_1, gun_2, gun_3, gun_4, gun_5, - gun_7, restore_delay, oldHead, aimDir1, aimDir2; +static-var active_barrel_one, active_barrel_two, active_barrel_three, Static_Var_4, Static_Var_5, + Static_Var_7, restore_delay, oldHead, aimy1target, aimy1position, Func_Var_1, Func_Var_2, Static_Var_8, aimDir; // Signal definitions -#define SIGNAL_MOVE 1 +#define SIG_MOVE 256 +#define SIG_ROCK 16 -#define RB_MASS 60 -#define RB_LENGTH 12 -#define RB_WIDTH 6 -#define RB_PITCH_ACCELERATION 30 -#define RB_ROLL_ACCELERATION 8 -#define RB_RECOIL_ENERGY_1 100 -#define RB_RECOIL_ENERGY_2 100 -#define RB_WAKE_PIECE wake -#define RB_WAKE_PIECE2 engine -#define RB_WAKE_CEG 1024 + 5 -#define RB_BOWSPLASH_PIECE bow -#define RB_BOWSPLASH_CEG 1024 + 3 -#define RB_IDLE_KICK 3000 -#include "../bar_ships_common.h" + + + +ProjXPW(Func_Var_1, Func_Var_2) +{ + if( Func_Var_2 < -21840 ) + { + Static_Var_7 = Func_Var_1 * ( Func_Var_2 + 32760 ) / 10920; + } + else if( Func_Var_2 > 21840 ) + { + Static_Var_7 = Func_Var_1 * ( 32760 - Func_Var_2 ) / 10920; + } + else if( Func_Var_2 < -10920 ) + { + Static_Var_7 = 0 - Func_Var_1; + } + else if( Func_Var_2 > 10920 ) + { + Static_Var_7 = Func_Var_1; + } + else + { + Static_Var_7 = Func_Var_1 * Func_Var_2 / 10920; + } +} + +RockZ(Func_Var_1, Func_Var_2) +{ + signal 16; + set-signal-mask 16; + call-script ProjXPW(10920 / Func_Var_2,Func_Var_1); + Static_Var_8 = Static_Var_8 + Static_Var_7; + Static_Var_7 = get ABS(Static_Var_8); + while( Static_Var_7 > 91 ) + { + turn base to z-axis Static_Var_8 speed Static_Var_7 * 2; + wait-for-turn base around z-axis; + Static_Var_8 = Static_Var_8 * -1 / 2; + Static_Var_7 = get ABS(Static_Var_8); + } + turn base to z-axis <0.000000> speed <1.5>; +} + + + +SetDirection(heading) +{ + var spd; + spd = (get ABS(oldHead) - get ABS(heading)) / 2; + turn ground to y-axis heading speed spd; + turn base to y-axis 0-heading speed spd; + oldHead = heading; +} + +RockOnWaves() +{ + var rockDir, rockAng, rockSpeed; + rockDir = <-0.1>; + rockAng = <-0.1>; + while( TRUE ) + { + while( get ABS(rockAng) < <1.11> ) + { + rockSpeed = <1.25> - get ABS(rockAng); + turn ground to x-axis rockAng speed rockSpeed*2; + wait-for-turn ground around x-axis; + rockAng = rockAng + rockDir; + } + rockDir = 0 - rockDir; + rockAng = rockAng + rockDir + rockDir; + } +} + + +#define BASEPIECE base +#define HITSPEED <10.0> +//how 'heavy' the unit is, on a scale of 1-10 +#define UNITSIZE 15 +#define MAXTILT 200 + +#include "unit_hitbyweaponid_and_smoke.h" Create() { @@ -67,21 +138,27 @@ Create() hide flare4c; hide flare5c; - gun_1 = 0; - gun_2 = 0; - gun_3 = 0; - gun_4 = 0; - gun_5 = 0; - gun_7 = 0; + + aimDir = 0; + aimy1target = 0; + aimy1position = 0; + + active_barrel_one = 0; + active_barrel_two = 0; + active_barrel_three = 0; + Static_Var_4 = 0; + Static_Var_5 = 0; + Static_Var_7 = 0; turn wake to y-axis <180> now; turn engine to y-axis <180> now; spin dish around y-axis speed <100.021978>; restore_delay = 6000; - - start-script InitRockBoat(); - SLEEP_UNTIL_UNITFINISHED; - start-script BoatPhysics(); - turn misbox2 to x-axis <-25> speed <25.0>; + while( get BUILD_PERCENT_LEFT ) + { + sleep 500; + } + start-script RockOnWaves(); + turn misbox2 to x-axis <-25> speed <25.00000>; spin turretmis2 around y-axis speed <25.0>; } @@ -90,21 +167,21 @@ Stop() spin turretmis2 around y-axis speed <0.0>; } -SetMaxReloadTime(reloadMS) +SetMaxReloadTime(Func_Var_1) { - restore_delay = reloadMS * 2; + restore_delay = Func_Var_1 * 2; } RestoreAfterDelay2() { sleep restore_delay; - turn tur2 to y-axis <0.0> speed <50.0>; - turn sleeve2 to x-axis <0.0> speed <30.0>; - turn tur4 to y-axis <0.0> speed <50.0>; - turn sleeve4 to x-axis <0.0> speed <30.0>; - turn tur5 to y-axis <0.0> speed <50.0>; - turn sleeve5 to x-axis <0.0> speed <30.0>; - turn misbox2 to x-axis <-25> speed <25.0>; + turn tur2 to y-axis <0.000000> speed <50.000000>; + turn sleeve2 to x-axis <0.000000> speed <30.000000>; + turn tur4 to y-axis <0.000000> speed <50.000000>; + turn sleeve4 to x-axis <0.000000> speed <30.000000>; + turn tur5 to y-axis <0.000000> speed <50.000000>; + turn sleeve5 to x-axis <0.000000> speed <30.000000>; + turn misbox2 to x-axis <-25> speed <25.00000>; spin turretmis2 around y-axis speed <25.0>; } @@ -114,11 +191,11 @@ ExecuteRestoreAfterDelay() if (Stunned) { return (1); } - turn tur1 to y-axis <0.0> speed <10.0>; - turn sleeve1 to x-axis <0.0> speed <10.0>; - turn tur3 to y-axis <0.0> speed <10.0>; - turn sleeve3 to x-axis <0.0> speed <10.0>; - turn misbox2 to x-axis <-25> speed <25.0>; + turn tur1 to y-axis <0.000000> speed <10.000000>; + turn sleeve1 to x-axis <0.000000> speed <10.000000>; + turn tur3 to y-axis <0.000000> speed <10.000000>; + turn sleeve3 to x-axis <0.000000> speed <10.000000>; + turn misbox2 to x-axis <-25> speed <25.00000>; spin turretmis2 around y-axis speed <25.0>; } SetStunned(State) @@ -139,29 +216,59 @@ RestoreAfterDelay() RestoreAfterDelay3() { sleep restore_delay; - turn turretmis1 to y-axis <0.0> speed <80.0>; - turn misbox1 to x-axis <0.0> speed <50.0>; - turn turretmis2 to y-axis <0.0> speed <80.0>; - turn misbox2 to x-axis <-25> speed <25.0>; + turn turretmis1 to y-axis <0.000000> speed <80.000000>; + turn misbox1 to x-axis <0.000000> speed <50.000000>; + turn turretmis2 to y-axis <0.000000> speed <80.000000>; + turn misbox2 to x-axis <-25> speed <25.00000>; spin turretmis2 around y-axis speed <25.0>; } +waveSplash() +{ + while( TRUE ) + { + turn base to x-axis <-1.0> speed <1.0>; + move base to y-axis [0.23] speed [0.17]; + wait-for-turn base around x-axis; + turn base to x-axis <0.0> speed <1.0>; + move base to y-axis [0.0] speed [0.17]; + wait-for-turn base around x-axis; + } +} -StartMoving(reversing) +StartMoving() { + signal SIG_MOVE; + set-signal-mask SIG_MOVE; + var waketime; + start-script waveSplash(); + var bowtime; + bowtime = 0; + while( TRUE ) + { + emit-sfx 1024 + 3 from wake; + if (bowtime) emit-sfx 1024 + 4 from bow; + bowtime = !bowtime; + emit-sfx 1024 + 5 from engine; + waketime = (get CURRENT_SPEED) * 100 / get MAX_SPEED; + if( waketime < 50 ) waketime = 50; + sleep 15000 / waketime; + } } StopMoving() { + signal SIG_MOVE; + turn base to x-axis <0.0> speed <1.0>; + move base to y-axis [0.0] speed [0.17]; } AimWeapon1(heading, pitch) { signal 2; set-signal-mask 2; - aimDir1 = heading; - turn tur1 to y-axis heading speed <50.0>; - turn sleeve1 to x-axis RB_AIMPITCHCORRECTION(heading) - pitch speed <25.0>; + turn tur1 to y-axis heading speed <50.000000>; + turn sleeve1 to x-axis <0.000000> - pitch speed <25.000000>; wait-for-turn tur1 around y-axis; wait-for-turn sleeve1 around x-axis; start-script RestoreAfterDelay(); @@ -171,90 +278,98 @@ AimWeapon1(heading, pitch) FireWeapon1() { - if( gun_1 ) +} +Shot1() { + start-script RockZ(-35, aimDir); + if( active_barrel_one ) { emit-sfx 1024 + 1 from flare1b; - move barrel1b to z-axis [-3.0] speed [500.0]; + move barrel1b to z-axis [-3.000000] speed [500.000000]; sleep 100; - move barrel1b to z-axis [0.0] speed [3.0]; + move barrel1b to z-axis [0.000000] speed [3.000000]; + hide flare1b; } else { emit-sfx 1024 + 1 from flare1a; - move barrel1a to z-axis [-3.0] speed [500.0]; + move barrel1a to z-axis [-3.000000] speed [500.000000]; sleep 100; - move barrel1a to z-axis [0.0] speed [3.0]; + move barrel1a to z-axis [0.000000] speed [3.000000]; } - gun_1 = !gun_1; - RB_RECOILBOAT(aimDir1, RB_RECOIL_ENERGY_1); + active_barrel_one = !active_barrel_one; } -AimFromWeapon1(pieceIndex) + + + +AimFromWeapon1(piecenum) { - pieceIndex = tur1; + piecenum = tur1; } -QueryWeapon1(pieceIndex) +QueryWeapon1(piecenum) { - pieceIndex = flare1a + gun_1; + piecenum = flare1a + active_barrel_one; } AimWeapon2(heading, pitch) { signal 4; set-signal-mask 4; - turn tur2 to y-axis heading speed <90.0>; - turn sleeve2 to x-axis RB_AIMPITCHCORRECTION(heading) - pitch speed <25.0>; + turn tur2 to y-axis heading speed <90.000000>; + turn sleeve2 to x-axis <0.000000> - pitch speed <25.000000>; wait-for-turn tur2 around y-axis; wait-for-turn sleeve2 around x-axis; start-script RestoreAfterDelay2(); return (1); } -FireWeapon2() -{ - if( gun_2 == 0 ) +FireWeapon2() { + if( active_barrel_two == 0 ) { emit-sfx 1024 + 0 from flare2a; - move barrel2a to z-axis [-1.0] speed [500.0]; + move barrel2a to z-axis [-1.000000] speed [500.000000]; sleep 100; - move barrel2a to z-axis [0.0] speed [3.0]; + move barrel2a to z-axis [0.000000] speed [3.000000]; } - else if( gun_2 == 1 ) + else if( active_barrel_two == 1 ) { emit-sfx 1024 + 0 from flare2b; - move barrel2b to z-axis [-1.0] speed [500.0]; + move barrel2b to z-axis [-1.000000] speed [500.000000]; sleep 100; - move barrel2b to z-axis [0.0] speed [3.0]; + move barrel2b to z-axis [0.000000] speed [3.000000]; } else { emit-sfx 1024 + 0 from flare2c; - move barrel2c to z-axis [-1.0] speed [500.0]; + move barrel2c to z-axis [-1.000000] speed [500.000000]; sleep 100; - move barrel2c to z-axis [0.0] speed [3.0]; + move barrel2c to z-axis [0.000000] speed [3.000000]; + } + + ++active_barrel_two; + if( active_barrel_two >= 3 ) + { + active_barrel_two = 0; } - gun_2 = (gun_2 + 1) % 3; } -AimFromWeapon2(pieceIndex) +AimFromWeapon2(piecenum) { - pieceIndex = tur2; + piecenum = tur2; } -QueryWeapon2(pieceIndex) +QueryWeapon2(piecenum) { - pieceIndex = flare2a + gun_2; + piecenum = flare2a + active_barrel_two; } AimWeapon3(heading, pitch) { signal 8; set-signal-mask 8; - - aimDir2 = heading; - turn tur3 to y-axis heading speed <50.0>; - turn sleeve3 to x-axis RB_AIMPITCHCORRECTION(heading) - pitch speed <25.0>; + turn tur3 to y-axis heading speed <50.000000>; + turn sleeve3 to x-axis <0.000000> - pitch speed <25.000000>; wait-for-turn tur3 around y-axis; wait-for-turn sleeve3 around x-axis; start-script RestoreAfterDelay(); @@ -263,40 +378,41 @@ AimWeapon3(heading, pitch) FireWeapon3() { - if( gun_3 ) +} +Shot3 () { + if( active_barrel_three ) { emit-sfx 1024 + 1 from flare3b; - move barrel3b to z-axis [-3.0] speed [500.0]; + move barrel3b to z-axis [-3.000000] speed [500.000000]; sleep 100; - move barrel3b to z-axis [0.0] speed [3.0]; + move barrel3b to z-axis [0.000000] speed [3.000000]; } else { emit-sfx 1024 + 1 from flare3a; - move barrel3a to z-axis [-3.0] speed [500.0]; + move barrel3a to z-axis [-3.000000] speed [500.000000]; sleep 100; - move barrel3a to z-axis [0.0] speed [3.0]; + move barrel3a to z-axis [0.000000] speed [3.000000]; } - RB_RECOILBOAT(aimDir2, RB_RECOIL_ENERGY_2); - gun_3 = !gun_3; + active_barrel_three = !active_barrel_three; } -AimFromWeapon3(pieceIndex) +AimFromWeapon3(piecenum) { - pieceIndex = tur3; + piecenum = tur3; } -QueryWeapon3(pieceIndex) +QueryWeapon3(piecenum) { - pieceIndex = flare3a + gun_3; + piecenum = flare3a + active_barrel_three; } AimWeapon4(heading, pitch) { signal 16; set-signal-mask 16; - turn tur4 to y-axis heading speed <90.0>; - turn sleeve4 to x-axis RB_AIMPITCHCORRECTION(heading) - pitch speed <25.0>; + turn tur4 to y-axis heading speed <90.000000>; + turn sleeve4 to x-axis <0.000000> - pitch speed <25.000000>; wait-for-turn tur4 around y-axis; wait-for-turn sleeve4 around x-axis; start-script RestoreAfterDelay2(); @@ -305,46 +421,50 @@ AimWeapon4(heading, pitch) FireWeapon4() { - if( gun_4 == 0 ) + if( Static_Var_4 == 0 ) { emit-sfx 1024 + 0 from flare4a; - move barrel4a to z-axis [-1.0] speed [500.0]; + move barrel4a to z-axis [-1.000000] speed [500.000000]; sleep 100; - move barrel4a to z-axis [0.0] speed [3.0]; + move barrel4a to z-axis [0.000000] speed [3.000000]; } - else if( gun_4 == 1 ) + else if( Static_Var_4 == 1 ) { emit-sfx 1024 + 0 from flare4b; - move barrel4b to z-axis [-1.0] speed [500.0]; + move barrel4b to z-axis [-1.000000] speed [500.000000]; sleep 100; - move barrel4b to z-axis [0.0] speed [3.0]; + move barrel4b to z-axis [0.000000] speed [3.000000]; } else { emit-sfx 1024 + 0 from flare4c; - move barrel4c to z-axis [-1.0] speed [500.0]; + move barrel4c to z-axis [-1.000000] speed [500.000000]; sleep 100; - move barrel4c to z-axis [0.0] speed [3.0]; + move barrel4c to z-axis [0.000000] speed [3.000000]; + } + ++Static_Var_4; + if( Static_Var_4 >= 3 ) + { + Static_Var_4 = 0; } - gun_4 = (gun_4 + 1) % 3; } -AimFromWeapon4(pieceIndex) +AimFromWeapon4(piecenum) { - pieceIndex = tur4; + piecenum = tur4; } -QueryWeapon4(pieceIndex) +QueryWeapon4(piecenum) { - pieceIndex = flare4a + gun_4; + piecenum = flare4a + Static_Var_4; } AimWeapon5(heading, pitch) { signal 32; set-signal-mask 32; - turn tur5 to y-axis heading speed <90.0>; - turn sleeve5 to x-axis RB_AIMPITCHCORRECTION(heading) - pitch speed <25.0>; + turn tur5 to y-axis heading speed <90.000000>; + turn sleeve5 to x-axis <0.000000> - pitch speed <25.000000>; wait-for-turn tur5 around y-axis; wait-for-turn sleeve5 around x-axis; start-script RestoreAfterDelay2(); @@ -353,46 +473,51 @@ AimWeapon5(heading, pitch) FireWeapon5() { - if( gun_5 == 0 ) + if( Static_Var_5 == 0 ) { emit-sfx 1024 + 0 from flare5a; - move barrel5a to z-axis [-1.0] speed [500.0]; + move barrel5a to z-axis [-1.000000] speed [500.000000]; sleep 100; - move barrel5a to z-axis [0.0] speed [3.0]; + move barrel5a to z-axis [0.000000] speed [3.000000]; } - else if( gun_5 == 1 ) + else if( Static_Var_5 == 1 ) { emit-sfx 1024 + 0 from flare5b; - move barrel5b to z-axis [-1.0] speed [500.0]; + move barrel5b to z-axis [-1.000000] speed [500.000000]; sleep 100; - move barrel5b to z-axis [0.0] speed [3.0]; + move barrel5b to z-axis [0.000000] speed [3.000000]; + hide flare5b; } else { emit-sfx 1024 + 0 from flare5c; - move barrel5c to z-axis [-1.0] speed [500.0]; + move barrel5c to z-axis [-1.000000] speed [500.000000]; sleep 100; - move barrel5c to z-axis [0.0] speed [3.0]; + move barrel5c to z-axis [0.000000] speed [3.000000]; + } + ++Static_Var_5; + if( Static_Var_5 >= 3 ) + { + Static_Var_5 = 0; } - gun_5 = (gun_5 + 1) % 3; } -AimFromWeapon5(pieceIndex) +AimFromWeapon5(piecenum) { - pieceIndex = tur5; + piecenum = tur5; } -QueryWeapon5(pieceIndex) +QueryWeapon5(piecenum) { - pieceIndex = flare5a + gun_5; + piecenum = flare5a + Static_Var_5; } AimWeapon6(heading, pitch) { signal 64; set-signal-mask 64; - turn turretmis1 to y-axis heading speed <250.0>; - turn misbox1 to x-axis <0> - pitch speed <200.0>; + turn turretmis1 to y-axis heading speed <250.000000>; + turn misbox1 to x-axis <0> - pitch speed <200.000000>; wait-for-turn turretmis1 around y-axis; wait-for-turn misbox1 around x-axis; start-script RestoreAfterDelay3(); @@ -404,22 +529,22 @@ FireWeapon6() emit-sfx 1024 + 2 from misflare1; } -AimFromWeapon6(pieceIndex) +AimFromWeapon6(piecenum) { - pieceIndex = misflare1; + piecenum = misflare1; } -QueryWeapon6(pieceIndex) +QueryWeapon6(piecenum) { - pieceIndex = misflare1; + piecenum = misflare1; } AimWeapon7(heading, pitch) { signal 128; set-signal-mask 128; - turn turretmis2 to y-axis heading speed <250.0>; - turn misbox2 to x-axis <0> - pitch speed <200.0>; + turn turretmis2 to y-axis heading speed <250.000000>; + turn misbox2 to x-axis <0> - pitch speed <200.000000>; wait-for-turn turretmis2 around y-axis; wait-for-turn misbox2 around x-axis; start-script RestoreAfterDelay3(); @@ -428,7 +553,7 @@ AimWeapon7(heading, pitch) FireWeapon7() { - if( gun_7 ) + if( Static_Var_7 ) { emit-sfx 1024 + 2 from misflare2; } @@ -436,20 +561,23 @@ FireWeapon7() // { // emit-sfx 1024 + 2 from misflare2; // } - gun_7 = !gun_7; + Static_Var_7 = !Static_Var_7; } -AimFromWeapon7(pieceIndex) +AimFromWeapon7(piecenum) { - pieceIndex = turretmis2; + piecenum = turretmis2; } -QueryWeapon7(pieceIndex) +QueryWeapon7(piecenum) { - pieceIndex = misflare2 + gun_7; + piecenum = misflare2 + Static_Var_7; } - +SweetSpot(piecenum) +{ + piecenum = ground; +} Killed(severity, corpsetype) { @@ -463,6 +591,49 @@ Killed(severity, corpsetype) explode barrel3b type FIRE | SMOKE | FALL | NOHEATCLOUD; explode flare3b type BITMAPONLY | NOHEATCLOUD; explode barrel3a type BITMAPONLY | NOHEATCLOUD; + //explode flare3a type BITMAPONLY | NOHEATCLOUD; + //explode flaktur1 type BITMAPONLY | NOHEATCLOUD; + //explode flaksleeve1 type BITMAPONLY | NOHEATCLOUD; + //explode flakbarrel1b type BITMAPONLY | NOHEATCLOUD; + //explode flakflare1b type BITMAPONLY | NOHEATCLOUD; + //explode flakbarrel1a type BITMAPONLY | NOHEATCLOUD; + //explode flakflare1a type BITMAPONLY | NOHEATCLOUD; + //explode flaktur2 type BITMAPONLY | NOHEATCLOUD; + //explode flaksleeve2 type BITMAPONLY | NOHEATCLOUD; + //explode flakbarrel2b type BITMAPONLY | NOHEATCLOUD; + //explode flakflare2b type BITMAPONLY | NOHEATCLOUD; + //explode flakbarrel2a type BITMAPONLY | NOHEATCLOUD; + //explode flakflare2a type BITMAPONLY | NOHEATCLOUD; + //explode tur4 type BITMAPONLY | NOHEATCLOUD; + //explode sleeve4 type BITMAPONLY | NOHEATCLOUD; + //explode barrel4c type BITMAPONLY | NOHEATCLOUD; + //explode flare4c type BITMAPONLY | NOHEATCLOUD; + //explode barrel4b type BITMAPONLY | NOHEATCLOUD; + //explode flare4b type BITMAPONLY | NOHEATCLOUD; + //explode barrel4a type BITMAPONLY | NOHEATCLOUD; + //explode flare4a type BITMAPONLY | NOHEATCLOUD; + //explode tur2 type BITMAPONLY | NOHEATCLOUD; + //explode sleeve2 type BITMAPONLY | NOHEATCLOUD; + //explode barrel2c type BITMAPONLY | NOHEATCLOUD; + //explode flare2c type BITMAPONLY | NOHEATCLOUD; + //explode barrel2b type BITMAPONLY | NOHEATCLOUD; + //explode flare2b type BITMAPONLY | NOHEATCLOUD; + //explode barrel2a type BITMAPONLY | NOHEATCLOUD; + //explode flare2a type BITMAPONLY | NOHEATCLOUD; + //explode tur5 type BITMAPONLY | NOHEATCLOUD; + //explode sleeve5 type BITMAPONLY | NOHEATCLOUD; + //explode barrel5c type BITMAPONLY | NOHEATCLOUD; + //explode flare5c type BITMAPONLY | NOHEATCLOUD; + //explode barrel5b type BITMAPONLY | NOHEATCLOUD; + //explode flare5b type BITMAPONLY | NOHEATCLOUD; + //explode barrel5a type BITMAPONLY | NOHEATCLOUD; + //explode flare5a type BITMAPONLY | NOHEATCLOUD; + //explode tur1 type BITMAPONLY | NOHEATCLOUD; + //explode sleeve1 type BITMAPONLY | NOHEATCLOUD; + //explode barrel1b type BITMAPONLY | NOHEATCLOUD; + //explode flare1b type BITMAPONLY | NOHEATCLOUD; + //explode barrel1a type BITMAPONLY | NOHEATCLOUD; + //explode flare1a type BITMAPONLY | NOHEATCLOUD; explode dish type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } @@ -475,6 +646,48 @@ Killed(severity, corpsetype) explode barrel3b type FALL | NOHEATCLOUD; explode flare3b type FALL | NOHEATCLOUD; explode barrel3a type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare3a type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flaktur1 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flaksleeve1 type FALL | NOHEATCLOUD; + //explode flakbarrel1b type FALL | NOHEATCLOUD; + //explode flakflare1b type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flakbarrel1a type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flakflare1a type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flaktur2 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flaksleeve2 type FALL | NOHEATCLOUD; + //explode flakbarrel2b type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flakflare2b type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flakbarrel2a type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flakflare2a type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode tur4 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode sleeve4 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode barrel4c type FALL | NOHEATCLOUD; + //explode flare4c type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode barrel4b type FALL | NOHEATCLOUD; + //explode flare4b type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode barrel4a type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare4a type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode tur2 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode sleeve2 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode barrel2c type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare2c type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode barrel2b type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare2b type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode barrel2a type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare2a type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode tur5 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode sleeve5 type FALL | NOHEATCLOUD; + //explode barrel5c type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare5c type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode barrel5b type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare5b type FALL | NOHEATCLOUD; + //explode barrel5a type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare5a type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode sleeve1 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode barrel1b type FALL | NOHEATCLOUD; + //explode flare1b type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode barrel1a type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare1a type FALL | NOHEATCLOUD; explode dish type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } @@ -488,6 +701,49 @@ Killed(severity, corpsetype) explode barrel3b type SMOKE | FALL | NOHEATCLOUD; explode flare3b type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode barrel3a type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare3a type SMOKE | FALL | NOHEATCLOUD; + //explode flaktur1 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flaksleeve1 type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode flakbarrel1b type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flakflare1b type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode flakbarrel1a type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flakflare1a type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode flaktur2 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flaksleeve2 type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode flakbarrel2b type SMOKE | FALL | NOHEATCLOUD; + //explode flakflare2b type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flakbarrel2a type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flakflare2a type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode tur4 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode sleeve4 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode barrel4c type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare4c type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode barrel4b type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare4b type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode barrel4a type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode flare4a type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode tur2 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode sleeve2 type SMOKE | FALL | NOHEATCLOUD; + //explode barrel2c type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode flare2c type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode barrel2b type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare2b type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode barrel2a type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare2a type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode tur5 type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode sleeve5 type SMOKE | FALL | NOHEATCLOUD; + //explode barrel5c type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare5c type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode barrel5b type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare5b type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode barrel5a type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare5a type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode tur1 type BITMAPONLY | NOHEATCLOUD; + //explode sleeve1 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode barrel1b type SMOKE | FALL | NOHEATCLOUD; + //explode flare1b type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode barrel1a type SMOKE | FALL | NOHEATCLOUD; + //explode flare1a type FIRE | SMOKE | FALL | NOHEATCLOUD; explode dish type SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } @@ -500,6 +756,48 @@ Killed(severity, corpsetype) explode flare3b type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode barrel3a type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode flare3a type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flaktur1 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flaksleeve1 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode flakbarrel1b type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flakflare1b type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode flakbarrel1a type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode flakflare1a type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode flaktur2 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode flaksleeve2 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flakbarrel2b type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flakflare2b type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flakbarrel2a type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode flakflare2a type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode tur4 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode sleeve4 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode barrel4c type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare4c type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode barrel4b type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare4b type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode barrel4a type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode flare4a type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode tur2 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode sleeve2 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode barrel2c type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare2c type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode barrel2b type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare2b type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode barrel2a type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode flare2a type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode tur5 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode sleeve5 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode barrel5c type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode flare5c type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode barrel5b type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare5b type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode barrel5a type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode flare5a type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode tur1 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode sleeve1 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode barrel1b type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare1b type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode barrel1a type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare1a type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode dish type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/armestor.bos b/scripts/Units/armestor.bos index a69614df168..dd5815437bb 100644 --- a/scripts/Units/armestor.bos +++ b/scripts/Units/armestor.bos @@ -1,53 +1,22 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base; -//#define BENCHMARK -//#include "../debug.h" - -#define USERANDOM -#include "../random.h" - -BenchRandom(){ - var i; - var j; - while (TRUE){ - sleep 100; - i = 0; - - while (i < 1000){ - i = i + 1; - #if 0 - j = RAND(0,i); - #else - ///NEXTRANDOM; - //j = RANDOM(100); - j = (j /2) + (j/2)+ (j/2)+ (j/2)+ (j/2)+ (j/2)+ (j/2); - //j = (j +2) + (j+2)+ (j+2)+ (j+2)+ (j+2)+ (j+2)+ (j+2) ; - - //get PRINT(j); - #endif - } - - } -} Create() { - #ifdef BENCHMARK - //start-script StartBench(1000); - #endif - INITRANDOM(1); - start-script BenchRandom(); } +#define SMOKEPIECE base +#include "smokeunit_thread_nohit.h" -#define BASEPIECE base -#define MAXTILT 0 -#include "../unit_hitbyweaponid_and_smoke.h" - - +SweetSpot(piecenum) +{ + piecenum = base; +} Killed(severity, corpsetype) { diff --git a/scripts/Units/armestor.cob b/scripts/Units/armestor.cob index 46afd64bd56487244becbfa845f859a8b213611d..877c95b18ab2a56a126bd0ed640a2c831db40ccd 100644 GIT binary patch literal 875 zcmbtSu};H440Wz)SQyO6g0dnpM2LZ{s1;HXOQot}g9bRHh|*LL39ix9&wlo^eRr{l^nnO?Hwz=%J&_bR0uJCG!$#_qoJUYTctf!I%ea`wd zhhoO2hv^NBkC^x&q5nyuBa6FEoU?4s$@30k+@Cv6Iy^g)Zfn9GmlmUZv%hE(?)F=L zd+!KKvvaE#c)m@u8@XL3r=iyxN5ApjKx2E|Dni>xF zKbkk}W14TKiEsC7P0sR{I<{xs7|4MF;J+ULXTS`&0`7p(qt7cZ(}(ij&z40cuBh-l^oSx=!LyU99x#%PtVz-blTsAm9hdl}LR3vVF$(HiPUTnvqBQ9YY$fnP- zE)es-^o8|dkjFE^8pOd0W{zQ)r+(ZgF0ozP=j9yRIsAo%8N4z7G&{qZnH}F%p933A-?* zTykSRjNa!2Cmh`9A>ti}*^fxf9u(3_Y}?4;yY)#T`A{)~wqL4Yclu&}=sYKJ zH_jf%n)c7;km7|Q^h3(;^Cre?QjgMJ*JrqhUBu(ZJ&AoU5xy%#dUD} z-s}j!3lB}-ZRtIhyw?DszS1}RFPT4TcG%xUJLUqmeuH=0{7Da9IC=NQLtL5n2)(}v z#CdJYvuk$4PxDb5Ar9eH2|(ttTS>M;(cNh)%DBa9(s- zbVamQPc~oNFDKP>9B#g@%bhx`Z|$tTeN>mPrjt8W`xI`K IS-D+@pDtu|YXATM diff --git a/scripts/Units/armeyes.bos b/scripts/Units/armeyes.bos index b5e3103b710..a03e430c671 100644 --- a/scripts/Units/armeyes.bos +++ b/scripts/Units/armeyes.bos @@ -1,5 +1,7 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, sphere; @@ -13,23 +15,31 @@ Bob(){ } } -Create(random) +Create(Func_Var_1) { - SLEEP_UNTIL_UNITFINISHED; + dont-cache sphere; + while( get BUILD_PERCENT_LEFT ) + { + sleep 250; + } start-script Bob(); - random = Rand( 1, 2 ); - if( random == 1 ) + Func_Var_1 = Rand( 1, 2 ); + if( Func_Var_1 == 1 ) { spin sphere around y-axis speed <-66>; } - if( random == 2 ) + if( Func_Var_1 == 2 ) { spin sphere around y-axis speed <66>; } return (0); } - +SweetSpot(piecenum) +{ + piecenum = sphere; + return (0); +} Killed(severity, corpsetype) { diff --git a/scripts/Units/armeyes.cob b/scripts/Units/armeyes.cob index 5df1554fddbecfc3c2ed75fdd2349d8627b9eb48..e1dbf6a943c87d762f33daf2745116cac0e0835a 100644 GIT binary patch literal 1048 zcmbVLJxjw-6un8)>frDSE(*e%i%9SnNF7}Q8D09}0}F+gHXv^KAO0CfS2zEG4h{}Z zio|nX-b>S<(pos&oA>Uy=iJ*Q5|Ic9foH(~9$F$#zzcAU!#Bi0g(_gdprZ~E_)KOQ zzY0-e?`@3^s(if;#9!*4#*#{d8T literal 762 zcmaJFMNOJI)*?IHc%pRMG$QFfka> z3+{`JQDd|o>1=!7cBmP*`(Bn(EbbKRyl2pzFX?^`QHXS$Lr=R8?-YCOk;|(chDdEM z?rV2=W{=kAd)t{jy%^~q`yR0teD9Fjzu4saNDby}^1WnF@O?l^U;l=pea(lhS3cU>E?Yz7b`3BGh_&&dYZ(s_{faB}FoQz%X*2(E`G;&wc?@gRcZU%1b speed <1132.539710> / animSpeed; turn lfoot to y-axis <-1.118689> speed <33.560655> / animSpeed; move lleg to z-axis [0.948327] speed [28.449823] / animSpeed; @@ -19,17 +21,17 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn luparm to x-axis <42.886368> speed <65.416649> / animSpeed; turn luparm to z-axis <0.302246> speed <9.067391> / animSpeed; turn luparm to y-axis <-0.155167> speed <4.655000> / animSpeed; - move pelvis to y-axis [0.300000] speed [9.0] / animSpeed; + move pelvis to y-axis [0.300000] speed [9.000000] / animSpeed; turn rfoot to x-axis <6.399191> speed <191.975799> / animSpeed; turn rfoot to z-axis <0.378272> speed <11.348151> / animSpeed; move rleg to z-axis [0.542942] speed [16.288252] / animSpeed; move rleg to y-axis [-0.485064] speed [14.551928] / animSpeed; turn rthigh to x-axis <-29.161643> speed <874.849288> / animSpeed; - turn torso to y-axis <-3.333333> speed <100.0> / animSpeed; + turn torso to y-axis <-3.333333> speed <100.000001> / animSpeed; sleep 65; } - while(isMoving) { - if (isMoving) { //Frame:5 + while(bMoving) { + if (bMoving) { //Frame:5 turn lfoot to x-axis <-31.372876> speed <191.353521> / animSpeed; turn lfoot to z-axis <0.713240> speed <22.515296> / animSpeed; turn lfoot to y-axis <2.407080> speed <105.773059> / animSpeed; @@ -38,22 +40,22 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn lthigh to x-axis <65.546143> speed <905.408920> / animSpeed; turn luparm to x-axis <36.829555> speed <181.704410> / animSpeed; turn luparm to z-axis <0.453370> speed <4.533696> / animSpeed; - move pelvis to y-axis [-0.100000] speed [12.0] / animSpeed; + move pelvis to y-axis [-0.100000] speed [12.000000] / animSpeed; turn pelvis to x-axis <1.555287> speed <46.658604> / animSpeed; - turn pelvis to y-axis <3.500000> speed <105.0> / animSpeed; + turn pelvis to y-axis <3.500000> speed <105.000001> / animSpeed; turn rfoot to x-axis <12.576867> speed <185.330293> / animSpeed; turn rfoot to z-axis <0.776968> speed <11.960897> / animSpeed; turn rfoot to y-axis <-1.710736> speed <53.084530> / animSpeed; - move rleg to z-axis [0.0] speed [16.288252] / animSpeed; - move rleg to y-axis [0.0] speed [14.551928] / animSpeed; + move rleg to z-axis [0.000000] speed [16.288252] / animSpeed; + move rleg to y-axis [0.000000] speed [14.551928] / animSpeed; turn rthigh to x-axis <-14.200525> speed <448.833536> / animSpeed; turn ruparm to x-axis <54.348355> speed <278.442941> / animSpeed; turn ruparm to z-axis <0.668738> speed <20.062131> / animSpeed; turn ruparm to y-axis <-0.521533> speed <15.646002> / animSpeed; - turn torso to y-axis <-8.666667> speed <160.0> / animSpeed; + turn torso to y-axis <-8.666667> speed <160.000020> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:7 + if (bMoving) { //Frame:7 turn lfoot to x-axis <-40.937818> speed <286.948268> / animSpeed; turn lfoot to z-axis <-11.449800> speed <364.891200> / animSpeed; turn lfoot to y-axis <-14.451830> speed <505.767301> / animSpeed; @@ -62,9 +64,9 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn lthigh to x-axis <16.455381> speed <1472.722862> / animSpeed; turn luparm to x-axis <30.772738> speed <181.704513> / animSpeed; turn luparm to z-axis <0.604493> speed <4.533695> / animSpeed; - move pelvis to y-axis [-0.500000] speed [12.0] / animSpeed; - turn pelvis to x-axis <2.0> speed <13.341396> / animSpeed; - turn pelvis to y-axis <7.0> speed <105.0> / animSpeed; + move pelvis to y-axis [-0.500000] speed [12.000000] / animSpeed; + turn pelvis to x-axis <2.000000> speed <13.341396> / animSpeed; + turn pelvis to y-axis <7.000000> speed <105.000001> / animSpeed; turn rfoot to x-axis <4.588710> speed <239.644705> / animSpeed; turn rfoot to z-axis <0.565360> speed <6.348240> / animSpeed; turn rfoot to y-axis <-6.034509> speed <129.713191> / animSpeed; @@ -73,37 +75,37 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas move rleg to y-axis [0.895370] speed [26.861088] / animSpeed; turn rthigh to x-axis <-5.383038> speed <264.524621> / animSpeed; turn ruparm to x-axis <54.999999> speed <19.549333> / animSpeed; - turn ruparm to z-axis <-0.0> speed <20.062131> / animSpeed; - turn ruparm to y-axis <0.0> speed <15.646002> / animSpeed; - turn torso to y-axis <-14.0> speed <159.999982> / animSpeed; + turn ruparm to z-axis <-0.000000> speed <20.062131> / animSpeed; + turn ruparm to y-axis <0.000000> speed <15.646002> / animSpeed; + turn torso to y-axis <-14.000000> speed <159.999982> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:9 + if (bMoving) { //Frame:9 turn lfoot to x-axis <-31.187371> speed <292.513404> / animSpeed; turn lfoot to z-axis <-6.201048> speed <157.462558> / animSpeed; turn lfoot to y-axis <-8.704662> speed <172.415037> / animSpeed; - move lleg to z-axis [0.0] speed [19.209976] / animSpeed; - move lleg to y-axis [0.0] speed [23.429865] / animSpeed; + move lleg to z-axis [0.000000] speed [19.209976] / animSpeed; + move lleg to y-axis [0.000000] speed [23.429865] / animSpeed; turn lthigh to x-axis <-11.127814> speed <827.495842> / animSpeed; turn luparm to x-axis <37.919831> speed <214.412786> / animSpeed; turn luparm to z-axis <0.302246> speed <9.067391> / animSpeed; turn luparm to y-axis <-0.155167> speed <4.655000> / animSpeed; - move pelvis to y-axis [0.0] speed [15.0] / animSpeed; + move pelvis to y-axis [0.000000] speed [15.000000] / animSpeed; turn pelvis to x-axis <1.555287> speed <13.341396> / animSpeed; - turn pelvis to y-axis <3.500000> speed <105.0> / animSpeed; + turn pelvis to y-axis <3.500000> speed <105.000001> / animSpeed; turn rfoot to x-axis <-17.809763> speed <671.954186> / animSpeed; turn rfoot to z-axis <-0.513051> speed <32.352339> / animSpeed; - turn rfoot to y-axis <-1.634483> speed <132.0> / animSpeed; + turn rfoot to y-axis <-1.634483> speed <132.000783> / animSpeed; move rleg to x-axis [-0.003880] speed [3.059321] / animSpeed; move rleg to z-axis [-0.146241] speed [23.281236] / animSpeed; move rleg to y-axis [0.265725] speed [18.889351] / animSpeed; turn rthigh to x-axis <15.914020> speed <638.911724> / animSpeed; turn ruparm to x-axis <48.943182> speed <181.704513> / animSpeed; turn ruparm to z-axis <0.151123> speed <4.533695> / animSpeed; - turn torso to y-axis <-7.0> speed <210.0> / animSpeed; + turn torso to y-axis <-7.000000> speed <210.000002> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:11 + if (bMoving) { //Frame:11 turn lfoot to x-axis <6.750937> speed <1138.149238> / animSpeed; turn lfoot to z-axis <0.379494> speed <197.416238> / animSpeed; turn lfoot to y-axis <0.057938> speed <262.877989> / animSpeed; @@ -111,11 +113,11 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas move lleg to y-axis [-0.485064] speed [14.551928] / animSpeed; turn lthigh to x-axis <-28.199824> speed <512.160301> / animSpeed; turn luparm to x-axis <45.066923> speed <214.412786> / animSpeed; - turn luparm to z-axis <-0.0> speed <9.067391> / animSpeed; - turn luparm to y-axis <0.0> speed <4.655000> / animSpeed; - move pelvis to y-axis [0.500000] speed [15.0] / animSpeed; - turn pelvis to x-axis <-0.0> speed <46.658604> / animSpeed; - turn pelvis to y-axis <0.0> speed <105.0> / animSpeed; + turn luparm to z-axis <-0.000000> speed <9.067391> / animSpeed; + turn luparm to y-axis <0.000000> speed <4.655000> / animSpeed; + move pelvis to y-axis [0.500000] speed [15.000000] / animSpeed; + turn pelvis to x-axis <-0.000000> speed <46.658604> / animSpeed; + turn pelvis to y-axis <0.000000> speed <105.000001> / animSpeed; turn rfoot to x-axis <-36.246752> speed <553.109675> / animSpeed; turn rfoot to z-axis <-0.033475> speed <14.387283> / animSpeed; turn rfoot to y-axis <-1.104373> speed <15.903306> / animSpeed; @@ -124,22 +126,22 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn rthigh to x-axis <35.827569> speed <597.406491> / animSpeed; turn ruparm to x-axis <42.886368> speed <181.704410> / animSpeed; turn ruparm to z-axis <0.302246> speed <4.533695> / animSpeed; - turn torso to y-axis <0.0> speed <210.0> / animSpeed; + turn torso to y-axis <0.000000> speed <210.000002> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:13 + if (bMoving) { //Frame:13 turn lfoot to x-axis <13.336446> speed <197.565288> / animSpeed; turn lfoot to z-axis <-0.405751> speed <23.557350> / animSpeed; turn lfoot to y-axis <7.547809> speed <224.696141> / animSpeed; - move lleg to z-axis [0.0] speed [16.288252] / animSpeed; - move lleg to y-axis [0.0] speed [14.551928] / animSpeed; + move lleg to z-axis [0.000000] speed [16.288252] / animSpeed; + move lleg to y-axis [0.000000] speed [14.551928] / animSpeed; turn lthigh to x-axis <-14.094029> speed <423.173864> / animSpeed; turn luparm to x-axis <54.348355> speed <278.442941> / animSpeed; turn luparm to z-axis <0.668738> speed <20.062131> / animSpeed; turn luparm to y-axis <-0.521533> speed <15.646002> / animSpeed; - move pelvis to y-axis [0.0] speed [15.0] / animSpeed; + move pelvis to y-axis [0.000000] speed [15.000000] / animSpeed; turn pelvis to x-axis <1.555287> speed <46.658604> / animSpeed; - turn pelvis to y-axis <-3.500000> speed <105.0> / animSpeed; + turn pelvis to y-axis <-3.500000> speed <105.000001> / animSpeed; turn rfoot to x-axis <-31.380642> speed <145.983307> / animSpeed; turn rfoot to z-axis <-1.336122> speed <39.079413> / animSpeed; turn rfoot to y-axis <-0.789357> speed <9.450482> / animSpeed; @@ -148,10 +150,10 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn rthigh to x-axis <66.152356> speed <909.743597> / animSpeed; turn ruparm to x-axis <36.829555> speed <181.704410> / animSpeed; turn ruparm to z-axis <0.453370> speed <4.533696> / animSpeed; - turn torso to y-axis <7.0> speed <210.0> / animSpeed; + turn torso to y-axis <7.000000> speed <210.000002> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:15 + if (bMoving) { //Frame:15 turn lfoot to x-axis <4.217904> speed <273.556261> / animSpeed; turn lfoot to z-axis <1.166675> speed <47.172783> / animSpeed; turn lfoot to y-axis <7.793589> speed <7.373403> / animSpeed; @@ -160,11 +162,11 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas move lleg to y-axis [0.895370] speed [26.861088] / animSpeed; turn lthigh to x-axis <-5.081794> speed <270.367045> / animSpeed; turn luparm to x-axis <54.999999> speed <19.549333> / animSpeed; - turn luparm to z-axis <-0.0> speed <20.062131> / animSpeed; - turn luparm to y-axis <0.0> speed <15.646002> / animSpeed; - move pelvis to y-axis [-0.500000] speed [15.0] / animSpeed; - turn pelvis to x-axis <2.0> speed <13.341396> / animSpeed; - turn pelvis to y-axis <-7.0> speed <105.0> / animSpeed; + turn luparm to z-axis <-0.000000> speed <20.062131> / animSpeed; + turn luparm to y-axis <0.000000> speed <15.646002> / animSpeed; + move pelvis to y-axis [-0.500000] speed [15.000000] / animSpeed; + turn pelvis to x-axis <2.000000> speed <13.341396> / animSpeed; + turn pelvis to y-axis <-7.000000> speed <105.000001> / animSpeed; turn rfoot to x-axis <-41.024295> speed <289.309601> / animSpeed; turn rfoot to z-axis <-5.417487> speed <122.440964> / animSpeed; turn rfoot to y-axis <-6.216200> speed <162.805280> / animSpeed; @@ -173,10 +175,10 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn rthigh to x-axis <15.454022> speed <1520.950025> / animSpeed; turn ruparm to x-axis <30.772738> speed <181.704513> / animSpeed; turn ruparm to z-axis <0.604493> speed <4.533695> / animSpeed; - turn torso to y-axis <14.0> speed <210.0> / animSpeed; + turn torso to y-axis <14.000000> speed <210.000002> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:17 + if (bMoving) { //Frame:17 turn lfoot to x-axis <-18.528584> speed <682.394642> / animSpeed; turn lfoot to y-axis <2.241796> speed <166.553787> / animSpeed; move lleg to x-axis [-0.003880] speed [3.059321] / animSpeed; @@ -185,14 +187,14 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn lthigh to x-axis <15.666938> speed <622.461948> / animSpeed; turn luparm to x-axis <48.943182> speed <181.704513> / animSpeed; turn luparm to z-axis <0.151123> speed <4.533695> / animSpeed; - move pelvis to y-axis [-0.100000] speed [12.0] / animSpeed; + move pelvis to y-axis [-0.100000] speed [12.000000] / animSpeed; turn pelvis to x-axis <1.555287> speed <13.341396> / animSpeed; - turn pelvis to y-axis <-3.500000> speed <105.0> / animSpeed; + turn pelvis to y-axis <-3.500000> speed <105.000001> / animSpeed; turn rfoot to x-axis <-31.564965> speed <283.779914> / animSpeed; turn rfoot to z-axis <-0.870692> speed <136.403870> / animSpeed; turn rfoot to y-axis <-0.066210> speed <184.499692> / animSpeed; - move rleg to z-axis [0.0] speed [19.209976] / animSpeed; - move rleg to y-axis [0.0] speed [23.429865] / animSpeed; + move rleg to z-axis [0.000000] speed [19.209976] / animSpeed; + move rleg to y-axis [0.000000] speed [23.429865] / animSpeed; turn rthigh to x-axis <-11.672442> speed <813.793902> / animSpeed; turn ruparm to x-axis <37.919831> speed <214.412786> / animSpeed; turn ruparm to z-axis <0.302246> speed <9.067391> / animSpeed; @@ -200,7 +202,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn torso to y-axis <5.333334> speed <259.999996> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:19 + if (bMoving) { //Frame:19 turn lfoot to x-axis <-37.751326> speed <576.682280> / animSpeed; turn lfoot to z-axis <-0.037269> speed <33.346009> / animSpeed; turn lfoot to y-axis <-1.118689> speed <100.814540> / animSpeed; @@ -209,9 +211,9 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn lthigh to x-axis <35.365845> speed <590.967228> / animSpeed; turn luparm to x-axis <42.886368> speed <181.704410> / animSpeed; turn luparm to z-axis <0.302246> speed <4.533695> / animSpeed; - move pelvis to y-axis [0.300000] speed [12.0] / animSpeed; - turn pelvis to x-axis <-0.0> speed <46.658604> / animSpeed; - turn pelvis to y-axis <0.0> speed <105.0> / animSpeed; + move pelvis to y-axis [0.300000] speed [12.000000] / animSpeed; + turn pelvis to x-axis <-0.000000> speed <46.658604> / animSpeed; + turn pelvis to y-axis <0.000000> speed <105.000001> / animSpeed; turn rfoot to x-axis <6.399191> speed <1138.924653> / animSpeed; turn rfoot to z-axis <0.378272> speed <37.468905> / animSpeed; turn rfoot to y-axis <0.058748> speed <3.748737> / animSpeed; @@ -219,39 +221,39 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas move rleg to y-axis [-0.485064] speed [14.551928] / animSpeed; turn rthigh to x-axis <-29.161643> speed <524.676042> / animSpeed; turn ruparm to x-axis <45.066923> speed <214.412786> / animSpeed; - turn ruparm to z-axis <-0.0> speed <9.067391> / animSpeed; - turn ruparm to y-axis <0.0> speed <4.655000> / animSpeed; - turn torso to y-axis <-3.333333> speed <260.0> / animSpeed; + turn ruparm to z-axis <-0.000000> speed <9.067391> / animSpeed; + turn ruparm to y-axis <0.000000> speed <4.655000> / animSpeed; + turn torso to y-axis <-3.333333> speed <260.000009> / animSpeed; sleep ((33*animSpeed) -1); } } } -// Call this from StopMoving()! +// Call this from MotionControl()! StopWalking() { - move lleg to x-axis [0.0] speed [1.587861]; - move lleg to y-axis [0.0] speed [19.755632]; - move lleg to z-axis [0.0] speed [18.098236]; - move pelvis to y-axis [0.0] speed [7.500000]; - move rleg to x-axis [0.0] speed [1.587861]; - move rleg to y-axis [0.0] speed [19.755632]; - move rleg to z-axis [0.0] speed [18.098236]; - turn lfoot to x-axis <0.0> speed <569.074619>; - turn lfoot to y-axis <0.0> speed <252.883651>; - turn lfoot to z-axis <0.0> speed <182.445600>; - turn lthigh to x-axis <0.0> speed <736.361431>; + move lleg to x-axis [0.000000] speed [1.587861]; + move lleg to y-axis [0.000000] speed [19.755632]; + move lleg to z-axis [0.000000] speed [18.098236]; + move pelvis to y-axis [0.000000] speed [7.500000]; + move rleg to x-axis [0.000000] speed [1.587861]; + move rleg to y-axis [0.000000] speed [19.755632]; + move rleg to z-axis [0.000000] speed [18.098236]; + turn lfoot to x-axis <0.000000> speed <569.074619>; + turn lfoot to y-axis <0.000000> speed <252.883651>; + turn lfoot to z-axis <0.000000> speed <182.445600>; + turn lthigh to x-axis <0.000000> speed <736.361431>; turn luparm to x-axis <45.066923> speed <139.221470>; - turn luparm to y-axis <0.0> speed <7.823001>; - turn luparm to z-axis <0.0> speed <10.031065>; - turn pelvis to x-axis <0.0> speed <23.329302>; - turn pelvis to y-axis <0.0> speed <52.500000>; - turn rfoot to x-axis <0.0> speed <569.462326>; - turn rfoot to y-axis <0.0> speed <92.249846>; - turn rfoot to z-axis <0.0> speed <68.201935>; - turn rthigh to x-axis <0.0> speed <760.475012>; + turn luparm to y-axis <0.000000> speed <7.823001>; + turn luparm to z-axis <0.000000> speed <10.031065>; + turn pelvis to x-axis <0.000000> speed <23.329302>; + turn pelvis to y-axis <0.000000> speed <52.500000>; + turn rfoot to x-axis <0.000000> speed <569.462326>; + turn rfoot to y-axis <0.000000> speed <92.249846>; + turn rfoot to z-axis <0.000000> speed <68.201935>; + turn rthigh to x-axis <0.000000> speed <760.475012>; turn ruparm to x-axis <45.066923> speed <139.221470>; - turn ruparm to y-axis <0.0> speed <7.823001>; - turn ruparm to z-axis <0.0> speed <10.031065>; - turn torso to y-axis <0.0> speed <130.0>; + turn ruparm to y-axis <0.000000> speed <7.823001>; + turn ruparm to z-axis <0.000000> speed <10.031065>; + turn torso to y-axis <0.000000> speed <130.000004>; } UnitSpeed(){ maxSpeed = get MAX_SPEED; // this returns cob units per frame i think @@ -275,7 +277,7 @@ UnitSpeed(){ #define UNITSIZE 1 #define MAXTILT 100 -#include "../unit_hitbyweaponid_and_smoke.h" +#include "unit_hitbyweaponid_and_smoke.h" Stop() { @@ -291,16 +293,17 @@ Create() hide rnano; hide armhexl_emit; hide armhexl2_emit; - isMoving = FALSE; + bMoving = FALSE; animSpeed = 3; nanoNozzle = 0; animSpeed = 60; - //turn luparm to x-axis <45.010989> speed <45>; - //turn ruparm to x-axis <45.010989> speed <45>; + start-script SmokeUnit(); + turn luparm to x-axis <45.010989> speed <45>; + turn ruparm to x-axis <45.010989> speed <45>; } BuildAnim(){ - set-signal-mask SIGNAL_BUILD; + set-signal-mask SIG_BUILD; while (TRUE){ turn aimx1 to x-axis <-40> speed <10>; wait-for-turn aimx1 around x-axis; @@ -314,8 +317,8 @@ StartBuilding(heading, pitch) { show lnano; show rnano; - signal SIGNAL_BUILD; - turn aimy1 to y-axis heading speed <240.0>; + signal SIG_BUILD; + turn aimy1 to y-axis heading speed <240.000000>; turn aimx1 to x-axis <-50> - pitch speed <240.0>; wait-for-turn aimy1 around y-axis; set INBUILDSTANCE to 1; @@ -328,20 +331,20 @@ StopBuilding() { hide lnano; hide rnano; - signal SIGNAL_BUILD; - set-signal-mask SIGNAL_BUILD; + signal SIG_BUILD; + set-signal-mask SIG_BUILD; hide armhexl_emit; hide armhexl2_emit; - turn aimy1 to y-axis <0.0> speed <160.0>; + turn aimy1 to y-axis <0.000000> speed <160.000000>; turn aimx1 to x-axis <0> speed <240.0>; turn aimy1 to x-axis <0> speed <5>; } -StartMoving(reversing) +StartMoving() { - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; - isMoving = TRUE; + signal SIG_WALK; + set-signal-mask SIG_WALK; + bMoving = TRUE; start-script UnitSpeed(); start-script walk(); @@ -349,19 +352,29 @@ StartMoving(reversing) StopMoving() { - signal SIGNAL_MOVE; - isMoving = FALSE; + signal SIG_WALK; + bMoving = FALSE; call-script StopWalking(); } +SweetSpot(piecenum) +{ + piecenum = pelvis; +} - -QueryNanoPiece(pieceIndex) +QueryNanoPiece(piecenum) { - pieceIndex = rnano + nanoNozzle; + piecenum = rnano + nanoNozzle; nanoNozzle = !nanoNozzle; } +/* +TargetHeading(Func_Var_1) +{ + Static_Var_5 = 0 - Func_Var_1; +} +*/ + Killed(severity, corpsetype) { if( severity <= 25 ) @@ -369,16 +382,16 @@ Killed(severity, corpsetype) corpsetype = 1 ; explode pelvis type BITMAPONLY | NOHEATCLOUD; explode torso type BITMAPONLY | NOHEATCLOUD; - + //explode luparm type BITMAPONLY | NOHEATCLOUD; explode lnano type FIRE | SMOKE | FALL | NOHEATCLOUD; explode ruparm type BITMAPONLY | NOHEATCLOUD; - - - - - - - + //explode rnano type BITMAPONLY | NOHEATCLOUD; + //explode lthigh type BITMAPONLY | NOHEATCLOUD; + //explode lleg type BITMAPONLY | NOHEATCLOUD; + //explode lfoot type BITMAPONLY | NOHEATCLOUD; + //explode rthigh type BITMAPONLY | NOHEATCLOUD; + //explode rleg type BITMAPONLY | NOHEATCLOUD; + //explode rfoot type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } if( severity <= 50 ) @@ -386,16 +399,16 @@ Killed(severity, corpsetype) corpsetype = 2 ; explode pelvis type FIRE | SMOKE | FALL | NOHEATCLOUD; explode torso type FIRE | SMOKE | FALL | NOHEATCLOUD; - + //explode luparm type FALL | NOHEATCLOUD; explode lnano type FIRE | SMOKE | FALL | NOHEATCLOUD; explode ruparm type FIRE | SMOKE | FALL | NOHEATCLOUD; explode rnano type FALL | NOHEATCLOUD; - - - - - - + //explode lthigh type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lleg type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lfoot type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rthigh type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rleg type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rfoot type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) @@ -406,13 +419,13 @@ Killed(severity, corpsetype) explode luparm type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; explode lnano type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode ruparm type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; - - - - - - - + //explode rnano type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lthigh type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lleg type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode lfoot type SMOKE | FALL | NOHEATCLOUD; + //explode rthigh type SMOKE | FALL | NOHEATCLOUD; + //explode rleg type SMOKE | FALL | NOHEATCLOUD; + //explode rfoot type SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; @@ -421,12 +434,12 @@ Killed(severity, corpsetype) explode luparm type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode lnano type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode ruparm type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; - - - - - - - + //explode rnano type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode lthigh type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode lleg type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lfoot type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode rthigh type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode rleg type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rfoot type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/armfark.cob b/scripts/Units/armfark.cob index 7219e193901931a3643a2670949c163a214fc0f9..4fd1a68d86b6812a7d324752e96cfe9769f7a984 100644 GIT binary patch literal 12330 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 -#include "../unit_hitbyweaponid_and_smoke.h"" - - - -QueryLandingPad(pieceIndex1, pieceIndex2, pieceIndex3, pieceIndex4) -{ - pieceIndex1 = pad1; - pieceIndex2 = pad2; - pieceIndex3 = pad3; - pieceIndex4 = pad0; - return (0); -} - -QueryNanoPiece(pieceIndex) -{ - pieceIndex = tower; - return (0); -} - -StartBuilding() -{ - show nano1; - show nano2; - show nano3; - show nano4; -} - -StopBuilding() -{ - hide nano1; - hide nano2; - hide nano3; - hide nano4; -} - -Killed(severity, corpsetype) -{ - if( severity <= 25 ) - { - corpsetype = 1 ; - explode base type BITMAPONLY | NOHEATCLOUD; - explode tower type FIRE | SMOKE | FALL | NOHEATCLOUD; - explode nano1 type BITMAPONLY | NOHEATCLOUD; - explode nano2 type BITMAPONLY | NOHEATCLOUD; - explode nano3 type BITMAPONLY | NOHEATCLOUD; - explode nano4 type BITMAPONLY | NOHEATCLOUD; - explode pad1 type BITMAPONLY | NOHEATCLOUD; - explode pad2 type BITMAPONLY | NOHEATCLOUD; - explode pad3 type BITMAPONLY | NOHEATCLOUD; - explode pad0 type BITMAPONLY | NOHEATCLOUD; - return(corpsetype); - } - if( severity <= 50 ) - { - corpsetype = 2 ; - explode base type BITMAPONLY | NOHEATCLOUD; - explode tower type FIRE | SMOKE | FALL | NOHEATCLOUD; - explode nano1 type FIRE | SMOKE | FALL | NOHEATCLOUD; - explode nano2 type FIRE | SMOKE | FALL | NOHEATCLOUD; - explode nano3 type FIRE | SMOKE | FALL | NOHEATCLOUD; - explode nano4 type FIRE | SMOKE | FALL | NOHEATCLOUD; - explode pad1 type FALL | NOHEATCLOUD; - explode pad2 type FALL | NOHEATCLOUD; - explode pad3 type FALL | NOHEATCLOUD; - explode pad0 type FALL | NOHEATCLOUD; - return(corpsetype); - } - if( severity <= 99 ) - { - corpsetype = 3 ; - explode base type BITMAPONLY | NOHEATCLOUD; - explode tower type FIRE | SMOKE | FALL | NOHEATCLOUD; - explode nano1 type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; - explode nano2 type FIRE | SMOKE | FALL | NOHEATCLOUD; - explode nano3 type SMOKE | FALL | NOHEATCLOUD; - explode nano4 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; - explode pad1 type FIRE | SMOKE | FALL | NOHEATCLOUD; - explode pad2 type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; - explode pad3 type SMOKE | FALL | NOHEATCLOUD; - explode pad0 type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; - return(corpsetype); - } - corpsetype = 3 ; - explode base type BITMAPONLY | NOHEATCLOUD; - explode tower type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; - explode nano1 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; - explode nano2 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; - explode nano3 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; - explode nano4 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; - explode pad1 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; - explode pad2 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; - explode pad3 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; - explode pad0 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; - return corpsetype; -} diff --git a/scripts/Units/armfasp.cob b/scripts/Units/armfasp.cob deleted file mode 100644 index cb65b575865cd620e0a8e9bc19aead9a52eaea41..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3470 zcmbtXJ8M)y6rO!#W5mdnpdk3zMk|GDVk( zj)=qS1aG)jeEmfs*@jCSNUDlW&2_I7^;5LNBwy)jD z41LgaorgWtaSu4WTf+z@x0#@3iSr1x>`y)P^{d&Pp}T`?VZOtbufbU0<+{g(dYn(v z9uN510q#=ezoq>uVYAKEF57Y^aoeW$za6CLfH*E!T0 zmt2(LxrQPe7%Rw(Pguh^)yjaI zN1lvb!IY!UF6%32e&n4L`Z7)4N4k7NAAhIC*}l+k5{tykK5m7Zetr+^4rZUYAAH~0 zKgIgJhzlOydywei$n~t>+9r%Rlj;q7!FQm9hB9B7dhq>7%ruFM&h1)IUuUz22l>M| zpVQ9JM~kD4+?1O*dNrcpd%@zqT3msS>-JrNyWzXpi-A3?J<0;;tL~C_=1=oh?=n+` z*m%~c(@u8u3M22YO}Xmki&1x(?zZ22 ztLQ5v?8AQ6sb=r-qV2VKiq}i}M1#FOd2TxK6U$4}b%#nPo^YMGLS6XepRcDrYF&Ml z?)!`SjN_h#y!`$euUE#4`NI8D9)=TFo|km-k}h7-#Y?()tuQhACSKCTOS*VTFC&ax z`tiESoW|>e@nZbH@Or`=z_k^xRa+OY7p9Asc#48=drWw7sv<_O+wy6DoAn=as(1XPC@uT#wW;U$PdU6ey8q( z9EFTSrXe-REaW;Qf!u=Jfh<7oLheKO`}Q&9%v?L^&a}JDcFRq7(xjWZbItD5@@$$c zv|HyJq2^8}^U3YBab>=JCv}&X($4b5q}6D)Zr74Vre8{0?OHRvnYt_8q|=>RYR+*T vT6>|VTxibCr44r@SxntR(m27#C?8{d#ID=Emv&qWsZRLksDF<6=SlYqemdgJ diff --git a/scripts/Units/armfast.bos b/scripts/Units/armfast.bos index 4c9ada9c526..fb11a66bc2e 100644 --- a/scripts/Units/armfast.bos +++ b/scripts/Units/armfast.bos @@ -1,17 +1,19 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece torso, flare, pelvis, rthigh, lthigh, lleg, rleg, rfoot, ruparm, luparm, lloarm, rloarm, lfoot, gun, head, aimx1, aimy1; -static-var isMoving, isAiming, restore_delay, moveSpeed, currentSpeed, wpn1_lasthead, animSpeed, maxSpeed, animFramesPerKeyframe; +static-var bMoving, bAiming, Static_Var_3, restore_delay, moveSpeed, currentSpeed, wpn1_lasthead, animSpeed, maxSpeed, animFramesPerKeyframe; // Signal definitions -#define SIGNAL_AIM1 256 -#define SIGNAL_MOVE 1 +#define SIG_AIM 4 +#define SIG_WALK 2 Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptasz\Dropbox\BAR\Remoddeling\Reanimating\zipper4.blend - if (isMoving) { //Frame:3 + if (bMoving) { //Frame:3 turn head to x-axis <1.612805> speed <48.384153> / animSpeed; turn head to z-axis <-0.139840> speed <4.195201> / animSpeed; turn lfoot to x-axis <-5.964974> speed <178.949087> / animSpeed; @@ -34,15 +36,15 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn rthigh to x-axis <-41.757601> speed <1252.728035> / animSpeed; turn rthigh to z-axis <-3.580398> speed <107.411933> / animSpeed; turn rthigh to y-axis <-1.415972> speed <42.479156> / animSpeed; - if (!isAiming) turn ruparm to x-axis <7.795595> speed <298.105485> / animSpeed; + if (!bAiming) turn ruparm to x-axis <7.795595> speed <298.105485> / animSpeed; turn ruparm to z-axis <-0.133828> speed <17.467090> / animSpeed; turn ruparm to y-axis <-3.289177> speed <47.828871> / animSpeed; - turn torso to x-axis <15.0> speed <450.0> / animSpeed; + turn torso to x-axis <15.000000> speed <450.000013> / animSpeed; sleep 65; } - while(isMoving) { - if (isMoving) { //Frame:5 - turn head to x-axis <12.579475> speed <329.0> / animSpeed; + while(bMoving) { + if (bMoving) { //Frame:5 + turn head to x-axis <12.579475> speed <329.000106> / animSpeed; turn head to z-axis <0.199771> speed <10.188344> / animSpeed; turn lfoot to x-axis <23.870633> speed <895.068227> / animSpeed; turn lleg to x-axis <47.033629> speed <891.521643> / animSpeed; @@ -67,13 +69,13 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn rthigh to x-axis <-43.681659> speed <57.721724> / animSpeed; turn rthigh to z-axis <-4.415016> speed <25.038558> / animSpeed; turn rthigh to y-axis <-1.667678> speed <7.551174> / animSpeed; - if (!isAiming) turn ruparm to x-axis <29.998495> speed <666.086981> / animSpeed; + if (!bAiming) turn ruparm to x-axis <29.998495> speed <666.086981> / animSpeed; turn ruparm to z-axis <-1.169575> speed <31.072423> / animSpeed; turn ruparm to y-axis <-6.597779> speed <99.258064> / animSpeed; turn torso to x-axis <15.662384> speed <19.871496> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:7 + if (bMoving) { //Frame:7 turn head to x-axis <13.182346> speed <18.086127> / animSpeed; turn lfoot to x-axis <-20.692772> speed <1336.902159> / animSpeed; turn lleg to x-axis <96.760196> speed <1491.797019> / animSpeed; @@ -98,14 +100,14 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn rthigh to x-axis <-35.483488> speed <245.945106> / animSpeed; turn rthigh to z-axis <-2.784585> speed <48.912931> / animSpeed; turn rthigh to y-axis <-0.828899> speed <25.163365> / animSpeed; - if (!isAiming) turn ruparm to x-axis <19.021254> speed <329.317229> / animSpeed; + if (!bAiming) turn ruparm to x-axis <19.021254> speed <329.317229> / animSpeed; turn ruparm to z-axis <-0.832443> speed <10.113974> / animSpeed; turn ruparm to y-axis <-4.509594> speed <62.645569> / animSpeed; turn torso to x-axis <17.252100> speed <47.691489> / animSpeed; turn torso to z-axis <0.126763> speed <3.523882> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:9 + if (bMoving) { //Frame:9 turn head to x-axis <8.897885> speed <128.533847> / animSpeed; turn lfoot to x-axis <-33.966087> speed <398.199448> / animSpeed; turn lleg to x-axis <106.537291> speed <293.312843> / animSpeed; @@ -131,15 +133,15 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn rthigh to x-axis <-17.954628> speed <525.865826> / animSpeed; turn rthigh to z-axis <1.800242> speed <137.544811> / animSpeed; turn rthigh to y-axis <0.296682> speed <33.767432> / animSpeed; - if (!isAiming) turn ruparm to x-axis <6.688010> speed <369.997319> / animSpeed; + if (!bAiming) turn ruparm to x-axis <6.688010> speed <369.997319> / animSpeed; turn ruparm to z-axis <1.294164> speed <63.798195> / animSpeed; turn ruparm to y-axis <-3.490846> speed <30.562424> / animSpeed; - turn torso to z-axis <-0.0> speed <3.802878> / animSpeed; + turn torso to z-axis <-0.000000> speed <3.802878> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:11 - turn head to x-axis <-0.0> speed <266.936540> / animSpeed; - turn head to z-axis <-0.0> speed <8.090745> / animSpeed; + if (bMoving) { //Frame:11 + turn head to x-axis <-0.000000> speed <266.936540> / animSpeed; + turn head to z-axis <-0.000000> speed <8.090745> / animSpeed; turn lfoot to x-axis <6.359889> speed <1209.779281> / animSpeed; turn lleg to x-axis <52.577632> speed <1618.789770> / animSpeed; turn lloarm to x-axis <-38.094195> speed <487.036713> / animSpeed; @@ -151,8 +153,8 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn luparm to x-axis <-5.803820> speed <273.806912> / animSpeed; turn luparm to z-axis <2.064116> speed <64.237820> / animSpeed; turn luparm to y-axis <-3.513185> speed <218.297388> / animSpeed; - move pelvis to y-axis [0.0] speed [49.542360] / animSpeed; - turn pelvis to y-axis <0.0> speed <248.594844> / animSpeed; + move pelvis to y-axis [0.000000] speed [49.542360] / animSpeed; + turn pelvis to y-axis <0.000000> speed <248.594844> / animSpeed; turn rfoot to x-axis <-5.736429> speed <666.367637> / animSpeed; turn rfoot to z-axis <-5.670757> speed <317.764007> / animSpeed; turn rfoot to y-axis <-0.605591> speed <204.888314> / animSpeed; @@ -163,18 +165,18 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn rthigh to x-axis <19.178860> speed <1114.004639> / animSpeed; turn rthigh to z-axis <1.011689> speed <23.656588> / animSpeed; turn rthigh to y-axis <0.125954> speed <5.121854> / animSpeed; - if (!isAiming) turn ruparm to x-axis <-8.731436> speed <462.583385> / animSpeed; + if (!bAiming) turn ruparm to x-axis <-8.731436> speed <462.583385> / animSpeed; turn ruparm to z-axis <0.912937> speed <11.436804> / animSpeed; turn ruparm to y-axis <-0.631802> speed <85.771326> / animSpeed; - turn torso to x-axis <15.0> speed <67.562985> / animSpeed; + turn torso to x-axis <15.000000> speed <67.562985> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:13 + if (bMoving) { //Frame:13 turn head to x-axis <8.897885> speed <266.936540> / animSpeed; turn head to z-axis <0.269691> speed <8.090744> / animSpeed; turn lfoot to x-axis <21.488900> speed <453.870335> / animSpeed; turn lleg to x-axis <27.539422> speed <751.146297> / animSpeed; - turn lloarm to x-axis <-41.494205> speed <102.0> / animSpeed; + turn lloarm to x-axis <-41.494205> speed <102.000303> / animSpeed; turn lloarm to z-axis <-32.952384> speed <317.798457> / animSpeed; turn lloarm to y-axis <-60.067218> speed <215.282816> / animSpeed; turn lthigh to x-axis <-44.165639> speed <57.104445> / animSpeed; @@ -196,13 +198,13 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn rthigh to x-axis <34.209942> speed <450.932436> / animSpeed; turn rthigh to z-axis <1.751198> speed <22.185269> / animSpeed; turn rthigh to y-axis <-7.858465> speed <239.532556> / animSpeed; - if (!isAiming) turn ruparm to x-axis <-15.124003> speed <191.776984> / animSpeed; + if (!bAiming) turn ruparm to x-axis <-15.124003> speed <191.776984> / animSpeed; turn ruparm to z-axis <1.265272> speed <10.570040> / animSpeed; turn ruparm to y-axis <0.331197> speed <28.889968> / animSpeed; turn torso to x-axis <17.296259> speed <68.887751> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:15 + if (bMoving) { //Frame:15 turn head to x-axis <12.997386> speed <122.985027> / animSpeed; turn head to z-axis <0.163517> speed <3.185245> / animSpeed; turn lfoot to x-axis <1.475175> speed <600.411757> / animSpeed; @@ -228,12 +230,12 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn rthigh to x-axis <-7.310097> speed <1245.601160> / animSpeed; turn rthigh to z-axis <-1.019512> speed <83.121284> / animSpeed; turn rthigh to y-axis <-2.541597> speed <159.506044> / animSpeed; - if (!isAiming) turn ruparm to x-axis <-21.651474> speed <195.824153> / animSpeed; + if (!bAiming) turn ruparm to x-axis <-21.651474> speed <195.824153> / animSpeed; turn ruparm to z-axis <1.658925> speed <11.809607> / animSpeed; turn ruparm to y-axis <1.969013> speed <49.134476> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:17 + if (bMoving) { //Frame:17 turn head to x-axis <12.276316> speed <21.632071> / animSpeed; turn head to z-axis <-0.033665> speed <5.915457> / animSpeed; turn lfoot to x-axis <-26.633476> speed <843.259527> / animSpeed; @@ -258,13 +260,13 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn rthigh to x-axis <-30.319217> speed <690.273585> / animSpeed; turn rthigh to z-axis <2.010613> speed <90.903742> / animSpeed; turn rthigh to y-axis <-1.165819> speed <41.273334> / animSpeed; - if (!isAiming) turn ruparm to x-axis <-6.927940> speed <441.706020> / animSpeed; + if (!bAiming) turn ruparm to x-axis <-6.927940> speed <441.706020> / animSpeed; turn ruparm to z-axis <0.762549> speed <26.891288> / animSpeed; turn ruparm to y-axis <-0.660082> speed <78.872856> / animSpeed; turn torso to x-axis <15.883176> speed <42.392474> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:19 + if (bMoving) { //Frame:19 turn head to x-axis <1.612805> speed <319.905342> / animSpeed; turn head to z-axis <-0.139840> speed <3.185243> / animSpeed; turn lfoot to x-axis <-3.949560> speed <680.517463> / animSpeed; @@ -281,7 +283,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas move pelvis to y-axis [0.108727] speed [53.013432] / animSpeed; turn pelvis to y-axis <0.016626> speed <221.204879> / animSpeed; turn rfoot to x-axis <5.850125> speed <1173.764252> / animSpeed; - turn rfoot to y-axis <0.0> speed <32.060015> / animSpeed; + turn rfoot to y-axis <0.000899> speed <32.060015> / animSpeed; turn rleg to x-axis <53.029227> speed <1622.452356> / animSpeed; turn rloarm to x-axis <-11.045691> speed <423.726674> / animSpeed; turn rloarm to z-axis <0.875972> speed <59.066917> / animSpeed; @@ -289,47 +291,47 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn rthigh to x-axis <-41.302991> speed <329.513222> / animSpeed; turn rthigh to z-axis <-3.526668> speed <166.118420> / animSpeed; turn rthigh to y-axis <-1.376183> speed <6.310928> / animSpeed; - if (!isAiming) turn ruparm to x-axis <7.795595> speed <441.706071> / animSpeed; + if (!bAiming) turn ruparm to x-axis <7.795595> speed <441.706071> / animSpeed; turn ruparm to z-axis <-0.133828> speed <26.891303> / animSpeed; turn ruparm to y-axis <-3.289177> speed <78.872843> / animSpeed; - turn torso to x-axis <15.0> speed <26.495277> / animSpeed; + turn torso to x-axis <15.000000> speed <26.495277> / animSpeed; sleep ((33*animSpeed) -1); } } } -// Call this from StopMoving()! +// Call this from MotionControl()! StopWalking() { - move pelvis to y-axis [0.0] speed [26.506716]; - move pelvis to z-axis [0.0] speed [8.100858]; - turn head to x-axis <0.0> speed <164.500053>; - turn head to z-axis <0.0> speed <5.094172>; - turn lfoot to x-axis <0.0> speed <668.451080>; - turn lleg to x-axis <0.0> speed <809.394885>; - turn lloarm to x-axis <0.0> speed <985.082496>; - turn lloarm to y-axis <0.0> speed <533.522998>; - turn lloarm to z-axis <0.0> speed <377.590932>; - turn lthigh to x-axis <0.0> speed <594.686253>; - turn lthigh to y-axis <0.0> speed <104.517686>; - turn lthigh to z-axis <0.0> speed <31.286093>; - turn luparm to x-axis <0.0> speed <510.240706>; - turn luparm to y-axis <0.0> speed <158.542893>; - turn luparm to z-axis <0.0> speed <125.909659>; - turn pelvis to y-axis <0.0> speed <124.297422>; - turn rfoot to x-axis <0.0> speed <651.580376>; - turn rfoot to y-axis <0.0> speed <102.444157>; - turn rfoot to z-axis <0.0> speed <158.882004>; - turn rleg to x-axis <0.0> speed <811.488816>; - turn rloarm to x-axis <0.0> speed <211.863452>; - turn rloarm to y-axis <0.0> speed <48.310963>; - turn rloarm to z-axis <0.0> speed <31.871852>; - turn rthigh to x-axis <0.0> speed <626.364018>; - turn rthigh to y-axis <0.0> speed <119.766278>; - turn rthigh to z-axis <0.0> speed <83.059210>; - if (!isAiming) turn ruparm to x-axis <-2.141254> speed <333.043490>; + move pelvis to y-axis [0.000000] speed [26.506716]; + move pelvis to z-axis [0.000000] speed [8.100858]; + turn head to x-axis <0.000000> speed <164.500053>; + turn head to z-axis <0.000000> speed <5.094172>; + turn lfoot to x-axis <0.000000> speed <668.451080>; + turn lleg to x-axis <0.000000> speed <809.394885>; + turn lloarm to x-axis <0.000000> speed <985.082496>; + turn lloarm to y-axis <0.000000> speed <533.522998>; + turn lloarm to z-axis <0.000000> speed <377.590932>; + turn lthigh to x-axis <0.000000> speed <594.686253>; + turn lthigh to y-axis <0.000000> speed <104.517686>; + turn lthigh to z-axis <0.000000> speed <31.286093>; + turn luparm to x-axis <0.000000> speed <510.240706>; + turn luparm to y-axis <0.000000> speed <158.542893>; + turn luparm to z-axis <0.000000> speed <125.909659>; + turn pelvis to y-axis <0.000000> speed <124.297422>; + turn rfoot to x-axis <0.000000> speed <651.580376>; + turn rfoot to y-axis <0.000000> speed <102.444157>; + turn rfoot to z-axis <0.000000> speed <158.882004>; + turn rleg to x-axis <0.000000> speed <811.488816>; + turn rloarm to x-axis <0.000000> speed <211.863452>; + turn rloarm to y-axis <0.000000> speed <48.310963>; + turn rloarm to z-axis <0.000000> speed <31.871852>; + turn rthigh to x-axis <0.000000> speed <626.364018>; + turn rthigh to y-axis <0.000000> speed <119.766278>; + turn rthigh to z-axis <0.000000> speed <83.059210>; + if (!bAiming) turn ruparm to x-axis <-2.141254> speed <333.043490>; turn ruparm to y-axis <-1.694881> speed <49.629032>; turn ruparm to z-axis <0.448409> speed <31.899098>; - turn torso to x-axis <0.0> speed <225.0>; - turn torso to z-axis <0.0> speed <1.901439>; + turn torso to x-axis <0.000000> speed <225.000006>; + turn torso to z-axis <0.000000> speed <1.901439>; } UnitSpeed(){ maxSpeed = get MAX_SPEED; // this returns cob units per frame i think @@ -352,19 +354,19 @@ UnitSpeed(){ #define UNITSIZE 1 #define MAXTILT 100 -#include "../unit_hitbyweaponid_and_smoke.h" +#include "unit_hitbyweaponid_and_smoke.h" -StartMoving(reversing){ - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; - isMoving=TRUE; +StartMoving(){ + signal SIG_WALK; + set-signal-mask SIG_WALK; + bMoving=TRUE; start-script Walk(); start-script UnitSpeed(); } StopMoving(){ - signal SIGNAL_MOVE; - isMoving=FALSE; + signal SIG_WALK; + bMoving=FALSE; call-script StopWalking(); } @@ -375,23 +377,27 @@ Create() hide aimx1; hide aimy1; hide flare; - //turn flare to z-axis <-45.0> now; - turn flare to x-axis <90.0> now; - isMoving = FALSE; - isAiming = FALSE; + //turn flare to z-axis <-45.00000> now; + turn flare to x-axis <90.00000> now; + bMoving = FALSE; + bAiming = FALSE; animSpeed = 4; + Static_Var_3 = 1; restore_delay = 3000; moveSpeed = get MAX_SPEED; currentSpeed = 100; } -SetMaxReloadTime(reloadMS) +SetMaxReloadTime(Func_Var_1) { - restore_delay = reloadMS * 3; + restore_delay = Func_Var_1 * 3; } - +SweetSpot(piecenum) +{ + piecenum = torso; +} static-var Stunned; ExecuteRestoreAfterDelay() @@ -399,12 +405,12 @@ ExecuteRestoreAfterDelay() if (Stunned) { return (1); } - turn aimy1 to y-axis <0.0> speed <90.021978>; - turn ruparm to x-axis <0.0> speed <45.010989>; + turn aimy1 to y-axis <0.000000> speed <90.021978>; + turn ruparm to x-axis <0.000000> speed <45.010989>; wait-for-turn aimy1 around y-axis; wait-for-turn aimx1 around x-axis; - wpn1_lasthead = 0xbadface; - isAiming = FALSE; + wpn1_lasthead = 1000000; + bAiming = FALSE; } SetStunned(State) { @@ -415,32 +421,37 @@ SetStunned(State) } RestoreAfterDelay() { - set-signal-mask SIGNAL_AIM1; + set-signal-mask SIG_AIM; sleep restore_delay; start-script ExecuteRestoreAfterDelay(); } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = torso; + piecenum = torso; } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = flare; + piecenum = flare; } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - isAiming = TRUE; + signal SIG_AIM; + bAiming = TRUE; turn aimy1 to y-axis heading speed <400>; - turn ruparm to x-axis <-90.0> - pitch speed <500>; + turn ruparm to x-axis <-90.000000> - pitch speed <500>; //turn ruparm to x-axis <90> - pitch speed <500>; - if ((wpn1_lasthead == 0xbadface) OR ABSOLUTE_GREATER_THAN(WRAPDELTA(heading - wpn1_lasthead), <19>)) + while( !Static_Var_3 ) + { + return(0); + } + + if (((get ABS(wpn1_lasthead - heading)) > 65536) OR(((get ABS(wpn1_lasthead - heading)) > 3500) AND ((get ABS(wpn1_lasthead - heading)) < 62036))) { - wpn1_lasthead = 0xbadface; + wpn1_lasthead = 1000000; wait-for-turn aimy1 around y-axis; wait-for-turn ruparm around x-axis; } @@ -449,7 +460,7 @@ AimWeapon1(heading, pitch) return (1); } -FireWeapon1() +FirePrimary() { emit-sfx 1024 + 0 from flare; sleep 100; @@ -465,8 +476,8 @@ FireWeapon1() // For C:\Users\ptasz\Documents\GitHub\support\Animation_sources\death_anims\armfast_anim_death.blend Created by https://github.com/Beherith/Skeletor_S3O V((0, 3, 9)) //use call-script DeathAnim(); from Killed() DeathAnim() {// For C:\Users\ptasz\Documents\GitHub\support\Animation_sources\death_anims\armfast_anim_death.blend Created by https://github.com/Beherith/Skeletor_S3O V((0, 3, 9)) - signal SIGNAL_MOVE; - signal SIGNAL_AIM1; + signal SIG_WALK; + signal SIG_AIM; call-script StopWalking(); turn aimy1 to y-axis <0> speed <120>; turn aimx1 to x-axis <0> speed <120>; @@ -1615,9 +1626,19 @@ Killed(severity, corpsetype) corpsetype = 2 ; explode pelvis type FIRE | SMOKE | FALL | NOHEATCLOUD; explode torso type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode ruparm type FIRE | SMOKE | FALL | NOHEATCLOUD; explode rloarm type FIRE | SMOKE | FALL | NOHEATCLOUD; explode gun type FALL | NOHEATCLOUD; + //explode flare type FIRE | SMOKE | FALL | NOHEATCLOUD; explode head type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode luparm type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lloarm type FALL | NOHEATCLOUD; + //explode lthigh type FALL | NOHEATCLOUD; + //explode lleg type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lfoot type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rthigh type FALL | NOHEATCLOUD; + //explode rleg type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rfoot type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) @@ -1626,15 +1647,35 @@ Killed(severity, corpsetype) explode pelvis type FIRE | SMOKE | FALL | NOHEATCLOUD; explode torso type FIRE | SMOKE | FALL | NOHEATCLOUD; explode ruparm type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rloarm type SMOKE | FALL | NOHEATCLOUD; explode gun type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode flare type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode head type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode luparm type SMOKE | FALL | NOHEATCLOUD; + //explode lloarm type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lthigh type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lleg type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lfoot type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rthigh type SMOKE | FALL | NOHEATCLOUD; + //explode rleg type SMOKE | FALL | NOHEATCLOUD; + //explode rfoot type SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; explode pelvis type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode torso type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode ruparm type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode rloarm type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode gun type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode head type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode luparm type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lloarm type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lthigh type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lleg type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode lfoot type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode rthigh type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rleg type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rfoot type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/armfast.cob b/scripts/Units/armfast.cob index f2f3aec3d6b572afcf39b280e9325cf7f8728f43..fe8e1de24e99ccbdb8fdbb3a6509d9bafbc8d75d 100644 GIT binary patch literal 45586 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 literal 44799 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 diff --git a/scripts/Units/armfatf.bos b/scripts/Units/armfatf.bos index 28953ff803a..56d5a305b24 100644 --- a/scripts/Units/armfatf.bos +++ b/scripts/Units/armfatf.bos @@ -1,13 +1,49 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" -piece base, tower, light; +piece base, tower; +static-var statechg_DesiredState, statechg_StateChanging; -#define WATER_ROCK_PIECE base -#define WATER_ROCK_UNITSIZE 20 -#include "../floatmotion.h" +activatescr() +{ + move tower to y-axis [45] speed [20]; + wait-for-move tower along y-axis; + return (0); +} + +deactivatescr() +{ + move tower to y-axis [0] speed [20]; + wait-for-move tower along y-axis; + return (0); + +} + + +RockOnWaves() +{ + var rockDir, rockAng, rockSpeed; + rockDir = <-0.1>; + rockAng = <-0.1>; + while( TRUE ) + { + while( get ABS(rockAng) < <1.31> ) + { + rockSpeed = <1.45> - get ABS(rockAng); + turn base to x-axis rockAng speed rockSpeed*5; + turn base to z-axis rockAng speed rockSpeed*5; + wait-for-turn base around x-axis; + wait-for-turn base around z-axis; + rockAng = rockAng + rockDir; + } + rockDir = 0 - rockDir; + rockAng = rockAng + rockDir + rockDir; + } +} #define BASEPIECE base #define HITSPEED <20.0> @@ -15,26 +51,71 @@ piece base, tower, light; #define UNITSIZE 5 #define MAXTILT 200 -#include "../unit_hitbyweaponid_and_smoke.h" +#include "unit_hitbyweaponid_and_smoke.h" + + +InitState() +{ + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; + return (0); +} + +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + call-script activatescr(); + currentstate = 0; + } + if( statechg_DesiredState == 1 ) + { + call-script deactivatescr(); + currentstate = 1; + } + } + statechg_StateChanging = FALSE; + return (0); +} Create() { - SLEEP_UNTIL_UNITFINISHED; - start-script FloatMotion(); + call-script InitState(); + return (0); + while( get BUILD_PERCENT_LEFT ) + { + sleep 400; + } + start-script RockOnWaves(); } Activate() { - move tower to y-axis [45] speed [20]; - show light; + start-script RequestState(0); + return (0); } Deactivate() { - move tower to y-axis [0] speed [20]; - hide light; + start-script RequestState(1); + return (0); } +SweetSpot(piecenum) +{ + piecenum = base; + return (0); +} Killed(severity, corpsetype) { diff --git a/scripts/Units/armfatf.cob b/scripts/Units/armfatf.cob index a1b9a7a272500ec03af0899b5bc8f6e8501bf60c..219fa56f2c291953f6344776b3a98a7aa46dba1c 100644 GIT binary patch literal 2620 zcmbVOziU)M5T3hSE>TogFhvyP64BUqexWB)*%kI#i~1;1KSWe5`jmB`3JpTuN;#* z)L?th4Zr7Ksk*1?e-2$%yVX+E5?6d}2LyGaPLRK@`Qrd&{IEC@jX2iF8IqTp`J>Ph z!-ti-6a^U=PX9+WW3ds`I!F?tcy7;o~fOU zY35naO^vnQWhT_cd&M|v*5&V+&V9FlpO5WhjaV+gv+0Ut!ZY?E07y*k#msG@~CaL%=hPrJ9!QZ?kn_170150 zWUbWn&2phL`mMIQx8Y4{Tm^a7J6+_;V|aW$j~?8{If(BX^D!fd13qib>Tsx0Iqh9d zXb&X@{?a#qJ36WMa>4#n@u0Gq*j=M0*J=7N55C(e#qnp2zI+96TkoiH-UC_`&ytff4G{&-})b&-0i%%NLsGZOFA+El+U1t8g0L;F(li zwZLnCGxF!Vr#P=khC4^>U9NFejy zYyS>(y`y&4_`f*Zj0Qn602Kf%zha5ouKt_*?oPbO~BFGfvD&z*F z-bhyfVta8sp4G}3 zc?6#1qc5=D7tW&gA`W-(k0ZwU0~keLp^x(Aar#f-+0=IsOL4_grmA-MocWi@NfwUNwbD%sJb23xFzef53fB(FWfu-B$t(K>`& z8_0x5Pe0IepXFW~3)m^eVG0qUtYO=fHLNu&l`Egm9ZVDn{ZX#E3P`L>w|^$$g#D?qK7&BKP?Z_R7KH9;P-P z6I)C??pE7PdvN|Xk95U{?+o$XXaC7JA;sdRALG1ZQ%v}#sAli|td!*I?=+}p{Cxos zzgzT)_h8@XpWAXWli)YR^z!KI*&rRJJ$#&DczVIie$oZL44?dc@}8rk7N6TU5s%1c zGxeX^1)p(--X(FU4SUa{7b8o)%hB#bv>VZB-T1B6ZhnmNQX)@dA18qN>bv|h;t~69 zrn}pX`UU){*X;ji?%F9#_(|(5?t7z5Ukbe%aL5*|H~X+2&&=_XrTC?-c;DHyrhWLT z7CU)Z1LggrpCPv1>N%Kfyw_jn(c`Pguh?Or_z1mrbzwbk~W+|I4%^-gZH%bn(Z eE^~R^ua}#xR^G5%^?SK>+7I$|Yc*GHckB=RD4^Z| diff --git a/scripts/Units/armfav.bos b/scripts/Units/armfav.bos index 707cba2e2d6..75a88052f16 100644 --- a/scripts/Units/armfav.bos +++ b/scripts/Units/armfav.bos @@ -1,24 +1,21 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, lfwheel, rfwheel, bwheel, gun, flare; -static-var restore_delay, moveSpeed, wheelSpeed, gun_2, oldHeading, wpn1_lasthead; +static-var restore_delay, moveSpeed, wheelSpeed, Static_Var_1, gun_2, statechg_DesiredState, statechg_StateChanging, + oldHeading, wpn1_lasthead; // Signal definitions -#define SIGNAL_MOVE 1 -#define SIGNAL_AIM1 256 - -#define TB_BASE base -#define TB_TURNRATE <30.0> -#define TB_TILT_X <0.2> -#define TB_BANK_Z <0.3> // Do not define this if you dont want banking -#include "../tilt_bank_mobileunit.h" - - +#define SIG_MOVE 2 +#define SIG_AIM 4 Steering(heading, steer, currentSpeed) { + signal SIG_MOVE; + set-signal-mask SIG_MOVE; while(1) { heading = get HEADING; @@ -35,6 +32,21 @@ Steering(heading, steer, currentSpeed) } } +//WheelControl() +//{ +// while(TRUE) +// { +// currentSpeed = (get CURRENT_SPEED)*20/moveSpeed; +// wheelSpeed = currentSpeed * 40; //original speed 7 +// if (currentSpeed<1) currentSpeed=1; // prevent infinite timing +// spin lfwheel around x-axis speed (<1> * wheelSpeed); //(<1.000000> * wheelSpeed ) * 2 accelerate <5.000000> * currentSpeed; +// spin rfwheel around x-axis speed (<1> * wheelSpeed); //(<0.5.000000> * wheelSpeed ) * 2 accelerate <5.000000> * currentSpeed; +// spin bwheels around x-axis speed (<0.7> * wheelSpeed); //(<0.5.000000> * wheelSpeed ) * 2 accelerate <5.000000> * currentSpeed; +// sleep 50; //200 +// } +// } + + #define BASEPIECE base #define HITSPEED <55.0> @@ -42,44 +54,45 @@ Steering(heading, steer, currentSpeed) #define UNITSIZE 1 #define MAXTILT 100 -#include "../unit_hitbyweaponid_and_smoke.h" +#include "unit_hitbyweaponid_and_smoke.h" Create() { hide flare; + Static_Var_1 = 0; oldheading = get HEADING; + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; hide flare; - call-script TB_Init(); } - - -StartMoving(reversing) +//Create() +//{ +// restore_delay = 3000; +// moveSpeed = get MAX_SPEED; +// start-script SmokeUnit(); +// return (0); +//} + +StartMoving() { - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; - start-script Steering(); - - START_TILTBANK; } StopMoving() { - signal SIGNAL_MOVE; + signal SIG_MOVE; stop-spin rfwheel around x-axis; stop-spin lfwheel around x-axis; stop-spin bwheel around x-axis; - - STOP_TILTBANK; } //following block returns weapon in straight position after firing -SetMaxReloadTime(reloadMS) +SetMaxReloadTime(Func_Var_1) { - restore_delay = reloadMS * 2; + restore_delay = Func_Var_1 * 2; return (0); } @@ -89,10 +102,10 @@ ExecuteRestoreAfterDelay() if (Stunned) { return (1); } - turn gun to y-axis <0.0> speed <90.0>; - turn gun to x-axis <0.0> speed <50.0>; + turn gun to y-axis <0.000000> speed <90.000000>; + turn gun to x-axis <0.000000> speed <50.000000>; wait-for-turn gun around y-axis; - wpn1_lasthead = 0xbadface; + wpn1_lasthead = 1000000; } SetStunned(State) { @@ -111,15 +124,15 @@ RestoreAfterDelay() -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; - turn gun to y-axis heading speed <300.0>; - turn gun to x-axis <0.0> - pitch speed <300.0>; - if ((wpn1_lasthead == 0xbadface) OR ABSOLUTE_GREATER_THAN(WRAPDELTA(heading - wpn1_lasthead), <7>)) + signal SIG_AIM; + set-signal-mask SIG_AIM; + turn gun to y-axis heading speed <300.000000>; + turn gun to x-axis <0.000000> - pitch speed <300.000000>; + if (((get ABS(wpn1_lasthead - heading)) > 65536) OR(((get ABS(wpn1_lasthead - heading)) > 1300) AND ((get ABS(wpn1_lasthead - heading)) < 64236))) { - wpn1_lasthead = 0xbadface; + wpn1_lasthead = 1000000; wait-for-turn gun around y-axis; } wpn1_lasthead = heading; @@ -127,24 +140,28 @@ AimWeapon1(heading, pitch) return (1); } -FireWeapon1() +FirePrimary() { return (0); } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = gun; + piecenum = gun; return (0); } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = flare; + piecenum = flare; return (0); } - +SweetSpot(piecenum) +{ + piecenum = base; + return (0); +} Killed(severity, corpsetype) { diff --git a/scripts/Units/armfav.cob b/scripts/Units/armfav.cob index c89f93b7463b71c42104f1c00543b3c71000add1..ba51202b0ce9282a813ec574d70992863aa89a4f 100644 GIT binary patch literal 3744 zcmd5<&1)2A7=N<6t{+7^N|7qG3@G&CVd=qZlNdEs0-9C42xem5*l9Pr>ts@mAnv7D zLGUIh2qIql2lQG`J@z1Y@Kg$31beKdh5mle`#zI#;s&$z;J}afndkfKon;#$vKwdu zhwCCA;pEfUDKZV*1`grUG?aLwtwC5`sy63vkMSu^_K*C+cbL(O5|6#7PFeR$GC1$x zn|T&FM7(w0#&-MPARnXRpMExiUE@3LY8C#IppT>IhwUFv+VGpgd&j%8C-~7BqAq6e z<{taL#6geYie5zM1AXCP-rNbE)LE+ox#FEN#})Qo7$r)*DMWny=S>DaE(PVa2!v(f|K^XaFh{ixJPnZ;zT+MC#aSJX$y=?9$5 zhk05}0zI>>p3?HaGuoxr7S$Wo$0uCE|LNo9-|)e2MjsgX-oHk%%)30l@@%b6&Q9lp zIq5FJ745WFVUNHnW=AS<*&wx*I01?*Be2$G)a>xNMdi?U^Ir<8Tge z${gk!Z7uFf3>I|;I8DabKTrzL{8bXZ3G1$M@B{ zQG2hm$6l20UbXH~eOnJkwf_)$!`Zzpf97U8J_t0w0o5I&$N|3qO*HusFa?|dE&$&G zw}5-VBcP68O<)(W7x*0D|D&IPpMfX9Z@@F)58xFbyF~T@2Z6)D1TX`f2U1`exCYz+ zZUT3JyTE;*ojaGM-Agi^=98=ET+;7#rM=Yq&YkV1d71n5f*i?Qk~`QWSw7SIo@VX5 z*EiDTGs)Fi*Xbn-XVN7nN3XhzE4iC>%Xu$z6N|aard%gkmA1><`AWCz7G%9}B3(L_ zrAtY+D#y~y84dQatXGImuefa0WbG>s9{asqPNtm>yv`@fPCAQMzHzQ2SvcqY>!p>h JEOwI2$$tru2^9bU literal 3906 zcma)9&ud&&6h4_uCe^CF3Kgx2QxuBeV&Y1$&}59Ur37jc6x^8C&P^OTnF-SuZNSnl z(p?uKqTnyO_Q${ALQpKC2qFm9g{~?nbS1V5&iT%{KVDK5 zk^3Mu$jjp*dol9&_T3^^A&=i9@+8)WF^;*4+rpfqI~2y_1lOyMI!Y{rG*sw2+&==#+ zn93{0e5(|b`I+NNDW>&Mdx4m?_shUbW6a5P%{>}@sVeV3V}@F4?yrbT_mVE;#*tjf z!+NcJQD1rv*yo}@s9X0IF3eN5F|P`2R{$g?J##JQihE)Afcrrmb6V}11HKPD4}3g7 zKQVUH8J25?BtQB{Bk<#Nlui4xi%n~fwk89h*Nn?4@0|7tz5ftvi(T$L?;vgW(y3n6 zb3cKk)M@RwtDJ|Phc{q`*hV;a4*|ph8`xox1agcb= zj2nF{Cw&pJ;AiJ*=)3)%+TLuzhcPZjU*@-%<&kf4iUst4u_=cBtl4@$10#9cK8>oG z`Rr}xoHgqmapOfSi@`HW%vU%J9GSb^vr#s}3Vi&2aLr!ut^OSouB%+*9J2;at>?6{ z7CX0JL_Ae?Hq-d2pT>-5=-VWZ)=8|!;`!PIWACo|k@$MpPb~sxh5DmECTE~jBW;$G zJ=NaS!&|3!3n9tFYWwcyXM5$u1T=x0+3cHtJAYr@WZ-G!xDa~qdE6JqW}lcV?QxN- zu+`jM#NbEn>3*s*_MSGTO5cLAow;_im(SUQbgl=^gXApH-_FcsV%%hL4sEUH3VdwM zZ707EFcM$(w>RBtvmVe#-<`rZXu ze!-u~dwoB%lKcLw?_`^@=<~&Vqucc@*=d| speed <413.616321> / animSpeed; //delta=13.79 turn lfoot to z-axis <-0.155394> speed <4.661819> / animSpeed; //delta=0.16 turn lfoot to y-axis <0.480140> speed <14.404211> / animSpeed; //delta=0.48 @@ -32,11 +34,11 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn rthigh to x-axis <-46.447609> speed <1393.428259> / animSpeed; //delta=46.45 sleep ((33*animSpeed) -1); } - while(isMoving) { - if (isMoving) { //Frame:17 - move body to y-axis [-2.500000] speed [90.0] / animSpeed; //delta=-3.00 - turn body to x-axis <5.0> speed <149.999996> / animSpeed; //delta=-5.00 - turn body to z-axis <-3.0> speed <90.0> / animSpeed; //delta=3.00 + while(bMoving) { + if (bMoving) { //Frame:17 + move body to y-axis [-2.500000] speed [90.000000] / animSpeed; //delta=-3.00 + turn body to x-axis <5.000000> speed <149.999996> / animSpeed; //delta=-5.00 + turn body to z-axis <-3.000000> speed <90.000003> / animSpeed; //delta=3.00 turn lfoot to x-axis <-38.787258> speed <750.001413> / animSpeed; //delta=25.00 turn lfoot to z-axis <-3.894851> speed <112.183708> / animSpeed; //delta=3.74 turn lfoot to y-axis <-0.383029> speed <25.895070> / animSpeed; //delta=-0.86 @@ -55,12 +57,12 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn rthigh to x-axis <-57.764761> speed <339.514565> / animSpeed; //delta=11.32 turn rthigh to z-axis <0.471165> speed <14.134955> / animSpeed; //delta=-0.47 turn rthigh to y-axis <1.601116> speed <48.033470> / animSpeed; //delta=1.60 - turn turret to x-axis <10.0> speed <299.999991> / animSpeed; //delta=-10.00 + turn turret to x-axis <10.000000> speed <299.999991> / animSpeed; //delta=-10.00 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:25 + if (bMoving) { //Frame:25 move body to y-axis [-1.625000] speed [26.250000] / animSpeed; //delta=0.88 - turn body to x-axis <3.0> speed <60.0> / animSpeed; //delta=2.00 + turn body to x-axis <3.000000> speed <60.000000> / animSpeed; //delta=2.00 turn body to z-axis <-2.250000> speed <22.500001> / animSpeed; //delta=-0.75 turn lfoot to x-axis <-22.333371> speed <493.616593> / animSpeed; //delta=-16.45 turn lfoot to z-axis <-0.038177> speed <115.700228> / animSpeed; //delta=-3.86 @@ -83,9 +85,9 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn turret to x-axis <6.666667> speed <99.999989> / animSpeed; //delta=3.33 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:33 + if (bMoving) { //Frame:33 move body to y-axis [-0.750000] speed [26.250000] / animSpeed; //delta=0.88 - turn body to x-axis <1.0> speed <59.999996> / animSpeed; //delta=2.00 + turn body to x-axis <1.000000> speed <59.999996> / animSpeed; //delta=2.00 turn body to z-axis <-1.500000> speed <22.500001> / animSpeed; //delta=-0.75 turn lfoot to x-axis <11.045885> speed <1001.377697> / animSpeed; //delta=-33.38 turn lfoot to z-axis <-0.186745> speed <4.457061> / animSpeed; //delta=0.15 @@ -105,36 +107,36 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn rthigh to x-axis <-14.480843> speed <192.701339> / animSpeed; //delta=-6.42 turn rthigh to z-axis <-0.005916> speed <35.194485> / animSpeed; //delta=1.17 turn rthigh to y-axis <-0.297521> speed <18.566077> / animSpeed; //delta=-0.62 - turn turret to x-axis <3.333333> speed <100.0> / animSpeed; //delta=3.33 + turn turret to x-axis <3.333333> speed <100.000001> / animSpeed; //delta=3.33 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:41 + if (bMoving) { //Frame:41 call-script lua_UnitScriptDecal(2, (get PIECE_XZ(rfoot) & 0xffff0000) / 0x00010000 , (get PIECE_XZ(rfoot) & 0x0000ffff), get HEADING(0)); move body to y-axis [0.500000] speed [37.500000] / animSpeed; //delta=1.25 - turn body to x-axis <-0.0> speed <30.0> / animSpeed; //delta=1.00 - turn body to z-axis <-0.0> speed <45.0> / animSpeed; //delta=-1.50 + turn body to x-axis <-0.000000> speed <30.000000> / animSpeed; //delta=1.00 + turn body to z-axis <-0.000000> speed <45.000001> / animSpeed; //delta=-1.50 turn lfoot to x-axis <28.584437> speed <526.156562> / animSpeed; //delta=-17.54 - turn lfoot to z-axis <0.0> speed <5.602360> / animSpeed; //delta=-0.19 - turn lfoot to y-axis <-0.0> speed <38.465707> / animSpeed; //delta=-1.28 + turn lfoot to z-axis <0.000000> speed <5.602360> / animSpeed; //delta=-0.19 + turn lfoot to y-axis <-0.000000> speed <38.465707> / animSpeed; //delta=-1.28 turn lleg to x-axis <18.190966> speed <548.201342> / animSpeed; //delta=-18.27 - turn lleg to z-axis <0.0> speed <5.039088> / animSpeed; //delta=0.17 - turn lleg to y-axis <-0.0> speed <22.923547> / animSpeed; //delta=0.76 + turn lleg to z-axis <0.000000> speed <5.039088> / animSpeed; //delta=0.17 + turn lleg to y-axis <-0.000000> speed <22.923547> / animSpeed; //delta=0.76 turn lthigh to x-axis <-46.447609> speed <946.857035> / animSpeed; //delta=31.56 - turn lthigh to z-axis <-0.0> speed <3.463681> / animSpeed; //delta=-0.12 - turn lthigh to y-axis <-0.0> speed <16.281768> / animSpeed; //delta=0.54 + turn lthigh to z-axis <-0.000000> speed <3.463681> / animSpeed; //delta=-0.12 + turn lthigh to y-axis <-0.000000> speed <16.281768> / animSpeed; //delta=0.54 turn rfoot to x-axis <-13.787211> speed <366.408899> / animSpeed; //delta=12.21 turn rfoot to y-axis <0.480140> speed <9.633946> / animSpeed; //delta=-0.32 turn rleg to x-axis <6.973158> speed <229.558248> / animSpeed; //delta=7.65 move rthigh to y-axis [-1.689070] speed [75.428803] / animSpeed; //delta=-2.51 turn rthigh to x-axis <6.621998> speed <633.085231> / animSpeed; //delta=-21.10 turn rthigh to y-axis <0.011961> speed <9.284460> / animSpeed; //delta=0.31 - turn turret to x-axis <-0.0> speed <100.0> / animSpeed; //delta=3.33 + turn turret to x-axis <-0.000000> speed <100.000001> / animSpeed; //delta=3.33 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:49 - move body to y-axis [-3.0] speed [105.0] / animSpeed; //delta=-3.50 - turn body to x-axis <5.0> speed <149.999996> / animSpeed; //delta=-5.00 - turn body to z-axis <3.0> speed <90.0> / animSpeed; //delta=-3.00 + if (bMoving) { //Frame:49 + move body to y-axis [-3.000000] speed [105.000000] / animSpeed; //delta=-3.50 + turn body to x-axis <5.000000> speed <149.999996> / animSpeed; //delta=-5.00 + turn body to z-axis <3.000000> speed <90.000003> / animSpeed; //delta=-3.00 turn lfoot to x-axis <24.265552> speed <129.566571> / animSpeed; //delta=4.32 turn lfoot to z-axis <-0.115144> speed <3.454316> / animSpeed; //delta=0.12 turn lfoot to y-axis <0.250687> speed <7.520623> / animSpeed; //delta=0.25 @@ -153,12 +155,12 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn rleg to y-axis <-0.176703> speed <9.078560> / animSpeed; //delta=0.30 move rthigh to y-axis [-1.889380] speed [6.009293] / animSpeed; //delta=-0.20 turn rthigh to x-axis <15.789068> speed <275.012103> / animSpeed; //delta=-9.17 - turn turret to x-axis <10.0> speed <299.999991> / animSpeed; //delta=-10.00 + turn turret to x-axis <10.000000> speed <299.999991> / animSpeed; //delta=-10.00 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:57 + if (bMoving) { //Frame:57 move body to y-axis [-1.875000] speed [33.750000] / animSpeed; //delta=1.12 - turn body to x-axis <3.0> speed <60.0> / animSpeed; //delta=2.00 + turn body to x-axis <3.000000> speed <60.000000> / animSpeed; //delta=2.00 turn body to z-axis <2.250000> speed <22.500001> / animSpeed; //delta=0.75 turn lfoot to x-axis <18.548168> speed <171.521520> / animSpeed; //delta=5.72 turn lfoot to y-axis <0.356226> speed <3.166149> / animSpeed; //delta=0.11 @@ -181,9 +183,9 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn turret to x-axis <6.666667> speed <99.999989> / animSpeed; //delta=3.33 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:65 + if (bMoving) { //Frame:65 move body to y-axis [-0.750000] speed [33.750000] / animSpeed; //delta=1.12 - turn body to x-axis <1.0> speed <59.999996> / animSpeed; //delta=2.00 + turn body to x-axis <1.000000> speed <59.999996> / animSpeed; //delta=2.00 turn body to z-axis <1.500000> speed <22.500001> / animSpeed; //delta=0.75 turn lfoot to x-axis <-1.573581> speed <603.652458> / animSpeed; //delta=20.12 turn lfoot to y-axis <0.801272> speed <13.351386> / animSpeed; //delta=0.45 @@ -203,14 +205,14 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas move rthigh to y-axis [0.000350] speed [14.285324] / animSpeed; //delta=0.48 turn rthigh to x-axis <-14.885709> speed <1325.135400> / animSpeed; //delta=44.17 turn rthigh to y-axis <-0.542726> speed <39.110114> / animSpeed; //delta=-1.30 - turn turret to x-axis <3.333333> speed <100.0> / animSpeed; //delta=3.33 + turn turret to x-axis <3.333333> speed <100.000001> / animSpeed; //delta=3.33 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:73 + if (bMoving) { //Frame:73 call-script lua_UnitScriptDecal(1, (get PIECE_XZ(lfoot) & 0xffff0000) / 0x00010000 , (get PIECE_XZ(lfoot) & 0x0000ffff), get HEADING(0)); move body to y-axis [0.500000] speed [37.500000] / animSpeed; //delta=1.25 - turn body to x-axis <-0.0> speed <30.0> / animSpeed; //delta=1.00 - turn body to z-axis <-0.0> speed <45.0> / animSpeed; //delta=1.50 + turn body to x-axis <-0.000000> speed <30.000000> / animSpeed; //delta=1.00 + turn body to z-axis <-0.000000> speed <45.000001> / animSpeed; //delta=1.50 turn lfoot to x-axis <-13.787211> speed <366.408890> / animSpeed; //delta=12.21 turn lfoot to y-axis <0.480140> speed <9.633946> / animSpeed; //delta=-0.32 turn lleg to x-axis <6.973158> speed <229.558248> / animSpeed; //delta=7.65 @@ -218,45 +220,45 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn lthigh to x-axis <6.621998> speed <633.085180> / animSpeed; //delta=-21.10 turn lthigh to y-axis <0.011961> speed <9.284459> / animSpeed; //delta=0.31 turn rfoot to x-axis <28.584437> speed <526.156588> / animSpeed; //delta=-17.54 - turn rfoot to z-axis <0.0> speed <5.602366> / animSpeed; //delta=-0.19 - turn rfoot to y-axis <-0.0> speed <38.465707> / animSpeed; //delta=-1.28 + turn rfoot to z-axis <0.000000> speed <5.602366> / animSpeed; //delta=-0.19 + turn rfoot to y-axis <-0.000000> speed <38.465707> / animSpeed; //delta=-1.28 turn rleg to x-axis <18.190966> speed <548.201360> / animSpeed; //delta=-18.27 - turn rleg to z-axis <0.0> speed <5.039089> / animSpeed; //delta=0.17 - turn rleg to y-axis <-0.0> speed <22.923549> / animSpeed; //delta=0.76 + turn rleg to z-axis <0.000000> speed <5.039089> / animSpeed; //delta=0.17 + turn rleg to y-axis <-0.000000> speed <22.923549> / animSpeed; //delta=0.76 turn rthigh to x-axis <-46.447609> speed <946.856984> / animSpeed; //delta=31.56 - turn rthigh to z-axis <-0.0> speed <3.463682> / animSpeed; //delta=-0.12 - turn rthigh to y-axis <-0.0> speed <16.281770> / animSpeed; //delta=0.54 - turn turret to x-axis <-0.0> speed <100.0> / animSpeed; //delta=3.33 + turn rthigh to z-axis <-0.000000> speed <3.463682> / animSpeed; //delta=-0.12 + turn rthigh to y-axis <-0.000000> speed <16.281770> / animSpeed; //delta=0.54 + turn turret to x-axis <-0.000000> speed <100.000001> / animSpeed; //delta=3.33 sleep ((33*animSpeed) -1); } } } -// Call this from StopMoving()! +// Call this from MotionControl()! StopWalking() { - move body to y-axis [0.0] speed [13.125000]; - move lthigh to y-axis [0.0] speed [9.428600]; - move rthigh to y-axis [0.0] speed [9.428600]; - turn body to x-axis <0.0> speed <18.749999>; - turn body to z-axis <0.0> speed <11.250000>; - turn lfoot to x-axis <0.0> speed <125.172212>; - turn lfoot to y-axis <0.0> speed <4.808213>; - turn lfoot to z-axis <0.0> speed <14.462529>; - turn lleg to x-axis <0.0> speed <107.702990>; - turn lleg to y-axis <0.0> speed <4.970102>; - turn lleg to z-axis <0.0> speed <3.748875>; - turn lthigh to x-axis <0.0> speed <165.641919>; - turn lthigh to y-axis <0.0> speed <6.004185>; - turn lthigh to z-axis <0.0> speed <4.399311>; - turn rfoot to x-axis <0.0> speed <125.172215>; - turn rfoot to y-axis <0.0> speed <4.808213>; - turn rfoot to z-axis <0.0> speed <14.462530>; - turn rleg to x-axis <0.0> speed <107.702977>; - turn rleg to y-axis <0.0> speed <4.970100>; - turn rleg to z-axis <0.0> speed <3.748874>; - turn rthigh to x-axis <0.0> speed <174.178532>; - turn rthigh to y-axis <0.0> speed <6.004184>; - turn rthigh to z-axis <0.0> speed <4.399311>; - turn turret to x-axis <0.0> speed <37.499999>; + move body to y-axis [0.000000] speed [13.125000]; + move lthigh to y-axis [0.000000] speed [9.428600]; + move rthigh to y-axis [0.000000] speed [9.428600]; + turn body to x-axis <0.000000> speed <18.749999>; + turn body to z-axis <0.000000> speed <11.250000>; + turn lfoot to x-axis <0.000000> speed <125.172212>; + turn lfoot to y-axis <0.000000> speed <4.808213>; + turn lfoot to z-axis <0.000000> speed <14.462529>; + turn lleg to x-axis <0.000000> speed <107.702990>; + turn lleg to y-axis <0.000000> speed <4.970102>; + turn lleg to z-axis <0.000000> speed <3.748875>; + turn lthigh to x-axis <0.000000> speed <165.641919>; + turn lthigh to y-axis <0.000000> speed <6.004185>; + turn lthigh to z-axis <0.000000> speed <4.399311>; + turn rfoot to x-axis <0.000000> speed <125.172215>; + turn rfoot to y-axis <0.000000> speed <4.808213>; + turn rfoot to z-axis <0.000000> speed <14.462530>; + turn rleg to x-axis <0.000000> speed <107.702977>; + turn rleg to y-axis <0.000000> speed <4.970100>; + turn rleg to z-axis <0.000000> speed <3.748874>; + turn rthigh to x-axis <0.000000> speed <174.178532>; + turn rthigh to y-axis <0.000000> speed <6.004184>; + turn rthigh to z-axis <0.000000> speed <4.399311>; + turn turret to x-axis <0.000000> speed <37.499999>; } // REMEMBER TO animspeed = 8 in Create() !! UnitSpeed(){ @@ -273,16 +275,16 @@ UnitSpeed(){ sleep 263; } } -StartMoving(reversing){ - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; - isMoving=TRUE; +StartMoving(){ + signal SIG_WALK; + set-signal-mask SIG_WALK; + bMoving=TRUE; start-script Walk(); start-script UnitSpeed(); } StopMoving(){ - signal SIGNAL_MOVE; - isMoving=FALSE; + signal SIG_WALK; + bMoving=FALSE; call-script StopWalking(); } @@ -293,37 +295,44 @@ StopMoving(){ //how 'heavy' the unit is, on a scale of 1-10 #define UNITSIZE 7 #define MAXTILT 100 -#include "../unit_hitbyweaponid_and_smoke.h" +#include "unit_hitbyweaponid_and_smoke.h" RockUnit(anglex, anglez) { - turn body to x-axis anglex speed <50.0>; - turn body to z-axis <0> - anglez speed <50.0>; + turn body to x-axis anglex speed <50.000000>; + turn body to z-axis <0> - anglez speed <50.000000>; wait-for-turn body around z-axis; wait-for-turn body around x-axis; - turn body to z-axis <0.0> speed <20.0>; - turn body to x-axis <0.0> speed <20.0>; + turn body to z-axis <0.000000> speed <20.000000>; + turn body to x-axis <0.000000> speed <20.000000>; } Create() { hide flare; hide aimy1; - isMoving = FALSE; + bMoving = FALSE; + Static_Var_2 = 0; animspeed = 8; + Static_Var_3 = 1; hide flare; + dont-cache flare; restore_delay = 3000; return (0); } -SetMaxReloadTime(reloadMS) +SetMaxReloadTime(Func_Var_1) { - restore_delay = reloadMS * 2; + restore_delay = Func_Var_1 * 2; return (0); } - +SweetSpot(piecenum) +{ + piecenum = body; + return (0); +} static-var Stunned; ExecuteRestoreAfterDelay() @@ -331,10 +340,11 @@ ExecuteRestoreAfterDelay() if (Stunned) { return (1); } - turn aimy1 to y-axis <0.0> speed <50.0>; - turn aimy1 to x-axis <0.0> speed <100.0>; + turn aimy1 to y-axis <0.000000> speed <50.000000>; + turn aimy1 to x-axis <0.000000> speed <100.000000>; wait-for-turn aimy1 around y-axis; - wpn1_lasthead = 0xbadface; + wpn1_lasthead = 1000000; + Static_Var_2 = 0; } SetStunned(State) { @@ -345,31 +355,31 @@ SetStunned(State) } RestoreAfterDelay() { - set-signal-mask SIGNAL_AIM1; + set-signal-mask SIG_AIM; sleep restore_delay; start-script ExecuteRestoreAfterDelay(); } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = barrel; + piecenum = barrel; return (0); } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = flare; + piecenum = flare; return (0); } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - turn aimy1 to y-axis heading speed <100.0>; - turn aimy1 to x-axis <0.0> - pitch speed <75.0>; - if ((wpn1_lasthead == 0xbadface) OR ABSOLUTE_GREATER_THAN(WRAPDELTA(heading - wpn1_lasthead), <7>)) + signal SIG_AIM; + turn aimy1 to y-axis heading speed <100.000000>; + turn aimy1 to x-axis <0.000000> - pitch speed <75.000000>; + if (((get ABS(wpn1_lasthead - heading)) > 65536) OR(((get ABS(wpn1_lasthead - heading)) > 1300) AND ((get ABS(wpn1_lasthead - heading)) < 64236))) { - wpn1_lasthead = 0xbadface; + wpn1_lasthead = 1000000; wait-for-turn aimy1 around y-axis; wait-for-turn aimy1 around x-axis; } @@ -378,11 +388,11 @@ AimWeapon1(heading, pitch) return (1); } -FireWeapon1() +FirePrimary() { emit-sfx 1024 + 0 from flare; move barrel to z-axis [-7.500000] speed [56.250000]; - move barrel to z-axis [0.0] speed [2.500000]; + move barrel to z-axis [0.000000] speed [2.500000]; return (0); } @@ -392,17 +402,30 @@ Killed(severity, corpsetype) { corpsetype = 1 ; explode body type BITMAPONLY | NOHEATCLOUD; + //explode lthigh type BITMAPONLY | NOHEATCLOUD; explode lleg type BITMAPONLY | NOHEATCLOUD; explode lfoot type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode turret type BITMAPONLY | NOHEATCLOUD; + //explode barrel type BITMAPONLY | NOHEATCLOUD; + //explode flare type BITMAPONLY | NOHEATCLOUD; + //explode rthigh type BITMAPONLY | NOHEATCLOUD; + //explode rleg type BITMAPONLY | NOHEATCLOUD; + //explode rfoot type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } if( severity <= 50 ) { corpsetype = 2 ; explode body type BITMAPONLY | NOHEATCLOUD; + //explode lthigh type FALL | NOHEATCLOUD; explode lleg type FIRE | SMOKE | FALL | NOHEATCLOUD; explode lfoot type FALL | NOHEATCLOUD; explode turret type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode barrel type FALL | NOHEATCLOUD; + //explode flare type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rthigh type FALL | NOHEATCLOUD; + //explode rleg type FALL | NOHEATCLOUD; + //explode rfoot type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) @@ -413,6 +436,11 @@ Killed(severity, corpsetype) explode lleg type FIRE | SMOKE | FALL | NOHEATCLOUD; explode lfoot type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode turret type SMOKE | FALL | NOHEATCLOUD; + //explode barrel type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode rthigh type SMOKE | FALL | NOHEATCLOUD; + //explode rleg type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rfoot type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; @@ -422,5 +450,9 @@ Killed(severity, corpsetype) explode lfoot type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode turret type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode barrel type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode rthigh type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rleg type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode rfoot type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/armfboy.cob b/scripts/Units/armfboy.cob index 6af193b90740b8687cc7d7eb86d57162fcc22842..18b718ae7d024be6b9742e50fd7f8e90ff03e404 100644 GIT binary patch literal 12980 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 literal 12313 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 OfSa-_lmsiBFV)7 diff --git a/scripts/Units/armfdrag.bos b/scripts/Units/armfdrag.bos index cc4d7ffc0d3..37650c6d6cd 100644 --- a/scripts/Units/armfdrag.bos +++ b/scripts/Units/armfdrag.bos @@ -1,13 +1,35 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base; - -#define WATER_ROCK_UNITSIZE 1 -#include "../floatmotion.h" +RockOnWaves() +{ + var rockDir, rockAng, rockSpeed; + rockDir = <-0.1>; + rockAng = <-0.1>; + while( TRUE ) + { + while( get ABS(rockAng) < <1.31> ) + { + rockSpeed = <1.45> - get ABS(rockAng); + turn base to x-axis rockAng speed rockSpeed*5; + turn base to z-axis rockAng speed rockSpeed*5; + wait-for-turn base around x-axis; + wait-for-turn base around z-axis; + rockAng = rockAng + rockDir; + } + rockDir = 0 - rockDir; + rockAng = rockAng + rockDir + rockDir; + } +} Create() { - start-script FloatMotion(); + dont-shade base; + dont-cache base; + + start-script RockOnWaves(); } diff --git a/scripts/Units/armfdrag.cob b/scripts/Units/armfdrag.cob index 535f4976f5a4ffd98c6eba175db6146f25403b90..aa1fd5ae609bac4b71e139c474a402006633aa9c 100644 GIT binary patch literal 544 zcma)3F$%&!5Zs(G1T5Ub&L$7A$P)w~pro-i%7Gv#Bw}sjKYf9fr4VN>cOi&HHVm7a z+04$7SVRmE0TmGH4dMgD5Emd*4rN9IA~pJIn#SbdQ2jH#cxIPfqSl`u=*IKZDgSoK zV|88>b*%ip@N+2)sSWj!Y^2P`=-lh>i9V)x4h@gXn2F0mddM7o1S#2E`S-Agp7d$8 zHiO%F)ylrCt$YFX3nNwl literal 1084 zcmbtTu}Z{15S?sd3acqBEKW&rg@r=E!uC)&u@G$RjgUeRBbr|j|H5w!SXt?NyF0QM z7K<~-keRnL^X6stDiLw80`>*7M=OziSOYr-xWro;r-eGbWKvV9Yn{?1PUDXua}MaV zrO)yG;~8tnm8&^TYDmXEgjiG3$?zNzk32Qpv}Py9p6{;K39+9t;vai(wDg*$Z`7_f z=T!{Oe($q7gugt-CvByi!^a#x_F}Gm7ruk`z(b$;Z!yQ>Ll(teyY$h^c;;{NT7PLI z>;ol++4p8_-{*OOgp6)GpX)Z9qvZH)R{29WcOgyCZF@1@7XMc_?^&vweHq(bI$r|F z=(h9ec5~l`qiSp2;ob(_^wWJ?ytQr(`{un#bz9#n9<+tZs@9W4gWS}pgvG~p>TzJ7 eF#g|L*coj7ICSInFg^@Va`Do4V=wpJYcD_C9yT@r diff --git a/scripts/Units/armferret.bos b/scripts/Units/armferret.bos index dd9b636f99d..56adf6474f6 100644 --- a/scripts/Units/armferret.bos +++ b/scripts/Units/armferret.bos @@ -1,28 +1,27 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, turret, sleeve, barrel1, barrel2, flare1, flare2, aimpoint, hat, aimy1, aimx1; -static-var isOpen, gun1, restore_delay; +static-var Static_Var_1, Static_Var_2, restore_delay, Static_Var_4, statechg_DesiredState, + statechg_StateChanging; // Signal definitions -#define SIGNAL_AIM1 256 +#define SIG_AIM 2 -Activate() +Activatescr() { - if (!isOpen){ - move aimy1 to y-axis [0] speed [40]; - wait-for-move aimy1 along y-axis; - move barrel2 to z-axis [0] speed [28]; - move barrel1 to z-axis [0] speed [28]; - sleep 200; - isOpen = 1; - set ARMORED to 0; - } + move aimy1 to y-axis [0] speed [40]; + wait-for-move aimy1 along y-axis; + move barrel2 to z-axis [0] speed [28]; + move barrel1 to z-axis [0] speed [28]; + sleep 200; } -Deactivate() +Deactivatescr() { move barrel1 to z-axis [-7] speed [28]; move barrel2 to z-axis [-7] speed [28]; @@ -33,7 +32,50 @@ Deactivate() turn aimx1 to x-axis <0> speed <120>; turn hat to x-axis <0> speed <60>; sleep 200; +} + + +Go() +{ + if( !Static_Var_1 ) + { + call-script Activatescr(); + } + Static_Var_1 = 1; + set ARMORED to 0; +} + +Stop() +{ set ARMORED to 1; + Static_Var_1 = 0; + call-script Deactivatescr(); +} + +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState ) + { + call-script Stop(); + currentstate = 1; + } + else + { + call-script Go(); + currentstate = 0; + } + } + statechg_StateChanging = FALSE; } static-var Stunned; @@ -42,9 +84,9 @@ ExecuteRestoreAfterDelay() if (Stunned) { return (1); } - start-script Deactivate(); + set-signal-mask 0; + start-script RequestState(1); } - SetStunned(State) { Stunned = State; @@ -64,31 +106,35 @@ Create() hide flare1; hide flare2; - isOpen = 1; - gun1 = 0; + Static_Var_1 = 1; + Static_Var_2 = 0; + Static_Var_4 = 1; restore_delay = 3000; - start-script Activate(); - set-signal-mask SIGNAL_AIM1; - SLEEP_UNTIL_UNITFINISHED; + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; + start-script RequestState(0); + set-signal-mask SIG_AIM; + while( get BUILD_PERCENT_LEFT ) + { + sleep 1000; + } start-script RestoreAfterDelay(); } +#define SMOKEPIECE base +#include "smokeunit_thread_nohit.h" -#define BASEPIECE base -#define MAXTILT 0 -#include "../unit_hitbyweaponid_and_smoke.h" - -SetMaxReloadTime(reloadMS) +SetMaxReloadTime(Func_Var_1) { - restore_delay = reloadMS * 2; + restore_delay = Func_Var_1 * 2; } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; - start-script Activate(); - while( !isOpen ) + start-script RequestState(0); + signal SIG_AIM; + set-signal-mask SIG_AIM; + while( !Static_Var_1 ) { sleep 250; } @@ -100,20 +146,25 @@ AimWeapon1(heading, pitch) return (1); } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = flare1 + gun1; + piecenum = flare1 + Static_Var_2; +} + +AimFromPrimary(piecenum) +{ + piecenum = aimpoint; } -AimFromWeapon1(pieceIndex) +SweetSpot(piecenum) { - pieceIndex = aimpoint; + piecenum = base; } Shot1() { - gun1 = !gun1; + Static_Var_2 = !Static_Var_2; } Killed(severity, corpsetype) diff --git a/scripts/Units/armfflak.bos b/scripts/Units/armfflak.bos index ed99bd3c70b..3716dcfcd6f 100644 --- a/scripts/Units/armfflak.bos +++ b/scripts/Units/armfflak.bos @@ -1,5 +1,7 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece flare1, flare2, base, turret, barrel1, barrel2, sleeve1, sleeve2 ; @@ -7,28 +9,50 @@ static-var gun_1; static-var Stunned; // Signal definitions -#define SIGNAL_AIM1 256 +#define SIG_AIM 2 + +RockOnWaves() +{ + var rockDir, rockAng, rockSpeed; + rockDir = <-0.1>; + rockAng = <-0.1>; + while( TRUE ) + { + while( get ABS(rockAng) < <1.31> ) + { + rockSpeed = <1.45> - get ABS(rockAng); + turn base to x-axis rockAng speed rockSpeed*5; + turn base to z-axis rockAng speed rockSpeed*5; + wait-for-turn base around x-axis; + wait-for-turn base around z-axis; + rockAng = rockAng + rockDir; + } + rockDir = 0 - rockDir; + rockAng = rockAng + rockDir + rockDir; + } +} -#define WATER_ROCK_UNITSIZE 10 -#include "../floatmotion.h" #define BASEPIECE base #define HITSPEED <20.0> //how 'heavy' the unit is, on a scale of 1-10 #define UNITSIZE 5 #define MAXTILT 200 -#define RECOIL_POWER 100000 -#include "../unit_hitbyweaponid_and_smoke.h" + +#include "unit_hitbyweaponid_and_smoke.h" Create() { hide flare1; hide flare2; gun_1 = flare1; - SLEEP_UNTIL_UNITFINISHED; - start-script FloatMotion(); - turn sleeve1 to x-axis <-30> speed <25.0>; - turn sleeve2 to x-axis <-30> speed <25.0>; + while( get BUILD_PERCENT_LEFT ) + { + sleep 400; + } + start-script RockOnWaves(); + turn sleeve1 to x-axis <-30> speed <25.00000>; + turn sleeve2 to x-axis <-30> speed <25.00000>; spin turret around y-axis speed <25.0>; } @@ -37,8 +61,8 @@ ExecuteRestoreAfterDelay() if (Stunned) { return (1); } - turn sleeve1 to x-axis <-30> speed <25.0>; - turn sleeve2 to x-axis <-30> speed <25.0>; + turn sleeve1 to x-axis <-30> speed <25.00000>; + turn sleeve2 to x-axis <-30> speed <25.00000>; spin turret around y-axis speed <25.0>; } Stop() @@ -60,51 +84,55 @@ RestoreAfterDelay() start-script ExecuteRestoreAfterDelay(); } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; turn turret to y-axis heading speed <700.170330>; - turn sleeve1 to x-axis <0.0> - pitch speed <550.131868>; - turn sleeve2 to x-axis <0.0> - pitch speed <550.131868>; + turn sleeve1 to x-axis <0.000000> - pitch speed <550.131868>; + turn sleeve2 to x-axis <0.000000> - pitch speed <550.131868>; wait-for-turn turret around y-axis; wait-for-turn sleeve1 around x-axis; return (1); } -FireWeapon1() +FirePrimary() { if( gun_1 == 0 ) { emit-sfx 1024 + 0 from flare1; - move barrel1 to z-axis [-10.0] now; + move barrel1 to z-axis [-10.000000] now; sleep 100; - move barrel1 to z-axis [0.0] speed [37.500000]; + move barrel1 to z-axis [0.000000] speed [37.500000]; } if( gun_1 == 1 ) { emit-sfx 1024 + 0 from flare2; - move barrel2 to z-axis [-10.0] now; + move barrel2 to z-axis [-10.000000] now; sleep 100; - move barrel2 to z-axis [0.0] speed [37.500000]; + move barrel2 to z-axis [0.000000] speed [37.500000]; } gun_1 = !gun_1; return (0); } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = gun_1; + piecenum = gun_1; return (0); } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = turret; + piecenum = turret; return (0); } - +SweetSpot(piecenum) +{ + piecenum = base; + return (0); +} Killed(severity, corpsetype) { diff --git a/scripts/Units/armfflak.cob b/scripts/Units/armfflak.cob index ffccd230b1bb0b4d6bb0a76ad8af1b952a8a28a8..f9a2c0f46add6996b5de2355f6eacec59121b74e 100644 GIT binary patch literal 4248 zcmcInO=whC6h1RfCJ~{1r3kHV9*E#VaFR`3l_a)OwPKnj0U4g~Uh#KwS*%CK-*19f;ir14 z=@)Wo)FK;;!e}g_|Gc*wha+{P#*z3y#QLi6XI^spkAX`AI{ergW3f7lN3mlZVU^^3 z{8{rbCgV7rtHI`(t`pY0=iJ8ENqem+*F~<*VX+Pcv1G2E&qim&7~1o)x7FTd+SSE* z(~g|j*!g?hGcN-Z#t-eDQPyztxrHNrDXTUHu}**T|9)(2;7(iC!y3e6uXWOgda9XE z`EcKXKkdRf=$T^1)3`MXkXLgQ z`u75RTl4bjF8NcKF&;xG9=di{feor@iK5Y+UU2qs`7p*)IFUcx z>Gvgu)~SZ-#sgjGFAZ_;pO0zHJT^>8+?H@)9(#xGW9MdkrdD25BWJAG6HC^|nQGm4 zc!=>{Fc=@;c$YHZXum}`<~e*{+n+;7%nNLEzvyT8Va?%T&zU>_`K~h93CzXrgU@yJ z*Gis~wcA=__bt&n8GA1~oh83B8k^_P-^N8x!~?1GoHFNj{51@0@Az2c7~p%)_ikYS zcVB)N`#oWQw6i-6e5_A)Jn$XZg*javF6RV-6y>CytHb5wd`8KscA8V}k452o#a{H= zpf>uga`^^&-iha4de&5=5BHI=zJ#sBuJ=vfJNu-+_8a3)+YDS5fqyh^_lmL@qTM<> z?*bk7g7zFBIsae9m^@?5`8o4v<|2O7$DU{4TE|{Ba@UIdn5#&~@cG_jKlS~kz5VyX z(KXdnV2I2hFZj{~CIjR3BKDzH^@Y6Y!$+Mq1m8p$zhVv^sBkhSf z75fjFSCP-|8HIVu%&SbDyXO_=EUHuIH7w64buuooALd__laPnAq>LAw_+}L+i560w=8E8(@Kqe zd&4Ykq-Nf%r@h3?TuV*zjp?+uq?z{Cq-oM-y3y^LWqIFXroB3sv{zfnmYi)TM$bQN zm}E;YusNIba=Yfw1`*eKsa$AxI*59$(@M;wV^i{DYu!k?kt8O?8LTtu`IM}8jM;># H<5Th<<=-|# literal 4118 zcmb_f&x@N?6urr0QYlhD(F%e;A}E5WWCjFRGGps#mBQE{?quTRwS;DpG4qYs-7H$` zq7+x6ATo$c1;LH|2dW#vO;^^H2vQdvQ7X7-JmOWI9#HS=T+kKC;`!@j%n&MA9bH^t)A^c_blW3^Qh0VIbYM> z2);}E`S#$*c;^d#P{(BXo+f4swoI%2OPf zSMjZ38GFr-*3@t6>d(Ok04S+j_F~;yXWX*<;%YPM=3ZDM)UAC{-O~SW-K;&Wn{lb@ zEM0vV3ng{SzVzw-{nk3XZoBSqZbRLir~57aw(HKqe)HUM8k&{Nmg?CvNe#AI z_xDwIkRy5B3k>hI;jZ91c&;6;0Z%*oK|ANmoHyq^_Av7JQ-~$nXtLFbjccS*Yl0zhV|gz6mLoVTu^( z!loGirl4l^ei=sc)jpNg%y_>M5PRX@R`vq-js24^N1jRIFG3mfDDQX&O4O) z`Izxc{*>fluLu{9agHo`=cC{6(XWEh_Tt-*yM8^cSCjQL_aYOp57-C34VNOG%l>Ux zv%nc6L#PJUL)+Gu3hZ+@@vQ)W95Ox~7a ztcepvpXldd=qD^E5%+J0} zv!~~Z*azv{2=yF>BiC35{Z-E{G1-Cf_nLISKfp`p-q9aFjXa)pQQwVvF&@uEYG=Pw zoo?fEg#FgJBgVf=k@u0vn|n2jw|I&7StdYT(|8Ln-qOWex_B!d!%pM9PGjW#PUKBK zvv^;i4|t0AXHggLi&0m<#Y?$T5VD<5oH z%jKA77~@{+_IikQvezEEg)l7I+wCo9 Z`Sx(=a?COG7UH;QTRrFA1vHF{_Ak{bHaY+R diff --git a/scripts/Units/armfgate.bos b/scripts/Units/armfgate.bos index 5c4ab95fcc8..d1ae02d8e1a 100644 --- a/scripts/Units/armfgate.bos +++ b/scripts/Units/armfgate.bos @@ -1,9 +1,11 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, emit; -static-var shieldEnabled; +static-var Static_Var_1, statechg_DesiredState, statechg_StateChanging; #define BASEPIECE base #define HITSPEED <20.0> @@ -11,66 +13,113 @@ static-var shieldEnabled; #define UNITSIZE 3 #define MAXTILT 100 -#include "../unit_hitbyweaponid_and_smoke.h" +#include "unit_hitbyweaponid_and_smoke.h" + +emitOn() +{ + Static_Var_1 = 1; +} + +emitOff() +{ + Static_Var_1 = 0; +} + +InitState() +{ + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; +} + +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + call-script emitOn(); + currentstate = 0; + } + if( statechg_DesiredState == 1 ) + { + call-script emitOff(); + currentstate = 1; + } + } + statechg_StateChanging = FALSE; +} Create() { hide emit; - shieldEnabled = 1; + Static_Var_1 = 1; + call-script InitState(); } Activate() { - shieldEnabled = 1; + start-script RequestState(0); } Deactivate() { - shieldEnabled = 0; + start-script RequestState(1); } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { sleep 100; - return (shieldEnabled); + return (Static_Var_1); } -FireWeapon1() +FirePrimary() { sleep 100; } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = emit; + piecenum = emit; } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = base; + piecenum = base; } -AimWeapon2(heading, pitch) +AimSecondary(heading, pitch) { sleep 100; - return (shieldEnabled); + return (Static_Var_1); } -FireWeapon2() +FireSecondary() { sleep 100; } -QueryWeapon2(pieceIndex) +QuerySecondary(piecenum) { - pieceIndex = base; + piecenum = base; } -AimFromWeapon2(pieceIndex) +AimFromSecondary(piecenum) { - pieceIndex = base; + piecenum = base; } +SweetSpot(piecenum) +{ + piecenum = base; +} Killed(severity, corpsetype) { diff --git a/scripts/Units/armfgate.cob b/scripts/Units/armfgate.cob index 0a73c732452c0dbaa1106c3cecdd3bc0c742f7f7..955880345c2ba620c014f3c4d9f57fb16c63567b 100644 GIT binary patch literal 2486 zcmbVOJ!lkB5T3hSPSeOLf~H%vjc|xX3X4QTFj|=8kcib?axb`;`*E{Tg9uk!*jR`t zc7lbCjdifn&caU6*1|&2P6WU2?ab{Xxg^FtKIXmo`DWg{*-a`UavUfFe@Y@1NIvml zksh!GOkn>WQsQzHq8#A|bqTVias*OpBauvvMCDpJ;+}q#^z-&;G?GR&I;lDck@+gD zg&+B(miwK?(sCFl_mf9*Zj?R9!QAG{8YGs8R8}WrX!p86`nq<+7V-2KF#EV*%_aFB zfxvjT=Nx9UI7*(KePuk)!rnZE;NIUyT=Bi6i9MpE?E)9tqf~WGuPb>jE-SU7r`%hg zxg7B8eLM(s>@$7Bd}paZkEE9Kv(`Z!5o*MbE~0#o)n20GkNh5Fsv12}eR-Syy6Pc( zo#Cume~!|Iey~Tcuw;HeE9fCB;5|}DH<{1p=dJ3P&iWxyHSaZaHg}ZtDb9g=!DF13 zhy2Dxdyx;Enwxos*({DS^tJh9jLiej?7K=G&if6*Y9oKh!I-cv@-db^yh|^!$JY0N z`+;5kq>=Y)97eNQjn>OC2FBI=J;u`PmLrU#tHqtrI6u!CN0r5KE`F&V!q>Q?Ck?!T z>O*NgW<8?}!ejMVKfDrmU8QY^ojT6KFuTnkIsM&Z?s-0j7{BSmyf&-kw)be5oiw}I zjl=j4l6Nm&t7Esk``KBS%^-cpnJmud<^>K+ot>MK`&eZkQX2SvM280NMhq2w`jBSx z@yf$Khxz0VaVNU;$_VZQwre5O@Z>1YQGgfJ;esVROkfd)Dbik%NDwi;L{>UW*X>b-6zSCX|g*OKMt Iy7Se`U%|-8i~s-t literal 1993 zcmb7FziSjh6n?k2o+6^7RcvIj5(%=|LajnBhEowCYGI{h%?+}c^TK%s?2|@B(h5Or zEw!?xZ7ahjkXV%?!;bcv{r)hn&hkX*lE;uvqLyW%@jir>l`5rlxMtC&OlXn&REW(@Af-X&8Kfu&-yk<<&l$>c;y&&t#du!^c=6 zyVeY*(+htF^Ktm^k(+EGZnAmH>y!x{ A!~g&Q diff --git a/scripts/Units/armfhlt.bos b/scripts/Units/armfhlt.bos index 77a6607b2c7..fac457fd71f 100644 --- a/scripts/Units/armfhlt.bos +++ b/scripts/Units/armfhlt.bos @@ -1,25 +1,44 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece flare1, flare2, base, gunl, gunr, turret; static-var gun_1; // Signal definitions -#define SIGNAL_AIM1 256 +#define SIG_AIM 2 - -#define WATER_ROCK_UNITSIZE 10 -#include "../floatmotion.h" +RockOnWaves() +{ + var rockDir, rockAng, rockSpeed; + rockDir = <-0.1>; + rockAng = <-0.1>; + while( TRUE ) + { + while( get ABS(rockAng) < <1.31> ) + { + rockSpeed = <1.45> - get ABS(rockAng); + turn base to x-axis rockAng speed rockSpeed*5; + turn base to z-axis rockAng speed rockSpeed*5; + wait-for-turn base around x-axis; + wait-for-turn base around z-axis; + rockAng = rockAng + rockDir; + } + rockDir = 0 - rockDir; + rockAng = rockAng + rockDir + rockDir; + } +} #define BASEPIECE base -#define HITSPEED <10.0> +#define HITSPEED <20.0> //how 'heavy' the unit is, on a scale of 1-10 #define UNITSIZE 5 -#define MAXTILT 200 -#define RECOIL_POWER 35000 -#include "../unit_hitbyweaponid_and_smoke.h" +#define MAXTILT 100 + +#include "unit_hitbyweaponid_and_smoke.h" Create() @@ -29,35 +48,58 @@ Create() hide flare1; hide flare2; gun_1 = flare1; - SLEEP_UNTIL_UNITFINISHED; - start-script FloatMotion(); + while( get BUILD_PERCENT_LEFT ) + { + sleep 400; + } + start-script RockOnWaves(); } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; - turn turret to y-axis heading speed <150.0>; - turn gunl to x-axis <0.0> - pitch speed <150.0>; - turn gunr to x-axis <0.0> - pitch speed <150.0>; + signal SIG_AIM; + set-signal-mask SIG_AIM; + turn turret to y-axis heading speed <150.000000>; + turn gunl to x-axis <0.000000> - pitch speed <150.000000>; + turn gunr to x-axis <0.000000> - pitch speed <150.000000>; wait-for-turn turret around y-axis; wait-for-turn gunl around x-axis; return (1); } -FireWeapon1() +FirePrimary() { - gun_1 = !gun_1; + if( gun_1 == 0 ) + { + gun_1 = flare2; + return (0); + } + if( gun_1 == 1 ) + { + gun_1 = flare1; + } +} + +QueryPrimary(piecenum) +{ + if( gun_1 == 0 ) + { + piecenum = flare1; + } + if( gun_1 == 1 ) + { + piecenum = flare2; + } } -QueryWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = flare1 + gun_1; + piecenum = gunr; } -AimFromWeapon1(pieceIndex) +SweetSpot(piecenum) { - pieceIndex = gunr; + piecenum = base; } Killed(severity, corpsetype) diff --git a/scripts/Units/armfhlt.cob b/scripts/Units/armfhlt.cob index 8de02cd06ef28992007e0bde340315cb5b236787..17e105167534caddedd72862c328c51b3276c455 100644 GIT binary patch literal 3239 zcmbW3y=zlp6vj_tS__I^!No-~i$m;C+^h=4kHKouu8r+gV?R=^sZwwV6c+{2MMM_| z1xH6W9sDbFc9o8TLw$bleNTG5CN=Siswo^!);+aN#psEcvW$3$4p$2TcehQTqu*Vg!pUG zZ$g3ChRtL3eF^}pk|($2J%l>bc2MC-&*Ozv2hvVsDwI_ z&l8Enq62UDIejRf(dP-dg}eLGgGKCpH^lf%j*r)6XMe`-#?wx54=$r7=BbK%-g3=; zHjjflw!||Fcd{aZbB%Mo7Va6M_l)fviipuyiRhX^R|#_<)*65Q9vo+Ez5MZa@V%e| zXMBqFCQ%3@YvlRqwbw_Y9`(V+_xmf_nZ>r_Z$Ni+C+e#u{pY9`>tW(|4Nk2i*n|fd z0T#M&S9E{qzT4WB>syso|!ALMQ>zr9=NyRHq8Bj&;8`Fuv+ zT_!(flX($gKEAi z#QL2s`WEZFi@xaGcXx*T{l^(B_Oi2=L3Voe`$eu}^0j(C=g(4o`oO0ic~{&Pw6|n` z*!>_|*pK2^0zMNl4ms>mIgq6eL&*t;>vyp=Oqu}LvoOekQ``BylMf~F2TXAlBQWE68)f$B z7=R_VQFcGd{FL=!?1$ByYJ zF=c$Idq?z1RFm<9XhxKYo{HX!K8QYw_}~1fs4hAoIxRXQx+JVHq**dm#=Q5*`^=lGn2J@esd4fv@^Hf?%3tl%1XLqw^o{2dMam=cC&dewc8tO OD|}_v*~qfAW4{4Cz1Ir> literal 3325 zcmbuBPiWj#5XUE*%@(T26SOG!XT6HTrXYAsYKc}URHb-P=-T|OYd6`lZUk>4EeeW9 z@gUkmPkNVn_TW{$i5|QuSTLd}c&YPwZ@!zCpGz$5CX@GO<~uXrdH*(DGrP^D=d#-| z^WXfr=Ei$&H#_d~h+AIt(fXaVlsf525dCiI3_6J^c7z{PFn2K-EN2Wkv0)-+iOGVP zhp|UY*Qa&NGQI^d4`PoPdZ=SoLeKTi^wO^DnPu1?zr!bKIrp@C-DB7G^BsF2`QB;8 zxjL_-dN$}Lcw`;&kqfNWg|YNr>M#d?DKOF>ASiMjX70IEr#(_v`K@nB`zM>$8(r&j z_=x9R(6{{UzGa8XqWa=$2lUNeSikhGeNo@iZ?$iFulpu1y3W#%_q$<1-}0}0ynnxC z_o$ohyPVt7H}iVGrQdYlsq8oBrtVvLPv96VC0pyIN2?y}R4?CG-6uwP-RT(awfSA~ z>yWu_Vskux)&oEDb>@SWjJ@0Ia0)4h50{TUUx;OhR?K5|$pd>(V$9!IZH<;XRnr?tRg;|{6LeTVjQ#jf+81mmjWM;?Y>^MxoOgAGv0Z()_^$g0uB?x^$c719`)p-<^=*qrUu@YaL#-p6fVXYfEb0F z7(B#VyyQQK*I9yt*SEoo{0H%RpO}i*2ce6XcwmN?@Zu%C%?s@R)&3-EX-%Z7wsh70 zFz~7^yFv?X zjt{qn=bFvuw;vcBa#2X8!_+AK`-l diff --git a/scripts/Units/armfhp.bos b/scripts/Units/armfhp.bos index adc70aba95a..7bc3e5453b3 100644 --- a/scripts/Units/armfhp.bos +++ b/scripts/Units/armfhp.bos @@ -1,16 +1,68 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" -#include "../factories_common.h" +#include "sfxtype.h" +#include "exptype.h" piece base, doorr1, doorr2, doorl1,doorl2, standr, standl, nanol, nanor, emitl, emitr; -static-var spray; +static-var Static_Var_1, statechg_DesiredState, statechg_StateChanging; // Signal definitions -#define SIGNAL_TURNON 4 +#define SIG_ACTIVATE 2 -#define WATER_ROCK_UNITSIZE 25 -#include "../floatmotion.h" +activatescr() +{ + if( TRUE ) + { + turn doorr1 to x-axis <170> speed <170>; + turn doorr2 to x-axis <-90> speed <170>; + turn doorl1 to x-axis <170> speed <170>; + turn doorl2 to x-axis <-90> speed <170>; + sleep 514; + } + if( TRUE ) + { + move standr to y-axis [10] speed [20]; + move standl to y-axis [10] speed [20]; + sleep 518; + } + + if( TRUE ) + { + turn nanor to y-axis <90.016484> speed <173.000000>; + turn nanol to y-axis <-90.016484> speed <173.000000>; + sleep 519; + } + sleep 13; + return (0); +} + +deactivatescr() +{ + + if( TRUE ) + { + turn nanor to y-axis <0> speed <173.000000>; + turn nanol to y-axis <0> speed <173.000000>; + sleep 519; + } + if( TRUE ) + { + move standr to y-axis [0] speed [20]; + move standl to y-axis [0] speed [20]; + sleep 518; + } + if( TRUE ) + { + turn doorr1 to x-axis <0> speed <170>; + turn doorr2 to x-axis <0> speed <170>; + turn doorl1 to x-axis <0> speed <170>; + turn doorl2 to x-axis <0> speed <170>; + sleep 514; + } + sleep 13; + return (0); +} #define BASEPIECE base #define HITSPEED <15.0> @@ -18,88 +70,179 @@ static-var spray; #define UNITSIZE 10 #define MAXTILT 100 -#include "../unit_hitbyweaponid_and_smoke.h" +#include "unit_hitbyweaponid_and_smoke.h" + +RockOnWaves() +{ + var rockDir, rockAng, rockSpeed; + rockDir = <-0.1>; + rockAng = <-0.1>; + while( TRUE ) + { + while( get ABS(rockAng) < <1.31> ) + { + rockSpeed = <1.45> - get ABS(rockAng); + turn base to x-axis rockAng speed rockSpeed*5; + turn base to z-axis rockAng speed rockSpeed*5; + wait-for-turn base around x-axis; + wait-for-turn base around z-axis; + rockAng = rockAng + rockDir; + } + rockDir = 0 - rockDir; + rockAng = rockAng + rockDir + rockDir; + } +} + + +OpenYard() +{ + set YARD_OPEN to 1; + while( !get YARD_OPEN ) + { + set BUGGER_OFF to 1; + sleep 1500; + set YARD_OPEN to 1; + } +} + +CloseYard() +{ + set YARD_OPEN to 0; + while( get YARD_OPEN ) + { + set BUGGER_OFF to 1; + sleep 1500; + set YARD_OPEN to 0; + } +} + +Go() +{ + + call-script activatescr(); + call-script OpenYard(); + set INBUILDSTANCE to 1; + return (0); +} + +Stop() +{ + set INBUILDSTANCE to 0; + call-script CloseYard(); + call-script deactivatescr(); + + return (0); +} + +InitState() +{ + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; + return (0); +} + +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + call-script Go(); + currentstate = 0; + } + if( statechg_DesiredState == 1 ) + { + call-script Stop(); + currentstate = 1; + } + } + statechg_StateChanging = FALSE; + return (0); +} Create() { hide emitr; hide emitl; - spray = 0; - SLEEP_UNTIL_UNITFINISHED; - start-script FloatMotion(); + Static_Var_1 = 0; + call-script InitState(); + while( get BUILD_PERCENT_LEFT ) + { + sleep 400; + } + start-script RockOnWaves(); } -QueryNanoPiece(pieceIndex) +QueryNanoPiece(piecenum) { - spray = (spray + 1) % 2; - pieceIndex = nanol + spray; + if( Static_Var_1 == 0 ) + { + piecenum = emitr; + } + if( Static_Var_1 == 1 ) + { + piecenum = emitl; + } + ++Static_Var_1; + if( Static_Var_1 == 2 ) + { + Static_Var_1 = 0; + } + return (0); } Activate() { - signal SIGNAL_TURNON; - set-signal-mask SIGNAL_TURNON; - turn doorr1 to x-axis <170> speed <170>; - turn doorr2 to x-axis <-90> speed <170>; - turn doorl1 to x-axis <170> speed <170>; - turn doorl2 to x-axis <-90> speed <170>; - wait-for-turn doorr1 around x-axis; - - move standr to y-axis [10] speed [20]; - move standl to y-axis [10] speed [20]; - wait-for-move standr along y-axis; - - turn nanor to y-axis <90.016484> speed <173.0>; - turn nanol to y-axis <-90.016484> speed <173.0>; - wait-for-turn nanor around y-axis; - - FACTORY_OPEN_BUILD; + signal SIG_ACTIVATE; + start-script RequestState(0); + return (0); } Deactivate() { - signal SIGNAL_TURNON; - set-signal-mask SIGNAL_TURNON; - sleep 5000; - - turn nanor to y-axis <0> speed <173.0>; - turn nanol to y-axis <0> speed <173.0>; - wait-for-turn nanor around y-axis; - - move standr to y-axis [0] speed [20]; - move standl to y-axis [0] speed [20]; - wait-for-move standr along y-axis; - - turn doorr1 to x-axis <0> speed <170>; - turn doorr2 to x-axis <0> speed <170>; - turn doorl1 to x-axis <0> speed <170>; - turn doorl2 to x-axis <0> speed <170>; - wait-for-turn doorr1 around x-axis; - - FACTORY_CLOSE_BUILD; + signal SIG_ACTIVATE; + set-signal-mask SIG_ACTIVATE; + sleep 5000; + set-signal-mask 0; + start-script RequestState(1); + return (0); } StartBuilding() { show emitr; show emitl; + return (0); } StopBuilding() { hide emitr; hide emitl; + return (0); } -QueryBuildInfo(pieceIndex) +QueryBuildInfo(piecenum) { - pieceIndex = base; + piecenum = base; return (0); } - +SweetSpot(piecenum) +{ + piecenum = base; + return (0); +} Killed(severity, corpsetype) { diff --git a/scripts/Units/armfhp.cob b/scripts/Units/armfhp.cob index d89d901b073bc0d02423cbb58a5adfd9950dcc5b..1013ef8f3ad1fb9add1db69bf650bb91c0ef609f 100644 GIT binary patch literal 5724 zcmb_gO=w(I6h29&lWM6vwG|YF5jRBy$Drayt!be~F^wIx*j2{NQ-@Aw(wS*(i%K>{ zcPi+@T}5yqE?fxis%`{95Ck`&3wOGTBB;B@?>p~)liTNe$&7T$>ACm(e)pVn-+OJv z%npL~f%fk)tAO*je8B8W&|WAX!2V(Isbo5ta%DBS51jj}=eN1lEYs(7m2bATsGFuQ zenoyWnd&;7{Dg^q(+pCdN@6UJg_vds+~4eGv&0e{$B371{W zgaBvQ8~I5$70x#s>1Lyt`ym%*E^VoL9sbuKB1Xk?o0448mF41jZMmAf33mOtAtCb7da$#i`> zVQ$)y)6TIZdlJ^}N|1qhuVOpKvwCLtJ(kL$nB0GcWb|QOY*2i&pffe#|}L@6y;;>=^NY5QGmMX-obnuLjrvGLlZnDyys7Z zcvCd|BkPSFt|s$AKAn?Sg4|<-dc-rx^WI7&YQdRm1p5|cuqOh|9!0j4;b;asrW@5F zsk$xAh?{=owAnrfYK6UGDo-BM=GNAh>P3v&GZy#c#QPH#++V_0xwxk~&#hkZS=gj9 z)bs1$KRaO@tIhcA@GQ)$`@v^9`zb6I?hnP|*fCCgH?&qBz>I2{VW5mN@J2WTx6DN@ zoLmaiNS9#=pT?U+t#dlw} z$9ps^HIwqAocD)ZI_@=3?iSr!eri9iQf;&!SI<6auIYOxG1tO73ojkYh+Xr^eGPl^b#Pn8yEvI0^|=O7 zUgzJRu%{7qKKt~tV>HaAXeK{AzIZjT^ zM_eEIuZLKCZYch4cAAe#&Y+&`7F)9tV-Z%y&^pGgS&`4A^${ldbFVyQIrH=Me`hAf zT9!*QBYfld+^Cr;$~jJb0u9>-rZR^(q+C(7A}BA;<`=4UU)T$b}j&)zsW^Rvfs zZGb)n&7g3{K&zmiL4Sg7K|$^Y-4A*MbP@C+=v&YapkF}0f;K^agRX)2f02hli=b1W z7N`$;3-mVVeb5J>k3gS*z5sm%`VRCXXan>c=r2&^4qyNs1lg_CJ>t=F~2YVUOVLbpA%NV?Fn6TOww$Gaz+ z=hA^4UrW0$HTx|)(&-ISUmfdNW7u1>1$Z`w$YLkbGiTF5*c|Dnls$ho?O#}Ic6&?h zbS1T?0wOy)f`cf{{&46`}Qx!<&tOs literal 4385 zcmbtXJ&0UY6h1RMnItOY#+X6^^6VAH1zX*XL0vSmvW0?$``md6gR}FN$%`Z+Xc2!3 zNoOhvDYP)9jg3VL!NSr)P$7jFEL0YfA}D12zVq%kd-pjr!MNeU}g_Hol&a2@*O z8INew;s*Lnn`1nWHXUqJ8>BYX#+^o+Zo`H-(1*uc?}lygo@G40NT*@JF>UWacWH0F zuSLBN8+KqPxhY5MbpmsDp2{w*^v z2TgRQdXrau*4gYSxFv7m);ax7i?3X54sM@^tj4Xr2)FqEi<@(n;-+8nnx(}fIGBQ4 z@~y)y$ESYl99H*?yPn$`H}`43#osgTQ1_d2lj4@&6$*N-U`yTbc!I%JyMFg{2e~q@ z!_eWqHry3l2hX+7Gw4&!dQi^&GWWfGu6q=5IE4&H8AZ0bE8`huonD;(&<$P}oH1|i zxl%_s3_9$muqcl-XX@&0`HhOn{Y_;aE7bWsi6FZ``fLwAPp<+Hi+O-Oa=rl})dx~Y!8DZs4S zFGI+D$z4QH6YZw{J)LlZ=O6@O}7`d)ztd^G81P zRuGNOsj7F>XB>S_W9^4n`s%-Ix$b#SwvxByy?X!ixjH^q%dGA%w#-Sg&b6H#${3$N zsZ4f0YYmy~yq`40Bs!j`XZBFUj*4P>{o6D{=HEs7$Xa{!?z~;+v-31%77oy!g#0CI z#r#<-kB>Z3y$7Sd%d!KIwgb=neZEq^WmUW*{H#%)>Rw{v=&kHhIs5&3v~_$9TZXw? zk3M41=wF!JZU$b-X5rnfJ2Yq3y_U_YyJkbNydGePy(ybEH?o^HH^-uc5>U+MAtMOgHn!XG3-VEJ$`AOfmiQfz{KctslTRw_9&IJpDC}J$)Df5Bp%;VV)OZF zd;H3(#jBgj2k5N?$l77f$gVxFIg-3#WMD6fc~zpNDgUIYyjc zMx69N59dYN0GDtou5ezCa^d_q^1>-zIAt%Kk_)He38(xEr{qnXtl8bLTxwtuKMRXu z3yXMRk-e};E-aGI!XkMS3)8#_dK7^^1Kj}K0Ubdi?|^;>-30vwY9ko`AO9-o6le^3 z7xV$>6VPSQ7oe{|-+;ac{Rp}ax&itFbPM!1sEt1;4uTGWj)IPXo*kBXb+W7m<;b2N zRL9T1Qsi6ZXr-TWb|T-*PZ#~Q&GOB{o*5T;RoKgCi}CrF@=>`uC^iaP-lzs|@%%)Q zYr9tEzCzt{6xJh`ZBD!;i8?X Y@= speed <509.978555> / animSpeed; turn lleg to x-axis <51.319873> speed <1547.548193> / animSpeed; turn lloarm to x-axis <-7.847358> speed <332.011073> / animSpeed; @@ -30,8 +32,8 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\PtaQ turn torso to x-axis <-3.172586> speed <95.177578> / animSpeed; sleep 131; } - while(isMoving) { - if (isMoving) { //Frame:9 + while(bMoving) { + if (bMoving) { //Frame:9 turn lfoot to x-axis <-55.425424> speed <447.881390> / animSpeed; turn lhand to x-axis <-17.772354> speed <176.032109> / animSpeed; turn lleg to x-axis <41.040657> speed <308.376484> / animSpeed; @@ -55,7 +57,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\PtaQ turn torso to x-axis <-1.490819> speed <50.453009> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:13 + if (bMoving) { //Frame:13 turn lfoot to x-axis <-43.868229> speed <346.715873> / animSpeed; turn lhand to x-axis <50.947453> speed <2061.594212> / animSpeed; turn lleg to x-axis <2.293790> speed <1162.406004> / animSpeed; @@ -64,7 +66,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\PtaQ turn lthigh to x-axis <38.376586> speed <686.902528> / animSpeed; turn lthigh to z-axis <5.501472> speed <85.581634> / animSpeed; turn luparm to x-axis <50.444632> speed <474.885090> / animSpeed; - turn pelvis to z-axis <-5.0> speed <74.999998> / animSpeed; + turn pelvis to z-axis <-5.000000> speed <74.999998> / animSpeed; turn rfoot to x-axis <-27.019617> speed <352.130403> / animSpeed; turn rhand to x-axis <40.893575> speed <188.698148> / animSpeed; turn rleg to x-axis <62.865143> speed <373.940973> / animSpeed; @@ -80,7 +82,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\PtaQ turn torso to x-axis <0.190948> speed <50.453006> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:17 + if (bMoving) { //Frame:17 turn lfoot to x-axis <-38.088680> speed <173.386469> / animSpeed; turn lhand to x-axis <67.793978> speed <505.395750> / animSpeed; turn lleg to x-axis <7.177674> speed <146.516529> / animSpeed; @@ -89,14 +91,14 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\PtaQ turn lthigh to x-axis <44.924528> speed <196.438255> / animSpeed; turn lthigh to z-axis <2.656377> speed <85.352851> / animSpeed; turn luparm to x-axis <37.627512> speed <384.513593> / animSpeed; - turn pelvis to z-axis <-2.500000> speed <75.0> / animSpeed; + turn pelvis to z-axis <-2.500000> speed <75.000004> / animSpeed; turn rfoot to x-axis <0.338432> speed <820.741462> / animSpeed; turn rhand to x-axis <26.140831> speed <442.582325> / animSpeed; turn rleg to x-axis <41.913476> speed <628.550003> / animSpeed; turn rloarm to x-axis <-25.299279> speed <378.420800> / animSpeed; turn rloarm to z-axis <2.751657> speed <65.150016> / animSpeed; - move rthigh to z-axis [0.0] speed [3.122542] / animSpeed; - move rthigh to y-axis [0.0] speed [40.593038] / animSpeed; + move rthigh to z-axis [0.000000] speed [3.122542] / animSpeed; + move rthigh to y-axis [0.000000] speed [40.593038] / animSpeed; turn rthigh to x-axis <-40.592504> speed <314.450093> / animSpeed; turn rthigh to z-axis <1.806943> speed <63.369661> / animSpeed; turn ruparm to x-axis <1.963109> speed <887.192024> / animSpeed; @@ -105,31 +107,31 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\PtaQ turn torso to x-axis <-1.490819> speed <50.453010> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:21 + if (bMoving) { //Frame:21 turn lfoot to x-axis <18.476638> speed <1696.959543> / animSpeed; turn lhand to x-axis <111.071976> speed <1298.339936> / animSpeed; turn lleg to x-axis <24.763254> speed <527.567389> / animSpeed; turn lloarm to x-axis <-30.336599> speed <637.087602> / animSpeed; - turn lloarm to z-axis <0.0> speed <68.947509> / animSpeed; + turn lloarm to z-axis <0.000004> speed <68.947509> / animSpeed; turn lthigh to x-axis <44.551213> speed <11.199427> / animSpeed; - turn lthigh to z-axis <0.0> speed <79.691318> / animSpeed; + turn lthigh to z-axis <0.000000> speed <79.691318> / animSpeed; turn luparm to x-axis <-22.240006> speed <1796.025546> / animSpeed; move pelvis to y-axis [-1.935278] speed [22.468185] / animSpeed; - turn pelvis to z-axis <0.0> speed <75.0> / animSpeed; + turn pelvis to z-axis <0.000000> speed <75.000004> / animSpeed; turn rfoot to x-axis <-40.519687> speed <1225.743574> / animSpeed; turn rhand to x-axis <-11.904617> speed <1141.363440> / animSpeed; turn rleg to x-axis <51.098182> speed <275.541169> / animSpeed; turn rloarm to x-axis <-7.847351> speed <523.557820> / animSpeed; - turn rloarm to z-axis <-0.0> speed <82.550025> / animSpeed; + turn rloarm to z-axis <-0.000011> speed <82.550025> / animSpeed; turn rthigh to x-axis <-8.556187> speed <961.089527> / animSpeed; - turn rthigh to z-axis <0.0> speed <54.208287> / animSpeed; + turn rthigh to z-axis <0.000001> speed <54.208287> / animSpeed; turn ruparm to x-axis <23.882332> speed <657.576697> / animSpeed; turn sleeve to x-axis <-11.600052> speed <106.480054> / animSpeed; turn sleeve to y-axis <0.476332> speed <4.345819> / animSpeed; turn torso to x-axis <-3.172586> speed <50.453006> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:25 + if (bMoving) { //Frame:25 move lfoot to z-axis [1.092890] speed [32.786690] / animSpeed; move lfoot to y-axis [1.821483] speed [54.644476] / animSpeed; turn lfoot to x-axis <-17.922510> speed <1091.974462> / animSpeed; @@ -156,7 +158,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\PtaQ turn torso to x-axis <0.190948> speed <100.906015> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:29 + if (bMoving) { //Frame:29 move lfoot to z-axis [-0.104085] speed [35.909232] / animSpeed; move lfoot to y-axis [1.353101] speed [14.051439] / animSpeed; turn lfoot to x-axis <7.066146> speed <749.659681> / animSpeed; @@ -172,7 +174,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\PtaQ turn lthigh to z-axis <-4.447339> speed <60.271359> / animSpeed; turn luparm to x-axis <-27.668272> speed <647.961793> / animSpeed; move pelvis to y-axis [-2.684218] speed [22.468185] / animSpeed; - turn pelvis to z-axis <5.0> speed <74.999985> / animSpeed; + turn pelvis to z-axis <5.000000> speed <74.999985> / animSpeed; turn rfoot to x-axis <-45.385777> speed <29.115560> / animSpeed; turn rhand to x-axis <49.760909> speed <1929.301832> / animSpeed; turn rleg to x-axis <6.570218> speed <786.714145> / animSpeed; @@ -185,18 +187,18 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\PtaQ turn sleeve to y-axis <0.186611> speed <8.691639> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:33 - move lfoot to z-axis [0.0] speed [3.122542] / animSpeed; - move lfoot to y-axis [0.0] speed [40.593038] / animSpeed; + if (bMoving) { //Frame:33 + move lfoot to z-axis [0.000000] speed [3.122542] / animSpeed; + move lfoot to y-axis [0.000000] speed [40.593038] / animSpeed; turn lfoot to x-axis <0.441607> speed <198.736165> / animSpeed; turn lhand to x-axis <26.392753> speed <419.944960> / animSpeed; - move lleg to z-axis [0.0] speed [3.122542] / animSpeed; - move lleg to y-axis [0.0] speed [40.593038] / animSpeed; + move lleg to z-axis [0.000000] speed [3.122542] / animSpeed; + move lleg to y-axis [0.000000] speed [40.593038] / animSpeed; turn lleg to x-axis <42.207472> speed <1242.046778> / animSpeed; turn lloarm to x-axis <-25.426511> speed <389.082657> / animSpeed; turn lloarm to z-axis <-2.746616> speed <65.721100> / animSpeed; - move lthigh to z-axis [0.0] speed [3.122542] / animSpeed; - move lthigh to y-axis [0.0] speed [40.593038] / animSpeed; + move lthigh to z-axis [0.000000] speed [3.122542] / animSpeed; + move lthigh to y-axis [0.000000] speed [40.593038] / animSpeed; turn lthigh to x-axis <-40.752880> speed <1057.343302> / animSpeed; turn lthigh to z-axis <-1.806381> speed <79.228758> / animSpeed; turn luparm to x-axis <2.016109> speed <890.531411> / animSpeed; @@ -215,25 +217,25 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\PtaQ turn torso to x-axis <-1.490819> speed <50.453010> / animSpeed; sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:37 + if (bMoving) { //Frame:37 turn lfoot to x-axis <-40.496045> speed <1228.129549> / animSpeed; turn lhand to x-axis <-11.904617> speed <1148.921078> / animSpeed; turn lleg to x-axis <51.319873> speed <273.372038> / animSpeed; turn lloarm to x-axis <-7.847358> speed <527.374598> / animSpeed; - turn lloarm to z-axis <0.0> speed <82.398847> / animSpeed; + turn lloarm to z-axis <0.000012> speed <82.398847> / animSpeed; turn lthigh to x-axis <-8.632269> speed <963.618345> / animSpeed; - turn lthigh to z-axis <-0.0> speed <54.191421> / animSpeed; + turn lthigh to z-axis <-0.000000> speed <54.191421> / animSpeed; turn luparm to x-axis <23.882334> speed <655.986744> / animSpeed; move pelvis to y-axis [-1.935278] speed [22.468185] / animSpeed; - turn pelvis to z-axis <-0.0> speed <74.999998> / animSpeed; + turn pelvis to z-axis <-0.000000> speed <74.999998> / animSpeed; turn rfoot to x-axis <19.931631> speed <885.443219> / animSpeed; - turn rfoot to z-axis <0.0> speed <72.959707> / animSpeed; + turn rfoot to z-axis <0.000001> speed <72.959707> / animSpeed; turn rhand to x-axis <111.071976> speed <1304.334451> / animSpeed; turn rleg to x-axis <30.067623> speed <2113.400924> / animSpeed; turn rloarm to x-axis <-30.336586> speed <635.290170> / animSpeed; - turn rloarm to z-axis <-0.0> speed <68.984855> / animSpeed; + turn rloarm to z-axis <-0.000004> speed <68.984855> / animSpeed; turn rthigh to x-axis <41.567104> speed <656.162272> / animSpeed; - turn rthigh to z-axis <0.0> speed <99.735834> / animSpeed; + turn rthigh to z-axis <0.000015> speed <99.735834> / animSpeed; turn ruparm to x-axis <-22.240009> speed <1796.332700> / animSpeed; turn sleeve to x-axis <-11.600052> speed <106.480054> / animSpeed; turn sleeve to y-axis <0.476332> speed <4.345819> / animSpeed; @@ -242,40 +244,40 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\PtaQ } } } -// Call this from StopMoving()! +// Call this from MotionControl()! StopWalking() { - move lfoot to y-axis [0.0] speed [13.661119]; - move lfoot to z-axis [0.0] speed [8.977308]; - move lleg to y-axis [0.0] speed [13.661119]; - move lleg to z-axis [0.0] speed [8.977308]; - move lthigh to y-axis [0.0] speed [13.661119]; - move lthigh to z-axis [0.0] speed [8.977308]; + move lfoot to y-axis [0.000000] speed [13.661119]; + move lfoot to z-axis [0.000000] speed [8.977308]; + move lleg to y-axis [0.000000] speed [13.661119]; + move lleg to z-axis [0.000000] speed [8.977308]; + move lthigh to y-axis [0.000000] speed [13.661119]; + move lthigh to z-axis [0.000000] speed [8.977308]; move pelvis to y-axis [-1.935278] speed [5.617046]; move pelvis to z-axis [1.539426] speed [-1.282855]; - move rthigh to y-axis [0.0] speed [13.661119]; - move rthigh to z-axis [0.0] speed [8.977308]; + move rthigh to y-axis [0.000000] speed [13.661119]; + move rthigh to z-axis [0.000000] speed [8.977308]; turn lfoot to x-axis <-40.477439> speed <424.239886>; turn lhand to x-axis <5.094668> speed <565.246879>; turn lleg to x-axis <-0.265067> speed <386.887048>; turn lloarm to x-axis <-18.914394> speed <347.129718>; - turn lloarm to z-axis <0.0> speed <36.885144>; + turn lloarm to z-axis <0.000000> speed <36.885144>; turn lthigh to x-axis <41.705589> speed <377.533936>; - turn lthigh to z-axis <0.0> speed <21.395409>; + turn lthigh to z-axis <0.000000> speed <21.395409>; turn luparm to x-axis <12.855118> speed <449.006386>; - turn pelvis to z-axis <0.0> speed <18.750001>; + turn pelvis to z-axis <0.000000> speed <18.750001>; turn rfoot to x-axis <-41.208143> speed <458.548306>; - turn rfoot to z-axis <0.0> speed <18.239942>; + turn rfoot to z-axis <0.000000> speed <18.239942>; turn rhand to x-axis <5.094668> speed <794.829808>; turn rleg to x-axis <-3.483926> speed <528.350231>; turn rloarm to x-axis <-18.914394> speed <339.100681>; - turn rloarm to z-axis <0.0> speed <37.450493>; + turn rloarm to z-axis <0.000000> speed <37.450493>; turn rthigh to x-axis <45.731275> speed <275.001678>; - turn rthigh to z-axis <0.0> speed <24.933959>; + turn rthigh to z-axis <0.000000> speed <24.933959>; turn ruparm to x-axis <12.855118> speed <449.083175>; turn sleeve to x-axis <-11.600052> speed <53.240033>; turn sleeve to y-axis <0.476332> speed <2.172910>; turn sleeve to z-axis <-0.114163> speed <-0.095136>; - turn torso to x-axis <0.0> speed <25.226504>; + turn torso to x-axis <0.000000> speed <25.226504>; } // REMEMBER TO animspeed = 4 in Create() !! UnitSpeed(){ @@ -298,7 +300,7 @@ UnitSpeed(){ Activate() { // signal kills any current aim animations - signal SIGNAL_AIM1; + signal SIG_AIM; // variable setting weapon state weaponToggleState = 1; // set last heading values to large negative, ensure first aim waits for the turn @@ -309,7 +311,7 @@ Activate() Deactivate() { // signal kills any current aim animations - signal SIGNAL_AIM1; + signal SIG_AIM; // variable setting weapon state weaponToggleState = 0; // set last heading values to large negative, ensure first aim waits for the turn @@ -324,9 +326,9 @@ ExecuteRestoreAfterDelay() return (1); } // allow this to be signal killed by a AimWeapon call - set-signal-mask SIGNAL_AIM1; - turn aimy1 to y-axis <0.0> speed <90.0>; - turn aimx1 to x-axis <0.0> speed <50.0>; + set-signal-mask SIG_AIM; + turn aimy1 to y-axis <0.000000> speed <90.000000>; + turn aimx1 to x-axis <0.000000> speed <50.000000>; // set last heading values to large negative, ensure first aim waits for the turn last_primary_heading = -1000000; last_primary_pitch = -1000000; @@ -336,7 +338,7 @@ ExecuteRestoreAfterDelay() // For C:\Users\ptasz\Documents\GitHub\support\Animation_sources\idle_anims\armfido_anim_idle.blend Created by https://github.com/Beherith/Skeletor_S3O V((0, 3, 9)) static-var bAnimate; Animate() { - set-signal-mask (SIGNAL_AIM1 | SIGNAL_MOVE); + set-signal-mask (SIG_AIM | SIG_WALK); if (RAND(1,100) > 20) return; // reduce probs to only 20% sleep 10000 + 100*RAND(1,200); // 10-30 secs //sleep 5000; @@ -508,7 +510,7 @@ Animate() { turn sleeve to x-axis <-14.441836> speed <5.577686> ; turn sleeve to z-axis <1.868112> speed <4.368262> ; turn sleeve to y-axis <-51.927083> speed <389.453152> ; - turn torso to x-axis <-49.769673> speed <51.0> ; + turn torso to x-axis <-49.769673> speed <51.000818> ; turn torso to y-axis <-7.669572> speed <22.750139> ; sleep 32; } @@ -531,7 +533,7 @@ Animate() { turn sleeve to x-axis <-14.638550> speed <5.901437> ; turn sleeve to z-axis <1.712810> speed <4.659068> ; turn sleeve to y-axis <-38.577923> speed <400.474823> ; - turn torso to x-axis <-48.069649> speed <51.0> ; + turn torso to x-axis <-48.069649> speed <51.000715> ; turn torso to y-axis <-6.911234> speed <22.750126> ; sleep 32; } @@ -553,7 +555,7 @@ Animate() { turn sleeve to x-axis <-14.835266> speed <5.901488> ; turn sleeve to z-axis <1.128949> speed <17.515843> ; turn sleeve to y-axis <-25.228762> speed <400.474823> ; - turn torso to x-axis <-46.369622> speed <51.0> ; + turn torso to x-axis <-46.369622> speed <51.000818> ; turn torso to y-axis <-6.152897> speed <22.750126> ; sleep 32; } @@ -772,7 +774,7 @@ Animate() { turn sleeve to x-axis <-15.228697> speed <5.901471> ; turn sleeve to z-axis <-0.038774> speed <17.515841> ; turn sleeve to y-axis <1.469561> speed <400.474837> ; - turn torso to x-axis <-46.369622> speed <51.0> ; + turn torso to x-axis <-46.369622> speed <51.000783> ; turn torso to y-axis <-6.152897> speed <22.750131> ; sleep 98; } @@ -971,7 +973,7 @@ Animate() { turn sleeve to x-axis <-15.228697> speed <5.901463> ; turn sleeve to z-axis <-0.038774> speed <17.515840> ; turn sleeve to y-axis <1.469561> speed <400.474844> ; - turn torso to x-axis <-48.069649> speed <51.0> ; + turn torso to x-axis <-48.069649> speed <51.000766> ; turn torso to y-axis <-6.911234> speed <22.750133> ; sleep 65; } @@ -992,7 +994,7 @@ Animate() { turn sleeve to x-axis <-15.619794> speed <11.732899> ; turn sleeve to z-axis <-0.204949> speed <4.985258> ; turn sleeve to y-axis <12.372243> speed <327.080463> ; - turn torso to x-axis <-46.369622> speed <51.0> ; + turn torso to x-axis <-46.369622> speed <51.000818> ; turn torso to y-axis <-6.152897> speed <22.750126> ; sleep 32; } @@ -1169,7 +1171,7 @@ Animate() { turn lthigh to x-axis <-26.204407> speed <53.702499> ; turn luparm to x-axis <10.991604> speed <10.011486> ; turn rfoot to x-axis <-73.801198> speed <6.255565> ; - turn rhand to x-axis <6.0> speed <17.495384> ; + turn rhand to x-axis <6.000729> speed <17.495384> ; turn rleg to x-axis <97.953082> speed <57.757377> ; turn rleg to z-axis <2.703999> speed <5.888727> ; turn rleg to y-axis <-2.730982> speed <5.729777> ; @@ -1281,64 +1283,64 @@ Animate() { sleep 32; } if (bAnimate) { //Frame:107 - turn lfoot to x-axis <-0.0> speed <2.421962> ; - turn lfoot to x-axis <-0.0> speed <111.014578> ; - turn lhand to x-axis <-0.0> speed <0.702668> ; + turn lfoot to x-axis <-0.000000> speed <2.421962> ; + turn lfoot to x-axis <-0.000000> speed <111.014578> ; + turn lhand to x-axis <-0.000000> speed <0.702668> ; turn lhand to x-axis <2.750461> speed <1.333552> ; - turn lhand to z-axis <0.0> speed <1.268135> ; - turn lhand to y-axis <-0.0> speed <0.329031> ; - turn lleg to x-axis <-0.0> speed <3.142504> ; - turn lleg to x-axis <-0.0> speed <144.041748> ; - turn lleg to z-axis <0.0> speed <4.350432> ; - turn lleg to y-axis <-0.0> speed <4.382963> ; + turn lhand to z-axis <0.000006> speed <1.268135> ; + turn lhand to y-axis <-0.000305> speed <0.329031> ; + turn lleg to x-axis <-0.000000> speed <3.142504> ; + turn lleg to x-axis <-0.000000> speed <144.041748> ; + turn lleg to z-axis <0.000000> speed <4.350432> ; + turn lleg to y-axis <-0.000000> speed <4.382963> ; turn lloarm to x-axis <3.246399> speed <33.549067> ; turn lloarm to z-axis <0.534460> speed <5.235080> ; turn lloarm to y-axis <-0.644144> speed <4.548338> ; - turn loturret to x-axis <-0.0> speed <0.521169> ; - turn loturret to z-axis <-0.0> speed <1.547487> ; - turn loturret to y-axis <0.0> speed <2.235657> ; - turn loturret to x-axis <-0.0> speed <29.860773> ; - turn loturret to z-axis <-0.0> speed <88.664472> ; - turn loturret to y-axis <0.0> speed <128.093684> ; //WARNING: possible gimbal lock issue detected in frame 107 bone loturret + turn loturret to x-axis <-0.000000> speed <0.521169> ; + turn loturret to z-axis <-0.000000> speed <1.547487> ; + turn loturret to y-axis <0.000000> speed <2.235657> ; + turn loturret to x-axis <-0.000000> speed <29.860773> ; + turn loturret to z-axis <-0.000000> speed <88.664472> ; + turn loturret to y-axis <0.000000> speed <128.093684> ; //WARNING: possible gimbal lock issue detected in frame 107 bone loturret - turn lthigh to x-axis <-0.0> speed <0.798957> ; - turn lthigh to x-axis <-0.0> speed <36.621479> ; - turn luparm to x-axis <-0.0> speed <1.882792> ; - turn luparm to y-axis <-0.0> speed <0.445857> ; + turn lthigh to x-axis <-0.000000> speed <0.798957> ; + turn lthigh to x-axis <-0.000000> speed <36.621479> ; + turn luparm to x-axis <-0.000000> speed <1.882792> ; + turn luparm to y-axis <-0.000000> speed <0.445857> ; turn luparm to x-axis <-1.614276> speed <19.934460> ; turn luparm to z-axis <2.832718> speed <0.878438> ; turn luparm to y-axis <-1.196330> speed <3.775177> ; - move pelvis to x-axis [0.0] speed [0.315842] ; - move pelvis to z-axis [0.0] speed [2.571123] ; - move pelvis to y-axis [0.0] speed [14.941467] ; - turn rfoot to x-axis <-0.0> speed <2.421962> ; - turn rfoot to x-axis <-0.0> speed <111.014578> ; + move pelvis to x-axis [0.000000] speed [0.315842] ; + move pelvis to z-axis [0.000000] speed [2.571123] ; + move pelvis to y-axis [0.000000] speed [14.941467] ; + turn rfoot to x-axis <-0.000000> speed <2.421962> ; + turn rfoot to x-axis <-0.000000> speed <111.014578> ; turn rhand to x-axis <-2.628002> speed <11.122494> ; - turn rleg to x-axis <-0.0> speed <3.142504> ; - turn rleg to x-axis <-0.0> speed <144.041748> ; - turn rleg to z-axis <0.0> speed <4.350432> ; - turn rleg to y-axis <-0.0> speed <4.382963> ; + turn rleg to x-axis <-0.000000> speed <3.142504> ; + turn rleg to x-axis <-0.000000> speed <144.041748> ; + turn rleg to z-axis <0.000000> speed <4.350432> ; + turn rleg to y-axis <-0.000000> speed <4.382963> ; turn rloarm to x-axis <-3.202655> speed <26.659298> ; turn rloarm to z-axis <0.552103> speed <1.703809> ; turn rloarm to y-axis <-0.686291> speed <1.640929> ; - turn rthigh to x-axis <-0.0> speed <0.798957> ; - turn rthigh to x-axis <-0.0> speed <36.621479> ; + turn rthigh to x-axis <-0.000000> speed <0.798957> ; + turn rthigh to x-axis <-0.000000> speed <36.621479> ; turn ruparm to x-axis <1.318150> speed <19.966729> ; turn ruparm to z-axis <2.837641> speed <4.568292> ; turn ruparm to y-axis <-1.266448> speed <2.804473> ; - turn sleeve to x-axis <-0.0> speed <0.498358> ; - turn sleeve to x-axis <-0.0> speed <28.553808> ; - turn sleeve to y-axis <0.0> speed <2.755427> ; - turn torso to x-axis <-0.0> speed <1.517442> ; - turn torso to y-axis <-0.0> speed <0.201353> ; - turn torso to x-axis <-0.0> speed <43.471520> ; - turn torso to y-axis <-0.0> speed <5.768340> ; - turn turret to x-axis <-0.0> speed <0.487722> ; - turn turret to z-axis <-0.0> speed <0.874269> ; - turn turret to y-axis <0.0> speed <2.862777> ; - turn turret to x-axis <-0.0> speed <27.944402> ; - turn turret to z-axis <-0.0> speed <50.091936> ; - turn turret to y-axis <0.0> speed <164.025021> ; //WARNING: possible gimbal lock issue detected in frame 107 bone turret + turn sleeve to x-axis <-0.000000> speed <0.498358> ; + turn sleeve to x-axis <-0.000000> speed <28.553808> ; + turn sleeve to y-axis <0.000000> speed <2.755427> ; + turn torso to x-axis <-0.000000> speed <1.517442> ; + turn torso to y-axis <-0.000000> speed <0.201353> ; + turn torso to x-axis <-0.000000> speed <43.471520> ; + turn torso to y-axis <-0.000000> speed <5.768340> ; + turn turret to x-axis <-0.000000> speed <0.487722> ; + turn turret to z-axis <-0.000000> speed <0.874269> ; + turn turret to y-axis <0.000000> speed <2.862777> ; + turn turret to x-axis <-0.000000> speed <27.944402> ; + turn turret to z-axis <-0.000000> speed <50.091936> ; + turn turret to y-axis <0.000000> speed <164.025021> ; //WARNING: possible gimbal lock issue detected in frame 107 bone turret sleep 527; } @@ -1396,18 +1398,18 @@ StopAnimation() { bAnimate = FALSE; } -StartMoving(reversing){ - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; - isMoving=TRUE; +StartMoving(){ + signal SIG_WALK; + set-signal-mask SIG_WALK; + bMoving=TRUE; start-script UnitSpeed(); call-script StopAnimation(); start-script Walk(); } StopMoving(){ - signal SIGNAL_MOVE; - isMoving=FALSE; + signal SIG_WALK; + bMoving=FALSE; call-script StopWalking(); start-script Animate(); } @@ -1419,13 +1421,14 @@ StopMoving(){ #define UNITSIZE 4 #define MAXTILT 100 -#include "../unit_hitbyweaponid_and_smoke.h" +#include "unit_hitbyweaponid_and_smoke.h" Create() { hide aimx1; hide aimy1; hide flare; + dont-cache flare; bAnimate = FALSE; move pelvis to y-axis 4000 speed <500>; restore_delay = 30; @@ -1451,34 +1454,37 @@ SetStunned(State) } RestoreAfterDelay() { - set-signal-mask SIGNAL_AIM1; + set-signal-mask SIG_AIM; sleep restore_delay; start-script ExecuteRestoreAfterDelay(); } -SetMaxReloadTime(reloadMS) +SetMaxReloadTime(Func_Var_1) { - restore_delay = reloadMS * 2; + restore_delay = Func_Var_1 * 2; } +SweetSpot(piecenum) +{ + piecenum = barrel; +} - -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { // if current weapon is the secondary plasma, return 0, False if( weaponToggleState == 1 ) { return(0); } - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; // values in <> are degrees per second // otherwise angles are in COB angular unit (cau) - There are 65536 cau in a circle // In general, 6 cau per frame ~= 1 degree per second - turn aimy1 to y-axis heading speed <150.0>; - turn aimx1 to x-axis <0.0> - pitch speed <50.0>; + turn aimy1 to y-axis heading speed <150.000000>; + turn aimx1 to x-axis <0.000000> - pitch speed <50.000000>; if ( (get ABS(last_primary_heading - heading)>900) OR (get ABS(last_primary_pitch - pitch)>300) ) { // seems to take 3 frames for wait-for-turn to process @@ -1498,17 +1504,17 @@ AimWeapon1(heading, pitch) return (1); } -AimWeapon2(heading, pitch) +AimSecondary(heading, pitch) { // if current weapon is the primary gauss, return 0, False if( weaponToggleState == 0 ) { return(0); } - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; - turn aimy1 to y-axis heading speed <150.0>; - turn aimx1 to x-axis <0.0> - pitch speed <50.0>; + signal SIG_AIM; + set-signal-mask SIG_AIM; + turn aimy1 to y-axis heading speed <150.000000>; + turn aimx1 to x-axis <0.000000> - pitch speed <50.000000>; if ( (get ABS(last_primary_heading - heading)>900) OR (get ABS(last_primary_pitch - pitch)>300) ) { // seems to take 3 frames for wait-for-turn to process @@ -1528,46 +1534,46 @@ AimWeapon2(heading, pitch) return (1); } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = loturret; + piecenum = loturret; } -AimFromWeapon2(pieceIndex) +AimFromSecondary(piecenum) { - pieceIndex = loturret; + piecenum = loturret; } -FireWeapon1() +FirePrimary() { emit-sfx 1024 + 0 from flare; move barrel to z-axis [-3.0] now; sleep 150; - move barrel to z-axis [0.0] speed [3.0]; + move barrel to z-axis [0.000000] speed [3.00000]; } -FireWeapon2() +FireSecondary() { emit-sfx 1024 + 1 from flare; move barrel to z-axis [-3.0] now; sleep 150; - move barrel to z-axis [0.0] speed [3.0]; + move barrel to z-axis [0.000000] speed [3.00000]; } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = flare; + piecenum = flare; } -QueryWeapon2(pieceIndex) +QuerySecondary(piecenum) { - pieceIndex = flare; + piecenum = flare; } // For C:\Users\ptasz\Documents\GitHub\support\Animation_sources\death_anims\armfido_anim_death.blend Created by https://github.com/Beherith/Skeletor_S3O V((0, 3, 9)) //use call-script DeathAnim(); from Killed() DeathAnim() {// For C:\Users\ptasz\Documents\GitHub\support\Animation_sources\death_anims\armfido_anim_death.blend Created by https://github.com/Beherith/Skeletor_S3O V((0, 3, 9)) - signal SIGNAL_MOVE; - signal SIGNAL_AIM1; + signal SIG_WALK; + signal SIG_AIM; call-script StopWalking(); turn aimy1 to y-axis <0> speed <120>; turn aimx1 to x-axis <0> speed <120>; @@ -1820,7 +1826,7 @@ DeathAnim() {// For C:\Users\ptasz\Documents\GitHub\support\Animation_sources\de turn rfoot to y-axis <8.889463> speed <50.415774> ; turn rhand to x-axis <29.875333> speed <89.646489> ; turn rhand to z-axis <-4.724594> speed <19.496007> ; - turn rhand to y-axis <9.0> speed <36.034885> ; + turn rhand to y-axis <9.000003> speed <36.034885> ; turn rleg to x-axis <1.402387> speed <2.086315> ; turn rleg to z-axis <0.723604> speed <6.732265> ; turn rleg to y-axis <-0.826514> speed <7.036849> ; @@ -1851,7 +1857,7 @@ DeathAnim() {// For C:\Users\ptasz\Documents\GitHub\support\Animation_sources\de turn lloarm to x-axis <-0.948690> speed <92.699110> ; turn lloarm to z-axis <1.011086> speed <3.463332> ; turn lthigh to z-axis <2.723235> speed <66.992878> ; - turn lthigh to y-axis <3.033935> speed <67.0> ; + turn lthigh to y-axis <3.033935> speed <67.000390> ; turn lthigh to x-axis <-99.270386> speed <13.588525> ; turn lthigh to z-axis <-23.970144> speed <1279.470019> ; turn lthigh to y-axis <-6.168354> speed <1279.612992> ; @@ -2536,7 +2542,17 @@ Killed(severity, corpsetype) explode flare type FALL | BITMAP1 | NOHEATCLOUD; explode barrel type FIRE | SMOKE | FALL | BITMAP2 | NOHEATCLOUD; explode lfoot type FALL | BITMAP4 | NOHEATCLOUD; + //explode lhand type FALL | BITMAP5 | NOHEATCLOUD; explode lleg type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP1 | NOHEATCLOUD; + //explode lloarm type FALL | BITMAP2 | NOHEATCLOUD; + //explode lthigh type FALL | BITMAP3 | NOHEATCLOUD; + //explode luparm type FALL | BITMAP4 | NOHEATCLOUD; + //explode rfoot type FALL | BITMAP1 | NOHEATCLOUD; + //explode rhand type FALL | BITMAP2 | NOHEATCLOUD; + //explode rleg type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP3 | NOHEATCLOUD; + //explode rloarm type FALL | BITMAP4 | NOHEATCLOUD; + //explode rthigh type FALL | BITMAP5 | NOHEATCLOUD; + //explode ruparm type FALL | BITMAP1 | NOHEATCLOUD; return (corpsetype); } if( severity <= 99 ) @@ -2546,6 +2562,16 @@ Killed(severity, corpsetype) explode barrel type FIRE | SMOKE | FALL | BITMAP2 | NOHEATCLOUD; explode lfoot type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP4 | NOHEATCLOUD; explode lhand type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP5 | NOHEATCLOUD; + //explode lleg type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP1 | NOHEATCLOUD; + //explode lloarm type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP2 | NOHEATCLOUD; + //explode lthigh type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP3 | NOHEATCLOUD; + //explode luparm type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP4 | NOHEATCLOUD; + //explode rfoot type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP1 | NOHEATCLOUD; + //explode rhand type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP2 | NOHEATCLOUD; + //explode rleg type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP3 | NOHEATCLOUD; + //explode rloarm type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP4 | NOHEATCLOUD; + //explode rthigh type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP5 | NOHEATCLOUD; + //explode ruparm type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP1 | NOHEATCLOUD; return (corpsetype); } corpsetype = 3; @@ -2555,5 +2581,13 @@ Killed(severity, corpsetype) explode lhand type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP5 | NOHEATCLOUD; explode lleg type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP1 | NOHEATCLOUD; explode lloarm type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP2 | NOHEATCLOUD; + //explode lthigh type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP3 | NOHEATCLOUD; + //explode luparm type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP4 | NOHEATCLOUD; + //explode rfoot type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP1 | NOHEATCLOUD; + //explode rhand type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP2 | NOHEATCLOUD; + //explode rleg type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP3 | NOHEATCLOUD; + //explode rloarm type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP4 | NOHEATCLOUD; + //explode rthigh type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP5 | NOHEATCLOUD; + //explode ruparm type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP1 | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/armfig.bos b/scripts/Units/armfig.bos index 84424359ac7..a55fb59a666 100644 --- a/scripts/Units/armfig.bos +++ b/scripts/Units/armfig.bos @@ -1,8 +1,26 @@ -#include "../recoil_common_includes.h" +#define TA // This is a TA script -piece flare1, flare2, base, thrust, wing1, wing2; +#include "sfxtype.h" +#include "exptype.h" -static-var gun_1; +piece flare1, flare2, base, thrust, wing1, wing2; + +static-var Static_Var_1, gun_1, statechg_DesiredState, statechg_StateChanging; + + +activatescr() +{ + show thrust; + sleep 66; + return (0); +} + +deactivatescr() +{ + hide thrust; + sleep 66; + return (0); +} #define BASEPIECE base #define HITSPEED <105.0> @@ -10,59 +28,125 @@ static-var gun_1; #define UNITSIZE 1 #define MAXTILT 100 -#define BARRELROLLSPEEED <200> -#include "air_barrelroll.h" +InitState() +{ + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; + return (0); +} + +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + call-script activatescr(); + currentstate = 0; + } + if( statechg_DesiredState == 1 ) + { + call-script deactivatescr(); + currentstate = 1; + } + } + statechg_StateChanging = FALSE; + return (0); +} + +static-var maxSpeed, currentSpeed; +BarrelRoll() // remember to start-script BarrelRoll(); in Create()! +{ + currentSpeed = (get CURRENT_SPEED); + maxSpeed = (get MAX_SPEED); + + while (TRUE){ + sleep 2000; + currentSpeed = (get CURRENT_SPEED); + //get PRINT(maxSpeed, currentSpeed, Static_Var_1); + if( Rand( 1, 5 ) == 1 AND (maxSpeed < (currentSpeed+100) ) ) + { + turn base to z-axis <240.054945> speed <120.027473>; + wait-for-turn base around z-axis; + turn base to z-axis <120.027473> speed <180.043956>; + wait-for-turn base around z-axis; + turn base to z-axis <0.000000> speed <120.027473>; + } + } +} Create() { hide flare2; hide flare1; hide thrust; + Static_Var_1 = 0; gun_1 = flare1; + call-script InitState(); start-script BarrelRoll(); + return (0); } Activate() { - show thrust; + start-script RequestState(0); + return (0); } Deactivate() { - hide thrust; + start-script RequestState(1); + return (0); } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { return (1); } -FireWeapon1() +FirePrimary() { gun_1 = !gun_1; + return (0); } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = gun_1; + piecenum = gun_1; + return (0); } -AimWeapon2(heading, pitch) +AimSecondary(heading, pitch) { + return (1); } -FireWeapon2() +FireSecondary() { gun_1 = !gun_1; + return (0); } -QueryWeapon2(pieceIndex) +QuerySecondary(piecenum) { - pieceIndex = flare1 + gun_1; + piecenum = gun_1; + return (0); } - +SweetSpot(piecenum) +{ + piecenum = base; + return (0); +} Killed(severity, corpsetype) { diff --git a/scripts/Units/armfig.cob b/scripts/Units/armfig.cob index d25eabb41a4bc4e42c05f89770fece5bcdb4463c..b37be32651808a53e167c41db133c32bb369c5fa 100644 GIT binary patch literal 2420 zcmds3ziU%b6h2AQSKTf+i3o4(Akqd`p^c)Hg2aX(fdT9zlkd-P>`;U{ zI*T~!)r!7)QZK-Oipz6!B#$_lMD@0tN1|RCA6PQI1 zc)EO(G3Zl{Papa+PZjZ*chdJ*4?F6mGmjnua~rJcv_@$bx;5H`=+%EzuQ|$oE~fXp z<^7xtyw<9IvJ#j}UQW|#GojCUD#MzgejY4k>m^yu%Zh#i^VFXY7r^-YnihlhjK!FO zscU`gn>{fuspjlCyE!8UbJ;Ftvkw{l+U#r*9ZJaxd-LG>y-Jv za~Lp&&h3BhyIbn}rSF^b)!(yOv(&e*^k2Ad_VPQug_r|*~P`QO-O zmdHC`J?DT9Z~(jlUIT}~JKzKG3HS_r1&)9!?w$V&_JQZX3*Zg#7I+VQ1ik=AKyX^* z3=jerfy=;k;0DkJ?f?<63G~T#v-nYz*YG39S>;^NPn)qU1F_~EqG1$dcOKs`Zq3ziR8;EQ^nMMW; zCStOitfAlF2lyd|o>N_=H3N#Eu#Lz2sB<56Z!w{WOaOIYrXqqr^ZgA)?tt-{$Om{D zkkSYgQBi?fA*&Ippa~y7`b_LbUA3)!I|ij$G5l$gET25br`+b53Jq_PdZPw!nU~V> zOI}rpswwFKsI?3_b97cqSzIw*Q~*Kn?4}CE_Hlpw#2@A546rWV$a;+HB|a|5B5b#yMPomW_C&Y+}e1SL+5;& zKHtr|uzU*t+|;r4I5)qqh-BN>osBbZsri5V+Vc7eZ~@+j_k3wy1IA!}?>(>A)GkJ9 zpIQ5@yJDJ;z&h{+;9T~A9`FPB1^fnhcm8J00ue9=w1F=08Q2H speed <25.0>; - turn yturret2 to x-axis <-30> speed <25.0>; + turn yturret1 to x-axis <-30> speed <25.00000>; + turn yturret2 to x-axis <-30> speed <25.00000>; spin xturret around y-axis speed <25.0>; } SetStunned(State) @@ -44,89 +44,95 @@ Create() hide flare3; hide flare4; gun_1 = 1; - SLEEP_UNTIL_UNITFINISHED; + while( get BUILD_PERCENT_LEFT ) + { + sleep 400; + } start-script ExecuteRestoreAfterDelay(); } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; - turn xturret to y-axis heading speed <1200.0>; - turn yturret1 to x-axis <0.0> - pitch speed <950.0>; - turn yturret2 to x-axis <0.0> - pitch speed <950.0>; + signal SIG_AIM; + set-signal-mask SIG_AIM; + turn xturret to y-axis heading speed <1200.000000>; + turn yturret1 to x-axis <0.000000> - pitch speed <950.000000>; + turn yturret2 to x-axis <0.000000> - pitch speed <950.000000>; wait-for-turn xturret around y-axis; wait-for-turn yturret1 around x-axis; start-script RestoreAfterDelay(); return (1); } -FireWeapon1() +FirePrimary() { if( gun_1 == 1 ) { emit-sfx 1024 + 0 from flare1; - move barrel1 to z-axis [-10.0] now; + move barrel1 to z-axis [-10.000000] now; sleep 100; - move barrel1 to z-axis [0.0] speed [37.500000]; + move barrel1 to z-axis [0.000000] speed [37.500000]; gun_1 = 2; return (0); } if( gun_1 == 2 ) { emit-sfx 1024 + 0 from flare2; - move barrel2 to z-axis [-10.0] now; + move barrel2 to z-axis [-10.000000] now; sleep 100; - move barrel2 to z-axis [0.0] speed [37.500000]; + move barrel2 to z-axis [0.000000] speed [37.500000]; gun_1 = 3; return (0); } if( gun_1 == 3 ) { emit-sfx 1024 + 0 from flare3; - move barrel3 to z-axis [-10.0] now; + move barrel3 to z-axis [-10.000000] now; sleep 100; - move barrel3 to z-axis [0.0] speed [37.500000]; + move barrel3 to z-axis [0.000000] speed [37.500000]; gun_1 = 4; return (0); } if( gun_1 == 4 ) { emit-sfx 1024 + 0 from flare4; - move barrel4 to z-axis [-10.0] now; + move barrel4 to z-axis [-10.000000] now; sleep 100; - move barrel4 to z-axis [0.0] speed [37.500000]; + move barrel4 to z-axis [0.000000] speed [37.500000]; gun_1 = 1; return (0); } } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { if( gun_1 == 1 ) { - pieceIndex = flare1; + piecenum = flare1; } if( gun_1 == 2 ) { - pieceIndex = flare2; + piecenum = flare2; } if( gun_1 == 3 ) { - pieceIndex = flare3; + piecenum = flare3; } if( gun_1 == 4 ) { - pieceIndex = flare4; + piecenum = flare4; } } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = Xturret; + piecenum = Xturret; } - +SweetSpot(piecenum) +{ + piecenum = base; +} Killed(severity, corpsetype) { diff --git a/scripts/Units/armflak.cob b/scripts/Units/armflak.cob index ac131e02c2b1378dd6d17f73981d03255fff404f..13438849a8a37e0fcae5fb2f4f4ac7300355c3a3 100644 GIT binary patch literal 4502 zcmb_gO=}cE5Up%J{6t3dBDu^(LGiGOx#=Os43&u9s`|}D9TJh9-hK^=;E(;; z8;P8RrLe=;c?B~W#{rMyUS7R%##aX;sk;1{*Yb$KQET{o$9%p40>6vvWpX5% z^!t^Lea(ks%afdUbB+Gl;|!MBK3H*cjO*i~$MH=2muSTGpOd44J?1z5jB%V3YkdL% z`n7NC>k><}ooD#TJKN!oHaIFqsuB$|#>ZJ0^7GDhX5>j8c8UZ%bGaLnhiVmZivTe?xOg_E;GBK))GBK)` zJl?98yt5*`TxG*vFVg_BcZ;t&eT6irb+ivY>wDSuYrc!Boo+bQi}uL5Xg2j>f5HzHYNtt(A%C)L>biX|1d-LRwJGm5C|R zU#L!z=0Y*5vpjCS%wF}^Z~Xt#Wxw_Rw_dY)=w*JL+ASO3sbkLb6znqWF6<%f3G4&x zD~x}4eGYpAdk^FP4ZMYYgnfp6fqjSlgjMhlwOz1L*df>i>?mvsb_O;Jy8yccTZA=W zDeMmH9_%4(ZmD_Q%rDndnXac(tqZ2M(p;8Px6Ren)SNdr(`I6hUrSAL(llx?uc^}a;0|D$nA7BNlc0dxW<_GQhm`3>Y~LGJ(n literal 3657 zcma)9O=whC6h4_5$7-!U+l3Sg4uS|(?93>n%Z#;ZDMH#%x+{*(wZu*mdA?|}%OZk{ zB3-qMmJ;Yz!Imz%t1Cg=c2W0*N*5C7&q9RwefQpPa`T*-bjab{bI*6qJ>R+Ky_wX^ zY)_QKRWtng&wXsJLmID{9mCEvv^6SODic{H+fQ_(mf3}R#ys5Xac{bwab4pYey%%Q zH+OjKAuMayn}DW|E}P!;agV-QGib}|S;d3QD)6yRYGSCp3mDq;FCp|oNGoCo|W$Y@J)Hk7-gLIX%tgRXDNLWC(#ikg>le2o?fs<$Io`%)U8lDgk zdqK{;56i-xD3;oq6Q0v;7^=P8vtd4l4)C};^@hFR%&td&jW*_#9Jo}^8A~pj+lN>x zpJr3GW`l6<`J8cveoOXr1~III+Mki}iO?*E+502`C0OB>ReGzBc^q zEBi+LPZ7^;*6B~;8a;RhrCRjdKEQ*`y*qzxY#3&9H?jC|uk3p@xV$gLSktl{jEQj` z7Vki{vWJ|FK|O1M_dy0_bw59h+{trk%da zItb$4c?QQGPL8Qb?-*YvaaY6p&y!yX>&7S5!CYBmYj1i#RQ!3Yg}q@4YlP=I?fp2M z?g5Mkedk*7>=o~WAMw{LY~2fY@C}Oad^pIMJz>oL+pv4ch7I!+zlgFZpTg=s!5edrYzH zgRuJ}mhr=|X^-EESjG>-roA{4v5Xg1HF1{oj_0h8@)M(X5M$p2)*4~%^HSZcpO`gb zvYr0Dp4$E$m-zX-(f?ho)X%Wg=5w9eoTJoc&r+LroZ7xms3+WG`27Ni z$N2Aw$opR8&3x=zxlY~z^R6-&eGqT)9K~CH<&!Pm%Ez?KFTZ%p7H`?&t$6X4J&yM! z9u|2&jl4Bas&kE)@qjzKMwg3@;Bsl6m$r36mk}F9m03# z+h|%F!vAAFgIs~!fP4k{7IGKzGvrsuBgpTNKOs*c|3aQas`!1n8?p~_0CEs=1o94K z5;6rjH(Q)q{?v7^F3f+>OD#Lyo$G$?dNXqiUpRYz$z573+{f-(v5>pY<-+BsUBA0* zGp?8^7U$<(&t7)Em%DD^tTQ_oPH5Sg+1zRU(W1-a(Jf-m7bhqL`YQeN(NbJq&0 l9n^`SPTIxpHD^o3VxGGK22{Tlbvx=4QJ=KsfNN>dwinp=8YKV# diff --git a/scripts/Units/armflash.bos b/scripts/Units/armflash.bos index f9aeb22bd29..70da5f2f37d 100644 --- a/scripts/Units/armflash.bos +++ b/scripts/Units/armflash.bos @@ -1,5 +1,7 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, parts, track, turret, sleeve, lbarrel, lflare, rbarrel, rflare; @@ -7,9 +9,8 @@ static-var restore_delay, gun_1, fire_count; static-var last_primary_heading, last_primary_pitch; // Signal definitions -#define SIGNAL_MOVE 1 -#define SIGNAL_AIM1 256 -#define SIGNAL_SHOOT1 16 +#define SIG_AIM 2 +#define SIG_FIRE1 4 @@ -18,14 +19,8 @@ static-var last_primary_heading, last_primary_pitch; //how 'heavy' the unit is, on a scale of 1-10 #define UNITSIZE 1 #define MAXTILT 100 -//#define RECOIL_POWER 3000 // not worth it -#include "../unit_hitbyweaponid_and_smoke.h" -#define TB_BASE base -#define TB_TURNRATE <25.0> -#define TB_TILT_X <0.15> -#define TB_BANK_Z <0.15> // Do not define this if you dont want banking -#include "../tilt_bank_mobileunit.h" +#include "unit_hitbyweaponid_and_smoke.h" Create() @@ -38,33 +33,16 @@ Create() last_primary_heading = -1000000; last_primary_pitch = -1000000; restore_delay = 3000; - call-script TB_Init(); } -StartMoving(reversing) -{ - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; - - START_TILTBANK; -} - -StopMoving() -{ - signal SIGNAL_MOVE; - - STOP_TILTBANK; -} - - static-var Stunned; ExecuteRestoreAfterDelay() { if (Stunned) { return (1); } - turn turret to y-axis <0.0> speed <90.016484>; - turn sleeve to x-axis <0.0> speed <50.005495>; + turn turret to y-axis <0.000000> speed <90.016484>; + turn sleeve to x-axis <0.000000> speed <50.005495>; // set last headings and pitches to large negative numbers last_primary_heading = -1000000; last_primary_pitch = -1000000; @@ -84,15 +62,15 @@ RestoreAfterDelay() start-script ExecuteRestoreAfterDelay(); } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; // values in <> are degrees per second // otherwise angles are in COB angular unit (cau) - There are 65536 cau in a circle // In general, 6 cau per frame ~= 1 degree per second - turn turret to y-axis heading speed <250.0>; - turn sleeve to x-axis <0.0> - pitch speed <240.0>; + turn turret to y-axis heading speed <250.000000>; + turn sleeve to x-axis <0.000000> - pitch speed <240.000000>; // if the turret cannot turn to its new heading in three frames, wait for turn if ( (get ABS(last_primary_heading - heading) > 4500) OR (get ABS(last_primary_pitch - pitch) > 4320) ) { @@ -110,20 +88,20 @@ Restorelbarrel() { set-signal-mask 0; //make sure shots from other barrel do not interrupt current barrel movement sleep 100; - move lbarrel to z-axis [0.0] speed [7.0]; + move lbarrel to z-axis [0.000000] speed [7.000000]; } Restorerbarrel() { set-signal-mask 0; //make sure shots from other barrel do not interrupt current barrel movement sleep 100; - move rbarrel to z-axis [0.0] speed [7.0]; + move rbarrel to z-axis [0.000000] speed [7.000000]; } Shot1(zero) { - signal SIGNAL_SHOOT1; - set-signal-mask SIGNAL_SHOOT1; + signal SIG_FIRE1; + set-signal-mask SIG_FIRE1; if(fire_count==0) { @@ -176,21 +154,31 @@ Shot1(zero) return(1); } -FireWeapon1() +FirePrimary() { } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = turret; + piecenum = turret; } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = lflare + gun_1; + if( gun_1 == 0 ) + { + piecenum = lflare; + } + if( gun_1 == 1 ) + { + piecenum = rflare; + } } - +SweetSpot(piecenum) +{ + piecenum = turret; +} Killed(severity, corpsetype) { diff --git a/scripts/Units/armflash.cob b/scripts/Units/armflash.cob index 7218c06d3e86a1e7400f75e49c1b4c3b0120180e..24c646387bd2d03783afe299d22df4ff756b3e25 100644 GIT binary patch literal 4050 zcmb_f&2Lmy6hEB~Qw>HhfrSPZFR*c;$>53w38gCXv8hgkjha3>mvqAGO!N9GbfZnw z#0{)u0STdDL5#$V*7}=2MAHaeI!HscackV2|-@W&|-oDPjj55v1x%YgZ-#z!v zv@RkB^gQU(aghmdeqMc1WDfK-=r!zr2bZK~VyYSZK|BWD4txw;n&U<$$4#wSGYBcP zBc~m?m>ouD8s_C7qe!M3&~Dl>o;1DP0W39##^kJDR?YA@7H zQ4p}Zh$UsIlZ};i)tfc5Bj~77{JAXShjaQYk`aH}#QEN!0N6>>$7ii&9R@Yxk0yHV zSA%|xhU@-(WU^td2YIa`|0u}8T%GX@Dn7fY10I~K@33TkH$%XX6>RO*&(&J6V>-n{ zOv7Uh8SCa;kke+f51b1=)WvyZ2HsSFKNob|GB*8bt9zZtUw&TSpk8C?p7TNbJ3GBU z{nVdl#h!ewhWRV#n1ednZ5)a06Y=qb-K7Itb#4}ePV*0{hbfqYxGNs4pS6@Vt$KW2 z)4(&1ul}@kYs?HW?`Nau%zlWMEco8sdd08TevHng(&y?on|-oYhfm_~be!)Cgl0YL zS$h)LDc)5s&AQWl#i7GJqh4b$Zk(&?t9y;{kSOr3u6WF5SR^7k{ITR(Yt`CxUNjH) z&IUNTnSdMf#Ph&V5-@9X-PE^W!r4-Uo9OO|&Zd)1dz{^R2!DQmRQ>gix*Ee7x;5ev z_pSCGhhI@Vb?l+UY})I-hmf*MUv6y350#n`xU@GoYrHQyn;MH;LM-NqV{NIwPb}W+ zxaK(4-`EVQ`9a9DXV?F)nR!^V#u~L|cYi|v`>`2R^9#^1&$X-n4vjPKGBM&OjvM2| zoN?S?>StX3M&XCP2^W~*ZD)Zq=Y3$0v5xmiCjI;z4*4mHZC#CcyC~zDd3@c`9l(9i zd3NswY#E2PEpmC`QWrVbM?bq@HJqXXyDLiXslIEk5T_YGgRZ zAa3NtoTFkvTlx$-Z|&`AcF$ri`r)8G5f9Gbu>H}Tw*S>%@#*LPG^|GPQQSuHsm>OA z{Sb5$bPx0gXdIVqH)tQI3;G0f8FU1Rra&h_ZBPc{|Bv@Uk3j37e?aCXk-ebTL5D!^ zfKG!x0L_6efIbIZ23-MN1FeE?fxZR(1X=^#1^os(-YKS*&)9UK*Ok_M@4S7#+bLq{ ziMG6%+qAIq_C-6pRM_|IV$sX((Q}2(-?CY{EG=8KiluJXwq?8WXlH&p@64z9vMRH) zX`b6mw|UsM=6c0JIo8Ro+Qao&-YebTU9$PI>RJ~pvM%%rIn~KBWImfNT3JZ*Vo{1b cojotb60#Jsm|6R=6-}C*%hKG6Ce8i!G1+!Pg8%>k literal 4343 zcmbW4O=w(I6vuDU>7@08zEU^h2jd62DKagH8=+0C#aarr3Aj)&ljJoHna+flmtsL_ zl@zYjdG)wxygEVleV1AaCW?& zv9Gb0oc$>K=60`px3)E%ZP$tnkvqO7<7`MrwPw(9Sv?!}O3n>SCa8Wz2i}XM1CI=Q z!;xY}7e52}!EM=aGn}O|e7G#&8H@THkyoncW5k?}MLo{UCvmzDugB{1Xm0a0@%F;t z8qVin*s#Htki@ffW7{=*^vD<6^V+gr(25UgV?L{^Yla?~u2i?wO?9v*XRH0Fgv7Ky zZG;;PD=5TTkh7x}S?Gz`vbyGw&*^r}p<%DqY$F+_1AX<*YC|oU+0`ho!D~**fvwdX zTXM0v{Z3o+XR~R%%?9e6d7p8HeoD?P20Gwi^)WJTgw1l8z2BmI2*uSfBko{5TZ!kx z$+_9$Z@=W!mAaw-Nz~`q?&eYU%9%WNXp7y6STgTDg@ z@fl$KCR1Y4Z|XrBX?)JC|H#lMzH5Yg<7Xn;GF#+scLz1QyAR4ZmH9cW*x?KR<~qAy`xq0s<$}J~n+(046+?_~^iWMP|K9KS zeJ|rP0@r41eKGu;dtA}y^A(@OCq~t$)zH_X8ES#vB*Eeg?To%S^8KIGQ<=S1n;%#( zkr(#HTW`MlVzrN)ILM7RT%X+-?6Gr=ddMZ}`m^dCo)7OC;<*%D<2uFeEL#_Qj_U`kK z!)$wBl{}X|T+0)zzDJGl?n`s#9R?n9ww&x<`%u?t{gF_d2SheUA~(=X*TXOkr%^XV|Om0n^AJKfNvd z_m#~dYBt|~A8WpuJ+x<)joH$-RUUaRBIu3^MbqJ%Az$r c=gLL-F5N;W&rj#hLUm4dT1D +//how 'heavy' the unit is, on a scale of 1-10 +#define UNITSIZE 1 +#define MAXTILT 100 + +#include "unit_hitbyweaponid_and_smoke.h" + + +Create() +{ + hide flare1; + hide flare2; + hide flare1; + hide flare2; + gun_1 = flare1; + fire_count = 0; + // set last headings and pitches to large negative numbers + last_primary_heading = -1000000; + last_primary_pitch = -1000000; + restore_delay = 3000; +} + +SetMaxReloadTime(Func_Var_1) +{ + restore_delay = Func_Var_1 * 2; +} + +static-var Stunned; +ExecuteRestoreAfterDelay() +{ + if (Stunned) { + return (1); + } + turn turret to y-axis <0.000000> speed <90.016484>; + turn sleeves to x-axis <0.000000> speed <50.005495>; + // set last headings and pitches to large negative numbers + last_primary_heading = -1000000; + last_primary_pitch = -1000000; +} +SetStunned(State) +{ + Stunned = State; + if (!Stunned) { + start-script ExecuteRestoreAfterDelay(); + } +} +RestoreAfterDelay() +{ + sleep restore_delay; + start-script ExecuteRestoreAfterDelay(); +} + +AimPrimary(heading, pitch) +{ + signal SIG_AIM; + set-signal-mask SIG_AIM; + // values in <> are degrees per second + // otherwise angles are in COB angular unit (cau) - There are 65536 cau in a circle + // In general, 6 cau per frame ~= 1 degree per second + turn turret to y-axis heading speed <250.000000>; + turn sleeves to x-axis <0.000000> - pitch speed <240.000000>; + // if the turret cannot turn to its new heading in one frame, wait for turn + if ( (get ABS(last_primary_heading-heading)>1500) OR (get ABS(last_primary_pitch-pitch)>1440) ) + { + // seems to take 3 frames for wait-for-turn to process + wait-for-turn turret around y-axis; + wait-for-turn sleeves around x-axis; + } + last_primary_heading=heading; + last_primary_pitch=pitch; + start-script RestoreAfterDelay(); + return (1); +} + +RestoreBarrel1() +{ + set-signal-mask 0; //make sure shots from other barrel do not interrupt current barrel movement + sleep 100; + move barrel1 to z-axis [0.000000] speed [5.000000]; +} + +RestoreBarrel2() +{ + set-signal-mask 0; //make sure shots from other barrel do not interrupt current barrel movement + sleep 100; + move barrel2 to z-axis [0.000000] speed [5.000000]; +} + +Shot1(zero) +{ + signal SIG_FIRE1; + set-signal-mask SIG_FIRE1; + + if(fire_count==0) + { + if( gun_1 == 0 ) + { + move barrel1 to z-axis [-0.4666] speed [300.000000]; + emit-sfx 1024+0 from flare1; + } + if( gun_1 == 1 ) + { + move barrel2 to z-axis [-0.4666] speed [300.000000]; + emit-sfx 1024 + 0 from flare2; + } + } + if(fire_count==1) + { + if( gun_1 == 0 ) + { + move barrel1 to z-axis [-0.9333] speed [300.000000]; + emit-sfx 1024+0 from flare1; + } + if( gun_1 == 1 ) + { + move barrel2 to z-axis [-0.9333] speed [300.000000]; + emit-sfx 1024 + 0 from flare2; + } + } + if(fire_count==2) + { + if( gun_1 == 0 ) + { + move barrel1 to z-axis [-1.399994] speed [300.000000]; + emit-sfx 1024+0 from flare1; + start-script RestoreBarrel1(); + //wait-for-move barrel1 along z-axis; + //move barrel1 to z-axis [0.000000] speed [5.000000]; + } + if( gun_1 == 1 ) + { + move barrel2 to z-axis [-1.399994] speed [300.000000]; + emit-sfx 1024 + 0 from flare2; + start-script RestoreBarrel2(); + //wait-for-move barrel2 along z-axis; + //move barrel2 to z-axis [0.000000] speed [5.000000]; + } + } + sleep 32; + ++fire_count; + if(fire_count>=3) + { + fire_count=0; + gun_1 = !gun_1; // swap emit barrel at end of burst + // wait, then move barrels back to neutral + //wait-for-move barrel1 along z-axis; + //wait-for-move barrel2 along z-axis; + //move barrel1 to z-axis [0.000000] speed [5.000000]; + //move barrel2 to z-axis [0.000000] speed [5.000000]; + } + return(1); +} + +FirePrimary() +{ +} + +AimFromPrimary(piecenum) +{ + piecenum = turret; +} + +QueryPrimary(piecenum) +{ + piecenum = gun_1; +} + +SweetSpot(piecenum) +{ + piecenum = turret; +} + +Killed(severity, corpsetype) +{ + if( severity <= 25 ) + { + corpsetype = 1 ; + explode base type BITMAPONLY | NOHEATCLOUD; + explode turret type BITMAPONLY | NOHEATCLOUD; + explode sleeves type BITMAPONLY | NOHEATCLOUD; + explode barrel1 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare1 type BITMAPONLY | NOHEATCLOUD; + //explode barrel2 type BITMAPONLY | NOHEATCLOUD; + //explode flare2 type BITMAPONLY | NOHEATCLOUD; + return(corpsetype); + } + if( severity <= 50 ) + { + corpsetype = 2 ; + explode base type BITMAPONLY | NOHEATCLOUD; + explode turret type FIRE | SMOKE | FALL | NOHEATCLOUD; + explode sleeves type FIRE | SMOKE | FALL | NOHEATCLOUD; + explode barrel1 type FALL | NOHEATCLOUD; + //explode flare1 type FALL | NOHEATCLOUD; + //explode barrel2 type FALL | NOHEATCLOUD; + //explode flare2 type FIRE | SMOKE | FALL | NOHEATCLOUD; + return(corpsetype); + } + if( severity <= 99 ) + { + corpsetype = 3 ; + explode base type FIRE | SMOKE | FALL | NOHEATCLOUD; + explode turret type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + explode sleeves type SMOKE | FALL | NOHEATCLOUD; + explode barrel1 type SMOKE | FALL | NOHEATCLOUD; + //explode flare1 type SMOKE | FALL | NOHEATCLOUD; + explode barrel2 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare2 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + return(corpsetype); + } + corpsetype = 3 ; + explode base type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + explode turret type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + explode sleeves type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + explode barrel1 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode flare1 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + explode barrel2 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode flare2 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + return corpsetype; +} diff --git a/scripts/Units/armflash_old.cob b/scripts/Units/armflash_old.cob new file mode 100644 index 0000000000000000000000000000000000000000..ff4bef1f82c2448439a25ca168ffcf49e70cb85d GIT binary patch literal 4012 zcmbtXO=w(I6h1SVOsk^4mM(N5J}h-(7L#mMOkypH6k?~PAXf71+~VN;gg0;6q)rgYIl7cK@%!$*=gpm$Oq_=^9L{~`_d7rLO;Qt) zL!bkoY{qdM4aVDxZsu4m8?Z|0I zF41fxtM%vwFQZ6S>d=nt7*86`?kJ9$Lu2x}_lAqjoa)QmYD)|fi^Je!(1&_FS|8;W z*Dl|YKkWpOX~&xN%%fr2KoIPQ`8O!z+J^L2oJWpJ+J*Fw^C#PQuM<|B*s=%$xf3-XV>9L(YjcToGo9TxP1d-WrZ%x`xHJtTthTHRjV^L9+9{g9~c zdJUQG6gh21bzm;|a2LWnvMR1laM~B2X-hG4Q6E0*J$i8e(GK+*Tc5cvw7>g|^Jg6O z*F8~ul-nJ}Oc<+Z%YM`;M6dqxaV%c+ioQE<1+imscih`;9Ua%%J@z`qIte?>^7$!N z;v<$E)3%$<%LIg3aBlpBwbIrKv2T-XbVu@Dthw53UpC$O-cP|y3w3UPKgvn0wm-3Z zAA~i30U*S~nzbf@o#HKWY1FLlAq&GDrCwt&ZkVg+tIrx^+sBYi*R#Iu8LSY;;ze}D zs@Qb5G!LJx4SLPr0DhRq`ulybLf^9%9~$}|nH|jqlOP=3W9w7WpL;LD$>u8LTi17XaBIi0BSG#LVdi*8v7Rud>(40PUNOh& z*&`-ngf)aQ>nJSD$Nb`J__I*MkwgE#2IdQE(3oXw;5-!PoBPyotdQ^P8~;o_2j2Oo zm z&&2BRyLS^q=zESJz0dJ(#5bFMr-KewmWCFY*vO{NH)}#K!oFHO4b-H^F5U zcO*KH|7OJy6?Mc<*Ml)FU$G};{WY)h(0|e{Yp=@qXy3~C6#K^3oCDng{Q~*}^cZv) zjeQ058t4jW3v?6oA(EW~8BiBA1o8jEA3%3NKZAY+Jp?@g$@7Q>dI>ZKdL6U`Itls+ z)CLVemqAxS*Fj%`z5;y%x(#}_oh@&iHOX4PC(UmEGjpcb&O+&XEqOaNNoJ&JvXjaB zDbwjEt<&wUk$2Y3`C(>GnL*Z1&C-R;q{mGs*`Q@J8}@ppCA*bN?e0q2?k4GmDwmTq zHJ$nK#|3GA+Rx_YL_0NV57!fEKX?CNXwnVUH7^-tUF&D^e!J5_<_n!9HS>-wNH#={ VOg>2lMg|>YE}8)zTwcc) speed <1997.999789> / animSpeed; //delta=66.60 turn lrleg to x-axis <1.400000> speed <41.999996> / animSpeed; //delta=-1.40 turn lrleg to z-axis <0.400000> speed <11.999999> / animSpeed; //delta=-0.40 @@ -28,8 +30,8 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn rrleg to y-axis <42.599996> speed <1277.999872> / animSpeed; //delta=42.60 sleep ((33*animSpeed) -1); } - while(isMoving) { - if (isMoving) { //Frame:8 + while(bMoving) { + if (bMoving) { //Frame:8 move base to y-axis [1.465000] speed [43.949997] / animSpeed; //delta=1.46 turn base to x-axis <-14.099999> speed <422.999976> / animSpeed; //delta=14.10 turn lfleg to y-axis <35.933328> speed <919.999946> / animSpeed; //delta=-30.67 @@ -43,21 +45,21 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn turret to x-axis <22.299997> speed <668.999920> / animSpeed; //delta=-22.30 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:12 + if (bMoving) { //Frame:12 move base to y-axis [2.930000] speed [43.949997] / animSpeed; //delta=1.46 turn base to x-axis <-0.200000> speed <416.999979> / animSpeed; //delta=-13.90 turn lfleg to y-axis <5.266663> speed <919.999946> / animSpeed; //delta=-30.67 - turn lrleg to x-axis <6.0> speed <69.0> / animSpeed; //delta=2.30 + turn lrleg to x-axis <6.000000> speed <69.000001> / animSpeed; //delta=2.30 turn lrleg to z-axis <6.733333> speed <94.999906> / animSpeed; //delta=3.17 turn lrleg to y-axis <27.866663> speed <1056.999880> / animSpeed; //delta=-35.23 turn rfleg to y-axis <-5.266663> speed <919.999946> / animSpeed; //delta=30.67 - turn rrleg to x-axis <6.0> speed <69.0> / animSpeed; //delta=2.30 + turn rrleg to x-axis <6.000000> speed <69.000001> / animSpeed; //delta=2.30 turn rrleg to z-axis <-6.733333> speed <94.999906> / animSpeed; //delta=-3.17 turn rrleg to y-axis <-27.866663> speed <1056.999880> / animSpeed; //delta=35.23 turn turret to x-axis <12.900000> speed <281.999924> / animSpeed; //delta=9.40 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:16 + if (bMoving) { //Frame:16 move base to y-axis [1.350000] speed [47.399994] / animSpeed; //delta=-1.58 turn base to x-axis <13.299999> speed <404.999960> / animSpeed; //delta=-13.50 turn lfleg to y-axis <-25.399996> speed <919.999792> / animSpeed; //delta=-30.67 @@ -68,38 +70,38 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn rrleg to x-axis <3.700001> speed <68.999963> / animSpeed; //delta=2.30 turn rrleg to z-axis <-3.566667> speed <94.999989> / animSpeed; //delta=-3.17 turn rrleg to y-axis <7.366666> speed <1056.999880> / animSpeed; //delta=35.23 - turn turret to x-axis <5.599998> speed <219.0> / animSpeed; //delta=7.30 + turn turret to x-axis <5.599998> speed <219.000061> / animSpeed; //delta=7.30 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:20 - move base to y-axis [0.0] speed [40.500001] / animSpeed; //delta=-1.35 - turn base to x-axis <-0.0> speed <398.999963> / animSpeed; //delta=13.30 + if (bMoving) { //Frame:20 + move base to y-axis [0.000000] speed [40.500001] / animSpeed; //delta=-1.35 + turn base to x-axis <-0.000000> speed <398.999963> / animSpeed; //delta=13.30 turn lfleg to y-axis <66.599993> speed <2759.999684> / animSpeed; //delta=92.00 - turn lrleg to x-axis <1.400000> speed <69.0> / animSpeed; //delta=2.30 + turn lrleg to x-axis <1.400000> speed <69.000033> / animSpeed; //delta=2.30 turn lrleg to z-axis <0.400000> speed <94.999996> / animSpeed; //delta=3.17 turn lrleg to y-axis <-42.599996> speed <1056.999880> / animSpeed; //delta=-35.23 turn rfleg to y-axis <-66.599993> speed <2759.999684> / animSpeed; //delta=-92.00 - turn rrleg to x-axis <1.400000> speed <69.0> / animSpeed; //delta=2.30 + turn rrleg to x-axis <1.400000> speed <69.000033> / animSpeed; //delta=2.30 turn rrleg to z-axis <-0.400000> speed <94.999996> / animSpeed; //delta=-3.17 turn rrleg to y-axis <42.599996> speed <1056.999880> / animSpeed; //delta=35.23 - turn turret to x-axis <-0.0> speed <167.999935> / animSpeed; //delta=5.60 + turn turret to x-axis <-0.000000> speed <167.999935> / animSpeed; //delta=5.60 sleep ((33*animSpeed) -1); } } } -// Call this from StopMoving()! +// Call this from MotionControl()! StopWalking() { - move base to y-axis [0.0] speed [11.849999]; - turn base to x-axis <0.0> speed <105.749994>; - turn lfleg to y-axis <0.0> speed <689.999921>; - turn lrleg to x-axis <0.0> speed <51.749999>; - turn lrleg to y-axis <0.0> speed <792.749910>; - turn lrleg to z-axis <0.0> speed <71.249973>; - turn rfleg to y-axis <0.0> speed <689.999921>; - turn rrleg to x-axis <0.0> speed <51.749999>; - turn rrleg to y-axis <0.0> speed <792.749910>; - turn rrleg to z-axis <0.0> speed <71.249973>; - turn turret to x-axis <0.0> speed <167.249980>; + move base to y-axis [0.000000] speed [11.849999]; + turn base to x-axis <0.000000> speed <105.749994>; + turn lfleg to y-axis <0.000000> speed <689.999921>; + turn lrleg to x-axis <0.000000> speed <51.749999>; + turn lrleg to y-axis <0.000000> speed <792.749910>; + turn lrleg to z-axis <0.000000> speed <71.249973>; + turn rfleg to y-axis <0.000000> speed <689.999921>; + turn rrleg to x-axis <0.000000> speed <51.749999>; + turn rrleg to y-axis <0.000000> speed <792.749910>; + turn rrleg to z-axis <0.000000> speed <71.249973>; + turn turret to x-axis <0.000000> speed <167.249980>; } // REMEMBER TO animspeed = 4 in Create() !! UnitSpeed(){ @@ -118,16 +120,16 @@ UnitSpeed(){ } -StartMoving(reversing){ - signal SIGNAL_MOVE; - isMoving=TRUE; - set-signal-mask SIGNAL_MOVE; +StartMoving(){ + signal SIG_WALK; + bMoving=TRUE; + set-signal-mask SIG_WALK; start-script UnitSpeed(); start-script Walk(); } StopMoving(){ - signal SIGNAL_MOVE; - isMoving=FALSE; + signal SIG_WALK; + bMoving=FALSE; call-script StopWalking(); } @@ -137,25 +139,29 @@ StopMoving(){ #define UNITSIZE 1 #define MAXTILT 100 -#include "../unit_hitbyweaponid_and_smoke.h" +#include "unit_hitbyweaponid_and_smoke.h" Create() { hide flare; hide aimy1; hide flare; - isMoving = FALSE; - isAiming = FALSE; + bMoving = FALSE; + bAiming = FALSE; + Static_Var_3 = 1; restore_delay = 3000; animSpeed = 4; } -SetMaxReloadTime(reloadMS) +SetMaxReloadTime(Func_Var_1) { - restore_delay = reloadMS * 2; + restore_delay = Func_Var_1 * 2; } - +SweetSpot(piecenum) +{ + piecenum = base; +} static-var Stunned; ExecuteRestoreAfterDelay() @@ -163,10 +169,10 @@ ExecuteRestoreAfterDelay() if (Stunned) { return (1); } - turn aimy1 to y-axis <0.0> speed <300.0>; + turn aimy1 to y-axis <0.000000> speed <300.000000>; wait-for-turn aimy1 around y-axis; - wpn1_lasthead = 0xbadface; - isAiming = FALSE; + wpn1_lasthead = 1000000; + bAiming = FALSE; } SetStunned(State) { @@ -177,30 +183,33 @@ SetStunned(State) } RestoreAfterDelay() { - set-signal-mask SIGNAL_AIM1; + set-signal-mask SIG_AIM; sleep restore_delay; start-script ExecuteRestoreAfterDelay(); } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = turret; + piecenum = turret; } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = flare; + piecenum = flare; } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - isAiming = TRUE; - turn aimy1 to y-axis heading speed <450.0>; - - if ((wpn1_lasthead == 0xbadface) OR ABSOLUTE_GREATER_THAN(WRAPDELTA(heading - wpn1_lasthead), <7>)) + signal SIG_AIM; + bAiming = TRUE; + turn aimy1 to y-axis heading speed <450.000000>; + while( !Static_Var_3 ) + { + return(0); + } + if (((get ABS(wpn1_lasthead - heading)) > 65536) OR(((get ABS(wpn1_lasthead - heading)) > 1300) AND ((get ABS(wpn1_lasthead - heading)) < 64236))) { - wpn1_lasthead = 0xbadface; + wpn1_lasthead = 1000000; wait-for-turn aimy1 around y-axis; } wpn1_lasthead = heading; @@ -208,7 +217,7 @@ AimWeapon1(heading, pitch) return (1); } -FireWeapon1() +FirePrimary() { emit-sfx 1024 + 0 from flare; } @@ -218,25 +227,37 @@ Killed(severity, corpsetype) if( severity <= 25 ) { corpsetype = 1 ; + //explode base type BITMAPONLY | NOHEATCLOUD; explode turret type BITMAPONLY | NOHEATCLOUD; explode flare type BITMAPONLY | NOHEATCLOUD; + //explode lrleg type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lfleg type BITMAPONLY | NOHEATCLOUD; + //explode rfleg type BITMAPONLY | NOHEATCLOUD; + //explode rrleg type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } if( severity <= 50 ) { corpsetype = 2 ; + //explode base type BITMAPONLY | NOHEATCLOUD; explode turret type FALL | NOHEATCLOUD; explode flare type FALL | NOHEATCLOUD; + //explode lrleg type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lfleg type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rfleg type FALL | NOHEATCLOUD; + //explode rrleg type FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) { corpsetype = 3 ; + //explode base type BITMAPONLY | NOHEATCLOUD; explode turret type SMOKE | FALL | NOHEATCLOUD; explode flare type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; + //explode base type BITMAPONLY | NOHEATCLOUD; explode turret type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode flare type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; return corpsetype; diff --git a/scripts/Units/armflea.cob b/scripts/Units/armflea.cob index 417ad5b0de9e6087b7981ad7c297f620da5dd102..89bf1b6e33ef9ab7c3c7504576b5b81346a20874 100644 GIT binary patch literal 5884 zcmbtYU5Hdw96vL=j=ECb%8cl13)<=wYw!T^XF+8LoGCUFcyT zf{dky@*xZ)A4>E=A|EV!=%Ip=K8z3)r3fTR%#74Ri|zM2=lplh+}V52=jY1bCFwx>oKrfJ)ozcI5I_ZqImIM(*g(6BA-j z{QB@6IAP=%m&mok*GB(%7>5tv(FtRZa;@-nKMVoHOF8ko0Q1RsOD2EhsbX88O1Y+- z_rSPYgP&*zn3nzdM8k%yLB}Yp1o%f8D|f6jmyx@E)nKO_AKDAv$Y8i2*%%jKs`PO8>- zE^)BhTCe5?O4a)HRav>O9671=$nV)6JHbO~8ny2FCtK@Q_}p6i@I8H_QNvdFN*5b) zD2J}c%U@>W?VN4mpbVc|t@TMLQfFXbaic$M&i8HsGga$Lk7R2-Y%v%F#-6X%fBa@* za?fgCF84Dr)2Q`sN3K;aKf7-H^0;807_SfC+`Elm_pEM(?`E|g{kKuWR`{N==NRn? zz7OBY*7^nokQd7Exz$>400`=+`l3v&wZT-a4?U2rwUz@0Jz5NeBWhXE`8r+ z-@fsEmwo%%_g(hk^L>|F;k#L_ecxptKHqn_Hkz%qdf>VH_V~hPJ@;Pq_Og7Fp1bc3EY0f4-bnj%_hH(fTaUCq zcORwwkthDnk2GU(bIo)pn?IxoxoHpDOL>z6>>*;~JFgb}t}-_=a*xpm-^o|FYw^B{ z+gOtg?GN|cD|TPv+B)fnIg{@-?P=LyM!@^S|uSfE*PJ zE;2CZz=tw=Vr$~s;yQ6?ei8Qdq*+H5!FLGJYd^Hx4|$GS&( zoo*y2ZokpjUF0Dj+{3*0a!vON;^JOyj@9h7Zv+QaB_G@u-0OU#cQ_J~LR!l%ut_^ynqHJ`T<-^FKhjb3r` z#Mm@m8`}<>V;vZB%(FeTYp-IF@(f>c#NQGm{`9Cy?Un}=*!$$)u8nzYvj1u0;&s^I zey@S*rj`e7Y;J$Jy(4k57Z^9|cn3#3jEDJ^x+@Cc>|j167t&L#k=P=SKY6I4!EnlA zpe@!|YF5NMW$PGKAMX=0Tk>>|KwdDp{`7fh{avyCq^HCm;ZNny$7|(p8!=md52ALo z%e~;nC+8n+Grp;OOFs31W#y^u5HPgPk*|27{VqPcn|a!r~?VQ4>SZi z0y+)42Fk(UY|vw%r$AkxZqP>15zsLZe^31tbQLrKnloRi`JhKZouK8QE>I8XCD1Ua z4tf)`A9NV>G3X1>*P!n~r$9e~&Vep~E`zRtHiwlRsyC_DI4KWpSDS{)NpCHR`mq|u z$@=ODS1DnqYs<;XvCUCfs}8B&!Rn5P8p>Ji?pLegC`=;N8zt+*T|H5y8uq_X9>l_E z6v28mQP1s)whbpyPqZ_s#!=Tm62+^dN;pQH-eh=a2mrFouJYiTxH`BYE)RzBnA$iT z#bfdUo=n%2<4ES~%9RRiZ4GxuDjAOBC{Y8IFpg9lSEB7I9^n5KJ+J6_SRNc(qW%Mw C2-8{s literal 5657 zcmbtYZ-`Yz6rcBY_qn;*-qIq8YNh=kCGFdU0wLPfZCMk+T*W_q@#@~)9=_eTT<`9> z5V(**#nOk02qUo%B?uAqMJcEceMtio!XOmF2(>UX%97RCe!rPH@6NmTzNgWZvom+j zZ_fFhb7tm_uURQ|7o-)^)}qvHX!&eiqSPVCMaT-gx8AK(&dYl_DrX8_Gy3eR9R+U( z8tS6i7RB*qj`uWq9NX4~euwf3#85DH_I{PZ%|k~VDCmc{mq99NZ!NVJmq(YlH)oqt zxTELh=LIKzv-ll8WpLyyxJLY%=pRo#en;nxJ>nYiTl)Y2h=VxsyA1tmyhW2g>QqOQ zr;53noNt72w+27Z4sx;bk4It~wgwBQV8z2fVl3{{6}c2{?yBKV93R^AUdyL&vrC}_ zcekbwzu|DVelM_?wpL>A;E6PD;er?^Ioo-%HRbm#7oxQ%ab)p}&ZleIh@V^2EPj7o zOV>1uU+1?mPWT->lg{&*b`u9Ne3<8DXm7Rl+cB|Tt(ROz1{1ZOT%P7|)~-`cz;ejS zRXW}kJW!DrV)*>mTA#*5&KVx=ir0tD`GIXvCTe~8!E~)BEC<7& zelCCi)x_lP>#SV9$Hd%1tzU6)jdJpc)jI3DoW(EeyF5OXuC?Tu>wypRybNulGhFq= zcO^Y(LqXq>4t(Ec>dwK$etvYFT@%zL>N@*NE}jRSyKhf)*3NV9Rd27%*UWSG-Qma5 z^JH%%{ki)v>Cdf4(x1DJlK!X@e-|cexwyGzI+V>HQiR+zd(FkXzCW@SaAgf(G| z(o#4$x|>*W&R${EfwPj2r~3^K9qP zXLYT>w~G^-F0xI3`gNg|6E@#2i0M|3BrwY zs3(;Eq|Kg-y7kKm3W+$CnoS(XkKV?1gnxnVB2W?Qj9X%CHFr}WD%{j#Nw zvBj+S$j9^yc~g7?7g7}aai7Y zXWZqC&jdJ||CjPSIpOfu=gAIb&Iq)6U)gtZ;Z!*b+;`!6tj*{p?~KVk$2eckESHn4 zU1DXfV0jkkGZHm<+{Q+Ka*hm~HhI!`taY7tzF<{IpIm!Zw`(p4SLc-w`V;PaPjaJP zpT)xAkg3^L28J_bp`H}m6HbaoXUuOcCN`Yib@1-GbL+27JL{5m>gmOX_B$S*;ck4F zp2}6%u5$9k{7Ozv&VAU%vsP*&I{uEq9A4aqz&z8xf(vG@$Mmo5138PCV{S06W=yUQ z+nUif`OueJo2sv>uHfBH3?BMqDyw;=ZLIa=8e#ktvBi1(sY7)b4yP;!+F}mb5_1SG zR!r($=NfwP?b_A*$J#w_?MiLL?*4>bd2eKQ7w1^JH>_Re%H=zouzS$HC+#w}`^Rqz#7dh4e#?L)yTt6Ve4)2YC)M0;xczARj}HLHN7lBFIw6Ly#`W zD#!q26U2u+51EF%4tW>y5#)2o*O2cZKSF+nT!vhQT!-ZDQECBX5o9rBi(lTY2BXS2 zJEgG^wRx-*4UPxF5JvqlT3?yuC=s?hP>NPhZwdVI%GlZ=<-Dmrf7Bldh6YC~y92c* z4E!iigF&?3-@7p=SNx$(rO`k=y*Jo35d|BAJy9hLdWWMR> z(f+V9YTS0KXD5Qta_Cmj$#{P$45YuVR4&8TPJd6JqKPmJA~jt0!$5^$IT%slF#ncy NzpVRyX>__<{R<$t$V31D diff --git a/scripts/Units/armfmkr.bos b/scripts/Units/armfmkr.bos index 20842efcc0e..0cd8187286e 100644 --- a/scripts/Units/armfmkr.bos +++ b/scripts/Units/armfmkr.bos @@ -1,5 +1,7 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, cover1, cover2, light; @@ -11,35 +13,58 @@ static-var mmState, Active; #define UNITSIZE 1 #define MAXTILT 200 -#include "../unit_hitbyweaponid_and_smoke.h" +#include "unit_hitbyweaponid_and_smoke.h" - -#define WATER_ROCK_UNITSIZE 10 -#include "../floatmotion.h" +RockOnWaves() +{ + var rockDir, rockAng, rockSpeed; + rockDir = <-0.1>; + rockAng = <-0.1>; + while( TRUE ) + { + while( get ABS(rockAng) < <1.31> ) + { + rockSpeed = <1.45> - get ABS(rockAng); + turn base to x-axis rockAng speed rockSpeed*5; + turn base to z-axis rockAng speed rockSpeed*5; + wait-for-turn base around x-axis; + wait-for-turn base around z-axis; + rockAng = rockAng + rockDir; + } + rockDir = 0 - rockDir; + rockAng = rockAng + rockDir + rockDir; + } +} MMStatus(State) { Active = State; if (State) { show light; - turn cover1 to x-axis <75.0> speed <60.0>; - turn cover2 to x-axis <-75.0> speed <60.0>; + turn cover1 to x-axis <75.000000> speed <60.000000>; + turn cover2 to x-axis <-75.000000> speed <60.000000>; }else{ hide light; - turn cover1 to x-axis <0.0> speed <60.0>; - turn cover2 to x-axis <0.0> speed <60.0>; + turn cover1 to x-axis <0.000000> speed <60.000000>; + turn cover2 to x-axis <0.000000> speed <60.000000>; } //get PRINT(get GAME_FRAME, Active); } Create() { - SLEEP_UNTIL_UNITFINISHED; - start-script FloatMotion(); + while( get BUILD_PERCENT_LEFT ) + { + sleep 400; + } + start-script RockOnWaves(); } - +SweetSpot(piecenum) +{ + piecenum = base; +} Killed(severity, corpsetype) { diff --git a/scripts/Units/armfmkr.cob b/scripts/Units/armfmkr.cob index c6a0ed5b1f6e50f51f3076b7b0284c3704c5b9ae..3ebab148b255d8a73f0728f655d74fbfaf0c38a4 100644 GIT binary patch literal 2430 zcmcJRyK59t6vod!ve8CHurS?#U=ae20U>3G7Cs1utP&6svL-`Z^H@zLiFQG-x3mz^ z&PM+MTS2iAEc^?sgT2N2{qEd587HnJg0mdXz2A9#_uMm+G|lXUq$xRHH)}}qd=U6u z(mZK4ru`Xdi|bKY>XCkeYtqYJ*Q70JL^j!o>PbB!AAV^3T>fY%vc*<()?-p;Gc8#U z{62vtx!*Z0i3JNe*-xCxb5k?KQakX0gT)rfY=I{+*d12Vj@O~sgLwQ+nO$6I%`$L7 z(?{xt8iVQ&@(cOU^n`ws%k@<~dnvf66E|ItapnAIY*Q?J?{+=baagV3)l3utru?Dz zY>V9fj-He-dXG=J);NIrW=WnKo&|?U{Pe@ce7@)2Uc>Q6em6GRie7lUUcnbUE@hz~ zbX>95RGxb(WFy;||$G~GiHj~fPdyi4B=tb1Z`z#FJ%mf;rgLCLk^k6I3sdC!y z_xqt=_=P>W*rVY)rUm<_+J;)}F;}%EO?Q9$7=1rSeEje+^H|()v%?Hf7frn(a_c?= z7xV8A@KOBSOo=7_?(yqTM>I>l%sGHD1K*^=nW+UFc(M$f3R{%(#Ad7$-&f`ODk$U% za}(mY@85Xn9wzj0rJgy;U#bLZ~gD%G$WoD{eY3ID; zwdAAZf*g1!)+O5#{&$Hbqml{970I;ZmSjPaO72S@N*+nBcC)F+b7|*6Z^PQ_z18&g zMmH;?*OqOzx3qe5W3IE4ZrSv7JL_cITXuOf?PRI7chfX$Kj>w4qr0}2F5BJCR%%PV QopkeJuEuSxyK*nHUxX^3tN;K2 literal 2803 zcmbuB&r4KM6vyxUa0H2Xf&?wHAzDSmBm^zhqLdhrTm-G0oQDmKPS`7G*P?I}(W+HQ z%V-hQraz!n(XLhzv?#<)AoK^=_jBJpcAcJz_TYH#Ip=$R-XCMtIX5V(idM?bRmAzG zhMa4Q9*9m$ek$(jKlOdj% zYE&KlF+xwxfFrKOq>l54x7SL3*QofJSPic3d=FL|KKKG9pYdYfiuNV<2S>m7KGYKa zNSqkV#$xt!*U0zCu!8Q1jWPJsv(0`&MsnId71d1*>j1(m=-FvMT$1mJ`NCbJG| z!D_djZDvI_T(|JrJDUx&;LL6Wdlgydlpa{x%<-icJGURSw0L$lO}4WE9G#CD&d`@g zXF0%72i)gK{EhJWUGV!E>?MF3VUNda$$HS2BYj-+nC#4zxjEtA20Uu&v^iWxj{3H{ z62}?=qgd2!vqptX`XZlG=z|Y)uo>aw_p`1!i{d=TBcEEI&p?oUKJD8NExdQo`?Hhe zcWPr(`J#JG?ym6g72#t)iCeW0!W z<>}}C4haX$MfZ6tXCu#vZ1Wj9B5Xn5X7BIY^rR@tZ?*2$H+$jgdEd4#*0;(3+c)Pd z?wh#Cc9y;!lcJz+vyVUDzTc*o*Ma-a&u!i}YvyNtn|$ED_3HWB^e67y;!bm*!d;r(yBe_unM>md*R`^jT@cgr(R?vN)7d6>n1@;oMn`t8p{uY1LM7JO|s zt2@L(eMa;~^joy1WbEBZ5&t``ie8D{iQbDoi9U{wX}7+w=~_3 zC3ms4*jh;2vx~i3sk_wewX$X}>-3gfvpJi!vb%TOh2^xBrS3|n+fCc; + rockAng = <-0.1>; + while( TRUE ) + { + while( get ABS(rockAng) < <1.31> ) + { + rockSpeed = <1.45> - get ABS(rockAng); + turn base to x-axis rockAng speed rockSpeed*5; + turn base to z-axis rockAng speed rockSpeed*5; + wait-for-turn base around x-axis; + wait-for-turn base around z-axis; + rockAng = rockAng + rockDir; + } + rockDir = 0 - rockDir; + rockAng = rockAng + rockDir + rockDir; + } +} #define BASEPIECE base #define HITSPEED <20.0> @@ -16,7 +35,7 @@ static-var Stunned; #define UNITSIZE 1 #define MAXTILT 100 -#include "../unit_hitbyweaponid_and_smoke.h" +#include "unit_hitbyweaponid_and_smoke.h" Lights() { @@ -27,40 +46,98 @@ Lights() } sleep 2500; } + sleep 50; + start-script Lights(); +} + +Go() +{ + spin tower around y-axis speed <60.010989>; + spin dish around z-axis speed <120.027473>; + return (0); +} + +Stop() +{ + spin tower around y-axis speed <0.000000>; + spin dish around z-axis speed <0.000000>; + return (0); } SetStunned(State) { Stunned = State; if (Stunned) { - call-script Deactivate(); + call-script Stop(); } else { - call-script Activate(); + call-script Go(); } } +InitState() +{ + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; + return (0); +} + +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + call-script Go(); + currentstate = 0; + } + if( statechg_DesiredState == 1 ) + { + call-script Stop(); + currentstate = 1; + } + } + statechg_StateChanging = FALSE; + return (0); +} + Create() { hide blink; - SLEEP_UNTIL_UNITFINISHED; - start-script FloatMotion(); - start-script Lights(); + call-script InitState(); + while( get BUILD_PERCENT_LEFT ) + { + sleep 400; + } + start-script RockOnWaves(); return (0); } Activate() { - spin tower around y-axis speed <60.010989>; - spin dish around z-axis speed <120.027473>; + start-script Lights(); + start-script RequestState(0); + return (0); } Deactivate() { - spin tower around y-axis speed <0.0>; - spin dish around z-axis speed <0.0>; + start-script RequestState(1); + return (0); } - +SweetSpot(piecenum) +{ + piecenum = base; + return (0); +} Killed(severity, corpsetype) { diff --git a/scripts/Units/armfrad.cob b/scripts/Units/armfrad.cob index 3f7f708cf68a21e185f1cb4652b246acf025ee99..48c48b0da9b1395cb4989a3b81e1c76251ccf709 100644 GIT binary patch literal 3103 zcmb`JKWJ5V6vt0qp3kH$_6jap2w01wOg<@<^1UelYR*zKMEju|MNGpdHU^ zx;v)FAtrKiIH^OZocsME-e;0w6Fz#X+x@pjWuxAidN3Ysik?cQe8Q|{5`4i^O@4+y z7{^~*hz&%H$Y*ABkdB%l*Y#sa^-c`e4Z>gs-WPg^O|NeCVU2{+T2c!j`lTAbjk54P zl&C)^)L`M_I_~A#$lvErJaqK^t`6mV${1d=;|DHZY}jk={k~uaeJ@5a%PkqZ&U3V> zLiYDk5Tr+)ct;qe%>o^5xF0|`#}PaH?Svj#aG%$;x3Ui*8H-02N-Y^L4H z%hJgOJJ-6jn0M{#jy3YmiZ!ylk*~Ge*@8{VxRE#W%%-z%*0OHAe7Tw-`(i$Ct#kM) mYx=RVk;#3fliS(W^0FWJ>laEB+*idev7N6%UIZ;tvtb7MR9xzz`E1Dtv}u2KeklAAP7N^%=%C zz-Kr5=u;D$`mBj^$alHsmnDZPqyF$lF@8AowESJZV?Wp1kt6Z$mi#34^H@IDsCw!M zGR4POU~OMmi{6Vo@Zc9C#^hZ%#aNsTu`Ew{C9lPIbyu8+Tuf*Cjcoffx=nxqeVe`9 zx9KTmP=2d54AF1;<}6&j=-bZ4`ZoE0`)1D4zKM%$v-Dx76a)G;``E*u&)f9!T6N#W z+!lSqr{`_*s{8iEc{4X@-xl{YhQ^S0V>N#u>A{_^h5KsviIuuG3&Xv3x+}U4q1F~U z;jyzH*x|?F8*2h~tMV{~q{D{EonNt`!&Ys?`S&#+_C-4ChGzw1eK=t_PwU0%NNWab zZ%eSp*|Rw?Tgc^$dJZYcN{z}Z2WMw~$nDC~kXWRR68L8LKX;9C^`wSqyTj6ch zd2rv@Kl5c}Cc!UB=+{x&vq3go`}jD+$m|6(`%w&X6*>8SvOUK}FE+QYA|92^W*R^B z3o+viy-D)W8~#>DKZj4=<>>b=`VDDy%kiz&-FzSQl|-NBK1c%XtKH>i5s%vLCa&zk zS21KpbdQUf|6+KWP+rb}I$y67qqE?B_+%KV?0v8r*c;USxXQDRA*k22emd(V`{f}V+ANF4gutBew#`k)$BK~&p^F&IA*`oV6p+4Xf4>>+3L zr{*+In2ng{cFYs-f5>BT|0T~fwZuI4V;<({PyLkhED=NfmiwXizr}hKeXVAb%dvoc z5$zH1sffA$CfX$6UeO`Z2@$_%kBH8QE{di_S4G!Fw?&Jhd!h%ThoUE<=b{sxUNfKQ zJiU8}t? //how 'heavy' the unit is, on a scale of 1-10 #define UNITSIZE 3 #define MAXTILT 200 -#define RECOIL_POWER 30000 -#include "../unit_hitbyweaponid_and_smoke.h" +#include "unit_hitbyweaponid_and_smoke.h" + + +RockUnit(anglex, anglez) +{ + turn base to x-axis anglex speed <15.00000>; + turn base to z-axis anglez speed <15.00000>; + wait-for-turn base around z-axis; + wait-for-turn base around x-axis; + turn base to x-axis <0.00000> - anglex speed <12.00000>; + turn base to z-axis <0.00000> - anglez speed <12.00000>; + wait-for-turn base around z-axis; + wait-for-turn base around x-axis; + turn base to x-axis anglex / <0.01099> speed <9.00000>; + turn base to z-axis anglez / <0.01099> speed <9.00000>; + wait-for-turn base around z-axis; + wait-for-turn base around x-axis; + turn base to x-axis <0.00000> speed <3.00000>; + turn base to z-axis <0.00000> speed <3.00000>; + sleep 150; + return (0); +} Create() @@ -27,52 +62,61 @@ Create() hide flare1; hide flare2; gun_1 = flare1; - start-script FloatMotion(); + start-script RockOnWaves(); + return (0); } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; - turn turret to y-axis heading speed <450.0>; - turn sleeve to x-axis <0.0> - pitch speed <450.0>; + signal SIG_AIM; + set-signal-mask SIG_AIM; + turn turret to y-axis heading speed <450.00000>; + turn sleeve to x-axis <0.00000> - pitch speed <450.00000>; wait-for-turn sleeve around z-axis; wait-for-turn turret around y-axis; return (1); } -Shot1(){ - gun_1 = !gun_1; +FirePrimary() +{ + ++gun_1; + if( gun_1 == 3 ) + { + gun_1 = flare1; + } + return (0); } -FireWeapon1() +AimFromPrimary(piecenum) { - gun_1 = !gun_1; + piecenum = turret; + return (0); } -AimFromWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = turret; + piecenum = gun_1; + return (0); } -QueryWeapon1(pieceIndex) +SweetSpot(piecenum) { - pieceIndex = flare1 + gun_1; + piecenum = base; + return (0); } - Killed(severity, corpsetype) { if( severity <= 25 ) { corpsetype = 1; - + //explode base type FALL | NOHEATCLOUD; return (corpsetype); } if( severity <= 50 ) { corpsetype = 2; - + //explode base type FALL | NOHEATCLOUD; explode flare1 type FALL | BITMAP3 | NOHEATCLOUD; explode turret type FALL | BITMAP5 | NOHEATCLOUD; return (corpsetype); @@ -80,13 +124,13 @@ Killed(severity, corpsetype) if( severity <= 99 ) { corpsetype = 3; - + //explode base type FALL | NOHEATCLOUD; explode flare1 type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP3 | NOHEATCLOUD; explode turret type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP5 | NOHEATCLOUD; return (corpsetype); } corpsetype = 3; - + //explode base type FALL | NOHEATCLOUD; explode flare1 type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP3 | NOHEATCLOUD; explode turret type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP5 | NOHEATCLOUD; return (corpsetype); diff --git a/scripts/Units/armfrock.cob b/scripts/Units/armfrock.cob index 7b4e7a6c68252f8defb17a8f1a470262f7103d36..a122ecd4be54a527732cd675abaea692abd55b52 100644 GIT binary patch literal 2857 zcmdT`J!n)x5T3hS&Y(t~V4v7Ghzg79xJ%?9RKr;}WhlGMU-=`S#n{*%wP9au_lUX%|Jx z(ELdbicCV9kW*OSf-WS*qyW2=dTnc&FDDD|bG^fO$m9AMFeM#IXv5N+SW8;c*bM?( zUJ3T(P{Ms!&e}WBG49;~ahXP3ViC3Abg+wOH`5BldGv!1o=xZeCSl+WGq!3d%pa<+}G4*Ta(VxeY;e_{i zGx(qsKhAqYU+VLC&#a}-Fu6W+1Z!w=w_3Yb@*xMQ__MPgRzuA&YfKw&#yYi~dgckH zNAn|_CTs2iz;Ju_>=&~-YU?fQc^3BOFBI2$e-+$h+TqF+#-?b59(@eHs`?7~8{jPR zz2)3+k9O`HKitQckjFjy?Kh#==n3Y7wd9)fNH}etqXfL)AzonOk1(s4t3SbC?D6jg zKUCh6c;2|zQO3{@_GlFK^yz)!Tx8IFRzE*uA&=WxKO{jPh=m`U9ct!u&QaF2&93cZ zoVfQBe5>;OFl)q&W5kqb4)>d*osrI6b#S}qkl4L>eveL`o(;Fetz(;O)-U7ZYxrDi zPV`=S^N8OsFUF2-s~?AxbzEBy_KOjN`45;B=8UGkk$H5EHni^5vt}LRykn;Ej#cAV z&H-~0-=E?%anGn#d)wRJ&ld9jkhji2z+uer*hA%1@x9mg%1wc&?Gvem9Y^zt#XGP%uGvH7Lu20mZQq7TTap8c-<3yJee$#)z_Z@RJQj%;cw7!V ztbfdp@$o!!d~HD3OJ^t8G9cH1um(I2IsR{)*-8g_3E|&}laSkxhmaSLcaRT|&ycSW z{=e`(2}_6vxj@CL>spE2vPY?YI?{iJ){<6I-Iv3ThB{;^;i;kVz(tla{XR!qScH z#*K?$T}XG`>vwSBzWo4#f&mwT2>Sos=bp*+aTJM@oVoYB{LkAx_a+T9+a{V8t<}x+ z8$WAX%^rzfi}p(rzR*{z9%`W;j$_ekgnGLk*dmAcfyHJgoAy++!6!0AU}|h8VD=$T zn1;4FW(wT|%s0prrm1a?p(gkk?_x8oi;r0*`M2A(2~)AA^*6GeeK+5}fZ+eA;KYvO zcsy%20(nH94iUmmBr64(7(%gXZ*#AV)Zc<;~F z-7=U^x9h8QyPQ-e#rIt8BXx5Y)++1vbMd;J|J=Hnv%GHn!uu@!zej=zb-R9c?cMWs zxlo&~yPVsyZua?kJHP3=LwVlJOwL>=CYtvoP zb%?okk;xuC{Xoxtj(vMN+U`;urjT&xP}%7X9Wr!{cAEdtEPY8v-sH=Qjn`qa;XJ(- z&m+$nTYp>j1J3SmuEU3gGM~e;+sIKdG9NKUs%bXaA>$5t9Nr8to-1;n|A$u`uO>HE-nL)tU6m!p8Vm9 z-f{%eh(fedqh6#*uZm#a$NM8X7ax*4!y$M^BBhn**l+bPZO@D z)z;J7ue<&{$?KUsk9~*$^g-vq+wd^iBaUywMN2)fIQLfJJvVBM7~R#l>MO6;?`o8h z%S!o<82jJK{j;OBI9m~~8DKt8gF)y1#%J0p??>z(AWahcIFs7vc>GWgonveFri16~ zem_O;cM#wC`9z=c?|R~mW2L#rCXeMk$7~_wEP$V!K%^X}l2aRnYsQ2clP^ zZOZAO=!ob$(Y)x4i2qT)673Tm5gir%Bw7$%5OqZ>q8p-HqT8Z7qQ6D|i2fDL_XnNP zslli>Shf?r(Xn687oC;C^2u(_+1bJ6#dFKOk^RtF>Rc_l3rmB=!oD9Col#+Py`>T~ zV++>?qZym;4GWh@IX@hX4bH3; + rockAng = <-0.1>; + while( TRUE ) + { + while( get ABS(rockAng) < <1.31> ) + { + rockSpeed = <1.45> - get ABS(rockAng); + turn base to x-axis rockAng speed rockSpeed*5; + turn base to z-axis rockAng speed rockSpeed*5; + wait-for-turn base around x-axis; + wait-for-turn base around z-axis; + rockAng = rockAng + rockDir; + } + rockDir = 0 - rockDir; + rockAng = rockAng + rockDir + rockDir; + } +} #define BASEPIECE base -#define HITSPEED <20.0> +#define HITSPEED <30.0> //how 'heavy' the unit is, on a scale of 1-10 #define UNITSIZE 5 #define MAXTILT 50 -#define RECOIL_POWER 30000 -#include "../unit_hitbyweaponid_and_smoke.h" + +#include "unit_hitbyweaponid_and_smoke.h" +RockUnit(anglex, anglez) +{ + turn base to x-axis anglex speed <15.000000>; + turn base to z-axis <0> - anglez speed <15.000000>; + wait-for-turn base around z-axis; + wait-for-turn base around x-axis; + turn base to x-axis <0.000000> - anglex speed <12.000000>; + turn base to z-axis anglez speed <12.000000>; + wait-for-turn base around z-axis; + wait-for-turn base around x-axis; + turn base to x-axis anglex / <0.005495> speed <9.000000>; + turn base to z-axis <0> - (anglez / <0.005495>) speed <9.000000>; + wait-for-turn base around z-axis; + wait-for-turn base around x-axis; + turn base to x-axis <0.000000> speed <3.000000>; + turn base to z-axis <0.000000> speed <3.000000>; + sleep 150; +} + Create() { hide flare; hide flare; gun_1 = flare; - SLEEP_UNTIL_UNITFINISHED; - turn launcher to x-axis <-25> speed <25.0>; + while( get BUILD_PERCENT_LEFT ) + { + sleep 400; + } + turn launcher to x-axis <-25> speed <25.00000>; spin turret around y-axis speed <25.0>; - start-script FloatMotion(); + start-script RockOnWaves(); } - Stop() { spin turret around y-axis speed <0.0>; } - ExecuteRestoreAfterDelay() { if (Stunned) { return (1); } - turn launcher to x-axis <-25> speed <25.0>; + turn launcher to x-axis <-25> speed <25.00000>; spin turret around y-axis speed <25.0>; } SetStunned(State) @@ -62,25 +101,25 @@ RestoreAfterDelay() start-script ExecuteRestoreAfterDelay(); } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; stop-spin turret around y-axis; - if( gun_1 == 0 ) - { - turn sleeve to z-axis <0.0> speed <400.0>; - } if( gun_1 == 1 ) { - turn sleeve to z-axis <120.027473> speed <400.0>; + turn sleeve to z-axis <0.000000> speed <400.000000>; } if( gun_1 == 2 ) { - turn sleeve to z-axis <-120.027473> speed <400.0>; + turn sleeve to z-axis <120.027473> speed <400.000000>; + } + if( gun_1 == 3 ) + { + turn sleeve to z-axis <-120.027473> speed <400.000000>; } - turn turret to y-axis heading speed <450.0>; - turn launcher to x-axis <0.0> - pitch speed <450.0>; + turn turret to y-axis heading speed <450.000000>; + turn launcher to x-axis <0.000000> - pitch speed <450.000000>; wait-for-turn sleeve around z-axis; wait-for-turn turret around y-axis; wait-for-turn launcher around x-axis; @@ -88,21 +127,32 @@ AimWeapon1(heading, pitch) return (1); } -FireWeapon1() +FirePrimary() { - gun_1 = (gun_1 + 1 ) % 3; + ++gun_1; + if( gun_1 == 4 ) + { + gun_1 = flare; + } + sleep 3000; + turn launcher to x-axis <-25> speed <25.00000>; + spin turret around y-axis speed <25.0>; } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = turret; + piecenum = turret; } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = flare; + piecenum = flare; } +SweetSpot(piecenum) +{ + piecenum = base; +} Killed(severity, corpsetype) { diff --git a/scripts/Units/armfus.bos b/scripts/Units/armfus.bos index b6e35d0aa50..afe8b6ff423 100644 --- a/scripts/Units/armfus.bos +++ b/scripts/Units/armfus.bos @@ -1,21 +1,55 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, collar1, ball1, collar2, ball2, emit1, emit2; +static-var statechg_DesiredState, statechg_StateChanging; static-var Stunned; +InitState() +{ + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; + return (0); +} -#define BASEPIECE base -#define MAXTILT 0 -#include "../unit_hitbyweaponid_and_smoke.h" +#define SMOKEPIECE base +#include "smokeunit_thread_nohit.h" +Go() +{ + set ARMORED to 1; + show emit1; + show emit2; + spin ball1 around y-axis speed <-30.00000>; + spin ball2 around y-axis speed <-30.00000>; + spin collar1 around y-axis speed <60.00000>; + spin collar2 around y-axis speed <60.00000>; + return (0); +} +Stop() +{ + set ARMORED to 0; + hide emit1; + hide emit2; + spin ball1 around y-axis speed <0.000000>; + spin ball2 around y-axis speed <0.000000>; + spin collar1 around y-axis speed <0.000000>; + spin collar2 around y-axis speed <0.000000>; + return (0); +} Create() { hide emit1; hide emit2; - SLEEP_UNTIL_UNITFINISHED; - call-script Activate(); + call-script InitState(); + while( get BUILD_PERCENT_LEFT ) + { + sleep 1000; + } + call-script Go(); return (0); } @@ -23,34 +57,57 @@ SetStunned(State) { Stunned = State; if (Stunned) { - call-script Deactivate(); + call-script Stop(); } else { - call-script Activate(); + call-script Go(); } } + +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + call-script Go(); + currentstate = 0; + } + if( statechg_DesiredState == 1 ) + { + call-script Stop(); + currentstate = 1; + } + } + statechg_StateChanging = FALSE; + return (0); +} + Activate() { - set ARMORED to 1; - show emit1; - show emit2; - spin ball1 around y-axis speed <-30.0>; - spin ball2 around y-axis speed <-30.0>; - spin collar1 around y-axis speed <60.0>; - spin collar2 around y-axis speed <60.0>; + start-script RequestState(0); + return (0); } Deactivate() { - set ARMORED to 0; - hide emit1; - hide emit2; - spin ball1 around y-axis speed <0.0>; - spin ball2 around y-axis speed <0.0>; - spin collar1 around y-axis speed <0.0>; - spin collar2 around y-axis speed <0.0>; + start-script RequestState(1); + return (0); } +SweetSpot(piecenum) +{ + piecenum = base; + return (0); +} Killed(severity, corpsetype) { diff --git a/scripts/Units/armfus.cob b/scripts/Units/armfus.cob index 468333ae62c657481c4265f15dcb35a97d584393..df9f7ccb90d5ec3d543df50a91bf22d95d106b6f 100644 GIT binary patch literal 2641 zcmcImOKTHR6h28~8Xt>WbmKydprGPnl1*I*)>@wx3@#6LM0P7pqB*V8KX`aBKc92ZQ|ZM-%aUx3P8g z(C|PK-AdKm_wsT^&Ysd9i!e{_m$*mmtZxI`w4M=J*F=`oVZDs>Yz4Y5{J_Vj!IXEc&P3|_m?Ub)gb_Aje@cNs$XIeErUb*`3_PJ5vFL4{r* zzmCrjYc@Y;Q;?tP^72z%UVf^}%P*UY)G^2YVNcTU?=$3-{U#A+NH7Z@X$v2U_-H@% zd(fHUdt}eul+h6L@PjLS-3)UNzJ0D!`1lQwgLRVQ082Us#pxWlr>%ak^ra2I56ZK? zWBoWrGLz?Ethxz*qFW+SPR<%5?MG8-C4OhUpVqIrsvrAt2y>06HRxIAiv4U-J(aG_-I2bw556|WnYFfg^4FS~Pf>02@M+C? zeA8;~vDd!lLtitw{%6hl?&f*Vw4F8&TK_!U*}jl}p4v5*8*V?Nv(%*TKF^;y@tY}{ zi9DZKVrKi3&bcUNwm(emIPeg72D}0GfUm$$;35hOfUCd?!2h8>0bhV`z;|FD_yzn0 zMnLVD$VuP~a2~h>G=OE`I&ceE2ks5}aXaqDR@$4?U!}jmbu3KN`+8<@xL= zkO;UWyQ2LBq_pYF*6>Y#8giO=x6tw@wItRhHrMj36V}36PqJ>G2;7TWCW@(L$N_S5 z2N-;?q+NLDTi&!ag^dWq!@`2M|&ikNywK5m%1>6X(NYRTGG#aeeOX%Jmw{LLreUoJT(~C zYF52#7k6Y_QIF-8Ipj05o&BUhdfGkJ=|;mYgm@Or%zZdt+==DlUAqxx+S10fSI?{t zBlRy|cV}nAS@34}BA&38a>Eje<^-(~s{ zo27oN@f&{HD)M3up-?ZSd!e0kA}>oYM1&81`B z%|*@frWpwC`|tbvuI-BNc8paq?t@y^2mkJ}0?G^VLonW7IgfeE`UDsHYR(kM`W>bZ z4p^N&!|L=IR;SN?^XyL0aGr#;cvnwVkQjA&k2c?HIDRzT1Gw!Ce;IN6oiaRVDDjzv z-sDxk7vXJ29or(%hk8fpu)d~agSygbIt(`*h99M4ks49Q*QkU1|Ix8UjgpSXac?>d zuj*jt<9fY{wQT0+m0pHhFT<<7NV_WAmi?5Cs^A6Lv}{?%|Mpw5JF+F&K(;P>Bzq!z zCVL@!BYP|RAp0cyEW6$tPOab0vwN$98{P8G&15UtQr?|kSzXTE^je+`b2pz4=Z6ml ygS_h|7l*xv#Afo$mN$F-zM#9={oF0C_WRk|xHkR%c-(cuuH*8R-f%qp?YKWI1e^i@ diff --git a/scripts/Units/armgate.bos b/scripts/Units/armgate.bos index 39784e4e5f0..d4dc743fa66 100644 --- a/scripts/Units/armgate.bos +++ b/scripts/Units/armgate.bos @@ -1,72 +1,122 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, shield; -static-var shieldEnabled; +static-var Static_Var_1, statechg_DesiredState, statechg_StateChanging; + + +ShieldOn() +{ + Static_Var_1 = 1; +} + +ShieldOff() +{ + Static_Var_1 = 0; +} + +InitState() +{ + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; +} + +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + call-script ShieldOn(); + currentstate = 0; + } + if( statechg_DesiredState == 1 ) + { + call-script ShieldOff(); + currentstate = 1; + } + } + statechg_StateChanging = FALSE; +} Create() { hide shield; - shieldEnabled = 1; -} + Static_Var_1 = 1; + call-script InitState(); +} -#define BASEPIECE base -#define MAXTILT 0 -#include "../unit_hitbyweaponid_and_smoke.h" +#define SMOKEPIECE base +#include "smokeunit_thread_nohit.h" Activate() { - shieldEnabled = 1; + start-script RequestState(0); } Deactivate() { - shieldEnabled = 0; + start-script RequestState(1); } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - return (shieldEnabled); + sleep 100; + return (Static_Var_1); } -FireWeapon1() +FirePrimary() { sleep 100; } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = shield; + piecenum = shield; } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = base; + piecenum = base; } -AimWeapon2(heading, pitch) +AimSecondary(heading, pitch) { - return (shieldEnabled); + sleep 100; + return (Static_Var_1); } -FireWeapon2() +FireSecondary() { sleep 100; } -QueryWeapon2(pieceIndex) +QuerySecondary(piecenum) { - pieceIndex = base; + piecenum = base; } -AimFromWeapon2(pieceIndex) +AimFromSecondary(piecenum) { - pieceIndex = base; + piecenum = base; } - +SweetSpot(piecenum) +{ + piecenum = base; +} Killed(severity, corpsetype) { diff --git a/scripts/Units/armgate.cob b/scripts/Units/armgate.cob index 12940dd2e07efcac2c51b8db1ef56de8ae95155e..95635c391c81556ad4054d82f4c17a9c9c7d93ac 100644 GIT binary patch literal 2070 zcmbVNJ!n%=82$3oR7CWOE`mcQac~H3I@wmLB4YGW3L=tca*NNTNqu>>WRWaRE}aBd z2L};4y15C0i=%>rlQ@Z!;3A%L-~C=*V^U)Shx`4W@8{kmWf3_B6oF?2kupwxwksl^ zfz$IMXQ0<`7EI9~M9Q_IVGMPiQm+`5r};FGXFis7RVR;B!3mVXO`kL><`fQSt`_<8 z99moXnZsP_MISq!oB4g5H0BKJtmbk@J*B=&@JSW@`H%XwhH}!*+EP#RRwyIS*&wQ4 z^W;Lsob`5wa=yQI(vWOsos+TTbvuHn{pb$04(EF1{qAn7=oB@Wu6tqZA`P{)=f@Cf z3!Sa7>uyWlM;B}5IUK)9IktTqZIkM8W~r5o)KY%VmGzO{e!6SV_rm)N4E!Of54(Hm z?Zq*B+uL!tKFNKQGUn$_UPGjfCeFe8+dW%4$6Fsqdfp9V#8k{2PkizmnGC<#isHNi)r_9LoPcb@$@cKBm?Em!Ey*-`EKj ztEP8z9s}p+=KR#F{v6_z2Hu#NcRQTsb9?jq8-LU8o%(vWeLa5XIL|EgSeSJW_+BXU zJHfsv553GD_v)j`IN!%3-v{5&tbOQj%6|G_pZlrhmhR`Ab!Lu!08fGEzz*;Rcn^F6 zz5&005|(xlI06LsBHL+Q@2ar2CRe&q5+q?_<)(eGY5QJTiY;xydarF)5F(eOWO1-+ z!;M~77Me-)knW2%RB<6%ugB4P7!PDQiml2wHf=mm1u@HUFN=d3*k-TW(xj2*(nhLJ b92tTwYm;E3m&nzq)3GhN8}_aA-FWf`mQS-1 literal 1971 zcmb7FziSjh6n?k2ZcxySMT!){HCm|PW*dXmoyMS~Nf6XZvStTeyvxbuBC$W)fCyF= z>1-^m^uMsTw-F*(CmOdWpe9qQ>R$GrkI zhD~eICF@5%^66tAlwuOoq{J_Rk2)oNl(dt>S?LS=2zw@%9QuDUxZN~STG>LMt7WQw z);u2qJ)%aC!_Devy6<_kX-?KzK6kuV)|a&DcH-jEgS5oWpuI7Mv81w|%KF%&c=9+e zV@FUaUqLbl$JLyZQqt;pa~&aAudz{#3=Pj!8>hi@eKU2taJhnVV4G?r4* zhMQ?02km`wXLUY?j`_Gd-3@oaH~ZWBW1jI&IRjPQIb%7CzS}QQHJ`psJ?q;boi>-# zzoD;zO>2-x50|M{~J%?C(hJ;jY7(C;dE6^E1c))S8t`=bBY3+~FdVwW@n~h-ERJ zJ7YX0&j*lV=G-pAv*UUG20c{$5T zv2Ulu(tH}Y4txUs08R9B2ABsHfD6Dy;4+W`%Rn38f6-sy?3~CVa0$2u+yHI^8^9x= z2kZeO;5Bdnyazr2w+1#JTDemWZ@zqB^XL8TyG3}CmAscfvBkY!|CyD}*06j*{))|2 z?UcPLa7k9nfmMBD*A9HfB>`u3&>!>0Az2WTNf44956NV$>~?J-kMkWXJ5Nj7E#x0z C1)Ku_ diff --git a/scripts/Units/armgeo.bos b/scripts/Units/armgeo.bos index 7aa8bd5f7b3..23ac243dd95 100644 --- a/scripts/Units/armgeo.bos +++ b/scripts/Units/armgeo.bos @@ -1,5 +1,7 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece smoke1,smoke2,smoke3,smoke4,base, arm1,arm2,arm3,clamp1,clamp2,barrell, barrelr,hotr,hotl,fan; @@ -231,12 +233,13 @@ Create() } +#define SMOKEPIECE base +#include "smokeunit_thread_nohit.h" -#define BASEPIECE base -#define MAXTILT 0 -#include "../unit_hitbyweaponid_and_smoke.h" - - +SweetSpot(piecenum) +{ + piecenum = base; +} Killed(severity, corpsetype) { diff --git a/scripts/Units/armgeo.cob b/scripts/Units/armgeo.cob index 772e12af054c9c2e620569050b36be7d97a14564..f2ea926714e93a7d5ebb526e3179e87133a252d6 100644 GIT binary patch literal 6900 zcmd5>KZsmK82@&&*+dhQCkUdX*h(9Vy-Nx^O)L~lad3!&&226(9FZr;o{-~Zn?^OozG z*%8o5&`#g1i;>SSPvOtgW~V^U;q?uSovfR6$lT~>-(n-@ci#2mKQCZ?U>Q`nhrBrk$t zVJ_F=^==}E1IrjEpLst{gjoKrs6&xQ9gFi(zg}rSU}O#tM}v=lIUlS1u(ki{-$s3u zKaR}b;VAas4q*~-tbNM!|B3g<=+hjoig*{McTdshBBs@Y>IIuIUUGp`V7`xP<0ooH|FoF zVvjD;(MHXr-{*?4=-yn^+uRf1zh7d`yd8AMDt8>q=kG-<36I*xCGLyQgkpZ$$bs;3 zFm9`QmT|Yyt7h^8F$0^6aGUZ&dDD3r=S@82lsfp#pQXaY!MLRk;idh$$PXAnK4M#o zuqiCwyb8Ht@owZ5ALBOmxtyQWw}H-0d$AvVe?swE-+cq~ZsE7{6EN0u*zh^#vaKD? z$ommVi+N5a@O}r6HR*8iHX_Fp&t30DdO4TgJ0)4Fh-F>;ku2wuJ&8%Ym#lbR)2Po%=u@qoE#&P|SnpB+Frf8k!#d3fZ;$gG@e@~jB|a_62X0fX-;-S|DSn)? zzBX7>9pb#x2gO|G8)~E2$m7pS8~7NHL6B?ogYxocfH~LqG1>-lmK||%a&3U6GS8iP z37)>0s^r`qpODjU%PKkdJ24^W&V~e!XKpG6ccw#*Am<)_-!OK*yBdf0{jkoQa8F7f ze}|@cRFUE>ssZ~lB?s6T>rDA_pE&G?n%@XDr>?p+Z;}&Xp^1zz(nLnsX(A&`HIWh4 zn#c%)#0~4Uk5PRj3^vgxY*y(L2Ak*;Hmmf}Rr=gSpD^1*Mp&-$VG))$>0rR}M@Te% zb^C|)&M(=euj=nQz5XD$Ue=~CF8Mls3gf~B^Q$=b!#mF|;aa+z=0g}?R{lZy;Go#V zZ-Phlgk)2BV+x5m#m)W7Z%Rh}A(^JRj^${(j?Hopwb3W3_|zM*pUO!cUv>Uh$){|V zd!uPi)hAUp>-hYz^v|;X>rPo#o;iy9AkKfPX6mtJZL-x;HtW=EQ6Hv!maiJ?#98h= z`pw^4PlE9b=nCk4(1#%YUuOh*3v?Cq4(J2W$DmI@pMpLEeGd8p^cCm^=xfk7pj)6H zKtF+g1^ofK4LZ9y+j@I6%kAZSvc5gJlG{tuoO3sMZD(s{uWZfEU4K0v?M`-V{aT*S z)^{f}dv$9(&M(>?Wmf#K>W9;QIAa$^d%2CK+bjID%0H)Vb3EGKUGc*zc1)-FcpS#5 OU7pO`pRrvU?byGX579RO literal 5683 zcmd5=O=w(I6h4_u(^_l#1Y0Ron2jz(a58m~ga#MFw zTnU0map%gNZVPS|yQ{bmH-dtoph6my`hDl#Z+hOFHVCw$KA;I77+Qa_tFB))9v`bQ#t_$tFvhj8 z_H}UBv4ZR5XS|NZyp~%H`%uLgV>%yqzh9H z&*-!mv)D7mPh4>=dTvfT+q8+#-_N0wx5J*X;*Mke{@uWo`cZbAqFuZbs{G7?1NF<{ zecN6${75N-=*q_!~2#o)GxE&7uA6z;3MXm z)|=|Z>u`CgqV8ue#HFsd`!!#Nh`zr5;7eV;C!s`JLQ${BV%~@| z7WD%<;<-Y8zRC4)iu~A`6`m8L*NxHFj*%wx=NR{hy8Cv31)=Tz#5!%~w3qAmdnE4# zZdb=?yTb3?#Qz1@l7Fpnj%gU6E!jU|a)7VjMY-TdH6_V)R!Xv1Zze zH}Adk^F^zh<|4)zcsuoVUCQ-viabO+&ym-(o9#HKn5<(N|M1X9wL0(JdGA&CM-A37 zuU)m#hrUcnUyaSacl>F`_0snWzH)pQqw*_eeY9@dePqipbsOojjW(R)n#KJ}&PiQ- zS#8aXm)`jk7hJQEiz4lbd^zg5bQQ{|jv8l87+pv9*gJ8m6FSzvl&9zbOd! z-vk2gcYo0N9F6(>*$n(6%(EW8r$(H=4@8}2QLnE@=k6K}5f5~Y&Wz4HA;xfSGf$ss zA86m5%#-RAPtwJcbnzrzJV_T%(#6vi7KggUlW_4QTs#REPr@07YZNY?q>CrnPvdEw z!7@*`+9|HvPvPlf`d}TCcoHt2u4a4j^j_A*lkCNl^hrF)e-cl^nT9+mzj#u7@g&~r zJkj?sE5f_TBo)IoCgo_L5cguzB)ict?h4QIqgo_L5;zIV~LVBGG`tv>IK>&|H zE<$cX&Y)-bd+3LdPavN{zJPoQxdFKe`5y8kQOwzpyzN zlpD57*QGS{(r_*fPuQ#d-O~EQttI~H@y|J1AN03&meSCJ#c)^-26-IXrR_ccGqBhC Gm+c?FeUk|Q diff --git a/scripts/Units/armgmm.bos b/scripts/Units/armgmm.bos index 594cc6b19d0..6949d1deb24 100644 --- a/scripts/Units/armgmm.bos +++ b/scripts/Units/armgmm.bos @@ -1,14 +1,18 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, smoke; -#define SIGNAL_TURNON 4 +static-var statechg_DesiredState, statechg_StateChanging; + + SteamVents() { - signal SIGNAL_TURNON; - set-signal-mask SIGNAL_TURNON; + signal 2; + set-signal-mask 2; while( TRUE ) { emit-sfx 257 from smoke; @@ -16,29 +20,80 @@ SteamVents() } } +Go() +{ + set ARMORED to 0; + start-script SteamVents(); + +} + +Stop() +{ + + signal 2; + set ARMORED to 1; +} + +InitState() +{ + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; +} + +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + call-script Go(); + currentstate = 0; + } + if( statechg_DesiredState == 1 ) + { + call-script Stop(); + currentstate = 1; + } + } + statechg_StateChanging = FALSE; +} + Create() { hide smoke; - SLEEP_UNTIL_UNITFINISHED; + while( get BUILD_PERCENT_LEFT ) + { + sleep 250; + } - start-script Activate(); + call-script InitState(); + start-script RequestState(0); } - -#define BASEPIECE base -#define MAXTILT 0 -#include "../unit_hitbyweaponid_and_smoke.h" +#define SMOKEPIECE base +#include "smokeunit_thread_nohit.h" Activate() { - set ARMORED to 0; - start-script SteamVents(); + start-script RequestState(0); } Deactivate() { - signal SIGNAL_TURNON; - set ARMORED to 1; + start-script RequestState(1); +} + +SweetSpot(piecenum) +{ + piecenum = base; } Killed(severity, corpsetype) diff --git a/scripts/Units/armgmm.cob b/scripts/Units/armgmm.cob index 3ec886f23fc5aec8d9feb63c15d0db3b73deb48f..9aeb7ab974a93cbc8a77b834f707047ff1296d09 100644 GIT binary patch literal 1839 zcmcgtJ&P1U5Ut%C=TAvL;4yFl z`zMf{&<*sHX&UD1S-nQ6$S@5{5VUou_#lCT`_EkTJ3&sT0aU7kU?Sx@(9~tUAR!HE zZ|cprS%b%Ee#9}C#+fhmNx#;)jeD=leIU(8~&p=vevM9A3Bct2E!P@wa2i z&3x3?Iraq3YzsQKd5totZIJ;PW<-h4?Vh6pjzoX{N579ZRYdwY{J%`^#?lZVh&LCxonTJK4(@r+_${dvKGuCsne5;m^ zbNkbLOw7DJa-$Zm_1@TeW_s4RTODikvpUwT4!)27Q3q@On_Pacbm-RSzx2hUm3-G`440sN_0Jed*z&qd*@D1oKiYx(#fuq22Ag^Mvc{z@& zQqE1Vn@nYOJgV}lsG?kq*SBJ6o3l3}b@}FGJzj!~oF7%ox39!vIvLBEwQ6*e=9O6Z ZGQSmLl}{&?To`R^#A|Z3D5I2&m+w@qg*yNM literal 1763 zcmai#J!@1^5Qb+za!ny}M3IQiVj&h5t5{fAWHp6R1R)R`!CbQ!S&Iyb7*~tM}s^a*_jZ_^Ic8&J_O;3$9Yr_yNAC!7i-^^*-p79H6}59 zwAJpW`syj>lCP;)D`_yCrDEUs5%}Im-ZNOf3*vESi>=V?*1kMO4hwZZPZAy%bLF^L zBh9p%aQHkYb*`PLd-PtZZ{1ehN#v^s>sXw@dxHZPDD_+)%$@MTF)!SGndn#2z9-q}Gh zsAGJ(!<^X#Z(u&$EKdgJLcjg9-+ zuHUrtC~e~9SbuAIFJ~jJo@d$Tk&iu)1O5jv;aIGnpNW$z)=F;=D3~~7r_TE@<>h_M z%KHwo>deZ!4kqQ@O?l&8oYC)LdFk^g?)yV}!hJ?^QL-xeE;*-uE=Vp*_@D7c@>cRu z@=5Yp@t-Ysca{r{sZ(gb{hZy diff --git a/scripts/Units/armgplat.bos b/scripts/Units/armgplat.bos index 53809428672..3b31ad8d0ac 100644 --- a/scripts/Units/armgplat.bos +++ b/scripts/Units/armgplat.bos @@ -1,23 +1,43 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece flare1, flare2, base, turret, sleeves, barrel1, barrel2; static-var restore_delay, gun_1; // Signal definitions -#define SIGNAL_AIM1 256 +#define SIG_AIM 2 -#define WATER_ROCK_UNITSIZE 7 -#include "../floatmotion.h" +RockOnWaves() +{ + var rockDir, rockAng, rockSpeed; + rockDir = <-0.1>; + rockAng = <-0.1>; + while( TRUE ) + { + while( get ABS(rockAng) < <1.31> ) + { + rockSpeed = <1.45> - get ABS(rockAng); + turn base to x-axis rockAng speed rockSpeed*5; + turn base to z-axis rockAng speed rockSpeed*5; + wait-for-turn base around x-axis; + wait-for-turn base around z-axis; + rockAng = rockAng + rockDir; + } + rockDir = 0 - rockDir; + rockAng = rockAng + rockDir + rockDir; + } +} #define BASEPIECE base #define HITSPEED <30.0> //how 'heavy' the unit is, on a scale of 1-10 #define UNITSIZE 2 #define MAXTILT 200 -#define RECOIL_POWER 10000 -#include "../unit_hitbyweaponid_and_smoke.h" + +#include "unit_hitbyweaponid_and_smoke.h" Create() { @@ -27,13 +47,16 @@ Create() hide flare2; gun_1 = flare1; restore_delay = 3000; - SLEEP_UNTIL_UNITFINISHED; - start-script FloatMotion(); + while( get BUILD_PERCENT_LEFT ) + { + sleep 400; + } + start-script RockOnWaves(); } -SetMaxReloadTime(reloadMS) +SetMaxReloadTime(Func_Var_1) { - restore_delay = reloadMS * 2; + restore_delay = Func_Var_1 * 2; } static-var Stunned; @@ -42,8 +65,8 @@ ExecuteRestoreAfterDelay() if (Stunned) { return (1); } - turn turret to y-axis <0.0> speed <90.016484>; - turn sleeves to x-axis <0.0> speed <50.005495>; + turn turret to y-axis <0.000000> speed <90.016484>; + turn sleeves to x-axis <0.000000> speed <50.005495>; } SetStunned(State) { @@ -58,48 +81,51 @@ RestoreAfterDelay() start-script ExecuteRestoreAfterDelay(); } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; - turn turret to y-axis heading speed <200.0>; - turn sleeves to x-axis <0.0> - pitch speed <200.0>; + signal SIG_AIM; + set-signal-mask SIG_AIM; + turn turret to y-axis heading speed <200.000000>; + turn sleeves to x-axis <0.000000> - pitch speed <200.000000>; wait-for-turn turret around y-axis; wait-for-turn sleeves around x-axis; start-script RestoreAfterDelay(); return (1); } -FireWeapon1() +FirePrimary() { if( gun_1 == 0 ) { emit-sfx 1024 + 0 from flare1; - move barrel1 to z-axis [-2.200000] speed [300.0]; + move barrel1 to z-axis [-2.200000] speed [300.000000]; wait-for-move barrel1 along z-axis; - move barrel1 to z-axis [0.0] speed [3.0]; + move barrel1 to z-axis [0.000000] speed [3.000000]; } if( gun_1 == 1 ) { emit-sfx 1024 + 0 from flare2; - move barrel2 to z-axis [-2.200000] speed [300.0]; + move barrel2 to z-axis [-2.200000] speed [300.000000]; wait-for-move barrel2 along z-axis; - move barrel2 to z-axis [0.0] speed [3.0]; + move barrel2 to z-axis [0.000000] speed [3.000000]; } gun_1 = !gun_1; } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = turret; + piecenum = turret; } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = gun_1; + piecenum = gun_1; } - +SweetSpot(piecenum) +{ + piecenum = base; +} Killed(severity, corpsetype) { diff --git a/scripts/Units/armgplat.cob b/scripts/Units/armgplat.cob index 6130bedcb79aa59e59a583d7716032af724747f0..129c8c718d49daa810968a4686faf4416cbbf90f 100644 GIT binary patch literal 3660 zcmbW4&5K)A7{*UBXp)Op^?aV2L=3}^XM>_=} zE)+rh_!GMKAJCO93c662F5HQ@5=C%XB|g7%&YRpxlbST)?R)O~{XFlv8QO5pJt#RY zd1}SEhBTj>_vxSeojWZ#spFf{u2s)WYFRz|b2J*&+p_6XeXgZvwA*fGK0SXRU00s@ zag$fouHDE&EsWW*jQouhcS4Ey7Omr2D;e|El}}$Z`NyPPTRwfmj4c;@m=}qoj$=wR zpLDi9)TB=I#Ti1MGtCUHnE~H8Ce3NK+w$ksy0=oxtvAQJu^m;h?55Z-v#`4}aW1Vq z%z%E*5mzoJjKz@_;8u-TL_Ara(9@Y zmZpn@BlP8b*!d*;0N=(l}e|oWp(DO#* z|9ZmG3`v!mX}(|vxA4x2u{$uvx))~;xQFrF{}`%v0#YscB~&;wgbrfFZ;xqLLi7j~^Y&fyNE^H6@P$KUsP z^$45igWGw&fI~ge@LRe@_Y-d8Z4unypzn~{i4(&;%V+pz`6xlHW%x4Ov+CUm z_YTbx?jI9wyKjr&W|z!LUvSUk050(@v-@T6)86XeX&&S0|K^_NjGD{vVtB)gm3UbM zyWN?)&9{4XxB157to(U9HcpqxndX5Q%SG7{{Ub& B4bK1o literal 3886 zcmbuCPiWj#5Xawcwp)y7e}YvjQddR2MA!rbFVaL~v`U~RtwIl_Yw}u_Zn9yTa)Qd>LdKbJ@yy->ILa*Y*W5I)gB7&&#`+4up?#r*+2zA5o-pqVw<~#4-ZW_+H z1CsrcQxncLH1fH6pL4%R9=qSUDd{h0bgg<(E9%9o09uWr-mVu+u_OGUf_a!pdm>=! z$%cuT8j~?G&tXq7@E{K+Vnl6h%#+wtOjFZ5W?#}nz0=KNTY6xb>?g@yOoX1ccN9Cj zoA2ieB;N;>IH|)rR?oE?1w4Wd`IHN+tqWu9J=S3k{{4h8{V+i(*Ccc0vO3j~x|ZLy zT)|rNF`KP7x~PAAx9yAdZTkQ1o8I%j$%}4h z>7U1C7}K};Z*1+}Z?h}vuKSMXHulXt-*40Jy6+8|KH1pF#C;qkK`_?gc!Z|@7(gQ^owp-iJ1BOf-XG}>ZGT+xiV zG=(>O8NpZ|V8B{0#v|tp77Y2n*JyXn&Vl*J;fl!Tc@-IPRE;c0sF8Y_O*m}aA`C%zh-=Y;NvunK;)gY_#5d*j)C<3%_~gBS4MzG_ zzvD3WriD1josaKrAo^aMw?B$^FyyNAfzN8fHT2(#?}+uJ9Ub=0d}MDH_k^S|hpipF zZJmPqSnTzaw8r7PUS|$ptUXm@y#C|gJF*txyBBAxHk?P?#E@%_%j-oBvEEmedLvG| z>+u_fZJ?gb$JH~R)pOdz{2Y_Q&LHvZcYY^xzvZ}-pMABnL#{&vw_;znQeX5#y!CYj zOtF9XePen!x61Kp^0U6=G(YBCx8H2$4|RlRq`#b3cn=b<7K+> zG94KCjJNSJ|6aUS2u{3?Bwp0pi`QjhGG4kGK{sB;12en~Z@f&e@&fx`wLeR>z=1d2 zYMXAgKTde7ZF;pfuv?NRsOc8`sciRdEh&xcgwz9>|9v#%CvgCyXM_1 z7yQa*>6iRQ*&q11Go>HQ`(EcF$mMc#eci9R+nsaWwOD)FEp!Lo<}xn~`a{>7n|_cu rPP;d{y`FNN>2(HvIu0}Loz8}L<>p}EOSjSU{$0Nzo7CQP8fV speed <180>; turn ldoor to z-axis <90> speed <180>; move base to y-axis [1.8] speed [3.6]; - wait-for-turn rdoor around z-axis; - + sleep 500; turn rdoor to z-axis <-180> speed <180>; turn ldoor to z-axis <180> speed <180>; move base to y-axis [3] speed [2]; - - wait-for-turn rdoor around z-axis; - isOpen = TRUE; + + + + sleep 500; } FoldGun() { - isOpen = FALSE; move barrel to z-axis [0] speed [1.6]; turn turret to y-axis <0> speed <360>; turn sleeve to x-axis <0> speed <360>; @@ -57,12 +58,12 @@ FoldGun() turn rdoor to z-axis <-90> speed <180>; turn ldoor to z-axis <90> speed <180>; move base to y-axis [1.8] speed [2.8]; - wait-for-turn rdoor around z-axis; + sleep 500; turn rdoor to z-axis <0> speed <180>; turn ldoor to z-axis <0> speed <180>; move base to y-axis [0] speed [3.6]; - - wait-for-turn rdoor around z-axis; + + sleep 500; } #define BASEPIECE base @@ -70,53 +71,138 @@ FoldGun() //how 'heavy' the unit is, on a scale of 1-10 #define UNITSIZE 1 #define MAXTILT 100 -#define RECOIL_POWER 10000 -#include "../unit_hitbyweaponid_and_smoke.h" +#include "unit_hitbyweaponid_and_smoke.h" -#define TB_BASE base -#define TB_TURNRATE <20.0> -#define TB_TILT_X <0.15> -#define TB_BANK_Z <0.10> // Do not define this if you dont want banking -#include "../tilt_bank_mobileunit.h" +Go() +{ + Static_Var_3 = 1; + if( !Static_Var_1 ) + { + while( !Static_Var_4 ) + { + sleep 150; + } + call-script OpenGun(); + Static_Var_1 = 1; + } +} + +Stop() +{ + if( Static_Var_1 ) + { + Static_Var_1 = 0; + call-script FoldGun(); + } + Static_Var_3 = 0; +} + +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + sleep 100; + if( statechg_DesiredState ) + { + call-script Stop(); + currentstate = 1; + } + else + { + call-script Go(); + currentstate = 0; + } + } + statechg_StateChanging = FALSE; +} + +MotionControl(moving, aiming, justmoved) +{ + justmoved = TRUE; + while( TRUE ) + { + moving = bMoving; + aiming = Static_Var_3; + if( moving ) + { + sleep 100; + if( aiming ) + { + Static_Var_4 = 1; + } + else + { + Static_Var_4 = 0; + } + justmoved = TRUE; + } + else + { + Static_Var_4 = 1; + if( justmoved ) + { + + justmoved = FALSE; + } + sleep 300; + } + } +} + Create() { hide flare; - isOpen = 0; + bMoving = FALSE; + Static_Var_3 = 0; + Static_Var_4 = 1; + Static_Var_1 = 0; + restore_delay = 2000; + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; + while( get BUILD_PERCENT_LEFT ) + { + sleep 500; + } + start-script MotionControl(); +} + +SetMaxReloadTime(Func_Var_1) +{ restore_delay = 6000; - call-script TB_Init(); - SLEEP_UNTIL_UNITFINISHED; - //start-script Movement(); } -StartMoving(reversing) +StartMoving() { - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; - START_TILTBANK; + bMoving = TRUE; } StopMoving() { - signal SIGNAL_MOVE; - STOP_TILTBANK; + bMoving = FALSE; } - static-var Stunned; - ExecuteRestoreAfterDelay() { if (Stunned) { return (1); } - turn turret to y-axis <0.0> speed <360.0>; - turn sleeve to x-axis <0.0> speed <360.0>; - start-script FoldGun(); + set-signal-mask 0; + turn turret to y-axis <0.000000> speed <360.000000>; + turn sleeve to x-axis <0.000000> speed <360.000000>; + start-script RequestState(1); } - SetStunned(State) { Stunned = State; @@ -130,24 +216,24 @@ RestoreAfterDelay() start-script ExecuteRestoreAfterDelay(); } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; - start-script OpenGun(); - while( !isOpen ) + start-script RequestState(0); + signal SIG_AIM; + set-signal-mask SIG_AIM; + while( !Static_Var_1 ) { sleep 200; } - turn turret to y-axis heading speed <360.0>; - turn sleeve to x-axis <0> - pitch speed <3600.0>; + turn turret to y-axis heading speed <360.000000>; + turn sleeve to x-axis <0> - pitch speed <3600.000000>; wait-for-turn turret around y-axis; wait-for-turn sleeve around x-axis; start-script RestoreAfterDelay(); return (1); } -FireWeapon1() +FirePrimary() { show flare; move barrel to z-axis [0.4] now; @@ -156,16 +242,20 @@ FireWeapon1() hide flare; } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = turret; + piecenum = turret; } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = flare; + piecenum = flare; } +SweetSpot(piecenum) +{ + piecenum = base; +} Killed(severity, corpsetype) { @@ -175,6 +265,18 @@ Killed(severity, corpsetype) explode base type BITMAPONLY | NOHEATCLOUD; explode blleg type BITMAPONLY | NOHEATCLOUD; explode bltrack type BITMAPONLY | NOHEATCLOUD; + //explode frleg type BITMAPONLY | NOHEATCLOUD; + //explode frtrack type BITMAPONLY | NOHEATCLOUD; + //explode flleg type BITMAPONLY | NOHEATCLOUD; + //explode fltrack type BITMAPONLY | NOHEATCLOUD; + //explode rdoor type BITMAPONLY | NOHEATCLOUD; + //explode brleg type BITMAPONLY | NOHEATCLOUD; + //explode brtrack type BITMAPONLY | NOHEATCLOUD; + //explode turret type BITMAPONLY | NOHEATCLOUD; + //explode sleeve type BITMAPONLY | NOHEATCLOUD; + //explode barrel type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare type BITMAPONLY | NOHEATCLOUD; + //explode ldoor type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } if( severity <= 50 ) @@ -183,6 +285,18 @@ Killed(severity, corpsetype) explode base type BITMAPONLY | NOHEATCLOUD; explode blleg type FALL | NOHEATCLOUD; explode bltrack type FALL | NOHEATCLOUD; + //explode frleg type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode frtrack type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flleg type FALL | NOHEATCLOUD; + //explode fltrack type FALL | NOHEATCLOUD; + //explode rdoor type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode brleg type FALL | NOHEATCLOUD; + //explode brtrack type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode turret type FALL | NOHEATCLOUD; + //explode sleeve type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode barrel type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare type FALL | NOHEATCLOUD; + //explode ldoor type FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) @@ -193,6 +307,16 @@ Killed(severity, corpsetype) explode bltrack type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; explode frleg type SMOKE | FALL | NOHEATCLOUD; explode frtrack type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flleg type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode fltrack type SMOKE | FALL | NOHEATCLOUD; + //explode rdoor type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode brleg type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode brtrack type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode turret type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode sleeve type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode barrel type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode ldoor type SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; @@ -201,5 +325,15 @@ Killed(severity, corpsetype) explode bltrack type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode frleg type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode frtrack type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode flleg type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode fltrack type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode rdoor type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode brleg type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode brtrack type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode turret type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode sleeve type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode barrel type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode ldoor type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/armgremlin.cob b/scripts/Units/armgremlin.cob index 9212ce3a06800f3ea879a58399fff760859f1166..ed2bdedfc5fd26765bd108c55df13f9268b9cda5 100644 GIT binary patch literal 4896 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 diff --git a/scripts/Units/armguard.bos b/scripts/Units/armguard.bos index 643d0e87d55..e6e9ab156df 100644 --- a/scripts/Units/armguard.bos +++ b/scripts/Units/armguard.bos @@ -1,11 +1,13 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece flare1, flare2, base, turret, barrel1, barrel2, sleeves; static-var nextBarrel, trajectoryMode, lastHeading; -#define SIGNAL_AIM2 1 +#define SIGNAL_AIM 1 #define LOW_TRAJECTORY 0 #define HIGH_TRAJECTORY 1 @@ -16,75 +18,87 @@ Create() hide flare2; hide flare1; hide flare2; + dont-cache flare1; + dont-cache flare2; + dont-cache barrel1; + dont-cache barrel2; + dont-cache sleeves; + dont-cache turret; + dont-shade flare1; + dont-shade flare2; + dont-shade barrel1; + dont-shade barrel2; + dont-shade sleeves; + dont-shade turret; nextBarrel = 0; } +#define SMOKEPIECE base +#include "smokeunit_thread_nohit.h" -#define BASEPIECE base -#define MAXTILT 0 -#include "../unit_hitbyweaponid_and_smoke.h" +RequestState(requestedState) +{ + trajectoryMode = requestedstate; +} Activate() { - signal SIGNAL_AIM2; - trajectoryMode = HIGH_TRAJECTORY; + signal SIGNAL_AIM; + start-script RequestState(HIGH_TRAJECTORY); } Deactivate() { - signal SIGNAL_AIM2; - trajectoryMode = LOW_TRAJECTORY; + signal SIGNAL_AIM; + start-script RequestState(LOW_TRAJECTORY); } restoreAfterDelay() { - set-signal-mask SIGNAL_AIM2; + set-signal-mask SIGNAL_AIM; sleep 3500; - if(lastHeading > <-180.0>) - { - turn turret to y-axis <180.0> speed <30.0>; - } - if(lastHeading > <-135.0>) + if(lastHeading > <-180.000000>) { - turn turret to y-axis <270.0> speed <30.0>; + turn turret to y-axis <180.000000> speed <30.000000>; } - if(lastHeading > <-45.0>) + if(lastHeading > <-135.000000>) { - turn turret to y-axis <0.0> speed <30.0>; + turn turret to y-axis <270.000000> speed <30.000000>; } - if(lastHeading > <45.0>) + if(lastHeading > <-45.000000>) { - turn turret to y-axis <90.0> speed <30.0>; + turn turret to y-axis <0.000000> speed <30.000000>; } - if(lastHeading > <135.0>) + if(lastHeading > <45.000000>) { - turn turret to y-axis <180.0> speed <30.0>; + turn turret to y-axis <90.000000> speed <30.000000>; } - if (trajectoryMode == LOW_TRAJECTORY) + if(lastHeading > <135.000000>) { - turn sleeves to x-axis <0.0> speed <45.0>; + turn turret to y-axis <180.000000> speed <30.000000>; } + turn sleeves to x-axis <0.000000> speed <45.000000>; } aimCommon(heading, pitch) { - turn turret to y-axis heading speed <30.0>; - turn sleeves to x-axis <0.0> - pitch speed <45.0>; + turn turret to y-axis heading speed <30.000000>; + turn sleeves to x-axis <0.000000> - pitch speed <45.000000>; lastHeading = heading; wait-for-turn turret around y-axis; wait-for-turn sleeves around x-axis; start-script restoreAfterDelay(); } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { if( trajectoryMode != LOW_TRAJECTORY ) { return(0); } - signal SIGNAL_AIM2; - set-signal-mask SIGNAL_AIM2; + signal SIGNAL_AIM; + set-signal-mask SIGNAL_AIM; call-script aimCommon(heading, pitch); // Prevent low-trajectory "bonus shots" while high-trajectory is reloading @@ -98,27 +112,27 @@ AimWeapon1(heading, pitch) return (1); } -AimWeapon2(heading, pitch) +AimSecondary(heading, pitch) { if( trajectoryMode != HIGH_TRAJECTORY ) { return(0); } - signal SIGNAL_AIM2; - set-signal-mask SIGNAL_AIM2; + signal SIGNAL_AIM; + set-signal-mask SIGNAL_AIM; call-script aimCommon(heading, pitch); return (1); } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = sleeves; + piecenum = sleeves; } -AimFromWeapon2(pieceIndex) +AimFromSecondary(piecenum) { - pieceIndex = sleeves; + piecenum = sleeves; } fireCommon() @@ -128,53 +142,56 @@ fireCommon() emit-sfx 1024 + 0 from flare1; move barrel1 to z-axis [-6.250000] now; sleep 100; - move barrel1 to z-axis [0.0] speed [2.500000]; + move barrel1 to z-axis [0.000000] speed [2.500000]; } if( nextBarrel == 1 ) { emit-sfx 1024 + 0 from flare2; move barrel2 to z-axis [-6.250000] now; sleep 100; - move barrel2 to z-axis [0.0] speed [2.500000]; + move barrel2 to z-axis [0.000000] speed [2.500000]; } nextBarrel = !nextBarrel; } -FireWeapon1() +FirePrimary() { call-script fireCommon(); } -FireWeapon2() +FireSecondary() { call-script fireCommon(); } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { if( nextBarrel == 0 ) { - pieceIndex = flare1; + piecenum = flare1; } if( nextBarrel == 1 ) { - pieceIndex = flare2; + piecenum = flare2; } } -QueryWeapon2(pieceIndex) +QuerySecondary(piecenum) { if( nextBarrel == 0 ) { - pieceIndex = flare1; + piecenum = flare1; } if( nextBarrel == 1 ) { - pieceIndex = flare2; + piecenum = flare2; } } - +SweetSpot(piecenum) +{ + piecenum = base; +} Killed(severity, corpsetype) { diff --git a/scripts/Units/armguard.cob b/scripts/Units/armguard.cob index 94c84f46c5265cf658cade60e52c7f1bafca6638..a7f4bc7dd8be7cdf5ee32215319eab6cecde231a 100644 GIT binary patch literal 3998 zcmbVPO=ule6h4{0Oak?1By{1*fl|8A#Y=Qw)0QGsB>F0)x-esM15e+}i}U8yrcgSo zQa2ShN_Sl}J3-N<3+={@8x_HYAO$zBL_zQeHGbc{_q@3o-XwWV`8fC9^PS&&?j&uA z$O142ym3UN1<9Z99u`R-5$OR>VSf`+Rwbd1a>mO&`_k(ntsc_)gPbK1GWHUoMDBY& zq~$|eKBVPCT0SKCGf8CQx7tqXURL5n(kS8nG5SqgiLA!SGc}vg2W`lAb;QZYb8URs zM?OXb4qcLanv3?V_5FfB%k0^V^~EJ~tH%j_SpSLhamoAO*`#<&bl5(UNZa{muH!rs zcd`}S4}96UAW`4MwdW07#?=|Qa18xcKdGNB@B6r8;+1u~tbN6;=Qu%T7@srPqI-PaBS8}07 zOvnAjb9tuR%Ab3up)F0-_TMSu%wsq-c2gYcIYUi)zES>T3gkY{Me6E!rRJaYkdt~@ zLdq)MWimIO(-cSKl#r^^-&ZM)>NAW4rUi(b0-mTh~ z-WO+7Ydwgk{XK|B*J016?dzm^8GBOh^}bHqqy2i^6jS>;DbK^)i}w3L?e!iW)V_W{ z+@A!l0Pg{}fxEy*z_-905-NtK`h8HByZx2C+t2cCE<0vzu(|Fx z=kh_Q!2~DqZJoV~Wn!ppf(3 mUeBz{MlZ|Fq7zHiVkctLpCe-qy|R zLC7J#ZzQpfvWGC`TAypcbMCpo&Uu&Xtrd@LV_L@==z1TTY`w4%Pk!V*7S13aZNFq=hXdyqqs7^ zwU&KPygxWt(>yP6qYr%vWj>Aj`xgGhv0nP_V#@JNjEuqjidi1574}G2Ko7*G82Ynj z^}Y)ub5d8o$~BY2F9gJ1ux9RuWnoX`%h6g(zNS4W;$H6Aem1%;@bL^&XD@hW=h0rL zj&sTyI91PyWi2|l-(jkFI-AmY=2Jf(GYeE5Nmttr_mp$i!!fN#9EGFHf8usRypQ;-L2h4B zjCtSAe6Bt|ibRZk;dmJTcmp8Z0q(Wu0-NqaV^;W`D*4_1wA!!sL*chp@`G1pzJDHu zE#B!1CBMJVRQvt)YTU=;q%7-ikjJ{ zs&#yiRP^Y)xFec+pJLNGUx-+)343?`>OAg$y=Z5AqJ=L&ztP&mrGHzK8q-`5iKc zH1I8X1ab^=64Hb`0%<|c<*qk%_UvH#^z|2AZ+m>@xqhnIYH!rL?E24-#;-Z+UYZWB z5x?qsn&xgY9p|pQHFf!_8}_bSZ!kJH9*xFVtUDNmpzUJX;dCt@r @@ -15,7 +19,7 @@ static-var isMoving, canAim, gun_1, gun_2, restore_delay, moveSpeed, currentSpe #define UNITSIZE 1 #define MAXTILT 100 -#include "../unit_hitbyweaponid_and_smoke.h" +#include "unit_hitbyweaponid_and_smoke.h" lua_UnitScriptDecal(lightIndex, xpos,zpos, heading) { @@ -24,12 +28,12 @@ lua_UnitScriptDecal(lightIndex, xpos,zpos, heading) RockUnit(anglex, anglez) { - turn pelvis to x-axis anglex speed <50.0>; - turn pelvis to z-axis <0> - anglez speed <50.0>; + turn pelvis to x-axis anglex speed <50.000000>; + turn pelvis to z-axis <0> - anglez speed <50.000000>; wait-for-turn pelvis around z-axis; wait-for-turn pelvis around x-axis; - turn pelvis to z-axis <0.0> speed <20.0>; - turn pelvis to x-axis <0.0> speed <20.0>; + turn pelvis to z-axis <0.000000> speed <20.000000>; + turn pelvis to x-axis <0.000000> speed <20.000000>; } @@ -37,22 +41,22 @@ RockUnit(anglex, anglez) // Using https://github.com/Beherith/Skeletor_S3O // this animation uses the static-var animFramesPerKeyframe which contains how many frames each keyframe takes static-var animSpeed, maxSpeed, animFramesPerKeyframe; -#define SIGNAL_MOVE 1 +#define SIG_WALK 4 Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations\armham_anim_walk.blend // (c) CC BY NC ND Beherith mysterme@gmail.com - set-signal-mask SIGNAL_MOVE; - if (isMoving) { //Frame:6 - turn larm to x-axis <1.500000> speed <45.0> / animSpeed; //delta=-1.50 + set-signal-mask SIG_WALK; + if (bMoving) { //Frame:6 + turn larm to x-axis <1.500000> speed <45.000001> / animSpeed; //delta=-1.50 turn lfoot to x-axis <-6.163154> speed <185.068507> / animSpeed; //delta=6.17 - turn lfoot to z-axis <0.0> speed <245.980890> / animSpeed; //delta=8.20 + turn lfoot to z-axis <0.000666> speed <245.980890> / animSpeed; //delta=8.20 turn lleg to x-axis <45.412032> speed <1371.618614> / animSpeed; //delta=-45.72 turn lthigh to x-axis <-56.567449> speed <1667.304396> / animSpeed; //delta=55.58 turn lthigh to z-axis <-6.573012> speed <14.807637> / animSpeed; //delta=-0.49 turn lthigh to y-axis <-4.474460> speed <463.091846> / animSpeed; //delta=-15.44 move pelvis to y-axis [-0.927366] speed [21.599999] / animSpeed; //delta=-0.72 - turn pelvis to z-axis <-3.0> speed <90.0> / animSpeed; //delta=3.00 - turn pelvis to y-axis <-6.0> speed <180.0> / animSpeed; //delta=-6.00 - turn rarm to x-axis <1.500000> speed <45.0> / animSpeed; //delta=-1.50 + turn pelvis to z-axis <-3.000000> speed <90.000003> / animSpeed; //delta=3.00 + turn pelvis to y-axis <-6.000000> speed <180.000005> / animSpeed; //delta=-6.00 + turn rarm to x-axis <1.500000> speed <45.000001> / animSpeed; //delta=-1.50 turn rfoot to x-axis <-22.257828> speed <655.968663> / animSpeed; //delta=21.87 turn rfoot to z-axis <-1.943872> speed <157.690279> / animSpeed; //delta=-5.26 turn rfoot to y-axis <-2.517890> speed <73.959863> / animSpeed; //delta=-2.47 @@ -61,208 +65,208 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn rthigh to z-axis <2.894788> speed <141.105847> / animSpeed; //delta=4.70 turn rthigh to y-axis <-1.732884> speed <301.076278> / animSpeed; //delta=10.04 turn torso to x-axis <-7.886800> speed <236.603994> / animSpeed; //delta=7.89 - turn torso to z-axis <-5.0> speed <149.999996> / animSpeed; //delta=5.00 + turn torso to z-axis <-5.000000> speed <149.999996> / animSpeed; //delta=5.00 turn torso to y-axis <8.977756> speed <269.332681> / animSpeed; //delta=8.98 sleep ((33*animSpeed) -1); } - while(isMoving) { - if (isMoving) { //Frame:10 - turn larm to x-axis <-0.0> speed <45.0> / animSpeed; //delta=1.50 + while(bMoving) { + if (bMoving) { //Frame:10 + turn larm to x-axis <-0.000000> speed <45.000001> / animSpeed; //delta=1.50 turn lfoot to x-axis <7.582348> speed <412.365077> / animSpeed; //delta=-13.75 turn lleg to x-axis <-20.520979> speed <1977.990340> / animSpeed; //delta=65.93 turn lthigh to x-axis <-31.530697> speed <751.102550> / animSpeed; //delta=-25.04 turn lthigh to z-axis <-7.366832> speed <23.814586> / animSpeed; //delta=0.79 turn lthigh to y-axis <1.120546> speed <167.850184> / animSpeed; //delta=5.60 - move pelvis to y-axis [-1.927366] speed [30.0] / animSpeed; //delta=-1.00 - turn pelvis to z-axis <-5.0> speed <59.999993> / animSpeed; //delta=2.00 - turn pelvis to y-axis <-10.0> speed <119.999986> / animSpeed; //delta=-4.00 - turn rarm to x-axis <-0.0> speed <45.0> / animSpeed; //delta=1.50 + move pelvis to y-axis [-1.927366] speed [30.000000] / animSpeed; //delta=-1.00 + turn pelvis to z-axis <-5.000000> speed <59.999993> / animSpeed; //delta=2.00 + turn pelvis to y-axis <-10.000000> speed <119.999986> / animSpeed; //delta=-4.00 + turn rarm to x-axis <-0.000000> speed <45.000001> / animSpeed; //delta=1.50 turn rfoot to x-axis <-29.750904> speed <224.792283> / animSpeed; //delta=7.49 turn rfoot to z-axis <0.002920> speed <58.403771> / animSpeed; //delta=-1.95 - turn rfoot to y-axis <-0.0> speed <75.529379> / animSpeed; //delta=2.52 + turn rfoot to y-axis <-0.000244> speed <75.529379> / animSpeed; //delta=2.52 turn rleg to x-axis <42.579980> speed <1347.236462> / animSpeed; //delta=-44.91 turn rthigh to x-axis <27.840193> speed <36.382130> / animSpeed; //delta=-1.21 turn rthigh to z-axis <11.355081> speed <253.808784> / animSpeed; //delta=-8.46 turn rthigh to y-axis <-3.666318> speed <58.003014> / animSpeed; //delta=-1.93 turn torso to x-axis <2.886800> speed <323.207986> / animSpeed; //delta=-10.77 - turn torso to z-axis <-7.0> speed <60.0> / animSpeed; //delta=2.00 + turn torso to z-axis <-7.000000> speed <60.000006> / animSpeed; //delta=2.00 turn torso to y-axis <14.962926> speed <179.555104> / animSpeed; //delta=5.99 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:14 - turn larm to x-axis <7.0> speed <210.0> / animSpeed; //delta=-7.00 + if (bMoving) { //Frame:14 + turn larm to x-axis <7.000000> speed <210.000014> / animSpeed; //delta=-7.00 turn lfoot to x-axis <26.340462> speed <562.743418> / animSpeed; //delta=-18.76 turn lleg to x-axis <0.435697> speed <628.700289> / animSpeed; //delta=-20.96 turn lthigh to x-axis <-25.762386> speed <173.049348> / animSpeed; //delta=-5.77 turn lthigh to z-axis <-2.021303> speed <160.365879> / animSpeed; //delta=-5.35 turn lthigh to y-axis <-0.148754> speed <38.078982> / animSpeed; //delta=-1.27 - move pelvis to y-axis [-1.427366] speed [15.0] / animSpeed; //delta=0.50 - turn pelvis to z-axis <-3.0> speed <59.999993> / animSpeed; //delta=-2.00 - turn pelvis to y-axis <-6.0> speed <119.999986> / animSpeed; //delta=4.00 - turn rarm to x-axis <7.0> speed <210.0> / animSpeed; //delta=-7.00 + move pelvis to y-axis [-1.427366] speed [15.000000] / animSpeed; //delta=0.50 + turn pelvis to z-axis <-3.000000> speed <59.999993> / animSpeed; //delta=-2.00 + turn pelvis to y-axis <-6.000000> speed <119.999986> / animSpeed; //delta=4.00 + turn rarm to x-axis <7.000000> speed <210.000014> / animSpeed; //delta=-7.00 turn rfoot to x-axis <-50.258335> speed <615.222937> / animSpeed; //delta=20.51 turn rleg to x-axis <64.379792> speed <653.994370> / animSpeed; //delta=-21.80 turn rthigh to x-axis <10.799356> speed <511.225085> / animSpeed; //delta=17.04 turn rthigh to z-axis <5.211471> speed <184.308313> / animSpeed; //delta=6.14 turn rthigh to y-axis <-0.371129> speed <98.855654> / animSpeed; //delta=3.30 turn torso to x-axis <0.732080> speed <64.641585> / animSpeed; //delta=2.15 - turn torso to z-axis <-5.0> speed <60.0> / animSpeed; //delta=-2.00 + turn torso to z-axis <-5.000000> speed <60.000006> / animSpeed; //delta=-2.00 turn torso to y-axis <8.977756> speed <179.555104> / animSpeed; //delta=-5.99 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:18 + if (bMoving) { //Frame:18 call-script lua_UnitScriptDecal(1, (get PIECE_XZ(lfoot) & 0xffff0000) / 0x00010000 , (get PIECE_XZ(lfoot) & 0x0000ffff), get HEADING(0)); - turn larm to x-axis <3.0> speed <120.0> / animSpeed; //delta=4.00 + turn larm to x-axis <3.000000> speed <120.000012> / animSpeed; //delta=4.00 turn lfoot to x-axis <-16.649051> speed <1289.685386> / animSpeed; //delta=42.99 turn lleg to x-axis <48.665695> speed <1446.899943> / animSpeed; //delta=-48.23 turn lthigh to x-axis <-27.228612> speed <43.986794> / animSpeed; //delta=1.47 - turn lthigh to z-axis <0.0> speed <60.639081> / animSpeed; //delta=-2.02 - turn lthigh to y-axis <-0.0> speed <4.462608> / animSpeed; //delta=0.15 + turn lthigh to z-axis <0.000000> speed <60.639081> / animSpeed; //delta=-2.02 + turn lthigh to y-axis <-0.000000> speed <4.462608> / animSpeed; //delta=0.15 move pelvis to y-axis [-1.177366] speed [7.500000] / animSpeed; //delta=0.25 - turn pelvis to z-axis <-0.0> speed <90.0> / animSpeed; //delta=-3.00 - turn pelvis to y-axis <0.0> speed <180.0> / animSpeed; //delta=6.00 - turn rarm to x-axis <3.0> speed <120.0> / animSpeed; //delta=4.00 + turn pelvis to z-axis <-0.000000> speed <90.000003> / animSpeed; //delta=-3.00 + turn pelvis to y-axis <0.000000> speed <180.000005> / animSpeed; //delta=6.00 + turn rarm to x-axis <3.000000> speed <120.000012> / animSpeed; //delta=4.00 turn rfoot to x-axis <-41.292062> speed <268.988183> / animSpeed; //delta=-8.97 turn rleg to x-axis <74.463194> speed <302.502043> / animSpeed; //delta=-10.08 turn rthigh to x-axis <-39.760549> speed <1516.797176> / animSpeed; //delta=50.56 - turn rthigh to z-axis <0.0> speed <156.344119> / animSpeed; //delta=5.21 - turn rthigh to y-axis <-0.0> speed <11.133883> / animSpeed; //delta=0.37 + turn rthigh to z-axis <0.000000> speed <156.344119> / animSpeed; //delta=5.21 + turn rthigh to y-axis <-0.000000> speed <11.133883> / animSpeed; //delta=0.37 turn torso to x-axis <-3.577360> speed <129.283195> / animSpeed; //delta=4.31 - turn torso to z-axis <-0.0> speed <149.999996> / animSpeed; //delta=-5.00 - turn torso to y-axis <0.0> speed <269.332681> / animSpeed; //delta=-8.98 + turn torso to z-axis <-0.000000> speed <149.999996> / animSpeed; //delta=-5.00 + turn torso to y-axis <0.000000> speed <269.332681> / animSpeed; //delta=-8.98 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:22 - turn larm to x-axis <1.500000> speed <45.0> / animSpeed; //delta=1.50 + if (bMoving) { //Frame:22 + turn larm to x-axis <1.500000> speed <45.000001> / animSpeed; //delta=1.50 turn lfoot to x-axis <-22.532432> speed <176.501446> / animSpeed; //delta=5.88 turn lleg to x-axis <-1.845427> speed <1515.333669> / animSpeed; //delta=50.51 turn lthigh to x-axis <26.593647> speed <1614.667785> / animSpeed; //delta=-53.82 turn lthigh to z-axis <-4.015021> speed <120.450625> / animSpeed; //delta=4.02 turn lthigh to y-axis <2.095892> speed <62.876754> / animSpeed; //delta=2.10 move pelvis to y-axis [-0.927366] speed [7.500000] / animSpeed; //delta=0.25 - turn pelvis to z-axis <3.0> speed <90.0> / animSpeed; //delta=-3.00 - turn pelvis to y-axis <6.0> speed <180.0> / animSpeed; //delta=6.00 - turn rarm to x-axis <1.500000> speed <45.0> / animSpeed; //delta=1.50 + turn pelvis to z-axis <3.000000> speed <90.000003> / animSpeed; //delta=-3.00 + turn pelvis to y-axis <6.000000> speed <180.000005> / animSpeed; //delta=6.00 + turn rarm to x-axis <1.500000> speed <45.000001> / animSpeed; //delta=1.50 turn rfoot to x-axis <-6.605067> speed <1040.609872> / animSpeed; //delta=-34.69 turn rleg to x-axis <45.872169> speed <857.730750> / animSpeed; //delta=28.59 turn rthigh to x-axis <-56.374961> speed <498.432338> / animSpeed; //delta=16.61 turn rthigh to z-axis <6.440164> speed <193.204908> / animSpeed; //delta=-6.44 turn rthigh to y-axis <4.371100> speed <131.133011> / animSpeed; //delta=4.37 turn torso to x-axis <-7.886800> speed <129.283206> / animSpeed; //delta=4.31 - turn torso to z-axis <5.0> speed <149.999996> / animSpeed; //delta=-5.00 + turn torso to z-axis <5.000000> speed <149.999996> / animSpeed; //delta=-5.00 turn torso to y-axis <-8.977756> speed <269.332681> / animSpeed; //delta=-8.98 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:26 - turn larm to x-axis <-0.0> speed <45.0> / animSpeed; //delta=1.50 + if (bMoving) { //Frame:26 + turn larm to x-axis <-0.000000> speed <45.000001> / animSpeed; //delta=1.50 turn lfoot to x-axis <-29.546671> speed <210.427166> / animSpeed; //delta=7.01 turn lleg to x-axis <43.416296> speed <1357.851671> / animSpeed; //delta=-45.26 turn lthigh to x-axis <27.631935> speed <31.148634> / animSpeed; //delta=-1.04 turn lthigh to z-axis <-11.376573> speed <220.846568> / animSpeed; //delta=7.36 turn lthigh to y-axis <3.619272> speed <45.701393> / animSpeed; //delta=1.52 - move pelvis to y-axis [-1.927366] speed [30.0] / animSpeed; //delta=-1.00 - turn pelvis to z-axis <5.0> speed <59.999993> / animSpeed; //delta=-2.00 - turn pelvis to y-axis <10.0> speed <119.999986> / animSpeed; //delta=4.00 - turn rarm to x-axis <-0.0> speed <45.0> / animSpeed; //delta=1.50 + move pelvis to y-axis [-1.927366] speed [30.000000] / animSpeed; //delta=-1.00 + turn pelvis to z-axis <5.000000> speed <59.999993> / animSpeed; //delta=-2.00 + turn pelvis to y-axis <10.000000> speed <119.999986> / animSpeed; //delta=4.00 + turn rarm to x-axis <-0.000000> speed <45.000001> / animSpeed; //delta=1.50 turn rfoot to x-axis <7.097147> speed <411.066397> / animSpeed; //delta=-13.70 turn rleg to x-axis <-20.572562> speed <1993.341925> / animSpeed; //delta=66.44 turn rthigh to x-axis <-31.288164> speed <752.603894> / animSpeed; //delta=-25.09 turn rthigh to z-axis <7.303045> speed <25.886438> / animSpeed; //delta=-0.86 turn rthigh to y-axis <-1.107239> speed <164.350187> / animSpeed; //delta=-5.48 turn torso to x-axis <2.886800> speed <323.207986> / animSpeed; //delta=-10.77 - turn torso to z-axis <7.0> speed <60.0> / animSpeed; //delta=-2.00 + turn torso to z-axis <7.000000> speed <60.000006> / animSpeed; //delta=-2.00 turn torso to y-axis <-14.962926> speed <179.555104> / animSpeed; //delta=-5.99 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:30 - turn larm to x-axis <7.0> speed <210.0> / animSpeed; //delta=-7.00 + if (bMoving) { //Frame:30 + turn larm to x-axis <7.000000> speed <210.000002> / animSpeed; //delta=-7.00 turn lfoot to x-axis <-50.140504> speed <617.814994> / animSpeed; //delta=20.59 turn lleg to x-axis <64.671940> speed <637.669330> / animSpeed; //delta=-21.26 turn lthigh to x-axis <10.783113> speed <505.464649> / animSpeed; //delta=16.85 turn lthigh to z-axis <-5.232044> speed <184.335860> / animSpeed; //delta=-6.14 turn lthigh to y-axis <0.364022> speed <97.657488> / animSpeed; //delta=-3.26 - move pelvis to y-axis [-1.427366] speed [15.0] / animSpeed; //delta=0.50 - turn pelvis to z-axis <3.0> speed <59.999993> / animSpeed; //delta=2.00 - turn pelvis to y-axis <6.0> speed <119.999986> / animSpeed; //delta=-4.00 - turn rarm to x-axis <7.0> speed <210.0> / animSpeed; //delta=-7.00 + move pelvis to y-axis [-1.427366] speed [15.000000] / animSpeed; //delta=0.50 + turn pelvis to z-axis <3.000000> speed <59.999993> / animSpeed; //delta=2.00 + turn pelvis to y-axis <6.000000> speed <119.999986> / animSpeed; //delta=-4.00 + turn rarm to x-axis <7.000000> speed <210.000002> / animSpeed; //delta=-7.00 turn rfoot to x-axis <25.965984> speed <566.065105> / animSpeed; //delta=-18.87 turn rleg to x-axis <0.541279> speed <633.415236> / animSpeed; //delta=-21.11 turn rthigh to x-axis <-25.605575> speed <170.477680> / animSpeed; //delta=-5.68 turn rthigh to z-axis <1.988646> speed <159.431970> / animSpeed; //delta=5.31 turn rthigh to y-axis <0.145489> speed <37.581832> / animSpeed; //delta=1.25 turn torso to x-axis <0.732080> speed <64.641585> / animSpeed; //delta=2.15 - turn torso to z-axis <5.0> speed <60.0> / animSpeed; //delta=2.00 + turn torso to z-axis <5.000000> speed <60.000006> / animSpeed; //delta=2.00 turn torso to y-axis <-8.977756> speed <179.555104> / animSpeed; //delta=5.99 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:34 + if (bMoving) { //Frame:34 call-script lua_UnitScriptDecal(1, (get PIECE_XZ(rfoot) & 0xffff0000) / 0x00010000 , (get PIECE_XZ(rfoot) & 0x0000ffff), get HEADING(0)); - turn larm to x-axis <3.0> speed <119.999999> / animSpeed; //delta=4.00 + turn larm to x-axis <3.000000> speed <119.999999> / animSpeed; //delta=4.00 turn lfoot to x-axis <-41.349699> speed <263.724156> / animSpeed; //delta=-8.79 turn lleg to x-axis <73.996145> speed <279.726163> / animSpeed; //delta=-9.32 turn lthigh to x-axis <-39.925246> speed <1521.250775> / animSpeed; //delta=50.71 - turn lthigh to z-axis <0.0> speed <156.961333> / animSpeed; //delta=-5.23 - turn lthigh to y-axis <-0.0> speed <10.920658> / animSpeed; //delta=-0.36 + turn lthigh to z-axis <0.000000> speed <156.961333> / animSpeed; //delta=-5.23 + turn lthigh to y-axis <-0.000000> speed <10.920658> / animSpeed; //delta=-0.36 move pelvis to y-axis [-1.177366] speed [7.500000] / animSpeed; //delta=0.25 - turn pelvis to z-axis <-0.0> speed <90.0> / animSpeed; //delta=3.00 - turn pelvis to y-axis <0.0> speed <180.0> / animSpeed; //delta=-6.00 - turn rarm to x-axis <3.0> speed <119.999999> / animSpeed; //delta=4.00 + turn pelvis to z-axis <-0.000000> speed <90.000003> / animSpeed; //delta=3.00 + turn pelvis to y-axis <0.000000> speed <180.000005> / animSpeed; //delta=-6.00 + turn rarm to x-axis <3.000000> speed <119.999999> / animSpeed; //delta=4.00 turn rfoot to x-axis <-16.651620> speed <1278.528118> / animSpeed; //delta=42.62 turn rleg to x-axis <49.142395> speed <1458.033476> / animSpeed; //delta=-48.60 turn rthigh to x-axis <-27.278741> speed <50.194975> / animSpeed; //delta=1.67 - turn rthigh to z-axis <0.0> speed <59.659376> / animSpeed; //delta=1.99 - turn rthigh to y-axis <-0.0> speed <4.364657> / animSpeed; //delta=-0.15 + turn rthigh to z-axis <0.000000> speed <59.659376> / animSpeed; //delta=1.99 + turn rthigh to y-axis <-0.000000> speed <4.364657> / animSpeed; //delta=-0.15 turn torso to x-axis <-3.577360> speed <129.283195> / animSpeed; //delta=4.31 - turn torso to z-axis <-0.0> speed <149.999996> / animSpeed; //delta=5.00 - turn torso to y-axis <0.0> speed <269.332681> / animSpeed; //delta=8.98 + turn torso to z-axis <-0.000000> speed <149.999996> / animSpeed; //delta=5.00 + turn torso to y-axis <0.000000> speed <269.332681> / animSpeed; //delta=8.98 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:38 - turn larm to x-axis <1.500000> speed <45.0> / animSpeed; //delta=1.50 + if (bMoving) { //Frame:38 + turn larm to x-axis <1.500000> speed <45.000001> / animSpeed; //delta=1.50 turn lfoot to x-axis <-6.163154> speed <1055.596340> / animSpeed; //delta=-35.19 turn lleg to x-axis <45.412032> speed <857.523386> / animSpeed; //delta=28.58 turn lthigh to x-axis <-56.567449> speed <499.266099> / animSpeed; //delta=16.64 turn lthigh to z-axis <-6.573012> speed <197.190375> / animSpeed; //delta=6.57 turn lthigh to y-axis <-4.474460> speed <134.233810> / animSpeed; //delta=-4.47 move pelvis to y-axis [-0.927366] speed [7.500000] / animSpeed; //delta=0.25 - turn pelvis to z-axis <-3.0> speed <90.0> / animSpeed; //delta=3.00 - turn pelvis to y-axis <-6.0> speed <180.0> / animSpeed; //delta=-6.00 - turn rarm to x-axis <1.500000> speed <45.0> / animSpeed; //delta=1.50 + turn pelvis to z-axis <-3.000000> speed <90.000003> / animSpeed; //delta=3.00 + turn pelvis to y-axis <-6.000000> speed <180.000005> / animSpeed; //delta=-6.00 + turn rarm to x-axis <1.500000> speed <45.000001> / animSpeed; //delta=1.50 turn rfoot to x-axis <-22.264641> speed <168.390613> / animSpeed; //delta=5.61 turn rleg to x-axis <-2.306603> speed <1543.469927> / animSpeed; //delta=51.45 turn rthigh to x-axis <26.618039> speed <1616.903408> / animSpeed; //delta=-53.90 turn rthigh to z-axis <4.010169> speed <120.305065> / animSpeed; //delta=-4.01 turn rthigh to y-axis <-2.092769> speed <62.783073> / animSpeed; //delta=-2.09 turn torso to x-axis <-7.886800> speed <129.283206> / animSpeed; //delta=4.31 - turn torso to z-axis <-5.0> speed <149.999996> / animSpeed; //delta=5.00 + turn torso to z-axis <-5.000000> speed <149.999996> / animSpeed; //delta=5.00 turn torso to y-axis <8.977756> speed <269.332681> / animSpeed; //delta=8.98 sleep ((33*animSpeed) -1); } } } -// Call this from StopMoving()! +// Call this from MotionControl()! StopWalking() { move pelvis to y-axis [-0.207366] speed [7.500000]; - turn larm to x-axis <0.0> speed <52.500004>; - turn lfoot to x-axis <0.0> speed <322.421347>; + turn larm to x-axis <0.000000> speed <52.500004>; + turn lfoot to x-axis <0.000000> speed <322.421347>; turn lfoot to z-axis <8.200029> speed <40.996815>; turn lleg to x-axis <-0.308588> speed <494.497585>; turn lthigh to x-axis <-0.990636> speed <403.666946>; turn lthigh to y-axis <10.961935> speed <77.181974>; turn lthigh to z-axis <-7.066600> speed <55.211642>; - turn pelvis to y-axis <0.0> speed <45.0>; - turn pelvis to z-axis <0.0> speed <22.500001>; - turn rarm to x-axis <0.0> speed <52.500004>; + turn pelvis to y-axis <0.000000> speed <45.000001>; + turn pelvis to z-axis <0.000000> speed <22.500001>; + turn rarm to x-axis <0.000000> speed <52.500004>; turn rfoot to x-axis <-0.392206> speed <319.632030>; - turn rfoot to y-axis <0.0> speed <18.882345>; + turn rfoot to y-axis <0.000000> speed <18.882345>; turn rfoot to z-axis <-7.200215> speed <26.281713>; turn rleg to x-axis <-0.184811> speed <498.335481>; turn rthigh to x-axis <-0.538172> speed <404.225852>; turn rthigh to y-axis <-11.768760> speed <50.179380>; turn rthigh to z-axis <7.598317> speed <63.452196>; - turn torso to x-axis <0.0> speed <80.801996>; - turn torso to y-axis <0.0> speed <67.333170>; - turn torso to z-axis <0.0> speed <37.499999>; + turn torso to x-axis <0.000000> speed <80.801996>; + turn torso to y-axis <0.000000> speed <67.333170>; + turn torso to z-axis <0.000000> speed <37.499999>; } // REMEMBER TO animspeed = 4 in Create() !! UnitSpeed(){ @@ -279,19 +283,77 @@ UnitSpeed(){ sleep 131; } } -StartMoving(reversing){ - signal SIGNAL_MOVE; - isMoving=TRUE; - set-signal-mask SIGNAL_MOVE; +StartMoving(){ + signal SIG_WALK; + bMoving=TRUE; + set-signal-mask SIG_WALK; start-script UnitSpeed(); start-script Walk(); } StopMoving(){ - signal SIGNAL_MOVE; - isMoving=FALSE; + signal SIG_WALK; + bMoving=FALSE; call-script StopWalking(); } +Go() +{ + Static_Var_2 = 1; + if( !Static_Var_4 ) + { + while( !Static_Var_3 ) + { + sleep 75; + } + move lvent to x-axis [-1.200000] speed [2.400000]; + move lvent to z-axis [-0.400000] speed [0.800000]; + move rvent to x-axis [1.200000] speed [2.400000]; + move rvent to z-axis [-0.400000] speed [0.800000]; + sleep 300; + Static_Var_4 = 1; + } +} + +Stop() +{ + if( Static_Var_4 ) + { + Static_Var_4 = 0; + move lvent to x-axis [0.000000] speed [2.400000]; + move lvent to z-axis [0.000000] speed [0.800000]; + move rvent to x-axis [0.000000] speed [2.400000]; + move rvent to z-axis [0.000000] speed [0.800000]; + sleep 300; + } + Static_Var_2 = 0; +} + +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState ) + { + call-script Stop(); + currentstate = 1; + } + else + { + call-script Go(); + currentstate = 0; + } + } + statechg_StateChanging = FALSE; +} + Create() { @@ -299,8 +361,10 @@ Create() hide rflare; hide aimx1; hide aimy1; - isMoving = FALSE; - canAim = 0; + bMoving = FALSE; + Static_Var_2 = 0; + Static_Var_3 = 1; + Static_Var_4 = 0; gun_1 = pelvis; restore_delay = 3000; hide rflare; @@ -309,14 +373,21 @@ Create() moveSpeed = get MAX_SPEED; currentSpeed = 100; animSpeed = 4; + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; } -SetMaxReloadTime(reloadMS) +SetMaxReloadTime(Func_Var_1) { - restore_delay = reloadMS * 2; + restore_delay = Func_Var_1 * 2; } +SweetSpot(piecenum) +{ + piecenum = pelvis; +} + static-var Stunned; ExecuteRestoreAfterDelay() { @@ -324,21 +395,11 @@ ExecuteRestoreAfterDelay() return (1); } set-signal-mask 0; - turn aimy1 to y-axis <0.0> speed <90.0>; - turn aimx1 to x-axis <0.0> speed <45.0>; - wpn1_lasthead = 0xbadface; - if( canAim ) - { - canAim = 0; - move lvent to x-axis [0.0] speed [2.400000]; - move lvent to z-axis [0.0] speed [0.800000]; - move rvent to x-axis [0.0] speed [2.400000]; - move rvent to z-axis [0.0] speed [0.800000]; - wait-for-move lvent along x-axis; - wait-for-move lvent along z-axis; - } + turn aimy1 to y-axis <0.000000> speed <90.000000>; + turn aimx1 to x-axis <0.000000> speed <45.000000>; + wpn1_lasthead = 1000000; + start-script RequestState(1); } - SetStunned(State) { Stunned = State; @@ -346,10 +407,9 @@ SetStunned(State) start-script ExecuteRestoreAfterDelay(); } } - RestoreAfterDelay() { - set-signal-mask SIGNAL_AIM1; + set-signal-mask SIG_AIM; while (restore == FALSE) // attempt to block restore when switching from 1 to 2 or 2 to 1. { sleep 50; @@ -362,28 +422,18 @@ RestoreAfterDelay() } } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - if( !canAim ) - { - move lvent to x-axis [-1.200000] speed [2.400000]; - move lvent to z-axis [-0.400000] speed [0.800000]; - move rvent to x-axis [1.200000] speed [2.400000]; - move rvent to z-axis [-0.400000] speed [0.800000]; - wait-for-move lvent along x-axis; - wait-for-move lvent along z-axis; - canAim = 1; - } - signal SIGNAL_AIM1; + start-script RequestState(0); + signal SIG_AIM; turn aimy1 to y-axis heading speed <140>; - turn aimx1 to x-axis <0.0> - pitch speed <50>; - while( !canAim ) + turn aimx1 to x-axis <0.000000> - pitch speed <50>; + while( !Static_Var_4 ) { return(0); } - if ((wpn1_lasthead == 0xbadface) OR ABSOLUTE_GREATER_THAN(WRAPDELTA(heading - wpn1_lasthead), <12>)) + if (((get ABS(wpn1_lasthead - heading)) > 65536) OR(((get ABS(wpn1_lasthead - heading)) > 2300) AND ((get ABS(wpn1_lasthead - heading)) < 63236))) { - wpn1_lasthead = 0xbadface; wait-for-turn aimy1 around y-axis; wait-for-turn aimx1 around x-axis; } @@ -392,31 +442,31 @@ AimWeapon1(heading, pitch) return (1); } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = torso; + piecenum = torso; } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = lflare + gun_1; + piecenum = lflare + gun_1; } -FireWeapon1() +FirePrimary() { if( gun_1 ) { emit-sfx 1024 + 0 from rflare; - move rbarrel to z-axis [-1.500000] speed [25.0]; + move rbarrel to z-axis [-1.500000] speed [25.000000]; sleep 100; - move rbarrel to z-axis [0.0] speed [4.0]; + move rbarrel to z-axis [0.000000] speed [4.000000]; } else { emit-sfx 1024 + 0 from lflare; - move lbarrel to z-axis [-1.500000] speed [25.0]; + move lbarrel to z-axis [-1.500000] speed [25.000000]; sleep 100; - move lbarrel to z-axis [0.0] speed [1.600000]; + move lbarrel to z-axis [0.000000] speed [1.600000]; } gun_1 = !gun_1; } @@ -424,8 +474,8 @@ FireWeapon1() // For C:\Users\ptasz\Documents\GitHub\support\Animation_sources\death_anims\armham_anim_death.blend Created by https://github.com/Beherith/Skeletor_S3O V((0, 3, 9)) //use call-script DeathAnim(); from Killed() DeathAnim() {// For C:\Users\ptasz\Documents\GitHub\support\Animation_sources\death_anims\armham_anim_death.blend Created by https://github.com/Beherith/Skeletor_S3O V((0, 3, 9)) - signal SIGNAL_MOVE; - signal SIGNAL_AIM1; + signal SIG_WALK; + signal SIG_AIM; call-script StopWalking(); turn aimy1 to y-axis <0> speed <120>; turn aimx1 to x-axis <0> speed <120>; @@ -1077,7 +1127,18 @@ Killed(severity, corpsetype) if( severity <= 50 ) { corpsetype = 2 ; + //explode pelvis type BITMAPONLY | NOHEATCLOUD; + //explode lthigh type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lleg type FALL | NOHEATCLOUD; + //explode lfoot type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rthigh type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rleg type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rfoot type FIRE | SMOKE | FALL | NOHEATCLOUD; explode torso type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rarm type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rbarrel type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rflare type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rvent type FALL | NOHEATCLOUD; explode larm type FALL | NOHEATCLOUD; explode lvent type FIRE | SMOKE | FALL | NOHEATCLOUD; explode lbarrel type FALL | NOHEATCLOUD; @@ -1087,7 +1148,17 @@ Killed(severity, corpsetype) if( severity <= 99 ) { corpsetype = 3 ; + //explode pelvis type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lthigh type SMOKE | FALL | NOHEATCLOUD; + //explode lleg type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lfoot type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rthigh type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode rleg type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rfoot type SMOKE | FALL | NOHEATCLOUD; explode torso type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rarm type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rbarrel type SMOKE | FALL | NOHEATCLOUD; + //explode rflare type SMOKE | FALL | NOHEATCLOUD; explode larm type FIRE | SMOKE | FALL | NOHEATCLOUD; explode lvent type FIRE | SMOKE | FALL | NOHEATCLOUD; explode lbarrel type SMOKE | FALL | NOHEATCLOUD; @@ -1095,7 +1166,18 @@ Killed(severity, corpsetype) return(corpsetype); } corpsetype = 3 ; + //explode pelvis type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lthigh type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lleg type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lfoot type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode rthigh type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rleg type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode rfoot type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode torso type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rarm type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode rbarrel type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rflare type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rvent type FIRE | SMOKE | FALL | NOHEATCLOUD; explode larm type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode lvent type FIRE | SMOKE | FALL | NOHEATCLOUD; explode lbarrel type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; diff --git a/scripts/Units/armham.cob b/scripts/Units/armham.cob index 3ad8f5654ccca699b2d1236b80249c8cf379cf67..8a6bf24599ce03f856dd052009e64e3789fdb1bf 100644 GIT binary patch literal 29953 zcmd5_3!IK++J9z9CDo9mt<8&2QVo?2^{w+^W62>oW-u`shA~7XHr3Wf`Osk^VJmHI zhpjC-(m^&!rGrJKoL16FQaRN3|KIm@&0L=6o|p3de&6@>d))7PU+3%oU-x}Khj%I; zMbU{ktKgh+vTyM*>RT8^OK_e#I*JJF%q;we?hLeprOiMaWtYo}nwQJU z%+Aazhp*&gOFp(y)?r!EfC^dFrH@@vmkOYk@=;%u?fGisquNlN{QjGIUN>#3ENv?< zeTY&~7FDUAlp)>qnb!H0kS&!be+11=&V1%a^@VMDcEGOMD9e6Xe5#KvbHaR6m&+@1 zHV54$c2ebCj>*dS*^<_hA0&5IN?(ra%P8@ye0FBm(d>hM%{{-C=$0|M&h#<&*OFvb}ElS>i(${KJ1_(J{YE=ow`E+K)}tyh7G&>CcSy_m_S&k>e}8Zj>s;ATgW{gXbS(;uPJA`w&g-vZbH2?Ql8C=gsvar)!Y_(tfIe zT%m=T5{y@7a$w702_MNfeR7iT-aSA6OunNii-UZhJeuTlMB!84YrR!2VYht>oZzeI z1iZdp^U5dqUSI9)9%lG%git(=?&2T$)Na!b8412sdrS2(bjDF!e0+khxC;2PJie80 z@9&d#Ki=o{(LJ^M!^9-t^Wq=*RA0LBs6<8_^so1-WE^LG?d=}v*&N?VBa?RT{i&2s z{hN7ilCQDhQ~#biGs)LW_>M4k2e-;hEn)v@Z_ zBgwbv2OkId)NZ;w+ZucO-lV>@+q^zoV>g_htOFs4QiSyF)sef<2kenOaoZ|J_ z8v6*Fym+3MALsdOjg9(elCKIC!9Vh;e-{Me$d$Rw*4VPmNqt9C3G~?-doVC=6=cq{ zHMSryH~y6X6@8kQn&>Kt_W(6kgvFc~>v+475zOx9f(YHVrjDDItf^;YzOps-{fkMy z&QM2vwx%jvowWP-7s;B+#D2UaCh_mTWnQy2Rpq24-{zl7^=Xcx=-7n5;^_xhQ=xS$ zR8ygKD_x##O$~f1nZGt4CTnWP+eyBqSbLafTLXo|l6;R4T;Q`ca71AL@=sty`LqVw zwN2*v1=z)+4@~j zKDnPPt_5SU`fXDqiG%yMm)093oPQ^uk>n$d`fU9+0M_DlZuxYKqDhA*_=;C0>o>IT zRDEm}&!K&%oRT*04GN5Pb;k zS3=ilS5GjyrC#@bm8^k3o|nw|KV;3ZYuFc8C;7I@nn-N(pnvlNHCk74X=~ug21)-W zFfmdqnxkM19OSi^&JFZU$0k$*tz{2DKDC=J&$b3uZcOf%|0w$!yDwaxljNJ7g27k~ z^d6X8!?w#cuC0MSHz)HqQ{u2S(6nEY?C`uq90mK#j|#T?dK-`@NrK&u-U&UQ3hf#YeKowlz?vn(VDZ{+ZxEc zC&{<%dmp>4feEQ3-*hH0UIT}4ZKPwv^yt`x_Hie3P+*sQiiuDSkWM~Z1OIhu60=7! zQ1ICrIQ8b_HRu4j2DR(J(I+Hpv^8+)s3cz=lZJ7#HL&nENj`Ly@M)e8rR%s=tBU;X|cUCX4)v#sBqQ<8fCy=JuaJH1jee_z$| z@!I-*tadUlv*nu6*6$VdlYE*#Tfe`-9;>W8lTT|Qw2%A$b}e%$62Ho*w`A_5!hpgo+D*XN#;EC9BIU5Nxsl?q(ixu3EhtiUCV^-$EC}& zt$~Gsd-V+h&yhNJNY+5Vz;mDLCnWi{%bI9w;Lm|;#xXD3th|nn)`8l4zABy5nahMS>l5A@cDA=4P(y~yVWUO%a{+lHk`kCf0|tn>ipKz z-s2<;Ins2_zV)&UXYXIK2e!4b=M+!tC^U-mpnvNd`}PekxUu=Yc|A|t9e4&r{ONj3 zIj2u_{(Nkbrhdj_w^+S!qnCR|{Iqj)K9XeZxiwwvJqG-dwn6+PP3?8Syx`&#opwIY zso`n&3eDp8@0jZ;_gA^bv-9!E*h7>H6eZ|3&=0@7QFO+fN7m;Iqq? zNFHSXwGumgcR<%E(j2e6Yw}y+XCHk~Uh5m*HBoumwtVDQAN75cMxxXCZFDNH8^dh> zPRNDA%RbdheUtH>@3*i%j}#tu?f1^aNdNwX`c5)sna^kv-WkEWB|3imZ0m+BAzkdI zA8dKA+hWS~$vCP_*TN>Y0#P*A$21H6GGB~e`^HHOZu}*#5z=@0<(ba!H&^)k$W9kT z8Ow?lzP-EH&qJgsu2k-vbKnJ{b#a#=N1DntpwsYy`ZW&f<##kLFZAE}0Zc75`DbpF zSM56)*mwN+V*R!>wI7!Y`K@wg`As@~q5sxzeJ6PS8sPMaUSd1qL=PT2-=inudtc-w&*oVE z>7(^O8h|&H$cxrt4y}7X3oQp!c@@|8JLPQrI!07y$6CL0JjlNYL6Pq2!`O}MW9;O2 zxKH_ck7;4wV6@c1*!i8h`CaD;>f(1hUi_YjKgAI$y~cDo;G6|sH}4CL^={u2(|7A= z8>UKd?{ilnYY-eG&E;0=-tkTH^A4Z!l*pze*I-~@e0_B~h1R?!o&jfPy8Cq{`Y}Io zE!F%vJL0d#Mj7fM#+<&n9(PljK*;+bj8EdT%Lja>oQ{Xr@8$26I2*B3=B633J}c|< z;bk8KA88H;lr6&#t;>>pfzQV4d>rZXdeflNnu}t2<-2^UgL!ejr2PAOnq&G?jxAgipJa`XWevO2>z zrw1J+`XI;mQcLHa6FqH`Uk^DSC~Yw9Wc#%XmW__c%^MC!7~dgj?9gX#dw)CJ^Mvda z7yErCO>>=9zLL0sGv<&nmc)b{^0SLuaP54<=lH&Y&vr}XQv1&%ahi@J`5pF=)2R|G zUY(3IH%hx2z$WhzFwXX4*(=*?mN7y*o$}t8?`f zPaEXc!2NZ8j~A*bSBx4|d#dwY0FE@)6lrAP!M?$GSDx)AG7C-p93pbpl38eEBmaQi zr@8k2*8AMGoZSarx7_c&`oHb>SEQ-VE*TY_-0ypo(o|=~n~rp}9{ozM4{4hAuBhd4 zISLm-dhMt>*PT?s@w6BUW?;$5h};RyynL42lP8S_b@KfLwz%AL@v%{z%aC}|j+e0| zP5s2JZAZiHN%t*M5Fo;0=hI*O1y?d92_)meCsr%jg_ zIQ%@wUr})SJUd{IG}YN$#_wuF(-7cOBPO#7zHW6@Y5jrh?6vFb>#ucRbV&WFpToD5b37-mD5a^+y&~@l7V$CX zD)+k7(F3N&Kz6$BI^Va?aYGW5tBz;a%)zztZUS|xJ*}hRa{nS!N2|#UouN89&(Kuo z+B?0yj;L+Q**fZSp{HGA?%jdQ`8NyC)9L3BCK+Duv)j6(?XU(s>+LK;8P&Zbem-O9*7vzY%U?yZw&GzS$l zVwVT|_TdZL6WJ*=&6(cIc|_*<5ayT5yNw~tmrsNFc?XI4B{9tBZ7p3NGzP_doiv!Q zF7bshKTC4W^r%kVgN`D1v~5;{Yezi(aHm~SNG z2WfZEo??EK%x5I1pNjdK;wNe9r(*t_FTK4G=Jj_sA<52J;`28957KK2LBK!u-=lPGeBa&q#y$$5Y;32=mofmyP+u zWZWU`4#uvSua*Y$FNmKMQa=^*#h;gr`I8K;HJ>`q&owmFshHm<;~v61e^sVRGuP(Ad)^&EAE>R}fZ2~F*3JseN4gT{sjebBvr z*Hh6UH1$RI`cqdW>)~&67CQNQS7YR2`}uCW20Gf@iT=9Z*%Etw;WX{GWhd;h;laLU zFwBVUl_G=8f=Jb+$IvJ7E`fDL;cxcUu%w9@$YW?j= zQ-4ha6QTN>Lq&)^RDU1RL7{2vLw@pcHswodpxHI&LBZ+Fs-DI=;=#Op1p{nX1?ul1 z!Qg9w`b$wkYz?S{+IKpK`1Y`m%dUqSY3iXeokt9|9vaDdyH4_AG5=Ise@%%g$jMpE z-#X9xGE>HZG|kx=FVu1V&dS`IxcAg-&ASuvSXdxoh$u4P|{TA z7hs|s|CR$|uyyn~@=w|mhNe2tl)0{^%sp18*5;k;jOoeO1fMAk;q zG@rUw={s4WTDh5u5JRX|?gB|^s;&1{SUKIhjg;}TzUba9hXWAPIaTUbubpgdHU)<0%WLAN ztxc`>&N8;7@gTp}`{VN41glf){Vmz=TAf21`uoXeezYf1@4a`O?sQ*28|aJG`|Dr# zbhMEV!(pLm&i3I0eQFh`TU~QDNUhkpfX|mG*E>+R{9P+)v)(VeZXY`h$w01MQY0^0 zx2MV6N}A$D>-HPjYmlZfC3xmIW#3Ag%IO?(w9%=)=p3@09mpAB%7Z@WHQoR!5}NAN zYdqa+P)>D@deO_@DROq6s3-TQztcEo+CZ zu}!l?D)8Y(tlr-gEagAv^TPU5KVOv?{$lD+b^b@NG#n3R=!>oC zH%|3-w+WVPO@A(U8I)#UaGK1m3{&lCO<%-hz#eIu7p>_x#81*RhDy!7FEavr=+8d! zwCXaq65c$RvyQcW`>tS~joPa&bHT8{{m2v*#P$VGO3aU~_d4JIz~{`?<_(W}+6KuB zX=?AgS)TT(T>pjYkIze(mr(t6m3yP1`s*fR6so^>WZx62zt$&sd!hR4w9LmxnvO$b zxnI8Y9507|-N9Vnu-C8QZ)5Rb3?yjm-G216HMP(wG}Sqzlg~?L;5x1bKtSEI0~ma} zfv0UU*LbQ^*OkFC?jZ~|rgLRr@WucJ*W$(}eaVrvgAEV%z52CpPeH9wr^VpJ>7Mqq zjJw6)gLimZt~@IsO=C#ma~y+r%XNxkaKKw-WAF*7zYqqi%Do_q!D-lkFcy90ZECq2kVZ$#p%9f z7aYbsXtDdw*glT-)xuJm=Cc(H(5J-`1Lb(IZ$2hBwyoKL7_81_^89_HS;thTu5s<< zx1Uz0u5nG|dd2G0HLmWGvTJMxUs`}KbcqN3(;Dk8waI?Xr`A~03(zTY>gP287Ula( z>~@~ld(?yr9Wpg zuY&l=8sovf+LE)g*a3UCHtWM_@(eOGjZf=+yNtWlscX(;7Eny5t~u@S%v@=z^QU%M z&fc?o{GP~S_l6dI9qpoxKt-&^Hg2!(XcufmMuet1GX-Z3wD84Zeme$|@huP3Q4_gF zA1}YrvA*=a)MM~P89%FY_5!bS+OuWX(Lnq*fw42KJm`bg(Hh*OR+{2W>u6RFFpHeV z*WhU{KSi$pY(0#FW7Mthj*zB0tJd?hcI<#o(p0C`!-q0{p?c82LlvrreUeXG59baO zKV@#U_0Ul6AuSSLh-)77eQ`tIo&pThPtr7o!zG562f0>d19Q}w4G6KVAE<}-1uszP z#=+LZKuqD3JC)AC7t%Cm6=c2L9$5dT{#ouh%6&zv^Y{gx)B;e$6@gfn+^A zHMP0(W#se7Mywuc)T-iWliDMgSUueMkk|Qdc_)*h@L*gOUTEst$A%)=kYm5*di3ef zI@*Ot?Mz&+d@4Ar#AF~Zl;c62m!0R^lwgAWsl5}u&!tw;m;yDd!ah2&OwDQp*s43&IwKP zqU*|{KppjJ<@4D|t`Teurap6ImWw-~;Yc2!{fxDJu_cwqdlywTG>kZT!CVeTORP8o-D1JCsLHSlt{RB(Br z9NnT^3T^y4;1XQ7k(M#TzoWZjF1Rs=aNK#2_V@lrxaTBau0Ui$)0{1f`a7QdTK;|k z<<#C>$=StbPF9^;WKKSx9T>m;a3=VC`QK&Zb1H!nmy^7_7{KQSp*6q$$7%dwZmSHG>gIKvpsFH;F>he=W4@?I;KgW~o68qZ>o?@%#6Ljo8)O=xwPM2wNe z;I+4Vxfef5VsH^&lBUiP24@VFea-v%cD|WEb^JaR4E9Zf!5`9K@M(Ge9-1S0Ka4Si zFxUk5qe{X&QrKQ2(|mX&OWQhdl;&;vN=tS`02-=yfkQ^BK6Dy|X0t zRgyE}Q|+B2zlFX>utb{LJ9j~2CqM5@Kfe%5DmSj@VU9M8c>yLY&MM*y;~XX9P8tvP z^??GmTpk#Ml~c^GU+>4=%IUoOW*W>-mzuUZQ?wJi2l%>RzG?ev&X>J);8YCrA7yoN zw4d8STMYBlUvA)NQ~H%Y573<5BkM|s0Okh>ttEXz>=yImB`;?gn(D0Zme1Mhz`e?e zFL~Ohm`CF}-;{ZY?|Udsb?Tg4IZZu`De!W1N#zElyuCNxEqhMZ>l|ATJpp8n`%EfB z?6w}JO6+>wZ|gzl@-u2C<+P4oA!tP>R5?3ZM<2_aZ0qRlC7$Qc9017KI$DE1`q|vf z$>4H*U&ubINuZ84%X+&kP)8pQ_VO3V-?g#0-herP_GSfe-3&34rtg#<2-kh(ny})g zl#{#o=!{6Qt1(>v{uoEQx;MZW!}a5j{MOM{;$e@{puzQhpXb}oGVV+r5Bj&br*Bsx zKg=g-Iu6yEd)h>TL1?N|F}QSw#}YV7mw-k&30fG+5&AW@zs~SlTC8`f1V8F7~H3C+E6<%QejuSsN`T%EM{q?Ct<2 zbS)mAX50%#dOz`RM3<>+K+3n@2JYMF^~xV4K0EFmr8XB)8Dh8Nu9(OBt(+9~sy#Y9`o@617Q025E2>fcpa z1AMb??fi1d+(u6BKJKN2rZJqcs=K2#k#`R)CfdooG$*izD+YJT-$1nX6oZY^V6Zs@ zMqaGF6#HW9^l;f9pL>RneQ#jyx#2j!Cwg6;DcZSbYg;e3)~t;gFvC3R+;e6c3~mo# zaA$0NC(d|Sd>$e1_gI?Zb1RtPo@hg^w%N%0oEXC4~wUas( zOTRPond;Q}?9=IGuVZK@YpLVZJu46+Rd)i&H4Ka*Dy51xq0e&JSEOKPnjfT;%LLs5rYj zfWgUvvj+kgyhdnS4ibZX1cQg8ewc%XfpNbJ4?RhHxvr1hVrhZQyH5qieexOp-NF~z zB=7I){BlPcOl%2Yg3qw%%cYoqISw{wb0qe{K+f>zu$|nbK+Z-Bt&-e7Ba7lCh0pQ2 zogq1Ebd!(o%FDnVtJ~uK{yF-h>!2-GxB2+xKV#VWWU_9v0XWiLqg}*jbFE|ajO^=d zZR!~HXpofCG2-9SQk@!K3)+!&g&+0rH}G$A=-+^#KiKX-*8dHOzaf79odVpRa|h|v zr+=4*a{NwRR!1ZDiH_}(L)MqdQBM}WvvuP-!2hic3=e+y>_1PE&sZJ(`UqaqDPw8O z%`er5rOU~L^d0*v^tqhCuTU-qL7(R0{FA+1+PAsTxraH?_82R4|es@^*lpD1w%w^Lpx2RLjxURYR1v!Je=M6{4 zmASb^-9{D^MQz6A4jNOG+Z7@Og}E&*FUl=!otvLCo-*Bv#*7#Ni%DXOyy0C6^M>aX zj*sxMZDB#l*NeyG7LHe1+q}YD{oER!3~ezYZ+LW3UVc8bj?B#;n>RYjzdS#uFgGgn zP5#*25k*m<`!~O6Xx@;aQK4_(-spm;Fh6$)cnjb;lnjA1KNjW`4v(N_cvLtrr?4ff(%1a8u}Mn8oKFjP{hD4h%#bW zf)W%7jxuAwHDLfj6ct5O%px!ds2C6x3<$d4S9R~-*Y~O$b~$IyygAQ$f8BiRyH)i9 zJ=swd9gXuyocA0bMTev1v3PhC-{-b_}Rs{ET6L>F?AI__Nh+V zIj+HPeRXj(t?F{(MoqI^OfLd3>U%tAAsR(9 z{1`jU4Rb-vZWnqse*>qCftQ+d$}$$k?Mhs#KEttP7)6PipwK9Af@8eC9e18?bgN)t$^Qt8Bw~Y%Z#y7|CU6h~HSDj7?pZa&` zyGgzkVwd{Vzg7#9eCb_2-UE%@doEA%l?V>Vr*_9IP4W$-LHI{LwOa?*8T`pyO`5B9 z%rB(zC+E`%NR<7(0mdq-MJEGWwiX-JPmX;)K@L7!i*2qwpxh^^?SgN7E^LkMIXXF3 z)3$m(TVvZ0K_*7g_q^oR)>zLgl6c@-^TK$e=){D+=|}#OsIdi&lKOP4s8+|S zThAol<{y0=Bn3va< zBU*_@=d(37;;|%O4Jv|vxy;ts%UhEA4xnL)m>cI4prTLnQU_fb{OzU2=3qm_TwXBE$OvY4ank|awx(*_maM6#WxldC z^~1ACz6+s_`fN=dI3{U#;aAC;s#=odyG`abTT@5kz9SR6#Ifbqa($YkD5{>|n?8Bp zYAUpDg=#9aZdI0NTT_D`Pv)<~N6DJ{?u{hh3amZMv#o*Bp-H|62`=#28aODhe|ZcT zQ9iAK&K;9^UMzXGHLx?V4qgv+)VH@9(79`GHL$#4}qoiB|7% zq6lNs&F=@n73tpaf1?8$um|-zx(95 zt`rQ$YM}4HYzh8_YHETnFvG*1(YntfCr#8kbAE4$KVf_kNWt&B^YoLBjOoVEHbn@96 z_`^v_%pS@>!DnmWq>0IU&;fD}YS)3ok4e_ba=8b!H82?SPX;?O9?itAt%3K;l6Y#CO(-Pe1WebIpm{(rldx%QdlxXqM3wyodwFDChB$sXI*@A%fq zecWu>W83<@qmn(gt=|`r{P-Nq{1bn_so#I|dzl@Rl6!!La?fb%ck-dh{B5u6 zuwF7Rv*e!9*6-zwl6;y!TffI)k5y5g$)~jt+Q@F!kHns-74eYT)?~$5KO6END9;xWkBwy$~(*E4bgr3KR?qx#H<0{LuUBeay zp4B%FyhrNRC0PUg0`GmsUz6nfQr1LU12+cl89$VLu&sgljgxsE7kKXzs)2pImkB+O z3*F27U!KSDy|TV*bv2In%5I&)+{pIxSFp0g-YNE|U%r-cPPKcx)?0o{v+F_q-+9{G zoP;4qn(qH^y)?_&ds+6twl;n~(bFz4&y(pZ{oByWx36-+jm_`v8hF~Sz&jw~&&5ea zkYkg@6FPsbo}{Ut@z^a^&)MYVo)SOp96bz4vi97XF7_4zf24gZev+p4x?o-)ZN2EU z^LbuvPn#_?i{A$^*Hdnu+~e8#_yp{sNgFKVVDVhi`nP^EtvtxT;q)X;bM_Bx+{ojY zkx$BL46aXbbv}QjvUB;}1;?KcONZlAOoc*mhc@jw{Kk;DoDnDD&i7m>XPrj7L z660cDK3eiPyyLfGOLI>V&7u9)#>K#KhAd^&Kk{0M9T80m~<~5&tXZli- z3(*&!b6mcJ*7jVy7lUnw1L*O&&B?6+$5kKcnv2UWtCH#G{9F}!c#!wCRpl~D(;Ua; zT&^pSBhBR{m6g#S$+haE&3HcPC-arb+Z>PedK`pY|BWHVG_Fh@865IRIUQs2={JQf zB^S-vhi?|Rb~TLkSy`9EZr*kW@R8=?rECR$=r>j5b@Jl-NU@{&du^3}=Ml>L%o%>o zBu(?AaxGdwE3Aj|u5$a5clu`W;1;i9kHH%U!7lt~nxYs6`7M~{J^sCy;xQik6p7vG z1Lm3ciIPv^mHJlidaxSDN$paHo99yg{n}^OF>Zgo9rvnP@@$OzMSg=q9XC<{{n1!I zW>1J+>SnA?A2{9oLT7NTK65{TwWE*OFOi zWTV`GU8lJAp7wj(UfizX<6iOWz$I_^IfpdW*)8i3C-=vmY7K^cwC0^LCIzKu-$MKvy1f4=towd&L^3~;;D&=@kC*Lo##dh7r$3}I&gv66} zw2UojsuPbU9Sx6{+_#+E11jw@S&QdT068O#2X%cRxyI*O89BAL5`{;e&hqZZ>MU*H zX_F-e4nGg_R}-8rW(Vw%raIfn_+4#i>gU5Rc=_KEV32e37%r)EafxsH2nKCkl@9l` z{+z5JN1ECjGSJgTNDQQ@y`H$BZoHmwu~VD}`(_GFzs(^{b#}i%^UBx<&}Echw=`W zG}XDOtEaurj+joZ%|Fu!XrbDChI6dYRHxSF*+!0+^slY>IYDT)Hoq_QJX>U*u(jFm zMo;Vitsf)ORA;9;e!f2UD$u0HKz8;z_4D=Dz8^YbwK?pQs*dNlRpm6*xku#P{EPT7 zJei!WlsdZC)ELN4*NiiL`wTZTF}Y*$?vXjTR^BaBr`ppx8YcIjp*nhx%+MLCqn3uI zI@jLe?OlM{rkt&#Zs&N~)#lj?xSW5p@II7&hVFM?JKEFkmKbau&BOav%6%X)*gEP7 zoRC%;sE427Flld@`qLN&(y3Uj+zkMe|LeiN?IqttSj@KthRE}_%u5#YizL361-qoF zJ;i)YsfQ5eCo?eQle9SIf1)CxsZPcGVS0)0>l+f8$~w-%Sz&q}{=o z`K=|}lO>-dsGnWr*~wOR!X6v-^Spd7celLXBtCgi*GYAJJCq%ev-NPl*t=D7ZE>B3 zVah)*zF1r<<~vJGTbiyN-^w_IF#k0jhcBe@l6E$a@ag!%fFV7`{b z7sC9Vl53`i2kq$|>Qv0{mT?bZ{!#HIgn4Y?+&GY? zIzN#4dKouiG0d<3y~l1{SvM`_cc(nvv)lc2`)R8?(s2=*_el9MjYrywZBs$fe*2B>RJ7{cp&eklD!v9R z5IedCWUsHd9!{*J9*&^%h{4uFb6IcKN?t7HpXliCDKP~(Ins0-Zk_Anntn&#}( zCG}nGGpp=QJbOC(gSWDnmj{LbOu#PdL3J*Dsk)Q9eYJn?Nt)`!rxT8be;($1v32wX z@=u+Q8k*`nP3F2fGWS@WTAO#U6M3;ZwKjJ&D5t4Tt<7k4vNrqt=zXb!`H(v45)b;f z9L}@dAh>3~>injOr)`vV)5(aO*2-2{`$M&|MfT;SsZOnxznHz7=2O?IG8w;6t^AFO z5JRX|rqe;8sm{i-9_35ywpNzN^Up3ahuB(a1%BowJ5Vbrp-lm+rJ zXzZVP^e+GpaAwzzSxXu?p5?v$97&qytmC1FJKD0Z%jGn_Bc-Oh2$rnQC&5I!jUdLn zkfw54w>4#NW99T7y-3E-`l5TcJPtri=PgpVbHx{1n`Z$-^hNirwl=liFO;z*jR*O) z-XE54%dJkW_tmoBwK@x$`RB<^*8QBQ_rBjZbh^ji31r6VedYFEjyB?cI4m^H*&bZb zr}F}JI}gT5`&eql*6kk2OP@g9R*~nXGvBGWZWo?{WFXfrDUuhh+f!t2B~9_7b^DF% zHAvGKN(6)RZ-+g^XY2M(!Qdb6g(jh?&Q5~Cwz=hUs&kpdS0H(@IyXZB^RmIvRHx1% zZDj4Ra{63jq3l~pQ#qYO4mCQ}7o9`CWCwCanDU?xdXG1NiiD;*^&XE?fzqggawX6D z_70J=^F#xAww8q)P>wX!dF%0Bu0WnMkfu7@;W|D~JS5M6imUtg7K=K92jgIC^U72W z=hLp;$$8@S?fzZJ)b_9uG2p>EvJ!_DIvbXiekOzs&OsOdD=$F3u$U^=PaSg{a>j5 z_Ruc!5~{!M@@zCzf8Aw_LiP8C?0Z7>*Zvr9FI0bBU-I#hrsL2`o|ms^;pOmOcQDu2 z@Ahl>8~^fhBxvkCe)6;r>!K6!k)}F_boF`33f#xl20*C$&Hx7AZ0u>9%{`v#)O95- z;~v7`@9A6x7@QEm;D>ndNni40?O?-$eJi&6wzk}-S`3bz>}gNPxLXV^xZTsz@~(h1 zjUh$lF$}hn`xM3CfY&R=;GeGi8*4_fTLIjXOteZ8oh zrhc}E0mksG#6US7?3;(ljct2&025Z{*%&v{Hkoxyb?O?|N&fAg)v0S-Yq?*sI(3aZ zd6~~AX{z)0Qe#v3(Spc3MXP29Uy+P#(1!= zp5*LwcEFyk%|>vVJo$#E@oBw(A>(d!>Y6j21r*b%YfdM;Ggq4G{H0T_v-i}`eothv zJE2`aM>~HLP!X%KO<&e>v~xBgBSKT1RRw39UTDu^{wu-RD}g#{BlqZ|<=2z;?MruDE+#xGP4`gepv^{`v=Y3t#Pq2At2GPl}#XfDr? zo)lk*YaaA{X*1u}28QV;X_}XVB!+hTxK^!_ZycHeLe$+bP!I12UZB#AgRO^wn8GPn zpU%M-(sUehWWD_&u>Re0gFJJT=TcT@&HFs9iOfA#=QRiUHRt$yllAcU&2618#fy=R zSUuFPd!(a{?Tlbz^)TU|Ug!Jr9VSEJ!MJjkv~lgjLy&C9v0rmt+VE*dJEz)?#Qn-f z!P#L<2J%8V9@IIYrEhBsCfKh!8whQ?k<)zYzOI>BJ5;CEO24TU*UD~uGp4?%PJA-t zd}<(LYimX8Xta!%{YdA8rg_nI<;g%D^*PVS&{ggc zY#lw-)zi9hLV`}#3J;D$aTDLpq7y<>d#6hs-L{X`Zr9lw#X{xa#P5SyiksAQ7(lxejo6yV4}(t z|Bdcw61?%KsmKHM{;(NnUhuLr!ps> z$qxAW8=MI~pL@SzeBMH!#N{L}O9S})SZE6Z_?$1_@?0I5d-75~2lL*n7@u!48Sur< zA$gB@xlUNSNV6DR($v$&39d=ge7+~R{?fb)$pW3@(4wzja~4T$GE5$%jl0>mpUXOJ zF?g%gQLO+5=gB*%&^ryqU>|wc6T;xwN-$VM^0GG!F2u6~#*n|kzpJamhsQAtZoS&y zkInr6LBue)?CtZM{PYd}9?xQs-%wHa-~a|23hiVj5o2UAc-=HFw`5%sgHMg|wBZJ4 z43&1;_V?|4Gk@y%DF#F9pJMQ*N-+3@ynhePkwtU>F@!MK8qcFi3t_OH_!+{W{%uOq zG=@{}_ZZxXXIRu}F}PxpkA0)sX1$bXSdAVU4kXj)ZQ8QwQ{sM zP5k^qEUDb+UI#eZQ04`gusAyeKd7@<#+@`C?CT2!Y~6+jF<3dp{DuvF+^w9>yQ?a} z{1mBat20HzvF9&oxlcK(b4};Vp89YqhWT~5T^%jz3~e#YPhQ^G(I)jTe;=SZyGz!U z&H>El3GH0^gxD?Suadl+W@xJOz}J1w-VHpf9Q&N7ZNxkp*ST8eC4TRrG}Wo~kXy-| zJgUgc(Iu73OL=>*-~(mq4AsNoh(&2C*9$=AxK9O%G+PfhOYC~zZ|gzl@>A<1<#aB8 zo}d+-G)+4?m#>#O+1AmU%RJ8w9017KI{FZOly7U^GlR?ZZIgXgn?N0XBJ1r-fjU~3 z@8!>yze{3qy$N#w?ad6}`fS8Z+7*(|z2W*t!Sx}VQ%$>(N_0K?k9dM@V@+6#+|9-LI0Na^6hHmhxsH;$Dw9hPa8|12n}92ImO@$Q#_W? zosrWy`MXLmxL)?qAq+l1Bd}-ZB6cm%q$u?&RikFC{dM zq4AoF9j&!|dtfoqS>~nLfi+w)xN~d87;IGu2HP@VZ*O5R({ zMj{yBT-rrm?6~V*s;i;Fvg21Q4U;*<&RL43pXw!bDwfVP^O@>YENz@z@j6y8!t10< zDpxql`?TvrFK6*m(8|-M%RYoO9rvT_cp5&f$n3#X=Utd=m=`Xak>G`w?9*?$@rolu zQ=N*zuds)R%P9sY3YJ0`oEx}jen>F*rO4TNP;oXRfWh&Cv-<)V#Ghbtv258#4E`V( zJP`H695f4z`}7{3w)|utyT#H1nRg!#jQhA#{kMfnIwYU(Dki2?f{9N8n0Q%o)*JIL z$HC@ow!~f%$l29G8ym=3snDv)^E0w2UQ)P@*X`-D-)V89kMD|0!5ypHnV0zY=uiG9 zw8iSS5N{!w>+c>-)@@S&jli&H`#M{jIz~MkC*^dE__vT$r^eTgc4S@Q zrT(1;{;dxFk6rW!+a1Wt-}^xP{5u7_&E`Qm_3`gGxK@5sm(|gn%%WqkhU;FTTy!>XYmX2k{{Z@MQ7`-w-22rQ@F;V=WKI_M9@)$qVuZsMbB>d`!{*L>> z81`mMZC7MV>1s=V$8FK2({TPb&hK#U!ihiK8}V5=zd0F!^Lm_71oR{F_ zo^=e)zu~+C=X{(G;(QF}GdP#yT#55_obTZL2rqGDbY3?Cdh&f;`BAH8`cWnGI#v6mcjd0t66uPhz)NSAfZ zyRv(_uqZG8;(}r6sKb@%K_ko3-P5IIMJ4HWmzAYU+NTTiMw7Eg*~sC;p)yHqS1`;+ z&@94b$C9GV&x=N;OC-8xQOAOkwDPrw{UPm!7YvKeFDNX8*5Y*GsDjd{@Up_Zl5|w! zo5E4);bl>Y`)^^{kb=QOq7vW0z0#tnq%b`gyhTN25tIyuG%ri?N`^&HGb}0@m{(Gg UE{qDL%_|r-x> accelerate <10>; + turn cowl to x-axis <90> speed <30>; + sleep 1000; + return (0); +} + +deactivatescr() +{ + + stop-spin fan around y-axis decelerate <10>; + turn cowl to x-axis <0> speed <30>; + sleep 1000; + return (0); +} #define BASEPIECE base #define HITSPEED <105.0> @@ -10,48 +31,122 @@ static-var gun_1; #define UNITSIZE 1 #define MAXTILT 100 -#define BARRELROLLSPEEED <200> -#include "air_barrelroll.h" +InitState() +{ + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; + return (0); +} + +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + call-script activatescr(); + currentstate = 0; + } + if( statechg_DesiredState == 1 ) + { + call-script deactivatescr(); + currentstate = 1; + } + } + statechg_StateChanging = FALSE; + return (0); +} + +static-var maxSpeed, currentSpeed; +BarrelRoll() // remember to start-script BarrelRoll(); in Create()! +{ + currentSpeed = (get CURRENT_SPEED); + maxSpeed = (get MAX_SPEED); + while (TRUE){ + sleep 2000; + currentSpeed = (get CURRENT_SPEED); + //get PRINT(maxSpeed, currentSpeed, Static_Var_1); + if( Rand( 1, 5 ) == 1 AND (maxSpeed < (currentSpeed+100) ) ) + { + turn base to z-axis <240.054945> speed <120.027473>; + wait-for-turn base around z-axis; + turn base to z-axis <120.027473> speed <180.043956>; + wait-for-turn base around z-axis; + turn base to z-axis <0.000000> speed <120.027473>; + } + } +} + Create() { hide thrust; hide flare1; hide flare2; - gun_1 = 0; - + Static_Var_1 = 0; + gun_1 = 1; + call-script InitState(); start-script BarrelRoll(); + return (0); } Activate() { show thrust; - spin fan around y-axis speed <200> accelerate <10>; - turn cowl to x-axis <90> speed <30>; + start-script RequestState(0); + return (0); } Deactivate() { hide thrust; - stop-spin fan around y-axis decelerate <10>; - turn cowl to x-axis <0> speed <30>; + start-script RequestState(1); + return (0); } -AimWeapon1(heading, pitch) + +AimPrimary(heading, pitch) { return (1); } - -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = flare1 + gun_1; + if( gun_1 == 1 ) + { + piecenum = flare1; + } + if( gun_1 == 2 ) + { + piecenum = flare2; + } } - -FireWeapon1() +FirePrimary() { - gun_1 = !gun_1; + if( gun_1 == 1 ) + { + gun_1 = 2; + return (0); + } + if( gun_1 == 2 ) + { + gun_1 = 1; + return (0); + } } +SweetSpot(piecenum) +{ + piecenum = base; + return (0); +} Killed(severity, corpsetype) { diff --git a/scripts/Units/armhawk.cob b/scripts/Units/armhawk.cob index 221c5930d6312307850288c0b146bc89a1302470..43106d38c773900d35cf83026e7c44c599b76dfd 100644 GIT binary patch literal 2511 zcmc&$J#Q015FI;?lN3l>fDjUqu7N5@PD%<$LWBfqoS1Y-_^>y^(m4+2bF5TY`~dg? zG&B@^baW9?IvN@ZL`{Vd4L<-RcyDjVxkPsssbcAAc6Vmp%U?p;XbpPO_LQ-R=*x*t|V<@NQBK6d->;0Gyf2vnMS+1J9{+#-} zJE6}!l|jW&?|O=}^~@Q2sobpPgWrE<|9oHbIJ6(+#6*nmlKHbH@=|KdwzHcum^?353#$N6w)BOH;7DmOPxF&trmq@dK= zxaGZ3(ue2VJA3rhMZm|>lHXYX^= z8T!pwIAc1T8%p*>ZC(E87yDjCQp&5g>dPFne#~EET=ahA(z_}0%f`EsiI?Z6b)hR`3M zW2fVqI@)nP@@wYEcf?wm5Brg=dx>Yh?zg^fy|+pE)21l@Nq!7h-J+eZ`@653@z1i~?B%3Bo~BmvoOL}qBktqj=dx%+VB+i0^FMRF^)RIhjnSsVMyN~c?oJKZqemyLmq x_jPl-6I)$3hSnyH-CiQ=ohY(x*^a{4E~a8h9)^7@$)kACPo&iwMzS65$Uio$xr+b* literal 1432 zcmcIkJugF17=GK{7Kz~u3=)zK27|<9u=okq`-s!N-Eh(Aj_B z7a05ps~=!6c%F05p%ucwNuRu5&--=HNj(v12XeqbN(4W19z2m}pff8n2v0wxng*RU3dKY=ZkaDC4M8w=pMhfMcscywf9AzZusl}}o^R{PcusLe_AtCc4l{{j zJ4)k&bo0~pe9Kkf+S8I>Nb>3HMR7|197G>mL%3Q?-AU|q3{LEet1_phmYv1blJT!= zn8fdDG~GFS3wN|{fF@o*vWLpFyamR{eUCS?%I)4Vqpk1mo3S3|;tlYA@1WAh-h69r z{|0PPZRVaCclPHvY0YuoO|#AKM*D_D)Z;gHZ;taf&ox4ho$CoI^UOQ*|86cfhnuUx zo@1?s>)a15LP7r-Sj8AOo|7i(cCQ;`m0EfeLqvO{HB2Tq-+Y%c3yt5zMBg}RRR ooH0|0wA1G+VW`(+Jq#i}oQM%A1>0KUji|mIOS!fi%6d?hH!o0e!vFvP diff --git a/scripts/Units/armhlt.bos b/scripts/Units/armhlt.bos index 2568189da44..6eb08a78f47 100644 --- a/scripts/Units/armhlt.bos +++ b/scripts/Units/armhlt.bos @@ -1,12 +1,14 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece flare1, flare2, base, turret, gunl, gunr; static-var gun_1; // Signal definitions -#define SIGNAL_AIM1 256 +#define SIG_AIM 2 #define BASEPIECE base @@ -15,7 +17,7 @@ static-var gun_1; #define UNITSIZE 10 #define MAXTILT 100 -#include "../unit_hitbyweaponid_and_smoke.h" +#include "unit_hitbyweaponid_and_smoke.h" Create() { @@ -24,35 +26,38 @@ Create() gun_1 = 0; } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; - turn turret to y-axis heading speed <200.0>; - turn gunl to x-axis <0.0> - pitch speed <200.0>; - turn gunr to x-axis <0.0> - pitch speed <200.0>; + signal SIG_AIM; + set-signal-mask SIG_AIM; + turn turret to y-axis heading speed <200.000000>; + turn gunl to x-axis <0.000000> - pitch speed <200.000000>; + turn gunr to x-axis <0.000000> - pitch speed <200.000000>; wait-for-turn turret around y-axis; wait-for-turn gunl around x-axis; return (1); } -FireWeapon1() +FirePrimary() { sleep 500; gun_1 = !gun_1; } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = gun_1; + piecenum = gun_1; } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = gunl; + piecenum = gunl; } - +SweetSpot(piecenum) +{ + piecenum = base; +} Killed(severity, corpsetype) { diff --git a/scripts/Units/armhlt.cob b/scripts/Units/armhlt.cob index 57d28752df13377982fa71bc53cce21da800dc66..83c28c0c39f24bcc42cb8ef04ac7e6aa0f81f853 100644 GIT binary patch literal 2739 zcmbtWJ#W)c6utSR6bU_;fXRZjgXw@6OF)RayhwMOmqMLNmz53?-Xj4AKv{SC3W8d5hO8Ttkz`Ni>Tegn$upu-+ zQqV@p+}XRntM+d9X^Oh=x93HA_TOe|VvlV-mzOrpul zbAN#Yb0}|R=B_f^Y51s8hhuV%Dly8R^1omb_r@pjw?{w6-#HM+x}3A@-c;%FH2m>R zl@rdzbD4eQc=XlyGBL_!m6$xoRe97}7i)!XM&Bm0e zndg^1JO&Pd@4ye>53ml$i@+7&D!~8SHh>$z9bgxD2=svo@CtYXyaV0?2f!il88`y& zM#=X4Q5Z}oW9g12&%+1fD9LK?4diwl21zKlqERP~MnOE6ohT0Ve18_kbG^W4C!Q?* qy8B_6bf=RANr&BjCiiRCYKNw!G< literal 2168 zcmbuAziL!b5XNUWn~j3V6)UY4!A3;x1_T==i5e6ML=-G+vT?6raW@G!o5Ic_c9KT0 z63HW|osVFj!UwQOVG+>ELi~Q`o=HxY{1IH3%$b>Q&U`axcGEDk(~_p-Tg|L4&F9U8 z*+k=a5sJEJ4MF24C@#<{^+an946^YMVaq+>%ql?*wA zY<@omo>(KVv}MiAxz!aLQw$9TEoES^iKRSJ&S1HR_zu9Sv87pJ%(*R^TE+Cxf?p7UrTcb zv++AewdK_tIabgUu_=apdiL2*D@aXjpO=mF42SRr(NE93hh^29cy4%$ycT-el;PY* zXLeZZ07t!@&xTpBv%6B<*TB}E(gR1IIWchVpGj*C;ID&-*dTdQgP;Onj84f5sw?5wqT()8W%ZedP?np zZOJDI80xK7-)-aksygSJ`!h4`GH*th9AbVy9PwML+SxGof545C!$&OqZq8|bxL3VV z>la3@xXvMOYdkxuH^-#!5^|D#q0UipW|PkT0?DoF{RZLzALx*e#@>>)Y+~=X$nDUZ z;_qXex+xxaYBQJA4s~L^(R~a%5qZ6hy!bsij+gT|ikHWom)p*3gMj)xj@L6Vk=K{V zi+caV>jQVHE{geR1%vIp+#clx_N3Z=x6kBVyxZT(Cug z5$L+)rsS@K|HHo}%~NLQB^M=^C2h$q$(-b|# zvOAqYXQ}8u8mzo1>~>jnhJ{V{1{Jn#v%RwL^TYL`jF+^*%$6&AxCgy{zv$ZYey1$j Ym7280&RSu^^|CC6wzR(7=TB*W0qcI5)c^nh diff --git a/scripts/Units/armhp.bos b/scripts/Units/armhp.bos index f522ff6ba4f..fbef22e3278 100644 --- a/scripts/Units/armhp.bos +++ b/scripts/Units/armhp.bos @@ -1,75 +1,187 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" -#include "../factories_common.h" +#include "sfxtype.h" +#include "exptype.h" piece base, doorr1, doorr2, doorl1,doorl2, standr, standl, nanol, nanor, emitl, emitr; -static-var spray; +static-var Static_Var_1, statechg_DesiredState, statechg_StateChanging; // Signal definitions -#define SIGNAL_TURNON 4 +#define SIG_ACTIVATE 2 + + +activatescr() +{ + if( TRUE ) + { + turn doorr1 to x-axis <170> speed <170>; + turn doorr2 to x-axis <-90> speed <170>; + turn doorl1 to x-axis <170> speed <170>; + turn doorl2 to x-axis <-90> speed <170>; + sleep 514; + } + if( TRUE ) + { + move standr to y-axis [10] speed [20]; + move standl to y-axis [10] speed [20]; + sleep 518; + } + + if( TRUE ) + { + turn nanor to y-axis <90.016484> speed <173.000000>; + turn nanol to y-axis <-90.016484> speed <173.000000>; + sleep 519; + } + sleep 13; + return (0); +} + +deactivatescr() +{ + + if( TRUE ) + { + turn nanor to y-axis <0> speed <173.000000>; + turn nanol to y-axis <0> speed <173.000000>; + sleep 519; + } + if( TRUE ) + { + move standr to y-axis [0] speed [20]; + move standl to y-axis [0] speed [20]; + sleep 518; + } + if( TRUE ) + { + turn doorr1 to x-axis <0> speed <170>; + turn doorr2 to x-axis <0> speed <170>; + turn doorl1 to x-axis <0> speed <170>; + turn doorl2 to x-axis <0> speed <170>; + sleep 514; + } + sleep 13; + return (0); +} + +OpenYard() +{ + set YARD_OPEN to 1; + while( !get YARD_OPEN ) + { + set BUGGER_OFF to 1; + sleep 1500; + set YARD_OPEN to 1; + } +} + +CloseYard() +{ + set YARD_OPEN to 0; + while( get YARD_OPEN ) + { + set BUGGER_OFF to 1; + sleep 1500; + set YARD_OPEN to 0; + } +} + +Go() +{ + call-script activatescr(); + call-script OpenYard(); + set INBUILDSTANCE to 1; + return (0); +} + +Stop() +{ + set INBUILDSTANCE to 0; + call-script CloseYard(); + call-script deactivatescr(); + return (0); +} + +InitState() +{ + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; + return (0); +} + +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + call-script Go(); + currentstate = 0; + } + if( statechg_DesiredState == 1 ) + { + call-script Stop(); + currentstate = 1; + } + } + statechg_StateChanging = FALSE; + return (0); +} Create() { hide emitr; hide emitl; - spray = 0; + Static_Var_1 = 0; + call-script InitState(); + return (0); } +#define SMOKEPIECE base +#include "smokeunit_thread_nohit.h" -#define BASEPIECE base -#define MAXTILT 0 -#include "../unit_hitbyweaponid_and_smoke.h" - -QueryNanoPiece(pieceIndex) +QueryNanoPiece(piecenum) { - spray = (spray + 1) % 2; - pieceIndex = nanol + spray; + if( Static_Var_1 == 0 ) + { + piecenum = emitr; + } + if( Static_Var_1 == 1 ) + { + piecenum = emitl; + } + ++Static_Var_1; + if( Static_Var_1 == 2 ) + { + Static_Var_1 = 0; + } + return (0); } Activate() { - signal SIGNAL_TURNON; - set-signal-mask SIGNAL_TURNON; - turn doorr1 to x-axis <170> speed <170>; - turn doorr2 to x-axis <-90> speed <170>; - turn doorl1 to x-axis <170> speed <170>; - turn doorl2 to x-axis <-90> speed <170>; - wait-for-turn doorr1 around x-axis; - - move standr to y-axis [10] speed [20]; - move standl to y-axis [10] speed [20]; - wait-for-move standr along y-axis; - - turn nanor to y-axis <90.016484> speed <173.0>; - turn nanol to y-axis <-90.016484> speed <173.0>; - wait-for-turn nanor around y-axis; - - FACTORY_OPEN_BUILD; + signal SIG_ACTIVATE; + start-script RequestState(0); return (0); } Deactivate() { - signal SIGNAL_TURNON; - set-signal-mask SIGNAL_TURNON; - sleep 5000; - - turn nanor to y-axis <0> speed <173.0>; - turn nanol to y-axis <0> speed <173.0>; - wait-for-turn nanor around y-axis; - - move standr to y-axis [0] speed [20]; - move standl to y-axis [0] speed [20]; - wait-for-move standr along y-axis; - - turn doorr1 to x-axis <0> speed <170>; - turn doorr2 to x-axis <0> speed <170>; - turn doorl1 to x-axis <0> speed <170>; - turn doorl2 to x-axis <0> speed <170>; - wait-for-turn doorr1 around x-axis; - - FACTORY_CLOSE_BUILD; + signal SIG_ACTIVATE; + set-signal-mask SIG_ACTIVATE; + sleep 5000; + set-signal-mask 0; + start-script RequestState(1); + return (0); } StartBuilding() @@ -86,12 +198,17 @@ StopBuilding() return (0); } -QueryBuildInfo(pieceIndex) +QueryBuildInfo(piecenum) { - pieceIndex = base; + piecenum = base; return (0); } +SweetSpot(piecenum) +{ + piecenum = base; + return (0); +} Killed(severity, corpsetype) { diff --git a/scripts/Units/armhp.cob b/scripts/Units/armhp.cob index 20a6e658f5f90e03b7eb1671917b3ed5276d366a..dd2ba38531b3f73dc96c2a4a0976bb463e0c69cc 100644 GIT binary patch literal 4910 zcmb_gO^6$17=DvYv#U}%T2Ta{gI+xJur40Ni@ICTQmfHWq#~HO88tXf;$&8>Pzj#& z?x6@mJ@^B96Fhh-deDnkPYV?y2Z!fmbP437oRs?`~1*H%SXbCtdsbks^=l1|0q%T0-iJP3jfQ{V4a5um zyXxijg8T(9S3Ccn#3#r-$LPnW1wCiTbIp3_&hfRkWBBRWqo&S+;b!)Zzl^hA?&5ss z<8YSNkIw`G2I?rq7vEGDd;`_t)WqR6#yuF9PV%M|x za4`C_cKUPWKKAPbt8~EIXmvX07$VwCu$oT4fsoONI)3k|;l3TL4213!b~NY1)=u0>~1 zrO!v1O_e-0vnoC|OPkFEJupt$EUUz`IJSoIY{pgM+3c(M7$>Uu9K@Av_QZ4LbI%o? zWl^qJk6DjBlZ!l`#+zmR?fJHTa3+?2;_vw$Fy2_6MQSr!TdSVUxOG@<#v{wKNNvV5 z^Ql_fQ8;(ld5S#ad*`TJDx2#;{3-J>&Me!zBA3G6m*uovwuU~7%-guMtbdVXRrCK} zd|S4D<^L literal 3341 zcmb7G&x;gS5U!aWXEnd*Xh3tDKOlk0o{~#+bq|UtD|^tKvYnld44Iu-+Ez5=5J5pi zyv37<;6EUq6+LQ(nl$IRZ2 z@@v}+fBt!b&6kh^@0fjrodsxHw(KpU(0ia-Sv#ZI=?5*_7Q31Cu$Kt2_vzg0WVYPR z_G8Jt0r%j~b%$%ZnHTUU5 zuEZFxI?|fyOCREYGx*R<*6xSB6!TnJsOLoVheD0Wk(}Wis-G=F~k+tD80aPKVeFa^`(l7Vbo`)Yfk~r<*WTd%b7VFotgUG#8T&JHf3uz=*~SqGtSV9WKTKh!#b!vN5&^Yvm9pc&xp6^_*a+_ zJJiiy#r<}&uUMWp2b_In-{}7+`g2>)GPBWC9qc>TK7+W2^c^q@Kl$r^6idD3d0$JO z{qMv2=Zhf^wPDs-Hb2ZKtn*}jotV!`4O5)YLJd=#_nU`;MS8y32cE|aZ#qoZF2=_* z>R2~o)@yC?d-H9mb^Rb5P~-083}LNUKYQi*QAg^xm;2!BSZ}xYntT5Kyc_Pj0!W{I zQ+#i+@P2p>>Sytezl^cYua<{tcDkc$Od8J@Cy#63E3Ap{W^duy*!O@n^D&mLHaEhi&5f|8xlxaUU+un@yV;BXc~?4zclB(WSlyre$<^0EGpg-gQp;{@FOUha8af9r7W;UYN_z(Okx}|BR=meHYrY*^T#zY`;(7wPdVXp5)(#Z&&` zDSz>le-lr|*LiXlcH(lY#znTcD7Ux>Z{i|Og$S;uJAb&vqfxL#a z-Zh(r94U*uD(vX6I(+GLk*`h0#|Eio3;Ak(wiqm}PQEGZ)cK;kbTS`L7Kg=3Ve>21 z@B+gZid@U3Dle#}h;n8j#8-G2q -#define TB_TILT_X <0.15> -#define TB_BANK_Z <0.15> // Do not define this if you dont want banking -#include "../tilt_bank_mobileunit.h" - +#define SIG_ACTIVATE 2 +#define SIG_OFF 8 TurnControl() { @@ -69,19 +62,19 @@ WheelControl() { // get PRINT((<6.8> * wheelSpeed ) * turnClock) //left wheels - spin flwheel around x-axis speed (<1.0> * wheelSpeed ) * turnClock accelerate <5.0> * currentSpeed; - spin blwheel around x-axis speed (<1.0> * wheelSpeed ) * turnClock accelerate <5.0> * currentSpeed; + spin flwheel around x-axis speed (<1.000000> * wheelSpeed ) * turnClock accelerate <5.000000> * currentSpeed; + spin blwheel around x-axis speed (<1.000000> * wheelSpeed ) * turnClock accelerate <5.000000> * currentSpeed; //right wheels - spin frwheel around x-axis speed (<1.0> * wheelSpeed ) * turnCounter accelerate <5.0> * currentSpeed; - spin brwheel around x-axis speed (<1.0> * wheelSpeed ) * turnCounter accelerate <5.0> * currentSpeed; + spin frwheel around x-axis speed (<1.000000> * wheelSpeed ) * turnCounter accelerate <5.000000> * currentSpeed; + spin brwheel around x-axis speed (<1.000000> * wheelSpeed ) * turnCounter accelerate <5.000000> * currentSpeed; } if ( !get ACTIVATION ) { - spin flwheel around x-axis speed (<1.0> * wheelSpeed ) * 2 accelerate <5.0> * currentSpeed; - spin blwheel around x-axis speed (<1.0> * wheelSpeed ) * 2 accelerate <5.0> * currentSpeed; - spin frwheel around x-axis speed (<1.0> * wheelSpeed ) * 2 accelerate <5.0> * currentSpeed; - spin brwheel around x-axis speed (<1.0> * wheelSpeed ) * 2 accelerate <5.0> * currentSpeed; + spin flwheel around x-axis speed (<1.000000> * wheelSpeed ) * 2 accelerate <5.000000> * currentSpeed; + spin blwheel around x-axis speed (<1.000000> * wheelSpeed ) * 2 accelerate <5.000000> * currentSpeed; + spin frwheel around x-axis speed (<1.000000> * wheelSpeed ) * 2 accelerate <5.000000> * currentSpeed; + spin brwheel around x-axis speed (<1.000000> * wheelSpeed ) * 2 accelerate <5.000000> * currentSpeed; } sleep 67; } @@ -89,23 +82,51 @@ WheelControl() -#include "../damagedsmoke.h" +SmokeUnit(healthpercent, sleeptime, smoketype) +{ + while( get BUILD_PERCENT_LEFT ) + { + sleep 400; + } + start-script WheelControl(); + start-script TurnControl(); + while( TRUE ) + { + healthpercent = get HEALTH; + if( healthpercent < 66 ) + { + smoketype = 256 | 2; + if( Rand( 1, 66 ) < healthpercent ) + { + smoketype = 256 | 1; + } + emit-sfx smoketype from base; + } + sleeptime = healthpercent * 50; + if( sleeptime < 200 ) + { + sleeptime = 200; + } + sleep sleeptime; + } + return (0); +} + Create() { + + start-script SmokeUnit(); + Static_Var_1 = 0; recently_damaged = 0; desired_activation = 1; moveSpeed = get MAX_SPEED; - call-script TB_Init(); - SLEEP_UNTIL_UNITFINISHED; - start-script WheelControl(); - start-script TurnControl(); - start-script DamagedSmoke(); + return (0); } Activate() { - signal SIGNAL_TURNON; - set-signal-mask SIGNAL_TURNON; + signal SIG_ACTIVATE; + set-signal-mask SIG_ACTIVATE; desired_activation = 1; // if we are in this function, the unit is already on // implied set ACTIVATION to 1; @@ -145,8 +166,8 @@ Deactivate() //set desired state if deactivated and not recently damaged desired_activation = 0; } - signal SIGNAL_TURNON; - set-signal-mask SIGNAL_TURNON; + signal SIG_ACTIVATE; + set-signal-mask SIG_ACTIVATE; turn base to z-axis <0> speed 400; wait-for-turn base around z-axis; @@ -162,17 +183,21 @@ Deactivate() } -StartMoving(reversing) +StartMoving() { - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; - START_TILTBANK; + //spin flwheel around x-axis speed <50> accelerate <10>; + //spin blwheel around x-axis speed <50> accelerate <10>; + //spin frwheel around x-axis speed <50> accelerate <10>; + //spin brwheel around x-axis speed <50> accelerate <10>; } StopMoving() { - signal SIGNAL_MOVE; - STOP_TILTBANK; +// stop-spin flwheel around x-axis; +// stop-spin blwheel around x-axis; +// stop-spin frwheel around x-axis; +// stop-spin brwheel around x-axis; +sleep 1; //need for some odd reason (does not open/close otherwise) } static-var Stunned; @@ -188,8 +213,8 @@ SetStunned(State) OffOnHit() { -signal SIGNAL_OFF; -set-signal-mask SIGNAL_OFF; +signal SIG_OFF; +set-signal-mask SIG_OFF; recently_damaged = 1; set ACTIVATION to 0; // turn off unit sleep 8000; //hardcoded time to stay off after being hit @@ -201,16 +226,20 @@ HitByWeapon(anglex, anglez) { start-script OffOnHit(); - turn base to z-axis anglez speed <105.0>; - turn base to x-axis <0> - anglex speed <105.0>; + turn base to z-axis anglez speed <105.000000>; + turn base to x-axis <0> - anglex speed <105.000000>; wait-for-turn base around z-axis; wait-for-turn base around x-axis; - turn base to z-axis <0.0> speed <30.0>; - turn base to x-axis <0.0> speed <30.0>; + turn base to z-axis <0.000000> speed <30.000000>; + turn base to x-axis <0.000000> speed <30.000000>; return (0); } - +SweetSpot(piecenum) +{ + piecenum = base; + return (0); +} Killed(severity, corpsetype) { diff --git a/scripts/Units/armjam.cob b/scripts/Units/armjam.cob index 27a039302530cbaa0e8fd9e5d046a79408e6e17a..8dd5f2bee05efcda059708c796779f9459eb45cd 100644 GIT binary patch literal 5991 zcmb_gL5mz!5U!owOrnX}LNq8!CJ+gt!YGOdA#Socge;QiL=z9<&Te{kM`ve-u{R-t zGCx2xf){TA!Gq!{;L)>q^PqU}kdx@mgL)8g{l3@ln|(B|ceW=s6tB9fzN+`?RaFnO zU}pD#?gee`GrJ2bpW6?Z9e&X4Ea*wRkFi>#mWbw(TJj1F8w*LT2{|6h=E$tnleheP zXhU7i+i<0+HRc_@26lpnPrJDy2m|+GVXykq3!X%x3?|HZJ+hF zl*yLyPU65^L##FDaZYplQ(Sj0?hAWrdtcNoATD+C!S~P?<$us%G2h2)-j*U^!#yAR z7kh5xwu&QL`Q>|<^Ci4nb1t#PdU60PV^U-n>IwN{YRH!)M0xuJ|ziBqulXyMM&r&tA?&e7LWwc`4$n z=B0?QnwKIz%u86?L!T>`G}N|c5m)-Sp9)`BPy77cU}BqjZ=4{XpeJa@2Yk*1cYxk_ z*JE8R!=HMMeM)=AI!(sUmNjp0es%d=X~gg*$VyJg}g_;@_VK2#Bbw(s|AKtjDKDX^_I^ek16Un zYviw}b7v~Sx&4*s?%u^Gzqe)a_+2j39SU?{CuhAv9`zpPj3VXiFE~`L!h0&ahZ}*t zHFmyZmwazTxQbHSDMrOZodH;eb66mnFov1vh(5l#qouH3HxNS zC+}zRD14$eBVZ1NQ7-sfPj<8oYe+oB#9hSi zPvM1;@0dMV9v)masPs=t^&)n65VyVd0yYs1&&M+nGTWsQV&StSGqCn38+)GfN;Nvo?oR4eHOT#I4~!?iY;VG8t%_HD3%{3`s_$v}xRaWm=38|< z%}#oquWEi&-&N}B|ET*|ZO?iJmJ$8UidX&5idSFEiq~wJ6)&9Dsx?sTk*aw0%dGL$ zM=^ZaT+p{6hG9=kn=9(C7``m#ZoO89QGdna>}8+owOR4S?+sJ42|A9Ve-HEt=vUAw z1ULga2U-EW5Bd^x3&j6=KLC9S`V901=oaW3(08C8K(|4^f&K(-gX%}j4ub9j9RVE$ zJqCIT^c?5~&=P1F^fKsmP#bh{Yt&yF^s~{RXO}k8w5ONW=HTu0)qXd#rBT|>QaiPl zb+3{+leWdSvi2x@X>hgMU$<5^7>Z4^R<_mer&sKJr*po47G6N7uU|^r!$IF#*HTyv z2bnE*dp%gKw%(=qoj+b_vbamuyN8WbiY`wJOr5z{z E5165sU;qFB literal 4929 zcmbVQO=w(I6uz0HlUAcXe<~`Jjz#H07lUpDLDQs&T1$fo)QvQg=1nqWG84wvO5N0j zAc6!1Q3R3VLfq&=FraH)`m^*8DU@o(P5oI|e-gj%yz@=2&v~h7;Be2m=l{Fs-Z$+? z2;o|%VU-Rx&CW;; zQ`IEYD*qwI7^1^$HCc80J(Q7$x(mbL>%++ic;*b_!$}3P=@aMY9!)E-qmK5>A8NxE zhdTLIz|xK@V^9^69SLig02}LQQ}kmj#%I5Zf8jK;CV8%l8;FZK8TKL`fZOtD zH4M-veUkl9dY{y*7xflq^I9|LXn!9LF|PUi#>NIQ3$>8<=D7@)dX9_gr=Qj3F<&Ue zWPau-#uSEz1!C&#XJH@eLrEB~CO5k;w~FV_n3^4)9Zk4rIN%)qbUC)6P8e{d5AmnJ z&eHrbJK;=@(dX_X{kJ=?QO|WBfn`qaDF)-p_KrV*qtC@BZp%H{()R%jC0F6WHO5}C z`gNhVUpy9dyeD)~49ej6tZTct6#ci0OVNM3xD@?kTqb$Om|ea{Lyifz^d8aIu){2! zb-m3X=8N~7ro3NVX?uW-&*wL8&$zJ-`{(=5??Jejzrpl<2>Y_rcjF$$vw6sC{LW*3 z!As(GulXKLbtlR4{_w2S1LdmA@wYnf2j5@+qdh+Fcsuhu^tZ=9j8!>*C7)FD`$Svt zI#==*6WfeMwd%6{mHgc>{@I*oIMv5H8P^@A^7m>V5~!Dc+}cjN%W;ms9*pwh8^=71 zPoJXB-i#8ReX~k*hGU8DD(;u)>~~R#?wT$9#v&cqKA!XBF$Xbb+!AI>jv2RvFL5Y4 zhnGJ42VpF~K^V(#5XRCC!dNi} zVa(s8?3d>md~S{Rxz+CvVr#v?mZp^X&h+my?gage+(vgIj(xd!tcAbl2Axrvj`j5I zr}E#~s*80JOU@5helsuekWnxDvA^+ZvhH)lT4~F(2?Oq)y{(Ru@rC;x-|K!&9%pyxE*anH1p!QO~0AloBr}q z>_IyDapk$IX60tgTdAw%Z`~`nG~8qD{LXNtd>KE~eC@cf{;hCPpTgxi z#szM|Mfx&aWG`G~FI*%G7sfApyxrWpw~cef!+gs2>KZGDd;QES>r8e#S+Cm;M;Fty zE#Y8exv`MWPcL_u(lFUe8(A6-9M4)O$s9}@VyCl4FFV{l+3GBW>8!gVHqEB96P->v zAC5GeM>-E9DQM!<(X_GB?Sw; + spin spinner1 around y-axis speed <100.000000>; + spin spinner2 around y-axis speed <-100.000000>; + return (0); +} +Stop() +{ + stop-spin turret around y-axis; + stop-spin spinner1 around y-axis; + stop-spin spinner2 around y-axis; + return (0); +} SetStunned(State) { Stunned = State; if (Stunned) { - call-script Deactivate(); + call-script Stop(); } else { - call-script Activate(); + call-script Go(); + } +} + +InitState() +{ + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; + return (0); +} + +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + call-script Go(); + currentstate = 0; + } + if( statechg_DesiredState == 1 ) + { + call-script Stop(); + currentstate = 1; + } } + statechg_StateChanging = FALSE; + return (0); } Create() { + call-script InitState(); + return (0); } Activate() { - spin turret around y-axis speed <25.0>; - spin spinner1 around y-axis speed <100.0>; - spin spinner2 around y-axis speed <-100.0>; + call-script Go(); + start-script RequestState(0); + return (0); } Deactivate() { - stop-spin turret around y-axis; - stop-spin spinner1 around y-axis; - stop-spin spinner2 around y-axis; + call-script Stop(); + start-script RequestState(1); + return (0); } - +SweetSpot(piecenum) +{ + piecenum = base; + return (0); +} Killed(severity, corpsetype) { diff --git a/scripts/Units/armjamt.cob b/scripts/Units/armjamt.cob index 4fea90fb300a3c7fa75d6f790fa859e1964abbac..67dcf18b206f8bee26274e634a190fa01e95d33f 100644 GIT binary patch literal 2668 zcmbVOO=}ZT6up_GsUIj$P^b%G&{e_3*p(Y4Rv{KkDGo*Oi^g_@U`^6wV(G5<3tYMo z!L_&-+=~7IUF%X@=}vGF&w2CiR9<&N_iFF>|=-kC?`Ld`j{ zuGW}Te^Q*{QFA7oH?i0wXZ8{*uM^hnjOk+k)buU#;AXeuY%Oc6FgJ-ZZ1T)G81Tb~A-ePD&R=2Rk8C&6sGAqg9u(~NogGSa9{wF< ztrPTN7M#x;9BH%n2lFEXy?YFk)$C5ab8#$}&%)HRIm4#+iJCFvKClx!im7#2lXmJ4 zBoyJc@ZH&1T*=aBAn|XFi(460h zI>g+l`CvD8C$JHZPtL{h(i!?bV*9=OyJJ22SnmuDJ|7=L`&N9bk;@p~MZOnviEaIP zjcng52v*;if9AVPppyQyhM&h!y+g|`PiIA3nlz8In}cqsOaoMa&=8gL~ z%ea!*A_tim3ywOYXnbc`-`|nWm9eMk3$t0hcK!H$GA2X_^&YgW`I(=dlDyUoDMskWK)(9 z6{oE`i87bCOK*v1Qhl=I>kAY$BPPHM<~x zUfO!?P?uI{hqHitS+IxQa9Sp@A+gnNz@{&G>?Q1cCSn(4W{Qb2){wH*qa1j0Szc)i z-QcsemFp;n27{I|F!itpN$%7p@h%%^xC6(aO_L%E1Brm()3_m@7dIrS9j!C zK~KciG1RlOpZ$`OaQZz>o0}OX0Mc2oGxuSkx)ZNOTi%L0?aT4mn`bsHN9kX@?#|DK zv*67hqNq4^Vh3feDjUmR1DG%ycPIZY`H@$?=Obs$kA38$n{OrFSK=KDKwtVD z$II`VIh@yh=XL)$-gSB;-ZzPt`r~+;`|i_2b2#t&7?FoQ?2jhy}Y;Qo4qN! zDETD$C7BiAlw?72S;GIX^OC;gs^pgBuH=EFkZeevN}fwzN^XqG +#define HITSPEED <65.0> //how 'heavy' the unit is, on a scale of 1-10 #define UNITSIZE 2 #define MAXTILT 100 -#define RECOIL_POWER 20000 -#include "../unit_hitbyweaponid_and_smoke.h" - -#define TB_BASE base -#define TB_TURNRATE <15.0> -#define TB_TILT_X <0.10> -#define TB_BANK_Z <0.10> // Do not define this if you dont want banking -#include "../tilt_bank_mobileunit.h" +#include "unit_hitbyweaponid_and_smoke.h" Create() { @@ -35,27 +29,11 @@ Create() hide flarer; gun_2 = flarel; restore_delay = 3000; - call-script TB_Init(); -} - -StartMoving(reversing) -{ - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; - - START_TILTBANK; -} - -StopMoving() -{ - signal SIGNAL_MOVE; - STOP_TILTBANK; } - -SetMaxReloadTime(reloadMS) +SetMaxReloadTime(Func_Var_1) { - restore_delay = reloadMS * 2; + restore_delay = Func_Var_1 * 2; } static-var Stunned; @@ -64,9 +42,9 @@ ExecuteRestoreAfterDelay() if (Stunned) { return (1); } - turn turret to y-axis <0.0> speed <80.0>; - turn barrell to x-axis <0.0> speed <50.0>; - turn barrelr to x-axis <0.0> speed <50.0>; + turn turret to y-axis <0.000000> speed <80.000000>; + turn barrell to x-axis <0.000000> speed <50.000000>; + turn barrelr to x-axis <0.000000> speed <50.000000>; } SetStunned(State) { @@ -81,63 +59,66 @@ RestoreAfterDelay() start-script ExecuteRestoreAfterDelay(); } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; - turn turret to y-axis heading speed <80.0>; - turn barrell to x-axis <0.0> - pitch speed <50.0>; + signal SIG_AIM; + set-signal-mask SIG_AIM; + turn turret to y-axis heading speed <80.000000>; + turn barrell to x-axis <0.000000> - pitch speed <50.000000>; wait-for-turn turret around y-axis; wait-for-turn barrell around x-axis; start-script RestoreAfterDelay(); return (1); } -FireWeapon1() +FirePrimary() { sleep 150; gun_2 = !gun_2; } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = barrell; + piecenum = barrell; } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = flarel; + piecenum = flarel; } -AimWeapon2(heading, pitch) +AimSecondary(heading, pitch) { - signal SIGNAL_AIM2; - set-signal-mask SIGNAL_AIM2; - turn turret to y-axis heading speed <80.0>; - turn barrelr to x-axis <0.0> - pitch speed <50.0>; + signal SIG_AIM_2; + set-signal-mask SIG_AIM_2; + turn turret to y-axis heading speed <80.000000>; + turn barrelr to x-axis <0.000000> - pitch speed <50.000000>; wait-for-turn turret around y-axis; wait-for-turn barrelr around x-axis; start-script RestoreAfterDelay(); return (1); } -FireWeapon2() +FireSecondary() { sleep 150; gun_2 = !gun_2; } -AimFromWeapon2(pieceIndex) +AimFromSecondary(piecenum) { - pieceIndex = barrelr; + piecenum = barrelr; } -QueryWeapon2(pieceIndex) +QuerySecondary(piecenum) { - pieceIndex = flarer; + piecenum = flarer; } - +SweetSpot(piecenum) +{ + piecenum = base; +} Killed(severity, corpsetype) { @@ -147,9 +128,9 @@ Killed(severity, corpsetype) explode base type BITMAPONLY | NOHEATCLOUD; explode turret type BITMAPONLY | NOHEATCLOUD; explode barrell type FIRE | SMOKE | FALL | NOHEATCLOUD; - - - + //explode flarel type BITMAPONLY | NOHEATCLOUD; + //explode barrelr type BITMAPONLY | NOHEATCLOUD; + //explode flarer type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } if( severity <= 50 ) @@ -158,9 +139,9 @@ Killed(severity, corpsetype) explode base type BITMAPONLY | NOHEATCLOUD; explode turret type FIRE | SMOKE | FALL | NOHEATCLOUD; explode barrell type FIRE | SMOKE | FALL | NOHEATCLOUD; - + //explode flarel type FIRE | SMOKE | FALL | NOHEATCLOUD; explode barrelr type FIRE | SMOKE | FALL | NOHEATCLOUD; - + //explode flarer type FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) @@ -169,17 +150,17 @@ Killed(severity, corpsetype) explode base type FIRE | SMOKE | FALL | NOHEATCLOUD; explode turret type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode barrell type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; - + //explode flarel type SMOKE | FALL | NOHEATCLOUD; explode barrelr type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; - + //explode flarer type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; explode base type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode turret type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode barrell type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; - + //explode flarel type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode barrelr type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; - + //explode flarer type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/armjanus.cob b/scripts/Units/armjanus.cob index b45465335eed1340b24e05bd55876e5fb72e399c..6419fdaee71aa59ec0c0c10d07ac6602a0a7b0d8 100644 GIT binary patch literal 3111 zcmb_eJ8M)y6h8aNMiPaqf@m5S(pZQt79!XrQG+6pm{k+IT(c8c+()>%t64;djg5~+ zhzLPa>K_Q!Vq-0~VxeFqHg*br-`qKSuQ%BxYux3_nK`dH=Q}e?@*;8o7z7?=Me>mR z%ngZb0N;S)*yo4wr4ao_4;nM^JQPGfjxh9d6=Jh82kB5 zB6m^joze3jkN$15d0dXP&DP*-OrNfkwK2X^&ql=W5Dx>Nd>i~E`=qZ`;?8vQ(K&Z` zSc>|x^{mD{Dqqs0NBUT9iqYHEe)(ScmaGlySYPn?+s6;jw|2+t8kMMZP0p5P z<%qG&sqZGqf!M7ns*w*dUtbXnjhv$bD;H*i+=j)#YeaMndTsQX1ADL9CV9G_s!O3fpy?5@B#P) z{08>nG8_WV0+YZM;0ACHcnCZN)_|7)|L^pG5#Shb5*Pz+0u|s6@BrZdSnI%RU=w%; zd<4D#-+`aNFCe#9WEeOIi~vW0i`8(VJ!|}>W<$#L=52GmQ4N#YOBFd67(X;pHsO@N zGGl5@zjCcwH*#UcEVM#1W0u2aV8$0i6P!0SzfI3_*lILPMYbBptM%!iTK9vtOjZM< zYp5rKX2*23WrB9XRyGUGMn!|-oePT?P`2OOn&QirDspu;=$Xm5GMIaAkSeov#5 zb4k7Jd9h4mB|e|U;E(F8E7sE(p{A9fN1pj)9*;lcbF^F;U)pop6SYSU(vsu|?Etgk zNma(P^I+SlJ@r^GZQljS^D<8QV0`mgJ*DkuWV%p2R5#Y4J!`h!cOhg<-mPENnwi5s z6+$oAC(c6>KNGX%DeaopbmP8hUe%r*B%`U-%Gud2kk@+I%kJP~{jpq(M|<+Pf9xM~ zsruucGQNQZ2;LjKWAE7$lJw7$vM!0RGd~9&S+?u3|JY7_hMn9GcH~(M%cG2u=nK=h z*sg^6-3oR!CVbQHoSbYXw*$W(@#EMX$h8lc1NCnNeX{MXpCOH!SqFESdGsP)+&k(p z_qbM@O?+BS%>AR#+lAnhGTR?k%9!?^SwdW zrFt8F)^Fj$7@yyNZ_a;WxpkJ|JBO~#*5+dQldpLNpC43wGCpHeeOeE-7wzfy!Ultd z9a;#!$kMmDfmcQvCl8*ihyHnGZg&6rsK1jhExbD=rn>glX-gZ~^}k0-zwPP6c9XTM zTfBYUXIv~7+xgh{Vg6{#S(H9P|836>k}-a%AHKgVFYNgz?v-(l{Lro{(;R|Kl`45MH|A01bKURfF&d(`Xo-I4TM5`x zS849b3?2KPP&*d3>+2HIVaBY{`X&ETBXzVlc#G7tda;3JUr0~+{_h>;$oOiDyh(pd zCh}$t%16EN?ou4@Cw=lQlO6Yf_1S%vywqVYt$xz~v3{Frwf-sp|Er%qXVquDoh4`e zHec#K24B+h`}GYR$M&2B@7Jl5%$L7WcDL`cYeBAafxgW)j-$VaA^Jz6P>;oZKdO&$OiXFJa7tF1F#*6+>dY48*lEsI?4)JN{8vT>#q&RJ5JUYUtcD3JsT8@>1anz5xM%$pryGFWVCEe?}!8q-&XG141?zzoL;d<_TG0t6gt8n>}8>AOx%@u3KWHfSp z`KPd(4SkL$ speed <1239.793115> / animSpeed; //delta=-41.33 - turn lfoot to z-axis <-0.0> speed <300.031170> / animSpeed; //delta=10.00 + turn lfoot to z-axis <-0.000352> speed <300.031170> / animSpeed; //delta=10.00 turn lfoot to y-axis <0.002027> speed <3.337727> / animSpeed; //delta=0.11 turn lleg to x-axis <-6.980175> speed <214.255448> / animSpeed; //delta=7.14 turn lthigh to x-axis <-37.815264> speed <1105.721302> / animSpeed; //delta=36.86 @@ -26,22 +30,22 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn lthigh to y-axis <0.671051> speed <133.498330> / animSpeed; //delta=-4.45 turn lturret to x-axis <-2.778373> speed <83.351185> / animSpeed; //delta=2.78 turn lturret to z-axis <-2.403454> speed <72.103611> / animSpeed; //delta=2.40 - turn pelvis to z-axis <-3.0> speed <90.0> / animSpeed; //delta=3.00 - turn pelvis to y-axis <-5.0> speed <149.999996> / animSpeed; //delta=-5.00 + turn pelvis to z-axis <-3.000000> speed <90.000003> / animSpeed; //delta=3.00 + turn pelvis to y-axis <-5.000000> speed <149.999996> / animSpeed; //delta=-5.00 turn rfoot to x-axis <-10.272441> speed <334.127939> / animSpeed; //delta=11.14 - turn rfoot to z-axis <-0.0> speed <171.004482> / animSpeed; //delta=-5.70 + turn rfoot to z-axis <-0.000522> speed <171.004482> / animSpeed; //delta=-5.70 turn rleg to x-axis <-28.732775> speed <863.480322> / animSpeed; //delta=28.78 turn rthigh to x-axis <47.495517> speed <1456.593404> / animSpeed; //delta=-48.55 turn rthigh to z-axis <3.880425> speed <121.429459> / animSpeed; //delta=4.05 turn rthigh to y-axis <-4.196932> speed <21.732719> / animSpeed; //delta=0.72 turn rturret to x-axis <-2.809555> speed <84.286637> / animSpeed; //delta=2.81 turn rturret to z-axis <2.273035> speed <68.191059> / animSpeed; //delta=-2.27 - turn torso to x-axis <-1.0> speed <30.0> / animSpeed; //delta=1.00 - turn torso to y-axis <3.0> speed <90.0> / animSpeed; //delta=3.00 + turn torso to x-axis <-1.000000> speed <30.000000> / animSpeed; //delta=1.00 + turn torso to y-axis <3.000000> speed <90.000003> / animSpeed; //delta=3.00 sleep ((33*animSpeed) -1); } - while(isMoving) { - if (isMoving) { //Frame:6 + while(bMoving) { + if (bMoving) { //Frame:6 turn lfoot to x-axis <30.208800> speed <353.047560> / animSpeed; //delta=11.77 turn lleg to x-axis <-23.988393> speed <510.246546> / animSpeed; //delta=17.01 turn lthigh to x-axis <-51.922640> speed <423.221300> / animSpeed; //delta=14.11 @@ -49,9 +53,9 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn lthigh to y-axis <2.739573> speed <62.055681> / animSpeed; //delta=2.07 turn lturret to x-axis <-3.371164> speed <17.783732> / animSpeed; //delta=0.59 turn lturret to z-axis <-4.806907> speed <72.103611> / animSpeed; //delta=2.40 - move pelvis to y-axis [-1.0] speed [30.0] / animSpeed; //delta=-1.00 - turn pelvis to z-axis <-5.0> speed <59.999993> / animSpeed; //delta=2.00 - turn pelvis to y-axis <-7.0> speed <60.0> / animSpeed; //delta=-2.00 + move pelvis to y-axis [-1.000000] speed [30.000000] / animSpeed; //delta=-1.00 + turn pelvis to z-axis <-5.000000> speed <59.999993> / animSpeed; //delta=2.00 + turn pelvis to y-axis <-7.000000> speed <60.000006> / animSpeed; //delta=-2.00 turn rfoot to x-axis <-18.997758> speed <261.759495> / animSpeed; //delta=8.73 turn rleg to x-axis <-18.236926> speed <314.875477> / animSpeed; //delta=-10.50 turn rthigh to x-axis <69.063362> speed <647.035363> / animSpeed; //delta=-21.57 @@ -59,11 +63,11 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn rthigh to y-axis <-25.704218> speed <645.218593> / animSpeed; //delta=-21.51 turn rturret to x-axis <-3.412739> speed <18.095540> / animSpeed; //delta=0.60 turn rturret to z-axis <4.546071> speed <68.191059> / animSpeed; //delta=-2.27 - turn torso to x-axis <-3.0> speed <60.0> / animSpeed; //delta=2.00 - turn torso to y-axis <5.0> speed <59.999993> / animSpeed; //delta=2.00 + turn torso to x-axis <-3.000000> speed <60.000003> / animSpeed; //delta=2.00 + turn torso to y-axis <5.000000> speed <59.999993> / animSpeed; //delta=2.00 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:9 + if (bMoving) { //Frame:9 turn lfoot to x-axis <48.863600> speed <559.644015> / animSpeed; //delta=-18.65 turn lleg to x-axis <-26.496565> speed <75.245155> / animSpeed; //delta=2.51 turn lthigh to x-axis <-23.765858> speed <844.703462> / animSpeed; //delta=-28.16 @@ -71,9 +75,9 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn lthigh to y-axis <1.672492> speed <32.012452> / animSpeed; //delta=-1.07 turn lturret to x-axis <1.371164> speed <142.269830> / animSpeed; //delta=-4.74 turn lturret to z-axis <4.806907> speed <288.414445> / animSpeed; //delta=-9.61 - move pelvis to y-axis [-0.500000] speed [15.0] / animSpeed; //delta=0.50 - turn pelvis to z-axis <-3.0> speed <59.999993> / animSpeed; //delta=-2.00 - turn pelvis to y-axis <-5.0> speed <60.0> / animSpeed; //delta=2.00 + move pelvis to y-axis [-0.500000] speed [15.000000] / animSpeed; //delta=0.50 + turn pelvis to z-axis <-3.000000> speed <59.999993> / animSpeed; //delta=-2.00 + turn pelvis to y-axis <-5.000000> speed <60.000006> / animSpeed; //delta=2.00 turn rfoot to x-axis <-45.379118> speed <820.049724> / animSpeed; //delta=27.33 turn rleg to x-axis <4.886519> speed <762.667900> / animSpeed; //delta=-25.42 turn rthigh to x-axis <42.587285> speed <816.212558> / animSpeed; //delta=27.21 @@ -81,33 +85,33 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn rthigh to y-axis <-3.373145> speed <703.459176> / animSpeed; //delta=23.45 turn rturret to x-axis <1.412739> speed <144.764355> / animSpeed; //delta=-4.83 turn rturret to z-axis <-4.546071> speed <272.764236> / animSpeed; //delta=9.09 - turn torso to x-axis <10.0> speed <389.999994> / animSpeed; //delta=-13.00 - turn torso to y-axis <3.0> speed <59.999993> / animSpeed; //delta=-2.00 + turn torso to x-axis <10.000000> speed <389.999994> / animSpeed; //delta=-13.00 + turn torso to y-axis <3.000000> speed <59.999993> / animSpeed; //delta=-2.00 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:12 + if (bMoving) { //Frame:12 turn lfoot to x-axis <-4.731012> speed <1607.838368> / animSpeed; //delta=53.59 turn lleg to x-axis <8.171767> speed <1040.049955> / animSpeed; //delta=-34.67 turn lthigh to x-axis <-3.387288> speed <611.357117> / animSpeed; //delta=-20.38 - turn lthigh to z-axis <-0.0> speed <53.096785> / animSpeed; //delta=-1.77 - turn lthigh to y-axis <-0.0> speed <50.174747> / animSpeed; //delta=-1.67 + turn lthigh to z-axis <-0.000000> speed <53.096785> / animSpeed; //delta=-1.77 + turn lthigh to y-axis <-0.000000> speed <50.174747> / animSpeed; //delta=-1.67 turn lturret to x-axis <-1.592791> speed <88.918642> / animSpeed; //delta=2.96 - turn lturret to z-axis <-0.0> speed <144.207223> / animSpeed; //delta=4.81 + turn lturret to z-axis <-0.000000> speed <144.207223> / animSpeed; //delta=4.81 move pelvis to y-axis [-0.250000] speed [7.500000] / animSpeed; //delta=0.25 - turn pelvis to z-axis <-0.0> speed <90.0> / animSpeed; //delta=-3.00 - turn pelvis to y-axis <0.0> speed <149.999996> / animSpeed; //delta=5.00 + turn pelvis to z-axis <-0.000000> speed <90.000003> / animSpeed; //delta=-3.00 + turn pelvis to y-axis <0.000000> speed <149.999996> / animSpeed; //delta=5.00 turn rfoot to x-axis <-32.213887> speed <394.956918> / animSpeed; //delta=-13.17 turn rleg to x-axis <52.890174> speed <1440.109652> / animSpeed; //delta=-48.00 turn rthigh to x-axis <-18.153523> speed <1822.224222> / animSpeed; //delta=60.74 - turn rthigh to z-axis <0.0> speed <121.571895> / animSpeed; //delta=4.05 - turn rthigh to y-axis <0.0> speed <101.194345> / animSpeed; //delta=3.37 + turn rthigh to z-axis <0.000000> speed <121.571895> / animSpeed; //delta=4.05 + turn rthigh to y-axis <0.000000> speed <101.194345> / animSpeed; //delta=3.37 turn rturret to x-axis <-1.603185> speed <90.477721> / animSpeed; //delta=3.02 - turn rturret to z-axis <-0.0> speed <136.382118> / animSpeed; //delta=-4.55 - turn torso to x-axis <4.0> speed <179.999992> / animSpeed; //delta=6.00 - turn torso to y-axis <0.0> speed <90.0> / animSpeed; //delta=-3.00 + turn rturret to z-axis <-0.000000> speed <136.382118> / animSpeed; //delta=-4.55 + turn torso to x-axis <4.000000> speed <179.999992> / animSpeed; //delta=6.00 + turn torso to y-axis <0.000000> speed <90.000003> / animSpeed; //delta=-3.00 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:15 + if (bMoving) { //Frame:15 turn lfoot to x-axis <-10.265597> speed <166.037540> / animSpeed; //delta=5.53 turn lleg to x-axis <-28.774542> speed <1108.389276> / animSpeed; //delta=36.95 turn lthigh to x-axis <47.561370> speed <1528.459735> / animSpeed; //delta=-50.95 @@ -115,9 +119,9 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn lthigh to y-axis <4.202580> speed <126.077386> / animSpeed; //delta=4.20 turn lturret to x-axis <-2.778373> speed <35.567457> / animSpeed; //delta=1.19 turn lturret to z-axis <-2.403454> speed <72.103611> / animSpeed; //delta=2.40 - move pelvis to y-axis [0.0] speed [7.500000] / animSpeed; //delta=0.25 - turn pelvis to z-axis <3.0> speed <90.0> / animSpeed; //delta=-3.00 - turn pelvis to y-axis <5.0> speed <149.999996> / animSpeed; //delta=5.00 + move pelvis to y-axis [0.000000] speed [7.500000] / animSpeed; //delta=0.25 + turn pelvis to z-axis <3.000000> speed <90.000003> / animSpeed; //delta=-3.00 + turn pelvis to y-axis <5.000000> speed <149.999996> / animSpeed; //delta=5.00 turn rfoot to x-axis <41.967462> speed <2225.440478> / animSpeed; //delta=-74.18 turn rleg to x-axis <-8.854586> speed <1852.342795> / animSpeed; //delta=61.74 turn rthigh to x-axis <-36.647151> speed <554.808856> / animSpeed; //delta=18.49 @@ -125,11 +129,11 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn rthigh to y-axis <-0.592506> speed <17.775194> / animSpeed; //delta=-0.59 turn rturret to x-axis <-2.809555> speed <36.191093> / animSpeed; //delta=1.21 turn rturret to z-axis <2.273035> speed <68.191059> / animSpeed; //delta=-2.27 - turn torso to x-axis <-1.0> speed <149.999999> / animSpeed; //delta=5.00 - turn torso to y-axis <-3.0> speed <90.0> / animSpeed; //delta=-3.00 + turn torso to x-axis <-1.000000> speed <149.999999> / animSpeed; //delta=5.00 + turn torso to y-axis <-3.000000> speed <90.000003> / animSpeed; //delta=-3.00 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:18 + if (bMoving) { //Frame:18 turn lfoot to x-axis <-18.974819> speed <261.276661> / animSpeed; //delta=8.71 turn lleg to x-axis <-18.287331> speed <314.616323> / animSpeed; //delta=-10.49 turn lthigh to x-axis <69.201154> speed <649.193532> / animSpeed; //delta=-21.64 @@ -137,9 +141,9 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn lthigh to y-axis <25.918288> speed <651.471264> / animSpeed; //delta=21.72 turn lturret to x-axis <-3.371164> speed <17.783732> / animSpeed; //delta=0.59 turn lturret to z-axis <-4.806907> speed <72.103611> / animSpeed; //delta=2.40 - move pelvis to y-axis [-1.0] speed [30.0] / animSpeed; //delta=-1.00 - turn pelvis to z-axis <5.0> speed <59.999993> / animSpeed; //delta=-2.00 - turn pelvis to y-axis <7.0> speed <60.0> / animSpeed; //delta=2.00 + move pelvis to y-axis [-1.000000] speed [30.000000] / animSpeed; //delta=-1.00 + turn pelvis to z-axis <5.000000> speed <59.999993> / animSpeed; //delta=-2.00 + turn pelvis to y-axis <7.000000> speed <60.000006> / animSpeed; //delta=2.00 turn rfoot to x-axis <30.854164> speed <333.398950> / animSpeed; //delta=11.11 turn rleg to x-axis <-26.425333> speed <527.122411> / animSpeed; //delta=17.57 turn rthigh to x-axis <-50.628535> speed <419.441507> / animSpeed; //delta=13.98 @@ -147,11 +151,11 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn rthigh to y-axis <-2.643937> speed <61.542928> / animSpeed; //delta=-2.05 turn rturret to x-axis <-3.412739> speed <18.095540> / animSpeed; //delta=0.60 turn rturret to z-axis <4.546071> speed <68.191059> / animSpeed; //delta=-2.27 - turn torso to x-axis <-3.0> speed <59.999996> / animSpeed; //delta=2.00 - turn torso to y-axis <-5.0> speed <59.999993> / animSpeed; //delta=-2.00 + turn torso to x-axis <-3.000000> speed <59.999996> / animSpeed; //delta=2.00 + turn torso to y-axis <-5.000000> speed <59.999993> / animSpeed; //delta=-2.00 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:21 + if (bMoving) { //Frame:21 turn lfoot to x-axis <-45.399397> speed <792.737334> / animSpeed; //delta=26.42 turn lleg to x-axis <4.756469> speed <691.314020> / animSpeed; //delta=-23.04 turn lthigh to x-axis <42.759078> speed <793.262302> / animSpeed; //delta=26.44 @@ -159,9 +163,9 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn lthigh to y-axis <3.468518> speed <673.493098> / animSpeed; //delta=-22.45 turn lturret to x-axis <1.371164> speed <142.269830> / animSpeed; //delta=-4.74 turn lturret to z-axis <4.806907> speed <288.414445> / animSpeed; //delta=-9.61 - move pelvis to y-axis [-0.500000] speed [15.0] / animSpeed; //delta=0.50 - turn pelvis to z-axis <3.0> speed <59.999993> / animSpeed; //delta=2.00 - turn pelvis to y-axis <5.0> speed <60.0> / animSpeed; //delta=-2.00 + move pelvis to y-axis [-0.500000] speed [15.000000] / animSpeed; //delta=0.50 + turn pelvis to z-axis <3.000000> speed <59.999993> / animSpeed; //delta=2.00 + turn pelvis to y-axis <5.000000> speed <60.000006> / animSpeed; //delta=-2.00 turn rfoot to x-axis <49.613797> speed <562.789009> / animSpeed; //delta=-18.76 turn rleg to x-axis <-29.056543> speed <78.936325> / animSpeed; //delta=2.63 turn rthigh to x-axis <-22.408017> speed <846.615540> / animSpeed; //delta=-28.22 @@ -169,33 +173,33 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn rthigh to y-axis <-1.683389> speed <28.816465> / animSpeed; //delta=0.96 turn rturret to x-axis <1.412739> speed <144.764355> / animSpeed; //delta=-4.83 turn rturret to z-axis <-4.546071> speed <272.764236> / animSpeed; //delta=9.09 - turn torso to x-axis <10.0> speed <389.999987> / animSpeed; //delta=-13.00 - turn torso to y-axis <-3.0> speed <59.999993> / animSpeed; //delta=2.00 + turn torso to x-axis <10.000000> speed <389.999987> / animSpeed; //delta=-13.00 + turn torso to y-axis <-3.000000> speed <59.999993> / animSpeed; //delta=2.00 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:24 + if (bMoving) { //Frame:24 turn lfoot to x-axis <-32.214526> speed <395.546124> / animSpeed; //delta=-13.18 turn lleg to x-axis <49.366002> speed <1338.285964> / animSpeed; //delta=-44.61 turn lthigh to x-axis <-16.864502> speed <1788.707391> / animSpeed; //delta=59.62 - turn lthigh to z-axis <0.0> speed <122.148742> / animSpeed; //delta=-4.07 - turn lthigh to y-axis <0.0> speed <104.055552> / animSpeed; //delta=-3.47 + turn lthigh to z-axis <0.000000> speed <122.148742> / animSpeed; //delta=-4.07 + turn lthigh to y-axis <0.000000> speed <104.055552> / animSpeed; //delta=-3.47 turn lturret to x-axis <-1.592791> speed <88.918642> / animSpeed; //delta=2.96 - turn lturret to z-axis <-0.0> speed <144.207223> / animSpeed; //delta=4.81 + turn lturret to z-axis <-0.000000> speed <144.207223> / animSpeed; //delta=4.81 move pelvis to y-axis [-0.250000] speed [7.500000] / animSpeed; //delta=0.25 - turn pelvis to z-axis <-0.0> speed <90.0> / animSpeed; //delta=3.00 - turn pelvis to y-axis <0.0> speed <149.999996> / animSpeed; //delta=-5.00 + turn pelvis to z-axis <-0.000000> speed <90.000003> / animSpeed; //delta=3.00 + turn pelvis to y-axis <0.000000> speed <149.999996> / animSpeed; //delta=-5.00 turn rfoot to x-axis <-4.597207> speed <1626.330145> / animSpeed; //delta=54.21 turn rleg to x-axis <7.582778> speed <1099.179637> / animSpeed; //delta=-36.64 turn rthigh to x-axis <-3.156404> speed <577.548391> / animSpeed; //delta=-19.25 - turn rthigh to z-axis <-0.0> speed <53.295470> / animSpeed; //delta=1.78 - turn rthigh to y-axis <-0.0> speed <50.501658> / animSpeed; //delta=1.68 + turn rthigh to z-axis <-0.000000> speed <53.295470> / animSpeed; //delta=1.78 + turn rthigh to y-axis <-0.000000> speed <50.501658> / animSpeed; //delta=1.68 turn rturret to x-axis <-1.603185> speed <90.477721> / animSpeed; //delta=3.02 - turn rturret to z-axis <-0.0> speed <136.382118> / animSpeed; //delta=-4.55 - turn torso to x-axis <4.0> speed <179.999992> / animSpeed; //delta=6.00 - turn torso to y-axis <0.0> speed <90.0> / animSpeed; //delta=3.00 + turn rturret to z-axis <-0.000000> speed <136.382118> / animSpeed; //delta=-4.55 + turn torso to x-axis <4.000000> speed <179.999992> / animSpeed; //delta=6.00 + turn torso to y-axis <0.000000> speed <90.000003> / animSpeed; //delta=3.00 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:27 + if (bMoving) { //Frame:27 turn lfoot to x-axis <41.977052> speed <2225.747324> / animSpeed; //delta=-74.19 turn lleg to x-axis <-6.980175> speed <1690.385285> / animSpeed; //delta=56.35 turn lthigh to x-axis <-37.815264> speed <628.522853> / animSpeed; //delta=20.95 @@ -203,9 +207,9 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn lthigh to y-axis <0.671051> speed <20.131518> / animSpeed; //delta=0.67 turn lturret to x-axis <-2.778373> speed <35.567457> / animSpeed; //delta=1.19 turn lturret to z-axis <-2.403454> speed <72.103611> / animSpeed; //delta=2.40 - move pelvis to y-axis [0.0] speed [7.500000] / animSpeed; //delta=0.25 - turn pelvis to z-axis <-3.0> speed <90.0> / animSpeed; //delta=3.00 - turn pelvis to y-axis <-5.0> speed <149.999996> / animSpeed; //delta=-5.00 + move pelvis to y-axis [0.000000] speed [7.500000] / animSpeed; //delta=0.25 + turn pelvis to z-axis <-3.000000> speed <90.000003> / animSpeed; //delta=3.00 + turn pelvis to y-axis <-5.000000> speed <149.999996> / animSpeed; //delta=-5.00 turn rfoot to x-axis <-8.912775> speed <129.467038> / animSpeed; //delta=4.32 turn rleg to x-axis <-31.601267> speed <1175.521344> / animSpeed; //delta=39.18 turn rthigh to x-axis <48.626722> speed <1553.493785> / animSpeed; //delta=-51.78 @@ -213,36 +217,36 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from N:\animations turn rthigh to y-axis <-4.274485> speed <128.234556> / animSpeed; //delta=-4.27 turn rturret to x-axis <-2.809555> speed <36.191093> / animSpeed; //delta=1.21 turn rturret to z-axis <2.273035> speed <68.191059> / animSpeed; //delta=-2.27 - turn torso to x-axis <-1.0> speed <149.999999> / animSpeed; //delta=5.00 - turn torso to y-axis <3.0> speed <90.0> / animSpeed; //delta=3.00 + turn torso to x-axis <-1.000000> speed <149.999999> / animSpeed; //delta=5.00 + turn torso to y-axis <3.000000> speed <90.000003> / animSpeed; //delta=3.00 sleep ((33*animSpeed) -1); } } } -// Call this from StopMoving()! +// Call this from MotionControl()! StopWalking() { - move pelvis to y-axis [0.0] speed [10.0]; + move pelvis to y-axis [0.000000] speed [10.000000]; turn lfoot to x-axis <0.650615> speed <741.915775>; turn lfoot to y-axis <-0.109231> speed <1.112576>; - turn lfoot to z-axis <10.0> speed <100.010390>; + turn lfoot to z-axis <10.000687> speed <100.010390>; turn lleg to x-axis <0.161674> speed <563.461762>; turn lthigh to x-axis <-0.957887> speed <596.235797>; turn lthigh to y-axis <5.120995> speed <224.497699>; turn lthigh to z-axis <-8.224235> speed <217.952361>; - turn lturret to x-axis <0.0> speed <47.423277>; - turn lturret to z-axis <0.0> speed <96.138148>; - turn pelvis to y-axis <0.0> speed <49.999999>; - turn pelvis to z-axis <0.0> speed <30.0>; + turn lturret to x-axis <0.000000> speed <47.423277>; + turn lturret to z-axis <0.000000> speed <96.138148>; + turn pelvis to y-axis <0.000000> speed <49.999999>; + turn pelvis to z-axis <0.000000> speed <30.000001>; turn rfoot to x-axis <0.865157> speed <738.589814>; turn rfoot to z-axis <-5.700671> speed <57.001494>; - turn rleg to x-axis <0.0> speed <563.807224>; + turn rleg to x-axis <0.000000> speed <563.807224>; turn rthigh to x-axis <-1.057597> speed <595.559830>; turn rthigh to y-axis <-4.921356> speed <222.542195>; turn rthigh to z-axis <7.928074> speed <215.930386>; - turn rturret to x-axis <0.0> speed <48.254785>; - turn rturret to z-axis <0.0> speed <90.921412>; - turn torso to x-axis <0.0> speed <129.999998>; - turn torso to y-axis <0.0> speed <30.0>; + turn rturret to x-axis <0.000000> speed <48.254785>; + turn rturret to z-axis <0.000000> speed <90.921412>; + turn torso to x-axis <0.000000> speed <129.999998>; + turn torso to y-axis <0.000000> speed <30.000001>; } // REMEMBER TO animspeed = 3 in Create() !! UnitSpeed(){ @@ -259,28 +263,79 @@ UnitSpeed(){ sleep 98; } } -StartMoving(reversing){ - signal SIGNAL_MOVE; - isMoving=TRUE; - set-signal-mask SIGNAL_MOVE; +StartMoving(){ + signal SIG_WALK; + bMoving=TRUE; + set-signal-mask SIG_WALK; start-script UnitSpeed(); start-script Walk(); } - StopMoving(){ - signal SIGNAL_MOVE; - isMoving=FALSE; + signal SIG_WALK; + bMoving=FALSE; call-script StopWalking(); } + #define BASEPIECE pelvis #define HITSPEED <65.0> //how 'heavy' the unit is, on a scale of 1-10 #define UNITSIZE 1 #define MAXTILT 100 -#include "../unit_hitbyweaponid_and_smoke.h" +#include "unit_hitbyweaponid_and_smoke.h" + +Go() +{ + Static_Var_2 = 1; + if( !Static_Var_3 ) + { + turn lturret to z-axis <-45> speed <360>; + turn rturret to z-axis <45> speed <360>; + sleep 250; + Static_Var_3 = 1; + } +} + +Stop() +{ + if( Static_Var_3 ) + { + Static_Var_3 = 0; + turn rturret to z-axis <0> speed <360>; + turn lturret to z-axis <0> speed <360>; + sleep 250; + } + Static_Var_2 = 0; +} + +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 1 ) + { + call-script Stop(); + currentstate = 1; + } + else + { + call-script Go(); + currentstate = 0; + } + } + statechg_StateChanging = FALSE; +} + Create() { @@ -292,16 +347,25 @@ Create() hide aimy1; hide rflare; hide lflare; - isMoving = FALSE; - canAim = 0; + bMoving = FALSE; + Static_Var_2 = 0; + Static_Var_3 = 0; gun_3 = torso; restore_delay = 3000; + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; animSpeed = 3; } -SetMaxReloadTime(reloadMS) +SetMaxReloadTime(Func_Var_1) +{ + restore_delay = Func_Var_1 * 5; +} + + +SweetSpot(piecenum) { - restore_delay = reloadMS * 5; + piecenum = torso; } static-var Stunned; @@ -310,19 +374,12 @@ ExecuteRestoreAfterDelay() if (Stunned) { return (1); } - if( canAim ) - { - canAim = 0; - turn rturret to z-axis <0> speed <360>; - turn lturret to z-axis <0> speed <360>; - wait-for-turn rturret around z-axis; - } set-signal-mask 0; turn aimy1 to y-axis <0.000000> speed <90.000000>; turn aimx1 to x-axis <0> speed <50.000000>; turn rturret to z-axis <0> speed <120>; turn lturret to z-axis <0> speed <120>; - wpn2_lasthead = 0xbadface; + wpn2_lasthead = 1000000; } SetStunned(State) { @@ -333,45 +390,36 @@ SetStunned(State) } RestoreAfterDelay() { - set-signal-mask SIGNAL_AIM3; + set-signal-mask SIG_AIM_3; sleep restore_delay; start-script ExecuteRestoreAfterDelay(); } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = torso; + piecenum = torso; } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = rflare + gun_3;; + piecenum = rflare + gun_3;; } -AimWeapon2(heading, pitch) +AimSecondary(heading, pitch) { - signal SIGNAL_AIM3; - set-signal-mask SIGNAL_AIM3; - if( !canAim ) - { - turn lturret to z-axis <0.0> now; - turn lturret to z-axis <-45> speed <360>; - turn rturret to z-axis <0.0> now; - turn rturret to z-axis <45> speed <360>; - wait-for-turn lturret around z-axis; - canAim = 1; - } - while( !canAim ) + start-script RequestState(0); + signal SIG_AIM_3; + while( !Static_Var_3 ) { return(0); } - turn aimy1 to y-axis heading speed <275.0>; - turn aimx1 to x-axis 0 - pitch speed <275.0>; - - if ((wpn2_lasthead == 0xbadface) OR ABSOLUTE_GREATER_THAN(WRAPDELTA(heading - wpn2_lasthead), <27>)) + turn aimy1 to y-axis heading speed <275.000000>; + turn aimx1 to x-axis 0 - pitch speed <275.000000>; + + if (((get ABS(wpn2_lasthead - heading)) > 65536) OR(((get ABS(wpn2_lasthead - heading)) > 5000) AND ((get ABS(wpn2_lasthead - heading)) < 60536))) { - wpn2_lasthead = 0xbadface; + wpn2_lasthead = 1000000; wait-for-turn aimy1 around y-axis; } wpn2_lasthead = heading; @@ -379,39 +427,39 @@ AimWeapon2(heading, pitch) return (1); } -FireWeapon2() +FireSecondary() { if( gun_3 ) { - move lbarrel to z-axis [-2] speed [35.0]; + move lbarrel to z-axis [-2] speed [35.000000]; wait-for-move lbarrel along z-axis; emit-sfx 1024 from rexhaust; - move lbarrel to z-axis [0.0] speed [4.0]; + move lbarrel to z-axis [0.000000] speed [4.000000]; } else { - move rbarrel to z-axis [-2] speed [35.0]; + move rbarrel to z-axis [-2] speed [35.000000]; wait-for-move rbarrel along z-axis; emit-sfx 1024 from lexhaust; - move rbarrel to z-axis [0.0] speed [4.0]; + move rbarrel to z-axis [0.000000] speed [4.000000]; } gun_3 = !gun_3; } -AimFromWeapon2(pieceIndex) +AimFromSecondary(piecenum) { - pieceIndex = torso; + piecenum = torso; } -QueryWeapon2(pieceIndex) +QuerySecondary(piecenum) { - pieceIndex = rflare + gun_3; + piecenum = rflare + gun_3; } // For C:\Users\PtaQ\Documents\GitHub\BAR\support\Animation_sources\death_anims\armjeth_anim_death.blend Created by https://github.com/Beherith/Skeletor_S3O V((0, 3, 9)) //use call-script DeathAnim(); from Killed() DeathAnim() {// For C:\Users\PtaQ\Documents\GitHub\BAR\support\Animation_sources\death_anims\armjeth_anim_death.blend Created by https://github.com/Beherith/Skeletor_S3O V((0, 3, 9)) - signal SIGNAL_MOVE; + signal SIG_WALK; call-script StopWalking(); turn aimy1 to y-axis <0> speed <120>; turn aimx1 to x-axis <0> speed <120>; @@ -692,7 +740,7 @@ DeathAnim() {// For C:\Users\PtaQ\Documents\GitHub\BAR\support\Animation_sources turn rturret to x-axis <-11.447444> speed <12.987997> ; turn rturret to z-axis <8.591787> speed <4.220750> ; turn rturret to y-axis <-8.893395> speed <38.835824> ; - turn torso to x-axis <-16.241433> speed <106.0> ; + turn torso to x-axis <-16.241433> speed <106.000113> ; turn torso to z-axis <1.009493> speed <16.051616> ; sleep 32; } @@ -716,7 +764,7 @@ DeathAnim() {// For C:\Users\PtaQ\Documents\GitHub\BAR\support\Animation_sources turn rturret to x-axis <-10.581578> speed <12.987997> ; turn rturret to z-axis <8.873170> speed <4.220737> ; turn rturret to y-axis <-11.482451> speed <38.835849> ; - turn torso to x-axis <-9.174759> speed <106.0> ; + turn torso to x-axis <-9.174759> speed <106.000113> ; turn torso to z-axis <-0.060614> speed <16.051611> ; sleep 65; } @@ -745,7 +793,7 @@ DeathAnim() {// For C:\Users\PtaQ\Documents\GitHub\BAR\support\Animation_sources turn rturret to x-axis <-9.282778> speed <12.987997> ; turn rturret to z-axis <9.295243> speed <4.220732> ; turn rturret to y-axis <-15.366037> speed <38.835858> ; - turn torso to x-axis <1.425252> speed <106.0> ; + turn torso to x-axis <1.425252> speed <106.000113> ; turn torso to z-axis <-1.665775> speed <16.051613> ; sleep 98; } @@ -763,7 +811,7 @@ DeathAnim() {// For C:\Users\PtaQ\Documents\GitHub\BAR\support\Animation_sources turn rturret to z-axis <9.149344> speed <4.376965> ; turn rturret to y-axis <-17.332256> speed <58.986555> ; turn torso to x-axis <0.086544> speed <12.950357> ; - turn torso to x-axis <4.958589> speed <106.0> ; + turn torso to x-axis <4.958589> speed <106.000101> ; turn torso to z-axis <-2.200829> speed <16.051622> ; sleep 32; } @@ -862,8 +910,18 @@ Killed(severity, corpsetype) explode rthigh type FALL | NOHEATCLOUD; explode rleg type FIRE | SMOKE | FALL | NOHEATCLOUD; explode rfoot type FALL | NOHEATCLOUD; + //explode lthigh type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lleg type FIRE | SMOKE | FALL | NOHEATCLOUD; explode lfoot type FIRE | SMOKE | FALL | NOHEATCLOUD; explode torso type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lturret type FALL | NOHEATCLOUD; + //explode lbarrel type FALL | NOHEATCLOUD; + //explode lflare type FALL | NOHEATCLOUD; + //explode lexhaust type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rturret type FALL | NOHEATCLOUD; + //explode rbarrel type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rflare type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rexhaust type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) @@ -873,8 +931,18 @@ Killed(severity, corpsetype) explode rthigh type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode rleg type FIRE | SMOKE | FALL | NOHEATCLOUD; explode rfoot type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode lthigh type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode lleg type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode lfoot type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode torso type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode lturret type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lbarrel type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lflare type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lexhaust type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rturret type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rbarrel type SMOKE | FALL | NOHEATCLOUD; + //explode rflare type SMOKE | FALL | NOHEATCLOUD; + //explode rexhaust type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; @@ -882,7 +950,17 @@ Killed(severity, corpsetype) explode rthigh type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode rleg type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode rfoot type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lthigh type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode lleg type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode lfoot type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode torso type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lturret type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode lbarrel type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode lflare type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode lexhaust type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rturret type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode rbarrel type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode rflare type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rexhaust type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/armjuno.bos b/scripts/Units/armjuno.bos index 14cb24a2dc4..18142fa0dff 100644 --- a/scripts/Units/armjuno.bos +++ b/scripts/Units/armjuno.bos @@ -1,20 +1,23 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, collar, tower, emit1, emit2, emit3, emit4, flare; -static-var gun_1, restore_delay; +static-var gun_1, restore_delay, statechg_DesiredState, statechg_StateChanging; static-var Stunned; // Signal definitions -#define SIGNAL_AIM1 256 - -#include "../opencloseanim.h" +#define SIG_AIM 2 NanoEmit() { - SLEEP_UNTIL_UNITFINISHED; + while( get BUILD_PERCENT_LEFT ) + { + sleep 400; + } while( TRUE ) { @@ -23,7 +26,7 @@ NanoEmit() } } -Open() +Activatescr() { emit-sfx 257 from emit1; emit-sfx 257 from emit2; @@ -54,26 +57,70 @@ Open() emit-sfx 257 from emit2; emit-sfx 257 from emit4; sleep 250; - gun_1 = flare; + return (0); + // Build by COBBLER Ver4.0 Copyright @1998 DIGITAL CONCEPT SOFTWARE (MANU@inext.fr) / http://www.annihilationcenter.com/DCS/ } -Close(){ - gun_1 = base; - sleep 4000; + +deactivatescr() +{ emit-sfx 257 from emit1; emit-sfx 257 from emit2; emit-sfx 257 from emit3; emit-sfx 257 from emit4; sleep 250; - spin tower around y-axis speed <0.0>; - spin collar around y-axis speed <0.0>; + spin tower around y-axis speed <0.000000>; + spin collar around y-axis speed <0.000000>; emit-sfx 257 from emit1; emit-sfx 257 from emit2; emit-sfx 257 from emit3; emit-sfx 257 from emit4; sleep 40; +} +Go() +{ + call-script Activatescr(); + gun_1 = flare; } +Stop() +{ + gun_1 = base; + sleep 4000; + call-script deactivatescr(); +} + +InitState() +{ + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; +} + +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + call-script Go(); + currentstate = 0; + } + if( statechg_DesiredState == 1 ) + { + call-script Stop(); + currentstate = 1; + } + } + statechg_StateChanging = FALSE; +} Create() { @@ -85,30 +132,29 @@ Create() gun_1 = flare; restore_delay = 3000; start-script NanoEmit(); + call-script InitState(); } - -#define BASEPIECE base -#define MAXTILT 0 -#include "../unit_hitbyweaponid_and_smoke.h" +#define SMOKEPIECE base +#include "smokeunit_thread_nohit.h" Activate() { spin tower around y-axis speed <25.005495>; - spin collar around y-axis speed <15.0>; - start-script OpenCloseAnim(1); + spin collar around y-axis speed <15.000000>; + start-script RequestState(0); } Deactivate() { stop-spin tower around y-axis decelerate <0.2>; stop-spin collar around y-axis decelerate <0.2>; - start-script OpenCloseAnim(0); + start-script RequestState(1); } -SetMaxReloadTime(reloadMS) +SetMaxReloadTime(Func_Var_1) { - restore_delay = reloadMS * 2; + restore_delay = Func_Var_1 * 2; } ExecuteRestoreAfterDelay() @@ -117,13 +163,17 @@ ExecuteRestoreAfterDelay() return (1); } set-signal-mask 0; - start-script OpenCloseAnim(0); + start-script RequestState(1); } - SetStunned(State) { Stunned = State; - start-script OpenCloseAnim(!Stunned); + if (Stunned) { + call-script Stop(); + } else { + call-script Go(); + start-script ExecuteRestoreAfterDelay(); + } } RestoreAfterDelay() @@ -132,11 +182,11 @@ RestoreAfterDelay() start-script ExecuteRestoreAfterDelay(); } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - start-script OpenCloseAnim(1); - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + start-script RequestState(0); + signal SIG_AIM; + set-signal-mask SIG_AIM; while( !gun_1 ) { sleep 250; @@ -145,18 +195,21 @@ AimWeapon1(heading, pitch) return (1); } -FireWeapon1() +FirePrimary() { gun_1 = base; - start-script OpenCloseAnim(0); + start-script RequestState(1); } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = flare; + piecenum = flare; } - +SweetSpot(piecenum) +{ + piecenum = flare; +} Killed(severity, corpsetype) { diff --git a/scripts/Units/armjuno.cob b/scripts/Units/armjuno.cob index edfa6e08ff71a1822c0d1b6dfb0c76ecf3b78fe6..4fe45b5e535a00de1afd3898ed94d776ecda8f8f 100644 GIT binary patch literal 4467 zcmcInKZqPv82@f>vk^rz7D1vGQ>ZAWxST00QrzW_o=D<(n_wZrj(hLI;O@?4ZqCcu zxTQi61qoOP=>n+)8w(4&AXW-O8bQQX)KXF6@Au97<|dDwxO*fEzkTn0|Np(WcWn_l z3_JkbniuI{<>$&Fk)MI%k;qY;&tsj7TG69q#_dRYo#;VqN&9#Xn}xYZmO79sX(UnR zF@KgeHh)Oe^5-vj_Bv(<6p__VM4NLo0C|L@KI}}jyYUYM{7|0x)%8R9kRSRF<(usP z4L{6}zPROj=>%!M2A*cTZ@<5Nn>?nifPCGC$Q>a_IRMuHzipuwns?0@gcs-@*93Z}`E}iHjADjBYJIc5zYc-|p zNfH*yd@p+WL}`07#=O)Yddr^G_0@J%>gP3olYA|z-T8>~W^q}5VrB3Phx|gH*DtFYMzgzq;X5DxnM!QL8 z4R7uZ{_q5EuG)ZIefMw(?LI|;r90nnqcJuGV&RJEnrMgjvEDDNr`BMz%tQCciFVc5wQ>fY0fYMX<}=18DGXbDGWnTQALe@pFYv93t9-M| z_;}~-u2k_($q##bgvR4C{;NKI*2>;1+K+MOI>stJ+{Nf%6>khu$YaW+QHZPF0qAjG z&Pur-gKzfell<7PW30xrw=M>WGGna9qrE0QyQi_28Dlj)`@10qDYU8eg&&<6)U|#W z^gZ(R`pegg`A%D}{nTU@9jnzWI#$D3bgZ_s=vd8X(YaeM`l!3j?gkQPADREOy@(+j z_TFaKR>sPiq1-HUykC9mAAQkh(|xg??bna>@BjSVi=NHemq|G_)xl(Kt@o=*$KIMr zI@9#ndNfJD$>+W5*Ce0Q#B6<>q~8>Cc=vb}9tS=Jz5{*)egS?17E#o*z$d^B;2Yov z;3wdBpaaK;fTO^Rz!Il{?b9!|WY*0V1-J7AJS#aLHyis;tWC%A|B%aW=WU<_1}^em)&K zIdj?dw+puhlUeSTHwu@Zc7tS>lHFo^G;-^388VmC;cA`^lYCcRN^@uX*SB51YlrTR sgNe5FX!ME+{DQ_$w%oE)o(Tr8pZ35D57k8-c7qu!B;7z%RaaIJh6@{2USy z2?{_6AsPgtK;fD+R3I9tD4|G0L61bkPeUXsn(%$|W}Y{T?}CIlYi@UEzM1)E_U*oN zLqu+e+yr^KE^+`PKUWTm+D6D~J0v=H7FmcgKcg?1^Axzd5o7j;xJi9RvBMz5Dv+vX^?^ zGW3vme5%^)ZsPsqLR)-}SKvflmyWg%niuDs`VRH&@*a8~Sl&b4bDHGDo{e~N;2vrW zaMIeKOK ztLYuXQOEm`G3oa(-VgL)I`@@!U3;Sb;243lDf?bsMY9c%X9cPyvx6MK=?%y_>LV7*|UxF2{*t61c%dtqny11u^Y zNzeAPF>Qs%-g$4h7kuYE0AjQ^xW;qJ8aVZy)5co-xvd$VDt|WP__3eHv}fpWl*e<> zk36az`U}FIGxNL0{QSOPUVX=!zQzD}zfm3MUZ4Vf<()_T@4&@8ea`Va9^xtQlg|&8 zHsy&a@tpIlaZo*Uoco!-m-EHz-%qZK;}AA2j-ORRm=ooKWBHpY&B=R2?by#P>x**4 zetVtrW;CC|J;46tn+IR{_H)j-UR z+CH<|{Qbjy{fHzH3qMKqQ|%9Odj9x5sGu}AmB2ec-m~#Dsy=3qd&Ky6)7UEc{TlV2 z{w#x-2{GBh@_C8Yq)z*%W>4`v_pv|EQ@r-~^Tho9H-@jZ4#a0%zqdJM3_Tyl`wqKP z$Y&Psl&7zqr>~u-ubro_ou{v7@!TX~uKEFK8>4mb#9JNd&;!@pCUkhh8#h{M<8b)zd??oSxb(b{HP(k9I<5*c-^x`Eax{=oP9K)yuJQ$crFP_KKwor$W9x z8a~yHSF)TB@-v~kJ{Y|kq_bJ{&Jn*Ha-Xh;;&^_3E%Zlu_hfGnWaWI=+%3Xd*eOQi z(Ag@&csca*3j*YNu{#`wuKd&3=?%*K^YTP*9DM%lZWtS}d0FlC`*1#;?*!Q#_51l) ZiqUIfECE%`>-U0wKd9di$rd0%{sy(sDJ}p2 diff --git a/scripts/Units/armkam.bos b/scripts/Units/armkam.bos index 5cf21c0ac81..6c4b738d5ab 100644 --- a/scripts/Units/armkam.bos +++ b/scripts/Units/armkam.bos @@ -1,10 +1,12 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, lflare, rflare, lfin, rfin, rturret, lturret, thrusta, thrustb, engines; // Signal definitions -#define SIGNAL_MOVE 1 +#define SIG_MOVE 2 #define IDLEHOVERSCALE 32 @@ -22,7 +24,10 @@ Create() turn thrusta to x-axis <-90> now; turn thrustb to x-axis <-90> now; gun_1=0; - SLEEP_UNTIL_UNITFINISHED; + while( get BUILD_PERCENT_LEFT ) + { + sleep 400; + } start-script IdleHover(); } @@ -45,8 +50,8 @@ ExecuteRestoreAfterDelay() if (Stunned) { return (1); } - turn lturret to x-axis <0.0> speed <50.0>; - turn rturret to x-axis <0.0> speed <50.0>; + turn lturret to x-axis <0.000000> speed <50.000000>; + turn rturret to x-axis <0.000000> speed <50.000000>; } SetStunned(State) { @@ -71,78 +76,78 @@ RestoreAfterDelay() MoveRate1() { start-script RestoreAfterDelay(); - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; - turn base to z-axis <0.0> speed <120.0>; + signal SIG_MOVE; + set-signal-mask SIG_MOVE; + turn base to z-axis <0.000000> speed <120.000000>; //start-script ProcessFlames(); } MoveRate2() { start-script RestoreAfterDelay(); - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; + signal SIG_MOVE; + set-signal-mask SIG_MOVE; turn engines to x-axis <90> speed <90>; //start-script ProcessFlames(); sleep 1000; - turn base to z-axis <240.0> speed <120.0>; + turn base to z-axis <240.000000> speed <120.000000>; wait-for-turn base around z-axis; - turn base to z-axis <120.0> speed <180.0>; + turn base to z-axis <120.000000> speed <180.000000>; wait-for-turn base around z-axis; - turn base to z-axis <0.0> speed <120.0>; + turn base to z-axis <0.000000> speed <120.000000>; } MoveRate3() { start-script RestoreAfterDelay(); - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; + signal SIG_MOVE; + set-signal-mask SIG_MOVE; //start-script ProcessFlames(); - turn base to z-axis <0.0> speed <120.0>; + turn base to z-axis <0.000000> speed <120.000000>; turn engines to x-axis <90> speed <90>; } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = base; + piecenum = base; } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { return (1); } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { if (gun_1==0) { - pieceIndex = lflare; + piecenum = lflare; gun_1=1; } else { - pieceIndex=rflare; + piecenum=rflare; gun_1=0; } } -FireWeapon1() +FirePrimary() { - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; + signal SIG_MOVE; + set-signal-mask SIG_MOVE; sleep 200; turn engines to x-axis <0> speed <90>; start-script RestoreAfterDelay(); } -StartMoving(reversing) +StartMoving() { start-script RestoreAfterDelay(); - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; + signal SIG_MOVE; + set-signal-mask SIG_MOVE; move lfin to z-axis [-8] speed [8]; move rfin to z-axis [-8] speed [8]; turn engines to x-axis <90> speed <90>; @@ -152,8 +157,8 @@ StartMoving(reversing) StopMoving() { start-script RestoreAfterDelay(); - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; + signal SIG_MOVE; + set-signal-mask SIG_MOVE; move lfin to z-axis [0] speed [8]; move rfin to z-axis [0] speed [8]; @@ -161,7 +166,10 @@ StopMoving() wait-for-move lfin along z-axis; } - +SweetSpot(piecenum) +{ + piecenum = base; +} Killed(severity, corpsetype) { diff --git a/scripts/Units/armkam.cob b/scripts/Units/armkam.cob index f30b28a1de67600fe6995621a63dbfe161642e3f..1ac44aa2797b71724e59d87cfe1d17aa9122ff3e 100644 GIT binary patch literal 4913 zcmeHL&x>1C6h4#5q^+x0-PncYsS7D6q~pSkKW1nxN-4w!#pPtCcWNY)3@9bIsr?i%oVIip{3mVi&-h)ubp4)n}mLR3jZhNlW zKSm*~CzO+?ASX+StThrB>?eY~7IM_!XSpVm$qi{OYAmvetSlz|;QafKN>@&{K zzQ`@zjBDCgU|@dmGvSIz#QHocC%z`tRem)Z!KcM@HJyZb?yKTc#s@#+@A=?w>mq&7 zm-%teb8}^0<%0KsGkqHA$d~!Z%Je?T0c(*nJMU@kQN!}unc_I#gD8)5XKl0Bu-Dt5 zVUE0vi}M->mX~|xRSxFJtLIbBe7~&2exJe0Gh)%ahvgxT(|*(Pyz}y4c?%vwUgN>+ z^YU;PGtF}rJcPVFcX9sa^n0#-W6#y%_?@x&`4s~7dJo|{qBDcpm*#@b|2mUHmX$_w z6NPzie1kZbW9)5Siunt9=mItm%vCW@C4M|toGkF`|S0_TT3!~JsI?|ela+^yB+?-up8S1w`a{Zq#)G#&5XW}a$k`8jwSWSDQ9 zkFoYW;X9QDKXMoQF_rnneNd)v*-U&-J!XqOc4n%`t=;J?pK70jXOZK9m%Rz!Og=B{ z$M?A3#`!jz^)owTk}k~TK+uu;L0n}&-d5HREc^MX>L=Vi-DmH~W+8qb$j2$o?dRb+ z5JesDpYdF|Ps2LKDr@{V*0EytD9}gWS=cD+n-SzVhWe^}y!$Gfy{~ET8Dq6R_|8_v z+03WGXN=Y2?9NlD7(d2pHqJ{`PQH6pHsuYuxRP&shv~meUFvzh6?kS34|p!0ucPw3 z5%K(6;FA6=1*IXv&GS|tStZwApYZT7Aj)^b7>o!KY zyX=PfAakpmxy#PGUS~(zE^p_fe&1b@gT_lpdl{L|ib>0b^sKCQw=QIZtyb3E>SR0I zn)uqtWjnUH(9N95?Yxua$kpv%m3BVZHt`*YHns=3T4i0aD;o{-j`($5T>omf?}qX(Tgh%f literal 4211 zcmdT{J!n%=6h4V*{TcK*3MvmAL=cI(h!ky6i&BJW5C<32_Ew{55?)_K5w#!=g0quI za1asPx;f~m;G~nF;37CUI0$wS;`iNqPkQs3)`*L~^5vd;&$;J(=iKvd(t?O=1~veX z)`$#Y6*WDywIB(fXxX^ax*qt%d$pvRLh=A&VZ;e4&1=V)+#IJyBL4}03tUiDOm z`?ql+E=2Sd?Svc+Mcm(j$hGxe&pq@_pB$;{bRd-0MAYRoIuU50a~!c_)Y+i~)(1zY zgHRlTw|t~)^M|lT9!KQq0-;q}Aonqr=g46ovM@hxm?M#az$0+h5)fO|tzcqplBG zTa8Ci?X>1Ajw-rX z-I#6nJ@($`WqD-w)7N+ESp($W&xY$EFU!B__*;42$)z&^H{`-pwAU!xIu7XT=V9lI zqrjK_4u(j++CP*vX8WnL!>5gjF6xQDc+2gjJ^ig@r~ar9?RsiHU=FMKS}i{tyM#W( z*=k&V7jj+awwBPVjXejyhv%<7?|ivFn8aalKW#&Qoa=kSck+_A9o~n`f2sF+b?kA~DW`0oNu100 zz$S8v274El_+a0Pe4MTyA82}Ov=SfR19}Ir&RgtWcjg5YLeGb1$@+2LrcJcA+fxtx zoLoXZ&nTSh-PiW^y!S%A{$5kP)>-G;mpbRY67DBI=3>to^$zpe2c5(&uY*1>?a}`^ zuc;ufrq7FY`XA4WXZbts51B7|PkT-0|3a^6-;v@xCXazp%;*3ETx90ndOJz-!}TQ%Q}CO{LW<6posTipQ>+sa9%Eo4K@+n6a7EBu7oH za!tx6EvKz|-Av1J|b4NrSTrF~s#zl>F9$CJkFSyO2?>U%j=@l?ws*K{&oO^nLr zw34LoRjpr;a@uHmaiUtQfxu*C&PZ*hR!NK`Zm7*v>yY`8wvxo8QuAYaF=@@E6>;OF LnEHik-OR}^>E}b> diff --git a/scripts/Units/armkraken.bos b/scripts/Units/armkraken.bos index 0bb76693941..c45e725eda9 100644 --- a/scripts/Units/armkraken.bos +++ b/scripts/Units/armkraken.bos @@ -1,15 +1,35 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, turret, r1arm, r2arm, l1arm, l2arm, rcannon1, rcannon2, lcannon1, lcannon2, rflare1, rflare2, lflare1, lflare2; static-var gun_1; // Signal definitions -#define SIGNAL_AIM1 256 +#define SIG_AIM 2 -#define WATER_ROCK_UNITSIZE 13 -#include "../floatmotion.h" +RockOnWaves() +{ + var rockDir, rockAng, rockSpeed; + rockDir = <-0.1>; + rockAng = <-0.1>; + while( TRUE ) + { + while( get ABS(rockAng) < <1.31> ) + { + rockSpeed = <1.45> - get ABS(rockAng); + turn base to x-axis rockAng speed rockSpeed*5; + turn base to z-axis rockAng speed rockSpeed*5; + wait-for-turn base around x-axis; + wait-for-turn base around z-axis; + rockAng = rockAng + rockDir; + } + rockDir = 0 - rockDir; + rockAng = rockAng + rockDir + rockDir; + } +} #define BASEPIECE base @@ -17,8 +37,8 @@ static-var gun_1; //how 'heavy' the unit is, on a scale of 1-10 #define UNITSIZE 5 #define MAXTILT 100 -#define RECOIL_POWER 20000 -#include "../unit_hitbyweaponid_and_smoke.h" + +#include "unit_hitbyweaponid_and_smoke.h" Create() { @@ -31,87 +51,93 @@ Create() hide lflare1; hide lflare2; gun_1 = 0; - SLEEP_UNTIL_UNITFINISHED; - start-script FloatMotion(); + while( get BUILD_PERCENT_LEFT ) + { + sleep 400; + } + start-script RockOnWaves(); } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; - turn turret to y-axis heading speed <150.0>; - turn turret to x-axis <0.0> - pitch speed <150.0>; + signal SIG_AIM; + set-signal-mask SIG_AIM; + turn turret to y-axis heading speed <150.000000>; + turn turret to x-axis <0.000000> - pitch speed <150.000000>; wait-for-turn turret around y-axis; wait-for-turn turret around x-axis; return (1); } -FireWeapon1() +FirePrimary() { if( gun_1 == 0 ) { emit-sfx 1024 + 0 from rflare1; - move rcannon1 to z-axis [-12.0] speed [60.0]; + move rcannon1 to z-axis [-12.000000] speed [60.000000]; sleep 120; - move rcannon1 to z-axis [0.0] speed [20.0]; + move rcannon1 to z-axis [0.000000] speed [20.000000]; gun_1 = 1; return (0); } if( gun_1 == 1 ) { emit-sfx 1024 + 0 from lflare1; - move lcannon1 to z-axis [-12.0] speed [60.0]; + move lcannon1 to z-axis [-12.000000] speed [60.000000]; sleep 120; - move lcannon1 to z-axis [0.0] speed [20.0]; + move lcannon1 to z-axis [0.000000] speed [20.000000]; gun_1 = 2; return (0); } if( gun_1 == 2 ) { emit-sfx 1024 + 0 from rflare2; - move rcannon2 to z-axis [-12.0] speed [60.0]; + move rcannon2 to z-axis [-12.000000] speed [60.000000]; sleep 120; - move rcannon2 to z-axis [0.0] speed [20.0]; + move rcannon2 to z-axis [0.000000] speed [20.000000]; gun_1 = 3; return (0); } if( gun_1 == 3 ) { emit-sfx 1024 + 0 from lflare2; - move lcannon2 to z-axis [-12.0] speed [60.0]; + move lcannon2 to z-axis [-12.000000] speed [60.000000]; sleep 120; - move lcannon2 to z-axis [0.0] speed [20.0]; + move lcannon2 to z-axis [0.000000] speed [20.000000]; gun_1 = 0; return (0); } } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { if( gun_1 == 0 ) { - pieceIndex = rflare1; + piecenum = rflare1; } if( gun_1 == 1 ) { - pieceIndex = lflare1; + piecenum = lflare1; } if( gun_1 == 2 ) { - pieceIndex = rflare2; + piecenum = rflare2; } if( gun_1 == 3 ) { - pieceIndex = lflare2; + piecenum = lflare2; } } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = turret; + piecenum = turret; } - +SweetSpot(piecenum) +{ + piecenum = base; +} Killed(severity, corpsetype) { diff --git a/scripts/Units/armkraken.cob b/scripts/Units/armkraken.cob index ac40891c3963b71bd88ff903772c9c23f450b79e..84113145be3558d20df5c582566709066f732deb 100644 GIT binary patch literal 4651 zcmbVQzl&T|6h1qdY}VgbV zA_)EiT3K3%g`i+#XJw&Qf?_8rY(#PVzWdHMbNBJq%$p4-=ic+{e)pX3z76S`*+Y;= zA!oa09ccc18O(l#gvZU!VZRA&Stm%=LMQw&o6R~s*zl9?*L+WHJL{qF{axq|^5mzR zd8xKuH^f>rhLeH$S3Pb6iS#X7$FdWF_;@FtOU?X~(AI+weUZ&Zb(Nn`+tC`g}H;5o_qqdmgL1+ocNE z2|tsXwW!tisoQ8`eb!SP>shaw&-++1m$puC5%WAq#T@k`)<)kIOAO|{7f$BrPR!*o zI+rs$n!CtnoF#M6nr7yFfWuX{erA(TdDQAH^Wz-B$u%sv$CJUk=my@KOJSz(G7a9N zpRlAYkG8dV4=%gNV@>+FSD(3@*Y|huTViWEug@g($a+QarCJl7QnX{w3t8f zGiGrQ%mMo&oa8&$vG6c+p&xYph-U;QG%Q*b&xYCuaKYK#ON)PkJ0|wK$%g_K|6IEET?r3t!Z*a4t<) zHeg={OB%=c`(cSQabEsd!?O6^9_`DiC9$M&915Dz1L!=c_(7V=~uMXxqU%4X5VsE`y0NQ)u~=#~}L1S^Bt+zh8Vk zbvx_vEz;j6hx}`sLo97`$Svk%uBXtttKM@46Jw^(@`=+KOm&~WNlm`U71UxMIrns4 z@pq!n>tCN2RGhc^-c*yNh=KjDV^Lm{PjhMVssBwr^|{HXem42kmnNUSS4}?6p~)BD z(=q+rWn;Xbckvk68@@@tFZCtEzTPvKqAk6rI6kEl94D_;gEL}{HgBO#j%Lv&N7&os zXm)Mhsb<gcpb6>xemDlc^C2? zq~p~Vp-&q!d@8cZ2wOd7bs10JS zl;e5a_B%x}**+Lg?B&65SnS!G`OU&6x5~1ZSb07#_pR*n?_pdIYB9_ndnt zX@(H4mh6*!Gao`jBcC^}3*i&V50bm2?=SSL-6-aYMsWy0yIC|k4Xn}58b7FDu4mGj zj~HTN!-UTq6XEMVcVbUIO-*wjQJd*=8}{VW(lqzklk~XXu~xAmJ+e&po3GKNn2$Ma zY|3|WJKuZcNW9l;ep09Vc)!qT7VwBVj!X3v94mSSl*{T zvajQZcBtwh7u$T^=sutGHwZ8zZ?D($wjC<7_BYpXiM**rXjgf=F3#Kf|IM2|%kw5K zx_jxfTVf9uKKphn|WSu>zAE(QPrEi$@6yH!z^^>im=!!?#^-u zM_cjk`3^F|E8bb%>!7=$>kzrFY6Qw9%;+&`l_l@(jFC#q(eqG9xNA1jJt>HSwt9I@MZ0$#? zwM~6oA9Jw{e{A*MiuM$bSez|);7?7^o9Nm1oomP%XXAVDRl;L(uY*B%uQ8p*Og;Hs zwhw1zjLZ=m_b9S=KKcEe{N?~|q___EoRQtM@1{ zf4Q2Ud9LbFd_z0L8nTQJYmPVVjdpdQG(evY_tCOMaiU-iDdR^vilW^uVf_T6yF zao~620>}Sw$MKHr#08AGd|BhN)u-EQbmcC&jchx zzD<1S72o+Bo7eQmgr%0Vu$-Oa{+h6y^(<_DCVwR?XJKqrAL3Q-D>_^*woZ=u+j5Jr zp}6} zU-HlMif?Aht4w)u?wpHxJC4ke2jAK3>vikS%ewQj?!2r!FYD%Q-S^76^R^!Ady%|W z;F$9IAmydul6k#}PnOqu(w&!e=Vje_S$AHpr}MJzysSGf>-D^-{Z8E9t#P+*?$*uS zy1837ckAYE-Q2C4yY)JEX#Fm^UCnYv@~Px+$pJOlqJ;PBA4yXQ^1t{UlCI=F$sx%T zlBXrdC8gvg$-3k%$=j0mB=1W;lAM*ClYB1uLh`lbd&y6dUnGA>mWSis~k3 zgUS6bKGpA?9FGpK=301cymI2n(O?oD?5*{l?XNz*Ha^i050w4hq#u?BYn9VNSRRyp z&mTS2FH^JyFw5n5ihFo49QIekGri~gVREW0`;$;E^vbnRcKJPw^I@EqE4|TZJX#28 Z(hWmf(xe;8^2 diff --git a/scripts/Units/armlab.bos b/scripts/Units/armlab.bos index 0be1e504482..3ae7cfd373e 100644 --- a/scripts/Units/armlab.bos +++ b/scripts/Units/armlab.bos @@ -1,13 +1,100 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" -#include "../factories_common.h" +#include "sfxtype.h" +#include "exptype.h" piece base, pad, head1, head2, nano1, nano2, cagelight, cagelight_emit; -static-var spray; +static-var spray, statechg_DesiredState, statechg_StateChanging; // Signal definitions -#define SIGNAL_TURNON 4 +#define SIG_ACTIVATE 2 + + + +activatescr() +{ + if( TRUE ) + { + turn head1 to y-axis <-15> speed <45>; + turn head2 to y-axis <15> speed <45>; + wait-for-turn head1 around y-axis; + } + sleep 11; +} + +deactivatescr() +{ + if( TRUE ) + { + turn head1 to y-axis [0] speed <45>; + turn head2 to y-axis [0] speed <45>; + wait-for-turn head1 around y-axis; + } + sleep 7; +} + +OpenYard() +{ + set YARD_OPEN to 1; + while( !get YARD_OPEN ) + { + set BUGGER_OFF to 1; + sleep 1500; + set YARD_OPEN to 1; + } +} + +CloseYard() +{ + set YARD_OPEN to 0; + while( get YARD_OPEN ) + { + set BUGGER_OFF to 1; + sleep 1500; + set YARD_OPEN to 0; + } +} + +Go() +{ + call-script activatescr(); + call-script OpenYard(); + set INBUILDSTANCE to 1; +} + +Stop() +{ + set INBUILDSTANCE to 0; + call-script CloseYard(); + call-script deactivatescr(); +} + +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + call-script Go(); + currentstate = 0; + } + if( statechg_DesiredState == 1 ) + { + call-script Stop(); + currentstate = 1; + } + } + statechg_StateChanging = FALSE; +} Create() { @@ -16,21 +103,33 @@ Create() hide nano1; hide cagelight_emit; spray = base; + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; } +#define SMOKEPIECE base +#include "smokeunit_thread_nohit.h" -#define BASEPIECE base -#define MAXTILT 0 -#include "../unit_hitbyweaponid_and_smoke.h" - -QueryNanoPiece(pieceIndex) +QueryNanoPiece(piecenum) { - spray = !spray; - pieceIndex = nano1 + spray; + if( spray == 0 ) + { + piecenum = nano1; + } + if( spray == 1 ) + { + piecenum = nano2; + } + spray = spray+1; + if( spray >1 ) + { + spray = 0; + } + } -StartBuilding(heading) +StartBuilding(Func_Var_1) { show nano2; show nano1; @@ -50,32 +149,27 @@ StopBuilding() Activate() { - signal SIGNAL_TURNON; - set-signal-mask SIGNAL_TURNON; - - turn head1 to y-axis <-15> speed <45>; - turn head2 to y-axis <15> speed <45>; - wait-for-turn head1 around y-axis; - - FACTORY_OPEN_BUILD; + signal SIG_ACTIVATE; + start-script RequestState(0); } Deactivate() { - signal SIGNAL_TURNON; - set-signal-mask SIGNAL_TURNON; + signal SIG_ACTIVATE; + set-signal-mask SIG_ACTIVATE; sleep 5000; + set-signal-mask 0; + start-script RequestState(1); +} - turn head1 to y-axis [0] speed <45>; - turn head2 to y-axis [0] speed <45>; - wait-for-turn head1 around y-axis; - - FACTORY_CLOSE_BUILD; +QueryBuildInfo(piecenum) +{ + piecenum = pad; } -QueryBuildInfo(pieceIndex) +SweetSpot(piecenum) { - pieceIndex = pad; + piecenum = base; } Killed(severity, corpsetype) diff --git a/scripts/Units/armlab.cob b/scripts/Units/armlab.cob index c363a4a00f35f00528169b9aebaf4756a33a0b71..0e699605156aee43a3fb0e2595b9c6ce4d60de99 100644 GIT binary patch literal 3507 zcmcgv&x>1C6h4#5q(!HARSHTMzO{&?gJ_`(?Nm__YcyId2|AEk@_yb(HawWJF!9@iHSFPW7-Z_~&&t%#xH1N&6@0{=axZgc5Vd^4s z7jPK(yCzb{%FpVm$cw-yzyo-`ighW}!V;aGMmUOv&)4rO*Ry}!xFMMYq!4ma-ktVuYEc8$(3;s{txua|^&p?E z1fIENoV#ame_nyn@>X-nV~udqVz5ll=RCDlYogu&4)%1b^*j&jy<)LygPxKB{=uI5 z^TYgXy?S|XxT_Z58X-{;)@Uc+;GFVZUGzO^`N!H@erj+$RFJN0HK=<~6EX&CCt0$-k32 zG#LD{7qo50(~2-L%>gy-(kwt{cag|iC?1j z{j7YmtFCkM@xGX!9M?Im=YHm!=O-t92ks>~EAM<24W{}1JQ*mo?_!k>-hpsvIy2nR zr}G6L_j)h3Ph)s~`ZHToA7keEe9mXZ`ES82pX!8qsww6@J-5EkcJ8xwZuUpr{;P8@ zqLu66>n?h8?Ol&W^0`j4@*Sj8mvv32&rK)Rzg3<5&UIjHCKj0$au1p*KhMp0uG!6a zuG1pgR`p}Q|EET?G^Q?`7xuDid%m}>*CH{l-6Aor<03It9ohCV;9;N*jDUB5_kkaQ zUx7yu)B@fHJ^(%iz5uQQUjsjIkN*|E1AYR20e%C12mS!A11m>F?f{Mf_X8(@CxA1+ zIbai*06W0DzvT|^x>2>B9BkID5I6}^zaSTek;bJJsuVEOn)$lJ$XIfiZaf7vKjNJwhUlM%LREHr}t`VnSzuiHU}i z$|$w5^bf#B{{j;W8)IW-NYq#50mxKQ1i$(- zeN-fYY(a)$*@l)y@e1@p_d8v3`UrHvD|+0P{8Zass%1|quw{h4lLS{vo-CHVvsls= z(gr-&nj3zu$7%Qb6+41u2{v+}k1nZpe6-O=9?I7%dwmK*fADclO&_(ofMM_SG2VD& zITK3^{XZBy*5?)d)Ry&WEidIW=kQSAh#Hw3TEq2p%i(CVoUC*C_K7OChMB~9h zDxy6YH^wlQC0WmO_t;K6aqO3|>sV4hhGq`7YdP~;{Pc_r3+SQPEQayy*=9cuCu`a{ zb>mGAUkPxtV9z`c@zOJ~SZeVL+S3L$#yvl?Za#+Y;c<308_t4vcGvk!+~c0I2QF>q zjAbu&Z$Dyb`Rs1m-tGqBv}sOvhrVQNR)ZMwpw=25zX-d_>D~M8`~?Dc(mNt!W$%}> z7c+K?Wxi4PIakh&__q#Evwh2~ru(gaFZ;cd_nyz41#!%)csEC>x;F$`dxg%vA;kL| zi13{~pQFbcwDYdmsfTYv^XB52U+cCrZ_T50{pVcD_vX*tT|vBlS1#Usua3b0AMY2( zh?j96Zisf&P+w(0?;maY-eG3EKOvmNoa%zzwz?(d*0q?A7wH*QY&Vt$)L_XIwT8I1RZg20e`8oS6UT2qyH|~blI`C8H-vj+79j_t^F)!<}uYcub zJdM{n>!1(gWq#vj{$9Ll%;9)lbiA0a7q1tLL0y~IGq*Qhwl`k3H(tgw&xtWnn!micc+l<$e_#rb-Mu9CgS`jnNdo7ub>-8v speed <45>; + turn rwing to y-axis <0> speed <45>; + move lwing to x-axis [0] speed [10.0]; + move rwing to x-axis [0] speed [10.0]; + sleep 750; + } + if( TRUE ) + { + move lwing to x-axis [0] speed [10.0]; + move rwing to x-axis [0] speed [10.0]; + spin rventblade around y-axis speed <540> accelerate <5>; + spin lventblade around y-axis speed <540> accelerate <5>; + sleep 1000; + } + sleep 12; +} + +deactivatescr() +{ + if( TRUE ) + { + move lwing to x-axis [6.0] speed [10.0]; + move rwing to x-axis [-6.0] speed [10.0]; + sleep 683; + } + + if( TRUE ) + { + turn lwing to y-axis <45> speed <45>; + turn rwing to y-axis <-45> speed <45>; + stop-spin lventblade around y-axis decelerate <1>; + stop-spin rventblade around y-axis decelerate <1>; + sleep 1000; + } + sleep 33; +} -#define SIGNAL_TURNON 4 #define BASEPIECE base #define HITSPEED <35.0> @@ -11,12 +55,43 @@ piece base, cockpit, rwing, rventblade, rbwing, lwing, lventblade, lbwing, fdoor #define UNITSIZE 1 #define MAXTILT 100 +InitState() +{ + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; +} + +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + call-script activatescr(); + currentstate = 0; + } + if( statechg_DesiredState == 1 ) + { + call-script deactivatescr(); + currentstate = 1; + } + } + statechg_StateChanging = FALSE; +} Create() { hide thrust1; hide bombdrop; - + call-script InitState(); move lwing to x-axis [6.0] now; move rwing to x-axis [-6.0] now; turn lwing to y-axis <45> now; @@ -26,49 +101,24 @@ Create() Activate() { - signal SIGNAL_TURNON; - set-signal-mask SIGNAL_TURNON; show thrust1; - - spin rventblade around y-axis speed <540> accelerate <5>; - spin lventblade around y-axis speed <540> accelerate <5>; - - turn lwing to y-axis <-0> speed <45>; - turn rwing to y-axis <0> speed <45>; - move lwing to x-axis [0] speed [10.0]; - move rwing to x-axis [0] speed [10.0]; - wait-for-turn lwing around y-axis; - wait-for-move lwing along x-axis; - - move lwing to x-axis [0] speed [10.0]; - move rwing to x-axis [0] speed [10.0]; - wait-for-move lwing along x-axis; - + start-script RequestState(0); } Deactivate() { - signal SIGNAL_TURNON; - set-signal-mask SIGNAL_TURNON; - - move lwing to x-axis [6.0] speed [10.0]; - move rwing to x-axis [-6.0] speed [10.0]; - wait-for-move lwing along x-axis; - - - turn lwing to y-axis <45> speed <45>; - turn rwing to y-axis <-45> speed <45>; - wait-for-turn lwing around y-axis; - - stop-spin lventblade around y-axis decelerate <1>; - stop-spin rventblade around y-axis decelerate <1>; + hide thrust1; + start-script RequestState(1); } +SweetSpot(piecenum) +{ + piecenum = base; +} - -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = bombdrop; + piecenum = bombdrop; } Killed(severity, corpsetype) diff --git a/scripts/Units/armlance.cob b/scripts/Units/armlance.cob index 477eccc83f2dfbae7dad0ec18c0969724043a8fe..98189a3f32747abefd6f5a6b54b52ec0f33c6f67 100644 GIT binary patch literal 2904 zcmcImJ!@1!6usGOHo;gt!9qdElT?DmDt1~VD2iyYnm>^JcfW%1;JXZ z6~s#H6vR%k(mG|Zuo47|#B*lmZe|}l=0#%2*_pXtbMLu#HYtn9A>c6Zpd^A{^K%r! z3qT7v4arliV^Jv@qjs?p&0^tsd&aI5ODxd@<-`abW2=t0(gq@t$og?>Wy3nniMk&= zRL3IjHJ8f)Kjy-py<$Edw>Dc35wR)}j)Oe&x{9aUqM^%${OO)ssa1w@tV1-M2OS7%;Bb zdBj%rdWXiOoH?l9XYS!=WZ0@+{ba5Zy>N1xj^t!fqG>9z;+dIve(y!lq1X90f*FC# zw=?~JKl}zw-y!q+&MU~P)a<=lD<)xR_6K$@KdmijhrVho)=z&uoBN!eHHP$@4ecj= zk26SYdvq5hYYxgU&oNB6ZeW$galD+#!QC-Lc^!Kd@-yFGftZtj@iY7e{L0R6%B?&z z&wO6wC6t$Wqk;H*tK`hiWd*xk?$7cr$KMCXA9Fnj{zx+OWnEfNsJ0@!?k8RmzGIi) z23DPm|G{yS@g2uANQ|7Ao>X_g|6-Wr`%Sk{zl+T1Uh`CBUiXTjv#WfYhvjCsNZ${N z?}Oy@Uu!8c!=w7F_vz|$71$DINi@(`R@G3U~{A1U>;@flc5$@C(=m#_J54Mpzk#j&{ftji^cG^C-6C@4^h zC~_n|fQp)uPoSWnq@E7uq?Rj6xpWw~>`WsPyr@Q1&&8*$s4d^ZFxX&Dgjt(4{m*-tY z#~E{=jwT(-H|dxb@&BWv&m4u02Zau&yL#ZIm+aMOJe2Ivj`KK) k23E4zSrY$T*b{GmF-X%)V*gC{;z5>9B;U;r_Vb?n1@y6xPXGV_ diff --git a/scripts/Units/armlatnk.bos b/scripts/Units/armlatnk.bos index 094ece1d8c6..26e826c1480 100644 --- a/scripts/Units/armlatnk.bos +++ b/scripts/Units/armlatnk.bos @@ -1,149 +1,68 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, lflare, lturret, wheels, mturret, mbarrel, mflare, emit_spark; -static-var restore_delay, isAiming; +static-var restore_delay, bAiming; // Signal definitions -#define SIGNAL_AIM1 256 -#define SIGNAL_AIM3 1024 -#define SIGNAL_MOVE 1 +#define SIG_AIM 2 +#define SIG_AIM_3 4 +#define SIG_MOVE 8 +static-var oldheading, tilt, maxspeed; -//#define DEBUG -#include "../debug.h" +#define tiltspeed <0.75> +#define maxtilt 20 -#define TB_BASE base -#define TB_TURNRATE <30.0> -#define TB_TILT_X <0.1> -#define TB_BANK_Z <0.18> // Do not define this if you dont want banking -#include "../tilt_bank_mobileunit.h" - -// ================== STEERING CONTROL ================== -/* -#ifndef WRAPDELTA - #define WRAPDELTA(angle) (((angle + 98280) % 65520) - 32760) -#endif - -#define VS_BASE base -#define VS_TURNRATE <30> -#define VS_TILT_X <0.1> -#define VS_TILT_Z <0.03> -#define VS_CANREVERSE 0 -#define VS_ACCURACY 1000 -#define VS_FRAMES 3 - -static-var VS_prevHeading, VS_prevSpeed, VS_maxSpeed; - -#ifdef VS_TILT_Z - - static-var VS_prevHeading, VS_prevSpeed, VS_maxSpeed; - - VS_Init(){ - VS_maxSpeed = get MAX_SPEED; - VS_prevHeading = get HEADING; - VS_prevSpeed = 0; - } - - #define START_VEHICLESTEERING VS_prevHeading = get HEADING; \ - VS_prevSpeed = 0; \ - start-script VehicleSteering(reversing); - - #define STOP_VEHICLESTEERING VS_prevHeading = get HEADING; \ - VS_prevSpeed = 0; \ - turn VS_BASE to z-axis <0> speed VS_TURNRATE; \ - turn VS_BASE to x-axis <0> speed VS_TURNRATE; - - -#else - static-var VS_prevSpeed, VS_maxSpeed; - - VS_Init(){ - VS_maxSpeed = get MAX_SPEED; - VS_prevSpeed = 0; - } - - #define START_VEHICLESTEERING VS_prevSpeed = 0; \ - start-script VehicleSteering(reversing); - - #define STOP_VEHICLESTEERING VS_prevSpeed = 0; \ - turn VS_BASE to x-axis <0> speed VS_TURNRATE; -#endif - - -//static-var VS_currSpeed, VS_currHeading, deltaSpeed, deltaHeading; - -VehicleSteering(reversing) +Steering(heading, steer, currentSpeed) { - // Could probably get away with half as many local vars... - var VS_currSpeed; - var deltaSpeed; - - #ifdef VS_TILT_Z - var VS_currHeading; - var deltaHeading; - #endif - + signal SIG_MOVE; + set-signal-mask SIG_MOVE; while(1) { - // get current - VS_currSpeed = (get CURRENT_SPEED) * VS_ACCURACY / (VS_maxSpeed); - - #ifdef VS_TILT_Z - VS_currHeading = get HEADING; - #endif - - // calc deltas - deltaSpeed = (VS_currSpeed - VS_prevSpeed) / VS_FRAMES; - - // Less braking effect: - if (deltaSpeed < 0) deltaSpeed = deltaSpeed/2; - - #ifdef VS_TILT_Z - // adjust heading with speed - deltaHeading = (WRAPDELTA(VS_currHeading - VS_prevHeading) ) / VS_FRAMES; - deltaHeading = deltaHeading * VS_currSpeed / VS_ACCURACY; - #endif - - #if VS_CANREVERSE == 1 - // Reversing isnt very reliable, but can be used here to flip directions - if (reversing){ - deltaHeading = -1 * deltaHeading; - deltaSpeed = -1 * deltaSpeed; - } - #endif - - //dbg(deltaSpeed, deltaHeading, reversing); - - turn VS_BASE to x-axis deltaSpeed * (-1 * VS_TILT_X) speed VS_TURNRATE; - VS_prevSpeed = VS_currSpeed; + heading = get HEADING; + steer = (heading - oldheading); + //get PRINT(heading,steer,tilt,oldheading); + currentSpeed =((get CURRENT_SPEED) * 100 / get MAX_SPEED); + if ((currentSpeed > 75) AND ((get ABS(steer)) > 150)) { //going fast can increase tilt + + //get PRINT(1111,currentSpeed, maxspeed); + if (steer < 5) tilt = tilt + 1;// tilt left + else tilt = tilt - 1; + + } + else + { // slow will always decrease tilt, as will going flat + //get PRINT(8888,currentSpeed, maxspeed); + if (tilt > 1) tilt = tilt - 2; + if (tilt < -1) tilt = tilt + 2; + } + if (tilt > 20) tilt = 20; + if (tilt < -20) tilt = -20; - #ifdef VS_TILT_Z - turn VS_BASE to z-axis deltaHeading * (-1 * VS_TILT_Z) speed VS_TURNRATE; - VS_prevHeading = VS_currHeading; - #endif - //move VS_BASE to y-axis ((tilt* tilt) * [0.005]) now; + turn base to z-axis tilt * tiltspeed now; + move base to y-axis ((tilt* tilt) * [0.005]) now; - sleep (32 * VS_FRAMES); + sleep 30; + oldheading = heading; } } -// ================== STEERING CONTROL ================== -*/ -/* + RockUnit(anglex, anglez) { - turn base to x-axis anglex speed <50.0>; - turn base to z-axis <0> - anglez speed <50.0>; + turn base to x-axis anglex speed <50.000000>; + turn base to z-axis <0> - anglez speed <50.000000>; wait-for-turn base around z-axis; wait-for-turn base around x-axis; - // Alternatively, - turn base to z-axis <0.0> speed <20.0>; - turn base to x-axis <0.0> speed <20.0>; + turn base to z-axis <0.000000> speed <20.000000>; + turn base to x-axis <0.000000> speed <20.000000>; return (0); } -*/ + #define BASEPIECE base @@ -151,14 +70,14 @@ RockUnit(anglex, anglez) //how 'heavy' the unit is, on a scale of 1-10 #define UNITSIZE 4 #define MAXTILT 100 -#define RECOIL_POWER 1000000 -#include "../unit_hitbyweaponid_and_smoke.h" + +#include "unit_hitbyweaponid_and_smoke.h" Sparks() { while( TRUE ) { - while( !isAiming ) + while( !bAiming ) { sleep 100; } @@ -170,36 +89,34 @@ Sparks() Create() { restore_delay = 3000; - isAiming = FALSE; - - call-script TB_Init(); - + bAiming = FALSE; + maxspeed = get MAX_SPEED; + oldheading = get HEADING; + tilt = 0; + start-script Sparks(); return (0); } -StartMoving(reversing) +StartMoving() { - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; - - spin wheels around x-axis speed <140.0> accelerate <5.0>; - - START_TILTBANK; + spin wheels around x-axis speed <140.000000> accelerate <5.000000>; + + start-script Steering(); } StopMoving() { - //dbg(); - stop-spin wheels around x-axis decelerate <24.0>; - signal SIGNAL_MOVE; - - STOP_TILTBANK; + stop-spin wheels around x-axis decelerate <24.000000>; + signal SIG_MOVE; + tilt = 0; + turn base to z-axis <0> speed <180>; + move base to z-axis [0] speed [2]; } -SetMaxReloadTime(reloadMS) +SetMaxReloadTime(Func_Var_1) { - restore_delay = reloadMS * 2; + restore_delay = Func_Var_1 * 2; return (0); } @@ -210,10 +127,10 @@ ExecuteRestoreAfterDelay() return (1); } set-signal-mask 0; - turn lturret to y-axis <0.0> speed <150.0>; - turn mturret to y-axis <0.0> speed <150.0>; - turn mbarrel to x-axis <0.0> speed <150.0>; - isAiming = FALSE; + turn lturret to y-axis <0.000000> speed <150.000000>; + turn mturret to y-axis <0.000000> speed <150.000000>; + turn mbarrel to x-axis <0.000000> speed <150.000000>; + bAiming = FALSE; } SetStunned(State) { @@ -228,67 +145,71 @@ RestoreAfterDelay() start-script ExecuteRestoreAfterDelay(); } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; - isAiming = TRUE; - turn lturret to y-axis heading speed <150.0>; + signal SIG_AIM; + set-signal-mask SIG_AIM; + bAiming = TRUE; + turn lturret to y-axis heading speed <150.000000>; wait-for-turn lturret around y-axis; start-script RestoreAfterDelay(); return (1); } -AimWeapon2(heading, pitch) +AimSecondary(heading, pitch) { - signal SIGNAL_AIM3; - set-signal-mask SIGNAL_AIM3; - turn mturret to y-axis heading speed <300.0>; - turn mbarrel to x-axis <0.0> - pitch speed <300.0>; + signal SIG_AIM_3; + set-signal-mask SIG_AIM_3; + turn mturret to y-axis heading speed <300.000000>; + turn mbarrel to x-axis <0.000000> - pitch speed <300.000000>; wait-for-turn mturret around y-axis; wait-for-turn mbarrel around x-axis; start-script RestoreAfterDelay(); return (1); } -FireWeapon1() +FirePrimary() { emit-sfx 1024+0 from lflare; sleep 100; return (0); } -FireWeapon2() +FireSecondary() { sleep 100; return (0); } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = emit_spark; + piecenum = emit_spark; return (0); } -AimFromWeapon2(pieceIndex) +AimFromSecondary(piecenum) { - pieceIndex = mbarrel; + piecenum = mbarrel; return (0); } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = lflare; + piecenum = lflare; return (0); } -QueryWeapon2(pieceIndex) +QuerySecondary(piecenum) { - pieceIndex = mflare; + piecenum = mflare; return (0); } - +SweetSpot(piecenum) +{ + piecenum = base; + return (0); +} Killed(severity, corpsetype) { @@ -298,11 +219,11 @@ Killed(severity, corpsetype) explode base type BITMAPONLY | NOHEATCLOUD; explode mturret type BITMAPONLY | NOHEATCLOUD; explode mbarrel type FIRE | SMOKE | FALL | NOHEATCLOUD; - - - - - + //explode mflare type BITMAPONLY | NOHEATCLOUD; + //explode wheels type BITMAPONLY | NOHEATCLOUD; + //explode lturret type BITMAPONLY | NOHEATCLOUD; + //explode lflare type BITMAPONLY | NOHEATCLOUD; + //explode emit_spark type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } if( severity <= 50 ) @@ -311,11 +232,11 @@ Killed(severity, corpsetype) explode base type BITMAPONLY | NOHEATCLOUD; explode mturret type FIRE | SMOKE | FALL | NOHEATCLOUD; explode mbarrel type FIRE | SMOKE | FALL | NOHEATCLOUD; - + //explode mflare type FALL | NOHEATCLOUD; explode wheels type FIRE | SMOKE | FALL | NOHEATCLOUD; - - - + //explode lturret type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lflare type FALL | NOHEATCLOUD; + //explode emit_spark type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) @@ -324,21 +245,21 @@ Killed(severity, corpsetype) explode base type FIRE | SMOKE | FALL | NOHEATCLOUD; explode mturret type SMOKE | FALL | NOHEATCLOUD; explode mbarrel type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; - + //explode mflare type SMOKE | FALL | NOHEATCLOUD; explode wheels type SMOKE | FALL | NOHEATCLOUD; - - - + //explode lturret type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lflare type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode emit_spark type SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; explode base type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode mturret type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode mbarrel type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; - + //explode mflare type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode wheels type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; - - - + //explode lturret type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lflare type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode emit_spark type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/armlatnk.cob b/scripts/Units/armlatnk.cob index 11147183fe10edb2814b4640b149edc401d3d8c1..d80075cf5b91741991cc889cd23b08cac28c6af6 100644 GIT binary patch literal 4334 zcmbVPO=w(I6h1SVPSuJ&p&|;(fS@21hHex=NL!87Qb;pZm+edDwvL%U-n`fb1+%D9 zM8s|?y0O%X;6f{cb|bn`TqxbtT^E82L0yO|1wp^>+=*`iJ_8I6WYkIo)r5vzpqe!yq;XdLfrzN z8?~g`ggt&$$hbn1RJm!)sE&5z->b5k`fYRHoYDQEAeULsr!9SPrJd@VJCyrc(3ww~ zk`u4e^fAs;2s;@9$onWB>DO#`P@i}mV=!;DO8sfA$xKpfdYR1DwcZUJ)EIMyll(M& zjKz}9dSv#o@Bi?#+{!-HF3K&o+l?4nGwOXATlR*sNiqJ2V!R%>luhEEg`Vdn--z~_ zIapjG(iQpCnVp?2 z=gxS(SCt}X!4%P!KiWNt`(XC5%`~0ase>p_yFbi zyE3*jJ#*Sj&)A#kISZTVp`NN|4t9Rb?QW7A{vGuj4v;d7Z#`&$Lirk2Igb7$JBxeN zfT*m~{)0~vb$Zuf$31oQQMS>ZK+l+*|2Rke#)KRn2=5=x8hfyn9JiCljpojJwiAc% zx?+Y)_43tfXR;XTRen_Oc4E<;ox^5lV72Q#Mm<|Sx2^at*GrpnO%|86*^F!@2dnQ! z?aOt?@i&`S)-WmNG@Eh{nD>XkRbUSWc?j?u|2c3KxDNaS)DYw$;4$C;a11yDoCDqg z-UmJcJ_Wu6z6SWe?z_N6;1l2q@E!0Ya1Hnw_#OBcxDy38fW5%uz%#&eKpPkVXMl6S z1>j@gGvEv0E8tt;2jCiT9ry)k<<4cD{z+LFEG<9V@8oi@lkZ=B-lfAqUs}DvvMWoU zZcA&JX3HZvkhwH>@R4Tu;lWFE)5-@!+q(R4dV0Zi2Wk6gr|0C!({5=ccMEQm4>Gs! zMDDUDTsK{nmdjiDO26;gvQfFO)0@vay);`DY+G(=&~Ni$u9G=aa6i_7HkS=zD?X0( zM^;?6YNq-y*0oMKBr_c3a;VeoBB8}}%tZVVQ}L{WEydwjBRPDm6}AmY;H5R?KJZfCO6uy>O#Sy zR$cf9QM-`3EGVK2p`ape#D(Z4pil&h3yC|skoZ35o^R&lc9IUfoO8bK{eI8SO{&hh zeZpPBkpD`AwYE$CIk&#B|f+Nu^%c#PN|qt%!#|_^e%R-23tK zU`w9x;(T4QD~(BoeZfYiJJ=5G;ZZNPFKf#9ibjiXKFg!4 z7x&e;xG8gNZQPiH%dd6j!MO1CA) z=nccybYs%jsH?GQ{jq&98TS4zmd=)!2Y>itZ@B~SXu{ggJ$0bMKO;JNWA~sN_=xPR z!(q)GitW75a3(KAaV&=AF^J(`-QX+OT?%$%8r?>CUv$^s2=YoKk7G}fkIt;U4JQI0 zvE6k{>A^KkxZ8exrMS~q1E0HLKGuS4jKY))-!F3iA>zCrIEXCHS9^+HA+lc4J0Gv6 z@09(tXA@y=Jbc*w@ciZCo$~XSiuq+7IQXwF%DAr682Px<_tJXCTZB&!`SLCl8^8Y1 zoZjj;&gD)q@WD4@P*dsc7^NfrfFF8bxgzJ?VSnjknaf`KK5B3GiU{B58|s1YLhn8~ z7sXLt{ymc#o3f5=xBirM{>=||8vNZbE^FIItAV`9agb{`cMTHIUg*g9U)%$@UZ}Ta zJC1!jyd4QF7klUv4>cpU^JjHhUM}i^WB0{{Pdxou=6~3DnfkdU9u2a1%tO4xzYO0K z{KtJn=W`XE9K7FJ@qMtKl84zaAIeAP>k_)Tl?P0$6C<)ytVedRv+Rx z{@o05ZiP6Uft})*-%)YM-SoUmgFP|8e_KAp{=huhznIEX=UuU9vEiQl0v!=dS zUyeJ<_ea5&0llrw_q#!FzHMFh4UNAs-xjV54K?|Bf$zd+!neW=p{k}%3Qr0Lg=d6w z!kfYe!pFj=!ZqPb;kv;8Mc)ZO3hTn3!iMmlP`%H&J;FZW5#b5pY2k#>5^~|9@S5w1_(u3i_*GaJZU}z~{|L8)u}S^ECd@ZZ9_hAnH{WXKjkLSu4!82gg%er2-0L1` z#w$15TU>e$?t!$Ep2?bXo!(OB=9bg`(u#YkpQX80dD_p9^dGpF;ce;{k87u;Ny&*iJ#Zq{_SD`#4rBD4K&Fr9LT zTK&w#!}%1HL;YTCF?)1KHX0H8uHbCKg->VXS1xm Y;yPj3Ih9J>cAbKibz1q!75d@+2fVOJIsgCw diff --git a/scripts/Units/armliche.bos b/scripts/Units/armliche.bos index bcb426aac28..64d73cf9703 100644 --- a/scripts/Units/armliche.bos +++ b/scripts/Units/armliche.bos @@ -1,8 +1,11 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" + +piece flare1, base, wing1, wing2, thrusta, thrustb, thrustc, bomb1; +static-var Static_Var_1, statechg_DesiredState, statechg_StateChanging, active; -piece flare1, flare2, base, wing1, wing2, thrusta, thrustb, thrustc, bomb1, bomb2; -static-var inAileronRoll, active; #define BASEPIECE base #define HITSPEED <55.0> @@ -10,6 +13,80 @@ static-var inAileronRoll, active; #define UNITSIZE 3 #define MAXTILT 100 +activatescr() +{ + if( TRUE ) + { + move wing1 to x-axis [0.000000] now; + move wing1 to x-axis [-2.400000] speed [1.646088]; + move wing1 to z-axis [0.000000] now; + move wing1 to z-axis [-0.500000] speed [0.342920]; + move wing2 to x-axis [0.000000] now; + move wing2 to x-axis [2.449994] speed [1.680371]; + move wing2 to z-axis [0.000000] now; + move wing2 to z-axis [-0.550000] speed [0.377228]; + turn wing1 to z-axis <0.000000> now; + turn wing1 to z-axis <0.890110> speed <0.615385>; + turn wing2 to z-axis <0.000000> now; + turn wing2 to z-axis <-2.692308> speed <1.846154>; + sleep 1458; + } + sleep 66; +} + +deactivatescr() +{ + if( TRUE ) + { + move wing1 to x-axis [-2.400000] now; + move wing1 to x-axis [0.000000] speed [1.646088]; + move wing1 to z-axis [-0.500000] now; + move wing1 to z-axis [0.000000] speed [0.342920]; + move wing2 to x-axis [2.449994] now; + move wing2 to x-axis [0.000000] speed [1.680371]; + move wing2 to z-axis [-0.550000] now; + move wing2 to z-axis [0.000000] speed [0.377228]; + turn wing1 to z-axis <0.890110> now; + turn wing1 to z-axis <0.000000> speed <0.615385>; + turn wing2 to z-axis <-2.692308> now; + turn wing2 to z-axis <0.000000> speed <1.846154>; + sleep 1458; + } + sleep 66; +} + + +InitState() +{ + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; +} + +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + call-script activatescr(); + currentstate = 0; + } + if( statechg_DesiredState == 1 ) + { + call-script deactivatescr(); + currentstate = 1; + } + } + statechg_StateChanging = FALSE; +} MoveRate1() { active = get(GAME_FRAME); @@ -18,15 +95,15 @@ MoveRate1() { MoveRate2() { active = get(GAME_FRAME); - if( Rand( 1, 10 ) == 1 AND ( !inAileronRoll ) ) + if( Rand( 1, 10 ) == 1 AND ( !Static_Var_1 ) ) { - inAileronRoll = 1; + Static_Var_1 = 1; turn base to z-axis <240.049451> speed <120.027473>; wait-for-turn base around z-axis; turn base to z-axis <120.027473> speed <180.038462>; wait-for-turn base around z-axis; - turn base to z-axis <0.0> speed <120.027473>; - inAileronRoll = 0; + turn base to z-axis <0.000000> speed <120.027473>; + Static_Var_1 = 0; } } @@ -41,7 +118,9 @@ Create() hide thrusta; hide thrustb; hide flare1; - inAileronRoll = 0; + Static_Var_1 = 0; + + call-script InitState(); } @@ -51,12 +130,7 @@ Activate() show thrustc; show thrusta; show thrustb; - move wing1 to x-axis [-2.4] speed [2.4]; - move wing1 to z-axis [-0.5] speed [0.5]; - move wing2 to x-axis [2.4] speed [2.4]; - move wing2 to z-axis [-0.5] speed [0.5]; - turn wing1 to z-axis <0.89> speed <0.89>; - turn wing2 to z-axis <-2.69> speed <2.69>; + start-script RequestState(0); } Deactivate() @@ -65,20 +139,16 @@ Deactivate() hide thrustc; hide thrusta; hide thrustb; - move wing1 to x-axis [0.0] speed [2.4]; - move wing1 to z-axis [0.0] speed [0.5]; - move wing2 to x-axis [0.0] speed [2.4]; - move wing2 to z-axis [0.0] speed [0.5]; - turn wing1 to z-axis <0.0> speed <0.89>; - turn wing2 to z-axis <0.0> speed <2.69>; + start-script RequestState(1); } -FireWeapon1() { +FirePrimary() { hide bomb1; start-script ReloadBomb(); + return (1); } -AimWeapon1() +AimPrimary() { if (active < (get(GAME_FRAME) - 60)) { @@ -88,12 +158,15 @@ AimWeapon1() } } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = flare1; + piecenum = flare1; } - +SweetSpot(piecenum) +{ + piecenum = base; +} Killed(severity, corpsetype) { @@ -110,6 +183,7 @@ Killed(severity, corpsetype) corpsetype = 2; explode base type BITMAPONLY | NOHEATCLOUD; explode flare1 type FALL | BITMAP2 | NOHEATCLOUD; + //explode flare2 type FALL | BITMAP3 | NOHEATCLOUD; explode thrustc type BITMAPONLY | NOHEATCLOUD; explode wing1 type BITMAPONLY | NOHEATCLOUD; explode thrusta type BITMAPONLY | NOHEATCLOUD; @@ -121,6 +195,7 @@ Killed(severity, corpsetype) corpsetype = 3; explode base type BITMAPONLY | NOHEATCLOUD; explode flare1 type BITMAPONLY | NOHEATCLOUD; + //explode rearthrust type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP4 | NOHEATCLOUD; explode wing1 type BITMAPONLY | NOHEATCLOUD; explode thrusta type BITMAPONLY | NOHEATCLOUD; explode thrustb type BITMAPONLY | NOHEATCLOUD; diff --git a/scripts/Units/armllt.bos b/scripts/Units/armllt.bos index 7b9293302a8..9ca7a277ce9 100644 --- a/scripts/Units/armllt.bos +++ b/scripts/Units/armllt.bos @@ -1,10 +1,12 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, flare, turret, sleeve, barrel; // Signal definitions -#define SIGNAL_AIM1 256 +#define SIG_AIM 2 @@ -19,7 +21,7 @@ ExecuteRestoreAfterDelay() if (Stunned) { return (1); } - turn sleeve to x-axis <0> speed <16.0>; + turn sleeve to x-axis <0> speed <16.00000>; } SetStunned(State) @@ -36,34 +38,37 @@ RestoreAfterDelay() start-script ExecuteRestoreAfterDelay(); } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; turn turret to y-axis heading speed <300.071429>; - turn sleeve to x-axis <0.0> - pitch speed <200.043956>; + turn sleeve to x-axis <0.000000> - pitch speed <200.043956>; wait-for-turn turret around y-axis; wait-for-turn sleeve around x-axis; start-script RestoreAfterDelay(); return (1); } -FireWeapon1() +FirePrimary() { emit-sfx 1024 + 0 from flare; } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = sleeve; + piecenum = sleeve; } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = flare; + piecenum = flare; } - +SweetSpot(piecenum) +{ + piecenum = base; +} #define BASEPIECE base #define HITSPEED <20.0> @@ -71,7 +76,7 @@ QueryWeapon1(pieceIndex) #define UNITSIZE 3 #define MAXTILT 100 -#include "../unit_hitbyweaponid_and_smoke.h" +#include "unit_hitbyweaponid_and_smoke.h" Killed(severity, corpsetype) diff --git a/scripts/Units/armllt.cob b/scripts/Units/armllt.cob index 70440c21e20aabcb7dcded5b8a4c89396dfad9f2..fa603a0243be15a0eea622c04cdbc10ba4a4d6f8 100644 GIT binary patch literal 2777 zcmbtWyKWOf6uovF1A(B4K#>s53W*M(6+(gni6lS-qDinK3PAFbOoWAB+N=rgT+ou* zqUH;zprN9JDu}(*`~YM@ zpKy-9HUwSTJJ7`;ecYuj{X!*5=l|biMTpy=zX?Nt^b1>tK+RKCX^n4xEF2 zFqtfdYweRY>6-ante=gP2E1T0^5^J$wQh10!*n*}!K-k_YA5e;cDhfp>wGBPAAFf( z$4gg#i27FM3^`mauv5~{+0DG+UcL7^2v;BZ)Q@};rha`aHHUKY{r35EA6!4mjoj+X z8aQ`SxjphRv^!l+y1I_U4&v$0y>fB6HJ4foCALYJS946tKgmz|C`b2;@^Oyjq)*^w4^pa_qdArB zLjV1yzvfbzkC|m|Cym!LJuZGy&7(79-~3Is3|s}S z0~O!}V1WkE0S1m6Mp8|^Z16Sxa(0?&b0z&`K}H~>BXAAwK67vL-K4fqZm0{3DY zB~~81wcDM|_XweC|JwOdW8G+M9iR*?AD{$O45mA Po5)_>+BX&kyw&9&ImgF4 literal 2270 zcmah~J!@1^5S{%<;zy8cBZw9cL2QDo+N26ujX?>BW)UF}$V>J{S2x-4@-~=GQ9B7% zl0t%DC+XAKh=rYv*jQLv`V&0ozM0+Y=EH?y?!9y7%$a%jy{(GKC~OG!t0Yo}=WlmJ z-ooW5`bnc_djYvKH#&aI>7{O05!R67r!z z@XQeo?}_EmhqK62=lZ((d$!rv5oAq! zP6z3xhTjC}EI21V58VD9mvQhtBz_Bc(>^$}gJS<^9Ju4WvvU{<`Kkosp0WonS(lzM z_G0(;n&Nq6ceAGl{Bd63)H^g0)v+4P!*Rbx`05pPMf2`xUWq`w)2u6#!){j3%h7pU z`zmpmYxsTve_ruCws)QPB+fa@SW?{i=ZYsi_0m)Cdw6jpz1i5_-YMJLJ$R>h&LYka zyxKqY#5#g@)$u`fg!l6Z9ahJ5@a|LRVLA+dl#V5GsE#kHgM9HkjE7M6hfjK_YdUsx zZ#wwhqb{3=#RqkeYp|AKNx}GAv<>h z_2t}WQ@)*UO2g-kyt}&Uo3cMxZ>>D==~`#?icGgMZ)+S+XPsW?Ue{-v7Q5BTuj}S^ uQ=*+rr7P(}-)yXOo_LvQwc9AUn67(SZl{@-yqje{m-V*y8y*4d+VU3^Z>-7y diff --git a/scripts/Units/armlship.bos b/scripts/Units/armlship.bos index 5f0bca0d89b..1bdacabe4e2 100644 --- a/scripts/Units/armlship.bos +++ b/scripts/Units/armlship.bos @@ -1,29 +1,95 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, ground, wake1, wake2, turret, sleeve, flare, turretmis, misbox, misflare; -static-var restore_delay; +static-var restore_delay, Static_Var_7, Static_Var_8, aimDir, oldHead; // Signal definitions -#define SIGNAL_AIM1 256 -#define SIGNAL_AIM2 512 +#define SIG_AIM 2 +#define SIG_AIM_2 4 +#define SIG_MOVE 4096 -#define RB_MASS 30 -#define RB_LENGTH 7 -#define RB_WIDTH 3 -#define RB_PITCH_SPEED 100 -#define RB_PITCH_ACCELERATION 20 -#define RB_ROLL_ACCELERATION 8 -#define RB_ROCKUNIT 5 -#define RB_WAKE_PIECE wake1 -#define RB_WAKE_CEG 1024 + 0 -#define RB_BOWSPLASH_PIECE wake2 -#define RB_BOWSPLASH_CEG 1024 + 1 -#define RB_IDLE_KICK 10000 -#include "../bar_ships_common.h" +#define BASEPIECE base +#define HITSPEED <25.0> +//how 'heavy' the unit is, on a scale of 1-10 +#define UNITSIZE 3 +#define MAXTILT 200 + +#include "unit_hitbyweaponid_and_smoke.h" + +SetDirection(heading) +{ + var spd; + spd = (get ABS(oldHead) - get ABS(heading)) / 2; + turn ground to y-axis heading speed spd; + turn base to y-axis 0-heading speed spd; + oldHead = heading; +} + +RockOnWaves() +{ + var rockDir, rockAng, rockSpeed; + rockDir = <-0.1>; + rockAng = <-0.1>; + while( TRUE ) + { + while( get ABS(rockAng) < <1.31> ) + { + rockSpeed = <1.45> - get ABS(rockAng); + turn ground to x-axis rockAng speed rockSpeed*4; + wait-for-turn ground around x-axis; + rockAng = rockAng + rockDir; + } + rockDir = 0 - rockDir; + rockAng = rockAng + rockDir + rockDir; + } +} + +ProjXPW(Func_Var_1, Func_Var_2) +{ + if( Func_Var_2 < -21840 ) + { + Static_Var_7 = Func_Var_1 * ( Func_Var_2 + 32760 ) / 10920; + } + else if( Func_Var_2 > 21840 ) + { + Static_Var_7 = Func_Var_1 * ( 32760 - Func_Var_2 ) / 10920; + } + else if( Func_Var_2 < -10920 ) + { + Static_Var_7 = 0 - Func_Var_1; + } + else if( Func_Var_2 > 10920 ) + { + Static_Var_7 = Func_Var_1; + } + else + { + Static_Var_7 = Func_Var_1 * Func_Var_2 / 10920; + } +} + +RockZ(Func_Var_1, Func_Var_2) +{ + signal 4096; + set-signal-mask 4096; + call-script ProjXPW(10920 / Func_Var_2,Func_Var_1); + Static_Var_8 = Static_Var_8 + Static_Var_7; + Static_Var_7 = get ABS(Static_Var_8); + while( Static_Var_7 > 91 ) + { + turn base to z-axis Static_Var_8 speed Static_Var_7 * <0.0125>; + wait-for-turn base around z-axis; + Static_Var_8 = Static_Var_8 * -1 / 2; + Static_Var_7 = get ABS(Static_Var_8); + } + turn base to z-axis <0.000000> speed <1.5>; +} Create() @@ -33,14 +99,16 @@ Create() hide flare; hide ground; restore_delay = 3000; - start-script InitRockBoat(); - SLEEP_UNTIL_UNITFINISHED; - start-script BoatPhysics(); + while( get BUILD_PERCENT_LEFT ) + { + sleep 500; + } + start-script RockOnWaves(); } -SetMaxReloadTime(reloadMS) +SetMaxReloadTime(Func_Var_1) { - restore_delay = reloadMS * 2; + restore_delay = Func_Var_1 * 2; } static-var Stunned; @@ -50,8 +118,8 @@ ExecuteRestoreAfterDelay() return (1); } set-signal-mask 0; - turn turret to y-axis <0.0> speed <180.0>; - turn sleeve to x-axis <0.0> speed <90.0>; + turn turret to y-axis <0.000000> speed <180.000000>; + turn sleeve to x-axis <0.000000> speed <90.000000>; } SetStunned(State) { @@ -66,67 +134,110 @@ RestoreAfterDelay() start-script ExecuteRestoreAfterDelay(); } -StartMoving(reversing) +waveSplash() { + while( TRUE ) + { + turn base to x-axis <-3.0> speed <3.0>; + move base to y-axis [0.32] speed [0.25]; + wait-for-turn base around x-axis; + turn base to x-axis <0.0> speed <3.0>; + move base to y-axis [0.0] speed [0.25]; + wait-for-turn base around x-axis; + } +} + +StartMoving() +{ + signal SIG_MOVE; + set-signal-mask SIG_MOVE; + var waketime; + start-script waveSplash(); + var bowtime; + bowtime = 0; + while( TRUE ) + { + emit-sfx 1024 + 0 from wake1; + if (bowtime) emit-sfx 1024 + 1 from wake2; + bowtime = !bowtime; + waketime = (get CURRENT_SPEED) * 100 / get MAX_SPEED; + if( waketime < 50 ) waketime = 50; + sleep 10000 / waketime; + } } StopMoving() { + signal SIG_MOVE; + turn base to x-axis <0.0> speed <3.0>; + move base to y-axis [0.0] speed [0.25]; } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; - turn turret to y-axis heading speed <150.0>; - turn sleeve to x-axis RB_AIMPITCHCORRECTION(heading) - pitch speed <150.0>; + signal SIG_AIM; + set-signal-mask SIG_AIM; + turn turret to y-axis heading speed <150.000000>; + turn sleeve to x-axis -1*pitch speed <150.000000>; wait-for-turn turret around y-axis; wait-for-turn sleeve around x-axis; start-script RestoreAfterDelay(); return (1); } -AimWeapon2(heading, pitch) +AimSecondary(heading, pitch) { - signal SIGNAL_AIM2; - set-signal-mask SIGNAL_AIM2; - turn turretmis to y-axis heading speed <300.0>; - turn misbox to x-axis RB_AIMPITCHCORRECTION(heading) - pitch speed <300.0>; + signal SIG_AIM_2; + set-signal-mask SIG_AIM_2; + turn turretmis to y-axis heading speed <300.000000>; + turn misbox to x-axis <0.000000> - pitch speed <300.000000>; wait-for-turn turretmis around y-axis; wait-for-turn misbox around x-axis; start-script RestoreAfterDelay(); return (1); } -FireWeapon1() +FirePrimary() { emit-sfx 1024 + 2 from flare; + sleep 100; + return (0); } -FireWeapon2() +FireSecondary() { + sleep 100; + return (0); } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = sleeve; + piecenum = sleeve; + return (0); } -AimFromWeapon2(pieceIndex) +AimFromSecondary(piecenum) { - pieceIndex = turretmis; + piecenum = turretmis; + return (0); } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = flare; + piecenum = flare; + return (0); } -QueryWeapon2(pieceIndex) +QuerySecondary(piecenum) { - pieceIndex = misflare; + piecenum = misflare; + return (0); } +SweetSpot(piecenum) +{ + piecenum = base; +} Killed(severity, corpsetype) { diff --git a/scripts/Units/armlship.cob b/scripts/Units/armlship.cob index d501bdae859ea38f45e47079409ec224d65f7990..e126d38949836d27b6092af1c9bf1352642f529a 100644 GIT binary patch literal 4820 zcmbVQ&x>3|5U%}^Nz|w>o)SSA%poWq#^_DN-55hOgp8SlEdJb=olY{z?7ZRa+wAT^ z3_|oKN z4%ixws*6VDb<^73dio0@>$*s$7{^5kg?TN8aPEFMSJg!N`D?vXY77z5|JzB;Zo zriuIKNZSqyp>_*Fm#S{0R_+o?d^q~>FjXUQP} zKm5=|LcI5beT0tJ{MpDvCHW}mNBi`z1U&|^dc-}*Tx?B2Em)uP5UFE7(w_{tPwJ?W zy6>s)f{y9RS|k-;XXvb-IMS!L51a`;*3Xv5I5E#@*qN7SWO@5Xsg3Jd(AQ%3``Dbm zQuRH>KDN7MylkXN(C?g^PUWz7%fndoqr3T0W*uVA{q-iFtINyF)(7$2@^Iui9E3o- z?a%Bq+rDhHT3n?u^vRB}e*G=R;oiuPb>eull}wO4~exQiWS$|VldBzua=jsCSCYj&e-Sr>qwmN4*DMX@?p#;#uA>V z@jf5ca?ZH*gAi)|F1#7VrH%0{zV^y3#GSg*HNZ$8!ir z%OBTQbv)fJ?mPCYH{q0*nZMjSYH0PAYDJ$T>?eJyg^~4S?a9x2&F;U=>0&%=WY624 z7>{vidy&pz|6>Rc+Zc~$Z21K}OqJ@f6O+x(c(|_1))(p*`hqg;x5|~z>fb+kd@B}F_b;7m*dy|9VIVxK^-e=v zk*~@V^ZBXQoUB=`r^6DlcZ26rNuCIKn1;48X6OsviBeY;|D1#?b^krJ(zcE<@G1RS zhlm%sFfY$Z^Plzi@TIV?J9PER_4HLWYk<8E@?k#ZKV3=Q3Hy04jDOxhAAolV?YW)x zIWAv@*53ksAK3RC`ZA`);CxsNwGD~EGdmV|sGrrBY`QD&puR`3zm4jMU#OeakF)rkg7Zfl|#>eaXjMI z*YmV79-l8|-B1_yhxI@EhAMS~N8%ovp@Ht!(>R4~Cx4Ks`*Zos5?eE4Zh?FH+ zUw;3tLbaM7&zbhpkBR~DR@_z8JLao*F7W+1@a4J1d@YZjXNa#&G$0qxikt?nStCEL zSI)Iw%`BewU&yOP5AyABTT?6s9`5I75*1I`0q1K$GQ13v+~Tg8s0 zLoV%R9cj#FC)~kKtBAGFHl^W;ovqx>6fHRI&t^{S>l{i?x;d%m+3~6RA=SMgPvtQ*A1)@(g*&8GR1Ky0{~tkdLV7r2^%a?b*{U3nI-;!`vqcWx@;{7PicSCk literal 4736 zcmdUzO=w(I6vs~{AJw{fiWUl0(v2brP9ttySW{zZsV(iKBH|{~0z<4O>B7FwjmO8o!syJzNRIw=L+IN{8__k8}(x#!;Z zCL?CHMYLHoHezvlfJPen*qF9URMSTo^#;jAVc9=8#7(Et66B4)!Or)z8SAzk=4&)}!B13$4s98K{xHh{NDJaj@1 zGh^A;ngpABzy?lb8fwP~R*&D0oA}fLJs&HK7501032YbE*47vwj{ZVi)ehgGcB&1v zBqos1y)Wt#v#Tc^^jz*WrxsnD@{!u$lX$-G=xG`9#?LKbOJjR4pciVa{Xy^VL=QfC z9tU^mT%=IiTlU&}5<0}TH*hUY<8d{GX^4<@gR*AIEBhkdH&eMf4J&1Ob3Q{TTSC-~-!Alt^l zP~DmP86$7xsow3KVyH&w9ezY}YId>m`Luk(A7Ue}$y=Z8jc+!#eSUx~d%o_x3LpIl zFO`M-5*&x3FN-+5PUrjZg!?1rEK#>cym$Y@cYE)_R2RR#2Y#m9-uaVqYxSXwS{(LR@RDZ__j~w*uO9whSh{Q3 zI(}la*T_%}SO$#jFFJA)bjTs(rah#`2i5jnsr(myz3znU&(WV_di3k8={c!fM^z~D zn2Y*g@N<2G1hgld4S1<6^kr6^&n?jhE{K`x1;6!5Z+jBUeR^#@cef2aKcH5~fwfLg zXNa15?i^2lSD9oUx`XKUa2|vX#fnr^KAJ5>i1WU+srn=8fqeMD?s(Ku838pU|sBpt(Pr|4# zWN9yd6@Bl=Fvj~7r?P>?2b(Za-hS?#AL0uuHFBQovWL9;uopkYIKgMEU(h>S)sp+a z8)sa%sf3;j&$(2V_E+%HhYKvk?Z%JK#OpDyfC>LeUg!p2)Ihlp(n5j)YGR=GZv5enQe25q1aew?SHNbm~n8zCJ`MHPP6f4|0(GN2G{U2)N zy+d6*2j)Hg;2M!%jiTzV=)JROt@?HMF4mGYHTQdLket|elM~}^a()MIB=5fmwo2E= zt9$PkJ?Oy0-eb?m`XZBTQ^1|BLmwe$B00~=Zr>^2w4cM>7~@=zacH45&bhug=Qi*Q zh7haX!?@aK%QFN_4Ct?J;7elLF1jN7TcQIpm=|3VT@n2t`c3qwXiZd8;8D>5(TAc{ z(IwF*qR&KMioO-`KZhqp&x)o*4bkhOW1>QIR`jvxvgmWsccLFfS4F>y{t*2o+We5& zR?*|4XGG75c8Ye3UKTY(uZdkZp6x1;T5Cy%^^*0PC?6sH&}$v-fTg^>UN diff --git a/scripts/Units/armlun.bos b/scripts/Units/armlun.bos index 9b859cbaa5a..71d3bdb057d 100644 --- a/scripts/Units/armlun.bos +++ b/scripts/Units/armlun.bos @@ -1,26 +1,18 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" -piece ground, lflare, rflare, turret, wake, barrelcon, lbarrel, rbarrel, launch, lrocket, +piece lflare, rflare, turret, wake, barrelcon, lbarrel, rbarrel, launch, lrocket, rrocket, base; -static-var gun_1, isAiming, restore_delay; +static-var Static_Var_1, gun_1, bAiming, restore_delay; // Signal definitions -#define SIGNAL_AIM1 256 -#define SIGNAL_AIM2 512 - -#define HOVER_BASE base -#define HOVER_BANKSPEED <7> -#define HOVER_ROCKBASE ground -#define HOVER_WOBBLE_PERIOD 80 -#define HOVER_WOBBLE_AMPLITUDE [0.7] -#define HOVER_WAKEPIECE wake -#define HOVER_WAKE_SFX_1 1024 + 1 -#define HOVER_WAKE_SFX_2 1024 + 2 -#define HOVER_IDLE_SFX 1024 + 3 -#include "../bar_hovercraft_common.h" - +#define SIG_AIM 2 +#define SIG_AIM_2 4 +#define SIG_MOVE 8 +#define SIG_IDLE 16 #define BASEPIECE base #define HITSPEED <30.0> @@ -28,8 +20,44 @@ static-var gun_1, isAiming, restore_delay; #define UNITSIZE 8 #define MAXTILT 200 -#include "../unit_hitbyweaponid_and_smoke.h" +#include "unit_hitbyweaponid_and_smoke.h" + +HoverIdle() +{ + signal SIG_IDLE; + set-signal-mask SIG_IDLE; + while( TRUE ) + { + emit-sfx 1024 + 3 from wake; + sleep 1800; + } +} +StartMoving() +{ + signal SIG_MOVE; + set-signal-mask SIG_MOVE; + signal SIG_IDLE; + var waketime; + var bowtime; + while( TRUE ) + { + emit-sfx 1024 + 1 from wake; + if (bowtime) emit-sfx 1024 + 2 from wake; + bowtime = !bowtime; + waketime = (get CURRENT_SPEED) * 100 / get MAX_SPEED; + if( waketime < 30 ) waketime = 30; + sleep 15000 / waketime; + } +} + +StopMoving() +{ + signal SIG_MOVE; + signal SIG_IDLE; + start-script HoverIdle(); + return (0); +} Create() { @@ -43,18 +71,19 @@ Create() turn rflare to y-axis <175> now; move lflare to z-axis [6] now; move rflare to z-axis [6] now; - isAiming = FALSE; + bAiming = FALSE; gun_1 = lflare; hide lrocket; hide rrocket; hide launch; restore_delay = 3000; - start-script HoverCraftMotion(); + return (0); } -SetMaxReloadTime(reloadMS) +SetMaxReloadTime(Func_Var_1) { - restore_delay = reloadMS * 2; + restore_delay = Func_Var_1 * 2; + return (0); } static-var Stunned; @@ -63,9 +92,9 @@ ExecuteRestoreAfterDelay() if (Stunned) { return (1); } - isAiming = FALSE; - turn turret to y-axis <0.0> speed <80.0>; - turn barrelcon to x-axis <0.0> speed <50.0>; + bAiming = FALSE; + turn turret to y-axis <0.00000> speed <80.00000>; + turn barrelcon to x-axis <0.00000> speed <50.00000>; } SetStunned(State) { @@ -80,83 +109,132 @@ RestoreAfterDelay() start-script ExecuteRestoreAfterDelay(); } -RestoreWeapon2() +RestoreSecondary() { sleep restore_delay; - isAiming = FALSE; - turn launch to x-axis <0.0> speed <20.0>; + bAiming = FALSE; + turn launch to x-axis <0.00000> speed <20.00000>; + return (0); } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; - isAiming = TRUE; - turn turret to y-axis heading speed <120.0>; - turn barrelcon to x-axis <0.0> - pitch speed <80.0>; + signal SIG_AIM; + set-signal-mask SIG_AIM; + bAiming = TRUE; + turn turret to y-axis heading speed <120.00000>; + turn barrelcon to x-axis <0.00000> - pitch speed <80.00000>; wait-for-turn turret around y-axis; wait-for-turn barrelcon around x-axis; start-script RestoreAfterDelay(); return (1); } -FireWeapon1() +FirePrimary() { if( !gun_1 ) { emit-sfx 1024 + 0 from rflare; - move rbarrel to z-axis [-5.0] now; - move rbarrel to z-axis [0.0] speed [7.50000]; + move rbarrel to z-axis [-5.00000] now; + move rbarrel to z-axis [0.00000] speed [7.50000]; } if( gun_1 ) { emit-sfx 1024 + 0 from lflare; - move lbarrel to z-axis [-5.0] now; - move lbarrel to z-axis [0.0] speed [7.50000]; + move lbarrel to z-axis [-5.00000] now; + move lbarrel to z-axis [0.00000] speed [7.50000]; } gun_1 = !gun_1; return (0); } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = turret; + piecenum = turret; + return (0); } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = gun_1; + piecenum = gun_1; + return (0); } -QueryWeapon2(pieceIndex) +QuerySecondary(piecenum) { - pieceIndex = base; + piecenum = base; + return (0); } -AimFromWeapon2(pieceIndex) +AimFromSecondary(piecenum) { - pieceIndex = base; + piecenum = base; + return (0); } -FireWeapon2() +FireSecondary() { + return (0); } -AimWeapon2(heading, pitch) +AimSecondary(heading, pitch) { - signal SIGNAL_AIM2; - set-signal-mask SIGNAL_AIM2; + signal SIG_AIM_2; + set-signal-mask SIG_AIM_2; start-script RestoreAfterDelay(); return (1); } - +SweetSpot(piecenum) +{ + piecenum = base; + return (0); +} Killed(severity, corpsetype) { hide lflare; hide rflare; - + if( Static_Var_1 == 1 ) + { + if( severity <= 50 ) + { + corpsetype = 2; + explode lbarrel type FALL | BITMAP1 | NOHEATCLOUD; + explode rbarrel type FALL | BITMAP1 | NOHEATCLOUD; + explode base type FIRE | SMOKE | FALL | NOHEATCLOUD; + explode launch type FALL | BITMAP3 | NOHEATCLOUD; + explode turret type BITMAP4 | NOHEATCLOUD; + return (corpsetype); + } + corpsetype = 3; + explode lbarrel type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP1 | NOHEATCLOUD; + explode rbarrel type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP1 | NOHEATCLOUD; + explode base type FIRE | SMOKE | FALL | NOHEATCLOUD; + explode launch type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP3 | NOHEATCLOUD; + explode turret type BITMAP4 | NOHEATCLOUD; + return (corpsetype); + } + if( Static_Var_1 == 2 ) + { + if( severity <= 50 ) + { + corpsetype = 2; + explode lbarrel type FALL | BITMAP1 | NOHEATCLOUD; + explode rbarrel type FALL | BITMAP1 | NOHEATCLOUD; + explode base type FIRE | SMOKE | FALL | NOHEATCLOUD; + explode launch type FALL | BITMAP3 | NOHEATCLOUD; + explode turret type BITMAP4 | NOHEATCLOUD; + return (corpsetype); + } + corpsetype = 3; + explode lbarrel type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP1 | NOHEATCLOUD; + explode rbarrel type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP1 | NOHEATCLOUD; + explode base type FIRE | SMOKE | FALL | NOHEATCLOUD; + explode launch type FALL | SMOKE | FIRE | EXPLODE_ON_HIT | BITMAP3 | NOHEATCLOUD; + explode turret type BITMAP4 | NOHEATCLOUD; + return (corpsetype); + } if( severity <= 25 ) { corpsetype = 1; diff --git a/scripts/Units/armlun.cob b/scripts/Units/armlun.cob index ad9aad2b331be8f15c3f2940fb65379e9f035d24..4f4e73cb2e3dbe5ad8f32dc047c054e2c9518f6f 100644 GIT binary patch literal 5355 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 diff --git a/scripts/Units/armlwall.bos b/scripts/Units/armlwall.bos index cfef64e596e..6e897da43c3 100644 --- a/scripts/Units/armlwall.bos +++ b/scripts/Units/armlwall.bos @@ -1,13 +1,15 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, top, spike1, spike2, spike3, spike4, spike5, spike6, spike7, spike8, spike9, spike10, spike11, spike12, flare; static-var restore_delay, deploy_state, animate_speed; // Signal definitions -#define SIGNAL_AIM1 256 -#define SIGNAL_TURNON 4 +#define SIG_AIM 2 +#define SIG_DEPLOY 4 static-var Stunned; SetStunned(State) @@ -21,7 +23,7 @@ SetStunned(State) RestoreAfterDelay() { sleep restore_delay; - signal SIGNAL_TURNON; + signal SIG_DEPLOY; move spike1 to x-axis [12.32] speed animate_speed; move spike4 to z-axis [12.32] speed animate_speed; move spike7 to x-axis [-12.32] speed animate_speed; @@ -51,18 +53,20 @@ Create() deploy_state = 0; animate_speed = [24]; - SLEEP_UNTIL_UNITFINISHED; + while( get BUILD_PERCENT_LEFT ) + { + sleep 250; + } start-script RestoreAfterDelay(); } -#define BASEPIECE base -#define MAXTILT 0 -#include "../unit_hitbyweaponid_and_smoke.h" +#define SMOKEPIECE base +#include "smokeunit_thread_nohit.h" Deploy() { - signal SIGNAL_TURNON; - set-signal-mask SIGNAL_TURNON; + signal SIG_DEPLOY; + set-signal-mask SIG_DEPLOY; set ARMORED to 0; if (deploy_state==0 OR deploy_state==1) { @@ -119,10 +123,10 @@ Deploy() } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; start-script Deploy(); start-script RestoreAfterDelay(); while( !(deploy_state==8) ) @@ -132,22 +136,25 @@ AimWeapon1(heading, pitch) return (1); } -FireWeapon1() +FirePrimary() { emit-sfx 1024+0 from flare; sleep 150; } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = flare; + piecenum = flare; } +SweetSpot(piecenum) +{ + piecenum = base; +} - -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = flare; + piecenum = flare; } Killed(severity, corpsetype) diff --git a/scripts/Units/armlwall.cob b/scripts/Units/armlwall.cob index d843154d1ff78e99f7b8cf0092d4d23ca64b9a17..5475266e95787984198c6117a5a4d844805669b1 100644 GIT binary patch literal 3311 zcmbVOJ#17*5Z*h^X9Ed5q(p-5=#Y})Z1RH}6gyx6Y0f#3G!gP8St}>bcc*s`q3f(f zDQJ*Ffk6LzTm|*lsVvQRXtPIk=~+V~mu=x;NKf{Kb7!+=P+RA(emZGk=mp zX`kupiGAkpFmxO#e=J!!PQ#SkOZ!YWnb>FkjzGte^2gej{c-J@hos(@I?tp=?2S<9 z2YV^~YM?KX?hVdiqq-@KgeEE zhI8RQsAu1CzRwxr87yP0!#wuO+S;12axOXGeEuGEQh&ry4RPDKrtLgzTvN~UX0Y#w zOwTQ+%&+Vx#t{5WF`fnt%2NJj2#6jre~WcD4*6=rcN6fo0$znl?cmgNpl-i`abLA0 zkLzRghrI7jX;hdxxkleTV#Uz#XDGyF*+9(K0R!#?85%dB$S-hz(+o zWm2ywpC3X#l*bs{OYH4MRBzvWRF}@@&ja#No#m6NpY=7ROW%oFqx7AqI=d5DKf`B^ zJRfoHRzEp6rTWPm71ghfLJ@=V7{lrZ@xJvlU8;VjOT8(kOV>|(V)^Z@pX$=})1IX3 zr#h?OUQ9jHQY!?O(xu-N?MeDgQJuXh?3dxQ){H-{we^c~eyfbZWb_?>zh^?fD339$ zU*z^?amuqVSezpcn==mf#xS_13GXnz6ZTdJUbu&3j(dprmYgHnV@^ztIBw}X&)J&Z zI}6xMAMsl?8)UK{ekBGJYB!b)_xjGOxAHEXgnOP-iu!iRKZIlD?rM|Fkz=UzEg1aT;kxfc{iDUW3nDUMV%(Z|CCNUc(0f;HJ1t#Zm zuEKm3`hVl=3)%%=8^IU9w>Wg@)jIi z27Lm$23iL7LHxgc9CR9V1~daY54s3yfj$FuK_k%Dpj)8ZpgW-NL2IC&KEvU#(9ONg7jO7{Y>W0y4>!X>LF|JH=DSKbpIc2lTrkjBWoaq_2-0S4t{S9Ex60`sS literal 3702 zcma)<&ug4T7{@2cW}Eu+RVuW%1qCmnyU}U|4~-2aDnhn7=rOB#t7|veWwSZtRHJwz!e2=$=f&&)i#voEvNw>)`fp5MP_W?OU4-6wcZ z@YI5Hi^6=jL_B%Fb8CVpw7(+k8uJDJ;Mbb-g~VM=d$2oLEZkl%jlWEd&J|*`J?t#f9zdz!Pk4O^Q*5Bz3~wHK`(v3 z8tO~JJHc8qfw$ysh~(&{+jPYPk^hYfiw#)TZ?hTpCq187*gu3|qvq%3<4AiICz=a) zwq9I^KVycN!4#_YK9Bacu%S5N`&!E%>lNtDFst8cNgd(CgXPvIJZOYPF5ZS>vh%?? zU}nI`*tsBXWZ|K|CG6|fn8b~&)#6W-&n^`6%|J_e*l&{n|`TbSL`A(Ia%PXbHY5Z2rw=6}x8W zk;!7FDr0+-O=X~wv(jF7Hg>**oJJik7(a5jX2J7R$%WtWW3T z=S?&h^LbQ4*npneKo|N^Tb-VnPvGVA`TH*U1fJ!StDldPm|}h*mQcU^yBTVfe>Vfq z-c9Of_OZ(>r@34G{ES!XN3Q8ST#NOCp4zbbAwH{q#>>^uc)8yl#>>|)^u+R;u3zBg z>lb>GuV3I<{ibb(p7>fRupBS{yCd`@|GOjb>~{zKGW+z4_|sZjzo63_VlW!M(|&y! z`vpCW!=d^JAyJW1(&ji|-{Uwq!0^iDp7ZX?9X zj}-KY3;SU92g0s6HhzOF?$nOI+oPR_qaAvZ+WF*v*m)C~Xy>tLM`+5<`!nniYgP8s z8M27*MggZL%|P%p9H@N?g);n zK{V+R!6`vQ@VMYf!D+z@f^&kG1#Q9Wf=$8Of`MS89BqvDc6Q1wccI)J^@ruk#Zft2 zEqk4PcWzjAMx|Tpj$Yh! zSlYV1R}Q0*7Bc6D{juCD-Cj=tywTY$-KalsyMykfvK7#BKu-tsOhBgtdN!cv0y-1W T^8vM*5l1_%Wp}aH8J6x}2JGCK3^nMu<@_PH2=ibr7@q0*Rq7Fz^|Cf|*Y+ zFkmKOt@CKErXH2(&C1?qKh}Pn+glKk2q*yMoJby$zuTh79q}uUZ4Yimb`iZ^0 z2`OdlO!eBn8B2w-&-Pi{cCYrXe2*`_o{dlbug7lY`mXmK z&hLAlz;N6N|Bu=Ic2kRVGHywp zNY3j10#K(J_~I|RmG-->wZn1Q8}jd-uJr1My*=w#P}-O`_kqC&U*ue}(9+rF+Tn~; zj>Y`9JnpOWtW|l4kG`dL@Uz$Kcax8va=~{j@)d!e=5@x_$Ch$2E9(?7FMjJDir5t$ z3t=156OM@w8$RklTWE)vOGoBN|7d*mT!q1o?R-8$UR}H4;OM0)37-FL>)BDFx;=$7|v5#~_ zKbEFu+Vz~%+Pc*!{Z8|MozCT0&-FaT9+V5%ImrbHHGh$uQV{@RPQZk2XzFdUYByV2Vz TZGCjN+&*8aSsM;EZjS9YMX`7> diff --git a/scripts/Units/armmanni.bos b/scripts/Units/armmanni.bos index 4c373581539..dc2671de1ea 100644 --- a/scripts/Units/armmanni.bos +++ b/scripts/Units/armmanni.bos @@ -1,5 +1,7 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, flare, turret, sensor, sleeve; @@ -7,8 +9,9 @@ static-var restore_delay; static-var out_of_arc_count; // Signal definitions -#define SIGNAL_MOVE 1 -#define SIGNAL_AIM1 256 +#define SIG_AIM 2 + + #define BASEPIECE base @@ -16,41 +19,31 @@ static-var out_of_arc_count; //how 'heavy' the unit is, on a scale of 1-10 #define UNITSIZE 6 #define MAXTILT 100 -#define RECOIL_POWER 100000 -#include "../unit_hitbyweaponid_and_smoke.h" - -#define TB_BASE base -#define TB_TURNRATE <8.0> -#define TB_TILT_X <0.20> -#define TB_BANK_Z <0.20> // Do not define this if you dont want banking -#include "../tilt_bank_mobileunit.h" +#include "unit_hitbyweaponid_and_smoke.h" +RockUnit(anglex, anglez) +{ + turn base to x-axis anglex speed <50.010989>; + turn base to z-axis <0> - anglez speed <50.010989>; + wait-for-turn base around z-axis; + wait-for-turn base around x-axis; + turn base to z-axis <0.000000> speed <20.000000>; + turn base to x-axis <0.000000> speed <20.000000>; + return (0); +} Create() { hide flare; restore_delay = 3000; out_of_arc_count = 0; - call-script TB_Init(); -} -StartMoving(reversing) -{ - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; - START_TILTBANK; -} - -StopMoving() -{ - signal SIGNAL_MOVE; - STOP_TILTBANK; + return (0); } - -SetMaxReloadTime(reloadMS) +SetMaxReloadTime(Func_Var_1) { - restore_delay = reloadMS * 4; + restore_delay = Func_Var_1 * 4; return (0); } @@ -60,8 +53,8 @@ ExecuteRestoreAfterDelay() if (Stunned) { return (1); } - turn turret to y-axis <0.0> speed <50.010989>; - turn sleeve to x-axis <0.0> speed <50.010989>; + turn turret to y-axis <0.000000> speed <50.010989>; + turn sleeve to x-axis <0.000000> speed <50.010989>; } SetStunned(State) { @@ -76,10 +69,10 @@ RestoreAfterDelay() start-script ExecuteRestoreAfterDelay(); } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; // out of firing arc aim calls happen during "preaiming" logic // logic to reset gun to neutral if the target heading has been @@ -98,32 +91,36 @@ AimWeapon1(heading, pitch) out_of_arc_count = 0; turn turret to y-axis heading speed <50.010989>; - turn sleeve to x-axis <0.0> - pitch speed <50.010989>; + turn sleeve to x-axis <0.000000> - pitch speed <50.010989>; wait-for-turn turret around y-axis; wait-for-turn sleeve around x-axis; start-script RestoreAfterDelay(); return (1); } -FireWeapon1() +FirePrimary() { sleep 150; return (0); } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = flare; + piecenum = flare; return (0); } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = sleeve; + piecenum = sleeve; return (0); } - +SweetSpot(piecenum) +{ + piecenum = base; + return (0); +} Killed(severity, corpsetype) { @@ -133,6 +130,7 @@ Killed(severity, corpsetype) explode base type BITMAPONLY | NOHEATCLOUD; explode turret type BITMAPONLY | NOHEATCLOUD; explode sleeve type BITMAPONLY | NOHEATCLOUD; + //explode flare type BITMAPONLY | NOHEATCLOUD; explode sensor type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } @@ -142,6 +140,7 @@ Killed(severity, corpsetype) explode base type BITMAPONLY | NOHEATCLOUD; explode turret type FIRE | SMOKE | FALL | NOHEATCLOUD; explode sleeve type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare type FIRE | SMOKE | FALL | NOHEATCLOUD; explode sensor type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } @@ -151,6 +150,7 @@ Killed(severity, corpsetype) explode base type BITMAPONLY | NOHEATCLOUD; explode turret type FIRE | SMOKE | FALL | NOHEATCLOUD; explode sleeve type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode flare type SMOKE | FALL | NOHEATCLOUD; explode sensor type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } @@ -158,6 +158,7 @@ Killed(severity, corpsetype) explode base type BITMAPONLY | NOHEATCLOUD; explode turret type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode sleeve type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode sensor type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/armmanni.cob b/scripts/Units/armmanni.cob index 71e7854a4507f0492431e109afd1ba570456789f..3356e38690616d64eae6f3def36a71177df6b1c2 100644 GIT binary patch literal 3023 zcmcImziU%b6h2AQC>8V-9CQ$ZbrcK*L2zlS7DbfUDB_^>+1x^Cew3G&+H65_5_J#+ z5w+;zq>F=ygKqr?+?@OiinCC^@4kCpE@@L5sROzmR}28Q3+JwbhqBNI?Ro(mokOyVZHp_O&Ip7f*jdW*g_7 zdDLDgEq|!1H3romrGMt?xdLHXRm1=0eZxjE;{!Y&Yq#;Mlv6n$_KBUKHI0i z`GNU-C_EIE!&4qCfM|#xuD|`$7M$(1*67K6DAAgp19?MDZ_S{Y0RZL;?e%svSZu|Vm6!W8( zZqiQ${jf*2#Td&+knqQ|Z%f{xNnA+dfP3hj{CV~7-5_rJ_fC1{-f0ZaJ$*jdk5>3e z`v;diKc^C0YCk$7_0xC8c6R39$bLTGXnvc7hau5Fe{_T6z^*@fn%)|P;|8Dvp zrVqW>Ffn_5-v#pG?pt#Awfy|Y`|7=SGb_EX#@I!1Gu=&m|ExLBVea>@bu~`quzm0K zy*cLFz*}G)_zi3VV_53rz$9=McnCZKo&hg`cL4wI`~&3icj_>33^)Ot2Cf3PfF)oB zxDPx9UIXuekH9D33-BFS2QF6Qna)iUE;k!et~Zy=jYc*0wU;U~*IZb#>T{6^V);3W`AK)_^HB-OxJ%fzP%~&p1Yc*uO8@7xr*22h0+>Rm>OUpD`%}81`V^)m( E1wA3*oB#j- literal 3456 zcmb7G&ud&&6h1SVPOw^dii>tp7*up4^5V*kn2BvMmOxD+>ZPYtU5q2fOk2zOA(_Rw zq?vkItkYbH$FmgTVbQu`JFPX;v=ZznvzWy3;IzkRSeaJRIqix11A}x#YcOo|p)XCD z&(`C8C;qf!z4ZMQEZ5JlG6wTo%=#*+KO?h+=}g<$hW@PCdf$bTIk~rf)oUh(LmGr$ zux6fzB>qgym#d@=t?7;S1XsOh$LZ*5wQ?qH7AQOTyrH^B_*s7pi^=Fu8Rw7vBbItR z?y2J)Xo2Cr#XaVpJt52ZT&e4l2{Us)$SAT|kK@OF8Z*q~Veq5Oau|+rjzn*m=9S?0 zF!(hH_{h(kEVh$>g1i~Y)?Ar9IKHm?j3E2J+9Tx zCSI*3_V$a=+p{4ibv8e&lsWA_vy3>u&8D3*?fn_~d#E#p*`por813vXGOYD)8G&P+ z-p86BV==zQ?D+VHH{po6CZ?lDzy=@k4{yRa*u)t0T%os>_1J7CuYeCZskd5)OYM68 z-MWDdbKFK_V$An2+~tW|^JuIv2P;@4x( zibs3)evC2n+ve&x-ElP;F2>Qi@gCKC!}@txYiM`!7C@MR9~0>$++E zH7v}}T;rSve&$XwDEfC23xDI<13ne<{HNI1-B&+?-}cyrJkHVbtNt$L81LF+vPIaX zz_J&<-M~YPbf=H@1NYEoDb{K4=!>`JttZrBHCYVq*+0V}IOl1-rHx|1ou{4k8IwQu zAwQA(|5boL!H-@t=a&?smxiZ)2jcGnO=CUdPt)@ZtQN*TL*I_?%hxE3GS)zUuG}AB zm1KT=Uu~~_i1f@$`)`9i--mHeP*qV!o^yk2 zSJqs$R_zRjt}p*pcJnQdaX~KRr8EA$9ajeM3j&)9Wiht9m=6Ys^>H?Ga%GT}PO6=< Rbd`+Ua8#5s8aQ{&$-iaR63GAn diff --git a/scripts/Units/armmar.bos b/scripts/Units/armmar.bos index 6bd7c426cb8..f13d085f107 100644 --- a/scripts/Units/armmar.bos +++ b/scripts/Units/armmar.bos @@ -1,19 +1,21 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" -piece pelvis, torso, rthigh, lthigh, lleg, rleg, rfoot,lfoot, luparm, ruparm, lcannon, rcannon, lflare, rflare, lturbfx, rturbfx, lflareaa, rflareaa, aimx1, aimy1, raaturret, laaturret, laacannon, raacannon, llfinger, lrfinger, rlfinger, rrfinger, lturbine, rturbine; +piece pelvis, torso, rthigh, lthigh, lleg, rleg, rfoot,lfoot, luparm, ruparm, lcannon, rcannon, lflare, rflare, lturbfx, lflareaa, rturbfx, rflareaa, aimx1, aimy1, raaturret, laaturret, laacannon, raacannon, llfinger, lrfinger, rlfinger, rrfinger, lturbine, rturbine; -static-var isAiming, restore_delay, gun_primary, gun_2, wpn1_lasthead, wpn2_lasthead, secondary_deployed; +static-var bAiming, restore_delay, gun_primary, gun_2, wpn1_lasthead, wpn2_lasthead, secondary_deployed; static-var last_primary_heading, last_primary_pitch, last_secondary_heading, last_secondary_pitch; // Signal definitions -#define SIGNAL_AIM1 256 -#define SIGNAL_AIM2 512 +#define SIG_AIM 2 +#define SIG_AIM_2 8 // For N:\animations\Raptors\armmar_walk_v2.blend Created by https://github.com/Beherith/Skeletor_S3O V((0, 3, 7)) // this animation uses the static-var animFramesPerKeyframe which contains how many frames each keyframe takes -static-var animSpeed, maxSpeed, animFramesPerKeyframe, isMoving; +static-var animSpeed, maxSpeed, animFramesPerKeyframe, bMoving; static-var walkCount; -#define SIGNAL_MOVE 1 +#define SIG_WALK 4 LOLEMPTYFUNCTION(){ // Ok let me tell you what wierd error this script has, which is probably an error of scriptor. @@ -30,46 +32,46 @@ lua_UnitScriptDecal(lightIndex, xpos,zpos, heading) StopWalking() { animSpeed = 1; // tune restore speed here, higher values are slower restore speeds - move llfinger to y-axis [0.0] speed [22.593379] / animSpeed; - move lrfinger to y-axis [0.0] speed [22.593379] / animSpeed; - move pelvis to x-axis [0.0] speed [95.224223] / animSpeed; - move pelvis to y-axis [0.0] speed [71.680188] / animSpeed; - move pelvis to z-axis [0.0] speed [34.333324] / animSpeed; - move rlfinger to y-axis [0.0] speed [22.593379] / animSpeed; - move rrfinger to y-axis [0.0] speed [22.593331] / animSpeed; - turn lfoot to x-axis <0.0> speed <1715.941456> / animSpeed; - turn lfoot to y-axis <0.0> speed <69.394246> / animSpeed; - turn lfoot to z-axis <0.0> speed <278.816078> / animSpeed; - turn lleg to x-axis <0.0> speed <2596.107306> / animSpeed; - turn lleg to y-axis <0.0> speed <71.056270> / animSpeed; - turn lleg to z-axis <0.0> speed <213.986681> / animSpeed; - turn llfinger to x-axis <0.0> speed <858.497405> / animSpeed; - turn lrfinger to x-axis <0.0> speed <858.497405> / animSpeed; - turn lthigh to x-axis <0.0> speed <1927.200029> / animSpeed; - turn lthigh to y-axis <0.0> speed <258.965182> / animSpeed; - turn lthigh to z-axis <0.0> speed <353.003809> / animSpeed; - turn luparm to x-axis <0.0> speed <2135.376511> / animSpeed; - turn pelvis to x-axis <0.0> speed <165.869191> / animSpeed; - turn rfoot to x-axis <0.0> speed <1724.294730> / animSpeed; - turn rfoot to y-axis <0.0> speed <88.715494> / animSpeed; - turn rfoot to z-axis <0.0> speed <263.237059> / animSpeed; - turn rleg to x-axis <0.0> speed <2541.928708> / animSpeed; - turn rleg to y-axis <0.0> speed <79.441837> / animSpeed; - turn rleg to z-axis <0.0> speed <202.299995> / animSpeed; - turn rlfinger to x-axis <0.0> speed <858.497405> / animSpeed; - turn rrfinger to x-axis <0.0> speed <858.497405> / animSpeed; - turn rthigh to x-axis <0.0> speed <1907.148899> / animSpeed; - turn rthigh to y-axis <0.0> speed <236.502842> / animSpeed; - turn rthigh to z-axis <0.0> speed <356.179619> / animSpeed; - turn ruparm to x-axis <0.0> speed <2135.376511> / animSpeed; - //turn torso to y-axis <0.0> speed <99.999999> / animSpeed; + move llfinger to y-axis [0.000000] speed [22.593379] / animSpeed; + move lrfinger to y-axis [0.000000] speed [22.593379] / animSpeed; + move pelvis to x-axis [0.000000] speed [95.224223] / animSpeed; + move pelvis to y-axis [0.000000] speed [71.680188] / animSpeed; + move pelvis to z-axis [0.000000] speed [34.333324] / animSpeed; + move rlfinger to y-axis [0.000000] speed [22.593379] / animSpeed; + move rrfinger to y-axis [0.000000] speed [22.593331] / animSpeed; + turn lfoot to x-axis <0.000000> speed <1715.941456> / animSpeed; + turn lfoot to y-axis <0.000000> speed <69.394246> / animSpeed; + turn lfoot to z-axis <0.000000> speed <278.816078> / animSpeed; + turn lleg to x-axis <0.000000> speed <2596.107306> / animSpeed; + turn lleg to y-axis <0.000000> speed <71.056270> / animSpeed; + turn lleg to z-axis <0.000000> speed <213.986681> / animSpeed; + turn llfinger to x-axis <0.000000> speed <858.497405> / animSpeed; + turn lrfinger to x-axis <0.000000> speed <858.497405> / animSpeed; + turn lthigh to x-axis <0.000000> speed <1927.200029> / animSpeed; + turn lthigh to y-axis <0.000000> speed <258.965182> / animSpeed; + turn lthigh to z-axis <0.000000> speed <353.003809> / animSpeed; + turn luparm to x-axis <0.000000> speed <2135.376511> / animSpeed; + turn pelvis to x-axis <0.000000> speed <165.869191> / animSpeed; + turn rfoot to x-axis <0.000000> speed <1724.294730> / animSpeed; + turn rfoot to y-axis <0.000000> speed <88.715494> / animSpeed; + turn rfoot to z-axis <0.000000> speed <263.237059> / animSpeed; + turn rleg to x-axis <0.000000> speed <2541.928708> / animSpeed; + turn rleg to y-axis <0.000000> speed <79.441837> / animSpeed; + turn rleg to z-axis <0.000000> speed <202.299995> / animSpeed; + turn rlfinger to x-axis <0.000000> speed <858.497405> / animSpeed; + turn rrfinger to x-axis <0.000000> speed <858.497405> / animSpeed; + turn rthigh to x-axis <0.000000> speed <1907.148899> / animSpeed; + turn rthigh to y-axis <0.000000> speed <236.502842> / animSpeed; + turn rthigh to z-axis <0.000000> speed <356.179619> / animSpeed; + turn ruparm to x-axis <0.000000> speed <2135.376511> / animSpeed; + //turn torso to y-axis <0.000000> speed <99.999999> / animSpeed; } Walk(calledfrom) {// For N:\animations\Raptors\armmar_walk_v2.blend Created by https://github.com/Beherith/Skeletor_S3O V((0, 3, 7)) - set-signal-mask SIGNAL_MOVE; + set-signal-mask SIG_WALK; walkCount = walkCount + 1; - if (isMoving) { //Frame:6 + if (bMoving) { //Frame:6 turn lfoot to x-axis <-33.421407> speed <1002.642225> / animSpeed; //delta=33.42 turn lfoot to z-axis <1.015298> speed <30.458947> / animSpeed; //delta=-1.02 turn lfoot to y-axis <0.359345> speed <10.780340> / animSpeed; //delta=0.36 @@ -85,13 +87,13 @@ Walk(calledfrom) {// For N:\animations\Raptors\armmar_walk_v2.blend Created by h turn rleg to z-axis <-0.178733> speed <5.361985> / animSpeed; //delta=0.18 turn rthigh to x-axis <-27.915586> speed <837.467549> / animSpeed; //delta=27.92 turn rthigh to z-axis <0.101079> speed <3.032368> / animSpeed; //delta=-0.10 - //turn torso to y-axis <-2.0> speed <60.0> / animSpeed; //delta=-2.00 + //turn torso to y-axis <-2.000000> speed <60.000000> / animSpeed; //delta=-2.00 sleep ((33*animSpeed) -1); } - while(isMoving) { + while(bMoving) { //get PRINT (get GAME_FRAME, 666,calledfrom,walkCount); - if (isMoving) { //Frame:12 + if (bMoving) { //Frame:12 call-script lua_UnitScriptDecal(1, (get PIECE_XZ(lfoot) & 0xffff0000) / 0x00010000 , (get PIECE_XZ(lfoot) & 0x0000ffff), get HEADING(0)); turn lfoot to x-axis <-32.878383> speed <16.290718> / animSpeed; //delta=-0.54 turn lfoot to z-axis <3.346333> speed <69.931035> / animSpeed; //delta=-2.33 @@ -122,17 +124,17 @@ Walk(calledfrom) {// For N:\animations\Raptors\armmar_walk_v2.blend Created by h turn rthigh to x-axis <-66.058564> speed <1144.289339> / animSpeed; //delta=38.14 turn rthigh to z-axis <-5.781383> speed <176.473854> / animSpeed; //delta=5.88 turn rthigh to y-axis <-4.664701> speed <141.901705> / animSpeed; //delta=-4.73 - //turn torso to y-axis <-3.0> speed <29.999997> / animSpeed; //delta=-1.00 + //turn torso to y-axis <-3.000000> speed <29.999997> / animSpeed; //delta=-1.00 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:18 + if (bMoving) { //Frame:18 turn lfoot to x-axis <-15.502255> speed <521.283828> / animSpeed; //delta=-17.38 turn lfoot to z-axis <4.957686> speed <48.340598> / animSpeed; //delta=-1.61 turn lleg to x-axis <-10.015493> speed <1557.664383> / animSpeed; //delta=51.92 turn lleg to z-axis <0.528922> speed <128.392009> / animSpeed; //delta=-4.28 turn lleg to y-axis <-0.585641> speed <36.115120> / animSpeed; //delta=-1.20 - turn llfinger to x-axis <-0.0> speed <515.098443> / animSpeed; //delta=-17.17 - turn lrfinger to x-axis <-0.0> speed <515.098443> / animSpeed; //delta=-17.17 + turn llfinger to x-axis <-0.000000> speed <515.098443> / animSpeed; //delta=-17.17 + turn lrfinger to x-axis <-0.000000> speed <515.098443> / animSpeed; //delta=-17.17 turn lthigh to x-axis <29.765326> speed <331.273259> / animSpeed; //delta=-11.04 turn lthigh to z-axis <-6.228121> speed <184.508293> / animSpeed; //delta=6.15 turn lthigh to y-axis <2.141317> speed <44.066754> / animSpeed; //delta=1.47 @@ -146,18 +148,18 @@ Walk(calledfrom) {// For N:\animations\Raptors\armmar_walk_v2.blend Created by h turn rfoot to y-axis <-1.055618> speed <30.335888> / animSpeed; //delta=-1.01 turn rleg to x-axis <1.204045> speed <1286.462204> / animSpeed; //delta=42.88 turn rleg to z-axis <0.170264> speed <66.039683> / animSpeed; //delta=2.20 - move rlfinger to y-axis [0.0] speed [11.280637] / animSpeed; //delta=0.38 - turn rlfinger to x-axis <-0.0> speed <426.972815> / animSpeed; //delta=14.23 - move rrfinger to y-axis [0.0] speed [11.280637] / animSpeed; //delta=-0.38 - turn rrfinger to x-axis <-0.0> speed <426.972815> / animSpeed; //delta=14.23 + move rlfinger to y-axis [0.000000] speed [11.280637] / animSpeed; //delta=0.38 + turn rlfinger to x-axis <-0.000000> speed <426.972815> / animSpeed; //delta=14.23 + move rrfinger to y-axis [0.000000] speed [11.280637] / animSpeed; //delta=-0.38 + turn rrfinger to x-axis <-0.000000> speed <426.972815> / animSpeed; //delta=14.23 turn rthigh to x-axis <-29.186467> speed <1106.162899> / animSpeed; //delta=-36.87 turn rthigh to z-axis <-4.781649> speed <29.992031> / animSpeed; //delta=-1.00 turn rthigh to y-axis <-1.463864> speed <96.025107> / animSpeed; //delta=3.20 turn ruparm to x-axis <3.500000> speed <104.999994> / animSpeed; //delta=-3.50 - //turn torso to y-axis <-2.0> speed <29.999997> / animSpeed; //delta=1.00 + //turn torso to y-axis <-2.000000> speed <29.999997> / animSpeed; //delta=1.00 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:24 + if (bMoving) { //Frame:24 turn lfoot to x-axis <9.713428> speed <756.470490> / animSpeed; //delta=-25.22 turn lfoot to z-axis <0.880840> speed <122.305374> / animSpeed; //delta=4.08 turn lfoot to y-axis <-0.420355> speed <41.636547> / animSpeed; //delta=-1.39 @@ -186,27 +188,27 @@ Walk(calledfrom) {// For N:\animations\Raptors\armmar_walk_v2.blend Created by h turn rthigh to z-axis <-1.303061> speed <104.357615> / animSpeed; //delta=-3.48 turn rthigh to y-axis <0.015171> speed <44.371058> / animSpeed; //delta=1.48 turn ruparm to x-axis <0.907407> speed <77.777770> / animSpeed; //delta=2.59 - //turn torso to y-axis <0.0> speed <60.0> / animSpeed; //delta=2.00 + //turn torso to y-axis <0.000000> speed <60.000000> / animSpeed; //delta=2.00 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:30 + if (bMoving) { //Frame:30 turn lfoot to x-axis <17.606484> speed <236.791688> / animSpeed; //delta=-7.89 turn lfoot to z-axis <-0.007676> speed <26.655475> / animSpeed; //delta=0.89 turn lfoot to y-axis <0.249674> speed <20.100876> / animSpeed; //delta=0.67 turn lleg to x-axis <-5.164051> speed <597.654184> / animSpeed; //delta=-19.92 turn lleg to z-axis <0.344794> speed <40.707797> / animSpeed; //delta=1.36 turn lleg to y-axis <-0.382764> speed <36.547463> / animSpeed; //delta=-1.22 - move llfinger to y-axis [0.0] speed [9.161981] / animSpeed; //delta=-0.31 - turn llfinger to x-axis <-0.0> speed <169.782781> / animSpeed; //delta=5.66 - move lrfinger to y-axis [0.0] speed [9.161981] / animSpeed; //delta=-0.31 - turn lrfinger to x-axis <-0.0> speed <169.782781> / animSpeed; //delta=5.66 + move llfinger to y-axis [0.000000] speed [9.161981] / animSpeed; //delta=-0.31 + turn llfinger to x-axis <-0.000000> speed <169.782781> / animSpeed; //delta=5.66 + move lrfinger to y-axis [0.000000] speed [9.161981] / animSpeed; //delta=-0.31 + turn lrfinger to x-axis <-0.000000> speed <169.782781> / animSpeed; //delta=5.66 turn lthigh to x-axis <-27.448044> speed <1072.092131> / animSpeed; //delta=35.74 turn lthigh to z-axis <-0.271739> speed <60.400253> / animSpeed; //delta=-2.01 turn lthigh to y-axis <0.187941> speed <9.535244> / animSpeed; //delta=-0.32 turn luparm to x-axis <0.113426> speed <23.819447> / animSpeed; //delta=0.79 - move pelvis to x-axis [0.0] speed [21.195070] / animSpeed; //delta=-0.71 - move pelvis to z-axis [0.0] speed [10.299997] / animSpeed; //delta=-0.34 - move pelvis to y-axis [0.0] speed [21.504056] / animSpeed; //delta=0.72 + move pelvis to x-axis [0.000000] speed [21.195070] / animSpeed; //delta=-0.71 + move pelvis to z-axis [0.000000] speed [10.299997] / animSpeed; //delta=-0.34 + move pelvis to y-axis [0.000000] speed [21.504056] / animSpeed; //delta=0.72 turn pelvis to x-axis <-0.526951> speed <46.297983> / animSpeed; //delta=1.54 turn rfoot to x-axis <-33.370918> speed <1034.576838> / animSpeed; //delta=34.49 turn rfoot to z-axis <-0.997578> speed <76.709628> / animSpeed; //delta=2.56 @@ -218,10 +220,10 @@ Walk(calledfrom) {// For N:\animations\Raptors\armmar_walk_v2.blend Created by h turn rthigh to z-axis <-0.886431> speed <12.498900> / animSpeed; //delta=-0.42 turn rthigh to y-axis <-0.127641> speed <4.284351> / animSpeed; //delta=-0.14 turn ruparm to x-axis <0.113426> speed <23.819447> / animSpeed; //delta=0.79 - //turn torso to y-axis <2.0> speed <60.0> / animSpeed; //delta=2.00 + //turn torso to y-axis <2.000000> speed <60.000000> / animSpeed; //delta=2.00 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:36 + if (bMoving) { //Frame:36 call-script lua_UnitScriptDecal(1, (get PIECE_XZ(rfoot) & 0xffff0000) / 0x00010000 , (get PIECE_XZ(rfoot) & 0x0000ffff), get HEADING(0)); turn lfoot to x-axis <5.121553> speed <374.547929> / animSpeed; //delta=12.48 turn lfoot to y-axis <0.017987> speed <6.950602> / animSpeed; //delta=-0.23 @@ -234,7 +236,7 @@ Walk(calledfrom) {// For N:\animations\Raptors\armmar_walk_v2.blend Created by h turn lthigh to x-axis <-65.992045> speed <1156.320017> / animSpeed; //delta=38.54 turn lthigh to z-axis <6.788337> speed <211.802285> / animSpeed; //delta=-7.06 turn lthigh to y-axis <5.367245> speed <155.379109> / animSpeed; //delta=5.18 - turn luparm to x-axis <-0.0> speed <3.402778> / animSpeed; //delta=0.11 + turn luparm to x-axis <-0.000000> speed <3.402778> / animSpeed; //delta=0.11 move pelvis to x-axis [-0.952242] speed [28.567266] / animSpeed; //delta=-0.95 move pelvis to z-axis [0.336667] speed [10.099998] / animSpeed; //delta=0.34 move pelvis to y-axis [-0.595151] speed [17.854541] / animSpeed; //delta=-0.60 @@ -251,21 +253,21 @@ Walk(calledfrom) {// For N:\animations\Raptors\armmar_walk_v2.blend Created by h turn rthigh to x-axis <18.206969> speed <53.754955> / animSpeed; //delta=-1.79 turn rthigh to z-axis <0.513079> speed <41.985312> / animSpeed; //delta=-1.40 turn rthigh to y-axis <-0.695657> speed <17.040495> / animSpeed; //delta=-0.57 - turn ruparm to x-axis <-0.0> speed <3.402778> / animSpeed; //delta=0.11 - //turn torso to y-axis <3.0> speed <30.0> / animSpeed; //delta=1.00 + turn ruparm to x-axis <-0.000000> speed <3.402778> / animSpeed; //delta=0.11 + //turn torso to y-axis <3.000000> speed <30.000003> / animSpeed; //delta=1.00 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:42 + if (bMoving) { //Frame:42 turn lfoot to x-axis <23.230132> speed <543.257375> / animSpeed; //delta=-18.11 turn lfoot to z-axis <-5.666423> speed <167.289647> / animSpeed; //delta=5.58 turn lfoot to y-axis <1.325835> speed <39.235429> / animSpeed; //delta=1.31 turn lleg to x-axis <2.612501> speed <1261.917920> / animSpeed; //delta=42.06 turn lleg to z-axis <-0.303774> speed <67.306774> / animSpeed; //delta=-2.24 turn lleg to y-axis <-0.609498> speed <8.259873> / animSpeed; //delta=-0.28 - move llfinger to y-axis [0.0] speed [11.280637] / animSpeed; //delta=0.38 - turn llfinger to x-axis <-0.0> speed <426.972815> / animSpeed; //delta=14.23 - move lrfinger to y-axis [0.0] speed [11.280637] / animSpeed; //delta=0.38 - turn lrfinger to x-axis <-0.0> speed <426.972815> / animSpeed; //delta=14.23 + move llfinger to y-axis [0.000000] speed [11.280637] / animSpeed; //delta=0.38 + turn llfinger to x-axis <-0.000000> speed <426.972815> / animSpeed; //delta=14.23 + move lrfinger to y-axis [0.000000] speed [11.280637] / animSpeed; //delta=0.38 + turn lrfinger to x-axis <-0.000000> speed <426.972815> / animSpeed; //delta=14.23 turn lthigh to x-axis <-29.951397> speed <1081.219424> / animSpeed; //delta=-36.04 turn lthigh to z-axis <6.483765> speed <9.137141> / animSpeed; //delta=0.30 turn lthigh to y-axis <2.040739> speed <99.795179> / animSpeed; //delta=-3.33 @@ -279,16 +281,16 @@ Walk(calledfrom) {// For N:\animations\Raptors\armmar_walk_v2.blend Created by h turn rleg to x-axis <-7.717104> speed <1525.157225> / animSpeed; //delta=50.84 turn rleg to z-axis <-0.266482> speed <121.379997> / animSpeed; //delta=4.05 turn rleg to y-axis <0.601457> speed <26.558338> / animSpeed; //delta=0.89 - turn rlfinger to x-axis <-0.0> speed <515.098443> / animSpeed; //delta=-17.17 - turn rrfinger to x-axis <-0.0> speed <515.098443> / animSpeed; //delta=-17.17 + turn rlfinger to x-axis <-0.000000> speed <515.098443> / animSpeed; //delta=-17.17 + turn rrfinger to x-axis <-0.000000> speed <515.098443> / animSpeed; //delta=-17.17 turn rthigh to x-axis <27.709505> speed <285.076096> / animSpeed; //delta=-9.50 turn rthigh to z-axis <7.636671> speed <213.707771> / animSpeed; //delta=-7.12 turn rthigh to y-axis <-2.321986> speed <48.789869> / animSpeed; //delta=-1.63 turn ruparm to x-axis <3.700000> speed <110.999991> / animSpeed; //delta=-3.70 - //turn torso to y-axis <2.0> speed <30.0> / animSpeed; //delta=-1.00 + //turn torso to y-axis <2.000000> speed <30.000003> / animSpeed; //delta=-1.00 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:48 + if (bMoving) { //Frame:48 turn lfoot to x-axis <0.897423> speed <669.981296> / animSpeed; //delta=22.33 turn lfoot to z-axis <-2.030338> speed <109.082554> / animSpeed; //delta=-3.64 turn lfoot to y-axis <0.017369> speed <39.253973> / animSpeed; //delta=-1.31 @@ -317,10 +319,10 @@ Walk(calledfrom) {// For N:\animations\Raptors\armmar_walk_v2.blend Created by h turn rthigh to z-axis <2.764849> speed <146.154659> / animSpeed; //delta=4.87 turn rthigh to y-axis <-0.514051> speed <54.238057> / animSpeed; //delta=1.81 turn ruparm to x-axis <1.850000> speed <55.499996> / animSpeed; //delta=1.85 - //turn torso to y-axis <0.0> speed <60.0> / animSpeed; //delta=-2.00 + //turn torso to y-axis <0.000000> speed <60.000000> / animSpeed; //delta=-2.00 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:54 + if (bMoving) { //Frame:54 turn lfoot to x-axis <-33.421407> speed <1029.564874> / animSpeed; //delta=34.32 turn lfoot to z-axis <1.015298> speed <91.369073> / animSpeed; //delta=-3.05 turn lfoot to y-axis <0.359345> speed <10.259268> / animSpeed; //delta=0.34 @@ -330,39 +332,39 @@ Walk(calledfrom) {// For N:\animations\Raptors\armmar_walk_v2.blend Created by h turn lthigh to x-axis <15.826506> speed <447.925621> / animSpeed; //delta=-14.93 turn lthigh to z-axis <0.888701> speed <27.766262> / animSpeed; //delta=0.93 turn lthigh to y-axis <0.130568> speed <4.234407> / animSpeed; //delta=0.14 - turn luparm to x-axis <-0.0> speed <55.499996> / animSpeed; //delta=1.85 - move pelvis to x-axis [0.0] speed [28.567268] / animSpeed; //delta=0.95 - move pelvis to z-axis [0.0] speed [10.099998] / animSpeed; //delta=-0.34 - move pelvis to y-axis [0.0] speed [17.854539] / animSpeed; //delta=0.60 - turn pelvis to x-axis <-0.0> speed <44.491240> / animSpeed; //delta=1.48 + turn luparm to x-axis <-0.000000> speed <55.499996> / animSpeed; //delta=1.85 + move pelvis to x-axis [0.000000] speed [28.567268] / animSpeed; //delta=0.95 + move pelvis to z-axis [0.000000] speed [10.099998] / animSpeed; //delta=-0.34 + move pelvis to y-axis [0.000000] speed [17.854539] / animSpeed; //delta=0.60 + turn pelvis to x-axis <-0.000000> speed <44.491240> / animSpeed; //delta=1.48 turn rfoot to x-axis <17.584553> speed <247.699252> / animSpeed; //delta=-8.26 turn rfoot to z-axis <0.114251> speed <46.088501> / animSpeed; //delta=-1.54 turn rfoot to y-axis <-0.044983> speed <15.813111> / animSpeed; //delta=-0.53 turn rleg to x-axis <-5.199154> speed <574.116643> / animSpeed; //delta=-19.14 turn rleg to z-axis <-0.178733> speed <44.799446> / animSpeed; //delta=-1.49 turn rleg to y-axis <-0.053655> speed <28.011730> / animSpeed; //delta=0.93 - move rlfinger to y-axis [0.0] speed [9.161981] / animSpeed; //delta=-0.31 - turn rlfinger to x-axis <-0.0> speed <169.782781> / animSpeed; //delta=5.66 - move rrfinger to y-axis [0.0] speed [9.161952] / animSpeed; //delta=0.31 - turn rrfinger to x-axis <-0.0> speed <169.782781> / animSpeed; //delta=5.66 + move rlfinger to y-axis [0.000000] speed [9.161981] / animSpeed; //delta=-0.31 + turn rlfinger to x-axis <-0.000000> speed <169.782781> / animSpeed; //delta=5.66 + move rrfinger to y-axis [0.000000] speed [9.161952] / animSpeed; //delta=0.31 + turn rrfinger to x-axis <-0.000000> speed <169.782781> / animSpeed; //delta=5.66 turn rthigh to x-axis <-27.915586> speed <1061.249368> / animSpeed; //delta=35.37 turn rthigh to z-axis <0.101079> speed <79.913116> / animSpeed; //delta=2.66 turn rthigh to y-axis <0.065356> speed <17.382199> / animSpeed; //delta=0.58 - turn ruparm to x-axis <-0.0> speed <55.499996> / animSpeed; //delta=1.85 - //turn torso to y-axis <-2.0> speed <60.0> / animSpeed; //delta=-2.00 + turn ruparm to x-axis <-0.000000> speed <55.499996> / animSpeed; //delta=1.85 + //turn torso to y-axis <-2.000000> speed <60.000000> / animSpeed; //delta=-2.00 sleep ((33*animSpeed) -1); } } } -// Call this from StopMoving()! +// Call this from MotionControl()! Swim() {// For N:\animations\Raptors\armmar_enterwater_v2.blend Created by https://github.com/Beherith/Skeletor_S3O V((0, 3, 7)) - set-signal-mask SIGNAL_MOVE; + set-signal-mask SIG_WALK; //get PRINT (get GAME_FRAME, 777); - if (isMoving) { //Frame:6 + if (bMoving) { //Frame:6 - if (isMoving) { //Frame:30 + if (bMoving) { //Frame:30 spin lturbine around z-axis speed <-270>; spin rturbine around z-axis speed <270>; @@ -398,26 +400,26 @@ StopSwimming() { animSpeed = 5; // tune restore speed here, higher values are slower restore speeds stop-spin lturbine around z-axis; stop-spin rturbine around z-axis; - turn lfoot to x-axis <0.0> speed <1392.238367> / animSpeed; - turn lfoot to y-axis <0.0> speed <251.900728> / animSpeed; - turn lfoot to z-axis <0.0> speed <243.742216> / animSpeed; - turn lleg to x-axis <0.0> speed <705.006492> / animSpeed; - turn lleg to y-axis <0.0> speed <2.084473> / animSpeed; - turn lleg to z-axis <0.0> speed <176.622427> / animSpeed; - turn lthigh to x-axis <0.0> speed <759.856081> / animSpeed; - turn lthigh to y-axis <0.0> speed <184.849123> / animSpeed; - turn lthigh to z-axis <0.0> speed <132.380827> / animSpeed; - turn luparm to x-axis <0.0> speed <2135.376511> / animSpeed; - turn rfoot to x-axis <0.0> speed <1323.670951> / animSpeed; - turn rfoot to y-axis <0.0> speed <301.349718> / animSpeed; - turn rfoot to z-axis <0.0> speed <290.628733> / animSpeed; - turn rleg to x-axis <0.0> speed <650.793829> / animSpeed; - turn rleg to y-axis <0.0> speed <12.370504> / animSpeed; - turn rleg to z-axis <0.0> speed <146.661984> / animSpeed; - turn rthigh to x-axis <0.0> speed <791.903414> / animSpeed; - turn rthigh to y-axis <0.0> speed <178.691025> / animSpeed; - turn rthigh to z-axis <0.0> speed <134.066283> / animSpeed; - turn ruparm to x-axis <0.0> speed <2135.376511> / animSpeed; + turn lfoot to x-axis <0.000000> speed <1392.238367> / animSpeed; + turn lfoot to y-axis <0.000000> speed <251.900728> / animSpeed; + turn lfoot to z-axis <0.000000> speed <243.742216> / animSpeed; + turn lleg to x-axis <0.000000> speed <705.006492> / animSpeed; + turn lleg to y-axis <0.000000> speed <2.084473> / animSpeed; + turn lleg to z-axis <0.000000> speed <176.622427> / animSpeed; + turn lthigh to x-axis <0.000000> speed <759.856081> / animSpeed; + turn lthigh to y-axis <0.000000> speed <184.849123> / animSpeed; + turn lthigh to z-axis <0.000000> speed <132.380827> / animSpeed; + turn luparm to x-axis <0.000000> speed <2135.376511> / animSpeed; + turn rfoot to x-axis <0.000000> speed <1323.670951> / animSpeed; + turn rfoot to y-axis <0.000000> speed <301.349718> / animSpeed; + turn rfoot to z-axis <0.000000> speed <290.628733> / animSpeed; + turn rleg to x-axis <0.000000> speed <650.793829> / animSpeed; + turn rleg to y-axis <0.000000> speed <12.370504> / animSpeed; + turn rleg to z-axis <0.000000> speed <146.661984> / animSpeed; + turn rthigh to x-axis <0.000000> speed <791.903414> / animSpeed; + turn rthigh to y-axis <0.000000> speed <178.691025> / animSpeed; + turn rthigh to z-axis <0.000000> speed <134.066283> / animSpeed; + turn ruparm to x-axis <0.000000> speed <2135.376511> / animSpeed; } @@ -430,21 +432,21 @@ UnitSpeed(){ var unitxz; while(TRUE){ //get PRINT(get GAME_FRAME, isSwimming); - //get PRINT ((GET UNIT_Y)/65000, isMoving, 2, 3); - if (isMoving == TRUE){ + //get PRINT ((GET UNIT_Y)/65000, bMoving, 2, 3); + if (bMoving == TRUE){ unitxz = (get UNIT_XZ); groundheight = 0; if (unitxz > 0 ){ groundheight = (get GROUND_WATER_HEIGHT(unitxz)); } - groundheight = groundheight /[1.0]; + groundheight = groundheight /[1.0000]; //groundheight = (get GROUND_WATER_HEIGHT (get UNIT_XZ))/65536; //get PRINT (groundheight, get IN_WATER, get GAME_FRAME); if (groundheight > (((-1) * 66))){ if (isSwimming == TRUE){ //get PRINT( get GAME_FRAME, 6666); - signal SIGNAL_MOVE; + signal SIG_WALK; // switch to walk call-script StopSwimming(); start-script Walk(11); @@ -458,7 +460,7 @@ UnitSpeed(){ if (isSwimming == FALSE){ //get PRINT( get GAME_FRAME, 7777); - signal SIGNAL_MOVE; + signal SIG_WALK; call-script StopWalking(); start-script Swim(); isSwimming = TRUE; @@ -476,10 +478,10 @@ UnitSpeed(){ } -StartMoving(reversing){ - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; - isMoving=TRUE; +StartMoving(){ + signal SIG_WALK; + set-signal-mask SIG_WALK; + bMoving=TRUE; //start-script UnitSpeed(); if (isSwimming == TRUE) { start-script Swim(); @@ -490,8 +492,8 @@ StartMoving(reversing){ } StopMoving(){ - signal SIGNAL_MOVE; - isMoving=FALSE; + signal SIG_WALK; + bMoving=FALSE; //if (isSwimming == TRUE ) call-script StopSwimming(); //else call-script StopWalking(); @@ -508,50 +510,50 @@ StopMoving(){ #define UNITSIZE 8 #define MAXTILT 100 -#include "../unit_hitbyweaponid_and_smoke.h" +#include "unit_hitbyweaponid_and_smoke.h" static-var Stunned; -RetractWeapon2() +RetractSecondary() { secondary_deployed = 0; - turn laaturret to y-axis 0 speed <180.0>; - turn raaturret to y-axis 0 speed <180.0>; + turn laaturret to y-axis 0 speed <180.000000>; + turn raaturret to y-axis 0 speed <180.000000>; wait-for-turn laaturret around y-axis; wait-for-turn raaturret around y-axis; - turn laacannon to x-axis <27.0> speed <108.0>; - turn raacannon to x-axis <27.0> speed <108.0>; + turn laacannon to x-axis <27.000000> speed <108.000000>; + turn raacannon to x-axis <27.000000> speed <108.000000>; wait-for-turn laacannon around x-axis; wait-for-turn raacannon around x-axis; - move laaturret to y-axis [-5.2] speed [20.0]; - move raaturret to y-axis [-5.2] speed [20.0]; + move laaturret to y-axis [-5.2] speed [20.000000]; + move raaturret to y-axis [-5.2] speed [20.000000]; wait-for-move laaturret along y-axis; wait-for-move raaturret along y-axis; } -RestoreAfterDelay_Weapon1() +RestoreAfterDelay_Primary() { - set-signal-mask SIGNAL_AIM1; + set-signal-mask SIG_AIM; sleep restore_delay; if (Stunned) { return (1); } - turn torso to y-axis 0 speed <140.0>; - turn aimx1 to x-axis <0.0> speed <360.0>; + turn torso to y-axis 0 speed <140.000000>; + turn aimx1 to x-axis <0.000000> speed <360.000000>; // set last heading values to large negative, ensure first aim waits for the turn last_primary_heading = -1000000; last_primary_pitch = -1000000; } -RestoreAfterDelay_Weapon2() +RestoreAfterDelay_Secondary() { - set-signal-mask SIGNAL_AIM2; + set-signal-mask SIG_AIM_2; sleep restore_delay; if (Stunned) { return (1); } - start-script RetractWeapon2(); + start-script RetractSecondary(); // set last heading values to large negative, ensure first aim waits for the turn last_secondary_heading = -1000000; last_secondary_pitch = -1000000; @@ -567,26 +569,26 @@ Create() hide rflareaa; hide lflareaa; hide aimy1; - isMoving = FALSE; - isAiming = FALSE; + bMoving = FALSE; + bAiming = FALSE; // set last heading values to large negative, ensure first aim waits for the turn last_primary_heading = -1000000; last_primary_pitch = -1000000; last_secondary_heading = -1000000; last_secondary_pitch = -1000000; - gun_primary = 0; - gun_2 = 0; + gun_primary = 1; + gun_2 = 1; animSpeed = 4; restore_delay = 3000; walkCount = 0; start-script UnitSpeed(); secondary_deployed = 0; - start-script RetractWeapon2(); + start-script RetractSecondary(); } -SetMaxReloadTime(reloadMS) +SetMaxReloadTime(Func_Var_1) { - restore_delay = reloadMS; + restore_delay = Func_Var_1; } @@ -595,22 +597,22 @@ SetStunned(State) { Stunned = State; if (!Stunned) { - start-script RestoreAfterDelay_Weapon1(); - start-script RestoreAfterDelay_Weapon2(); + start-script RestoreAfterDelay_Primary(); + start-script RestoreAfterDelay_Secondary(); } } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - set-signal-mask SIGNAL_AIM1; - signal SIGNAL_AIM1; + set-signal-mask SIG_AIM; + signal SIG_AIM; // values in <> are degrees per second // otherwise angles are in COB angular unit (cau) - There are 65536 cau in a circle // In general, 6 cau per frame ~= 1 degree per second - turn torso to y-axis heading speed <270.0>; //<140.0> - turn aimx1 to x-axis <0.0> - pitch speed <360.0>; + turn torso to y-axis heading speed <270.000000>; //<140.000000> + turn aimx1 to x-axis <0.000000> - pitch speed <360.000000>; // only wait-for-turn if it takes more than 3 frames to finish the turn if ( (get ABS(last_primary_heading - heading)>4860) OR (get ABS(last_primary_pitch - pitch)>6480) ) { @@ -621,19 +623,19 @@ AimWeapon1(heading, pitch) last_primary_heading = heading; last_primary_pitch = pitch; - start-script RestoreAfterDelay_Weapon1(); + start-script RestoreAfterDelay_Primary(); return (1); } -AimWeapon2(heading, pitch) +AimSecondary(heading, pitch) { - set-signal-mask SIGNAL_AIM2; - signal SIGNAL_AIM2; + set-signal-mask SIG_AIM_2; + signal SIG_AIM_2; if (secondary_deployed == 0) { - move laaturret to y-axis [0] speed [20.0]; - move raaturret to y-axis [0] speed [20.0]; + move laaturret to y-axis [0] speed [20.000000]; + move raaturret to y-axis [0] speed [20.000000]; wait-for-move laaturret along y-axis; wait-for-move raaturret along y-axis; secondary_deployed = 1; @@ -641,61 +643,104 @@ AimWeapon2(heading, pitch) } // anti-air weapon, always return true after the deploy - turn laaturret to y-axis heading speed <360.0>; - turn raaturret to y-axis heading speed <360.0>; - turn laacannon to x-axis <0.0> - pitch speed <360.0>; - turn raacannon to x-axis <0.0> - pitch speed <360.0>; + turn laaturret to y-axis heading speed <360.000000>; + turn raaturret to y-axis heading speed <360.000000>; + turn laacannon to x-axis <0.000000> - pitch speed <360.000000>; + turn raacannon to x-axis <0.000000> - pitch speed <360.000000>; - start-script RestoreAfterDelay_Weapon2(); + start-script RestoreAfterDelay_Secondary(); return (1); } -FireWeapon1() +FirePrimary() { - if( gun_primary == 0 ) + if( gun_primary == 1 ) { - emit-sfx 1024 + 0 from lflare; - move lcannon to z-axis [-3.0] speed [30.0]; + emit-sfx 1024 + 0 from lflare; + move lcannon to z-axis [-3.000000] speed [30.000000]; sleep 150; - move lcannon to z-axis [0.0] speed [3.0]; + move lcannon to z-axis [0.000000] speed [3.000000]; + } - else + if( gun_primary == 2 ) { - emit-sfx 1024 + 0 from rflare; - move rcannon to z-axis [-3.0] speed [30.0]; + emit-sfx 1024 + 0 from rflare; + move rcannon to z-axis [-3.000000] speed [30.000000]; sleep 150; - move rcannon to z-axis [0.0] speed [3.0]; + move rcannon to z-axis [0.000000] speed [3.000000]; + } + if (gun_primary == 1) + { + gun_primary = 2; + } + else + { + gun_primary = 1; } - gun_primary = !gun_primary; - } -FireWeapon2() +FireSecondary() { - gun_2 = !gun_2; + if( gun_2 == 1 ) + { + show lflareaa; + sleep 150; + hide lflareaa; + } + if( gun_2 == 2 ) + { + show rflareaa; + sleep 150; + hide rflareaa; + } + if (gun_2 == 1) + { + gun_2 = 2; + } + else + { + gun_2 = 1; + } } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = aimy1; + piecenum = aimy1; } -AimFromWeapon2(pieceIndex) +AimFromSecondary(piecenum) { - pieceIndex = aimy1; + piecenum = aimy1; } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = lflare + gun_primary; + if( gun_primary == 1 ) + { + piecenum = lflare; + } + if( gun_primary == 2 ) + { + piecenum = rflare; + } } -QueryWeapon2(pieceIndex) +QuerySecondary(piecenum) { - pieceIndex = laaturret + gun_2; + if( gun_2 == 1 ) + { + piecenum = laaturret; + } + if( gun_2 == 2 ) + { + piecenum = raaturret; + } } - +SweetSpot(piecenum) +{ + piecenum = torso; +} Killed(severity, corpsetype) { @@ -706,16 +751,16 @@ Killed(severity, corpsetype) explode rthigh type BITMAPONLY | NOHEATCLOUD; explode rleg type BITMAPONLY | NOHEATCLOUD; explode rfoot type FIRE | SMOKE | FALL | NOHEATCLOUD; - - + //explode lthigh type BITMAPONLY | NOHEATCLOUD; + //explode lleg type BITMAPONLY | NOHEATCLOUD; explode lfoot type BITMAPONLY | NOHEATCLOUD; explode torso type BITMAPONLY | NOHEATCLOUD; - - - - - - + //explode luparm type BITMAPONLY | NOHEATCLOUD; + //explode lcannon type BITMAPONLY | NOHEATCLOUD; + //explode lflare type BITMAPONLY | NOHEATCLOUD; + //explode ruparm type BITMAPONLY | NOHEATCLOUD; + //explode rcannon type BITMAPONLY | NOHEATCLOUD; + //explode rflare type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } if( severity <= 50 ) @@ -725,15 +770,15 @@ Killed(severity, corpsetype) explode rthigh type FALL | NOHEATCLOUD; explode rleg type FALL | NOHEATCLOUD; explode rfoot type FIRE | SMOKE | FALL | NOHEATCLOUD; - + //explode lthigh type FALL | NOHEATCLOUD; explode lleg type FALL | NOHEATCLOUD; explode lfoot type FIRE | SMOKE | FALL | NOHEATCLOUD; - - - - - - + //explode luparm type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lcannon type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lflare type FALL | NOHEATCLOUD; + //explode ruparm type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rcannon type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rflare type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) @@ -742,18 +787,18 @@ Killed(severity, corpsetype) explode rleg type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode rfoot type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; - + //explode lthigh type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode pelvis type FIRE | SMOKE | FALL | NOHEATCLOUD; explode rthigh type SMOKE | FALL | NOHEATCLOUD; explode rleg type FIRE | SMOKE | FALL | NOHEATCLOUD; explode rfoot type FIRE | SMOKE | FALL | NOHEATCLOUD; explode lthigh type SMOKE | FALL | NOHEATCLOUD; - + //explode lleg type SMOKE | FALL | NOHEATCLOUD; explode lfoot type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode torso type BITMAPONLY | NOHEATCLOUD; - - - - + //explode lcannon type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lflare type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode rcannon type SMOKE | FALL | NOHEATCLOUD; + //explode rflare type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; @@ -762,9 +807,9 @@ Killed(severity, corpsetype) explode lleg type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode lfoot type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode torso type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; - - - - + //explode lcannon type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode lflare type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rcannon type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rflare type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/armmar.cob b/scripts/Units/armmar.cob index f0dde3dbd9961f6c99b8c8b57c155e5dbf5386c9..38dd7afbbd2c9b4bff08572c755663cf1bfbc8ce 100644 GIT binary patch literal 19983 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 YTp`LAem__Z3;#v7Rkh}xv*Xp7er&J?tRK8? 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 speed <97.423633> / animSpeed; //delta=3.25 - turn lfoot to z-axis <-0.0> speed <284.433819> / animSpeed; //delta=9.48 + turn lfoot to z-axis <-0.000362> speed <284.433819> / animSpeed; //delta=9.48 turn lfoot to y-axis <-0.002426> speed <69.145571> / animSpeed; //delta=-2.30 turn lleg to x-axis <47.900100> speed <488.382431> / animSpeed; //delta=-16.28 turn lthigh to x-axis <-55.041902> speed <1056.551700> / animSpeed; //delta=35.22 turn lthigh to z-axis <4.597933> speed <446.682846> / animSpeed; //delta=-14.89 turn lthigh to y-axis <12.749145> speed <80.467765> / animSpeed; //delta=2.68 - move pelvis to y-axis [-1.0] speed [15.0] / animSpeed; //delta=-0.50 - turn pelvis to z-axis <-5.0> speed <149.999996> / animSpeed; //delta=5.00 - turn pelvis to y-axis <-10.0> speed <299.999991> / animSpeed; //delta=-10.00 + move pelvis to y-axis [-1.000000] speed [15.000000] / animSpeed; //delta=-0.50 + turn pelvis to z-axis <-5.000000> speed <149.999996> / animSpeed; //delta=5.00 + turn pelvis to y-axis <-10.000000> speed <299.999991> / animSpeed; //delta=-10.00 turn rfoot to x-axis <-44.787825> speed <968.562104> / animSpeed; //delta=32.29 turn rfoot to z-axis <-0.001581> speed <285.528061> / animSpeed; //delta=-9.52 turn rfoot to y-axis <-0.004502> speed <74.505599> / animSpeed; //delta=2.48 @@ -39,35 +41,35 @@ Walk() {// For N:\animations\armmark_anim_walk.blend Created by https://github.c turn torso to y-axis <14.152293> speed <424.568785> / animSpeed; //delta=14.15 sleep ((33*animSpeed) -1); } - while(isMoving) { - if (isMoving) { //Frame:6 + while(bMoving) { + if (bMoving) { //Frame:6 turn lfoot to x-axis <-4.892843> speed <293.188235> / animSpeed; //delta=-9.77 turn lleg to x-axis <4.294519> speed <1308.167430> / animSpeed; //delta=43.61 turn lthigh to x-axis <-45.130984> speed <297.327560> / animSpeed; //delta=-9.91 turn lthigh to z-axis <-1.381323> speed <179.377687> / animSpeed; //delta=5.98 turn lthigh to y-axis <14.294958> speed <46.374380> / animSpeed; //delta=1.55 - move pelvis to y-axis [-2.0] speed [30.0] / animSpeed; //delta=-1.00 - turn pelvis to z-axis <-0.0> speed <149.999996> / animSpeed; //delta=-5.00 - turn pelvis to y-axis <-15.0> speed <150.0> / animSpeed; //delta=-5.00 + move pelvis to y-axis [-2.000000] speed [30.000000] / animSpeed; //delta=-1.00 + turn pelvis to z-axis <-0.000000> speed <149.999996> / animSpeed; //delta=-5.00 + turn pelvis to y-axis <-15.000000> speed <150.000021> / animSpeed; //delta=-5.00 turn rfoot to x-axis <-34.254451> speed <316.001229> / animSpeed; //delta=-10.53 turn rleg to x-axis <7.634317> speed <1079.215882> / animSpeed; //delta=35.97 turn rthigh to x-axis <41.463934> speed <1191.662187> / animSpeed; //delta=-39.72 turn rthigh to z-axis <1.509929> speed <103.814986> / animSpeed; //delta=3.46 turn rthigh to y-axis <12.725018> speed <140.809387> / animSpeed; //delta=4.69 turn torso to x-axis <3.959252> speed <130.942513> / animSpeed; //delta=-4.36 - turn torso to z-axis <-0.0> speed <90.919991> / animSpeed; //delta=3.03 + turn torso to z-axis <-0.000000> speed <90.919991> / animSpeed; //delta=3.03 turn torso to y-axis <21.228441> speed <212.284457> / animSpeed; //delta=7.08 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:9 + if (bMoving) { //Frame:9 turn lfoot to x-axis <-3.048675> speed <55.325025> / animSpeed; //delta=-1.84 turn lleg to x-axis <59.735544> speed <1663.230750> / animSpeed; //delta=-55.44 turn lthigh to x-axis <-54.096615> speed <268.968922> / animSpeed; //delta=8.97 turn lthigh to z-axis <-10.659875> speed <278.356567> / animSpeed; //delta=9.28 turn lthigh to y-axis <0.563263> speed <411.950844> / animSpeed; //delta=-13.73 - move pelvis to y-axis [-1.500000] speed [15.0] / animSpeed; //delta=0.50 - turn pelvis to z-axis <5.0> speed <149.999996> / animSpeed; //delta=-5.00 - turn pelvis to y-axis <-10.0> speed <150.0> / animSpeed; //delta=5.00 + move pelvis to y-axis [-1.500000] speed [15.000000] / animSpeed; //delta=0.50 + turn pelvis to z-axis <5.000000> speed <149.999996> / animSpeed; //delta=-5.00 + turn pelvis to y-axis <-10.000000> speed <150.000021> / animSpeed; //delta=5.00 turn rfoot to x-axis <-53.487044> speed <576.977805> / animSpeed; //delta=19.23 turn rleg to x-axis <88.627449> speed <2429.793958> / animSpeed; //delta=-80.99 turn rleg to z-axis <0.381705> speed <11.440983> / animSpeed; //delta=-0.38 @@ -80,15 +82,15 @@ Walk() {// For N:\animations\armmark_anim_walk.blend Created by https://github.c turn torso to y-axis <14.152293> speed <212.284457> / animSpeed; //delta=-7.08 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:12 + if (bMoving) { //Frame:12 turn lfoot to x-axis <-34.386529> speed <940.135623> / animSpeed; //delta=31.34 turn lleg to x-axis <68.486505> speed <262.528839> / animSpeed; //delta=-8.75 turn lthigh to x-axis <-33.820283> speed <608.289954> / animSpeed; //delta=-20.28 turn lthigh to z-axis <-9.102295> speed <46.727407> / animSpeed; //delta=-1.56 turn lthigh to y-axis <-5.730431> speed <188.810811> / animSpeed; //delta=-6.29 move pelvis to y-axis [-1.250000] speed [7.500000] / animSpeed; //delta=0.25 - turn pelvis to z-axis <7.0> speed <60.0> / animSpeed; //delta=-2.00 - turn pelvis to y-axis <0.0> speed <299.999991> / animSpeed; //delta=10.00 + turn pelvis to z-axis <7.000000> speed <60.000006> / animSpeed; //delta=-2.00 + turn pelvis to y-axis <0.000000> speed <299.999991> / animSpeed; //delta=10.00 turn rfoot to x-axis <-35.076375> speed <552.320071> / animSpeed; //delta=-18.41 turn rleg to x-axis <85.752868> speed <86.237422> / animSpeed; //delta=2.87 turn rleg to z-axis <0.001977> speed <11.391834> / animSpeed; //delta=0.38 @@ -98,18 +100,18 @@ Walk() {// For N:\animations\armmark_anim_walk.blend Created by https://github.c turn rthigh to y-axis <-5.286277> speed <417.324614> / animSpeed; //delta=-13.91 turn torso to x-axis <0.685689> speed <32.735623> / animSpeed; //delta=1.09 turn torso to z-axis <-4.242933> speed <36.368004> / animSpeed; //delta=1.21 - turn torso to y-axis <0.0> speed <424.568785> / animSpeed; //delta=-14.15 + turn torso to y-axis <0.000000> speed <424.568785> / animSpeed; //delta=-14.15 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:15 + if (bMoving) { //Frame:15 turn lfoot to x-axis <-44.424298> speed <301.133068> / animSpeed; //delta=10.04 turn lleg to x-axis <43.892462> speed <737.821281> / animSpeed; //delta=24.59 turn lthigh to x-axis <1.444642> speed <1057.947739> / animSpeed; //delta=-35.26 turn lthigh to z-axis <-5.036100> speed <121.985868> / animSpeed; //delta=-4.07 turn lthigh to y-axis <-8.052504> speed <69.662179> / animSpeed; //delta=-2.32 - move pelvis to y-axis [-1.0] speed [7.500000] / animSpeed; //delta=0.25 - turn pelvis to z-axis <5.0> speed <60.0> / animSpeed; //delta=2.00 - turn pelvis to y-axis <10.0> speed <299.999991> / animSpeed; //delta=10.00 + move pelvis to y-axis [-1.000000] speed [7.500000] / animSpeed; //delta=0.25 + turn pelvis to z-axis <5.000000> speed <60.000006> / animSpeed; //delta=2.00 + turn pelvis to y-axis <10.000000> speed <299.999991> / animSpeed; //delta=10.00 turn rfoot to x-axis <-15.706619> speed <581.092670> / animSpeed; //delta=-19.37 turn rleg to x-axis <48.576579> speed <1115.288681> / animSpeed; //delta=37.18 turn rthigh to x-axis <-54.414386> speed <373.549910> / animSpeed; //delta=12.45 @@ -120,26 +122,26 @@ Walk() {// For N:\animations\armmark_anim_walk.blend Created by https://github.c turn torso to y-axis <-14.152293> speed <424.568785> / animSpeed; //delta=-14.15 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:18 + if (bMoving) { //Frame:18 turn lfoot to x-axis <-34.354656> speed <302.089261> / animSpeed; //delta=-10.07 turn lleg to x-axis <8.150011> speed <1072.273549> / animSpeed; //delta=35.74 turn lthigh to x-axis <41.643366> speed <1205.961731> / animSpeed; //delta=-40.20 turn lthigh to z-axis <-1.839504> speed <95.897879> / animSpeed; //delta=-3.20 turn lthigh to y-axis <-11.527345> speed <104.245250> / animSpeed; //delta=-3.47 - move pelvis to y-axis [-2.0] speed [30.0] / animSpeed; //delta=-1.00 - turn pelvis to z-axis <-0.0> speed <149.999996> / animSpeed; //delta=5.00 - turn pelvis to y-axis <15.0> speed <150.0> / animSpeed; //delta=5.00 + move pelvis to y-axis [-2.000000] speed [30.000000] / animSpeed; //delta=-1.00 + turn pelvis to z-axis <-0.000000> speed <149.999996> / animSpeed; //delta=5.00 + turn pelvis to y-axis <15.000000> speed <150.000021> / animSpeed; //delta=5.00 turn rfoot to x-axis <-5.850465> speed <295.684639> / animSpeed; //delta=-9.86 turn rleg to x-axis <4.317452> speed <1327.773804> / animSpeed; //delta=44.26 turn rthigh to x-axis <-44.707464> speed <291.207642> / animSpeed; //delta=-9.71 turn rthigh to z-axis <0.155080> speed <188.071127> / animSpeed; //delta=-6.27 turn rthigh to y-axis <-15.496361> speed <26.662685> / animSpeed; //delta=-0.89 turn torso to x-axis <3.959252> speed <130.942513> / animSpeed; //delta=-4.36 - turn torso to z-axis <-0.0> speed <90.919991> / animSpeed; //delta=-3.03 + turn torso to z-axis <-0.000000> speed <90.919991> / animSpeed; //delta=-3.03 turn torso to y-axis <-21.228441> speed <212.284457> / animSpeed; //delta=-7.08 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:21 + if (bMoving) { //Frame:21 turn lfoot to x-axis <-52.982112> speed <558.823675> / animSpeed; //delta=18.63 turn lleg to x-axis <87.417884> speed <2378.036193> / animSpeed; //delta=-79.27 turn lleg to z-axis <-0.237799> speed <7.128710> / animSpeed; //delta=0.24 @@ -147,9 +149,9 @@ Walk() {// For N:\animations\armmark_anim_walk.blend Created by https://github.c turn lthigh to x-axis <-6.274476> speed <1437.535281> / animSpeed; //delta=47.92 turn lthigh to z-axis <4.526539> speed <190.981272> / animSpeed; //delta=-6.37 turn lthigh to y-axis <-8.710785> speed <84.496800> / animSpeed; //delta=2.82 - move pelvis to y-axis [-1.500000] speed [15.0] / animSpeed; //delta=0.50 - turn pelvis to z-axis <-5.0> speed <149.999996> / animSpeed; //delta=5.00 - turn pelvis to y-axis <10.0> speed <150.0> / animSpeed; //delta=-5.00 + move pelvis to y-axis [-1.500000] speed [15.000000] / animSpeed; //delta=0.50 + turn pelvis to z-axis <-5.000000> speed <149.999996> / animSpeed; //delta=5.00 + turn pelvis to y-axis <10.000000> speed <150.000021> / animSpeed; //delta=-5.00 turn rfoot to x-axis <-4.133721> speed <51.502299> / animSpeed; //delta=-1.72 turn rleg to x-axis <60.863433> speed <1696.379442> / animSpeed; //delta=-56.55 turn rthigh to x-axis <-53.981994> speed <278.235884> / animSpeed; //delta=9.27 @@ -160,7 +162,7 @@ Walk() {// For N:\animations\armmark_anim_walk.blend Created by https://github.c turn torso to y-axis <-14.152293> speed <212.284457> / animSpeed; //delta=7.08 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:24 + if (bMoving) { //Frame:24 turn lfoot to x-axis <-34.679521> speed <549.077746> / animSpeed; //delta=-18.30 turn lleg to x-axis <84.500450> speed <87.523000> / animSpeed; //delta=2.92 turn lleg to z-axis <-0.010154> speed <6.829340> / animSpeed; //delta=-0.23 @@ -169,8 +171,8 @@ Walk() {// For N:\animations\armmark_anim_walk.blend Created by https://github.c turn lthigh to z-axis <8.166071> speed <109.185961> / animSpeed; //delta=-3.64 turn lthigh to y-axis <4.254970> speed <388.972648> / animSpeed; //delta=12.97 move pelvis to y-axis [-1.250000] speed [7.500000] / animSpeed; //delta=0.25 - turn pelvis to z-axis <-7.0> speed <60.0> / animSpeed; //delta=2.00 - turn pelvis to y-axis <0.0> speed <299.999991> / animSpeed; //delta=-10.00 + turn pelvis to z-axis <-7.000000> speed <60.000006> / animSpeed; //delta=2.00 + turn pelvis to y-axis <0.000000> speed <299.999991> / animSpeed; //delta=-10.00 turn rfoot to x-axis <-35.227930> speed <932.826260> / animSpeed; //delta=31.09 turn rleg to x-axis <69.259218> speed <251.873539> / animSpeed; //delta=-8.40 turn rthigh to x-axis <-33.532602> speed <613.481751> / animSpeed; //delta=-20.45 @@ -178,18 +180,18 @@ Walk() {// For N:\animations\armmark_anim_walk.blend Created by https://github.c turn rthigh to y-axis <4.700648> speed <218.855762> / animSpeed; //delta=7.30 turn torso to x-axis <0.685689> speed <32.735623> / animSpeed; //delta=1.09 turn torso to z-axis <4.242933> speed <36.368004> / animSpeed; //delta=-1.21 - turn torso to y-axis <0.0> speed <424.568785> / animSpeed; //delta=14.15 + turn torso to y-axis <0.000000> speed <424.568785> / animSpeed; //delta=14.15 sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:27 + if (bMoving) { //Frame:27 turn lfoot to x-axis <-14.665784> speed <600.412099> / animSpeed; //delta=-20.01 turn lleg to x-axis <47.900100> speed <1098.010522> / animSpeed; //delta=36.60 turn lthigh to x-axis <-55.041902> speed <379.051832> / animSpeed; //delta=12.64 turn lthigh to z-axis <4.597933> speed <107.044133> / animSpeed; //delta=3.57 turn lthigh to y-axis <12.749145> speed <254.825257> / animSpeed; //delta=8.49 - move pelvis to y-axis [-1.0] speed [7.500000] / animSpeed; //delta=0.25 - turn pelvis to z-axis <-5.0> speed <60.0> / animSpeed; //delta=-2.00 - turn pelvis to y-axis <-10.0> speed <299.999991> / animSpeed; //delta=-10.00 + move pelvis to y-axis [-1.000000] speed [7.500000] / animSpeed; //delta=0.25 + turn pelvis to z-axis <-5.000000> speed <60.000006> / animSpeed; //delta=-2.00 + turn pelvis to y-axis <-10.000000> speed <299.999991> / animSpeed; //delta=-10.00 turn rfoot to x-axis <-44.787825> speed <286.796843> / animSpeed; //delta=9.56 turn rleg to x-axis <43.608179> speed <769.531152> / animSpeed; //delta=25.65 turn rthigh to x-axis <1.741861> speed <1058.233886> / animSpeed; //delta=-35.27 @@ -202,32 +204,32 @@ Walk() {// For N:\animations\armmark_anim_walk.blend Created by https://github.c } } } -// Call this from StopMoving()! +// Call this from MotionControl()! StopWalking() { - move pelvis to y-axis [-0.500000] speed [10.0]; + move pelvis to y-axis [-0.500000] speed [10.000000]; turn lfoot to x-axis <-11.418329> speed <313.378541>; turn lfoot to y-axis <2.302426> speed <23.048524>; turn lfoot to z-axis <9.480765> speed <94.811273>; turn lleg to x-axis <31.620685> speed <792.678731>; - turn lleg to y-axis <0.0> speed <2.341234>; - turn lleg to z-axis <0.0> speed <2.376237>; + turn lleg to y-axis <0.000000> speed <2.341234>; + turn lleg to z-axis <0.000000> speed <2.376237>; turn lthigh to x-axis <-19.823512> speed <479.178427>; turn lthigh to y-axis <10.066886> speed <137.316948>; turn lthigh to z-axis <-10.291495> speed <148.894282>; - turn pelvis to y-axis <0.0> speed <99.999997>; - turn pelvis to z-axis <0.0> speed <49.999999>; + turn pelvis to y-axis <0.000000> speed <99.999997>; + turn pelvis to z-axis <0.000000> speed <49.999999>; turn rfoot to x-axis <-12.502421> speed <322.854035>; turn rfoot to y-axis <-2.488022> speed <24.835200>; turn rfoot to z-axis <-9.519183> speed <95.176020>; turn rleg to x-axis <31.793885> speed <809.931319>; - turn rleg to y-axis <0.0> speed <3.759480>; - turn rleg to z-axis <0.0> speed <3.813661>; + turn rleg to y-axis <0.000000> speed <3.759480>; + turn rleg to z-axis <0.000000> speed <3.813661>; turn rthigh to x-axis <-19.336735> speed <476.053714>; turn rthigh to y-axis <-10.521337> speed <185.527088>; turn rthigh to z-axis <9.978929> speed <89.590976>; - turn torso to x-axis <0.0> speed <43.647504>; - turn torso to y-axis <0.0> speed <141.522928>; - turn torso to z-axis <0.0> speed <30.306664>; + turn torso to x-axis <0.000000> speed <43.647504>; + turn torso to y-axis <0.000000> speed <141.522928>; + turn torso to z-axis <0.000000> speed <30.306664>; } // REMEMBER TO animspeed = 3 in Create() !! UnitSpeed(){ @@ -244,16 +246,16 @@ UnitSpeed(){ sleep 98; } } -StartMoving(reversing){ - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; - isMoving=TRUE; +StartMoving(){ + signal SIG_WALK; + set-signal-mask SIG_WALK; + bMoving=TRUE; start-script UnitSpeed(); start-script Walk(); } StopMoving(){ - signal SIGNAL_MOVE; - isMoving=FALSE; + signal SIG_WALK; + bMoving=FALSE; call-script StopWalking(); } @@ -270,19 +272,20 @@ stand() #define UNITSIZE 2 #define MAXTILT 100 -#include "../unit_hitbyweaponid_and_smoke.h" +#include "unit_hitbyweaponid_and_smoke.h" Create() { - isMoving = FALSE; + bMoving = FALSE; + Static_Var_2 = 1000; animSpeed = 4; return (0); } Activate() { - signal SIGNAL_TURNON; - set-signal-mask SIGNAL_TURNON; + signal SIG_ACTIVATE; + set-signal-mask SIG_ACTIVATE; turn ldish to z-axis <-179> speed <300>; turn rdish to z-axis <179> speed <300>; wait-for-turn ldish around z-axis; @@ -309,10 +312,10 @@ Activate() Deactivate() { - signal SIGNAL_TURNON; - set-signal-mask SIGNAL_TURNON; - turn rdish to z-axis <0.0> speed <100.021978>; - turn ldish to z-axis <0.0> speed <-100.021978>; + signal SIG_ACTIVATE; + set-signal-mask SIG_ACTIVATE; + turn rdish to z-axis <0.000000> speed <100.021978>; + turn ldish to z-axis <0.000000> speed <-100.021978>; turn lshoulder to x-axis <0> speed <180>; turn rshoulder to x-axis <0> speed <180>; @@ -338,7 +341,11 @@ SetStunned(State) } - +SweetSpot(piecenum) +{ + piecenum = torso; + return (0); +} Killed(severity, corpsetype) { @@ -350,6 +357,15 @@ Killed(severity, corpsetype) explode rleg type BITMAPONLY | NOHEATCLOUD; explode rfoot type BITMAPONLY | NOHEATCLOUD; explode torso type BITMAPONLY | NOHEATCLOUD; + //explode rshoulder type BITMAPONLY | NOHEATCLOUD; + //explode rarm type BITMAPONLY | NOHEATCLOUD; + //explode rdish type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lshoulder type BITMAPONLY | NOHEATCLOUD; + //explode larm type BITMAPONLY | NOHEATCLOUD; + //explode ldish type BITMAPONLY | NOHEATCLOUD; + //explode lthigh type BITMAPONLY | NOHEATCLOUD; + //explode lleg type BITMAPONLY | NOHEATCLOUD; + //explode lfoot type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } if( severity <= 50 ) @@ -360,6 +376,15 @@ Killed(severity, corpsetype) explode rleg type FIRE | SMOKE | FALL | NOHEATCLOUD; explode rfoot type FIRE | SMOKE | FALL | NOHEATCLOUD; explode torso type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rshoulder type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rarm type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rdish type FALL | NOHEATCLOUD; + //explode lshoulder type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode larm type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode ldish type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lthigh type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lleg type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lfoot type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) @@ -370,6 +395,15 @@ Killed(severity, corpsetype) explode rleg type FIRE | SMOKE | FALL | NOHEATCLOUD; explode rfoot type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; explode torso type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rshoulder type SMOKE | FALL | NOHEATCLOUD; + //explode rarm type SMOKE | FALL | NOHEATCLOUD; + //explode rdish type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lshoulder type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode larm type SMOKE | FALL | NOHEATCLOUD; + //explode ldish type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lthigh type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lleg type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lfoot type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; @@ -378,5 +412,14 @@ Killed(severity, corpsetype) explode rleg type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode rfoot type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode torso type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode rshoulder type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode rarm type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode rdish type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode lshoulder type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode larm type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode ldish type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode lthigh type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lleg type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lfoot type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/armmark.cob b/scripts/Units/armmark.cob index c6f4a4765d7bc7c0daf88854ccb78b7b5ef9a549..7f094ebe685baa428461f9bb40f3dd6d7075ca1c 100644 GIT binary patch literal 11194 zcmcgy4Um;p89uu#3nJPD{6T`;MFv+;+WZNa0GB^S#4t7lD<@a>1{=%nwp_5nbSFm$ zMEb#~P|RG%h?)^78T(V4QEQ?Bv?!2C)DdBv8p&cnM7HNS-}~Ns_IuC5E<59yIs1Lz zd7tzCo##FG-0yCQbM7PP=c3=$$GKj(vJD>L++6er(J#mIUvMqT6lY2(Y$?r@;GVbc z_R`EATqv77)j5v$;CNM!49C_UX=`(3F4L1^XdD~;XN&Vf!4(Ux;uELF6$$Q>pD!|Y z&m9UO^m%^;H|(8agL`#P;$JB+Z1nFtwx@t=nwlz3jCF=hp~28SlwctOs#w_t@3eZW|i& zLY&$?{=UT(T?_zl)Wt@--~EHlGg9wyys#1XawIP+Wj%;f|F+(5^=%{ZV3#=Gq3?;_ z*1v5M2VlO@ZfljrRnQpp5u|qaTw(2I`V??#w;V%x9#kgvL76M-k#Utp?P_Wrh!)n^ zN&x9o)2={=)Yx+2NLXW~kM$_n65P3xv#=)a_^Z|T_Woo|!`*nZp`{H4&?wTV(GcPVH`d&HDGm!2*Y=nt7hsW@~4Wa4F>Q zRWog#zdi&?gmbEI#|_r*06HZ&<SWq zvj<+VxO&+qL(c9WX6tu8%rf@&oQ>?`EuG`+8mYb0aW=M(U%B4;_nyQ{wQS6D`cU(*-A~rY zz7y8K{ij8*1lv{l(-Ye9K#y)Pj#r<2>uw4zb^fDZC z&)FK-h`P=16H?2^835u4Yan)(@y-jbNaEP^EgNqpvTx5EZ|xo(m)K>jY|P6=5pH`S z>=LJWDLM^K{c|Vm`i^|V)pP8PVRIUh3J;&vP@;C$W@$A@v=-X!OI?(b@M^vl-2e+YL%&K`Zz z=A}OY$Y03W-aDoT9Ie&&V&~uyp{xg*cOx3{77p%S?NA~UWBj1yjF>$FHxEx1g+KrxFI(dFCl^Q*h^ZTeD*w4o! zZzb`DHPG*uHs0|#moZ+SN8EBfhX2aOd)c8xA7f=B?wNC}zS2ky{O}=*n=ASAxf6Y{ zvrA{s+a;opzA0Z~XBWyDFE8FU;wZ;`o~NfdZ$F6mJZCrA9L3(pKhoE7G4}p^**R8U z?EU$m8G*0zc@cYmKH@2hi@rba#(6uoZ^zEtvG*>Z^+Vyk!?8^TK@}C6xFA z5p`0gI`Im|$W-U1&lY*vq5nko^qOQ|g?z`OOR95UT_Srj@}6=a)|>Is6$f9!bN1>> ztW14baUhWmk(_ZGVxz8&{gUgaC{vxgu1#{bUUJ59HtPHZ9zs9; z9Fc8{$h;i$nr9_BoA|EX$KSd)(RrWb#rr5ax8fZq?G2QCQl>h4vZ% zUIv~1#?JW@$MG9nsLPdMUeK{}-aaw4fb+_=)HN)I9p;2M%?+>EiTv99Efsf&qdv{y ze!+1}b<)po|Vsj?NCpQn^4BdD`k^-BRm@=_!>V}SU0Y<-%n*8 zZG}3#ep!#Pfz6n`E4^;yq%zS@U-N$W3QBy_^_?mDiU>R`?_a_9Y8fw1jh`puG^05Q z`9@pVo_*c3wrd6Nxq`S@!|h{Dc-E|bV5;VWwF6rDrrhC`E@^&-QmCYFx@uBII^)uBM^ZO{>dI`r4dqO;clot6tQ&Fw1%2=nb`Qa&xvOmvs~8zJp>fDls2Aa7ui-)GhoV&5Ez8(X)#^%M1ZdPtV-TVb^R(*E9oAsqeh-dJ2 sMsk}7n``S9FL3q#Z&S8@Y29MiT+_VBH7{P!xTL-|+wAK3Sf79VKlVzxTL1t6 delta 2601 zcmZ{mUuaxK6vpRnb~n4pZgbb9-86M~?`HGA5fV$lD#1iku#`wk328LJL{hcrwvAY6 z#887quu$nbv=~iFBJ@EqU=Weo=3$Y55d$fhhdva|L%7uu~xE=94E2X4L{bpN&haH4nTd793dykJc&7f z1~4ZUG%NN8Wv@C*{}Q=Cu9MMX=-S8ua=}W4AN;^le))txJ;&H8xk=WBFr%A1Lr#;6 zd5B$+4gkg*cP_me{;b}&_f9n90ehO5?ht6#0&n!XG7P$tChP z5;>Y9$k7?uCp;5@dYW7$H^`k)#M{Y%V$<&n^uHi)lYt%3JwW!5W8_B2^mmy)`de9s z`WnkH;|MuQ&XP;y_WpL-P@f=k>52 z_Bv4x<%MV}JYA!_US}D*L@to)WV8ZWx4#2?-`ej=1y)~UG`thKR`-p2LAb_*KGHq3=C0?(^apS1m=h>JYPwY|JUr zxkM&x6mnUU<$5Jyx0*=d8kozgh&+-5^NkKO3-h!mB{TZ06Ahh~i!X&(`cm>y z%hIdKUOknz+m?#m4GbgUVOPT<9Y6J*h_?i6H5jyi5G@uD=zO|-H#}w(0m=wKX$S3) z-biPxVjZiNU&mBs`!|S7sXnh%DVQaj&!%iQ``=zZ$WaM(dOTI$SQ6T*(PY8ws(PiM zvSfm*UPwJ6TfUpBIp;`NhTf7PJSRK}r10f&&r`LyTQ=JN(wMnMTc|+{<)L54AjG#r zT?nu~sHK4zw@Z#8$IUFXL$)Q>-TOW2R-wTHHLr#T$!EvlP{f?7K6n5!t z?`vT(_C>Ec_4{*P6um`WjACu`L72fkS{yT7nbqCtc-d8Nwh!`Ol`c&uqN*ckpE7Id zMD?C9a`Qmyd@^PE^+@%HI}>5|%wVFLaXbB&PG_FpQ5dNV>+_kXd_RWttH~y9*UZE) zinB(QoV}NHzUCS0HJz?KB&W)+FVDVX)-ADhv0udg5DPXc6%nfvs}tKN_ORIFVo!?oi4BT9Czcg^S?sLXnAn?Q=NnaA zU6hy0V$)(DiG3AQBIZIx#$__n$eE4Yg)QiV;{oZ; + turn base to z-axis <0> - anglez speed <50.005495>; + wait-for-turn base around z-axis; + wait-for-turn base around x-axis; + turn base to z-axis <0.000000> speed <20.000000>; + turn base to x-axis <0.000000> speed <20.000000>; + return (0); +} #define BASEPIECE base -#define HITSPEED <45.0> +#define HITSPEED <55.0> //how 'heavy' the unit is, on a scale of 1-10 #define UNITSIZE 4 #define MAXTILT 100 -#define RECOIL_POWER 100000 -#include "../unit_hitbyweaponid_and_smoke.h" -#define TB_BASE base -#define TB_TURNRATE <11.0> -#define TB_TILT_X <0.15> -#define TB_BANK_Z <0.15> // Do not define this if you dont want banking -#include "../tilt_bank_mobileunit.h" +#include "unit_hitbyweaponid_and_smoke.h" Create() { @@ -33,27 +41,13 @@ Create() restore_delay = 3000; out_of_arc_count = 0; wpnheading = 0; - isAiming = 0; - call-script TB_Init(); -} - -StartMoving(reversing) -{ - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; - START_TILTBANK; -} - -StopMoving() -{ - signal SIGNAL_MOVE; - STOP_TILTBANK; + bAiming = 0; + return (0); } - -SetMaxReloadTime(reloadMS) +SetMaxReloadTime(Func_Var_1) { - restore_delay = reloadMS * 2; + restore_delay = Func_Var_1 * 2; return (0); } @@ -63,10 +57,10 @@ ExecuteRestoreAfterDelay() if (Stunned) { return (1); } - turn turret to y-axis <0.0> speed <50.005495>; - turn sleeve to x-axis <0.0> speed <50.005495>; + turn turret to y-axis <0.000000> speed <50.005495>; + turn sleeve to x-axis <0.000000> speed <50.005495>; wpnheading = 0; - isAiming = 0; + bAiming = 0; } SetStunned(State) { @@ -77,17 +71,17 @@ SetStunned(State) } RestoreAfterDelay() { - set-signal-mask SIGNAL_AIM1; + set-signal-mask SIG_AIM; sleep restore_delay; start-script ExecuteRestoreAfterDelay(); } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - //get PRINT ( heading,isAiming,wpnheading,RAND(1,256) ) ; + //get PRINT ( heading,bAiming,wpnheading,RAND(1,256) ) ; - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; // out of firing arc aim calls happen during "preaiming" logic // logic to reset gun to neutral if the target heading has been @@ -106,34 +100,38 @@ AimWeapon1(heading, pitch) out_of_arc_count = 0; turn turret to y-axis heading speed <35.005495>; - turn sleeve to x-axis <0.0> - pitch speed <35.005495>; + turn sleeve to x-axis <0.000000> - pitch speed <35.005495>; wait-for-turn turret around y-axis; wait-for-turn sleeve around x-axis; start-script RestoreAfterDelay(); return (1); } -FireWeapon1() +FirePrimary() { emit-sfx 1024 + 0 from flare; - move barrel to z-axis [-3.0] speed [1250.0]; + move barrel to z-axis [-3.000000] speed [1250.000000]; wait-for-move barrel along z-axis; - move barrel to z-axis [0.0] speed [7.500000]; + move barrel to z-axis [0.000000] speed [7.500000]; } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = turret; + piecenum = turret; //return (0); } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = flare; + piecenum = flare; //return (0); } - +SweetSpot(piecenum) +{ + piecenum = base; + //return (0); +} Killed(severity, corpsetype) { @@ -144,6 +142,7 @@ Killed(severity, corpsetype) explode turret type BITMAPONLY | NOHEATCLOUD; explode sleeve type BITMAPONLY | NOHEATCLOUD; explode barrel type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } if( severity <= 50 ) @@ -153,6 +152,7 @@ Killed(severity, corpsetype) explode turret type FIRE | SMOKE | FALL | NOHEATCLOUD; explode sleeve type FALL | NOHEATCLOUD; explode barrel type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) @@ -162,6 +162,7 @@ Killed(severity, corpsetype) explode turret type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode sleeve type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode barrel type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode flare type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; @@ -169,5 +170,6 @@ Killed(severity, corpsetype) explode turret type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode sleeve type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode barrel type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode flare type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/armmart.cob b/scripts/Units/armmart.cob index c91eed2b163110202fb166536bdf0984b4ea45dc..5570d7db8b886a35f4f98ed6ee81fc387d7b2275 100644 GIT binary patch literal 3227 zcmcImJ!lj`6n=NPTogrDu+Z2nhzMeFh@xc@V^Aa#bBdLaH8+7X_Y*dIF^33OsZBa7 zE3vY%6f6`J2_k4=C)gD-uq^DNI^vQLk1yl^CCrP z{z`j9YLI7;li0t47C-M%a$eqBIVzHeW~}%UYb@1AO&4QwT=)aXjpI;81SnMLHTTRr zw=dS*r*nGw7^d}Ps%U%EUa9S$i>WwWU{VP^jSP7CQr;WDmT}a?q84w^lbND7=4><( zKOILrDaCPm? zd&RL#lIu9>C#ykOJ0?`r&!V!SX(aXt5C{NglV_1B5PS0H& zZRDR&>DW^=fIBJ0`0O?5!$XhwV~C#nJLk_aaLwKEk)rqB+4C9uLuZGw_auD>^}9Jh zANU|gU$A8T3T@z!9c-L6zE?k79Lp&m;^7`L4?p(JdqK^Z?i@wCr!QScW^hAbQ%&DX zeBZ>TnR{yPHCOk{OZ(Y_?)BT#`n1~~!Fd*2=jFRYE{*`0@wP8;!8PBQ1lt#jrS-Eu z_Q{{dv!2G%&i!`1($8La2DYasG54bc0oVF2Dn9$?+RoRB&yIC?w|d3veMs^aHe#fC zlQ-+@yoVcXBg98vow&C)dSkzOMr>8Qm}}b7KHEQY!S&K#W+DvvP~7i_QgVET;AI;xM&Fs0e?<@z3 z*Ka@nlaF5aILkr5J!kpg3@0EDARi&WAiHrn4nj^t#vxOX$B-A0*N|1nCkX$CUWI&y ze1-gktU+>nMTQ~AAZHAZ*J-H8i@0c_M5kuB$B*w$)d@V}Q8OjO22)Rs-s-VA052EeMT7 RtuQo^EY^%!GH_s5lRsc6>LUOE literal 3612 zcmb7{PiWjl6vt;b+ob+0KPy57OP6{OM9S8KSCd$ap$2La=}F9*ot7n=-LUzkr1a1n zswb6PlpaKK@vfdc20;&k7jGW)polpZL8wrz-_Ojv&E(gF;13@2=DqLxJ8x!_hI8(u z=$PoKG3Or9%D3^jb33BrPdN9Y_Rnf{&3chjt*94I0&X@6w>Vx1?vQnmT^=vs8}QP@ zPrmA*+FDB_G9jq4dI6mkyp43~Nvb!yX;>mPej5*m}}$0iGNy z>a8ftbs<&}^O;U~EupR)7h7F?b$&(Os!UC(q;kK_WQM!vou_)(3?bN*e!9nLbnIk+}kI~U6zdB`jI+^YB_J~663t%so(t=J22iv&wEbUOJ$ z6wZIqrTpUx{_Dr$tN>xpN{;x=_tc&5!?`qdA2HBpI-4{0*tpgBI~DlN$R9Pc^aNAh zgfP=$bN^M}NBINK8I63TbFuk5NJsb)KD|Sh7xGZQ-Yt4n#d5ZKM#G)@JDowOUw*Lt z@VU&latV2)cvW4PjikdR@$hB2v9~(VTmLOr^yD(iX*LLZ1sLE z990vx$p^Xob}HUWiS>@`KL>OnU#ZA7Lhmg01zH3!~o! zWYPbxjkx}!zPR`vVc4vV_@LjM80C}WqOI`qZ|^y6$bYkNm+Ogrm>wVb**t@7Gxm2! zj)`aXR>L-!Vq$a;Y)>BGZExrKspQ~k#i+N+KaU%J4^!Mxbpw#ynjOwwtwzs$+C4IGCY^%P_7L$W~f0BHeZ^Ku813M@BQuM88 zLdl;J-4T5y`d;*h=ugo}C4N?PPP8G~65SDPi}=6f1<}i*S43}!7DR80I-*t4P0Jd8_UfQN)5&*kZm_icR=-=i3+;1m(xQCTf-IbW*d3Uip^u|kkaX1*M p-dy*?RLgmHsoU$x*SqaC@2>XRL+{G<;n0_Et>^u9FNJnJ_a89U8tDK4 diff --git a/scripts/Units/armmav.bos b/scripts/Units/armmav.bos index 07283e8303b..6881b3127d9 100644 --- a/scripts/Units/armmav.bos +++ b/scripts/Units/armmav.bos @@ -1,18 +1,19 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece rflare, lflare, body, pelvis, rthigh, lthigh, rleg, head, luparm, ruparm, lloarm, rloarm, lleg, lhipgun, rhipgun, lholster, rhandgun, lhandgun, rholster, rfoot, lfoot, aimy1, aimx1; -static-var ReadyToAim, gun_1, isMoving, isAiming, restore_delay, wpn1_lasthead, animSpeed, maxSpeed, +static-var ReadyToAim, gun_1, bMoving, bAiming, restore_delay, statechg_DesiredState, + statechg_StateChanging, wpn1_lasthead, animSpeed, maxSpeed, animFramesPerKeyframe; // Signal definitions -#define SIGNAL_AIM1 256 -#define SIGNAL_MOVE 1 - -#include "../opencloseanim.h" +#define SIG_AIM 2 +#define SIG_WALK 4 lua_UnitScriptDecal(lightIndex, xpos,zpos, heading) { @@ -20,8 +21,8 @@ lua_UnitScriptDecal(lightIndex, xpos,zpos, heading) } Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptasz\Documents\GitHub\support\Animation_sources\armmav_anim_walk.blend - //set-signal-mask SIGNAL_MOVE; - if (isMoving) { //Frame:5 + //set-signal-mask SIG_WALK; + if (bMoving) { //Frame:5 turn lfoot to x-axis <-2.530919> speed <75.927574> / animSpeed; //delta=2.53 turn lfoot to y-axis <-0.860483> speed <25.814476> / animSpeed; //delta=-0.86 turn lleg to x-axis <7.005865> speed <210.175939> / animSpeed; //delta=-7.01 @@ -32,7 +33,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn rleg to x-axis <25.055087> speed <751.652619> / animSpeed; //delta=-25.06 turn rthigh to x-axis <-31.130749> speed <933.922467> / animSpeed; //delta=31.13 - if (!isAiming) { + if (!bAiming) { turn rloarm to x-axis <-4.573658> speed <137.209732> / animSpeed; //delta=4.57 turn rloarm to z-axis <-1.688023> speed <50.640696> / animSpeed; //delta=1.69 turn rloarm to y-axis <1.147702> speed <34.431056> / animSpeed; //delta=1.15 @@ -46,11 +47,11 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas } sleep ((33*animSpeed) -1); } - while(isMoving) { - if (isMoving) { //Frame:9 + while(bMoving) { + if (bMoving) { //Frame:9 turn body to x-axis <0.267404> speed <8.022119> / animSpeed; //delta=-0.27 - turn body to z-axis <-2.0> speed <60.0> / animSpeed; //delta=2.00 - turn body to y-axis <-9.0> speed <270.0> / animSpeed; //delta=-9.00 + turn body to z-axis <-2.000000> speed <60.000000> / animSpeed; //delta=2.00 + turn body to y-axis <-9.000000> speed <270.000008> / animSpeed; //delta=-9.00 turn head to x-axis <2.500000> speed <74.999998> / animSpeed; //delta=-2.50 turn head to y-axis <2.500000> speed <74.999998> / animSpeed; //delta=2.50 turn lfoot to x-axis <-23.358820> speed <624.837028> / animSpeed; //delta=20.83 @@ -60,7 +61,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn lthigh to x-axis <13.805222> speed <539.904721> / animSpeed; //delta=-18.00 turn lthigh to z-axis <-0.772921> speed <11.038002> / animSpeed; //delta=0.37 turn lthigh to y-axis <-0.020624> speed <4.485710> / animSpeed; //delta=0.15 - move pelvis to y-axis [-1.0] speed [30.0] / animSpeed; //delta=-1.00 + move pelvis to y-axis [-1.000000] speed [30.000000] / animSpeed; //delta=-1.00 turn pelvis to x-axis <2.500000> speed <74.999998> / animSpeed; //delta=-2.50 turn pelvis to y-axis <3.500000> speed <104.999994> / animSpeed; //delta=3.50 turn rfoot to x-axis <33.259398> speed <591.434259> / animSpeed; //delta=-19.71 @@ -71,7 +72,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn rthigh to z-axis <-0.147755> speed <4.432650> / animSpeed; //delta=0.15 turn rthigh to y-axis <-2.012217> speed <60.366499> / animSpeed; //delta=-2.01 - if (!isAiming) { + if (!bAiming) { turn ruparm to x-axis <28.570413> speed <252.016205> / animSpeed; //delta=-8.40 turn ruparm to z-axis <3.605945> speed <73.700419> / animSpeed; //delta=-2.46 turn ruparm to y-axis <0.986978> speed <77.516131> / animSpeed; //delta=2.58 @@ -88,13 +89,13 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas } sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:13 + if (bMoving) { //Frame:13 call-script lua_UnitScriptDecal(1, (get PIECE_XZ(lfoot) & 0xffff0000) / 0x00010000 , (get PIECE_XZ(lfoot) & 0x0000ffff), get HEADING(0)); turn body to x-axis <0.534808> speed <8.022119> / animSpeed; //delta=-0.27 - turn body to z-axis <-4.0> speed <60.0> / animSpeed; //delta=2.00 - turn body to y-axis <-18.0> speed <270.0> / animSpeed; //delta=-9.00 - turn head to x-axis <5.0> speed <74.999998> / animSpeed; //delta=-2.50 - turn head to y-axis <5.0> speed <74.999998> / animSpeed; //delta=2.50 + turn body to z-axis <-4.000000> speed <60.000000> / animSpeed; //delta=2.00 + turn body to y-axis <-18.000001> speed <270.000008> / animSpeed; //delta=-9.00 + turn head to x-axis <5.000000> speed <74.999998> / animSpeed; //delta=-2.50 + turn head to y-axis <5.000000> speed <74.999998> / animSpeed; //delta=2.50 turn lfoot to x-axis <-19.952538> speed <102.188458> / animSpeed; //delta=-3.41 turn lfoot to z-axis <-2.631772> speed <25.038186> / animSpeed; //delta=-0.83 turn lfoot to y-axis <-8.141532> speed <30.465145> / animSpeed; //delta=1.02 @@ -102,9 +103,9 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn lthigh to x-axis <9.499171> speed <129.181528> / animSpeed; //delta=4.31 turn lthigh to z-axis <-5.504052> speed <141.933930> / animSpeed; //delta=4.73 turn lthigh to y-axis <0.765201> speed <23.574761> / animSpeed; //delta=0.79 - move pelvis to y-axis [-2.0] speed [30.0] / animSpeed; //delta=-1.00 - turn pelvis to x-axis <5.0> speed <74.999998> / animSpeed; //delta=-2.50 - turn pelvis to y-axis <7.0> speed <104.999994> / animSpeed; //delta=3.50 + move pelvis to y-axis [-2.000000] speed [30.000000] / animSpeed; //delta=-1.00 + turn pelvis to x-axis <5.000000> speed <74.999998> / animSpeed; //delta=-2.50 + turn pelvis to y-axis <7.000000> speed <104.999994> / animSpeed; //delta=3.50 turn rfoot to x-axis <17.649557> speed <468.295221> / animSpeed; //delta=15.61 turn rfoot to z-axis <1.979915> speed <48.851556> / animSpeed; //delta=1.63 turn rfoot to y-axis <-7.237163> speed <144.633939> / animSpeed; //delta=-4.82 @@ -116,7 +117,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn rthigh to z-axis <2.081719> speed <66.884218> / animSpeed; //delta=-2.23 turn rthigh to y-axis <0.996376> speed <90.257780> / animSpeed; //delta=3.01 - if (!isAiming) { + if (!bAiming) { turn ruparm to x-axis <7.408239> speed <634.865221> / animSpeed; //delta=21.16 turn ruparm to z-axis <2.635002> speed <29.128309> / animSpeed; //delta=0.97 turn ruparm to y-axis <-0.879626> speed <55.998139> / animSpeed; //delta=-1.87 @@ -131,11 +132,11 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas } sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:17 + if (bMoving) { //Frame:17 turn body to x-axis <0.267404> speed <8.022119> / animSpeed; //delta=0.27 - turn body to z-axis <-2.0> speed <60.0> / animSpeed; //delta=-2.00 - turn body to y-axis <-9.0> speed <270.0> / animSpeed; //delta=9.00 - turn head to x-axis <4.0> speed <29.999997> / animSpeed; //delta=1.00 + turn body to z-axis <-2.000000> speed <60.000000> / animSpeed; //delta=-2.00 + turn body to y-axis <-9.000000> speed <270.000008> / animSpeed; //delta=9.00 + turn head to x-axis <4.000000> speed <29.999997> / animSpeed; //delta=1.00 turn head to y-axis <2.500000> speed <74.999998> / animSpeed; //delta=-2.50 turn lfoot to x-axis <-29.780403> speed <294.835958> / animSpeed; //delta=9.83 turn lfoot to z-axis <-1.316841> speed <39.447944> / animSpeed; //delta=-1.31 @@ -144,7 +145,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn lthigh to x-axis <-19.332068> speed <864.937181> / animSpeed; //delta=28.83 turn lthigh to z-axis <-1.408846> speed <122.856205> / animSpeed; //delta=-4.10 turn lthigh to y-axis <-0.339319> speed <33.135614> / animSpeed; //delta=-1.10 - move pelvis to y-axis [-1.0] speed [30.0] / animSpeed; //delta=1.00 + move pelvis to y-axis [-1.000000] speed [30.000000] / animSpeed; //delta=1.00 turn pelvis to x-axis <2.500000> speed <74.999998> / animSpeed; //delta=2.50 turn pelvis to y-axis <3.500000> speed <104.999994> / animSpeed; //delta=-3.50 turn rfoot to x-axis <-5.127601> speed <683.314745> / animSpeed; //delta=22.78 @@ -158,7 +159,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn rthigh to z-axis <-0.449276> speed <75.929861> / animSpeed; //delta=2.53 turn rthigh to y-axis <-0.178923> speed <35.258962> / animSpeed; //delta=-1.18 - if (!isAiming) { + if (!bAiming) { turn ruparm to x-axis <-2.728282> speed <304.095627> / animSpeed; //delta=10.14 turn ruparm to z-axis <0.048135> speed <77.605995> / animSpeed; //delta=2.59 turn ruparm to y-axis <-0.012223> speed <26.022093> / animSpeed; //delta=0.87 @@ -176,32 +177,32 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas } sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:21 - turn body to x-axis <-0.0> speed <8.022119> / animSpeed; //delta=0.27 - turn body to z-axis <-0.0> speed <60.0> / animSpeed; //delta=-2.00 - turn body to y-axis <0.0> speed <270.0> / animSpeed; //delta=9.00 - turn head to x-axis <-0.0> speed <119.999999> / animSpeed; //delta=4.00 - turn head to y-axis <0.0> speed <74.999998> / animSpeed; //delta=-2.50 + if (bMoving) { //Frame:21 + turn body to x-axis <-0.000000> speed <8.022119> / animSpeed; //delta=0.27 + turn body to z-axis <-0.000000> speed <60.000000> / animSpeed; //delta=-2.00 + turn body to y-axis <0.000000> speed <270.000008> / animSpeed; //delta=9.00 + turn head to x-axis <-0.000000> speed <119.999999> / animSpeed; //delta=4.00 + turn head to y-axis <0.000000> speed <74.999998> / animSpeed; //delta=-2.50 turn lfoot to x-axis <13.544923> speed <1299.759779> / animSpeed; //delta=-43.33 - turn lfoot to z-axis <-0.0> speed <39.505215> / animSpeed; //delta=-1.32 - turn lfoot to y-axis <0.0> speed <86.771534> / animSpeed; //delta=2.89 + turn lfoot to z-axis <-0.000000> speed <39.505215> / animSpeed; //delta=-1.32 + turn lfoot to y-axis <0.000000> speed <86.771534> / animSpeed; //delta=2.89 turn lleg to x-axis <25.055087> speed <687.429956> / animSpeed; //delta=22.91 turn lthigh to x-axis <-31.130749> speed <353.960415> / animSpeed; //delta=11.80 - turn lthigh to z-axis <-0.0> speed <42.265369> / animSpeed; //delta=-1.41 - turn lthigh to y-axis <-0.0> speed <10.179579> / animSpeed; //delta=0.34 - move pelvis to y-axis [0.0] speed [30.0] / animSpeed; //delta=1.00 - turn pelvis to x-axis <-0.0> speed <74.999998> / animSpeed; //delta=2.50 - turn pelvis to y-axis <0.0> speed <104.999994> / animSpeed; //delta=-3.50 + turn lthigh to z-axis <-0.000000> speed <42.265369> / animSpeed; //delta=-1.41 + turn lthigh to y-axis <-0.000000> speed <10.179579> / animSpeed; //delta=0.34 + move pelvis to y-axis [0.000000] speed [30.000000] / animSpeed; //delta=1.00 + turn pelvis to x-axis <-0.000000> speed <74.999998> / animSpeed; //delta=2.50 + turn pelvis to y-axis <0.000000> speed <104.999994> / animSpeed; //delta=-3.50 turn rfoot to x-axis <-2.601025> speed <75.797286> / animSpeed; //delta=-2.53 turn rfoot to z-axis <-0.035549> speed <17.808636> / animSpeed; //delta=-0.59 turn rfoot to y-axis <-0.860318> speed <171.045502> / animSpeed; //delta=5.70 - turn rholster to x-axis <-0.0> speed <37.617893> / animSpeed; //delta=-1.25 - turn rholster to z-axis <-0.0> speed <153.044523> / animSpeed; //delta=-5.10 - turn rholster to y-axis <0.0> speed <33.615624> / animSpeed; //delta=1.12 + turn rholster to x-axis <-0.000000> speed <37.617893> / animSpeed; //delta=-1.25 + turn rholster to z-axis <-0.000000> speed <153.044523> / animSpeed; //delta=-5.10 + turn rholster to y-axis <0.000000> speed <33.615624> / animSpeed; //delta=1.12 turn rleg to x-axis <6.982581> speed <419.461345> / animSpeed; //delta=13.98 turn rthigh to x-axis <-4.191602> speed <428.761373> / animSpeed; //delta=-14.29 - if (!isAiming) { + if (!bAiming) { turn ruparm to x-axis <-20.082585> speed <520.629097> / animSpeed; //delta=17.35 turn rhandgun to x-axis <5.553299> speed <430.319604> / animSpeed; //delta=-14.34 turn luparm to x-axis <20.169873> speed <674.863129> / animSpeed; //delta=-22.50 @@ -215,9 +216,9 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas } sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:25 - turn body to z-axis <2.0> speed <60.0> / animSpeed; //delta=-2.00 - turn body to y-axis <9.0> speed <270.0> / animSpeed; //delta=9.00 + if (bMoving) { //Frame:25 + turn body to z-axis <2.000000> speed <60.000000> / animSpeed; //delta=-2.00 + turn body to y-axis <9.000000> speed <270.000008> / animSpeed; //delta=9.00 turn head to x-axis <2.500000> speed <74.999998> / animSpeed; //delta=-2.50 turn head to y-axis <-2.500000> speed <74.999998> / animSpeed; //delta=-2.50 turn lfoot to x-axis <32.513155> speed <569.046982> / animSpeed; //delta=-18.97 @@ -227,9 +228,9 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn lthigh to x-axis <-25.282454> speed <175.448845> / animSpeed; //delta=-5.85 turn lthigh to z-axis <-0.147755> speed <4.432650> / animSpeed; //delta=0.15 turn lthigh to y-axis <-2.012217> speed <60.366499> / animSpeed; //delta=-2.01 - move pelvis to y-axis [-1.0] speed [30.0] / animSpeed; //delta=-1.00 + move pelvis to y-axis [-1.000000] speed [30.000000] / animSpeed; //delta=-1.00 turn pelvis to x-axis <2.500000> speed <74.999998> / animSpeed; //delta=-2.50 - turn pelvis to y-axis <-3.500000> speed <105.0> / animSpeed; //delta=-3.50 + turn pelvis to y-axis <-3.500000> speed <105.000001> / animSpeed; //delta=-3.50 turn rfoot to x-axis <-23.369571> speed <623.056379> / animSpeed; //delta=20.77 turn rfoot to z-axis <0.567310> speed <18.085756> / animSpeed; //delta=-0.60 turn rfoot to y-axis <1.538573> speed <71.966728> / animSpeed; //delta=2.40 @@ -238,7 +239,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn rthigh to z-axis <0.782695> speed <35.630501> / animSpeed; //delta=-1.19 turn rthigh to y-axis <-0.321612> speed <4.543923> / animSpeed; //delta=-0.15 - if (!isAiming) { + if (!bAiming) { turn ruparm to x-axis <-29.840676> speed <292.742745> / animSpeed; //delta=9.76 turn ruparm to z-axis <2.935954> speed <88.078608> / animSpeed; //delta=-2.94 turn rloarm to x-axis <-13.847616> speed <294.926207> / animSpeed; //delta=9.83 @@ -255,12 +256,12 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas } sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:29 + if (bMoving) { //Frame:29 call-script lua_UnitScriptDecal(1, (get PIECE_XZ(rfoot) & 0xffff0000) / 0x00010000 , (get PIECE_XZ(rfoot) & 0x0000ffff), get HEADING(0)); - turn body to z-axis <4.0> speed <60.0> / animSpeed; //delta=-2.00 - turn body to y-axis <18.0> speed <270.0> / animSpeed; //delta=9.00 - turn head to x-axis <5.0> speed <74.999998> / animSpeed; //delta=-2.50 - turn head to y-axis <-5.0> speed <74.999998> / animSpeed; //delta=-2.50 + turn body to z-axis <4.000000> speed <60.000000> / animSpeed; //delta=-2.00 + turn body to y-axis <18.000001> speed <270.000008> / animSpeed; //delta=9.00 + turn head to x-axis <5.000000> speed <74.999998> / animSpeed; //delta=-2.50 + turn head to y-axis <-5.000000> speed <74.999998> / animSpeed; //delta=-2.50 turn lfoot to x-axis <17.277085> speed <457.082116> / animSpeed; //delta=15.24 turn lfoot to z-axis <-2.026912> speed <24.662943> / animSpeed; //delta=0.82 turn lfoot to y-axis <7.573873> speed <24.256811> / animSpeed; //delta=-0.81 @@ -271,9 +272,9 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn lthigh to x-axis <-33.441108> speed <244.759624> / animSpeed; //delta=8.16 turn lthigh to z-axis <-2.518069> speed <71.109433> / animSpeed; //delta=2.37 turn lthigh to y-axis <-0.990071> speed <30.664371> / animSpeed; //delta=1.02 - move pelvis to y-axis [-2.0] speed [30.0] / animSpeed; //delta=-1.00 - turn pelvis to x-axis <5.0> speed <74.999998> / animSpeed; //delta=-2.50 - turn pelvis to y-axis <-7.0> speed <105.0> / animSpeed; //delta=-3.50 + move pelvis to y-axis [-2.000000] speed [30.000000] / animSpeed; //delta=-1.00 + turn pelvis to x-axis <5.000000> speed <74.999998> / animSpeed; //delta=-2.50 + turn pelvis to y-axis <-7.000000> speed <105.000001> / animSpeed; //delta=-3.50 turn rfoot to x-axis <-21.122427> speed <67.414326> / animSpeed; //delta=-2.25 turn rfoot to z-axis <1.931439> speed <40.923867> / animSpeed; //delta=-1.36 turn rfoot to y-axis <5.707534> speed <125.068837> / animSpeed; //delta=4.17 @@ -281,7 +282,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn rthigh to x-axis <10.581186> speed <101.832434> / animSpeed; //delta=3.39 turn rthigh to z-axis <0.512170> speed <8.115747> / animSpeed; //delta=0.27 - if (!isAiming) { + if (!bAiming) { turn ruparm to x-axis <-13.029054> speed <504.348682> / animSpeed; //delta=-16.81 turn ruparm to z-axis <2.694866> speed <7.232639> / animSpeed; //delta=0.24 turn ruparm to y-axis <-0.398529> speed <13.389429> / animSpeed; //delta=-0.45 @@ -292,17 +293,17 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn luparm to z-axis <-0.925245> speed <12.165804> / animSpeed; //delta=-0.41 turn luparm to y-axis <-0.774696> speed <40.782812> / animSpeed; //delta=-1.36 turn lloarm to x-axis <-12.134745> speed <65.869183> / animSpeed; //delta=-2.20 - turn lloarm to z-axis <-2.0> speed <6.831075> / animSpeed; //delta=-0.23 + turn lloarm to z-axis <-2.000658> speed <6.831075> / animSpeed; //delta=-0.23 turn lloarm to y-axis <1.581415> speed <13.180913> / animSpeed; //delta=-0.44 turn lhandgun to x-axis <-6.408969> speed <60.880524> / animSpeed; //delta=2.03 } sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:33 - turn body to z-axis <2.0> speed <60.0> / animSpeed; //delta=2.00 - turn body to y-axis <9.0> speed <270.0> / animSpeed; //delta=-9.00 + if (bMoving) { //Frame:33 + turn body to z-axis <2.000000> speed <60.000000> / animSpeed; //delta=2.00 + turn body to y-axis <9.000000> speed <270.000008> / animSpeed; //delta=-9.00 turn head to x-axis <2.500000> speed <74.999998> / animSpeed; //delta=2.50 - turn head to y-axis <-4.0> speed <29.999997> / animSpeed; //delta=1.00 + turn head to y-axis <-4.000000> speed <29.999997> / animSpeed; //delta=1.00 turn lfoot to x-axis <-5.101072> speed <671.344694> / animSpeed; //delta=22.38 turn lfoot to z-axis <0.351105> speed <71.340519> / animSpeed; //delta=-2.38 turn lfoot to y-axis <3.699151> speed <116.241658> / animSpeed; //delta=-3.87 @@ -313,9 +314,9 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn lthigh to x-axis <-18.483648> speed <448.723809> / animSpeed; //delta=-14.96 turn lthigh to z-axis <-0.449276> speed <62.063789> / animSpeed; //delta=-2.07 turn lthigh to y-axis <-0.178923> speed <24.334447> / animSpeed; //delta=0.81 - move pelvis to y-axis [-1.0] speed [30.0] / animSpeed; //delta=1.00 + move pelvis to y-axis [-1.000000] speed [30.000000] / animSpeed; //delta=1.00 turn pelvis to x-axis <2.500000> speed <74.999998> / animSpeed; //delta=2.50 - turn pelvis to y-axis <-3.500000> speed <105.0> / animSpeed; //delta=3.50 + turn pelvis to y-axis <-3.500000> speed <105.000001> / animSpeed; //delta=3.50 turn rfoot to x-axis <-27.943296> speed <204.626081> / animSpeed; //delta=6.82 turn rfoot to z-axis <-0.126986> speed <61.752730> / animSpeed; //delta=2.06 turn rfoot to y-axis <-0.302402> speed <180.298087> / animSpeed; //delta=-6.01 @@ -323,7 +324,7 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas turn rthigh to x-axis <-19.332068> speed <897.397621> / animSpeed; //delta=29.91 turn rthigh to z-axis <-1.408846> speed <57.630482> / animSpeed; //delta=1.92 - if (!isAiming) { + if (!bAiming) { turn ruparm to x-axis <-2.094022> speed <328.050938> / animSpeed; //delta=-10.94 turn ruparm to z-axis <0.088062> speed <78.204100> / animSpeed; //delta=2.61 turn ruparm to y-axis <-0.022665> speed <11.275921> / animSpeed; //delta=0.38 @@ -341,31 +342,31 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas } sleep ((33*animSpeed) -1); } - if (isMoving) { //Frame:37 - turn body to z-axis <-0.0> speed <60.0> / animSpeed; //delta=2.00 - turn body to y-axis <0.0> speed <270.0> / animSpeed; //delta=-9.00 - turn head to x-axis <-0.0> speed <74.999998> / animSpeed; //delta=2.50 - turn head to y-axis <0.0> speed <119.999999> / animSpeed; //delta=4.00 + if (bMoving) { //Frame:37 + turn body to z-axis <-0.000000> speed <60.000000> / animSpeed; //delta=2.00 + turn body to y-axis <0.000000> speed <270.000008> / animSpeed; //delta=-9.00 + turn head to x-axis <-0.000000> speed <74.999998> / animSpeed; //delta=2.50 + turn head to y-axis <0.000000> speed <119.999999> / animSpeed; //delta=4.00 turn lfoot to x-axis <-2.530919> speed <77.104578> / animSpeed; //delta=-2.57 turn lfoot to z-axis <-0.034596> speed <11.571050> / animSpeed; //delta=0.39 turn lfoot to y-axis <-0.860483> speed <136.789008> / animSpeed; //delta=-4.56 - turn lholster to x-axis <-0.0> speed <37.617893> / animSpeed; //delta=-1.25 - turn lholster to z-axis <-0.0> speed <153.045009> / animSpeed; //delta=5.10 - turn lholster to y-axis <0.0> speed <33.615624> / animSpeed; //delta=1.12 + turn lholster to x-axis <-0.000000> speed <37.617893> / animSpeed; //delta=-1.25 + turn lholster to z-axis <-0.000000> speed <153.045009> / animSpeed; //delta=5.10 + turn lholster to y-axis <0.000000> speed <33.615624> / animSpeed; //delta=1.12 turn lleg to x-axis <7.005865> speed <426.512507> / animSpeed; //delta=14.22 turn lthigh to x-axis <-4.191602> speed <428.761373> / animSpeed; //delta=-14.29 - move pelvis to y-axis [0.0] speed [30.0] / animSpeed; //delta=1.00 - turn pelvis to x-axis <-0.0> speed <74.999998> / animSpeed; //delta=2.50 - turn pelvis to y-axis <0.0> speed <105.0> / animSpeed; //delta=3.50 + move pelvis to y-axis [0.000000] speed [30.000000] / animSpeed; //delta=1.00 + turn pelvis to x-axis <-0.000000> speed <74.999998> / animSpeed; //delta=2.50 + turn pelvis to y-axis <0.000000> speed <105.000001> / animSpeed; //delta=3.50 turn rfoot to x-axis <13.544923> speed <1244.646555> / animSpeed; //delta=-41.49 - turn rfoot to z-axis <-0.0> speed <3.809573> / animSpeed; //delta=-0.13 - turn rfoot to y-axis <0.0> speed <9.072053> / animSpeed; //delta=0.30 + turn rfoot to z-axis <-0.000000> speed <3.809573> / animSpeed; //delta=-0.13 + turn rfoot to y-axis <0.000000> speed <9.072053> / animSpeed; //delta=0.30 turn rleg to x-axis <25.055087> speed <698.620469> / animSpeed; //delta=23.29 turn rthigh to x-axis <-31.130749> speed <353.960415> / animSpeed; //delta=11.80 - turn rthigh to z-axis <-0.0> speed <42.265369> / animSpeed; //delta=-1.41 - turn rthigh to y-axis <-0.0> speed <10.179579> / animSpeed; //delta=0.34 + turn rthigh to z-axis <-0.000000> speed <42.265369> / animSpeed; //delta=-1.41 + turn rthigh to y-axis <-0.000000> speed <10.179579> / animSpeed; //delta=0.34 - if (!isAiming) { + if (!bAiming) { turn ruparm to x-axis <20.169873> speed <667.916865> / animSpeed; //delta=-22.26 turn ruparm to z-axis <1.149265> speed <31.836075> / animSpeed; //delta=-1.06 turn ruparm to y-axis <-1.596893> speed <47.226851> / animSpeed; //delta=-1.57 @@ -381,52 +382,52 @@ Walk() {//Created by https://github.com/Beherith/Skeletor_S3O from C:\Users\ptas } } } -// Call this from StopMoving()! +// Call this from MotionControl()! StopWalking() { - move pelvis to y-axis [0.0] speed [7.500000]; - turn body to x-axis <0.0> speed <2.005530>; - turn body to y-axis <0.0> speed <67.500002>; - turn body to z-axis <0.0> speed <15.0>; - turn head to x-axis <0.0> speed <30.0>; - turn head to y-axis <0.0> speed <30.0>; - turn lfoot to x-axis <0.0> speed <324.939945>; - turn lfoot to y-axis <0.0> speed <62.868250>; - turn lfoot to z-axis <0.0> speed <25.738364>; - turn lholster to x-axis <0.0> speed <18.808947>; - turn lholster to y-axis <0.0> speed <16.807812>; - turn lholster to z-axis <0.0> speed <76.522505>; - turn lleg to x-axis <0.0> speed <439.191853>; - turn lthigh to x-axis <0.0> speed <216.234295>; - turn lthigh to y-axis <0.0> speed <15.091625>; - turn lthigh to z-axis <0.0> speed <35.483483>; - turn pelvis to x-axis <0.0> speed <18.749999>; - turn pelvis to y-axis <0.0> speed <26.250000>; - turn rfoot to x-axis <0.0> speed <311.161639>; - turn rfoot to y-axis <0.0> speed <45.074522>; - turn rfoot to z-axis <0.0> speed <27.062248>; - turn rholster to x-axis <0.0> speed <18.808947>; - turn rholster to y-axis <0.0> speed <16.807812>; - turn rholster to z-axis <0.0> speed <76.522261>; - turn rleg to x-axis <0.0> speed <451.585931>; - turn rthigh to x-axis <0.0> speed <233.480617>; - turn rthigh to y-axis <0.0> speed <22.564445>; - turn rthigh to z-axis <0.0> speed <18.982465>; + move pelvis to y-axis [0.000000] speed [7.500000]; + turn body to x-axis <0.000000> speed <2.005530>; + turn body to y-axis <0.000000> speed <67.500002>; + turn body to z-axis <0.000000> speed <15.000000>; + turn head to x-axis <0.000000> speed <30.000000>; + turn head to y-axis <0.000000> speed <30.000000>; + turn lfoot to x-axis <0.000000> speed <324.939945>; + turn lfoot to y-axis <0.000000> speed <62.868250>; + turn lfoot to z-axis <0.000000> speed <25.738364>; + turn lholster to x-axis <0.000000> speed <18.808947>; + turn lholster to y-axis <0.000000> speed <16.807812>; + turn lholster to z-axis <0.000000> speed <76.522505>; + turn lleg to x-axis <0.000000> speed <439.191853>; + turn lthigh to x-axis <0.000000> speed <216.234295>; + turn lthigh to y-axis <0.000000> speed <15.091625>; + turn lthigh to z-axis <0.000000> speed <35.483483>; + turn pelvis to x-axis <0.000000> speed <18.749999>; + turn pelvis to y-axis <0.000000> speed <26.250000>; + turn rfoot to x-axis <0.000000> speed <311.161639>; + turn rfoot to y-axis <0.000000> speed <45.074522>; + turn rfoot to z-axis <0.000000> speed <27.062248>; + turn rholster to x-axis <0.000000> speed <18.808947>; + turn rholster to y-axis <0.000000> speed <16.807812>; + turn rholster to z-axis <0.000000> speed <76.522261>; + turn rleg to x-axis <0.000000> speed <451.585931>; + turn rthigh to x-axis <0.000000> speed <233.480617>; + turn rthigh to y-axis <0.000000> speed <22.564445>; + turn rthigh to z-axis <0.000000> speed <18.982465>; - if (!isAiming) { - turn ruparm to x-axis <0.0> speed <166.979216>; - turn ruparm to y-axis <0.0> speed <19.379033>; - turn ruparm to z-axis <0.0> speed <22.019652>; - turn rloarm to x-axis <0.0> speed <73.731552>; - turn rloarm to y-axis <0.0> speed <8.784251>; - turn rloarm to z-axis <0.0> speed <12.927996>; - turn rhandgun to x-axis <0.0> speed <107.579901>; - turn luparm to x-axis <0.0> speed <168.715782>; - turn luparm to y-axis <0.0> speed <16.362178>; - turn luparm to z-axis <0.0> speed <22.120720>; - turn lloarm to x-axis <0.0> speed <74.179200>; - turn lloarm to y-axis <0.0> speed <11.761690>; - turn lloarm to z-axis <0.0> speed <14.854698>; - turn lhandgun to x-axis <0.0> speed <107.974460>; + if (!bAiming) { + turn ruparm to x-axis <0.000000> speed <166.979216>; + turn ruparm to y-axis <0.000000> speed <19.379033>; + turn ruparm to z-axis <0.000000> speed <22.019652>; + turn rloarm to x-axis <0.000000> speed <73.731552>; + turn rloarm to y-axis <0.000000> speed <8.784251>; + turn rloarm to z-axis <0.000000> speed <12.927996>; + turn rhandgun to x-axis <0.000000> speed <107.579901>; + turn luparm to x-axis <0.000000> speed <168.715782>; + turn luparm to y-axis <0.000000> speed <16.362178>; + turn luparm to z-axis <0.000000> speed <22.120720>; + turn lloarm to x-axis <0.000000> speed <74.179200>; + turn lloarm to y-axis <0.000000> speed <11.761690>; + turn lloarm to z-axis <0.000000> speed <14.854698>; + turn lhandgun to x-axis <0.000000> speed <107.974460>; } } // REMEMBER TO animspeed = 4 in Create() !! @@ -444,43 +445,43 @@ UnitSpeed(){ sleep 131; } } -StartMoving(reversing){ - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; - isMoving=TRUE; +StartMoving(){ + signal SIG_WALK; + set-signal-mask SIG_WALK; + bMoving=TRUE; start-script UnitSpeed(); start-script Walk(); } StopMoving(){ - signal SIGNAL_MOVE; - isMoving=FALSE; + signal SIG_WALK; + bMoving=FALSE; call-script StopWalking(); } ready2() { - move pelvis to z-axis [0.0] now; - move body to y-axis [0.0] now; - //move head to z-axis [0.0] now; - move luparm to x-axis [0.0] now; - move ruparm to x-axis [0.0] now; + move pelvis to z-axis [0.000000] now; + move body to y-axis [0.000000] now; + //move head to z-axis [0.000000] now; + move luparm to x-axis [0.000000] now; + move ruparm to x-axis [0.000000] now; turn ruparm to x-axis <35.159341> now; turn ruparm to x-axis <13.703297> speed <306.434066>; turn luparm to x-axis <35.159341> now; turn luparm to x-axis <13.357143> speed <311.456044>; - turn luparm to z-axis <0.0> now; + turn luparm to z-axis <0.000000> now; turn luparm to z-axis <-24.615385> speed <351.648352>; turn lloarm to x-axis <-52.390110> now; turn lloarm to x-axis <-32.346154> speed <286.335165>; - turn ruparm to z-axis <0.0> now; + turn ruparm to z-axis <0.000000> now; turn ruparm to z-axis <24.615385> speed <351.648352>; turn rloarm to x-axis <-52.038462> now; turn rloarm to x-axis <-32.346154> speed <281.313187>; sleep 30; - turn ruparm to x-axis <0.0> speed <171.423077>; - turn luparm to x-axis <0.0> speed <167.027473>; + turn ruparm to x-axis <0.000000> speed <171.423077>; + turn luparm to x-axis <0.000000> speed <167.027473>; turn luparm to z-axis <-20.038462> speed <57.137363>; turn lloarm to x-axis <-30.945055> speed <17.582418>; turn ruparm to z-axis <20.038462> speed <57.137363>; @@ -497,22 +498,22 @@ ready2() turn ruparm to x-axis <-68.214286> speed <534.505495>; turn luparm to x-axis <-68.214286> speed <541.538462>; - turn luparm to z-axis <0.0> speed <225.049451>; - turn lloarm to x-axis <0.0> speed <344.615385>; - turn ruparm to z-axis <0.0> speed <225.049451>; - turn rloarm to x-axis <0.0> speed <330.549451>; + turn luparm to z-axis <0.000000> speed <225.049451>; + turn lloarm to x-axis <0.000000> speed <344.615385>; + turn ruparm to z-axis <0.000000> speed <225.049451>; + turn rloarm to x-axis <0.000000> speed <330.549451>; sleep 5; turn ruparm to x-axis <-90.016484> speed <436.038462>; turn luparm to x-axis <-90.016484> speed <436.038462>; sleep 5; - turn lholster to y-axis <30.945055> speed <427.0>; + turn lholster to y-axis <30.945055> speed <427.000000>; turn rholster to y-axis <-30.593407> speed <421.978022>; sleep 5; - turn lholster to y-axis <0.0> speed <442.071429>; - turn rholster to y-axis <0.0> speed <437.038462>; + turn lholster to y-axis <0.000000> speed <442.071429>; + turn rholster to y-axis <0.000000> speed <437.038462>; sleep 5; } @@ -520,11 +521,11 @@ ready2() ready() //move hands above hipguns, extend the holsters { - move pelvis to z-axis [0.0] now; - move body to y-axis [0.0] now; - move head to z-axis [0.0] now; - move luparm to x-axis [0.0] now; - move ruparm to x-axis [0.0] now; + move pelvis to z-axis [0.000000] now; + move body to y-axis [0.000000] now; + move head to z-axis [0.000000] now; + move luparm to x-axis [0.000000] now; + move ruparm to x-axis [0.000000] now; sleep 40; turn rholster to z-axis <-90> speed <360>; @@ -552,14 +553,14 @@ ready() //move hands above hipguns, extend the holsters //turn head to x-axis <-65> speed <200>; - turn luparm to z-axis <0.0> now; + turn luparm to z-axis <0.000000> now; turn luparm to z-axis <-23.203297> speed <140.659341>; - turn lloarm to x-axis <0.0> now; + turn lloarm to x-axis <0.000000> now; turn lloarm to x-axis <-28.835165> speed <174.758242>; turn lloarm to z-axis <0> speed <300>; - turn ruparm to z-axis <0.0> now; + turn ruparm to z-axis <0.000000> now; turn ruparm to z-axis <22.857143> speed <138.527473>; - turn rloarm to x-axis <0.0> now; + turn rloarm to x-axis <0.000000> now; turn rloarm to x-axis <-28.478022> speed <172.626374>; turn rloarm to z-axis <0> speed <300>; sleep 30; @@ -600,11 +601,11 @@ ready() //move hands above hipguns, extend the holsters holster() { - move pelvis to z-axis [0.0] now; - move body to y-axis [0.0] now; - //move head to z-axis [0.0] now; - move luparm to x-axis [0.0] now; - move ruparm to x-axis [0.0] now; + move pelvis to z-axis [0.000000] now; + move body to y-axis [0.000000] now; + //move head to z-axis [0.000000] now; + move luparm to x-axis [0.000000] now; + move ruparm to x-axis [0.000000] now; turn ruparm to x-axis <-90.016484> now; turn luparm to x-axis <-90.016484> now; sleep 15; @@ -617,8 +618,8 @@ holster() turn ruparm to z-axis <35.159341> speed <184.104396>; sleep 15; - turn ruparm to x-axis <0.0> speed <281.313187>; - turn luparm to x-axis <0.0> speed <258.703297>; + turn ruparm to x-axis <0.000000> speed <281.313187>; + turn luparm to x-axis <0.000000> speed <258.703297>; turn luparm to z-axis <-40.082418> speed <32.648352>; turn ruparm to z-axis <38.324176> speed <22.604396>; sleep 15; @@ -636,21 +637,21 @@ holster() turn rloarm to z-axis <-43.247253> speed <186.434066>; sleep 15; - //move rshoulder to y-axis [0.0] speed [7.835803]; - //move lshoulder to y-axis [0.0] speed [8.582074]; - turn ruparm to x-axis <0.0> speed <200.0>; + //move rshoulder to y-axis [0.000000] speed [7.835803]; + //move lshoulder to y-axis [0.000000] speed [8.582074]; + turn ruparm to x-axis <0.000000> speed <200.000000>; turn luparm to z-axis <-14.769231> speed <178.445055>; turn lloarm to z-axis <33.758242> speed <76.093407>; turn ruparm to z-axis <17.923077> speed <144.324176>; turn rloarm to z-axis <-36.571429> speed <49.857143>; sleep 15; - move luparm to x-axis [0.0] speed [0.000061]; - move ruparm to x-axis [0.0] speed [0.000061]; - turn luparm to z-axis <0.0> speed <175.824176>; - turn lloarm to z-axis <0.0> speed <401.879121>; - turn ruparm to z-axis <0.0> speed <213.500000>; - turn rloarm to z-axis <0.0> speed <435.368132>; + move luparm to x-axis [0.000000] speed [0.000061]; + move ruparm to x-axis [0.000000] speed [0.000061]; + turn luparm to z-axis <0.000000> speed <175.824176>; + turn lloarm to z-axis <0.000000> speed <401.879121>; + turn ruparm to z-axis <0.000000> speed <213.500000>; + turn rloarm to z-axis <0.000000> speed <435.368132>; sleep 30; } @@ -658,11 +659,11 @@ holster2() { ///// - move pelvis to z-axis [0.0] now; - move body to y-axis [0.0] now; - //move head to z-axis [0.0] now; - move luparm to x-axis [0.0] now; - move ruparm to x-axis [0.0] now; + move pelvis to z-axis [0.000000] now; + move body to y-axis [0.000000] now; + //move head to z-axis [0.000000] now; + move luparm to x-axis [0.000000] now; + move ruparm to x-axis [0.000000] now; sleep 40; turn rholster to z-axis <-90> speed <360>; @@ -706,7 +707,7 @@ holster2() } -Open() +Go() { call-script ready(); hide rhipgun; @@ -717,11 +718,11 @@ Open() ReadyToAim = 1; } -Close() +Stop() { ReadyToAim = 0; call-script holster(); - isAiming = FALSE; + bAiming = FALSE; call-script holster2(); } @@ -733,7 +734,34 @@ Close() #define UNITSIZE 5 #define MAXTILT 100 -#include "../unit_hitbyweaponid_and_smoke.h" +#include "unit_hitbyweaponid_and_smoke.h" + +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState ) + { + call-script Stop(); + currentstate = 1; + } + else + { + call-script Go(); + currentstate = 0; + } + } + statechg_StateChanging = FALSE; +} + Create() @@ -742,8 +770,8 @@ Create() hide rflare; hide aimx1; hide aimy1; - isMoving = FALSE; - isAiming = FALSE; + bMoving = FALSE; + bAiming = FALSE; gun_1 = rflare; ReadyToAim = 0; animspeed = 4; @@ -752,11 +780,13 @@ Create() turn lflare to x-axis <90> now; turn rflare to x-axis <90> now; restore_delay = 2000; + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; } -SetMaxReloadTime(reloadMS) +SetMaxReloadTime(Func_Var_1) { - restore_delay = reloadMS * 2; + restore_delay = Func_Var_1 * 2; } static-var Stunned; @@ -766,10 +796,10 @@ ExecuteRestoreAfterDelay() return (1); } set-signal-mask 0; - start-script OpenCloseAnim(0); - turn aimy1 to y-axis <0.0> speed <200.038462>; - isAiming = FALSE; - wpn1_lasthead = 0xbadface; + start-script RequestState(1); + turn aimy1 to y-axis <0.000000> speed <200.038462>; + bAiming = FALSE; + wpn1_lasthead = 1000000; } SetStunned(State) { @@ -780,16 +810,16 @@ SetStunned(State) } RestoreAfterDelay() { - set-signal-mask SIGNAL_AIM1; + set-signal-mask SIG_AIM; sleep restore_delay; start-script ExecuteRestoreAfterDelay(); } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - start-script OpenCloseAnim(1); - isAiming = TRUE; + signal SIG_AIM; + start-script RequestState(0); + bAiming = TRUE; turn aimy1 to y-axis heading speed <250.027473>; turn aimx1 to x-axis -1*pitch speed <150>; @@ -797,9 +827,9 @@ AimWeapon1(heading, pitch) { return(0); } - if ((wpn1_lasthead == 0xbadface) OR ABSOLUTE_GREATER_THAN(WRAPDELTA(heading - wpn1_lasthead), <7>)) + if (((get ABS(wpn1_lasthead - heading)) > 65536) OR(((get ABS(wpn1_lasthead - heading)) > 1300) AND ((get ABS(wpn1_lasthead - heading)) < 64236))) { - wpn1_lasthead = 0xbadface; + wpn1_lasthead = 1000000; wait-for-turn aimy1 around y-axis; wait-for-turn aimx1 around x-axis; } @@ -808,7 +838,7 @@ AimWeapon1(heading, pitch) return (1); } -FireWeapon1() +FirePrimary() { if( gun_1 ) { @@ -822,17 +852,20 @@ FireWeapon1() gun_1 = !gun_1; } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = body; + piecenum = body; } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = gun_1; + piecenum = gun_1; } - +SweetSpot(piecenum) +{ + piecenum = body; +} Killed(severity, corpsetype) { @@ -841,8 +874,25 @@ Killed(severity, corpsetype) corpsetype = 1 ; explode pelvis type BITMAPONLY | NOHEATCLOUD; explode body type BITMAPONLY | NOHEATCLOUD; + //explode luparm type BITMAPONLY | NOHEATCLOUD; explode lloarm type BITMAPONLY | NOHEATCLOUD; explode lhandgun type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lflare type BITMAPONLY | NOHEATCLOUD; + //explode rholster type BITMAPONLY | NOHEATCLOUD; + //explode rhipgun type BITMAPONLY | NOHEATCLOUD; + //explode lholster type BITMAPONLY | NOHEATCLOUD; + //explode lhipgun type BITMAPONLY | NOHEATCLOUD; + //explode ruparm type BITMAPONLY | NOHEATCLOUD; + //explode rloarm type BITMAPONLY | NOHEATCLOUD; + //explode rhandgun type BITMAPONLY | NOHEATCLOUD; + //explode rflare type BITMAPONLY | NOHEATCLOUD; + //explode head type BITMAPONLY | NOHEATCLOUD; + //explode rthigh type BITMAPONLY | NOHEATCLOUD; + //explode rleg type BITMAPONLY | NOHEATCLOUD; + //explode rfoot type BITMAPONLY | NOHEATCLOUD; + //explode lthigh type BITMAPONLY | NOHEATCLOUD; + //explode lleg type BITMAPONLY | NOHEATCLOUD; + //explode lfoot type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } if( severity <= 50 ) @@ -853,6 +903,22 @@ Killed(severity, corpsetype) explode luparm type FIRE | SMOKE | FALL | NOHEATCLOUD; explode lloarm type FALL | NOHEATCLOUD; explode lhandgun type FALL | NOHEATCLOUD; + //explode lflare type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rholster type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rhipgun type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lholster type FALL | NOHEATCLOUD; + //explode lhipgun type FALL | NOHEATCLOUD; + //explode ruparm type FALL | NOHEATCLOUD; + //explode rloarm type FALL | NOHEATCLOUD; + //explode rhandgun type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rflare type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode head type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rthigh type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rleg type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rfoot type FALL | NOHEATCLOUD; + //explode lthigh type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lleg type FALL | NOHEATCLOUD; + //explode lfoot type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } if( severity <= 99 ) @@ -863,6 +929,22 @@ Killed(severity, corpsetype) explode luparm type FIRE | SMOKE | FALL | NOHEATCLOUD; explode lloarm type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode lhandgun type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode lflare type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rholster type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode rhipgun type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lholster type SMOKE | FALL | NOHEATCLOUD; + //explode lhipgun type SMOKE | FALL | NOHEATCLOUD; + //explode ruparm type SMOKE | FALL | NOHEATCLOUD; + //explode rloarm type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rhandgun type SMOKE | FALL | NOHEATCLOUD; + //explode rflare type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode head type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rthigh type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode rleg type SMOKE | FALL | NOHEATCLOUD; + //explode rfoot type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode lthigh type SMOKE | FALL | NOHEATCLOUD; + //explode lleg type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; + //explode lfoot type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; @@ -871,5 +953,21 @@ Killed(severity, corpsetype) explode luparm type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode lloarm type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode lhandgun type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lflare type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rholster type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode rhipgun type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode lholster type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode lhipgun type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode ruparm type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rloarm type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rhandgun type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rflare type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode head type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode rthigh type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode rleg type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode rfoot type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lthigh type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode lleg type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; + //explode lfoot type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/armmav.cob b/scripts/Units/armmav.cob index f33ee8923b6ccb748a91cd29fe683e501b982fd2..77502f09d95aff9a9a482b590c3fb24073afb55e 100644 GIT binary patch literal 23382 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 speed <25.0>; - turn gunr to x-axis <-11> speed <25.0>; + turn gunl to x-axis <-11> speed <25.00000>; + turn gunr to x-axis <-11> speed <25.00000>; spin turret around y-axis speed <20.0>; firstaim = 1; } @@ -47,21 +47,24 @@ Create() gun_1 = 1; firstaim = 1; - SLEEP_UNTIL_UNITFINISHED; + while( get BUILD_PERCENT_LEFT ) + { + sleep 400; + } start-script ExecuteRestoreAfterDelay(); } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; // call-script lua_TargetCheck(); // if ((get DELAY_UNIT_VAR) == 0) { // return(0); // } - turn turret to y-axis heading speed <125.0>; - turn gunr to x-axis <0.0> - pitch speed <100.0>; - turn gunl to x-axis <0.0> - pitch speed <100.0>; + turn turret to y-axis heading speed <125.000000>; + turn gunr to x-axis <0.000000> - pitch speed <100.000000>; + turn gunl to x-axis <0.000000> - pitch speed <100.000000>; wait-for-turn turret around y-axis; wait-for-turn gunl around x-axis; wait-for-turn gunr around x-axis; @@ -69,7 +72,7 @@ AimWeapon1(heading, pitch) return (1); } -FireWeapon1() +FirePrimary() { if( gun_1 == 1 ) { @@ -84,24 +87,27 @@ FireWeapon1() set DELAY_UNIT_VAR to 0; } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { if( gun_1 == 1 ) { - pieceIndex = flarel; + piecenum = flarel; } if( gun_1 == 2 ) { - pieceIndex = flarer; + piecenum = flarer; } } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = turret; + piecenum = turret; } - +SweetSpot(piecenum) +{ + piecenum = base; +} Killed(severity, corpsetype) { diff --git a/scripts/Units/armmercury.cob b/scripts/Units/armmercury.cob index 9e65f1b28a1d95a6bcbb59c09759e70383e59f25..586169a628883523589c6f3aed8b4c9a7396cb89 100644 GIT binary patch literal 2823 zcmcImziSjx5T0xtw9| zh{d8>Lf$A9;7hfPtUSiQcEw{D`y}>m>X@DL%|WG&Ci+>Ca}8{6jvL-ay#DNA+2#Ee?=UO}z+Xz` zY5jL-fcQs$ZEQ#+?k#*=)~9c){qQ`w3&9m}eWvi)7x~aw*5msqhxD^A&S?94=4N{Y zn_w2pWhS3k5BI`|_sNTqdGY%t{T))C2u%#VYk%oCcB;UK<|3}` zdDXqE)q76=bbYYXM>w^L*TuJRke-?Y?N#vc08+0>?I+Q%^VTBMfpQ6y(Go)+1J=V=cJVn4cn|BENS1M3vo8^$t+ zJd#`LJ+E_LsnS-27v-`@KUpqWvj|^W%Qo!i$eT&`YFJJY?uO;()l?pb~`vH-acc>s9~c?x*}c@23Bc@Oyr z`3(6A`40IB`3(ssL~1MTJLXEOk;sKcGTpsq>Z|RRoV#ZhJBhh$){=H?rj`>E&zNSt zD>akUl1{5-mgHaO+1S(*BU6o)YTQ_<$6c9i#76Z?9TRu;f|%L3-H)r?H2_|1CvvgT eYyy0_S&vQA9kDFb*Nh~cI5vsg>a?2t70Vyj`Oz)_ literal 2750 zcma)8J!n)x5T3hSP7NYY1kvs=U?uTlqo74D=0^#EXuzK?XKoWhE_dPO9hyS0I6+X- z2!bM#bT%oJ6pE!F*jrnr2-pO)5E0_{?e5$yFS*2n$?nX2GxP22>?1i5ISR=`Ze>Nf zvGUhEBC-M5gq(x^7poMqQ7D-x8yzROkc(t0A2APY71}295%)Rn;pe`@eX-kO&tRK_ ztqUuCbjd{9M_UG_T+v}9%15AQe_0>Ll^Cwp0StA`sXRi?#4-=_{~~yxE6Ns~E%Y&m zM2^p($J4}fg*aQopK09VXw#gmbLp7ls9fziie0uRHXaJhS$`1Se}!@5GxNwg~X&;hA|K61h9k zSgumc*fXs_QSRxU?d4-=3y-_g-mn*(*=_I7QOBI}4BV14SH|)zI=5fFjV7JVFn<_l zbNU(j=HqD78jK^4R*i@+LTA~{-lq3w2;6ovA_Mto%iFVoU1OQ=0{rYN`$qhGkEfY4 z%u1FYdho~lm`dO67d&j{>HEF2BbZH#^|-W8zZt|c1y_5QMcgEHZ{y0I>5N0Q^>`=B zoqpD8@mqC$=w&e8x19xSwU+XIaso!4wF5?`#P*sikTzcVq;=&Ne%potX3cR1`JP_h zhm(GDEKlMV-S^NoVQk-cFGDY$nY_Ip2^-Wg8b%FTUf*IewI z?#bEKn{ac&(ruf&kEa08#$NHx6vI{LOKrsHxBaD$WB$G3Y`;Lzu8b=j24nvwz=wV1 zY|ur!VxmK>H=w$` zd-z{_Kkq2S(;Vu&t59eD)|{YE`ksif-vZC;IGR8kd%<&c;-x&4R}*;hR$i*p%zTPh zUaIfMYns8H*G11u`~APXR+uB;^~~#B_Tr`ZG%sQgs{O*})}Flay7olJY)>=5V8jO1o;f%|6)Boz(IN;S0JO1yO1f!Jmfy433(2A1zCf< zg{(t1ARi&u=90nX+orr&uU)T%nhcc}%Cn|2xlo@sGW@_yHxhHxEG6~Wlx7kW51DFt zStd;~nKWuOQ<2@ytFb93MoM!Fu0p?z%*96cHyS4PrTd8)iR&%g*j%-Wlrz -#define TB_TILT_X <0.15> -#define TB_BANK_Z <0.15> // Do not define this if you dont want banking -#include "../tilt_bank_mobileunit.h" +#include "unit_hitbyweaponid_and_smoke.h" -Create() +Go() { - hide flare; + set ARMORED to 1; + turn door to z-axis <90> speed <90>; + sleep 1000; + turn turret to y-axis <-90> speed <90>; + sleep 1000; + OpenedState = 1; +} + +Stop() +{ OpenedState = 0; - restore_delay = 3000; set ARMORED to 0; - call-script TB_Init(); + turn turret to y-axis <0> speed <90>; + sleep 1000; + turn door to z-axis <0> speed <90>; + sleep 1000; + return (0); } -StartMoving(reversing) +InitState() { - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; - START_TILTBANK; + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; + return (0); } -StopMoving() +RequestState(requestedstate, currentstate) { - signal SIGNAL_MOVE; - STOP_TILTBANK; + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + call-script Go(); + currentstate = 0; + } + if( statechg_DesiredState == 1 ) + { + call-script Stop(); + currentstate = 1; + } + } + statechg_StateChanging = FALSE; + return (0); } -SetMaxReloadTime(reloadMS) +Create() { - restore_delay = reloadMS; + hide flare; + OpenedState = 0; + restore_delay = 3000; + call-script InitState(); + set ARMORED to 0; + return (0); +} + +SetMaxReloadTime(Func_Var_1) +{ + restore_delay = Func_Var_1; return (0); } @@ -60,14 +101,8 @@ ExecuteRestoreAfterDelay() if (Stunned) { return (1); } - if (OpenedState){ - OpenedState = 0; - set ARMORED to 0; - turn turret to y-axis <0> speed <90>; - wait-for-turn turret around y-axis; - turn door to z-axis <0> speed <90>; - wait-for-turn door around z-axis; - } + set-signal-mask 0; + start-script RequestState(1); } SetStunned(State) { @@ -78,40 +113,41 @@ SetStunned(State) } RestoreAfterDelay() { - signal SIGNAL_IDLE; - set-signal-mask SIGNAL_IDLE; + signal SIG_RESTORE; + set-signal-mask SIG_RESTORE; sleep restore_delay; start-script ExecuteRestoreAfterDelay(); } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; - - if (!OpenedState){ - set ARMORED to 1; - turn door to z-axis <90> speed <90>; - wait-for-turn door around z-axis; - turn turret to y-axis <-90> speed <90>; - wait-for-turn turret around y-axis; + start-script RequestState(0); + signal SIG_AIM; + set-signal-mask SIG_AIM; + while( !OpenedState ) + { + sleep 250; } - OpenedState = 1; - start-script RestoreAfterDelay(); return (1); } -FireWeapon1() +FirePrimary() { + return (0); } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = flare; + piecenum = flare; + return (0); } - +SweetSpot(piecenum) +{ + piecenum = base; + return (0); +} Killed(severity, corpsetype) { diff --git a/scripts/Units/armmerl.cob b/scripts/Units/armmerl.cob index e978156b8a0ca22a52ec678fb2f76dcd8d973e42..252bec35debaa54a0fc0e70f61dbc1d46df8d9da 100644 GIT binary patch literal 3165 zcmbVOJBSle6up~`@edXr2(4NJ}GIN;=<1;@w!NLW6H&4xtej% zpL?4#mpy)e9yfA2&Y3>>eEX@ujHH_Jv({c60cx}yp6{-=kJ0g4b`COG3GRD+sh~gS z^$=QT{;t`4cvm?O&gdzY%&&I^Gh_vvSHIWn{=D=$rn7lSP|0Quo!uQu`tQ+1EY<)Aoy;rnxZ?iIAJ42q0zGFDI9Y|m^E^_dG=J^?;Hw%(? zQfmVj`7O3*hn{ws&(3`Y8?)KWq?XwZ(J`!KHDPIX%aM;$P9Hbzw|21Eq=J4}Y zo^F5kd_VXtFY*-gkh91AD4XqV1|fdElKxo-Ytq@Zvs}7HUUFzXct?iC+Fk1PRj847 zQ9Q4%J+GGGYkP$xjQ>F;b4^x)=e}P4i{nGP)>6xAR3+BTPaE%~eII+Zh}Wc@%^U0UpsfJFN6#G=t36H zWt2LM&w5zRjLdhGJjH%l`zSr-bFTIb2gQui-~YxJd*u<$0S|$9z!!kOKQ;riz$G9C zZUT3JN5C84E${*O1n@WTE#MyT7I?B@cXqLv=C#ueIT1@ejoUH}Q$3ARC$sKK$6fWCBZ;G~?$T4y z(yVL6QR7T=!O5{DccGKISvbatJA5&9$x+vemg!kfJBy310ivSuaC4!SG#8>|S&lao pXY11)mn_?+e%*nh9j7wWY_&jhKDz3p5yy$7og{IoTx>;&li%c*YmQjmfWTvbQ5)jL(y{4jJ2-KTSuK?|K|R_S2ZQlRM@|o#*g6MmZ9FVVYOWZ`b^4 zEcju$b8@noJTiSf(#N@v!>)6{JrMt^;i>kwevUkPW*_^&vW~?_7tf9u)*kojcN3r9 z6K8wdW;zS zV2VF;P-oE|e=n>sneEVw#iB~z z<_abRmhq@!Ej%gzgx?~{?2q!BcG51b{fV^j_EZ@A`+FyzezH~mCMkctXw& zZy>41jb~k*EisSYA7ceIYrPD_Eylt4lW^42PMq_e)9)wlg>{eWAKL!`2EhDZW*mHC zfAaWA7~QS%xLd|xKHatF`1<#Z#v^#E+zD;QVlaeQ9T!jsu|6M-kKLor=fhJlAKE7M z?YPD-c!R(Zqj4&8q|Wbzz4N~nKg^~01*?@x@a%;)zMuH_fM&N7AQMeGa+-`U-RlGz5JQ`Wf^G=r7QJpvRz> zUK4o>Gy^&eIs!ThI@>E|uYMfTt!yyYjU`#kRyRHx^a?qZZl>#@yR?~Y1X-T_bdJj9 zUcZ=42OIK19?~MnQjzAxe0I4vSO=eNIU9=k^vYuBXK8o2w;AO0m9V;9gvD^F$nwxx zD?)xM^wX=d6pE!{doT!H`M; - spin arms2 around y-axis speed -1*resourceRate accelerate <0.5>; + start-script RequestState(0); } Deactivate() { - dbg(resourceRate); - stop-spin arms1 around y-axis decelerate <1>; - stop-spin arms2 around y-axis decelerate <1>; + start-script RequestState(1); } +SweetSpot(piecenum) +{ + piecenum = base; +} - -SetSpeed(windOrMetal) +SetSpeed(Func_Var_1) { - dbg(windOrMetal); - resourceRate = windOrMetal * 20; - if (resourceRate > 0) call-script Activate(); // Because SetSpeed is called after Activate + Static_Var_1 = Func_Var_1 * 20; } Killed(severity, corpsetype) diff --git a/scripts/Units/armmex.cob b/scripts/Units/armmex.cob index b01c003db324b7df172c9760a08244b9fb862c5d..648e7619699a45ad88365fe960e09da321a1cc11 100644 GIT binary patch literal 2202 zcmb_dF>4f25T4t+Y|Cw1i2aOP23siP0!ffH;^31_o$CI34fawDhi1iXYk^#{A=qg@t8 z^O((I;2qYf>ft`rZYGYsnXiF!qjIKp$r7-mCi>ZN zP10;NET?I)UY}|lb?`C2#c@`5)K34T`I{E{$lOqGPW6K@K*VGu;E_8&nf@QUsyRY_7jwK*9&MBA%`?8qdmr;# ze?dpM75Z&xzK@!(M&ehAcM3E8r1oUY{#xx=f=>2ufP3`MnS8_6`eGk^ucN)iKI+Iz z9@AU@;?lrnx@wN$9)9-Cn4t|dEDz%+`T0E<-)3fKYOH>rw9iriW>~#1G#PiCf0({3 z_O)E;%kC(1W}t9=gjG6tKW=(>7c-c~eb(b7AMYmb2RYPKy({7UtCk0`a01}}>O;U$;5aY`oB_@QSAd(qDo_C1z+>PE z@Cz3^@FTJ!qHe0=(UzKZqW6KZJes0qT_j+;HUk6(*cFV=>8$RzB sJvqBlcJI->|sK!ryuM0sZim{r~^~ literal 1958 zcma)-Jx^3o5Qb-WFN?;691|^!&34Ab;!0s?Oh70=8WRdljEPtF28k>ntR&i*NK2=M z8pAKJ^jGM=ps>@z9^dEOGwkJxt4n6*%-8$QoR1|lv-6UUT-$Zh?QoY^l2490k*ll8P)rDAvl?Ax2 zrTjjH2`gjW%OdU^>wF^S-qtcxeOr3OF^b`17WyE^LN`P#Et!wKL7$peIrtIky^ng& z)Hvraif22aomakk3=9iZKaUa~F6OG|MUFJn)0BtLG3jGQhd_<@8t2J7aZh5sda$0w z{r29d@qM8dYUi~-YDe|tF)y`mv_$VqJHKN#wdK_rc`h)`9Jf8Uo`a8>eedTIC-&d^ z2JbrwX&z?gJS71JKr15f;)Rb3*s5J?kO{{^gSoW zEPii~v~)bbn{NBvApHb0-Ju^fpL38yALz&t;){sW-M+a7Q+E?V7*d z^R&|0SN4tkZwUuCeZoX3dvG~nVfwp$s3kekms{1R3^<9QkM$Ylz-86jO7U1LE^@zM z%$~+^U%c~;8qTRc&n4pX6c<5{I9@q9=;@g0rf`PATXyU9b( z|H69rpID@ErdK6PlCP2}^?O}%OR_BC|J%IeuH=EFFL^F`CE1r8NZv}`OAaL~<#1*A zVso?X+x$*h3`<*FAKrO+zbv-5HkbN!%NB}3u~zn123yZcn_C^O?~%Vy7QO^*yA;&& U`o@OTlVZ2DVrQ^>Gk#CoZ~Xm(nE(I) diff --git a/scripts/Units/armmh.bos b/scripts/Units/armmh.bos index e6adb12455b..cd91481132f 100644 --- a/scripts/Units/armmh.bos +++ b/scripts/Units/armmh.bos @@ -1,27 +1,134 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" -piece ground, base, flare, box, wake; +piece flare, base, box, wake; + +static-var Static_Var_1, Static_Var_2, restore_delay, statechg_DesiredState, statechg_StateChanging, Wobble_status, pivotAngle; -static-var isOpen, restore_delay, pivotAngle; - // Signal definitions -#define SIGNAL_AIM1 256 -#define SIGNAL_MOVE 1 -#define SIGNAL_IDLE 8 +#define SIG_AIM 2 +#define SIG_MOVE 4 +#define SIG_RESTORE 8 +#define SIG_IDLE 16 + +WobbleUnit() +{ + while( TRUE ) + { + if( Wobble_status) + { + if( get GROUND_WATER_HEIGHT(get UNIT_XZ) < 0 ) //Over Water + { + move base to y-axis [0.250000] speed [0.50000]; + } + else + { + move base to y-axis [1.000000] speed [0.50000]; + } + } + else + { + if( get GROUND_WATER_HEIGHT(get UNIT_XZ) < 0 ) //Over Water + { + move base to y-axis [-0.750000] speed [0.50000]; + } + else + { + move base to y-axis [0.000000] speed [0.50000]; + } + } + Wobble_status = !Wobble_status; + sleep 260; + } +} +BankControl() +{ + var lastHeading, currHeading, diffHeading; + lastHeading = GET HEADING; + while (TRUE) + { + currHeading = GET HEADING; + diffHeading = currHeading - lastHeading; + // Set values for tilt -#define HOVER_BASE base -#define HOVER_BANKSPEED <10> -#define HOVER_ROCKBASE ground -#define HOVER_WOBBLE_PERIOD 55 -#define HOVER_WOBBLE_AMPLITUDE [0.8] -#define HOVER_WAKEPIECE wake -#define HOVER_IDLE_SFX 1024 + 2 -#define HOVER_WAKE_SFX_1 1024 + 0 -#define HOVER_WAKE_SFX_2 1024 + 1 -#include "../bar_hovercraft_common.h" + //Remove Extreme values + if ( diffHeading > 1500 ) diffHeading = 1500; + if ( diffHeading < -1500 ) diffHeading = -1500; + //get PRINT(diffHeading); + turn base to z-axis 1.0 * diffHeading speed <23>; + + lastHeading = currHeading; + sleep 67; + } +} + +activatescr() +{ + if( TRUE ) + { + turn base to x-axis <0.000000> now; + turn base to x-axis <1.000000> speed <3.000000>; + turn box to x-axis <0.000000> now; + turn box to x-axis <-20.000000> speed <58.000000>; + sleep 352; + } + if( TRUE ) + { + turn base to x-axis <0.000000> speed <3.000000>; + turn box to x-axis <-70.016484> speed <141.000000>; + sleep 354; + } + if( TRUE ) + { + turn base to x-axis <-3.000000> speed <9.000000>; + turn box to x-axis <-93.021978> speed <64.000000>; + sleep 353; + } + if( TRUE ) + { + turn base to x-axis <0.000000> speed <9.000000>; + turn box to x-axis <-90.021978> speed <8.000000>; + sleep 355; + } + sleep 16; + return (0); + // Build by COBBLER Ver4.0 Copyright @1998 DIGITAL CONCEPT SOFTWARE (MANU@inext.fr) / http://www.annihilationcenter.com/DCS/ +} +deactivatescr() +{ + if( TRUE ) + { + turn base to x-axis <0.000000> now; + turn base to x-axis <-3.000000> speed <12.000000>; + turn box to x-axis <-90.021978> now; + turn box to x-axis <-93.021978> speed <12.000000>; + sleep 262; + } + if( TRUE ) + { + turn base to x-axis <0.000000> speed <11.000000>; + turn box to x-axis <-70.016484> speed <86.000000>; + sleep 266; + } + if( TRUE ) + { + turn base to x-axis <1.000000> speed <4.000000>; + turn box to x-axis <-20.000000> speed <189.000000>; + sleep 264; + } + if( TRUE ) + { + turn base to x-axis <0.000000> speed <4.000000>; + turn box to x-axis <0.000000> speed <76.000000>; + sleep 267; + } + sleep 13; + return (0); +} #define BASEPIECE base @@ -30,23 +137,118 @@ static-var isOpen, restore_delay, pivotAngle; #define UNITSIZE 2 #define MAXTILT 100 -#include "../unit_hitbyweaponid_and_smoke.h" +#include "unit_hitbyweaponid_and_smoke.h" + +Go() +{ + if( !Static_Var_1 ) + { + call-script activatescr(); + } + Static_Var_1 = 1; + return (0); +} + +Stop() +{ + Static_Var_1 = 0; + call-script deactivatescr(); + return (0); +} + +InitState() +{ + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; + return (0); +} + +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState == 0 ) + { + call-script Go(); + currentstate = 0; + } + if( statechg_DesiredState == 1 ) + { + call-script Stop(); + currentstate = 1; + } + } + statechg_StateChanging = FALSE; + return (0); +} + +HoverIdle() +{ + signal SIG_IDLE; + set-signal-mask SIG_IDLE; + while( TRUE ) + { + emit-sfx 1024 + 2 from wake; + sleep 1750; + } + //return (1); +} + + +StartMoving() +{ + signal SIG_MOVE; + set-signal-mask SIG_MOVE; + signal SIG_IDLE; + var waketime; + var bowtime; + while( TRUE ) + { + emit-sfx 1024 + 0 from wake; + if (bowtime) emit-sfx 1024 + 1 from wake; + bowtime = !bowtime; + waketime = (get CURRENT_SPEED) * 100 / get MAX_SPEED; + if( waketime < 30 ) waketime = 30; + sleep 15000 / waketime; + } +} +StopMoving() +{ + signal SIG_MOVE; + signal SIG_IDLE; + start-script HoverIdle(); + return (0); +} Create() { hide wake; hide flare; - isOpen = 0; + Static_Var_1 = 0; restore_delay = 3000; - SLEEP_UNTIL_UNITFINISHED; - start-script HoverCraftMotion(); + call-script InitState(); + while( get BUILD_PERCENT_LEFT ) + { + sleep 400; + } + start-script BankControl(); + start-script WobbleUnit(); } -SetMaxReloadTime(reloadMS) +SetMaxReloadTime(Func_Var_1) { - restore_delay = reloadMS * 2; + restore_delay = Func_Var_1 * 2; + return (0); } static-var Stunned; @@ -55,7 +257,8 @@ ExecuteRestoreAfterDelay() if (Stunned) { return (1); } - turn box to x-axis <90> speed <90.0>; + set-signal-mask 0; + start-script RequestState(1); } SetStunned(State) { @@ -66,39 +269,48 @@ SetStunned(State) } RestoreAfterDelay() { - signal SIGNAL_IDLE; - set-signal-mask SIGNAL_IDLE; + signal SIG_RESTORE; + set-signal-mask SIG_RESTORE; sleep restore_delay; start-script ExecuteRestoreAfterDelay(); } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; - - turn box to x-axis <-90> speed <90.0>; - wait-for-turn box around x-axis; - + start-script RequestState(0); + signal SIG_AIM; + set-signal-mask SIG_AIM; + while( !Static_Var_1 ) + { + sleep 200; + } start-script RestoreAfterDelay(); return (1); } -FireWeapon1() +FirePrimary() { + sleep 150; + return (0); } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = box; + piecenum = box; + return (0); } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = flare; + piecenum = flare; + return (0); } - +SweetSpot(piecenum) +{ + piecenum = base; + return (0); +} Killed(severity, corpsetype) { @@ -107,7 +319,7 @@ Killed(severity, corpsetype) corpsetype = 1 ; explode base type BITMAPONLY | NOHEATCLOUD; explode box type FIRE | SMOKE | FALL | NOHEATCLOUD; - + //explode flare type BITMAPONLY | NOHEATCLOUD; explode wake type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } @@ -116,7 +328,7 @@ Killed(severity, corpsetype) corpsetype = 2 ; explode base type BITMAPONLY | NOHEATCLOUD; explode box type FIRE | SMOKE | FALL | NOHEATCLOUD; - + //explode flare type FIRE | SMOKE | FALL | NOHEATCLOUD; explode wake type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } @@ -125,14 +337,14 @@ Killed(severity, corpsetype) corpsetype = 3 ; explode base type FIRE | SMOKE | FALL | NOHEATCLOUD; explode box type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; - + //explode flare type EXPLODE_ON_HIT | SMOKE | FALL | NOHEATCLOUD; explode wake type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } corpsetype = 3 ; explode base type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode box type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; - + //explode flare type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode wake type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/armmh.cob b/scripts/Units/armmh.cob index 6376058679302f435eb5076ee1c564666d2230f2..de6a442452884b73d8ecc6ca1488b42f70a773a7 100644 GIT binary patch literal 5003 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 diff --git a/scripts/Units/armmls.bos b/scripts/Units/armmls.bos index d7b8c65a3d5..bf36fd80595 100644 --- a/scripts/Units/armmls.bos +++ b/scripts/Units/armmls.bos @@ -1,105 +1,236 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" -piece ground, base, door1, door2, nanoturret, nanoemit; +piece ground, base, door1, door2, NanoTurret, Nanoemit; -static-var buildHeading, readyToBuild, oldHead; +static-var Static_Var_2, statechg_DesiredState, statechg_StateChanging, oldHead, notBuilding; // Signal definitions -#define SIGNAL_MOVE 1 +#define SIG_MOVE 4 +#define SIG_BUILD 2 -#define SIGNAL_BUILD 2 +SetDirection(heading) +{ + var spd; + spd = (get ABS(oldHead) - get ABS(heading)) / 2; + turn ground to y-axis heading speed spd; + turn base to y-axis 0-heading speed spd; + oldHead = heading; +} -#define RB_MASS 20 -#define RB_LENGTH 5 -#define RB_WIDTH 2 -#define RB_PITCH_SPEED 200 -#define RB_PITCH_ACCELERATION 10 -#define RB_ROLL_ACCELERATION 6 -#define RB_WAKE_PIECE ground -#define RB_WAKE_PERIOD 6 -#define RB_WAKE_CEG 1024 + 0 -#include "../bar_ships_common.h" -Create() +#define BASEPIECE base +#define HITSPEED <25.0> +//how 'heavy' the unit is, on a scale of 1-10 +#define UNITSIZE 1 +#define MAXTILT 100 + +#include "unit_hitbyweaponid_and_smoke.h" + +RockOnWaves() { - hide nanoemit; - hide ground; - buildHeading = 0; - readyToBuild = FALSE; - start-script InitRockBoat(); - SLEEP_UNTIL_UNITFINISHED; - start-script BoatPhysics(); -} - -StartBuilding(heading) -{ - signal SIGNAL_BUILD; - set-signal-mask SIGNAL_BUILD; - - show nanoemit; - buildHeading = heading; - - if (!readyToBuild){ - move door1 to y-axis [1] speed [3]; - move door2 to y-axis [1] speed [3]; - wait-for-move door1 along y-axis; - - move door1 to x-axis [3.4] speed [9]; - move door2 to x-axis [-3.4] speed [9]; - wait-for-move door1 along x-axis; - - move nanoturret to y-axis [8] speed [24]; - wait-for-move nanoturret along y-axis; - readyToBuild = TRUE; - } - - turn nanoturret to y-axis <180>+buildHeading speed <160.0>; - wait-for-turn nanoturret around y-axis; - set INBUILDSTANCE to 1; - show nanoemit; + while(1) + { + turn ground to x-axis <1.0> speed <1.5>; + move ground to y-axis [0.0] speed [0.15]; + wait-for-turn ground around x-axis; + turn ground to x-axis <-1.0> speed <1.5>; + move ground to y-axis [-0.1] speed [0.15]; + wait-for-move ground along y-axis; + move ground to y-axis [0.0] speed [0.15]; + wait-for-turn ground around x-axis; + turn ground to x-axis <1.0> speed <1.5>; + move ground to y-axis [-0.1] speed [0.15]; + wait-for-move ground along y-axis; + } } -deactivatescr() + + +waveSplash() { - signal SIGNAL_BUILD; - set-signal-mask SIGNAL_BUILD; + while( TRUE ) + { + turn base to x-axis <-3.0> speed <3.0>; + move base to y-axis [0.23] speed [0.23]; + wait-for-turn base around x-axis; + turn base to x-axis <0.0> speed <3.0>; + move base to y-axis [0.0] speed [0.23]; + wait-for-turn base around x-axis; + } +} + +StartMoving() +{ + signal SIG_MOVE; + set-signal-mask SIG_MOVE; + var waketime; + start-script waveSplash(); + while( TRUE ) + { + emit-sfx 1024 + 0 from ground; + waketime = (get CURRENT_SPEED) * 100 / get MAX_SPEED; + if( waketime < 50 ) waketime = 50; + sleep 15000 / waketime; + } +} + +StopMoving() +{ + signal SIG_MOVE; + turn base to x-axis <0.0> speed <3.0>; + move base to y-axis [0.0] speed [0.23]; +} - hide nanoemit; - sleep 6000; +Go() +{ + call-script activatescr(); + set INBUILDSTANCE to 1; + sleep 500; +} +Stop() +{ + call-script deactivatescr(); set INBUILDSTANCE to 0; - readyToBuild = FALSE; + sleep 200; +} + + +RequestState(requestedstate, currentstate) +{ + if( statechg_StateChanging ) + { + statechg_DesiredState = requestedstate; + return (0); + } + statechg_StateChanging = TRUE; + currentstate = statechg_DesiredState; + statechg_DesiredState = requestedstate; + while( statechg_DesiredState != currentstate ) + { + if( statechg_DesiredState ) + { + call-script Stop(); + notBuilding = 1; + currentstate = 1; + } + else + { + call-script Go(); + notBuilding = 0; + currentstate = 0; + } + } + statechg_StateChanging = FALSE; +} - turn nanoturret to y-axis <0.0> speed <180.0>; - wait-for-turn nanoturret around y-axis; + +Create() +{ + hide Nanoemit; + hide ground; + Static_Var_2 = 0; + notBuilding = 1; + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; + while( get BUILD_PERCENT_LEFT ) + { + sleep 500; + } + start-script RockOnWaves(); + +} + + +activatescr() +{ + move door1 to y-axis [1] speed [3]; + move door2 to y-axis [1] speed [3]; + sleep 333; + + move door1 to x-axis [3.4] speed [9]; + move door2 to x-axis [-3.4] speed [9]; + sleep 333; + + move nanoturret to y-axis [8] speed [24]; + sleep 333; + +} + +deactivatescr() +{ move nanoturret to y-axis [0] speed [24]; - wait-for-move nanoturret along y-axis; + sleep 333; move door1 to x-axis [0] speed [9]; move door2 to x-axis [0] speed [9]; - wait-for-move door1 along x-axis; + sleep 333; move door1 to y-axis [0] speed [3]; move door2 to y-axis [0] speed [3]; - wait-for-move door1 along y-axis; + sleep 333; +} + + + +Activate() +{ + start-script RequestState(0); +} + +Deactivate() +{ + start-script RequestState(1); } -StartMoving(reversing) + +StartBuilding(head,pitch) { + show Nanoemit; + Static_Var_2 = head; + start-script RequestState(0); + while( notBuilding ) sleep 100; + signal SIG_BUILD; + turn NanoTurret to y-axis <180>+Static_Var_2 speed <160.000000>; + wait-for-turn NanoTurret around y-axis; + set INBUILDSTANCE to 1; + } -StopMoving() +StopBuilding() +{ + hide nanoemit; + signal SIG_BUILD; + set-signal-mask SIG_BUILD; + sleep 3000; + set-signal-mask 0; + signal SIG_BUILD; + turn NanoTurret to y-axis <0.000000> speed <180.000000>; + wait-for-turn NanoTurret around y-axis; + start-script RequestState(1); +} + +QueryNanoPiece(piecenum) { + piecenum = Nanoemit; } -QueryNanoPiece(pieceIndex) +TargetHeading(Func_Var_1) +{ + Static_Var_2 = 0 - Func_Var_1; +} + + +SweetSpot(piecenum) { - pieceIndex = nanoemit; + piecenum = ground; } Killed(severity, corpsetype) @@ -110,6 +241,8 @@ Killed(severity, corpsetype) explode ground type BITMAPONLY | NOHEATCLOUD; explode base type BITMAPONLY | NOHEATCLOUD; explode door1 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode nanoturret type BITMAPONLY | NOHEATCLOUD; + //explode nanoemit type BITMAPONLY | NOHEATCLOUD; explode door2 type BITMAPONLY | NOHEATCLOUD; return(corpsetype); } @@ -119,6 +252,8 @@ Killed(severity, corpsetype) explode ground type FIRE | SMOKE | FALL | NOHEATCLOUD; explode base type BITMAPONLY | NOHEATCLOUD; explode door1 type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode nanoturret type FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode nanoemit type FIRE | SMOKE | FALL | NOHEATCLOUD; explode door2 type FIRE | SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } @@ -129,6 +264,7 @@ Killed(severity, corpsetype) explode base type BITMAPONLY | NOHEATCLOUD; explode door1 type FIRE | SMOKE | FALL | NOHEATCLOUD; explode nanoturret type SMOKE | FALL | NOHEATCLOUD; + //explode nanoemit type SMOKE | FALL | NOHEATCLOUD; explode door2 type SMOKE | FALL | NOHEATCLOUD; return(corpsetype); } @@ -137,6 +273,7 @@ Killed(severity, corpsetype) explode base type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode door1 type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; explode nanoturret type EXPLODE_ON_HIT | FIRE | SMOKE | FALL | NOHEATCLOUD; + //explode nanoemit type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; explode door2 type EXPLODE_ON_HIT | FIRE | FALL | NOHEATCLOUD; return corpsetype; } diff --git a/scripts/Units/armmlv.bos b/scripts/Units/armmlv.bos index fd02127d177..ba4faae2440 100644 --- a/scripts/Units/armmlv.bos +++ b/scripts/Units/armmlv.bos @@ -1,25 +1,30 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, tracks, turret, shoulder, leg, lankle, rankle, lwheel, rwheel, nanosleeve, lnano, rnano, lflare, rflare; -static-var gun_2, oldHeading; +static-var Static_Var_1, gun_2, statechg_DesiredState, statechg_StateChanging, + oldHeading; -#define SIGNAL_MOVE 1 -#define SIGNAL_BUILD 2 +#define SIG_MOVE 2 +#define SIG_BUILD 4 Steering(heading, steer, currentSpeed) { + signal SIG_MOVE; + set-signal-mask SIG_MOVE; while(1) { heading = get HEADING; steer = (heading - oldheading)*3; //3 turn rankle to y-axis steer speed <75>; turn lankle to y-axis steer speed <75>; - steer = (heading - oldheading)*1.0; - turn turret to y-axis steer speed <75>; + steer = (heading - oldheading)*1.5; + turn turret to y-axis steer speed <30>; currentSpeed = <3.92> *((get CURRENT_SPEED) * 100 / get MAX_SPEED); if (currentSpeed < <100>) currentSpeed = <100>; spin rwheel around x-axis speed currentSpeed; @@ -36,25 +41,17 @@ Steering(heading, steer, currentSpeed) #define UNITSIZE 1 #define MAXTILT 100 -#include "../unit_hitbyweaponid_and_smoke.h" - - -#define TB_BASE base -#define TB_TURNRATE <15.0> -#define TB_TILT_X <0.1> -#define TB_BANK_Z <0.1> // Do not define this if you dont want banking -#include "../tilt_bank_mobileunit.h" - - - +#include "unit_hitbyweaponid_and_smoke.h" Create() { hide rflare; hide lflare; + Static_Var_1 = 0; gun_2 = nanosleeve; oldheading = get HEADING; - call-script TB_Init(); + statechg_DesiredState = TRUE; + statechg_StateChanging = FALSE; } DetonateMines() @@ -66,16 +63,28 @@ DetonateMines() } } +/* +Activate() +{ + start-script RequestState(0); +} + +Deactivate() +{ + start-script RequestState(1); +} +*/ + StartBuilding(heading, pitch) { show rflare; show lflare; - signal SIGNAL_BUILD; - turn lwheel to y-axis <90> speed <120.0>; - turn rwheel to y-axis <90> speed <120.0>; + signal SIG_BUILD; + turn lwheel to y-axis <90> speed <120.000000>; + turn rwheel to y-axis <90> speed <120.000000>; spin lwheel around x-axis speed <120>; //how to turn wheels in right direction? spin rwheel around x-axis speed <120>; //how to turn wheels in right direction? - turn turret to y-axis heading speed <60.0>; + turn turret to y-axis heading speed <60.000000>; turn lnano to y-axis heading speed <160>; //nanos pointing in wrong direction in the end => probably sth to do with aiming in combination with turret turn rnano to y-axis heading speed <160>; wait-for-turn turret around y-axis; @@ -83,8 +92,8 @@ StartBuilding(heading, pitch) wait-for-turn rnano around y-axis; stop-spin lwheel around x-axis; stop-spin rwheel around x-axis; - turn lwheel to y-axis <0> speed <120.0>; - turn rwheel to y-axis <0> speed <120.0>; + turn lwheel to y-axis <0> speed <120.000000>; + turn rwheel to y-axis <0> speed <120.000000>; set INBUILDSTANCE to 1; } @@ -93,54 +102,58 @@ StopBuilding() { hide rflare; hide lflare; - signal SIGNAL_BUILD; - set-signal-mask SIGNAL_BUILD; + signal SIG_BUILD; + set-signal-mask SIG_BUILD; sleep 6000; set-signal-mask 0; - signal SIGNAL_BUILD; + signal SIG_BUILD; set INBUILDSTANCE to 0; - turn lwheel to y-axis <90> speed <120.0>; - turn rwheel to y-axis <90> speed <120.0>; + turn lwheel to y-axis <90> speed <120.000000>; + turn rwheel to y-axis <90> speed <120.000000>; spin lwheel around x-axis speed <120>; spin rwheel around x-axis speed <120>; - turn lnano to y-axis <0.0> speed <160.0>; - turn rnano to y-axis <0.0> speed <160.0>; - turn turret to y-axis <0.0> speed <60.0>; + turn lnano to y-axis <0.000000> speed <160.000000>; + turn rnano to y-axis <0.000000> speed <160.000000>; + turn turret to y-axis <0.000000> speed <60.000000>; wait-for-turn lnano around y-axis; //how to turn wheels in right direction? wait-for-turn lnano around y-axis; //how to turn wheels in right direction? wait-for-turn turret around y-axis; stop-spin lwheel around x-axis; stop-spin rwheel around x-axis; - turn lwheel to y-axis <0> speed <120.0>; - turn rwheel to y-axis <0> speed <120.0>; + turn lwheel to y-axis <0> speed <120.000000>; + turn rwheel to y-axis <0> speed <120.000000>; } -StartMoving(reversing) +StartMoving() { - signal SIGNAL_MOVE; - set-signal-mask SIGNAL_MOVE; start-script Steering(); - - START_TILTBANK; } StopMoving() { - signal SIGNAL_MOVE; + signal SIG_MOVE; stop-spin rwheel around x-axis; stop-spin lwheel around x-axis; - - STOP_TILTBANK; } -QueryNanoPiece(pieceIndex) +QueryNanoPiece(piecenum) { - pieceIndex = nanosleeve; + piecenum = nanosleeve; } +/* +TargetHeading(Func_Var_1) +{ + Static_Var_1 = 0 - Func_Var_1; +} +*/ +SweetSpot(piecenum) +{ + piecenum = base; +} -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { while( !gun_2 ) { @@ -149,26 +162,26 @@ AimWeapon1(heading, pitch) return (1); } -FireWeapon1() +FirePrimary() { gun_2 = base; sleep 3000; gun_2 = nanosleeve; } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = turret; - pieceIndex = lnano; - pieceIndex = rnano; + piecenum = turret; + piecenum = lnano; + piecenum = rnano; } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = base; + piecenum = base; } -AimWeapon2(heading, pitch) +AimSecondary(heading, pitch) { while( !gun_2 ) { @@ -177,21 +190,21 @@ AimWeapon2(heading, pitch) return (1); } -FireWeapon2() +FireSecondary() { gun_2 = base; sleep 3000; gun_2 = nanosleeve; } -QueryWeapon2(pieceIndex) +QuerySecondary(piecenum) { - pieceIndex = base; + piecenum = base; } -AimFromWeapon2(pieceIndex) +AimFromSecondary(piecenum) { - pieceIndex = base; + piecenum = base; } Killed(severity, corpsetype) diff --git a/scripts/Units/armmlv.cob b/scripts/Units/armmlv.cob index 4fdf304a56d7a94f2d4c9e9ee5ecea33cd6e00a6..99566ad3345afc3d17141a66f40e533dde92c8b1 100644 GIT binary patch literal 4547 zcmcgv&x;&I6n;B9nT^J1uYR?(V^%e6!2&UR+&V8V+oN3v+pAm+#i19FI@?_h+mf=}< zv&3xKKQ61-en!6sGWMP}q3ux$aF#VT^Q>|(yq%?wp5G;({{jtvD`z7(YX`i%Rg?eV zz#SkM74c&xP8u=I7zW^&fQZ z`5ALkL4Q}g4c+xzm9zJG_h)&#vpFjF=;Og*?7ts^AMO(04sJtPUB@>^bzmzSzDMDk zQ`d!W)kjByUSmJk2OsO(b64taq`X0Q!0UKtH3oV0A+I*91?IT7|IU-LFh8x?**Ek< zbzwjB3^HHo?q^ozo|xslvlGt1@zZi1qg&zM^D|~FFAwc?FRFDf&HH-Ik+Z65M4z

    AT4E;ZVSzRwsK; z-NV`y2}zk72!>3U9U6~yk+mE5&DqDiW@F#im>a&o#RJl(w#){eeW`m`%>iOx>K@hv z8P`-~THgI$`YthjI22^vAbWtRdsw_SpgwYC4tCmlxKeWWIFr|e5kFV_OWng#&N^FU zGELQ%IL}xQY?K-28T&M59Yx>YxrfDPhV&k9P$tg|={|cn7S)l~itSS$bgg0g)J|P5 zg+9cSW7z1Q?s0|#(x)=jciX2jb?u$nw~1wjF``dvjMtVq=wqMC)b)$%vvsr*AlhsD z)K1;=w|y#8>qz_Tc}43;`%-nJeYTEtkJI+4Em~u?Pi@ilO9?ySyFIVy9;c3DpUTud zf7_=rwT{}b6Ef|2MfYuVoUJ2Wzu5IPag6c8DAu-Cw8m5>`_z^=&uks(9%pKACeAZk zV?mG9Mlt^}ref7x13X_BIx>61XFM}8cl+$$^xPitzUOv zB73JN$oJ%|j?S`<8ZOVfQXU)Q)kJup6AhP~=2-UqPx$y;CLa21PM;ug{s~>|v$aVC8`Bfd`t$f^3-Jz?4J`98{~ ztVuF=o6FqU`S}bWV)VBX*vA)-y(916@Brc*j?1y<SqFV~?k<#=45b0mr!w`~ zl*{BC#c_mDUp3he*^NQOI6LPRFZP*X>;X2Sg>&1H>(TROe%97l7oF*m+Lr{xf;LM!@gA%2AMX;R!VL* zll7|2vHFr5`aMINV{eHqMc9+2O!lcQrz5!3x1I;2Pi-l}A@-FeH|yiOc*K@}I(z@- z8w`$ev&D$Y0h25GDW898#|y)ohQ0@?f0OT1JNR8u%AP9U$>ec19@`Vn@O_@dgncS= zjKp%}&)FOVc`~lC+*e;Iapo8{${LQO;`<_*ANHxt5`19aItoL)!f_e*=&@PfoVHn? z&G!RFW_@*97W!1?UcIxv(^h15+I&B^eb)D)r%62Z-m=a2f!(ult(#;%*nIz{U)FaFzO>G`uuo;))+g(Gr*UCim8Zd2I&SYR3@K#eb9c`8(vBwMPB$-xxzX_>spr2OP^j z9uJtR*>jE^r0$5-=OgJ4&lkg`PyNfr;b}`FGt4h!hB3V}nMbNjc7B(wcd1{o!Dhh@ zjIivp*q~FeYEMq&vd{YU0{)$Ao!M}j$mKDO3$cV~Y;q#^dSKb7ei9S+Q5VMr+fA%_ zOvnAi5BwG9)&)JOK0UT$(}G_0L(kzuXan@*kbnG0z0}1qYQOqZ`q;vF%D_zIW$9-g zro0PK{3B(=WB%;CLnf2cm1|Ili`q?WC-zm%=B%>dH9j`qc#Pw; zFX)i@`##E{7#rqHub4>Z(E2xHs5&NSXGZ>EWc9{_!hR|pCK03zu>$0SI5Ld zbHrlz;CR+@Ys?e$ye75|3dghOmH9EHQ{%7ij4e;sj63I|o#+mEh56z$(|@%)n}cqG zV+>UfR=@f6FYVR3(>PNNF+7cEov0q#QOy1^{<@*}k$=rO?)_7y&7o0v2$KJ%T-rk} z=D!b~n*HVi|E+(6p>I8W#+o6_x8R<=Vpe!Q+~WRw)o)>q5awQRJ!WLTLu7H!k1NPi zyY}ssJ#TJtB_#X?f7ROn^~4xk+#CuK9Cg!=u?Kowe|8FvLx@}SfyWKu1Omr5Hsbo< z>T&(#{7#(e{k(z4?LcKBFR%A^j~ha#fTLJ8>fILqi2ZHBPT&xV(1^Po=hhh4%Ipsl zNZhDfV1n68Ham$#d1Ah*CbPrtg#&z=OmA=mJc{#HNK<7P=-5vTF% zx~<3Q-YjwI$B`F!+_mQZG@wE6RS+Ee3wOhsF7Srn9tGLOxN|53^AR{ia7B2}wY;&SPPKwOoL|Fuu5pDoi083yaXpmRE4XI3e#*f< z#*U4+5)&VERxb~6~Yr-0C~2~dnI`2W55)r zdSAeGLag^_(QE7cV4US*+PGzD#QmRG?-48@$RkeUR~s>iakZo_iBmsz+STLg3-3}a z8})vX$b&Ve&Q)F!@OizZ)Gx7IqjZ=39{$_b?8@8yx&C{`HrgN9^@%GBx+Ld%RWIyS zX)JztbcDk_J`>)FJhgo>))RT#MP9?ix&DPjY&*zY1)cDRF*~onm$#R23Tu{)xL#C|*>oI;$&hY(T7cU7}_uV*wxI&XYYxTeHhrdE7MN zP+PMnCh~NGsacI*5lqhO-9*h!+bN4B$J(0x?||%kx500zox!L3njPAxLqV6|&idt- zd~K^u2Tsg>qt42^W=r%&HQVsQzE0lNc)(uI?<()A{f&>Jw}#XhF>K6{eUPa6SP1UQ za_GdI5~uQJ;5sG7@t&vR_>uCSEAlx0o-A>e1NtUv`_%*oOzh_6T}`7zp6Z>D$faHh z4%lwIm-m6>CR17ceGb<~vA>Pv{7IbZo!ivonxmigSx#w&gR#6D%sPNW7{4}&8v8@; z30Y2g7epA#dr17S>xCN=*CRVs%j~n<(_*xjcZ$@G<(?@sJg$XVS7=-s-|unt-}T({ z^aPLN^XH5oIZEf_-Z>tJKU0&(son!hJgz@-jq;dYY>e|D>;uH{Yc2i~r+P=@LyY^z z;8gDuPkP*yg0tNC9rkl$d2dq)>?2O~Uf$c|mdLq)IMqA*IFB16=OD|CFDLxHOSqOe z)mwzmdHXiOjd#?|Vo6&pH$Is--;Jly@R54hI0vb9#X5Ehj&g}xoH%dyl-jnO(k5}O z*W2LK$GdhmJ__eOC$&R)s&`J}8hEkDW9qTdzB3Zn7OzWg@=f(#x{ue}QPvg2sorW0 zJg&CnlI4`s5dZvKi66JD%W8}z#76s?C%B@=_XV8VHvqg4%j+ezXgOu?y*=*7>QIJx zV|du8_oj{>cPpI~oa%ic!SRcJ&FrH*4xzkh6TQ5)A7(hap80npkF$RpLiNtw-Q%ui z0>D1XQ@t;D@wh6&p_WtjgRyb^-jEuzoN@_rEym&Nt6^P6oa+5E!O2Sv2LKx4^4}(2 z-V}Di56da{H1N2`CI2j^q}E$2*V#HM#9!p?dw*?*yXWXkFY`!qslydM zwpRt6# z_oVD66Q_C)MXts3(J8@s7yapR$0Yu??$Xme?s8d&TFx6j(Bme{Ig&VybE}X2ynQeA z%QrUq`(<-4PrtWMoci18M2{P2AE;yD%4mCjx8)J4};=24~b_z~o zb{_V}VtK0!PW5iSbN2h!){ndKM@ID;m_w*{_Ql!nds1b*QN6~)jK1xuHZA^4^sFEz9u_Kj3kbe#*FvIMrMAe;zkc z);;!IFk-&Py^y%3t~ko$>VBH(CCBT0{Fa!v^OzLy*PaUwO`J38V9$^^doK9B*z27n z9BR)6A0@8&55i`%%G0>iJJ`?15%SyHp;s= zaa~Z9;P@XKcz>Ij^{@JI)NLO3+qap&p$0|ozZ3hqTbT8)&KrO4BhJ&>369^ssrQ%9 z$kSiT@gow~X)lVumg67T&Fj^BW5lVyMfjYzZxbB9`AA88$ucMTCUyl zOpm)ku5T>YUUZhn?fi9SA8{I&wXb?yd*KwzwcEqyxZa-O#KJz})Zc#1J??CSQ@z!P zc#gv5YkqG4B14=v-_gtKEbCvUjp{u$aW1&o;8gF)2@V}1&t_XrzP7E`dw}E%ajN&5 zgunNRAH=ENV>^0zKTCbE?AVxB`nQiQ|81VwYtX+RYH_1z6y}5SRBsVJ=jUw`oZM>X z%m#|Foc!69`xImd*B<@~KyuFppMvdQt?+vnZEp8_62ope(aAevZsB_hYJ2KjfF()r zkr=kp&IOYs7R2dXrOpMDNIHmF&?)l1?`>ix{=O}_L|JUqyQ+%EJZt8 zi{<1~u=a~_TO~O83jEMojJy1E&&dOK_wsI${Z-4!trKg8P^*Gqxl zh(#W3SI6V}%5@NN8s}<>wc#uyPxYoad1qN;Fdf*aH^s@F%E-wzB(M0UdW-NmALmVQ z^0|#N8#vZ-GA~^6G9>4|2PP+6#*ei9Kq!uJLl`K*Y0M@jIOB(hYae3R=*OwZ*H|yU@*eykPUZcO;N)WrPW>48 zjF+eT&MXZ!>YX>;3nmZlth!#KOacX-5#3%OgCUzo6_{PSVU6zQM{w5J| znj=58_wvSa(nTJzl(+6w|NP~dxW}!Wj86eK=A2!eeO2(sgB7QG#~f4N;okbRAW!wq zebd`FQqISe#YX#DeCu%^v-sf$ajN&l#Cqm)b_!1Q-u9+n&(x8<0n730>v&ux+hPq5Y;;`F~6t7X38Tcv(eu*1H8XK$+?9%_4khiN0rETA&FDH%is6%u$>pU zhg8Kzz5Lz1IR9{~Ess;ZGrsn?W)uQH$lYv|H{wH&yL)jak2sarc#g;YCfq}u`q90T zpO3q7Jx;w$2R7;*jW5{5el*+zoq|)n+dk%TH5O&|QJ(6(AyIF`6X$|QU-EuTlV`px z$Deqx$E}jRB;wS*DkpecO|uuG_RYQ8+A*L%VC8P1*y z+U@RfKRoKs1y8-~+O~}XI$RT zxXs;E_*+bBaISV z_EvSDn^lj>e6$?3W($vdX8!_CW3d)>65H26a?^6uN4O6WolI5tK zZuPjK;G>*y3Ot!cTI3qmqh$NrI3iDp4-{$eWYfFBd4%2=N=v8acv&=95phr zCx$JKz@e0PZOtlPif%gy&=y# zlT+BJw<83{^V=oCQFRjQ-m4Qg?3T+~CFml*cj(KF({UI zvgrN0990+R4a#N=EJwY5ZcC?Yi!J~~>)PU<{JQ6n&kB1I8jCAm9PQ-&(e7)vt{pbh z`*?!P6=ku}-est}I2P-fyqE*xRB!QN9=Dv%3XUHs@2<*~oxBgO%W{sX%tl;~W&Zac zzFASgsoobK_qZ!wDBx7@Dfm&@*pGkh0%eG^<}m5a+(k7Rm@Q@yhu_PF7#0D!;5slW5FZxqLQqU_gN?!Gm###m>#TjdRJ=H=}! z&!bpQo`VfTedn9;#WDIz4rOEfj_m8@Rb=7`PUBZ0u_ky% z?4vyO_v&e0-aC>nmXi-k;bGV(wmc zL?br`6~_4A#ry4AAB*v_CZ}$;U`HZHj>eu1=YTk!gGt@Jyv{5x!RZ{#Y2rEgC%Ip2 zIeGaueh+3jg9~}YsosV!drm$C^P)J_`v(TZxrsm18*of1Hu~Eo;ct6cZxN?@a~FAe zk0jQ$_ty7Z@s-H4-1zpIA|6Oi;a@VXz zsl#&P?)&#dwvU%rOv^vfYvAm-a z>&w==cwBo11AbTz?cLhrHc#vglt-P!dT&W^X!m_QZnVUYrKWLib*9H1UYyxyIrNU3 z{qyI|UN3N?&hLbCJZ?I8i~drc>TR~W*Sl8kxmpf=5rSiXs~Zkgz4JjtF>bQKsouJ~ zd0eZ+I<#qm^X^P=?R6c!ymfNTZ@D)4y+ApKlSA29M?-pec?XIgmTUJEdHS6Z;xx`h_?(}QP3&|2fNLb|s>C*6L|%CqAL~6?xPovt+B+JF8snZy zaNeSZ9@ncggup(^D<|@<#-3a(?-h0eXF2a2tgT|)h6I*jF>Jm%MfpYQ8&qZkmx#d6t?MIJYp~EYBDKB9z|2$Ma3RBL-t*m%520{hmL$~#lDUM(Fu9P>0GVu z<$87^F2t$cWtVu|U2{E$4j<=n-DKV@hrYDT1|?zSBI z#seO=MT^W2;?$4bulIUC5DuW3Y@D}x2znfs*BKDRg*c5LpZ|$*#~7UIeLul@UnQ=+ zXCe~DAQr{PDPW4%8L_po%?80Q1V`}sIt)+xm0 z^*--$&&Yfbr+QDS;{Dj=-2#WI-a1eEed0559ZNqreX94VbNw~&g5m;B_0}BV?fa~2 zhGU7d(cgpcM_l5#^nWq4k2uvky{3=z{WvetKFhWD|KxEyiNBU>D@^rydYN#K<=S@< z$=E)A_mFytQ-3%6pT{jS>q|g`zu$K9dViO5q~+S>B_6j;;@Z3A>1~{Sy^6DYnwD#4 zo#oF}HF4e~zgVu_r^J8X^qG1EdFt=`w|akfUY5<9)w}g1@5gtt_Og0cwD$Ee*WAle zz3XrCYt3_U{^ER)li8S8H`Vd-4rek6PV;K~?cR^J|8RfxJ=6_th&leu@qP|w;196J z9DnW=2fI1F`d@4FIJLe1s}(nkb8}+(m-9G{S+65KH_rXibM2bGo*QqJnzdZp{lZGl zzNvDJX}NaWRbFpftW7xwDb|(qvj><71cP;*Y*Q)KBheNch*?{Jiuw9*K+N) z^?i;^kadOS+Ec1{+}<=Eeps&kVT|X-dcw)%P_~d4^L-xlUr^v=o!^@;^>GPqxZl3`7|%UF{3r9* za$fy|d|YbCGlG`${+Qx%TaYv`Z^UVwi|{#L=bN}jUxIri^qqBR*O#w*uPb)U4&61uJ}x zRM{(&XSt_NV!d#q)P&`pHpBe+siWaC^>@ez-oEN9vbb38X-Ep%!6gu=hIr zq0zjLqIdEy1)Sju4SXzK47rtp7wGcW6i4GC3r9^wy%Ob zGh%Cd&(q9Yi64K;+}qmzSAQRu`s*`)ZEdeA?{U|15eq+v(;V4(tj8@_lF75R{lq<< z172&8$+NY6?Z16oy7VvLRPVKuy}!T6eAwDv(!=AH%C(BE?S}9zj`K^2+D`qwfaeqI ziXPRyye0CRc6MDc3v0<(Z(VZ_L;YR1y~n*tlE8fMP4i`Sf>ZPv8OtfZC*tzigW0^1 zE7(}i6^`=rdu}UqLa*hNPG@=C2;ARNocd9OLwSEo;S@lUe{+z$5^^4PQ6B%sp2{ue z82uYjOsMbV`)|Oqi@pru2mEC`ex@Bb+g9b@rFj~>&SN}ear|3&Jf^ssf}?oiCb4fI z{+?geE%J8o(8gpm-G~gG!%fN9XCpGg-d`Df>9G+R>ffg9IC>*8be=XPWB5j71fD5_ zFK2B;M&RZ$$hdqXGMMLO$&Xt$B7-$w78wt1L`JCJGWfD^BQgRv7FVn~4fjq{_V5^% z>G_<$3^@Khc;*C~9rFSYgugWT*E(6b5&c@PDyuXZ-)}@lTqmW;*i3xXe4a$5Qm=8H zlqRG4Mr5emP5IJjBQoMTDb0?y8<7#$Nog_;+=z_0PD+!}cOx&s8n$LNO_mZGiX-cbXmJ`p4o`o0sn~Q z;Z{nJN1WE#7ceHq-7jlU;#BYRa$RBdE*1Nj=WNvbTw^b9zU*y^2SjJZ26%2}TxHXx79$ED+Xzp<%L@(v3-Y<|3vAokn zFY}#^ak(NfAKlmq`ZCdA1yH;mWS=iAdfhe_w(#*Z_C>EjO_b|VC)wKfD*)_oVD=S`Ik%eXm!a1tU)NE`7r5odJg#7s~+;V^J0BeI9a% zvmDUy43Fzh2Y|C2Fc=QS@0LZgk@yuM0Ymm6k zy9Q3hdhv7EAuc=>seQ*E>~SOH97!D94D(im_q@DKaL)}m|Ao268ZtjdxZw-Pp-+^{ zMqIT+J#MY+iO^0q;yNIKV|h>!?v|wL%Ippcw8+OJ8*nsqu#w> zb1aXkqd1MxuA8sl)P3$;g_ z#<}=JkDD!iSgt9Tm^Xwk$RkeW^-k!;R%#xn@oV#>pSP)^m($0_eA)9EZ(qm6{rO|C z8jSrNC-)91PxYoaDJa9dv7FS86en4n$}7UbyxvW4(wkTt)2E-F%>JI1&9Pb~5EQL{ z9-riMXU|;JV0%CbB={)ojr}FOT>v4Natq`aF*4V-4&gZgEYq?9mmty1mxcFhY z>j2bQY~S++r+VL*?&o71_IT-s<+#>R7|TN{hWHVu{^It8!_`K=%2T~9TY0@>WW5)B z!w|;#ls2A27JrcGB~JBz)X(FlHP7@Cr+Nq6?Cl#R^J_V7XWa0K{ry#*AGI9!SmHeY zDvJ*Bvm7`7D{tQrc~;JHT;oKXHJ>fV;cGa~K2kdM5~u!7>fz&jzr@*c;qU|(>bc2s zVcia1-tHogoW#a?8zRpEgt?S@t6hXn*hiesTZJw@E_LPJGI8q1;Dmh$U&uepaZQi( zae0TzpqDt6SA@^``P~G^{eou(=~FWlSbmK7)LU$zTsGorW5QzG)&#%?n!-k0WBen= z>2)k|d=WQdq{r3cBtxF%q}GXjluIc@a4K(}+{3YRGgWfia?(_JF4E!-lY2~-lU_-1 z4K7i_+*nRJJ%Ph%K96IF=dsP4Du`|;m-rPIENb`hzoJ5_XC`R zIpmf9G+p%5U%yr*R(hy~p8E;=DZ7yYobkJC?~0y_STZIc(h&;|=8VcicZhSPlRR!B>YF&rNl$n6ak)2fEx2`}<{Q^4$Wy&{ zf9Ums_JUr^Nsn~)IGjpC{46Kk-q_%SoN&`Ig|D%-bm8IC2de^Y3B=D~>b1 z?h^D`PHKS!i*a<9dWlniN8RLcErf$DC#_24mDY#lq%$Bm)=OQ~OPuO$Hp=7P6)v>g zHN4o*??;jcmb(TV>T%2Dd0paEZ`VXzxa_BWmb)7D^Y&Gh`5;c^72$K<-%W5=Cp?$Q zIZScaJu-)s%SK#kJ@qw-1Ge&wjkwf$3O|(?y{V;1`fq~5oX6pypI#(sFwCwPWt^x zk9&?r0cSa>Gi)hMp5>%#XL#HOi8J5Wn182C^z(+xw4j$bowsuqdfZF$j3IFvzZBP? zJILD<*I1m&E5gCNznkEiS_fo4rMTuTnH$Pwqwnt}_RKr66EUaXY{YRNIB$dGEPigp zam@hek8v}p5b`Y7EJ46xobIm>r!l`UVc$tc9zW8)0T>j^!=v;;ujQIAcK5jXQlpj| znkKG!{zaqUN2puTJ6E37wY5A9eTq{*Cav*$yBeJOF{-1-O%|N3`J<8OvA-dwVV|w} z*Y@@}y(dhZ>RpC^#PZfl{A|t7Y2|TyiG8+4yZ+>H?+Gs0N!^&Y?!7(kI>{^IG=6hl z^*Fr`MV$IE>K-^b%p&!1eM@I%+cOmX#NP(3d%_56uGcW-Mx_58_}iSraLs{?1+8eN#k z+0^qVk0;`ndj8~7Bu^Z_ZZdDSM*m1~YwG!vKTu$?Jl(gmH9EF|$0^rrszzxZ^Y8ys zqq*Y3Gg@JM?~37>VEV{sj5$B7pGRNMzPn)OE8wGNP)`1}xAW8DG*2G;-TN7EQQcN= z>(>j4qbxSsw*wx)h~pbNrEW2u0e1v0=r@K_`wo_8@2$Tr67~Ib>+BhQi&MSi0o6OT zdG?)&(r~Kxjrm^QGRb#)4(^-Szf!%#sorsQO81vI)jR4N&$pFjkHntSS0?IF^%AFg zpTJ&PX>le_^}c(jKOekLA(*!iE6T+DKD%f3y|YyOcue)KUtM~fiBr8_%=U3^B6`Uy zY}DKO(Cj-WDZRw0-lePky|^F*epsHW+RW?SL-g7;!ifpKPLUOqV6{?aSwV$=be{&4u$K(1=|McJN&*AzbhxI?0Ixi#F z0MCu%MJ!{?=LWaxn90zXhvU7o?`gbVoW(8V3~aIA|KM=`JG_fL%H_Xvt+Vl$6=&lQ z!6AOPLv;|MSbfj6&g8R?*a8Nl;D^kQ4tN zMIWCv)>_1lY1MFV5r_GiZ)|EKW3O_G*)awfoZA>D&V%-`OLef1Izn7|9CEc5tUl@> zCZ&UYe1uW+fjmKdeAjXMotc%zg=3VZSjL4|<`8p3$1_$Ir!qqvt7h}~v&iJJ(y&&x z&VR*@nNFu$?BbZ`f<5Iz9EXS=9{S7k-iR}?=nl_*^Rvb(#1%2sd9(8n`ed$~!j`|p z9`n{*j!`Td<%SQvjXu%M}sUyVk)+|0fA*VFGU8%$781#0RW0Vyd><{tAKVlo$ zPrcN~KECT5@ZXzp!oI_mjr9Lt|6PH<*}pIwuQGDEzt&Z5w#XM9x!m3bJHaqvob;`i zYcL+mH7Lkc-r?a?EeDQ~e7hO(u^bTM1Rm3I^!sQEYF#emh58&~i1=QJ@x*W(V-?m6 z_&0~}-+!%B)Nlh}1#fi_uX*?-Nmcaya;}*t_*ey9)I}MoK6HgXzEhs+i~mjgQ~DLZ zv3`ru@8yMfOhRtqKkA}=_cX_c)>+>29+)0ey%yW=ZRCc`$y&kkm|{70!JNWe<)T=$ zo?7smav7ss1Dult$A97qIv+pQCzf=fQFg#1Ui_@Gj=KpJ z$^pZiMmFYog5wH(K%ukKv$7>2+SL1aXUiaZO53fady^7bHc&)^1 z6<%xcDz{a+TqV4!;nfJQJ@D#?*CBZI$Ln~!hTt^}uTgl7!)qd5lkmC_ugmbd60hs= znu*t)c-@EB9K8At8ZkWAXZ+|f{4i|PNx2?FMwEmD;X{{_LF0#Z95rlYuKTd@ohI}x z88l|}s9c|sqlcFqIcnH=d$h-pTprzf{Gd~EJ%^1LQ8Fag=X8vw27VYx6&%@TObPqO z4;nlE;L)e?C?WE(^H`{b6{nY!062Pl?(mXv<42Dz>3HJ!lCfP%Mhu#e8*%EO;}0A$ zXk4V<+SeJGEr&1pNp4^dqsm=LQcNSCSh%ddP&_(2_wz za^nXL8<86^e(121hUP{LA5~J48!>L^uu-`YCys{Xv02C1&@nc2jLka64LV^sp#1-! KVIwE(p8J0ZNLMrf literal 67479 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 diff --git a/scripts/Raptors/raptorr2.bos b/scripts/Raptors/raptorr2.bos index 378a1c0e731..8adf487c2e8 100644 --- a/scripts/Raptors/raptorr2.bos +++ b/scripts/Raptors/raptorr2.bos @@ -1,15 +1,16 @@ piece base, body, head,tail,lthigh,lknee,lshin,lfoot,rthigh,rknee,rshin,rfoot,rsack,lsack, aimy1; -static-var isMoving,maxSpeed, animFramesPerKeyframe, animSpeed,gun_1,isDying; +static-var bMoving,maxSpeed, animFramesPerKeyframe, animSpeed,gun_1,isDying; // Signal definitions -#define SIGNAL_AIM1 256 -#define SIGNAL_AIM2 512 -#define SIGNAL_MOVE 1 -#define SIGNAL_IDLE 8 +#define SIG_AIM 2 +#define SIG_AIM_2 4 +#define SIG_MOVE 16 +#define SIG_RESTORE 32 -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" // For N:\animations\raptor_2legged_fast_anim_walk.blend Created by https://github.com/Beherith/Skeletor_S3O V((0, 2, 8)) #define MOVESCALE 55 //How much extra body sway the raptor should have. Scale this with size of raptor @@ -19,7 +20,7 @@ static-var isMoving,maxSpeed, animFramesPerKeyframe, animSpeed,gun_1,isDying; #define RUHAND rsack #define LLHAND lsack //define these as the left and right head thingies #define RLHAND rsack -#define SIGNAL_MOVE 1 +#define SIG_WALK 64 //these defines are needed before includes! #include "raptor_walk_2legged_v2.h" #define IDLEMOVESCALE 55 @@ -52,25 +53,38 @@ lua_FlameShot(weapon) //Distortion and lups flame effect return 0; } -AimFromWeapon1(pieceIndex) - { pieceIndex=head; } +AimFromPrimary(piecenum) + { piecenum=head; } -QueryWeapon1(pieceIndex) - { pieceIndex=head; } +QueryPrimary(piecenum) + { piecenum=head; } -AimFromWeapon2(pieceIndex) - { pieceIndex=head; } +AimFromSecondary(piecenum) + { piecenum=head; } -QueryWeapon2(pieceIndex) - { pieceIndex=head; } +QuerySecondary(piecenum) + { piecenum=head; } -AimWeapon1(heading,pitch) +AimPrimary(heading,pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; - + signal SIG_AIM; + set-signal-mask SIG_AIM; + //nasty stuff here + /* while( 255 > heading ) + { + set UNKNOWN_UNIT_VALUE(82) to 0 - 1000 + get UNKNOWN_UNIT_VALUE(82); + heading = heading + 1000; + sleep 1; + } + while( heading > 255 ) + { + set UNKNOWN_UNIT_VALUE(82) to 1000 + get UNKNOWN_UNIT_VALUE(82); + heading = heading - 1000; + sleep 1; + } + */ if (heading > <60>) heading = <60>; if (heading < <-60>) heading = <-60>; turn aimy1 to y-axis heading speed <175>; @@ -81,10 +95,10 @@ AimWeapon1(heading,pitch) return (1); } -AimWeapon2(heading,pitch) +AimSecondary(heading,pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; if (heading > <60>) heading = <60>; if (heading < <-60>) heading = <-60>; diff --git a/scripts/Raptors/raptorr2.cob b/scripts/Raptors/raptorr2.cob index 12eb483b8ecf40041520c95109d2a36a78e9ac12..04e179c836261c20fb34bbce8f0df75903936206 100644 GIT binary patch literal 150768 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 literal 67724 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 diff --git a/scripts/Raptors/raptorr3.bos b/scripts/Raptors/raptorr3.bos index 3b272791c1a..3e00e6f196f 100644 --- a/scripts/Raptors/raptorr3.bos +++ b/scripts/Raptors/raptorr3.bos @@ -1,15 +1,17 @@ +#define TA // This is a TA script -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" piece base, body, head, tail, lthigh, lknee, lshin, lfoot, rthigh, rknee, rshin, rfoot, rsack, lsack, aimy1; // this animation uses the static-var animFramesPerKeyframe which contains how many frames each keyframe takes -static-var isMoving,maxSpeed, animFramesPerKeyframe, animSpeed,gun_1,isDying; +static-var bMoving,maxSpeed, animFramesPerKeyframe, animSpeed,gun_1,isDying; // Signal definitions -#define SIGNAL_AIM1 256 +#define SIG_AIM 2 // For N:\animations\raptor_2legged_fast_anim_walk.blend Created by https://github.com/Beherith/Skeletor_S3O V((0, 2, 8)) #define MOVESCALE 150 //How much extra body sway the raptor should have. Scale this with size of raptor @@ -19,7 +21,7 @@ static-var isMoving,maxSpeed, animFramesPerKeyframe, animSpeed,gun_1,isDying; #define RUHAND rsack #define LLHAND lsack //define these as the left and right head thingies #define RLHAND rsack -#define SIGNAL_MOVE 1 +#define SIG_WALK 64 //these defines are needed before includes! #include "raptor_walk_2legged_v2.h" #define IDLEMOVESCALE 150 @@ -52,27 +54,27 @@ lua_FlameShot(weapon) //Distortion and lups flame effect return 0; } -AimFromWeapon1(pieceIndex) +AimFromPrimary(piecenum) { - pieceIndex = head; + piecenum = head; } -QueryWeapon1(pieceIndex) +QueryPrimary(piecenum) { - pieceIndex = head; + piecenum = head; } -AimWeapon1(heading, pitch) +AimPrimary(heading, pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; if (pitch > <60>) pitch = <60>; if (pitch < <-60>) pitch = <-60>; if (heading > <60>) heading = <60>; if (heading < <-60>) heading = <-60>; - turn aimy1 to y-axis heading speed <250.0>; - turn aimy1 to x-axis <0.0> - pitch speed <200.0>; + turn aimy1 to y-axis heading speed <250.000000>; + turn aimy1 to x-axis <0.000000> - pitch speed <200.000000>; wait-for-turn aimy1 around y-axis; start-script RestoreAfterDelay(); return (1); @@ -80,15 +82,15 @@ AimWeapon1(heading, pitch) Shot1() { - turn lsack to y-axis <30.0> speed <200.0>; - turn rsack to y-axis <-30.0> speed <200.0>; - move rsack to x-axis [-1.0] speed [9.0]; - move lsack to x-axis [1.0] speed [9.0]; + turn lsack to y-axis <30.000000> speed <200.000000>; + turn rsack to y-axis <-30.000000> speed <200.000000>; + move rsack to x-axis [-1.000000] speed [9.000000]; + move lsack to x-axis [1.000000] speed [9.000000]; wait-for-turn lsack around y-axis; set CHANGE_TARGET to 1; - turn lsack to y-axis <0.0> speed <20.0>; - turn rsack to y-axis <0.0> speed <20.0>; - move rsack to x-axis [0.0] speed [0.300000]; - move lsack to x-axis [0.0] speed [0.300000]; + turn lsack to y-axis <0.000000> speed <20.000000>; + turn rsack to y-axis <0.000000> speed <20.000000>; + move rsack to x-axis [0.000000] speed [0.300000]; + move lsack to x-axis [0.000000] speed [0.300000]; } diff --git a/scripts/Raptors/raptorr3.cob b/scripts/Raptors/raptorr3.cob index 53780a38281114cba518264be6384af72f322b00..9e7b996150b1b25988216eb47f087caca7dd66c7 100644 GIT binary patch literal 68623 zcmb__3EYj<_Wx06mQuQsc+EpZQJVB3Q=>G{pi8_Wv!qKZD$OO$l6zG*x4AS)=~f~` zBMl@%^PEbWl>hg;pS8|ecdz|=-`~Ce-RE?UXMgva_FCU(Kl^#kc`N2}xjpdO8LvSd za=GpB&i3YZ6>|G*UmQ+^Y**T$d)r$DckGVdTtL|MP7y5EDn&fzV zYaTD&x+?Ln-SOwg|Vr#D4t4 z;M9+Ck9k~!-?I78I-%bC67mMoD8!FuvJqGN0Pn{wKV|Z^&0qm{Z4Ixtq1Z>9`q3+) zcZR{KAAK5mdEMCw`*t+)%8T2tnwQsG^oH7pO#0hrh{xSQ0QB-r?JL6P{Cu>`c!Pbp zI$KxGwXEz$rbNb&?Ox8>VuFa9Hp@>d9kL$U3E6B z5}exp2ofQ0yU06_w!z2X13uEe6h{%JIMv&DPcN_iA6bqBjL55Ws>f~hYlgEN)dnmb z+jp_ZvmA9zM~}PH;MCuTuJk!P^0Q2@<*16)y}W0|U*go?<^2waeknEmXn9Q;q^|~l*zN4d_#gmwazUk zKbOeArQ!#1>c3>VW$+iN85-wf;C>!=Bnwh-YF`l!<>#XePW~7Q zD0}LhoeE=w3+FssJ`N5BMjX6)&Il)O`n?5tYU?HhEN`pm{geXX6ESS1aqvi4mk_79 z_*E@0Z!?8J9x-f`m*VQwdh*6Ay}Ti^uCrV{rM1WPmE0kYHd1fbVOu+YXG`sID%ptJ zu)CKRI^hR#>hIzN2V0!#{dJ13sf*YNd6t8(Ow@qNvmE>h@+O`)i&MQR4pyAy%oGQw zaNm9I{a7yRNh|NXp5DI35@)_?{AwQMaf>9ch*Li!!#ShED^}Bf7JX!Nt4lXZlJ}#PKy(2|lSseVou8XUo=2-Ll zPwV1rn8)*8bPb+b2e&=}F^@R-z9Z{8d567LxTa_LskbQ-IQD&v#GDv5;szzS=01rL zahi)g64!ErDFnGg3>)R8uIWRk;MBfjPVl+-tl?IbciZva4{RF*z2soE?|{VmY;S{8 zy_I2f9G9+4LfB`y`q&3NZprUi4OnhHaZ34L%h7^G#+{_cdc#daRVtt zaOy{jlj;brEbdC-KEt(C92YLGXt8Kh}=g}y^>3obyT<0*%isKN*rNJRy?|23T z@+^1Fp5XOfC3$MOtLbcyJ4A3nzv#X3FCMoJebh^w`Y|AJ?rdyu>PL!`>IkkZ?n>cq zKFHhGTk6AdSL&LcYUu}YYF`mP=jXSK^3Y=X()=F^Z62KIvaoH1tVt=unkjJUsrz`mLd=oh@TkiVq1uySFDuaENyFR$t z<8GIIRm)uq6Z^S;7yB%C9RwY*A14`{`jNV(P3=dP7gw^6pN}2I56fLgBx=5k#DzGW zk0;<%><4H$#E&@jAiJE^(d?$vD_LX=4ad_g|_j$?Lkgp=|w14_o{*A?n zm|ITzIKefS(aTQ-AO7?sInFN7*{ba?-M=d=0F?8i9H(C)K~p`>~be z1l?g{{2r|1aaTwU5T}0JhkwL1(40b`mpJt!#Wf3M-C);K<;Ar=#p|sk*JPHHhQs;T zz6)qP?6aKobO(_k%5G4o=8JnudFg7I$cGAHS8j2f+ET zxZVjrK9@ZP;?$4n2YWxRF*x-j#jO{~{Mz+nd2ySt$sWfqwf{ILaS!$>xu^Eua&Q$S z5NmYmuYYkibom}0mxF^5!aPo6dC0j#oxIfk@u`>Bl#>j3maBR0kLNIOs^By(T@pCuLdv7hwC{#{JXilIoMgGW z9*mClzD^;~Yq`2IHlt!(HCc~ZuC9J%>bq4#4E4TB$6UdzND z(*EY2lE$ykF@D}^OI#>V{pfm~$EEfu%Zn@TK4prl|JU{MVTc#GVe{~IF1OELRoH)I z{D~{?KIOdep8Ibc>-Q;NOS+4#zagBVga2#=JUneXkV-5iYhjobM>QTpdy){YF&}+H+i7UOl zwz6)uT>aj|9`{*dUHwVop2L2IgVm4T2tw?~I|irm`~SU9d0h`57d=N+c&)*-34d4YeeGy@H(@fsq^t@ zBL8j>e=T?Y|K6u;l{h!;E_u)OBOB`|b*&#d5x@U-ojC*(MA=gpH+Q-C(n$rbQ5#a+ z6>O08sK)Z5KhJUUQu~zmVM5~?XikCfiTTe)`%>JMT4z>*Ke4-lwSec2ZaTrB=pP1L|M=%YO1bbe2V@Ho!@5I>0H+%e9nYyJOapR#*v@9##E2kax) zuu<=8iM%>p>?2P7_zFQU%@5+#k5jAp__dIAy5+83OT4^&sSNg6?&^P?$4!yEvfTAk zV~;yr{2)&Kz#~M?kNXTx{YYK=c4sH-E9)9Lh3ntY>+LOiEq85$P188ehcHo~_y59O zxnlEdHiqZAR}Rl)YaGH{;NDEdmf17g%!QNMY*!)H&7tu%^o(f_Z4sw2%;k=9zF2u` z%YKJ@p92m)Qx+TTD+{N3&wgmj@>K8AVWs1UVWZv#iT$R~3HyR9!QI)ZQrchO$XRTZ z*ZjBA^;&Lg-NM&!5F+x_kI$dju~fZw{dR1x()ALj@w+B*4WoLAQ@!ght6ZvH%c&Ps zDP1pds(0RQTgK(}ez{GldM!scuU>lmEcgD{amzT>+iQEzZ5kIWwexW)FRpsA&zBMk z#Qa*0-s|Vm<6^mY+%Bd2VY&PW+@y@_ytU}H9R2fgrRyb5=k303TgGYpUhP%-yjjkl zmAG!9d5jBjs&`#tJ!o;NckOFl@7sp+Ifiw43%<+}$3^AYb?p<0dw>?FdVjA{dcN3m zNO^I4VPmW``|LSn+`C)GY5aoCa$bN-IX-XCI25zPe$Qt{rK)`1ei7z{{Xd?cz2AFY z;hJ52z8m+AiOIFWk?4NaKcItsc#I{?CEwV1>=SvfDD%QTmHDOg{V8jG_JtS5-H#6( zf1!-y7&abzQ{G?ULF5kKN|PCm3x2x1<1`Y+S?G_^_E^*lD?Qd+BQ+eU{%|l<{v<5XP}jZ5b?m`W%+!J1h-@-ls*T<(m33 zt`XiT)A9zt7esrnG<_7oW9^WDe7{?+^DU3OCzwBEoUQdC(x+=7yQZ5beecLPyN(+r zeHWNMwI$9oTN`nnu}@?6Z+xH+`*U*OJNr~-5kI4k@3}2K(;~HUzMRVl&&jcW;5a*6C?Ngar zTi6B(@!%LX%GBEW#PpRWGaQ$3d?p|tN7!O(i+b2MJF%D5U&htIdrrntHSvQ{Fnrf% z!)$Ghg>v?F5q_|>1)2-9;6UQ1! zUn}5qu*K#zZuy6C_sbmFye^S(x5>VW&FfdimIFke&Fg=Q%$kY3eop#Mrg5;v=Jg7Z zx!m-rf9k_~qL1SUqtExr`*(P!Oq#g<#}PTzT)jpI1qeBYl3q)&Y~U;H~% zd_nE#o+bjk21{`)m$?O!k!~GaMH@*Bu;xsEo6DjmL~bUl9jDrp@cNGOiiA zw2vYvYaN2i_c2U9jI(+Di;TNSa@XcHZ3wo=9NE0SP-Ne4a$f!0SH_X^sE^}tD9BnZ z??;LcHm{4NueRw^nOrZ^mU_TYrp@cO0Ak0@*A>%10hk4*}Hp*-v@8N*-sm#X`eJb-B=}WD9no3`4-4n|U zx&&Vv!f6x!8SJ!mv_8?Nb~cjncAVN-1#@F%+B)L1rnb-4(GX0g?c)@)@fdSG?o(TI zJrTf&C&#HRbHoSDL0d=PMEnP4M)&m=373UfI)W6+D-~W$w&m+5J`kp>7dp~Y`Vf~`EtUN5Ml|#>i z;^FX(dwvKKW*}B%ZbyQi#tu^Ct zDA@O^Nf-yMnRLiBkl}#d&7y zD9$rmN3$_09RG=&8`-Bai$pfx%X2;|*)@}OJcLl@a)}w`vGLd>c^|+@i*lad#V2Mi z!P3XEJa(4IyhO(Fjg5U{<$bo~C;RwfUo0~mm%gn|~$%w*a51?^%&)bH1MRT_}Av zuOF5^{cRI_e&{NFO+}y0>-yruBY3BsHm~22zOmxF&1;>b8X}W@>I3%!>4QD5P&|*t zxkS-y?2B`WeJb;5{DT;j(PrAoK9yM{l|HXf@hGI{N+eJWFV7w!fBY+mbi)fZx?&FdpXc0b6bOq#{Kx5Fqb%L8OWnhYWpW(t;kW_#!1vTWtXYC-iuW91ZRK@h% z>1%{{>SL{_%(tZPO4Fw@dx@Q?dss68qTWAboUI4Fe(!DanlR!Y75`HAu#~ed5Sf;D z<2++Muu*25XY5n|CWyZO<{lQG8Pa>aL7Che)_wMHEUKfswN}_EeHu?)YuIsWr>>Vm zALfW-*yx|`afSoZr!v)d+ov*h?VZ}UiDiZ{qEBn=Q!0Tz_Nh!=zoYl&tQ<+*v+Go!zT1VQKsw3^Qb);)4+o!f@joCi6Mb|GS?1T^YyrTS~- zXST+I9;uCD{$oVts<}FNzAkiR_J+@RX5w)?^G*AE>{UIyuWj_RTX)}eR<9_jyFao#wtW3<;hITh{*2^c-f^(`#Sv4B5mYxHXhqw z=3tJ*gncS=gv4^F#3aa*aSi0zm9-LQj$xzB!AL5;FO>OVpUN!32lo9;VX!3}mvOUC z&-!My$@*-*w;P)E)ofnqQ<(>J&-%u!$^5hVe$l~M-(tyIo9}lCUwZw%NF4 z?`1M=zMl#E=tHM33VmwJ7>TFeTekV$r)xH@Wy8z|o9|!u%KA=wC6mcMm3ik0S>L-2 z3gg0Dz=o=aXMOdh&*u9*GDmxgoi^V$9-EE({GCi6bDE8Q?SYF^zRz!m1CrBf%YGBG zzK#bJ`qY*p8Na1`FAoM{!ZYl-I=F{sUf7|?@&)hxMOW|%&uH;?$hT@Kze$cUw4Y*l zjB~)TpsC;&-@$xUc}_T7>W+u>xq14-zQNL`{$=CvRHl&`<`=TVnC_X(lT;=<*Jt%c z{fcEQbAs&?VcBP~L8oBVo}9>KpY>}I<+jXh7$b6dOyfc2cK zg6$^OJf`C|@B@Fvxn)65s!xx-3_ex8d=I{2E-AA=ZGfH}@{b=i|2RhN=a|q}>e#|~ z;xH3=S^AlWDQ_bbsN7g*s!zx9oq3~qN*VNz`BM*@HT*ZHD_5rw7qy#x9oSbjo3rf% zuki`-ka+T##wxEv^5Xj_hhl7)Gr?|(uIFHsLMA z!ul6{7yoLScxaAT?0y`N`RB9A)bobe+BY1}o>%6_lunJmzSAC_t{HdE#X+JwyV?f=gqCW5)wY_w|eU!xQwyI&7u&&5lj0|T%SXZD!Yk0A$n+?O;SdRcq?NWBa2@L{aC8&96V*>%Vi z4ui+y(8vbnz3yEB!+ z4^9gk{jGMK$K54)MV!X3)6O2Jd$Yu;A17VvakrZL)2jC-2#)=QyJ6iOcth-)y`RVN zo+|wa93r?PyyxY~xsf*M-%Oyd#r*e(>^py<54>@jtljx<%Ns}bYgLdZywUv@*eAR} zJY{}^>!G|}!8O74Qx5hqc5KAGm+)8j%ZcNQxaTn0vAhS_De_crO>kn2J6Q6-*7;2x zJ?=IFAdhdV_vi!RpQa zFEQ@jwZ6{#CwT2g)F9`>*7+_8UgJ89I9um$;r>so_e2(u;52?U5Q7-Eht#F5^S$=* zxZ1+I6wAhW`z(c63cUaSK063zirKq`^KN^yFHNAY#0kXZMygC z8{D~m_LLv;`vDq@<0dwCxaJ?CKxMyyGAVD#-o|#}fVzou{h~x{`Ak#}a}acjyoslH zc?Srmux8n)_t&F5uE=nJ`f+t)?)Rq<=%qaM<7@00&erykiJG{8LV&Zi zy&E26jOA4@=VpuuemtDusLisMVrzRvOE2$8E(W33*6btLuZZ5c zmB)`EU+}P3j60Lh3qr3wH@Eo0%bSB(5oc?*;;A0DkpTwI*6gl$HXzpfbE0M^VF4fG zCdwY8t=SbVJZ`dZsIA!ni98)^YF6{A2qx$CmQk~l_sU|)v9@L}m|IkkAvt%})&4tR zFSLHp;SPHHYgerS@KJK68ao-5{5T|J zYlBn0&pq#PHww;j<9h7p#`5?KBkdzj^ao$jza_3M-jv+ro9ex)t=HRL))mC5zq{7) zxEhj6mQ%(c{`t8QKmLw~EEzwR5F71ln&66V-xqLd-x=VASl-c6iEBR+RCAHpK`(qYomI)i@BemW-^nc`(uW(I5+0<+!?syO`ZKqVU|a+O(-z zYj^E)!F3Kr0;2Ej0wHN>H)?0_);A4BUa0>HW?K=?# z9MAnxRED`CPHW#@KHlq1{dRDd)gHH5a*iCuM!j`v`M4~S z-!msp{XKk|mp7Kh5BrEye@}kgS`IgM z%DOz~sqNpd`q<&_n^o9nQrowMKY80lFH0hanjnUaF`JmUEXT{u|F2e`_kZ4 z?_phcaJY*;MNLHa#t!S;#^J_y%i=a`r-?qrXvV)p4&@4}&; z%NpYRMR}Iv4aoIJoU-p^!VL86aseXQUr84+I?q;LBD-zcQMG21ov5xn*iCO=u zA1B}GalhdQc&L|VvQh7SiGAH|%=$N9M+ttZk>L2<@dGAtUGf=u>a`p{BypX#Sp2md z|IohP54|@=ocddY&w0INaQtF`={tS19DfrgJugGJ7HJb~rye$rI|6wa10C+OdYDt;P}MtceD=46Z4Qse7eW=M zdb=Fz{m{QnL0N3{_p`(`@S)-dajN(D1m~?}QN!PW5qTTid%b6fykN87PV4A#m&!FT zajN%)P9AqA_9>{BIQ93!F&H<#f>vMp|&60D=e{k(zJ+5nAC_`K<*KU8l$K5X1 zH>OD7cE|_j`s`u;!hxV6evn?mz+Q#c`C;390>is(5?*rloajN(9 z_FmpkQXeckHs)0kVim`^Qev;6A8Ihh4Wm(*56V-$MfjY@mBGm^>SZ=ijOFAjj=8-c zLpb?YegQ@9*#I7FU%6L%huibHkKDTZrVsXTdlDmi7rv*Uwx`YoSds)EiD4`4Trfdm zK^#94mpT_rAn71xL8sup?`~oy{=Or*L|JT<_hl82dzQh6JmOUECkgI;-{697$lEn> z&DvVHf+fU8y$kzzz0XxgC-f4hdYcq`9PdRcPW5(d=W+YU`pt6kZRdF09io>w)q8w@ zk83IG9^zE*S&5o`NVtb?v(ew*6YJH{=Kizdc6i_Go%F8fapT(pkR7Bwwb3w-l#wdE*x^Z^eh6llePHvAkmvoctSNALBMlzF1BkiM3yh z+kuG!KkPdB2K>-kjJuZCo4{F4?$gT4`@8I~T25}6sH645p~O|-3-dd3wwHIQTrXKp z-le9;^_1%%%gMVY)`oW(d8#+X$@OH7!E|7weJM`vP)<(XP4bFws<#NA^KmYNlP{{D z*}$=ulQ|)I8Ip6~1CzsC5z9u~J411d>(7J~oaW}Z1V^1OxkP#41$hm>$bSDj@R8_U z&>4VePonOuiB9kSOS64v>QuddYwYbCFV{ZAu+fimp)mI2cZsc)_d|k{Pcu06qt8oT zp6)vb-$d`6>pkvz?ihF4&6I(4j(D|?AszPY^Gr?%HYd}1H(U?+U!8yjPGO(JId&7aV0$UY8O6`OEINqBG*|nj?le`)b>(Vzn-Zndjpo^H`VmGZILsSXF2}X zM6R#Ib(rE*@0`T^o+tZnnrPQ6SAHtHRYFWAI>)ZGuAf>XUaKkae5EzInrJdNM&iFzBHI2X)*#rrW?p82vI zKj0XT`%?Cjh*SHj^z*ptW-mnTd;DgP8=crs?$p=gwv~Nd(t_&kl-LWoCBgBnZ}IYG z@&*{2p0x&E!J8;MiB z>l6E6y}0l|%z{pl*EzxQsr7k^<5TPN6vwB&XY{Rz)yyY7+cwH$wBV!i*P)FN>j z=YfgqrAyFHKZsL*Z<*lrUb=gRBX_fLeh+HpaX-xV=Ykhs_3^`@px2%Y?#A_aJRhA8 z$Z+;t@YXCpZ`0&jo;daQfjfP^k=yAm>7OY+p|%3gXA|RK5Rb>TyTP z8jU!O^L_I@u2$mu;dvxQthYTx+aM-r!g zT-Ds;isbs0G{{E1|G;F&epDB|#A*D#$N474p%g-#iBr8r_?*X;an5+Sab^R@+H=Oo ziJGXE;Idj!oYy5>aZrNGRwZ(zeuB&1uI6*I>dBdpmZQGg#^YYXGaI>xqc);WV*Bby zZd#67hx-sQu3=&wx~`kY{UrC4EJy7%!{Y{mk7%FesL_daa;F4G9g&FN#}KFTIDgEg z1@*k%C#z>Tata%9v-^5n>t{Vj4NdHcVT&WIlPOR2))?jG?S^YI+Q)QYquzR(J#H_F zGjW>hpC9Ds_exn$6Q_Dd*75R|%Ja_T6gKK@55e*L9+BXvnwXpzSDi&IT&8;4-8t3|0XT^Gl z$v(T~vKEQ@m?7s}at|Bhd=Cc2^3E2$|1C$=!g+(T83W5vFI6A!bX_qAplDtD!NvYL zgs(gLb?vunTDo=ZiMveoGpiL zeBaCKIHrJ8y}!3Q-NmKTH`(*umP2ns0mtzhnc(iHn|a(c;abX5y%%5Sac$%|VXOB| zWLm6uLIViGd|2+Db()uVfO&RJ_5PVy2Ml4S$kRBlKgY{kA?r8G-Pcd^xPC8W^G2NN zJ#9yi8<^nk&D(o_f9sIh$8=?5UNzk4pT*qa$xJVCs`suZJZ^9c0N^ii>hCkyH;Ust zPWEdpch5+yF@84Ot?~vp@$y>9^C*^+=U{BCw^@Rdw{7fk#bTf3Okz)>N5T)79PImVxw}7V zlfKh8%iRrc%>K5k<&0Tglf`rZ4vxmtD4635BE-Rfg8TGr&$%@*uPN zr*kl&tC!c2#U;23B5zhh&&eC)esSC0bYpx_=v_M zE|jPKK9b1wyY|R%mK$3n_E*n;#&hGeVy|~Hl|e7%sow9Fc-(=9W;n}@&0g_&a0iPO z@+>#*_fL;&xT?URs<(gQTCaz!F)TOU0%PO&y(xJ>oXUGF5$6{Y>(##{IC*J;8+R`9 zdK=2R+j3)-x*qp@V!!q~ByH@+TT*WfW4=C)@VITwy*u@H@?4*%l|-K9#;cF<@*2o< zPQ?p zEpQw<2R}9&&w<`+qm69jl;0EADm&r&ActHhPGfd>Vy|9*A2wh_-g}+>92_tAc9_a+ z)Vl!05ZgBb&x}$pajN&`r#SHw)aT^E>uJkGmecMSm$z^)_kc^=_1Vu9ia= zLvZYGHN&B*_ZbjTjGJU|s<+m@9@iqV4sDd+yn7N{ds}-i?`OH@w_Kb2UZ9-A$)Rkl zqyF8zyw2i><=Vp%=b*I-uD$$T&l_uGAC~FBM!mIu^?H}fIgL1tbITfDo_=S9IE`}= zKIiA7jD5}@a1BNqsKat?)su`2xwh?P_9X!i<0dBV*-WT{PUIYAs_lO^_3~bq*anQq z+Zx8_Z5O>~3s(@%Mtg@NQDfYT3C>$s*W-@v2qCbK@+yeDo3SSs%X^KTz*)|_5NoR# zw>iOOYd|nD?#u+2@!o%o`&gcrBu8od&c_7DxSs5UeU{7CpwMI7-~^ZL+r{JBJ?+E+tO=t$U-Fw@~tw+{4ECIIOG39WMS7r*ZB* z%;Wwg>ty0oZxKG{=dBDb>xlCUZD3wnE}ONN-*;))9iV94SRXfO^SX3DZ~goE^`P25 zVa))CTiJ159;dd~I@Z`O^1f#$=76%;Xz%L8zQ%rub>r}cUS4%3rN~pgmlu276xnxS zDzi~^|<-+YzZlYje2iN?7K`%tQ)US_}f+d zpgh$(A#o1+F2S|MMc%$ea^5BtsK0l?`8Y09*@?Iir+Qah>2Wh3_Z&L-9FOZF^JY2p zl@%U$aN=H3`$zp=$c@6?mP405s>7zKr`7mZ+j!?aa`VHKoA$= zG=6;kC&ry-aH@Azg7dyeTzlV@xXyS%t})4ts<&MaulHU#H(L&UWw^&}Cwo)mJU04U z=X8&Ikb#50mP2>%b{~| zKA`U`N6VobCKtOoZHq59#~ix6&KVB(bhR~koX*vXb60L1=SY<^@66*gNA|wh$E=#H zp(%@v_HKQskHvnwpc8XNoa)_flE?jvMJPDcd-`I({+M)qR@;_CFF0>!=WiF;x3V01 z=Nn$$Qu+QpajN%R{J=;YmtKQ1`z(j9x!CV^EyAqL%?c;Y3sh2qQcdLJU+(NUy1T^^jO$V>{cR5E|u6?h> z<9141dtXp}va@f~!P##|S+4E6sJ_Fk#j_6N7t6JWzCP9AE?<*su|wjdMmPd zvwC-&;Qd%HYcH#JO-o-NkDGg08s|-S_-6?(!ugByK~834UfogC%j4gdSDfb6=)1ii zZT`po)%Q_1v?1pB?H}`VP{Q9y=ac)*_J1URU zm>qqR=f=lB_gwp3PtT3hq-HJGcD>B+6JICSn3ijI{?hAhgS9E=fZWJNe@`FmIciSg zUeRt7eQiG^=VQuKfA1RQuQSGoUdy#R*Y-IwR@N1kYe!b`xC3cC{IFd6!wAofdkZI% zL)k)JJmc4mr_3#Ivd-`Ht9)F}q!8$}>)JoYd4G$rk3yW~+SAwj_-&N+o8{W+oxQw! zKPqst#`(AA9{0sV8P0O;PR+gEb7Z|`x%TGQe4KMqieiXRsyP@{FM6yg#n?xNS%pm^b1y&PDi~ zuk$jl(U;*K34LcB+V$l_3y&?xkZa|)k1PBZA>d)$gtNLk+}ET0?+7fI@vwVl>7>>D z9QTaF58dT$7rpP@n#GJZveDk7CVTD~Cg*L-Jx}c9Ic34}f;^4ccSrhMdbu`~A-0x# zj(*AGj^4k3(^`DCr=P3pQnQwO=C1KMQssb5p5>mJiS@!XsR_$Htq1w@Q+vZ@>Tmzm z-acFw1tHE&Yk7{EBzo;SZ_^7V=VadWJC~MwPTk7ecd4w8EcaaB)XVED=Xc9J zZ=sIkeECG4!6r`q9gG5rag!6Z{Q-z0#_4ZelLJ)V)%$wf>9c%o55OLHEbo(pAV_Lf z^JN8&#kd-K7I3P!2#4~xGHUxX?s!)qCGuV3@{?KSFZ_+OXoa*hp%I9Wxd9KK= zD_&1L^Kb_CfH()Xw%eWQx#wUxj}fPOm*K&z*uIML%!sY+{qam;jQdmO-q!Xdr}((k z-jw-kYx~QsJ?>U6V&MmI8s~bWJZ|o?OrBj=Ja@0>fH&%7@@#G2dY_NW5vLSzs`u7O z-rrwjK5T6->*jIGxWGturo`}mQ4`=gc*9#R-_VasDi%hRwFLW61aYJx_ zi}w9r*9#aG{?4BLTX&2Dc_rjLc!vMx-`L|jd8Zif`M(jxgjz4(e?uR;i0RJ{_{(_w zTogWMe-m#Wc%8?1$l?lr`!2&(7aYYCH-Q8C;P3fW-6n4b4{b?Cqb;2`kinWS zPmVpZ1sS1!%VEb0TaXdBvAA;8$+&l#vWLg8Oh=t$Ie!gs{Cn`s2{t=s5f6mFG%0@@ zQ^u^_f_|-6l~tOI@3$Z$u9MPaY$ZNwK2M-hsn@tpN|RA-3o=x0S-#ZYf{eIMO0%QQ z7G%VAQko3>9B`OFwcExcu9MPa^xT4sZ4rp_k- zF#qWroBF4JOSzZ_CuDzbl^^+c&Q8WP6>%+bUCnblbB%xNm&Z2BJyGT`8;|`UYY&SH z=O>&yiPL;v+r-OD{SBh6aUUnvTbaTkkMqn%y_JwSF^-p)ic`JoU`&i#BWqB*_N{`w z#Ta*eg-jmvoQ-;St>bYEWN*vz%&9OSmbV*)zz^coz9$p%_7J@x*MX(p@33xh@+buI z?3!_8Vm`1m57(=9&DgcRm)A!06336!J3XNn+dn}s^PP>jp^5pxt*wA#PO}l$rJmP& zp3H~M(|L*bVM{Xq9Sn`%y$N}58hPqR5%lNdm$)8eUoa9iu+`xiR{wo2HYI8ML#^r* zWJpbP{ibj)QEmEqXm;JhwAI=vflR$_RGT(-G&YI6juKm9*r@lM6Fjbk+~+2ojkqa^ zIpF0-4mm=c+Q-`y`B;eF;Z!I%ex$r5)3QAr>qoa58P3*XQ~7Oci>o2`I*H5c{UKXt zTiiIgXJKpc?%Cf@Jt9u!?c2h~rIPH=5~uUAe7e^=Q0~!K4ruYL*ISzo zAbyqut{&(0-X_n}S`OH;nU{Aj#8IB*fZPC&yNi9MhnyU2rCc`VSlx~uH#l*gJ_ZGmw?X7VMUY2-)F*s((BTG9 zA@l|eK2q>ZaA-e+KFERU(9IQ8R}gx-+*A`jg`UX2FX-W@}s=ZHNe zXM>%BJNIL+_Zzu~LY(S7`zSB32>Up+k2uwPcmp5j8ipGH4fd_TAMTF*-9_?>eyiTL zzj~ZLXG@&wU567kHIZ`oX-}$3XSu5%{t?T&Cc#~2AL((6g_A6I zO`73rZ=^iGXSr)oLa$z9SnfI+|A_5-L*hrA#<@F+D#l&P)h_&H>asC@*TJ_Khg5Xy zpVJ^X#_diaB2V>R4+~=4y|Ui39M^7*$8C_`khUDx;!lsOS3lEhId1wSZ{Kw?zk##G z-)pLP+)XlXmg6?H_qanO4=l$u9qZ?JvOEuBIc`!S&YI7b;|3<;OiE{*iPJdG#|2{? z=amv?y3NM<<^AnzFR$C`EUzrb ztx4F2@P+)N4wZLwSMSF_cES(hG%iK>ocFg3j{61A3^GP%B9ZcAghK`=IBAu9pT_$B z5%kdpn!-kT%V10_Pp@N%Q=dLR-Q%7kc|acD*eLI%CLY&Vd?!xjJ&*d1^&Xtyq#lR* zx!EN5t;r#5)cbORYjBAY=7u=cdqDz+%kex8;Ry2fn(6KPO={F~QfeKCWnqv4ujQo2&+_tW$oyJPnvO+z zY~L=jpJ6#^PplrWtu#SrGp7)~+PHKb=G>%De()H!!q(`V2zSB-N%1d$5dm@iG^=Z=6##Z6N zTScDbq+hTK?1* zB<|zJI8dD9q`yq_xHl*WeppUgoH$3+1x#@ozk?HcgHIw4-ND~+J-uH3#tY?z+7jF? zyZKuFEpaV4MZT|L<2N&LEx5yTUhgZ=MZGLlHqOTdSpUcI!>J_1k2v-Br`jI(I2{mq z>hJkjK*sWxC9VZGLvW14W0gU#<)q~h9OE<(EGI3!)Z@P6#KJzyN&6(`7mv&Zy_S;> zPw0iTygc>y3S9fd_RSM6wA{55c6MUiU6KdHX`KJPm&fVfqOsidO~O7d`{^%pL*>1T zVvY4)Eb~E}`cZ_>d0ZLX)#0!#cT(K-l*E#9*_dOg^%S;*f~|aGD~-FBh&DNzs&{pNkNcL%1^ZaiY}ETRiXfJEkK_(< zD(}eiJ#H%oPUNW{MIF4}+syh$^)^Q##(I0O6Y?x4^_b{!{R~d^PG912H_!pdBZsij z-wWYTtT%KDPW?Ti44mq%aJQE?ft`>?u3@9z^I%J9dWloL)6e&~yCu$+YmRU4=L45% zL9gYSSLN9#rm$Y)eTYpJ+E*6Wa0qc6tM;Y1#^PuK{Vl?K-rq8~W)J+H7RRKx=6$IF z%4H+&wT?!%)O=fZ!dBYJMqD!#Sl$M~;qkWMJ8|mMhSna}hYBH&p=YB!{>{Kxp6;&@ zr}8Ex>}zG@@gwDRK*7fH9%Hbf*K*AnO+9W`sVU11pS|L7b!imj*_v;EyvJdCH;+?4 zPD#iEE$4CS$90MI<4D1=mf7g<5+q#gZ-_7Kvo(L_z88)8@ntns@rOq#Jv3x zj$QjsTzyCoP{~g|C9LMwDxt8)QdvP}YSRCSaJJb(C6szyKmYIC^ z>GwdgK8%7NR+o;)6mKTx79N1V{2Y9z-(tg@;>^D=zhZ;>HyeF?)>vy1JEm2+brl*u z>qoVbu~#|8>>L3M&TWhn=Ry0}r8?M09U-nf4!K$jRv&c`lhVPyS{#cxU_Wz)`a+J$ zIIPU7az57<7v|AoHTGdH5i1?f*jk**3~>~hKZ#5pD-BBv7db9Xzk)W@NIDf}GOycA^f3c=W&i>>=+W&&42%A zouY=tHsaMb#p^tT{ZP^O%S8owIrzw1dK}9!sXlb&^;4ee<8k|M+Mm*|_$~EYjOJ{J z#{}dS{!{zzZ3-nVv%LMPeP$PrQ7n&yShtI9f2?zi&(JL5o{ z_B|-Si@|e)_T_Th$(%Aqx%_z}%Ny+j8hw-*8f>!i&&0vJJ$1GXx!e{;XEM+Ue=I)k zv-Z4pv>6xK6Zfe-c|FWYw2>gGpCR-@tou759(DJ~VwzWc#X&FD!iuRH50E{c+JLZE?zI<^)goMdzu3VX1yYgjnSKze|{{JT4%T(N|Vi|T$DPOTHKJ#Plr1BMO;voBS^Y_m2_|`n$ zZtIFX_S&_7Zq8NAW#e#|$8J2Nv%?MOvsF%U)Ir?wWpfT!m$HlgD(|f(9ygOh1P94M zUYk}PSM=xR&BO(a;8rv$>_`Ypp*j%o>(j_o@~ zS@?-QKm(2xH{p2f{O#mBF9wagETdn^&ZHZ%(U z5~qI5Y3%*zYH;dDhuR)j1UZyvIeANQpFi&99Yw<+4<#BJ^Zpzd5XX6f#E&@jqd$l; z#{Ft=>c<~XY~^roe3Ip#<>ciXeVqH?{6PCGCy#!^>z%SGlV>@3c7j8-&MhZDnaIC4 z#ShELv;Ss3EGKU%u4zZ_$2ANZ{6%Vp#`zesug7&~K?;sTh%3f>em+X!{eSl(9A`y~a!Ct}!WUy6gr$hw3$&BgC( zczK&C1oDVsqr4PXr`D5KO!x9e$hyvQ_3RcN*I#mnINC_P-9~Ng{C!kvk5kD;+%H(z z$8l*SeFF(XtmqTRsPD@Xe0)d=W7MACX8Bs1%udL*+Ccf{u@B@0 z`WKH;ds3VYHNhT+iH+k^oEZCanH&c$#V9V z;+EhdE7p6e$SaMr|JQZ&UZ_RZz<%?(I2)elc`~|YPpzBxI|?z6IQ!1SYB_nWUn}eZ zF#Ocp5D6Une!9e*7&hXDCiv(Mi4k#{i$|rd{U`)EK@1z^rSJweNt$dakCysowI#y}WKrLfB`y{qVay?&XbH4Oq@S>}BuAT)|n6 z8*s3f*M!DHFLCO}8Z4&cc^fKzl*U~}f-8-?Qn)X1?G@|gRtD{}-1X}I-oAe^xPntZ z&PZGr1?~_WhcI929qjdQg`0Drw{J`L0H~IJkmJ<8VtmfeZz=1|!;#>eo7bwhER2zL z-+8McaSOPMCMZs0Ik(v`Coi=xITsV3w^j7kp*;9Rf7nXmuGD&SZesl!gg_o`W23wc ziS^+NR46!pB<`Ahea`;OWCf0##710=1ZTd&PQhths$o#<@9_qwdKZ=P=lQ+myllDa z$7j5}R#XPPmb*T>(&Mg?eOQ(t8~s?C*#EtrosdVI`f(sW#D3^`o;dX*bq$=_zuZ#X zpnd#&>>z$v?&_4N`7RO{;?$3aVQlP&?r{*Oe*Ct^>(%QH%U$p9;BjYgA`m~zT_dac z`E4ot$(Fm;B{;Z>oI5Rdb%gNPk10?~y~L>>scYb#>;%qo*OuZ^`Br4Iea;T~G+QTGPI~JRUjy%9jX=GYlj`2&{n$!!g6^0t_G)i_h0YrnMc}9ZcHc%esknv`teJKu}Nr2!~Z{O-ZM(Zd9IAYi+FU8fV_2U~~czF#u$&hEc zn&8x#V)maEHSGb*-kS6Po* zuHGtf4x4HAa5|M?4jFGY>P_uy@)0P-=^Uo^HBY1v$Rmc0@=|*Pp;K_w zP2AuSKF2I)tGpku2#x(XO*oO9t@d@s;xoqmC&BIGdU(Cns2KKHZhsiTisiMEb*|<1 zmG^qw7m0QF=ZSk1&BZ=anfh@e{uAqc$KW)6se3I&kV8N0I($oUm-g~;xnJ~JZeP*O z+xMu!sUOo5yo%f7VI66?{r8Dp-e)8Q_(9%dW4_dR$m33x{bN!S8*vA|>HX*_ILn1& z68E3inEg-ncm4m~*G%mVRFS;rdXtU*ruGIxC*t>iU6)S71X1=iFE@6% z`1~;iu2CCO_hf<%(cZw6KgT(FseR2mF`;n{U>ZVBF#p+TUy8d@>(cV@Czcn4AV!>L zHp=_9y~n*KIT7+fa6c!W%Pg08F7u)hF&vMtciJE^`a?GwvPg>`5`|QMXnboU! z+<1}}{I%TGp|)S=){%WQauOTkvP+@{9%m=yS?=lw;c=X=7e9#O+)-X?Z{UB~*X-HC z`}-@&1NK?&dOeX>#~V)4n*R<#FUb$fUB_4Q@oOUMddppXmw9vxoexr9@m^X4e-7))bS0;`J;d=edkHpQNchBGAG;X&b4X1jC-ShYIRPXXpCF6);qu#oSJ*m(M`+_XN-FRrZw7m^R(cX8snMfDP=de@v^zC^v2 zN6)HIvR>j;?{k&^9+%hq%{C?KwY=Q8YRU1leEW09zsITGzT0~~)413*<(A^Aw)6Qi zhypRcmY1vlT5?=0-%i}6WIu>gKRV$?W?bhjM6c!LUymqRFL63=cXa!Eoa%kGZ^`p! zdH#XKwF=E+T!>S>YZChz7N>eYe$DIEYX*DXn1e6K#Bou1b}jo*;y$6psosqhO3oL1 z-q=!H_18Ex5NFWbBV4(LJsC5X`=1RDih*dhn6QzL58_avo%#%KTRP{*?7S`@#$3?!pI- zKTF1O3>%Lvm-knA5c>F5lFV>i@VqC@@%Q4L<1BaAm%c`(Pi6AEI2?DO=~Fwaf;ibX zME1nVqin%W@nJK;&}X?5w|oPpuJl=cdsfE(n}RToeQL{a={w!@Q3Um2IT+p-@c_n= z8`#)aN8Yi7%J-?vv!rjj=~J0)kboS2vs~L-9$6*h{*-aH)<;NRKeO&4jIy4S_jh>! zcCrT5ma)=Do3u}DnU4<~uX$!`BhEASsm!PFf#X_ma-ffWDzhDfYro?nHF30@v(TH% z$*~1E-%(EM#o2f99%}5b32$qfVRpUS*U+4Yvl`m@phBP8p}qxuu#v~vs84+h2c%DZ z(;BjUDpP9+TO7e}j$xxrt)VYWUr92Dlzk@;K&GuBem{eK$A~SqhW;rs^%{|N z!bbd1c|S~K+8UZFeLsp!_7TQ$^F<&28*E9{knL0dw1)KhZA)tCFkDkpXa7!R!+WpQ zkQUwB8}xowOSNt+e6K)t-irGq9N*}4UoUv9GW2brV~8o=!VCDgFUVs*`s(99e4oOD z7-#eMW9j>tf}}5u1-=1}aojs5w+Z7h?Zehu7-#eMIKk-kr_J9%BJ(QQ8?pKOs@Sr> z=(G9zw8*TM$loWW4_{>sw%Gh#DKg(Ped=F*vE@CJ+l0}-JLUaHyyp-Xo4f?o? za}M6=BagFj9Osqq`|*JEsjZX5kJe&qkSF*V^1evMaSR(}HJ0~BIRG-*SCY(dT=4aP z=lIq#&gL&3Ar5`DH~=y&|F)8G`=CqvD1x%qAc%ZFok@mqHh=#k<0eav+We&r9CxtH zh0WiyMfRO0x7EL9GL9TZeH@2FLDq-zewg@R^S8b9?PdB@W@C|A8yL#uIFOYiv5!7cY`I&;S^mW~Y0x)FY_a?s=Na>tjrPTP#y<6L7$%dL ziQ)tM)W4F}Fz-m-zdt8icTi8vzoYl|eX6rR5{WwPIMq2F2lIW1H;=RNSQB{<2c%DB zE==^P%!{QjwO(l`eW~?IEHmg5d=Z3OJ8iwJP4uaq4I(=^PVKCKIj}Nqz3_Qa+h^-# zBqq)FaVpt(tSB1CKDFf}!Qd^ILp<51wmc?2Xs+3M`9b=09Q#ye5oPGyLZ+>kv&GKT z-T{e<+)Vh&S$n>l)HwRK9#wv z*!i~DV(VqPmz-(UgnAH-r}FFm+~_1V>1qif-Kxl3h%4L7JGi_BbZTm&%t+FFK3F((tzupg)%>va~=C=7LS#5e(AYu*53uIXRN|I!|o@BxW(e(#NqpHbi7jlW}}wW8VaMe?NbzWOrG=5~AWZ#{-_oIMxd_E3joC4Dx3@0GqAOrQGDP5K&&KAXRF#E1I`hMhKl|1EtJ#dn*( zI!AkmOq;*=h`zVQ7Ms6uE>ScaV;tua`*hwPlX#+B!m}3aqsbgsQvR-!{QY5ic3p5I z7m?BR=~0)L3o@D>|Y>uieOU&9|Z5b>w zxn`rCHb;lxKeVMOCkTC(e`||>yoS|2m8t$Aoq~TH2Y8UxTHe1BJ8k}UlD>fiL!Zsx z@5H}`BGcw?5%9G01M$!1?{JaHx}i*)zgvmSe~5p4qiV`3DG$%b{SNjIYLvbA!!zb_ z9-do1TXzhu?XO+07WrNAPJ4nrITrVYcuLSjZU`sX3z0Id#(ubcV3AWgLQkn0ei*~Y4 z{W}_;X{XjF`(S!F)?9K_&pkGuwiX{6i!C;v@K|&he~{#%&8NyD`^7{)4UxVTCJ)t? zB_i`!9)J&9l25&$jJ|c*JL9zzs$y)!Yh~AD`INfXbMw4xzphN;Ue5#KzwW`)EH>)n zIgszEdp*1l#lFiwEh>iHyq%U=^Czi=^w1?vci$0$Ba)_Jd(S?FRx#j!9 zSd7!P)rF={W!{D)q3qPXo+l+|HWLheHt%mlfpA=1>9cwNvcxQPuV)cNaop)*i_QCQ zr7v}_XTJ0`ka5gy^^fNc%A9Wc)W2iJ&eXl0+W_LY)V&^lWrKbFO#V_lk3As%F|Ikp zg*BnJTrHThOrP2k=Na>!jWXjrW1q^LD*FEJUJsv}(R-djsN5^ned=&5su!&Z+o!hb z8o~CdJ-VI=eej=S*yxAu9fkwar!v(?+ov*hZJgRCiDiZ{qEBlnwTGhX4%KJtMfVPE zpW68`6wnvjr*>++XrDb#XuW7(s$R6u)=M)ew)$*MXf4@sYKyKr2C);dW=*hBmhK&f z1JbAd>7KdmQ<+*XE!c^1_B^5cBs$KXCv@GB+9%PyLmkI@QCqZ@Y@gZ^=b5b+-8)R} zg~WMgYbofF+Mo@&G36`fitvnC=*VIhKI0jJ^YPp>W7(^E)$qQ${;zJmeA6k}TKeL5 z{Tk*X*{d8N-#4;4I@Zl(4_}v^|LHRu_0>m!_}-C*V-7+*r0;2Yu3<704}CVL2LQ-% zzo3hKHaBY`sn|!(W1r2Ch%ShfiGyP{d_t6&D9gmoL9|bJXR#Z2k_pYkj_tYAADx z%#nUi)y@Msg_vu35HaH$Up%%#-oH0}DsxG-3^R`mf^l|^&X-sZC0P1Yrd}&tEax1K zQ<=NUbzM^y560QKUvi->JkG{rEhN^9#CP_o%u^+1BgFS0PsY`i zXEr{TcybIIWsX4d@ckv32llBp&*pWTky&50#)UqW z*|KNWclzqgKbzN+56b#pmi)ANeUtF-XTm);ufJ`TjeBclCX=qP(Y^t&kMDwfzia zc+NUkgf)+OZ3P`F_bZ-@@SV%8n#pf*14kP;l*brH;tAt%zJsMI@>#q;q;_~npXa7c z?Av>{46in3{BFb28& z)b1IEa`{~a@)c#?ws5=ftZv{h#GA*S?S)R9Kf+uKZgKx7!gm!cZepvS!uf(You6xR zb-g_NrkKi8yITJvd$!if8@wX~75!CjF#vp)*y0|b5W%V5ah*NxSau4IL+IPm4?S)W zNgp_S&Nyzq$MqGiCr^W%`awx{Nl{KI} zKV6Jujd5o}oXVpK^rQK?*)!la51#)fJO9}8)_D1jmc{iJ`|LSva~-dDXDWjqoEA3f zt$c*X-7I-UoW`&7&K`HR*`HBAdQbDXtIRz>)q5ob$8mwXVGYI_R=tnz>v4P*h<*eP z!AJU0jQ6}e;aJ+Fzd27#_&=^W^Pj;RcVW|7|8IHYumQ~r@`N{zm;?KSHz-=7v*J6362@lyi=kI{UxTm0x@gq+4zJ)#X822vz zcnEQ}&IcuU?Pt^=akkEPP4F7e=fv4Me;a%FvEE}?K!Vfw?THw~xT=Xdud$EE)fC>P zST@evSBX5p~NY0%y!+#IvnHG0DT&s7! zb2YoonNuCE%`5~rs@a<#{K4S{H~uYueper_JjD1Y_EnJ@BZiGR(h7;1kA>i_VBj&Q z#HqYlSZ~C*K?cWir95AVimp6w-!9L3Y6B4=9Bf$Z?jQ8?B zl-y)0tG_Rf^SIh_{v=NQeXzdAHAFw{vz)Rw4#x4DYt{iA!uYi~&g1@&{eH_S@9*bv z_lqBPy>M;fdZfm#nSGXf_8INvohr3sxo5^Kk85Ps6&ja%cY9pTRi1mEo8WQb!Upjp zN9lar^?=8HFWf_%>TNT~e~CxbBYUqnY?ioa!Be4>9grgHydvJ?(L` z1!uYOC+zLT^7#EN+DDw~y`-ndy(Q-Y;#BYb{XA~8oP#VkzMAm&R^eLWRBtgp=j|(n z8`oFQVo6&pH$Ia%-G$dPf?Z`gmJy ze2pB2VpWb%4jM$2p%khKG%MuWRpd zH&Te;RPWL*9`~Z$|D-$)p}d(BJ+8$^o>T6q<8j?&J}jp^)ZF9dFacnn<&@Vtd0YkI zP|GQ;VQd_~H>Jibr(A?wi*c_dIAwE!lUEoHfTbZWkJj_@X0Q`}SWa0`7_0u6@qB^b@z< zx~%t+4mZEo?|Gc&T<5ac-w3s9-qq)9bnC6Qvwdu@6i#8Dt9?g9P(1h8at(7uoYur~ zi8*~hawK4YWt^TL=GXWw1ZTOi`i)-ieYnPDju5AMdp+ZEO_{ucqp8%p)oy;@?-!|A zmKqyzH4=K8vZx`?a$~{Jt}B>Tg?o*&&{f z2`ql-C5|T0k3J82+z(h26GwO0h&vP)VzE5k=Oj+`KC{}(J5ttp#HrqM-}1NvKlhxs zHW9zFa?Z7!cS~abZH&yX<-CbEd%g2y9d9{r$0Cn=TK1DI=N*Aui{sKE!Fd<_>2b#k z_s|_S#(BjV9(ReXLoMeGKgr{!$vKiZjdK(E%~M!g19#zwtgH}vxE6hDa5`RzE^ z<4!X2RBtiHW+vC-eISQp2B;OlaE zoa&vOSXcaRE*p6`&*XdAHK)qCa=%9j5yU>5gX8P{3gh{$DRvDKJIZZC9bKzyhbN}T4wC&zhQH~eUY%G0>i?BVC*D0v2k z+|5S4yC(L_z7#(!$5%Mc%j5SKsn>G+^u%>RQG(;w7kNJ#nDwvv(fdY^`yD?*LcKJT zjegwO*yFY_>tBuEtOUR8k>L0$_;H6gulTGY^;(V}k+@Dez2*)1}40TZt8^;}rJdAPry-MOVW-lbTr=^^qhzl>s z8`yjoC$A;;Y?K@EDd?Sh^#Km|Wo^ud;MU>?ajLghg7a3fs1d(_5qZD1_j*qhd6sLB@91&Uc~MXvMe=vi>Db z^`4eE7hG#_s&`m|LkG(9xR#Tz-rwtOBl$v{>is_9?_J^tajLgpdoOQ;)CbFsjd@j! zSjGO9OYAiaKn=#Y(KHJ4L3ygT7@zaFQaJhSTA2+LV>x+xk827tgp+^gmkZ>c4dB7{ zRn^-&+#XMU>ek&?ezcq0lQ^|s;n{SxJ#{X?k|g*@3|mR(f+-RU;`ouc)VW{^$pkSA zItBMrVo&-V$tB8Sqr7h`nAl2Oo?!4Hk2ux)d4jv&H@Ki1@+u{+Sz8EKu!PvC_ob7( z-lwXf6MBhLy$#!W9PdRcPW5(b<8h5;{bo6N?l_OTR`gmFwdxE1(g0gBVO@Hb^*T#p1N|Bl$lxXqF;mXpU~?HA*AV4}c2yH1{s zAE%0O7xQ`(ILpcXn|pcJ$^NS4Fk%lk3PDgXzG={7Z3ihb`n}e&34mrcTv6p@Fw=l3e=`!$v<&L%zm-Y?Rnqc|RvO`2>SgKl(rK<>|gNOM{JiADiiM zvyg|3A93mjzw;a0*E_+r=N#;D4PZ0nS*}gx=Ca)jIMw@ZS1<25c`ns*?W6>U-XOIT z<`Sam?<j9=Nd0>iy+1GyPSc8Udy4|Uh8qk!eQbphu%@_ac3KD)cKvA zI7gl=_E`?yD{&4#RrcApg_&%e-_eb{-j@^W+P;Z>?8b?8?VjDeyj$cs1eP5e^*))1 z-=qYGeuJclyJ2G z{aZhD>)IKYzTnoiH*{H*$K`EDd}1H3V<&v%8yjPGaUy2=J2Av*j{I_vmp6`+F7k+_ zye?z>^OrrZLTAL?)y9l+_RXD~J@ZAKs<+&E$2eT&G3XU}s`sI{y?rC)d`wwvv~Qp9 zJ?>K$HTtZeNzkBTnVjd%)v<6YjC+g09>8`B;GKaq49{uu<=5 ze8DF6qxQb&6rAead6CCedMUGy@-%+eBL?IKJqU?C*nz zIuYCfkA9HnZjIUchTAxf|8DB?JWg%@C9%%CPJASWjWK)pJ)i48$hwg@)w?#a4|XgU z9*9}cDe^ieI6k#LPjP%|eV*d@)c0)ezt7B-#BY}DtI-EG`nxo-t~i=S2tSBZe?K4S zeS_=`SdM=@QDeg;ewO3s;YS@~`*z(e(`z~Yu*7=*XQ@TvG|od3*GtpT zPd|uLf3KS2^-imj;mF-=oZo|*d)&H5{kh<|SAG0&DCng;)q6|go?Mrf8P1*y-o}rm z#BsS+uH}hSfA7YFc`113#Sk9L>%)XX{8*l<_XeCeV_bJxquJ|+ zJ74g)8j0(NXOI-Jyv~Vp#-)8d?iBHZ>e)DNpLX=P?ow~|oH3-U$8DCqDdKeAW;FJ= zT5|nL8f2s1`Izk35B)w9aT>pMIN!v$huMiZ6Q_EM@i~tx<(%k46?QEvwbj_0?N)9C;Rw^3>lc`+3~`iF_d4IoMUBIc{m!I&s*-HyJ)%)JM>~HMZ9G*N1$`EJEp})TG<#jr} zfK$DjnxEj}(&_u``EJXhSD@hH_>E0)_hXGbZk}*0<*D9tFZH+<@|>{M`zEd?V!c!A zLJ;P|a`(dHy}Xv@*)`SsXJQ>NlAR(?YblhWBkW(x5^sEq>>N)fX z%!}ew@1Gcup9Aq1f08udm{M%?_t1pD2Pf9GxeL6!hZ5`ByY}*2@r}r{-1zQsUfv;z zb?xrph1iczX*}XWdFtyLOq!9nd<% zS#I3t6`u#!u~;F`a^rrtcwD^?3LL6>2PLlcddV8Ya^oBr8^`ZW$phk4-oiwjpH8e- zCnPxe%>*~@Td$u^;b9y;*Lo)ydtgZSy#PhrSnCAOp?B2q z>)I!-y~4?R@PQ?cLm$HrjK*`I_u6P98#!fD;#y@VTp#3+>%?iy+9met+b}5wr*pNk zv!8>Wa&L#J%tpO0f*4}^PQ^2$lt-NEowLZ}PDkD-PW3)A+~c0*WI~?h&;zk&6YJeR zvA%p0^BLn>CZ0p+`K!k@sFUfn99kLYhge?k#QL&X1CKk1!GIr@Lwh#!xblg;fwHKR zSnqWS4(-~?<3>yTSZW&QrjtCbSG&wU%b~Ykm;DX)5Cb`Flb=3ehFa?jOr=rRb7{jFp;RP{aqB8qY68=UH`(bVG_C)S}25}bESf@`mC@8xZf zYkteM$?pZqIh-8I#yT3<&CBa7eps$OBykQ}o#5IF7I@xRE&H%c2R7=h@tfECuAI|| z(>OQ7kN3rK{!Pvq#A%$1@i~txWgXf9*I=}PIxN>#JjTe7oa@lPrY7#$OsRlQ z#>co}!WD$G(O%rja=2#`oVT==$Mxt4A+V3~%80xx zu_qVneT|*KSyI3yJmS>fZ@%}q z9*-0_uMDuvgP->Idi9#na@p+=9LMDk1`c|OQ@tl7@~WleDRHWI&jd#uo8Yo@6WsWH zg3EqNtV0J&ZCft8v#$5!Iaw1}E?ZIG|>TzwwU*a^*{YH7*?XpfLPW2Y!bAH}R;j+sSL)yT+v|P5Zy5D!H*At*<-B<@V zY4f^-qt06UettcuwohF>*x^=od@heu+iM(dY!`X!*oiryEH>KvVPaon-^99cOg%4e zHzuXXQ@t0q^SGI^@4{4Oqu$EU5&PTWBy>U^aq9069XxK=_63~kZ8X8-o|k7!EQel^ z*mpT6v2L7|@VATjL3yfoO5z-}Ho>*+ioJa=$$6Vpp#I(j=i|7{Whdf7oa$XU-Q#Y3 z&~xaBaUR!2=FM{GEAM&SL5X`s9q#vgA+v?MEr%|@$K$qXl=(rN`q6x@*ZZMx0L^4$ zzSK-`o_)?$^Hh9J=;*mF3Wz@WXzwzsu$O_r$5*)A0i%F|O~>%s$JZtIzR!979Dfaq91%`}${J zuAoBrOI%*>75>?r^};#AC^OhRPcV(Usd2x)m!~( zzfXK7u4Cy3r%(NTcCx<)ezIKwr~dACqPOq!Lo*ypoQ?h-hCk>L&&RPZXZ8`NdS_Pk zalQxVCE91X_U`o_S55r2TwCr^pQo1y_YkLgS78QY`}o~M>a|?E)l(k#qFG;JMDRCt zuK!)mk(O&$4f6Kwl(_ajtLkOWzD);Zza3?{w(HV54)-yhb>JG!a_u3n&vm#9R%hQG zvRwP&eD81V_p*7jdUu@S{rE}NURLkN&3t__r; zef@Xmmy3NY-)d|gr!nhsjOWIMUwN)w+sAX`JgHgBwcXD5`^1;YHKyg-oxkyVTVid> zIUqN((cgZhH~C{dL9}qStb5#l3uvOptYj<=V0MW2$kS z51{ez!*cD~z36iz0GvW2{O+^-vtU0mQ~o!{#&@^LwtLZH{KYyX(&{Vm2m3UQWe z`>ply`$g7omTRx??By-^w7|(4=Z%d$?yGw;oaNe`8hgFtWW8m%_R80MoO4o(mTT+b z;mvqHE^d+eOAcjYoWD%`e%uP-c+0iTFY+9d)$lv8>- z+_z)>?+7fJf3JIH>6i}(IPRH*AG*uiE_zp9mBoxUveDk|mwE0PCFgC+JrD2XIc3R; zf;^4c+QWPYA-0x#dOYuOJ@zZ$v=*P}KMyi$5+I%bO<8 z$k^IG@dKZmJ>|I~;#BV&iDw>8#2!#Cs_ix>d+s?%&SR`u_4lpE{CRe3d1l1c_I`M# zF!p1!%)PDcbC30L*=ti47hBukZ0&JZa}f(ah*N)SkM+34Z~5AOa)IZ7H;OWOwzjXj z!^h>&V+%Odd)0Z~-``|DY;C{Q&Er42I#bK2^Zn^xX zon2SljJ0Geue$7++jYf%s(9QxTqs~Z?0VtH1g9J+_Y;ZJ_-#tW<+FP|rYLZi-#-@cSgfloRur`?=B7y+_W%uo4oGQ#+@3C)7ma=+~jCn z*w;(=6We)7G>+k*U#01r7md?cmp1N>Xk6fjEztL9G%oPy7K~dGjSKm;1>@e1#)bOY zf^lo2aiNa3VBC+xk5R@EDfJ$k8m{t_jx-<-_%q&Vjx!4LCB#UvqRv zkzG=bmNah9Xk475C5>wkjf-=%q;V~yadD28G_F%LF3!=C#`TKE#W`BixRauBagLTW zZd5dGTg;c8^ODA$8I6l`w4`wtMdRWeEot1<(Kwr<{2TA|mrZT|%ip4%g51>n13wPL z{dnS<<9d?EnG5_|sXVqp?gcWh*m&$`IpCpbyOxYe@u3VDDb^rHgy)MDJMGMPN)CmV6Q7J1wYvZurRXCv-- z7!b>=%ue`0oZ9zDk;m;OdP6+{OL=Q?zK-Qpp%BQkYo)P?`M{Di{QiSoD|M^m<+T*O z#PK8bUZ2pryXa+Jvk^BcF(0_46YOIivk}*&w%2=x%m?d>jW}F3JAbjI82lhk<9A0w zp8mZG;?$2~e9p%&aUH}yK*HZucI{Z}Xyp45^7O-xuzosZHOH%+~u% zTdkeJZSh&2S5TXN?PzQgd7UJ-#IRBCxT8F-iQL~MoQ=5Ii8(lqoyZa5)V_ltJRb|u zJBA7c$B&e^Y+kl^Vg2Z~M~1Vt*hqfU+2VGWdwj&@_2S`)SnovHtGBgyJqjhpt$`fc zXKS%142^Nv&I>t0oa!BZsK-qcc|3=((chH`d3dZc$RkeW{o2*XZQOLle(^Ua`i@LkR}GmMi`^ z)%#nQjzX{HiaPjDtoI4Y1G=O3Eo|>`Z^${4IJg<+tr+ild8KgA0&M&G>#z>96 z06Daka@mNh-O=NQC(hG{qagA&h&-qW^5~EHv^|8!xKpSQdIJU@srQFEes1)6Jj)F& z@ANV6Avs~Wq3t9u?{KLV%MI85%iH&X?0r~nI6L7-s7?4`x#58sUfwC z`8Y029mQ$<<|Oon+!uN14)XS>o9$UK6nc)RCOI4I6x`{bdA;Au{vvUzcX)R%uT~`h zpqDt++qSNc^PYwq01fu7#2>7V{jDf@MZZ;VtKU3sw8W1%)%ywde`0xeh&;<7$6!E= zLmC7QCQkJ(@9l9HiXWD1F2R6U9>N#o5vTHMCiG$pF^^L}hBxtX9wvGNhtX%`%i>$T z-u1GtZaJyfI4|!(xvyUuCqY%1U*?edk>VtaQ$LDvFdvsvIB89*%%=hK4=#)m4%zJ+ z2$FS;+VI&#@6+!63OKbP#c_v9%!y%REc^5{wu)Y!_HxK=>SQCXHs&Gkli+j?iBtQg zj`O$`Oa{oa+%*9IiRE3K;I3hZdECpwNtV0Lo9}DyRC#WVCBsHPh9>kbk+=}2e)Pb9 zV*6eNBbI`#?>zTW$Lm~?`7~UmWNby>!0HxIL1|_5Rs>PXXU)!1+w0=9M^WW z$Nen7ooqR->7O1~yH2Lpa@=+2dHXJv`3;;c{$5hSecV-*qq%z!AZ?t z_44$48sr+)yE%b79KS8Zd9$4K;3;0-9x}g{ldi|2JoaN3*&nf-v?taQF;1_wEGL~% z%g=9XSwC7%8V84Bc_Bvd!*UY;Hc*VCpY+#q(qrd)Tt6BHoaLme67n=(EGKP`o6@n~ zHJo6`vz+wD(;oK_?z<^Y=dI^69=A~L-Im5lkQU^X#z__jH$&bR<2~<3DV)^m;A~8a zlV)xqC*4QIh!Oo}D~XdiN-f(o6`BaiBQINxRSUxHl*WeppUghJ=sh)dEa$ z>ThbFE%+qz)Za;cyu9wHZ^{d`g^!HORh4}$|DL!OoGsr|u<^S+aV@yxlU^_AEablcujQm%Vt(;BVbE(i2|u&y%($VyM$g$Wtgjhc;}i(Wdj}^>>PIm?=W(U**a^51!2C_| z7=C6c%qQit5tmw9VS6ap$~QLRQfn(b+8^W*r#|%okLGO^e!5O@md8%TvnMeQkA(zz z#HqZc<2~-D#66|kUh}xG7(~R}@>op>j`dQP;#4nxM?S`3YJz=~#~3m$?X+SfJL7AQLBU3d$m~$ zQ8D#4K~cu`^g*o6`bn5ewoM3rUSrPemWZt#d>c?oM}^#EA?-=iuZTo zF>o{Z5sy)O%G~V7Ol2qRAs?|(=f7ZMEc?xbJsblw!kFtP`7yW1Tv$Hp)!xq;IfXV@ zK6+K2AqsgUwYEmSe^MGBL0XWR8@`3^w#yKKf@vkK0x1&hp2XuXtQ78U=YQ7q+1HNRQL|lEkSW$0g)}y7ThX zk4qEl&9Q=Gy|Yp8G9+B=Z-_7Kv%D~%smJL(Wa3os&M2H%UTZo4d6pM$t?zMA5pcF% z2fyKQj|wQNB4yIG2SCy{#EvzeMvaAAyuP69(*T;je1ixntEO(Rim{i1oD`Nnv3HS&x53% zLusGLvHe7zttwth#spnO?Vo)qE^}Nc4M9!w3SLu<6U+Q_4c`!8An|fa5n~olr zdR|3;bHL_v>Uot*s(E?JHLPWgU#dpY9pX$KiYvzFydQ}g&EZ)^eWr`U_1Q1-5TC^j zvQR%uPRagWlC?kJqi0r@y!$~xpX8mzY5gqPXza4MsBSCm@7EPUp41~hv%XW;<`$>% zI2s%2`FKQnZGHEUXVk5~jrbqvW!ey?s!8CHZ03`r{J$r1lY~dPjYieQ(Ixx1H<<+jIKI7*vv8;?&(hmpIkC z>elSHTddv>CoZwrPN1Xb*9iG20X+G?A#XdXw`Biy#&2eLbZ!J#s zUYxjpU~%g2KbQLX-OsE!IEM2(^QDsK*Ye){%S)bL;#6;wDkbv;p z|C>MFGkb3QGdwTIVy7kR|;|G8$__}gUs;W)(S%heA;6szyKW|@5U z>9gorA4Y*gtu7rO_H9JhYtY45kT*Fl_$Pk6f<8WjtT~9Cg|POf9DWY(_(yGFjQ=7B z-v{A2jPbBK!Z;Hv>Iiz-0l6V=^4ZoqF)1C?UxRqWn*GcT>I=Dq_aM7s7Tfg_Ta~3) z{-1J!ZsdTDXADy^L#~L-?b>ByLmnmc^SG6*^Sqmk!`9Vb&*%7mu34E7yR*e!9^(1` zFL{XgQf}~XO5ro@4S2*-<7eX^@IAA59M}#>8*|K8YdIEV;2-J;pP@gmPjvIR>Z1;x zw{r6{+5OsO^YE9P5WRiS_m|v)-s9w0un*m|E5sQeV;k5_z2STcy;|cs=UefFg6|*^ z$FcwI|I6~X>z~QStBhQ3*yh~*B2(n%a&ro{VZ9Zw(znUZT~R@n&LOd>`V2WJxpjBD zzt(k#4Y*0i(YJ6tj(o9xhPWZ7S7JPma~$Kvu<-wQ3;)--;s14g8TL6v-hU<+@HzOv z+jf*i8L2*sQTaAsdEEY=_E{hPoBn+KXo%(^KcfaLUoL2fW6iQ$T-PqMi^r&!aEtBx zZ_KyE{13tMn8jj9@XgBIwteB4`eS+6%B>_=m8w$~|aoTsc{N@91S7=`@x1G!>W0b4NKDKP0wGU|Y zQD$hc$;v+&2lMt6Z5wj66^zbgpc8&ueB5X4dF>x&Tx3t&r}pIa^vup%(?N_oqLXX& znuy1zcnE67Zn@mecpZdIfcekGVo#OpV_%HeN9Rl=(nuLgKE#_J%wI^oq5ujBDL8L#nporBjbyspRV z4!rKe>mj@z!|N%$p2uq$UT@;{E?ytt^(kIoeCRZ&|M(&8M-3gB>pFCNhY5WK^&c~Ol>OXoU@nj8Illj?x$Z+p zj2JX9chngeL%IAgl7f#JHFW$@V+OHreE+fIdyGDvM+uRS9mhi1pj@v(QA21wH{@Z`($O+AJ{||?PCe{D| diff --git a/scripts/Raptors/raptors1.bos b/scripts/Raptors/raptors1.bos index 02da55a33cd..a7cbdc88727 100644 --- a/scripts/Raptors/raptors1.bos +++ b/scripts/Raptors/raptors1.bos @@ -2,13 +2,14 @@ piece base, body, head,tail,lthigh,lknee,lshin,lfoot,rthigh,rknee,rshin,rfoot,rs // Signal definitions -#define SIGNAL_AIM1 256 -#define SIGNAL_AIM2 512 +#define SIG_AIM 2 +#define SIG_AIM_2 4 -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" -static-var maxSpeed, animFramesPerKeyframe, isMoving, animSpeed,isDying,gun_1; +static-var maxSpeed, animFramesPerKeyframe, bMoving, animSpeed,isDying,gun_1; // For N:\animations\Raptors\raptor_walk_remaster_v2.blend Created by https://github.com/Beherith/Skeletor_S3O V((0, 3, 5)) #define MOVESCALE 53 //Higher values are bigger, 100 is default @@ -18,7 +19,7 @@ static-var maxSpeed, animFramesPerKeyframe, isMoving, animSpeed,isDying,gun_1; #define RUHAND rsack #define LLHAND lsack //define these as the left and right head thingies #define RLHAND rsack -#define SIGNAL_MOVE 1 +#define SIG_WALK 64 //these defines are needed before includes! #include "raptor_walk_2legged_v2.h" @@ -49,31 +50,31 @@ static-var maxSpeed, animFramesPerKeyframe, isMoving, animSpeed,isDying,gun_1; #include "raptor_swim_2legged_v1.h" #include "raptor_create_move_swim.h" -AimFromWeapon1(pieceIndex) - { pieceIndex=head; } +AimFromPrimary(piecenum) + { piecenum=head; } -QueryWeapon1(pieceIndex) - { pieceIndex=head; } +QueryPrimary(piecenum) + { piecenum=head; } -AimFromWeapon2(pieceIndex) - { pieceIndex=head; } +AimFromSecondary(piecenum) + { piecenum=head; } -QueryWeapon2(pieceIndex) - { pieceIndex=head; } +QuerySecondary(piecenum) + { piecenum=head; } -AimWeapon1(heading,pitch) +AimPrimary(heading,pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; if (heading > <60> ) heading = <60>; if (heading < <-60> ) heading = <-60>; if (pitch > <60> ) pitch = <60>; if (pitch < <-60> ) pitch = <-60>; - turn aimy1 to y-axis heading speed <250.0>; - turn aimy1 to x-axis <0.0> - pitch speed <200.0>; + turn aimy1 to y-axis heading speed <250.000000>; + turn aimy1 to x-axis <0.000000> - pitch speed <200.000000>; wait-for-turn head around y-axis; start-script RestoreAfterDelay(); @@ -81,21 +82,21 @@ AimWeapon1(heading,pitch) return(TRUE); } -AimWeapon2(heading,pitch) +AimSecondary(heading,pitch) { if ( get IN_WATER(0) == 0 ) { return (0); } - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; if (heading > <60> ) heading = <60>; if (heading < <-60> ) heading = <-60>; if (pitch > <60> ) pitch = <60>; if (pitch < <-60> ) pitch = <-60>; - turn aimy1 to y-axis heading speed <250.0>; - turn aimy1 to x-axis <0.0> - pitch speed <200.0>; + turn aimy1 to y-axis heading speed <250.000000>; + turn aimy1 to x-axis <0.000000> - pitch speed <200.000000>; wait-for-turn head around y-axis; start-script RestoreAfterDelay(); diff --git a/scripts/Raptors/raptors1.cob b/scripts/Raptors/raptors1.cob index dae8cff30e5bdd08699e876b1efd6ffcf257c830..171fb90f02dc71f58ce605120d2bc31bd7032f73 100644 GIT binary patch literal 69510 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 diff --git a/scripts/Raptors/raptors2.bos b/scripts/Raptors/raptors2.bos index 074ed8f0008..fa3f1e738f5 100644 --- a/scripts/Raptors/raptors2.bos +++ b/scripts/Raptors/raptors2.bos @@ -2,13 +2,14 @@ piece base, body, head,tail,lthigh,lknee,lshin,lfoot,rthigh,rknee,rshin,rfoot,rs // Signal definitions -#define SIGNAL_AIM1 256 -#define SIGNAL_AIM2 512 +#define SIG_AIM 2 +#define SIG_AIM_2 4 -#include "../recoil_common_includes.h" +#include "sfxtype.h" +#include "exptype.h" -static-var maxSpeed, animFramesPerKeyframe, isMoving, animSpeed,isDying,gun_1; +static-var maxSpeed, animFramesPerKeyframe, bMoving, animSpeed,isDying,gun_1; // For N:\animations\Raptors\raptor_walk_remaster_v2.blend Created by https://github.com/Beherith/Skeletor_S3O V((0, 3, 5)) #define MOVESCALE 64 //Higher values are bigger, 100 is default @@ -18,7 +19,7 @@ static-var maxSpeed, animFramesPerKeyframe, isMoving, animSpeed,isDying,gun_1; #define RUHAND rsack #define LLHAND lsack //define these as the left and right head thingies #define RLHAND rsack -#define SIGNAL_MOVE 1 +#define SIG_WALK 64 //these defines are needed before includes! #include "raptor_walk_2legged_v2.h" @@ -43,36 +44,37 @@ static-var maxSpeed, animFramesPerKeyframe, isMoving, animSpeed,isDying,gun_1; #define MAXTILT 100 #include "raptor_hitbyweapon.h" +#include "raptor_death_2legged_ptaq.h" #include "raptor_killed_2legged.h" #include "raptor_swim_2legged_v1.h" #include "raptor_create_move_swim.h" -AimFromWeapon1(pieceIndex) - { pieceIndex=head; } +AimFromPrimary(piecenum) + { piecenum=head; } -QueryWeapon1(pieceIndex) - { pieceIndex=head; } +QueryPrimary(piecenum) + { piecenum=head; } -AimFromWeapon2(pieceIndex) - { pieceIndex=head; } +AimFromSecondary(piecenum) + { piecenum=head; } -QueryWeapon2(pieceIndex) - { pieceIndex=head; } +QuerySecondary(piecenum) + { piecenum=head; } -AimWeapon1(heading,pitch) +AimPrimary(heading,pitch) { - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; if (heading > <60> ) heading = <60>; if (heading < <-60> ) heading = <-60>; if (pitch > <60> ) pitch = <60>; if (pitch < <-60> ) pitch = <-60>; - turn aimy1 to y-axis heading speed <250.0>; - turn aimy1 to x-axis <0.0> - pitch speed <200.0>; + turn aimy1 to y-axis heading speed <250.000000>; + turn aimy1 to x-axis <0.000000> - pitch speed <200.000000>; wait-for-turn head around y-axis; start-script RestoreAfterDelay(); @@ -80,21 +82,21 @@ AimWeapon1(heading,pitch) return(TRUE); } -AimWeapon2(heading,pitch) +AimSecondary(heading,pitch) { if ( get IN_WATER(0) == 0 ) { return (0); } - signal SIGNAL_AIM1; - set-signal-mask SIGNAL_AIM1; + signal SIG_AIM; + set-signal-mask SIG_AIM; if (heading > <60> ) heading = <60>; if (heading < <-60> ) heading = <-60>; if (pitch > <60> ) pitch = <60>; if (pitch < <-60> ) pitch = <-60>; - turn aimy1 to y-axis heading speed <250.0>; - turn aimy1 to x-axis <0.0> - pitch speed <200.0>; + turn aimy1 to y-axis heading speed <250.000000>; + turn aimy1 to x-axis <0.000000> - pitch speed <200.000000>; wait-for-turn head around y-axis; start-script RestoreAfterDelay(); diff --git a/scripts/Raptors/raptors2.cob b/scripts/Raptors/raptors2.cob index f538d0e012a683e2a5d7c888ccff4340be1352a7..486a7432ff3f81ac67ef7669e475f2cf99e5e4b8 100644 GIT binary patch literal 97784 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