Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Script to control the child weapon of an item, mid-flight
- //This is a passive item script and must run as such.
- //v0.1, 16th September, 2019, by ZoriaRPG.
- item script passive_weapon_dir_control
- {
- void run()
- {
- lweapon child; int currentbutton;
- for ( int q = Screen->NumLWeapons(); q > 0; --q ) //match the child weapon of this item to it
- {
- lweapon temp = Screen->LoadLWeapon(q);
- if ( temp->Parent == this->ID )
- {
- child = temp; break;
- }
- }
- if ( !child ) Quit();
- while(child->isValid())
- {
- if ( Hero->ItemA == this->ID )
- {
- currentbutton = CB_A;
- }
- else if ( Hero->ItemB == this->ID )
- {
- currentbutton = CB_B;
- }
- else currentbutton = 0;
- if ( currentbutton && Input->Button[currentbutton] )
- {
- //holding down the item button
- if ( Input->Button[CB_UP] )
- {
- if ( Input->Button[CB_LEFT] )
- {
- child->Dir = DIR_LEFTUP;
- }
- else if ( Input->Button[CB_RIGHT] )
- {
- child->Dir = DIR_RIGHTUP;
- }
- else child->Dir = DIR_UP;
- }
- else if ( Input->Button[CB_DOWN] )
- {
- if ( Input->Button[CB_LEFT] )
- {
- child->Dir = DIR_LEFTDOWN;
- }
- else if ( Input->Button[CB_RIGHT] )
- {
- child->Dir = DIR_RIGHTDOWN;
- }
- else child->Dir = DIR_DOWN;
- ` }
- else if ( Input->Button[CB_RIGHT] ) //'else if', so that we don't clash.
- { //Won't conflict with combining with up or down.
- child->Dir = DIR_RIGHT;
- }
- else if ( Input->Button[CB_LEFT] ) //'else if', so that we don't clash
- { //Won't conflict with combining with up or down.
- child->Dir = DIR_LEFT;
- }
- }
- Waitframe();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement