How to make Drop Quad/Ring FMOD(get zipped original files here):

NOTE: This is a MODIFICATION of the FrogBot by Robert "Frog" Field!!!
Go to
http://www.telefragged.com/metro for the current version!

Title : Drop Quad/Ring
Filename : quadring.zip, quadring.txt, quadring.qc
Version : 1.21 Final
first release : 3rd. of December 1998, 15.24 CET
Last update : 9th. of December 1998, 19.46 CET
Author : Brian 'EraZoR' Mathiasen
Email : erazor@get2net.dk
Credit : Robert 'Frog' Field for the FrogBot.
ID software for Quake !
MaNiAc for text file template :)
Black for noticing some bugs in version 1.21

Webpage : http://www.botepedimic.com/fmods

Type of QC Mod
--------------
Bot : Kind of
Compilation : Hmmm
Deathmatch : Ohh yeah !
Teamplay : Yup, it can be used to give your teammates your powerup :-)
Monster : No
Model : No
Sound : No
Weapon : No
Utilities : No
Other : I don't think so... :-)


Format of QuakeC
----------------
unified diff : No
context diff : No
.qc files : Yes!
progs.dat : You can make your own. (If you don't know how to compile, mail me)
Tutorial : YES !


Construction
----------------

Base : ModPack1 v.6 (Modification of the FrogBot) by NeoPhyte, get it here: www.botepedimic.com/fmods
Build Time : ~1 hour
Editor(s) used : msdos-edit, wordpad, preqcc, fastqcc
Known Bugs : None



Requirements
------------
Modpack by Neophyte.
Get it here:
http://www.botepedimic.com/fmods

Description of the Modification
-------------------------------
This modification is a Drop Quad, Drop Ring thing.
If you die with one or more of these powerup, the powerup doesn't just disappear, like normal.
It drops where the player dies, and it can be picked up again.


Other Stuff to be made by me
----------------------------
+ Quake Item Manager, read more on Wreckers homepage: www.botepidemic.com/fmods in the 'Ideas page'
This one shouldn't be so hard to make. :-)
+ More maps when the new version of FrogBot is released


How to Install the Modification
-------------------------------
Please note: I recommend redoing the entire tutorial if you have already installed it.
First, remove the following functions from Player.qc:
DroppedQuad
DroppedRing
Do the changes on the lines that has the "Changed in version 1.22" string at the end.
That should work :-)


1. Open Defs.qc
Find the lines:

float IMP_MAPS = 85;
float IMP_END4 = 85;
//---------------------------

Between 'float IMP_MAPS = 85;' and 'float IMP_END4 = 85;' add this:
float IMP_DROPQUAD = 86; // EraZoR (DropQuad)
float IMP_DROPRING = 87; // EraZoR (DropRing)
float IMP_QUADDROP = 88; // EraZoR (DropQuad)
float IMP_RINGDROP = 89; // EraZoR (DropRing)

Then use your brain when you change 'float IMP_END4' :-)


Now, find the lines:
float game_disable_powerups;
float game_disable_rndpower; // Khol (RandomPower)

Above those, insert this:
float game_disable_dropquad; // EraZoR (DropQuad)
float game_disable_dropring; // EraZoR (DropRing)


Under the lines:
float GAME_ENABLE_RNDPOWER = 1048576; // Khol (RandomPower)
float GAME_MAPS = 2097152; // Neophyte (Maps)

Add this:
float GAME_ENABLE_DROPQUAD = 4194304; // EraZoR (DropQuad)
float GAME_ENABLE_DROPRING = 8388608; // EraZoR (DropRing)


Find these lines:
//
// globals
//

Below that those lines, add this:
string string_null; // null string, nothing should be held here


In the end of defs.qc
Add this:

.float cnt; // misc flag

Save and close.


2. Open Botimp.qc
In the function 'Setgame'
find the line:
game_disable_powerups = (!(gamemode & GAME_ENABLE_POWERUPS));
Below this, insert these lines:
game_disable_dropquad = gamemode & GAME_ENABLE_DROPQUAD; // EraZoR (DropQuad) Changed in version 1.22
game_disable_dropring = gamemode & GAME_ENABLE_DROPRING; // EraZoR (DropRing) Changed in version 1.22


In the 'Moreoptions' function.
Below this line:
print_boolean(GAME_ENABLE_POWERUPS, "šl÷ånõš ");// powerup
Insert this:
print_boolean(GAME_ENABLE_DROPQUAD, "änlšnõiä "); // EraZoR (DropQuad)
print_boolean(GAME_ENABLE_DROPRING, "änlšnéie "); // EraZoR (DropRing)


In the SetImpulses2 function.
find the lines:
alias("rune_rj", IMP_RUNE_RJ);
alias("qwphysics", IMP_QWPHYSICS);

Below these, insert these lines:
alias("dropquad", IMP_DROPQUAD); // EraZoR (DropQuad)
alias("dropring", IMP_DROPRING); // EraZoR (DropRing)
alias("quaddrop", IMP_QUADDROP); // EraZoR (DropQuad)
alias("ringdrop", IMP_RINGDROP); // EraZoR (DropRing)


Now
Find the lines:
else if (impulse_ == IMP_HOOK)
ToggleGameMode(GAME_ENABLE_HOOK, "hook");

Below this, insert these lines:
else if (impulse_ == IMP_DROPQUAD)
ToggleGameMode(GAME_ENABLE_DROPQUAD, "dropquad");
else if (impulse_ == IMP_DROPRING)
ToggleGameMode(GAME_ENABLE_DROPRING, "dropring");
else if (impulse_ == IMP_QUADDROP)
DropPowerup(); // Changed in version 1.22
else if (impulse_ == IMP_RINGDROP)
DropPowerup(); // Changed in version 1.22


Save and close.

3. Open Player.qc Entire step is Changed in version 1.22


Find the playerdie function.

In the playerdie function.
Insert the following line before "DropBackPack();" :
DropPowerup();


Save and close.


4. Copy powerup.qc into your src directory.


5. Open PreProgs.src, or progs.src, depends on what compiler you use.
Anyway, insert this line:
quadring.qc // Changed in version 1.22
after items.qc

6. Compile, run, type dropring, dropquad, and restart in the console.
Bind some keys to:

'quaddrop' to drop the quad.
'ringdrop' to drop the ring.

Make sure powerups is ON !
Now, gib some bots, lose the powerup, and pick it up again :-)

Author Information
------------------
I'm a 16 year old boy who live in Denmark, and I love FrogBots and Quake-C.

Comments & suggestions
----------------------
You are welcome to report ANY bug or suggestion to me.


Copyrights and permissions
--------------------------

The FrogBot is a copyright 1998, Robert Field.
The original QuakeC source is Copyright 1996, ID software.
This modification of the FrogBot is a copyright 1998, Brian Mathiasen.

You may distribute this Quake modification in any electronic format as
long as all the files in this archive remain intact and unmodified and
are distributed together.

You may change the files in this archive, as long as you keep this
Copyright section intact and unmodified and they are distributed together.

Disclaimer
----------
The author is NOT responsible of any damage this modification might cause.
Use this software at your own risk.

Erazor

The author of this page is Andrius 'Wrecker' Jovaisa. Page is made using Frontpage Express by Microsoft, and some .html code added with Notepad. Best viewed in 800x600 resolution with small fonts or 1024x768 with small fonts. Site was created in 26th of October, 1998. Page is hosted by Botepidemic, which is hosted by Telefragged - the best Quake/II/IIIarena news site on the net!