Thread: Random fixes
View Single Post
  #9  
Old 08-12-2004, 11:20 AM
Branks
Sarnak
 
Join Date: May 2004
Posts: 58
Default

Temp Fix for MGB, far from perfect but it casts AE buffs and doubles manacost, also tries to affect NPCS, i know theres really no need for this on EMU servers due to the low population but /shrug.

zone\client.cpp replace exsisting with--
Code:
	case 35:		//MGB---AE cast group spell in slot 1
		{
		targ=ct;
		int cur_level=CastToClient()->GetAAStruct()->class_skills.named.mass_group_buff;
		if(cur_level == 1)
		{
			CastToClient()->Message(0,"Casting Spell in Slot 1 as an Area Effect");
			int spell=m_pp.mem_spells[0];
			if((IsGroupSpell(spell))&&(!IsEffectInSpell(spell,SE_Gate))&&
			(!IsEffectInSpell(spell, SE_Translocate))&&(!IsEffectInSpell(spell, SE_Teleport))
			&&(!IsEffectInSpell(spell, SE_Succor)))
			{
				int mana;
				mana = spells[spell].mana;
				mana = (GetActSpellCost(spell, mana))*2;
				if(c->GetMana() >= mana)
				{
					int newmana=(c->GetMana() - mana);
					entity_list.AESpell(c,c,100,spell);
					c->CastSpell(spell,ct,9,0,0,0,0);
					c->SetMana(newmana);
				}
				else
				{
					c->Message(13,"Insufficient Mana to cast this Spell.");
					break;
				}
			}
			else
			{
				c->Message(0,"MGB only works with Group Buffs!");
				break;
			}
			int usemod=CastToClient()->GetAAStruct()->god_ability.named.quick_mass_group_buff;
			int time;
			if(usemod == 1){time=3888;}
			else if(usemod == 2){time=3456;}
			else if(usemod == 3){time=3024;}
			else{time=4320;}
			timermod=time;
			break;
		}
		else
			CastToClient()->Message(0,"You have not learned this skill");
		}
		break;
and heres something else i did while messing around, could be a fun way to remove extra plat from a server while beg doesnt work, its just a throw command inspired by the final fantasy games of course.

zone\client_process.cpp replace exsisting with----
Code:
				case OP_Begging:		//Throw command final fantasy style--
					{
						int p=m_pp.platinum;
						int g=m_pp.gold;
						int s=m_pp.silver;
						int c=m_pp.copper;
						Mob* target=CastToClient()->GetTarget();
						int toss=(p*10)+(g*1)+(s*0.1)+(c*0.01);
						if(toss>0)
							{
								if(target->IsAttackAllowed(target)&&(target->GetLevel()<=50))
								{
									int mana=CastToClient()->GetMana();
									CastToClient()->DoAnim(5);
									entity_list.MessageClose(this,true,50,0,"%s throws loose change at %s!", this->GetName(), target->GetCleanName());
									CastToClient()->Message(0,"You Throw loose change at %s!", target->GetCleanName());
									target->Damage(CastToClient(), toss, 0xFFFF, 0);
									CastToClient()->SetMana(mana);
									AddMoneyToPP(-c,-s,-g,-p,true);
								}
								else
								{
									CastToClient()->Message(0,"You don't think %s would be affected by coins, do you?", target->GetCleanName());
								}
							}
						else
							{
								CastToClient()->Message(0,"To Throw change you must have change!");
							}
						break;
					}
Reply With Quote